feat(m1): playable loop — story graph, story panel, queue UI #14

Merged
ginnoir merged 20 commits from feat/m1-playable-loop into main 2026-06-11 19:26:54 -05:00
Owner

Summary

  • Story graph engine with hybrid triggers (boot, actionComplete, minResources) and A/B branch (#6)
  • Full-window StoryPanel with VN layout, running story log, and player-configurable auto-open
  • ActionPanel queue list, cancel, disabled states, inline/hover/info action hints (#5)
  • Player prefs drawer (story-open mode, action-detail mode) in localStorage
  • Stub story graph proving route-exclusive actions; real prose in PR3

Test plan

  • pnpm typecheck && pnpm lint && pnpm test:coverage && pnpm build
  • Engine coverage ≥80% (95% statements)
  • Manual: boot story → fork A vs B → different unlocks
  • Manual: queue/cancel actions, reload preserves story + queue
  • Manual: settings toggles story-open and action-detail modes

Closes #5
Closes #6

## Summary - Story graph engine with hybrid triggers (boot, actionComplete, minResources) and A/B branch (#6) - Full-window StoryPanel with VN layout, running story log, and player-configurable auto-open - ActionPanel queue list, cancel, disabled states, inline/hover/info action hints (#5) - Player prefs drawer (story-open mode, action-detail mode) in localStorage - Stub story graph proving route-exclusive actions; real prose in PR3 ## Test plan - [x] `pnpm typecheck && pnpm lint && pnpm test:coverage && pnpm build` - [x] Engine coverage ≥80% (95% statements) - [ ] Manual: boot story → fork A vs B → different unlocks - [ ] Manual: queue/cancel actions, reload preserves story + queue - [ ] Manual: settings toggles story-open and action-detail modes Closes #5 Closes #6
ginnoir added 19 commits 2026-06-11 19:01:24 -05:00
ginnoir added 1 commit 2026-06-11 19:24:08 -05:00
chore: format story.test.ts for CI
CI / verify (push) Successful in 1m4s
CI / verify (pull_request) Successful in 48s
96ac4011eb
ginnoir merged commit 57f037b62b into main 2026-06-11 19:26:54 -05:00
Sign in to join this conversation.