初次提交
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
## 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()
|
||||
Reference in New Issue
Block a user