Skip to content
This repository was archived by the owner on Oct 13, 2026. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ redaction**:
coinages.
3. **No model-authored free text.** Summaries are templates over closed word
lists; numbers are hand-set and deterministic.
4. **Closure test.** `src/data/closure.test.ts` fails the build if any
4. **Closure test.** `src/data/closure.test.ts` fails `pnpm test` if any
emitted value escapes its field's allowlist, and a property test holds
that closed across sampled seeds. Two generator runs are byte-identical.
5. **Pattern scanner.** `scripts/guard-scan.ts` backstops the allowlists
Expand Down Expand Up @@ -49,16 +49,16 @@ CI fails if a committed file drifts from a fresh render.

## Accessibility

Always-visible Pause on the global transport (WCAG SC 2.2.2), keyboard
Always-visible Play/Pause control on the global transport (WCAG SC 2.2.2), keyboard
transport (Space, arrows, Home/End), reduced motion honored via the OS
preference and an in-UI toggle (cuts instead of glides, particles off, no
autoplay, scrubber always works), and every text role contrast-checked
against its real background by a standing test.
autoplay, scrubber always works), and the contrast ledger's text-color pairs
checked against stylesheet background tokens by a standing test.

## Stack

Vite + React 19 + TypeScript strict, react-router v7 (SPA), motion, D3
math submodules, Canvas for dense flow layers, Tailwind, Vitest.
Vite + React 19 + TypeScript strict, react-router v8 (SPA), motion,
Canvas for dense flow layers, Tailwind, Vitest.

## Develop

Expand Down
Loading