- 范围:全仓除已完成的 game-cloud/game-admin(及排除区);91 文件 - cn.iocoder.yudao→com.wanxiang.huijing / cn.wanxiang.game→com.wanxiang.huijing.game / cn.iocoder.cloud→com.wanxiang / Yudao*→Huijing* / bare yudao→huijing - 含 contracts/api-schemas(apiInterface FQCN)、docs/architecture+agent-specs(含中文名,git ls-files -z 修复)、AGENTS.md/CLAUDE.md 等根文档 - 保留不动:上游归属 URL(gitee/github yudaocode·YunaiV,改则断链+违反署名)、game-cloud Flyway 迁移注释(保 checksum)、lockfile(装包重生) - 纯文档/字符串,零构建影响(game-cloud/game-admin 字节码未动) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
46 lines
4.7 KiB
Plaintext
46 lines
4.7 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,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 包 `com.wanxiang.huijing.game`、SDK `WanxiangGameSDK`、postMessage channel `wanxiang-game-sdk`,与契约 `contracts/` 一致。原 `huijing` 已彻底淘汰(除 git 历史)。仅 huijing 框架 `com.wanxiang.huijing` + Maven groupId `com.wanxiang` 保留不动。
|
||
|
||
## 目录(已建,互斥工位产出)
|
||
```
|
||
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、**不私造契约**。
|