-
89bb69bcfa
chore: obsidian docs
main
ejlewis
2026-05-17 23:35:13 -05:00
-
18aa517319
feat(ui): add bug reporting integrations
ejlewis
2026-05-17 23:34:17 -05:00
-
a51bb6f86f
docs: implementation plan for bug reporting
ejlewis
2026-05-17 23:02:46 -05:00
-
4f6460297f
docs: design for Bugpin + Bugsink bug reporting
ejlewis
2026-05-17 22:57:34 -05:00
-
03482693ea
Open source markdown authoring workflow
ejlewis
2026-05-13 17:59:13 -05:00
-
7b1b5d0f6c
chore: add build number and release scripts
ejlewis
2026-05-12 20:52:35 -05:00
-
e7b74c827a
fix(engine): burn lamp one segment per wait
ejlewis
2026-05-12 20:31:50 -05:00
-
52fb869976
feat(mystery): add altered rooms and drunk sequence
ejlewis
2026-05-12 20:22:20 -05:00
-
0755213d6a
feat(ui): add confirmations and terminal motion
ejlewis
2026-05-12 19:44:18 -05:00
-
cc98aa180b
feat(world): expand Halfstreet content slices
ejlewis
2026-05-12 14:48:19 -05:00
-
26dd91947f
feat: add kitchen and glitchtip wiring
ejlewis
2026-05-10 12:03:12 -05:00
-
4d9077d586
feat(world): add light timer and indicator
ejlewis
2026-05-10 10:17:42 -05:00
-
d56c0c8363
Implement match interactions and wait chip
ejlewis
2026-05-10 07:56:31 -05:00
-
83e4877852
feat(content): add upper floor slice
ejlewis
2026-05-10 07:34:51 -05:00
-
daa5e9d655
fix(ui): polish terminal options and assets
ejlewis
2026-05-10 07:00:22 -05:00
-
33933b00d7
fix(mystery): improve mobile terminal and chips
ejlewis
2026-05-10 05:53:32 -05:00
-
29fd371b89
Merge branch 'feat/engine-prereqs'
ejlewis
2026-05-09 21:51:37 -05:00
-
-
2a9b6155ef
feat(mystery): add opening and main-floor content
ejlewis
2026-05-09 21:51:12 -05:00
-
b3e708995b
Merge pull request 'docs(mystery): Phase 2 content-rewrite roadmap' (#2) from feat/engine-prereqs into main
ejlewis
2026-05-09 15:16:07 -05:00
-
-
e46b2359c0
docs(mystery): Phase 2 content-rewrite roadmap
ejlewis
2026-05-09 15:11:06 -05:00
-
f9b6fc164f
Merge pull request 'docs(mystery): spec for engine prereqs (verbs, disambiguation, ending UI)' (#1) from feat/engine-prereqs into main
ejlewis
2026-05-09 15:10:20 -05:00
-
-
5f8e3b1a34
fix(ui): keep input typable post-end so player can type restart/undo
ejlewis
2026-05-09 15:06:37 -05:00
-
e167979fa7
feat(ui): render ending lines distinctly and lock input on end-state
ejlewis
2026-05-09 14:57:52 -05:00
-
19d1efc586
feat(engine): detect endings on every successful turn
ejlewis
2026-05-09 14:53:07 -05:00
-
0d9db9bb55
test(engine): self-contained locked-exit fixture replaces the stub
ejlewis
2026-05-09 14:42:22 -05:00
-
b870d884ef
feat(engine): wire verb-target-prep — explicit \
light X with Y\ and \use\ routing
ejlewis
2026-05-09 14:22:03 -05:00
-
8401e7d281
feat(engine): light/extinguish verbs with implicit lighter selection
ejlewis
2026-05-09 14:18:54 -05:00
-
dac8487dbe
feat(engine): read verb narrates item.readableText
ejlewis
2026-05-09 14:15:35 -05:00
-
2fecc7878d
feat(world): annotate lamp/matches/letter for read/light/extinguish
ejlewis
2026-05-09 14:12:10 -05:00
-
ee3cfcc00d
feat(world): parseItem extracts optional ## read / lit / extinguished / lighter-empty sections
ejlewis
2026-05-09 14:06:29 -05:00
-
df50afa479
feat(world): item schema — readable, lightable, lighter, lighterUses
ejlewis
2026-05-09 14:01:31 -05:00
-
ab8c17fdd5
feat(engine): dispatcher handles ambiguous parses with a disambiguation prompt
ejlewis
2026-05-09 13:58:32 -05:00
-
b318747840
feat(parser): emit verb-target-prep on 'with'/'on'/'in'/'to' separators
ejlewis
2026-05-09 13:56:19 -05:00
-
46f851bc3a
feat(parser): return ambiguous variant when noun matches multiple aliases
ejlewis
2026-05-09 13:53:38 -05:00
-
b325f04b02
feat(parser): strip leading stop-words (at, the, a, an) from noun phrase
ejlewis
2026-05-09 13:36:34 -05:00
-
14a58481b1
refactor(engine): theme is a UI preference; remove it from GameState
ejlewis
2026-05-09 13:33:57 -05:00
-
657ed22b48
refactor(engine): drop redundant string[] casts now that RoomState includes arrays
ejlewis
2026-05-09 13:30:35 -05:00
-
6cffb87a63
feat(engine): widen state value unions and add 'ending' transcript kind
ejlewis
2026-05-09 13:28:14 -05:00
-
e21a308e9d
docs(mystery): implementation plan for engine prereqs
ejlewis
2026-05-09 13:21:13 -05:00
-
bcff8a42f9
docs(mystery): spec for engine prereqs (verbs, disambiguation, ending UI)
ejlewis
2026-05-09 13:07:24 -05:00
-
-
2b3a18f208
ci: add Cloudflare Pages deploy + split success/failure notify
ejlewis
2026-05-09 11:56:38 -05:00
-
72f99295ca
build: re-add wrangler as devDependency
ejlewis
2026-05-09 11:56:38 -05:00
-
e044141043
ci: pushover notification on success too
ejlewis
2026-05-09 11:50:28 -05:00
-
c0061491ab
ci: pushover notification on pipeline failure
ejlewis
2026-05-09 11:47:50 -05:00
-
b80e4c32a5
fix(ci): commit package-lock.json so npm ci works
ejlewis
2026-05-09 11:47:50 -05:00
-
e31bf0fbff
chore: standalone Halfstreet repo scaffolding
ejlewis
2026-05-09 11:33:15 -05:00
-
86e1aeb973
feat: rename mystery.astro -> index.astro, fix imports for src/ root
ejlewis
2026-05-09 11:33:06 -05:00
-
78b749dac4
chore(halfstreet): bible Obsidian-formatted edits + vault config
ejlewis
2026-05-09 11:29:18 -05:00
-
bc21a88786
Merge feature: mystery markdown content migration
ejlewis
2026-05-09 11:13:38 -05:00
-
-
1f472402fd
fix(mystery): code-review followups (locked-exit, endings, headers)
ejlewis
2026-05-09 11:12:26 -05:00
-
4b8ebafe6f
fix(mystery): swap gray-matter for yaml package (browser-safe)
ejlewis
2026-05-09 09:52:21 -05:00
-
20619cec09
chore(mystery): commit minimal Obsidian vault config; ignore workspace cache
ejlewis
2026-05-09 09:43:53 -05:00
-
506e36b801
refactor(mystery): remove story.ts; endings live in markdown
ejlewis
2026-05-09 09:36:28 -05:00
-
1b992642ec
feat(mystery): encounters.ts uses narration() helper for prose
ejlewis
2026-05-09 09:35:41 -05:00
-
c0c1a7e930
feat(mystery): assemble World from markdown via import.meta.glob
ejlewis
2026-05-09 09:34:27 -05:00
-
0523158e61
test(mystery): round-trip verification of migrated markdown
ejlewis
2026-05-09 09:27:39 -05:00
-
bbea3f4473
feat(mystery): migration script and produced markdown content
ejlewis
2026-05-09 09:26:02 -05:00
-
d3a2f4e1d7
feat(mystery): narration() helper and encounter narration registry
ejlewis
2026-05-09 09:23:37 -05:00
-
bf8a693949
feat(mystery): parseEncounterNarration — phase and transition prose
ejlewis
2026-05-09 09:21:29 -05:00
-
e60844a937
feat(mystery): parseEnding — markdown to typed Ending
ejlewis
2026-05-09 09:17:11 -05:00
-
e108ca16e0
feat(mystery): parseItem — markdown to typed Item
ejlewis
2026-05-09 09:13:51 -05:00
-
cf257c040a
fix(mystery): handle aliased wikilinks; symmetric locked-exit validation
ejlewis
2026-05-09 09:09:38 -05:00
-
5f3356ffb5
feat(mystery): parseRoom — markdown to typed Room
ejlewis
2026-05-09 09:00:35 -05:00
-
da7b6fac83
feat(mystery): add Zod schemas for markdown frontmatter
ejlewis
2026-05-09 08:56:44 -05:00
-
-
2ad81f356a
docs(mystery): implementation plan for markdown content migration
ejlewis
2026-05-09 08:50:58 -05:00
-
baed9dd2f7
docs(mystery): camelCase frontmatter, prototype goal, content collections rationale
ejlewis
2026-05-09 08:42:12 -05:00
-
1a283076ac
docs(mystery): spec for markdown content migration
ejlewis
2026-05-09 08:36:38 -05:00
-
157dd07c9c
fix(mystery): letter doesn't open in foyer
ejlewis
2026-05-09 01:03:47 -05:00
-
f75030e7ee
fix(mystery): persist player input lines so they survive reload
ejlewis
2026-05-09 00:54:54 -05:00
-
d3e2bd72a5
Merge feature: mystery text adventure (Halfstreet) — engine + UI + bible
ejlewis
2026-05-09 00:41:23 -05:00
-
-
731e51c6b9
docs(mystery): notes for follow-on room-prose plan
ejlewis
2026-05-09 00:40:13 -05:00
-
33bc84e30b
fix(mystery): wait verb routes to encounters; chip list reflects dynamic items
ejlewis
2026-05-09 00:37:45 -05:00
-
1b7d2ce4e7
docs(mystery): author Halfstreet content bible — gating artifact for room prose
ejlewis
2026-05-09 00:22:57 -05:00
-
9e49f1f519
feat(mystery): mobile chip computation and rendering
ejlewis
2026-05-09 00:18:25 -05:00
-
3c0c386bbe
feat(mystery): theme toggle wiring with localStorage persistence
ejlewis
2026-05-09 00:14:15 -05:00
-
5f5dc6071b
feat(mystery): terminal — input handling, dispatch wiring, autosave
ejlewis
2026-05-08 23:45:10 -05:00
-
96d3036c4d
feat(mystery): /mystery route + CRT bezel + theme scaffold
ejlewis
2026-05-08 23:39:58 -05:00
-
460626aad9
test(mystery): end-to-end playthrough against sample world
ejlewis
2026-05-08 23:32:33 -05:00
-
d8c9b44058
feat(mystery): sample 3-room world for engine validation
ejlewis
2026-05-08 23:26:45 -05:00
-
49fc5a1015
feat(mystery): encounter phase machine wired into dispatcher
ejlewis
2026-05-08 23:18:22 -05:00
-
00f44ce817
feat(mystery): dispatcher — go, look, take, drop, examine, inventory
ejlewis
2026-05-08 22:56:11 -05:00
-
bd6b421ce9
feat(mystery): save layer — round-trip, schema versioning, transcript cap
ejlewis
2026-05-08 22:50:47 -05:00
-
bf9e210b88
feat(mystery): parser — noun resolution, disambiguation, pronouns
ejlewis
2026-05-08 22:44:43 -05:00
-
b59644270e
feat(mystery): parser — verb-only, direction, and meta commands
ejlewis
2026-05-08 22:38:17 -05:00
-
7ee5cf96f6
feat(mystery): define engine and world type contracts
ejlewis
2026-05-08 22:31:36 -05:00
-
-
20c977db1f
docs: add mystery text adventure (Halfstreet) design spec
ejlewis
2026-05-08 22:07:24 -05:00