docs(runner-v2): P2 收口入账总账——引擎游戏真渲入 feed 真玩(真机 6 门)

进度总账增 Runner v2 P2 条目 + 表头:通用宿主泛化、引擎游戏真渲入 feed 真玩,mini-desktop
真机 6 门(对账 5d3f7a8),4 决策落实+对抗复审/真机门逮 4 缺陷全修;诚实 gap=game_end
到结算取证待人工补。P3/W-G1 待续。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
zizi 2026-06-13 20:39:40 +00:00
parent 5d3f7a87f0
commit b4b84fef36

View File

@ -3,7 +3,7 @@
> **本文件是项目管理唯一活账**:把「计划 ↔ 完成 ↔ 待办 ↔ 执行记录」对在一起。
> **铁律**:每次波次收口、每次里程碑状态变化,**必须按 [`wave-close-checklist`](../../.agents/skills/wave-close-checklist.md) 七步收口**(本表+表头日期、作战清单+归档、回填、蒸馏、索引;`.agent` 仅结构变化时),否则视为未收口。
> 计划权威来源:`.agents/knowledge/mvp-scope-and-milestones.md`(55 P0 / 137 技术项 / M0-M5)、`docs/architecture/{产品需求清单,技术架构与模块,需求模块映射}.md`(Doc A/B/C)、`docs/superpowers/specs/mvp-execution-spec-design.md`。
> 维护:主 agent | 最近更新:**2026-06-13**(**Runner v2 全弧 P1 收口**=王蓝莓上引擎/「游戏宿主装载契约」spike 实,mini-desktop real 引擎 **5 门全过**,对账至 `99b6c82`;**P2 泛化宿主双 spec 构建中**〔ultracode〕。前序同日 T1b-β Phase A 引擎真接线收口=A0 掌帧 + A1-A4 能力包装 + A6 real 门 6/6〔`3e5cab4`〕;2026-06-12 T1b-α 收口:插件库 9 件+拔高样板「暖阳小卖部」**创始人亲玩主门 PASS**,好玩基线 v2 立标;同日补账渠道波/W-CLEAN/战略与审计簇)。
> 维护:主 agent | 最近更新:**2026-06-13**(**Runner v2 全弧 P1+P2 收口**:P1=王蓝莓上引擎/装载契约 spike〔real 5 门,`99b6c82`〕;**P2=通用宿主泛化、引擎游戏真渲入 feed 真玩**〔mini-desktop 真机 6 门,对账 `5d3f7a8`;4 决策落实 + 对抗复审/真机门逮 4 缺陷全修;诚实 gap=game_end 到结算取证待人工补〕;**P3/W-G1 待续**。前序同日 T1b-β Phase A 引擎真接线收口〔`3e5cab4`〕;2026-06-12 T1b-α 收口:插件库 9 件+拔高样板「暖阳小卖部」**创始人亲玩主门 PASS**,好玩基线 v2 立标)。
---
@ -147,6 +147,7 @@
| **T1b-α 收口(wave-close 七步)** | 七步全跑:总账补今日五波欠账+表头;作战清单完成项移归档+完成线提请重锁;回填声明(已随清毒六连提交完成,无新增);新建 `game-runtime/.agent`(结构性新工作区);蒸馏新 skill `game-e2e-cdp-harness.md`(编排形制/驱动器六律/出厂红线);索引双同步(README+AGENTS §5);e2e runbook 自 /tmp 入库+收口报告落档 | 本次收口提交 | 提交前 30 秒自检过(表头日期=收口日;作战清单 ✅ 残留=0) |
| **T1b-β Phase A 引擎真接线(A0 掌帧 + A1-A4 能力包装 + A6 真引擎门 · Ultracode)** | 2026-06-13 按创始人「引擎↔插件边界模型」(引擎有→薄包装/引擎无→自研补层/一职一路,见记忆 `engine-plugin-boundary-model`)接线。**A0**=host-dev RAF 桩→littlejsengine engineInit 五回调真掌帧(门0 8/8)。**A1-A4**(scoped workflow 政策→设计→对抗复审 halt 门→实现):A1 host.js engineFactory 真活+受控面+easing 门面;A2 EngineEmitterSpec additive 扩+薄包装引擎 ParticleEmitter 删 sim;A3 包装 zzfxG/zzfxM 删 vendored+播放层补×0.3;A4 gamefeel easing 改走门面+collision/physics/palette 补层标注。**对抗门两逮均落地前零返工**:①A4 easing 误判(grep 假阴性→引擎实有 Ease)创始人改判本波包装→11 曲线门面包装+backInOut/elasticInOut(引擎 IN_OUT 差 6.6%/17%)留内置补层(hybrid);②collision 注释 under-claim 源码精校。**A6**=mini-desktop real 引擎门 **6/6**(真接线门② call-ID:particles/easing/audio 运行时真调引擎 + 引擎粒子真渲 maxCh=240 + 掌帧/受控面零回归)。新红线政策 §1.5:**引擎能力普查禁按预期名 grep** | `11c8eaf`+`7efe8a4`(A0)→`e591e9b`(A1-A4)→`3e5cab4`(A6) | 本机门:**168 单测绿**+双 bundle esbuild rc=0+真接线门①引擎 163641B+门③负扫全清(0 插件 import/vendor 删/0 sim/0 假注释);A6 mini-desktop real 引擎 **6/6**(`game-runtime/evidence/a6/a6.json`+RESULT.md);**5 次源码证伪假设全前置**(含我自身「byte-identical」过宽断言被 ULP 实测纠偏,2 条 §7 误判+easing+collision+我自证)|
| **Runner v2 全弧 P1:王蓝莓上引擎=「游戏宿主装载契约」spike(顶层 arc + P1 双 spec + 落地 · Ultracode)** | 2026-06-13 创始人「I need both」启 Runner v2 全弧(一基石解锁 P1 spike→P2 泛化→P3 生成)。**arc 顶层评审**(4 路侦察→草拟→对抗自核逮 3 致命 F1-F3:原稿把基石命名为不存在的 `GameModule` 契约=假统一→重锚两层真契约:下层 `getEngine()`+`packageUrl` 已冻复用/上层「游戏宿主装载契约」本弧 spike)。**P1 双 spec**(review+execution;对抗复审逮 M1-M4 落地前零返工)。**P1 落地**:新增装载契约 `game-runtime/src/core/game-host.d.ts`(第9类 additive:GameHostBootContext/GameInstance/GameHostFactory,游戏=纯模块工厂零引擎 import,能力经 `ctx.getEngine()`,绘制面 `render(g)` 的 g=引擎 mainContext);`makeEngineCaps` 闭包提升为可 import 模块 `host-dev/engine-caps.js`;王蓝莓增 `?engine=real`(RAF→engineInit 五回调掌帧、美术绘制面 #game→引擎 mainContext 同屏合并、bundle 延后 setupReal 内以 mainContext 建);`game-shop.js` 抽独立 GameHostFactory(P3 生成范本);entry.js 动态 import=node-safe∧入包两全。配套 **W-G1 20 经典轻游戏基准**(12/20 覆盖+4 短板:文本HUD/网格/CCD/拖拽,喂 P3)。**O1 装载契约已 spike 实定形;P2/P3 待续** | `99b6c82`(arc+WG1基准+P1双spec+落地+evidence,25 文件 +3706/−808) | mini-desktop real 引擎 **5 门全过**(引擎掌帧 dFrame=31∈[20,45]/同屏 warmHits=682∧brightHits=13028 同张 #game-engine/particles.spawnEmitter+synthSfx call-ID/CDP **517 真触摸**跑通整局〔第1天接待18·营收¥79.9·连击9〕/console 零错)+本机 **88 单测绿**(含修复 4 红+补回归)+5 截图肉眼复核;证据 `games/wanglanmei-ref/evidence/p1-real/`;**诚实 caveat**:门② brightHits 在结算屏混亮 UI,同屏合并由 warmHits+call-ID+引擎架构三证成立(非阻断);真玩 serve `100.64.0.7:4320/?engine=real` |
| **Runner v2 全弧 P2:通用宿主泛化——引擎游戏真渲入 feed 真玩(双 spec+落地+真机门 · Ultracode)** | 2026-06-13 把 P1 装载契约从「装载王蓝莓一款」泛化为「装载任意 GamePackage」入 feed 真玩。**双 spec**(4 路侦察→草拟→opus 文档级对抗复审逮 4 mustFix〔门②game_end 跨层/体积 540→259KB/O2 范围/产线〕全纳)。**4 决策拍定**:O2(b) 创始人追认纳入 Phase C/O-P2-2 创始人=① DB-manifest 内嵌(bundle 文本进 GamePackage `engineBundle` 字段+iframe 内联 script,CSP 不放外域)/O-P2-1=灌库过渡桩(真产线 P3)/O-P2-3=globalName `__GameBundle`。**三轨落地**:后端 `engineBundle` additive 字段+灌库桩+四态脚手架;运行时 `bootRef→bootGameHost(opts)` 泛化+`build:ref-bundle` 产 `__GameBundle` iife;studio inject 引擎包分支(取 `window.__GameBundle.bootGameHost` 挂引擎真渲,否则旧 startRuntime 保兼容)。**对抗代码复审+真机门逮 4 缺陷全修**(灌库桩读错产物死循环/漏发 game_start 吞会话/seed charset 断 checksum/W-CLEAN 空库脚手架)。受控面 6 项+`game-host.d.ts` 零改 | `5d3f7a8`(三轨+灌库桩+脚手架+evidence,24 文件 +1732/−448) | mini-desktop 真机 **6 门**(主 agent 肉眼复核):build `__GameBundle` 真入包/Java 编译+字节复现单测/studio staging 重建消 mock/灌库 status=1∧checksum 64hex∧manifest sha256 一致/**真人 feed 点卡→引擎真渲暖阳小卖部(warm=1246073px)非「重构中」+game_loaded+game_start+防 demo 三锚+DB session 行+console 零错**/回滚无 engineBundle→demo 壳兼容未破;证据 `game-studio/evidence/p2-feed/`(02 截图=引擎真渲肉眼实证);**诚实 gap**:game_end 到结算未在自动化窗内达成=ref gameover 需分钟级真玩+srcdoc 坐标盲点取证局限,机制已通留人工真玩补;真玩 feed `100.64.0.7:4173`(game 9201) |
## 7. 风险与口径提醒