# VERTICAL SLICE - NOT FOR PRODUCTION # Date: 2026-10-04(双层 BD 实施批 T1——标签档位激活引擎) # 流派成型判据机制化(整合定稿 设计工具 1——以撒套装/小骨铭文先例): # 同流派标签 relic 计数 ≥2 → 档一(流派核心规则);≥4 → 档二(完全体);<2 = 散件(单体保底—— # 每件效果独立生效,档位只做质变不做启动,反例 B-2)。 # 纯函数零 await 零 RNG 零副作用(Attunement 求值服务同款纪律);核心层零特判延伸——引擎只读 # feat_table 行集与持有集,接线点消费 tiers/hooks 投影。 class_name FeatsEngine extends RefCounted ## 档位求值:feat_ids 持有集 × 行集 → {archetype: tier}(tier ∈ 0/1/2;无行流派不出现) static func tiers_for(feat_ids: Array, table: FeatTable) -> Dictionary: var counts := {} for rid in feat_ids: var row: Dictionary = table.row_by_id(String(rid)) if table != null else {} if row.is_empty(): continue var arch := String(row.get("archetype", "")) counts[arch] = int(counts.get(arch, 0)) + 1 var out := {} for arch in counts.keys(): var n := int(counts[arch]) if n >= 4: out[arch] = 2 elif n >= 2: out[arch] = 1 else: out[arch] = 0 return out ## 挂点投影随 T3 退役(内容数据驱动扩展批——hook 词族消亡:订阅投影=效果引擎 rebuild 装载序 ## (feats 表序),投影稳定性由 EffectEngine._triggers 声明序承载) ## 成型判读(读数面口径):流派 tier ≥1 = 成型(档一即判——任务书完成定义「标签+档位激活引擎可判成型」) static func is_formed(tiers: Dictionary, archetype: String) -> bool: return int(tiers.get(archetype, 0)) >= 1