From b517058d2e049bff3050ba1e77abbf476d531ace Mon Sep 17 00:00:00 2001 From: megaproxy Date: Sat, 16 May 2026 17:39:36 +0100 Subject: [PATCH] docs: mark Phase 19 done pending playtest review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Status row updated 🟡 done (pending review). Inline checklist ticked, with hint-vs-guided-vs-tutorial decision recorded. Acceptance demo (cold-tester <60s) explicitly owed. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/implementation.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/implementation.md b/docs/implementation.md index 1600fe9..86b66d1 100644 --- a/docs/implementation.md +++ b/docs/implementation.md @@ -25,7 +25,8 @@ Effort estimates are wall-time at **focused solo pace**. Scale up generously for | ✅ done — class_id-tagged to_dict on all 18 entity types, SaveSystem v2 with per-class factory registry + World.clear_all + clear-and-respawn apply_save, tilemap layer serialization, beauty/dirt map round-trip, Autosave autoload (periodic 6000-tick interval + NOTIFICATION_APPLICATION_PAUSED + focus-loss), Save/Load buttons in TopBar, LoadMenu CanvasLayer with version-mismatch dialog, ResumeToast ("Welcome back — N minutes away"), slot API (manual + autosave), graceful version-mismatch handling | **Phase 16 — Save/load full coverage** | | ✅ done — Pawn.work_priorities matrix (8 player categories), Decision Layer 4 honors per-pawn priorities (NEEDS_CATEGORIES bypass), PawnDetailPanel (HP/Hunger/Sleep/Mood/Statuses/Skills/Priorities live-refresh, opens on pawn_selected), BuildDrawer bottom-sheet (Designate/Build/Stockpile/Cancel tabs, 12 new tool constants wired), WorkPriorityMatrix grid (tap-cycle 1→2→3→4→0, color-coded), AlertsLog (ring buffer 50, severity icons + Go-there, listens to alert_added + storyteller_event_fired + day_ended), SettingsMenu (auto-pause toggles + audio + accessibility), EventBus.request_wolf_spawn wired end-to-end (EventCatalog._spawn_wolves → WolfSpawner._on_request_wolf_spawn force-bypass), EventBus.day_ended emit from Clock dusk→night | **Phase 17 — Touch UX completion** | | ✅ done — Audio autoload + 3 buses (Master/Music/SFX), 2 looping music tracks (day/night) swapped on Clock.phase_changed, 6 SFX wired (tree_fell, mine_tick, combat_hit via pawn_took_damage, storyteller sting, alert click, UI click), SettingsMenu sliders live-bound to bus DB, NOTIFICATION_APPLICATION_PAUSED + FOCUS_OUT mute the Master bus | **Phase 18 — Audio** | -| ⏳ next | **Phase 19 — Onboarding & first-60-seconds** | +| 🟡 done (pending playtest review) — Hint approach chosen 2026-05-16. HintSystem autoload + HintOverlay layer 22 (7-step tour gated on player events: welcome / pawn select / build drawer / stockpile painted / work matrix / day_ended / tour_complete; per-hint dismissal persisted in GameState.settings; FIFO queue depth 3; reduce-motion snap path; reset_tour API). HelpModal layer 20 with 5 tabs (Controls / Verbs / Priorities / Storyteller / Tips). SettingsMenu "Onboarding" section with Show-hints checkbox + Help button + Reset-hints button. Tooltip pass across TopBar + BuildDrawer FAB + 21 tool buttons. **Acceptance demo still owed:** hand the game to a tester cold; they should be doing useful work in <60s. | **Phase 19 — Onboarding & first-60-seconds** | +| ⏳ next | **Phase 20 — Balance, polish, export** | Use this doc as a checklist: tick boxes as items complete, and update the **Status** row above whenever a phase rolls over. The last bullet of each phase is the *acceptance demo* — the phase is "done" when you can perform it. @@ -430,13 +431,16 @@ Phase 18 follow-ups (deferred): **Goal:** resolve the open question in `memory.md` — a new mobile player gets productive in <60 seconds. -- [ ] **DECIDE:** approach (open question, not enough thinking yet): - - (a) Hint system — contextual tooltips during first session, dismissible, no replay - - (b) Guided first-day — scripted storyteller events on day 1 walking through chop / haul / build / sleep - - (c) Tutorial scene — separate from main game, opt-in - - Recommendation lands when this phase begins. -- [ ] First-time-player flag persisted -- [ ] **Acceptance:** hand the game to a tester cold. They are doing useful colony work within 60 seconds without you saying anything. +- [x] **DECIDED 2026-05-16:** approach **(a) Hint system** — contextual single-line overlays during first session, dismissible per-hint, no auto-replay (reset via Settings → Reset hints). + - (a) Hint system — contextual tooltips during first session, dismissible, no replay ✅ + - (b) Guided first-day — scripted storyteller events on day 1 — *not chosen* + - (c) Tutorial scene — separate from main game, opt-in — *not chosen* +- [x] First-time-player flag persisted (per-hint dismissal log in `GameState.settings["dismissed_hints"]`; master toggle `show_hints`) +- [x] HintSystem autoload + HintOverlay (layer 22 top-center banner, 7-step tour gated on player events) +- [x] HelpModal (layer 20) with 5 sections (Controls / Verbs / Priorities / Storyteller / Tips) +- [x] SettingsMenu "Onboarding" section: Show hints checkbox + Help button + Reset hints button +- [x] Tooltip pass — `tooltip_text` on TopBar buttons + BuildDrawer FAB + 21 tool buttons +- [ ] **Acceptance:** hand the game to a tester cold. They are doing useful colony work within 60 seconds without you saying anything. **Owed — pending playtest review.** ---