ejlewis
d3e2bd72a5
Merge feature: mystery text adventure (Halfstreet) — engine + UI + bible
...
14 implementation tasks + 1 critical-fix commit + 1 follow-on notes commit.
Adds:
- Pure-function text-adventure engine (parser, dispatcher, encounters,
save) with 53 vitest tests passing
- /mystery route with fullscreen CRT terminal (amber + ANSI themes)
- Mobile tap-chip input system above the soft keyboard
- 3-room sample world for engine validation and UI scaffolding
- Halfstreet content bible (gating artifact for room-prose follow-on plan)
- Launch script for the future MysteryCard click on the homepage
Bundle: 6.2 KB gzipped (target <80 KB).
No runtime LLM calls.
Spec: docs/superpowers/specs/2026-05-08-mystery-text-adventure-design.md
Plan: docs/superpowers/plans/2026-05-08-mystery-text-adventure.md
Bible: docs/superpowers/specs/halfstreet-bible.md
Follow-on notes: docs/superpowers/specs/halfstreet-followon-notes.md
2026-05-09 00:41:23 -05:00
ejlewis
731e51c6b9
docs(mystery): notes for follow-on room-prose plan
...
Captures the final code reviewer's recommendations: hard prerequisites
(read/light/extinguish/use verbs; disambiguation; endedWith ending screen),
should-fix items (look-at parser polish, theme-state divergence, roomState
type lie), and a polish backlog. Read this before generating the next plan.
2026-05-09 00:40:13 -05:00
ejlewis
33bc84e30b
fix(mystery): wait verb routes to encounters; chip list reflects dynamic items
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-09 00:37:45 -05:00
ejlewis
1b7d2ce4e7
docs(mystery): author Halfstreet content bible — gating artifact for room prose
2026-05-09 00:22:57 -05:00
ejlewis
9e49f1f519
feat(mystery): mobile chip computation and rendering
...
Pure computeChips function (TDD, 4 tests) generates context-aware direction/item/encounter/meta chips from game state; chip-render.ts wires chips to DOM; terminal.ts calls refreshChips on init, each Enter dispatch, restart, and undo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-09 00:18:25 -05:00
ejlewis
3c0c386bbe
feat(mystery): theme toggle wiring with localStorage persistence
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-09 00:14:15 -05:00
ejlewis
5f5dc6071b
feat(mystery): terminal — input handling, dispatch wiring, autosave
2026-05-08 23:45:10 -05:00
ejlewis
96d3036c4d
feat(mystery): /mystery route + CRT bezel + theme scaffold
2026-05-08 23:39:58 -05:00
ejlewis
460626aad9
test(mystery): end-to-end playthrough against sample world
2026-05-08 23:32:33 -05:00
ejlewis
d8c9b44058
feat(mystery): sample 3-room world for engine validation
2026-05-08 23:26:45 -05:00
ejlewis
49fc5a1015
feat(mystery): encounter phase machine wired into dispatcher
2026-05-08 23:18:22 -05:00
ejlewis
00f44ce817
feat(mystery): dispatcher — go, look, take, drop, examine, inventory
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-08 22:56:11 -05:00
ejlewis
bd6b421ce9
feat(mystery): save layer — round-trip, schema versioning, transcript cap
2026-05-08 22:50:47 -05:00
ejlewis
bf9e210b88
feat(mystery): parser — noun resolution, disambiguation, pronouns
2026-05-08 22:44:43 -05:00
ejlewis
b59644270e
feat(mystery): parser — verb-only, direction, and meta commands
2026-05-08 22:38:17 -05:00
ejlewis
7ee5cf96f6
feat(mystery): define engine and world type contracts
2026-05-08 22:31:36 -05:00
ejlewis
20c977db1f
docs: add mystery text adventure (Halfstreet) design spec
...
Gothic mystery, M-scope (18-22 rooms), authored TypeScript engine,
no LLM at runtime, fullscreen CRT terminal at /mystery, two themes
(amber + ANSI), context-aware mobile chips, auto-save to localStorage.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-08 22:07:24 -05:00