zizi
99b6c82dec
feat(runner-v2): P1 王蓝莓上引擎=游戏宿主装载契约 spike 实(mini-desktop real 引擎 5 门全过)
Runner v2 全弧第一相(HJ-RUNNER-ARC-001 / P1):用王蓝莓把"上层游戏宿主装载契约"
从零 spike 到"引擎真掌帧 + 游戏美术与引擎粒子同屏可玩",解锁 P2 泛化 / P3 生成。
契约与共享件
- 新增装载契约 game-runtime/src/core/game-host.d.ts(第9类 additive·暂名):
GameHostBootContext / GameInstance / GameHostFactory;游戏=纯模块工厂,零引擎 import,
能力经下层 ctx.getEngine()(受控面 6 项零改),绘制面 render(g) 的 g=引擎 mainContext
- makeEngineCaps 闭包提升为可 import 模块 host-dev/engine-caps.js(createEngineCaps):
host-dev/ref/未来生成游戏共用;engineMode 短路 / __engineCalls 探针 / null-engine 语义逐行不变
王蓝莓 real 通道(games/wanglanmei-ref)
- 增 ?engine=real:主循环从浏览器 RAF 改挂 engineInit 五回调(掌帧唯一源=引擎);
游戏美术绘制面从 #game 改引擎 mainContext(同屏合并);bundle 延后到 setupReal 内以
mainContext 建(getContext2d 闭包快照修);保 ?engine=stub 逐像素确定性回滚
- game-shop.js 抽为独立 GameHostFactory(零引擎 import,P3 生成 agent 可复制范本)
- entry.js 动态 import('littlejsengine')=node-import-safe ∧ esbuild iife 入包两全
- 驱动 e2e-input.cdp.cjs real 改造:禁 stepFrames 手摇(防双掌帧),真触摸+轮询;
门②同屏像素判据(暖色 warmHits ∧ 引擎粒子 brightHits 同张 #game-engine)
真机验收(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 红+补回归)
证据:games/wanglanmei-ref/evidence/p1-real/(e2e-evidence.json pass=true + 5 截图肉眼复核)
诚实 caveat:门② brightHits 在结算屏混入亮 UI,同屏合并由 warmHits(美术落引擎画布)+
call-ID(粒子真调引擎)+ 引擎架构(粒子渲同一 mainContext)三证成立,非阻断。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 18:32:50 +00:00
..
2026-06-11 13:26:04 +00:00
2026-06-10 06:24:43 +08:00
2026-06-09 16:03:06 +00:00
2026-06-10 11:10:10 +00:00
2026-06-10 06:12:31 +00:00
2026-06-11 20:08:24 +00:00
2026-06-11 06:12:40 +00:00
2026-06-12 07:44:04 +00:00
2026-06-08 18:05:28 +00:00
2026-06-08 16:20:17 +00:00
2026-06-10 08:51:30 +00:00
2026-06-09 00:50:09 +00:00
2026-06-09 03:38:43 +00:00
2026-06-10 08:51:30 +00:00
2026-06-10 08:51:30 +00:00
2026-06-10 08:51:30 +00:00
2026-06-08 09:10:05 +00:00
2026-06-10 01:05:55 +00:00
2026-06-10 06:24:43 +08:00
2026-06-10 06:24:43 +08:00
2026-06-09 04:02:33 +00:00
2026-06-09 07:43:54 +00:00
2026-06-09 16:03:06 +00:00
2026-06-09 16:03:06 +00:00
2026-06-09 13:35:26 +00:00
2026-06-10 03:01:02 +00:00
2026-06-10 02:28:19 +00:00
2026-06-10 13:33:32 +00:00
2026-06-10 08:51:30 +00:00
2026-06-10 13:33:32 +00:00
2026-06-11 00:41:02 +00:00
2026-06-10 01:05:55 +00:00
2026-06-10 08:51:30 +00:00
2026-06-10 11:10:10 +00:00
2026-06-10 08:51:30 +00:00
2026-06-10 08:51:30 +00:00
2026-06-11 15:57:37 +00:00
2026-06-11 14:20:08 +00:00
2026-06-11 14:20:08 +00:00
2026-06-11 07:08:35 +00:00
2026-06-11 18:20:27 +00:00
2026-06-12 00:26:16 +00:00
2026-06-12 00:26:16 +00:00
2026-06-11 13:54:27 +00:00
2026-06-11 13:18:48 +00:00
2026-06-11 10:09:14 +00:00
2026-06-11 10:09:14 +00:00
2026-06-11 10:09:14 +00:00
2026-06-11 02:53:34 +00:00
2026-06-12 16:47:56 +00:00
2026-06-12 10:48:52 +00:00
2026-06-12 18:33:06 +00:00
2026-06-13 03:40:54 +00:00
2026-06-12 08:34:03 +00:00
2026-06-12 10:41:00 +00:00
2026-06-12 10:41:00 +00:00
2026-06-12 10:41:00 +00:00
2026-06-12 17:07:45 +00:00
2026-06-13 06:33:27 +00:00
2026-06-13 11:48:28 +00:00
2026-06-13 11:48:28 +00:00
2026-06-13 11:48:28 +00:00
2026-06-13 11:48:28 +00:00
2026-06-13 11:48:28 +00:00
2026-06-13 18:32:50 +00:00
2026-06-13 18:32:50 +00:00
2026-06-13 18:32:50 +00:00
2026-06-13 05:12:35 +00:00
2026-06-13 18:32:50 +00:00
2026-06-08 09:11:10 +00:00
2026-06-08 16:20:17 +00:00