38 lines
2.9 KiB
Markdown
38 lines
2.9 KiB
Markdown
_model: project
|
||
---
|
||
schema_version: 1
|
||
---
|
||
project_id: xzbt
|
||
---
|
||
title: XZBT
|
||
---
|
||
summary: A standalone browser runtime for declarative procedural visuals and soundscapes, now implemented through the Phase 2 common grammar milestone.
|
||
---
|
||
status: active
|
||
---
|
||
started: 2026-09-04
|
||
---
|
||
author: Labyricorn
|
||
---
|
||
repository_url: https://git.labyricorn.com/Labyricorn/XZBT
|
||
---
|
||
default_branch: main
|
||
---
|
||
tags: Generative Art, Procedural Audio, Browser Applications
|
||
---
|
||
body:
|
||
|
||
XZBT is being built around a simple distinction: the runtime knows how; the exhibit defines what. A self-contained `XZBT.html` interprets declarative `.xzbt` JSON exhibits without allowing exhibit-authored JavaScript. Later engine phases will build procedural visuals, soundscapes, and evolving audiovisual performances on that generic foundation.
|
||
|
||
The intended experience is to open the HTML directly in a desktop Chromium browser, import exhibits, and run them offline. The production runtime now provides the application shell, exhibit library, validation and diagnostics, controlled activation and teardown, deterministic seeded random streams, IndexedDB caching, and session-only fallback when storage is unavailable.
|
||
|
||
Phase 2 adds the shared declarative grammar: typed user parameters, simulation state, read-only runtime signals, ValueSpec and ConditionSpec evaluation, same-tick bindings, ordered state actions, numeric transitions, and temporary overrides that preserve underlying user configuration. Two small subject-neutral exhibits exercise this runtime without embedding subject-specific behavior in `XZBT.html`.
|
||
|
||
Phase 0 is complete. Its browser feasibility work demonstrated ordinary import, exhibit selection, restart restoration, native audio, embedded data-URL AudioWorklet loading, offline operation, storage-failure fallback, and directory-picker fallback in the tested Chrome environment. Its shared format, resolution, clock and reproducibility, and ownership and failure contracts are backed by deterministic tests.
|
||
|
||
Development is active after completing the Phase 1 runtime skeleton and Phase 2 common grammar. Their automated production suites and the unchanged GC2 through GC5 contract oracles pass. The production artifact's user-observed direct-file two-exhibit import and full-browser restart check remains open; this is a recorded acceptance observation, not a Phase 0 implementation stall.
|
||
|
||
Audio synthesis, visual rendering, cadence and events, scenario direction, the final generated UI, library hardening, reference exhibits, performance benchmarks, and the required development and release soaks remain future phases. XZBT is therefore an implemented runtime foundation, not yet a completed 0.1 MVP.
|
||
|
||
The [project repository](https://git.labyricorn.com/Labyricorn/XZBT) contains the product requirements, standalone artifact, source modules, exhibits, tests, implementation status, and verification evidence. The development log records the Phase 0 contracts and the combined Phase 1–2 runtime milestone.
|