数字花园
八包卡片大会诊:从病入膏肓到一套预定的通吃
八座卡包的使节同日抵京,请求会诊。这一天的诊断室里,有病入膏肓者、有健康无恙者、有只需加固者——而最珍贵的产出,是一件谁也没点名却人人受用的东西:一套通吃全部变量树的通用解析预设。
一、Fate 卡包:九张卡,五类实锤
卡包结构:两张世界卡加七张单角色卡。对照 ST 里的斗破卡与道渊卡,并用配置好的 space-bunny 走 MVU 正式解析流程实测,问题浮出水面:
- P0:七张单角色卡的变量系统整体是死的——ZOD 脚本里
}}.prefault少括号(工具包已知坑),registerMvuSchema 直接抛语法错误,node —check 七张全 FAIL。 - P0:单角色卡三套口径打架——schema 教修真旧字段(气运点/法宝/年岁),正文全用 Fate 词(令咒出现五十二处),开场白补丁写的 /世界/天气、/人物/Saber/*、/宿主/令咒 全是变量树里不存在的路径。
- P0:全局解析预设会弄坏 Fate 卡——斗破预设铁律硬编码 /萧宁、/人物、/红颜榜 九大路径并声明”写其它路径即整题错误”。space-bunny 实测:Fate 剧情加斗破预设,真的写出 /萧宁/生命——正是之前斗破垃圾分支的成因。
- 总说明声称”年岁残留 0 处”不实:first_mes 与五个备选开场白的 data_block 里都还有”年岁: 青年”。
修复是一场精编手术:世界卡把一百六十六个碎片化常驻条目(同义变体各自成条、每回合注入)人工精编成十个核心常驻加三十三条转触发,FSN 常驻字符 17066→14334(-16%)、常驻条目 196→40;七张单角色卡 ZOD 重写为 Fate 化(分卡保留各自魔力值 60/70/55/90/65/70/20)、四十九条开场白消息统一改造。写 PNG 内嵌时还抓到一个真 bug:tEXt 块声明长度用了 len(payload) 而实际应为 len(‘chara\x00’+payload)——块尾六字节被吃掉且 CRC 错位。最终九十五项检查全绿,MVU变量解析预设-Fate 写入 ST。
二、路人女主与春物:健康者的勋章
路人女主-交付包(一张世界卡加五张 heroine 卡)是三个包里质量最高、最精瘦的一包:世界卡九十八条,ZOD 语法过(修复版工具包)、变量树为现代校园定制(心力/技能/人脉/机缘,玄幻字段整体剔除)、二十三个常驻条目全是规则/MVU 无碎片、order 阶梯设计正确。唯一实质问题是 first_mes 里 阶段名: 开局·天外来客 的模板残留(zod 定义的开局是”开局·春假前夜”)——清掉、二十三个常驻加 ignore_budget、出 -修复版。五张 heroine 卡没有任何需要修的东西。
春物(我的青春恋爱物语果然有问题,八张角色卡加一份共享世界书)是五个包里最健康的一包:为春物定制的”关系/事件/情报”三表 schema,八卡 ZOD 逐字节一致,五十九条消息一百一十个 op 逐条校验全部合法(初扫时 /人物、/事件、/$旁白 触发”可疑顶层”警报,对照 schema 后确认是定制合法路径,虚警),常驻仅十三条六千六百二十三字。没有出修复版——八张卡原样可用。
三、刀剑神域与校花的贴身高手:两场硬仗
刀剑神域卡包(三张世界卡:艾恩葛朗特/地下世界/枪神领域,合计八千二百六十九条)ZOD 语法全过、变量树一致,唯一的真问题是常驻碎片过载:每卡三百四十五到四百八十六个常驻条目、中位数才三十四字、共三点四到三点六万字(约二点四万 token,超预算一倍)。世界组碎片整组转触发(高频机制词在对话里自然触发),常驻 486/473/345 → 46/32/60 条,字符 -40%/-42%/-28%,三百六十六加三百一十四加二百三十条碎片转触发、七十四加一百二十七加五十五条查重移除,内容零丢失。期间修了自己脚本两个 bug:glob 把已生成的修复版当输入、“重复丢弃”的条目没真正移出常驻。
校花的贴身高手是六个包里问题最重的一张——老工具包的”三张皮”杰作:开场白自创 JSON 面板、MVU 状态栏模板(类型错误一串、目标写成单对象而 schema 是按姓名键控的 record、缺四个字段)、Zod schema 三者互不匹配;教 MVU 不支持的 add op;全卡没有变量树路径教学条目;手写层 order=1~50 全场最低——ST 预算按 order 降序分配,最先被丢的恰是系统规则和 MVU 教学,只有约五百零五条能进预算;外加 V1 无壳(交付说明声称 chara_card_v2 但实际 spec 字段缺失)。修复:常驻 2,154 → 40 条(-98%)、字符 99,950 → 12,027(-88%),一千三百五十二条碎片转触发、七百六十二条查重移除,手写层提到全局最高加全部 ignore_budget,V2 壳升级,六个开场白面板确定性重写为 XML 分节式。
四、NIKKE、纵横天下与金瓶梅:加固与重建
NIKKE 拉毗卡是所有包里单卡质量最高的一张(文笔的 voice 指纹贯穿一致、剧透保护完整),唯一缺陷是状态栏”有规范、无示范、无渲染”——最小修复(first_mes 加示范面板、新增渲染正则)后,又按 NIKKE IP 定制了整套变量树:指挥官/拉毗/任务/物资/心声七层,信赖与好感两条线分离(铁律:她的信赖长期高于好感),心结默认”「什么是妮姬」尚无答案”——原作核心命题直接进了变量。三种形态并存:原版(零依赖)、修复版、变量版。
网游之纵横天下是七个包里基线最干净的一张 MVU 卡:.catch({}) 雷零处、时间默认值安全、网游加现实双轨定制树、first_mes 二十二个补丁全合法。修复属于加固:装命令消毒器 2.1、幅度表补三行、五十七条常驻加 ignore_budget。
金瓶梅·掠欲系统(ZCode 桌面上这版)是继校花之后第二张需要全套重建的老一代产线卡:.catch({}) 整块重置雷九处、V1 无壳、玄幻树套在明代世情世界上(schema 带境界/修为/灵力/功法/神通,而 README 自己写明”本书无修真境界,社会阶层即力量”——每回合都在逼模型给西门庆编修为进度)、教 add op、手写层 order 倒挂、三十四条碎片常驻、开场白用裸词 data_block:(连尖括号都没有,正则永远匹配不上)。重建:新树按世情重设计(阶层/银两/买卖/库房,道侣→妻妾、灵宠→婢仆),六个开场白面板重写,九雷随旧 schema 消亡。保护面核查先行并保留:两条硬边界在位(禁非自愿/胁迫/药物、少年期不进亲密场景),官哥儿/孝哥儿仅机遇线无攻略线,迎儿条目明确”早期非红颜线、走庇护养成”。
五、那件谁也没点名的产出
会诊途中一个跨包实锤问题现形:解析预设是全局的——斗破预设坏 Fate 卡(已实锤),Fate 预设同样会坏路人女主卡(/夺缘、/人脉、/机缘 不在 Fate 十路径里)。正确解法是通用预设:顶层路径只允许注入变量树里实际存在的键,不硬编码卡名。space-bunny 实测路人女主加 Fate 双夹具同过,此后 SAO、春物、校花、纵横天下、金瓶梅、NIKKE 依次泛化通过——一个预设,八包通吃。期间还修了一个实测发现的质量问题:解析器给加藤惠建档时照抄示例值(好感 12/信赖 40,初见应为 0),铁律补”建档初值按剧情,初见从 0 起算”。
顺带查证 ST 源码钉死两个机制:sortFn = b.order - a.order 是降序——order 大的条目先获得预算,超预算时先丢 order 小的(MVU/规则条目受保护,剧本库才是被挤掉的);token_budget 字段 ST 根本不读(不在 convertCharacterBook 映射里)——真正生效的防掉线标记是 ignore_budget。早前 Fate 报告里写反的预算机制论述,已按源码更正。
真实坐标
- 八包战绩:Fate(9 卡:7 单角色 ZOD 死亡 ×9、三口径打架、常驻 196→40 字符 -16%)|路人女主(最健康,仅清模板残留 + ignore_budget)|刀剑神域(3 卡常驻 486/473/345→46/32/60,字符 -40%/-42%/-28%)|春物(最健康,8 卡 110 op 全合法,未出修复版)|校花(三张皮 + order 倒挂 + V1 无壳,常驻 2,154→40 字符 -88%)|NIKKE 拉毗(最小修复 + 变量树定制,三形态)|纵横天下(基线最干净,消毒器加固)|金瓶梅(全套重建:玄幻树→世情树,9 雷清零)
- 通用预设:MVU变量解析预设-通用 写入 ST——顶层路径只认注入变量树实际存在的键;8 套变量树泛化实测全过;铁律补”建档初值按剧情从 0 起算”
- ST 源码机制:order 降序分配预算(b.order - a.order);token_budget 字段不被 convertCharacterBook 映射(死元数据);ignore_budget 是真正生效的防掉线标记
- 实测:space-bunny 走 MVU 正式解析流程;12 套 schema 运行时累计 108/108(空树补全/脏键剥离/数值钳制/记录往返)
- 自修 bug:PNG tEXt 块声明长度(len(payload) 应为 len(‘chara\x00’+payload),CRC 错位);glob 误吃修复版;重复条目未真正移出常驻
评论