lili 4836a6f519 feat(wg1-scale20): 20基准放量(14款)+ 三方门验证 + driver库泛化 + 宿主键盘缺口定位
主力批 7/8 真可玩(Opus 对抗审计 0 假绿)、压测 match3 ✅;失败收敛:3 键盘款(2048/Tetris/Asteroids)挂宿主缺 keydown 桥=唯一真·L0 门面缺口(已 spawn_task 交 L0)、multiball/flappy/愤怒小鸟=driver-coverage(非模型)。spec 预判 CCD/文本HUD/网格/match/手势缺口全推翻(便宜 flash 自带 swept CCD/自写网格文本)。

- driver 库 1→6 型(tap-targets/flap-to-gap/seek-x/tap-pairs/key-cycle/paddle-intercept)+ drag 输入事件 + key() Arrow 修
- M3 视觉 player 当生产过滤器实证(与门 8/9 一致、抓显性空心)→ 门(地板)+M3(主观过滤)+创始人(人锚)三层互补
- 短板量化报告定稿 + 两 skill 沉淀(game-e2e §8 driver库/门承重/键盘缺口 · cheap-model §9 模型能力画像)
- 2 个 ultracode 对抗 workflow(审计10+诊断7 agents)抓 saolei 弱断言、纠 flappy 归因(driver 非模型)、定位宿主键盘根因

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 10:30:06 -07:00

13 lines
2.5 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"title": "跳跃者 Doodle Jump",
"brief": "做一款经典 Doodle Jump(垂直无尽跳跃)。竖屏逻辑视口 390×844(坐标 y 向下为正)。\n- 角色落到平台上【自动反弹】向上(反弹力稳定,使角色每次踩台都能明显向上跳起一段);点击屏幕左半 = 角色持续左移、点击右半 = 持续右移(水平移动要明显、跟手);角色水平移出屏幕一侧从另一侧穿回。\n- 平台在上方程序化随机生成,**相邻平台的水平与垂直间距适中**——保证下一块平台总在角色一次跳跃 + 水平移动够得到的范围内(不要生成够不到的平台)。相机随角色上升而上移;角色掉到屏幕底部以下 = 失败。\n- score = 已上升高度:**开局必为 0**,随角色不断上升而单调增加(用相机上移总量 / 角色到达过的最高点计)。\n- 顶部文本 HUD:高度分 / 状态。\n- 【终态契约·务必遵守】掉落失败即把 _forensicsView().state().phase 置 'gameover' 并【驻留】(显示结果 + 「点击重玩」提示);玩家点击重玩前 phase 必须恒为 'gameover',**绝不自动重开 / 不下一帧复位**(宿主每 500ms 轮询 phase 判结束)。gameover 下点击一律忽略;仅「重玩」按钮重开。\n- 【可测性·务必导出状态】_forensicsView().state() 返回纯只读实时真值:\n · phase;result:null | 'lose'\n · score:整数,已上升高度(开局必为 0,随上升增加)\n · bird:{ x, y, vy }(角色中心逻辑像素坐标与竖直速度,实时)\n · nextPlatform:{ x, y }(角色【正上方最近、应当跳上去】的那块平台中心逻辑像素;harness 据此左右移动接住,务必指向真正该踩的下一块)。\n harness 读 bird.x 与 nextPlatform.x 点屏左/右半把角色水平移到该平台下方接住、踩台上升。\n- 反馈(juice):弹跳 / 失败触发 getEngine().particles.spawnEmitter + getEngine().audio.synth.synthSfx。\n- 画面:深色背景铺满 390×844;角色 / 平台 / 文字亮色实心。",
"play_spec": {
"driver": { "type": "seek-x", "steps": 70, "stepMs": 120, "deadzone": 16 },
"expectedEngineCallPrefixes": ["particles.", "audio.synth"],
"assertAfterPlay": [
{ "path": "score", "op": "increased", "why": "适配性真玩(读 bird.x/nextPlatform.x 左右趋近接台)→高度分上升;落不住或计分语义错则不升" }
],
"expectLatch": true
}
}