27 Commits

Author SHA1 Message Date
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
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
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
51bfd1718b fix(core): enforce CharacterData compile order and remove ClassDB type lookup on export
character.gd referenced CharacterData.State as a compile-time constant dict,
causing export to fail when character.gd was compiled before character_data.gd
(alphabetical order). The preload forces character_data.gd to be compiled first.
Changing SubResource type to "Resource" removes the ClassDB lookup for the
custom class name during scene export, relying on the explicit script reference
instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 13:11:30 +02:00
Steven Wroblewski
8f416b8999 fix(core): add explicit script reference for CharacterData SubResource in Main.tscn
Godot 4 Android export cannot resolve custom class names from the global
script cache during scene export. Adding an explicit ExtResource reference
to character_data.gd ensures the type is resolved at load time without
relying on the class cache.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:57:39 +02:00
Steven Wroblewski
13db45bb04 feat(core): implement room navigation, character states, save/load and settings menu
- RoomNavigator autoload: smooth camera pan between floors
- Floor1 and Floor2 placeholder rooms with elevator buttons
- CharacterData Resource with State enum (HEALTHY/SICK/SLEEPING/TIRED)
- Character visual state feedback via ColorRect color
- Main scene loads saved state on startup
- SettingsMenu with music/sfx sliders and game reset
- HUD settings button to open SettingsMenu

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:17:56 +02:00
Steven Wroblewski
f7c8a7ec03 fix(poc): resolve evaluator and review findings
- Add RectangleShape2D to Character and InteractiveObject collision areas
- Fix HUD button signal connections in _ready()
- Fix character_placed signal emitting global_position
- Extract DEFAULT_DRAG_RADIUS constant in DragDropComponent
- Type Variant on JSON parsed variable in SaveManager
- Extract music symbol constants in HUD
- Refactor duplicated drag input code in InputManager

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 11:16:05 +02:00
Steven Wroblewski
9a1e30d808 feat(poc): implement Sprint 1 proof of concept
- project.godot with autoload configuration
- Reception room with placeholder visuals
- Draggable Character with DragDropComponent
- Interactive flower object with bounce animation
- GameState, SaveManager, AudioManager, InputManager autoloads
- HUD with back button and music toggle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 11:16:04 +02:00
Steven Wroblewski
d1b771ddcb chore: initialize project structure for Sprint 0 2026-04-17 10:23:48 +02:00