diff --git a/0-AI-MANIFEST.a2ml b/0-AI-MANIFEST.a2ml index acf00639..8be89c2a 100644 --- a/0-AI-MANIFEST.a2ml +++ b/0-AI-MANIFEST.a2ml @@ -83,7 +83,7 @@ vm-wasm = "vm/wasm/" # Zig WASM backend dlc = "dlc/" # Downloadable content / puzzle packs escape-hatch = "escape-hatch/" # Rust TUI (5 tabs, Podman integration) containers = "containers/" # Stapeln-style Containerfiles -idaptik-ums = "idaptik-ums/" # Unified Modding Studio (Tauri 2, Idris2 ABI, Zig FFI) +idaptik-ums = "idaptik-ums/" # Unified Modding Studio (Gossamer / Ephapax, Idris2 ABI, Zig FFI) idaptik-developers = "idaptik-developers/" # Developer portal (17 ADRs, white paper) tools = "tools/" # Balance analyser (Julia) locales = "locales/" # i18n JSON locale files (polyglot-i18n) diff --git a/QUICKSTART-USER.adoc b/QUICKSTART-USER.adoc index d86f1a1e..71e19252 100644 --- a/QUICKSTART-USER.adoc +++ b/QUICKSTART-USER.adoc @@ -34,7 +34,7 @@ reversible VM, multiplayer sync, and a developer portal. | 0.14+ | `asdf install zig 0.14.0` -| Rust _(UMS Tauri + escape-hatch only)_ +| Rust _(escape-hatch only; UMS shell is now Gossamer/Ephapax)_ | nightly | `asdf install rust nightly` @@ -107,7 +107,7 @@ just test-vm # VM instruction tests just test-deno # Deno-native tests ---- -=== Validate Everything (tests + UMS Zig + UMS Tauri) +=== Validate Everything (tests + UMS Zig + UMS Gossamer) [source,bash] ---- @@ -126,7 +126,7 @@ just lint # Deno lint just clean # Clean build artifacts just balance # Run balance analysis on level configs just ums-build # Build UMS Zig FFI -just ums-tauri # Check UMS Tauri shell +just ums-gossamer # Run UMS under Gossamer (Ephapax-based webview shell) just doctor # Check prerequisites just tour # Guided walkthrough just help-me # What to do when stuck @@ -155,12 +155,12 @@ cargo run Developer TUI with 5 tabs and Podman integration. -=== Unified Modding Studio (Tauri 2) +=== Unified Modding Studio (Gossamer / Ephapax) [source,bash] ---- just ums-build # Zig FFI -just ums-tauri # Rust shell check +just ums-gossamer # Run UMS under Gossamer (Ephapax-based webview shell) ---- == SAFETY NOTE diff --git a/README.adoc b/README.adoc index 6f82653b..f65a19bb 100644 --- a/README.adoc +++ b/README.adoc @@ -43,7 +43,7 @@ Originally created by Joshua B. Jewell, developed under hyperpolymath. | Elixir/Phoenix (WebSocket channels, ETS sessions) | Modding Studio -| Tauri 2 (Rust backend, PixiJS editor, procedural WorldGen) +| Gossamer (Ephapax-based webview shell, PixiJS editor, procedural WorldGen) | ABI | Idris2 (17 modules in `idaptik-ums/src/abi/` + 1 root module at `src/abi/Types.idr`, dependent-type proofs) @@ -93,7 +93,7 @@ Originally created by Joshua B. Jewell, developed under hyperpolymath. | `sync-server/` | Universal Modding Studio -| Tauri 2 desktop app -- WorldGen (8 presets), PixiJS level editor +| Gossamer desktop app (Ephapax-based webview shell) -- WorldGen (8 presets), PixiJS level editor | `idaptik-ums/` | Developer Portal @@ -189,7 +189,7 @@ Uses the Julia balance analyser in `tools/balance-analyser.jl`. == Universal Modding Studio (UMS) -The UMS is a Tauri 2 desktop application for level design and modding. +The UMS is a Gossamer desktop application (Ephapax-based webview shell) for level design and modding. * **WorldGen**: Procedural world generation with 8 presets * **PixiJS Editor**: Visual level editor @@ -251,11 +251,11 @@ idaptik/ │ ├── lib/ # Compiled output │ └── tests/ # 640+ tests across 20+ suites ├── sync-server/ # Elixir/Phoenix multiplayer -├── idaptik-ums/ # Universal Modding Studio (Tauri 2) +├── idaptik-ums/ # Universal Modding Studio (Gossamer / Ephapax) │ ├── src/abi/ # Idris2 ABI (15 modules) │ ├── ffi/zig/ # Zig FFI (12 exports) │ ├── src/ # Editor UI + WorldGen + PixiJS -│ └── src-tauri/ # Rust backend +│ └── gossamer/ # Gossamer webview shell (Ephapax-based; replaces Tauri) ├── idaptik-developers/ # Developer portal │ ├── src/escape-hatch/ # Rust TUI (ratatui) │ └── docs/ # White papers diff --git a/ROADMAP.md b/ROADMAP.md index 504e2634..9914e47a 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -48,7 +48,7 @@ This file tracks the current state and future direction of IDApTIK. - [ ] Grumble voice protocol (Mumble-inspired, in-game comms between Jessica and Q) - [ ] Remaining 4 team-specific PanLL panels -- [ ] Mobile builds via Tauri 2 (iOS and Android targets) +- [ ] Mobile builds via Gossamer (iOS and Android targets — parked pending Gossamer mobile target support) - [ ] UMS distribution packaging (AppImage, .dmg, .msi) - [ ] Network infrastructure Phase 2: LDAP, SIEM, internal DNS - [ ] Jessica's skills tree — **parked for co-design with son** diff --git a/STAPEL-VOLL-AUDIT.md b/STAPEL-VOLL-AUDIT.md index 2e86eadf..470d93f0 100644 --- a/STAPEL-VOLL-AUDIT.md +++ b/STAPEL-VOLL-AUDIT.md @@ -174,9 +174,9 @@ Per the existing migration-ordering memory (toolchain → bindings → src/app - Add `/.well-known/groove/manifest.json` to each service. ### Wave 3 — Language migrations (independent of containerization) -- ReScript → AffineScript→typed-wasm (`src/`, `vm/lib/ocaml/`, `shared/src/` — ~542 files; per memory, app layer before kernel). -- TS → AffineScript→typed-wasm (DLC packs in `dlc/idaptik-dlc-reversible/`, `idaptiky/`, `idaptik-reversibley/` — ~80 files). -- Rust → Rust/SPARK (escape-hatch, verisimdb). +- ReScript → AffineScript→typed-wasm (`src/`, `vm/lib/ocaml/`, `shared/src/` — ~462 files as of 2026-06-01; per memory, app layer before kernel). +- TS → AffineScript→typed-wasm (DLC packs in the `dlc/idaptik-dlc-reversible/` submodule — the only DLC submodule per `.gitmodules`; earlier drafts mentioned `idaptiky/` and `idaptik-reversibley/` as siblings but those never existed and have been removed from this audit). +- Rust → Rust/SPARK (escape-hatch under `idaptik-developers/src/escape-hatch/`, verisimdb). Wave 3 happens **inside the containers built in Waves 0–1**, so it's gated on (and benefits from) Wave 0 being complete. diff --git a/TOPOLOGY.md b/TOPOLOGY.md index bfffc419..0568fdda 100644 --- a/TOPOLOGY.md +++ b/TOPOLOGY.md @@ -50,7 +50,7 @@ idaptik/ │ ├── config/ # Server configuration (dev, prod) │ └── mix.exs # Elixir dependencies │ -├── idaptik-ums/ # Universal Modding Studio (Tauri 2) +├── idaptik-ums/ # Universal Modding Studio (Gossamer / Ephapax) │ ├── src/ # Editor UI, WorldGen, PixiJS │ │ ├── abi/ # Idris2 ABI definitions (15 modules) │ │ └── editor/ # Visual level editor @@ -152,7 +152,7 @@ idaptik/ ┌──────────────┐ ABI/FFI ┌──────────────┐ │ UMS Editor │◄──────────────────►│ Idris2+Zig │ -│ (Tauri 2) │ │ ABI/FFI │ +│ (Gossamer) │ │ ABI/FFI │ └──────────────┘ └──────────────┘ ``` diff --git a/idaptik-developers/docs/DEVELOPER-WHITEPAPER.adoc b/idaptik-developers/docs/DEVELOPER-WHITEPAPER.adoc index 5fae398e..4b87daf2 100644 --- a/idaptik-developers/docs/DEVELOPER-WHITEPAPER.adoc +++ b/idaptik-developers/docs/DEVELOPER-WHITEPAPER.adoc @@ -54,8 +54,8 @@ IDApTIK is designed for extensibility. Third-party developers can create: can be shared across multiple levels. All content creation flows through the Universal Modding Studio (UMS), a -Tauri-based desktop application that provides visual editors, validation -tooling, and distribution infrastructure. +Gossamer-based desktop application (Ephapax webview shell) that provides +visual editors, validation tooling, and distribution infrastructure. == Architecture Overview @@ -65,10 +65,10 @@ tooling, and distribution infrastructure. .... +---------------------------+ +---------------------------+ | Browser Client | | Universal Modding | -| (ReScript + Vite) | | Studio (Tauri 2.0) | +| (ReScript + Vite) | | Studio (Gossamer) | +----------+----------------+ +----------+----------------+ | | - | Phoenix Channels | Tauri IPC / Zig FFI + | Phoenix Channels | Gossamer IPC / Zig FFI | | +----------v---------------------------------v----------------+ | Sync Server (Elixir/OTP) | @@ -92,7 +92,7 @@ tooling, and distribution infrastructure. | Frontend | ReScript 12.1.0 + Vite | Game UI, canvas rendering, VM integration, i18n | Virtual Machine | ReScript | 23-instruction reversible VM with execute/invert symmetry | Sync Server | Elixir + Phoenix 1.7 + Bandit | Real-time multiplayer, state synchronisation -| Content Tooling | Tauri 2.0 (Rust + ReScript) | Universal Modding Studio desktop application +| Content Tooling | Gossamer (Ephapax + ReScript) | Universal Modding Studio desktop application | ABI Definitions | Idris2 0.8.0 | Formal verification of level data with dependent types | FFI Implementation | Zig 0.13 | C-ABI shared library for cross-language interop | Caching | ETS | In-process session and VM state caching @@ -381,7 +381,7 @@ information via `broadcast_from!/3`. . *Idris2 ABI* (15 modules in `src/abi/`) -- compile-time proofs. . *Zig FFI* (4 files in `ffi/zig/`) -- runtime validation via `libidaptik_ums.so`. -. *ReScript bridge* -- game integration through Tauri IPC or Deno FFI. +. *ReScript bridge* -- game integration through Gossamer IPC or Deno FFI. === The Five Cross-Domain Proofs diff --git a/idaptik-ums/ABI-FFI-README.md b/idaptik-ums/ABI-FFI-README.md index da91b548..84e79c44 100644 --- a/idaptik-ums/ABI-FFI-README.md +++ b/idaptik-ums/ABI-FFI-README.md @@ -11,7 +11,7 @@ The Universal Modding Studio uses the hyperpolymath standard ABI/FFI/API archite | **ABI** | Idris2 | Level data model with dependent type proofs | `src/abi/` | | **FFI** | Zig | C-compatible shared library | `ffi/zig/` | | **Headers** | C (generated) | Bridge between ABI and FFI consumers | `generated/abi/` | -| **Shell** | Rust (Tauri 2.0) | Desktop app with IPC commands | `src-tauri/` | +| **Shell** | Ephapax (Gossamer) | Desktop app with IPC commands | `gossamer/` | | **Frontend** | ReScript | Editor UI and generators | `src/` | ## ABI Layer (Idris2) @@ -77,11 +77,11 @@ cd ffi/zig && zig build # Run Zig tests (20 integration tests) cd ffi/zig && zig build test -# Build Tauri desktop app -cd src-tauri && cargo build +# Build Gossamer desktop app +cd gossamer && ephapax build -# Run Rust tests (13 tests) -cd src-tauri && cargo test +# Run Gossamer tests (13 tests) +cd gossamer && ephapax test ``` ## Data Flow @@ -90,8 +90,8 @@ cd src-tauri && cargo test User interaction (Canvas UI) ↓ ReScript editor state JSON serialisation (LevelConfigCodec) - ↓ Tauri IPC -Rust validation (mirrors Idris2 proofs) + ↓ Gossamer IPC +Ephapax validation (mirrors Idris2 proofs) ↓ or alternatively Zig FFI validation (libidaptik_ums.so) ↓ diff --git a/idaptik-ums/TOPOLOGY.md b/idaptik-ums/TOPOLOGY.md index c6a4341f..c124c499 100644 --- a/idaptik-ums/TOPOLOGY.md +++ b/idaptik-ums/TOPOLOGY.md @@ -9,8 +9,8 @@ │ Editor UI (ReScript) │ │ App.res → Editor.res → Canvas/Toolbar/Properties │ ├─────────────────────────────────────────────────────┤ -│ Tauri 2.0 Shell (Rust) │ -│ lib.rs → commands.rs (6 IPC commands) │ +│ Gossamer Shell (Ephapax) │ +│ main.eph → Shell.eph (18 IPC commands) │ ├─────────────────────────────────────────────────────┤ │ ReScript Generators (26 modules) │ │ LevelGen → NetworkGen → LevelExport → LevelRender │ @@ -57,7 +57,7 @@ idaptik-ums/ │ │ ├── EditorToolbar.res # Tool palette sidebar │ │ ├── EditorProperties.res # Property inspector │ │ ├── EditorValidation.res # ABI proof badges -│ │ ├── EditorCmd.res # Tauri IPC wrappers +│ │ ├── EditorCmd.res # Gossamer IPC wrappers │ │ └── Editor.res # Main TEA compositor │ ├── generator/ # Procedural level generation (16 modules) │ │ ├── LevelGen.res.mjs # Grid-based generation @@ -103,8 +103,8 @@ idaptik-ums/ ``` User (canvas click) → EditorEngine (entity CRUD) → EditorCanvas (render) + EditorProperties (inspect) - → EditorCmd.saveLevel → Tauri IPC - → commands.rs validate_level_abi → 5 proof checks + → EditorCmd.saveLevel → Gossamer IPC + → Shell.eph validate_level_abi → 5 proof checks → EditorValidation (display results) → EditorCmd.exportLevelConfig → ReScript LevelConfig → game/src/shared/UmsLevelLoader.res → LevelConfig.levelConfig @@ -117,7 +117,7 @@ User (canvas click) → EditorEngine (entity CRUD) |-------|----------|---------------|------| | Compile-time | Idris2 | Dependent type proofs (erased) | `idris2 --check` | | Build-time | Zig | Type safety, memory safety | `zig build test` | -| Runtime | Rust | 5 ABI proofs (mirrors Idris2) | Tauri command | +| Runtime | Ephapax | 5 ABI proofs (mirrors Idris2) | Gossamer command | | Runtime | Zig FFI | 5 ABI proofs (via libidaptik_ums) | FFI call | | Cross-panel | TypeLL | Level data type checking | PanLL validation | | Cross-panel | BoJ | UMS cartridge routing | ums-mcp | @@ -128,5 +128,5 @@ User (canvas click) → EditorEngine (entity CRUD) |-------|-------|--------| | Idris2 ABI | type-checks | `idris2 --check` | | Zig FFI | 20 | `zig build test` | -| Rust shell | 17 | `cargo test` | +| Gossamer shell | 17 | `ephapax test` | | Test data | 2 fixtures | used by Rust tests | diff --git a/idaptik-ums/docs/design/GAME-INTEGRATION.md b/idaptik-ums/docs/design/GAME-INTEGRATION.md index 44c97054..a9060a3b 100644 --- a/idaptik-ums/docs/design/GAME-INTEGRATION.md +++ b/idaptik-ums/docs/design/GAME-INTEGRATION.md @@ -25,7 +25,7 @@ at runtime, bypassing the hardcoded database. 2. **Game side**: `UmsLevelLoader.loadFromJson(jsonString)` parses that JSON into the game's native `LevelConfig.levelConfig` type. 3. **File loading**: `UmsLevelLoader.loadFromFile(path)` reads a JSON file via - Tauri's `readTextFile` and feeds it through `loadFromJson`. + Gossamer's `readTextFile` and feeds it through `loadFromJson`. ## JSON Schema @@ -193,7 +193,7 @@ switch UmsLevelLoader.loadFromJson(jsonFromUms) { } ``` -### From a file (Tauri desktop/mobile) +### From a file (Gossamer desktop/mobile) ```rescript // Loading a .json file exported by the UMS level editor: diff --git a/llm-warmup-dev.md b/llm-warmup-dev.md index fed345bb..5a5a855a 100644 --- a/llm-warmup-dev.md +++ b/llm-warmup-dev.md @@ -17,7 +17,7 @@ Author: Jonathan D.A. Jewell. LIVE repo (not staging). | Module system | esmodule (in-source, .res.mjs) | | Multiplayer | Elixir/Phoenix (port 4030) | | Escape hatch | Rust + ratatui (TUI) | -| Modding studio | Tauri 2 + Zig FFI + Idris2 ABI | +| Modding studio | Gossamer (Ephapax) + Zig FFI + Idris2 ABI | | Audio | @pixi/sound | | Animation | motion (tweening) | | Assets | AssetPack (raw-assets/ -> public/assets/) | @@ -91,7 +91,7 @@ Elixir/Phoenix. Port 4030. 6/6 connectivity tests pass. Config: `sync-server/config/`. Start: `deno task sync-server`. ### UMS (`idaptik-ums/`) -Tauri 2 shell (Rust). Zig FFI (`ffi/zig/`, 20 tests). +Gossamer shell (Ephapax, at `idaptik-ums/gossamer/`). Zig FFI (`ffi/zig/`, 20 tests). Idris2 ABI definitions. ### Escape Hatch (`escape-hatch/`) diff --git a/llm-warmup-user.md b/llm-warmup-user.md index 3ca9c464..bbb63adb 100644 --- a/llm-warmup-user.md +++ b/llm-warmup-user.md @@ -19,8 +19,8 @@ just doctor # Check prerequisites ## Prerequisites **Core**: Deno 2.0+, just. -**Optional**: Zig (UMS FFI), Rust (UMS Tauri + escape-hatch), Elixir -(sync server), Julia (testing toolkit). +**Optional**: Zig (UMS FFI), Ephapax (UMS Gossamer shell), Rust (escape-hatch), +Elixir (sync server), Julia (testing toolkit). After cloning: `deno install` to fetch all dependencies. @@ -33,14 +33,14 @@ After cloning: `deno install` to fetch all dependencies. - `vm/` — Pure reversible VM (23 instructions, all reversible) - `shared/` — Cross-component types (224 modules, 422 tests) - `sync-server/` — Elixir/Phoenix multiplayer (port 4030) -- `idaptik-ums/` — Unified Modding Studio (Tauri 2) +- `idaptik-ums/` — Unified Modding Studio (Gossamer/Ephapax shell) - `escape-hatch/` — Rust TUI developer tool - `dlc/` — Downloadable content packs ## Technology ReScript 12.2.0, Deno runtime, PixiJS 8.8.1, Vite 6.2.0, -Elixir/Phoenix (sync), Rust + ratatui (escape-hatch), Tauri 2 (UMS). +Elixir/Phoenix (sync), Rust + ratatui (escape-hatch), Gossamer/Ephapax (UMS). ## SAFETY diff --git a/locales/de.json b/locales/de.json index 7273b545..a178fa0d 100644 --- a/locales/de.json +++ b/locales/de.json @@ -90,7 +90,7 @@ "integrations.createDesktop": "Desktop-Verknpfung erstellen", "integrations.createMenu": "Men-Verknpfung erstellen", "integrations.tray": "System-Tray", - "integrations.requires": "Bentigt Linux (Desktop/Men) oder Tauri (Tray)", + "integrations.requires": "Bentigt Linux (Desktop/Men) oder Gossamer (Tray)", "settings.ok": "OK", "worldmap.title": "ORT AUSWHLEN", "worldmap.subtitle": "Whle einen Ort zum Infiltrieren", diff --git a/locales/en.json b/locales/en.json index 26a9df90..afe83112 100644 --- a/locales/en.json +++ b/locales/en.json @@ -90,7 +90,7 @@ "integrations.createDesktop": "Create Desktop Shortcut", "integrations.createMenu": "Create Application Menu Shortcut", "integrations.tray": "System Tray", - "integrations.requires": "Requires Linux (Desktop/Menu) or Tauri (Tray)", + "integrations.requires": "Requires Linux (Desktop/Menu) or Gossamer (Tray)", "settings.ok": "OK", "worldmap.title": "SELECT LOCATION", "worldmap.subtitle": "Choose a location to infiltrate", diff --git a/locales/es.json b/locales/es.json index a0e50ca3..1addd97d 100644 --- a/locales/es.json +++ b/locales/es.json @@ -90,7 +90,7 @@ "integrations.createDesktop": "Crear acceso directo en escritorio", "integrations.createMenu": "Crear acceso directo en el men", "integrations.tray": "Bandeja del sistema", - "integrations.requires": "Requiere Linux (Escritorio/Men) o Tauri (Bandeja)", + "integrations.requires": "Requiere Linux (Escritorio/Men) o Gossamer (Bandeja)", "settings.ok": "OK", "worldmap.title": "SELECCIONAR UBICACIN", "worldmap.subtitle": "Elige una ubicacin para infiltrar", diff --git a/locales/fr.json b/locales/fr.json index 3dcd65cb..f2212688 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -90,7 +90,7 @@ "integrations.createDesktop": "Crer un raccourci sur le bureau", "integrations.createMenu": "Crer un raccourci dans le menu", "integrations.tray": "Barre d'tat systme", - "integrations.requires": "Ncessite Linux (Bureau/Menu) ou Tauri (Barre d'tat)", + "integrations.requires": "Ncessite Linux (Bureau/Menu) ou Gossamer (Barre d'tat)", "settings.ok": "OK", "worldmap.title": "CHOISIR UN LIEU", "worldmap.subtitle": "Choisissez un lieu infiltrer", diff --git a/locales/ja.json b/locales/ja.json index eb713c25..7556b6a0 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -90,7 +90,7 @@ "integrations.createDesktop": "", "integrations.createMenu": "", "integrations.tray": "", - "integrations.requires": "Linux (/) Tauri () ", + "integrations.requires": "Linux (/) Gossamer () ", "settings.ok": "OK", "worldmap.title": "", "worldmap.subtitle": "",