Steven Wroblewski
325dc97645
chore(tooling): merge GUT v9.6.0 TDD setup — 42 unit tests for GameState, RoomNavigator, GiftBox
2026-04-17 23:05:24 +02:00
Steven Wroblewski
100fcef593
feat(home): merge Sprint 14 — Zuhause & Garten area with HomeButton, GiftBox, TeaPot, GardenParty
2026-04-17 23:05:15 +02:00
Steven Wroblewski
a89238b08e
docs(claude): update testing conventions to reflect GUT TDD workflow
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 22:49:57 +02:00
Steven Wroblewski
d905f837e8
feat(gift-box): add GiftBox scene and FSM implementation
2026-04-17 22:45:44 +02:00
Steven Wroblewski
1e445263a7
test(gift-box): add unit tests for CLOSED/OPENING/OPEN state machine
2026-04-17 22:45:26 +02:00
Steven Wroblewski
4d74f19490
fix(room-navigator): sync implementation with Sprint 14 canonical version
2026-04-17 22:43:26 +02:00
Steven Wroblewski
286498804d
test(room-navigator): add missing is_at_home and go_to_hospital tests
...
Adds 7 new test cases covering home/hospital navigation state:
- is_at_home() initial state and transitions
- go_to_home() with idempotence check
- go_to_hospital() state restoration and guards
- is_at_home flag cleanup on room navigation
Implements corresponding methods in RoomNavigator:
- is_at_home(): Returns home state
- go_to_home(): Navigates to home (0,0) and saves hospital position
- go_to_hospital(): Returns to previously saved hospital location
- _go_to_room_internal(): Helper to avoid flag interference
All 34 tests passing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 22:41:59 +02:00
Steven Wroblewski
297b57a3c1
test(room-navigator): add unit tests for floor/room state and camera navigation
2026-04-17 22:39:09 +02:00
Steven Wroblewski
e3a93d3c52
test(game-state): add unit tests for character positions, object states, and save round-trip
2026-04-17 22:36:53 +02:00
Steven Wroblewski
978c8a5c80
chore(tooling): add GUT test infrastructure and smoke test
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 22:35:08 +02:00
Steven Wroblewski
c8fb2d959f
chore(tooling): install GUT v9.6.0 test framework
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 22:33:12 +02:00
Steven Wroblewski
257ff18a8b
docs: add GUT TDD setup plan
2026-04-17 22:22:48 +02:00
Steven Wroblewski
d0ea95ea47
feat(main): integrate Home/GardenParty below Floor0 with bidirectional navigation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 21:25:48 +02:00
Steven Wroblewski
0247c30d45
feat(garden): add GardenParty scene with table, gifts, teapot, balloons, and return button
2026-04-17 21:24:17 +02:00
Steven Wroblewski
a4620a7f14
feat(teapot): add TeaPot with tap-to-pour tilt animation
2026-04-17 21:23:03 +02:00
Steven Wroblewski
da3c934e5d
feat(gift-box): add GiftBox with tap-to-open lid animation and gift reveal
2026-04-17 21:21:39 +02:00
Steven Wroblewski
033d38887f
fix(home-button): add busy guard against double-tap during navigation transition
2026-04-17 21:20:23 +02:00
Steven Wroblewski
1a5d7918ab
feat(home-button): add HomeButton component for hospital/garden navigation
2026-04-17 21:18:52 +02:00
Steven Wroblewski
e7d0036c61
fix(navigator): kill active tween before starting new navigation to prevent camera jitter
2026-04-17 21:17:58 +02:00
Steven Wroblewski
819f18b64c
feat(navigator): add go_to_home / go_to_hospital with home_entered / hospital_entered signals
2026-04-17 21:16:07 +02:00
Steven Wroblewski
9f0ed163ae
docs: add Sprint 14 and earlier plan files
2026-04-17 21:15:07 +02:00
Steven Wroblewski
d897d84831
chore: add .worktrees/ to .gitignore
2026-04-17 21:14:26 +02:00
Steven Wroblewski
34c59710d5
docs: mark Sprint 11-13 as complete
2026-04-17 19:39:45 +02:00
Steven Wroblewski
af2fd51ab2
feat(floor2): wire up all three second-floor rooms with navigation arrows
2026-04-17 16:36:56 +02:00
Steven Wroblewski
5f7ef73d4f
feat(nursery): add Nursery room with rail and three rocking cradles
2026-04-17 16:35:15 +02:00
Steven Wroblewski
2303195207
feat(delivery): add DeliveryRoom with animated DeliveryBed
2026-04-17 16:34:22 +02:00
Steven Wroblewski
c1f480ba69
feat(ultrasound): add Ultrasound room with exam table and UltrasoundMachine
2026-04-17 16:33:10 +02:00
Steven Wroblewski
5ea3a52ed4
feat(nursery): add Cradle component with pendulum rocking animation
2026-04-17 16:31:49 +02:00
Steven Wroblewski
dfdf40ba8d
feat(delivery): add DeliveryBed component with mama-arrives baby-appears animation
2026-04-17 16:30:31 +02:00
Steven Wroblewski
a94cf61b79
feat(ultrasound): add UltrasoundMachine component with continuous heartbeat animation
2026-04-17 16:29:10 +02:00
Steven Wroblewski
a8bc3123ac
docs: add Sprint 11-13 implementation plan
2026-04-17 16:28:32 +02:00
Steven Wroblewski
92f65a2ab9
docs: mark Sprint 8-10 as complete
2026-04-17 16:18:07 +02:00
Steven Wroblewski
e4ecae376e
feat(floor1): wire up all four first-floor rooms with horizontal navigation arrows
2026-04-17 14:33:55 +02:00
Steven Wroblewski
9b91e78c20
feat(patientroom): add Patient Room with two beds, TV, and bedside table
2026-04-17 14:32:07 +02:00
Steven Wroblewski
8773ecfa6a
feat(lab): add Lab room with bench, sink, and interactive lab equipment
2026-04-17 14:30:31 +02:00
Steven Wroblewski
c1f742ae61
feat(pharmacy): add Pharmacy room with double medicine shelf and positive medicine objects
2026-04-17 14:28:48 +02:00
Steven Wroblewski
e14303da9b
feat(xray): add XRay Room scene with exam table and XRayMachine
2026-04-17 14:26:14 +02:00
Steven Wroblewski
5f33e16165
feat(xray): add XRayMachine component with plate slide-in animation
2026-04-17 14:25:04 +02:00
Steven Wroblewski
353efc100f
docs: mark Sprint 5-7 as complete
2026-04-17 14:14:39 +02:00
Steven Wroblewski
c4e33aef62
fix(emergency): explicitly set ambulance trigger_floor and trigger_room to prevent silent failure on room reorder
2026-04-17 14:01:56 +02:00
Steven Wroblewski
c0c86b0998
feat(floor0): wire up all four ground-floor rooms with horizontal navigation arrows
2026-04-17 13:59:01 +02:00
Steven Wroblewski
cc44519d62
feat(emergency): add Emergency Room scene with ambulance bay, medical table, and interactive objects
2026-04-17 13:57:30 +02:00
Steven Wroblewski
045aa8c3b6
feat(ambulance): add Ambulance component with drive-in/out animation triggered by room navigation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 13:56:11 +02:00
Steven Wroblewski
b1ea85a449
feat(restaurant): add Restaurant room with three tables and interactive food objects
2026-04-17 13:54:35 +02:00
Steven Wroblewski
35ab8ffeb3
feat(giftshop): add Gift Shop room with shelf, counter, and interactive gift objects
2026-04-17 13:53:40 +02:00
Steven Wroblewski
a48539d410
feat(reception): complete Reception with waiting benches, bell, and potted plant
2026-04-17 13:52:42 +02:00
Steven Wroblewski
130317b516
feat(navigation): add NavigationArrow component for within-floor room navigation
2026-04-17 13:51:32 +02:00
Steven Wroblewski
903df578e2
feat(navigation): extend RoomNavigator for horizontal room-within-floor navigation
2026-04-17 13:50:00 +02:00
Steven Wroblewski
2bb73c905c
fix(ui): sync settings sliders to saved values when menu opens
...
show_menu() now calls set_value_no_signal() to reflect the current
GameState volume values without re-triggering value_changed handlers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 13:28:57 +02:00
Steven Wroblewski
6bc199f6c1
fix(core): correct camera Y offset in RoomNavigator floor navigation
...
Floor N spans from N*-720 to (N-1)*-720. The camera must center at the
floor midpoint, so target_y = floor_index * -720 + 360 (half floor height).
Previous formula placed the camera at the floor boundary, showing content
split between two floors.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 13:26:03 +02:00