# Tier1 引擎终裁包(HJ-T1-SPIKE-001 · 终裁版 v1.1) > v1.1:Codex 5.5 Xhigh 对抗复核整改(P0×3:裁量分声明+敏感性分析/E1 双重计账表述纠偏/沙箱维度拆名;P1×4:倍率区间化/推断降格/体积上界补全/翻盘条件小节;确认项×3 背书全部硬数据可溯源)。 > **给拍板人**:4 包五门全过、Phase 2 节流测量收口,计分已出。**待你两件事:① 亲玩 4 包(URL 见 §5)填判词;② 终裁引擎。** 本包结论先行,全部数字可溯源到 spike 证据目录。 > 上游:执行单 `2026-06-11-T1引擎spike-execution.md` v1.2 | 约束框架 `docs/brainstorms/2026-06-11-tier1-runtime-constraints-requirements.md` | 证据根 `docs/agent-specs/2026-06-11-tier1-engine-spike/` --- ## 0. 一页结论 > **🔨 终裁落锤(2026-06-12,创始人)**:**Tier1 引擎 = LittleJS**。拔高样板(好玩基线 v2 五要素拉满一包)列为 W-T1b 首件,过创始人判;引擎复议权按 §4.5-3 保留(拔高若暴露引擎级阻塞可复议,Runner/契约层不受影响)。同场拍板:**模板双层架构**——核心代码模板(平台核心层:手感/调色板/音乐/后处理/资产框架,固定核心、给 LLM 留灵活面)+ 玩法模板(品类层,带质量底线,生成结果须高于底线);美术=程序化系统+像素资产包混合。§6 下一步即刻生效。 **计分:LittleJS 85 / Phaser 82(满分 100;实测数字全可溯源,分值含裁量分——规则与敏感性见 §1 注)。我的裁决建议:LittleJS。** 决定性理由不是总分差 3 分,而是**主考 S2 的结构性差异**: 1. **冷开 4.8~5.3 倍差**(千元机+4G 节流实测):LittleJS 0.54-0.59s vs Phaser 2.82-2.86s——**Phaser 把全新用户首次点卡的预算(≤3.5s)吃到只剩 0.6s**,而这正是「短视频游戏流」的激活时刻。3G/弱网或低端长尾设备下 Phaser 首开**出线风险显著上升**(推断,需真机/P95 验证),LittleJS 仍有 ~6 倍裕量。 2. **对缓解机制的敏感度不对称**(措辞经复核纠偏:Phaser 冷态本身过线,E1 预热是框架给两边的既定机制,不重复计账):Phaser 的体感达标程度对编译缓存(省 2.1s,只救第二次起)与 E1 预热的实际效果**高度敏感**,余量仅 0.6s;LittleJS 对这些机制**几乎不敏感**(裸冷开已 0.54s)——而这些机制在真机 XWeb 上的表现恰是本 spike 无法验证的残差(§4)。敏感度差 = 风险敞口差。 3. Phaser 的两大传统优势在 spike 中被实测削弱:语料优势两边都「一轮写对」(深模板+working example 方法论抹平);工具链优势被 LittleJS 的「缺件皆可 6~14 行自封」实证对冲。 **Phaser 输得体面**:CSP 大山实测拆除、v4.1 语料迁移零摩擦、净增量同样达标——它败在与我们场景的物理契合度(体积→冷开→激活时刻),不是工程质量。 --- ## 1. 计分表(评审版 §5 评分卡口径) | 维度(权重) | LittleJS | Phaser | 依据(可溯源) | |---|---|---|---| | 好玩工时 30 | 24 | 26 | 两引擎两游戏逻辑均一轮写对、juice 基线全达成。Phaser 微胜:text/anchor/tween 链开箱(shop 文本零摩擦);LittleJS 需手拼 UI 件(按钮 14 行/无 measureText/文本坐标手算)但音效粒子零依赖。lane REPORT §工时账×4 | | 可生成性 25 | 20 | 23 | Phaser:v3 语料直写 v4.1 双品类首轮零 API 报错。LittleJS:同样一轮写对,但两个真实语料陷阱(setGravity Vector2/粒子 20 位置参);API 面小+单文件示例密度部分补偿。lane REPORT §API 摩擦×4 | | **S2 实测 20(主考)** | **20** | **12** | 冷开 536/592ms vs **2858/2818ms**;常态(三开)397/460 vs 684/746(双双过 ≤2s,但 Phaser 依赖 code cache);首次 ≤3.5s 双过但 Phaser 余量仅 0.6s。phase2/measurements.md §A | | 沙箱+交付形态适配 15(复核后拆名) | 15 | 12 | **严格 CSP 安全:双双零违规,无分差**(Phaser 唯一 new Function 运行期不可达)。**分差全部来自交付形态工程成本**:Phaser 须切预构建形态(alias+UMD interop+类型双轨+12KB 再包壳,长期维护债);LittleJS 标准 ESM 直用+WebGL2→Canvas2D 自动降级实跑。lane SIZES/REPORT | | 维护健康度 10 | 6 | 9 | Phaser 公司化/39.8k★;LittleJS 单人 bus factor(对冲:单文件 MIT fork 自持成本极低+月度 8 连发活跃)。尽调报告 §1 | | **合计** | **85** | **82** | | | 帧率/内存(门槛项不计分) | 全过 | 全过(尾帧 35fps@高密粒子,未破线) | phase2 §B/§C | > **裁量分声明与敏感性分析(复核 P0-1)**:好玩工时/可生成性/沙箱+交付形态/维护健康度四组为「基于证据的裁量分」(底稿无原始分),S2 为硬数据分。**敏感性:把四组裁量维度全部拉平(双方同分),LittleJS 仍以 S2 硬数据差(20 vs 12 = +8)领先**——结论方向对裁量分不敏感;要翻盘必须翻 S2 本身或诉诸否决权(见 §4.5 翻盘条件)。 ## 2. 关键实测数据汇总 | 指标 | LittleJS | Phaser(arcade 预构建) | |---|---|---| | 引擎体积 | **15.9KB gz**(tree-shaken 40.6KB raw;全量 min 上界 58.9KB gz 仍过 B1) | 326.7KB gz(1.24MB raw;npm 默认形态 371.9KB **爆门**) | | 游戏②净增量 | 2.2KB gz | 2.5KB gz —— **「每游戏=小增量」前提两边实测成立** | | S2 冷开(节流中位) | 536-592ms | 2818-2858ms(±40ms 高度可复现) | | S2 三开(编译缓存后) | 397-460ms(收益 ~135ms,可观测) | 684-746ms(收益 ~2.1s) | | 帧率@4× 中位/1%低 | 59.88 / 45.9-49.8 | 59.88 / 35.3(catcher)-47.6(shop) | | JSHeap 通关后 | ~4MB | ~6MB(B4=150MB,双双无虞) | | 严格 CSP | 零违规,静态零 eval | 零违规(唯一 new Function=不可达 polyfill) | ## 3. 若胜出,各自要承担的账(执行波前置清单) **LittleJS 胜出须做**:① 自封薄层 tween/UI 工具件(spike 实证量级:弹簧补 6 行/按钮 14 行——一次性,入 Runner 共享层);② 深模板 working-example 库建设(抹平语料差,本来就是我们生成模型的形态);③ bus factor 对冲=锁版本+fork 镜像仓预案;④ measureText 缺失→中文文案长度上限进模板 schema(已有 cleanText 范式)。 **Phaser 胜出须做**:① 预构建形态维护(alias/interop/类型双轨长期债);② E1 预热成为 S2 达标的强依赖(XWeb code cache 真机验证升 P0);③ 高密粒子场景帧预算管控(尾帧 35fps);④ 接受弱网/3G 长尾首开出线。 ## 4. 真机残差清单(两边共担,W-T1b 首验项) 微信 XWeb 冷开绝对值与 code cache 真实收益、低端 Android 真机帧率、CJK 真机字体覆盖、全进程内存口径、音效听感(headless 无声卡,仅证调用链)。**承压划分(复核后收敛)**:冷开/缓存类残差若恶化,主要承压方为 Phaser(§0-2 敏感度不对称);**CJK 字体/音效/全进程内存为共担项,两边同验**。 ## 4.5 翻盘条件(什么新证据会推翻本建议——复议触发器) 1. **亲玩否决**:创始人亲玩判 Phaser 的 juice 手感/跟手度显著胜出,且愿意为此承担冷开账(0.6s 余量+预热依赖)→ 复议。 2. **真机反转**:XWeb 真机实测 Phaser 首开 P75 余量充足(≥1s)**且** LittleJS 出现真机级故障(CJK 字体缺失/音效解锁异常/降级路径失效)→ 复议。 3. **工时爆表**:W-T1b 中 LittleJS 自封件(tween/UI kit/measureText 替代)实际工时超出 spike 外推一个数量级,或四模板重做中出现引擎级阻塞 → 复议(Runner/契约层不受影响,切换成本=模板层重写)。 ## 5. 创始人亲玩(Phase 2.5,判词待填) | URL | 包 | |---|---| | `http://100.64.0.7:4311/host.html?game=catcher` / `?game=shop` | LittleJS 月光捕手 / 王蓝莓小卖部 | | `http://100.64.0.7:4312/?game=catcher` / `?game=shop` | Phaser 月光捕手 / 王蓝莓小卖部 | > 判词维度建议:跟手度(拖动/点按延迟体感)、juice 成色(粒子/音效/屏震——音效需首次点击后解锁)、中文 UI 观感、整体「想再来一局」感。计分表之外你有否决权。 > **判词(2026-06-11 创始人首轮)**:「玩法仍过于简单,缺乏艺术气息」——并附 js13k/PICO-8 历年杰作清单(Witchcat/Celeste Classic/Q1K3 等)为质量标杆。**判读:该反馈对两引擎无差别(engine-neutral,不构成 §4.5-1 亲玩否决的引擎翻盘),落差判给模板工艺层**——现行好玩基线(juice 清单)天花板不足,触发「好玩基线 v2(五要素:手感/美术统一性/音乐/结构深度/角色壳)+ 拔高样板试验」,注:spike 按执行单"不镀金"纪律刻意最小化,质量上限未代表生产态。 ## 6. 终裁后的下一步 裁定即触发:① 本包定稿+约束框架/重设计 spec/tech-decisions §1.1 终态回填;② W-T1b(Runner v2 正式建设+模板五转正+D5 取证契约)双 spec 立项;③ wave-close 七步收口 spike(含三条蒸馏候选:切形态配方/净增量取差机制/systemd-run·setsid 双脱离 serve 教训→staging-ops);④ 作战清单重锁本轮完成线。