zizi 13b8a51e47 docs(t1-close): W-T1a 七步收口——引擎终裁LittleJS+模板双层架构拍板全量回填
七步对账(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>
2026-06-12 00:26:16 +00:00

46 lines
4.2 KiB
Plaintext
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.

# 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、**不私造契约**。