# r1nc/dynxx architecture

> Architecture diagram of the GitHub repository r1nc/dynxx, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/r1nc/dynxx
- Repository: https://github.com/r1nc/dynxx

## Overview

DynXX is a cross-platform C++ framework exposing native capabilities to host applications and supporting Lua and JavaScript business logic. The README identifies scripting, networking, persistence, codecs, crypto, device information, logging, and ZIP as product capabilities. The sampled WASM wrapper explicitly initializes the framework and invokes Lua and network APIs; Android demonstrates application initialization and release through its binding. Most native implementations and other platform bindings were not sampled, so their internal wiring is left unspecified.

Main entry points: [`platforms/WASM/DynXX-wrapper.js`](https://github.com/r1nc/dynxx/blob/main/platforms/WASM/DynXX-wrapper.js) (WASM wrapper), [`include/DynXX/C/Net.h`](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Net.h) (HTTP networking), [`platforms/Android/DynXX-lib/src/main/java/xyz/rinc/dynxx/DynXX.kt`](https://github.com/r1nc/dynxx/blob/main/platforms/Android/DynXX-lib/src/main/java/xyz/rinc/dynxx/DynXX.kt) (Android binding), [`include/DynXX/C/DynXX.h`](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/DynXX.h) (C API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_hosts["Host bindings"]
  node_android_binding["Android binding<br/>[DynXX.kt]"]
  node_wasm_binding["WASM wrapper<br/>[DynXX-wrapper.js]"]
  node_c_api["C API<br/>[DynXX.h]"]
end

subgraph group_runtime["Script runtime"]
  node_lua["Lua runtime<br/>[Lua.h]"]
  node_js["JavaScript modules"]
end

subgraph group_services["Framework capabilities"]
  node_network["HTTP networking<br/>[Net.h]"]
  node_json["JSON codec<br/>[Json.h]"]
  node_crypto["Cryptography<br/>[Crypto.h]"]
  node_zip["ZIP support<br/>[Zip.h]"]
  node_device["Device information<br/>[Device.h]"]
  node_logging["Logging<br/>[Log.h]"]
end

subgraph group_state["Persistence"]
  node_sqlite[("SQLite<br/>[SQLite.h]")]
  node_kv[("Key-value store<br/>[KV.h]")]
end

node_app(("Host application"))
node_internet(("HTTP services"))

node_app -->|"initializes/releases"| node_android_binding
node_app -->|"invokes"| node_wasm_binding
node_wasm_binding -->|"calls"| node_c_api
node_wasm_binding -->|"loads/calls"| node_lua
node_wasm_binding -->|"requests"| node_network
node_network -->|"sends requests"| node_internet

click node_android_binding "https://github.com/r1nc/dynxx/blob/main/platforms/Android/DynXX-lib/src/main/java/xyz/rinc/dynxx/DynXX.kt"
click node_wasm_binding "https://github.com/r1nc/dynxx/blob/main/platforms/WASM/DynXX-wrapper.js"
click node_c_api "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/DynXX.h"
click node_lua "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Lua.h"
click node_js "https://github.com/r1nc/dynxx/tree/main/scripts/JS"
click node_network "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Net.h"
click node_json "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Json.h"
click node_crypto "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Crypto.h"
click node_zip "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Zip.h"
click node_device "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Device.h"
click node_logging "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Log.h"
click node_sqlite "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/SQLite.h"
click node_kv "https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/KV.h"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_android_binding,node_wasm_binding,node_c_api toneBlue
class node_lua,node_js toneAmber
class node_network,node_json,node_crypto,node_zip,node_device,node_logging toneMint
class node_sqlite,node_kv toneRose
class node_app,node_internet toneIndigo
```

## Components

### Host bindings

- [Android binding](https://github.com/r1nc/dynxx/blob/main/platforms/Android/DynXX-lib/src/main/java/xyz/rinc/dynxx/DynXX.kt): `platforms/Android/DynXX-lib/src/main/java/xyz/rinc/dynxx/DynXX.kt`
- [WASM wrapper](https://github.com/r1nc/dynxx/blob/main/platforms/WASM/DynXX-wrapper.js): `platforms/WASM/DynXX-wrapper.js`
- [C API](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/DynXX.h): `include/DynXX/C/DynXX.h`

### Script runtime

- [Lua runtime](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Lua.h): `include/DynXX/C/Lua.h`
- [JavaScript modules](https://github.com/r1nc/dynxx/tree/main/scripts/JS): `scripts/JS`

### Framework capabilities

- [HTTP networking](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Net.h): `include/DynXX/C/Net.h`
- [JSON codec](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Json.h): `include/DynXX/C/Json.h`
- [Cryptography](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Crypto.h): `include/DynXX/C/Crypto.h`
- [ZIP support](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Zip.h): `include/DynXX/C/Zip.h`
- [Device information](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Device.h): `include/DynXX/C/Device.h`
- [Logging](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/Log.h): `include/DynXX/C/Log.h`

### Persistence

- [SQLite](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/SQLite.h): `include/DynXX/C/SQLite.h`
- [Key-value store](https://github.com/r1nc/dynxx/blob/main/include/DynXX/C/KV.h): `include/DynXX/C/KV.h`

### Other components

- **Host application**
- **HTTP services**

## Connections

- Host application → Android binding: initializes/releases
- Host application → WASM wrapper: invokes
- WASM wrapper → C API: calls
- WASM wrapper → Lua runtime: loads/calls
- WASM wrapper → HTTP networking: requests
- HTTP networking → HTTP services: sends requests
