46 lines
4.7 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,1.x 存量)将由「**LittleJS 增强发行版 + Runner v2**」取代(终裁包 `docs/agent-specs/2026-06-11-T1引擎终裁包.md`;约束=三层框架,15KB 红线已废除)。~~模板双层架构〔核心代码模板/玩法模板〕~~ **已废除**——模板=LittleJS 能力插件/二次开发件,玩法/美术/关卡/UI=agent 生成域(好玩基线 v2 改挂评估门);旧 4 玩法模板+存量数据已清(W-CLEAN)。W-T1b 建设中,存量 1.x(自研壳+srcdoc 注入)双轨冻结只修 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;Tier1 引擎 = ~~自研 Canvas Runtime(<15KB)~~ → **LittleJS 增强发行版 + Runner v2**(2026-06-12 终裁,见上方横幅;存量 1.x 自研壳冻结) + 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/ 〔1.x 存量·冻结〕自研 Canvas Runtime(实测 3.5KB) + demo clicker —— Tier1 引擎已终裁改 LittleJS+Runner v2(见顶部横幅),本目录待 W-T1b 替换
│ └── 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、**不私造契约**。