docs: final review fixes — deferred backlog, doc accuracy, sample-data note

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas Winther
2026-10-23 19:13:41 +02:00
co-authored by Claude Opus 5.5
parent dd106c5d0e
commit 2ff58ace46
11 changed files with 103 additions and 37 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ shared credits snippet.
| `src/server.ts` | `startServer(port)`: routes `/`, `/mockups/NN-slug/` (+ 302 from the no-slash form), 404 otherwise. Runs when `import.meta.main`; `PORT` env, default 3000. |
| `src/index.html`, `src/index.ts`, `src/index.css` | Index page: static cards linking each mockup, then `mountCredits()`. |
| `src/mockups/registry.ts` | `mockups: MockupInfo[]` — slug, number, name, pitch, what to try. |
| `src/mockups/NN-slug/` | One design direction: `index.html` (links `../../shared/credits.css`, has `<footer data-fan-credits>`), `main.ts`, `style.css`. |
| `src/mockups/NN-slug/` | One design direction: `index.html` (links `../../shared/credits.css`, has `<footer data-fan-credits>`), `main.ts`, `style.css`, plus optional helper modules (e.g. `scene.ts`, `layout.ts`). |
| `src/data/types.ts` | `Saga`, `Song`, `Part`, `Motif`, `StoryTime`, `OdysseyRef`, `Video`. |
| `src/data/sample.ts` | `sagas`, `motifs`, `songs`. Placeholder lyrics; unverified fields `// TODO(verify)`. |
| `src/data/query.ts` | `songsWithMotif`, `motifsInSong`, `gapYears`, `sagaOf`. |
+9 -1
View File
@@ -11,8 +11,16 @@ or `AGENTS.md` Commands.
| Command | Result |
|---|---|
| `git status --short` | worked — exit 0 |
| `git diff --stat` | worked — exit 0 |
| `git log --oneline -1` | worked — exit 0 |
| `git show --stat --oneline HEAD` | worked — exit 0 |
| `git branch --list` | worked — lists `main` |
| `git rev-parse --short HEAD` | worked — exit 0 |
| `git add <paths>` | worked — evidence: the final-review fixes commit that added these rows |
| `git commit -m <msg>` | worked — evidence: the final-review fixes commit that added these rows |
| `bun install --frozen-lockfile` | worked (no changes) |
| `bun test` | worked — 32 pass, 0 fail, 3 files |
| `bun test` | worked — 34 pass, 0 fail, 3 files |
| `bun test tests/data.test.ts` | worked — 10 pass |
| `bun test -t "registry has 7"` | worked — 1 pass |
| `bun run typecheck` | worked (`tsc --noEmit`, exit 0) |
+44 -3
View File
@@ -4,7 +4,7 @@ Durable backlog. Agents append here instead of leaving `TODO` comments in source
Small, specific, independently actionable. Remove only when actually done.
## Now
- [ ] Verify every `// TODO(verify)` field in `src/data/sample.ts` (48 at bootstrap: saga names, singers,
- [ ] Verify every `// TODO(verify)` field in `src/data/sample.ts` (56 after final review: saga names, singers,
story times, Odyssey book/lines, motif descriptions, facts) before any content leaves mockup stage.
## Next
@@ -39,5 +39,46 @@ Small, specific, independently actionable. Remove only when actually done.
- [ ] Two mockups with byte-identical `style.css` fail `bun run build` with "Multiple files share the same
output path" (reproduced by copying `01-editorial/style.css` over `02-vertical-story/style.css`).
Identical `main.ts` files do not trigger it.
- [ ] `docs/plans/001-timeline-mockups.md` tells mockup agents to start `bun dist/server.js`, which hits
the issue above; use `bun run start` instead.
## Deferred from final review (2026-10-23)
### Shared / foundation
- [ ] `src/server.ts`: routes are hand-listed; generate them from `src/mockups/registry.ts` (see Someday).
### Docs / permissions
- [ ] `docs/DECISIONS.md`: entries are oldest-first; the template is newest-first. Pick one.
- [ ] `AGENTS.md`: the architecture map duplicates `docs/ARCHITECTURE.md`; trim one.
- [ ] `docs/plans/README.md`: says "feature branch" while branching is still `TODO(maintainer)`.
### Sample data
- [ ] `src/data/sample.ts`: `odyssey.url` points at Butler's prose translation, so "lines X-Y" will not match the linked text; switch to book/chapter references or a lineated edition when verifying.
### Mockup 01 editorial
- [ ] `src/mockups/01-editorial/style.css`: credit footer clips at about 761-1068px width with the folio open (parked; spec targets desktop 1440x900).
### Mockup 02 vertical story
- [ ] `src/mockups/02-vertical-story/main.ts`: `frame()` interleaves layout reads and writes.
- [ ] `src/mockups/02-vertical-story/style.css`: saga marker padding inflates boundary gaps; `.sea` background snaps between sagas.
### Mockup 03 transit map
- [ ] `src/mockups/03-transit-map/main.ts`: ruler repeat label reads "Year 0" for fall-of-Troy songs.
- [ ] `src/mockups/03-transit-map/main.ts`: `--footer-h` is not re-measured after fonts load.
### Mockup 04 greek frieze
- [ ] `src/mockups/04-greek-frieze/main.ts`: post-drag click-swallow listener can stay armed if no click fires.
### Mockup 05 score
- [ ] `src/mockups/05-score/main.ts`: `.part.is-cued` is not cleared on song change or close.
- [ ] `src/mockups/05-score/main.ts`: chip click re-renders the panel, which would restart the MP3.
- [ ] `src/mockups/05-score/main.ts`: `has-song` class is unused.
### Mockup 06 constellation
- [ ] `src/mockups/06-constellation/`: per-frame `Vector3` allocations; constructor failure leaks the canvas; WebGL probe context is not released.
- [ ] `src/mockups/06-constellation/`: label box cache goes stale on resize; Enter on the credits link opens a song.
- [ ] `src/mockups/06-constellation/`: fallback ruler is inert; legend/panel overflow; Troy saga caption is clipped.
- [ ] `src/mockups/06-constellation/`: check intro flight and easing in a real browser (unverifiable headless).
### Mockup 07 sea voyage
- [ ] `src/mockups/07-sea-voyage/`: per-frame `Color`/`Vector3` allocations; WebGL probe context is not released.
- [ ] `src/mockups/07-sea-voyage/`: no `webglcontextlost` handler; DPR is read once.
- [ ] `src/mockups/07-sea-voyage/`: waypoint tag `innerHTML` is unescaped; drawer clips the "The open sea" label.