# VERTICAL SLICE - NOT FOR PRODUCTION # 同调位求值服务(槽位数量=树上同调位节点点亮数;无谓词表判定链—— # attunement_growth.tres 与表访问器不存在;boss_kill_count/clear_count 计数域保留——各有非槽位硬消费)。 # 纯函数零副作用;attune=off 纪律:零 await、零 RNG、零写副作用。 class_name Attunement extends RefCounted # 同调位实时求值(营地进冒险前求值一次 + 装配覆盖层实时呈现共用同一口径): # 槽位数量 = att_socket1..3 树点亮数(tree_level>=1),未点亮=0。 # db 参数保留(调用面两处签名不变——当前判定源零表依赖,参数弃置)。 static func slots(db, save) -> int: if save == null: return 0 var n := 0 for i in range(1, 4): if save.tree_level("att_socket%d" % i) >= 1: n += 1 return n