frame-of-mind/CHANGELOG.md

111 lines
4.0 KiB
Markdown

# Changelog
All notable changes to Frame of Mind since commit `c75348845a5136379ce9ab09d2ff64b7bec90f12`.
## [Unreleased]
### Features
- New interactable system with action prompts that can play scenes
- Added new interactables to youth room with repositioned layout
- Interactable prompts now update dynamically based on collected state (shows \"read again\" after collection)
- Type-safe interactive handling for player
- Room loading system implementation
- Basic room start logic
- Room play functionality
### Fixes
#### Interactables & Positioning
- Small improvements to positioning
- Sorting function was not according to spec
#### Save System
- Save game parsing failure no longer crashes the game
- Save game directory creation on first load
- Fixed race condition with settings initialization
- New save game only creates once (reduced from multiple duplicates)
- Save game picker layout improvements
#### UI & Menus
- Fixed markdown not loading nonexistent resources
- Markdown now uses application theme
- Fixed masking on loading indicator
- Fixed loading spinner animation states
- Fixed screenshot size (was 261, corrected to 216 height)
- Nav UI in accessibility settings is now accessible again
- Card picker input propagation fixed
- Card picker now closes properly
- Cards now derived from prefab scene
- Text updates now forced to deferred
- Skip buttons work via mouse
- Cardboard can now be clicked and opened
#### Player & Controls
- Player crouching on leaving bed fixed
- Line renderer errors due to zero magnitude axis fixed
- Climb volume now automatically crouches the player
- Player raising and crouching stabilized
- Removed annoying half-second wait
- Player controller cleanup
#### Rooms & Scenes
- Theme files reconstructed
- Regenerated missing UIDs in theme files
- Resaved various scenes to fix UIDs
- Removed forced preload of all 3 base rooms
- Fixed various path and hierarchy issues in youth room
- Viewport children no longer break
- Found and fixed many broken/orphaned viewports in youth room
- Main scene is no longer a Control (fixed input issues)
- Removed broken LightmapGI node that was causing scene to be dirtied on every load
#### Story & Playables
- Story playables no longer destroy their own serialized text
- Reinstated accidentally deleted paragraph length data
- Fixed Draven/Draeven naming inconsistencies
- Manual scroll enable on Draven and Voice fixed
- Story playables now control their own canvas layer visibility
- Board now correctly identifies itself
#### Code Quality
- Fixed hardcoded localization load (en) removed from scene player
- Fixed settings panel refactoring path
- Fixed shadowing issues in card-board
- Fixed syntax errors
- Removed all warnings
- Fixed untyped variables throughout codebase
- Fixed unknown fields issues
### Refactored
- New interactable system replaces old interactive_sprite.gd system
- Interactable now has separate `_update_caption()` and `_update_prompt()` methods
- Renamed `collectable.gd` to `interactive_sprite.gd`
- Moved various embedded scripts to their own `.gd` files
- Focus system refactored
- Removed deprecated sequencing calls
- Removed deprecated signals and `is_board`
- Stage system refactored, dead code cleared
- Collectable logic refactored
- Renamed `SaveGameHandle` to `SaveGameList`
- Renamed `scnees` folder to `scenes`
- Menu animations moved to tweens/subscenes
- Better inheritance and render order for mementos
- New direct interactable system
### Changed
- Replaced all bare `print()` statements with `print_debug()`
- Game window set to 1600x900 for better testing/debugging
- Explicit search index layout
- Main scene changed from Control to different node type
### Tests
- Added player tests for crouching and raiser functionality
- Raiser now uses AnimatableBody3D
### Chores
- Generated missing .import files
- Added IDE configuration files
- Fixed button/Button filename case issues
- Cleaned up project structure
- Updated .gitignore files