rnd(M03): extract streaming target planner
Work-Package: M03-RND-STREAMING-PLANNER-001 Agent: sindo-main-codex Tests: planner/facade/focus/coordinate/manifest/shutdown contracts, seven-checkpoint dry-run, repository gates Fidelity: preserves wanted/retained radii, boundary prefetch, editor preview, queue priority and cache/render behavior
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
class_name StreamingTargetPlan
|
||||
extends RefCounted
|
||||
|
||||
## Immutable result of one runtime or editor target-planning operation.
|
||||
## Tile-key sets use the streamer's existing `<tile_x>_<tile_y>` representation.
|
||||
|
||||
var focus_tile: AdtTileCoordinate:
|
||||
get:
|
||||
return _focus_tile
|
||||
|
||||
var _focus_tile: AdtTileCoordinate
|
||||
var _wanted_tile_keys: Dictionary
|
||||
var _retained_tile_keys: Dictionary
|
||||
|
||||
|
||||
## Takes ownership of planner-created sets and freezes them. The planner creates
|
||||
## these dictionaries independently from its catalog input, so no copy is needed.
|
||||
func _init(
|
||||
focus_tile_value: AdtTileCoordinate,
|
||||
wanted_tile_keys_value: Dictionary,
|
||||
retained_tile_keys_value: Dictionary
|
||||
) -> void:
|
||||
_focus_tile = focus_tile_value
|
||||
_wanted_tile_keys = wanted_tile_keys_value
|
||||
_retained_tile_keys = retained_tile_keys_value
|
||||
_wanted_tile_keys.make_read_only()
|
||||
_retained_tile_keys.make_read_only()
|
||||
|
||||
|
||||
## Returns the immutable wanted tile-key set.
|
||||
func wanted_tile_keys() -> Dictionary:
|
||||
return _wanted_tile_keys
|
||||
|
||||
|
||||
## Returns the immutable retained tile-key set.
|
||||
func retained_tile_keys() -> Dictionary:
|
||||
return _retained_tile_keys
|
||||
Reference in New Issue
Block a user