Commit Graph

11 Commits

Author SHA1 Message Date
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
19d1ec1fe5 fix(core): remove class_name from autoload scripts to prevent singleton conflict
Godot 4 throws "Class hides an autoload singleton" when a script declares
class_name with the same name as its registered autoload. Removed class_name
from AudioManager and RoomNavigator — both are accessible globally via their
autoload name without it. Also ignores Godot-generated *.uid files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:44:31 +02:00
Steven Wroblewski
6b0c41bbfd fix(core): resolve review findings in Sprint 3-4
- Fix SaveManager reset_game to use DirAccess.remove correctly
- Add null check for FileAccess.open in save_game
- Fix AudioManager crossfade tween callback chain
- Replace fragile absolute HUD path with relative onready
- Guard character position save against empty id
- Add GameState.has_character_position helper
- Emit room_changed signal after tween completes
- Add target_floor validation in ElevatorButton
- Persist audio settings via GameState
- Add class_name to RoomNavigator, AudioManager, HUD

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:22:27 +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
ace7d722ed chore: enable ETC2/ASTC texture compression for Android export 2026-04-17 11:53:04 +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
c2028edb2f chore(setup): update Godot version to 4.6 in project.godot 2026-04-17 11:12:38 +02:00
Steven Wroblewski
9daf06c9b1 chore(setup): add minimal project.godot for Godot 4 2026-04-17 11:06:56 +02:00
Steven Wroblewski
2ebed0a511 chore(setup): add editorconfig and smoke-test checklist
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 11:05:18 +02:00
Steven Wroblewski
d1b771ddcb chore: initialize project structure for Sprint 0 2026-04-17 10:23:48 +02:00