From 5c6d220b386cab00311bea72f335f2c0b58b9e31 Mon Sep 17 00:00:00 2001 From: saymrwulf Date: Thu, 14 May 2026 15:51:50 +0200 Subject: [PATCH] =?UTF-8?q?Add=20CrisisViz/README.md=20=E2=80=94=20Swift-s?= =?UTF-8?q?ide=20human=20guide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Swift sub-project had no README of its own. Anyone navigating into CrisisViz/ would see Package.swift, bundle.sh, and a stale HANDOFF.md, with no orientation about the chapter / scene model or why the renderer is organized the way it is. The new README is shaped for someone reading on GitHub or iPad: - LaTeX-rendered formula for the pure-function timeline pattern (state(t) = fold of beats whose start <= t); - Mermaid block diagram of SceneEngine -> ChXXTimeline -> Canvas + GlassNarration; - per-chapter table with beat count, runtime at 1x, and concept, plus the off-by-one naming gotcha (renderer Ch01..Ch10 vs. timeline Ch00..Ch09); - build / run / test / distribute one-liners; - testbed output map (INVARIANTS / SOURCE_AUDIT / VIDEO_CLIPS / MANIFEST / SANITY); - cast convention (lane = lifeline, strictly serial, introduce- before-show, one detail slot) and the architecture-pointer table for the critical files. GitHub renders the LaTeX and Mermaid natively, so this serves as both repo doc and iPad-readable reference. Co-Authored-By: Claude Opus 4.7 --- CrisisViz/README.md | 136 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 CrisisViz/README.md diff --git a/CrisisViz/README.md b/CrisisViz/README.md new file mode 100644 index 0000000..d8f5673 --- /dev/null +++ b/CrisisViz/README.md @@ -0,0 +1,136 @@ +# CrisisViz + +A native macOS 26 / SwiftUI keynote-style visualizer for the Crisis consensus protocol. Ten chapters, roughly eighteen minutes of curated playback at $1\times$, scrubbable forward and backward at any signed rate from $-16\times$ to $+16\times$. + +CrisisViz consumes a recorded simulation from `crisis_data.json` and replays it with narration bound to specific narrative beats — the playhead is the master of time. + +--- + +## The serial-timeline pattern + +Every chapter is a **pure function of normalized time**. Given a chapter with an ordered list of beats $b_0, b_1, \ldots, b_{n-1}$ each with duration $d_i$, the world state at time $t \in [0, T]$ (where $T = \sum d_i$) is: + +$$\text{state}(t) = \mathop{\textrm{fold}}_{i\,:\,\sum_{j