# 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](XZBT_0-1_MVP_Product_Requirements_Document.md) | Product scope, user behavior, delivery requirements, and release acceptance | Document revision 0.2; format version remains 0.1 | | [Format Specification 0.1](docs/XZBT_0-1_Format_Specification.md) | Runtime semantics, contract inventory, and required authoring examples | Document revision 0.2; shared format contracts complete, subsystem contracts in dependency order | | [Gap Closure Decisions](docs/XZBT_0-1_Gap_Closure_Decisions.md) | Decisions and rationale for the seven pre-implementation gaps | Decisions incorporated; GC1 and GC2 shared contracts verified | | [Verification Gates](docs/XZBT_0-1_Verification_Gates.md) | 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](docs/IMPLEMENTATION_STATUS.md) | 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](docs/evidence/phase0/2026-09-04-user-run-v3.md) verified embedded data-URL worklet loading. The [user-performed restart test](docs/evidence/phase0/2026-09-04-user-restart.md) restored edited activity and volume. The [directory fallback observation](docs/evidence/phase0/2026-09-05-user-directory-fallback.md) 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](docs/evidence/phase0/2026-09-05-gc2-format-contracts.md). Phase 0 active work now focuses on resolution, clock, and ownership contracts (GC3–GC5) before Phase 1 begins. ## Repository configuration The [storage-failure evidence](docs/evidence/phase0/2026-09-04-user-storage-failure.md) 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](LICENSE) is preserved. ## Local development server For automated browser development checks, start the dependency-free loopback server with: ```powershell 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.