## CompiledDeck — 预编译产物,关卡期间只读 ## 权威来源:implementation_plan.md §2.2 extends RefCounted class_name CompiledDeck var nodes: Array = [] # Array[SpellNode] 拓扑扁平化 + SCOPE 虚节点插入 var label_table: Dictionary = {} # { label_id: int → node_index: int }(LOGIC_LABEL 专用) var sub_payload_ids: Array = [] # 本 Deck 预编译时注册到 SubPayloadRegistry 的所有 ID var topology_type: int = 0 # 0=LINEAR 1=MATRIX 2=CIRCUIT var feature_tags: int = 0 # Core 特性位掩码快照(CoreFeatureTag.*),供执行期判断 PERSISTENT_MEMORY 等 var consumed_indices: Array = [] # 共鸣 consume_inputs 消费的 nodes 索引(P6-N29),运行时跳过 var checksum: int = 0 # 插槽内容哈希判断是否需要重新编译 ## 创建用于执行的 SpellDeck 实例(拷贝 nodes 并重置 cursor) func make_runtime_deck() -> SpellDeck: var deck := SpellDeck.new() deck.setup(nodes.duplicate(), consumed_indices) return deck func is_empty() -> bool: return nodes.is_empty()