XZBT
Immersive visuals and creative soundscapes.
XZBT is a self-contained browser runtime for declarative procedural audiovisual exhibits. XZBT.html provides capabilities; .xzbt documents define experiences.
Reading order and authority
| Resource | Purpose | Status |
|---|---|---|
| MVP Product Requirements Document | Product scope, user behavior, delivery requirements, and release acceptance | Document revision 0.2; format version remains 0.1 |
| Format Specification 0.1 | Runtime semantics, contract inventory, and required authoring examples | Document revision 0.2; shared format contracts complete, subsystem contracts in dependency order |
| Gap Closure Decisions | Decisions and rationale for the seven pre-implementation gaps | Decisions incorporated; GC1 and GC2 shared contracts verified |
| Verification Gates | Evidence required before architecture commitment, subsystem work, and release | GC1 passed (10/10 checks) and GC2 shared contracts complete; GC3–GC5 in progress |
| Implementation status | Current phase, stop reason, saved work, and resume prerequisites | Phase 0 in progress; GC1 & GC2 complete, drafting GC3–GC5 |
The PRD is authoritative for product requirements. The format specification is authoritative for runtime semantics where a contract is explicitly defined. The decision record explains those choices; the verification gates define how to check them. These documents must be updated together when a decision changes. An unresolved conflict is a specification defect, not permission for an implementation to choose silently.
The earlier ChatGPT discussion, Discuss Application Vision (conversation 6a9b5c32-1ffc-83e8-a219-fa8113167f03), is historical design input. Its proposals must be reconciled into these local resources before they become implementation contracts. It is not a second source of executable instructions.
Planning entry point
Begin the implementation plan with Phase 0 from the verification gates. Complete the launch-model prototype and shared semantic contracts before committing dependent architecture and detailed estimates. Carry workload measurements and release soak tests as later explicit gates; they are not prerequisites for drafting a plan.
The full PRD completion criteria remain the 0.1 release target. Early integrated demonstrations are milestones, not completed MVPs. Reference exhibits develop alongside the engine; Phase 9 completes and audits the suite.
Phase 0 feasibility has concluded with all 10 direct-file checks in GC1 verified. The version 3 user-run result verified embedded data-URL worklet loading. The user-performed restart test restored edited activity and volume. The directory fallback observation confirmed graceful error handling and session state preservation. GC1 is fully satisfied. In addition, GC2 shared format contracts, the JSON Schema, the semantic validator, and the 12-case test suite are verified; see GC2 evidence. Phase 0 active work now focuses on resolution, clock, and ownership contracts (GC3–GC5) before Phase 1 begins.
Repository configuration
The storage-failure evidence additionally confirms session settings changes, directory import, and heard native playback during injected write failures. The user also confirmed the visible session-only warning; the injected-storage-failure check passed.
Copy .env.example to .env for local repository configuration. .env and its variants are ignored by Git; never commit real credentials. The example contains placeholders only.
The repository's existing LICENSE is preserved.
Local development server
For automated browser development checks, start the dependency-free loopback server with:
node tools/dev-server.mjs
It binds only to 127.0.0.1:5173 and serves the workspace through http://localhost:5173/; the root route opens the Phase 0 probe for layout or control-flow inspection only. Set XZBT_DEV_PORT to use a different port. This server is a development aid, not part of the delivered runtime.
Do not use localhost results as Phase 0 direct-file evidence. Serving changes the origin, security model, and module-loading path. The final XZBT.html must still be opened and tested directly from disk for every GC1 conclusion.