七步对账(wave-close-checklist): 1.总账:表头2026-06-12+对账c514d60;§5 runtime口径改Runner v2;§6 新增W-T1a执行记录行 2.作战清单:W-T1a完成移归档⑪;登记W-T1b(双spec编制中);§0完成线建议候选更新(拔高样板过创始人判)提请重锁 3.回填(裁定类):终裁包落锤横幅/重设计spec v1.2/tech-decisions §1.1+技术栈行(LittleJS终裁+双层架构)/glossary词条/记忆双档 4..agent:game-studio横幅更新(引擎已终裁,W-T1b建设中)——结构性状态变化 5.蒸馏:staging-ops新增mini-desktop长驻serve配方(systemd-run首选/setsid双脱离+探活门/heredoc竞态红线);Phaser侧专有配方(切形态/净增量取差)不蒸馏——败选侧低复用,证据留lane REPORT可溯 6.索引:无结构性变更(纯内容追加),README/AGENTS导航不动 7.编排资产:spike全部脚本已随lane/phase2入库;终裁包v1.2兼本波收口报告 创始人拍板记录:引擎=LittleJS;模板双层架构(核心代码模板=平台核心层类高级引擎固定核心留LLM灵活面/玩法模板=品类层带质量底线生成须高于底线);美术=程序化系统+像素资产包混合;亲玩判词「玩法简单缺艺术气息」(engine-neutral)→好玩基线v2五要素;拔高样板=W-T1b首件 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
46 lines
4.2 KiB
Plaintext
46 lines
4.2 KiB
Plaintext
# game-studio(产品端前端 · 创作者 + 玩家)
|
||
|
||
> **状态:双区建成并接 staging 真后端(2026-06-11 对账)。** 创作链路①与发布段 UI 走查全绿、真人试玩链路③ e2e 闭环(HJ-FE-WALK-001),mock 仅作离线兜底。**进度一律以 `docs/mvp/MVP进度总账.md` 为准,本文件只随结构变化更新。**
|
||
> **⚠️ Tier1 重设计(2026-06-12 引擎已终裁)**:`src/host/runtime/` 自研壳(<15KB)将由「**LittleJS** + Runner v2 + 模板双层架构〔核心代码模板/玩法模板〕」取代(终裁包 `docs/agent-specs/2026-06-11-T1引擎终裁包.md`;约束=三层框架,15KB 红线已废除);W-T1b 建设中,存量 1.x 路径双轨冻结只修 P0。
|
||
> 上游契约:仓根 `contracts/`(5 API YAML + sdk-interface.d.ts#3 + game-package.schema.json#4,单一事实源)。
|
||
> 建设过程与验收详见 `docs/agent-specs/2026-06-08-前端game-studio建设-{review,execution}.md`。
|
||
|
||
## 目标功能
|
||
造梦AI 产品端:创作者(创建→生成→预览→发布)+ 玩家(游戏流→试玩→互动→分享)两端合一的移动竖屏 SPA。
|
||
技术栈:Vue3 + Vant + Vite 8 + Pinia + vue-router + axios;自研 Canvas Runtime(<15KB, Tier1) + WanxiangGameSDK(注入游戏 iframe)。
|
||
|
||
> **命名(2026-06-08 全栈统一 wanxiang,见记忆 [[brand-rename-huijing-to-zaomeng]])**:品牌「造梦AI」;技术命名空间已全部 `wanxiang`——Java 包 `cn.wanxiang.game`、SDK `WanxiangGameSDK`、postMessage channel `wanxiang-game-sdk`,与契约 `contracts/` 一致。原 `huijing` 已彻底淘汰(除 git 历史)。仅 yudao 框架 `cn.iocoder.yudao` + Maven groupId `cn.iocoder.cloud` 保留不动。
|
||
|
||
## 目录(已建,互斥工位产出)
|
||
```
|
||
game-studio/
|
||
├── src/
|
||
│ ├── router/ store/ api/ mock/ styles/ components/ telemetry/ ← A1 地基(App Shell)
|
||
│ ├── host/ ← A2 宿主引擎
|
||
│ │ ├── GamePlayer.vue + bridge.ts + contract.ts (iframe 沙箱 + postMessage 桥 + origin/schema 双校验)
|
||
│ │ ├── sdk/ WanxiangGameSDK 实现契约#3(注入 iframe)
|
||
│ │ └── runtime/ Canvas Runtime <15KB(实测 3.5KB) + demo clicker
|
||
│ └── views/ feed·play·share(B1)/ create(B2)/ project(B3) ← 业务页面
|
||
└── vite.config.ts(含自写 mock 中间件插件:dev+preview 双 hook)
|
||
```
|
||
|
||
## 边界 / 不做(本次脊柱)
|
||
- 不做 `game-admin` 运营后台(不同栈 Element Plus,后端 admin-api 已就绪,后置)。
|
||
- 不做真实后端联调(留 staging,切 axios baseURL 即可)、真实广告/支付(仅桩)、Tier2/3、完整玩法引擎、钱包/提现、ui-ux-pro-max 精修。
|
||
|
||
## 当前状态 / TODO(2026-06-09)
|
||
|
||
> **进度对账以 `docs/mvp/MVP进度总账.md`(单一事实源)为准**,本节只记本仓要点。
|
||
- [x] Phase 0 脚手架(Vite8+Vue3.5)+ 依赖装齐 + 空壳 build。
|
||
- [x] 三相 Workflow 并行建成(A1 地基 + A2 宿主引擎 ∥ → B1/B2/B3 业务页 ∥),60 文件。
|
||
- [x] 主 agent Phase C 验证门:`npm run build`+`vue-tsc -b` 绿(修复 A2 两处假绿类型 bug);`/browse` 实证玩家+创作双闭环、三方链路、ad 桩、遥测上报。
|
||
- [x] **4 个 contractGaps 已由契约 owner 在 Wave3 补齐**:publish 门禁明细(GAP-1 ProjectPublishRespVO) / GamePackage 取包端点(GAP-2 runtime manifestUrl) / ShareMeta versionId(GAP-3) / 遥测 snake→camel(GAP-4)。
|
||
- [x] **已 git 提交**(前端脊柱 `67ad750`)。
|
||
- [ ] **真实联调(staging:切 `VITE_API_BASE_URL` 接 mini-desktop 后端,5 条链路端到端走查)** ← 当前最高价值待办,见总账 §5「联调」。
|
||
- [ ] 安全测试补:postMessage 双校验"拒非法 origin/schema"独立验证。
|
||
- [ ] 可选:卡片点击热区扩大到整卡;mock 假数据品牌文案;srcdoc 生产收紧 origin。
|
||
|
||
## 验证门铁律(本仓特有,勿踩)
|
||
- **`vue-tsc --noEmit` 在本仓恒退 0 = 假门禁**(根 tsconfig files:[])。类型检查权威 = `npm run build`(含 `vue-tsc -b`)。
|
||
- mock 数据严格贴契约 YAML,发现缺口上报 contractGaps、**不私造契约**。
|