diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index 446a5ca..c26ecde 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -623,9 +623,14 @@ for human exploration. Visualization is only a downstream consumer node on the streams. **Forbids.** Any UI/pixel knowledge inside the engine. **Why.** The LLM drives programmatically, the human visually; a headless core -serves both. The visual face is the **playground** (C22) — egui-native, -in-process zero-copy from the SoA columns; it is staged after the runnable -substrate but is core to aura's identity, not optional. +serves both. The visual face is the **playground** (C22) — a **web frontend +served from disk-persisted traces** (revised 2026-06, issue #101: the engine +writes recorded traces to disk, a browser charts them; supersedes the earlier +egui-native / in-process-zero-copy-from-SoA direction). It is staged after the +runnable substrate but is core to aura's identity, not optional. The pivot keeps +this contract's core intact — and arguably tightens it: a browser reading a +serialized trace file is a stricter "no UI knowledge in the engine" than egui +reaching zero-copy into the live SoA columns. ### C15 — Resampling-as-node; sessions/calendars **Guarantee.** A resampler is a node (finer stream → coarser bar stream), @@ -1066,9 +1071,14 @@ load-bearing in the flat graph. ## Open architectural threads not yet resolved -- **Playground & World UI surface** — the playground is core (C22), egui-native; - open is the concrete UI of the meta-views (walk-forward, sweep surfaces, - comparison) and the run/replay clock controls. +- **Playground & World UI surface** — the playground is core (C22); the surface + is a **web frontend served from disk-persisted traces** (revised 2026-06, issue + #101; not egui). Settled for the first cut: raw per-tap trace persistence to + disk (columnar/SoA form, C7) + serve-time `join_on_ts` alignment + a static + self-contained HTML chart page (uPlot, vendored like the `render_html` + Graphviz-WASM blob), feeds overlaid or timestamp-aligned in panels. Still open: + families-comparison meta-views (walk-forward, sweep surfaces, multi-strategy / + instrument comparison), a local server, and the run/replay clock controls. - **Parameter-space search strategies** (Bayesian/genetic) — pluggable policies atop the atomic sim unit (C12), not yet designed. - **`aura new` scaffolder, the experiment-builder API, and `Aura.toml`'s