THE STACKS: the back catalog as a walkable room (/archive)#63
Merged
Conversation
Approved in design review: /archive room, volumes by cover month, four body kinds (sheet / instrument / monument / scan) resolved by bodyFor(issue), r3f in the lazy route chunk, laws section covering motion, keyboard, degradation, vocabulary, and budget. Reference: The SUKIMA project (claygarden.jp). Co-Authored-By: Claude Fable 5 <[email protected]>
Co-Authored-By: Claude Fable 5 <[email protected]>
Isaac's call in design review: THE STACKS' drifting bodies use react-three-fiber's useFrame (rAF-driven), which the editorial surface's CSS-only motion law would otherwise forbid. Extends the existing working-model exception (ISSUE 419/420/421/422) rather than reclassifying /archive as engine surface — a room is a working model too. Same collapse contract: reduced-motion drops to a static, fully navigable layout; confined to src/stacks/; the real-DOM ledger is the CSS-only resting structure this section requires and stands alone when the canvas layer is absent. Co-Authored-By: Claude Fable 5 <[email protected]>
Task 4 review found the leading-slash form resolves identically today (the Layout parent is literally '/'), but is inconsistent with every sibling entry and would break if the parent path ever changed. Co-Authored-By: Claude Fable 5 <[email protected]>
… navigation Co-Authored-By: Claude Fable 5 <[email protected]>
Co-Authored-By: Claude Fable 5 <[email protected]>
…breviated
Task 6's design-QA audit surfaced a broken volume heading
('JUNE 2026二〇二六年undefined'). Root cause: the registry mixes
3-letter months ('JUL') with full names — 18 issues spell out
'APRIL', 2 spell out 'JUNE' — but monthIndex() assumed uniform
abbreviations, so ~20 issues (nearly a third of the catalog) got a
failed MONTH_JP lookup and a miskeyed grouping bucket.
Fix normalizes on the first three letters (every full month name's
first three letters equal the standard abbreviation) rather than
touching twenty content files. Two regression tests added.
Gates: adherence + editorial clean, tsc clean, 810/810 tests.
Co-Authored-By: Claude Fable 5 <[email protected]>
KERNEL.md's directory map gains src/stacks/; PUBLISHING.md points new issues at the room (no extra work needed — bodies resolve from the same ALL_ISSUES registry); SCRATCHPAD records the session, the ratified motion exception, and the two bugs review caught (missing sitemap script on PR #62, the APRIL/JUNE month-normalization fix). Co-Authored-By: Claude Fable 5 <[email protected]>
Whole-branch review findings: - .pop-folio hardcodes ink-on-cream; the room is ink-on-ink, so the masthead tagline and every N°<number> ledger folio rendered near- invisible. Scoped override in ArchivePage.css. - SheetBody's per-issue CanvasTexture and PlaneGeometry were never disposed, leaking GPU memory across repeated /archive visits. Cleanup effect added. Co-Authored-By: Claude Fable 5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #62
This PR targets
feat/real-urls-cloudflare(#62), notmain— the room assumes real paths for camera-push navigation into/issues/N. Merge #62 first, then this.What this ships (M1)
A new
/archiveroom — THE STACKS — the back catalog as a walkable dark space. Reference: The SUKIMA project (floating scanned-clay objects, scroll-descent into editorial spreads).src/stacks/volumes.ts): the room walks newest → oldest, mirroring the flat catalog's own grouping.src/stacks/coverPainter.ts,Scene.tsx): covers are painted as type-on-stock onto canvas textures — no new image assets.bodyFor()(bodies.ts) is the one seam later milestones extend (M2 artifact-era instruments, M3 procedural monuments, M4 the first photogrammetry scan — KERNEL PRESS Edition №001).<Link>s) is the resting structure; the r3f canvas is presentational on top, gated behind a WebGL2 probe. No WebGL2 → complete, navigable ledger only.useFrame), which needed a new ratified exception in.claude/rules/components.md("walkable-room exception", alongside the existing plate/bore/fourier/audit working-model exception) — same reduced-motion collapse contract, confined tosrc/stacks/./archiveroute chunk. Main bundle unchanged at 236.44KB gzip (budget 300KB) — confirmed by grepping the built output for three.js symbols (zero in the main chunk).Two bugs caught during review, fixed in this branch
'APRIL', 2 spell out'JUNE'instead of the 3-letter form every other issue uses.volumes.ts's month lookup assumed uniformity and broke ~20 issues' Japanese labels + grouping keys. Fixed by normalizing on the first 3 letters; verified against all 68 real issues (zeroundefined/NaN)..pop-foliotext rendering ink-on-ink in the dark room (near-invisible) and un-disposed textures/geometries on repeated navigation (GPU leak). Both fixed.Process
Spec → plan → subagent-driven execution (7 tasks, each independently implemented + reviewed) → whole-branch review → fix pass. Design spec:
docs/superpowers/specs/2026-07-20-the-stacks-design.md. Plan:docs/superpowers/plans/2026-07-20-the-stacks-m1.md.Verification
tsc clean · lint:adherence + lint:editorial clean · 810/810 unit tests · e2e 4/4 · design-QA audit clean on
/archive(desktop + mobile) · reduced-motion collapse traced and verified.🤖 Generated with Claude Code