Add Use Spot Overlay and Target Capture Bar functionality

- Introduced `StageUseTargetCaptureBar` class for managing user interactions with props and their use spots.
- Implemented UI elements including buttons for changing props and canceling actions.
- Added `PropUseSpotData` class for validation and serialization of prop use spots.
- Created tests for validating use spot data migration, serialization, and rule matching.
- Ensured proper handling of edge cases in use spot data, including unique IDs and finite positions.
This commit is contained in:
2026-10-13 11:23:44 -04:00
parent 235c6aa6a6
commit d8b1b1164b
42 changed files with 3847 additions and 50 deletions
+1 -1
View File
@@ -76,7 +76,7 @@ func _test_legacy_migration() -> void:
var migrated: Dictionary = STAGE_SCENE_IO._migrate_to_current(legacy)
var prop_entry: Dictionary = migrated["objects"][1]
var roles: Dictionary = prop_entry["roles"]
_expect(migrated["version"] == "1.2", "old stage version migrates to 1.2")
_expect(migrated["version"] == "1.3", "old stage version migrates to 1.3")
_expect(prop_entry["stage_object_id"] == "prop_a", "1.0 prop IDs migrate from file IDs")
_expect(String(roles["start_motion"]) == PROP_STAGE_ROLES.START_PHYSICS, "legacy prop keeps dynamic start behavior")
_expect(bool(roles["blocks_stickmen"]) and bool(roles["legacy_draw_order"]), "legacy prop keeps collisions and draw order")