## CoreFeatureTag — Core 特性标签枚举常量（Autoload: CoreFeatureTag）
## 禁止在判断逻辑中使用裸字符串（跨切片约束 ADR-R5-N2）。
##
## feature_tags 当前为**单选枚举值**（一个 Core 至多一个特性）：游戏设计器
## core_tab.gd 以 OptionButton 下标 0..5 写入（0=无），下标即等于下列常量值。
## ⚠️ 因此判定必须用 `==`（相等），**不能用位与 `&`**——常量值非 2 的幂，
## `&` 会串扰（如 ALWAYS_CAST_LAST(3) & PERSISTENT_MEMORY(1) = 1 误判持久内存）。
## 若将来需要一个 Core 同时携带多个特性，应改为 2 的幂位标志 + 设计器多选，
## 并把所有判定改回 `& X != 0`。
extends Node

const NONE:               int = 0  # 无特性（OptionButton 下标 0）
const PERSISTENT_MEMORY: int = 1  # 寄存器跨帧保留（wand_memory Core）
const DUAL_STREAM:        int = 2  # 双流执行（P6-N12，S6 P1 实现）
const ALWAYS_CAST_LAST:   int = 3  # 尾槽 MODIFIER/TRIGGER/LOGIC 静默跳过（P6-N7）
const SHUFFLE_DECK:       int = 4  # ACTION 原子单元乱序（P5-N2）
const INFINITE_SPELLS:    int = 5  # 卖血流，配合 heavy_cost（P6-N18）
