feat: add Phase 20a stage identities and overlap selection

This commit is contained in:
2026-10-26 15:10:28 -04:00
parent 0cc882ef4b
commit 35eb0e2503
74 changed files with 3854 additions and 217 deletions
@@ -3,12 +3,16 @@ extends Node2D
var original_entry: Dictionary = {}
var missing_stk_path: String = ""
var stage_object_id: String = ""
var stage_name: String = ""
const MARKER_SIZE := Vector2(260.0, 52.0)
func configure(entry: Dictionary) -> void:
original_entry = entry.duplicate(true)
missing_stk_path = String(entry.get("stk_path", ""))
stage_object_id = String(entry.get("stage_object_id", ""))
stage_name = String(entry.get("stage_name", ""))
queue_redraw()
func get_area_rect() -> Rect2:
@@ -226,6 +226,10 @@ var action_queue: Array[Dictionary]:
## Original .stk asset path, assigned by StageSpawner for scene persistence.
var source_stk_path: String = ""
## Persistent per-stage-instance identity and display name. Reusable .stk
## assets never serialize these fields.
var stage_object_id: String = ""
var stage_name: String = ""
## Authored nonvisual subsystem children. They establish explicit ownership
## boundaries while this facade preserves the long-standing public API.