mini-desktop(minione-ubuntu-desktop)scratch 检出 11c8eaf,host-dev/entry.js 经 esbuild 锁参打 host-bundle.js(littlejsengine@1.18.19 真入包),systemd-run static-serve(:4321,根=host-dev/)+chrome --headless=new(:9222,autoplay 放行), driver=test/harness/gate0-engine-takeover.cjs+stub 通道独立核对。 门0 G0-1~G0-8 共 8 门全过(gate0_rc=0/g08_rc=0): - G0-1 引擎真起(非桩):bootedReal/gameInit/hasEngine 皆 true - G0-2 引擎内部 RAF 真掌帧:frame 42→72/500ms=Δ30∈[20,45](排单步假推进/失控空转) - G0-3 time≈frame/60 一致性自检 Δ0.0167s(仅自检非掌帧证据) - G0-4 timeReal 纯墙钟 Δ0.5001s≈500ms(P75 钟可用) - G0-5 双时钟物理隔离(引擎 LJS.time vs probe mockNowMs 不同源) - G0-6 受控面零改回归:initOk/verifyOk/uncaught=[](AudioContext 告警非 error) - G0-7 渲染落 2D mainContext(#game-engine):780×1688·coloredHits=7(粒子真渲)·whiteTextHits=0(水印已除) - G0-8 回滚桩活(stub):initOk/verifyOk/uncaught=[]/noEngine=true 对抗复审纠偏经实测兑现:setDebugWatermark(false)→whiteTextHits=0; setCanvasClearColor(BLACK)→不透明黑底;real 像素门 overshoot→stub 通道独占逐像素。 A0=地基立住:LittleJS 引擎真成为 host-dev 运行时,受控面契约零改(引擎可换边界守住), 回滚桩活。A1-A6 在此地基接线。证据=game-runtime/evidence/gate0/。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
25 lines
2.4 KiB
Plaintext
25 lines
2.4 KiB
Plaintext
# game-runtime/.agent —— LittleJS 增强发行版工作区(Tier1 引擎+能力插件库)
|
||
|
||
> 进度一律以 `docs/mvp/MVP进度总账.md` 为准,本文件只记**职责边界与结构**。
|
||
|
||
## 定位
|
||
|
||
平台维护的「LittleJS + 插件套件」增强发行版工作区:引擎能力插件(碰撞/手感/粒子/物理/调色板/音频/存档/探针等)即插即用、可组合、版本化。**玩法/美术/关卡/UI 不在此层**——四者是 agent 造游戏时的生成域(2026-06-12 模板哲学重申)。
|
||
|
||
## 结构
|
||
|
||
- `src/core/` — core-protocol-v0:Plugin 接口+注册器+受控面(6 项,禁直透引擎)
|
||
- `src/plugins/` — 9 件插件(_example 为活样板,规格模板=`docs/PLUGIN-TEMPLATE.md`)
|
||
- `schema/` — plugin-manifest schema(零依赖校验器在 scripts/)
|
||
- `scripts/` — build/size/test/validate(esbuild 打包;SIZES.md 由 size.mjs 生成勿手改)
|
||
- `test/harness/` — 浏览器证据 harness(CDP)
|
||
- `games/wanglanmei-ref/` — 拔高样板「暖阳小卖部」(好玩基线 v2 立标件;LOOP-LOG.md=循环台账;test/=e2e 驱动+runbook;evidence/=四件套证据)
|
||
|
||
## 边界与现状
|
||
|
||
- **裁决①(2026-06-12 创始人拍)**:粒子/物理/后处理三件须改**引擎能力包装层**(包 littlejsengine 内建而非裸 Canvas2D 平行重造);β 设真接线门(bundle grep 实证含 littlejsengine)+受控面开包装透传通道+SIZES 按「引擎+包装层」重锚。collision/gamefeel 确为引擎缺件,维持自研。
|
||
- T1b-α ✅ 主门过(创始人亲玩 PASS);收口报告=`docs/agent-specs/2026-06-12-T1b-α收口报告.md`。
|
||
- **A0 地基 ✅(`11c8eaf`,门0 8/8 mini-desktop 实测)**:host-dev 真接 littlejsengine——`engineInit` 五回调掌帧(引擎内部 RAF 真推帧)+ `setGLEnable(false)` 纯 2D 渲进 mainContext;受控面 6 项零改(引擎可换边界守住,引擎 import 仅 host.js/entry.js);回滚桩 `?engine=stub` 活(α 等价)。门0 driver=`test/harness/gate0-engine-takeover.cjs`,证据=`evidence/gate0/`,编辑计划=`docs/agent-specs/2026-06-13-A0-引擎掌帧接管-edit-plan.md`。A1-A6 在此地基接线。
|
||
- TODO 归 T1b-β(双 spec 先行):裁决①落地 / Runner v2 产品化 / 1.x 退役 / 参考件入 feed / P7-P8 决策。
|
||
- 插件协议升格正式契约 = W-G0 第 9 契约组(契约权威在 `contracts/`,此处为实现)。
|