[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"news-detail-zh-2107484110510338050":3,"mdc--jxnw3g-key":17},{"source":4,"notFound":5,"item":6},"upstream",false,{"id":7,"title":8,"summary":9,"coverImage":10,"categoryId":11,"publishDate":12,"viewCount":13,"author":14,"body":15,"bodyFormat":16},"2107484110510338050","好游科技 2026 年中业务进展与下半年规划公告","2026 上半年工具矩阵与内容平台双线推进：月活跃用户突破 80 万，7 个版本迭代，下半年聚焦出海、开放与提效三大方向。222","https:\u002F\u002Fapi.unimgr.com\u002Fapp-api\u002Ffile\u002Fstorage\u002Fperm\u002F6a44d3a07797d42af6ce720e208366a9","2107481625612558337",1791165600000,74,"公司运营部","# Agent 可编程技术栈选型（唯一版 · 2026-10）\n### 五轮追问合并：存量工程 → 新项目 → 多端一次导出 → 全自建 → LayaAir vs Cocos 对比\n\n2026-10-06 ｜ 本文件是以下五篇的**唯一留存版**，原五篇已并入此处并删除（归档见交付说明）：\n\n| 篇 | 原文件名 | 回答的问题 |\n|---|---|---|\n| 1 | `agent-tech-stack-review-2026-10.md` | 存量工程（Cocos 2.4.15）为什么难被 agent 编程，能救到哪一步 |\n| 2 | `agent-first-stacks-new-project-2026-10.md` | 只看新项目，哪些栈能全 agent 编程 |\n| 3 | `agent-plus-multiplatform-stacks-2026-10.md` | AI 全编码 ∩ 一次导出七端，交集还剩什么 |\n| 4 | `code-first-selfbuilt-multiplatform-2026-10.md` | 代码优先＋全部自建，能不能做到全平台 |\n| 5 | `layaair-vs-cocos-对比审查报告-2026-10.md` | LayaAir 与 Cocos 逐条对比，新项目该选谁 |\n\n编号约定：判据 C1–C10；决策 D1–D73（跨篇连续，编号不重复）；证据标注 `[实测]`\u002F`[文档]`\u002F`[推论]` 各篇自注。\n\n\n---\n\n# 第 1 篇 · 可被 AI Agent 全面编程的游戏技术栈梳理（微信小游戏为主目标）\n> 原文件：`docs\u002Fagent-tech-stack-review-2026-10.md`（已并入本篇）\n\n# 可被 AI Agent 全面编程的游戏技术栈梳理（微信小游戏为主目标）\n\n调研日期：2026-10-06 ｜ 适用工程：水泊风云录（Cocos Creator **2.4.15**）\n本文所有\"本机数字\"均为当场实测（命令见附录），所有\"外部事实\"均带来源链接；推测\u002F待验证项统一编号为 **D1…D10**。\n\n> **2026-10-06 追加**：本文＝第一代（**存量工程视角**：214 个 prefab 怎么办、三条路线 A\u002FB\u002FC）。新项目选型另出第二代稿 **`agent-first-stacks-new-project-2026-10.md`**（判据扩到 C1–C10、候选栈铺到 6 组、含资产管线与发布\u002F验证回路），其决策编号从 **D11** 起，与本文 D1–D10 不复用。\n\n---\n\n## 0. 速查结论（先看这一屏）\n\n**一句话**：你的判断需要修正一半——Cocos **2.4.15 确实没有 agent 通道**（无 MCP、场景真源是编辑器产出的 JSON），但 **Cocos Creator 3.8+ 已有第三方 MCP（Funplay，105 个工具，可直接读写 scene\u002Fprefab\u002Fcomponent）**；真正决定 agent 能不能干活的是\"真源是不是文本 + 有没有自检回路\"，其次才是引擎名字。\n\n| 栈 | Agent 改场景\u002F界面的能力 | 微信小游戏 | 多平台广度 | 对本工程的代价 | 定位 |\n|---|---|---|---|---|---|\n| **Phaser 4.2.1 + TS + Vite** | ★★★★★ 纯代码即场景，可无头自证 | ✅ 自维护 adapter（已有 MVP 案例） | 网页\u002F各小游戏需逐端 adapter | ⚠️ 全量重写（含 214 prefab 内容） | **新项目首选** |\n| **kaplay \u002F Excalibur \u002F Pixi8+ECS** | ★★★★★ 同上，体量小、语料少 | ✅ 同 adapter 路线 | 窄 | 全量重写 | 小项目\u002F原型 |\n| **Eva.js（阿里互动引擎）** | ★★★★☆ ECS + JSON 场景，无编辑器 | ⚠️ 主要面向淘宝\u002F支付宝互动，微信侧要自证 | 阿里系强，微信弱 | 全量重写 | 谨慎（社区 1782★） |\n| **Cocos Creator 3.8.x** | ★★★★☆ 走 MCP 通道（GUI 在场）+ 官方 CLI 构建 | ✅ 官方一键发布，最省事 | ✅✅ 最广（微信\u002F抖音\u002FQQ\u002F快手\u002F支付宝\u002FB站\u002FH5\u002F原生） | ⚠️ 2.x→3.x prefab 格式转换（D1） | **续命路线** |\n| **Cocos Creator 2.4.15（现状）** | ★★☆☆☆ 只能改 .ts；.prefab\u002F.fire 手改即脏 | ✅ 已跑通（含分包\u002F远程资源） | 同上（2.x 版本较老） | 0 | 只做局部改造 |\n| **LayaAir 3.x** | ★★★☆☆ 引擎开源、代码建场景可行，但发布依赖闭源 IDE | ✅ 官方文档齐 | 官方支持多端 | 全量重写 | 只有 3D 需求时看 |\n| **Godot 4 + 社区小游戏适配** | ★★★★☆ .tscn\u002F.gd 是纯文本，天然可 diff | ⚠️ 社区工具（Web 导出改造，≈20MB、仅 WebGL2） | 桌面\u002F移动强，小游戏非官方 | 全量重写 | 小游戏目标下**不推荐** |\n| **Unity \u002F 团结引擎（WebGL 转换）** | ★★★☆☆ 编辑器 MCP 很成熟（unity-mcp 14.7k★）但小游戏必须过 GUI 转换工具 | ✅ 官方转换链路 | 小游戏 + 原生 | 全量重写 + 版号\u002F审核流程 | **不推荐**（2D 重 UI 是它的短板） |\n| **Egret \u002F cocos2d-x 2-3 \u002F Hilo \u002F CreateJS** | — | — | — | — | **已停更，排除** |\n\n**我的建议（可推翻）**：不要为了 agent 而重写。走 **两段式**：\n1. **现在（0-2 周，留在 2.4.15）**：把\"UI 真源\"从 prefab 里搬出来 —— 工程已有 40 处 `new cc.Node`、46 处 `addComponent` 的代码建 UI 先例（`assets\u002Fscripts\u002Fui\u002FcommonTip\u002FProbDisclosure.ts:87,114,131`），把它升级为**声明式布局 DSL + 运行时构建**；再把**已经跑得通**的 `npm run typecheck`（实测 0 错误）接进 CI，并补无头 Chrome 截图回归。agent 立刻获得\"全面编程\"的 80%。\n2. **下一个新项目 \u002F 或本 project 的 v2**：直接 **Phaser 4 + TS + Vite + 自维护 weapp-adapter**，真源 100% 是文本，agent 可无人值守、可并行多子代理。\n3. **只有当你想让 agent 继续改存量 214 个 prefab** 时，才值得考虑升 3.8.x + Funplay MCP（注意：MCP 要求编辑器 GUI 打开，属于\"人在场\"模式，见 §2 的 Mode B）。\n\n---\n\n## 1. 为什么\"agent 改不动\"——本工程的实测病因\n\n| 指标 | 实测值 | 含义 |\n|---|---|---|\n| 场景文件 | **1 个** `assets\u002FScene\u002FHallScene.fire`，5402 B（只有 Canvas + Main Camera） | 场景本身几乎空，不是瓶颈 |\n| Prefab | **214 个 \u002F 4,440,599 B \u002F 249,238 行 JSON** | **内容的真正载体**，agent 的死角 |\n| ├ Spine 包装 prefab | 155 个 \u002F 50,227 行（`assets\u002Fbundles\u002Fbattle\u002Fspine\u002F*`，141 个含 `sp.Skeleton`） | 只是 `sp.Skeleton` 外壳，代码里一次初始化调用即可替代 |\n| └ UI 型 prefab | 58 个 \u002F 198,883 行（其中 **47 个**含 Button\u002FClickEvent\u002FWidget\u002FLabel\u002FScrollView\u002FToggle） | 真正需要重写\u002F迁移的面板只有 **约 47 个** |\n| 序列化组件统计 | `cc.Color` 3636 \u002F `cc.Size` 2093 \u002F `cc.Node` 2093 \u002F `cc.PrefabInfo` 2093 \u002F `cc.Sprite` 851 \u002F `cc.Label` 384 \u002F `cc.Widget` 240 \u002F `cc.Button` 138 \u002F `cc.ClickEvent` 169 \u002F `sp.Skeleton` 141 | **2093 个节点**摊在 47 个面板上 ≈ 45 节点\u002F面板，每个节点被拆成 4 段序列化块 |\n| TypeScript | **110 个文件 \u002F 30,924 行** | 目前 agent 唯一能安全操作的部分（≈内容总量的 11%） |\n| 最重的三个面板 | `UIShop.prefab` **30,951 行**、`UIBattle.prefab` 12,040 行、`UIHeroInfo.prefab` 10,979 行 | 改一个商店按钮 = 在 3 万行 JSON 里定位 `fileId` |\n| 引擎版本 | `project.json:4` → `2.4.15` | **2.x 无 MCP 生态**（Funplay 要求 3.8+） |\n| 依赖 | `node_modules` 只有 typescript\u002Ficonv-lite\u002Fsafer-buffer；`tsconfig.json:5-6` = `target: es5` + `experimentalDecorators`，**未开 strict** | 只有类型检查一层自证能力，且没接线（见下方根因 3） |\n\n**根因是三条，不是\"引擎不支持 AI\"：**\n1. **真源不是文本可读形式**：`.prefab` 虽是 JSON，但靠 `fileId`\u002F`_id`\u002Fuuid 互相引用，改错一个字符串就静默丢引用，且**人看不出 diff**；agent 没有可视化确认手段。\n2. **构建与预览必须 GUI**：`settings\u002Fwechatgame.json` + 构建面板产出 `build\u002Fwechatgame`，`tools\u002Fpost-build-wechat-subpackage.sh:27,43-48` 只是把 bundle 搬到 `subpackages\u002F{name}\u002F` 的后处理，且脚本自己就在 `:54` 要求\"请用微信开发者工具重新编译验证\"；agent 拿不到\"构建是否成功\"的退出码 → 无法闭环。\n3. **自检回路只建了一半**：`package.json` 已有 `typecheck`（`tsc --noEmit`），2026-10-06 实测**退出码 0、0 条错误**（本地 `node_modules` 带 typescript 5.9.3）；但 CI 只有两个 python 步骤（`.github\u002Fworkflows\u002Freskin-check.yml:23,26` = `validate_spine.py` + `scan_old_theme_residuals.py`），**没有 npm ci、没有 typecheck**；也没有 eslint、没有单测、没有截图回归。结论：agent 目前唯一可用的自证手段是类型检查，而且**没人把它接进回路里**。\n\n> 这三条**在 Cocos 2.4 里也能全部治**（见 §5 路线 A），所以\"要不要换栈\"其实是投入产出比问题，不是能力有无问题。\n\n---\n\n## 2. 判据：什么才算\"能被 agent 全面编程\"（7 条，按权重排序）\n\n| # | 判据 | 为什么 | 现状(2.4) | Phaser4 | Cocos3.8+MCP | Laya3 | Godot4 | Unity+小游戏 |\n|---|---|---|---|---|---|---|---|---|\n| C1 | **场景\u002F界面有纯文本真源**（代码或可手写 DSL，无不可读 ID） | agent 只能可靠编辑文本 | ❌ 89% 在 prefab JSON | ✅ | ⚠️ 文本但含 uuid | ⚠️ `.ls` 是 JSON，IDE 产出 | ✅ `.tscn` 可 diff | ⚠️ YAML+guid |\n| C2 | **不打开 GUI 就能构建出可运行包**（CLI 退出码可信） | 决定能否无人值守\u002FCI | ❌ D3 | ✅ vite build | ✅ 官方 CLI | ❌ IDE 发布 | ✅ headless export | ❌ 转换工具 GUI |\n| C3 | **能无头跑起来并截图**（agent 自证\"真的画对了\"） | 否则只能靠人眼验收 | ⚠️ web 构建+Chrome（D4） | ✅ Chrome\u002FPuppeteer | ⚠️ 同左 | ✅ | ✅ | ⚠️ |\n| C4 | **类型\u002F静态检查可当门禁**（TS strict、lint 能抓错） | agent 的第一道回路 | ⚠️ typecheck 实测 0 错误但**未进 CI**、无 eslint | ✅ | ✅ | ✅ | ❌ GDScript 弱 | ✅ C# |\n| C5 | **LLM 语料密度**（npm 周下载、star、文档站稳定度） | 决定幻觉率 | 中（中文语料多但 2.x API 已老化） | **极高**：phaser 545,951\u002F周、40,410★ | 高 | 中：2,204★ | 中 | 高 |\n| C6 | **一次可并行多改**（多子代理同时改不同面板不冲突） | 决定产能上限 | ❌ 二进制化 JSON 必冲突 | ✅ 按文件天然分片 | ❌ 编辑器单实例、MCP 串行 | ⚠️ | ✅ | ❌ |\n| C7 | **平台 SDK 差异被隔离在单层内**（wx\u002Ftt\u002Fqq\u002Fks 与广告\u002F支付\u002F开放数据域） | 换栈不重复踩坑 | ⚠️ 散落 | ⚠️ 需自建 | ✅ 官方导出层 | ✅ | ⚠️ | ⚠️ |\n\n**两种 agent 工作模式，必须先选一个：**\n- **Mode A｜文本真源直改**（对应 C1+C2+C3+C6）：agent 写 `.ts`\u002F`.tscn`\u002FDSL → CLI 构建 → 无头截图 → 断言。特点：**可无人值守、可并行、可回归**，代价是所有场景必须文本化。\n- **Mode B｜MCP 驱动编辑器**（Cocos Funplay \u002F unity-mcp \u002F godot-mcp）：agent 调工具在编辑器里建节点、挂组件、存 prefab。特点：**存量工程零重写**，但要求编辑器进程开着（HTTP 服务 `127.0.0.1:8765` 跑在编辑器内）、单实例串行、产出仍是二进制化 JSON（diff 噪声大、难以 code review）。\n- 结论性判断：**Mode A 是产能上限更高的那个**；Mode B 只是\"不想重写\"的补偿手段。你现在的痛苦本质是 Mode A 不成立，而 Mode B 也没有（2.4 无 MCP）。\n\n---\n\n## 3. 候选栈逐条说明（只写会影响决策的部分）\n\n### Phaser 4（MIT，v4.2.1，2026-07-09；40,410★，npm 545,951 次\u002F周）\n- **agent 友好度最高的现实选择**：场景=Scene 类里的代码，UI=自写布局函数；没有编辑器、没有 uuid，`tsc --noEmit` + `vite build` + Puppeteer 截图三件套全部命令行可得。\n- **微信小游戏已被验证**：2026-08 有开发者做出 \"Phaser4 in 微信小游戏 最小可行性验证\"，用**自写 `weapp-adapter.js`**（不依赖第三方库），需 patch 的点：npm 包导出方式、`document`\u002F`window` polyfill、`XMLHttpRequest`、真实 WebGL 上下文；作者结论\"无需降级\"。\n- **风险**：① Phaser **没有成套 UI 框架**（按钮\u002F滚动列表\u002F输入框\u002F富文本要么用社区 RexUI，要么自建）——而你的游戏是 **47 个面板、384 Label、138 Button、9 ScrollView、1 EditBox** 的重 UI 结构，这块是自付成本；② Spine 运行时（你有 141 个 `sp.Skeleton` 包装）在 Phaser 侧要走官方 spine-ts 运行时，资源可复用但要重接；③ 音频\u002F字体\u002F热更\u002F分包策略全部自己实现——你现在这层是 Cocos 内置的远程资源 + 手工后处理脚本（`settings\u002Fwechatgame.json:5`、`tools\u002Fpost-build-wechat-subpackage.sh`），换栈要整体重建。\n\n### Cocos Creator 3.8.x + MCP（升级路线）\n- **agent 通道确实存在**：Funplay MCP for Cocos（Cocos 商店 #8913）面向 **3.8+**，本质是**嵌在编辑器里的 HTTP 服务**（`http:\u002F\u002F127.0.0.1:8765`），让 AI 在 `scene`\u002F`editor` 上下文执行 JS，提供 **105 个工具**管理 node\u002Fprefab\u002Fcomponent，并有路径穿越等安全检查、限制在当前工程根目录。安装=把扩展放进工程 `extensions\u002F` 或编辑器菜单 \"Funplay > MCP Settings\"。商店里还有 #9469 \"Cocos Creator AI MCP 助手\"、#8586 \"Cocos Agent\"（页面 JS 渲染，本文**未能读到功能详情**，见 D2）。\n- **小游戏侧最省事**：官方发布链路 + 官方分包\u002F远程资源\u002F开放数据域支持；平台广度是所有候选里最广的（微信\u002F抖音\u002FQQ\u002F快手\u002F支付宝\u002FB站\u002FH5\u002F原生 App）。\n- **代价**：`.scene\u002F.prefab` 仍是 uuid 引用的 JSON，agent 直改文本依然危险（要靠 MCP）；MCP = **人在场、单实例、不可并行**；`extensions\u002F` 目前不存在于本工程，需新建。\n- **2.4.15 → 3.8 的迁移成本必须先量**：2.x 的 `.fire\u002F.prefab` 与 3.x 格式不兼容，`cc.*` 全局 API → `import from 'cc'`、组件生命周期与渲染管线全变。**官方 2.x→3.x prefab 迁移工具现状 = D1**（这条直接决定该路线是否可行；不要在没有结论前投入）。\n\n### LayaAir 3（引擎 MIT，2,204★，最近推送 2026-09-24）\n- 引擎源码开源、`.ls` 场景是 JSON 文本、可纯代码建场景；官方微信小游戏文档齐（adapter 为 `weapp-adapter.js`，分包在 IDE 里勾选）。\n- **卡点**：**IDE 闭源**，发布流程设计为在 IDE 里点，因此 C2\u002FC6（CLI 构建、并行）弱；社区体量与 LLM 语料明显小于 Phaser；2D 重 UI 生态一般。\n- 只有在**要做 3D** 或需要 Laya 的特定能力时才值得比。\n\n### Eva.js（阿里淘系互动引擎，MIT，1,782★，最近推送 2026-07-10）\n- 真 ECS + 纯代码\u002FJSON 场景，无编辑器依赖，agent 友好度结构上很好；双 11 级互动场景背书。\n- **卡点**：定位是**淘宝\u002F支付宝互动**，微信小游戏侧适配与生态证据薄；社区小 → LLM 对其 API 熟悉度低（**这是我的判断，不是实测**），生成代码幻觉率会高于 Phaser；文档\u002F示例中文为主但更新偏慢。\n- 若你未来主要投**淘宝\u002F支付宝小游戏**，它的优先级要重排。\n\n### Godot 4（+ 社区小游戏适配）\n- `Godot 场景文件 .tscn \u002F 脚本 .gd 都是纯文本`，是**唯一\"编辑器型但 Mode A 完全成立\"**的传统引擎（且 godot-mcp 生态也很热：最高 5,950★）。\n- **但小游戏是硬墙**：官方 Web 导出是 WASM+线程模型，微信小游戏不支持；现仅有社区工具把 **Godot 4.6.4 的 Web 导出**改造到微信\u002F抖音小游戏，MIT、**9★**、总包 ≈20MB、**仅 WebGL2**、不支持 EH。为\"尽可能多平台\"的目标选它＝把上线风险押在一个人的仓库上。**结论：排除。**\n\n### Unity \u002F 团结引擎（WebGL → 小游戏转换）\n- 反差最大的一格：**编辑器 MCP 生态最成熟**（`CoplayDev\u002Funity-mcp` **14,710★，最近推送 2026-10-06**，能管资源、控场景、改脚本、自动化任务；另有 unity-cli 315★、AnkleBreaker 268 工具的 UPM 插件）。\n- **但小游戏侧的约束正好打在你的游戏类型上**：官方转换链路**必须跑编辑器里的转换工具**（C2 不成立），内存\u002F字体（\u003C3MB）\u002F纹理限制明确，文档自己就指出 **2D 重 UI 游戏面临字体\u002F纹理限制**；个人主体虽可免版号发行，但要吃 Unity License + 转换包体优化一整摊事。**结论：为 agent 产能选 Unity 是本末倒置，排除。**\n\n### 已停更，别碰（避免被旧教程误导）\n- **Egret\u002F白鹭**：2022 年 2 月停止维护；微信官方引擎适配页仍写着 Cocos\u002FLaya\u002FEgret，是**历史文档**，不要据此选型。\n- **cocos2d-x v2\u002Fv3、Hilo（2016 后停更）、CreateJS、EaselJS**：同上，教程多、活着少。\n\n---\n\n## 4. 平台侧硬约束（换栈不会帮你绕过，选型时要一起算）\n\n- **包体**：主包 **4MB**；所有包合计 **≤30MB**；普通分包无单独上限，**独立分包 ≤4MB**；入口 `game.js`，代码与资源同包（微信官方分包文档）。→ 你现在靠 `REMOTE_SERVER_ROOT https:\u002F\u002Fdd.qthy.cc` 远程资源（`settings\u002Fwechatgame.json`）+ `tools\u002Fpost-build-wechat-subpackage.sh` 拆 `subpackages\u002Fbattle|common`，这套策略与引擎无关，**换栈要重建**（Phaser 侧=自己写 vite 插件产出分包结构）。\n- **适配层**：小游戏无 DOM\u002FBOM，`weapp-adapter` 模拟 `document\u002Fwindow\u002Fcanvas\u002FlocalStorage`；非 Cocos\u002FLaya\u002FEgret 的通用 H5 引擎都走这条路（微信官方引擎适配页）。已验证到 Phaser 4 可行（§3）。\n- **开放数据域**（好友排行榜等）：是**独立的 `openDataContext\u002Findex.js` 上下文**，不能与主包共享引擎实例——你已经在 `build-templates\u002Fwechatgame\u002FopenDataContext\u002Findex.js` 趟过了，换栈时这块**必然重写**，且 agent 只能靠真机验证（D5）。\n- **多平台（抖音\u002FQQ\u002F快手\u002F支付宝\u002FB站）**：API 高度同源，但广告\u002F支付\u002F实名 SDK 各端不同。\n  - Cocos\u002FLaya：**官方导出面板直接给多端**，这是它们对\"尽可能多平台\"的真实优势。\n  - Phaser\u002F自研：**要自己维护一个 `platform` 抽象层 + 各端 adapter**（我的估计：单端 1-3 人日，含真机调试；不是官方承诺）。\n- **审核\u002F版号**：与引擎无关，任何栈都要走软著\u002F版号或\"个人主体免版号\"路径。\n\n---\n\n## 5. 三条路线与代价（估时为**我的估计**，需你按团队实际校准 = D6）\n\n### 路线 A｜留在 2.4.15，把\"文本真源 + 自检回路\"补起来 —— **推荐起点**\n0 重写风险，2 周内让 agent 产能翻倍量级。四步，每步都有验收判据：\n\n| 步 | 做什么 | 验收判据（必须实测，不看文档） |\n|---|---|---|\n| A1 | **把已有但没接线的门禁接上**：`package.json` 的 `typecheck`（实测 0 错误）进 CI；补 `eslint`；CI 里加一条\"故意坏样本\"阳性对照 | 故意写坏一个 `.ts`，CI 必须红；恢复后必须绿 |\n| A2 | **UI 声明式布局层**：定义 `LayoutNode = {type, name, children, ...}`，运行时用 `new cc.Node\u002FaddComponent` 构建（沿用 `ProbDisclosure.ts:87,114,131,141`、`UIBattle.ts:582,1120,1126` 已有写法）；新面板一律不建 prefab | 新面板的真源只有 `.ts`；agent 能在无编辑器条件下改出一个完整弹窗 |\n| A3 | **Spine 真源瘦身**：155 个 spine 包装 prefab（50,227 行）→ 一次 `sp.Skeleton` 初始化函数 + 一张\"英雄\u002F怪\u002F技能\u002F子弹 → sku 名 + 默认皮肤\"表（进你现有 `config_tables.xlsx` 管线） | 删除这 155 个 prefab 后，战斗\u002F主页动画逐项过；`git ls-files` 里 prefab 数从 214 → 59 |\n| A4 | **构建\u002F预览脚本化 + 无头截图**：产出 web 包，用 Puppeteer 打开并截 5 个主面板；（2.4 CLI 构建现状见 D3） | 一条命令从源码到截图，退出码可信；截图能进 review |\n\n> A2\u002FA3 做完的实际效果：**198,883 + 50,227 行的 JSON 里，真正需要人\u002Fagent 读的部分变成 ~1 万行 `.ts`**，agent 从\"改不动\"变成\"主力劳动力\"。\n\n### 路线 B｜升 Cocos Creator 3.8.x + Funplay MCP（Mode B）\n- 收益：agent 能直接操作存量 scene\u002Fprefab；多平台官方导出；分包\u002F远程资源现成。\n- 前置：**D1（2.x prefab 能否自动迁移）必须先有结论**，否则等于用 47 个面板 + 155 个 spine 包装的重做量去换一条 MCP 通道。\n- 上线代价：MCP 要求编辑器 GUI 在场、单实例，agent **不能并行**，产出仍是 uuid JSON，review 困难；扩展装进 `extensions\u002F`（本工程目前**没有** `extensions\u002F`，只有 `packages\u002F` 下三个 ai-* 扩展：`ai-asset-pipeline` \u002F `ai-asset-studio` \u002F `ai-game-audio-forge`，它们是否仍可用也要确认 = D7）。\n\n### 路线 C｜Phaser 4 + TS + Vite（Mode A 满分，新项目\u002Fv2 才做）\n- 收益：C1-C7 全绿；场景\u002F界面\u002F战斗逻辑全部文本真源；agent 可并行分片、可无人值守跑构建与截图回归；LLM 语料最厚（545,951 次\u002F周）→ 幻觉率低。\n- 你要自付的清单（**按你的实际内容量列**）：UI 组件层（47 面板 \u002F 384 Label \u002F 138 Button \u002F 9 ScrollView \u002F 1 EditBox）、Spine 接入（141 个骨架）、`weapp-adapter`（4 类 patch：npm 导出 \u002F document+window \u002F XHR \u002F WebGL 上下文）、分包与远程资源、热更、开放数据域、各端 SDK、音频与字体子集化。\n- **明确不建议**：为了 agent 产能把现有工程整体重写。§1 的数据说明产能瓶颈在\"真源不是文本\"，这在路线 A 里就能解决。\n\n---\n\n## 6. 待确认清单（请你点选\u002F答复；未答复我按括号内默认值自决）\n\n| # | 问题 | 默认值（你不答时我这么做） |\n|---|---|---|\n| D1 | 是否有渠道验证 Cocos 2.4.15 prefab → 3.8 的迁移工具实际效果（尤其 47 个 UI 面板）？ | 按\"无法自动迁移、需全量重做\"评估，路线 B 判负 |\n| D2 | 是否允许试用 Cocos 商店的 Funplay MCP \u002F #9469 \u002F #8586（均需编辑器 GUI、部分可能收费）？ | 不试用，路线 B 不启动 |\n| D3 | 本机是否已有 Cocos Creator 2.4 编辑器可执行文件，能试 `--project\u002F--build` 命令行构建？ | 假定不可用，A4 退化为\"agent 只改源、人点构建\" |\n| D4 | web 平台构建能否在纯 Chrome（无小游戏环境）跑通全部逻辑（有无 `wx.*` 硬依赖）？ | 假定有依赖，A4 里加一层 `wx` mock |\n| D5 | 是否有真机可用以验证开放数据域\u002F广告\u002F支付？ | 把这些验收标为\"仅人工，不进 agent 回路\" |\n| D6 | 路线 A 的四步估时（我按 0.5\u002F1.5\u002F1\u002F1 周估）与你的排期是否冲突？ | 按我的估时排 |\n| D7 | `packages\u002F` 下三个 ai-* 扩展（2.4 面板式）现在还在用吗？能不能承担素材管线自动化？ | 视为在用，A 阶段不动它们 |\n| D8 | 是否真的需要 3D\u002F多端中的\"原生 App\"？（会改变 B 与 C 的分值） | 只按\"微信 + 尽可能多多端小游戏\"算 |\n| D9 | Phaser 路线要不要做（作为 v2 或另一个小项目立项）？ | 只做技术预研 spike（1 个面板 + 1 个战斗场景），不立项 |\n| D10 | `docs\u002Fbuild-and-hotupdate-guide.md:60,113` 的\"目标平台未定\u002F包体上限未定\"口径要不要按现状（已配 wechatgame + 主包 4M\u002F总包 30M）改写？ | 不改别人文档，只在本次选型里按实测口径走 |\n\n---\n\n## 附录 A：本机实测命令与数字（2026-10-06）\n\n```bash\n# 引擎版本：project.json:4 -> \"version\":\"2.4.15\"\nfind assets -name '*.prefab' -printf '%h\\n' | sort | uniq -c | sort -rn   # 214 个，spine 目录占 155\ngrep -rhoE '\"__type__\": ?\"[A-Za-z][A-Za-z.]*\"' assets --include=*.prefab | sed -E 's\u002F.*\"([A-Za-z][A-Za-z.]*)\"$\u002F\\1\u002F' | sort | uniq -c | sort -rn\n# -> cc.Color 3636 \u002F cc.Size 2093 \u002F cc.Node 2093 \u002F cc.PrefabInfo 2093 \u002F cc.Sprite 851 \u002F cc.Label 384\n# -> cc.Widget 240 \u002F cc.Prefab 214 \u002F cc.ClickEvent 169 \u002F sp.Skeleton 141 \u002F cc.Button 138 \u002F cc.ProgressBar 65\ngrep -rlE '\"__type__\": ?\"(cc\\.Button|cc\\.ClickEvent|cc\\.Widget|cc\\.Label|cc\\.ScrollView|cc\\.Toggle)\"' assets --include=*.prefab | wc -l  # 47\nfind assets -name '*.prefab' -exec cat {} + | wc -l       # 249238 行\nfind assets -name '*.prefab' -not -path '*spine*' -exec cat {} + | wc -l   # 198883 行（58 个）\nfind assets\u002Fscripts -name '*.ts' | wc -l ; find assets\u002Fscripts -name '*.ts' -exec cat {} + | wc -l  # 110 \u002F 30924\nfor p in 'new cc.Node' 'addComponent' 'cc.instantiate'; do printf '%s ' \"$p\"; grep -roh -- \"$p\" assets\u002Fscripts --include=*.ts | wc -l; done   # 40 \u002F 46 \u002F 36（按出现次数，不是行数）→ 代码建 UI 已有大量先例\nnpm run typecheck; echo \"exit=$?\"      # 实测 exit=0、0 条错误（typescript 5.9.3 在 node_modules 里）\ngit log --oneline | wc -l; git status --porcelain | wc -l   # 11 \u002F 104（工程已是 git 仓库，且有在途改动）\n```\n关键文件：`project.json:4`（2.4.15）、`tsconfig.json:5-6`（target es5、无 strict）、`settings\u002Fwechatgame.json:2,5,7`（appid wx9632ab7f64e42bf0 \u002F REMOTE_SERVER_ROOT https:\u002F\u002Fdd.qthy.cc \u002F startSceneAssetBundle true）、`build-templates\u002Fwechatgame\u002F{game.json,main.js,project.config.json,openDataContext\u002Findex.js}`、分包后处理 `tools\u002Fpost-build-wechat-subpackage.sh:27,43-48,54`（搬到 `subpackages\u002F{name}\u002F`，脚本结尾仍要求\"用微信开发者工具重新编译验证\"= 人在场）、配置解包 `export_config.py:29,32,94-96` → `config_export\u002F*.json`、产物 `assets\u002Fresources\u002Fdataconfig\u002Fallconfig.bin`（695,761 B，**实测 27 条目**）、代码建 UI 先例 `assets\u002Fscripts\u002Fui\u002FcommonTip\u002FProbDisclosure.ts:87,114,131,141`、`assets\u002Fscripts\u002Fui\u002FUIBattle.ts:582,1120,1126`。\n> **纠偏（重要）**：`export_config.py` 的 `shutil.rmtree()` 删 xlsx 唯一源是**旧缺陷，现已修复**——代码里 `rmtree` 只出现在变更记录注释 `:8` 与 `:14-15` 的修复说明中，活代码走\"备份上一版 json 到 `config_export\u002F_prev_json_\u003Cts>\u002F` + `extractall` 不删其它文件\"（`:39,92-96`）。今后任何文档\u002F记忆再引用\"会永久删 xlsx\"这条，属于旧口径。\n> 同类过期口径（2026-10-06 实测已推翻 2026-10-05 审查基线中的两条）：① \"无 node_modules、`npm run typecheck` 跑不起来\" —— 现在 `node_modules` 里有 typescript 5.9.3，`npm run typecheck` **退出码 0、0 条错误**；② \"工程不是 git 仓库\" —— `shuihu-master\u002F.git` 存在，`git log` **11 条提交**，当前工作区有 **104 项改动\u002F未跟踪**（＝有在途工作，本次调研全程只读、不提交）。\n> 另一处不一致（本文不改别人文档，仅登记）：① `shuihu-master\u002Fdocs\u002FREADME.md:4,12,152` 写 \"Cocos Creator 2.4.13\"，实测 `project.json:4` 为 **2.4.15**；② `shuihu-master\u002Fdocs\u002Fbuild-and-hotupdate-guide.md:60,113` 仍写\"目标发行平台未定（待办 1.6）、包体上限未定（待办 1.8）\"，而 `settings\u002Fwechatgame.json` 已配好小游戏 appid —— 见 D10。\n\n## 附录 B：外部事实来源\n\n- 微信小游戏分包\u002F包体上限：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fbase-ability\u002FsubPackage\u002FuseSubPackage.html>（主包 4M \u002F 总包 ≤30M \u002F 独立分包 ≤4M）\n- 引擎适配（Cocos\u002FLaya\u002FEgret + adapter 模拟 BOM\u002FDOM，通用 H5 引擎走此路）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcocos-laya-egret.html>\n- Phaser 4 跑通微信小游戏的最小可行性验证（自写 weapp-adapter、patch 点、\"无需降级\"）：\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7672283918332706862>（2026-08）\n- Phaser 版本与维护：\u003Chttps:\u002F\u002Fgithub.com\u002Fphaserjs\u002Fphaser\u002Freleases>（v4.2.1，2026-07-09）、GitHub API：40,410★ \u002F 最近推送 2026-08-21 \u002F MIT；npm 周下载 545,951\n- Cocos Creator 3.8 的 MCP 通道（3.8+、105 工具、编辑器内 HTTP `127.0.0.1:8765`、extensions 安装、安全检查）：\u003Chttps:\u002F\u002Fcloud.tencent.com\u002Fdeveloper\u002Farticle\u002F2736077>；商店条目 \u003Chttps:\u002F\u002Fstore.cocos.com\u002Fdashboard\u002Fdetail\u002F8913>、\u003Chttps:\u002F\u002Fstore.cocos.com\u002Fapp\u002Fdetail\u002F9469>、\u003Chttps:\u002F\u002Fstore.cocos.com\u002Fapp\u002Fdetail\u002F8586>\n- Unity WebGL → 小游戏技术 QA（需编辑器转换工具、内存\u002F字体限制、2D 重 UI 短板）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Funity-webgl-transform\u002FDesign\u002FDevelopmentQAList>；Unity 编辑器 MCP 生态：\u003Chttps:\u002F\u002Fgithub.com\u002FCoplayDev\u002Funity-mcp>（14,710★，2026-10-06 仍在推）\n- Godot → 微信\u002F抖音小游戏社区适配（Godot 4.6.4 Web 导出、≈20MB、仅 WebGL2、9★）：\u003Chttps:\u002F\u002Fgithub.com\u002Fmkdevkit\u002Fgodot-minigame>\n- LayaAir 3 微信小游戏发布（IDE 发布、`.ls` 场景、`weapp-adapter.js`、IDE 勾选分包）：\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Freleased\u002Fminigame\u002Fwechat\u002F>；引擎仓库 \u003Chttps:\u002F\u002Fgithub.com\u002Flayabox\u002FLayaAir>（MIT，2,204★，2026-09-24）\n- Eva.js 仓库 \u003Chttps:\u002F\u002Fgithub.com\u002Feva-engine\u002Feva.js>（MIT，1,782★，2026-07-10）；背景 \u003Chttps:\u002F\u002Fdeveloper.aliyun.com\u002Farticle\u002F786429>\n- 停更引擎盘点（Egret 2022-02 停维护、Hilo、cocos2d-x v2\u002Fv3）：\u003Chttps:\u002F\u002Fnews.17173.com\u002Fcontent\u002F04042026\u002F163835087.shtml>\n- Cocos Creator 发布到微信小游戏手册（3.8 提到\"命令行发布项目\"）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-wechatgame.html>；2.4 手册页只链接了另一份 CLI 指南，**未确认 2.4 的 CLI 构建能力**（= D3）\n\n---\n\n# 第 2 篇 · 新项目 · Agent 优先技术栈全清单（主目标：微信小游戏）\n> 原文件：`docs\u002Fagent-first-stacks-new-project-2026-10.md`（已并入本篇）\n\n# 新项目 · Agent 优先技术栈全清单（主目标：微信小游戏）\n\n**版本 v2（只看新项目）** ｜ 2026-10-06 ｜ 上一代：`agent-tech-stack-review-2026-10.md`（那份管\"存量 Cocos 2.4.15 工程怎么办\"，本文管\"从零立项选什么\"）\n> **2026-10-06 第三次追加（重要更正）**：后续实测把本文三处口径改掉了——① **COCOS 4 已于 2025-12-30 公布、彻底 MIT 开源、官方按\"MCP\u002FAgent 交付逻辑\"重做并 CLI 化**，但小游戏各端适配官方明说\"分阶段解锁\"；② **Cocos 3.8 的\"命令行发布项目\"要求图形会话**（文档原文），只给 macOS\u002FWindows 范例，Linux 无官方支持；③ Cocos\u002FLaya 的**官方渠道里没有 QQ 小游戏、快手小游戏、Bilibili、小米（Cocos 侧）**，所以\"多端一次导出\"必然有缺口。详见第三版 `agent-plus-multiplatform-stacks-2026-10.md`（决策编号 D25 起）。\n阅读门槛：本文默认你已经接受 **Mode A 工作流**＝真源全是文本 → 命令行构建 → 无头自证 → CI 出预览。凡 **Mode A 不成立的栈，一律不进推荐位**（只进\"可选\u002F排除\"表并注明原因）。\n标注规则：`[实测]` = 我这次亲自拉取并核对；`[代理查证]` = 调研子代理取证、我未逐条复测（URL 都在附录）；`[估]` = 我的估计，不是官方承诺。**决策编号从 D11 起，与上一代 D1–D10 不冲突。**\n\n---\n\n## 0. 速查（先看这一屏）\n\n**一句话**：新项目要\"agent 全面编程\"，最优解不是找一个\"支持 AI 的引擎\"，而是找一个**真源全是文本、且能在无 GUI 环境下自证**的组合。下表按品类给首选位，§3 再展开 **3 套可直接开工的配方**（含依赖清单与 agent 回路命令）。\n**默认栈**：TypeScript + Vite + PixiJS 8（重 UI）\u002F Phaser 4（重玩法）+ 纯 JS 物理 + LDtk 文本关卡 + Aseprite CLI 序列帧 + 自维护 `weapp-adapter` + `miniprogram-ci` 出预览。\n\n| 场景 | 首选栈 | 为什么是它 | 次选 |\n|---|---|---|---|\n| 重 UI 的 2D（塔防\u002F卡牌\u002F放置\u002F模拟经营） | **PixiJS 8.22.0 + @pixi\u002Fui 2.4.1** `[实测]` | 唯一\"渲染层现成 + UI 控件库官方在维护 + 全 MIT + 内置 TS 类型\"的组合；界面全部是 `.ts` | Phaser 4 + 自建控件层 |\n| 重玩法的 2D（动作\u002F弹幕\u002F射击\u002F物理解谜） | **Phaser 4.2.1** `[实测]` | LLM 语料最厚（npm 545,951\u002F周、40,410★）；场景＝代码；已有\"Phaser4 跑通微信小游戏\"的可行性验证 | PixiJS + 自研玩法层 |\n| 超休闲 \u002F 一周 demo | **kaplay** 或 **自研 Canvas2D + TS** | 真源最少、心智负担最低（kaplay 1,809★、2026-10-04 仍在推）`[实测]` | Excalibur、LittleJS |\n| 3D \u002F 2.5D | **three.js r186（自维护 adapter）** 或 **Babylon 9.29.0** | 两者都能纯代码建场景；three 语料碾压（24,326,206\u002F周 `[实测]`），Babylon 内置 TS 类型 + Apache-2.0 `[代理查证]` | PlayCanvas（若接受云编辑器） |\n| 必须\"多端一次导出\"（微信+抖音+QQ+快手+支付宝+H5+原生） | **Cocos Creator 3.8.x（代码优先用法）+ Funplay MCP 兜底** | 官方导出链路覆盖最广，平台 SDK 差异由引擎吃掉 | LayaAir 3 |\n\n**任何一条不满足就别选（硬门槛）**：① 场景\u002F界面有纯文本真源；② 不开 GUI 能构建出包；③ 能无头跑起来并截图断言；④ 依赖是 MIT\u002FApache 且可商用；⑤ 资产（动画\u002F地图\u002F音效）的真源也能文本编辑（§4）。\n\n---\n\n## 1. 判据（C1–C10，比上一代多 3 条）\n\n| # | 判据 | 新项目里的具体含义 |\n|---|---|---|\n| C1 | 场景\u002F界面无不可读 ID 的文本真源 | 没有 `.prefab`\u002F`.fire`\u002F`.unity` 这类 uuid 互引；界面是 `.ts`\u002F`.tsx`-like DSL 或可读 JSON |\n| C2 | 无 GUI 构建 | `vite build` \u002F 引擎 CLI 返回可信退出码；不要求开编辑器 |\n| C3 | 无头自证 | 同一份代码能在 Chromium（WebGL）里跑，截图 → 像素\u002F节点断言 |\n| C4 | 静态门禁 | TS `strict` + eslint；agent 第一道回路（`no-restricted-globals` 禁直连 `wx.*`，见 §6） |\n| C5 | LLM 语料密度 | npm 周下载 + star + 文档站稳定度；有学术证据：web game 智能体编码基准里 **Phaser 被选作目标引擎**（OpenGame, arXiv 2604.18394 `[代理查证]`） |\n| C6 | 可并行分片 | 多个子代理同时改不同面板\u002F关卡不打架（按文件天然分片） |\n| C7 | 平台 SDK 差异被单层隔离 | `platform\u002F` 目录内吸收 wx\u002Ftt\u002Fqq\u002Fks 差异 |\n| **C8** | **资产真源可文本编辑**（新） | 动画\u002F地图\u002F图集\u002F音效的工程文件要么是文本、要么只\"单向消费\"；见 §4 的可编辑性排序 |\n| **C9** | **发布\u002F验证回路可 CLI 化**（新） | `miniprogram-ci` 能无开发者工具出预览二维码与上传体验版 `[代理查证]`（我实测周下载 21,609 `[实测]`）；但**小游戏用不了 miniprogram-automator**（0.12.1，2023-11-06 后未更新 `[实测]`）→ 验收只能\"无头浏览器自证 + 真机人工\" |\n| **C10** | **依赖许可可商用、无 GPL 传染**（新） | `pixi.js`\u002F`@pixi\u002Fui`\u002F`phaser`\u002F`kaplay`\u002F`planck`\u002F`LDtk` 全 MIT `[实测\u002F代理查证]`；**Tiled 是 GPL**（工具 GPL 不传染你的地图数据，但要知道）；Spine\u002FRive\u002FLive2D 编辑器为**付费闭源** |\n\n> **给预期**：GameDevBench（arXiv 2602.11103 `[代理查证]`）报告智能体在 2D 游戏任务上解题率约 **33%**。也就是说 agent 不是全自动流水线，**上面 C1–C10 的全部意义就是把\"剩下 67% 的失败\"变成机器能当场发现的失败**。\n\n---\n\n## 2. 候选栈全景（6 组，尽量铺满）\n\n### A. 代码优先 2D 引擎（Mode A 天生满分）\n| 栈 | 版本\u002F许可\u002F热度 `[实测除非标注]` | agent 场景能力 | 小游戏路径 | 主要风险 |\n|---|---|---|---|---|\n| **Phaser 4** | 4.2.1（2026-07-09）／MIT／40,410★／545,951 次\u002F周 | ★★★★★ 场景=Scene 代码 | 官方 Adapter + 自写 `weapp-adapter.js`（已有人跑通） | **无成套 UI 控件**（RexUI 对 v4 的兼容＝D18）；v4 相对 v3 教程\u002F语料迁移期 |\n| **PixiJS 8 + @pixi\u002Fui** | pixi.js 8.22.0 MIT 1,502,200\u002F周；@pixi\u002Fui 2.4.1 MIT 21,482\u002F周，peer `pixi.js ^8.6.2`，只依赖 tweedle.js | ★★★★★ 界面=组件树代码 | Adapter + WebGL 渲染器（v8 默认探 WebGPU，小游戏里需强制 WebGL＝D19） | 玩法层（场景管理\u002F输入\u002F补间\u002F物理）要自己或第三方拼 |\n| **kaplay**（Kaboom 后继） | MIT／1,809★／2026-10-04 仍在推／9,593\u002F周 | ★★★★★ 声明式 API，代码量极小 | 纯 JS\u002FTS，走 Adapter | 社区小，重 UI 控件基本靠自建 |\n| **Excalibur.js** | MIT／14,986\u002F周（版本未复核 `[代理查证]`） | ★★★★★ | 同上 | 语料薄于 Phaser\u002FPixi |\n| **melonJS** | **未核实**：`melon.js` 包名在 npm 404，`melonjs` 未取到版本号 | ★★★★☆ | 未知 | 证据不足，暂不推荐 |\n| **LittleJS** | 宣称 12KB 单文件（**未核实**） | ★★★★★ | 未知 | 文档薄，agent 语料更少 |\n| **Eva.js**（阿里淘系） | MIT／1,782★／2026-07-10 | ★★★★☆ ECS+JSON 场景，无编辑器 | 面向淘宝\u002F支付宝互动为主，微信侧证据薄 | 社区与语料小，跨端要自证 |\n\n### B. 引擎型，但可被约束成\"代码优先\"\n| 栈 | 事实 | agent 能力 | 备注 |\n|---|---|---|---|\n| **Cocos Creator 3.8.x** | `cocos\u002Fcocos-engine` 9,846★／2026-09-21／License 非标准 SPDX `[实测]` | ★★★★☆（代码建节点 + CLI 构建；MCP 让 agent 能读写 scene\u002Fprefab） | **新项目纪律**：界面一律代码\u002FJSON 建，不许往编辑器里拖 prefab，否则退化成 Mode B。Funplay MCP = 3.8+、105 工具、编辑器内 HTTP `127.0.0.1:8765`（上一代文档已引） |\n| **LayaAir 3** | `layabox\u002FLayaAir` 2,204★／MIT／2026-09-24 `[实测]`；IDE 闭源 | ★★★☆☆ 引擎可纯代码，发布依赖 IDE | 多端官方导出是真优势；3D 需求时再排前 |\n| **Godot 4** | `.tscn\u002F.gd` 纯文本、godot-mcp 生态 5,950★ `[代理查证]` | ★★★★☆（脱离小游戏满分） | **小游戏是硬墙**：官方 Web 导出为 WASM+线程；社区适配 9★\u002F≈20MB\u002F仅 WebGL2 → 新项目主投小游戏则排除 |\n| **PlayCanvas** | 引擎 16,986★ MIT 2026-10-05；npm `playcanvas` 2.23.0 内置 d.ts 103,124\u002F周；编辑器仓库亦 MIT `[代理查证]` | ★★★★☆（可纯代码用引擎） | 官方手册仍以云编辑器为主流程，**能否完全离线发布未证** → 只有你接受\"引擎当库用\"才选 |\n\n### C. 3D \u002F 2.5D\n| 栈 | 事实 | 小游戏可行性 | 建议 |\n|---|---|---|---|\n| **three.js** | r186（2026-09-24）、`three` 0.186.1 MIT、**包内不含类型**（社区 `@types\u002Fthree` 0.186.0）、**24,326,206\u002F周** `[实测]` | 官方适配仓库 `wechat-miniprogram\u002Fthreejs-miniprogram` 799★、**末次推送 2023-05-22**、基于 r108 `[实测]` → **必须自己把 adapter 打到新版** | 首选；语料碾压，且 glTF 资产是文本（§4） |\n| **Babylon.js** | 9.29.0（2026-10-01）、`@babylonjs\u002Fcore` **Apache-2.0 + 内置 TS 类型**、434,846\u002F周；Inspector 自称\"诊断工具\"、官方 Editor 仓库 community-managed → **纯代码建场景成立** `[代理查证]` | **未找到官方\u002F社区小游戏适配文档**（只有 2020 踩坑帖）→ 风险最高 | 想要\"引擎自带全套（材质\u002F动画\u002F物理\u002F后处理）\"再选；spike 先行（D20） |\n| **A-Frame \u002F WebXR 类** | 面向 WebXR，非小游戏场景 | 无依据 | 排除 |\n\n### D. 无引擎 \u002F 官方轻量件（agent 自由度最高，但要自己搭）\n- **纯 `wx.createCanvas` + 自研渲染\u002FECS + TypeScript**：真源 100% 自己的代码，agent 无第三方 API 幻觉问题；代价是渲染器、图集、字体、补间、音频、调试面板全自研。**适合超休闲或你想长期沉淀自有引擎**（[估] 首版投入 3–6 人周）。\n- **`wechat-miniprogram\u002Fminigame-canvas-engine`** `[实测：312★／MIT／2026-09-10 仍在推]`：官方\"轻量 canvas 2D 渲染引擎 + **开放数据域**解决方案\"，用**组件树 + style 子集（纯文本配置）**描述 UI。→ 它是\"排行榜\u002F好友面板\"这类开放数据域 UI 的最佳 agent 友好载体（那里你本来就不能跑主引擎），也可当作轻量 UI 层的参考实现。\n\n### E. 支撑库（新项目要用，且必须\"纯 JS、无 WASM\"）\n| 用途 | 选它 | 事实 |\n|---|---|---|\n| 物理\u002F碰撞 | **planck 1.5.0**（内置类型）`[实测下载量 217,176\u002F周]`；备选 **matter-js 0.20.0**（MIT，2024-06-23，377,587\u002F周）、**cannon-es 0.20.0**（内置 d.ts，158,451\u002F周，但仓库末次提交 2024-01＝维护弱）`[代理查证]` | 都是纯 JS，小游戏可用 |\n| 物理（**排除**） | rapier（WASM） | `@dimforge\u002Frapier3d` 0.21.0 `[代理查证]`；而 `WXWebAssembly` 只有 `instantiate(path)`、**path 必须指向代码包内 .wasm\u002F.wasm.br**、基础库 2.13.0+、SIMD 需微信 8.0.25+、iOS 不支持 Global `[代理查证]` → 别把上线赌在这上面 |\n| 关卡\u002F地图 | **LDtk 1.5.3**（`.ldtk` 即 JSON，schema 公开，MIT，2026-01）；**Tiled 1.12.2**（TMX=XML，另有官方 JSON 格式与 CSV 图层数据，GPL，2026-05-27，有导出 CLI）`[代理查证]` | 两者 agent 都能直接生成\u002F改 |\n| 序列帧\u002F图集 | **Aseprite CLI v1.3.18.6**（`--batch --sheet --data` 出 PNG+JSON）；TexturePacker（CLI 存在，CI\u002FDocker 需 Pro）`[代理查证]` | `.ase` 是二进制 → 只当输入，产物 JSON 才进 agent 可改面 |\n| 音效 | **ZzFX\u002FZzFXM**（MIT，约 20 个数字参数＝完全文本真源）`[代理查证]`；播放层 Howler.js \u002F Tone.js；小游戏有 `wx.createWebAudioContext` `[代理查证]` | 最终仍要烘焙成官方建议的 mp3\u002Faac |\n| 构建\u002F测试 | Vite + esbuild + TypeScript(strict) + Vitest + Playwright\u002FPuppeteer(Chromium WebGL) | 全命令行，退出码可信，agent 闭环的地基 |\n\n### F. 新项目也别碰（理由各一句）\nEgret（2022-02 停维护）· cocos2d-x v2\u002Fv3、Hilo（2016 后停更）、CreateJS\u002FEaselJS · Defold\u002FLibreFX 等需自编 WASM 的桌面系 · **Godot 主投小游戏**（社区适配 9★）· **Unity\u002F团结为 agent 产能而上**（转换链路必须 GUI，且官方 QA 自陈 2D 重 UI 面临字体\u002F纹理限制；团结小游戏文档自陈 WASM 单线程、无 SIMD、iOS 内存受限 `[代理查证]`）· **Spine\u002FRive\u002FLive2D 工程文件当\"agent 可改真源\"**（全是二进制或闭源 GUI）。\n\n---\n\n## 3. 三套可直接开工的配方（含 agent 回路）\n\n### 配方①「重 UI 2D」——塔防\u002F卡牌\u002F放置\u002F经营（对应你这类项目的默认解）\n```\ncore:   Vite + TypeScript(strict) + PixiJS 8.22.0 + @pixi\u002Fui 2.4.1(MIT)\n逻辑:   自研 Entity-Component（或 miniplex，纯 TS）\n关卡:   LDtk(.ldtk=JSON) → 编译进 src\u002Flevels\u002F*.ldtk（agent 直接写）\n动画:   Aseprite CLI 出 PNG+JSON 图集；程序化补间用 tweedle.js\n音频:   ZzFX 参数数组(.ts) → 构建期烘焙 mp3\u002Faac\n平台:   src\u002Fplatform\u002F{wx,tt,qq,ks}.ts + eslint 禁业务层直连 wx.*\n小游戏: 自维护 weapp-adapter.js（patch: document\u002Fwindow、XHR、Image、canvas 创建、WebGL 上下文）\n回路:   tsc --noEmit → eslint → vitest → playwright 截图断言 → vite build --mode wxgame → miniprogram-ci preview\n```\n- agent 干得了：整块界面、组件树、关卡 JSON、数值表、单测、素材命名对齐（因为全是文本）。\n- 人必须干：真机手感、审核、开放数据域联调、性能（iOS 内存）。\n- 里程碑 [估]：第 1 周把回路跑通（能构建+截图+出预览码）；第 2–3 周把 5 个核心面板与 1 个战斗场景做完；第 4 周起 agent 可并行铺量。\n\n### 配方②「重玩法 2D」——动作\u002F弹幕\u002F射击\u002F物理解谜\n```\ncore:   Vite + TypeScript(strict) + Phaser 4.2.1\n物理:   planck 1.5.0 或 matter-js（Phaser 自带的 matter 版本较旧，需确认）\n地图:   Tiled（TMX\u002FXML 或 JSON，agent 可写；有导出 CLI）\nUI:     自建控件层（按钮\u002F列表\u002F九宫格），或 RexUI（兼容性＝D18）\n回路:   同配方①\n```\n- 为什么语料密度在这里最关键：玩法代码量大、API 面广，LLM 对 Phaser 的熟悉度是所有 JS 引擎里最高的（40,410★\u002F545,951 次\u002F周 `[实测]`，且学术基准 OpenGame 直接选它作目标引擎 `[代理查证]`）。\n\n### 配方③「多端一次导出」——上线窗口紧、渠道多、老板要\"微信+抖音+快手+支付宝+H5+App\"\n```\ncore:   Cocos Creator 3.8.x + TypeScript，但强制\"代码优先\"纪律：\n        - 界面\u002F战场节点一律 new Node()\u002FaddComponent 建（禁止 prefab 拖拽，\n          或只允许\" prefab 当纯资源壳、真源字段全在 .ts\"）\n        - 关卡与数值走 JSON（沿用你已验证的 allconfig 式管线，但真源用 CSV\u002FJSON 而非 xlsx）\n兜底:   Funplay MCP（3.8+，105 工具）→ 仅用于\"必须动存量 scene\u002Fprefab\"的偶发场景\n回路:   引擎 CLI 构建 → 无头浏览器\u002Fweb 包截图 → miniprogram-ci preview\u002Fupload（各端各自的 CLI：微信 miniprogram-ci、抖音 tt-minigame-ide-cli）\n```\n- 代价：C2\u002FC6 弱于①②（编辑器在场、二进制化 JSON 的 diff 噪声），agent 产能天花板低于 Mode A。\n- 收益：平台 SDK、分包、远程资源、开放数据域这些\"脏活\"由官方吃掉；你要做的不是引擎而是**纪律**。\n\n---\n\n## 4. 资产管线：新项目最容易踩、也最致命的一坑（C8）\n\n**可编辑性排序（结论）**：\n```\n可 agent 直接读写  ▸  LDtk(.ldtk=JSON) ≈ Tiled(TMX\u002FXML 或 JSON) ≈ .gltf(JSON) ≈\n                      序列帧 PNG + 图集 JSON（Aseprite\u002FTexturePacker 产物） ≈\n                      ZzFX\u002Fjsfxr 参数数组 ≈ Live2D 的 .model3\u002F.motion3\u002F.physics3.json\n只可\"单向消费\"     ▸  Spine 导出的 skeleton JSON（官方有格式文档，可读、可脚本生成，\n                      但官方论坛明确：靠数据文件重建工程风险极大；.spine 是专有二进制）\n                      DragonBones 导出 JSON（编辑器近乎停更，PRO 仓库 404，社区续作 LoongBones）\nagent 完全改不动   ▸  Rive .riv（二进制＋闭源编辑器）· Aseprite .ase · Spine .spine ·\n                      Live2D .cmo3\u002F.can3\u002F.moc3 · .glb（二进制；且 Draco\u002FMeshopt 压缩后\n                      几何连结构层都不能靠文本改）\n```\n**三条立项规则**：\n1. **动画方案按\"agent 能不能改\"选**：默认走**序列帧 + JSON 图集 + 程序化补间**（完全文本）；骨骼动画只在确实需要时用 Spine，并把它的 skeleton JSON 当**只读输入**（美术在 Spine 里改，agent 只消费与装配），绝不让 agent 去写 `.spine`。\n2. **数值\u002F关卡真源用 CSV\u002FJSON，不用 xlsx**：xlsx 是二进制（[实测] 你现在 `config_tables.xlsx` → `allconfig.bin` 的管线里，xlsx 与 json 已出现 10\u002F191\u002F924\u002F13927 行漂移的历史教训）；新项目把表拆成 CSV\u002FJSON 进 git，构建期编译成运行时格式，agent 才能安全改数值。\n3. **3D 用 .gltf 不用 .glb**（进版本库的那一份）；压缩（Draco\u002FMeshopt）只在构建产物阶段施加，别把压缩版当源。\n\n---\n\n## 5. 验证与发布回路（C9：决定能不能\"无人值守\"）\n\n| 环节 | 能做什么 | 事实与坑 |\n|---|---|---|\n| 构建 | `vite build` → `dist\u002F` + 小游戏包结构（`game.js\u002Fgame.json`） | 全命令行，退出码可信；分包\u002F远程资源要自建插件产出 `subpackages\u002F*` |\n| 无头自证 | Playwright\u002FPuppeteer 打开 web 构建，取 canvas 截图、跑 DOM-less 断言 | **这是 agent 的主力验收**；小游戏专属 API 用 `wx` mock；WebGPU 需回退 WebGL（D19） |\n| 出预览 | **`miniprogram-ci`**：`preview` 生成二维码、`upload` 传体验版，**无需安装\u002F打开开发者工具**，需\"代码上传密钥 + IP 白名单\" | 2.1.31（2024-11-12）`[代理查证]`，周下载 21,609 `[实测]`；文档在小游戏树下 |\n| 自动化操作真机模拟器 | `miniprogram-automator` | ⚠️ **官方文档只声明支持\"小程序\"**；小游戏树下的 auto 页复用的是小程序 API（`pageStack`\u002F`navigateTo` 在小游戏不存在）；0.12.1 且发布于 2023-11-06 `[实测]` → **不要把验收押它上面**，除非 D17 spike 证明可用 |\n| 开发者工具 CLI | `open\u002Fpreview\u002Fupload\u002Fauto`、`--auto-port`，需在工具里开启服务端口 | **只有 macOS(`Contents\u002FMacOS\u002Fcli`) 与 Windows(`cli.bat`)，文档无 Linux** `[代理查证]` → CI 别设计\"自动开工具\"；无 GUI 容器跑小游戏**无官方依据** |\n| 抖音侧 | 官方 npm **`tt-minigame-ide-cli`**（bin `tmg`：login\u002Fpreview\u002Fupload） | 2.1.1，周下载仅 258 `[代理查证]`；**未找到官方自动化 SDK**；`tt`\u002F`wx` 差异无官方对照表（D21） |\n| 包体红线 | 主包 **4MB**／总包 **≤30MB**／独立分包 **≤4MB** `[实测·官方文档]` | 与引擎无关；远程资源\u002FCMS 素材从第一天就设计进去 |\n\n**推荐的 agent 门禁顺序**（每一步失败都要响亮，不许静默）：\n`tsc --noEmit` → `eslint`（含\"业务层禁直连 wx\"规则）→ `vitest run` → `playwright 截图 + 像素断言` → `vite build` → `miniprogram-ci preview`（人扫码）。\n\n---\n\n## 6. 多平台策略（\"尽可能多平台\"的真实代价）\n\n| 目标端 | 引擎\u002F官方支持 | 代码优先栈（Phaser\u002FPixi\u002Fthree）要做的 |\n|---|---|---|\n| 微信小游戏 | 全栈可行 | 自维护 `weapp-adapter`：官方 Adapter 页提供 `weapp-adapter.zip`（模拟 `createElement`\u002F`Image` 等，非基础库需自行引入）`[代理查证]` |\n| 抖音小游戏 | Cocos\u002FLaya 官方；官方 Adapter 页存在 | 复用同一套 shim（`tt.*` 与 `wx.*` 高度同源）+ `tmg` CLI 出预览 |\n| QQ\u002F快手\u002FB站\u002F支付宝\u002F美团 | Cocos\u002FLaya 官方导出面板给多端 | 各端 adapter + 各自 CLI\u002F上传方式；[估] 单端 1–3 人日（含真机调试） |\n| H5 \u002F Web | 全栈天然支持 | 零成本（且这是无头自证的入口） |\n| 原生 App | Cocos\u002FLaya\u002FUnity 官方；JS 引擎需 webview 套壳 | 套壳会引入新坑，除非必须否则别承诺 |\n\n**纪律（一次定，永久省）**：把平台 API 关进 `src\u002Fplatform\u002F`，并用 eslint `no-restricted-globals`\u002F`no-restricted-syntax` 禁止业务代码直接摸 `wx`\u002F`tt`——否则\"多端\"会在半年后变成\"每个功能改 5 处\"。\n**运行时约束备忘**（`[代理查证]`，来自官方文档）：小游戏无 DOM\u002FBOM、无全局 `document`\u002F`window`、入口 `game.js\u002Fgame.json`、`GameGlobal` 为全局、canvas 由 `wx.createCanvas` 取得、支持 Worker（`createWorker`，V2 有独立规则）、API 索引里**没有 `createSelectorQuery`**；官方对非 Cocos\u002FLaya\u002FEgret 的通用路径就是 Adapter 替换 BOM\u002FDOM，另有面向 WASM\u002FEmscripten 的\"通用引擎适配方案\"页。\n\n---\n\n## 7. 选型决策树（30 秒走一遍）\n\n```\n需要 3D\u002F2.5D？\n ├─ 是 → 平台必须小游戏？\n │        ├─ 是 → three.js(自写 adapter) 先做 3 天 spike；spike 过 → 选它；不过 → 降级\"2.5D 伪 3D(Pixi\u002FPhaser)\"\n │        └─ 否（Web\u002F原生也要）→ Babylon 9（内置类型\u002F组件最全）或 three\n └─ 否 → UI 面板数量级 ≥30 个？\n          ├─ 是（塔防\u002F卡牌\u002F经营\u002F放置）→ 配方①：PixiJS 8 + @pixi\u002Fui\n          └─ 否 → 玩法\u002F物理\u002F弹幕密集？\n                   ├─ 是 → 配方②：Phaser 4 + planck\n                   └─ 极简单局 → kaplay 或自研 Canvas2D\n再叠加两个否决项：\n A. \"首发就要 5 个以上小游戏端\"？ → 权重倒向 配方③（Cocos 3.8 代码优先 \u002F Laya 3）\n B. \"美术已定 Spine\u002FRive 且要求频繁调动画\"？ → 该项目的动画不进 agent 回路，写清人工环节\n```\n\n---\n\n## 8. 推荐结论\n\n**默认解**：新项目主投微信小游戏且要 agent 全面编程 → **配方①（PixiJS 8 + @pixi\u002Fui）或配方②（Phaser 4），Vite + TS strict + 纯 JS 物理 + LDtk\u002FTiled 文本关卡 + Aseprite CLI 图集 + 自维护 weapp-adapter + miniprogram-ci**。\n**为什么（3 条）**：① 只有\"真源全文本 + 无 GUI 构建 + 无头自证\"能同时把 C1–C10 打满，这是 agent 产能的地基，不是口味问题；② 2D 需求上它们成熟、MIT、语料厚（Pixi 1,502,200\u002F周 + @pixi\u002Fui 官方维护；Phaser 545,951\u002F周 且被学术基准选作目标）；③ 平台脏活（adapter\u002F分包\u002F预览）有官方依据可循，且**不依赖任何闭源 GUI**。\n**何时改选 Cocos 3.8 \u002F Laya 3**：多端渠道 ≥4 个、或团队已有人熟引擎、或要原生 App —— 这时官方导出链路省下的成本大于 Mode A 损失的产能，但要用\"代码优先纪律 + MCP 兜底\"把 agent 通道留住。\n**明确不推荐**：Godot（小游戏靠 9★ 社区件）、Unity\u002F团结（转换必 GUI、2D 重 UI 短板）、WASM 物理（rapier 撞上 WXWebAssembly 一堆限制）、把 Spine\u002FRive\u002FAseprite 工程当 agent 可改真源。\n\n---\n\n## 9. 待确认 D11–D24（你点选\u002F答复；未答我按默认值自决）\n\n| # | 问题 | 默认值 |\n|---|---|---|\n| D11 | 新项目主品类是\"重 UI\"还是\"重玩法\"？（定配方①还是②） | 按**重 UI**（配方①）出脚手架 |\n| D12 | 是否接受自维护 `weapp-adapter`（[估] 3–5 人日起步，含音频\u002FXHR\u002F输入） | 接受，spike 里先做最小版 |\n| D13 | 首发要覆盖几个小游戏端？（≥4 端则倒向配方③） | 只微信首发，架构预留 shim |\n| D14 | 有 3D\u002F2.5D 需求吗？ | 无；不做 three\u002FBabylon spike |\n| D15 | 美术管线是否已定 Spine\u002FRive？若是，动画就划出 agent 回路 | 按\"序列帧 + 程序化动画\"设计 |\n| D16 | 是否允许付费工具（Spine Essential $69\u002FPro $379、TexturePacker Pro for CI） | 只用免费：Aseprite CLI \u002F LDtk \u002F Tiled \u002F ZzFX |\n| D17 | 要不要我实测 `miniprogram-automator` 在小游戏里能否 `evaluate`\u002F`screenshot`（决定要不要它） | 做一次 spike，不行就永久剔除 |\n| D18 | RexUI 是否兼容 Phaser 4？（决定重 UI 场景是否改用 Pixi 方案） | 不依赖 RexUI，UI 层自建 |\n| D19 | Pixi v8 在小游戏里强制 WebGL 的可行性与性能（需 spike） | spike 通过才用 @pixi\u002Fui |\n| D20 | Babylon 9 的小游戏适配有无生产先例（我查到的是\"未找到\"） | 不选 Babylon |\n| D21 | `tt`\u002F`wx` API 差异无官方对照表 → 是否允许我用\"自建 shim + 双端断言\"的方式收敛 | 允许 |\n| D22 | CI 机器有无 Windows\u002FmacOS（开发者工具 CLI 只支持 mac\u002Fwin） | CI 只用无头浏览器 + miniprogram-ci，不碰开发者工具 |\n| D23 | 服务端要不要一起定（排行榜\u002F存档\u002F广告回调） | 排行榜优先用官方开放数据域 + `minigame-canvas-engine`，不自建 |\n| D24 | 首个可验证里程碑要不要我直接搭脚手架（空仓 + 门禁 + 1 个面板 + 1 个场景） | 等你点头再动手（本轮全程未改工程） |\n\n---\n\n## 10. 实测回填（2026-10-06 当日，代码优先栈真跑验证）\n\n按本文判据在 `水泊风云录\u002FDemo\u002F` 搭了一个最小工程（**Phaser 4.2.1 + TS + Vite**，配方②），把\"写玩法 → 门禁 → 构建 → 无头自证 → 出小游戏包\"整条链跑通：\n\n| 环节 | 结果 |\n|---|---|\n| `check-imports`（机械守卫）+ `tsc --noEmit` + 双端构建 | 全绿 |\n| 垫片设备路径单测（Node + 假 wx + 真产物） | **24\u002F24** |\n| 小游戏运行时模拟（真 Phaser + 真垫片 + 真 `game.js`） | **18\u002F18**（含加分\u002F掉命\u002F触摸\u002F结算\u002F最高分入 wx 存储\u002F点击重开） |\n| 小游戏包 | `game.js` 1360 KB + `wx-adapter.js` 7 KB + 两个 json = **1368.6 KB**（主包上限 4096 KB），无 html\u002Fcss、无 ESM 残留 |\n| Web 包（真实 DOM，无垫片） | 同一套玩法断言全过 |\n\n**实测纠正了本文三处口径**（都已改进正文判断，不是脚注）：\n1. **C2 无 GUI 构建：成立**，但有个必须写进风险表的坑——Vite 构建默认吃 phaser 的 `browser` 字段（UMD），UMD 在 ESM 里退化成 `root[\"Phaser\"]=factory()` 而顶层 `this` 是 `undefined`，**运行期**才炸 `ReferenceError: Phaser is not defined`，而 `tsc` 查不出来（phaser 的 d.ts 里有全局 `Phaser` 命名空间兜底）。必须显式 `resolve.alias` 到 `dist\u002Fphaser.esm.js`，并配一条\"用了 `Phaser.*` 却没 import 就报错\"的机械守卫。\n2. **自写 `weapp-adapter` 的真实难度**不在 DOM 形状，而在**回调风格**：Phaser 的 `TextureManager.addBase64` 用属性式 `image.onload = fn`（`src\u002Ftextures\u002FTextureManager.js:376-397`）。只实现 `addEventListener` 的 Image 垫片会让纹理 `_pending` 永不归零 → `'ready'` 不发 → `game.isRunning` 永远为假。**这条在真机上是同一个 bug**，D12 的\"3–5 人日\"估计应按\"要读懂 Phaser 内部约定\"来重估。\n3. **C3 无头自证：成立但必须改造断言方式**。headless\u002F后台页面里 rAF 被饿死（实测 12s 只有 6 帧；Qoder in-app 浏览器为 0 帧），任何\"等真实时间再看结果\"的断言都会偶发红。解法是用 `TimeStep.step(time)`（`src\u002Fcore\u002FTimeStep.js:718`）**喂合成帧**，把断言变成确定性的——这比\"截图对比\"更值得作为 agent 主回路。另外 `miniprogram-automator` 对小游戏的不可用（0.12.1 停在 2023-11-06，官方只声明支持小程序）在本次实测中得到确认。\n\n**仍未覆盖**（别当成已验证）：微信开发者工具与真机（本机没装）、外部资源\u002F图集加载、分包与远程资源、音频、dpr 清晰度。\n\n## 附录 A：我本轮亲自核到的数字（可复现）\n\n```\nPhaser            4.2.1(2026-07-09) \u002F MIT \u002F 40,410★ \u002F pushed 2026-08-21 \u002F npm 545,951 周\npixi.js           8.22.0 \u002F MIT \u002F types: lib\u002Findex.d.ts \u002F npm 1,502,200 周\n@pixi\u002Fui          2.4.1 \u002F MIT \u002F peerDependencies: pixi.js ^8.6.2 \u002F deps: tweedle.js(1) \u002F npm 21,482 周\nkaplay            MIT \u002F 1,809★ \u002F pushed 2026-10-04 \u002F npm 9,593 周\nexcalibur         npm 14,986 周\nlayabox\u002FLayaAir   MIT \u002F 2,204★ \u002F pushed 2026-09-24\ncocos\u002Fcocos-engine 9,846★ \u002F pushed 2026-09-21 \u002F license=NOASSERTION（需读仓库 LICENSE）\neva-engine\u002Feva.js MIT \u002F 1,782★ \u002F pushed 2026-07-10\nminiprogram-ci    npm 21,609 周\nminiprogram-automator 0.12.1，发布于 2023-11-06\nthree             npm 24,326,206 周\nwechat-miniprogram\u002Fthreejs-miniprogram  799★ \u002F 末次推送 2023-05-22 \u002F 未 archived\nwechat-miniprogram\u002Fminigame-canvas-engine  312★ \u002F MIT \u002F pushed 2026-09-10 \u002F open_issues 6\nplanck            npm 217,176 周\n微信小游戏包体     主包 4MB \u002F 总包 ≤30MB \u002F 独立分包 ≤4MB（官方分包文档）\n```\n未核实项（诚实标注）：melonJS 版本号（npm `melon.js` 404）、LittleJS 体积与许可、Excalibur 版本、`Cocos Creator 3.8.x` 的确切小版本号（官方下载页为 JS 渲染，我未取到）。\n\n## 附录 B：来源\n\n**工程化与平台（官方）**\n- 小游戏 CI（preview\u002Fupload，**我复验：200，页面确为小游戏 CI 且提到\"代码上传密钥\"**）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fci.html>\n- 开发者工具 CLI 与 HTTP 调用：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fdevtools\u002Fcli.html>、\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fcli.html>、\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fdevtools\u002Fhttp.html>\n- 小程序自动化 SDK（**只声明支持小程序**）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fdevtools\u002Fauto\u002F>、小游戏侧复用页 \u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fauto\u002Fquick-start.html>、\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fauto\u002Fminiprogram.html>\n- 运行时 Adapter（含 `weapp-adapter.zip`）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fruntime\u002Fadapter.html>\n- 通用引擎适配方案（WASM\u002FEmscripten）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcommon-adaptation.html>\n- Cocos\u002FLaya\u002FEgret 适配（历史口径）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcocos-laya-egret.html>\n- 分包与包体上限：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fbase-ability\u002FsubPackage\u002FuseSubPackage.html>\n- 小游戏新手教程\u002F运行时约束：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fdevelop\u002Fstart.html>、Worker：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fbase-ability\u002Fnew-worker.html>、API 索引：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fapi\u002F>\n- WXWebAssembly 限制：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fframework\u002Fperformance\u002Fwasm.html>\n- 小游戏音视频格式建议：\u003Chttp:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Funity-webgl-transform\u002FDesign\u002FAudioAndVideo.html>、`wx.createWebAudioContext`\n- 抖音小游戏：官方 npm `tt-minigame-ide-cli` 可核（\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Ftt-minigame-ide-cli>、下载量 \u003Chttps:\u002F\u002Fapi.npmjs.org\u002Fdownloads\u002Fpoint\u002Flast-week\u002Ftt-minigame-ide-cli>）；其文档站为 SPA，**深层 URL 我无法验证正文**，请在 \u003Chttps:\u002F\u002Fdeveloper.open-douyin.com\u002F> 站内搜 `ide-cli`／`Adapter` 取权威页；官方 Adapter 页（子代理给出，未复验）：\u003Chttps:\u002F\u002Fpartner.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-game\u002Fdevelop\u002Fframework\u002Fruntime\u002Fadapter>\n- Unity\u002F团结引擎小游戏平台（自陈 WASM 单线程\u002F无 SIMD\u002FiOS 内存）：\u003Chttps:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002FManual\u002FMiniGamePlatform.html>（我复验：200，内容对得上）\n\n**引擎与库**\n- Phaser：\u003Chttps:\u002F\u002Fgithub.com\u002Fphaserjs\u002Fphaser\u002Freleases>、\u003Chttps:\u002F\u002Fphaser.io\u002Fdownload\u002Fstable>\n- PixiJS \u002F @pixi\u002Fui：\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Fpixi.js\u002Flatest>、\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002F@pixi\u002Fui\u002Flatest>\n- three \u002F 官方小游戏适配（已停更）：\u003Chttps:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fthree.js\u002Freleases>、\u003Chttps:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fthreejs-miniprogram>\n- Babylon 9 与 Inspector\u002FEditor 定位：\u003Chttps:\u002F\u002Fapi.github.com\u002Frepos\u002FBabylonJS\u002FBabylon.js\u002Freleases>、\u003Chttps:\u002F\u002Fgithub.com\u002FBabylonJS\u002FEditor>、\u003Chttps:\u002F\u002Fdoc.babylonjs.com\u002F>\n- PlayCanvas：\u003Chttps:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fengine>、\u003Chttps:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Feditor>\n- minigame-canvas-engine（官方 canvas UI\u002F开放数据域）：\u003Chttps:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fminigame-canvas-engine>\n- 物理：\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Fplanck\u002Flatest>、\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Fmatter-js\u002Flatest>、\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Fcannon-es\u002Flatest>、\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002F@dimforge\u002Frapier3d\u002Flatest>\n- 关卡工具：\u003Chttps:\u002F\u002Fldtk.io\u002Fdocs\u002Fgame-dev\u002Fjson-overview\u002F>、\u003Chttps:\u002F\u002Fldtk.io\u002Fjson>、\u003Chttps:\u002F\u002Fgithub.com\u002Fdeepnight\u002Fldtk\u002Freleases>、\u003Chttps:\u002F\u002Fdoc.mapeditor.org\u002Fen\u002Fstable\u002Freference\u002Ftmx-map-format\u002F>、\u003Chttps:\u002F\u002Fdoc.mapeditor.org\u002Fen\u002Fstable\u002Freference\u002Fjson-map-format\u002F>、\u003Chttps:\u002F\u002Fgithub.com\u002Fmapeditor\u002Ftiled\u002Freleases>\n- 资产工具与格式：\u003Chttps:\u002F\u002Fwww.aseprite.org\u002Fdocs\u002Fcli\u002F>、\u003Chttps:\u002F\u002Fwww.codeandweb.com\u002Ftexturepacker>、\u003Chttps:\u002F\u002Fesotericsoftware.com\u002Fspine-json-format>、\u003Chttps:\u002F\u002Fesotericsoftware.com\u002Fspine-command-line-interface>、\u003Chttps:\u002F\u002Feu.esotericsoftware.com\u002Fforum\u002F>（\"JSON 反推工程风险极大\"）、\u003Chttps:\u002F\u002Frive.app\u002Fdocs\u002Fruntimes\u002Fadvanced-topic\u002Fformat>、\u003Chttp:\u002F\u002Fdocs.live2d.com\u002Fen\u002Fcubism-editor-manual\u002Ffile-type-and-extension\u002F>、\u003Chttps:\u002F\u002Fwww.khronos.org\u002Fgltf\u002F>、glTF Draco\u002FMeshopt 扩展规范\n- 音频：\u003Chttps:\u002F\u002Fgithub.com\u002FKilledByAPixel\u002FZzFX>、\u003Chttps:\u002F\u002Fgithub.com\u002Fchr15m\u002Fjsfxr>\n- 工具 npm：\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Fminiprogram-ci\u002Flatest>、\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Fminiprogram-automator\u002Flatest>、\u003Chttps:\u002F\u002Fregistry.npmjs.org\u002Ftt-minigame-ide-cli>\n- Phaser 跑通小游戏可行性验证（2026-08）：\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7672283918332706862>；three.js 小游戏实战（2026-02）：\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7611432097543192603>\n- 学术\u002F基准：\u003Chttps:\u002F\u002Farxiv.org\u002Fhtml\u002F2604.18394v1>（OpenGame，选 Phaser）、GameDevBench arXiv 2602.11103（2D 解题率约 33%）\n- 停更引擎盘点：\u003Chttps:\u002F\u002Fnews.17173.com\u002Fcontent\u002F04042026\u002F163835087.shtml>；Cocos 商店 MCP 条目 \u003Chttps:\u002F\u002Fstore.cocos.com\u002Fdashboard\u002Fdetail\u002F8913>\n- LayaAir 小游戏文档：\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Freleased\u002Fminigame\u002Fwechat\u002F>\n\n---\n\n# 第 3 篇 · 全 AI 编码 ∩ 多端一次导出：行业成熟方案梳理（第三版）\n> 原文件：`docs\u002Fagent-plus-multiplatform-stacks-2026-10.md`（已并入本篇）\n\n# 全 AI 编码 ∩ 多端一次导出：行业成熟方案梳理（第三版）\n\n2026-10-06 ｜ 前置文档：`agent-tech-stack-review-2026-10.md`（存量工程，D1–D10）、`agent-first-stacks-new-project-2026-10.md`（新项目选型判据 C1–C10，D11–D24）｜ 本文决策编号从 **D25** 起，跨版不复用。\n> **后续（同日第四版）**：本文的 R3（代码优先 + 自建多端 shim + Capacitor）已被单独展开成 **`code-first-selfbuilt-multiplatform-2026-10.md`**（分层现成件清单、逐端工作量、\"哪些层根本没有开源件\"的取证结论，D38–D48）。本文 R3 相关段落以那份为准。\n本轮新增实证：`水泊风云录\u002FDemo\u002F` 已用 **Phaser 4.2.1 + TS + Vite** 把\"编码→门禁→构建→无头自证→出微信小游戏包\"整条链跑通（垫片单测 24\u002F24、小游戏运行时模拟 18\u002F18、包体 1368.6 KB）。\n标注：`[实测]`=我这次亲自核过；`[代理查证]`=子代理取证；`[估]`=我的估计。\n\n---\n\n## 0. 一句话结论（先答\"还有哪些方案\"）\n\n**你列的 7 个端，没有任何一个引擎能\"官方全部覆盖 + AI 完成全部编码\"同时成立。**缺口是硬事实（逐条数过官方页）：**Cocos Creator 3.8\u002F4.0 缺 QQ 小游戏、快手小游戏、Bilibili、小米快游戏**；**LayaAir 3 缺 QQ 小游戏、快手小游戏**（它有华为与 B站，见 §7.1 对我上一版的更正）；**团结引擎有微信\u002F抖音\u002F快手但缺 QQ\u002F支付宝，且转换必须 GUI**。所以真正要选的，是\"缺的那几端由谁承担\"：\n\n**本轮新增的硬结论（§5 已逐条复核）**：`AI 完成全部编码`的上限由**平台侧**决定，不是引擎侧。微信／支付宝／B站／vivo／QQ 都有官方 CLI（版本号我已亲自核过），但**快手小游戏与百度小游戏的上传只有 GUI 按钮 + 扫码登录**；各端包体上限还不一致（华为 10MB／抖音 20MB／微信·快手·B站 30MB／百度 8MB；主包多为 4MB，快手是 6MB）。所以\"七端一次导出 + AI 全自动\"的真实形态是：**代码一次导出 + 每端一条各自的（半）自动发布流水线**，快手\u002F百度那两端每次上传得有人点一下。\n\n\n| 方案 | 端覆盖 | AI 完成全部编码 | 一句话定位 |\n|---|---|---|---|\n| **R1 Cocos Creator 3.8 LTS**（代码优先纪律 + MCP 兜底）| ★★★★★ 最广（官方渠道最多，QQ\u002F快手需社区件）| ★★★☆☆ 代码全可、场景要 MCP 且**构建需图形会话** | **行业默认答案**，代价是 agent 走\"人在场\"模式 |\n| **R2 COCOS 4（MIT）** | ★★☆☆☆ 官方明说小游戏各端\"分阶段解锁\" | ★★★★★ 官方按\"MCP\u002FAgent 交付逻辑\"重做 | **方向最对、时机未到**：2026 内只做试点，别押首发多端 |\n| **R3 代码优先（Phaser 4 \u002F Pixi 8 \u002F three + 自维护多端 shim + Capacitor）** | ★★★☆☆ 每端自己拥有适配层 | ★★★★★ 本机已实测跑通微信端全链路 | **AI 产能最高**，代价是\"多端\"变成你的交付物 |\n| **R4 LayaAir 3**（本轮被我上调） | ★★★★★ 微信(含 Worker)\u002F抖音\u002FOPPO\u002Fvivo\u002F小米\u002F**华为**\u002F**B站**\u002F支付宝\u002F淘宝 + **LayaNative 原生**（Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F**Linux**）；只缺 QQ、快手 | ★★★★☆ 官方 CLI（IDE 二进制后台模式，\"脚本执行完自动退出\"）+ 官方仓库 `layaair-cli`(2026-06)、`layaair-skills`(2026-09)、`LayaAir-mcp-plugin`(2025-11) + 官方 AI 产品 LayaIdea | **被我此前低估的那一个**：端覆盖与 agent 通道都比\"IDE 闭源所以弱\"的直觉好；短板是缺 QQ\u002F快手 + IDE 闭源 + 无公开收费页 |\n| **R5 Unity \u002F 团结引擎**（对照） | ★★★★☆ 官方平台支持页列 **微信／抖音／快手** + Unity 小游戏宿主（QQ、支付宝未列）；原生与 H5 是常规能力 | ★☆☆☆☆ 转换工具必须 GUI；但**团结 2.0（2026-07-28）已内嵌 AI Agent\"团结Codely\"** | **不满足\"AI 完成全部\"**，且收费要算清：财务规模 \u003C150 万元可用免费个人版；150 万–1500 万元需 1 套基础编辑器 **18888 元\u002F年**才能无水印发小游戏；1.6.0 起收构建费（社区称减免至 2027-06-30）；**Unity 6 起不再开放中国用户** |\n\n**我的推荐（可推翻）**：**R1 打底 + 把 UI\u002F玩法\u002F数值全部代码化**——即\"引擎选 Cocos 3.8 LTS 拿端覆盖与原生，工程纪律按 Mode A 写\"，让 agent 在 90% 工作量（代码、数值、关卡、脚本化构建产物）上走可并行可自证的路，只有\"构建\u002F发布\u002F偶发改 prefab\"走 Mode B（GUI 在场）。**本轮把 R4 LayaAir 3 提到与 R1 并列**：如果你**不需要 QQ\u002F快手**，Laya 的\"官方 CLI（IDE 后台模式）+ 官方 MCP\u002Fskills + LayaNative 连 Linux 都给\"其实更干净，风险只剩 IDE 闭源与收费未公开。若你的实际优先级是\"AI 产能第一、多端适配层我们自己啃\"，那就直接 **R3**（本仓库 `Demo\u002F` 就是它的可行性证据）。\n\n**顺带排除两个常见误解**：`uni-app` \u002F `Taro` 不是游戏方案（它们编译到小程序页面运行时，不是小游戏 canvas 运行时；2026-05 的行业盘点也明确\"偏应用\u002F不适合复杂游戏\"）；`Godot` 官方没有微信小游戏导出，只有 9★ 级社区件。\n\n---\n\n## 1. 官方渠道矩阵（逐格给依据，别信\"支持全平台\"这种话）\n\n| 目标端 | Cocos Creator 3.8 LTS `[实测·手册]` | LayaAir 3 `[代理查证]` | 代码优先栈（Phaser\u002FPixi\u002Fthree） | 上传\u002F预览能否脱离 GUI |\n|---|---|---|---|---|\n| 微信小游戏 | ✅ 官方页（含引擎插件、PC 小游戏、iOS 内存指南、分包、开放数据域） | ✅ 官方（含 Worker 模式） | ✅ 自维护 adapter（**本机已实测**） | ✅ `miniprogram-ci`（无需开发者工具，需上传密钥+IP 白名单）`[实测 21,609 次\u002F周]` |\n| 抖音小游戏 | ✅ 官方页（含 PC 小游戏、内存指南） | ✅ 官方 | ⚠️ 自建 shim | ⚠️ 官方 npm `tt-minigame-ide-cli`（bin `tmg`，2.1.1，**258 次\u002F周**）`[代理查证]`，但需本地装 IDE |\n| QQ 小游戏 | ❌ **手册无官方页**（社区教程存在） | ❌ 未列 | ⚠️ 自建（API 与微信高度同源） | 🟡 官方 `cli -l\u002F-p\u002F-u`，但**依赖本地 QQ 开发者工具**（§5）|\n| 快手小游戏 | ❌ **手册无官方页** | ❌ 未列 | ⚠️ 自建 | ❌ **无 CLI，上传\u002F预览只有 GUI + 扫码**（§5 实测官方页）|\n| 支付宝小游戏 | ✅ 官方页（2023 起支持） | ✅ 官方 | ⚠️ 自建（差异比 QQ 大） | 🟡 官方 `minidev` 2.2.5（描述含开发\u002F预览\u002F上传）|\n| 淘宝小游戏 | ✅ 官方页（含引擎插件） | ✅ 官方 | ⚠️ 自建 | 🟠 待核：淘宝是否纳入 `minidev`（D26）|\n| 华为快游戏 \u002F 荣耀 \u002F OPPO \u002F vivo | ✅ 各自官方页（无小米页） | ✅ 华为\u002FOPPO\u002Fvivo\u002F小米 均官方列出；**荣耀未列** | ⚠️ 自建（快游戏标准 API） | 🟡 vivo 有官方 npm `@vivo-minigame\u002Fcli` 1.27.45；华为 `.rpk`+openssl，文档 SPA 未读到（D27）|\n| Bilibili 小游戏 | ❌ 手册无页（论坛有 3.8.3 适配方案帖） | ✅ 官方（Laya 文档列出哔哩哔哩） | ⚠️ 自建 | 🟡 官方 `bili-sgame-cli` 2.1.22（ISC）|\n| H5（Web 移动\u002F桌面） | ✅ 官方 | ✅ 官方 | ✅ 天然 | ✅ 任意静态托管 |\n| 原生 App（iOS\u002FAndroid） | ✅ 官方（真原生工程，非套壳：4.0 指南\"即可生成 Xcode 项目\"；3.8 需 JDK17 + Android Studio 2022.2\u002F3 + NDK r21~r23 + Xcode 14+；另有 macOS\u002FWindows\u002FHarmonyOS Next\u002FHMS\u002FGoogle Play） | ✅ **LayaNative**：Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F**Linux** | ⚠️ Capacitor\u002FCordova webview 套壳（性能与包体代价） | ❌ 需 Xcode\u002FAndroid Studio |\n\n**读法**：✅=官方文档有专门页\u002F可脚本化；🟡=有官方件但要登录态或本地 IDE；🟠=我这轮没读到原文（见 D25–D28）；❌=官方没有，要么社区件要么自己做；⚠️=能做但要自己负责。\n\n---\n\n## 2. 两条硬约束的真实冲突点\n\n| 约束 | 满足它需要的条件 | 与另一条的冲突 |\n|---|---|---|\n| **AI 完成全部编码** | 真源是文本（无 uuid 二进制化场景）、构建不需 GUI、能无头自证、可并行分片 | 官方多端导出能力**长在编辑器里**：Cocos 官方手册的\"命令行发布项目\"明确写着**命令行运行也需要 GUI 环境**，且只给 macOS\u002FWindows 路径范例（无 Linux）→ CI 必须是带图形会话的 Win\u002Fmac 机器 |\n| **多端一次导出** | 引擎官方适配层覆盖各端 SDK、审核规则、分包与开放数据域 | 官方适配层意味着**产物由编辑器生成**，agent 直改文本会破坏 uuid 引用 → 只能走 MCP（人在场、单实例、不可并行） |\n\n**结论**：这不是\"选错引擎\"，而是**必然要放弃一点点**。三种放弃方式，选一种：\n- 放弃\"构建不需 GUI\" → R1\u002FR4（Cocos\u002FLaya）：agent 写代码很爽，构建\u002F改场景要编辑器在场。\n- 放弃\"官方端覆盖\" → R3（Phaser\u002FPixi\u002Fthree）：agent 全自动，QQ\u002F快手\u002F支付宝的适配层与审核差异自己扛。\n- 放弃\"当下\" → R2（COCOS 4）：官方路线就是冲着你这两条约束设计的（MIT 彻底开源、放弃商业授权条款、新特性按\"MCP\u002FAgent 交付逻辑\"设计、编辑器底层能力 CLI 化），但**小游戏各端适配官方明说\"分阶段解锁、取决于取得对应平台同意\"**，2026 年内不宜押注首发多端。\n\n---\n\n## 3. R1 落地清单（若选\"行业默认答案\"）\n\n**引擎侧**：Cocos Creator 3.8.x（当前 3.8.8，2025-12-16 发布 `[实测 GitHub release]`）。\n**必须写进仓库规则的\"代码优先纪律\"**（否则 agent 又回到改 prefab 的坑）：\n1. 界面\u002F战场节点一律 `new Node()\u002FaddComponent` 构建，**禁止把 UI 拖进 prefab**；确需 prefab 时只当\"资源壳\"，真源字段全在 `.ts`。\n2. 数值\u002F关卡用 JSON\u002FCSV 进版本库（构建期编译成运行时格式），**不要用 xlsx 当真源**。\n3. 动画资产按\"agent 能不能改\"选：序列帧 + 图集 JSON \u002F LDtk \u002F `.gltf`（文本）优先；Spine\u002FRive 工程只当**单向输入**。\n4. 构建走官方命令行：`CocosCreator(.app\u002F.exe) --project \u003C路径> --build \"platform=wechatgame;debug=true\"`，可加 `configPath=`、`stage=bundle`、`buildScriptsOnly=true`；**退出码 36=成功、32\u002F34=错误**（这条一定要进 agent 门禁，别只看有没有产物）。CI 机器必须是 **Windows 或 macOS 且有图形会话**——官方原文\"命令行运行的时候也是需要 GUI 环境的\"，Jenkins 要以 agent 模式访问 WindowServer；**Linux 无官方支持**。\n5. agent 改场景的唯一通道是 MCP：3.8 用第三方 **Funplay MCP**（3.8+、105 工具、编辑器内 HTTP `127.0.0.1:8765`）`[实测]`；**2.4 也有社区件 `cocos-mcp-2x`（MIT，2026-06-10 发布，作者声明在 2.4.15 上验证过，依赖本地 Python+WebSocket，个人项目）** `[代理查证]`——这条更正了我第一版文档里\"2.4 没有 MCP 通道\"的结论。\n6. 验收回路照抄 Demo 的做法：无头浏览器跑 web 构建 + **喂合成帧**（`TimeStep.step(time)`）做确定性断言，小游戏端再用各端 CI 工具上传体验版。\n\n## 4. R3 落地清单（若选\"AI 产能第一\"）\n\n```\n引擎层：Phaser 4.2.1（重玩法）或 PixiJS 8.22 + @pixi\u002Fui 2.4.1（重 UI，MIT，peer 要求 pixi.js ^8.6.2）\n适配层：src\u002Fplatform\u002F{wx,tt,qq,ks,my,web,capacitor}.ts —— eslint 禁业务层直连 wx.*\n构建层：Vite（三 mode：web \u002F 各端小游戏包）+ 包体自查脚本（主包 4MB、无 ESM 残留、无 html\u002Fcss）\n自证层：tsc --noEmit → eslint → 单测 → 无头 Chromium 喂帧断言 → 各端 CLI 上传体验版\n原生层：Capacitor（webview 套壳；性能\u002F包体代价要单独评估 = D29）\n```\n**已实测的证据**（本仓库 `Demo\u002F`）：微信端全链路跑通，包括 `miniprogram-ci` 之外的每一环；三个必踩坑的修法已固化成守卫与回归测试（Vite 吃 `browser` 字段→UMD 运行期炸；Phaser 用**属性式** `img.onload`；headless rAF 饿死）。\n**未实测**：抖音\u002FQQ\u002F快手\u002F支付宝四端的真机与审核差异、带图集资源的分包、原生套壳性能。\n**行业先例**：2026-08 有开发者复盘\"全程用 AI 做了一款微信小游戏并上线\"，技术栈正是 **Canvas 2D + TypeScript + Vite 自研管线**（明确不用 Unity\u002FCocos），AI 负责编码\u002F美术\u002F关卡，人负责规范、架构分层、**多端适配封装**、提审合规与抽检 `[代理查证]`——注意他自己列的\"必须人做\"项里就有\"多端适配封装\"，与本文判断一致。\n\n---\n\n## 5. 各端工具链成熟度（决定\"能不能无人值守\"）——本轮已逐条复核\n\n**本节最重要的结论：`AI 完成全部`的上限由平台侧决定，不由引擎侧决定。** 即使选官方端覆盖最广的 Cocos，快手小游戏的上传\u002F预览也**只有 GUI 按钮 + 扫码登录**（官方文档原文，全文无 CLI），百度小游戏上传也没有 CLI。所以\"七端全自动无人值守\"目前不存在，能做到的上限就是下表\"判定\"列。\n\n| 端 | 官方 CLI（我复核到的版本） | 必须本地装 IDE \u002F 扫码？ | 包体上限 | 判定 |\n|---|---|---|---|---|\n| 微信 | `miniprogram-ci` **2.1.31**（preview\u002Fupload）`[实测]` | **否**（需代码上传密钥 + IP 白名单） | 主包 4MB／总包 ≤30MB／独立分包 ≤4MB `[实测官方]` | ✅ 可无人值守 |\n| 支付宝／淘宝 | `minidev` **2.2.5**（描述含\"开发、预览、上传\"，maintainer 域名 alibaba-inc.com）`[实测]` | 引擎文档口径要装 IDE；CLI 免登录所需 token **未取证** | 主包 4MB，超出走 CDN | 🟡 大概率可脚本化 |\n| Bilibili | `bili-sgame-cli` **2.1.22**（ISC，\"Bilibili Small Game Cli\"）`[实测]` | 需登录态，无 CI 章节 | 总 30M／单包 4M `[代理查证]` | 🟡 可脚本化（引擎侧仍要自己适配，Cocos 无官方页） |\n| vivo 小游戏 | `@vivo-minigame\u002Fcli` **1.27.45**（MIT，持续发版）`[实测]` | 待核 | 主包 4MB `[代理查证]` | 🟡 可脚本化 |\n| QQ 小游戏 | 官方 `cli -l \u002F -p \u002F -u \u002F --build-npm` `[代理查证]` | **是**（依赖本地 QQ 开发者工具，预览\u002F上传需登录态；二维码可导出图片\u002Fbase64） | **小游戏侧未找到官方数字**（小程序侧分包总和 24M／单包 2M） | 🟡 半自动 |\n| 抖音 | 官方文档口径是 **IDE 内置 `bytecli`**（-o\u002F-l\u002F-p\u002F-u）；npm 另有 `tt-minigame-ide-cli` 2.1.1（258 次\u002F周）`[代理查证]` | **是**（须先装抖音开发者工具；登录要手机验证码\u002F飞书扫码） | 总 20MB／主包 4MB／单分包 20MB（**Cocos 手册转述，非平台原始文档**） | 🟡 半自动（首次登录必须人） |\n| 小米快游戏 | RPK 可脚本打包（`manifest.json` 手写 subpackages）`[代理查证]` | 待核 | 主包 4M／单分包不限／RPK 总 30M | 🟡 可脚本化 |\n| 华为快游戏 | Cocos 直接产 `.rpk`，签名用 openssl `[代理查证]`；`hap-toolkit` 2.1.1 维护者是**个人账号**（非官方 org） | 官方文档为 SPA，正文未读到 | 代码包总 **10MB** | 🟠 待核（D27） |\n| **快手小游戏** | **无 CLI**（官方页只有\"点击`上传` button\"\"点击真机预览 Button\"，登录要快手 App 扫码）`[实测官方页]` | **是** | 总 30M／主包 ≤6M／单分包不限 | ❌ **每次上传都要人** |\n| 百度小游戏 | 无上传 CLI `[代理查证]` | **是** | 总 8M／单包 4M | ❌ 必须 GUI |\n| H5 | 任意静态托管 | 否 | — | ✅ 最省事，也是无头自证入口 |\n| 原生 App | Cocos 原生构建可 CLI；**Xcode\u002F证书\u002F上架必须人** | 是（需原生工具链） | — | 🟠 半自动 |\n| 套壳路线 | **Capacitor**（MIT，2026-10-05 仍在推）`[代理查证]`；Cordova（Apache，2026-05-19 有推送，节奏慢） | 需原生工具链 | — | 🟡 活跃；但 `wx.*` 在 App 内要自建 shim，无官方桥接 |\n\n**排期读法**：✅ 可进 agent 流水线；🟡 可脚本化但首次登录\u002F提审要人；❌ 每次上传都要人点（快手、百度）。另外 `miniprogram-automator` 不覆盖小游戏（0.12.1，2023-11-06 起未更新 `[实测]`），\"自动开模拟器验收\"也别指望。\n> 附带结论：**各端包体上限不一致**（华为 10MB／抖音 20MB／微信·快手·B站 30M／百度 8M；主包 4MB 是多数但快手是 6MB），所以\"一次导出\"必须在构建期按目标端做包体门禁，不能只测微信一端。\n\n\n---\n\n## 6. 待确认 D25–D37\n\n| # | 问题 | 默认值 |\n|---|---|---|\n| D25 | ~~QQ \u002F 快手小游戏的官方 CLI 与包体上限~~ **已核**：QQ 有官方 `cli`（依赖本地 QQ 开发者工具）；快手小游戏**无 CLI**（上传\u002F预览只有 GUI + 扫码）。剩余缺口：**QQ 小游戏侧**包体上限未找到官方数字（只有小程序侧 24M\u002F2M） | 按\"主包 4MB、总包 20MB\"最严口径设计，QQ 端实测后再放宽 |\n| D26 | `minidev` 免 GUI 登录所需 token\u002F私钥口径；淘宝小游戏是否纳入 `minidev` | 按\"要人工\"排期，脚本化留到打通 token 后 |\n| D27 | 华为\u002FOPPO 快游戏工具链（官方文档是 SPA，正文没读到）；`hap-toolkit` 维护者是个人账号而非官方 org | 华为按\"Cocos 产 .rpk + openssl 签名 + 人工上传\"排期 |\n| D28 | ~~LayaAir 3 的原生 App 发布方式~~ **已核**：官方 **LayaNative** 覆盖 Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F**Linux**；引擎 MIT 但 IDE 闭源、**未找到官方收费页** | 若把 R4 纳入候选，先要到一个书面收费口径 |\n| D29 | 原生 App 用 Capacitor 套壳跑 WebGL 的性能是否达标（低端机） | 先做 spike 再承诺原生 |\n| D30 | 七端里哪些是**首发必须**、哪些可 T+3 月？（决定 R1 还是 R3） | 按\"微信+抖音+H5 首发，其余 T+3 月\"排 |\n| D31 | 是否接受\"CI 机器必须是 Win\u002Fmac 且有图形会话\"（R1 的硬条件） | 接受则选 R1，不接受则选 R3 |\n| D32 | COCOS 4 是否进入你的观察计划（每季度复评小游戏端解锁进度） | 列入，但不押注 2026 内多端 |\n| D33 | 2.4 的社区 MCP（`cocos-mcp-2x`）要不要在存量工程上试（个人项目、依赖 Python） | 试，但只读操作先行 |\n| D34 | Demo 这条线要不要继续推到\"带图集资源 + 分包 + 远程资源 + 抖音端\" | 等你定优先级 |\n| D35 | LayaAir 的**书面收费口径**与官方 `layaair-cli`\u002F`LayaAir-mcp-plugin` 的成熟度实测（我这次只核到仓库存在与文档描述，没跑过） | 要选 R4 就先做一次\"CLI 出微信包 + MCP 改场景\"的 spike，跑通再谈选型 |\n| D36 | 是否接受**团结引擎的钱与流程**（18888 元\u002F年量级、构建费、提审人工、Unity 6 不再开放中国用户）以换取官方快手端 | 不接受 → 快手端走 R3 的自建 shim 或干脆不做快手 |\n| D37 | 是否把 **Cocos 命令行退出码 36\u002F32\u002F34** 这类\"平台侧硬信号\"照 Demo 风格写成构建门禁（`build:wx` 后断言退出码而非看产物） | 要，我可以直接在 Demo 里加一条等价守卫 |\n\n---\n\n## 7. 第二路调研回填：我更正了什么、以及由此改变的排序\n\n### 7.1 我自己写错\u002F低估的三条\n1. **LayaAir 3 的端覆盖被我写窄了**。前文按 `layaair.com\u002F3.3` 的\"小游戏发布\"页只列了微信\u002F抖音\u002FOPPO\u002Fvivo\u002F小米\u002F支付宝\u002F淘宝；但 **3.x 文档目录**（v3.4，2026-08-17 更新）实际还包含 **华为快游戏** 与 **哔哩哔哩小游戏**，原生侧有 **LayaNative：Android \u002F iOS \u002F 鸿蒙 NEXT \u002F Windows(Steam) \u002F Linux**（Linux 是 Cocos 编辑器都不给的）。仍缺的是 **QQ 与 快手**。→ §0 的 R4 已从\"3D 才看\"上调为\"值得与 R1 并列评估\"。\n2. **Laya 的 agent 通道不是\"薄\"，是有官方件**：官方 CLI `LayaAirIDE --project=\u003C路径> [--script=类.方法] [--script-args]`，官方描述\"后台脚本执行结束后自动退出\"（可批处理\u002FCI）；官方组织下另有 **`layaair-cli`(2026-06)**、**`layaair-skills`(2026-09)**、**`LayaAir-mcp-plugin`(2025-11)**，以及官方 AI 产品 **LayaIdea**（1.0 beta2，网页版）。论坛官方答复口径：\"IDE 其实已经支持 headless CLI 模式\"\"CLI 工作流正在开发中\"。→ 但**IDE 本体仍闭源**（引擎 MIT，组织仓库里没有 IDE 源码），且**未找到官方收费页**（D35）。\n3. **团结引擎的端覆盖里其实有快手**：官方平台支持页列 **微信／抖音／快手** + Unity 小游戏宿主，另有《快手小游戏转换 SDK》（2025-12-09）。→ 它是**唯一官方覆盖快手的**，但转换工具必须 GUI，仍不满足\"AI 完成全部\"；且要算清钱：\u003C150 万元财务规模可免费个人版；150 万–1500 万需 **18888 元\u002F年** 一套基础编辑器才能无水印发小游戏；1.6.0 起收构建费（社区称减免至 2027-06-30）；**Unity 6 起不再开放中国用户**；团结 2.0（2026-07-28）已内嵌 AI Agent\"团结Codely\"。\n\n### 7.2 COCOS 4 的官方通道（比我上一版描述更具体，也更有硬条件）\n- 官方仓库 **`cocos\u002Fcocos-cli`**（cocos 组织、MIT、建 2025-09-04、最近推送 2026-09-28）：`cocos create` \u002F `cocos build --platform \u003C端>` \u002F **`--no-interactive`** \u002F **`cocos start-mcp-server --port 9527`**。\n- 官方新闻稿（2026-01-05）口径：**引擎与编辑器解耦、核心编辑功能转 headless CLI、可视化交给 PinK IDE、MIT 并移除原商业条款、\"AI 原生\u002FMCP 优先\"**。\n- **硬条件**：README 只声明 **Windows（VS C++ 工具链）与 macOS（Xcode）**，未声明 Linux；`cocos-cli` 项目当前**没有集成本地图形编辑器**，要看可视化还得开 3.8.7；实测介绍要求 **Node.js 22.17.0**（其他版本可能报错）。\n- 结论：R2 的\"方向最对\"从推测升级为**有官方仓库与官方新闻稿支撑**；但\"小游戏各端分阶段解锁\"没变，所以**2026 内仍不押多端首发**，改为\"用 R1\u002FR4 上线，同时每季度复评 cocos-cli 的端解锁进度\"（D32 保留）。\n\n### 7.3 排序变化（这就是答案的收敛形态）\n| 排序 | 方案 | 为什么 |\n|---|---|---|\n| 1 | **R1 Cocos Creator 3.8 LTS** + 代码优先纪律 | 端覆盖 + 真原生 + 官方 CLI（含明确退出码 36\u002F32\u002F34）+ 3.8 有第三方 MCP、4.0 有官方 MCP 可平滑过渡 |\n| 1′ | **R4 LayaAir 3**（与 R1 并列，条件成立时优先） | 若你**不需要 QQ\u002F快手**、且要 **Linux 原生**或更少商业条款不确定性，Laya 的官方 CLI + 官方 MCP\u002Fskills 组合其实更干净；风险是 IDE 闭源 + 收费未公开 |\n| 2 | **R3 代码优先 + 自维护多端 shim** | 唯一能让 agent 端到端全自动的路（本机已实测微信端），代价是每端适配层归你 |\n| 3 | **R2 COCOS 4** | 观察 + 试点，别押 2026 多端首发 |\n| — | R5 团结引擎 | 只有\"必须快手 + 接受人工上传 + 接受 18888 元\u002F年量级\"时才考虑 |\n\n**第四种引擎：没有。** Egret 2022-02 停止运营（仅社区维护）；Eva.js 官网未列多端发布\u002F原生；字节 Lyda、Cryeng 等无官方七端依据。所以可选面就是上面这五个。\n\n## 附录 A：各端工具链依据（本轮 §5 用）\n\n\n\n- 快手小游戏·开发者工具（**只有 GUI**：登录要扫码、\"点击`上传` button\"、\"点击真机预览 Button\"，全文无 CLI）：\u003Chttps:\u002F\u002Fks-game-docs.kuaishou.com\u002Fminigame\u002Fstart\u002Fdevtool.html>；代码包\u002F分包：\u003Chttps:\u002F\u002Fks-game-docs.kuaishou.com\u002Fminigame\u002Fguide\u002Fframework\u002Fcode-package.html>、\u003Chttps:\u002F\u002Fks-game-docs.kuaishou.com\u002Fminigame\u002Fguide\u002Fbasic-function\u002Fsubpackages.html>（总 30M／主包 ≤6M）\n- QQ 小游戏官方命令行：\u003Chttps:\u002F\u002Fq.qq.com\u002Fwiki\u002Ftools\u002Fcli\u002F>（`-l\u002F-p\u002F-u\u002F--build-npm`，依赖本地 QQ 开发者工具）；分包数字（仅小程序侧）：\u003Chttps:\u002F\u002Fq.qq.com\u002Fwiki\u002Fdevelop\u002Fminiprogram\u002Fframe\u002Fbasic_ability\u002Fbasic_pack.html>\n- 支付宝系开发 CLI `minidev`：\u003Chttps:\u002F\u002Fopendocs.alipay.com\u002Fmini-game\u002F094n6m>（SPA 正文不可读）＋ npm 元数据我实测：`minidev` **2.2.5**，描述\"开发、预览、上传\"，maintainer 域名 alibaba-inc.com\n- B站小游戏：\u003Chttps:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fguide\u002Fpublish\u002F>（发布 CLI ≥2.0.0）、分包 \u003Chttps:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fability\u002Fsubpackage>；npm 实测 `bili-sgame-cli` **2.1.22**（ISC）\n- vivo 小游戏：npm 实测 `@vivo-minigame\u002Fcli` **1.27.45**（MIT，\"Command line interface for rapid Vivo minigame development\"）\n- 小米快游戏分包\u002F包体：\u003Chttps:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=1897>；华为快游戏打包：\u003Chttps:\u002F\u002Fdeveloper.huawei.com\u002Fconsumer\u002Fcn\u002Fdoc\u002Fgames-guides\u002Fgames-quickgame-tool-build-formal-0000002317894976>（SPA 未读到正文）；OPPO rpk：\u003Chttps:\u002F\u002Fopen.oppomobile.com\u002Fnew\u002FdevelopmentDoc\u002Finfo?id=12533>（同上）；社区 `hap-toolkit` 2.1.1（维护者为个人账号）\n- 抖音：官方命令行工具页 \u003Chttps:\u002F\u002Fdeveloper.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-app\u002Fdevelop\u002Fdev-tools\u002Fdeveloper-instrument\u002Fdevelopment-assistance\u002Fide-cli>（SPA，正文未读到；口径为 IDE 内置 `bytecli`）、CLI Skill 指南 \u003Chttps:\u002F\u002Fpartner.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-app\u002Fdevelop\u002Fdev-tools\u002Fdeveloper-instrument\u002Fdevelopment-assistance\u002Fcli-skill>、小游戏 Adapter \u003Chttps:\u002F\u002Fpartner.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-game\u002Fdevelop\u002Fframework\u002Fruntime\u002Fadapter>；团结引擎上传抖音页（明说须下载安装抖音开发者工具）\u003Chttps:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002FManual\u002FUploadDouyinMiniGame.html>\n- 原生\u002F套壳：\u003Chttps:\u002F\u002Fgithub.com\u002Fionic-team\u002Fcapacitor>（MIT，2026-10-05 仍在推）、\u003Chttps:\u002F\u002Fgithub.com\u002Fapache\u002Fcordova>（2026-05-19 有推送）\n- 引擎侧包体数字（抖音 20MB／主包 4MB 等由 Cocos 手册转述，非平台原始文档）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-bytedance-mini-game.html>\n\n## 附录 B：我本轮亲自核到的 npm\u002F包事实\n\n```\nminiprogram-ci      2.1.31（2024-11-12）\u002F 周下载 21,609\nminiprogram-automator 0.12.1 \u002F 发布 2023-11-06 \u002F 周下载 15,314\nminidev             2.2.5 \u002F maintainers: vip.qq.com, alibaba-inc.com \u002F 描述含\"开发、预览、上传\"\nbili-sgame-cli      2.1.22 \u002F ISC \u002F \"Bilibili Small Game Cli\"\n@vivo-minigame\u002Fcli  1.27.45 \u002F MIT\ntt-minigame-ide-cli 2.1.1 \u002F 周下载 258\ncocos\u002Fcocos-engine  latest release 3.8.8（2025-12-16）\n```\n\n\n## 附录 C：引擎与方案侧依据\n\n- Cocos Creator 3.8 手册·跨平台发布（官方渠道清单 + `命令行发布项目`）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002F>、\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-in-command-line.html>\n- Cocos Creator 4.0 手册（4.0 LTS 存在，渠道清单同上，无 QQ\u002F快手\u002FB站\u002F小米页）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002F>\n- 命令行构建需 GUI 环境、仅给 macOS\u002FWindows 范例：同上\"命令行发布项目\"页（我复验过要点）\n- COCOS 4 官方发布稿（2025-12-30；MIT、脱离商业约定、新特性按 MCP\u002FAgent 交付逻辑设计、编辑器能力 CLI 化、**小游戏适配分阶段解锁**）：\u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F172915>；英文通稿 \u003Chttps:\u002F\u002Fwww.prnewswire.com\u002Fapac\u002Fnews-releases\u002Fcocos-4-is-here-fully-open-source-302652633.html>（2026-01-05）\n- Cocos 4 `cocos-cli` 内置官方 MCP 的实测介绍（2026-04；需 Node 22.17.0；CLI 项目暂无集成图形编辑器）：\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7625923696347807770>\n- Cocos 引擎版本事实：GitHub `cocos\u002Fcocos-engine` latest release **3.8.8（2025-12-16）** `[实测]`\n- Cocos Creator 2.4 的社区 MCP 插件 `cocos-mcp-2x`（MIT，2026-06-10，声明 2.4.15 验证）：\u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F176150>、\u003Chttps:\u002F\u002Fgithub.com\u002Fshiliyu1991-lang\u002Fcocos-mcp-2x>\n- Cocos 支持支付宝小游戏的官方公告（2023）：\u003Chttps:\u002F\u002Fwww.cocos.com\u002Fpost\u002F1f74a54f39b3123ad272ca0a06e7463f>；B站小游戏为社区适配方案：\u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F163571\u002F4>\n- LayaAir 3 官方文档目录（v3.4，2026-08-17 更新）：发布章节含 Web\u002FH5（单文件、CrazyGames、Poki）、微信(含 Worker)、抖音、OPPO、vivo、小米快游戏、**华为**、**哔哩哔哩**、支付宝、淘宝，以及 **LayaNative 原生（Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002FLinux）**：\u003Chttps:\u002F\u002Flayaair.com\u002F3.x\u002Fdoc\u002F>；小游戏发布页（渠道 + `build-templates\u002F` + 命令行）：\u003Chttps:\u002F\u002Flayaair.com\u002F3.3\u002Fdoc\u002Freleased\u002FminiGame\u002Freadme.html>\n- LayaAir 官方命令行（IDE 二进制后台模式，\"脚本执行结束后自动退出\"）：\u003Chttps:\u002F\u002Flayaair.com\u002F3.3\u002Fdoc\u002Freleased\u002FcommandLine\u002Freadme.html>；官方论坛答复\"IDE 已支持 headless CLI 模式、CLI 工作流开发中\"：\u003Chttps:\u002F\u002Fask.layabox.com\u002Fd\u002F55091>\n- Laya 官方 AI 相关仓库：\u003Chttps:\u002F\u002Fgithub.com\u002Flayabox\u002Flayaair-cli>（2026-06）、\u003Chttps:\u002F\u002Fgithub.com\u002Flayabox\u002Flayaair-skills>（2026-09）、\u003Chttps:\u002F\u002Fgithub.com\u002Flayabox\u002FLayaAir-mcp-plugin>（2025-11）；官方 AI 产品 LayaIdea：\u003Chttps:\u002F\u002Flayaidea.layabox.com\u002F>；引擎仓库 \u003Chttps:\u002F\u002Fgithub.com\u002Flayabox\u002FLayaAir>（MIT，2026-09-24，**组织内无 IDE 源码 → IDE 闭源**）\n- 行业盘点（2026-05）：Cocos 覆盖国内小游戏公司比例、uni-app\u002FTaro 不适合复杂游戏：\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7642258996859355162>\n- 全程 AI 上线微信小游戏的复盘（2026-08，Canvas2D+TS+Vite，人工负责规范\u002F架构\u002F多端封装\u002F提审）：\u003Chttps:\u002F\u002Farticle.juejin.cn\u002Fpost\u002F7669058712007147539>\n- 第三方\"AI 时代引擎选择\"观点（Godot 纯文本场景适合 AI、Cocos 3.x\u002FUnity 因序列化不透明受阻；该文对 Godot 多端导出的说法不含小游戏，需按本文矩阵修正理解）：\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7633051643748024363>\n- 本机实测（Demo）：`miniprogram-ci` 周下载 21,609、`miniprogram-automator` 0.12.1\u002F2023-11-06、`tt-minigame-ide-cli` 2.1.1\u002F258、Phaser 4.2.1、pixi.js 8.22.0、@pixi\u002Fui 2.4.1(MIT, peer `pixi.js ^8.6.2`)、planck 217,176\u002F周、微信包体上限 主包 4MB／总包 ≤30MB／独立分包 ≤4MB\n\n## 附录 D：第二路调研依据（引擎官方件、团结引擎收费）\n\n- 官方 `cocos-cli` 仓库（cocos 组织、MIT、建 2025-09-04、最近推送 2026-09-28；`cocos create\u002Fbuild --platform`、`--no-interactive`、`cocos start-mcp-server --port 9527`；README 只声明 Windows\u002FmacOS）：\u003Chttps:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos-cli>\n- Cocos 3.8 命令行构建（`--project` + `--build \"platform=wechatgame;debug=true\"`、`configPath`\u002F`stage=bundle`\u002F`buildScriptsOnly`、**退出码 36 成功 \u002F 32·34 错误**、需 GUI 会话、仅 Win\u002Fmac 范例）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-in-command-line.html>\n- Cocos 原生环境要求（JDK17、Android Studio 2022.2\u002F2022.3、NDK r21~r23、Xcode 14+）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fsetup-native-development.html>；4.0 iOS 指南\"即可生成 Xcode 项目\"：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fios\u002Fbuild-example-ios.html>；编辑器系统要求仅 Win\u002FmacOS（无 Linux）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Fgetting-started\u002Finstall\u002F>\n- Cocos 3.8.8 官方公告（2025-12-16）：\u003Chttps:\u002F\u002Fforum.cocos.com\u002Ft\u002Ftopic\u002F172319>；Cocos 用户服务协议（2022-09-01，\"是否收费以公示为准\"）：\u003Chttps:\u002F\u002Fdownload.cocos.com\u002FCocosUdc\u002Fagreement\u002FCocos_User_Service_Agreement_cn_20220901.html>\n- 3.8 无 QQ 小游戏专页（`publish-qqplay.html` 已 404，仅 2.x\u002F3.2 手册有\"QQ 玩一玩\"）；社区做法：\u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F167278>（2025-04-21）\n- 团结引擎平台支持（**微信／抖音／快手** + Unity 小游戏宿主，\"更多平台即将推出\"）：\u003Chttps:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002F1.7\u002FManual\u002FPlatformSupport.html>；《快手小游戏转换 SDK》：\u003Chttps:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002F1.7\u002FManual\u002FKuaishouSDK.html>；1.7.3 发布 2025-10-23\n- 团结引擎授权新政（2025-07-01 生效：\u003C150 万元免费个人版；150 万–1500 万 需 1 套基础编辑器 **18888 元\u002F年** 无水印发小游戏；>1500 万按席位；1.6.0 起收构建费）：\u003Chttps:\u002F\u002Fdeveloper.unity.cn\u002Fprojects\u002Ftuan-jie-yin-qing-zui-xin-shou-quan-zheng-ce-sheng-ming-2025nian-7yue>；社区答复称小游戏构建费减免至 2027-06-30：\u003Chttps:\u002F\u002Fdeveloper.unity.cn\u002Fask\u002Fquestion\u002F69d5ce8cedbc2a25b3892e35>\n- 团结 2.0（2026-07-28 发布会，内嵌 AI Agent\"团结Codely\"）与\"Unity 6 不再开放中国用户\"：\u003Chttps:\u002F\u002Fwww.36kr.com\u002Fp\u002F3934480632462729>\n- Egret 停止运营（2022-02，仅第三方社区维护）：\u003Chttps:\u002F\u002Fnews.17173.com\u002Fcontent\u002F04042026\u002F163758762.shtml>\n\n---\n\n# 第 4 篇 · 代码优先栈\"全部自建\"做全平台导出：可行吗？有现成件吗？（第四版）\n> 原文件：`docs\u002Fcode-first-selfbuilt-multiplatform-2026-10.md`（已并入本篇）\n\n# 代码优先栈\"全部自建\"做全平台导出：可行吗？有现成件吗？（第四版）\n\n2026-10-06 ｜ 前三版：`agent-tech-stack-review-2026-10.md`（存量，D1–D10）→ `agent-first-stacks-new-project-2026-10.md`（新项目，D11–D24）→ `agent-plus-multiplatform-stacks-2026-10.md`（多端交集，D25–D37）。本文决策编号从 **D38** 起。\n讨论对象 = 上一版的 **R3**：`Phaser 4 \u002F PixiJS 8 \u002F three.js + 自维护多端 shim + Capacitor`。\n标注：`[实测]` 我亲自核过；`[代理查证]` 子代理取证（URL 在附录）；`[估]` 我的估计，不是任何官方承诺。\n\n---\n\n## 0. 一句话结论\n\n**技术上可行，成本可控，但\"全部自建的成熟方案包\"不存在——你能选到的是\"零件\"，不是\"整体\"。** 具体分三句话：\n\n1. **跨端统一适配层没有可选型的开源件**。我这次专门找过：最接近的 `@pixifact\u002Fplatform-*`（0★、仅 Web\u002F微信\u002F抖音、末次提交 2026-06-01）、`minigame-std`（**GPL-3.0**，只 polyfill fetch\u002Ffs\u002Fcrypto\u002Fwebaudio）、`godot-minigame`（9★、Godot 专用）。**结论：中间那层归一接口必须你自己拥有。**\n2. **但每一端都有\"官方单端 adapter\"**，所以事实上的成熟模式是**以微信为基准 + 每端薄壳**：微信官方 `weapp-adapter.zip` 直链、支付宝官方 `my-adapter.js`\u002F`microgame-adapter.js`、B站官方 `weapp-adapter.js` + `blapp-adapter-cocos.js` 直链、快手开发者工具\"开启自动适配微信\"会**自动生成 `kwaiadapter.js`**、OPPO 有官方\"微信小游戏一键转 OPPO\"转换工具。→ 你要写的不是\"七套 DOM 垫片\"，而是**一套业务 API 归一层 + 各端薄壳**。\n3. **原生壳与 H5 渠道是真成熟的**：Capacitor **8.5.2**（MIT，2026-09-11）+ Phaser 官方出的 iOS\u002FAndroid 接入教程；H5 出海有 Poki SDK v2、CrazyGames SDK v3、GameDistribution `GD-HTML5`（MIT 1.3.0）。**但两个硬数字要先看**：① iOS WKWebView 性能——微信官方同场景数据 **10–15 FPS vs 原生渲染 48–50 FPS**（这就是\"高性能模式\"存在的原因，也是 WebView 壳的量级代价）；② 国区安卓上架要**营业执照＋网文证＋增值电信许可证＋ISBN 版号＋软著**（小米官方，无版号只能\"预约\"）→ **原生 App 的门槛是资质，不是代码**。\n\n**顺带一句诚实话**：我**没找到**任何\"用 Phaser\u002FPixi 做到多个小游戏端同时上线\"的公开可查案例（只有单端 demo 级）。所以这条路的成熟度是\"零件成熟、集成无先例可查\"，别按\"业界都这么做\"来评估风险。\n\n---\n\n## 1. 分层拆解：哪层现成、哪层空白\n\n| 层 | 能直接选（成熟件） | 能抄但要改 | 必须自己写 |\n|---|---|---|---|\n| **渲染\u002F玩法** | Phaser 4.2.1（MIT，40,410★）、PixiJS 8.22.0 + `@pixi\u002Fui` 2.4.1（MIT）、three r186（MIT，24,326,206 次\u002F周）`[实测]` | 骨骼动画：Spine 运行时只能**单向消费**导出 JSON | 玩法代码、UI 组件层（Phaser 无成套控件） |\n| **DOM\u002FBOM 垫片** | 微信 `weapp-adapter.zip`（官方直链）、支付宝 `my-adapter.js`\u002F`microgame-adapter.js`、B站 `blapp-adapter-cocos.js`、快手 `kwaiadapter.js`（工具自动生成）`[代理查证]` | 各家 adapter 都是**按 Cocos\u002FLaya\u002FEgret 的形状**写的，Phaser\u002FPixi 用要裁剪（我 Demo 自写 \u003C300 行即跑通，与 2026-08 那篇复盘一致） | QQ、小米\u002F华为\u002Fvivo 快游戏这几端**未找到官方 adapter** → 自己补 |\n| **业务 API 归一层**（登录\u002F支付\u002F广告\u002F分享\u002F排行榜\u002F生命周期\u002F隐私授权） | ❌ **没有成熟开源件**（本文核心发现） | 各家 api-typings 可当形状来源（但 QQ\u002F快手\u002FB站**无 typings**） | ✅ **整层自建**，约 15–20 个接口面（§3） |\n| **构建\u002F打包** | Vite 7.3.6、esbuild、`miniprogram-ci` 2.1.31、`@douyin-minigame\u002Fcli` 0.4.0、`bili-sgame-cli` 2.1.22、`@vivo-minigame\u002Fcli` 1.27.45、`minidev` 2.2.5 `[实测]` | 分包结构、远程资源策略要按端调 | **Vite 小游戏专用插件：未找到** → 我 Demo 的三 mode + `finalize-wxgame.mjs` 就是这块自研 |\n| **无头自证** | Chromium\u002FEdge headless、Playwright\u002FPuppeteer、Vitest | 各家 IDE 的模拟器无法无头驱动（`miniprogram-automator` 不覆盖小游戏 `[实测]`） | 喂帧断言框架（Demo 已实现：`TimeStep.step(time)`） |\n| **原生壳** | Capacitor 8.5.2（MIT，36 个官方插件，含 SplashScreen\u002FKeyboard\u002FFilesystem\u002FStatusBar\u002FSystem Bars）、Cordova 13.0.0、Tauri 2.12.1（移动端用系统 WebView） | 音频要用户手势解锁（Capacitor 不提供绕过）；iOS 最低 15；HTTP 资源要手写 Info.plist（v8 未文档化 ATS） | **App 内 `wx.*` 反向 mock：未找到成熟件** → 自己写（这层其实最简单，因为 Web 有原生实现） |\n| **H5 渠道** | Poki SDK v2、CrazyGames SDK v3、`GD-HTML5` 1.3.0（MIT）、华为快游戏官方文档 | Poki 明文要求\"广告期间关闭音频与键盘输入\"→ 要有中断状态机 | 国内 4399 文档站是 JS 渲染**正文不可核**、闪玩未找到 |\n\n---\n\n## 2. 逐端可行性与工作量（[估] 人日，按\"已有微信端\"为基线）\n\n| 端 | 官方 adapter | 上传\u002F预览可脚本化？ | 包体上限（主包\u002F总包） | 剩余自建面 | [估] |\n|---|---|---|---|---|---|\n| 微信（基准） | ✅ 官方 zip | ✅ `miniprogram-ci` | 4MB \u002F ≤30MB（独立分包 ≤4MB） | — | 已做完（Demo） |\n| 抖音 | ✅ 官方 Adapter 章节（直链未取到） | 🟡 IDE 内置 `bytecli`，首次登录要人 | 4MB \u002F 20MB；**支持开放数据域** | 登录\u002F广告\u002F分享 API 名差异 | 2–3 |\n| QQ | ❌ 未找到官方 adapter | 🟡 官方 `cli -l\u002F-p\u002F-u`，依赖本地 IDE | 4MB \u002F 20MB `[代理查证]`；**小游戏侧上限未找到官方原文** | 垫片 + 业务层 + 自己写 d.ts | 3–5 |\n| 快手 | ✅ **工具自动生成 `kwaiadapter.js`**（\"开启自动适配微信\"） | ❌ **无 CLI，上传只有 GUI + 扫码** | 6MB \u002F 30MB | 业务层；每次发版要人点一下 | 2–3 |\n| 支付宝 | ✅ `my-adapter.js`\u002F`microgame-adapter.js` | 🟡 `minidev` 2.2.5（token 口径未取证） | 4MB \u002F 20MB | `my.*` 与 `wx.*` 差异（这是最大一块未知）、开放数据域**未找到官方依据** | 4–6 |\n| Bilibili | ✅ 官方 zip + cocos 版直链 | 🟡 `bili-sgame-cli` 2.1.22 | 4MB \u002F 30MB | 业务层 + 自己写 d.ts | 2–3 |\n| 华为\u002F小米\u002FOPPO\u002Fvivo 快游戏 | ❌ 未找到官方 adapter（OPPO 有\"微信一键转换\"工具） | 🟡 vivo 有官方 npm CLI；华为 `.rpk`+openssl；小米 RPK 可脚本 | 华为代码包 10MB／小米 4MB+RPK 30MB／vivo 4MB | 联盟 API 与微信差异**未找到官方对照表**（D40） | 每厂 2–4 |\n| H5（自有站） | 不需要 | ✅ | — | 无 | 0.5 |\n| H5 出海渠道 | ✅ Poki\u002FCrazyGames\u002FGD 官方 SDK | ✅ | — | 中断状态机（广告期间锁音频\u002F输入） | 2–3 |\n| 原生 App | 不需要（Web 原生） | 🟡 Capacitor 可 CLI，签名\u002F上架要人 | — | `wx.*` 反向 mock（薄）＋资质 | 3–5 + 资质不可控 |\n\n**合计**：七端 + H5 + 原生 ≈ **[估] 25–40 人日**（不含玩法与美术），其中**约 40% 是\"归一层的接口设计 + 各端差异取证\"**，这部分恰好是 agent 最能干、且最容易用类型与断言钉死的活。\n\n---\n\n## 3. 必须自己写的那一层：接口面清单（这就是\"全部自建\"的真实内容）\n\n```\nsrc\u002Fplatform\u002F\n  types.ts        GamePlatform 接口（唯一真源，业务只认它）\n  web.ts          Capacitor\u002FH5 用（localStorage、fetch、Audio、pointer）\n  wx.ts  tt.ts  qq.ts  ks.ts  my.ts  bili.ts  quick.ts(联盟)\n  __tests__\u002F      每个实现跑同一套契约测试（判据来自官方文档行号，不能照抄自己的产物）\n```\n接口面（15–20 个，按\"差异最大\"排序，前 5 个决定成败）：\n1. **登录与鉴权**（`wx.login` \u002F `tt.login` \u002F `my.getAuthCode` \u002F 快游戏各家不同）→ 后端换 openid 的链路每端不同；\n2. **支付\u002F内购**（国内小游戏端基本只有安卓可内购，iOS 走广告变现）；\n3. **广告**（激励视频\u002F插屏\u002Fbanner 的命名与回调形状各家不同，**跨端聚合 SDK 我这一轮还没取证 = D41**）；\n4. **开放数据域\u002F好友排行榜**（微信、抖音明确支持；**支付宝\u002FB站\u002F快游戏未找到官方依据**，D42）；\n5. **分包与远程资源**（上限各不同：华为 10MB／多数 20MB／微信 30MB；主包 4MB 是共性，快手 6MB）；\n6. canvas\u002F图片\u002F音频创建、触摸事件归一（我 Demo 已做：`wx.onTouchX → 合成 TouchEvent → Phaser`）；\n7. 生命周期（onShow\u002FonHide ↔ visibilitychange）、剪贴板、震动、键盘、隐私授权弹窗、网络类型、系统信息、字体子集\u002F度量。\n\n**为什么这层适合交给 agent**：它是纯 TypeScript + 契约测试，能类型检查、能无头跑、能并行分片（每端一个文件互不打架），且**判据可以钉到官方文档 URL**（避免\"照抄自己的 mock\"）。我 Demo 里 `src\u002Fcore\u002Fplatform.ts` + `src\u002Fminigame\u002Fadapter.ts` + `tools\u002Fadapter-node-test.mjs`（24 项，含假 `wx`）就是这层的最小可运行范式。\n\n---\n\n## 4. 工具链与类型现状（直接影响 agent 能不能自证）\n\n| 端 | 官方\u002F社区 TS typings | 备注 |\n|---|---|---|\n| 微信 | ✅ `minigame-api-typings` **3.8.21**（2026-07-27，wechat-miniprogram 组织）、`miniprogram-api-typings` 5.2.3（2026-08-07，MIT） | 小游戏专用那份最有用 |\n| 抖音 | 🟡 `@douyin-minigame\u002Fapi-typings` **1.3.0**（2026-07-16，维护者含 bytednpm，疑官方） | |\n| 支付宝 | 🟡 `@mini-types\u002Falipay` 3.0.14（2024-01，**偏小程序不是小游戏**） | 小游戏侧要自己补 |\n| QQ \u002F 快手 \u002F B站 \u002F 快游戏联盟 | ❌ **未找到 api-typings** | agent 要自己写 `.d.ts`，而**判据只能来自文档正文**（多家文档是 SPA 抓不到正文 → D43 要人工截图\u002F导出） |\n\n构建侧：**Vite 小游戏专用插件未找到**（npm 搜 `vite-plugin minigame` 无命中）。所以\"多 mode 构建 + 包体自查 + require 注入\"这类脚本要自己维护——Demo 里 `vite.config.ts`（三 mode）+ `tools\u002Ffinalize-wxgame.mjs`（4 项硬自查）已经给了可复制的做法。另有微信官方 `wx-transformer`（面向 Emscripten\u002FC++ 自研引擎，对 JS 引擎用处有限）。\n\n---\n\n## 5. 原生与 H5 渠道的真实门槛（不是代码）\n\n- **性能**：iOS WebView 是这条路线最大的量级损失（微信官方 10–15 FPS vs 原生渲染 48–50 FPS）。缓解办法只有两条：把游戏做成\"轻量 2D + 低分辨率\"，或**放弃 WebView 壳改用引擎原生 runtime**（那就回到 R1\u002FR4：Cocos 真原生工程、Laya LayaNative）。\n- **内存**：Cocos 官方 iOS 指南给的口径是 2GB 机型上限约 1GB、3GB 约 1.4GB，音频约 20MB，建议 ASTC → 内存预算要写成构建门禁（资源总量 + 纹理格式断言）。\n- **审核**：App Store 指南 4.2 原文要求\"elevate it beyond a repackaged website\"，2.5.2 禁止下载\u002F执行会改变 App 功能的代码 → **纯 URL 套壳高危、远端整包热更高危**；游戏资源打进 bundle + 加原生能力（离线包\u002FGame Center\u002F原生插件）才可控。\n- **资质**：国区安卓商店（小米官方页）要营业执照、网文证、增值电信许可证、ISBN 版号、软著及授权书；无版号只能\"预约\"。→ **原生 App 渠道要先解决版号，再谈技术方案**（D44）。\n- **H5 出海**：Poki\u002FCrazyGames\u002FGD 三家 SDK 都要求\"广告中断时锁住音频与输入\"，所以玩法层必须有可暂停状态机——这条要一开始就设计进去，事后补很痛。\n\n---\n\n## 6. 三条实施路线（都在 R3 内部）\n\n| 路线 | 做法 | 适合 | 代价 |\n|---|---|---|---|\n| **P1 纯自建归一** | 一套 `platform` 接口 + 每端 adapter + 每端 CLI 脚本；agent 全自动写与测 | 你确实要 7 端且能接受每端 2–6 人日 | 无先例可抄，风险自己扛；QQ\u002F快手\u002FB站 无 typings |\n| **P2 微信基准 + 官方转换工具兜底**（**我推荐**） | 只把微信端做\"真源端\"；快手用\"自动适配微信\"生成 `kwaiadapter.js`、OPPO 用官方\"微信一键转换\"、B站\u002F支付宝用官方 adapter；归一层只写差异部分 | 想省一半工作量 | 转换工具多为 GUI\u002F闭源 → 那几端的发版会引入人工步骤（快手本来就要 GUI） |\n| **P3 混合：R3 主干 + 最难端交给 R1\u002FR4** | 微信\u002F抖音\u002FH5\u002F原生用 Phaser\u002FPixi；把支付宝或快游戏这类差异最大的端，用 Cocos\u002FLaya 出一个\"壳工程\"发布 | 商业上必须全端但团队小 | 两套工程\u002F两套美术管线，长期维护成本翻倍（**不推荐**，除非某端收入权重极高） |\n\n**与 R1\u002FR4 的最终对比（一句话版）**：R1\u002FR4 是\"用编辑器在场换官方端覆盖\"，R3 是\"用自建 25–40 人日 + 无先例风险换 agent 全自动\"。**如果\"AI 完成全部编码\"是硬约束，只有 R3 满足；如果\"七端一次导出\"是硬约束，R3 + P2 是唯一现实解，且快手\u002F百度两端仍需人工点上传。**\n\n---\n\n## 7. 待确认 D38–D48\n\n| # | 问题 | 默认值 |\n|---|---|---|\n| D38 | 是否接受\"归一层 + 各端薄壳\"由我们自己拥有（无开源件可选） | 接受，按 P2 出接口设计稿 |\n| D39 | 首发必须端清单（决定要不要碰支付宝\u002F快游戏这些差异最大的端） | 按 微信＋抖音＋H5 首发 |\n| D40 | 快游戏联盟与微信的 API 差异**没有官方对照表** → 要不要花钱买一份实测（或找用过的人） | 先只做华为，其余端 T+3 月 |\n| D41 | 跨小游戏端的**广告聚合 SDK** 有没有成熟件（我这轮未取证，后台在跑） | 按\"每端各自接、归一层里加 `ads.ts`\"设计 |\n| D42 | 支付宝\u002FB站\u002F快游戏的**开放数据域\u002F好友排行**是否支持（未找到官方依据） | 这些端不做好友榜，改服务端排行榜 |\n| D43 | QQ\u002F快手\u002FB站\u002F联盟**无 TS typings**，且多家文档是 SPA 抓不到正文 → 要不要人工导出文档做判据库 | 要，我建 `docs\u002Fplatform-spec\u002F` 存证据 |\n| D44 | 版号\u002F软著是否已具备（决定原生 App 与国区安卓渠道是否可行） | 未具备 → 原生 App 从目标里去掉，只保留小游戏 + H5 |\n| D45 | iOS 用 WebView 壳的性能是否可接受（10–15 FPS 量级） | 不可接受 → 原生 App 不做，或改走 R1 真原生 |\n| D46 | 是否要 H5 出海（Poki\u002FCrazyGames\u002FGD 三家接入约 2–3 人日 + 中断状态机） | 要，则一开始就把\"可暂停状态机\"写进玩法层 |\n| D47 | 要不要我把 Demo 扩成 P2 的最小可用版（加 `tt.ts` + 抖音构建 mode + 契约测试） | 等你点头（本轮只写了文档，未动 Demo） |\n| D48 | `minigame-std` 是 GPL-3.0、`Pixifact` 0★——是否允许引入这类依赖 | 不允许，只当参考实现读源码 |\n\n---\n\n## 附录：证据\n\n**各端官方 adapter \u002F 工具**\n- 微信 Adapter（含 `weapp-adapter.zip` 直链）：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fruntime\u002Fadapter.html>、通用引擎适配 \u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcommon-adaptation.html>、`wx-transformer` \u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcommon-adaptation\u002FDesign\u002FTransformTool.html>、官方 \u003Chttps:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fminigame-adaptor>（136★，Unity 美术迁移用）\n- 支付宝 小游戏 adapter：\u003Chttps:\u002F\u002Fopendocs.alipay.com\u002Fmini-game\u002F08tzon>（经 Laya 文档引用 \u003Chttps:\u002F\u002Flayaair.com\u002F3.3\u002Fdoc\u002Freleased\u002FminiGame\u002Falipaygame\u002Freadme.html>）\n- B站 引擎适配（`weapp-adapter.js`\u002F`blapp-adapter-cocos.js` 直链）：\u003Chttps:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fguide\u002Fcompatibility\u002F>、\u003Chttps:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fengine\u002Fcommon\u002F>\n- 快手 开发者工具（\"开启自动适配微信\"→ `kwaiadapter.js`）：\u003Chttps:\u002F\u002Fopen.kuaishou.com\u002FminiGameDocs\u002FgameDev\u002Fstart\u002Fdevtool.html>；Laya 快手导出指南 \u003Chttps:\u002F\u002Fdocs.qingque.cn\u002Fd\u002Fhome\u002FeZQCnNVAKcY5kmYvimRU0L7Pt>\n- OPPO 微信小游戏一键转换：\u003Chttps:\u002F\u002Fopen.oppomobile.com\u002Fdocumentation\u002Fpage\u002Finfo?id=12543>；vivo Unity 适配 \u003Chttp:\u002F\u002Fh5.vivo.com.cn\u002Fvmix\u002Fvivo-unity-doc\u002Flesson\u002FSummary.html>；小米 Unity 导出 \u003Chttps:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=2165>；华为快游戏 \u003Chttp:\u002F\u002Fdeveloper.huawei.com\u002Fconsumer\u002Fcn\u002FquickGame>\n- 抖音 Adapter 章节（SPA，直链未取到）：\u003Chttps:\u002F\u002Fdeveloper.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-game\u002Fdevelop\u002Fframework\u002Fruntime\u002Fadapter>；QQ 分包 \u003Chttps:\u002F\u002Fq.qq.com\u002Fwiki\u002Fdevelop\u002Fgame\u002Fframe\u002Fability\u002Fsubpackages.html>（**未找到 QQ 官方 adapter**）\n\n**\"跨端统一层\"候选（都不够成熟）**\n- `@pixifact\u002F*`（MIT，v0.18.0，0★，仅 Web\u002F微信\u002F抖音）\u003Chttps:\u002F\u002Fgithub.com\u002Fhxg2050\u002Fpixifact>；`minigame-std`（**GPL-3.0**）\u003Chttps:\u002F\u002Fgithub.com\u002FJiangJie\u002Fminigame-std>；`godot-minigame`（9★）\u003Chttps:\u002F\u002Fgithub.com\u002Fmkdevkit\u002Fgodot-minigame>；`@chiyou\u002Fminigame-framework`（版本号自相矛盾，不可采信）\n\n**TS typings \u002F CLI**\n- `minigame-api-typings` 3.8.21、`miniprogram-api-typings` 5.2.3 \u003Chttps:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fapi-typings>；`@douyin-minigame\u002Fapi-typings` 1.3.0；`@mini-types\u002Falipay` 3.0.14；`@douyin-minigame\u002Fcli` 0.4.0；`wasmsplit-v2-ci` 2.1.5；`@open-dy\u002Ftt-wasmsplit-ci` 1.0.9\n\n**原生壳 \u002F H5 渠道 \u002F 性能与合规**\n- Capacitor 8.5.2（MIT，2026-09-11）\u003Chttps:\u002F\u002Fgithub.com\u002Fionic-team\u002Fcapacitor\u002Freleases>、v8 APIs \u003Chttps:\u002F\u002Fcapacitorjs.com\u002Fdocs\u002Fv8\u002Fapis>、iOS 配置 \u003Chttps:\u002F\u002Fcapacitorjs.com\u002Fdocs\u002Fv8\u002Fios\u002Fconfiguration>；社区 native-audio \u003Chttps:\u002F\u002Fgithub.com\u002Fcapacitor-community>；@capawesome edge-to-edge \u003Chttps:\u002F\u002Fcapawesome.io\u002Fdocs\u002Fsdks\u002Fcapacitor\u002Fandroid-edge-to-edge-support\u002F>\n- Phaser 官方 Capacitor 教程 \u003Chttps:\u002F\u002Fphaser.io\u002Ftutorials\u002Fbring-your-phaser-game-to-ios-and-android-with-capacitor>、示例仓库 \u003Chttps:\u002F\u002Fgithub.com\u002Fphaserjs\u002Fstarshake-capacitor-tutorial>\n- Tauri 2.12.1 移动端用系统 WebView \u003Chttps:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F>；Cordova 13.0.0 \u003Chttps:\u002F\u002Fcordova.apache.org\u002F>；Bubblewrap v1.25.0 \u003Chttps:\u002F\u002Fgithub.com\u002FGoogleChromeLabs\u002Fbubblewrap>；WebKit 存储政策 \u003Chttps:\u002F\u002Fwebkit.org\u002Fblog\u002F14403\u002Fupdates-to-storage-policy\u002F>\n- Poki \u003Chttps:\u002F\u002Fdevelopers.poki.com\u002Fguide\u002Fworking-with-poki>、CrazyGames \u003Chttps:\u002F\u002Fdocs.crazygames.com\u002Fsdk\u002Fintro\u002F>、GameDistribution \u003Chttps:\u002F\u002Fgithub.com\u002FGameDistribution\u002FGD-HTML5>（MIT 1.3.0）、4399 \u003Chttps:\u002F\u002Fopen.4399.cn\u002Fdocs\u002F>（JS 渲染，正文不可核）\n- 性能与内存：微信小游戏高性能模式（iOS WKWebView 10–15 FPS vs 原生 48–50）\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fperformance\u002Fperf-high-performance.html>；Cocos iOS 内存指南 \u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fwechat-ios-optimize.html>\n- 合规：App Store Review Guidelines 4.2\u002F2.5.2\u002F2.5.6 \u003Chttps:\u002F\u002Fdeveloper.apple.com\u002Fapp-store\u002Freview\u002Fguidelines\u002F>；小米游戏上架要求 \u003Chttps:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=1383>、休闲\u002F广告游戏流程 \u003Chttps:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=1368>\n- 移植工作量证据：Phaser 4 微信小游戏 MVP（自写 \u003C300 行 adapter）\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7672283918332706862>；three.js 小游戏踩坑实录（iOS `style` 重定义崩溃、`setTimeout` 未定义黑屏，数天）\u003Chttps:\u002F\u002Fjuejin.cn\u002Fpost\u002F7611432097543192603>\n\n---\n\n# 第 5 篇 · LayaAir 3 vs Cocos Creator 深度对比审查报告\n> 原文件：`docs\u002Flayaair-vs-cocos-对比审查报告-2026-10.md`（已并入本篇）\n\n# LayaAir 3 vs Cocos Creator 深度对比审查报告\n### 场景锁定：全新项目 ｜ 硬约束①AI agent 完成全部编码 ｜ 硬约束②全平台导出\n\n2026-10-06 **v3（两路深挖均已回填，评分发生反转）** ｜ 系列第五篇。决策编号 **D49–D73**，跨版不复用。\n标注：`[实测]` 我亲自核对；`[代理查证]` 子代理取证（URL 见附录 A）；`[官方声明]` 厂商原话（≠我验证过）；`[估]` 我的估计；`未找到` = 明确查不到，不当作已知。\n**v2→v3 的变化不是措辞，是结论**：Cocos 侧取证推翻了\"官方 CLI\u002FMCP 路线可用\"这个印象（见 §3.2\u002F§3.3），Laya 侧的\"无 GUI CLI\"反而是本轮最硬的加分项。\n\n---\n\n## 0. 结论先行\n\n**一句话**：**在\"AI 全自动出包到小游戏端\"这条最硬的约束上，目前只有 LayaAir 的官方文档声称做得到（新 CLI 无 GUI 依赖、可进 GitHub Actions、覆盖 10 端 + Linux 原生）；Cocos 的 headless `cocos-cli` 平台清单里根本没有小游戏端（只有 web-desktop\u002Fweb-mobile\u002Fandroid\u002Fios + mac\u002Fwindows\u002F鸿蒙\u002FAGP），要出微信包只能回到 3.8 编辑器命令行——而它官方原文要求图形会话、无 Linux。** 代价是：Cocos 的 **agent 改场景**有可用件（3.8 第三方 MCP 105 工具），Laya 这块**是空白**（官方 MCP 插件仓库已归档、skills 只有 2 个技能且不含搭场景、官方《AI开发路线》明写\"AI 单独完整生成游戏\"暂不支持）。\n\n**加权评分（AI 编码 35% \u002F 全平台导出 30% \u002F 工程化 15% \u002F 能力面 10% \u002F 生态语料 5% \u002F 费用 5%）**\n\n| 维度 | 权重 | Cocos | Laya | 本轮依据 |\n|---|---|---|---|---|\n| AI 完成全部编码 | 35% | **7.0** | **6.8** | Cocos：3.8 有第三方 MCP 可改场景 + 语料厚，但构建需 GUI、官方 MCP 绑在未发布的 4.0 alpha。Laya：无 GUI CLI 可全自动出包，但**场景级自动化无可用件** + 语料薄（幻觉率高） |\n| 全平台导出 | 30% | 7.3 | **8.2** | 两家都缺 QQ\u002F快手；Laya 新 CLI 覆盖 10 端（含 B站\u002F小米\u002F华为）+ **Linux\u002FSteam 原生**；Cocos 官方端别是微信\u002F淘宝\u002F抖音\u002FOPPO\u002Fvivo\u002F华为\u002F荣耀，且**小游戏端在 headless 侧不存在** |\n| 新项目工程化 | 15% | 6.0 | **8.5** | Cocos：CI 官方示例未找到、命令串 ≤125 字符、macOS 换行符坑、无 Linux；Laya：官方称可 GitHub Actions，但 CLI 运行时闭源需联网拉取、同样无官方 CI 示例 |\n| 能力面（2D\u002F3D\u002FUI\u002F物理） | 10% | 8.0 | **8.5** | Cocos UI 齐但**无官方 List\u002FVirtualList**（靠社区\u002F商店补位）；Laya 新 UI（官方称 FairyGUI 同构）自带 List\u002FDialog\u002FTab\u002FViewStack，另有 Worker、WebGPU 路线、2D Box2D + 3D Bullet\u002FPhysX 内置 |\n| 生态\u002F语料（LLM 熟悉度） | 5% | **8.5** | 4.5 | 9,846★ vs 2,204★；Laya 文档源仓库 7★、NewUI-Examples 0★、示例旧库 2021 停更、GitHub 仅 9 open issue（反馈沉在自家论坛，机器不可读） |\n| 许可与费用 | 5% | **8.5** | 8.0 | **本轮纠正**：cocos-engine **v3.8.8 的 LICENSE.md 就是标准 MIT**，无流水门槛、无 splash 要求（GitHub 显示 NOASSERTION 只是因为仓库内含多份第三方许可）；Laya 引擎 MIT + 博客承诺基础永久免费无分成 `[官方声明]`，但 **IDE 商用授权条款未找到** |\n| **加权总分** | | **7.25** | **7.43** | **反转：Laya 反超 0.18**，完全落在打分噪声内 |\n\n**推荐（v3）**：\n1. **评分已不足以裁决 → 必须实测**（§9.1 对撞测试从\"建议\"升级为\"签选型前置条件\"）。\n2. 现在就要拍的规则：\n - **\"agent 端到端无人值守出七端包\"是刚需** → **Laya**（唯一有官方文档声称无 GUI 可行；先做 D64 的容器实测）。\n - **\"agent 要能改界面\u002F场景\"是刚需** → **Cocos**（3.8 + 第三方 MCP 105 工具；接受构建节点要图形会话）。\n - **两条都要 100%** → 都不选，走第四版 R3（Phaser\u002FPixi + 自建归一层，`Demo\u002F` 已实测微信端全自动）。\n3. **不要押 COCOS 4 \u002F PinK 做 2026 年的生产依赖**：4.0 引擎只到 **4.0.0-alpha.34（2026-09-20）**、无 GA；PinK 官方明示\"请勿用于生产环境\"、邀请码制、许可与定价未找到；而 docs.cocos.com 已有\"4.0 (LTS)\"手册——**文档与实现不一致本身就是风险**。\n\n---\n\n## 1. 三条硬约束的逐条判定\n\n| 约束 | Cocos Creator | LayaAir 3 | 依据 |\n|---|---|---|---|\n| ① AI 完成**全部**编码 | 🟡 代码全自动 + **改场景有件（第三方）**；但小游戏包必须经 3.8 编辑器 CLI（**需图形会话**） | 🟡 代码 + **无 GUI 出包**；但**改场景无件**（MCP 插件已归档、skills 无场景技能、IDE 内置 MCP 要 GUI+Key+每会话重导） | §3.2\u002F§3.3 |\n| ② 全平台导出（7 端） | 🟡 官方 5\u002F7 + 原生（无 Linux）；**headless 侧 0\u002F7** | 🟡 官方 5\u002F7 + 原生含 **Linux\u002FSteam**；缺 QQ、快手 | §2 |\n| ③ 新项目可承受 | ✅ 3.8.8（LTS，2025-12-16）`[实测]` | 🟡 **3.4.1（2026-08-31）与 3.3.13（2026-09-17）并行发版** → 选线要定（D63） | §5 |\n| 附：agent 并行改界面 | ❌ 编辑器单实例 | ❌ 同理 | 共同天花板 |\n| 附：CI 无人值守 | ❌ 小游戏端无 headless 路径；3.8 CLI 要 GUI 会话；Linux 无官方支持；官方 CI 示例未找到 | 🟡 官方文档称无 GUI\u002F可 GitHub Actions；但 CLI 运行时闭源需联网、无官方 CI 示例、Linux 原生无实证 | D64 |\n| 附：厂商对\"AI 全自动\"的态度 | COCOS 4 发布稿：\"新特性采用 **MCP 或 Agent 的交付逻辑**\"`[官方声明]`（但载体是 alpha） | 《AI开发路线》：**\"AI 单独完整生成游戏\"暂不支持**`[官方声明]`（口径更诚实） | §3.2 |\n\n---\n\n## 2. 端覆盖矩阵（v3：把\"编辑器端别\"与\"headless 端别\"分开算）\n\n| 端 | Cocos **3.8 编辑器\u002FCLI** | Cocos **cocos-cli（headless）** | Laya IDE | Laya **新 CLI（headless）** | 包体（主\u002F总） |\n|---|---|---|---|---|---|\n| 微信 | ✅ | ❌ **无此端** | ✅ | ✅ | 4MB \u002F ≤30MB `[实测]` |\n| 抖音 | ✅ | ❌ | ✅ | ✅ | 4MB \u002F 20MB（支持开放数据域） |\n| 支付宝 | ✅ | ❌ | ✅ | ✅ | 4MB \u002F 20MB |\n| 淘宝 | ✅（引擎插件） | ❌ | ✅ | ✅ | 4MB \u002F 20MB |\n| 华为快游戏 | ✅ | ❌（有 huawei-agc\u002Fharmonyos-next **原生**端） | ✅ | ✅ | 代码包 10MB |\n| 小米快游戏 | ❌ 无官方页 | ❌ | ✅ | ✅ | 4MB \u002F RPK 30MB |\n| OPPO \u002F vivo | ✅ \u002F ✅ | ❌ | ✅ \u002F ✅ | ✅ \u002F ✅ | 4MB \u002F —— |\n| 荣耀 | ✅ | ❌ |  | ❌ | —— |\n| Bilibili | ❌（社区适配帖） | ❌ | ✅（**v3.4.1 新增**） | ✅ | 4MB \u002F 30MB |\n| **QQ 小游戏** | ❌ | ❌ | ❌ | ❌ | 4MB \u002F 20MB（小游戏侧上限未找到官方原文） |\n| **快手小游戏** | ❌ | ❌ |  | ❌ | **6MB** \u002F 30MB；上传只有 GUI + 扫码 `[实测]` |\n| H5 | ✅ web-mobile\u002Fweb-desktop | ✅ web-desktop\u002Fweb-mobile | ✅（单文件\u002FCrazyGames\u002FPoki） | ✅ | —— |\n| 原生 | ✅ Android\u002FiOS\u002Fmac\u002FWindows\u002F鸿蒙\u002FHMS\u002FGP | ✅ android\u002Fios\u002Fmac\u002Fwindows\u002Fhuawei-agc\u002Fharmonyos-next\u002Fohos\u002Fgoogle-play | ✅ LayaNative（Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F**Linux**） | ✅ Win\u002FAndroid\u002FiOS\u002FLinux | 资质门槛见 §6 |\n\n**这张表最重要的一格**：Cocos 的 **headless 列全是 ❌**。也就是说 Cocos 的\"全平台导出\"能力**只存在于需要图形会话的编辑器命令行里**；一旦你的目标是\"agent 在容器里把七端包都打出来\"，Cocos 现在做不到，而 Laya 声称做得到（未实证）。\n\n---\n\n## 3. AI 编码通道对比（核心章，v3 全面更新）\n\n### 3.1 场景\u002F预制体真源格式\n| 项 | Cocos 3.8 | LayaAir 3 |\n|---|---|---|\n| 文件 | `.scene`\u002F`.prefab` = **JSON 文本**（`__type__\u002F_id\u002F_children\u002F_components`，引用 uuid，uuid 在配套 `.meta`）`[代理查证]` | `.ls` 场景 \u002F `.lh` 预制体 \u002F `.lprefab`（社区解析称 JSON，字段 `type\u002Fprops\u002Fchild`） |\n| 官方格式规范 | ❌ **未找到**官方\"场景文本格式\"规范页 | ❌ 同样未找到（D65） |\n| 手写 JSON 的风险 | **社区明确警告会\"引用错乱\"** → 才出现第三方走 CLI 改 prefab 的件 | 未验证（D65） |\n| 纯代码搭场景 | ✅ 运行时 `Prefab.instantiate`\u002F`director.loadScene` + 编辑器序列化 API（`editor-extends\u002Futils\u002Fserialize`） | ✅ `Scene.open\u002FScene.load`，且 `layaair create -t \"2D empty project\"` 可不开 IDE |\n\n> 我在 2.4.15 存量工程量到的病（89% 内容在序列化 JSON）在两家都不会自动消失。**两家官方都不给场景格式规范**，这条本身就足以否决\"让 agent 直改场景文件\"的路线。\n\n### 3.2 MCP \u002F Agent 通道清单（v3 全部重核）\n| 通道 | 归属 | 版本 | 能力 | 真实状态（v3） |\n|---|---|---|---|---|\n| **Funplay MCP for Cocos** | 第三方商店 | **3.8+** | node\u002Fprefab\u002Fcomponent，**105 工具**，编辑器内 HTTP `127.0.0.1:8765`，带路径穿越检查 | 可用 `[代理查证]`；**是 3.8 上唯一能用的场景级通道** |\n| **cc-3-8-x-mcp \u002F cocos-mcp-server** | 社区 | 3.8 | 走 CLI 改 prefab（规避手写 JSON 引用错乱） | 存在，规模小 `[代理查证]` |\n| **cocos-mcp-2x** | 社区 MIT | **2.4.x** | 读写场景节点\u002F资源\u002F日志 | 个人项目，作者 2.4.15 验证 |\n| **`cocos\u002Fcocos-cli` + 内置 MCP** | Cocos 官方 | **只支持 COCOS 4，不支持 3.8** | 命令：`cocos create\u002Fbuild -p \u003Cplatform>`、`cocos start-mcp-server --project --port`、`cocos simulator`、全局 `--no-interactive`；MCP 域可从源码推断：`scene\u002Fnode\u002Fprefab\u002Fcomponent\u002Fassets\u002Fbuilder\u002Fsystem\u002Ffile-editor\u002Fengine\u002Fproject\u002Fconfiguration` | ⚠️ **435★\u002FMIT（根目录无 LICENSE 文件）\u002F需 Node 22+ + `npm run init` + `npm link`**；**`--platform` 只有 web-desktop\u002Fweb-mobile\u002Fandroid\u002Fios（源码另有 mac\u002Fwindows\u002Fhuawei-agc\u002Fharmonyos-next\u002Fohos\u002Fgoogle-play）→ 无任何小游戏端**；**MCP 工具清单无公开文档**；文档称\"无需 GUI\"但整套绑在 4.0 alpha |\n| **PinK IDE** | Cocos 官方（论坛有专版） | alpha | \"AI 驱动游戏全流水线\"、内置 Agent、支持场景编辑，与 COCOS 4\u002Fcocos-cli 集成 | ❌ **官方明示\"请勿用于生产环境\"**；0.0.1.18 Alpha（2026-05-09）；火山引擎\"万有\"上架、0.01 元测试码、邀请码未大规模发放；**许可与定价未找到** |\n| **LayaAir IDE 内置 MCP** | Laya 官方 | **IDE 3.3.6+，必须启动 IDE GUI**，需 ai-console API Key | 宣称可写文件\u002F建节点\u002F设物理；限制\"每会话重新导入项目\" | 文档存在 `[代理查证]`；性质与 Funplay 同档（人在场） |\n| **`layabox\u002FLayaAir-mcp-plugin`** | Laya 官方组织 | —— | 仅 `create-cube-in-scene`、`import-model-to-scene` | ❌ **2026-08-19 已归档只读**、无 LICENSE、2★ → 不可依赖 |\n| **`layabox\u002Flayaair-skills`** | Laya 官方组织 | —— | **只有 2 个技能**：`layaair-cli`、`layaair-ide-plugin`；能力=建项目\u002F构建\u002F校验资源\u002F导出 `.layapkg`\u002F跑脚本\u002F版本管理 | ⚠️ **无\"搭场景、挂组件\"技能**（2026-09-22 仍在更新） |\n| **`layabox\u002Flayaair-cli`** | Laya 官方组织 | Node 20+ | 建项目\u002F构建\u002F校验\u002F多端出包 | ⚠️ **仓库只有 5 个文件（install.sh\u002Fps1 + README + LICENSE），运行时本体闭源、安装时联网从厂商服务下载** → \"开源\"名不副实 |\n| 参照：Phaser 4 自带 skills | 引擎官方 | —— | `node_modules\u002Fphaser\u002Fskills\u002F` 25 主题（含 v3→v4 迁移） | `[实测]` 我写 Demo 时靠它对齐 v4 API |\n\n**净结论（v3）**：\n- **改场景**：Cocos 有件（3.8 第三方 105 工具 \u002F 4.0 官方 MCP 但 alpha）；**Laya 基本没有**（归档 + 无场景技能）。\n- **出包**：**Laya 有官方文档支持的无 GUI 路径**；**Cocos 没有**（headless 无小游戏端，3.8 CLI 要图形会话）。\n- 也就是说：**两家各自把一半能力留在了\"未发布\"或\"闭源\"里**——Cocos 押在 4.0 alpha + PinK，Laya 押在闭源 CLI 二进制。\n\n### 3.3 无头 \u002F CI 能力\n| 项 | Cocos | LayaAir 3 |\n|---|---|---|\n| 小游戏端 headless | ❌ **未找到**（cocos-cli 无小游戏端；文档称可放 `packages\u002Fplatforms` 插件自动扫描，但**该目录在仓库里不存在**） | ✅ 官方 CLI 文档列 10 端（H5\u002F微信\u002F抖音\u002FOPPO\u002Fvivo\u002F小米\u002F华为\u002FB站\u002F支付宝\u002F淘宝） |\n| 3.8 编辑器 CLI | `--project \u003Cpath> --build \"platform=X;debug=Y\"`，**命令串 ≤125 字符**；`configPath\u002FlogDest\u002Fstage\u002Ftemplate-version`；**退出码 32=参数无效\u002F失败、34=构建错误、36=成功**；**必须 GUI 会话**（Jenkins 需 WindowServer\u002F桌面 agent）；已知坑：macOS 因文档换行符使 `--build` 失效（2025-08 已解决） | 老式 `LayaAirIDE --project=… [--script=类.方法]`：**依赖已装 IDE，只 8 端**（web\u002Fwxgame\u002Fbytedance\u002Foppo\u002Fvivo\u002Fxm\u002Falipay\u002Ftb） |\n| Linux | ❌ 无官方支持（论坛 2025-02 无官方结论） | 🟡 文档列 Linux\u002Fx64\u002Farm64，**但未找到官方 CI yml 与 Linux 原生打包实证**（D64） |\n| 官方 CI 示例 | ❌ 未找到 | ❌ 未找到 |\n| 上传脚本化 | 与引擎无关：微信 `miniprogram-ci` 2.1.31 ✅ 无需 IDE；抖音\u002FQQ\u002FB站\u002Fvivo\u002F支付宝 CLI 见第四版 §5 | 同 |\n\n### 3.4 LLM 语料密度（决定幻觉率）\n| 指标 | Cocos | LayaAir |\n|---|---|---|\n| 引擎仓库 stars\u002Fforks、issue | **9,846★** `[实测]`；cocos4 1,483★\u002F92 issues；cocos-cli 435★\u002F46 issues | 2,204★\u002F545fork\u002F**仅 9 open issue** |\n| 文档可核性 | 高（3.0–3.8 + 4.0 全版本中文手册） | 中（多页 SPA 抓不到正文；文档源仓库 Doc-ZH **7★**、Doc-EN 2★） |\n| 示例 | 商店成品 + 论坛主题 ID 已排到 ~17.7 万 | `NewUI-Examples` **0★**、旧 `layaair-demo` 101★ 但 **2021 停更**；示例在引擎仓库 `src\u002Fsamples` |\n| 对 agent 的影响 | 模型\"记得 API\"概率高 | **更易编出不存在的 Laya API**；且 issue 少≠没问题（反馈沉在自家论坛 4670 bug 帖，**机器不可读**） |\n| 缓解 | —— | `tsc --noEmit` + 契约测试 + 官方 API 站\u002F`layaair-skills` 进上下文（对 Laya 是**必需项**） |\n| 份额证据的可信度 | ⚠️ \"收入最高 80% 游戏由 Cocos 开发\"（2023 触控 CEO 演讲，媒体转述）、\"荣誉榜满眼都是 Cocos\"（官方博客）→ **都是宣传口径，不是第三方统计**；招聘岗位数\u002F商店 SKU 数未找到可核实数据 | 未找到同类宣传，也未找到数据 |\n\n### 3.5 两家共同的天花板（别指望换引擎绕过）\n1. agent 不能并行改场景（编辑器\u002FIDE 单实例）；\n2. 快手、百度两端**每次上传都要 GUI + 扫码** `[实测]`；\n3. `miniprogram-automator` 不覆盖小游戏（0.12.1，2023-11-06 起未更新 `[实测]`）→ 自动验收只能\"无头浏览器 + 喂帧\"（`Demo\u002F` 已跑通）；\n4. **变现层必须自写**：没有任何一家提供跑在小游戏运行时里的 JS 广告聚合 SDK（TopOn\u002FTaku、TradPlus、GroMore 都是 App 原生 SDK 或\"跳转\"方案）；支付各端只有自家 API（`wx.requestMidasPayment`\u002F`tt.requestGamePayment`\u002F`my.tradePay`\u002F快游戏各家联运）。**iOS 小游戏内购 2026-03-15 已上线、2026-07 苹果开始封堵规避 IAP** → 别再按\"iOS 只能广告\"设计；\n5. **两家都没有官方 CI 示例**（这条对\"AI 无人值守\"是同一份作业要自己交）。\n\n---\n\n## 4. 技术能力对比（v3 补 Cocos 侧取证）\n\n| 能力 | Cocos Creator 3.8 | LayaAir 3.4 | 备注 |\n|---|---|---|---|\n| 2D 渲染 | ✅ WebGL + Canvas 双管线 | ✅ WebGL（3.5 路线 WebGPU） | 小游戏端都走 WebGL |\n| **UI 体系** | ✅ Widget\u002FScrollView\u002FRichText\u002FEditBox\u002F九宫格\u002FLayout\u002FMask；⚠️ **无官方 List\u002FVirtualList**（社区与商店插件补位） | ✅ 经典 UI + **新 UI（官方称 FairyGUI 同构）**：Button\u002F**List**\u002FPanel\u002FBox\u002FVBox\u002FTextInput\u002FTextArea\u002FSlider\u002FProgressBar\u002FComboBox\u002FTab\u002FViewStack\u002FDialog | 对\"47 个面板\"这种量级，**Laya 自带 List 是实打实省工**；但新 UI 实战成熟度未验证（D66） |\n| 3D | ✅ 前向 + 延迟管线、合批\u002FUBR、光照阴影、后处理 | ✅ ClusterLighting、Forward+、PBR\u002FUnlit、反射探针、体积 GI、后处理、计算着色器、WebGPU | 3D 需求两家都不输 |\n| 动画 | ✅ Tween\u002FAnimation\u002FSpine\u002FDragonBones | ✅ 时间轴\u002F骨骼\u002F**Animator2D 状态机**\u002FIK\u002F动画烘焙\u002F龙骨\u002FSpine | 都不能让 agent 改 `.spine`\u002F`.riv` 工程 |\n| 物理 | ✅ 项目设置→功能裁剪：3D 可选 **builtin\u002Fbullet\u002FPhysX\u002Fcannon.js**，2D box2d；⚠️ **PhysX 有包体与 x86 安卓限制** | ✅ **内置模块**：2D Box2D、3D Bullet\u002FPhysX；Cannon 为附加库 | 都要避开 WASM 件（`WXWebAssembly` 只支持 `instantiate(path)` 且 .wasm 须在代码包内） |\n| 分包\u002F远程\u002F热更 | ✅ Asset Bundle + 远程 + 分包官方页 + 原生热更；⚠️ **小游戏端代码热更的官方声明未找到**；已知坑：微信远程 AssetBundle 更新需清缓存 | ✅ 分包（IDE 勾选）+ `URL.basePath`；Native 热更 zip 更新 \u002F **LayaDCC 2.0**（有\"无法本地保存\"反馈） | 两边都要自己趟 |\n| Worker | 未取证 | ✅ 官方列多线程 Worker | Laya 加分 |\n| **空包体积** | ⚠️ **官方数字未找到**；社区实测首包约 1.8MB（未核实） | 🟡 官方博客：**2D 空场景 943KB、3D 1.5MB**（并称友商 1.8M\u002F2.7M）`[官方声明]` | 4MB 主包下这是实质差异，**但两边都得自己实测（D70）** |\n| iOS 内存\u002F性能官方指南 | ✅ 专页：**2GB 机型约 1GB、3GB 约 1.4GB**，建议 ASTC、禁动态合批、贴图分包、精简音频字体；高性能模式\u002F引擎插件需勾选 | ❌ 未找到（只有微信平台通用指南） | Cocos 加分（这条对线上崩溃率影响大） |\n| 第三方性能监测 | —— | ✅ UWA GPM 2.0（2026-08-27）覆盖 LayaAir 微信\u002F抖音线上帧率\u002F内存\u002F崩溃 | 运维加分 |\n\n---\n\n## 5. 版本线、生态与团队成本\n\n| 项 | Cocos | LayaAir |\n|---|---|---|\n| 当前可依赖版本 | **3.8.8（2025-12-16，LTS）** `[实测]`；3.8.7（2025-08-22） | 引擎 v3.4.1（2026-08-31）与 **3.3.13（2026-09-17）并行发版**；节奏 2–4 周一版 |\n| 下一代 | **COCOS 4：仓库 `cocos\u002Fcocos4` 只到 `4.0.0-alpha.34`（2026-09-20），无 GA**；`cocos-engine` 无任何 v4 tag；**但 docs.cocos.com 已有\"4.0 (LTS)\"手册（含命令行发布 + 微信小游戏页）→ 文档与实现不一致**；**3.8→4.0 迁移指引未找到** | 3.5 路线（WebGPU\u002F多线程）有访谈级信息 `[官方声明]` |\n| 社区口径 | 论坛主题 ID ~17.7 万；2026-06 有用户反映\"Cocos4 无 IDE，需 PinK 或 CLI\"\"前朝剑斩当朝官难行\" | ask.layabox 活跃（4670 bug 帖 \u002F 11433 2D 帖，最新 2026-10-05），但机器不可读 |\n| 商店\u002F插件 | ✅ store.cocos.com（含 AI 扩展、成品模板、TopOn\u002FTradPlus 商业插件文档） | IDE 内置包管理（`.layapkg`），规模未取证 |\n| 招人\u002F外包 | 明显容易 | 难 |\n| 稳定性反馈热点 | 大项目卡顿\u002F打包内存溢出、微信远程 AssetBundle 需清缓存、2.x→3.x 历史包袱 | **Spine \u002F 2D 物理 \u002F Camera2D**（3.4.1 更新说明与近期提交集中在这些） |\n\n---\n\n## 6. 许可与费用（v3 纠正了一处）\n\n| 项 | Cocos | LayaAir |\n|---|---|---|\n| 引擎许可 | ✅ **v3.8.8 的 LICENSE.md 就是标准 MIT**（Chukong 2013–2016 + 厦门雅基 2017–2023），**无流水门槛、无 splash 要求**；GitHub 显示 NOASSERTION 仅因仓库内含多份第三方许可文件 `[代理查证]` | **MIT** `[实测]` |\n| 下一代许可 | `cocos4` 仓库 MIT、`cocos-cli` MIT（但**根目录无 LICENSE 文件**）；发布稿声明\"脱离原 Cocos Creator 全部商业约定\" `[官方声明]` | 同 |\n| 编辑器\u002FIDE | 免费下载商用，2026 无收费条款（未找到反证）；**PinK 许可与定价未找到** | ⚠️ **未找到 IDE 商用授权书面条款**；官方博客承诺\"基础功能永久免费、不收引擎使用费与版权费、无流水分成\" `[官方声明]` |\n| 云服务 | service.cocos.com 计费页（页面日期 2021-01-11）只列第三方服务（声网\u002F腾讯云 TCB\u002FMGOBE\u002FGME），**无云构建**；**\"Cocos Build Service\"产品与定价未找到** | 未找到 |\n| AI 产品费用 | —— | LayaIdea 插件版需 IDE 3.3.9+、**token\u002F积分计费、无公开价目表** |\n| 平台侧（两家同） | iOS 小游戏内购 2026-03-15 上线、2026-07 苹果封堵规避 IAP；国区安卓上架要营业执照+网文证+增值电信+ISBN 版号+软著 | 同 |\n\n**给法务**：Cocos 3.8 的 MIT 是**文件级可核**的（本轮已核）；Laya 的免费是**引擎 MIT + 博客承诺**，IDE 侧查无书面条款——一个是白纸黑字，一个是查无此文（D67）。\n\n---\n\n## 7. 风险清单（按能否推翻选型排序）\n\n### Cocos 侧（v3 大幅补充）\n| # | 风险 | 证据 | 缓解 |\n|---|---|---|---|\n| K1 | **headless 侧没有小游戏端构建能力**（cocos-cli 平台清单只有 web\u002F原生；宣称的 `packages\u002Fplatforms` 插件目录不存在） | `[代理查证]` | 出包必须走 3.8 编辑器 CLI + 图形会话节点；或改选 Laya\u002FR3 |\n| K2 | **押注的\"AI 原生\"路线在未发布产品里**：4.0 只到 alpha.34、无 GA 编辑器；PinK alpha + \"请勿用于生产\" + 邀请码 + 许可未明 | `[代理查证]` | 3.8 开工；4.0 每季度复评（D71） |\n| K3 | **文档与实现不一致**：4.0 手册已写\"命令行发布 + 微信小游戏\"，引擎却是 alpha | `[代理查证]` | 只按 3.8 手册做决策 |\n| K4 | 3.8 CLI **需 GUI 会话、无 Linux**、命令串 ≤125 字符、macOS 换行符坑、退出码语义不透明 | 官方文档 + 论坛 | 构建机 + 退出码门禁（36\u002F32\u002F34）+ 参数写文件传 |\n| K5 | **官方 MCP 无工具清单文档**（只能从源码目录推断）；3.8 的场景自动化实际靠第三方件（Funplay 105 工具、cc-3-8-x-mcp） | `[代理查证]` | 第三方件先只读试；关键操作留回滚脚本 |\n| K6 | 缺 小米\u002FB站\u002FQQ\u002F快手 官方端 | 手册逐条数过 `[实测]` | 自建或社区件 |\n| K7 | **无官方 List\u002FVirtualList**；**小游戏端代码热更无官方声明**；引擎最小体积无官方数字 | `[代理查证]` | 列表用商店\u002F社区件前先测；热更方案自验（D70） |\n| K8 | 大项目卡顿\u002F打包内存溢出、微信远程 AssetBundle 更新需清缓存 | 社区帖 | 构建内存与缓存策略写进 CI |\n\n### LayaAir 侧\n| # | 风险 | 证据 | 缓解 |\n|---|---|---|---|\n| L1 | **场景级 AI 自动化无可用件**（MCP 插件 2026-08-19 归档、skills 无场景技能、IDE 内置 MCP 要 GUI+Key+每会话重导） | `[代理查证]` | 界面一律代码化（`Scene.open\u002Fload`） |\n| L2 | **CLI \"开源\"名不副实**：仓库 5 个文件、运行时闭源、安装联网从厂商服务拉 | `[代理查证]` | 把 CLI 二进制缓存进制品库；受限网络先验（D64） |\n| L3 | 官方《AI开发路线》明写**\"AI 单独完整生成游戏\"暂不支持** | `[官方声明]` | 把 agent 定位成\"写代码 + 跑构建\" |\n| L4 | 无官方 CI 示例、无 iOS 内存指南、无场景文件格式规范 | `[代理查证]` | 自建 `docs\u002Fplatform-spec\u002F` + 包体\u002F内存门禁 |\n| L5 | 版本线并行（3.4.1 与 3.3.13 同时在发），3.4 是否\"稳定推荐线\"无官方口径 | `[代理查证]` | 锁一条线写进 README（D63） |\n| L6 | 实操坑：macOS `unknown script`（官方答复把脚本移进 src）、**Native 工程升级引擎版本困难**、**LayaDCC 2.0 无法本地保存** | 社区论坛 | 原生端上线前先验一次\"升级引擎\" |\n| L7 | 语料薄 → 幻觉 API；GitHub 仅 9 open issue（反馈在自家论坛，机器不可读） | §3.4 | `tsc` + 契约测试强制；关键决策一律 spike |\n| L8 | IDE 商用授权条款未找到；LayaNative2.0 仓库无 LICENSE；LayaIdea 积分无价目表 | `[代理查证]` | 规模化前书面确认（D67） |\n\n---\n\n## 8. 两条最小可行工作流\n\n### 8.1 选 Cocos Creator 3.8 LTS\n```\n骨架：assets\u002Fscripts\u002F**.ts（真源）、唯一 Main.scene、界面一律代码建（禁 prefab 拖拽）、\n      config\u002Ftables\u002F*.json、extensions\u002Ffunplay-mcp、tools\u002Fbuild.sh（--build + 退出码断言）\n门禁：tsc --noEmit → eslint（禁业务层直连 wx.*）→ web 构建 → 无头浏览器喂帧断言 →\n      各端构建（Win\u002Fmac 图形会话节点，参数写文件传，断言退出码 36）→ miniprogram-ci preview\nagent 分工：代码\u002F数值\u002F关卡\u002F构建脚本 = Mode A 全自动；改场景 = Mode B（MCP，人在场）\n```\n### 8.2 选 LayaAir 3\n```\n骨架：src\u002F**.ts（引擎源码可读）、场景 .ls 压到最少、界面代码建、config\u002F*.json、\n      tools\u002Flaya-build.sh（新 CLI，10 端 + 原生），CLI 二进制缓存进制品库\n门禁：同上；锁版本线（3.3.x 或 3.4.x）写进 README\n开工前必做（三条，各半天）：\n  ① 干净 Linux 容器里用新 CLI 出微信包 → 验证\"无 GUI\"是否真成立（D64）\n  ② agent 纯代码搭 3 个面板 → 量 tsc 首轮通过率与人工干预次数（D72）\n  ③ 2D 空场景出包实测体积 → 复核官方 943KB 口径（D70）\n```\n\n---\n\n## 9. 最终建议\n\n**9.1 对撞测试现在是签选型的前置条件（不是可选项）**。同一份\"3 屏弹窗 + 1 个战斗场景 + 1 张数值表\"，两边各让 agent 做一遍，记 6 个数：① `tsc` 首次通过所需轮次；② 人工干预次数；③ **能否在纯 Linux 容器里出微信小游戏包**；④ 2D 空包体积；⑤ 出包后无头喂帧断言是否全绿；⑥ 改一个界面需要几步（代码 vs MCP\u002FIDE）。我可以照 `Demo\u002F` 的门禁风格把脚本与打分表做出来（D73）。\n\n**9.2 三条可直接引用的硬结论**（来自本轮取证）：\n1. \"全平台小游戏导出\"目前**只有一条可依赖路径 = 引擎编辑器 + 其 CLI 包装**；两家都**没有** QQ\u002F快手官方端。\n2. **cocos-cli 的 headless 构建不支持任何小游戏端**，不能作为 CI 全平台方案；Cocos 的 CI 自动化实际要绑 4.0 alpha。\n3. **COCOS 4 \u002F PinK 全在 alpha\u002F邀请制**，MIT 已落地但**工程兼容与迁移无官方指引** → 全新项目押 4.0 = 押未发布产品。\n\n**9.3 无论选谁都要做的三件事**（它们才是\"AI 能不能完成全部\"的决定项）：界面代码化纪律、`platform\u002F` 归一层（含 `ads.ts`\u002F`pay.ts`）、无头喂帧门禁。\n\n---\n\n## 10. 待确认 D49–D73\n\n| # | 问题 | 状态 \u002F 默认值 |\n|---|---|---|\n| D49 | Cocos 3.8 实际 LICENSE | ✅ **已核**：v3.8.8 LICENSE.md 为标准 MIT，无门槛无 splash（NOASSERTION 是元数据现象） |\n| D50 | Laya 官方 AI 件能力 | ✅ **已核**：MCP 插件已归档、skills 无场景技能、IDE 内置 MCP 需 GUI+Key → 场景自动化空白 |\n| D51 | `cocos-cli` 平台清单与 MCP 工具面 | ✅ **已核**：平台只有 web\u002F原生（**无小游戏端**）；MCP 无公开工具清单，源码有 11 个 api 域；**只支持 4.0，不支持 3.8** |\n| D52 | Laya CLI 是否需图形会话 | ✅ 已核：官方称无 GUI 依赖、可 GitHub Actions（老式 `LayaAirIDE --project` 仍需 IDE） |\n| D53 | 快游戏联盟与微信 API 差异无官方对照表 | 只做华为，其余 T+3 月 |\n| D54 | 必须端清单（B站\u002F小米\u002F荣耀\u002FQQ\u002F快手？） | 按\"微信+抖音+支付宝+H5\"评估 |\n| D55 | 语料差距未做严格计数 | 用 D72 对撞测试替代 |\n| D56 | Laya UI 组件体系 | ✅ 已核：经典 UI + 新 UI（FairyGUI 同构）+ 组件清单；实战见 D66 |\n| D57 | Laya 热更 | ✅ 已核：Native zip 更新 + LayaDCC 2.0（有本地保存问题反馈） |\n| D58 | 引擎空包体积 | 🟡 Laya 官方 943KB\u002F1.5MB `[官方声明]`；**Cocos 官方数字未找到**（社区 1.8MB 未核实）→ 实测见 D70 |\n| D59 | Laya 收费口径 | ✅ 部分已核：引擎 MIT + 博客承诺免费无分成；**IDE 书面条款仍未找到**（D67） |\n| D60 | 多家文档 SPA 抓不到正文 | 建 `docs\u002Fplatform-spec\u002F` 人工存证 |\n| D63 | Laya 锁 3.3 还是 3.4 线 | 未定；默认锁 3.3.x |\n| D64 | **Laya 新 CLI 在干净 Linux 容器\u002F受限网络下能否真出包** | ⚠️ 决定 Laya 路线成立与否，**开工前必验** |\n| D65 | Laya `.ls\u002F.lh` 是否含不可读 ID、IDE 对手写场景的容忍度 | 未取证 → spike |\n| D66 | Laya 新 UI 实战成熟度（性能\u002F虚拟列表\u002F编辑器支持） | 未取证 → spike |\n| D67 | Laya IDE 书面授权条款 | 规模化前书面确认 |\n| D68 | 要不要我出对撞测试脚本 + 打分表 | 建议要（升级为前置条件，见 D73） |\n| D69 | **Cocos 3.8→4.0 迁移指引未找到** | 押 4.0 前必须拿到官方迁移说明 |\n| D70 | **两家 2D 空包实测体积**（4MB 主包预算的直接变量） | 对撞测试里量 |\n| D71 | **COCOS 4 GA 时间表**（现在只有 alpha.34） | 每季度复评；不作为 2026 生产依赖 |\n| D72 | **agent 在两家上首次 `tsc` 通过率与人工干预次数** | 对撞测试里量 |\n| D73 | 对撞测试要不要我做 | 等你点头（本轮只写文档，未动 `Demo\u002F`） |\n\n---\n\n## 附录 A：证据（v3）\n\n**Cocos（本轮子代理取证，关键项我抽核）**\n- 版本：\u003Chttps:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos-engine\u002Freleases>（3.8.8 = 2025-12-16）、3.8.7 发布帖 \u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F170142>\n- **COCOS 4 仅 alpha**：\u003Chttps:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos4>（1,483★\u002FMIT\u002F建仓 2025-12-18\u002F最新 release **4.0.0-alpha.34，2026-09-20**）；开源公告 \u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F172915>、\u003Chttps:\u002F\u002Fwww.prnewswire.com\u002Fapac\u002Fnews-releases\u002Fcocos-4-is-here-fully-open-source-302652633.html>\n- **cocos-cli**：\u003Chttps:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos-cli>（435★\u002F46 issues\u002F需 Node 22+\u002F`npm run init`+`npm link`；`docs\u002Fzh\u002Fcommands.md`；`src\u002Fcore\u002Fbuilder\u002Fplatforms\u002F` 仅 web\u002Fandroid\u002Fios + mac\u002Fwindows\u002Fhuawei-agc\u002Fharmonyos-next\u002Fohos\u002Fgoogle-play）\n- 4.0 手册（与实现不一致的证据）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-in-command-line.html>、\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-wechatgame.html>\n- 3.8 命令行发布（退出码 32\u002F34\u002F36、≤125 字符、需 GUI）：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-in-command-line.html>；Linux 无结论 \u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F165800>；macOS `--build` 失效 \u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F170038>\n- 3.8 发布端别清单：\u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002F>；B站为社区适配 \u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F163571>\n- 能力面：物理引擎与裁剪 \u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Fphysics\u002Fphysics-engine.html>；iOS 内存与优化 \u003Chttps:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fios\u002Foptimize.html>\n- PinK：\u003Chttps:\u002F\u002Fforum.cocos.org\u002Fc\u002FPinK\u002F103>、0.0.1.18 Alpha \u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F175697>\n- 许可与计费：\u003Chttps:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos-engine\u002Fblob\u002Fmaster\u002FLICENSE.md>、\u003Chttps:\u002F\u002Fservice.cocos.com\u002Fdocument\u002Fzh\u002Fbilling-and-charge.html>\n- 社区对 4.0 的态度：\u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F176132>；第三方 3.8 MCP \u003Chttps:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F176107>\n\n**LayaAir**\n- \u003Chttps:\u002F\u002Fapi.github.com\u002Frepos\u002Flayabox\u002FLayaAir>（2,204★\u002F545fork\u002FMIT\u002F9 issues\u002F默认分支 LayaAir_3.4）、releases（v3.4.1 = 2026-08-31；v3.3.13 = 2026-09-17）\n- 新 CLI（无 GUI \u002F CI \u002F 10 端 \u002F Node 20+）：\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002Fdevelopmentenvironment\u002Fcli\u002F>；老式命令行 \u003Chttp:\u002F\u002Flayaair.com\u002F3.x\u002Fdoc-en\u002Freleased\u002FcommandLine\u002Freadme.html>\n- \u003Chttps:\u002F\u002Fapi.github.com\u002Frepos\u002Flayabox\u002Flayaair-cli>（5 文件\u002F运行时闭源）、\u003Chttps:\u002F\u002Fgithub.com\u002Flayabox\u002Flayaair-skills>（2 技能）、\u003Chttps:\u002F\u002Fgithub.com\u002Flayabox\u002FLayaAir-mcp-plugin>（**2026-08-19 归档**）\n- IDE 内置 MCP 与 LayaIdea：\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002Fdevelopmentenvironment\u002Flayaidea\u002F>、\u003Chttps:\u002F\u002Flayaidea.layabox.com\u002F>\n- 能力与格式：\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002F>、\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002Farchitecture\u002F>、\u003Chttps:\u002F\u002Flayaair.com\u002F3.x\u002Fdoc\u002Fbasics\u002Funitytolayaair\u002F>（`.ls`\u002F`.lh`）、\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002F3d\u002Fadvanced\u002Fcustomphysicsengine\u002F>\n- 包体与免费承诺：\u003Chttps:\u002F\u002Fblog.csdn.net\u002Fm0_38013911\u002Farticle\u002Fdetails\u002F145332814>、\u003Chttps:\u002F\u002Fblog.csdn.net\u002Fm0_38013911\u002Farticle\u002Fdetails\u002F148106279>\n- 已知坑：\u003Chttp:\u002F\u002Fask.layabox.com\u002Fd\u002F55135>、\u003Chttps:\u002F\u002Fask.layabox.com\u002Fd\u002F54952>、\u003Chttps:\u002F\u002Fask.layabox.com\u002Fd\u002F54851>\n- 热更与微信端：\u003Chttps:\u002F\u002Flayaair.com\u002F3.2\u002Fdoc\u002Freleased\u002Fnative\u002FzipUpdate\u002Freadme.html>、\u003Chttps:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Freleased\u002Fminigame\u002Fwechat\u002F>；UWA GPM 2.0 \u003Chttps:\u002F\u002Fblog.csdn.net\u002FUWA4D\u002Farticle\u002Fdetails\u002F164113390>\n\n**平台与变现（两家共用）**\n- 微信包体 \u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fbase-ability\u002FsubPackage\u002FuseSubPackage.html>、云测试 \u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fminigame-testtool\u002Foverview.html>、快手工具（无 CLI）\u003Chttps:\u002F\u002Fks-game-docs.kuaishou.com\u002Fminigame\u002Fstart\u002Fdevtool.html>\n- 广告聚合均为 App 侧：\u003Chttps:\u002F\u002Fservice.cocos.com\u002Fdocument\u002Fzh\u002Ftoponad.html>、\u003Chttps:\u002F\u002Fhelp.takuad.com\u002Fdocs\u002F>、\u003Chttps:\u002F\u002Fdocs.tradplusad.com\u002Fdocs\u002Ftradplussdk_android_doc_v6\u002Ftradplus_sdk_overview\u002Fwx_appendix_game\u002F>、\u003Chttps:\u002F\u002Fwww.csjplatform.com\u002Fsupportcenter\u002F6034>\n- 支付与 iOS 新政：\u003Chttps:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fopen-ability\u002Fvirtual-payment\u002Fcoins.html>、\u003Chttps:\u002F\u002Fpartner.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-game\u002Fdevelop\u002Fapi\u002Fpayment\u002Ftt-request-game-payment>、\u003Chttps:\u002F\u002Fwww.tmtpost.com\u002F7942848.html>、\u003Chttps:\u002F\u002Fm.jiemian.com\u002Farticle\u002F11511557.html>\n- 埋点 \u003Chttps:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fsa-sdk-miniprogram>；资质 \u003Chttps:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=1383>\n\n## 附录 B：本轮明确\"未取证\"的格子\nLaya 新 CLI 在干净 Linux 容器\u002F受限网络下的真实可用性（D64）、`.ls` ID 规范（D65）、新 UI 实战（D66）、IDE 书面授权（D67）；Cocos 的 3.8→4.0 迁移指引（D69）、4.0 GA 时间表（D71）、官方引擎最小体积（D58\u002FD70）、官方 MCP 工具清单（D51 已核到\"无文档\"）。**其中 D64\u002FD66\u002FD70\u002FD72 各半天 spike 即可关掉**——这是本报告唯一想让你先做的事。\n","markdown",{"data":18,"body":19},{},{"type":20,"children":21},"root",[22,31,38,52,196,224,228,234,251,257,276,313,316,323,347,725,742,830,833,839,1252,1260,1431,1446,1449,1455,1900,1908,1980,1983,1989,1995,2114,2120,2273,2279,2329,2335,2378,2384,2434,2440,2497,2503,2533,2536,2542,2742,2745,2758,2769,2774,2982,3002,3008,3091,3097,3134,3137,3143,3384,3387,3393,4244,4348,4520,4526,4736,4739,4745,4759,4765,4782,4865,4868,4874,4918,5127,5137,5140,5146,5539,5572,5575,5581,5587,5898,5904,6109,6115,6313,6319,6380,6386,6670,6676,6709,6712,6718,6724,6734,6758,6764,6773,6795,6801,6810,6829,6832,6838,6847,6856,6865,6940,6943,6949,7334,7385,7388,7394,7572,7684,7687,7693,7702,7705,7711,7755,7758,7764,8100,8103,8109,8128,8261,8271,8493,8503,8509,8518,8537,8543,8551,8810,8818,9169,9172,9178,9192,9198,9224,9281,9284,9290,9315,9353,9625,9670,9702,9705,9711,10156,10166,10169,10175,10264,10281,10306,10309,10315,10340,10515,10521,10530,10609,10612,10618,10643,11287,11311,11326,11329,11335,11725,11728,11734,11740,11901,11907,12029,12035,12173,12183,12189,12450,12456,12465,12471,12806,12812,13044,13047,13053,13067,13073,13140,13143,13149,13159,13331,13348,13351,13357,13761,13764,13776,14244,14272,14275,14281,14290,14295,14400,14446,14449,14455,14613,14657,14660,14666,14740,14743,14749,14885,14900,14903,14909,15195,15198,15204,15212,15398,15406,15466,15474,15538,15546,15762,15765,15771,15785,15791,15797,15860,15863,15869,15905,15913,16223,16232,16250,16300,16326,16329,16335,16585,16588,16594,17067,17091,17094,17100,17106,17316,17331,17337,17893,17902,17956,17962,18160,18166,18390,18396,18493,18496,18502,18898,18901,18907,19113,19116,19122,19333,19357,19360,19366,19372,19649,19655,19933,19936,19942,19948,19957,19963,19972,19975,19981,20012,20022,20070,20101,20104,20110,20657,20660,20666,20674,20918,20925,21118,21126,21236,21242,21261],{"type":23,"tag":24,"props":25,"children":27},"element","h1",{"id":26},"agent-可编程技术栈选型唯一版-2026-10",[28],{"type":29,"value":30},"text","Agent 可编程技术栈选型（唯一版 · 2026-10）",{"type":23,"tag":32,"props":33,"children":35},"h3",{"id":34},"五轮追问合并存量工程-新项目-多端一次导出-全自建-layaair-vs-cocos-对比",[36],{"type":29,"value":37},"五轮追问合并：存量工程 → 新项目 → 多端一次导出 → 全自建 → LayaAir vs Cocos 对比",{"type":23,"tag":39,"props":40,"children":41},"p",{},[42,44,50],{"type":29,"value":43},"2026-10-06 ｜ 本文件是以下五篇的",{"type":23,"tag":45,"props":46,"children":47},"strong",{},[48],{"type":29,"value":49},"唯一留存版",{"type":29,"value":51},"，原五篇已并入此处并删除（归档见交付说明）：",{"type":23,"tag":53,"props":54,"children":55},"table",{},[56,80],{"type":23,"tag":57,"props":58,"children":59},"thead",{},[60],{"type":23,"tag":61,"props":62,"children":63},"tr",{},[64,70,75],{"type":23,"tag":65,"props":66,"children":67},"th",{},[68],{"type":29,"value":69},"篇",{"type":23,"tag":65,"props":71,"children":72},{},[73],{"type":29,"value":74},"原文件名",{"type":23,"tag":65,"props":76,"children":77},{},[78],{"type":29,"value":79},"回答的问题",{"type":23,"tag":81,"props":82,"children":83},"tbody",{},[84,108,130,152,174],{"type":23,"tag":61,"props":85,"children":86},{},[87,93,103],{"type":23,"tag":88,"props":89,"children":90},"td",{},[91],{"type":29,"value":92},"1",{"type":23,"tag":88,"props":94,"children":95},{},[96],{"type":23,"tag":97,"props":98,"children":100},"code",{"className":99},[],[101],{"type":29,"value":102},"agent-tech-stack-review-2026-10.md",{"type":23,"tag":88,"props":104,"children":105},{},[106],{"type":29,"value":107},"存量工程（Cocos 2.4.15）为什么难被 agent 编程，能救到哪一步",{"type":23,"tag":61,"props":109,"children":110},{},[111,116,125],{"type":23,"tag":88,"props":112,"children":113},{},[114],{"type":29,"value":115},"2",{"type":23,"tag":88,"props":117,"children":118},{},[119],{"type":23,"tag":97,"props":120,"children":122},{"className":121},[],[123],{"type":29,"value":124},"agent-first-stacks-new-project-2026-10.md",{"type":23,"tag":88,"props":126,"children":127},{},[128],{"type":29,"value":129},"只看新项目，哪些栈能全 agent 编程",{"type":23,"tag":61,"props":131,"children":132},{},[133,138,147],{"type":23,"tag":88,"props":134,"children":135},{},[136],{"type":29,"value":137},"3",{"type":23,"tag":88,"props":139,"children":140},{},[141],{"type":23,"tag":97,"props":142,"children":144},{"className":143},[],[145],{"type":29,"value":146},"agent-plus-multiplatform-stacks-2026-10.md",{"type":23,"tag":88,"props":148,"children":149},{},[150],{"type":29,"value":151},"AI 全编码 ∩ 一次导出七端，交集还剩什么",{"type":23,"tag":61,"props":153,"children":154},{},[155,160,169],{"type":23,"tag":88,"props":156,"children":157},{},[158],{"type":29,"value":159},"4",{"type":23,"tag":88,"props":161,"children":162},{},[163],{"type":23,"tag":97,"props":164,"children":166},{"className":165},[],[167],{"type":29,"value":168},"code-first-selfbuilt-multiplatform-2026-10.md",{"type":23,"tag":88,"props":170,"children":171},{},[172],{"type":29,"value":173},"代码优先＋全部自建，能不能做到全平台",{"type":23,"tag":61,"props":175,"children":176},{},[177,182,191],{"type":23,"tag":88,"props":178,"children":179},{},[180],{"type":29,"value":181},"5",{"type":23,"tag":88,"props":183,"children":184},{},[185],{"type":23,"tag":97,"props":186,"children":188},{"className":187},[],[189],{"type":29,"value":190},"layaair-vs-cocos-对比审查报告-2026-10.md",{"type":23,"tag":88,"props":192,"children":193},{},[194],{"type":29,"value":195},"LayaAir 与 Cocos 逐条对比，新项目该选谁",{"type":23,"tag":39,"props":197,"children":198},{},[199,201,207,209,215,216,222],{"type":29,"value":200},"编号约定：判据 C1–C10；决策 D1–D73（跨篇连续，编号不重复）；证据标注 ",{"type":23,"tag":97,"props":202,"children":204},{"className":203},[],[205],{"type":29,"value":206},"[实测]",{"type":29,"value":208},"\u002F",{"type":23,"tag":97,"props":210,"children":212},{"className":211},[],[213],{"type":29,"value":214},"[文档]",{"type":29,"value":208},{"type":23,"tag":97,"props":217,"children":219},{"className":218},[],[220],{"type":29,"value":221},"[推论]",{"type":29,"value":223}," 各篇自注。",{"type":23,"tag":225,"props":226,"children":227},"hr",{},[],{"type":23,"tag":24,"props":229,"children":231},{"id":230},"第-1-篇-可被-ai-agent-全面编程的游戏技术栈梳理微信小游戏为主目标",[232],{"type":29,"value":233},"第 1 篇 · 可被 AI Agent 全面编程的游戏技术栈梳理（微信小游戏为主目标）",{"type":23,"tag":235,"props":236,"children":237},"blockquote",{},[238],{"type":23,"tag":39,"props":239,"children":240},{},[241,243,249],{"type":29,"value":242},"原文件：",{"type":23,"tag":97,"props":244,"children":246},{"className":245},[],[247],{"type":29,"value":248},"docs\u002Fagent-tech-stack-review-2026-10.md",{"type":29,"value":250},"（已并入本篇）",{"type":23,"tag":24,"props":252,"children":254},{"id":253},"可被-ai-agent-全面编程的游戏技术栈梳理微信小游戏为主目标",[255],{"type":29,"value":256},"可被 AI Agent 全面编程的游戏技术栈梳理（微信小游戏为主目标）",{"type":23,"tag":39,"props":258,"children":259},{},[260,262,267,269,274],{"type":29,"value":261},"调研日期：2026-10-06 ｜ 适用工程：水泊风云录（Cocos Creator ",{"type":23,"tag":45,"props":263,"children":264},{},[265],{"type":29,"value":266},"2.4.15",{"type":29,"value":268},"）\n本文所有\"本机数字\"均为当场实测（命令见附录），所有\"外部事实\"均带来源链接；推测\u002F待验证项统一编号为 ",{"type":23,"tag":45,"props":270,"children":271},{},[272],{"type":29,"value":273},"D1…D10",{"type":29,"value":275},"。",{"type":23,"tag":235,"props":277,"children":278},{},[279],{"type":23,"tag":39,"props":280,"children":281},{},[282,287,289,294,296,304,306,311],{"type":23,"tag":45,"props":283,"children":284},{},[285],{"type":29,"value":286},"2026-10-06 追加",{"type":29,"value":288},"：本文＝第一代（",{"type":23,"tag":45,"props":290,"children":291},{},[292],{"type":29,"value":293},"存量工程视角",{"type":29,"value":295},"：214 个 prefab 怎么办、三条路线 A\u002FB\u002FC）。新项目选型另出第二代稿 ",{"type":23,"tag":45,"props":297,"children":298},{},[299],{"type":23,"tag":97,"props":300,"children":302},{"className":301},[],[303],{"type":29,"value":124},{"type":29,"value":305},"（判据扩到 C1–C10、候选栈铺到 6 组、含资产管线与发布\u002F验证回路），其决策编号从 ",{"type":23,"tag":45,"props":307,"children":308},{},[309],{"type":29,"value":310},"D11",{"type":29,"value":312}," 起，与本文 D1–D10 不复用。",{"type":23,"tag":225,"props":314,"children":315},{},[],{"type":23,"tag":317,"props":318,"children":320},"h2",{"id":319},"_0-速查结论先看这一屏",[321],{"type":29,"value":322},"0. 速查结论（先看这一屏）",{"type":23,"tag":39,"props":324,"children":325},{},[326,331,333,338,340,345],{"type":23,"tag":45,"props":327,"children":328},{},[329],{"type":29,"value":330},"一句话",{"type":29,"value":332},"：你的判断需要修正一半——Cocos ",{"type":23,"tag":45,"props":334,"children":335},{},[336],{"type":29,"value":337},"2.4.15 确实没有 agent 通道",{"type":29,"value":339},"（无 MCP、场景真源是编辑器产出的 JSON），但 ",{"type":23,"tag":45,"props":341,"children":342},{},[343],{"type":29,"value":344},"Cocos Creator 3.8+ 已有第三方 MCP（Funplay，105 个工具，可直接读写 scene\u002Fprefab\u002Fcomponent）",{"type":29,"value":346},"；真正决定 agent 能不能干活的是\"真源是不是文本 + 有没有自检回路\"，其次才是引擎名字。",{"type":23,"tag":53,"props":348,"children":349},{},[350,386],{"type":23,"tag":57,"props":351,"children":352},{},[353],{"type":23,"tag":61,"props":354,"children":355},{},[356,361,366,371,376,381],{"type":23,"tag":65,"props":357,"children":358},{},[359],{"type":29,"value":360},"栈",{"type":23,"tag":65,"props":362,"children":363},{},[364],{"type":29,"value":365},"Agent 改场景\u002F界面的能力",{"type":23,"tag":65,"props":367,"children":368},{},[369],{"type":29,"value":370},"微信小游戏",{"type":23,"tag":65,"props":372,"children":373},{},[374],{"type":29,"value":375},"多平台广度",{"type":23,"tag":65,"props":377,"children":378},{},[379],{"type":29,"value":380},"对本工程的代价",{"type":23,"tag":65,"props":382,"children":383},{},[384],{"type":29,"value":385},"定位",{"type":23,"tag":81,"props":387,"children":388},{},[389,428,464,499,538,574,609,649,689],{"type":23,"tag":61,"props":390,"children":391},{},[392,400,405,410,415,420],{"type":23,"tag":88,"props":393,"children":394},{},[395],{"type":23,"tag":45,"props":396,"children":397},{},[398],{"type":29,"value":399},"Phaser 4.2.1 + TS + Vite",{"type":23,"tag":88,"props":401,"children":402},{},[403],{"type":29,"value":404},"★★★★★ 纯代码即场景，可无头自证",{"type":23,"tag":88,"props":406,"children":407},{},[408],{"type":29,"value":409},"✅ 自维护 adapter（已有 MVP 案例）",{"type":23,"tag":88,"props":411,"children":412},{},[413],{"type":29,"value":414},"网页\u002F各小游戏需逐端 adapter",{"type":23,"tag":88,"props":416,"children":417},{},[418],{"type":29,"value":419},"⚠️ 全量重写（含 214 prefab 内容）",{"type":23,"tag":88,"props":421,"children":422},{},[423],{"type":23,"tag":45,"props":424,"children":425},{},[426],{"type":29,"value":427},"新项目首选",{"type":23,"tag":61,"props":429,"children":430},{},[431,439,444,449,454,459],{"type":23,"tag":88,"props":432,"children":433},{},[434],{"type":23,"tag":45,"props":435,"children":436},{},[437],{"type":29,"value":438},"kaplay \u002F Excalibur \u002F Pixi8+ECS",{"type":23,"tag":88,"props":440,"children":441},{},[442],{"type":29,"value":443},"★★★★★ 同上，体量小、语料少",{"type":23,"tag":88,"props":445,"children":446},{},[447],{"type":29,"value":448},"✅ 同 adapter 路线",{"type":23,"tag":88,"props":450,"children":451},{},[452],{"type":29,"value":453},"窄",{"type":23,"tag":88,"props":455,"children":456},{},[457],{"type":29,"value":458},"全量重写",{"type":23,"tag":88,"props":460,"children":461},{},[462],{"type":29,"value":463},"小项目\u002F原型",{"type":23,"tag":61,"props":465,"children":466},{},[467,475,480,485,490,494],{"type":23,"tag":88,"props":468,"children":469},{},[470],{"type":23,"tag":45,"props":471,"children":472},{},[473],{"type":29,"value":474},"Eva.js（阿里互动引擎）",{"type":23,"tag":88,"props":476,"children":477},{},[478],{"type":29,"value":479},"★★★★☆ ECS + JSON 场景，无编辑器",{"type":23,"tag":88,"props":481,"children":482},{},[483],{"type":29,"value":484},"⚠️ 主要面向淘宝\u002F支付宝互动，微信侧要自证",{"type":23,"tag":88,"props":486,"children":487},{},[488],{"type":29,"value":489},"阿里系强，微信弱",{"type":23,"tag":88,"props":491,"children":492},{},[493],{"type":29,"value":458},{"type":23,"tag":88,"props":495,"children":496},{},[497],{"type":29,"value":498},"谨慎（社区 1782★）",{"type":23,"tag":61,"props":500,"children":501},{},[502,510,515,520,525,530],{"type":23,"tag":88,"props":503,"children":504},{},[505],{"type":23,"tag":45,"props":506,"children":507},{},[508],{"type":29,"value":509},"Cocos Creator 3.8.x",{"type":23,"tag":88,"props":511,"children":512},{},[513],{"type":29,"value":514},"★★★★☆ 走 MCP 通道（GUI 在场）+ 官方 CLI 构建",{"type":23,"tag":88,"props":516,"children":517},{},[518],{"type":29,"value":519},"✅ 官方一键发布，最省事",{"type":23,"tag":88,"props":521,"children":522},{},[523],{"type":29,"value":524},"✅✅ 最广（微信\u002F抖音\u002FQQ\u002F快手\u002F支付宝\u002FB站\u002FH5\u002F原生）",{"type":23,"tag":88,"props":526,"children":527},{},[528],{"type":29,"value":529},"⚠️ 2.x→3.x prefab 格式转换（D1）",{"type":23,"tag":88,"props":531,"children":532},{},[533],{"type":23,"tag":45,"props":534,"children":535},{},[536],{"type":29,"value":537},"续命路线",{"type":23,"tag":61,"props":539,"children":540},{},[541,549,554,559,564,569],{"type":23,"tag":88,"props":542,"children":543},{},[544],{"type":23,"tag":45,"props":545,"children":546},{},[547],{"type":29,"value":548},"Cocos Creator 2.4.15（现状）",{"type":23,"tag":88,"props":550,"children":551},{},[552],{"type":29,"value":553},"★★☆☆☆ 只能改 .ts；.prefab\u002F.fire 手改即脏",{"type":23,"tag":88,"props":555,"children":556},{},[557],{"type":29,"value":558},"✅ 已跑通（含分包\u002F远程资源）",{"type":23,"tag":88,"props":560,"children":561},{},[562],{"type":29,"value":563},"同上（2.x 版本较老）",{"type":23,"tag":88,"props":565,"children":566},{},[567],{"type":29,"value":568},"0",{"type":23,"tag":88,"props":570,"children":571},{},[572],{"type":29,"value":573},"只做局部改造",{"type":23,"tag":61,"props":575,"children":576},{},[577,585,590,595,600,604],{"type":23,"tag":88,"props":578,"children":579},{},[580],{"type":23,"tag":45,"props":581,"children":582},{},[583],{"type":29,"value":584},"LayaAir 3.x",{"type":23,"tag":88,"props":586,"children":587},{},[588],{"type":29,"value":589},"★★★☆☆ 引擎开源、代码建场景可行，但发布依赖闭源 IDE",{"type":23,"tag":88,"props":591,"children":592},{},[593],{"type":29,"value":594},"✅ 官方文档齐",{"type":23,"tag":88,"props":596,"children":597},{},[598],{"type":29,"value":599},"官方支持多端",{"type":23,"tag":88,"props":601,"children":602},{},[603],{"type":29,"value":458},{"type":23,"tag":88,"props":605,"children":606},{},[607],{"type":29,"value":608},"只有 3D 需求时看",{"type":23,"tag":61,"props":610,"children":611},{},[612,620,625,630,635,639],{"type":23,"tag":88,"props":613,"children":614},{},[615],{"type":23,"tag":45,"props":616,"children":617},{},[618],{"type":29,"value":619},"Godot 4 + 社区小游戏适配",{"type":23,"tag":88,"props":621,"children":622},{},[623],{"type":29,"value":624},"★★★★☆ .tscn\u002F.gd 是纯文本，天然可 diff",{"type":23,"tag":88,"props":626,"children":627},{},[628],{"type":29,"value":629},"⚠️ 社区工具（Web 导出改造，≈20MB、仅 WebGL2）",{"type":23,"tag":88,"props":631,"children":632},{},[633],{"type":29,"value":634},"桌面\u002F移动强，小游戏非官方",{"type":23,"tag":88,"props":636,"children":637},{},[638],{"type":29,"value":458},{"type":23,"tag":88,"props":640,"children":641},{},[642,644],{"type":29,"value":643},"小游戏目标下",{"type":23,"tag":45,"props":645,"children":646},{},[647],{"type":29,"value":648},"不推荐",{"type":23,"tag":61,"props":650,"children":651},{},[652,660,665,670,675,680],{"type":23,"tag":88,"props":653,"children":654},{},[655],{"type":23,"tag":45,"props":656,"children":657},{},[658],{"type":29,"value":659},"Unity \u002F 团结引擎（WebGL 转换）",{"type":23,"tag":88,"props":661,"children":662},{},[663],{"type":29,"value":664},"★★★☆☆ 编辑器 MCP 很成熟（unity-mcp 14.7k★）但小游戏必须过 GUI 转换工具",{"type":23,"tag":88,"props":666,"children":667},{},[668],{"type":29,"value":669},"✅ 官方转换链路",{"type":23,"tag":88,"props":671,"children":672},{},[673],{"type":29,"value":674},"小游戏 + 原生",{"type":23,"tag":88,"props":676,"children":677},{},[678],{"type":29,"value":679},"全量重写 + 版号\u002F审核流程",{"type":23,"tag":88,"props":681,"children":682},{},[683,687],{"type":23,"tag":45,"props":684,"children":685},{},[686],{"type":29,"value":648},{"type":29,"value":688},"（2D 重 UI 是它的短板）",{"type":23,"tag":61,"props":690,"children":691},{},[692,700,705,709,713,717],{"type":23,"tag":88,"props":693,"children":694},{},[695],{"type":23,"tag":45,"props":696,"children":697},{},[698],{"type":29,"value":699},"Egret \u002F cocos2d-x 2-3 \u002F Hilo \u002F CreateJS",{"type":23,"tag":88,"props":701,"children":702},{},[703],{"type":29,"value":704},"—",{"type":23,"tag":88,"props":706,"children":707},{},[708],{"type":29,"value":704},{"type":23,"tag":88,"props":710,"children":711},{},[712],{"type":29,"value":704},{"type":23,"tag":88,"props":714,"children":715},{},[716],{"type":29,"value":704},{"type":23,"tag":88,"props":718,"children":719},{},[720],{"type":23,"tag":45,"props":721,"children":722},{},[723],{"type":29,"value":724},"已停更，排除",{"type":23,"tag":39,"props":726,"children":727},{},[728,733,735,740],{"type":23,"tag":45,"props":729,"children":730},{},[731],{"type":29,"value":732},"我的建议（可推翻）",{"type":29,"value":734},"：不要为了 agent 而重写。走 ",{"type":23,"tag":45,"props":736,"children":737},{},[738],{"type":29,"value":739},"两段式",{"type":29,"value":741},"：",{"type":23,"tag":743,"props":744,"children":745},"ol",{},[746,803,820],{"type":23,"tag":747,"props":748,"children":749},"li",{},[750,755,757,763,765,771,773,779,781,786,788,793,795,801],{"type":23,"tag":45,"props":751,"children":752},{},[753],{"type":29,"value":754},"现在（0-2 周，留在 2.4.15）",{"type":29,"value":756},"：把\"UI 真源\"从 prefab 里搬出来 —— 工程已有 40 处 ",{"type":23,"tag":97,"props":758,"children":760},{"className":759},[],[761],{"type":29,"value":762},"new cc.Node",{"type":29,"value":764},"、46 处 ",{"type":23,"tag":97,"props":766,"children":768},{"className":767},[],[769],{"type":29,"value":770},"addComponent",{"type":29,"value":772}," 的代码建 UI 先例（",{"type":23,"tag":97,"props":774,"children":776},{"className":775},[],[777],{"type":29,"value":778},"assets\u002Fscripts\u002Fui\u002FcommonTip\u002FProbDisclosure.ts:87,114,131",{"type":29,"value":780},"），把它升级为",{"type":23,"tag":45,"props":782,"children":783},{},[784],{"type":29,"value":785},"声明式布局 DSL + 运行时构建",{"type":29,"value":787},"；再把",{"type":23,"tag":45,"props":789,"children":790},{},[791],{"type":29,"value":792},"已经跑得通",{"type":29,"value":794},"的 ",{"type":23,"tag":97,"props":796,"children":798},{"className":797},[],[799],{"type":29,"value":800},"npm run typecheck",{"type":29,"value":802},"（实测 0 错误）接进 CI，并补无头 Chrome 截图回归。agent 立刻获得\"全面编程\"的 80%。",{"type":23,"tag":747,"props":804,"children":805},{},[806,811,813,818],{"type":23,"tag":45,"props":807,"children":808},{},[809],{"type":29,"value":810},"下一个新项目 \u002F 或本 project 的 v2",{"type":29,"value":812},"：直接 ",{"type":23,"tag":45,"props":814,"children":815},{},[816],{"type":29,"value":817},"Phaser 4 + TS + Vite + 自维护 weapp-adapter",{"type":29,"value":819},"，真源 100% 是文本，agent 可无人值守、可并行多子代理。",{"type":23,"tag":747,"props":821,"children":822},{},[823,828],{"type":23,"tag":45,"props":824,"children":825},{},[826],{"type":29,"value":827},"只有当你想让 agent 继续改存量 214 个 prefab",{"type":29,"value":829}," 时，才值得考虑升 3.8.x + Funplay MCP（注意：MCP 要求编辑器 GUI 打开，属于\"人在场\"模式，见 §2 的 Mode B）。",{"type":23,"tag":225,"props":831,"children":832},{},[],{"type":23,"tag":317,"props":834,"children":836},{"id":835},"_1-为什么agent-改不动本工程的实测病因",[837],{"type":29,"value":838},"1. 为什么\"agent 改不动\"——本工程的实测病因",{"type":23,"tag":53,"props":840,"children":841},{},[842,863],{"type":23,"tag":57,"props":843,"children":844},{},[845],{"type":23,"tag":61,"props":846,"children":847},{},[848,853,858],{"type":23,"tag":65,"props":849,"children":850},{},[851],{"type":29,"value":852},"指标",{"type":23,"tag":65,"props":854,"children":855},{},[856],{"type":29,"value":857},"实测值",{"type":23,"tag":65,"props":859,"children":860},{},[861],{"type":29,"value":862},"含义",{"type":23,"tag":81,"props":864,"children":865},{},[866,897,923,964,994,1092,1113,1165,1199],{"type":23,"tag":61,"props":867,"children":868},{},[869,874,892],{"type":23,"tag":88,"props":870,"children":871},{},[872],{"type":29,"value":873},"场景文件",{"type":23,"tag":88,"props":875,"children":876},{},[877,882,884,890],{"type":23,"tag":45,"props":878,"children":879},{},[880],{"type":29,"value":881},"1 个",{"type":29,"value":883}," ",{"type":23,"tag":97,"props":885,"children":887},{"className":886},[],[888],{"type":29,"value":889},"assets\u002FScene\u002FHallScene.fire",{"type":29,"value":891},"，5402 B（只有 Canvas + Main Camera）",{"type":23,"tag":88,"props":893,"children":894},{},[895],{"type":29,"value":896},"场景本身几乎空，不是瓶颈",{"type":23,"tag":61,"props":898,"children":899},{},[900,905,913],{"type":23,"tag":88,"props":901,"children":902},{},[903],{"type":29,"value":904},"Prefab",{"type":23,"tag":88,"props":906,"children":907},{},[908],{"type":23,"tag":45,"props":909,"children":910},{},[911],{"type":29,"value":912},"214 个 \u002F 4,440,599 B \u002F 249,238 行 JSON",{"type":23,"tag":88,"props":914,"children":915},{},[916,921],{"type":23,"tag":45,"props":917,"children":918},{},[919],{"type":29,"value":920},"内容的真正载体",{"type":29,"value":922},"，agent 的死角",{"type":23,"tag":61,"props":924,"children":925},{},[926,931,952],{"type":23,"tag":88,"props":927,"children":928},{},[929],{"type":29,"value":930},"├ Spine 包装 prefab",{"type":23,"tag":88,"props":932,"children":933},{},[934,936,942,944,950],{"type":29,"value":935},"155 个 \u002F 50,227 行（",{"type":23,"tag":97,"props":937,"children":939},{"className":938},[],[940],{"type":29,"value":941},"assets\u002Fbundles\u002Fbattle\u002Fspine\u002F*",{"type":29,"value":943},"，141 个含 ",{"type":23,"tag":97,"props":945,"children":947},{"className":946},[],[948],{"type":29,"value":949},"sp.Skeleton",{"type":29,"value":951},"）",{"type":23,"tag":88,"props":953,"children":954},{},[955,957,962],{"type":29,"value":956},"只是 ",{"type":23,"tag":97,"props":958,"children":960},{"className":959},[],[961],{"type":29,"value":949},{"type":29,"value":963}," 外壳，代码里一次初始化调用即可替代",{"type":23,"tag":61,"props":965,"children":966},{},[967,972,984],{"type":23,"tag":88,"props":968,"children":969},{},[970],{"type":29,"value":971},"└ UI 型 prefab",{"type":23,"tag":88,"props":973,"children":974},{},[975,977,982],{"type":29,"value":976},"58 个 \u002F 198,883 行（其中 ",{"type":23,"tag":45,"props":978,"children":979},{},[980],{"type":29,"value":981},"47 个",{"type":29,"value":983},"含 Button\u002FClickEvent\u002FWidget\u002FLabel\u002FScrollView\u002FToggle）",{"type":23,"tag":88,"props":985,"children":986},{},[987,989],{"type":29,"value":988},"真正需要重写\u002F迁移的面板只有 ",{"type":23,"tag":45,"props":990,"children":991},{},[992],{"type":29,"value":993},"约 47 个",{"type":23,"tag":61,"props":995,"children":996},{},[997,1002,1082],{"type":23,"tag":88,"props":998,"children":999},{},[1000],{"type":29,"value":1001},"序列化组件统计",{"type":23,"tag":88,"props":1003,"children":1004},{},[1005,1011,1013,1019,1021,1027,1028,1034,1035,1041,1043,1049,1051,1057,1059,1065,1067,1073,1075,1080],{"type":23,"tag":97,"props":1006,"children":1008},{"className":1007},[],[1009],{"type":29,"value":1010},"cc.Color",{"type":29,"value":1012}," 3636 \u002F ",{"type":23,"tag":97,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":29,"value":1018},"cc.Size",{"type":29,"value":1020}," 2093 \u002F ",{"type":23,"tag":97,"props":1022,"children":1024},{"className":1023},[],[1025],{"type":29,"value":1026},"cc.Node",{"type":29,"value":1020},{"type":23,"tag":97,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":29,"value":1033},"cc.PrefabInfo",{"type":29,"value":1020},{"type":23,"tag":97,"props":1036,"children":1038},{"className":1037},[],[1039],{"type":29,"value":1040},"cc.Sprite",{"type":29,"value":1042}," 851 \u002F ",{"type":23,"tag":97,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":29,"value":1048},"cc.Label",{"type":29,"value":1050}," 384 \u002F ",{"type":23,"tag":97,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":29,"value":1056},"cc.Widget",{"type":29,"value":1058}," 240 \u002F ",{"type":23,"tag":97,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":29,"value":1064},"cc.Button",{"type":29,"value":1066}," 138 \u002F ",{"type":23,"tag":97,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":29,"value":1072},"cc.ClickEvent",{"type":29,"value":1074}," 169 \u002F ",{"type":23,"tag":97,"props":1076,"children":1078},{"className":1077},[],[1079],{"type":29,"value":949},{"type":29,"value":1081}," 141",{"type":23,"tag":88,"props":1083,"children":1084},{},[1085,1090],{"type":23,"tag":45,"props":1086,"children":1087},{},[1088],{"type":29,"value":1089},"2093 个节点",{"type":29,"value":1091},"摊在 47 个面板上 ≈ 45 节点\u002F面板，每个节点被拆成 4 段序列化块",{"type":23,"tag":61,"props":1093,"children":1094},{},[1095,1100,1108],{"type":23,"tag":88,"props":1096,"children":1097},{},[1098],{"type":29,"value":1099},"TypeScript",{"type":23,"tag":88,"props":1101,"children":1102},{},[1103],{"type":23,"tag":45,"props":1104,"children":1105},{},[1106],{"type":29,"value":1107},"110 个文件 \u002F 30,924 行",{"type":23,"tag":88,"props":1109,"children":1110},{},[1111],{"type":29,"value":1112},"目前 agent 唯一能安全操作的部分（≈内容总量的 11%）",{"type":23,"tag":61,"props":1114,"children":1115},{},[1116,1121,1154],{"type":23,"tag":88,"props":1117,"children":1118},{},[1119],{"type":29,"value":1120},"最重的三个面板",{"type":23,"tag":88,"props":1122,"children":1123},{},[1124,1130,1131,1136,1138,1144,1146,1152],{"type":23,"tag":97,"props":1125,"children":1127},{"className":1126},[],[1128],{"type":29,"value":1129},"UIShop.prefab",{"type":29,"value":883},{"type":23,"tag":45,"props":1132,"children":1133},{},[1134],{"type":29,"value":1135},"30,951 行",{"type":29,"value":1137},"、",{"type":23,"tag":97,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":29,"value":1143},"UIBattle.prefab",{"type":29,"value":1145}," 12,040 行、",{"type":23,"tag":97,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":29,"value":1151},"UIHeroInfo.prefab",{"type":29,"value":1153}," 10,979 行",{"type":23,"tag":88,"props":1155,"children":1156},{},[1157,1159],{"type":29,"value":1158},"改一个商店按钮 = 在 3 万行 JSON 里定位 ",{"type":23,"tag":97,"props":1160,"children":1162},{"className":1161},[],[1163],{"type":29,"value":1164},"fileId",{"type":23,"tag":61,"props":1166,"children":1167},{},[1168,1173,1189],{"type":23,"tag":88,"props":1169,"children":1170},{},[1171],{"type":29,"value":1172},"引擎版本",{"type":23,"tag":88,"props":1174,"children":1175},{},[1176,1182,1184],{"type":23,"tag":97,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":29,"value":1181},"project.json:4",{"type":29,"value":1183}," → ",{"type":23,"tag":97,"props":1185,"children":1187},{"className":1186},[],[1188],{"type":29,"value":266},{"type":23,"tag":88,"props":1190,"children":1191},{},[1192,1197],{"type":23,"tag":45,"props":1193,"children":1194},{},[1195],{"type":29,"value":1196},"2.x 无 MCP 生态",{"type":29,"value":1198},"（Funplay 要求 3.8+）",{"type":23,"tag":61,"props":1200,"children":1201},{},[1202,1207,1247],{"type":23,"tag":88,"props":1203,"children":1204},{},[1205],{"type":29,"value":1206},"依赖",{"type":23,"tag":88,"props":1208,"children":1209},{},[1210,1216,1218,1224,1226,1232,1234,1240,1242],{"type":23,"tag":97,"props":1211,"children":1213},{"className":1212},[],[1214],{"type":29,"value":1215},"node_modules",{"type":29,"value":1217}," 只有 typescript\u002Ficonv-lite\u002Fsafer-buffer；",{"type":23,"tag":97,"props":1219,"children":1221},{"className":1220},[],[1222],{"type":29,"value":1223},"tsconfig.json:5-6",{"type":29,"value":1225}," = ",{"type":23,"tag":97,"props":1227,"children":1229},{"className":1228},[],[1230],{"type":29,"value":1231},"target: es5",{"type":29,"value":1233}," + ",{"type":23,"tag":97,"props":1235,"children":1237},{"className":1236},[],[1238],{"type":29,"value":1239},"experimentalDecorators",{"type":29,"value":1241},"，",{"type":23,"tag":45,"props":1243,"children":1244},{},[1245],{"type":29,"value":1246},"未开 strict",{"type":23,"tag":88,"props":1248,"children":1249},{},[1250],{"type":29,"value":1251},"只有类型检查一层自证能力，且没接线（见下方根因 3）",{"type":23,"tag":39,"props":1253,"children":1254},{},[1255],{"type":23,"tag":45,"props":1256,"children":1257},{},[1258],{"type":29,"value":1259},"根因是三条，不是\"引擎不支持 AI\"：",{"type":23,"tag":743,"props":1261,"children":1262},{},[1263,1301,1349],{"type":23,"tag":747,"props":1264,"children":1265},{},[1266,1271,1272,1278,1280,1285,1286,1292,1294,1299],{"type":23,"tag":45,"props":1267,"children":1268},{},[1269],{"type":29,"value":1270},"真源不是文本可读形式",{"type":29,"value":741},{"type":23,"tag":97,"props":1273,"children":1275},{"className":1274},[],[1276],{"type":29,"value":1277},".prefab",{"type":29,"value":1279}," 虽是 JSON，但靠 ",{"type":23,"tag":97,"props":1281,"children":1283},{"className":1282},[],[1284],{"type":29,"value":1164},{"type":29,"value":208},{"type":23,"tag":97,"props":1287,"children":1289},{"className":1288},[],[1290],{"type":29,"value":1291},"_id",{"type":29,"value":1293},"\u002Fuuid 互相引用，改错一个字符串就静默丢引用，且",{"type":23,"tag":45,"props":1295,"children":1296},{},[1297],{"type":29,"value":1298},"人看不出 diff",{"type":29,"value":1300},"；agent 没有可视化确认手段。",{"type":23,"tag":747,"props":1302,"children":1303},{},[1304,1309,1310,1316,1318,1324,1325,1331,1333,1339,1341,1347],{"type":23,"tag":45,"props":1305,"children":1306},{},[1307],{"type":29,"value":1308},"构建与预览必须 GUI",{"type":29,"value":741},{"type":23,"tag":97,"props":1311,"children":1313},{"className":1312},[],[1314],{"type":29,"value":1315},"settings\u002Fwechatgame.json",{"type":29,"value":1317}," + 构建面板产出 ",{"type":23,"tag":97,"props":1319,"children":1321},{"className":1320},[],[1322],{"type":29,"value":1323},"build\u002Fwechatgame",{"type":29,"value":1241},{"type":23,"tag":97,"props":1326,"children":1328},{"className":1327},[],[1329],{"type":29,"value":1330},"tools\u002Fpost-build-wechat-subpackage.sh:27,43-48",{"type":29,"value":1332}," 只是把 bundle 搬到 ",{"type":23,"tag":97,"props":1334,"children":1336},{"className":1335},[],[1337],{"type":29,"value":1338},"subpackages\u002F{name}\u002F",{"type":29,"value":1340}," 的后处理，且脚本自己就在 ",{"type":23,"tag":97,"props":1342,"children":1344},{"className":1343},[],[1345],{"type":29,"value":1346},":54",{"type":29,"value":1348}," 要求\"请用微信开发者工具重新编译验证\"；agent 拿不到\"构建是否成功\"的退出码 → 无法闭环。",{"type":23,"tag":747,"props":1350,"children":1351},{},[1352,1357,1358,1364,1366,1372,1374,1380,1382,1387,1389,1394,1396,1402,1403,1409,1410,1416,1418,1423,1425,1430],{"type":23,"tag":45,"props":1353,"children":1354},{},[1355],{"type":29,"value":1356},"自检回路只建了一半",{"type":29,"value":741},{"type":23,"tag":97,"props":1359,"children":1361},{"className":1360},[],[1362],{"type":29,"value":1363},"package.json",{"type":29,"value":1365}," 已有 ",{"type":23,"tag":97,"props":1367,"children":1369},{"className":1368},[],[1370],{"type":29,"value":1371},"typecheck",{"type":29,"value":1373},"（",{"type":23,"tag":97,"props":1375,"children":1377},{"className":1376},[],[1378],{"type":29,"value":1379},"tsc --noEmit",{"type":29,"value":1381},"），2026-10-06 实测",{"type":23,"tag":45,"props":1383,"children":1384},{},[1385],{"type":29,"value":1386},"退出码 0、0 条错误",{"type":29,"value":1388},"（本地 ",{"type":23,"tag":97,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":29,"value":1215},{"type":29,"value":1395}," 带 typescript 5.9.3）；但 CI 只有两个 python 步骤（",{"type":23,"tag":97,"props":1397,"children":1399},{"className":1398},[],[1400],{"type":29,"value":1401},".github\u002Fworkflows\u002Freskin-check.yml:23,26",{"type":29,"value":1225},{"type":23,"tag":97,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":29,"value":1408},"validate_spine.py",{"type":29,"value":1233},{"type":23,"tag":97,"props":1411,"children":1413},{"className":1412},[],[1414],{"type":29,"value":1415},"scan_old_theme_residuals.py",{"type":29,"value":1417},"），",{"type":23,"tag":45,"props":1419,"children":1420},{},[1421],{"type":29,"value":1422},"没有 npm ci、没有 typecheck",{"type":29,"value":1424},"；也没有 eslint、没有单测、没有截图回归。结论：agent 目前唯一可用的自证手段是类型检查，而且",{"type":23,"tag":45,"props":1426,"children":1427},{},[1428],{"type":29,"value":1429},"没人把它接进回路里",{"type":29,"value":275},{"type":23,"tag":235,"props":1432,"children":1433},{},[1434],{"type":23,"tag":39,"props":1435,"children":1436},{},[1437,1439,1444],{"type":29,"value":1438},"这三条",{"type":23,"tag":45,"props":1440,"children":1441},{},[1442],{"type":29,"value":1443},"在 Cocos 2.4 里也能全部治",{"type":29,"value":1445},"（见 §5 路线 A），所以\"要不要换栈\"其实是投入产出比问题，不是能力有无问题。",{"type":23,"tag":225,"props":1447,"children":1448},{},[],{"type":23,"tag":317,"props":1450,"children":1452},{"id":1451},"_2-判据什么才算能被-agent-全面编程7-条按权重排序",[1453],{"type":29,"value":1454},"2. 判据：什么才算\"能被 agent 全面编程\"（7 条，按权重排序）",{"type":23,"tag":53,"props":1456,"children":1457},{},[1458,1509],{"type":23,"tag":57,"props":1459,"children":1460},{},[1461],{"type":23,"tag":61,"props":1462,"children":1463},{},[1464,1469,1474,1479,1484,1489,1494,1499,1504],{"type":23,"tag":65,"props":1465,"children":1466},{},[1467],{"type":29,"value":1468},"#",{"type":23,"tag":65,"props":1470,"children":1471},{},[1472],{"type":29,"value":1473},"判据",{"type":23,"tag":65,"props":1475,"children":1476},{},[1477],{"type":29,"value":1478},"为什么",{"type":23,"tag":65,"props":1480,"children":1481},{},[1482],{"type":29,"value":1483},"现状(2.4)",{"type":23,"tag":65,"props":1485,"children":1486},{},[1487],{"type":29,"value":1488},"Phaser4",{"type":23,"tag":65,"props":1490,"children":1491},{},[1492],{"type":29,"value":1493},"Cocos3.8+MCP",{"type":23,"tag":65,"props":1495,"children":1496},{},[1497],{"type":29,"value":1498},"Laya3",{"type":23,"tag":65,"props":1500,"children":1501},{},[1502],{"type":29,"value":1503},"Godot4",{"type":23,"tag":65,"props":1505,"children":1506},{},[1507],{"type":29,"value":1508},"Unity+小游戏",{"type":23,"tag":81,"props":1510,"children":1511},{},[1512,1581,1634,1685,1742,1799,1850],{"type":23,"tag":61,"props":1513,"children":1514},{},[1515,1520,1530,1535,1540,1545,1550,1563,1576],{"type":23,"tag":88,"props":1516,"children":1517},{},[1518],{"type":29,"value":1519},"C1",{"type":23,"tag":88,"props":1521,"children":1522},{},[1523,1528],{"type":23,"tag":45,"props":1524,"children":1525},{},[1526],{"type":29,"value":1527},"场景\u002F界面有纯文本真源",{"type":29,"value":1529},"（代码或可手写 DSL，无不可读 ID）",{"type":23,"tag":88,"props":1531,"children":1532},{},[1533],{"type":29,"value":1534},"agent 只能可靠编辑文本",{"type":23,"tag":88,"props":1536,"children":1537},{},[1538],{"type":29,"value":1539},"❌ 89% 在 prefab JSON",{"type":23,"tag":88,"props":1541,"children":1542},{},[1543],{"type":29,"value":1544},"✅",{"type":23,"tag":88,"props":1546,"children":1547},{},[1548],{"type":29,"value":1549},"⚠️ 文本但含 uuid",{"type":23,"tag":88,"props":1551,"children":1552},{},[1553,1555,1561],{"type":29,"value":1554},"⚠️ ",{"type":23,"tag":97,"props":1556,"children":1558},{"className":1557},[],[1559],{"type":29,"value":1560},".ls",{"type":29,"value":1562}," 是 JSON，IDE 产出",{"type":23,"tag":88,"props":1564,"children":1565},{},[1566,1568,1574],{"type":29,"value":1567},"✅ ",{"type":23,"tag":97,"props":1569,"children":1571},{"className":1570},[],[1572],{"type":29,"value":1573},".tscn",{"type":29,"value":1575}," 可 diff",{"type":23,"tag":88,"props":1577,"children":1578},{},[1579],{"type":29,"value":1580},"⚠️ YAML+guid",{"type":23,"tag":61,"props":1582,"children":1583},{},[1584,1589,1599,1604,1609,1614,1619,1624,1629],{"type":23,"tag":88,"props":1585,"children":1586},{},[1587],{"type":29,"value":1588},"C2",{"type":23,"tag":88,"props":1590,"children":1591},{},[1592,1597],{"type":23,"tag":45,"props":1593,"children":1594},{},[1595],{"type":29,"value":1596},"不打开 GUI 就能构建出可运行包",{"type":29,"value":1598},"（CLI 退出码可信）",{"type":23,"tag":88,"props":1600,"children":1601},{},[1602],{"type":29,"value":1603},"决定能否无人值守\u002FCI",{"type":23,"tag":88,"props":1605,"children":1606},{},[1607],{"type":29,"value":1608},"❌ D3",{"type":23,"tag":88,"props":1610,"children":1611},{},[1612],{"type":29,"value":1613},"✅ vite build",{"type":23,"tag":88,"props":1615,"children":1616},{},[1617],{"type":29,"value":1618},"✅ 官方 CLI",{"type":23,"tag":88,"props":1620,"children":1621},{},[1622],{"type":29,"value":1623},"❌ IDE 发布",{"type":23,"tag":88,"props":1625,"children":1626},{},[1627],{"type":29,"value":1628},"✅ headless export",{"type":23,"tag":88,"props":1630,"children":1631},{},[1632],{"type":29,"value":1633},"❌ 转换工具 GUI",{"type":23,"tag":61,"props":1635,"children":1636},{},[1637,1642,1652,1657,1662,1667,1672,1676,1680],{"type":23,"tag":88,"props":1638,"children":1639},{},[1640],{"type":29,"value":1641},"C3",{"type":23,"tag":88,"props":1643,"children":1644},{},[1645,1650],{"type":23,"tag":45,"props":1646,"children":1647},{},[1648],{"type":29,"value":1649},"能无头跑起来并截图",{"type":29,"value":1651},"（agent 自证\"真的画对了\"）",{"type":23,"tag":88,"props":1653,"children":1654},{},[1655],{"type":29,"value":1656},"否则只能靠人眼验收",{"type":23,"tag":88,"props":1658,"children":1659},{},[1660],{"type":29,"value":1661},"⚠️ web 构建+Chrome（D4）",{"type":23,"tag":88,"props":1663,"children":1664},{},[1665],{"type":29,"value":1666},"✅ Chrome\u002FPuppeteer",{"type":23,"tag":88,"props":1668,"children":1669},{},[1670],{"type":29,"value":1671},"⚠️ 同左",{"type":23,"tag":88,"props":1673,"children":1674},{},[1675],{"type":29,"value":1544},{"type":23,"tag":88,"props":1677,"children":1678},{},[1679],{"type":29,"value":1544},{"type":23,"tag":88,"props":1681,"children":1682},{},[1683],{"type":29,"value":1684},"⚠️",{"type":23,"tag":61,"props":1686,"children":1687},{},[1688,1693,1703,1708,1720,1724,1728,1732,1737],{"type":23,"tag":88,"props":1689,"children":1690},{},[1691],{"type":29,"value":1692},"C4",{"type":23,"tag":88,"props":1694,"children":1695},{},[1696,1701],{"type":23,"tag":45,"props":1697,"children":1698},{},[1699],{"type":29,"value":1700},"类型\u002F静态检查可当门禁",{"type":29,"value":1702},"（TS strict、lint 能抓错）",{"type":23,"tag":88,"props":1704,"children":1705},{},[1706],{"type":29,"value":1707},"agent 的第一道回路",{"type":23,"tag":88,"props":1709,"children":1710},{},[1711,1713,1718],{"type":29,"value":1712},"⚠️ typecheck 实测 0 错误但",{"type":23,"tag":45,"props":1714,"children":1715},{},[1716],{"type":29,"value":1717},"未进 CI",{"type":29,"value":1719},"、无 eslint",{"type":23,"tag":88,"props":1721,"children":1722},{},[1723],{"type":29,"value":1544},{"type":23,"tag":88,"props":1725,"children":1726},{},[1727],{"type":29,"value":1544},{"type":23,"tag":88,"props":1729,"children":1730},{},[1731],{"type":29,"value":1544},{"type":23,"tag":88,"props":1733,"children":1734},{},[1735],{"type":29,"value":1736},"❌ GDScript 弱",{"type":23,"tag":88,"props":1738,"children":1739},{},[1740],{"type":29,"value":1741},"✅ C#",{"type":23,"tag":61,"props":1743,"children":1744},{},[1745,1750,1760,1765,1770,1780,1785,1790,1795],{"type":23,"tag":88,"props":1746,"children":1747},{},[1748],{"type":29,"value":1749},"C5",{"type":23,"tag":88,"props":1751,"children":1752},{},[1753,1758],{"type":23,"tag":45,"props":1754,"children":1755},{},[1756],{"type":29,"value":1757},"LLM 语料密度",{"type":29,"value":1759},"（npm 周下载、star、文档站稳定度）",{"type":23,"tag":88,"props":1761,"children":1762},{},[1763],{"type":29,"value":1764},"决定幻觉率",{"type":23,"tag":88,"props":1766,"children":1767},{},[1768],{"type":29,"value":1769},"中（中文语料多但 2.x API 已老化）",{"type":23,"tag":88,"props":1771,"children":1772},{},[1773,1778],{"type":23,"tag":45,"props":1774,"children":1775},{},[1776],{"type":29,"value":1777},"极高",{"type":29,"value":1779},"：phaser 545,951\u002F周、40,410★",{"type":23,"tag":88,"props":1781,"children":1782},{},[1783],{"type":29,"value":1784},"高",{"type":23,"tag":88,"props":1786,"children":1787},{},[1788],{"type":29,"value":1789},"中：2,204★",{"type":23,"tag":88,"props":1791,"children":1792},{},[1793],{"type":29,"value":1794},"中",{"type":23,"tag":88,"props":1796,"children":1797},{},[1798],{"type":29,"value":1784},{"type":23,"tag":61,"props":1800,"children":1801},{},[1802,1807,1817,1822,1827,1832,1837,1841,1845],{"type":23,"tag":88,"props":1803,"children":1804},{},[1805],{"type":29,"value":1806},"C6",{"type":23,"tag":88,"props":1808,"children":1809},{},[1810,1815],{"type":23,"tag":45,"props":1811,"children":1812},{},[1813],{"type":29,"value":1814},"一次可并行多改",{"type":29,"value":1816},"（多子代理同时改不同面板不冲突）",{"type":23,"tag":88,"props":1818,"children":1819},{},[1820],{"type":29,"value":1821},"决定产能上限",{"type":23,"tag":88,"props":1823,"children":1824},{},[1825],{"type":29,"value":1826},"❌ 二进制化 JSON 必冲突",{"type":23,"tag":88,"props":1828,"children":1829},{},[1830],{"type":29,"value":1831},"✅ 按文件天然分片",{"type":23,"tag":88,"props":1833,"children":1834},{},[1835],{"type":29,"value":1836},"❌ 编辑器单实例、MCP 串行",{"type":23,"tag":88,"props":1838,"children":1839},{},[1840],{"type":29,"value":1684},{"type":23,"tag":88,"props":1842,"children":1843},{},[1844],{"type":29,"value":1544},{"type":23,"tag":88,"props":1846,"children":1847},{},[1848],{"type":29,"value":1849},"❌",{"type":23,"tag":61,"props":1851,"children":1852},{},[1853,1858,1868,1873,1878,1883,1888,1892,1896],{"type":23,"tag":88,"props":1854,"children":1855},{},[1856],{"type":29,"value":1857},"C7",{"type":23,"tag":88,"props":1859,"children":1860},{},[1861,1866],{"type":23,"tag":45,"props":1862,"children":1863},{},[1864],{"type":29,"value":1865},"平台 SDK 差异被隔离在单层内",{"type":29,"value":1867},"（wx\u002Ftt\u002Fqq\u002Fks 与广告\u002F支付\u002F开放数据域）",{"type":23,"tag":88,"props":1869,"children":1870},{},[1871],{"type":29,"value":1872},"换栈不重复踩坑",{"type":23,"tag":88,"props":1874,"children":1875},{},[1876],{"type":29,"value":1877},"⚠️ 散落",{"type":23,"tag":88,"props":1879,"children":1880},{},[1881],{"type":29,"value":1882},"⚠️ 需自建",{"type":23,"tag":88,"props":1884,"children":1885},{},[1886],{"type":29,"value":1887},"✅ 官方导出层",{"type":23,"tag":88,"props":1889,"children":1890},{},[1891],{"type":29,"value":1544},{"type":23,"tag":88,"props":1893,"children":1894},{},[1895],{"type":29,"value":1684},{"type":23,"tag":88,"props":1897,"children":1898},{},[1899],{"type":29,"value":1684},{"type":23,"tag":39,"props":1901,"children":1902},{},[1903],{"type":23,"tag":45,"props":1904,"children":1905},{},[1906],{"type":29,"value":1907},"两种 agent 工作模式，必须先选一个：",{"type":23,"tag":1909,"props":1910,"children":1911},"ul",{},[1912,1943,1968],{"type":23,"tag":747,"props":1913,"children":1914},{},[1915,1920,1922,1928,1929,1934,1936,1941],{"type":23,"tag":45,"props":1916,"children":1917},{},[1918],{"type":29,"value":1919},"Mode A｜文本真源直改",{"type":29,"value":1921},"（对应 C1+C2+C3+C6）：agent 写 ",{"type":23,"tag":97,"props":1923,"children":1925},{"className":1924},[],[1926],{"type":29,"value":1927},".ts",{"type":29,"value":208},{"type":23,"tag":97,"props":1930,"children":1932},{"className":1931},[],[1933],{"type":29,"value":1573},{"type":29,"value":1935},"\u002FDSL → CLI 构建 → 无头截图 → 断言。特点：",{"type":23,"tag":45,"props":1937,"children":1938},{},[1939],{"type":29,"value":1940},"可无人值守、可并行、可回归",{"type":29,"value":1942},"，代价是所有场景必须文本化。",{"type":23,"tag":747,"props":1944,"children":1945},{},[1946,1951,1953,1958,1960,1966],{"type":23,"tag":45,"props":1947,"children":1948},{},[1949],{"type":29,"value":1950},"Mode B｜MCP 驱动编辑器",{"type":29,"value":1952},"（Cocos Funplay \u002F unity-mcp \u002F godot-mcp）：agent 调工具在编辑器里建节点、挂组件、存 prefab。特点：",{"type":23,"tag":45,"props":1954,"children":1955},{},[1956],{"type":29,"value":1957},"存量工程零重写",{"type":29,"value":1959},"，但要求编辑器进程开着（HTTP 服务 ",{"type":23,"tag":97,"props":1961,"children":1963},{"className":1962},[],[1964],{"type":29,"value":1965},"127.0.0.1:8765",{"type":29,"value":1967}," 跑在编辑器内）、单实例串行、产出仍是二进制化 JSON（diff 噪声大、难以 code review）。",{"type":23,"tag":747,"props":1969,"children":1970},{},[1971,1973,1978],{"type":29,"value":1972},"结论性判断：",{"type":23,"tag":45,"props":1974,"children":1975},{},[1976],{"type":29,"value":1977},"Mode A 是产能上限更高的那个",{"type":29,"value":1979},"；Mode B 只是\"不想重写\"的补偿手段。你现在的痛苦本质是 Mode A 不成立，而 Mode B 也没有（2.4 无 MCP）。",{"type":23,"tag":225,"props":1981,"children":1982},{},[],{"type":23,"tag":317,"props":1984,"children":1986},{"id":1985},"_3-候选栈逐条说明只写会影响决策的部分",[1987],{"type":29,"value":1988},"3. 候选栈逐条说明（只写会影响决策的部分）",{"type":23,"tag":32,"props":1990,"children":1992},{"id":1991},"phaser-4mitv4212026-07-0940410npm-545951-次周",[1993],{"type":29,"value":1994},"Phaser 4（MIT，v4.2.1，2026-07-09；40,410★，npm 545,951 次\u002F周）",{"type":23,"tag":1909,"props":1996,"children":1997},{},[1998,2022,2068],{"type":23,"tag":747,"props":1999,"children":2000},{},[2001,2006,2008,2013,2014,2020],{"type":23,"tag":45,"props":2002,"children":2003},{},[2004],{"type":29,"value":2005},"agent 友好度最高的现实选择",{"type":29,"value":2007},"：场景=Scene 类里的代码，UI=自写布局函数；没有编辑器、没有 uuid，",{"type":23,"tag":97,"props":2009,"children":2011},{"className":2010},[],[2012],{"type":29,"value":1379},{"type":29,"value":1233},{"type":23,"tag":97,"props":2015,"children":2017},{"className":2016},[],[2018],{"type":29,"value":2019},"vite build",{"type":29,"value":2021}," + Puppeteer 截图三件套全部命令行可得。",{"type":23,"tag":747,"props":2023,"children":2024},{},[2025,2030,2032,2043,2045,2051,2052,2058,2060,2066],{"type":23,"tag":45,"props":2026,"children":2027},{},[2028],{"type":29,"value":2029},"微信小游戏已被验证",{"type":29,"value":2031},"：2026-08 有开发者做出 \"Phaser4 in 微信小游戏 最小可行性验证\"，用",{"type":23,"tag":45,"props":2033,"children":2034},{},[2035,2037],{"type":29,"value":2036},"自写 ",{"type":23,"tag":97,"props":2038,"children":2040},{"className":2039},[],[2041],{"type":29,"value":2042},"weapp-adapter.js",{"type":29,"value":2044},"（不依赖第三方库），需 patch 的点：npm 包导出方式、",{"type":23,"tag":97,"props":2046,"children":2048},{"className":2047},[],[2049],{"type":29,"value":2050},"document",{"type":29,"value":208},{"type":23,"tag":97,"props":2053,"children":2055},{"className":2054},[],[2056],{"type":29,"value":2057},"window",{"type":29,"value":2059}," polyfill、",{"type":23,"tag":97,"props":2061,"children":2063},{"className":2062},[],[2064],{"type":29,"value":2065},"XMLHttpRequest",{"type":29,"value":2067},"、真实 WebGL 上下文；作者结论\"无需降级\"。",{"type":23,"tag":747,"props":2069,"children":2070},{},[2071,2076,2078,2083,2085,2090,2092,2097,2099,2105,2106,2112],{"type":23,"tag":45,"props":2072,"children":2073},{},[2074],{"type":29,"value":2075},"风险",{"type":29,"value":2077},"：① Phaser ",{"type":23,"tag":45,"props":2079,"children":2080},{},[2081],{"type":29,"value":2082},"没有成套 UI 框架",{"type":29,"value":2084},"（按钮\u002F滚动列表\u002F输入框\u002F富文本要么用社区 RexUI，要么自建）——而你的游戏是 ",{"type":23,"tag":45,"props":2086,"children":2087},{},[2088],{"type":29,"value":2089},"47 个面板、384 Label、138 Button、9 ScrollView、1 EditBox",{"type":29,"value":2091}," 的重 UI 结构，这块是自付成本；② Spine 运行时（你有 141 个 ",{"type":23,"tag":97,"props":2093,"children":2095},{"className":2094},[],[2096],{"type":29,"value":949},{"type":29,"value":2098}," 包装）在 Phaser 侧要走官方 spine-ts 运行时，资源可复用但要重接；③ 音频\u002F字体\u002F热更\u002F分包策略全部自己实现——你现在这层是 Cocos 内置的远程资源 + 手工后处理脚本（",{"type":23,"tag":97,"props":2100,"children":2102},{"className":2101},[],[2103],{"type":29,"value":2104},"settings\u002Fwechatgame.json:5",{"type":29,"value":1137},{"type":23,"tag":97,"props":2107,"children":2109},{"className":2108},[],[2110],{"type":29,"value":2111},"tools\u002Fpost-build-wechat-subpackage.sh",{"type":29,"value":2113},"），换栈要整体重建。",{"type":23,"tag":32,"props":2115,"children":2117},{"id":2116},"cocos-creator-38x-mcp升级路线",[2118],{"type":29,"value":2119},"Cocos Creator 3.8.x + MCP（升级路线）",{"type":23,"tag":1909,"props":2121,"children":2122},{},[2123,2191,2201,2232],{"type":23,"tag":747,"props":2124,"children":2125},{},[2126,2131,2133,2138,2140,2145,2146,2152,2154,2160,2161,2167,2169,2174,2176,2182,2184,2189],{"type":23,"tag":45,"props":2127,"children":2128},{},[2129],{"type":29,"value":2130},"agent 通道确实存在",{"type":29,"value":2132},"：Funplay MCP for Cocos（Cocos 商店 #8913）面向 ",{"type":23,"tag":45,"props":2134,"children":2135},{},[2136],{"type":29,"value":2137},"3.8+",{"type":29,"value":2139},"，本质是",{"type":23,"tag":45,"props":2141,"children":2142},{},[2143],{"type":29,"value":2144},"嵌在编辑器里的 HTTP 服务",{"type":29,"value":1373},{"type":23,"tag":97,"props":2147,"children":2149},{"className":2148},[],[2150],{"type":29,"value":2151},"http:\u002F\u002F127.0.0.1:8765",{"type":29,"value":2153},"），让 AI 在 ",{"type":23,"tag":97,"props":2155,"children":2157},{"className":2156},[],[2158],{"type":29,"value":2159},"scene",{"type":29,"value":208},{"type":23,"tag":97,"props":2162,"children":2164},{"className":2163},[],[2165],{"type":29,"value":2166},"editor",{"type":29,"value":2168}," 上下文执行 JS，提供 ",{"type":23,"tag":45,"props":2170,"children":2171},{},[2172],{"type":29,"value":2173},"105 个工具",{"type":29,"value":2175},"管理 node\u002Fprefab\u002Fcomponent，并有路径穿越等安全检查、限制在当前工程根目录。安装=把扩展放进工程 ",{"type":23,"tag":97,"props":2177,"children":2179},{"className":2178},[],[2180],{"type":29,"value":2181},"extensions\u002F",{"type":29,"value":2183}," 或编辑器菜单 \"Funplay > MCP Settings\"。商店里还有 #9469 \"Cocos Creator AI MCP 助手\"、#8586 \"Cocos Agent\"（页面 JS 渲染，本文",{"type":23,"tag":45,"props":2185,"children":2186},{},[2187],{"type":29,"value":2188},"未能读到功能详情",{"type":29,"value":2190},"，见 D2）。",{"type":23,"tag":747,"props":2192,"children":2193},{},[2194,2199],{"type":23,"tag":45,"props":2195,"children":2196},{},[2197],{"type":29,"value":2198},"小游戏侧最省事",{"type":29,"value":2200},"：官方发布链路 + 官方分包\u002F远程资源\u002F开放数据域支持；平台广度是所有候选里最广的（微信\u002F抖音\u002FQQ\u002F快手\u002F支付宝\u002FB站\u002FH5\u002F原生 App）。",{"type":23,"tag":747,"props":2202,"children":2203},{},[2204,2209,2210,2216,2218,2223,2225,2230],{"type":23,"tag":45,"props":2205,"children":2206},{},[2207],{"type":29,"value":2208},"代价",{"type":29,"value":741},{"type":23,"tag":97,"props":2211,"children":2213},{"className":2212},[],[2214],{"type":29,"value":2215},".scene\u002F.prefab",{"type":29,"value":2217}," 仍是 uuid 引用的 JSON，agent 直改文本依然危险（要靠 MCP）；MCP = ",{"type":23,"tag":45,"props":2219,"children":2220},{},[2221],{"type":29,"value":2222},"人在场、单实例、不可并行",{"type":29,"value":2224},"；",{"type":23,"tag":97,"props":2226,"children":2228},{"className":2227},[],[2229],{"type":29,"value":2181},{"type":29,"value":2231}," 目前不存在于本工程，需新建。",{"type":23,"tag":747,"props":2233,"children":2234},{},[2235,2240,2242,2248,2250,2256,2258,2264,2266,2271],{"type":23,"tag":45,"props":2236,"children":2237},{},[2238],{"type":29,"value":2239},"2.4.15 → 3.8 的迁移成本必须先量",{"type":29,"value":2241},"：2.x 的 ",{"type":23,"tag":97,"props":2243,"children":2245},{"className":2244},[],[2246],{"type":29,"value":2247},".fire\u002F.prefab",{"type":29,"value":2249}," 与 3.x 格式不兼容，",{"type":23,"tag":97,"props":2251,"children":2253},{"className":2252},[],[2254],{"type":29,"value":2255},"cc.*",{"type":29,"value":2257}," 全局 API → ",{"type":23,"tag":97,"props":2259,"children":2261},{"className":2260},[],[2262],{"type":29,"value":2263},"import from 'cc'",{"type":29,"value":2265},"、组件生命周期与渲染管线全变。",{"type":23,"tag":45,"props":2267,"children":2268},{},[2269],{"type":29,"value":2270},"官方 2.x→3.x prefab 迁移工具现状 = D1",{"type":29,"value":2272},"（这条直接决定该路线是否可行；不要在没有结论前投入）。",{"type":23,"tag":32,"props":2274,"children":2276},{"id":2275},"layaair-3引擎-mit2204最近推送-2026-09-24",[2277],{"type":29,"value":2278},"LayaAir 3（引擎 MIT，2,204★，最近推送 2026-09-24）",{"type":23,"tag":1909,"props":2280,"children":2281},{},[2282,2301,2317],{"type":23,"tag":747,"props":2283,"children":2284},{},[2285,2287,2292,2294,2299],{"type":29,"value":2286},"引擎源码开源、",{"type":23,"tag":97,"props":2288,"children":2290},{"className":2289},[],[2291],{"type":29,"value":1560},{"type":29,"value":2293}," 场景是 JSON 文本、可纯代码建场景；官方微信小游戏文档齐（adapter 为 ",{"type":23,"tag":97,"props":2295,"children":2297},{"className":2296},[],[2298],{"type":29,"value":2042},{"type":29,"value":2300},"，分包在 IDE 里勾选）。",{"type":23,"tag":747,"props":2302,"children":2303},{},[2304,2309,2310,2315],{"type":23,"tag":45,"props":2305,"children":2306},{},[2307],{"type":29,"value":2308},"卡点",{"type":29,"value":741},{"type":23,"tag":45,"props":2311,"children":2312},{},[2313],{"type":29,"value":2314},"IDE 闭源",{"type":29,"value":2316},"，发布流程设计为在 IDE 里点，因此 C2\u002FC6（CLI 构建、并行）弱；社区体量与 LLM 语料明显小于 Phaser；2D 重 UI 生态一般。",{"type":23,"tag":747,"props":2318,"children":2319},{},[2320,2322,2327],{"type":29,"value":2321},"只有在",{"type":23,"tag":45,"props":2323,"children":2324},{},[2325],{"type":29,"value":2326},"要做 3D",{"type":29,"value":2328}," 或需要 Laya 的特定能力时才值得比。",{"type":23,"tag":32,"props":2330,"children":2332},{"id":2331},"evajs阿里淘系互动引擎mit1782最近推送-2026-07-10",[2333],{"type":29,"value":2334},"Eva.js（阿里淘系互动引擎，MIT，1,782★，最近推送 2026-07-10）",{"type":23,"tag":1909,"props":2336,"children":2337},{},[2338,2343,2366],{"type":23,"tag":747,"props":2339,"children":2340},{},[2341],{"type":29,"value":2342},"真 ECS + 纯代码\u002FJSON 场景，无编辑器依赖，agent 友好度结构上很好；双 11 级互动场景背书。",{"type":23,"tag":747,"props":2344,"children":2345},{},[2346,2350,2352,2357,2359,2364],{"type":23,"tag":45,"props":2347,"children":2348},{},[2349],{"type":29,"value":2308},{"type":29,"value":2351},"：定位是",{"type":23,"tag":45,"props":2353,"children":2354},{},[2355],{"type":29,"value":2356},"淘宝\u002F支付宝互动",{"type":29,"value":2358},"，微信小游戏侧适配与生态证据薄；社区小 → LLM 对其 API 熟悉度低（",{"type":23,"tag":45,"props":2360,"children":2361},{},[2362],{"type":29,"value":2363},"这是我的判断，不是实测",{"type":29,"value":2365},"），生成代码幻觉率会高于 Phaser；文档\u002F示例中文为主但更新偏慢。",{"type":23,"tag":747,"props":2367,"children":2368},{},[2369,2371,2376],{"type":29,"value":2370},"若你未来主要投",{"type":23,"tag":45,"props":2372,"children":2373},{},[2374],{"type":29,"value":2375},"淘宝\u002F支付宝小游戏",{"type":29,"value":2377},"，它的优先级要重排。",{"type":23,"tag":32,"props":2379,"children":2381},{"id":2380},"godot-4-社区小游戏适配",[2382],{"type":29,"value":2383},"Godot 4（+ 社区小游戏适配）",{"type":23,"tag":1909,"props":2385,"children":2386},{},[2387,2398],{"type":23,"tag":747,"props":2388,"children":2389},{},[2390,2396],{"type":23,"tag":97,"props":2391,"children":2393},{"className":2392},[],[2394],{"type":29,"value":2395},"Godot 场景文件 .tscn \u002F 脚本 .gd 都是纯文本",{"type":29,"value":2397},"，是**唯一\"编辑器型但 Mode A 完全成立\"**的传统引擎（且 godot-mcp 生态也很热：最高 5,950★）。",{"type":23,"tag":747,"props":2399,"children":2400},{},[2401,2406,2408,2413,2415,2420,2422,2427,2429],{"type":23,"tag":45,"props":2402,"children":2403},{},[2404],{"type":29,"value":2405},"但小游戏是硬墙",{"type":29,"value":2407},"：官方 Web 导出是 WASM+线程模型，微信小游戏不支持；现仅有社区工具把 ",{"type":23,"tag":45,"props":2409,"children":2410},{},[2411],{"type":29,"value":2412},"Godot 4.6.4 的 Web 导出",{"type":29,"value":2414},"改造到微信\u002F抖音小游戏，MIT、",{"type":23,"tag":45,"props":2416,"children":2417},{},[2418],{"type":29,"value":2419},"9★",{"type":29,"value":2421},"、总包 ≈20MB、",{"type":23,"tag":45,"props":2423,"children":2424},{},[2425],{"type":29,"value":2426},"仅 WebGL2",{"type":29,"value":2428},"、不支持 EH。为\"尽可能多平台\"的目标选它＝把上线风险押在一个人的仓库上。",{"type":23,"tag":45,"props":2430,"children":2431},{},[2432],{"type":29,"value":2433},"结论：排除。",{"type":23,"tag":32,"props":2435,"children":2437},{"id":2436},"unity-团结引擎webgl-小游戏转换",[2438],{"type":29,"value":2439},"Unity \u002F 团结引擎（WebGL → 小游戏转换）",{"type":23,"tag":1909,"props":2441,"children":2442},{},[2443,2468],{"type":23,"tag":747,"props":2444,"children":2445},{},[2446,2448,2453,2454,2460,2461,2466],{"type":29,"value":2447},"反差最大的一格：",{"type":23,"tag":45,"props":2449,"children":2450},{},[2451],{"type":29,"value":2452},"编辑器 MCP 生态最成熟",{"type":29,"value":1373},{"type":23,"tag":97,"props":2455,"children":2457},{"className":2456},[],[2458],{"type":29,"value":2459},"CoplayDev\u002Funity-mcp",{"type":29,"value":883},{"type":23,"tag":45,"props":2462,"children":2463},{},[2464],{"type":29,"value":2465},"14,710★，最近推送 2026-10-06",{"type":29,"value":2467},"，能管资源、控场景、改脚本、自动化任务；另有 unity-cli 315★、AnkleBreaker 268 工具的 UPM 插件）。",{"type":23,"tag":747,"props":2469,"children":2470},{},[2471,2476,2478,2483,2485,2490,2492],{"type":23,"tag":45,"props":2472,"children":2473},{},[2474],{"type":29,"value":2475},"但小游戏侧的约束正好打在你的游戏类型上",{"type":29,"value":2477},"：官方转换链路",{"type":23,"tag":45,"props":2479,"children":2480},{},[2481],{"type":29,"value":2482},"必须跑编辑器里的转换工具",{"type":29,"value":2484},"（C2 不成立），内存\u002F字体（\u003C3MB）\u002F纹理限制明确，文档自己就指出 ",{"type":23,"tag":45,"props":2486,"children":2487},{},[2488],{"type":29,"value":2489},"2D 重 UI 游戏面临字体\u002F纹理限制",{"type":29,"value":2491},"；个人主体虽可免版号发行，但要吃 Unity License + 转换包体优化一整摊事。",{"type":23,"tag":45,"props":2493,"children":2494},{},[2495],{"type":29,"value":2496},"结论：为 agent 产能选 Unity 是本末倒置，排除。",{"type":23,"tag":32,"props":2498,"children":2500},{"id":2499},"已停更别碰避免被旧教程误导",[2501],{"type":29,"value":2502},"已停更，别碰（避免被旧教程误导）",{"type":23,"tag":1909,"props":2504,"children":2505},{},[2506,2523],{"type":23,"tag":747,"props":2507,"children":2508},{},[2509,2514,2516,2521],{"type":23,"tag":45,"props":2510,"children":2511},{},[2512],{"type":29,"value":2513},"Egret\u002F白鹭",{"type":29,"value":2515},"：2022 年 2 月停止维护；微信官方引擎适配页仍写着 Cocos\u002FLaya\u002FEgret，是",{"type":23,"tag":45,"props":2517,"children":2518},{},[2519],{"type":29,"value":2520},"历史文档",{"type":29,"value":2522},"，不要据此选型。",{"type":23,"tag":747,"props":2524,"children":2525},{},[2526,2531],{"type":23,"tag":45,"props":2527,"children":2528},{},[2529],{"type":29,"value":2530},"cocos2d-x v2\u002Fv3、Hilo（2016 后停更）、CreateJS、EaselJS",{"type":29,"value":2532},"：同上，教程多、活着少。",{"type":23,"tag":225,"props":2534,"children":2535},{},[],{"type":23,"tag":317,"props":2537,"children":2539},{"id":2538},"_4-平台侧硬约束换栈不会帮你绕过选型时要一起算",[2540],{"type":29,"value":2541},"4. 平台侧硬约束（换栈不会帮你绕过，选型时要一起算）",{"type":23,"tag":1909,"props":2543,"children":2544},{},[2545,2621,2647,2687,2732],{"type":23,"tag":747,"props":2546,"children":2547},{},[2548,2553,2555,2560,2562,2567,2569,2574,2576,2582,2584,2590,2592,2597,2599,2604,2606,2612,2614,2619],{"type":23,"tag":45,"props":2549,"children":2550},{},[2551],{"type":29,"value":2552},"包体",{"type":29,"value":2554},"：主包 ",{"type":23,"tag":45,"props":2556,"children":2557},{},[2558],{"type":29,"value":2559},"4MB",{"type":29,"value":2561},"；所有包合计 ",{"type":23,"tag":45,"props":2563,"children":2564},{},[2565],{"type":29,"value":2566},"≤30MB",{"type":29,"value":2568},"；普通分包无单独上限，",{"type":23,"tag":45,"props":2570,"children":2571},{},[2572],{"type":29,"value":2573},"独立分包 ≤4MB",{"type":29,"value":2575},"；入口 ",{"type":23,"tag":97,"props":2577,"children":2579},{"className":2578},[],[2580],{"type":29,"value":2581},"game.js",{"type":29,"value":2583},"，代码与资源同包（微信官方分包文档）。→ 你现在靠 ",{"type":23,"tag":97,"props":2585,"children":2587},{"className":2586},[],[2588],{"type":29,"value":2589},"REMOTE_SERVER_ROOT https:\u002F\u002Fdd.qthy.cc",{"type":29,"value":2591}," 远程资源（",{"type":23,"tag":97,"props":2593,"children":2595},{"className":2594},[],[2596],{"type":29,"value":1315},{"type":29,"value":2598},"）+ ",{"type":23,"tag":97,"props":2600,"children":2602},{"className":2601},[],[2603],{"type":29,"value":2111},{"type":29,"value":2605}," 拆 ",{"type":23,"tag":97,"props":2607,"children":2609},{"className":2608},[],[2610],{"type":29,"value":2611},"subpackages\u002Fbattle|common",{"type":29,"value":2613},"，这套策略与引擎无关，",{"type":23,"tag":45,"props":2615,"children":2616},{},[2617],{"type":29,"value":2618},"换栈要重建",{"type":29,"value":2620},"（Phaser 侧=自己写 vite 插件产出分包结构）。",{"type":23,"tag":747,"props":2622,"children":2623},{},[2624,2629,2631,2637,2639,2645],{"type":23,"tag":45,"props":2625,"children":2626},{},[2627],{"type":29,"value":2628},"适配层",{"type":29,"value":2630},"：小游戏无 DOM\u002FBOM，",{"type":23,"tag":97,"props":2632,"children":2634},{"className":2633},[],[2635],{"type":29,"value":2636},"weapp-adapter",{"type":29,"value":2638}," 模拟 ",{"type":23,"tag":97,"props":2640,"children":2642},{"className":2641},[],[2643],{"type":29,"value":2644},"document\u002Fwindow\u002Fcanvas\u002FlocalStorage",{"type":29,"value":2646},"；非 Cocos\u002FLaya\u002FEgret 的通用 H5 引擎都走这条路（微信官方引擎适配页）。已验证到 Phaser 4 可行（§3）。",{"type":23,"tag":747,"props":2648,"children":2649},{},[2650,2655,2657,2670,2672,2678,2680,2685],{"type":23,"tag":45,"props":2651,"children":2652},{},[2653],{"type":29,"value":2654},"开放数据域",{"type":29,"value":2656},"（好友排行榜等）：是",{"type":23,"tag":45,"props":2658,"children":2659},{},[2660,2662,2668],{"type":29,"value":2661},"独立的 ",{"type":23,"tag":97,"props":2663,"children":2665},{"className":2664},[],[2666],{"type":29,"value":2667},"openDataContext\u002Findex.js",{"type":29,"value":2669}," 上下文",{"type":29,"value":2671},"，不能与主包共享引擎实例——你已经在 ",{"type":23,"tag":97,"props":2673,"children":2675},{"className":2674},[],[2676],{"type":29,"value":2677},"build-templates\u002Fwechatgame\u002FopenDataContext\u002Findex.js",{"type":29,"value":2679}," 趟过了，换栈时这块",{"type":23,"tag":45,"props":2681,"children":2682},{},[2683],{"type":29,"value":2684},"必然重写",{"type":29,"value":2686},"，且 agent 只能靠真机验证（D5）。",{"type":23,"tag":747,"props":2688,"children":2689},{},[2690,2695,2697],{"type":23,"tag":45,"props":2691,"children":2692},{},[2693],{"type":29,"value":2694},"多平台（抖音\u002FQQ\u002F快手\u002F支付宝\u002FB站）",{"type":29,"value":2696},"：API 高度同源，但广告\u002F支付\u002F实名 SDK 各端不同。\n",{"type":23,"tag":1909,"props":2698,"children":2699},{},[2700,2712],{"type":23,"tag":747,"props":2701,"children":2702},{},[2703,2705,2710],{"type":29,"value":2704},"Cocos\u002FLaya：",{"type":23,"tag":45,"props":2706,"children":2707},{},[2708],{"type":29,"value":2709},"官方导出面板直接给多端",{"type":29,"value":2711},"，这是它们对\"尽可能多平台\"的真实优势。",{"type":23,"tag":747,"props":2713,"children":2714},{},[2715,2717,2730],{"type":29,"value":2716},"Phaser\u002F自研：",{"type":23,"tag":45,"props":2718,"children":2719},{},[2720,2722,2728],{"type":29,"value":2721},"要自己维护一个 ",{"type":23,"tag":97,"props":2723,"children":2725},{"className":2724},[],[2726],{"type":29,"value":2727},"platform",{"type":29,"value":2729}," 抽象层 + 各端 adapter",{"type":29,"value":2731},"（我的估计：单端 1-3 人日，含真机调试；不是官方承诺）。",{"type":23,"tag":747,"props":2733,"children":2734},{},[2735,2740],{"type":23,"tag":45,"props":2736,"children":2737},{},[2738],{"type":29,"value":2739},"审核\u002F版号",{"type":29,"value":2741},"：与引擎无关，任何栈都要走软著\u002F版号或\"个人主体免版号\"路径。",{"type":23,"tag":225,"props":2743,"children":2744},{},[],{"type":23,"tag":317,"props":2746,"children":2748},{"id":2747},"_5-三条路线与代价估时为我的估计需你按团队实际校准-d6",[2749,2751,2756],{"type":29,"value":2750},"5. 三条路线与代价（估时为",{"type":23,"tag":45,"props":2752,"children":2753},{},[2754],{"type":29,"value":2755},"我的估计",{"type":29,"value":2757},"，需你按团队实际校准 = D6）",{"type":23,"tag":32,"props":2759,"children":2761},{"id":2760},"路线-a留在-2415把文本真源-自检回路补起来-推荐起点",[2762,2764],{"type":29,"value":2763},"路线 A｜留在 2.4.15，把\"文本真源 + 自检回路\"补起来 —— ",{"type":23,"tag":45,"props":2765,"children":2766},{},[2767],{"type":29,"value":2768},"推荐起点",{"type":23,"tag":39,"props":2770,"children":2771},{},[2772],{"type":29,"value":2773},"0 重写风险，2 周内让 agent 产能翻倍量级。四步，每步都有验收判据：",{"type":23,"tag":53,"props":2775,"children":2776},{},[2777,2798],{"type":23,"tag":57,"props":2778,"children":2779},{},[2780],{"type":23,"tag":61,"props":2781,"children":2782},{},[2783,2788,2793],{"type":23,"tag":65,"props":2784,"children":2785},{},[2786],{"type":29,"value":2787},"步",{"type":23,"tag":65,"props":2789,"children":2790},{},[2791],{"type":29,"value":2792},"做什么",{"type":23,"tag":65,"props":2794,"children":2795},{},[2796],{"type":29,"value":2797},"验收判据（必须实测，不看文档）",{"type":23,"tag":81,"props":2799,"children":2800},{},[2801,2852,2913,2959],{"type":23,"tag":61,"props":2802,"children":2803},{},[2804,2809,2840],{"type":23,"tag":88,"props":2805,"children":2806},{},[2807],{"type":29,"value":2808},"A1",{"type":23,"tag":88,"props":2810,"children":2811},{},[2812,2817,2818,2823,2825,2830,2832,2838],{"type":23,"tag":45,"props":2813,"children":2814},{},[2815],{"type":29,"value":2816},"把已有但没接线的门禁接上",{"type":29,"value":741},{"type":23,"tag":97,"props":2819,"children":2821},{"className":2820},[],[2822],{"type":29,"value":1363},{"type":29,"value":2824}," 的 ",{"type":23,"tag":97,"props":2826,"children":2828},{"className":2827},[],[2829],{"type":29,"value":1371},{"type":29,"value":2831},"（实测 0 错误）进 CI；补 ",{"type":23,"tag":97,"props":2833,"children":2835},{"className":2834},[],[2836],{"type":29,"value":2837},"eslint",{"type":29,"value":2839},"；CI 里加一条\"故意坏样本\"阳性对照",{"type":23,"tag":88,"props":2841,"children":2842},{},[2843,2845,2850],{"type":29,"value":2844},"故意写坏一个 ",{"type":23,"tag":97,"props":2846,"children":2848},{"className":2847},[],[2849],{"type":29,"value":1927},{"type":29,"value":2851},"，CI 必须红；恢复后必须绿",{"type":23,"tag":61,"props":2853,"children":2854},{},[2855,2860,2901],{"type":23,"tag":88,"props":2856,"children":2857},{},[2858],{"type":29,"value":2859},"A2",{"type":23,"tag":88,"props":2861,"children":2862},{},[2863,2868,2870,2876,2878,2884,2886,2892,2893,2899],{"type":23,"tag":45,"props":2864,"children":2865},{},[2866],{"type":29,"value":2867},"UI 声明式布局层",{"type":29,"value":2869},"：定义 ",{"type":23,"tag":97,"props":2871,"children":2873},{"className":2872},[],[2874],{"type":29,"value":2875},"LayoutNode = {type, name, children, ...}",{"type":29,"value":2877},"，运行时用 ",{"type":23,"tag":97,"props":2879,"children":2881},{"className":2880},[],[2882],{"type":29,"value":2883},"new cc.Node\u002FaddComponent",{"type":29,"value":2885}," 构建（沿用 ",{"type":23,"tag":97,"props":2887,"children":2889},{"className":2888},[],[2890],{"type":29,"value":2891},"ProbDisclosure.ts:87,114,131,141",{"type":29,"value":1137},{"type":23,"tag":97,"props":2894,"children":2896},{"className":2895},[],[2897],{"type":29,"value":2898},"UIBattle.ts:582,1120,1126",{"type":29,"value":2900}," 已有写法）；新面板一律不建 prefab",{"type":23,"tag":88,"props":2902,"children":2903},{},[2904,2906,2911],{"type":29,"value":2905},"新面板的真源只有 ",{"type":23,"tag":97,"props":2907,"children":2909},{"className":2908},[],[2910],{"type":29,"value":1927},{"type":29,"value":2912},"；agent 能在无编辑器条件下改出一个完整弹窗",{"type":23,"tag":61,"props":2914,"children":2915},{},[2916,2921,2946],{"type":23,"tag":88,"props":2917,"children":2918},{},[2919],{"type":29,"value":2920},"A3",{"type":23,"tag":88,"props":2922,"children":2923},{},[2924,2929,2931,2936,2938,2944],{"type":23,"tag":45,"props":2925,"children":2926},{},[2927],{"type":29,"value":2928},"Spine 真源瘦身",{"type":29,"value":2930},"：155 个 spine 包装 prefab（50,227 行）→ 一次 ",{"type":23,"tag":97,"props":2932,"children":2934},{"className":2933},[],[2935],{"type":29,"value":949},{"type":29,"value":2937}," 初始化函数 + 一张\"英雄\u002F怪\u002F技能\u002F子弹 → sku 名 + 默认皮肤\"表（进你现有 ",{"type":23,"tag":97,"props":2939,"children":2941},{"className":2940},[],[2942],{"type":29,"value":2943},"config_tables.xlsx",{"type":29,"value":2945}," 管线）",{"type":23,"tag":88,"props":2947,"children":2948},{},[2949,2951,2957],{"type":29,"value":2950},"删除这 155 个 prefab 后，战斗\u002F主页动画逐项过；",{"type":23,"tag":97,"props":2952,"children":2954},{"className":2953},[],[2955],{"type":29,"value":2956},"git ls-files",{"type":29,"value":2958}," 里 prefab 数从 214 → 59",{"type":23,"tag":61,"props":2960,"children":2961},{},[2962,2967,2977],{"type":23,"tag":88,"props":2963,"children":2964},{},[2965],{"type":29,"value":2966},"A4",{"type":23,"tag":88,"props":2968,"children":2969},{},[2970,2975],{"type":23,"tag":45,"props":2971,"children":2972},{},[2973],{"type":29,"value":2974},"构建\u002F预览脚本化 + 无头截图",{"type":29,"value":2976},"：产出 web 包，用 Puppeteer 打开并截 5 个主面板；（2.4 CLI 构建现状见 D3）",{"type":23,"tag":88,"props":2978,"children":2979},{},[2980],{"type":29,"value":2981},"一条命令从源码到截图，退出码可信；截图能进 review",{"type":23,"tag":235,"props":2983,"children":2984},{},[2985],{"type":23,"tag":39,"props":2986,"children":2987},{},[2988,2990,3000],{"type":29,"value":2989},"A2\u002FA3 做完的实际效果：",{"type":23,"tag":45,"props":2991,"children":2992},{},[2993,2995],{"type":29,"value":2994},"198,883 + 50,227 行的 JSON 里，真正需要人\u002Fagent 读的部分变成 ~1 万行 ",{"type":23,"tag":97,"props":2996,"children":2998},{"className":2997},[],[2999],{"type":29,"value":1927},{"type":29,"value":3001},"，agent 从\"改不动\"变成\"主力劳动力\"。",{"type":23,"tag":32,"props":3003,"children":3005},{"id":3004},"路线-b升-cocos-creator-38x-funplay-mcpmode-b",[3006],{"type":29,"value":3007},"路线 B｜升 Cocos Creator 3.8.x + Funplay MCP（Mode B）",{"type":23,"tag":1909,"props":3009,"children":3010},{},[3011,3016,3028],{"type":23,"tag":747,"props":3012,"children":3013},{},[3014],{"type":29,"value":3015},"收益：agent 能直接操作存量 scene\u002Fprefab；多平台官方导出；分包\u002F远程资源现成。",{"type":23,"tag":747,"props":3017,"children":3018},{},[3019,3021,3026],{"type":29,"value":3020},"前置：",{"type":23,"tag":45,"props":3022,"children":3023},{},[3024],{"type":29,"value":3025},"D1（2.x prefab 能否自动迁移）必须先有结论",{"type":29,"value":3027},"，否则等于用 47 个面板 + 155 个 spine 包装的重做量去换一条 MCP 通道。",{"type":23,"tag":747,"props":3029,"children":3030},{},[3031,3033,3038,3040,3045,3047,3052,3053,3058,3060,3066,3068,3074,3076,3082,3083,3089],{"type":29,"value":3032},"上线代价：MCP 要求编辑器 GUI 在场、单实例，agent ",{"type":23,"tag":45,"props":3034,"children":3035},{},[3036],{"type":29,"value":3037},"不能并行",{"type":29,"value":3039},"，产出仍是 uuid JSON，review 困难；扩展装进 ",{"type":23,"tag":97,"props":3041,"children":3043},{"className":3042},[],[3044],{"type":29,"value":2181},{"type":29,"value":3046},"（本工程目前",{"type":23,"tag":45,"props":3048,"children":3049},{},[3050],{"type":29,"value":3051},"没有",{"type":29,"value":883},{"type":23,"tag":97,"props":3054,"children":3056},{"className":3055},[],[3057],{"type":29,"value":2181},{"type":29,"value":3059},"，只有 ",{"type":23,"tag":97,"props":3061,"children":3063},{"className":3062},[],[3064],{"type":29,"value":3065},"packages\u002F",{"type":29,"value":3067}," 下三个 ai-* 扩展：",{"type":23,"tag":97,"props":3069,"children":3071},{"className":3070},[],[3072],{"type":29,"value":3073},"ai-asset-pipeline",{"type":29,"value":3075}," \u002F ",{"type":23,"tag":97,"props":3077,"children":3079},{"className":3078},[],[3080],{"type":29,"value":3081},"ai-asset-studio",{"type":29,"value":3075},{"type":23,"tag":97,"props":3084,"children":3086},{"className":3085},[],[3087],{"type":29,"value":3088},"ai-game-audio-forge",{"type":29,"value":3090},"，它们是否仍可用也要确认 = D7）。",{"type":23,"tag":32,"props":3092,"children":3094},{"id":3093},"路线-cphaser-4-ts-vitemode-a-满分新项目v2-才做",[3095],{"type":29,"value":3096},"路线 C｜Phaser 4 + TS + Vite（Mode A 满分，新项目\u002Fv2 才做）",{"type":23,"tag":1909,"props":3098,"children":3099},{},[3100,3105,3124],{"type":23,"tag":747,"props":3101,"children":3102},{},[3103],{"type":29,"value":3104},"收益：C1-C7 全绿；场景\u002F界面\u002F战斗逻辑全部文本真源；agent 可并行分片、可无人值守跑构建与截图回归；LLM 语料最厚（545,951 次\u002F周）→ 幻觉率低。",{"type":23,"tag":747,"props":3106,"children":3107},{},[3108,3110,3115,3117,3122],{"type":29,"value":3109},"你要自付的清单（",{"type":23,"tag":45,"props":3111,"children":3112},{},[3113],{"type":29,"value":3114},"按你的实际内容量列",{"type":29,"value":3116},"）：UI 组件层（47 面板 \u002F 384 Label \u002F 138 Button \u002F 9 ScrollView \u002F 1 EditBox）、Spine 接入（141 个骨架）、",{"type":23,"tag":97,"props":3118,"children":3120},{"className":3119},[],[3121],{"type":29,"value":2636},{"type":29,"value":3123},"（4 类 patch：npm 导出 \u002F document+window \u002F XHR \u002F WebGL 上下文）、分包与远程资源、热更、开放数据域、各端 SDK、音频与字体子集化。",{"type":23,"tag":747,"props":3125,"children":3126},{},[3127,3132],{"type":23,"tag":45,"props":3128,"children":3129},{},[3130],{"type":29,"value":3131},"明确不建议",{"type":29,"value":3133},"：为了 agent 产能把现有工程整体重写。§1 的数据说明产能瓶颈在\"真源不是文本\"，这在路线 A 里就能解决。",{"type":23,"tag":225,"props":3135,"children":3136},{},[],{"type":23,"tag":317,"props":3138,"children":3140},{"id":3139},"_6-待确认清单请你点选答复未答复我按括号内默认值自决",[3141],{"type":29,"value":3142},"6. 待确认清单（请你点选\u002F答复；未答复我按括号内默认值自决）",{"type":23,"tag":53,"props":3144,"children":3145},{},[3146,3166],{"type":23,"tag":57,"props":3147,"children":3148},{},[3149],{"type":23,"tag":61,"props":3150,"children":3151},{},[3152,3156,3161],{"type":23,"tag":65,"props":3153,"children":3154},{},[3155],{"type":29,"value":1468},{"type":23,"tag":65,"props":3157,"children":3158},{},[3159],{"type":29,"value":3160},"问题",{"type":23,"tag":65,"props":3162,"children":3163},{},[3164],{"type":29,"value":3165},"默认值（你不答时我这么做）",{"type":23,"tag":81,"props":3167,"children":3168},{},[3169,3187,3205,3231,3265,3283,3301,3324,3342,3360],{"type":23,"tag":61,"props":3170,"children":3171},{},[3172,3177,3182],{"type":23,"tag":88,"props":3173,"children":3174},{},[3175],{"type":29,"value":3176},"D1",{"type":23,"tag":88,"props":3178,"children":3179},{},[3180],{"type":29,"value":3181},"是否有渠道验证 Cocos 2.4.15 prefab → 3.8 的迁移工具实际效果（尤其 47 个 UI 面板）？",{"type":23,"tag":88,"props":3183,"children":3184},{},[3185],{"type":29,"value":3186},"按\"无法自动迁移、需全量重做\"评估，路线 B 判负",{"type":23,"tag":61,"props":3188,"children":3189},{},[3190,3195,3200],{"type":23,"tag":88,"props":3191,"children":3192},{},[3193],{"type":29,"value":3194},"D2",{"type":23,"tag":88,"props":3196,"children":3197},{},[3198],{"type":29,"value":3199},"是否允许试用 Cocos 商店的 Funplay MCP \u002F #9469 \u002F #8586（均需编辑器 GUI、部分可能收费）？",{"type":23,"tag":88,"props":3201,"children":3202},{},[3203],{"type":29,"value":3204},"不试用，路线 B 不启动",{"type":23,"tag":61,"props":3206,"children":3207},{},[3208,3213,3226],{"type":23,"tag":88,"props":3209,"children":3210},{},[3211],{"type":29,"value":3212},"D3",{"type":23,"tag":88,"props":3214,"children":3215},{},[3216,3218,3224],{"type":29,"value":3217},"本机是否已有 Cocos Creator 2.4 编辑器可执行文件，能试 ",{"type":23,"tag":97,"props":3219,"children":3221},{"className":3220},[],[3222],{"type":29,"value":3223},"--project\u002F--build",{"type":29,"value":3225}," 命令行构建？",{"type":23,"tag":88,"props":3227,"children":3228},{},[3229],{"type":29,"value":3230},"假定不可用，A4 退化为\"agent 只改源、人点构建\"",{"type":23,"tag":61,"props":3232,"children":3233},{},[3234,3239,3252],{"type":23,"tag":88,"props":3235,"children":3236},{},[3237],{"type":29,"value":3238},"D4",{"type":23,"tag":88,"props":3240,"children":3241},{},[3242,3244,3250],{"type":29,"value":3243},"web 平台构建能否在纯 Chrome（无小游戏环境）跑通全部逻辑（有无 ",{"type":23,"tag":97,"props":3245,"children":3247},{"className":3246},[],[3248],{"type":29,"value":3249},"wx.*",{"type":29,"value":3251}," 硬依赖）？",{"type":23,"tag":88,"props":3253,"children":3254},{},[3255,3257,3263],{"type":29,"value":3256},"假定有依赖，A4 里加一层 ",{"type":23,"tag":97,"props":3258,"children":3260},{"className":3259},[],[3261],{"type":29,"value":3262},"wx",{"type":29,"value":3264}," mock",{"type":23,"tag":61,"props":3266,"children":3267},{},[3268,3273,3278],{"type":23,"tag":88,"props":3269,"children":3270},{},[3271],{"type":29,"value":3272},"D5",{"type":23,"tag":88,"props":3274,"children":3275},{},[3276],{"type":29,"value":3277},"是否有真机可用以验证开放数据域\u002F广告\u002F支付？",{"type":23,"tag":88,"props":3279,"children":3280},{},[3281],{"type":29,"value":3282},"把这些验收标为\"仅人工，不进 agent 回路\"",{"type":23,"tag":61,"props":3284,"children":3285},{},[3286,3291,3296],{"type":23,"tag":88,"props":3287,"children":3288},{},[3289],{"type":29,"value":3290},"D6",{"type":23,"tag":88,"props":3292,"children":3293},{},[3294],{"type":29,"value":3295},"路线 A 的四步估时（我按 0.5\u002F1.5\u002F1\u002F1 周估）与你的排期是否冲突？",{"type":23,"tag":88,"props":3297,"children":3298},{},[3299],{"type":29,"value":3300},"按我的估时排",{"type":23,"tag":61,"props":3302,"children":3303},{},[3304,3309,3319],{"type":23,"tag":88,"props":3305,"children":3306},{},[3307],{"type":29,"value":3308},"D7",{"type":23,"tag":88,"props":3310,"children":3311},{},[3312,3317],{"type":23,"tag":97,"props":3313,"children":3315},{"className":3314},[],[3316],{"type":29,"value":3065},{"type":29,"value":3318}," 下三个 ai-* 扩展（2.4 面板式）现在还在用吗？能不能承担素材管线自动化？",{"type":23,"tag":88,"props":3320,"children":3321},{},[3322],{"type":29,"value":3323},"视为在用，A 阶段不动它们",{"type":23,"tag":61,"props":3325,"children":3326},{},[3327,3332,3337],{"type":23,"tag":88,"props":3328,"children":3329},{},[3330],{"type":29,"value":3331},"D8",{"type":23,"tag":88,"props":3333,"children":3334},{},[3335],{"type":29,"value":3336},"是否真的需要 3D\u002F多端中的\"原生 App\"？（会改变 B 与 C 的分值）",{"type":23,"tag":88,"props":3338,"children":3339},{},[3340],{"type":29,"value":3341},"只按\"微信 + 尽可能多多端小游戏\"算",{"type":23,"tag":61,"props":3343,"children":3344},{},[3345,3350,3355],{"type":23,"tag":88,"props":3346,"children":3347},{},[3348],{"type":29,"value":3349},"D9",{"type":23,"tag":88,"props":3351,"children":3352},{},[3353],{"type":29,"value":3354},"Phaser 路线要不要做（作为 v2 或另一个小项目立项）？",{"type":23,"tag":88,"props":3356,"children":3357},{},[3358],{"type":29,"value":3359},"只做技术预研 spike（1 个面板 + 1 个战斗场景），不立项",{"type":23,"tag":61,"props":3361,"children":3362},{},[3363,3368,3379],{"type":23,"tag":88,"props":3364,"children":3365},{},[3366],{"type":29,"value":3367},"D10",{"type":23,"tag":88,"props":3369,"children":3370},{},[3371,3377],{"type":23,"tag":97,"props":3372,"children":3374},{"className":3373},[],[3375],{"type":29,"value":3376},"docs\u002Fbuild-and-hotupdate-guide.md:60,113",{"type":29,"value":3378}," 的\"目标平台未定\u002F包体上限未定\"口径要不要按现状（已配 wechatgame + 主包 4M\u002F总包 30M）改写？",{"type":23,"tag":88,"props":3380,"children":3381},{},[3382],{"type":29,"value":3383},"不改别人文档，只在本次选型里按实测口径走",{"type":23,"tag":225,"props":3385,"children":3386},{},[],{"type":23,"tag":317,"props":3388,"children":3390},{"id":3389},"附录-a本机实测命令与数字2026-10-06",[3391],{"type":29,"value":3392},"附录 A：本机实测命令与数字（2026-10-06）",{"type":23,"tag":3394,"props":3395,"children":3400},"pre",{"className":3396,"code":3397,"language":3398,"meta":3399,"style":3399},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# 引擎版本：project.json:4 -> \"version\":\"2.4.15\"\nfind assets -name '*.prefab' -printf '%h\\n' | sort | uniq -c | sort -rn   # 214 个，spine 目录占 155\ngrep -rhoE '\"__type__\": ?\"[A-Za-z][A-Za-z.]*\"' assets --include=*.prefab | sed -E 's\u002F.*\"([A-Za-z][A-Za-z.]*)\"$\u002F\\1\u002F' | sort | uniq -c | sort -rn\n# -> cc.Color 3636 \u002F cc.Size 2093 \u002F cc.Node 2093 \u002F cc.PrefabInfo 2093 \u002F cc.Sprite 851 \u002F cc.Label 384\n# -> cc.Widget 240 \u002F cc.Prefab 214 \u002F cc.ClickEvent 169 \u002F sp.Skeleton 141 \u002F cc.Button 138 \u002F cc.ProgressBar 65\ngrep -rlE '\"__type__\": ?\"(cc\\.Button|cc\\.ClickEvent|cc\\.Widget|cc\\.Label|cc\\.ScrollView|cc\\.Toggle)\"' assets --include=*.prefab | wc -l  # 47\nfind assets -name '*.prefab' -exec cat {} + | wc -l       # 249238 行\nfind assets -name '*.prefab' -not -path '*spine*' -exec cat {} + | wc -l   # 198883 行（58 个）\nfind assets\u002Fscripts -name '*.ts' | wc -l ; find assets\u002Fscripts -name '*.ts' -exec cat {} + | wc -l  # 110 \u002F 30924\nfor p in 'new cc.Node' 'addComponent' 'cc.instantiate'; do printf '%s ' \"$p\"; grep -roh -- \"$p\" assets\u002Fscripts --include=*.ts | wc -l; done   # 40 \u002F 46 \u002F 36（按出现次数，不是行数）→ 代码建 UI 已有大量先例\nnpm run typecheck; echo \"exit=$?\"      # 实测 exit=0、0 条错误（typescript 5.9.3 在 node_modules 里）\ngit log --oneline | wc -l; git status --porcelain | wc -l   # 11 \u002F 104（工程已是 git 仓库，且有在途改动）\n","bash","",[3401],{"type":23,"tag":97,"props":3402,"children":3403},{"__ignoreMap":3399},[3404,3416,3513,3618,3627,3636,3697,3762,3846,3951,4126,4177],{"type":23,"tag":3405,"props":3406,"children":3409},"span",{"class":3407,"line":3408},"line",1,[3410],{"type":23,"tag":3405,"props":3411,"children":3413},{"style":3412},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3414],{"type":29,"value":3415},"# 引擎版本：project.json:4 -> \"version\":\"2.4.15\"\n",{"type":23,"tag":3405,"props":3417,"children":3419},{"class":3407,"line":3418},2,[3420,3426,3432,3437,3443,3448,3453,3458,3462,3467,3471,3476,3481,3485,3490,3495,3499,3503,3508],{"type":23,"tag":3405,"props":3421,"children":3423},{"style":3422},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[3424],{"type":29,"value":3425},"find",{"type":23,"tag":3405,"props":3427,"children":3429},{"style":3428},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[3430],{"type":29,"value":3431}," assets",{"type":23,"tag":3405,"props":3433,"children":3434},{"style":3428},[3435],{"type":29,"value":3436}," -name",{"type":23,"tag":3405,"props":3438,"children":3440},{"style":3439},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[3441],{"type":29,"value":3442}," '",{"type":23,"tag":3405,"props":3444,"children":3445},{"style":3428},[3446],{"type":29,"value":3447},"*.prefab",{"type":23,"tag":3405,"props":3449,"children":3450},{"style":3439},[3451],{"type":29,"value":3452},"'",{"type":23,"tag":3405,"props":3454,"children":3455},{"style":3428},[3456],{"type":29,"value":3457}," -printf",{"type":23,"tag":3405,"props":3459,"children":3460},{"style":3439},[3461],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3463,"children":3464},{"style":3428},[3465],{"type":29,"value":3466},"%h\\n",{"type":23,"tag":3405,"props":3468,"children":3469},{"style":3439},[3470],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3472,"children":3473},{"style":3439},[3474],{"type":29,"value":3475}," |",{"type":23,"tag":3405,"props":3477,"children":3478},{"style":3422},[3479],{"type":29,"value":3480}," sort",{"type":23,"tag":3405,"props":3482,"children":3483},{"style":3439},[3484],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3486,"children":3487},{"style":3422},[3488],{"type":29,"value":3489}," uniq",{"type":23,"tag":3405,"props":3491,"children":3492},{"style":3428},[3493],{"type":29,"value":3494}," -c",{"type":23,"tag":3405,"props":3496,"children":3497},{"style":3439},[3498],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3500,"children":3501},{"style":3422},[3502],{"type":29,"value":3480},{"type":23,"tag":3405,"props":3504,"children":3505},{"style":3428},[3506],{"type":29,"value":3507}," -rn",{"type":23,"tag":3405,"props":3509,"children":3510},{"style":3412},[3511],{"type":29,"value":3512},"   # 214 个，spine 目录占 155\n",{"type":23,"tag":3405,"props":3514,"children":3516},{"class":3407,"line":3515},3,[3517,3522,3527,3531,3536,3540,3544,3549,3554,3558,3562,3567,3572,3576,3581,3585,3589,3593,3597,3601,3605,3609,3613],{"type":23,"tag":3405,"props":3518,"children":3519},{"style":3422},[3520],{"type":29,"value":3521},"grep",{"type":23,"tag":3405,"props":3523,"children":3524},{"style":3428},[3525],{"type":29,"value":3526}," -rhoE",{"type":23,"tag":3405,"props":3528,"children":3529},{"style":3439},[3530],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3532,"children":3533},{"style":3428},[3534],{"type":29,"value":3535},"\"__type__\": ?\"[A-Za-z][A-Za-z.]*\"",{"type":23,"tag":3405,"props":3537,"children":3538},{"style":3439},[3539],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3541,"children":3542},{"style":3428},[3543],{"type":29,"value":3431},{"type":23,"tag":3405,"props":3545,"children":3546},{"style":3428},[3547],{"type":29,"value":3548}," --include=",{"type":23,"tag":3405,"props":3550,"children":3551},{"style":3439},[3552],{"type":29,"value":3553},"*",{"type":23,"tag":3405,"props":3555,"children":3556},{"style":3428},[3557],{"type":29,"value":1277},{"type":23,"tag":3405,"props":3559,"children":3560},{"style":3439},[3561],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3563,"children":3564},{"style":3422},[3565],{"type":29,"value":3566}," sed",{"type":23,"tag":3405,"props":3568,"children":3569},{"style":3428},[3570],{"type":29,"value":3571}," -E",{"type":23,"tag":3405,"props":3573,"children":3574},{"style":3439},[3575],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3577,"children":3578},{"style":3428},[3579],{"type":29,"value":3580},"s\u002F.*\"([A-Za-z][A-Za-z.]*)\"$\u002F\\1\u002F",{"type":23,"tag":3405,"props":3582,"children":3583},{"style":3439},[3584],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3586,"children":3587},{"style":3439},[3588],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3590,"children":3591},{"style":3422},[3592],{"type":29,"value":3480},{"type":23,"tag":3405,"props":3594,"children":3595},{"style":3439},[3596],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3598,"children":3599},{"style":3422},[3600],{"type":29,"value":3489},{"type":23,"tag":3405,"props":3602,"children":3603},{"style":3428},[3604],{"type":29,"value":3494},{"type":23,"tag":3405,"props":3606,"children":3607},{"style":3439},[3608],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3610,"children":3611},{"style":3422},[3612],{"type":29,"value":3480},{"type":23,"tag":3405,"props":3614,"children":3615},{"style":3428},[3616],{"type":29,"value":3617}," -rn\n",{"type":23,"tag":3405,"props":3619,"children":3621},{"class":3407,"line":3620},4,[3622],{"type":23,"tag":3405,"props":3623,"children":3624},{"style":3412},[3625],{"type":29,"value":3626},"# -> cc.Color 3636 \u002F cc.Size 2093 \u002F cc.Node 2093 \u002F cc.PrefabInfo 2093 \u002F cc.Sprite 851 \u002F cc.Label 384\n",{"type":23,"tag":3405,"props":3628,"children":3630},{"class":3407,"line":3629},5,[3631],{"type":23,"tag":3405,"props":3632,"children":3633},{"style":3412},[3634],{"type":29,"value":3635},"# -> cc.Widget 240 \u002F cc.Prefab 214 \u002F cc.ClickEvent 169 \u002F sp.Skeleton 141 \u002F cc.Button 138 \u002F cc.ProgressBar 65\n",{"type":23,"tag":3405,"props":3637,"children":3639},{"class":3407,"line":3638},6,[3640,3644,3649,3653,3658,3662,3666,3670,3674,3678,3682,3687,3692],{"type":23,"tag":3405,"props":3641,"children":3642},{"style":3422},[3643],{"type":29,"value":3521},{"type":23,"tag":3405,"props":3645,"children":3646},{"style":3428},[3647],{"type":29,"value":3648}," -rlE",{"type":23,"tag":3405,"props":3650,"children":3651},{"style":3439},[3652],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3654,"children":3655},{"style":3428},[3656],{"type":29,"value":3657},"\"__type__\": ?\"(cc\\.Button|cc\\.ClickEvent|cc\\.Widget|cc\\.Label|cc\\.ScrollView|cc\\.Toggle)\"",{"type":23,"tag":3405,"props":3659,"children":3660},{"style":3439},[3661],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3663,"children":3664},{"style":3428},[3665],{"type":29,"value":3431},{"type":23,"tag":3405,"props":3667,"children":3668},{"style":3428},[3669],{"type":29,"value":3548},{"type":23,"tag":3405,"props":3671,"children":3672},{"style":3439},[3673],{"type":29,"value":3553},{"type":23,"tag":3405,"props":3675,"children":3676},{"style":3428},[3677],{"type":29,"value":1277},{"type":23,"tag":3405,"props":3679,"children":3680},{"style":3439},[3681],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3683,"children":3684},{"style":3422},[3685],{"type":29,"value":3686}," wc",{"type":23,"tag":3405,"props":3688,"children":3689},{"style":3428},[3690],{"type":29,"value":3691}," -l",{"type":23,"tag":3405,"props":3693,"children":3694},{"style":3412},[3695],{"type":29,"value":3696},"  # 47\n",{"type":23,"tag":3405,"props":3698,"children":3700},{"class":3407,"line":3699},7,[3701,3705,3709,3713,3717,3721,3725,3730,3735,3740,3745,3749,3753,3757],{"type":23,"tag":3405,"props":3702,"children":3703},{"style":3422},[3704],{"type":29,"value":3425},{"type":23,"tag":3405,"props":3706,"children":3707},{"style":3428},[3708],{"type":29,"value":3431},{"type":23,"tag":3405,"props":3710,"children":3711},{"style":3428},[3712],{"type":29,"value":3436},{"type":23,"tag":3405,"props":3714,"children":3715},{"style":3439},[3716],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3718,"children":3719},{"style":3428},[3720],{"type":29,"value":3447},{"type":23,"tag":3405,"props":3722,"children":3723},{"style":3439},[3724],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3726,"children":3727},{"style":3428},[3728],{"type":29,"value":3729}," -exec",{"type":23,"tag":3405,"props":3731,"children":3732},{"style":3428},[3733],{"type":29,"value":3734}," cat",{"type":23,"tag":3405,"props":3736,"children":3737},{"style":3428},[3738],{"type":29,"value":3739}," {}",{"type":23,"tag":3405,"props":3741,"children":3742},{"style":3428},[3743],{"type":29,"value":3744}," +",{"type":23,"tag":3405,"props":3746,"children":3747},{"style":3439},[3748],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3750,"children":3751},{"style":3422},[3752],{"type":29,"value":3686},{"type":23,"tag":3405,"props":3754,"children":3755},{"style":3428},[3756],{"type":29,"value":3691},{"type":23,"tag":3405,"props":3758,"children":3759},{"style":3412},[3760],{"type":29,"value":3761},"       # 249238 行\n",{"type":23,"tag":3405,"props":3763,"children":3765},{"class":3407,"line":3764},8,[3766,3770,3774,3778,3782,3786,3790,3795,3800,3804,3809,3813,3817,3821,3825,3829,3833,3837,3841],{"type":23,"tag":3405,"props":3767,"children":3768},{"style":3422},[3769],{"type":29,"value":3425},{"type":23,"tag":3405,"props":3771,"children":3772},{"style":3428},[3773],{"type":29,"value":3431},{"type":23,"tag":3405,"props":3775,"children":3776},{"style":3428},[3777],{"type":29,"value":3436},{"type":23,"tag":3405,"props":3779,"children":3780},{"style":3439},[3781],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3783,"children":3784},{"style":3428},[3785],{"type":29,"value":3447},{"type":23,"tag":3405,"props":3787,"children":3788},{"style":3439},[3789],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3791,"children":3792},{"style":3428},[3793],{"type":29,"value":3794}," -not",{"type":23,"tag":3405,"props":3796,"children":3797},{"style":3428},[3798],{"type":29,"value":3799}," -path",{"type":23,"tag":3405,"props":3801,"children":3802},{"style":3439},[3803],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3805,"children":3806},{"style":3428},[3807],{"type":29,"value":3808},"*spine*",{"type":23,"tag":3405,"props":3810,"children":3811},{"style":3439},[3812],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3814,"children":3815},{"style":3428},[3816],{"type":29,"value":3729},{"type":23,"tag":3405,"props":3818,"children":3819},{"style":3428},[3820],{"type":29,"value":3734},{"type":23,"tag":3405,"props":3822,"children":3823},{"style":3428},[3824],{"type":29,"value":3739},{"type":23,"tag":3405,"props":3826,"children":3827},{"style":3428},[3828],{"type":29,"value":3744},{"type":23,"tag":3405,"props":3830,"children":3831},{"style":3439},[3832],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3834,"children":3835},{"style":3422},[3836],{"type":29,"value":3686},{"type":23,"tag":3405,"props":3838,"children":3839},{"style":3428},[3840],{"type":29,"value":3691},{"type":23,"tag":3405,"props":3842,"children":3843},{"style":3412},[3844],{"type":29,"value":3845},"   # 198883 行（58 个）\n",{"type":23,"tag":3405,"props":3847,"children":3849},{"class":3407,"line":3848},9,[3850,3854,3859,3863,3867,3872,3876,3880,3884,3888,3893,3898,3902,3906,3910,3914,3918,3922,3926,3930,3934,3938,3942,3946],{"type":23,"tag":3405,"props":3851,"children":3852},{"style":3422},[3853],{"type":29,"value":3425},{"type":23,"tag":3405,"props":3855,"children":3856},{"style":3428},[3857],{"type":29,"value":3858}," assets\u002Fscripts",{"type":23,"tag":3405,"props":3860,"children":3861},{"style":3428},[3862],{"type":29,"value":3436},{"type":23,"tag":3405,"props":3864,"children":3865},{"style":3439},[3866],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3868,"children":3869},{"style":3428},[3870],{"type":29,"value":3871},"*.ts",{"type":23,"tag":3405,"props":3873,"children":3874},{"style":3439},[3875],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3877,"children":3878},{"style":3439},[3879],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3881,"children":3882},{"style":3422},[3883],{"type":29,"value":3686},{"type":23,"tag":3405,"props":3885,"children":3886},{"style":3428},[3887],{"type":29,"value":3691},{"type":23,"tag":3405,"props":3889,"children":3890},{"style":3439},[3891],{"type":29,"value":3892}," ;",{"type":23,"tag":3405,"props":3894,"children":3895},{"style":3422},[3896],{"type":29,"value":3897}," find",{"type":23,"tag":3405,"props":3899,"children":3900},{"style":3428},[3901],{"type":29,"value":3858},{"type":23,"tag":3405,"props":3903,"children":3904},{"style":3428},[3905],{"type":29,"value":3436},{"type":23,"tag":3405,"props":3907,"children":3908},{"style":3439},[3909],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3911,"children":3912},{"style":3428},[3913],{"type":29,"value":3871},{"type":23,"tag":3405,"props":3915,"children":3916},{"style":3439},[3917],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3919,"children":3920},{"style":3428},[3921],{"type":29,"value":3729},{"type":23,"tag":3405,"props":3923,"children":3924},{"style":3428},[3925],{"type":29,"value":3734},{"type":23,"tag":3405,"props":3927,"children":3928},{"style":3428},[3929],{"type":29,"value":3739},{"type":23,"tag":3405,"props":3931,"children":3932},{"style":3428},[3933],{"type":29,"value":3744},{"type":23,"tag":3405,"props":3935,"children":3936},{"style":3439},[3937],{"type":29,"value":3475},{"type":23,"tag":3405,"props":3939,"children":3940},{"style":3422},[3941],{"type":29,"value":3686},{"type":23,"tag":3405,"props":3943,"children":3944},{"style":3428},[3945],{"type":29,"value":3691},{"type":23,"tag":3405,"props":3947,"children":3948},{"style":3412},[3949],{"type":29,"value":3950},"  # 110 \u002F 30924\n",{"type":23,"tag":3405,"props":3952,"children":3954},{"class":3407,"line":3953},10,[3955,3961,3967,3972,3976,3980,3984,3988,3992,3996,4000,4005,4009,4014,4019,4025,4029,4034,4038,4043,4048,4053,4057,4062,4067,4072,4076,4080,4084,4088,4092,4096,4100,4104,4108,4112,4116,4121],{"type":23,"tag":3405,"props":3956,"children":3958},{"style":3957},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[3959],{"type":29,"value":3960},"for",{"type":23,"tag":3405,"props":3962,"children":3964},{"style":3963},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[3965],{"type":29,"value":3966}," p ",{"type":23,"tag":3405,"props":3968,"children":3969},{"style":3957},[3970],{"type":29,"value":3971},"in",{"type":23,"tag":3405,"props":3973,"children":3974},{"style":3439},[3975],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3977,"children":3978},{"style":3428},[3979],{"type":29,"value":762},{"type":23,"tag":3405,"props":3981,"children":3982},{"style":3439},[3983],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3985,"children":3986},{"style":3439},[3987],{"type":29,"value":3442},{"type":23,"tag":3405,"props":3989,"children":3990},{"style":3428},[3991],{"type":29,"value":770},{"type":23,"tag":3405,"props":3993,"children":3994},{"style":3439},[3995],{"type":29,"value":3452},{"type":23,"tag":3405,"props":3997,"children":3998},{"style":3439},[3999],{"type":29,"value":3442},{"type":23,"tag":3405,"props":4001,"children":4002},{"style":3428},[4003],{"type":29,"value":4004},"cc.instantiate",{"type":23,"tag":3405,"props":4006,"children":4007},{"style":3439},[4008],{"type":29,"value":3452},{"type":23,"tag":3405,"props":4010,"children":4011},{"style":3439},[4012],{"type":29,"value":4013},";",{"type":23,"tag":3405,"props":4015,"children":4016},{"style":3957},[4017],{"type":29,"value":4018}," do",{"type":23,"tag":3405,"props":4020,"children":4022},{"style":4021},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[4023],{"type":29,"value":4024}," printf",{"type":23,"tag":3405,"props":4026,"children":4027},{"style":3439},[4028],{"type":29,"value":3442},{"type":23,"tag":3405,"props":4030,"children":4031},{"style":3428},[4032],{"type":29,"value":4033},"%s ",{"type":23,"tag":3405,"props":4035,"children":4036},{"style":3439},[4037],{"type":29,"value":3452},{"type":23,"tag":3405,"props":4039,"children":4040},{"style":3439},[4041],{"type":29,"value":4042}," \"",{"type":23,"tag":3405,"props":4044,"children":4045},{"style":3963},[4046],{"type":29,"value":4047},"$p",{"type":23,"tag":3405,"props":4049,"children":4050},{"style":3439},[4051],{"type":29,"value":4052},"\"",{"type":23,"tag":3405,"props":4054,"children":4055},{"style":3439},[4056],{"type":29,"value":4013},{"type":23,"tag":3405,"props":4058,"children":4059},{"style":3422},[4060],{"type":29,"value":4061}," grep",{"type":23,"tag":3405,"props":4063,"children":4064},{"style":3428},[4065],{"type":29,"value":4066}," -roh",{"type":23,"tag":3405,"props":4068,"children":4069},{"style":3428},[4070],{"type":29,"value":4071}," --",{"type":23,"tag":3405,"props":4073,"children":4074},{"style":3439},[4075],{"type":29,"value":4042},{"type":23,"tag":3405,"props":4077,"children":4078},{"style":3963},[4079],{"type":29,"value":4047},{"type":23,"tag":3405,"props":4081,"children":4082},{"style":3439},[4083],{"type":29,"value":4052},{"type":23,"tag":3405,"props":4085,"children":4086},{"style":3428},[4087],{"type":29,"value":3858},{"type":23,"tag":3405,"props":4089,"children":4090},{"style":3428},[4091],{"type":29,"value":3548},{"type":23,"tag":3405,"props":4093,"children":4094},{"style":3439},[4095],{"type":29,"value":3553},{"type":23,"tag":3405,"props":4097,"children":4098},{"style":3428},[4099],{"type":29,"value":1927},{"type":23,"tag":3405,"props":4101,"children":4102},{"style":3439},[4103],{"type":29,"value":3475},{"type":23,"tag":3405,"props":4105,"children":4106},{"style":3422},[4107],{"type":29,"value":3686},{"type":23,"tag":3405,"props":4109,"children":4110},{"style":3428},[4111],{"type":29,"value":3691},{"type":23,"tag":3405,"props":4113,"children":4114},{"style":3439},[4115],{"type":29,"value":4013},{"type":23,"tag":3405,"props":4117,"children":4118},{"style":3957},[4119],{"type":29,"value":4120}," done",{"type":23,"tag":3405,"props":4122,"children":4123},{"style":3412},[4124],{"type":29,"value":4125},"   # 40 \u002F 46 \u002F 36（按出现次数，不是行数）→ 代码建 UI 已有大量先例\n",{"type":23,"tag":3405,"props":4127,"children":4129},{"class":3407,"line":4128},11,[4130,4135,4140,4145,4149,4154,4158,4163,4168,4172],{"type":23,"tag":3405,"props":4131,"children":4132},{"style":3422},[4133],{"type":29,"value":4134},"npm",{"type":23,"tag":3405,"props":4136,"children":4137},{"style":3428},[4138],{"type":29,"value":4139}," run",{"type":23,"tag":3405,"props":4141,"children":4142},{"style":3428},[4143],{"type":29,"value":4144}," typecheck",{"type":23,"tag":3405,"props":4146,"children":4147},{"style":3439},[4148],{"type":29,"value":4013},{"type":23,"tag":3405,"props":4150,"children":4151},{"style":4021},[4152],{"type":29,"value":4153}," echo",{"type":23,"tag":3405,"props":4155,"children":4156},{"style":3439},[4157],{"type":29,"value":4042},{"type":23,"tag":3405,"props":4159,"children":4160},{"style":3428},[4161],{"type":29,"value":4162},"exit=",{"type":23,"tag":3405,"props":4164,"children":4165},{"style":3963},[4166],{"type":29,"value":4167},"$?",{"type":23,"tag":3405,"props":4169,"children":4170},{"style":3439},[4171],{"type":29,"value":4052},{"type":23,"tag":3405,"props":4173,"children":4174},{"style":3412},[4175],{"type":29,"value":4176},"      # 实测 exit=0、0 条错误（typescript 5.9.3 在 node_modules 里）\n",{"type":23,"tag":3405,"props":4178,"children":4180},{"class":3407,"line":4179},12,[4181,4186,4191,4196,4200,4204,4208,4212,4217,4222,4227,4231,4235,4239],{"type":23,"tag":3405,"props":4182,"children":4183},{"style":3422},[4184],{"type":29,"value":4185},"git",{"type":23,"tag":3405,"props":4187,"children":4188},{"style":3428},[4189],{"type":29,"value":4190}," log",{"type":23,"tag":3405,"props":4192,"children":4193},{"style":3428},[4194],{"type":29,"value":4195}," --oneline",{"type":23,"tag":3405,"props":4197,"children":4198},{"style":3439},[4199],{"type":29,"value":3475},{"type":23,"tag":3405,"props":4201,"children":4202},{"style":3422},[4203],{"type":29,"value":3686},{"type":23,"tag":3405,"props":4205,"children":4206},{"style":3428},[4207],{"type":29,"value":3691},{"type":23,"tag":3405,"props":4209,"children":4210},{"style":3439},[4211],{"type":29,"value":4013},{"type":23,"tag":3405,"props":4213,"children":4214},{"style":3422},[4215],{"type":29,"value":4216}," git",{"type":23,"tag":3405,"props":4218,"children":4219},{"style":3428},[4220],{"type":29,"value":4221}," status",{"type":23,"tag":3405,"props":4223,"children":4224},{"style":3428},[4225],{"type":29,"value":4226}," --porcelain",{"type":23,"tag":3405,"props":4228,"children":4229},{"style":3439},[4230],{"type":29,"value":3475},{"type":23,"tag":3405,"props":4232,"children":4233},{"style":3422},[4234],{"type":29,"value":3686},{"type":23,"tag":3405,"props":4236,"children":4237},{"style":3428},[4238],{"type":29,"value":3691},{"type":23,"tag":3405,"props":4240,"children":4241},{"style":3412},[4242],{"type":29,"value":4243},"   # 11 \u002F 104（工程已是 git 仓库，且有在途改动）\n",{"type":23,"tag":39,"props":4245,"children":4246},{},[4247,4249,4254,4256,4261,4263,4269,4271,4279,4281,4287,4289,4295,4297,4302,4304,4310,4311,4317,4319,4325,4327,4332,4334,4340,4341,4347],{"type":29,"value":4248},"关键文件：",{"type":23,"tag":97,"props":4250,"children":4252},{"className":4251},[],[4253],{"type":29,"value":1181},{"type":29,"value":4255},"（2.4.15）、",{"type":23,"tag":97,"props":4257,"children":4259},{"className":4258},[],[4260],{"type":29,"value":1223},{"type":29,"value":4262},"（target es5、无 strict）、",{"type":23,"tag":97,"props":4264,"children":4266},{"className":4265},[],[4267],{"type":29,"value":4268},"settings\u002Fwechatgame.json:2,5,7",{"type":29,"value":4270},"（appid wx9632ab7f64e42bf0 \u002F REMOTE_SERVER_ROOT ",{"type":23,"tag":4272,"props":4273,"children":4277},"a",{"href":4274,"rel":4275},"https:\u002F\u002Fdd.qthy.cc",[4276],"nofollow",[4278],{"type":29,"value":4274},{"type":29,"value":4280}," \u002F startSceneAssetBundle true）、",{"type":23,"tag":97,"props":4282,"children":4284},{"className":4283},[],[4285],{"type":29,"value":4286},"build-templates\u002Fwechatgame\u002F{game.json,main.js,project.config.json,openDataContext\u002Findex.js}",{"type":29,"value":4288},"、分包后处理 ",{"type":23,"tag":97,"props":4290,"children":4292},{"className":4291},[],[4293],{"type":29,"value":4294},"tools\u002Fpost-build-wechat-subpackage.sh:27,43-48,54",{"type":29,"value":4296},"（搬到 ",{"type":23,"tag":97,"props":4298,"children":4300},{"className":4299},[],[4301],{"type":29,"value":1338},{"type":29,"value":4303},"，脚本结尾仍要求\"用微信开发者工具重新编译验证\"= 人在场）、配置解包 ",{"type":23,"tag":97,"props":4305,"children":4307},{"className":4306},[],[4308],{"type":29,"value":4309},"export_config.py:29,32,94-96",{"type":29,"value":1183},{"type":23,"tag":97,"props":4312,"children":4314},{"className":4313},[],[4315],{"type":29,"value":4316},"config_export\u002F*.json",{"type":29,"value":4318},"、产物 ",{"type":23,"tag":97,"props":4320,"children":4322},{"className":4321},[],[4323],{"type":29,"value":4324},"assets\u002Fresources\u002Fdataconfig\u002Fallconfig.bin",{"type":29,"value":4326},"（695,761 B，",{"type":23,"tag":45,"props":4328,"children":4329},{},[4330],{"type":29,"value":4331},"实测 27 条目",{"type":29,"value":4333},"）、代码建 UI 先例 ",{"type":23,"tag":97,"props":4335,"children":4337},{"className":4336},[],[4338],{"type":29,"value":4339},"assets\u002Fscripts\u002Fui\u002FcommonTip\u002FProbDisclosure.ts:87,114,131,141",{"type":29,"value":1137},{"type":23,"tag":97,"props":4342,"children":4344},{"className":4343},[],[4345],{"type":29,"value":4346},"assets\u002Fscripts\u002Fui\u002FUIBattle.ts:582,1120,1126",{"type":29,"value":275},{"type":23,"tag":235,"props":4349,"children":4350},{},[4351],{"type":23,"tag":39,"props":4352,"children":4353},{},[4354,4359,4360,4366,4367,4373,4375,4380,4382,4388,4390,4396,4398,4404,4406,4412,4413,4419,4421,4427,4429,4434,4436,4441,4443,4448,4449,4453,4455,4461,4463,4469,4470,4475,4477,4482,4484,4490,4492,4497,4499,4503,4505,4511,4513,4518],{"type":23,"tag":45,"props":4355,"children":4356},{},[4357],{"type":29,"value":4358},"纠偏（重要）",{"type":29,"value":741},{"type":23,"tag":97,"props":4361,"children":4363},{"className":4362},[],[4364],{"type":29,"value":4365},"export_config.py",{"type":29,"value":2824},{"type":23,"tag":97,"props":4368,"children":4370},{"className":4369},[],[4371],{"type":29,"value":4372},"shutil.rmtree()",{"type":29,"value":4374}," 删 xlsx 唯一源是",{"type":23,"tag":45,"props":4376,"children":4377},{},[4378],{"type":29,"value":4379},"旧缺陷，现已修复",{"type":29,"value":4381},"——代码里 ",{"type":23,"tag":97,"props":4383,"children":4385},{"className":4384},[],[4386],{"type":29,"value":4387},"rmtree",{"type":29,"value":4389}," 只出现在变更记录注释 ",{"type":23,"tag":97,"props":4391,"children":4393},{"className":4392},[],[4394],{"type":29,"value":4395},":8",{"type":29,"value":4397}," 与 ",{"type":23,"tag":97,"props":4399,"children":4401},{"className":4400},[],[4402],{"type":29,"value":4403},":14-15",{"type":29,"value":4405}," 的修复说明中，活代码走\"备份上一版 json 到 ",{"type":23,"tag":97,"props":4407,"children":4409},{"className":4408},[],[4410],{"type":29,"value":4411},"config_export\u002F_prev_json_\u003Cts>\u002F",{"type":29,"value":1233},{"type":23,"tag":97,"props":4414,"children":4416},{"className":4415},[],[4417],{"type":29,"value":4418},"extractall",{"type":29,"value":4420}," 不删其它文件\"（",{"type":23,"tag":97,"props":4422,"children":4424},{"className":4423},[],[4425],{"type":29,"value":4426},":39,92-96",{"type":29,"value":4428},"）。今后任何文档\u002F记忆再引用\"会永久删 xlsx\"这条，属于旧口径。\n同类过期口径（2026-10-06 实测已推翻 2026-10-05 审查基线中的两条）：① \"无 node_modules、",{"type":23,"tag":97,"props":4430,"children":4432},{"className":4431},[],[4433],{"type":29,"value":800},{"type":29,"value":4435}," 跑不起来\" —— 现在 ",{"type":23,"tag":97,"props":4437,"children":4439},{"className":4438},[],[4440],{"type":29,"value":1215},{"type":29,"value":4442}," 里有 typescript 5.9.3，",{"type":23,"tag":97,"props":4444,"children":4446},{"className":4445},[],[4447],{"type":29,"value":800},{"type":29,"value":883},{"type":23,"tag":45,"props":4450,"children":4451},{},[4452],{"type":29,"value":1386},{"type":29,"value":4454},"；② \"工程不是 git 仓库\" —— ",{"type":23,"tag":97,"props":4456,"children":4458},{"className":4457},[],[4459],{"type":29,"value":4460},"shuihu-master\u002F.git",{"type":29,"value":4462}," 存在，",{"type":23,"tag":97,"props":4464,"children":4466},{"className":4465},[],[4467],{"type":29,"value":4468},"git log",{"type":29,"value":883},{"type":23,"tag":45,"props":4471,"children":4472},{},[4473],{"type":29,"value":4474},"11 条提交",{"type":29,"value":4476},"，当前工作区有 ",{"type":23,"tag":45,"props":4478,"children":4479},{},[4480],{"type":29,"value":4481},"104 项改动\u002F未跟踪",{"type":29,"value":4483},"（＝有在途工作，本次调研全程只读、不提交）。\n另一处不一致（本文不改别人文档，仅登记）：① ",{"type":23,"tag":97,"props":4485,"children":4487},{"className":4486},[],[4488],{"type":29,"value":4489},"shuihu-master\u002Fdocs\u002FREADME.md:4,12,152",{"type":29,"value":4491}," 写 \"Cocos Creator 2.4.13\"，实测 ",{"type":23,"tag":97,"props":4493,"children":4495},{"className":4494},[],[4496],{"type":29,"value":1181},{"type":29,"value":4498}," 为 ",{"type":23,"tag":45,"props":4500,"children":4501},{},[4502],{"type":29,"value":266},{"type":29,"value":4504},"；② ",{"type":23,"tag":97,"props":4506,"children":4508},{"className":4507},[],[4509],{"type":29,"value":4510},"shuihu-master\u002Fdocs\u002Fbuild-and-hotupdate-guide.md:60,113",{"type":29,"value":4512}," 仍写\"目标发行平台未定（待办 1.6）、包体上限未定（待办 1.8）\"，而 ",{"type":23,"tag":97,"props":4514,"children":4516},{"className":4515},[],[4517],{"type":29,"value":1315},{"type":29,"value":4519}," 已配好小游戏 appid —— 见 D10。",{"type":23,"tag":317,"props":4521,"children":4523},{"id":4522},"附录-b外部事实来源",[4524],{"type":29,"value":4525},"附录 B：外部事实来源",{"type":23,"tag":1909,"props":4527,"children":4528},{},[4529,4542,4553,4566,4579,4619,4640,4651,4686,4705,4716],{"type":23,"tag":747,"props":4530,"children":4531},{},[4532,4534,4540],{"type":29,"value":4533},"微信小游戏分包\u002F包体上限：",{"type":23,"tag":4272,"props":4535,"children":4538},{"href":4536,"rel":4537},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fbase-ability\u002FsubPackage\u002FuseSubPackage.html",[4276],[4539],{"type":29,"value":4536},{"type":29,"value":4541},"（主包 4M \u002F 总包 ≤30M \u002F 独立分包 ≤4M）",{"type":23,"tag":747,"props":4543,"children":4544},{},[4545,4547],{"type":29,"value":4546},"引擎适配（Cocos\u002FLaya\u002FEgret + adapter 模拟 BOM\u002FDOM，通用 H5 引擎走此路）：",{"type":23,"tag":4272,"props":4548,"children":4551},{"href":4549,"rel":4550},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcocos-laya-egret.html",[4276],[4552],{"type":29,"value":4549},{"type":23,"tag":747,"props":4554,"children":4555},{},[4556,4558,4564],{"type":29,"value":4557},"Phaser 4 跑通微信小游戏的最小可行性验证（自写 weapp-adapter、patch 点、\"无需降级\"）：",{"type":23,"tag":4272,"props":4559,"children":4562},{"href":4560,"rel":4561},"https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7672283918332706862",[4276],[4563],{"type":29,"value":4560},{"type":29,"value":4565},"（2026-08）",{"type":23,"tag":747,"props":4567,"children":4568},{},[4569,4571,4577],{"type":29,"value":4570},"Phaser 版本与维护：",{"type":23,"tag":4272,"props":4572,"children":4575},{"href":4573,"rel":4574},"https:\u002F\u002Fgithub.com\u002Fphaserjs\u002Fphaser\u002Freleases",[4276],[4576],{"type":29,"value":4573},{"type":29,"value":4578},"（v4.2.1，2026-07-09）、GitHub API：40,410★ \u002F 最近推送 2026-08-21 \u002F MIT；npm 周下载 545,951",{"type":23,"tag":747,"props":4580,"children":4581},{},[4582,4584,4589,4591,4597,4599,4605,4606,4612,4613],{"type":29,"value":4583},"Cocos Creator 3.8 的 MCP 通道（3.8+、105 工具、编辑器内 HTTP ",{"type":23,"tag":97,"props":4585,"children":4587},{"className":4586},[],[4588],{"type":29,"value":1965},{"type":29,"value":4590},"、extensions 安装、安全检查）：",{"type":23,"tag":4272,"props":4592,"children":4595},{"href":4593,"rel":4594},"https:\u002F\u002Fcloud.tencent.com\u002Fdeveloper\u002Farticle\u002F2736077",[4276],[4596],{"type":29,"value":4593},{"type":29,"value":4598},"；商店条目 ",{"type":23,"tag":4272,"props":4600,"children":4603},{"href":4601,"rel":4602},"https:\u002F\u002Fstore.cocos.com\u002Fdashboard\u002Fdetail\u002F8913",[4276],[4604],{"type":29,"value":4601},{"type":29,"value":1137},{"type":23,"tag":4272,"props":4607,"children":4610},{"href":4608,"rel":4609},"https:\u002F\u002Fstore.cocos.com\u002Fapp\u002Fdetail\u002F9469",[4276],[4611],{"type":29,"value":4608},{"type":29,"value":1137},{"type":23,"tag":4272,"props":4614,"children":4617},{"href":4615,"rel":4616},"https:\u002F\u002Fstore.cocos.com\u002Fapp\u002Fdetail\u002F8586",[4276],[4618],{"type":29,"value":4615},{"type":23,"tag":747,"props":4620,"children":4621},{},[4622,4624,4630,4632,4638],{"type":29,"value":4623},"Unity WebGL → 小游戏技术 QA（需编辑器转换工具、内存\u002F字体限制、2D 重 UI 短板）：",{"type":23,"tag":4272,"props":4625,"children":4628},{"href":4626,"rel":4627},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Funity-webgl-transform\u002FDesign\u002FDevelopmentQAList",[4276],[4629],{"type":29,"value":4626},{"type":29,"value":4631},"；Unity 编辑器 MCP 生态：",{"type":23,"tag":4272,"props":4633,"children":4636},{"href":4634,"rel":4635},"https:\u002F\u002Fgithub.com\u002FCoplayDev\u002Funity-mcp",[4276],[4637],{"type":29,"value":4634},{"type":29,"value":4639},"（14,710★，2026-10-06 仍在推）",{"type":23,"tag":747,"props":4641,"children":4642},{},[4643,4645],{"type":29,"value":4644},"Godot → 微信\u002F抖音小游戏社区适配（Godot 4.6.4 Web 导出、≈20MB、仅 WebGL2、9★）：",{"type":23,"tag":4272,"props":4646,"children":4649},{"href":4647,"rel":4648},"https:\u002F\u002Fgithub.com\u002Fmkdevkit\u002Fgodot-minigame",[4276],[4650],{"type":29,"value":4647},{"type":23,"tag":747,"props":4652,"children":4653},{},[4654,4656,4661,4663,4668,4670,4676,4678,4684],{"type":29,"value":4655},"LayaAir 3 微信小游戏发布（IDE 发布、",{"type":23,"tag":97,"props":4657,"children":4659},{"className":4658},[],[4660],{"type":29,"value":1560},{"type":29,"value":4662}," 场景、",{"type":23,"tag":97,"props":4664,"children":4666},{"className":4665},[],[4667],{"type":29,"value":2042},{"type":29,"value":4669},"、IDE 勾选分包）：",{"type":23,"tag":4272,"props":4671,"children":4674},{"href":4672,"rel":4673},"https:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Freleased\u002Fminigame\u002Fwechat\u002F",[4276],[4675],{"type":29,"value":4672},{"type":29,"value":4677},"；引擎仓库 ",{"type":23,"tag":4272,"props":4679,"children":4682},{"href":4680,"rel":4681},"https:\u002F\u002Fgithub.com\u002Flayabox\u002FLayaAir",[4276],[4683],{"type":29,"value":4680},{"type":29,"value":4685},"（MIT，2,204★，2026-09-24）",{"type":23,"tag":747,"props":4687,"children":4688},{},[4689,4691,4697,4699],{"type":29,"value":4690},"Eva.js 仓库 ",{"type":23,"tag":4272,"props":4692,"children":4695},{"href":4693,"rel":4694},"https:\u002F\u002Fgithub.com\u002Feva-engine\u002Feva.js",[4276],[4696],{"type":29,"value":4693},{"type":29,"value":4698},"（MIT，1,782★，2026-07-10）；背景 ",{"type":23,"tag":4272,"props":4700,"children":4703},{"href":4701,"rel":4702},"https:\u002F\u002Fdeveloper.aliyun.com\u002Farticle\u002F786429",[4276],[4704],{"type":29,"value":4701},{"type":23,"tag":747,"props":4706,"children":4707},{},[4708,4710],{"type":29,"value":4709},"停更引擎盘点（Egret 2022-02 停维护、Hilo、cocos2d-x v2\u002Fv3）：",{"type":23,"tag":4272,"props":4711,"children":4714},{"href":4712,"rel":4713},"https:\u002F\u002Fnews.17173.com\u002Fcontent\u002F04042026\u002F163835087.shtml",[4276],[4715],{"type":29,"value":4712},{"type":23,"tag":747,"props":4717,"children":4718},{},[4719,4721,4727,4729,4734],{"type":29,"value":4720},"Cocos Creator 发布到微信小游戏手册（3.8 提到\"命令行发布项目\"）：",{"type":23,"tag":4272,"props":4722,"children":4725},{"href":4723,"rel":4724},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-wechatgame.html",[4276],[4726],{"type":29,"value":4723},{"type":29,"value":4728},"；2.4 手册页只链接了另一份 CLI 指南，",{"type":23,"tag":45,"props":4730,"children":4731},{},[4732],{"type":29,"value":4733},"未确认 2.4 的 CLI 构建能力",{"type":29,"value":4735},"（= D3）",{"type":23,"tag":225,"props":4737,"children":4738},{},[],{"type":23,"tag":24,"props":4740,"children":4742},{"id":4741},"第-2-篇-新项目-agent-优先技术栈全清单主目标微信小游戏",[4743],{"type":29,"value":4744},"第 2 篇 · 新项目 · Agent 优先技术栈全清单（主目标：微信小游戏）",{"type":23,"tag":235,"props":4746,"children":4747},{},[4748],{"type":23,"tag":39,"props":4749,"children":4750},{},[4751,4752,4758],{"type":29,"value":242},{"type":23,"tag":97,"props":4753,"children":4755},{"className":4754},[],[4756],{"type":29,"value":4757},"docs\u002Fagent-first-stacks-new-project-2026-10.md",{"type":29,"value":250},{"type":23,"tag":24,"props":4760,"children":4762},{"id":4761},"新项目-agent-优先技术栈全清单主目标微信小游戏",[4763],{"type":29,"value":4764},"新项目 · Agent 优先技术栈全清单（主目标：微信小游戏）",{"type":23,"tag":39,"props":4766,"children":4767},{},[4768,4773,4775,4780],{"type":23,"tag":45,"props":4769,"children":4770},{},[4771],{"type":29,"value":4772},"版本 v2（只看新项目）",{"type":29,"value":4774}," ｜ 2026-10-06 ｜ 上一代：",{"type":23,"tag":97,"props":4776,"children":4778},{"className":4777},[],[4779],{"type":29,"value":102},{"type":29,"value":4781},"（那份管\"存量 Cocos 2.4.15 工程怎么办\"，本文管\"从零立项选什么\"）",{"type":23,"tag":235,"props":4783,"children":4784},{},[4785],{"type":23,"tag":39,"props":4786,"children":4787},{},[4788,4793,4795,4800,4802,4807,4809,4814,4816,4821,4823,4828,4830,4835,4837,4842,4844,4850,4852,4858,4860],{"type":23,"tag":45,"props":4789,"children":4790},{},[4791],{"type":29,"value":4792},"2026-10-06 第三次追加（重要更正）",{"type":29,"value":4794},"：后续实测把本文三处口径改掉了——① ",{"type":23,"tag":45,"props":4796,"children":4797},{},[4798],{"type":29,"value":4799},"COCOS 4 已于 2025-12-30 公布、彻底 MIT 开源、官方按\"MCP\u002FAgent 交付逻辑\"重做并 CLI 化",{"type":29,"value":4801},"，但小游戏各端适配官方明说\"分阶段解锁\"；② ",{"type":23,"tag":45,"props":4803,"children":4804},{},[4805],{"type":29,"value":4806},"Cocos 3.8 的\"命令行发布项目\"要求图形会话",{"type":29,"value":4808},"（文档原文），只给 macOS\u002FWindows 范例，Linux 无官方支持；③ Cocos\u002FLaya 的",{"type":23,"tag":45,"props":4810,"children":4811},{},[4812],{"type":29,"value":4813},"官方渠道里没有 QQ 小游戏、快手小游戏、Bilibili、小米（Cocos 侧）",{"type":29,"value":4815},"，所以\"多端一次导出\"必然有缺口。详见第三版 ",{"type":23,"tag":97,"props":4817,"children":4819},{"className":4818},[],[4820],{"type":29,"value":146},{"type":29,"value":4822},"（决策编号 D25 起）。\n阅读门槛：本文默认你已经接受 ",{"type":23,"tag":45,"props":4824,"children":4825},{},[4826],{"type":29,"value":4827},"Mode A 工作流",{"type":29,"value":4829},"＝真源全是文本 → 命令行构建 → 无头自证 → CI 出预览。凡 ",{"type":23,"tag":45,"props":4831,"children":4832},{},[4833],{"type":29,"value":4834},"Mode A 不成立的栈，一律不进推荐位",{"type":29,"value":4836},"（只进\"可选\u002F排除\"表并注明原因）。\n标注规则：",{"type":23,"tag":97,"props":4838,"children":4840},{"className":4839},[],[4841],{"type":29,"value":206},{"type":29,"value":4843}," = 我这次亲自拉取并核对；",{"type":23,"tag":97,"props":4845,"children":4847},{"className":4846},[],[4848],{"type":29,"value":4849},"[代理查证]",{"type":29,"value":4851}," = 调研子代理取证、我未逐条复测（URL 都在附录）；",{"type":23,"tag":97,"props":4853,"children":4855},{"className":4854},[],[4856],{"type":29,"value":4857},"[估]",{"type":29,"value":4859}," = 我的估计，不是官方承诺。",{"type":23,"tag":45,"props":4861,"children":4862},{},[4863],{"type":29,"value":4864},"决策编号从 D11 起，与上一代 D1–D10 不冲突。",{"type":23,"tag":225,"props":4866,"children":4867},{},[],{"type":23,"tag":317,"props":4869,"children":4871},{"id":4870},"_0-速查先看这一屏",[4872],{"type":29,"value":4873},"0. 速查（先看这一屏）",{"type":23,"tag":39,"props":4875,"children":4876},{},[4877,4881,4883,4888,4890,4895,4897,4902,4904,4909,4910,4916],{"type":23,"tag":45,"props":4878,"children":4879},{},[4880],{"type":29,"value":330},{"type":29,"value":4882},"：新项目要\"agent 全面编程\"，最优解不是找一个\"支持 AI 的引擎\"，而是找一个",{"type":23,"tag":45,"props":4884,"children":4885},{},[4886],{"type":29,"value":4887},"真源全是文本、且能在无 GUI 环境下自证",{"type":29,"value":4889},"的组合。下表按品类给首选位，§3 再展开 ",{"type":23,"tag":45,"props":4891,"children":4892},{},[4893],{"type":29,"value":4894},"3 套可直接开工的配方",{"type":29,"value":4896},"（含依赖清单与 agent 回路命令）。\n",{"type":23,"tag":45,"props":4898,"children":4899},{},[4900],{"type":29,"value":4901},"默认栈",{"type":29,"value":4903},"：TypeScript + Vite + PixiJS 8（重 UI）\u002F Phaser 4（重玩法）+ 纯 JS 物理 + LDtk 文本关卡 + Aseprite CLI 序列帧 + 自维护 ",{"type":23,"tag":97,"props":4905,"children":4907},{"className":4906},[],[4908],{"type":29,"value":2636},{"type":29,"value":1233},{"type":23,"tag":97,"props":4911,"children":4913},{"className":4912},[],[4914],{"type":29,"value":4915},"miniprogram-ci",{"type":29,"value":4917}," 出预览。",{"type":23,"tag":53,"props":4919,"children":4920},{},[4921,4947],{"type":23,"tag":57,"props":4922,"children":4923},{},[4924],{"type":23,"tag":61,"props":4925,"children":4926},{},[4927,4932,4937,4942],{"type":23,"tag":65,"props":4928,"children":4929},{},[4930],{"type":29,"value":4931},"场景",{"type":23,"tag":65,"props":4933,"children":4934},{},[4935],{"type":29,"value":4936},"首选栈",{"type":23,"tag":65,"props":4938,"children":4939},{},[4940],{"type":29,"value":4941},"为什么是它",{"type":23,"tag":65,"props":4943,"children":4944},{},[4945],{"type":29,"value":4946},"次选",{"type":23,"tag":81,"props":4948,"children":4949},{},[4950,4987,5019,5057,5101],{"type":23,"tag":61,"props":4951,"children":4952},{},[4953,4958,4972,4982],{"type":23,"tag":88,"props":4954,"children":4955},{},[4956],{"type":29,"value":4957},"重 UI 的 2D（塔防\u002F卡牌\u002F放置\u002F模拟经营）",{"type":23,"tag":88,"props":4959,"children":4960},{},[4961,4966,4967],{"type":23,"tag":45,"props":4962,"children":4963},{},[4964],{"type":29,"value":4965},"PixiJS 8.22.0 + @pixi\u002Fui 2.4.1",{"type":29,"value":883},{"type":23,"tag":97,"props":4968,"children":4970},{"className":4969},[],[4971],{"type":29,"value":206},{"type":23,"tag":88,"props":4973,"children":4974},{},[4975,4977],{"type":29,"value":4976},"唯一\"渲染层现成 + UI 控件库官方在维护 + 全 MIT + 内置 TS 类型\"的组合；界面全部是 ",{"type":23,"tag":97,"props":4978,"children":4980},{"className":4979},[],[4981],{"type":29,"value":1927},{"type":23,"tag":88,"props":4983,"children":4984},{},[4985],{"type":29,"value":4986},"Phaser 4 + 自建控件层",{"type":23,"tag":61,"props":4988,"children":4989},{},[4990,4995,5009,5014],{"type":23,"tag":88,"props":4991,"children":4992},{},[4993],{"type":29,"value":4994},"重玩法的 2D（动作\u002F弹幕\u002F射击\u002F物理解谜）",{"type":23,"tag":88,"props":4996,"children":4997},{},[4998,5003,5004],{"type":23,"tag":45,"props":4999,"children":5000},{},[5001],{"type":29,"value":5002},"Phaser 4.2.1",{"type":29,"value":883},{"type":23,"tag":97,"props":5005,"children":5007},{"className":5006},[],[5008],{"type":29,"value":206},{"type":23,"tag":88,"props":5010,"children":5011},{},[5012],{"type":29,"value":5013},"LLM 语料最厚（npm 545,951\u002F周、40,410★）；场景＝代码；已有\"Phaser4 跑通微信小游戏\"的可行性验证",{"type":23,"tag":88,"props":5015,"children":5016},{},[5017],{"type":29,"value":5018},"PixiJS + 自研玩法层",{"type":23,"tag":61,"props":5020,"children":5021},{},[5022,5027,5042,5052],{"type":23,"tag":88,"props":5023,"children":5024},{},[5025],{"type":29,"value":5026},"超休闲 \u002F 一周 demo",{"type":23,"tag":88,"props":5028,"children":5029},{},[5030,5035,5037],{"type":23,"tag":45,"props":5031,"children":5032},{},[5033],{"type":29,"value":5034},"kaplay",{"type":29,"value":5036}," 或 ",{"type":23,"tag":45,"props":5038,"children":5039},{},[5040],{"type":29,"value":5041},"自研 Canvas2D + TS",{"type":23,"tag":88,"props":5043,"children":5044},{},[5045,5047],{"type":29,"value":5046},"真源最少、心智负担最低（kaplay 1,809★、2026-10-04 仍在推）",{"type":23,"tag":97,"props":5048,"children":5050},{"className":5049},[],[5051],{"type":29,"value":206},{"type":23,"tag":88,"props":5053,"children":5054},{},[5055],{"type":29,"value":5056},"Excalibur、LittleJS",{"type":23,"tag":61,"props":5058,"children":5059},{},[5060,5065,5079,5096],{"type":23,"tag":88,"props":5061,"children":5062},{},[5063],{"type":29,"value":5064},"3D \u002F 2.5D",{"type":23,"tag":88,"props":5066,"children":5067},{},[5068,5073,5074],{"type":23,"tag":45,"props":5069,"children":5070},{},[5071],{"type":29,"value":5072},"three.js r186（自维护 adapter）",{"type":29,"value":5036},{"type":23,"tag":45,"props":5075,"children":5076},{},[5077],{"type":29,"value":5078},"Babylon 9.29.0",{"type":23,"tag":88,"props":5080,"children":5081},{},[5082,5084,5089,5091],{"type":29,"value":5083},"两者都能纯代码建场景；three 语料碾压（24,326,206\u002F周 ",{"type":23,"tag":97,"props":5085,"children":5087},{"className":5086},[],[5088],{"type":29,"value":206},{"type":29,"value":5090},"），Babylon 内置 TS 类型 + Apache-2.0 ",{"type":23,"tag":97,"props":5092,"children":5094},{"className":5093},[],[5095],{"type":29,"value":4849},{"type":23,"tag":88,"props":5097,"children":5098},{},[5099],{"type":29,"value":5100},"PlayCanvas（若接受云编辑器）",{"type":23,"tag":61,"props":5102,"children":5103},{},[5104,5109,5117,5122],{"type":23,"tag":88,"props":5105,"children":5106},{},[5107],{"type":29,"value":5108},"必须\"多端一次导出\"（微信+抖音+QQ+快手+支付宝+H5+原生）",{"type":23,"tag":88,"props":5110,"children":5111},{},[5112],{"type":23,"tag":45,"props":5113,"children":5114},{},[5115],{"type":29,"value":5116},"Cocos Creator 3.8.x（代码优先用法）+ Funplay MCP 兜底",{"type":23,"tag":88,"props":5118,"children":5119},{},[5120],{"type":29,"value":5121},"官方导出链路覆盖最广，平台 SDK 差异由引擎吃掉",{"type":23,"tag":88,"props":5123,"children":5124},{},[5125],{"type":29,"value":5126},"LayaAir 3",{"type":23,"tag":39,"props":5128,"children":5129},{},[5130,5135],{"type":23,"tag":45,"props":5131,"children":5132},{},[5133],{"type":29,"value":5134},"任何一条不满足就别选（硬门槛）",{"type":29,"value":5136},"：① 场景\u002F界面有纯文本真源；② 不开 GUI 能构建出包；③ 能无头跑起来并截图断言；④ 依赖是 MIT\u002FApache 且可商用；⑤ 资产（动画\u002F地图\u002F音效）的真源也能文本编辑（§4）。",{"type":23,"tag":225,"props":5138,"children":5139},{},[],{"type":23,"tag":317,"props":5141,"children":5143},{"id":5142},"_1-判据c1c10比上一代多-3-条",[5144],{"type":29,"value":5145},"1. 判据（C1–C10，比上一代多 3 条）",{"type":23,"tag":53,"props":5147,"children":5148},{},[5149,5168],{"type":23,"tag":57,"props":5150,"children":5151},{},[5152],{"type":23,"tag":61,"props":5153,"children":5154},{},[5155,5159,5163],{"type":23,"tag":65,"props":5156,"children":5157},{},[5158],{"type":29,"value":1468},{"type":23,"tag":65,"props":5160,"children":5161},{},[5162],{"type":29,"value":1473},{"type":23,"tag":65,"props":5164,"children":5165},{},[5166],{"type":29,"value":5167},"新项目里的具体含义",{"type":23,"tag":81,"props":5169,"children":5170},{},[5171,5223,5245,5262,5302,5331,5348,5371,5397,5455],{"type":23,"tag":61,"props":5172,"children":5173},{},[5174,5178,5183],{"type":23,"tag":88,"props":5175,"children":5176},{},[5177],{"type":29,"value":1519},{"type":23,"tag":88,"props":5179,"children":5180},{},[5181],{"type":29,"value":5182},"场景\u002F界面无不可读 ID 的文本真源",{"type":23,"tag":88,"props":5184,"children":5185},{},[5186,5188,5193,5194,5200,5201,5207,5209,5214,5215,5221],{"type":29,"value":5187},"没有 ",{"type":23,"tag":97,"props":5189,"children":5191},{"className":5190},[],[5192],{"type":29,"value":1277},{"type":29,"value":208},{"type":23,"tag":97,"props":5195,"children":5197},{"className":5196},[],[5198],{"type":29,"value":5199},".fire",{"type":29,"value":208},{"type":23,"tag":97,"props":5202,"children":5204},{"className":5203},[],[5205],{"type":29,"value":5206},".unity",{"type":29,"value":5208}," 这类 uuid 互引；界面是 ",{"type":23,"tag":97,"props":5210,"children":5212},{"className":5211},[],[5213],{"type":29,"value":1927},{"type":29,"value":208},{"type":23,"tag":97,"props":5216,"children":5218},{"className":5217},[],[5219],{"type":29,"value":5220},".tsx",{"type":29,"value":5222},"-like DSL 或可读 JSON",{"type":23,"tag":61,"props":5224,"children":5225},{},[5226,5230,5235],{"type":23,"tag":88,"props":5227,"children":5228},{},[5229],{"type":29,"value":1588},{"type":23,"tag":88,"props":5231,"children":5232},{},[5233],{"type":29,"value":5234},"无 GUI 构建",{"type":23,"tag":88,"props":5236,"children":5237},{},[5238,5243],{"type":23,"tag":97,"props":5239,"children":5241},{"className":5240},[],[5242],{"type":29,"value":2019},{"type":29,"value":5244}," \u002F 引擎 CLI 返回可信退出码；不要求开编辑器",{"type":23,"tag":61,"props":5246,"children":5247},{},[5248,5252,5257],{"type":23,"tag":88,"props":5249,"children":5250},{},[5251],{"type":29,"value":1641},{"type":23,"tag":88,"props":5253,"children":5254},{},[5255],{"type":29,"value":5256},"无头自证",{"type":23,"tag":88,"props":5258,"children":5259},{},[5260],{"type":29,"value":5261},"同一份代码能在 Chromium（WebGL）里跑，截图 → 像素\u002F节点断言",{"type":23,"tag":61,"props":5263,"children":5264},{},[5265,5269,5274],{"type":23,"tag":88,"props":5266,"children":5267},{},[5268],{"type":29,"value":1692},{"type":23,"tag":88,"props":5270,"children":5271},{},[5272],{"type":29,"value":5273},"静态门禁",{"type":23,"tag":88,"props":5275,"children":5276},{},[5277,5279,5285,5287,5293,5295,5300],{"type":29,"value":5278},"TS ",{"type":23,"tag":97,"props":5280,"children":5282},{"className":5281},[],[5283],{"type":29,"value":5284},"strict",{"type":29,"value":5286}," + eslint；agent 第一道回路（",{"type":23,"tag":97,"props":5288,"children":5290},{"className":5289},[],[5291],{"type":29,"value":5292},"no-restricted-globals",{"type":29,"value":5294}," 禁直连 ",{"type":23,"tag":97,"props":5296,"children":5298},{"className":5297},[],[5299],{"type":29,"value":3249},{"type":29,"value":5301},"，见 §6）",{"type":23,"tag":61,"props":5303,"children":5304},{},[5305,5309,5313],{"type":23,"tag":88,"props":5306,"children":5307},{},[5308],{"type":29,"value":1749},{"type":23,"tag":88,"props":5310,"children":5311},{},[5312],{"type":29,"value":1757},{"type":23,"tag":88,"props":5314,"children":5315},{},[5316,5318,5323,5325,5330],{"type":29,"value":5317},"npm 周下载 + star + 文档站稳定度；有学术证据：web game 智能体编码基准里 ",{"type":23,"tag":45,"props":5319,"children":5320},{},[5321],{"type":29,"value":5322},"Phaser 被选作目标引擎",{"type":29,"value":5324},"（OpenGame, arXiv 2604.18394 ",{"type":23,"tag":97,"props":5326,"children":5328},{"className":5327},[],[5329],{"type":29,"value":4849},{"type":29,"value":951},{"type":23,"tag":61,"props":5332,"children":5333},{},[5334,5338,5343],{"type":23,"tag":88,"props":5335,"children":5336},{},[5337],{"type":29,"value":1806},{"type":23,"tag":88,"props":5339,"children":5340},{},[5341],{"type":29,"value":5342},"可并行分片",{"type":23,"tag":88,"props":5344,"children":5345},{},[5346],{"type":29,"value":5347},"多个子代理同时改不同面板\u002F关卡不打架（按文件天然分片）",{"type":23,"tag":61,"props":5349,"children":5350},{},[5351,5355,5360],{"type":23,"tag":88,"props":5352,"children":5353},{},[5354],{"type":29,"value":1857},{"type":23,"tag":88,"props":5356,"children":5357},{},[5358],{"type":29,"value":5359},"平台 SDK 差异被单层隔离",{"type":23,"tag":88,"props":5361,"children":5362},{},[5363,5369],{"type":23,"tag":97,"props":5364,"children":5366},{"className":5365},[],[5367],{"type":29,"value":5368},"platform\u002F",{"type":29,"value":5370}," 目录内吸收 wx\u002Ftt\u002Fqq\u002Fks 差异",{"type":23,"tag":61,"props":5372,"children":5373},{},[5374,5382,5392],{"type":23,"tag":88,"props":5375,"children":5376},{},[5377],{"type":23,"tag":45,"props":5378,"children":5379},{},[5380],{"type":29,"value":5381},"C8",{"type":23,"tag":88,"props":5383,"children":5384},{},[5385,5390],{"type":23,"tag":45,"props":5386,"children":5387},{},[5388],{"type":29,"value":5389},"资产真源可文本编辑",{"type":29,"value":5391},"（新）",{"type":23,"tag":88,"props":5393,"children":5394},{},[5395],{"type":29,"value":5396},"动画\u002F地图\u002F图集\u002F音效的工程文件要么是文本、要么只\"单向消费\"；见 §4 的可编辑性排序",{"type":23,"tag":61,"props":5398,"children":5399},{},[5400,5408,5417],{"type":23,"tag":88,"props":5401,"children":5402},{},[5403],{"type":23,"tag":45,"props":5404,"children":5405},{},[5406],{"type":29,"value":5407},"C9",{"type":23,"tag":88,"props":5409,"children":5410},{},[5411,5416],{"type":23,"tag":45,"props":5412,"children":5413},{},[5414],{"type":29,"value":5415},"发布\u002F验证回路可 CLI 化",{"type":29,"value":5391},{"type":23,"tag":88,"props":5418,"children":5419},{},[5420,5425,5427,5432,5434,5439,5441,5446,5448,5453],{"type":23,"tag":97,"props":5421,"children":5423},{"className":5422},[],[5424],{"type":29,"value":4915},{"type":29,"value":5426}," 能无开发者工具出预览二维码与上传体验版 ",{"type":23,"tag":97,"props":5428,"children":5430},{"className":5429},[],[5431],{"type":29,"value":4849},{"type":29,"value":5433},"（我实测周下载 21,609 ",{"type":23,"tag":97,"props":5435,"children":5437},{"className":5436},[],[5438],{"type":29,"value":206},{"type":29,"value":5440},"）；但",{"type":23,"tag":45,"props":5442,"children":5443},{},[5444],{"type":29,"value":5445},"小游戏用不了 miniprogram-automator",{"type":29,"value":5447},"（0.12.1，2023-11-06 后未更新 ",{"type":23,"tag":97,"props":5449,"children":5451},{"className":5450},[],[5452],{"type":29,"value":206},{"type":29,"value":5454},"）→ 验收只能\"无头浏览器自证 + 真机人工\"",{"type":23,"tag":61,"props":5456,"children":5457},{},[5458,5466,5475],{"type":23,"tag":88,"props":5459,"children":5460},{},[5461],{"type":23,"tag":45,"props":5462,"children":5463},{},[5464],{"type":29,"value":5465},"C10",{"type":23,"tag":88,"props":5467,"children":5468},{},[5469,5474],{"type":23,"tag":45,"props":5470,"children":5471},{},[5472],{"type":29,"value":5473},"依赖许可可商用、无 GPL 传染",{"type":29,"value":5391},{"type":23,"tag":88,"props":5476,"children":5477},{},[5478,5484,5485,5491,5492,5498,5499,5504,5505,5511,5512,5518,5520,5526,5527,5532,5534],{"type":23,"tag":97,"props":5479,"children":5481},{"className":5480},[],[5482],{"type":29,"value":5483},"pixi.js",{"type":29,"value":208},{"type":23,"tag":97,"props":5486,"children":5488},{"className":5487},[],[5489],{"type":29,"value":5490},"@pixi\u002Fui",{"type":29,"value":208},{"type":23,"tag":97,"props":5493,"children":5495},{"className":5494},[],[5496],{"type":29,"value":5497},"phaser",{"type":29,"value":208},{"type":23,"tag":97,"props":5500,"children":5502},{"className":5501},[],[5503],{"type":29,"value":5034},{"type":29,"value":208},{"type":23,"tag":97,"props":5506,"children":5508},{"className":5507},[],[5509],{"type":29,"value":5510},"planck",{"type":29,"value":208},{"type":23,"tag":97,"props":5513,"children":5515},{"className":5514},[],[5516],{"type":29,"value":5517},"LDtk",{"type":29,"value":5519}," 全 MIT ",{"type":23,"tag":97,"props":5521,"children":5523},{"className":5522},[],[5524],{"type":29,"value":5525},"[实测\u002F代理查证]",{"type":29,"value":2224},{"type":23,"tag":45,"props":5528,"children":5529},{},[5530],{"type":29,"value":5531},"Tiled 是 GPL",{"type":29,"value":5533},"（工具 GPL 不传染你的地图数据，但要知道）；Spine\u002FRive\u002FLive2D 编辑器为",{"type":23,"tag":45,"props":5535,"children":5536},{},[5537],{"type":29,"value":5538},"付费闭源",{"type":23,"tag":235,"props":5540,"children":5541},{},[5542],{"type":23,"tag":39,"props":5543,"children":5544},{},[5545,5550,5552,5557,5559,5564,5566,5571],{"type":23,"tag":45,"props":5546,"children":5547},{},[5548],{"type":29,"value":5549},"给预期",{"type":29,"value":5551},"：GameDevBench（arXiv 2602.11103 ",{"type":23,"tag":97,"props":5553,"children":5555},{"className":5554},[],[5556],{"type":29,"value":4849},{"type":29,"value":5558},"）报告智能体在 2D 游戏任务上解题率约 ",{"type":23,"tag":45,"props":5560,"children":5561},{},[5562],{"type":29,"value":5563},"33%",{"type":29,"value":5565},"。也就是说 agent 不是全自动流水线，",{"type":23,"tag":45,"props":5567,"children":5568},{},[5569],{"type":29,"value":5570},"上面 C1–C10 的全部意义就是把\"剩下 67% 的失败\"变成机器能当场发现的失败",{"type":29,"value":275},{"type":23,"tag":225,"props":5573,"children":5574},{},[],{"type":23,"tag":317,"props":5576,"children":5578},{"id":5577},"_2-候选栈全景6-组尽量铺满",[5579],{"type":29,"value":5580},"2. 候选栈全景（6 组，尽量铺满）",{"type":23,"tag":32,"props":5582,"children":5584},{"id":5583},"a-代码优先-2d-引擎mode-a-天生满分",[5585],{"type":29,"value":5586},"A. 代码优先 2D 引擎（Mode A 天生满分）",{"type":23,"tag":53,"props":5588,"children":5589},{},[5590,5626],{"type":23,"tag":57,"props":5591,"children":5592},{},[5593],{"type":23,"tag":61,"props":5594,"children":5595},{},[5596,5600,5611,5616,5621],{"type":23,"tag":65,"props":5597,"children":5598},{},[5599],{"type":29,"value":360},{"type":23,"tag":65,"props":5601,"children":5602},{},[5603,5605],{"type":29,"value":5604},"版本\u002F许可\u002F热度 ",{"type":23,"tag":97,"props":5606,"children":5608},{"className":5607},[],[5609],{"type":29,"value":5610},"[实测除非标注]",{"type":23,"tag":65,"props":5612,"children":5613},{},[5614],{"type":29,"value":5615},"agent 场景能力",{"type":23,"tag":65,"props":5617,"children":5618},{},[5619],{"type":29,"value":5620},"小游戏路径",{"type":23,"tag":65,"props":5622,"children":5623},{},[5624],{"type":29,"value":5625},"主要风险",{"type":23,"tag":81,"props":5627,"children":5628},{},[5629,5672,5711,5743,5780,5831,5865],{"type":23,"tag":61,"props":5630,"children":5631},{},[5632,5640,5645,5650,5662],{"type":23,"tag":88,"props":5633,"children":5634},{},[5635],{"type":23,"tag":45,"props":5636,"children":5637},{},[5638],{"type":29,"value":5639},"Phaser 4",{"type":23,"tag":88,"props":5641,"children":5642},{},[5643],{"type":29,"value":5644},"4.2.1（2026-07-09）／MIT／40,410★／545,951 次\u002F周",{"type":23,"tag":88,"props":5646,"children":5647},{},[5648],{"type":29,"value":5649},"★★★★★ 场景=Scene 代码",{"type":23,"tag":88,"props":5651,"children":5652},{},[5653,5655,5660],{"type":29,"value":5654},"官方 Adapter + 自写 ",{"type":23,"tag":97,"props":5656,"children":5658},{"className":5657},[],[5659],{"type":29,"value":2042},{"type":29,"value":5661},"（已有人跑通）",{"type":23,"tag":88,"props":5663,"children":5664},{},[5665,5670],{"type":23,"tag":45,"props":5666,"children":5667},{},[5668],{"type":29,"value":5669},"无成套 UI 控件",{"type":29,"value":5671},"（RexUI 对 v4 的兼容＝D18）；v4 相对 v3 教程\u002F语料迁移期",{"type":23,"tag":61,"props":5673,"children":5674},{},[5675,5683,5696,5701,5706],{"type":23,"tag":88,"props":5676,"children":5677},{},[5678],{"type":23,"tag":45,"props":5679,"children":5680},{},[5681],{"type":29,"value":5682},"PixiJS 8 + @pixi\u002Fui",{"type":23,"tag":88,"props":5684,"children":5685},{},[5686,5688,5694],{"type":29,"value":5687},"pixi.js 8.22.0 MIT 1,502,200\u002F周；@pixi\u002Fui 2.4.1 MIT 21,482\u002F周，peer ",{"type":23,"tag":97,"props":5689,"children":5691},{"className":5690},[],[5692],{"type":29,"value":5693},"pixi.js ^8.6.2",{"type":29,"value":5695},"，只依赖 tweedle.js",{"type":23,"tag":88,"props":5697,"children":5698},{},[5699],{"type":29,"value":5700},"★★★★★ 界面=组件树代码",{"type":23,"tag":88,"props":5702,"children":5703},{},[5704],{"type":29,"value":5705},"Adapter + WebGL 渲染器（v8 默认探 WebGPU，小游戏里需强制 WebGL＝D19）",{"type":23,"tag":88,"props":5707,"children":5708},{},[5709],{"type":29,"value":5710},"玩法层（场景管理\u002F输入\u002F补间\u002F物理）要自己或第三方拼",{"type":23,"tag":61,"props":5712,"children":5713},{},[5714,5723,5728,5733,5738],{"type":23,"tag":88,"props":5715,"children":5716},{},[5717,5721],{"type":23,"tag":45,"props":5718,"children":5719},{},[5720],{"type":29,"value":5034},{"type":29,"value":5722},"（Kaboom 后继）",{"type":23,"tag":88,"props":5724,"children":5725},{},[5726],{"type":29,"value":5727},"MIT／1,809★／2026-10-04 仍在推／9,593\u002F周",{"type":23,"tag":88,"props":5729,"children":5730},{},[5731],{"type":29,"value":5732},"★★★★★ 声明式 API，代码量极小",{"type":23,"tag":88,"props":5734,"children":5735},{},[5736],{"type":29,"value":5737},"纯 JS\u002FTS，走 Adapter",{"type":23,"tag":88,"props":5739,"children":5740},{},[5741],{"type":29,"value":5742},"社区小，重 UI 控件基本靠自建",{"type":23,"tag":61,"props":5744,"children":5745},{},[5746,5754,5765,5770,5775],{"type":23,"tag":88,"props":5747,"children":5748},{},[5749],{"type":23,"tag":45,"props":5750,"children":5751},{},[5752],{"type":29,"value":5753},"Excalibur.js",{"type":23,"tag":88,"props":5755,"children":5756},{},[5757,5759,5764],{"type":29,"value":5758},"MIT／14,986\u002F周（版本未复核 ",{"type":23,"tag":97,"props":5760,"children":5762},{"className":5761},[],[5763],{"type":29,"value":4849},{"type":29,"value":951},{"type":23,"tag":88,"props":5766,"children":5767},{},[5768],{"type":29,"value":5769},"★★★★★",{"type":23,"tag":88,"props":5771,"children":5772},{},[5773],{"type":29,"value":5774},"同上",{"type":23,"tag":88,"props":5776,"children":5777},{},[5778],{"type":29,"value":5779},"语料薄于 Phaser\u002FPixi",{"type":23,"tag":61,"props":5781,"children":5782},{},[5783,5791,5816,5821,5826],{"type":23,"tag":88,"props":5784,"children":5785},{},[5786],{"type":23,"tag":45,"props":5787,"children":5788},{},[5789],{"type":29,"value":5790},"melonJS",{"type":23,"tag":88,"props":5792,"children":5793},{},[5794,5799,5800,5806,5808,5814],{"type":23,"tag":45,"props":5795,"children":5796},{},[5797],{"type":29,"value":5798},"未核实",{"type":29,"value":741},{"type":23,"tag":97,"props":5801,"children":5803},{"className":5802},[],[5804],{"type":29,"value":5805},"melon.js",{"type":29,"value":5807}," 包名在 npm 404，",{"type":23,"tag":97,"props":5809,"children":5811},{"className":5810},[],[5812],{"type":29,"value":5813},"melonjs",{"type":29,"value":5815}," 未取到版本号",{"type":23,"tag":88,"props":5817,"children":5818},{},[5819],{"type":29,"value":5820},"★★★★☆",{"type":23,"tag":88,"props":5822,"children":5823},{},[5824],{"type":29,"value":5825},"未知",{"type":23,"tag":88,"props":5827,"children":5828},{},[5829],{"type":29,"value":5830},"证据不足，暂不推荐",{"type":23,"tag":61,"props":5832,"children":5833},{},[5834,5842,5852,5856,5860],{"type":23,"tag":88,"props":5835,"children":5836},{},[5837],{"type":23,"tag":45,"props":5838,"children":5839},{},[5840],{"type":29,"value":5841},"LittleJS",{"type":23,"tag":88,"props":5843,"children":5844},{},[5845,5847,5851],{"type":29,"value":5846},"宣称 12KB 单文件（",{"type":23,"tag":45,"props":5848,"children":5849},{},[5850],{"type":29,"value":5798},{"type":29,"value":951},{"type":23,"tag":88,"props":5853,"children":5854},{},[5855],{"type":29,"value":5769},{"type":23,"tag":88,"props":5857,"children":5858},{},[5859],{"type":29,"value":5825},{"type":23,"tag":88,"props":5861,"children":5862},{},[5863],{"type":29,"value":5864},"文档薄，agent 语料更少",{"type":23,"tag":61,"props":5866,"children":5867},{},[5868,5878,5883,5888,5893],{"type":23,"tag":88,"props":5869,"children":5870},{},[5871,5876],{"type":23,"tag":45,"props":5872,"children":5873},{},[5874],{"type":29,"value":5875},"Eva.js",{"type":29,"value":5877},"（阿里淘系）",{"type":23,"tag":88,"props":5879,"children":5880},{},[5881],{"type":29,"value":5882},"MIT／1,782★／2026-07-10",{"type":23,"tag":88,"props":5884,"children":5885},{},[5886],{"type":29,"value":5887},"★★★★☆ ECS+JSON 场景，无编辑器",{"type":23,"tag":88,"props":5889,"children":5890},{},[5891],{"type":29,"value":5892},"面向淘宝\u002F支付宝互动为主，微信侧证据薄",{"type":23,"tag":88,"props":5894,"children":5895},{},[5896],{"type":29,"value":5897},"社区与语料小，跨端要自证",{"type":23,"tag":32,"props":5899,"children":5901},{"id":5900},"b-引擎型但可被约束成代码优先",[5902],{"type":29,"value":5903},"B. 引擎型，但可被约束成\"代码优先\"",{"type":23,"tag":53,"props":5905,"children":5906},{},[5907,5932],{"type":23,"tag":57,"props":5908,"children":5909},{},[5910],{"type":23,"tag":61,"props":5911,"children":5912},{},[5913,5917,5922,5927],{"type":23,"tag":65,"props":5914,"children":5915},{},[5916],{"type":29,"value":360},{"type":23,"tag":65,"props":5918,"children":5919},{},[5920],{"type":29,"value":5921},"事实",{"type":23,"tag":65,"props":5923,"children":5924},{},[5925],{"type":29,"value":5926},"agent 能力",{"type":23,"tag":65,"props":5928,"children":5929},{},[5930],{"type":29,"value":5931},"备注",{"type":23,"tag":81,"props":5933,"children":5934},{},[5935,5983,6021,6063],{"type":23,"tag":61,"props":5936,"children":5937},{},[5938,5945,5961,5966],{"type":23,"tag":88,"props":5939,"children":5940},{},[5941],{"type":23,"tag":45,"props":5942,"children":5943},{},[5944],{"type":29,"value":509},{"type":23,"tag":88,"props":5946,"children":5947},{},[5948,5954,5956],{"type":23,"tag":97,"props":5949,"children":5951},{"className":5950},[],[5952],{"type":29,"value":5953},"cocos\u002Fcocos-engine",{"type":29,"value":5955}," 9,846★／2026-09-21／License 非标准 SPDX ",{"type":23,"tag":97,"props":5957,"children":5959},{"className":5958},[],[5960],{"type":29,"value":206},{"type":23,"tag":88,"props":5962,"children":5963},{},[5964],{"type":29,"value":5965},"★★★★☆（代码建节点 + CLI 构建；MCP 让 agent 能读写 scene\u002Fprefab）",{"type":23,"tag":88,"props":5967,"children":5968},{},[5969,5974,5976,5981],{"type":23,"tag":45,"props":5970,"children":5971},{},[5972],{"type":29,"value":5973},"新项目纪律",{"type":29,"value":5975},"：界面一律代码\u002FJSON 建，不许往编辑器里拖 prefab，否则退化成 Mode B。Funplay MCP = 3.8+、105 工具、编辑器内 HTTP ",{"type":23,"tag":97,"props":5977,"children":5979},{"className":5978},[],[5980],{"type":29,"value":1965},{"type":29,"value":5982},"（上一代文档已引）",{"type":23,"tag":61,"props":5984,"children":5985},{},[5986,5993,6011,6016],{"type":23,"tag":88,"props":5987,"children":5988},{},[5989],{"type":23,"tag":45,"props":5990,"children":5991},{},[5992],{"type":29,"value":5126},{"type":23,"tag":88,"props":5994,"children":5995},{},[5996,6002,6004,6009],{"type":23,"tag":97,"props":5997,"children":5999},{"className":5998},[],[6000],{"type":29,"value":6001},"layabox\u002FLayaAir",{"type":29,"value":6003}," 2,204★／MIT／2026-09-24 ",{"type":23,"tag":97,"props":6005,"children":6007},{"className":6006},[],[6008],{"type":29,"value":206},{"type":29,"value":6010},"；IDE 闭源",{"type":23,"tag":88,"props":6012,"children":6013},{},[6014],{"type":29,"value":6015},"★★★☆☆ 引擎可纯代码，发布依赖 IDE",{"type":23,"tag":88,"props":6017,"children":6018},{},[6019],{"type":29,"value":6020},"多端官方导出是真优势；3D 需求时再排前",{"type":23,"tag":61,"props":6022,"children":6023},{},[6024,6032,6048,6053],{"type":23,"tag":88,"props":6025,"children":6026},{},[6027],{"type":23,"tag":45,"props":6028,"children":6029},{},[6030],{"type":29,"value":6031},"Godot 4",{"type":23,"tag":88,"props":6033,"children":6034},{},[6035,6041,6043],{"type":23,"tag":97,"props":6036,"children":6038},{"className":6037},[],[6039],{"type":29,"value":6040},".tscn\u002F.gd",{"type":29,"value":6042}," 纯文本、godot-mcp 生态 5,950★ ",{"type":23,"tag":97,"props":6044,"children":6046},{"className":6045},[],[6047],{"type":29,"value":4849},{"type":23,"tag":88,"props":6049,"children":6050},{},[6051],{"type":29,"value":6052},"★★★★☆（脱离小游戏满分）",{"type":23,"tag":88,"props":6054,"children":6055},{},[6056,6061],{"type":23,"tag":45,"props":6057,"children":6058},{},[6059],{"type":29,"value":6060},"小游戏是硬墙",{"type":29,"value":6062},"：官方 Web 导出为 WASM+线程；社区适配 9★\u002F≈20MB\u002F仅 WebGL2 → 新项目主投小游戏则排除",{"type":23,"tag":61,"props":6064,"children":6065},{},[6066,6074,6092,6097],{"type":23,"tag":88,"props":6067,"children":6068},{},[6069],{"type":23,"tag":45,"props":6070,"children":6071},{},[6072],{"type":29,"value":6073},"PlayCanvas",{"type":23,"tag":88,"props":6075,"children":6076},{},[6077,6079,6085,6087],{"type":29,"value":6078},"引擎 16,986★ MIT 2026-10-05；npm ",{"type":23,"tag":97,"props":6080,"children":6082},{"className":6081},[],[6083],{"type":29,"value":6084},"playcanvas",{"type":29,"value":6086}," 2.23.0 内置 d.ts 103,124\u002F周；编辑器仓库亦 MIT ",{"type":23,"tag":97,"props":6088,"children":6090},{"className":6089},[],[6091],{"type":29,"value":4849},{"type":23,"tag":88,"props":6093,"children":6094},{},[6095],{"type":29,"value":6096},"★★★★☆（可纯代码用引擎）",{"type":23,"tag":88,"props":6098,"children":6099},{},[6100,6102,6107],{"type":29,"value":6101},"官方手册仍以云编辑器为主流程，",{"type":23,"tag":45,"props":6103,"children":6104},{},[6105],{"type":29,"value":6106},"能否完全离线发布未证",{"type":29,"value":6108}," → 只有你接受\"引擎当库用\"才选",{"type":23,"tag":32,"props":6110,"children":6112},{"id":6111},"c-3d-25d",[6113],{"type":29,"value":6114},"C. 3D \u002F 2.5D",{"type":23,"tag":53,"props":6116,"children":6117},{},[6118,6142],{"type":23,"tag":57,"props":6119,"children":6120},{},[6121],{"type":23,"tag":61,"props":6122,"children":6123},{},[6124,6128,6132,6137],{"type":23,"tag":65,"props":6125,"children":6126},{},[6127],{"type":29,"value":360},{"type":23,"tag":65,"props":6129,"children":6130},{},[6131],{"type":29,"value":5921},{"type":23,"tag":65,"props":6133,"children":6134},{},[6135],{"type":29,"value":6136},"小游戏可行性",{"type":23,"tag":65,"props":6138,"children":6139},{},[6140],{"type":29,"value":6141},"建议",{"type":23,"tag":81,"props":6143,"children":6144},{},[6145,6231,6287],{"type":23,"tag":61,"props":6146,"children":6147},{},[6148,6156,6195,6226],{"type":23,"tag":88,"props":6149,"children":6150},{},[6151],{"type":23,"tag":45,"props":6152,"children":6153},{},[6154],{"type":29,"value":6155},"three.js",{"type":23,"tag":88,"props":6157,"children":6158},{},[6159,6161,6167,6169,6174,6176,6182,6184,6189,6190],{"type":29,"value":6160},"r186（2026-09-24）、",{"type":23,"tag":97,"props":6162,"children":6164},{"className":6163},[],[6165],{"type":29,"value":6166},"three",{"type":29,"value":6168}," 0.186.1 MIT、",{"type":23,"tag":45,"props":6170,"children":6171},{},[6172],{"type":29,"value":6173},"包内不含类型",{"type":29,"value":6175},"（社区 ",{"type":23,"tag":97,"props":6177,"children":6179},{"className":6178},[],[6180],{"type":29,"value":6181},"@types\u002Fthree",{"type":29,"value":6183}," 0.186.0）、",{"type":23,"tag":45,"props":6185,"children":6186},{},[6187],{"type":29,"value":6188},"24,326,206\u002F周",{"type":29,"value":883},{"type":23,"tag":97,"props":6191,"children":6193},{"className":6192},[],[6194],{"type":29,"value":206},{"type":23,"tag":88,"props":6196,"children":6197},{},[6198,6200,6206,6208,6213,6215,6220,6221],{"type":29,"value":6199},"官方适配仓库 ",{"type":23,"tag":97,"props":6201,"children":6203},{"className":6202},[],[6204],{"type":29,"value":6205},"wechat-miniprogram\u002Fthreejs-miniprogram",{"type":29,"value":6207}," 799★、",{"type":23,"tag":45,"props":6209,"children":6210},{},[6211],{"type":29,"value":6212},"末次推送 2023-05-22",{"type":29,"value":6214},"、基于 r108 ",{"type":23,"tag":97,"props":6216,"children":6218},{"className":6217},[],[6219],{"type":29,"value":206},{"type":29,"value":1183},{"type":23,"tag":45,"props":6222,"children":6223},{},[6224],{"type":29,"value":6225},"必须自己把 adapter 打到新版",{"type":23,"tag":88,"props":6227,"children":6228},{},[6229],{"type":29,"value":6230},"首选；语料碾压，且 glTF 资产是文本（§4）",{"type":23,"tag":61,"props":6232,"children":6233},{},[6234,6242,6272,6282],{"type":23,"tag":88,"props":6235,"children":6236},{},[6237],{"type":23,"tag":45,"props":6238,"children":6239},{},[6240],{"type":29,"value":6241},"Babylon.js",{"type":23,"tag":88,"props":6243,"children":6244},{},[6245,6247,6253,6254,6259,6261,6266,6267],{"type":29,"value":6246},"9.29.0（2026-10-01）、",{"type":23,"tag":97,"props":6248,"children":6250},{"className":6249},[],[6251],{"type":29,"value":6252},"@babylonjs\u002Fcore",{"type":29,"value":883},{"type":23,"tag":45,"props":6255,"children":6256},{},[6257],{"type":29,"value":6258},"Apache-2.0 + 内置 TS 类型",{"type":29,"value":6260},"、434,846\u002F周；Inspector 自称\"诊断工具\"、官方 Editor 仓库 community-managed → ",{"type":23,"tag":45,"props":6262,"children":6263},{},[6264],{"type":29,"value":6265},"纯代码建场景成立",{"type":29,"value":883},{"type":23,"tag":97,"props":6268,"children":6270},{"className":6269},[],[6271],{"type":29,"value":4849},{"type":23,"tag":88,"props":6273,"children":6274},{},[6275,6280],{"type":23,"tag":45,"props":6276,"children":6277},{},[6278],{"type":29,"value":6279},"未找到官方\u002F社区小游戏适配文档",{"type":29,"value":6281},"（只有 2020 踩坑帖）→ 风险最高",{"type":23,"tag":88,"props":6283,"children":6284},{},[6285],{"type":29,"value":6286},"想要\"引擎自带全套（材质\u002F动画\u002F物理\u002F后处理）\"再选；spike 先行（D20）",{"type":23,"tag":61,"props":6288,"children":6289},{},[6290,6298,6303,6308],{"type":23,"tag":88,"props":6291,"children":6292},{},[6293],{"type":23,"tag":45,"props":6294,"children":6295},{},[6296],{"type":29,"value":6297},"A-Frame \u002F WebXR 类",{"type":23,"tag":88,"props":6299,"children":6300},{},[6301],{"type":29,"value":6302},"面向 WebXR，非小游戏场景",{"type":23,"tag":88,"props":6304,"children":6305},{},[6306],{"type":29,"value":6307},"无依据",{"type":23,"tag":88,"props":6309,"children":6310},{},[6311],{"type":29,"value":6312},"排除",{"type":23,"tag":32,"props":6314,"children":6316},{"id":6315},"d-无引擎-官方轻量件agent-自由度最高但要自己搭",[6317],{"type":29,"value":6318},"D. 无引擎 \u002F 官方轻量件（agent 自由度最高，但要自己搭）",{"type":23,"tag":1909,"props":6320,"children":6321},{},[6322,6353],{"type":23,"tag":747,"props":6323,"children":6324},{},[6325,6338,6340,6345,6346,6351],{"type":23,"tag":45,"props":6326,"children":6327},{},[6328,6330,6336],{"type":29,"value":6329},"纯 ",{"type":23,"tag":97,"props":6331,"children":6333},{"className":6332},[],[6334],{"type":29,"value":6335},"wx.createCanvas",{"type":29,"value":6337}," + 自研渲染\u002FECS + TypeScript",{"type":29,"value":6339},"：真源 100% 自己的代码，agent 无第三方 API 幻觉问题；代价是渲染器、图集、字体、补间、音频、调试面板全自研。",{"type":23,"tag":45,"props":6341,"children":6342},{},[6343],{"type":29,"value":6344},"适合超休闲或你想长期沉淀自有引擎",{"type":29,"value":1373},{"type":23,"tag":3405,"props":6347,"children":6348},{},[6349],{"type":29,"value":6350},"估",{"type":29,"value":6352}," 首版投入 3–6 人周）。",{"type":23,"tag":747,"props":6354,"children":6355},{},[6356,6365,6366,6372,6374,6378],{"type":23,"tag":45,"props":6357,"children":6358},{},[6359],{"type":23,"tag":97,"props":6360,"children":6362},{"className":6361},[],[6363],{"type":29,"value":6364},"wechat-miniprogram\u002Fminigame-canvas-engine",{"type":29,"value":883},{"type":23,"tag":97,"props":6367,"children":6369},{"className":6368},[],[6370],{"type":29,"value":6371},"[实测：312★／MIT／2026-09-10 仍在推]",{"type":29,"value":6373},"：官方\"轻量 canvas 2D 渲染引擎 + ",{"type":23,"tag":45,"props":6375,"children":6376},{},[6377],{"type":29,"value":2654},{"type":29,"value":6379},"解决方案\"，用**组件树 + style 子集（纯文本配置）**描述 UI。→ 它是\"排行榜\u002F好友面板\"这类开放数据域 UI 的最佳 agent 友好载体（那里你本来就不能跑主引擎），也可当作轻量 UI 层的参考实现。",{"type":23,"tag":32,"props":6381,"children":6383},{"id":6382},"e-支撑库新项目要用且必须纯-js无-wasm",[6384],{"type":29,"value":6385},"E. 支撑库（新项目要用，且必须\"纯 JS、无 WASM\"）",{"type":23,"tag":53,"props":6387,"children":6388},{},[6389,6409],{"type":23,"tag":57,"props":6390,"children":6391},{},[6392],{"type":23,"tag":61,"props":6393,"children":6394},{},[6395,6400,6405],{"type":23,"tag":65,"props":6396,"children":6397},{},[6398],{"type":29,"value":6399},"用途",{"type":23,"tag":65,"props":6401,"children":6402},{},[6403],{"type":29,"value":6404},"选它",{"type":23,"tag":65,"props":6406,"children":6407},{},[6408],{"type":29,"value":5921},{"type":23,"tag":81,"props":6410,"children":6411},{},[6412,6462,6527,6569,6610,6652],{"type":23,"tag":61,"props":6413,"children":6414},{},[6415,6420,6457],{"type":23,"tag":88,"props":6416,"children":6417},{},[6418],{"type":29,"value":6419},"物理\u002F碰撞",{"type":23,"tag":88,"props":6421,"children":6422},{},[6423,6428,6430,6436,6438,6443,6445,6450,6452],{"type":23,"tag":45,"props":6424,"children":6425},{},[6426],{"type":29,"value":6427},"planck 1.5.0",{"type":29,"value":6429},"（内置类型）",{"type":23,"tag":97,"props":6431,"children":6433},{"className":6432},[],[6434],{"type":29,"value":6435},"[实测下载量 217,176\u002F周]",{"type":29,"value":6437},"；备选 ",{"type":23,"tag":45,"props":6439,"children":6440},{},[6441],{"type":29,"value":6442},"matter-js 0.20.0",{"type":29,"value":6444},"（MIT，2024-06-23，377,587\u002F周）、",{"type":23,"tag":45,"props":6446,"children":6447},{},[6448],{"type":29,"value":6449},"cannon-es 0.20.0",{"type":29,"value":6451},"（内置 d.ts，158,451\u002F周，但仓库末次提交 2024-01＝维护弱）",{"type":23,"tag":97,"props":6453,"children":6455},{"className":6454},[],[6456],{"type":29,"value":4849},{"type":23,"tag":88,"props":6458,"children":6459},{},[6460],{"type":29,"value":6461},"都是纯 JS，小游戏可用",{"type":23,"tag":61,"props":6463,"children":6464},{},[6465,6475,6480],{"type":23,"tag":88,"props":6466,"children":6467},{},[6468,6470,6474],{"type":29,"value":6469},"物理（",{"type":23,"tag":45,"props":6471,"children":6472},{},[6473],{"type":29,"value":6312},{"type":29,"value":951},{"type":23,"tag":88,"props":6476,"children":6477},{},[6478],{"type":29,"value":6479},"rapier（WASM）",{"type":23,"tag":88,"props":6481,"children":6482},{},[6483,6489,6491,6496,6498,6504,6506,6512,6513,6518,6520,6525],{"type":23,"tag":97,"props":6484,"children":6486},{"className":6485},[],[6487],{"type":29,"value":6488},"@dimforge\u002Frapier3d",{"type":29,"value":6490}," 0.21.0 ",{"type":23,"tag":97,"props":6492,"children":6494},{"className":6493},[],[6495],{"type":29,"value":4849},{"type":29,"value":6497},"；而 ",{"type":23,"tag":97,"props":6499,"children":6501},{"className":6500},[],[6502],{"type":29,"value":6503},"WXWebAssembly",{"type":29,"value":6505}," 只有 ",{"type":23,"tag":97,"props":6507,"children":6509},{"className":6508},[],[6510],{"type":29,"value":6511},"instantiate(path)",{"type":29,"value":1137},{"type":23,"tag":45,"props":6514,"children":6515},{},[6516],{"type":29,"value":6517},"path 必须指向代码包内 .wasm\u002F.wasm.br",{"type":29,"value":6519},"、基础库 2.13.0+、SIMD 需微信 8.0.25+、iOS 不支持 Global ",{"type":23,"tag":97,"props":6521,"children":6523},{"className":6522},[],[6524],{"type":29,"value":4849},{"type":29,"value":6526}," → 别把上线赌在这上面",{"type":23,"tag":61,"props":6528,"children":6529},{},[6530,6535,6564],{"type":23,"tag":88,"props":6531,"children":6532},{},[6533],{"type":29,"value":6534},"关卡\u002F地图",{"type":23,"tag":88,"props":6536,"children":6537},{},[6538,6543,6544,6550,6552,6557,6559],{"type":23,"tag":45,"props":6539,"children":6540},{},[6541],{"type":29,"value":6542},"LDtk 1.5.3",{"type":29,"value":1373},{"type":23,"tag":97,"props":6545,"children":6547},{"className":6546},[],[6548],{"type":29,"value":6549},".ldtk",{"type":29,"value":6551}," 即 JSON，schema 公开，MIT，2026-01）；",{"type":23,"tag":45,"props":6553,"children":6554},{},[6555],{"type":29,"value":6556},"Tiled 1.12.2",{"type":29,"value":6558},"（TMX=XML，另有官方 JSON 格式与 CSV 图层数据，GPL，2026-05-27，有导出 CLI）",{"type":23,"tag":97,"props":6560,"children":6562},{"className":6561},[],[6563],{"type":29,"value":4849},{"type":23,"tag":88,"props":6565,"children":6566},{},[6567],{"type":29,"value":6568},"两者 agent 都能直接生成\u002F改",{"type":23,"tag":61,"props":6570,"children":6571},{},[6572,6577,6599],{"type":23,"tag":88,"props":6573,"children":6574},{},[6575],{"type":29,"value":6576},"序列帧\u002F图集",{"type":23,"tag":88,"props":6578,"children":6579},{},[6580,6585,6586,6592,6594],{"type":23,"tag":45,"props":6581,"children":6582},{},[6583],{"type":29,"value":6584},"Aseprite CLI v1.3.18.6",{"type":29,"value":1373},{"type":23,"tag":97,"props":6587,"children":6589},{"className":6588},[],[6590],{"type":29,"value":6591},"--batch --sheet --data",{"type":29,"value":6593}," 出 PNG+JSON）；TexturePacker（CLI 存在，CI\u002FDocker 需 Pro）",{"type":23,"tag":97,"props":6595,"children":6597},{"className":6596},[],[6598],{"type":29,"value":4849},{"type":23,"tag":88,"props":6600,"children":6601},{},[6602,6608],{"type":23,"tag":97,"props":6603,"children":6605},{"className":6604},[],[6606],{"type":29,"value":6607},".ase",{"type":29,"value":6609}," 是二进制 → 只当输入，产物 JSON 才进 agent 可改面",{"type":23,"tag":61,"props":6611,"children":6612},{},[6613,6618,6647],{"type":23,"tag":88,"props":6614,"children":6615},{},[6616],{"type":29,"value":6617},"音效",{"type":23,"tag":88,"props":6619,"children":6620},{},[6621,6626,6628,6633,6635,6641,6642],{"type":23,"tag":45,"props":6622,"children":6623},{},[6624],{"type":29,"value":6625},"ZzFX\u002FZzFXM",{"type":29,"value":6627},"（MIT，约 20 个数字参数＝完全文本真源）",{"type":23,"tag":97,"props":6629,"children":6631},{"className":6630},[],[6632],{"type":29,"value":4849},{"type":29,"value":6634},"；播放层 Howler.js \u002F Tone.js；小游戏有 ",{"type":23,"tag":97,"props":6636,"children":6638},{"className":6637},[],[6639],{"type":29,"value":6640},"wx.createWebAudioContext",{"type":29,"value":883},{"type":23,"tag":97,"props":6643,"children":6645},{"className":6644},[],[6646],{"type":29,"value":4849},{"type":23,"tag":88,"props":6648,"children":6649},{},[6650],{"type":29,"value":6651},"最终仍要烘焙成官方建议的 mp3\u002Faac",{"type":23,"tag":61,"props":6653,"children":6654},{},[6655,6660,6665],{"type":23,"tag":88,"props":6656,"children":6657},{},[6658],{"type":29,"value":6659},"构建\u002F测试",{"type":23,"tag":88,"props":6661,"children":6662},{},[6663],{"type":29,"value":6664},"Vite + esbuild + TypeScript(strict) + Vitest + Playwright\u002FPuppeteer(Chromium WebGL)",{"type":23,"tag":88,"props":6666,"children":6667},{},[6668],{"type":29,"value":6669},"全命令行，退出码可信，agent 闭环的地基",{"type":23,"tag":32,"props":6671,"children":6673},{"id":6672},"f-新项目也别碰理由各一句",[6674],{"type":29,"value":6675},"F. 新项目也别碰（理由各一句）",{"type":23,"tag":39,"props":6677,"children":6678},{},[6679,6681,6686,6688,6693,6695,6700,6702,6707],{"type":29,"value":6680},"Egret（2022-02 停维护）· cocos2d-x v2\u002Fv3、Hilo（2016 后停更）、CreateJS\u002FEaselJS · Defold\u002FLibreFX 等需自编 WASM 的桌面系 · ",{"type":23,"tag":45,"props":6682,"children":6683},{},[6684],{"type":29,"value":6685},"Godot 主投小游戏",{"type":29,"value":6687},"（社区适配 9★）· ",{"type":23,"tag":45,"props":6689,"children":6690},{},[6691],{"type":29,"value":6692},"Unity\u002F团结为 agent 产能而上",{"type":29,"value":6694},"（转换链路必须 GUI，且官方 QA 自陈 2D 重 UI 面临字体\u002F纹理限制；团结小游戏文档自陈 WASM 单线程、无 SIMD、iOS 内存受限 ",{"type":23,"tag":97,"props":6696,"children":6698},{"className":6697},[],[6699],{"type":29,"value":4849},{"type":29,"value":6701},"）· ",{"type":23,"tag":45,"props":6703,"children":6704},{},[6705],{"type":29,"value":6706},"Spine\u002FRive\u002FLive2D 工程文件当\"agent 可改真源\"",{"type":29,"value":6708},"（全是二进制或闭源 GUI）。",{"type":23,"tag":225,"props":6710,"children":6711},{},[],{"type":23,"tag":317,"props":6713,"children":6715},{"id":6714},"_3-三套可直接开工的配方含-agent-回路",[6716],{"type":29,"value":6717},"3. 三套可直接开工的配方（含 agent 回路）",{"type":23,"tag":32,"props":6719,"children":6721},{"id":6720},"配方重-ui-2d塔防卡牌放置经营对应你这类项目的默认解",[6722],{"type":29,"value":6723},"配方①「重 UI 2D」——塔防\u002F卡牌\u002F放置\u002F经营（对应你这类项目的默认解）",{"type":23,"tag":3394,"props":6725,"children":6729},{"className":6726,"code":6728,"language":29},[6727],"language-text","core:   Vite + TypeScript(strict) + PixiJS 8.22.0 + @pixi\u002Fui 2.4.1(MIT)\n逻辑:   自研 Entity-Component（或 miniplex，纯 TS）\n关卡:   LDtk(.ldtk=JSON) → 编译进 src\u002Flevels\u002F*.ldtk（agent 直接写）\n动画:   Aseprite CLI 出 PNG+JSON 图集；程序化补间用 tweedle.js\n音频:   ZzFX 参数数组(.ts) → 构建期烘焙 mp3\u002Faac\n平台:   src\u002Fplatform\u002F{wx,tt,qq,ks}.ts + eslint 禁业务层直连 wx.*\n小游戏: 自维护 weapp-adapter.js（patch: document\u002Fwindow、XHR、Image、canvas 创建、WebGL 上下文）\n回路:   tsc --noEmit → eslint → vitest → playwright 截图断言 → vite build --mode wxgame → miniprogram-ci preview\n",[6730],{"type":23,"tag":97,"props":6731,"children":6732},{"__ignoreMap":3399},[6733],{"type":29,"value":6728},{"type":23,"tag":1909,"props":6735,"children":6736},{},[6737,6742,6747],{"type":23,"tag":747,"props":6738,"children":6739},{},[6740],{"type":29,"value":6741},"agent 干得了：整块界面、组件树、关卡 JSON、数值表、单测、素材命名对齐（因为全是文本）。",{"type":23,"tag":747,"props":6743,"children":6744},{},[6745],{"type":29,"value":6746},"人必须干：真机手感、审核、开放数据域联调、性能（iOS 内存）。",{"type":23,"tag":747,"props":6748,"children":6749},{},[6750,6752,6756],{"type":29,"value":6751},"里程碑 ",{"type":23,"tag":3405,"props":6753,"children":6754},{},[6755],{"type":29,"value":6350},{"type":29,"value":6757},"：第 1 周把回路跑通（能构建+截图+出预览码）；第 2–3 周把 5 个核心面板与 1 个战斗场景做完；第 4 周起 agent 可并行铺量。",{"type":23,"tag":32,"props":6759,"children":6761},{"id":6760},"配方重玩法-2d动作弹幕射击物理解谜",[6762],{"type":29,"value":6763},"配方②「重玩法 2D」——动作\u002F弹幕\u002F射击\u002F物理解谜",{"type":23,"tag":3394,"props":6765,"children":6768},{"className":6766,"code":6767,"language":29},[6727],"core:   Vite + TypeScript(strict) + Phaser 4.2.1\n物理:   planck 1.5.0 或 matter-js（Phaser 自带的 matter 版本较旧，需确认）\n地图:   Tiled（TMX\u002FXML 或 JSON，agent 可写；有导出 CLI）\nUI:     自建控件层（按钮\u002F列表\u002F九宫格），或 RexUI（兼容性＝D18）\n回路:   同配方①\n",[6769],{"type":23,"tag":97,"props":6770,"children":6771},{"__ignoreMap":3399},[6772],{"type":29,"value":6767},{"type":23,"tag":1909,"props":6774,"children":6775},{},[6776],{"type":23,"tag":747,"props":6777,"children":6778},{},[6779,6781,6786,6788,6793],{"type":29,"value":6780},"为什么语料密度在这里最关键：玩法代码量大、API 面广，LLM 对 Phaser 的熟悉度是所有 JS 引擎里最高的（40,410★\u002F545,951 次\u002F周 ",{"type":23,"tag":97,"props":6782,"children":6784},{"className":6783},[],[6785],{"type":29,"value":206},{"type":29,"value":6787},"，且学术基准 OpenGame 直接选它作目标引擎 ",{"type":23,"tag":97,"props":6789,"children":6791},{"className":6790},[],[6792],{"type":29,"value":4849},{"type":29,"value":6794},"）。",{"type":23,"tag":32,"props":6796,"children":6798},{"id":6797},"配方多端一次导出上线窗口紧渠道多老板要微信抖音快手支付宝h5app",[6799],{"type":29,"value":6800},"配方③「多端一次导出」——上线窗口紧、渠道多、老板要\"微信+抖音+快手+支付宝+H5+App\"",{"type":23,"tag":3394,"props":6802,"children":6805},{"className":6803,"code":6804,"language":29},[6727],"core:   Cocos Creator 3.8.x + TypeScript，但强制\"代码优先\"纪律：\n        - 界面\u002F战场节点一律 new Node()\u002FaddComponent 建（禁止 prefab 拖拽，\n          或只允许\" prefab 当纯资源壳、真源字段全在 .ts\"）\n        - 关卡与数值走 JSON（沿用你已验证的 allconfig 式管线，但真源用 CSV\u002FJSON 而非 xlsx）\n兜底:   Funplay MCP（3.8+，105 工具）→ 仅用于\"必须动存量 scene\u002Fprefab\"的偶发场景\n回路:   引擎 CLI 构建 → 无头浏览器\u002Fweb 包截图 → miniprogram-ci preview\u002Fupload（各端各自的 CLI：微信 miniprogram-ci、抖音 tt-minigame-ide-cli）\n",[6806],{"type":23,"tag":97,"props":6807,"children":6808},{"__ignoreMap":3399},[6809],{"type":29,"value":6804},{"type":23,"tag":1909,"props":6811,"children":6812},{},[6813,6818],{"type":23,"tag":747,"props":6814,"children":6815},{},[6816],{"type":29,"value":6817},"代价：C2\u002FC6 弱于①②（编辑器在场、二进制化 JSON 的 diff 噪声），agent 产能天花板低于 Mode A。",{"type":23,"tag":747,"props":6819,"children":6820},{},[6821,6823,6828],{"type":29,"value":6822},"收益：平台 SDK、分包、远程资源、开放数据域这些\"脏活\"由官方吃掉；你要做的不是引擎而是",{"type":23,"tag":45,"props":6824,"children":6825},{},[6826],{"type":29,"value":6827},"纪律",{"type":29,"value":275},{"type":23,"tag":225,"props":6830,"children":6831},{},[],{"type":23,"tag":317,"props":6833,"children":6835},{"id":6834},"_4-资产管线新项目最容易踩也最致命的一坑c8",[6836],{"type":29,"value":6837},"4. 资产管线：新项目最容易踩、也最致命的一坑（C8）",{"type":23,"tag":39,"props":6839,"children":6840},{},[6841,6846],{"type":23,"tag":45,"props":6842,"children":6843},{},[6844],{"type":29,"value":6845},"可编辑性排序（结论）",{"type":29,"value":741},{"type":23,"tag":3394,"props":6848,"children":6851},{"className":6849,"code":6850,"language":29},[6727],"可 agent 直接读写  ▸  LDtk(.ldtk=JSON) ≈ Tiled(TMX\u002FXML 或 JSON) ≈ .gltf(JSON) ≈\n                      序列帧 PNG + 图集 JSON（Aseprite\u002FTexturePacker 产物） ≈\n                      ZzFX\u002Fjsfxr 参数数组 ≈ Live2D 的 .model3\u002F.motion3\u002F.physics3.json\n只可\"单向消费\"     ▸  Spine 导出的 skeleton JSON（官方有格式文档，可读、可脚本生成，\n                      但官方论坛明确：靠数据文件重建工程风险极大；.spine 是专有二进制）\n                      DragonBones 导出 JSON（编辑器近乎停更，PRO 仓库 404，社区续作 LoongBones）\nagent 完全改不动   ▸  Rive .riv（二进制＋闭源编辑器）· Aseprite .ase · Spine .spine ·\n                      Live2D .cmo3\u002F.can3\u002F.moc3 · .glb（二进制；且 Draco\u002FMeshopt 压缩后\n                      几何连结构层都不能靠文本改）\n",[6852],{"type":23,"tag":97,"props":6853,"children":6854},{"__ignoreMap":3399},[6855],{"type":29,"value":6850},{"type":23,"tag":39,"props":6857,"children":6858},{},[6859,6864],{"type":23,"tag":45,"props":6860,"children":6861},{},[6862],{"type":29,"value":6863},"三条立项规则",{"type":29,"value":741},{"type":23,"tag":743,"props":6866,"children":6867},{},[6868,6899,6930],{"type":23,"tag":747,"props":6869,"children":6870},{},[6871,6876,6878,6883,6885,6890,6892,6898],{"type":23,"tag":45,"props":6872,"children":6873},{},[6874],{"type":29,"value":6875},"动画方案按\"agent 能不能改\"选",{"type":29,"value":6877},"：默认走",{"type":23,"tag":45,"props":6879,"children":6880},{},[6881],{"type":29,"value":6882},"序列帧 + JSON 图集 + 程序化补间",{"type":29,"value":6884},"（完全文本）；骨骼动画只在确实需要时用 Spine，并把它的 skeleton JSON 当",{"type":23,"tag":45,"props":6886,"children":6887},{},[6888],{"type":29,"value":6889},"只读输入",{"type":29,"value":6891},"（美术在 Spine 里改，agent 只消费与装配），绝不让 agent 去写 ",{"type":23,"tag":97,"props":6893,"children":6895},{"className":6894},[],[6896],{"type":29,"value":6897},".spine",{"type":29,"value":275},{"type":23,"tag":747,"props":6900,"children":6901},{},[6902,6907,6909,6914,6916,6921,6922,6928],{"type":23,"tag":45,"props":6903,"children":6904},{},[6905],{"type":29,"value":6906},"数值\u002F关卡真源用 CSV\u002FJSON，不用 xlsx",{"type":29,"value":6908},"：xlsx 是二进制（",{"type":23,"tag":3405,"props":6910,"children":6911},{},[6912],{"type":29,"value":6913},"实测",{"type":29,"value":6915}," 你现在 ",{"type":23,"tag":97,"props":6917,"children":6919},{"className":6918},[],[6920],{"type":29,"value":2943},{"type":29,"value":1183},{"type":23,"tag":97,"props":6923,"children":6925},{"className":6924},[],[6926],{"type":29,"value":6927},"allconfig.bin",{"type":29,"value":6929}," 的管线里，xlsx 与 json 已出现 10\u002F191\u002F924\u002F13927 行漂移的历史教训）；新项目把表拆成 CSV\u002FJSON 进 git，构建期编译成运行时格式，agent 才能安全改数值。",{"type":23,"tag":747,"props":6931,"children":6932},{},[6933,6938],{"type":23,"tag":45,"props":6934,"children":6935},{},[6936],{"type":29,"value":6937},"3D 用 .gltf 不用 .glb",{"type":29,"value":6939},"（进版本库的那一份）；压缩（Draco\u002FMeshopt）只在构建产物阶段施加，别把压缩版当源。",{"type":23,"tag":225,"props":6941,"children":6942},{},[],{"type":23,"tag":317,"props":6944,"children":6946},{"id":6945},"_5-验证与发布回路c9决定能不能无人值守",[6947],{"type":29,"value":6948},"5. 验证与发布回路（C9：决定能不能\"无人值守\"）",{"type":23,"tag":53,"props":6950,"children":6951},{},[6952,6973],{"type":23,"tag":57,"props":6953,"children":6954},{},[6955],{"type":23,"tag":61,"props":6956,"children":6957},{},[6958,6963,6968],{"type":23,"tag":65,"props":6959,"children":6960},{},[6961],{"type":29,"value":6962},"环节",{"type":23,"tag":65,"props":6964,"children":6965},{},[6966],{"type":29,"value":6967},"能做什么",{"type":23,"tag":65,"props":6969,"children":6970},{},[6971],{"type":29,"value":6972},"事实与坑",{"type":23,"tag":81,"props":6974,"children":6975},{},[6976,7019,7048,7110,7166,7229,7292],{"type":23,"tag":61,"props":6977,"children":6978},{},[6979,6984,7008],{"type":23,"tag":88,"props":6980,"children":6981},{},[6982],{"type":29,"value":6983},"构建",{"type":23,"tag":88,"props":6985,"children":6986},{},[6987,6992,6993,6999,7001,7007],{"type":23,"tag":97,"props":6988,"children":6990},{"className":6989},[],[6991],{"type":29,"value":2019},{"type":29,"value":1183},{"type":23,"tag":97,"props":6994,"children":6996},{"className":6995},[],[6997],{"type":29,"value":6998},"dist\u002F",{"type":29,"value":7000}," + 小游戏包结构（",{"type":23,"tag":97,"props":7002,"children":7004},{"className":7003},[],[7005],{"type":29,"value":7006},"game.js\u002Fgame.json",{"type":29,"value":951},{"type":23,"tag":88,"props":7009,"children":7010},{},[7011,7013],{"type":29,"value":7012},"全命令行，退出码可信；分包\u002F远程资源要自建插件产出 ",{"type":23,"tag":97,"props":7014,"children":7016},{"className":7015},[],[7017],{"type":29,"value":7018},"subpackages\u002F*",{"type":23,"tag":61,"props":7020,"children":7021},{},[7022,7026,7031],{"type":23,"tag":88,"props":7023,"children":7024},{},[7025],{"type":29,"value":5256},{"type":23,"tag":88,"props":7027,"children":7028},{},[7029],{"type":29,"value":7030},"Playwright\u002FPuppeteer 打开 web 构建，取 canvas 截图、跑 DOM-less 断言",{"type":23,"tag":88,"props":7032,"children":7033},{},[7034,7039,7041,7046],{"type":23,"tag":45,"props":7035,"children":7036},{},[7037],{"type":29,"value":7038},"这是 agent 的主力验收",{"type":29,"value":7040},"；小游戏专属 API 用 ",{"type":23,"tag":97,"props":7042,"children":7044},{"className":7043},[],[7045],{"type":29,"value":3262},{"type":29,"value":7047}," mock；WebGPU 需回退 WebGL（D19）",{"type":23,"tag":61,"props":7049,"children":7050},{},[7051,7056,7091],{"type":23,"tag":88,"props":7052,"children":7053},{},[7054],{"type":29,"value":7055},"出预览",{"type":23,"tag":88,"props":7057,"children":7058},{},[7059,7067,7068,7074,7076,7082,7084,7089],{"type":23,"tag":45,"props":7060,"children":7061},{},[7062],{"type":23,"tag":97,"props":7063,"children":7065},{"className":7064},[],[7066],{"type":29,"value":4915},{"type":29,"value":741},{"type":23,"tag":97,"props":7069,"children":7071},{"className":7070},[],[7072],{"type":29,"value":7073},"preview",{"type":29,"value":7075}," 生成二维码、",{"type":23,"tag":97,"props":7077,"children":7079},{"className":7078},[],[7080],{"type":29,"value":7081},"upload",{"type":29,"value":7083}," 传体验版，",{"type":23,"tag":45,"props":7085,"children":7086},{},[7087],{"type":29,"value":7088},"无需安装\u002F打开开发者工具",{"type":29,"value":7090},"，需\"代码上传密钥 + IP 白名单\"",{"type":23,"tag":88,"props":7092,"children":7093},{},[7094,7096,7101,7103,7108],{"type":29,"value":7095},"2.1.31（2024-11-12）",{"type":23,"tag":97,"props":7097,"children":7099},{"className":7098},[],[7100],{"type":29,"value":4849},{"type":29,"value":7102},"，周下载 21,609 ",{"type":23,"tag":97,"props":7104,"children":7106},{"className":7105},[],[7107],{"type":29,"value":206},{"type":29,"value":7109},"；文档在小游戏树下",{"type":23,"tag":61,"props":7111,"children":7112},{},[7113,7118,7127],{"type":23,"tag":88,"props":7114,"children":7115},{},[7116],{"type":29,"value":7117},"自动化操作真机模拟器",{"type":23,"tag":88,"props":7119,"children":7120},{},[7121],{"type":23,"tag":97,"props":7122,"children":7124},{"className":7123},[],[7125],{"type":29,"value":7126},"miniprogram-automator",{"type":23,"tag":88,"props":7128,"children":7129},{},[7130,7131,7136,7138,7144,7145,7151,7153,7158,7159,7164],{"type":29,"value":1554},{"type":23,"tag":45,"props":7132,"children":7133},{},[7134],{"type":29,"value":7135},"官方文档只声明支持\"小程序\"",{"type":29,"value":7137},"；小游戏树下的 auto 页复用的是小程序 API（",{"type":23,"tag":97,"props":7139,"children":7141},{"className":7140},[],[7142],{"type":29,"value":7143},"pageStack",{"type":29,"value":208},{"type":23,"tag":97,"props":7146,"children":7148},{"className":7147},[],[7149],{"type":29,"value":7150},"navigateTo",{"type":29,"value":7152}," 在小游戏不存在）；0.12.1 且发布于 2023-11-06 ",{"type":23,"tag":97,"props":7154,"children":7156},{"className":7155},[],[7157],{"type":29,"value":206},{"type":29,"value":1183},{"type":23,"tag":45,"props":7160,"children":7161},{},[7162],{"type":29,"value":7163},"不要把验收押它上面",{"type":29,"value":7165},"，除非 D17 spike 证明可用",{"type":23,"tag":61,"props":7167,"children":7168},{},[7169,7174,7192],{"type":23,"tag":88,"props":7170,"children":7171},{},[7172],{"type":29,"value":7173},"开发者工具 CLI",{"type":23,"tag":88,"props":7175,"children":7176},{},[7177,7183,7184,7190],{"type":23,"tag":97,"props":7178,"children":7180},{"className":7179},[],[7181],{"type":29,"value":7182},"open\u002Fpreview\u002Fupload\u002Fauto",{"type":29,"value":1137},{"type":23,"tag":97,"props":7185,"children":7187},{"className":7186},[],[7188],{"type":29,"value":7189},"--auto-port",{"type":29,"value":7191},"，需在工具里开启服务端口",{"type":23,"tag":88,"props":7193,"children":7194},{},[7195,7216,7217,7222,7224],{"type":23,"tag":45,"props":7196,"children":7197},{},[7198,7200,7206,7208,7214],{"type":29,"value":7199},"只有 macOS(",{"type":23,"tag":97,"props":7201,"children":7203},{"className":7202},[],[7204],{"type":29,"value":7205},"Contents\u002FMacOS\u002Fcli",{"type":29,"value":7207},") 与 Windows(",{"type":23,"tag":97,"props":7209,"children":7211},{"className":7210},[],[7212],{"type":29,"value":7213},"cli.bat",{"type":29,"value":7215},")，文档无 Linux",{"type":29,"value":883},{"type":23,"tag":97,"props":7218,"children":7220},{"className":7219},[],[7221],{"type":29,"value":4849},{"type":29,"value":7223}," → CI 别设计\"自动开工具\"；无 GUI 容器跑小游戏",{"type":23,"tag":45,"props":7225,"children":7226},{},[7227],{"type":29,"value":7228},"无官方依据",{"type":23,"tag":61,"props":7230,"children":7231},{},[7232,7237,7261],{"type":23,"tag":88,"props":7233,"children":7234},{},[7235],{"type":29,"value":7236},"抖音侧",{"type":23,"tag":88,"props":7238,"children":7239},{},[7240,7242,7251,7253,7259],{"type":29,"value":7241},"官方 npm ",{"type":23,"tag":45,"props":7243,"children":7244},{},[7245],{"type":23,"tag":97,"props":7246,"children":7248},{"className":7247},[],[7249],{"type":29,"value":7250},"tt-minigame-ide-cli",{"type":29,"value":7252},"（bin ",{"type":23,"tag":97,"props":7254,"children":7256},{"className":7255},[],[7257],{"type":29,"value":7258},"tmg",{"type":29,"value":7260},"：login\u002Fpreview\u002Fupload）",{"type":23,"tag":88,"props":7262,"children":7263},{},[7264,7266,7271,7272,7277,7278,7284,7285,7290],{"type":29,"value":7265},"2.1.1，周下载仅 258 ",{"type":23,"tag":97,"props":7267,"children":7269},{"className":7268},[],[7270],{"type":29,"value":4849},{"type":29,"value":2224},{"type":23,"tag":45,"props":7273,"children":7274},{},[7275],{"type":29,"value":7276},"未找到官方自动化 SDK",{"type":29,"value":2224},{"type":23,"tag":97,"props":7279,"children":7281},{"className":7280},[],[7282],{"type":29,"value":7283},"tt",{"type":29,"value":208},{"type":23,"tag":97,"props":7286,"children":7288},{"className":7287},[],[7289],{"type":29,"value":3262},{"type":29,"value":7291}," 差异无官方对照表（D21）",{"type":23,"tag":61,"props":7293,"children":7294},{},[7295,7300,7329],{"type":23,"tag":88,"props":7296,"children":7297},{},[7298],{"type":29,"value":7299},"包体红线",{"type":23,"tag":88,"props":7301,"children":7302},{},[7303,7305,7309,7311,7315,7317,7322,7323],{"type":29,"value":7304},"主包 ",{"type":23,"tag":45,"props":7306,"children":7307},{},[7308],{"type":29,"value":2559},{"type":29,"value":7310},"／总包 ",{"type":23,"tag":45,"props":7312,"children":7313},{},[7314],{"type":29,"value":2566},{"type":29,"value":7316},"／独立分包 ",{"type":23,"tag":45,"props":7318,"children":7319},{},[7320],{"type":29,"value":7321},"≤4MB",{"type":29,"value":883},{"type":23,"tag":97,"props":7324,"children":7326},{"className":7325},[],[7327],{"type":29,"value":7328},"[实测·官方文档]",{"type":23,"tag":88,"props":7330,"children":7331},{},[7332],{"type":29,"value":7333},"与引擎无关；远程资源\u002FCMS 素材从第一天就设计进去",{"type":23,"tag":39,"props":7335,"children":7336},{},[7337,7342,7344,7349,7350,7355,7357,7363,7364,7370,7371,7376,7377,7383],{"type":23,"tag":45,"props":7338,"children":7339},{},[7340],{"type":29,"value":7341},"推荐的 agent 门禁顺序",{"type":29,"value":7343},"（每一步失败都要响亮，不许静默）：\n",{"type":23,"tag":97,"props":7345,"children":7347},{"className":7346},[],[7348],{"type":29,"value":1379},{"type":29,"value":1183},{"type":23,"tag":97,"props":7351,"children":7353},{"className":7352},[],[7354],{"type":29,"value":2837},{"type":29,"value":7356},"（含\"业务层禁直连 wx\"规则）→ ",{"type":23,"tag":97,"props":7358,"children":7360},{"className":7359},[],[7361],{"type":29,"value":7362},"vitest run",{"type":29,"value":1183},{"type":23,"tag":97,"props":7365,"children":7367},{"className":7366},[],[7368],{"type":29,"value":7369},"playwright 截图 + 像素断言",{"type":29,"value":1183},{"type":23,"tag":97,"props":7372,"children":7374},{"className":7373},[],[7375],{"type":29,"value":2019},{"type":29,"value":1183},{"type":23,"tag":97,"props":7378,"children":7380},{"className":7379},[],[7381],{"type":29,"value":7382},"miniprogram-ci preview",{"type":29,"value":7384},"（人扫码）。",{"type":23,"tag":225,"props":7386,"children":7387},{},[],{"type":23,"tag":317,"props":7389,"children":7391},{"id":7390},"_6-多平台策略尽可能多平台的真实代价",[7392],{"type":29,"value":7393},"6. 多平台策略（\"尽可能多平台\"的真实代价）",{"type":23,"tag":53,"props":7395,"children":7396},{},[7397,7418],{"type":23,"tag":57,"props":7398,"children":7399},{},[7400],{"type":23,"tag":61,"props":7401,"children":7402},{},[7403,7408,7413],{"type":23,"tag":65,"props":7404,"children":7405},{},[7406],{"type":29,"value":7407},"目标端",{"type":23,"tag":65,"props":7409,"children":7410},{},[7411],{"type":29,"value":7412},"引擎\u002F官方支持",{"type":23,"tag":65,"props":7414,"children":7415},{},[7416],{"type":29,"value":7417},"代码优先栈（Phaser\u002FPixi\u002Fthree）要做的",{"type":23,"tag":81,"props":7419,"children":7420},{},[7421,7473,7512,7536,7554],{"type":23,"tag":61,"props":7422,"children":7423},{},[7424,7428,7433],{"type":23,"tag":88,"props":7425,"children":7426},{},[7427],{"type":29,"value":370},{"type":23,"tag":88,"props":7429,"children":7430},{},[7431],{"type":29,"value":7432},"全栈可行",{"type":23,"tag":88,"props":7434,"children":7435},{},[7436,7438,7443,7445,7451,7453,7459,7460,7466,7468],{"type":29,"value":7437},"自维护 ",{"type":23,"tag":97,"props":7439,"children":7441},{"className":7440},[],[7442],{"type":29,"value":2636},{"type":29,"value":7444},"：官方 Adapter 页提供 ",{"type":23,"tag":97,"props":7446,"children":7448},{"className":7447},[],[7449],{"type":29,"value":7450},"weapp-adapter.zip",{"type":29,"value":7452},"（模拟 ",{"type":23,"tag":97,"props":7454,"children":7456},{"className":7455},[],[7457],{"type":29,"value":7458},"createElement",{"type":29,"value":208},{"type":23,"tag":97,"props":7461,"children":7463},{"className":7462},[],[7464],{"type":29,"value":7465},"Image",{"type":29,"value":7467}," 等，非基础库需自行引入）",{"type":23,"tag":97,"props":7469,"children":7471},{"className":7470},[],[7472],{"type":29,"value":4849},{"type":23,"tag":61,"props":7474,"children":7475},{},[7476,7481,7486],{"type":23,"tag":88,"props":7477,"children":7478},{},[7479],{"type":29,"value":7480},"抖音小游戏",{"type":23,"tag":88,"props":7482,"children":7483},{},[7484],{"type":29,"value":7485},"Cocos\u002FLaya 官方；官方 Adapter 页存在",{"type":23,"tag":88,"props":7487,"children":7488},{},[7489,7491,7497,7498,7503,7505,7510],{"type":29,"value":7490},"复用同一套 shim（",{"type":23,"tag":97,"props":7492,"children":7494},{"className":7493},[],[7495],{"type":29,"value":7496},"tt.*",{"type":29,"value":4397},{"type":23,"tag":97,"props":7499,"children":7501},{"className":7500},[],[7502],{"type":29,"value":3249},{"type":29,"value":7504}," 高度同源）+ ",{"type":23,"tag":97,"props":7506,"children":7508},{"className":7507},[],[7509],{"type":29,"value":7258},{"type":29,"value":7511}," CLI 出预览",{"type":23,"tag":61,"props":7513,"children":7514},{},[7515,7520,7525],{"type":23,"tag":88,"props":7516,"children":7517},{},[7518],{"type":29,"value":7519},"QQ\u002F快手\u002FB站\u002F支付宝\u002F美团",{"type":23,"tag":88,"props":7521,"children":7522},{},[7523],{"type":29,"value":7524},"Cocos\u002FLaya 官方导出面板给多端",{"type":23,"tag":88,"props":7526,"children":7527},{},[7528,7530,7534],{"type":29,"value":7529},"各端 adapter + 各自 CLI\u002F上传方式；",{"type":23,"tag":3405,"props":7531,"children":7532},{},[7533],{"type":29,"value":6350},{"type":29,"value":7535}," 单端 1–3 人日（含真机调试）",{"type":23,"tag":61,"props":7537,"children":7538},{},[7539,7544,7549],{"type":23,"tag":88,"props":7540,"children":7541},{},[7542],{"type":29,"value":7543},"H5 \u002F Web",{"type":23,"tag":88,"props":7545,"children":7546},{},[7547],{"type":29,"value":7548},"全栈天然支持",{"type":23,"tag":88,"props":7550,"children":7551},{},[7552],{"type":29,"value":7553},"零成本（且这是无头自证的入口）",{"type":23,"tag":61,"props":7555,"children":7556},{},[7557,7562,7567],{"type":23,"tag":88,"props":7558,"children":7559},{},[7560],{"type":29,"value":7561},"原生 App",{"type":23,"tag":88,"props":7563,"children":7564},{},[7565],{"type":29,"value":7566},"Cocos\u002FLaya\u002FUnity 官方；JS 引擎需 webview 套壳",{"type":23,"tag":88,"props":7568,"children":7569},{},[7570],{"type":29,"value":7571},"套壳会引入新坑，除非必须否则别承诺",{"type":23,"tag":39,"props":7573,"children":7574},{},[7575,7580,7582,7588,7590,7595,7596,7602,7604,7609,7610,7615,7617,7622,7623,7628,7630,7635,7636,7641,7643,7648,7649,7655,7657,7662,7664,7670,7672,7682],{"type":23,"tag":45,"props":7576,"children":7577},{},[7578],{"type":29,"value":7579},"纪律（一次定，永久省）",{"type":29,"value":7581},"：把平台 API 关进 ",{"type":23,"tag":97,"props":7583,"children":7585},{"className":7584},[],[7586],{"type":29,"value":7587},"src\u002Fplatform\u002F",{"type":29,"value":7589},"，并用 eslint ",{"type":23,"tag":97,"props":7591,"children":7593},{"className":7592},[],[7594],{"type":29,"value":5292},{"type":29,"value":208},{"type":23,"tag":97,"props":7597,"children":7599},{"className":7598},[],[7600],{"type":29,"value":7601},"no-restricted-syntax",{"type":29,"value":7603}," 禁止业务代码直接摸 ",{"type":23,"tag":97,"props":7605,"children":7607},{"className":7606},[],[7608],{"type":29,"value":3262},{"type":29,"value":208},{"type":23,"tag":97,"props":7611,"children":7613},{"className":7612},[],[7614],{"type":29,"value":7283},{"type":29,"value":7616},"——否则\"多端\"会在半年后变成\"每个功能改 5 处\"。\n",{"type":23,"tag":45,"props":7618,"children":7619},{},[7620],{"type":29,"value":7621},"运行时约束备忘",{"type":29,"value":1373},{"type":23,"tag":97,"props":7624,"children":7626},{"className":7625},[],[7627],{"type":29,"value":4849},{"type":29,"value":7629},"，来自官方文档）：小游戏无 DOM\u002FBOM、无全局 ",{"type":23,"tag":97,"props":7631,"children":7633},{"className":7632},[],[7634],{"type":29,"value":2050},{"type":29,"value":208},{"type":23,"tag":97,"props":7637,"children":7639},{"className":7638},[],[7640],{"type":29,"value":2057},{"type":29,"value":7642},"、入口 ",{"type":23,"tag":97,"props":7644,"children":7646},{"className":7645},[],[7647],{"type":29,"value":7006},{"type":29,"value":1137},{"type":23,"tag":97,"props":7650,"children":7652},{"className":7651},[],[7653],{"type":29,"value":7654},"GameGlobal",{"type":29,"value":7656}," 为全局、canvas 由 ",{"type":23,"tag":97,"props":7658,"children":7660},{"className":7659},[],[7661],{"type":29,"value":6335},{"type":29,"value":7663}," 取得、支持 Worker（",{"type":23,"tag":97,"props":7665,"children":7667},{"className":7666},[],[7668],{"type":29,"value":7669},"createWorker",{"type":29,"value":7671},"，V2 有独立规则）、API 索引里",{"type":23,"tag":45,"props":7673,"children":7674},{},[7675,7676],{"type":29,"value":5187},{"type":23,"tag":97,"props":7677,"children":7679},{"className":7678},[],[7680],{"type":29,"value":7681},"createSelectorQuery",{"type":29,"value":7683},"；官方对非 Cocos\u002FLaya\u002FEgret 的通用路径就是 Adapter 替换 BOM\u002FDOM，另有面向 WASM\u002FEmscripten 的\"通用引擎适配方案\"页。",{"type":23,"tag":225,"props":7685,"children":7686},{},[],{"type":23,"tag":317,"props":7688,"children":7690},{"id":7689},"_7-选型决策树30-秒走一遍",[7691],{"type":29,"value":7692},"7. 选型决策树（30 秒走一遍）",{"type":23,"tag":3394,"props":7694,"children":7697},{"className":7695,"code":7696,"language":29},[6727],"需要 3D\u002F2.5D？\n ├─ 是 → 平台必须小游戏？\n │        ├─ 是 → three.js(自写 adapter) 先做 3 天 spike；spike 过 → 选它；不过 → 降级\"2.5D 伪 3D(Pixi\u002FPhaser)\"\n │        └─ 否（Web\u002F原生也要）→ Babylon 9（内置类型\u002F组件最全）或 three\n └─ 否 → UI 面板数量级 ≥30 个？\n          ├─ 是（塔防\u002F卡牌\u002F经营\u002F放置）→ 配方①：PixiJS 8 + @pixi\u002Fui\n          └─ 否 → 玩法\u002F物理\u002F弹幕密集？\n                   ├─ 是 → 配方②：Phaser 4 + planck\n                   └─ 极简单局 → kaplay 或自研 Canvas2D\n再叠加两个否决项：\n A. \"首发就要 5 个以上小游戏端\"？ → 权重倒向 配方③（Cocos 3.8 代码优先 \u002F Laya 3）\n B. \"美术已定 Spine\u002FRive 且要求频繁调动画\"？ → 该项目的动画不进 agent 回路，写清人工环节\n",[7698],{"type":23,"tag":97,"props":7699,"children":7700},{"__ignoreMap":3399},[7701],{"type":29,"value":7696},{"type":23,"tag":225,"props":7703,"children":7704},{},[],{"type":23,"tag":317,"props":7706,"children":7708},{"id":7707},"_8-推荐结论",[7709],{"type":29,"value":7710},"8. 推荐结论",{"type":23,"tag":39,"props":7712,"children":7713},{},[7714,7719,7721,7726,7728,7733,7735,7740,7741,7746,7748,7753],{"type":23,"tag":45,"props":7715,"children":7716},{},[7717],{"type":29,"value":7718},"默认解",{"type":29,"value":7720},"：新项目主投微信小游戏且要 agent 全面编程 → ",{"type":23,"tag":45,"props":7722,"children":7723},{},[7724],{"type":29,"value":7725},"配方①（PixiJS 8 + @pixi\u002Fui）或配方②（Phaser 4），Vite + TS strict + 纯 JS 物理 + LDtk\u002FTiled 文本关卡 + Aseprite CLI 图集 + 自维护 weapp-adapter + miniprogram-ci",{"type":29,"value":7727},"。\n",{"type":23,"tag":45,"props":7729,"children":7730},{},[7731],{"type":29,"value":7732},"为什么（3 条）",{"type":29,"value":7734},"：① 只有\"真源全文本 + 无 GUI 构建 + 无头自证\"能同时把 C1–C10 打满，这是 agent 产能的地基，不是口味问题；② 2D 需求上它们成熟、MIT、语料厚（Pixi 1,502,200\u002F周 + @pixi\u002Fui 官方维护；Phaser 545,951\u002F周 且被学术基准选作目标）；③ 平台脏活（adapter\u002F分包\u002F预览）有官方依据可循，且",{"type":23,"tag":45,"props":7736,"children":7737},{},[7738],{"type":29,"value":7739},"不依赖任何闭源 GUI",{"type":29,"value":7727},{"type":23,"tag":45,"props":7742,"children":7743},{},[7744],{"type":29,"value":7745},"何时改选 Cocos 3.8 \u002F Laya 3",{"type":29,"value":7747},"：多端渠道 ≥4 个、或团队已有人熟引擎、或要原生 App —— 这时官方导出链路省下的成本大于 Mode A 损失的产能，但要用\"代码优先纪律 + MCP 兜底\"把 agent 通道留住。\n",{"type":23,"tag":45,"props":7749,"children":7750},{},[7751],{"type":29,"value":7752},"明确不推荐",{"type":29,"value":7754},"：Godot（小游戏靠 9★ 社区件）、Unity\u002F团结（转换必 GUI、2D 重 UI 短板）、WASM 物理（rapier 撞上 WXWebAssembly 一堆限制）、把 Spine\u002FRive\u002FAseprite 工程当 agent 可改真源。",{"type":23,"tag":225,"props":7756,"children":7757},{},[],{"type":23,"tag":317,"props":7759,"children":7761},{"id":7760},"_9-待确认-d11d24你点选答复未答我按默认值自决",[7762],{"type":29,"value":7763},"9. 待确认 D11–D24（你点选\u002F答复；未答我按默认值自决）",{"type":23,"tag":53,"props":7765,"children":7766},{},[7767,7786],{"type":23,"tag":57,"props":7768,"children":7769},{},[7770],{"type":23,"tag":61,"props":7771,"children":7772},{},[7773,7777,7781],{"type":23,"tag":65,"props":7774,"children":7775},{},[7776],{"type":29,"value":1468},{"type":23,"tag":65,"props":7778,"children":7779},{},[7780],{"type":29,"value":3160},{"type":23,"tag":65,"props":7782,"children":7783},{},[7784],{"type":29,"value":7785},"默认值",{"type":23,"tag":81,"props":7787,"children":7788},{},[7789,7813,7843,7861,7879,7897,7915,7955,7973,7991,8009,8038,8056,8082],{"type":23,"tag":61,"props":7790,"children":7791},{},[7792,7796,7801],{"type":23,"tag":88,"props":7793,"children":7794},{},[7795],{"type":29,"value":310},{"type":23,"tag":88,"props":7797,"children":7798},{},[7799],{"type":29,"value":7800},"新项目主品类是\"重 UI\"还是\"重玩法\"？（定配方①还是②）",{"type":23,"tag":88,"props":7802,"children":7803},{},[7804,7806,7811],{"type":29,"value":7805},"按",{"type":23,"tag":45,"props":7807,"children":7808},{},[7809],{"type":29,"value":7810},"重 UI",{"type":29,"value":7812},"（配方①）出脚手架",{"type":23,"tag":61,"props":7814,"children":7815},{},[7816,7821,7838],{"type":23,"tag":88,"props":7817,"children":7818},{},[7819],{"type":29,"value":7820},"D12",{"type":23,"tag":88,"props":7822,"children":7823},{},[7824,7826,7831,7832,7836],{"type":29,"value":7825},"是否接受自维护 ",{"type":23,"tag":97,"props":7827,"children":7829},{"className":7828},[],[7830],{"type":29,"value":2636},{"type":29,"value":1373},{"type":23,"tag":3405,"props":7833,"children":7834},{},[7835],{"type":29,"value":6350},{"type":29,"value":7837}," 3–5 人日起步，含音频\u002FXHR\u002F输入）",{"type":23,"tag":88,"props":7839,"children":7840},{},[7841],{"type":29,"value":7842},"接受，spike 里先做最小版",{"type":23,"tag":61,"props":7844,"children":7845},{},[7846,7851,7856],{"type":23,"tag":88,"props":7847,"children":7848},{},[7849],{"type":29,"value":7850},"D13",{"type":23,"tag":88,"props":7852,"children":7853},{},[7854],{"type":29,"value":7855},"首发要覆盖几个小游戏端？（≥4 端则倒向配方③）",{"type":23,"tag":88,"props":7857,"children":7858},{},[7859],{"type":29,"value":7860},"只微信首发，架构预留 shim",{"type":23,"tag":61,"props":7862,"children":7863},{},[7864,7869,7874],{"type":23,"tag":88,"props":7865,"children":7866},{},[7867],{"type":29,"value":7868},"D14",{"type":23,"tag":88,"props":7870,"children":7871},{},[7872],{"type":29,"value":7873},"有 3D\u002F2.5D 需求吗？",{"type":23,"tag":88,"props":7875,"children":7876},{},[7877],{"type":29,"value":7878},"无；不做 three\u002FBabylon spike",{"type":23,"tag":61,"props":7880,"children":7881},{},[7882,7887,7892],{"type":23,"tag":88,"props":7883,"children":7884},{},[7885],{"type":29,"value":7886},"D15",{"type":23,"tag":88,"props":7888,"children":7889},{},[7890],{"type":29,"value":7891},"美术管线是否已定 Spine\u002FRive？若是，动画就划出 agent 回路",{"type":23,"tag":88,"props":7893,"children":7894},{},[7895],{"type":29,"value":7896},"按\"序列帧 + 程序化动画\"设计",{"type":23,"tag":61,"props":7898,"children":7899},{},[7900,7905,7910],{"type":23,"tag":88,"props":7901,"children":7902},{},[7903],{"type":29,"value":7904},"D16",{"type":23,"tag":88,"props":7906,"children":7907},{},[7908],{"type":29,"value":7909},"是否允许付费工具（Spine Essential $69\u002FPro $379、TexturePacker Pro for CI）",{"type":23,"tag":88,"props":7911,"children":7912},{},[7913],{"type":29,"value":7914},"只用免费：Aseprite CLI \u002F LDtk \u002F Tiled \u002F ZzFX",{"type":23,"tag":61,"props":7916,"children":7917},{},[7918,7923,7950],{"type":23,"tag":88,"props":7919,"children":7920},{},[7921],{"type":29,"value":7922},"D17",{"type":23,"tag":88,"props":7924,"children":7925},{},[7926,7928,7933,7935,7941,7942,7948],{"type":29,"value":7927},"要不要我实测 ",{"type":23,"tag":97,"props":7929,"children":7931},{"className":7930},[],[7932],{"type":29,"value":7126},{"type":29,"value":7934}," 在小游戏里能否 ",{"type":23,"tag":97,"props":7936,"children":7938},{"className":7937},[],[7939],{"type":29,"value":7940},"evaluate",{"type":29,"value":208},{"type":23,"tag":97,"props":7943,"children":7945},{"className":7944},[],[7946],{"type":29,"value":7947},"screenshot",{"type":29,"value":7949},"（决定要不要它）",{"type":23,"tag":88,"props":7951,"children":7952},{},[7953],{"type":29,"value":7954},"做一次 spike，不行就永久剔除",{"type":23,"tag":61,"props":7956,"children":7957},{},[7958,7963,7968],{"type":23,"tag":88,"props":7959,"children":7960},{},[7961],{"type":29,"value":7962},"D18",{"type":23,"tag":88,"props":7964,"children":7965},{},[7966],{"type":29,"value":7967},"RexUI 是否兼容 Phaser 4？（决定重 UI 场景是否改用 Pixi 方案）",{"type":23,"tag":88,"props":7969,"children":7970},{},[7971],{"type":29,"value":7972},"不依赖 RexUI，UI 层自建",{"type":23,"tag":61,"props":7974,"children":7975},{},[7976,7981,7986],{"type":23,"tag":88,"props":7977,"children":7978},{},[7979],{"type":29,"value":7980},"D19",{"type":23,"tag":88,"props":7982,"children":7983},{},[7984],{"type":29,"value":7985},"Pixi v8 在小游戏里强制 WebGL 的可行性与性能（需 spike）",{"type":23,"tag":88,"props":7987,"children":7988},{},[7989],{"type":29,"value":7990},"spike 通过才用 @pixi\u002Fui",{"type":23,"tag":61,"props":7992,"children":7993},{},[7994,7999,8004],{"type":23,"tag":88,"props":7995,"children":7996},{},[7997],{"type":29,"value":7998},"D20",{"type":23,"tag":88,"props":8000,"children":8001},{},[8002],{"type":29,"value":8003},"Babylon 9 的小游戏适配有无生产先例（我查到的是\"未找到\"）",{"type":23,"tag":88,"props":8005,"children":8006},{},[8007],{"type":29,"value":8008},"不选 Babylon",{"type":23,"tag":61,"props":8010,"children":8011},{},[8012,8017,8033],{"type":23,"tag":88,"props":8013,"children":8014},{},[8015],{"type":29,"value":8016},"D21",{"type":23,"tag":88,"props":8018,"children":8019},{},[8020,8025,8026,8031],{"type":23,"tag":97,"props":8021,"children":8023},{"className":8022},[],[8024],{"type":29,"value":7283},{"type":29,"value":208},{"type":23,"tag":97,"props":8027,"children":8029},{"className":8028},[],[8030],{"type":29,"value":3262},{"type":29,"value":8032}," API 差异无官方对照表 → 是否允许我用\"自建 shim + 双端断言\"的方式收敛",{"type":23,"tag":88,"props":8034,"children":8035},{},[8036],{"type":29,"value":8037},"允许",{"type":23,"tag":61,"props":8039,"children":8040},{},[8041,8046,8051],{"type":23,"tag":88,"props":8042,"children":8043},{},[8044],{"type":29,"value":8045},"D22",{"type":23,"tag":88,"props":8047,"children":8048},{},[8049],{"type":29,"value":8050},"CI 机器有无 Windows\u002FmacOS（开发者工具 CLI 只支持 mac\u002Fwin）",{"type":23,"tag":88,"props":8052,"children":8053},{},[8054],{"type":29,"value":8055},"CI 只用无头浏览器 + miniprogram-ci，不碰开发者工具",{"type":23,"tag":61,"props":8057,"children":8058},{},[8059,8064,8069],{"type":23,"tag":88,"props":8060,"children":8061},{},[8062],{"type":29,"value":8063},"D23",{"type":23,"tag":88,"props":8065,"children":8066},{},[8067],{"type":29,"value":8068},"服务端要不要一起定（排行榜\u002F存档\u002F广告回调）",{"type":23,"tag":88,"props":8070,"children":8071},{},[8072,8074,8080],{"type":29,"value":8073},"排行榜优先用官方开放数据域 + ",{"type":23,"tag":97,"props":8075,"children":8077},{"className":8076},[],[8078],{"type":29,"value":8079},"minigame-canvas-engine",{"type":29,"value":8081},"，不自建",{"type":23,"tag":61,"props":8083,"children":8084},{},[8085,8090,8095],{"type":23,"tag":88,"props":8086,"children":8087},{},[8088],{"type":29,"value":8089},"D24",{"type":23,"tag":88,"props":8091,"children":8092},{},[8093],{"type":29,"value":8094},"首个可验证里程碑要不要我直接搭脚手架（空仓 + 门禁 + 1 个面板 + 1 个场景）",{"type":23,"tag":88,"props":8096,"children":8097},{},[8098],{"type":29,"value":8099},"等你点头再动手（本轮全程未改工程）",{"type":23,"tag":225,"props":8101,"children":8102},{},[],{"type":23,"tag":317,"props":8104,"children":8106},{"id":8105},"_10-实测回填2026-10-06-当日代码优先栈真跑验证",[8107],{"type":29,"value":8108},"10. 实测回填（2026-10-06 当日，代码优先栈真跑验证）",{"type":23,"tag":39,"props":8110,"children":8111},{},[8112,8114,8120,8122,8126],{"type":29,"value":8113},"按本文判据在 ",{"type":23,"tag":97,"props":8115,"children":8117},{"className":8116},[],[8118],{"type":29,"value":8119},"水泊风云录\u002FDemo\u002F",{"type":29,"value":8121}," 搭了一个最小工程（",{"type":23,"tag":45,"props":8123,"children":8124},{},[8125],{"type":29,"value":399},{"type":29,"value":8127},"，配方②），把\"写玩法 → 门禁 → 构建 → 无头自证 → 出小游戏包\"整条链跑通：",{"type":23,"tag":53,"props":8129,"children":8130},{},[8131,8146],{"type":23,"tag":57,"props":8132,"children":8133},{},[8134],{"type":23,"tag":61,"props":8135,"children":8136},{},[8137,8141],{"type":23,"tag":65,"props":8138,"children":8139},{},[8140],{"type":29,"value":6962},{"type":23,"tag":65,"props":8142,"children":8143},{},[8144],{"type":29,"value":8145},"结果",{"type":23,"tag":81,"props":8147,"children":8148},{},[8149,8175,8191,8215,8248],{"type":23,"tag":61,"props":8150,"children":8151},{},[8152,8170],{"type":23,"tag":88,"props":8153,"children":8154},{},[8155,8161,8163,8168],{"type":23,"tag":97,"props":8156,"children":8158},{"className":8157},[],[8159],{"type":29,"value":8160},"check-imports",{"type":29,"value":8162},"（机械守卫）+ ",{"type":23,"tag":97,"props":8164,"children":8166},{"className":8165},[],[8167],{"type":29,"value":1379},{"type":29,"value":8169}," + 双端构建",{"type":23,"tag":88,"props":8171,"children":8172},{},[8173],{"type":29,"value":8174},"全绿",{"type":23,"tag":61,"props":8176,"children":8177},{},[8178,8183],{"type":23,"tag":88,"props":8179,"children":8180},{},[8181],{"type":29,"value":8182},"垫片设备路径单测（Node + 假 wx + 真产物）",{"type":23,"tag":88,"props":8184,"children":8185},{},[8186],{"type":23,"tag":45,"props":8187,"children":8188},{},[8189],{"type":29,"value":8190},"24\u002F24",{"type":23,"tag":61,"props":8192,"children":8193},{},[8194,8205],{"type":23,"tag":88,"props":8195,"children":8196},{},[8197,8199,8204],{"type":29,"value":8198},"小游戏运行时模拟（真 Phaser + 真垫片 + 真 ",{"type":23,"tag":97,"props":8200,"children":8202},{"className":8201},[],[8203],{"type":29,"value":2581},{"type":29,"value":951},{"type":23,"tag":88,"props":8206,"children":8207},{},[8208,8213],{"type":23,"tag":45,"props":8209,"children":8210},{},[8211],{"type":29,"value":8212},"18\u002F18",{"type":29,"value":8214},"（含加分\u002F掉命\u002F触摸\u002F结算\u002F最高分入 wx 存储\u002F点击重开）",{"type":23,"tag":61,"props":8216,"children":8217},{},[8218,8223],{"type":23,"tag":88,"props":8219,"children":8220},{},[8221],{"type":29,"value":8222},"小游戏包",{"type":23,"tag":88,"props":8224,"children":8225},{},[8226,8231,8233,8239,8241,8246],{"type":23,"tag":97,"props":8227,"children":8229},{"className":8228},[],[8230],{"type":29,"value":2581},{"type":29,"value":8232}," 1360 KB + ",{"type":23,"tag":97,"props":8234,"children":8236},{"className":8235},[],[8237],{"type":29,"value":8238},"wx-adapter.js",{"type":29,"value":8240}," 7 KB + 两个 json = ",{"type":23,"tag":45,"props":8242,"children":8243},{},[8244],{"type":29,"value":8245},"1368.6 KB",{"type":29,"value":8247},"（主包上限 4096 KB），无 html\u002Fcss、无 ESM 残留",{"type":23,"tag":61,"props":8249,"children":8250},{},[8251,8256],{"type":23,"tag":88,"props":8252,"children":8253},{},[8254],{"type":29,"value":8255},"Web 包（真实 DOM，无垫片）",{"type":23,"tag":88,"props":8257,"children":8258},{},[8259],{"type":29,"value":8260},"同一套玩法断言全过",{"type":23,"tag":39,"props":8262,"children":8263},{},[8264,8269],{"type":23,"tag":45,"props":8265,"children":8266},{},[8267],{"type":29,"value":8268},"实测纠正了本文三处口径",{"type":29,"value":8270},"（都已改进正文判断，不是脚注）：",{"type":23,"tag":743,"props":8272,"children":8273},{},[8274,8370,8455],{"type":23,"tag":747,"props":8275,"children":8276},{},[8277,8282,8284,8290,8292,8298,8300,8306,8308,8314,8315,8320,8322,8328,8330,8336,8338,8344,8346,8352,8354,8360,8362,8368],{"type":23,"tag":45,"props":8278,"children":8279},{},[8280],{"type":29,"value":8281},"C2 无 GUI 构建：成立",{"type":29,"value":8283},"，但有个必须写进风险表的坑——Vite 构建默认吃 phaser 的 ",{"type":23,"tag":97,"props":8285,"children":8287},{"className":8286},[],[8288],{"type":29,"value":8289},"browser",{"type":29,"value":8291}," 字段（UMD），UMD 在 ESM 里退化成 ",{"type":23,"tag":97,"props":8293,"children":8295},{"className":8294},[],[8296],{"type":29,"value":8297},"root[\"Phaser\"]=factory()",{"type":29,"value":8299}," 而顶层 ",{"type":23,"tag":97,"props":8301,"children":8303},{"className":8302},[],[8304],{"type":29,"value":8305},"this",{"type":29,"value":8307}," 是 ",{"type":23,"tag":97,"props":8309,"children":8311},{"className":8310},[],[8312],{"type":29,"value":8313},"undefined",{"type":29,"value":1241},{"type":23,"tag":45,"props":8316,"children":8317},{},[8318],{"type":29,"value":8319},"运行期",{"type":29,"value":8321},"才炸 ",{"type":23,"tag":97,"props":8323,"children":8325},{"className":8324},[],[8326],{"type":29,"value":8327},"ReferenceError: Phaser is not defined",{"type":29,"value":8329},"，而 ",{"type":23,"tag":97,"props":8331,"children":8333},{"className":8332},[],[8334],{"type":29,"value":8335},"tsc",{"type":29,"value":8337}," 查不出来（phaser 的 d.ts 里有全局 ",{"type":23,"tag":97,"props":8339,"children":8341},{"className":8340},[],[8342],{"type":29,"value":8343},"Phaser",{"type":29,"value":8345}," 命名空间兜底）。必须显式 ",{"type":23,"tag":97,"props":8347,"children":8349},{"className":8348},[],[8350],{"type":29,"value":8351},"resolve.alias",{"type":29,"value":8353}," 到 ",{"type":23,"tag":97,"props":8355,"children":8357},{"className":8356},[],[8358],{"type":29,"value":8359},"dist\u002Fphaser.esm.js",{"type":29,"value":8361},"，并配一条\"用了 ",{"type":23,"tag":97,"props":8363,"children":8365},{"className":8364},[],[8366],{"type":29,"value":8367},"Phaser.*",{"type":29,"value":8369}," 却没 import 就报错\"的机械守卫。",{"type":23,"tag":747,"props":8371,"children":8372},{},[8373,8384,8386,8391,8393,8399,8401,8407,8408,8414,8416,8422,8424,8430,8432,8438,8440,8446,8448,8453],{"type":23,"tag":45,"props":8374,"children":8375},{},[8376,8377,8382],{"type":29,"value":2036},{"type":23,"tag":97,"props":8378,"children":8380},{"className":8379},[],[8381],{"type":29,"value":2636},{"type":29,"value":8383}," 的真实难度",{"type":29,"value":8385},"不在 DOM 形状，而在",{"type":23,"tag":45,"props":8387,"children":8388},{},[8389],{"type":29,"value":8390},"回调风格",{"type":29,"value":8392},"：Phaser 的 ",{"type":23,"tag":97,"props":8394,"children":8396},{"className":8395},[],[8397],{"type":29,"value":8398},"TextureManager.addBase64",{"type":29,"value":8400}," 用属性式 ",{"type":23,"tag":97,"props":8402,"children":8404},{"className":8403},[],[8405],{"type":29,"value":8406},"image.onload = fn",{"type":29,"value":1373},{"type":23,"tag":97,"props":8409,"children":8411},{"className":8410},[],[8412],{"type":29,"value":8413},"src\u002Ftextures\u002FTextureManager.js:376-397",{"type":29,"value":8415},"）。只实现 ",{"type":23,"tag":97,"props":8417,"children":8419},{"className":8418},[],[8420],{"type":29,"value":8421},"addEventListener",{"type":29,"value":8423}," 的 Image 垫片会让纹理 ",{"type":23,"tag":97,"props":8425,"children":8427},{"className":8426},[],[8428],{"type":29,"value":8429},"_pending",{"type":29,"value":8431}," 永不归零 → ",{"type":23,"tag":97,"props":8433,"children":8435},{"className":8434},[],[8436],{"type":29,"value":8437},"'ready'",{"type":29,"value":8439}," 不发 → ",{"type":23,"tag":97,"props":8441,"children":8443},{"className":8442},[],[8444],{"type":29,"value":8445},"game.isRunning",{"type":29,"value":8447}," 永远为假。",{"type":23,"tag":45,"props":8449,"children":8450},{},[8451],{"type":29,"value":8452},"这条在真机上是同一个 bug",{"type":29,"value":8454},"，D12 的\"3–5 人日\"估计应按\"要读懂 Phaser 内部约定\"来重估。",{"type":23,"tag":747,"props":8456,"children":8457},{},[8458,8463,8465,8471,8472,8478,8479,8484,8486,8491],{"type":23,"tag":45,"props":8459,"children":8460},{},[8461],{"type":29,"value":8462},"C3 无头自证：成立但必须改造断言方式",{"type":29,"value":8464},"。headless\u002F后台页面里 rAF 被饿死（实测 12s 只有 6 帧；Qoder in-app 浏览器为 0 帧），任何\"等真实时间再看结果\"的断言都会偶发红。解法是用 ",{"type":23,"tag":97,"props":8466,"children":8468},{"className":8467},[],[8469],{"type":29,"value":8470},"TimeStep.step(time)",{"type":29,"value":1373},{"type":23,"tag":97,"props":8473,"children":8475},{"className":8474},[],[8476],{"type":29,"value":8477},"src\u002Fcore\u002FTimeStep.js:718",{"type":29,"value":951},{"type":23,"tag":45,"props":8480,"children":8481},{},[8482],{"type":29,"value":8483},"喂合成帧",{"type":29,"value":8485},"，把断言变成确定性的——这比\"截图对比\"更值得作为 agent 主回路。另外 ",{"type":23,"tag":97,"props":8487,"children":8489},{"className":8488},[],[8490],{"type":29,"value":7126},{"type":29,"value":8492}," 对小游戏的不可用（0.12.1 停在 2023-11-06，官方只声明支持小程序）在本次实测中得到确认。",{"type":23,"tag":39,"props":8494,"children":8495},{},[8496,8501],{"type":23,"tag":45,"props":8497,"children":8498},{},[8499],{"type":29,"value":8500},"仍未覆盖",{"type":29,"value":8502},"（别当成已验证）：微信开发者工具与真机（本机没装）、外部资源\u002F图集加载、分包与远程资源、音频、dpr 清晰度。",{"type":23,"tag":317,"props":8504,"children":8506},{"id":8505},"附录-a我本轮亲自核到的数字可复现",[8507],{"type":29,"value":8508},"附录 A：我本轮亲自核到的数字（可复现）",{"type":23,"tag":3394,"props":8510,"children":8513},{"className":8511,"code":8512,"language":29},[6727],"Phaser            4.2.1(2026-07-09) \u002F MIT \u002F 40,410★ \u002F pushed 2026-08-21 \u002F npm 545,951 周\npixi.js           8.22.0 \u002F MIT \u002F types: lib\u002Findex.d.ts \u002F npm 1,502,200 周\n@pixi\u002Fui          2.4.1 \u002F MIT \u002F peerDependencies: pixi.js ^8.6.2 \u002F deps: tweedle.js(1) \u002F npm 21,482 周\nkaplay            MIT \u002F 1,809★ \u002F pushed 2026-10-04 \u002F npm 9,593 周\nexcalibur         npm 14,986 周\nlayabox\u002FLayaAir   MIT \u002F 2,204★ \u002F pushed 2026-09-24\ncocos\u002Fcocos-engine 9,846★ \u002F pushed 2026-09-21 \u002F license=NOASSERTION（需读仓库 LICENSE）\neva-engine\u002Feva.js MIT \u002F 1,782★ \u002F pushed 2026-07-10\nminiprogram-ci    npm 21,609 周\nminiprogram-automator 0.12.1，发布于 2023-11-06\nthree             npm 24,326,206 周\nwechat-miniprogram\u002Fthreejs-miniprogram  799★ \u002F 末次推送 2023-05-22 \u002F 未 archived\nwechat-miniprogram\u002Fminigame-canvas-engine  312★ \u002F MIT \u002F pushed 2026-09-10 \u002F open_issues 6\nplanck            npm 217,176 周\n微信小游戏包体     主包 4MB \u002F 总包 ≤30MB \u002F 独立分包 ≤4MB（官方分包文档）\n",[8514],{"type":23,"tag":97,"props":8515,"children":8516},{"__ignoreMap":3399},[8517],{"type":29,"value":8512},{"type":23,"tag":39,"props":8519,"children":8520},{},[8521,8523,8528,8530,8535],{"type":29,"value":8522},"未核实项（诚实标注）：melonJS 版本号（npm ",{"type":23,"tag":97,"props":8524,"children":8526},{"className":8525},[],[8527],{"type":29,"value":5805},{"type":29,"value":8529}," 404）、LittleJS 体积与许可、Excalibur 版本、",{"type":23,"tag":97,"props":8531,"children":8533},{"className":8532},[],[8534],{"type":29,"value":509},{"type":29,"value":8536}," 的确切小版本号（官方下载页为 JS 渲染，我未取到）。",{"type":23,"tag":317,"props":8538,"children":8540},{"id":8539},"附录-b来源",[8541],{"type":29,"value":8542},"附录 B：来源",{"type":23,"tag":39,"props":8544,"children":8545},{},[8546],{"type":23,"tag":45,"props":8547,"children":8548},{},[8549],{"type":29,"value":8550},"工程化与平台（官方）",{"type":23,"tag":1909,"props":8552,"children":8553},{},[8554,8572,8597,8629,8646,8657,8667,8677,8704,8715,8732,8797],{"type":23,"tag":747,"props":8555,"children":8556},{},[8557,8559,8564,8566],{"type":29,"value":8558},"小游戏 CI（preview\u002Fupload，",{"type":23,"tag":45,"props":8560,"children":8561},{},[8562],{"type":29,"value":8563},"我复验：200，页面确为小游戏 CI 且提到\"代码上传密钥\"",{"type":29,"value":8565},"）：",{"type":23,"tag":4272,"props":8567,"children":8570},{"href":8568,"rel":8569},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fci.html",[4276],[8571],{"type":29,"value":8568},{"type":23,"tag":747,"props":8573,"children":8574},{},[8575,8577,8583,8584,8590,8591],{"type":29,"value":8576},"开发者工具 CLI 与 HTTP 调用：",{"type":23,"tag":4272,"props":8578,"children":8581},{"href":8579,"rel":8580},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fdevtools\u002Fcli.html",[4276],[8582],{"type":29,"value":8579},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8585,"children":8588},{"href":8586,"rel":8587},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fcli.html",[4276],[8589],{"type":29,"value":8586},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8592,"children":8595},{"href":8593,"rel":8594},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fdevtools\u002Fhttp.html",[4276],[8596],{"type":29,"value":8593},{"type":23,"tag":747,"props":8598,"children":8599},{},[8600,8602,8607,8608,8614,8616,8622,8623],{"type":29,"value":8601},"小程序自动化 SDK（",{"type":23,"tag":45,"props":8603,"children":8604},{},[8605],{"type":29,"value":8606},"只声明支持小程序",{"type":29,"value":8565},{"type":23,"tag":4272,"props":8609,"children":8612},{"href":8610,"rel":8611},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fdevtools\u002Fauto\u002F",[4276],[8613],{"type":29,"value":8610},{"type":29,"value":8615},"、小游戏侧复用页 ",{"type":23,"tag":4272,"props":8617,"children":8620},{"href":8618,"rel":8619},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fauto\u002Fquick-start.html",[4276],[8621],{"type":29,"value":8618},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8624,"children":8627},{"href":8625,"rel":8626},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fdevtools\u002Fauto\u002Fminiprogram.html",[4276],[8628],{"type":29,"value":8625},{"type":23,"tag":747,"props":8630,"children":8631},{},[8632,8634,8639,8640],{"type":29,"value":8633},"运行时 Adapter（含 ",{"type":23,"tag":97,"props":8635,"children":8637},{"className":8636},[],[8638],{"type":29,"value":7450},{"type":29,"value":8565},{"type":23,"tag":4272,"props":8641,"children":8644},{"href":8642,"rel":8643},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fruntime\u002Fadapter.html",[4276],[8645],{"type":29,"value":8642},{"type":23,"tag":747,"props":8647,"children":8648},{},[8649,8651],{"type":29,"value":8650},"通用引擎适配方案（WASM\u002FEmscripten）：",{"type":23,"tag":4272,"props":8652,"children":8655},{"href":8653,"rel":8654},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcommon-adaptation.html",[4276],[8656],{"type":29,"value":8653},{"type":23,"tag":747,"props":8658,"children":8659},{},[8660,8662],{"type":29,"value":8661},"Cocos\u002FLaya\u002FEgret 适配（历史口径）：",{"type":23,"tag":4272,"props":8663,"children":8665},{"href":4549,"rel":8664},[4276],[8666],{"type":29,"value":4549},{"type":23,"tag":747,"props":8668,"children":8669},{},[8670,8672],{"type":29,"value":8671},"分包与包体上限：",{"type":23,"tag":4272,"props":8673,"children":8675},{"href":4536,"rel":8674},[4276],[8676],{"type":29,"value":4536},{"type":23,"tag":747,"props":8678,"children":8679},{},[8680,8682,8688,8690,8696,8698],{"type":29,"value":8681},"小游戏新手教程\u002F运行时约束：",{"type":23,"tag":4272,"props":8683,"children":8686},{"href":8684,"rel":8685},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fdevelop\u002Fstart.html",[4276],[8687],{"type":29,"value":8684},{"type":29,"value":8689},"、Worker：",{"type":23,"tag":4272,"props":8691,"children":8694},{"href":8692,"rel":8693},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fbase-ability\u002Fnew-worker.html",[4276],[8695],{"type":29,"value":8692},{"type":29,"value":8697},"、API 索引：",{"type":23,"tag":4272,"props":8699,"children":8702},{"href":8700,"rel":8701},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fapi\u002F",[4276],[8703],{"type":29,"value":8700},{"type":23,"tag":747,"props":8705,"children":8706},{},[8707,8709],{"type":29,"value":8708},"WXWebAssembly 限制：",{"type":23,"tag":4272,"props":8710,"children":8713},{"href":8711,"rel":8712},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminiprogram\u002Fdev\u002Fframework\u002Fperformance\u002Fwasm.html",[4276],[8714],{"type":29,"value":8711},{"type":23,"tag":747,"props":8716,"children":8717},{},[8718,8720,8726,8727],{"type":29,"value":8719},"小游戏音视频格式建议：",{"type":23,"tag":4272,"props":8721,"children":8724},{"href":8722,"rel":8723},"http:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Funity-webgl-transform\u002FDesign\u002FAudioAndVideo.html",[4276],[8725],{"type":29,"value":8722},{"type":29,"value":1137},{"type":23,"tag":97,"props":8728,"children":8730},{"className":8729},[],[8731],{"type":29,"value":6640},{"type":23,"tag":747,"props":8733,"children":8734},{},[8735,8737,8742,8744,8750,8752,8758,8760,8765,8767,8773,8775,8781,8783,8789,8791],{"type":29,"value":8736},"抖音小游戏：官方 npm ",{"type":23,"tag":97,"props":8738,"children":8740},{"className":8739},[],[8741],{"type":29,"value":7250},{"type":29,"value":8743}," 可核（",{"type":23,"tag":4272,"props":8745,"children":8748},{"href":8746,"rel":8747},"https:\u002F\u002Fregistry.npmjs.org\u002Ftt-minigame-ide-cli",[4276],[8749],{"type":29,"value":8746},{"type":29,"value":8751},"、下载量 ",{"type":23,"tag":4272,"props":8753,"children":8756},{"href":8754,"rel":8755},"https:\u002F\u002Fapi.npmjs.org\u002Fdownloads\u002Fpoint\u002Flast-week\u002Ftt-minigame-ide-cli",[4276],[8757],{"type":29,"value":8754},{"type":29,"value":8759},"）；其文档站为 SPA，",{"type":23,"tag":45,"props":8761,"children":8762},{},[8763],{"type":29,"value":8764},"深层 URL 我无法验证正文",{"type":29,"value":8766},"，请在 ",{"type":23,"tag":4272,"props":8768,"children":8771},{"href":8769,"rel":8770},"https:\u002F\u002Fdeveloper.open-douyin.com\u002F",[4276],[8772],{"type":29,"value":8769},{"type":29,"value":8774}," 站内搜 ",{"type":23,"tag":97,"props":8776,"children":8778},{"className":8777},[],[8779],{"type":29,"value":8780},"ide-cli",{"type":29,"value":8782},"／",{"type":23,"tag":97,"props":8784,"children":8786},{"className":8785},[],[8787],{"type":29,"value":8788},"Adapter",{"type":29,"value":8790}," 取权威页；官方 Adapter 页（子代理给出，未复验）：",{"type":23,"tag":4272,"props":8792,"children":8795},{"href":8793,"rel":8794},"https:\u002F\u002Fpartner.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-game\u002Fdevelop\u002Fframework\u002Fruntime\u002Fadapter",[4276],[8796],{"type":29,"value":8793},{"type":23,"tag":747,"props":8798,"children":8799},{},[8800,8802,8808],{"type":29,"value":8801},"Unity\u002F团结引擎小游戏平台（自陈 WASM 单线程\u002F无 SIMD\u002FiOS 内存）：",{"type":23,"tag":4272,"props":8803,"children":8806},{"href":8804,"rel":8805},"https:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002FManual\u002FMiniGamePlatform.html",[4276],[8807],{"type":29,"value":8804},{"type":29,"value":8809},"（我复验：200，内容对得上）",{"type":23,"tag":39,"props":8811,"children":8812},{},[8813],{"type":23,"tag":45,"props":8814,"children":8815},{},[8816],{"type":29,"value":8817},"引擎与库",{"type":23,"tag":1909,"props":8819,"children":8820},{},[8821,8838,8856,8874,8899,8917,8928,8960,9006,9069,9087,9111,9129,9142,9159],{"type":23,"tag":747,"props":8822,"children":8823},{},[8824,8826,8831,8832],{"type":29,"value":8825},"Phaser：",{"type":23,"tag":4272,"props":8827,"children":8829},{"href":4573,"rel":8828},[4276],[8830],{"type":29,"value":4573},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8833,"children":8836},{"href":8834,"rel":8835},"https:\u002F\u002Fphaser.io\u002Fdownload\u002Fstable",[4276],[8837],{"type":29,"value":8834},{"type":23,"tag":747,"props":8839,"children":8840},{},[8841,8843,8849,8850],{"type":29,"value":8842},"PixiJS \u002F @pixi\u002Fui：",{"type":23,"tag":4272,"props":8844,"children":8847},{"href":8845,"rel":8846},"https:\u002F\u002Fregistry.npmjs.org\u002Fpixi.js\u002Flatest",[4276],[8848],{"type":29,"value":8845},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8851,"children":8854},{"href":8852,"rel":8853},"https:\u002F\u002Fregistry.npmjs.org\u002F@pixi\u002Fui\u002Flatest",[4276],[8855],{"type":29,"value":8852},{"type":23,"tag":747,"props":8857,"children":8858},{},[8859,8861,8867,8868],{"type":29,"value":8860},"three \u002F 官方小游戏适配（已停更）：",{"type":23,"tag":4272,"props":8862,"children":8865},{"href":8863,"rel":8864},"https:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fthree.js\u002Freleases",[4276],[8866],{"type":29,"value":8863},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8869,"children":8872},{"href":8870,"rel":8871},"https:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fthreejs-miniprogram",[4276],[8873],{"type":29,"value":8870},{"type":23,"tag":747,"props":8875,"children":8876},{},[8877,8879,8885,8886,8892,8893],{"type":29,"value":8878},"Babylon 9 与 Inspector\u002FEditor 定位：",{"type":23,"tag":4272,"props":8880,"children":8883},{"href":8881,"rel":8882},"https:\u002F\u002Fapi.github.com\u002Frepos\u002FBabylonJS\u002FBabylon.js\u002Freleases",[4276],[8884],{"type":29,"value":8881},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8887,"children":8890},{"href":8888,"rel":8889},"https:\u002F\u002Fgithub.com\u002FBabylonJS\u002FEditor",[4276],[8891],{"type":29,"value":8888},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8894,"children":8897},{"href":8895,"rel":8896},"https:\u002F\u002Fdoc.babylonjs.com\u002F",[4276],[8898],{"type":29,"value":8895},{"type":23,"tag":747,"props":8900,"children":8901},{},[8902,8904,8910,8911],{"type":29,"value":8903},"PlayCanvas：",{"type":23,"tag":4272,"props":8905,"children":8908},{"href":8906,"rel":8907},"https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fengine",[4276],[8909],{"type":29,"value":8906},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8912,"children":8915},{"href":8913,"rel":8914},"https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Feditor",[4276],[8916],{"type":29,"value":8913},{"type":23,"tag":747,"props":8918,"children":8919},{},[8920,8922],{"type":29,"value":8921},"minigame-canvas-engine（官方 canvas UI\u002F开放数据域）：",{"type":23,"tag":4272,"props":8923,"children":8926},{"href":8924,"rel":8925},"https:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fminigame-canvas-engine",[4276],[8927],{"type":29,"value":8924},{"type":23,"tag":747,"props":8929,"children":8930},{},[8931,8933,8939,8940,8946,8947,8953,8954],{"type":29,"value":8932},"物理：",{"type":23,"tag":4272,"props":8934,"children":8937},{"href":8935,"rel":8936},"https:\u002F\u002Fregistry.npmjs.org\u002Fplanck\u002Flatest",[4276],[8938],{"type":29,"value":8935},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8941,"children":8944},{"href":8942,"rel":8943},"https:\u002F\u002Fregistry.npmjs.org\u002Fmatter-js\u002Flatest",[4276],[8945],{"type":29,"value":8942},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8948,"children":8951},{"href":8949,"rel":8950},"https:\u002F\u002Fregistry.npmjs.org\u002Fcannon-es\u002Flatest",[4276],[8952],{"type":29,"value":8949},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8955,"children":8958},{"href":8956,"rel":8957},"https:\u002F\u002Fregistry.npmjs.org\u002F@dimforge\u002Frapier3d\u002Flatest",[4276],[8959],{"type":29,"value":8956},{"type":23,"tag":747,"props":8961,"children":8962},{},[8963,8965,8971,8972,8978,8979,8985,8986,8992,8993,8999,9000],{"type":29,"value":8964},"关卡工具：",{"type":23,"tag":4272,"props":8966,"children":8969},{"href":8967,"rel":8968},"https:\u002F\u002Fldtk.io\u002Fdocs\u002Fgame-dev\u002Fjson-overview\u002F",[4276],[8970],{"type":29,"value":8967},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8973,"children":8976},{"href":8974,"rel":8975},"https:\u002F\u002Fldtk.io\u002Fjson",[4276],[8977],{"type":29,"value":8974},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8980,"children":8983},{"href":8981,"rel":8982},"https:\u002F\u002Fgithub.com\u002Fdeepnight\u002Fldtk\u002Freleases",[4276],[8984],{"type":29,"value":8981},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8987,"children":8990},{"href":8988,"rel":8989},"https:\u002F\u002Fdoc.mapeditor.org\u002Fen\u002Fstable\u002Freference\u002Ftmx-map-format\u002F",[4276],[8991],{"type":29,"value":8988},{"type":29,"value":1137},{"type":23,"tag":4272,"props":8994,"children":8997},{"href":8995,"rel":8996},"https:\u002F\u002Fdoc.mapeditor.org\u002Fen\u002Fstable\u002Freference\u002Fjson-map-format\u002F",[4276],[8998],{"type":29,"value":8995},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9001,"children":9004},{"href":9002,"rel":9003},"https:\u002F\u002Fgithub.com\u002Fmapeditor\u002Ftiled\u002Freleases",[4276],[9005],{"type":29,"value":9002},{"type":23,"tag":747,"props":9007,"children":9008},{},[9009,9011,9017,9018,9024,9025,9031,9032,9038,9039,9045,9047,9053,9054,9060,9061,9067],{"type":29,"value":9010},"资产工具与格式：",{"type":23,"tag":4272,"props":9012,"children":9015},{"href":9013,"rel":9014},"https:\u002F\u002Fwww.aseprite.org\u002Fdocs\u002Fcli\u002F",[4276],[9016],{"type":29,"value":9013},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9019,"children":9022},{"href":9020,"rel":9021},"https:\u002F\u002Fwww.codeandweb.com\u002Ftexturepacker",[4276],[9023],{"type":29,"value":9020},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9026,"children":9029},{"href":9027,"rel":9028},"https:\u002F\u002Fesotericsoftware.com\u002Fspine-json-format",[4276],[9030],{"type":29,"value":9027},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9033,"children":9036},{"href":9034,"rel":9035},"https:\u002F\u002Fesotericsoftware.com\u002Fspine-command-line-interface",[4276],[9037],{"type":29,"value":9034},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9040,"children":9043},{"href":9041,"rel":9042},"https:\u002F\u002Feu.esotericsoftware.com\u002Fforum\u002F",[4276],[9044],{"type":29,"value":9041},{"type":29,"value":9046},"（\"JSON 反推工程风险极大\"）、",{"type":23,"tag":4272,"props":9048,"children":9051},{"href":9049,"rel":9050},"https:\u002F\u002Frive.app\u002Fdocs\u002Fruntimes\u002Fadvanced-topic\u002Fformat",[4276],[9052],{"type":29,"value":9049},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9055,"children":9058},{"href":9056,"rel":9057},"http:\u002F\u002Fdocs.live2d.com\u002Fen\u002Fcubism-editor-manual\u002Ffile-type-and-extension\u002F",[4276],[9059],{"type":29,"value":9056},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9062,"children":9065},{"href":9063,"rel":9064},"https:\u002F\u002Fwww.khronos.org\u002Fgltf\u002F",[4276],[9066],{"type":29,"value":9063},{"type":29,"value":9068},"、glTF Draco\u002FMeshopt 扩展规范",{"type":23,"tag":747,"props":9070,"children":9071},{},[9072,9074,9080,9081],{"type":29,"value":9073},"音频：",{"type":23,"tag":4272,"props":9075,"children":9078},{"href":9076,"rel":9077},"https:\u002F\u002Fgithub.com\u002FKilledByAPixel\u002FZzFX",[4276],[9079],{"type":29,"value":9076},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9082,"children":9085},{"href":9083,"rel":9084},"https:\u002F\u002Fgithub.com\u002Fchr15m\u002Fjsfxr",[4276],[9086],{"type":29,"value":9083},{"type":23,"tag":747,"props":9088,"children":9089},{},[9090,9092,9098,9099,9105,9106],{"type":29,"value":9091},"工具 npm：",{"type":23,"tag":4272,"props":9093,"children":9096},{"href":9094,"rel":9095},"https:\u002F\u002Fregistry.npmjs.org\u002Fminiprogram-ci\u002Flatest",[4276],[9097],{"type":29,"value":9094},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9100,"children":9103},{"href":9101,"rel":9102},"https:\u002F\u002Fregistry.npmjs.org\u002Fminiprogram-automator\u002Flatest",[4276],[9104],{"type":29,"value":9101},{"type":29,"value":1137},{"type":23,"tag":4272,"props":9107,"children":9109},{"href":8746,"rel":9108},[4276],[9110],{"type":29,"value":8746},{"type":23,"tag":747,"props":9112,"children":9113},{},[9114,9116,9121,9123],{"type":29,"value":9115},"Phaser 跑通小游戏可行性验证（2026-08）：",{"type":23,"tag":4272,"props":9117,"children":9119},{"href":4560,"rel":9118},[4276],[9120],{"type":29,"value":4560},{"type":29,"value":9122},"；three.js 小游戏实战（2026-02）：",{"type":23,"tag":4272,"props":9124,"children":9127},{"href":9125,"rel":9126},"https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7611432097543192603",[4276],[9128],{"type":29,"value":9125},{"type":23,"tag":747,"props":9130,"children":9131},{},[9132,9134,9140],{"type":29,"value":9133},"学术\u002F基准：",{"type":23,"tag":4272,"props":9135,"children":9138},{"href":9136,"rel":9137},"https:\u002F\u002Farxiv.org\u002Fhtml\u002F2604.18394v1",[4276],[9139],{"type":29,"value":9136},{"type":29,"value":9141},"（OpenGame，选 Phaser）、GameDevBench arXiv 2602.11103（2D 解题率约 33%）",{"type":23,"tag":747,"props":9143,"children":9144},{},[9145,9147,9152,9154],{"type":29,"value":9146},"停更引擎盘点：",{"type":23,"tag":4272,"props":9148,"children":9150},{"href":4712,"rel":9149},[4276],[9151],{"type":29,"value":4712},{"type":29,"value":9153},"；Cocos 商店 MCP 条目 ",{"type":23,"tag":4272,"props":9155,"children":9157},{"href":4601,"rel":9156},[4276],[9158],{"type":29,"value":4601},{"type":23,"tag":747,"props":9160,"children":9161},{},[9162,9164],{"type":29,"value":9163},"LayaAir 小游戏文档：",{"type":23,"tag":4272,"props":9165,"children":9167},{"href":4672,"rel":9166},[4276],[9168],{"type":29,"value":4672},{"type":23,"tag":225,"props":9170,"children":9171},{},[],{"type":23,"tag":24,"props":9173,"children":9175},{"id":9174},"第-3-篇-全-ai-编码-多端一次导出行业成熟方案梳理第三版",[9176],{"type":29,"value":9177},"第 3 篇 · 全 AI 编码 ∩ 多端一次导出：行业成熟方案梳理（第三版）",{"type":23,"tag":235,"props":9179,"children":9180},{},[9181],{"type":23,"tag":39,"props":9182,"children":9183},{},[9184,9185,9191],{"type":29,"value":242},{"type":23,"tag":97,"props":9186,"children":9188},{"className":9187},[],[9189],{"type":29,"value":9190},"docs\u002Fagent-plus-multiplatform-stacks-2026-10.md",{"type":29,"value":250},{"type":23,"tag":24,"props":9193,"children":9195},{"id":9194},"全-ai-编码-多端一次导出行业成熟方案梳理第三版",[9196],{"type":29,"value":9197},"全 AI 编码 ∩ 多端一次导出：行业成熟方案梳理（第三版）",{"type":23,"tag":39,"props":9199,"children":9200},{},[9201,9203,9208,9210,9215,9217,9222],{"type":29,"value":9202},"2026-10-06 ｜ 前置文档：",{"type":23,"tag":97,"props":9204,"children":9206},{"className":9205},[],[9207],{"type":29,"value":102},{"type":29,"value":9209},"（存量工程，D1–D10）、",{"type":23,"tag":97,"props":9211,"children":9213},{"className":9212},[],[9214],{"type":29,"value":124},{"type":29,"value":9216},"（新项目选型判据 C1–C10，D11–D24）｜ 本文决策编号从 ",{"type":23,"tag":45,"props":9218,"children":9219},{},[9220],{"type":29,"value":9221},"D25",{"type":29,"value":9223}," 起，跨版不复用。",{"type":23,"tag":235,"props":9225,"children":9226},{},[9227],{"type":23,"tag":39,"props":9228,"children":9229},{},[9230,9235,9237,9245,9247,9252,9254,9258,9260,9265,9267,9272,9274,9279],{"type":23,"tag":45,"props":9231,"children":9232},{},[9233],{"type":29,"value":9234},"后续（同日第四版）",{"type":29,"value":9236},"：本文的 R3（代码优先 + 自建多端 shim + Capacitor）已被单独展开成 ",{"type":23,"tag":45,"props":9238,"children":9239},{},[9240],{"type":23,"tag":97,"props":9241,"children":9243},{"className":9242},[],[9244],{"type":29,"value":168},{"type":29,"value":9246},"（分层现成件清单、逐端工作量、\"哪些层根本没有开源件\"的取证结论，D38–D48）。本文 R3 相关段落以那份为准。\n本轮新增实证：",{"type":23,"tag":97,"props":9248,"children":9250},{"className":9249},[],[9251],{"type":29,"value":8119},{"type":29,"value":9253}," 已用 ",{"type":23,"tag":45,"props":9255,"children":9256},{},[9257],{"type":29,"value":399},{"type":29,"value":9259}," 把\"编码→门禁→构建→无头自证→出微信小游戏包\"整条链跑通（垫片单测 24\u002F24、小游戏运行时模拟 18\u002F18、包体 1368.6 KB）。\n标注：",{"type":23,"tag":97,"props":9261,"children":9263},{"className":9262},[],[9264],{"type":29,"value":206},{"type":29,"value":9266},"=我这次亲自核过；",{"type":23,"tag":97,"props":9268,"children":9270},{"className":9269},[],[9271],{"type":29,"value":4849},{"type":29,"value":9273},"=子代理取证；",{"type":23,"tag":97,"props":9275,"children":9277},{"className":9276},[],[9278],{"type":29,"value":4857},{"type":29,"value":9280},"=我的估计。",{"type":23,"tag":225,"props":9282,"children":9283},{},[],{"type":23,"tag":317,"props":9285,"children":9287},{"id":9286},"_0-一句话结论先答还有哪些方案",[9288],{"type":29,"value":9289},"0. 一句话结论（先答\"还有哪些方案\"）",{"type":23,"tag":39,"props":9291,"children":9292},{},[9293,9295,9300,9301,9306,9308,9313],{"type":29,"value":9294},"**你列的 7 个端，没有任何一个引擎能\"官方全部覆盖 + AI 完成全部编码\"同时成立。**缺口是硬事实（逐条数过官方页）：",{"type":23,"tag":45,"props":9296,"children":9297},{},[9298],{"type":29,"value":9299},"Cocos Creator 3.8\u002F4.0 缺 QQ 小游戏、快手小游戏、Bilibili、小米快游戏",{"type":29,"value":2224},{"type":23,"tag":45,"props":9302,"children":9303},{},[9304],{"type":29,"value":9305},"LayaAir 3 缺 QQ 小游戏、快手小游戏",{"type":29,"value":9307},"（它有华为与 B站，见 §7.1 对我上一版的更正）；",{"type":23,"tag":45,"props":9309,"children":9310},{},[9311],{"type":29,"value":9312},"团结引擎有微信\u002F抖音\u002F快手但缺 QQ\u002F支付宝，且转换必须 GUI",{"type":29,"value":9314},"。所以真正要选的，是\"缺的那几端由谁承担\"：",{"type":23,"tag":39,"props":9316,"children":9317},{},[9318,9323,9324,9330,9332,9337,9339,9344,9346,9351],{"type":23,"tag":45,"props":9319,"children":9320},{},[9321],{"type":29,"value":9322},"本轮新增的硬结论（§5 已逐条复核）",{"type":29,"value":741},{"type":23,"tag":97,"props":9325,"children":9327},{"className":9326},[],[9328],{"type":29,"value":9329},"AI 完成全部编码",{"type":29,"value":9331},"的上限由",{"type":23,"tag":45,"props":9333,"children":9334},{},[9335],{"type":29,"value":9336},"平台侧",{"type":29,"value":9338},"决定，不是引擎侧。微信／支付宝／B站／vivo／QQ 都有官方 CLI（版本号我已亲自核过），但",{"type":23,"tag":45,"props":9340,"children":9341},{},[9342],{"type":29,"value":9343},"快手小游戏与百度小游戏的上传只有 GUI 按钮 + 扫码登录",{"type":29,"value":9345},"；各端包体上限还不一致（华为 10MB／抖音 20MB／微信·快手·B站 30MB／百度 8MB；主包多为 4MB，快手是 6MB）。所以\"七端一次导出 + AI 全自动\"的真实形态是：",{"type":23,"tag":45,"props":9347,"children":9348},{},[9349],{"type":29,"value":9350},"代码一次导出 + 每端一条各自的（半）自动发布流水线",{"type":29,"value":9352},"，快手\u002F百度那两端每次上传得有人点一下。",{"type":23,"tag":53,"props":9354,"children":9355},{},[9356,9381],{"type":23,"tag":57,"props":9357,"children":9358},{},[9359],{"type":23,"tag":61,"props":9360,"children":9361},{},[9362,9367,9372,9376],{"type":23,"tag":65,"props":9363,"children":9364},{},[9365],{"type":29,"value":9366},"方案",{"type":23,"tag":65,"props":9368,"children":9369},{},[9370],{"type":29,"value":9371},"端覆盖",{"type":23,"tag":65,"props":9373,"children":9374},{},[9375],{"type":29,"value":9329},{"type":23,"tag":65,"props":9377,"children":9378},{},[9379],{"type":29,"value":9380},"一句话定位",{"type":23,"tag":81,"props":9382,"children":9383},{},[9384,9422,9453,9484,9568],{"type":23,"tag":61,"props":9385,"children":9386},{},[9387,9397,9402,9412],{"type":23,"tag":88,"props":9388,"children":9389},{},[9390,9395],{"type":23,"tag":45,"props":9391,"children":9392},{},[9393],{"type":29,"value":9394},"R1 Cocos Creator 3.8 LTS",{"type":29,"value":9396},"（代码优先纪律 + MCP 兜底）",{"type":23,"tag":88,"props":9398,"children":9399},{},[9400],{"type":29,"value":9401},"★★★★★ 最广（官方渠道最多，QQ\u002F快手需社区件）",{"type":23,"tag":88,"props":9403,"children":9404},{},[9405,9407],{"type":29,"value":9406},"★★★☆☆ 代码全可、场景要 MCP 且",{"type":23,"tag":45,"props":9408,"children":9409},{},[9410],{"type":29,"value":9411},"构建需图形会话",{"type":23,"tag":88,"props":9413,"children":9414},{},[9415,9420],{"type":23,"tag":45,"props":9416,"children":9417},{},[9418],{"type":29,"value":9419},"行业默认答案",{"type":29,"value":9421},"，代价是 agent 走\"人在场\"模式",{"type":23,"tag":61,"props":9423,"children":9424},{},[9425,9433,9438,9443],{"type":23,"tag":88,"props":9426,"children":9427},{},[9428],{"type":23,"tag":45,"props":9429,"children":9430},{},[9431],{"type":29,"value":9432},"R2 COCOS 4（MIT）",{"type":23,"tag":88,"props":9434,"children":9435},{},[9436],{"type":29,"value":9437},"★★☆☆☆ 官方明说小游戏各端\"分阶段解锁\"",{"type":23,"tag":88,"props":9439,"children":9440},{},[9441],{"type":29,"value":9442},"★★★★★ 官方按\"MCP\u002FAgent 交付逻辑\"重做",{"type":23,"tag":88,"props":9444,"children":9445},{},[9446,9451],{"type":23,"tag":45,"props":9447,"children":9448},{},[9449],{"type":29,"value":9450},"方向最对、时机未到",{"type":29,"value":9452},"：2026 内只做试点，别押首发多端",{"type":23,"tag":61,"props":9454,"children":9455},{},[9456,9464,9469,9474],{"type":23,"tag":88,"props":9457,"children":9458},{},[9459],{"type":23,"tag":45,"props":9460,"children":9461},{},[9462],{"type":29,"value":9463},"R3 代码优先（Phaser 4 \u002F Pixi 8 \u002F three + 自维护多端 shim + Capacitor）",{"type":23,"tag":88,"props":9465,"children":9466},{},[9467],{"type":29,"value":9468},"★★★☆☆ 每端自己拥有适配层",{"type":23,"tag":88,"props":9470,"children":9471},{},[9472],{"type":29,"value":9473},"★★★★★ 本机已实测跑通微信端全链路",{"type":23,"tag":88,"props":9475,"children":9476},{},[9477,9482],{"type":23,"tag":45,"props":9478,"children":9479},{},[9480],{"type":29,"value":9481},"AI 产能最高",{"type":29,"value":9483},"，代价是\"多端\"变成你的交付物",{"type":23,"tag":61,"props":9485,"children":9486},{},[9487,9497,9529,9558],{"type":23,"tag":88,"props":9488,"children":9489},{},[9490,9495],{"type":23,"tag":45,"props":9491,"children":9492},{},[9493],{"type":29,"value":9494},"R4 LayaAir 3",{"type":29,"value":9496},"（本轮被我上调）",{"type":23,"tag":88,"props":9498,"children":9499},{},[9500,9502,9507,9508,9513,9515,9520,9522,9527],{"type":29,"value":9501},"★★★★★ 微信(含 Worker)\u002F抖音\u002FOPPO\u002Fvivo\u002F小米\u002F",{"type":23,"tag":45,"props":9503,"children":9504},{},[9505],{"type":29,"value":9506},"华为",{"type":29,"value":208},{"type":23,"tag":45,"props":9509,"children":9510},{},[9511],{"type":29,"value":9512},"B站",{"type":29,"value":9514},"\u002F支付宝\u002F淘宝 + ",{"type":23,"tag":45,"props":9516,"children":9517},{},[9518],{"type":29,"value":9519},"LayaNative 原生",{"type":29,"value":9521},"（Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F",{"type":23,"tag":45,"props":9523,"children":9524},{},[9525],{"type":29,"value":9526},"Linux",{"type":29,"value":9528},"）；只缺 QQ、快手",{"type":23,"tag":88,"props":9530,"children":9531},{},[9532,9534,9540,9542,9548,9550,9556],{"type":29,"value":9533},"★★★★☆ 官方 CLI（IDE 二进制后台模式，\"脚本执行完自动退出\"）+ 官方仓库 ",{"type":23,"tag":97,"props":9535,"children":9537},{"className":9536},[],[9538],{"type":29,"value":9539},"layaair-cli",{"type":29,"value":9541},"(2026-06)、",{"type":23,"tag":97,"props":9543,"children":9545},{"className":9544},[],[9546],{"type":29,"value":9547},"layaair-skills",{"type":29,"value":9549},"(2026-09)、",{"type":23,"tag":97,"props":9551,"children":9553},{"className":9552},[],[9554],{"type":29,"value":9555},"LayaAir-mcp-plugin",{"type":29,"value":9557},"(2025-11) + 官方 AI 产品 LayaIdea",{"type":23,"tag":88,"props":9559,"children":9560},{},[9561,9566],{"type":23,"tag":45,"props":9562,"children":9563},{},[9564],{"type":29,"value":9565},"被我此前低估的那一个",{"type":29,"value":9567},"：端覆盖与 agent 通道都比\"IDE 闭源所以弱\"的直觉好；短板是缺 QQ\u002F快手 + IDE 闭源 + 无公开收费页",{"type":23,"tag":61,"props":9569,"children":9570},{},[9571,9581,9593,9603],{"type":23,"tag":88,"props":9572,"children":9573},{},[9574,9579],{"type":23,"tag":45,"props":9575,"children":9576},{},[9577],{"type":29,"value":9578},"R5 Unity \u002F 团结引擎",{"type":29,"value":9580},"（对照）",{"type":23,"tag":88,"props":9582,"children":9583},{},[9584,9586,9591],{"type":29,"value":9585},"★★★★☆ 官方平台支持页列 ",{"type":23,"tag":45,"props":9587,"children":9588},{},[9589],{"type":29,"value":9590},"微信／抖音／快手",{"type":29,"value":9592}," + Unity 小游戏宿主（QQ、支付宝未列）；原生与 H5 是常规能力",{"type":23,"tag":88,"props":9594,"children":9595},{},[9596,9598],{"type":29,"value":9597},"★☆☆☆☆ 转换工具必须 GUI；但",{"type":23,"tag":45,"props":9599,"children":9600},{},[9601],{"type":29,"value":9602},"团结 2.0（2026-07-28）已内嵌 AI Agent\"团结Codely\"",{"type":23,"tag":88,"props":9604,"children":9605},{},[9606,9611,9613,9618,9620],{"type":23,"tag":45,"props":9607,"children":9608},{},[9609],{"type":29,"value":9610},"不满足\"AI 完成全部\"",{"type":29,"value":9612},"，且收费要算清：财务规模 \u003C150 万元可用免费个人版；150 万–1500 万元需 1 套基础编辑器 ",{"type":23,"tag":45,"props":9614,"children":9615},{},[9616],{"type":29,"value":9617},"18888 元\u002F年",{"type":29,"value":9619},"才能无水印发小游戏；1.6.0 起收构建费（社区称减免至 2027-06-30）；",{"type":23,"tag":45,"props":9621,"children":9622},{},[9623],{"type":29,"value":9624},"Unity 6 起不再开放中国用户",{"type":23,"tag":39,"props":9626,"children":9627},{},[9628,9633,9634,9639,9641,9646,9648,9653,9655,9660,9662,9668],{"type":23,"tag":45,"props":9629,"children":9630},{},[9631],{"type":29,"value":9632},"我的推荐（可推翻）",{"type":29,"value":741},{"type":23,"tag":45,"props":9635,"children":9636},{},[9637],{"type":29,"value":9638},"R1 打底 + 把 UI\u002F玩法\u002F数值全部代码化",{"type":29,"value":9640},"——即\"引擎选 Cocos 3.8 LTS 拿端覆盖与原生，工程纪律按 Mode A 写\"，让 agent 在 90% 工作量（代码、数值、关卡、脚本化构建产物）上走可并行可自证的路，只有\"构建\u002F发布\u002F偶发改 prefab\"走 Mode B（GUI 在场）。",{"type":23,"tag":45,"props":9642,"children":9643},{},[9644],{"type":29,"value":9645},"本轮把 R4 LayaAir 3 提到与 R1 并列",{"type":29,"value":9647},"：如果你",{"type":23,"tag":45,"props":9649,"children":9650},{},[9651],{"type":29,"value":9652},"不需要 QQ\u002F快手",{"type":29,"value":9654},"，Laya 的\"官方 CLI（IDE 后台模式）+ 官方 MCP\u002Fskills + LayaNative 连 Linux 都给\"其实更干净，风险只剩 IDE 闭源与收费未公开。若你的实际优先级是\"AI 产能第一、多端适配层我们自己啃\"，那就直接 ",{"type":23,"tag":45,"props":9656,"children":9657},{},[9658],{"type":29,"value":9659},"R3",{"type":29,"value":9661},"（本仓库 ",{"type":23,"tag":97,"props":9663,"children":9665},{"className":9664},[],[9666],{"type":29,"value":9667},"Demo\u002F",{"type":29,"value":9669}," 就是它的可行性证据）。",{"type":23,"tag":39,"props":9671,"children":9672},{},[9673,9678,9679,9685,9686,9692,9694,9700],{"type":23,"tag":45,"props":9674,"children":9675},{},[9676],{"type":29,"value":9677},"顺带排除两个常见误解",{"type":29,"value":741},{"type":23,"tag":97,"props":9680,"children":9682},{"className":9681},[],[9683],{"type":29,"value":9684},"uni-app",{"type":29,"value":3075},{"type":23,"tag":97,"props":9687,"children":9689},{"className":9688},[],[9690],{"type":29,"value":9691},"Taro",{"type":29,"value":9693}," 不是游戏方案（它们编译到小程序页面运行时，不是小游戏 canvas 运行时；2026-05 的行业盘点也明确\"偏应用\u002F不适合复杂游戏\"）；",{"type":23,"tag":97,"props":9695,"children":9697},{"className":9696},[],[9698],{"type":29,"value":9699},"Godot",{"type":29,"value":9701}," 官方没有微信小游戏导出，只有 9★ 级社区件。",{"type":23,"tag":225,"props":9703,"children":9704},{},[],{"type":23,"tag":317,"props":9706,"children":9708},{"id":9707},"_1-官方渠道矩阵逐格给依据别信支持全平台这种话",[9709],{"type":29,"value":9710},"1. 官方渠道矩阵（逐格给依据，别信\"支持全平台\"这种话）",{"type":23,"tag":53,"props":9712,"children":9713},{},[9714,9755],{"type":23,"tag":57,"props":9715,"children":9716},{},[9717],{"type":23,"tag":61,"props":9718,"children":9719},{},[9720,9724,9735,9745,9750],{"type":23,"tag":65,"props":9721,"children":9722},{},[9723],{"type":29,"value":7407},{"type":23,"tag":65,"props":9725,"children":9726},{},[9727,9729],{"type":29,"value":9728},"Cocos Creator 3.8 LTS ",{"type":23,"tag":97,"props":9730,"children":9732},{"className":9731},[],[9733],{"type":29,"value":9734},"[实测·手册]",{"type":23,"tag":65,"props":9736,"children":9737},{},[9738,9740],{"type":29,"value":9739},"LayaAir 3 ",{"type":23,"tag":97,"props":9741,"children":9743},{"className":9742},[],[9744],{"type":29,"value":4849},{"type":23,"tag":65,"props":9746,"children":9747},{},[9748],{"type":29,"value":9749},"代码优先栈（Phaser\u002FPixi\u002Fthree）",{"type":23,"tag":65,"props":9751,"children":9752},{},[9753],{"type":29,"value":9754},"上传\u002F预览能否脱离 GUI",{"type":23,"tag":81,"props":9756,"children":9757},{},[9758,9803,9856,9906,9942,9976,10009,10058,10092,10118],{"type":23,"tag":61,"props":9759,"children":9760},{},[9761,9765,9770,9775,9786],{"type":23,"tag":88,"props":9762,"children":9763},{},[9764],{"type":29,"value":370},{"type":23,"tag":88,"props":9766,"children":9767},{},[9768],{"type":29,"value":9769},"✅ 官方页（含引擎插件、PC 小游戏、iOS 内存指南、分包、开放数据域）",{"type":23,"tag":88,"props":9771,"children":9772},{},[9773],{"type":29,"value":9774},"✅ 官方（含 Worker 模式）",{"type":23,"tag":88,"props":9776,"children":9777},{},[9778,9780,9785],{"type":29,"value":9779},"✅ 自维护 adapter（",{"type":23,"tag":45,"props":9781,"children":9782},{},[9783],{"type":29,"value":9784},"本机已实测",{"type":29,"value":951},{"type":23,"tag":88,"props":9787,"children":9788},{},[9789,9790,9795,9797],{"type":29,"value":1567},{"type":23,"tag":97,"props":9791,"children":9793},{"className":9792},[],[9794],{"type":29,"value":4915},{"type":29,"value":9796},"（无需开发者工具，需上传密钥+IP 白名单）",{"type":23,"tag":97,"props":9798,"children":9800},{"className":9799},[],[9801],{"type":29,"value":9802},"[实测 21,609 次\u002F周]",{"type":23,"tag":61,"props":9804,"children":9805},{},[9806,9810,9815,9820,9825],{"type":23,"tag":88,"props":9807,"children":9808},{},[9809],{"type":29,"value":7480},{"type":23,"tag":88,"props":9811,"children":9812},{},[9813],{"type":29,"value":9814},"✅ 官方页（含 PC 小游戏、内存指南）",{"type":23,"tag":88,"props":9816,"children":9817},{},[9818],{"type":29,"value":9819},"✅ 官方",{"type":23,"tag":88,"props":9821,"children":9822},{},[9823],{"type":29,"value":9824},"⚠️ 自建 shim",{"type":23,"tag":88,"props":9826,"children":9827},{},[9828,9830,9835,9836,9841,9843,9848,9849,9854],{"type":29,"value":9829},"⚠️ 官方 npm ",{"type":23,"tag":97,"props":9831,"children":9833},{"className":9832},[],[9834],{"type":29,"value":7250},{"type":29,"value":7252},{"type":23,"tag":97,"props":9837,"children":9839},{"className":9838},[],[9840],{"type":29,"value":7258},{"type":29,"value":9842},"，2.1.1，",{"type":23,"tag":45,"props":9844,"children":9845},{},[9846],{"type":29,"value":9847},"258 次\u002F周",{"type":29,"value":951},{"type":23,"tag":97,"props":9850,"children":9852},{"className":9851},[],[9853],{"type":29,"value":4849},{"type":29,"value":9855},"，但需本地装 IDE",{"type":23,"tag":61,"props":9857,"children":9858},{},[9859,9864,9876,9881,9886],{"type":23,"tag":88,"props":9860,"children":9861},{},[9862],{"type":29,"value":9863},"QQ 小游戏",{"type":23,"tag":88,"props":9865,"children":9866},{},[9867,9869,9874],{"type":29,"value":9868},"❌ ",{"type":23,"tag":45,"props":9870,"children":9871},{},[9872],{"type":29,"value":9873},"手册无官方页",{"type":29,"value":9875},"（社区教程存在）",{"type":23,"tag":88,"props":9877,"children":9878},{},[9879],{"type":29,"value":9880},"❌ 未列",{"type":23,"tag":88,"props":9882,"children":9883},{},[9884],{"type":29,"value":9885},"⚠️ 自建（API 与微信高度同源）",{"type":23,"tag":88,"props":9887,"children":9888},{},[9889,9891,9897,9899,9904],{"type":29,"value":9890},"🟡 官方 ",{"type":23,"tag":97,"props":9892,"children":9894},{"className":9893},[],[9895],{"type":29,"value":9896},"cli -l\u002F-p\u002F-u",{"type":29,"value":9898},"，但",{"type":23,"tag":45,"props":9900,"children":9901},{},[9902],{"type":29,"value":9903},"依赖本地 QQ 开发者工具",{"type":29,"value":9905},"（§5）",{"type":23,"tag":61,"props":9907,"children":9908},{},[9909,9914,9922,9926,9931],{"type":23,"tag":88,"props":9910,"children":9911},{},[9912],{"type":29,"value":9913},"快手小游戏",{"type":23,"tag":88,"props":9915,"children":9916},{},[9917,9918],{"type":29,"value":9868},{"type":23,"tag":45,"props":9919,"children":9920},{},[9921],{"type":29,"value":9873},{"type":23,"tag":88,"props":9923,"children":9924},{},[9925],{"type":29,"value":9880},{"type":23,"tag":88,"props":9927,"children":9928},{},[9929],{"type":29,"value":9930},"⚠️ 自建",{"type":23,"tag":88,"props":9932,"children":9933},{},[9934,9935,9940],{"type":29,"value":9868},{"type":23,"tag":45,"props":9936,"children":9937},{},[9938],{"type":29,"value":9939},"无 CLI，上传\u002F预览只有 GUI + 扫码",{"type":29,"value":9941},"（§5 实测官方页）",{"type":23,"tag":61,"props":9943,"children":9944},{},[9945,9950,9955,9959,9964],{"type":23,"tag":88,"props":9946,"children":9947},{},[9948],{"type":29,"value":9949},"支付宝小游戏",{"type":23,"tag":88,"props":9951,"children":9952},{},[9953],{"type":29,"value":9954},"✅ 官方页（2023 起支持）",{"type":23,"tag":88,"props":9956,"children":9957},{},[9958],{"type":29,"value":9819},{"type":23,"tag":88,"props":9960,"children":9961},{},[9962],{"type":29,"value":9963},"⚠️ 自建（差异比 QQ 大）",{"type":23,"tag":88,"props":9965,"children":9966},{},[9967,9968,9974],{"type":29,"value":9890},{"type":23,"tag":97,"props":9969,"children":9971},{"className":9970},[],[9972],{"type":29,"value":9973},"minidev",{"type":29,"value":9975}," 2.2.5（描述含开发\u002F预览\u002F上传）",{"type":23,"tag":61,"props":9977,"children":9978},{},[9979,9984,9989,9993,9997],{"type":23,"tag":88,"props":9980,"children":9981},{},[9982],{"type":29,"value":9983},"淘宝小游戏",{"type":23,"tag":88,"props":9985,"children":9986},{},[9987],{"type":29,"value":9988},"✅ 官方页（含引擎插件）",{"type":23,"tag":88,"props":9990,"children":9991},{},[9992],{"type":29,"value":9819},{"type":23,"tag":88,"props":9994,"children":9995},{},[9996],{"type":29,"value":9930},{"type":23,"tag":88,"props":9998,"children":9999},{},[10000,10002,10007],{"type":29,"value":10001},"🟠 待核：淘宝是否纳入 ",{"type":23,"tag":97,"props":10003,"children":10005},{"className":10004},[],[10006],{"type":29,"value":9973},{"type":29,"value":10008},"（D26）",{"type":23,"tag":61,"props":10010,"children":10011},{},[10012,10017,10022,10032,10037],{"type":23,"tag":88,"props":10013,"children":10014},{},[10015],{"type":29,"value":10016},"华为快游戏 \u002F 荣耀 \u002F OPPO \u002F vivo",{"type":23,"tag":88,"props":10018,"children":10019},{},[10020],{"type":29,"value":10021},"✅ 各自官方页（无小米页）",{"type":23,"tag":88,"props":10023,"children":10024},{},[10025,10027],{"type":29,"value":10026},"✅ 华为\u002FOPPO\u002Fvivo\u002F小米 均官方列出；",{"type":23,"tag":45,"props":10028,"children":10029},{},[10030],{"type":29,"value":10031},"荣耀未列",{"type":23,"tag":88,"props":10033,"children":10034},{},[10035],{"type":29,"value":10036},"⚠️ 自建（快游戏标准 API）",{"type":23,"tag":88,"props":10038,"children":10039},{},[10040,10042,10048,10050,10056],{"type":29,"value":10041},"🟡 vivo 有官方 npm ",{"type":23,"tag":97,"props":10043,"children":10045},{"className":10044},[],[10046],{"type":29,"value":10047},"@vivo-minigame\u002Fcli",{"type":29,"value":10049}," 1.27.45；华为 ",{"type":23,"tag":97,"props":10051,"children":10053},{"className":10052},[],[10054],{"type":29,"value":10055},".rpk",{"type":29,"value":10057},"+openssl，文档 SPA 未读到（D27）",{"type":23,"tag":61,"props":10059,"children":10060},{},[10061,10066,10071,10076,10080],{"type":23,"tag":88,"props":10062,"children":10063},{},[10064],{"type":29,"value":10065},"Bilibili 小游戏",{"type":23,"tag":88,"props":10067,"children":10068},{},[10069],{"type":29,"value":10070},"❌ 手册无页（论坛有 3.8.3 适配方案帖）",{"type":23,"tag":88,"props":10072,"children":10073},{},[10074],{"type":29,"value":10075},"✅ 官方（Laya 文档列出哔哩哔哩）",{"type":23,"tag":88,"props":10077,"children":10078},{},[10079],{"type":29,"value":9930},{"type":23,"tag":88,"props":10081,"children":10082},{},[10083,10084,10090],{"type":29,"value":9890},{"type":23,"tag":97,"props":10085,"children":10087},{"className":10086},[],[10088],{"type":29,"value":10089},"bili-sgame-cli",{"type":29,"value":10091}," 2.1.22（ISC）",{"type":23,"tag":61,"props":10093,"children":10094},{},[10095,10100,10104,10108,10113],{"type":23,"tag":88,"props":10096,"children":10097},{},[10098],{"type":29,"value":10099},"H5（Web 移动\u002F桌面）",{"type":23,"tag":88,"props":10101,"children":10102},{},[10103],{"type":29,"value":9819},{"type":23,"tag":88,"props":10105,"children":10106},{},[10107],{"type":29,"value":9819},{"type":23,"tag":88,"props":10109,"children":10110},{},[10111],{"type":29,"value":10112},"✅ 天然",{"type":23,"tag":88,"props":10114,"children":10115},{},[10116],{"type":29,"value":10117},"✅ 任意静态托管",{"type":23,"tag":61,"props":10119,"children":10120},{},[10121,10126,10131,10146,10151],{"type":23,"tag":88,"props":10122,"children":10123},{},[10124],{"type":29,"value":10125},"原生 App（iOS\u002FAndroid）",{"type":23,"tag":88,"props":10127,"children":10128},{},[10129],{"type":29,"value":10130},"✅ 官方（真原生工程，非套壳：4.0 指南\"即可生成 Xcode 项目\"；3.8 需 JDK17 + Android Studio 2022.2\u002F3 + NDK r21~r23 + Xcode 14+；另有 macOS\u002FWindows\u002FHarmonyOS Next\u002FHMS\u002FGoogle Play）",{"type":23,"tag":88,"props":10132,"children":10133},{},[10134,10135,10140,10142],{"type":29,"value":1567},{"type":23,"tag":45,"props":10136,"children":10137},{},[10138],{"type":29,"value":10139},"LayaNative",{"type":29,"value":10141},"：Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F",{"type":23,"tag":45,"props":10143,"children":10144},{},[10145],{"type":29,"value":9526},{"type":23,"tag":88,"props":10147,"children":10148},{},[10149],{"type":29,"value":10150},"⚠️ Capacitor\u002FCordova webview 套壳（性能与包体代价）",{"type":23,"tag":88,"props":10152,"children":10153},{},[10154],{"type":29,"value":10155},"❌ 需 Xcode\u002FAndroid Studio",{"type":23,"tag":39,"props":10157,"children":10158},{},[10159,10164],{"type":23,"tag":45,"props":10160,"children":10161},{},[10162],{"type":29,"value":10163},"读法",{"type":29,"value":10165},"：✅=官方文档有专门页\u002F可脚本化；🟡=有官方件但要登录态或本地 IDE；🟠=我这轮没读到原文（见 D25–D28）；❌=官方没有，要么社区件要么自己做；⚠️=能做但要自己负责。",{"type":23,"tag":225,"props":10167,"children":10168},{},[],{"type":23,"tag":317,"props":10170,"children":10172},{"id":10171},"_2-两条硬约束的真实冲突点",[10173],{"type":29,"value":10174},"2. 两条硬约束的真实冲突点",{"type":23,"tag":53,"props":10176,"children":10177},{},[10178,10199],{"type":23,"tag":57,"props":10179,"children":10180},{},[10181],{"type":23,"tag":61,"props":10182,"children":10183},{},[10184,10189,10194],{"type":23,"tag":65,"props":10185,"children":10186},{},[10187],{"type":29,"value":10188},"约束",{"type":23,"tag":65,"props":10190,"children":10191},{},[10192],{"type":29,"value":10193},"满足它需要的条件",{"type":23,"tag":65,"props":10195,"children":10196},{},[10197],{"type":29,"value":10198},"与另一条的冲突",{"type":23,"tag":81,"props":10200,"children":10201},{},[10202,10236],{"type":23,"tag":61,"props":10203,"children":10204},{},[10205,10212,10217],{"type":23,"tag":88,"props":10206,"children":10207},{},[10208],{"type":23,"tag":45,"props":10209,"children":10210},{},[10211],{"type":29,"value":9329},{"type":23,"tag":88,"props":10213,"children":10214},{},[10215],{"type":29,"value":10216},"真源是文本（无 uuid 二进制化场景）、构建不需 GUI、能无头自证、可并行分片",{"type":23,"tag":88,"props":10218,"children":10219},{},[10220,10222,10227,10229,10234],{"type":29,"value":10221},"官方多端导出能力",{"type":23,"tag":45,"props":10223,"children":10224},{},[10225],{"type":29,"value":10226},"长在编辑器里",{"type":29,"value":10228},"：Cocos 官方手册的\"命令行发布项目\"明确写着",{"type":23,"tag":45,"props":10230,"children":10231},{},[10232],{"type":29,"value":10233},"命令行运行也需要 GUI 环境",{"type":29,"value":10235},"，且只给 macOS\u002FWindows 路径范例（无 Linux）→ CI 必须是带图形会话的 Win\u002Fmac 机器",{"type":23,"tag":61,"props":10237,"children":10238},{},[10239,10247,10252],{"type":23,"tag":88,"props":10240,"children":10241},{},[10242],{"type":23,"tag":45,"props":10243,"children":10244},{},[10245],{"type":29,"value":10246},"多端一次导出",{"type":23,"tag":88,"props":10248,"children":10249},{},[10250],{"type":29,"value":10251},"引擎官方适配层覆盖各端 SDK、审核规则、分包与开放数据域",{"type":23,"tag":88,"props":10253,"children":10254},{},[10255,10257,10262],{"type":29,"value":10256},"官方适配层意味着",{"type":23,"tag":45,"props":10258,"children":10259},{},[10260],{"type":29,"value":10261},"产物由编辑器生成",{"type":29,"value":10263},"，agent 直改文本会破坏 uuid 引用 → 只能走 MCP（人在场、单实例、不可并行）",{"type":23,"tag":39,"props":10265,"children":10266},{},[10267,10272,10274,10279],{"type":23,"tag":45,"props":10268,"children":10269},{},[10270],{"type":29,"value":10271},"结论",{"type":29,"value":10273},"：这不是\"选错引擎\"，而是",{"type":23,"tag":45,"props":10275,"children":10276},{},[10277],{"type":29,"value":10278},"必然要放弃一点点",{"type":29,"value":10280},"。三种放弃方式，选一种：",{"type":23,"tag":1909,"props":10282,"children":10283},{},[10284,10289,10294],{"type":23,"tag":747,"props":10285,"children":10286},{},[10287],{"type":29,"value":10288},"放弃\"构建不需 GUI\" → R1\u002FR4（Cocos\u002FLaya）：agent 写代码很爽，构建\u002F改场景要编辑器在场。",{"type":23,"tag":747,"props":10290,"children":10291},{},[10292],{"type":29,"value":10293},"放弃\"官方端覆盖\" → R3（Phaser\u002FPixi\u002Fthree）：agent 全自动，QQ\u002F快手\u002F支付宝的适配层与审核差异自己扛。",{"type":23,"tag":747,"props":10295,"children":10296},{},[10297,10299,10304],{"type":29,"value":10298},"放弃\"当下\" → R2（COCOS 4）：官方路线就是冲着你这两条约束设计的（MIT 彻底开源、放弃商业授权条款、新特性按\"MCP\u002FAgent 交付逻辑\"设计、编辑器底层能力 CLI 化），但",{"type":23,"tag":45,"props":10300,"children":10301},{},[10302],{"type":29,"value":10303},"小游戏各端适配官方明说\"分阶段解锁、取决于取得对应平台同意\"",{"type":29,"value":10305},"，2026 年内不宜押注首发多端。",{"type":23,"tag":225,"props":10307,"children":10308},{},[],{"type":23,"tag":317,"props":10310,"children":10312},{"id":10311},"_3-r1-落地清单若选行业默认答案",[10313],{"type":29,"value":10314},"3. R1 落地清单（若选\"行业默认答案\"）",{"type":23,"tag":39,"props":10316,"children":10317},{},[10318,10323,10325,10331,10333,10338],{"type":23,"tag":45,"props":10319,"children":10320},{},[10321],{"type":29,"value":10322},"引擎侧",{"type":29,"value":10324},"：Cocos Creator 3.8.x（当前 3.8.8，2025-12-16 发布 ",{"type":23,"tag":97,"props":10326,"children":10328},{"className":10327},[],[10329],{"type":29,"value":10330},"[实测 GitHub release]",{"type":29,"value":10332},"）。\n",{"type":23,"tag":45,"props":10334,"children":10335},{},[10336],{"type":29,"value":10337},"必须写进仓库规则的\"代码优先纪律\"",{"type":29,"value":10339},"（否则 agent 又回到改 prefab 的坑）：",{"type":23,"tag":743,"props":10341,"children":10342},{},[10343,10369,10380,10399,10453,10498],{"type":23,"tag":747,"props":10344,"children":10345},{},[10346,10348,10354,10356,10361,10363,10368],{"type":29,"value":10347},"界面\u002F战场节点一律 ",{"type":23,"tag":97,"props":10349,"children":10351},{"className":10350},[],[10352],{"type":29,"value":10353},"new Node()\u002FaddComponent",{"type":29,"value":10355}," 构建，",{"type":23,"tag":45,"props":10357,"children":10358},{},[10359],{"type":29,"value":10360},"禁止把 UI 拖进 prefab",{"type":29,"value":10362},"；确需 prefab 时只当\"资源壳\"，真源字段全在 ",{"type":23,"tag":97,"props":10364,"children":10366},{"className":10365},[],[10367],{"type":29,"value":1927},{"type":29,"value":275},{"type":23,"tag":747,"props":10370,"children":10371},{},[10372,10374,10379],{"type":29,"value":10373},"数值\u002F关卡用 JSON\u002FCSV 进版本库（构建期编译成运行时格式），",{"type":23,"tag":45,"props":10375,"children":10376},{},[10377],{"type":29,"value":10378},"不要用 xlsx 当真源",{"type":29,"value":275},{"type":23,"tag":747,"props":10381,"children":10382},{},[10383,10385,10391,10393,10398],{"type":29,"value":10384},"动画资产按\"agent 能不能改\"选：序列帧 + 图集 JSON \u002F LDtk \u002F ",{"type":23,"tag":97,"props":10386,"children":10388},{"className":10387},[],[10389],{"type":29,"value":10390},".gltf",{"type":29,"value":10392},"（文本）优先；Spine\u002FRive 工程只当",{"type":23,"tag":45,"props":10394,"children":10395},{},[10396],{"type":29,"value":10397},"单向输入",{"type":29,"value":275},{"type":23,"tag":747,"props":10400,"children":10401},{},[10402,10404,10410,10412,10418,10419,10425,10426,10432,10433,10438,10440,10445,10447,10452],{"type":29,"value":10403},"构建走官方命令行：",{"type":23,"tag":97,"props":10405,"children":10407},{"className":10406},[],[10408],{"type":29,"value":10409},"CocosCreator(.app\u002F.exe) --project \u003C路径> --build \"platform=wechatgame;debug=true\"",{"type":29,"value":10411},"，可加 ",{"type":23,"tag":97,"props":10413,"children":10415},{"className":10414},[],[10416],{"type":29,"value":10417},"configPath=",{"type":29,"value":1137},{"type":23,"tag":97,"props":10420,"children":10422},{"className":10421},[],[10423],{"type":29,"value":10424},"stage=bundle",{"type":29,"value":1137},{"type":23,"tag":97,"props":10427,"children":10429},{"className":10428},[],[10430],{"type":29,"value":10431},"buildScriptsOnly=true",{"type":29,"value":2224},{"type":23,"tag":45,"props":10434,"children":10435},{},[10436],{"type":29,"value":10437},"退出码 36=成功、32\u002F34=错误",{"type":29,"value":10439},"（这条一定要进 agent 门禁，别只看有没有产物）。CI 机器必须是 ",{"type":23,"tag":45,"props":10441,"children":10442},{},[10443],{"type":29,"value":10444},"Windows 或 macOS 且有图形会话",{"type":29,"value":10446},"——官方原文\"命令行运行的时候也是需要 GUI 环境的\"，Jenkins 要以 agent 模式访问 WindowServer；",{"type":23,"tag":45,"props":10448,"children":10449},{},[10450],{"type":29,"value":10451},"Linux 无官方支持",{"type":29,"value":275},{"type":23,"tag":747,"props":10454,"children":10455},{},[10456,10458,10463,10465,10470,10471,10476,10477,10490,10491,10496],{"type":29,"value":10457},"agent 改场景的唯一通道是 MCP：3.8 用第三方 ",{"type":23,"tag":45,"props":10459,"children":10460},{},[10461],{"type":29,"value":10462},"Funplay MCP",{"type":29,"value":10464},"（3.8+、105 工具、编辑器内 HTTP ",{"type":23,"tag":97,"props":10466,"children":10468},{"className":10467},[],[10469],{"type":29,"value":1965},{"type":29,"value":951},{"type":23,"tag":97,"props":10472,"children":10474},{"className":10473},[],[10475],{"type":29,"value":206},{"type":29,"value":2224},{"type":23,"tag":45,"props":10478,"children":10479},{},[10480,10482,10488],{"type":29,"value":10481},"2.4 也有社区件 ",{"type":23,"tag":97,"props":10483,"children":10485},{"className":10484},[],[10486],{"type":29,"value":10487},"cocos-mcp-2x",{"type":29,"value":10489},"（MIT，2026-06-10 发布，作者声明在 2.4.15 上验证过，依赖本地 Python+WebSocket，个人项目）",{"type":29,"value":883},{"type":23,"tag":97,"props":10492,"children":10494},{"className":10493},[],[10495],{"type":29,"value":4849},{"type":29,"value":10497},"——这条更正了我第一版文档里\"2.4 没有 MCP 通道\"的结论。",{"type":23,"tag":747,"props":10499,"children":10500},{},[10501,10503,10507,10508,10513],{"type":29,"value":10502},"验收回路照抄 Demo 的做法：无头浏览器跑 web 构建 + ",{"type":23,"tag":45,"props":10504,"children":10505},{},[10506],{"type":29,"value":8483},{"type":29,"value":1373},{"type":23,"tag":97,"props":10509,"children":10511},{"className":10510},[],[10512],{"type":29,"value":8470},{"type":29,"value":10514},"）做确定性断言，小游戏端再用各端 CI 工具上传体验版。",{"type":23,"tag":317,"props":10516,"children":10518},{"id":10517},"_4-r3-落地清单若选ai-产能第一",[10519],{"type":29,"value":10520},"4. R3 落地清单（若选\"AI 产能第一\"）",{"type":23,"tag":3394,"props":10522,"children":10525},{"className":10523,"code":10524,"language":29},[6727],"引擎层：Phaser 4.2.1（重玩法）或 PixiJS 8.22 + @pixi\u002Fui 2.4.1（重 UI，MIT，peer 要求 pixi.js ^8.6.2）\n适配层：src\u002Fplatform\u002F{wx,tt,qq,ks,my,web,capacitor}.ts —— eslint 禁业务层直连 wx.*\n构建层：Vite（三 mode：web \u002F 各端小游戏包）+ 包体自查脚本（主包 4MB、无 ESM 残留、无 html\u002Fcss）\n自证层：tsc --noEmit → eslint → 单测 → 无头 Chromium 喂帧断言 → 各端 CLI 上传体验版\n原生层：Capacitor（webview 套壳；性能\u002F包体代价要单独评估 = D29）\n",[10526],{"type":23,"tag":97,"props":10527,"children":10528},{"__ignoreMap":3399},[10529],{"type":29,"value":10524},{"type":23,"tag":39,"props":10531,"children":10532},{},[10533,10538,10539,10544,10546,10551,10553,10558,10560,10565,10566,10572,10574,10579,10581,10586,10588,10593,10595,10600,10602,10607],{"type":23,"tag":45,"props":10534,"children":10535},{},[10536],{"type":29,"value":10537},"已实测的证据",{"type":29,"value":9661},{"type":23,"tag":97,"props":10540,"children":10542},{"className":10541},[],[10543],{"type":29,"value":9667},{"type":29,"value":10545},"）：微信端全链路跑通，包括 ",{"type":23,"tag":97,"props":10547,"children":10549},{"className":10548},[],[10550],{"type":29,"value":4915},{"type":29,"value":10552}," 之外的每一环；三个必踩坑的修法已固化成守卫与回归测试（Vite 吃 ",{"type":23,"tag":97,"props":10554,"children":10556},{"className":10555},[],[10557],{"type":29,"value":8289},{"type":29,"value":10559}," 字段→UMD 运行期炸；Phaser 用",{"type":23,"tag":45,"props":10561,"children":10562},{},[10563],{"type":29,"value":10564},"属性式",{"type":29,"value":883},{"type":23,"tag":97,"props":10567,"children":10569},{"className":10568},[],[10570],{"type":29,"value":10571},"img.onload",{"type":29,"value":10573},"；headless rAF 饿死）。\n",{"type":23,"tag":45,"props":10575,"children":10576},{},[10577],{"type":29,"value":10578},"未实测",{"type":29,"value":10580},"：抖音\u002FQQ\u002F快手\u002F支付宝四端的真机与审核差异、带图集资源的分包、原生套壳性能。\n",{"type":23,"tag":45,"props":10582,"children":10583},{},[10584],{"type":29,"value":10585},"行业先例",{"type":29,"value":10587},"：2026-08 有开发者复盘\"全程用 AI 做了一款微信小游戏并上线\"，技术栈正是 ",{"type":23,"tag":45,"props":10589,"children":10590},{},[10591],{"type":29,"value":10592},"Canvas 2D + TypeScript + Vite 自研管线",{"type":29,"value":10594},"（明确不用 Unity\u002FCocos），AI 负责编码\u002F美术\u002F关卡，人负责规范、架构分层、",{"type":23,"tag":45,"props":10596,"children":10597},{},[10598],{"type":29,"value":10599},"多端适配封装",{"type":29,"value":10601},"、提审合规与抽检 ",{"type":23,"tag":97,"props":10603,"children":10605},{"className":10604},[],[10606],{"type":29,"value":4849},{"type":29,"value":10608},"——注意他自己列的\"必须人做\"项里就有\"多端适配封装\"，与本文判断一致。",{"type":23,"tag":225,"props":10610,"children":10611},{},[],{"type":23,"tag":317,"props":10613,"children":10615},{"id":10614},"_5-各端工具链成熟度决定能不能无人值守本轮已逐条复核",[10616],{"type":29,"value":10617},"5. 各端工具链成熟度（决定\"能不能无人值守\"）——本轮已逐条复核",{"type":23,"tag":39,"props":10619,"children":10620},{},[10621,10634,10636,10641],{"type":23,"tag":45,"props":10622,"children":10623},{},[10624,10626,10632],{"type":29,"value":10625},"本节最重要的结论：",{"type":23,"tag":97,"props":10627,"children":10629},{"className":10628},[],[10630],{"type":29,"value":10631},"AI 完成全部",{"type":29,"value":10633},"的上限由平台侧决定，不由引擎侧决定。",{"type":29,"value":10635}," 即使选官方端覆盖最广的 Cocos，快手小游戏的上传\u002F预览也",{"type":23,"tag":45,"props":10637,"children":10638},{},[10639],{"type":29,"value":10640},"只有 GUI 按钮 + 扫码登录",{"type":29,"value":10642},"（官方文档原文，全文无 CLI），百度小游戏上传也没有 CLI。所以\"七端全自动无人值守\"目前不存在，能做到的上限就是下表\"判定\"列。",{"type":23,"tag":53,"props":10644,"children":10645},{},[10646,10677],{"type":23,"tag":57,"props":10647,"children":10648},{},[10649],{"type":23,"tag":61,"props":10650,"children":10651},{},[10652,10657,10662,10667,10672],{"type":23,"tag":65,"props":10653,"children":10654},{},[10655],{"type":29,"value":10656},"端",{"type":23,"tag":65,"props":10658,"children":10659},{},[10660],{"type":29,"value":10661},"官方 CLI（我复核到的版本）",{"type":23,"tag":65,"props":10663,"children":10664},{},[10665],{"type":29,"value":10666},"必须本地装 IDE \u002F 扫码？",{"type":23,"tag":65,"props":10668,"children":10669},{},[10670],{"type":29,"value":10671},"包体上限",{"type":23,"tag":65,"props":10673,"children":10674},{},[10675],{"type":29,"value":10676},"判定",{"type":23,"tag":81,"props":10678,"children":10679},{},[10680,10735,10784,10833,10882,10931,10994,11033,11094,11149,11184,11210,11241],{"type":23,"tag":61,"props":10681,"children":10682},{},[10683,10688,10709,10719,10730],{"type":23,"tag":88,"props":10684,"children":10685},{},[10686],{"type":29,"value":10687},"微信",{"type":23,"tag":88,"props":10689,"children":10690},{},[10691,10696,10697,10702,10704],{"type":23,"tag":97,"props":10692,"children":10694},{"className":10693},[],[10695],{"type":29,"value":4915},{"type":29,"value":883},{"type":23,"tag":45,"props":10698,"children":10699},{},[10700],{"type":29,"value":10701},"2.1.31",{"type":29,"value":10703},"（preview\u002Fupload）",{"type":23,"tag":97,"props":10705,"children":10707},{"className":10706},[],[10708],{"type":29,"value":206},{"type":23,"tag":88,"props":10710,"children":10711},{},[10712,10717],{"type":23,"tag":45,"props":10713,"children":10714},{},[10715],{"type":29,"value":10716},"否",{"type":29,"value":10718},"（需代码上传密钥 + IP 白名单）",{"type":23,"tag":88,"props":10720,"children":10721},{},[10722,10724],{"type":29,"value":10723},"主包 4MB／总包 ≤30MB／独立分包 ≤4MB ",{"type":23,"tag":97,"props":10725,"children":10727},{"className":10726},[],[10728],{"type":29,"value":10729},"[实测官方]",{"type":23,"tag":88,"props":10731,"children":10732},{},[10733],{"type":29,"value":10734},"✅ 可无人值守",{"type":23,"tag":61,"props":10736,"children":10737},{},[10738,10743,10764,10774,10779],{"type":23,"tag":88,"props":10739,"children":10740},{},[10741],{"type":29,"value":10742},"支付宝／淘宝",{"type":23,"tag":88,"props":10744,"children":10745},{},[10746,10751,10752,10757,10759],{"type":23,"tag":97,"props":10747,"children":10749},{"className":10748},[],[10750],{"type":29,"value":9973},{"type":29,"value":883},{"type":23,"tag":45,"props":10753,"children":10754},{},[10755],{"type":29,"value":10756},"2.2.5",{"type":29,"value":10758},"（描述含\"开发、预览、上传\"，maintainer 域名 alibaba-inc.com）",{"type":23,"tag":97,"props":10760,"children":10762},{"className":10761},[],[10763],{"type":29,"value":206},{"type":23,"tag":88,"props":10765,"children":10766},{},[10767,10769],{"type":29,"value":10768},"引擎文档口径要装 IDE；CLI 免登录所需 token ",{"type":23,"tag":45,"props":10770,"children":10771},{},[10772],{"type":29,"value":10773},"未取证",{"type":23,"tag":88,"props":10775,"children":10776},{},[10777],{"type":29,"value":10778},"主包 4MB，超出走 CDN",{"type":23,"tag":88,"props":10780,"children":10781},{},[10782],{"type":29,"value":10783},"🟡 大概率可脚本化",{"type":23,"tag":61,"props":10785,"children":10786},{},[10787,10792,10813,10818,10828],{"type":23,"tag":88,"props":10788,"children":10789},{},[10790],{"type":29,"value":10791},"Bilibili",{"type":23,"tag":88,"props":10793,"children":10794},{},[10795,10800,10801,10806,10808],{"type":23,"tag":97,"props":10796,"children":10798},{"className":10797},[],[10799],{"type":29,"value":10089},{"type":29,"value":883},{"type":23,"tag":45,"props":10802,"children":10803},{},[10804],{"type":29,"value":10805},"2.1.22",{"type":29,"value":10807},"（ISC，\"Bilibili Small Game Cli\"）",{"type":23,"tag":97,"props":10809,"children":10811},{"className":10810},[],[10812],{"type":29,"value":206},{"type":23,"tag":88,"props":10814,"children":10815},{},[10816],{"type":29,"value":10817},"需登录态，无 CI 章节",{"type":23,"tag":88,"props":10819,"children":10820},{},[10821,10823],{"type":29,"value":10822},"总 30M／单包 4M ",{"type":23,"tag":97,"props":10824,"children":10826},{"className":10825},[],[10827],{"type":29,"value":4849},{"type":23,"tag":88,"props":10829,"children":10830},{},[10831],{"type":29,"value":10832},"🟡 可脚本化（引擎侧仍要自己适配，Cocos 无官方页）",{"type":23,"tag":61,"props":10834,"children":10835},{},[10836,10841,10862,10867,10877],{"type":23,"tag":88,"props":10837,"children":10838},{},[10839],{"type":29,"value":10840},"vivo 小游戏",{"type":23,"tag":88,"props":10842,"children":10843},{},[10844,10849,10850,10855,10857],{"type":23,"tag":97,"props":10845,"children":10847},{"className":10846},[],[10848],{"type":29,"value":10047},{"type":29,"value":883},{"type":23,"tag":45,"props":10851,"children":10852},{},[10853],{"type":29,"value":10854},"1.27.45",{"type":29,"value":10856},"（MIT，持续发版）",{"type":23,"tag":97,"props":10858,"children":10860},{"className":10859},[],[10861],{"type":29,"value":206},{"type":23,"tag":88,"props":10863,"children":10864},{},[10865],{"type":29,"value":10866},"待核",{"type":23,"tag":88,"props":10868,"children":10869},{},[10870,10872],{"type":29,"value":10871},"主包 4MB ",{"type":23,"tag":97,"props":10873,"children":10875},{"className":10874},[],[10876],{"type":29,"value":4849},{"type":23,"tag":88,"props":10878,"children":10879},{},[10880],{"type":29,"value":10881},"🟡 可脚本化",{"type":23,"tag":61,"props":10883,"children":10884},{},[10885,10889,10906,10916,10926],{"type":23,"tag":88,"props":10886,"children":10887},{},[10888],{"type":29,"value":9863},{"type":23,"tag":88,"props":10890,"children":10891},{},[10892,10894,10900,10901],{"type":29,"value":10893},"官方 ",{"type":23,"tag":97,"props":10895,"children":10897},{"className":10896},[],[10898],{"type":29,"value":10899},"cli -l \u002F -p \u002F -u \u002F --build-npm",{"type":29,"value":883},{"type":23,"tag":97,"props":10902,"children":10904},{"className":10903},[],[10905],{"type":29,"value":4849},{"type":23,"tag":88,"props":10907,"children":10908},{},[10909,10914],{"type":23,"tag":45,"props":10910,"children":10911},{},[10912],{"type":29,"value":10913},"是",{"type":29,"value":10915},"（依赖本地 QQ 开发者工具，预览\u002F上传需登录态；二维码可导出图片\u002Fbase64）",{"type":23,"tag":88,"props":10917,"children":10918},{},[10919,10924],{"type":23,"tag":45,"props":10920,"children":10921},{},[10922],{"type":29,"value":10923},"小游戏侧未找到官方数字",{"type":29,"value":10925},"（小程序侧分包总和 24M／单包 2M）",{"type":23,"tag":88,"props":10927,"children":10928},{},[10929],{"type":29,"value":10930},"🟡 半自动",{"type":23,"tag":61,"props":10932,"children":10933},{},[10934,10939,10969,10978,10989],{"type":23,"tag":88,"props":10935,"children":10936},{},[10937],{"type":29,"value":10938},"抖音",{"type":23,"tag":88,"props":10940,"children":10941},{},[10942,10944,10955,10957,10962,10964],{"type":29,"value":10943},"官方文档口径是 ",{"type":23,"tag":45,"props":10945,"children":10946},{},[10947,10949],{"type":29,"value":10948},"IDE 内置 ",{"type":23,"tag":97,"props":10950,"children":10952},{"className":10951},[],[10953],{"type":29,"value":10954},"bytecli",{"type":29,"value":10956},"（-o\u002F-l\u002F-p\u002F-u）；npm 另有 ",{"type":23,"tag":97,"props":10958,"children":10960},{"className":10959},[],[10961],{"type":29,"value":7250},{"type":29,"value":10963}," 2.1.1（258 次\u002F周）",{"type":23,"tag":97,"props":10965,"children":10967},{"className":10966},[],[10968],{"type":29,"value":4849},{"type":23,"tag":88,"props":10970,"children":10971},{},[10972,10976],{"type":23,"tag":45,"props":10973,"children":10974},{},[10975],{"type":29,"value":10913},{"type":29,"value":10977},"（须先装抖音开发者工具；登录要手机验证码\u002F飞书扫码）",{"type":23,"tag":88,"props":10979,"children":10980},{},[10981,10983,10988],{"type":29,"value":10982},"总 20MB／主包 4MB／单分包 20MB（",{"type":23,"tag":45,"props":10984,"children":10985},{},[10986],{"type":29,"value":10987},"Cocos 手册转述，非平台原始文档",{"type":29,"value":951},{"type":23,"tag":88,"props":10990,"children":10991},{},[10992],{"type":29,"value":10993},"🟡 半自动（首次登录必须人）",{"type":23,"tag":61,"props":10995,"children":10996},{},[10997,11002,11020,11024,11029],{"type":23,"tag":88,"props":10998,"children":10999},{},[11000],{"type":29,"value":11001},"小米快游戏",{"type":23,"tag":88,"props":11003,"children":11004},{},[11005,11007,11013,11015],{"type":29,"value":11006},"RPK 可脚本打包（",{"type":23,"tag":97,"props":11008,"children":11010},{"className":11009},[],[11011],{"type":29,"value":11012},"manifest.json",{"type":29,"value":11014}," 手写 subpackages）",{"type":23,"tag":97,"props":11016,"children":11018},{"className":11017},[],[11019],{"type":29,"value":4849},{"type":23,"tag":88,"props":11021,"children":11022},{},[11023],{"type":29,"value":10866},{"type":23,"tag":88,"props":11025,"children":11026},{},[11027],{"type":29,"value":11028},"主包 4M／单分包不限／RPK 总 30M",{"type":23,"tag":88,"props":11030,"children":11031},{},[11032],{"type":29,"value":10881},{"type":23,"tag":61,"props":11034,"children":11035},{},[11036,11041,11074,11079,11089],{"type":23,"tag":88,"props":11037,"children":11038},{},[11039],{"type":29,"value":11040},"华为快游戏",{"type":23,"tag":88,"props":11042,"children":11043},{},[11044,11046,11051,11053,11058,11059,11065,11067,11072],{"type":29,"value":11045},"Cocos 直接产 ",{"type":23,"tag":97,"props":11047,"children":11049},{"className":11048},[],[11050],{"type":29,"value":10055},{"type":29,"value":11052},"，签名用 openssl ",{"type":23,"tag":97,"props":11054,"children":11056},{"className":11055},[],[11057],{"type":29,"value":4849},{"type":29,"value":2224},{"type":23,"tag":97,"props":11060,"children":11062},{"className":11061},[],[11063],{"type":29,"value":11064},"hap-toolkit",{"type":29,"value":11066}," 2.1.1 维护者是",{"type":23,"tag":45,"props":11068,"children":11069},{},[11070],{"type":29,"value":11071},"个人账号",{"type":29,"value":11073},"（非官方 org）",{"type":23,"tag":88,"props":11075,"children":11076},{},[11077],{"type":29,"value":11078},"官方文档为 SPA，正文未读到",{"type":23,"tag":88,"props":11080,"children":11081},{},[11082,11084],{"type":29,"value":11083},"代码包总 ",{"type":23,"tag":45,"props":11085,"children":11086},{},[11087],{"type":29,"value":11088},"10MB",{"type":23,"tag":88,"props":11090,"children":11091},{},[11092],{"type":29,"value":11093},"🟠 待核（D27）",{"type":23,"tag":61,"props":11095,"children":11096},{},[11097,11104,11128,11135,11140],{"type":23,"tag":88,"props":11098,"children":11099},{},[11100],{"type":23,"tag":45,"props":11101,"children":11102},{},[11103],{"type":29,"value":9913},{"type":23,"tag":88,"props":11105,"children":11106},{},[11107,11112,11114,11120,11122],{"type":23,"tag":45,"props":11108,"children":11109},{},[11110],{"type":29,"value":11111},"无 CLI",{"type":29,"value":11113},"（官方页只有\"点击",{"type":23,"tag":97,"props":11115,"children":11117},{"className":11116},[],[11118],{"type":29,"value":11119},"上传",{"type":29,"value":11121}," button\"\"点击真机预览 Button\"，登录要快手 App 扫码）",{"type":23,"tag":97,"props":11123,"children":11125},{"className":11124},[],[11126],{"type":29,"value":11127},"[实测官方页]",{"type":23,"tag":88,"props":11129,"children":11130},{},[11131],{"type":23,"tag":45,"props":11132,"children":11133},{},[11134],{"type":29,"value":10913},{"type":23,"tag":88,"props":11136,"children":11137},{},[11138],{"type":29,"value":11139},"总 30M／主包 ≤6M／单分包不限",{"type":23,"tag":88,"props":11141,"children":11142},{},[11143,11144],{"type":29,"value":9868},{"type":23,"tag":45,"props":11145,"children":11146},{},[11147],{"type":29,"value":11148},"每次上传都要人",{"type":23,"tag":61,"props":11150,"children":11151},{},[11152,11157,11167,11174,11179],{"type":23,"tag":88,"props":11153,"children":11154},{},[11155],{"type":29,"value":11156},"百度小游戏",{"type":23,"tag":88,"props":11158,"children":11159},{},[11160,11162],{"type":29,"value":11161},"无上传 CLI ",{"type":23,"tag":97,"props":11163,"children":11165},{"className":11164},[],[11166],{"type":29,"value":4849},{"type":23,"tag":88,"props":11168,"children":11169},{},[11170],{"type":23,"tag":45,"props":11171,"children":11172},{},[11173],{"type":29,"value":10913},{"type":23,"tag":88,"props":11175,"children":11176},{},[11177],{"type":29,"value":11178},"总 8M／单包 4M",{"type":23,"tag":88,"props":11180,"children":11181},{},[11182],{"type":29,"value":11183},"❌ 必须 GUI",{"type":23,"tag":61,"props":11185,"children":11186},{},[11187,11192,11197,11201,11205],{"type":23,"tag":88,"props":11188,"children":11189},{},[11190],{"type":29,"value":11191},"H5",{"type":23,"tag":88,"props":11193,"children":11194},{},[11195],{"type":29,"value":11196},"任意静态托管",{"type":23,"tag":88,"props":11198,"children":11199},{},[11200],{"type":29,"value":10716},{"type":23,"tag":88,"props":11202,"children":11203},{},[11204],{"type":29,"value":704},{"type":23,"tag":88,"props":11206,"children":11207},{},[11208],{"type":29,"value":11209},"✅ 最省事，也是无头自证入口",{"type":23,"tag":61,"props":11211,"children":11212},{},[11213,11217,11227,11232,11236],{"type":23,"tag":88,"props":11214,"children":11215},{},[11216],{"type":29,"value":7561},{"type":23,"tag":88,"props":11218,"children":11219},{},[11220,11222],{"type":29,"value":11221},"Cocos 原生构建可 CLI；",{"type":23,"tag":45,"props":11223,"children":11224},{},[11225],{"type":29,"value":11226},"Xcode\u002F证书\u002F上架必须人",{"type":23,"tag":88,"props":11228,"children":11229},{},[11230],{"type":29,"value":11231},"是（需原生工具链）",{"type":23,"tag":88,"props":11233,"children":11234},{},[11235],{"type":29,"value":704},{"type":23,"tag":88,"props":11237,"children":11238},{},[11239],{"type":29,"value":11240},"🟠 半自动",{"type":23,"tag":61,"props":11242,"children":11243},{},[11244,11249,11266,11271,11275],{"type":23,"tag":88,"props":11245,"children":11246},{},[11247],{"type":29,"value":11248},"套壳路线",{"type":23,"tag":88,"props":11250,"children":11251},{},[11252,11257,11259,11264],{"type":23,"tag":45,"props":11253,"children":11254},{},[11255],{"type":29,"value":11256},"Capacitor",{"type":29,"value":11258},"（MIT，2026-10-05 仍在推）",{"type":23,"tag":97,"props":11260,"children":11262},{"className":11261},[],[11263],{"type":29,"value":4849},{"type":29,"value":11265},"；Cordova（Apache，2026-05-19 有推送，节奏慢）",{"type":23,"tag":88,"props":11267,"children":11268},{},[11269],{"type":29,"value":11270},"需原生工具链",{"type":23,"tag":88,"props":11272,"children":11273},{},[11274],{"type":29,"value":704},{"type":23,"tag":88,"props":11276,"children":11277},{},[11278,11280,11285],{"type":29,"value":11279},"🟡 活跃；但 ",{"type":23,"tag":97,"props":11281,"children":11283},{"className":11282},[],[11284],{"type":29,"value":3249},{"type":29,"value":11286}," 在 App 内要自建 shim，无官方桥接",{"type":23,"tag":39,"props":11288,"children":11289},{},[11290,11295,11297,11302,11304,11309],{"type":23,"tag":45,"props":11291,"children":11292},{},[11293],{"type":29,"value":11294},"排期读法",{"type":29,"value":11296},"：✅ 可进 agent 流水线；🟡 可脚本化但首次登录\u002F提审要人；❌ 每次上传都要人点（快手、百度）。另外 ",{"type":23,"tag":97,"props":11298,"children":11300},{"className":11299},[],[11301],{"type":29,"value":7126},{"type":29,"value":11303}," 不覆盖小游戏（0.12.1，2023-11-06 起未更新 ",{"type":23,"tag":97,"props":11305,"children":11307},{"className":11306},[],[11308],{"type":29,"value":206},{"type":29,"value":11310},"），\"自动开模拟器验收\"也别指望。",{"type":23,"tag":235,"props":11312,"children":11313},{},[11314],{"type":23,"tag":39,"props":11315,"children":11316},{},[11317,11319,11324],{"type":29,"value":11318},"附带结论：",{"type":23,"tag":45,"props":11320,"children":11321},{},[11322],{"type":29,"value":11323},"各端包体上限不一致",{"type":29,"value":11325},"（华为 10MB／抖音 20MB／微信·快手·B站 30M／百度 8M；主包 4MB 是多数但快手是 6MB），所以\"一次导出\"必须在构建期按目标端做包体门禁，不能只测微信一端。",{"type":23,"tag":225,"props":11327,"children":11328},{},[],{"type":23,"tag":317,"props":11330,"children":11332},{"id":11331},"_6-待确认-d25d37",[11333],{"type":29,"value":11334},"6. 待确认 D25–D37",{"type":23,"tag":53,"props":11336,"children":11337},{},[11338,11356],{"type":23,"tag":57,"props":11339,"children":11340},{},[11341],{"type":23,"tag":61,"props":11342,"children":11343},{},[11344,11348,11352],{"type":23,"tag":65,"props":11345,"children":11346},{},[11347],{"type":29,"value":1468},{"type":23,"tag":65,"props":11349,"children":11350},{},[11351],{"type":29,"value":3160},{"type":23,"tag":65,"props":11353,"children":11354},{},[11355],{"type":29,"value":7785},{"type":23,"tag":81,"props":11357,"children":11358},{},[11359,11409,11437,11462,11507,11525,11550,11568,11586,11611,11629,11667,11692],{"type":23,"tag":61,"props":11360,"children":11361},{},[11362,11366,11404],{"type":23,"tag":88,"props":11363,"children":11364},{},[11365],{"type":29,"value":9221},{"type":23,"tag":88,"props":11367,"children":11368},{},[11369,11375,11376,11381,11383,11389,11391,11395,11397,11402],{"type":23,"tag":11370,"props":11371,"children":11372},"del",{},[11373],{"type":29,"value":11374},"QQ \u002F 快手小游戏的官方 CLI 与包体上限",{"type":29,"value":883},{"type":23,"tag":45,"props":11377,"children":11378},{},[11379],{"type":29,"value":11380},"已核",{"type":29,"value":11382},"：QQ 有官方 ",{"type":23,"tag":97,"props":11384,"children":11386},{"className":11385},[],[11387],{"type":29,"value":11388},"cli",{"type":29,"value":11390},"（依赖本地 QQ 开发者工具）；快手小游戏",{"type":23,"tag":45,"props":11392,"children":11393},{},[11394],{"type":29,"value":11111},{"type":29,"value":11396},"（上传\u002F预览只有 GUI + 扫码）。剩余缺口：",{"type":23,"tag":45,"props":11398,"children":11399},{},[11400],{"type":29,"value":11401},"QQ 小游戏侧",{"type":29,"value":11403},"包体上限未找到官方数字（只有小程序侧 24M\u002F2M）",{"type":23,"tag":88,"props":11405,"children":11406},{},[11407],{"type":29,"value":11408},"按\"主包 4MB、总包 20MB\"最严口径设计，QQ 端实测后再放宽",{"type":23,"tag":61,"props":11410,"children":11411},{},[11412,11417,11432],{"type":23,"tag":88,"props":11413,"children":11414},{},[11415],{"type":29,"value":11416},"D26",{"type":23,"tag":88,"props":11418,"children":11419},{},[11420,11425,11427],{"type":23,"tag":97,"props":11421,"children":11423},{"className":11422},[],[11424],{"type":29,"value":9973},{"type":29,"value":11426}," 免 GUI 登录所需 token\u002F私钥口径；淘宝小游戏是否纳入 ",{"type":23,"tag":97,"props":11428,"children":11430},{"className":11429},[],[11431],{"type":29,"value":9973},{"type":23,"tag":88,"props":11433,"children":11434},{},[11435],{"type":29,"value":11436},"按\"要人工\"排期，脚本化留到打通 token 后",{"type":23,"tag":61,"props":11438,"children":11439},{},[11440,11445,11457],{"type":23,"tag":88,"props":11441,"children":11442},{},[11443],{"type":29,"value":11444},"D27",{"type":23,"tag":88,"props":11446,"children":11447},{},[11448,11450,11455],{"type":29,"value":11449},"华为\u002FOPPO 快游戏工具链（官方文档是 SPA，正文没读到）；",{"type":23,"tag":97,"props":11451,"children":11453},{"className":11452},[],[11454],{"type":29,"value":11064},{"type":29,"value":11456}," 维护者是个人账号而非官方 org",{"type":23,"tag":88,"props":11458,"children":11459},{},[11460],{"type":29,"value":11461},"华为按\"Cocos 产 .rpk + openssl 签名 + 人工上传\"排期",{"type":23,"tag":61,"props":11463,"children":11464},{},[11465,11470,11502],{"type":23,"tag":88,"props":11466,"children":11467},{},[11468],{"type":29,"value":11469},"D28",{"type":23,"tag":88,"props":11471,"children":11472},{},[11473,11478,11479,11483,11485,11489,11491,11495,11497],{"type":23,"tag":11370,"props":11474,"children":11475},{},[11476],{"type":29,"value":11477},"LayaAir 3 的原生 App 发布方式",{"type":29,"value":883},{"type":23,"tag":45,"props":11480,"children":11481},{},[11482],{"type":29,"value":11380},{"type":29,"value":11484},"：官方 ",{"type":23,"tag":45,"props":11486,"children":11487},{},[11488],{"type":29,"value":10139},{"type":29,"value":11490}," 覆盖 Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F",{"type":23,"tag":45,"props":11492,"children":11493},{},[11494],{"type":29,"value":9526},{"type":29,"value":11496},"；引擎 MIT 但 IDE 闭源、",{"type":23,"tag":45,"props":11498,"children":11499},{},[11500],{"type":29,"value":11501},"未找到官方收费页",{"type":23,"tag":88,"props":11503,"children":11504},{},[11505],{"type":29,"value":11506},"若把 R4 纳入候选，先要到一个书面收费口径",{"type":23,"tag":61,"props":11508,"children":11509},{},[11510,11515,11520],{"type":23,"tag":88,"props":11511,"children":11512},{},[11513],{"type":29,"value":11514},"D29",{"type":23,"tag":88,"props":11516,"children":11517},{},[11518],{"type":29,"value":11519},"原生 App 用 Capacitor 套壳跑 WebGL 的性能是否达标（低端机）",{"type":23,"tag":88,"props":11521,"children":11522},{},[11523],{"type":29,"value":11524},"先做 spike 再承诺原生",{"type":23,"tag":61,"props":11526,"children":11527},{},[11528,11533,11545],{"type":23,"tag":88,"props":11529,"children":11530},{},[11531],{"type":29,"value":11532},"D30",{"type":23,"tag":88,"props":11534,"children":11535},{},[11536,11538,11543],{"type":29,"value":11537},"七端里哪些是",{"type":23,"tag":45,"props":11539,"children":11540},{},[11541],{"type":29,"value":11542},"首发必须",{"type":29,"value":11544},"、哪些可 T+3 月？（决定 R1 还是 R3）",{"type":23,"tag":88,"props":11546,"children":11547},{},[11548],{"type":29,"value":11549},"按\"微信+抖音+H5 首发，其余 T+3 月\"排",{"type":23,"tag":61,"props":11551,"children":11552},{},[11553,11558,11563],{"type":23,"tag":88,"props":11554,"children":11555},{},[11556],{"type":29,"value":11557},"D31",{"type":23,"tag":88,"props":11559,"children":11560},{},[11561],{"type":29,"value":11562},"是否接受\"CI 机器必须是 Win\u002Fmac 且有图形会话\"（R1 的硬条件）",{"type":23,"tag":88,"props":11564,"children":11565},{},[11566],{"type":29,"value":11567},"接受则选 R1，不接受则选 R3",{"type":23,"tag":61,"props":11569,"children":11570},{},[11571,11576,11581],{"type":23,"tag":88,"props":11572,"children":11573},{},[11574],{"type":29,"value":11575},"D32",{"type":23,"tag":88,"props":11577,"children":11578},{},[11579],{"type":29,"value":11580},"COCOS 4 是否进入你的观察计划（每季度复评小游戏端解锁进度）",{"type":23,"tag":88,"props":11582,"children":11583},{},[11584],{"type":29,"value":11585},"列入，但不押注 2026 内多端",{"type":23,"tag":61,"props":11587,"children":11588},{},[11589,11594,11606],{"type":23,"tag":88,"props":11590,"children":11591},{},[11592],{"type":29,"value":11593},"D33",{"type":23,"tag":88,"props":11595,"children":11596},{},[11597,11599,11604],{"type":29,"value":11598},"2.4 的社区 MCP（",{"type":23,"tag":97,"props":11600,"children":11602},{"className":11601},[],[11603],{"type":29,"value":10487},{"type":29,"value":11605},"）要不要在存量工程上试（个人项目、依赖 Python）",{"type":23,"tag":88,"props":11607,"children":11608},{},[11609],{"type":29,"value":11610},"试，但只读操作先行",{"type":23,"tag":61,"props":11612,"children":11613},{},[11614,11619,11624],{"type":23,"tag":88,"props":11615,"children":11616},{},[11617],{"type":29,"value":11618},"D34",{"type":23,"tag":88,"props":11620,"children":11621},{},[11622],{"type":29,"value":11623},"Demo 这条线要不要继续推到\"带图集资源 + 分包 + 远程资源 + 抖音端\"",{"type":23,"tag":88,"props":11625,"children":11626},{},[11627],{"type":29,"value":11628},"等你定优先级",{"type":23,"tag":61,"props":11630,"children":11631},{},[11632,11637,11662],{"type":23,"tag":88,"props":11633,"children":11634},{},[11635],{"type":29,"value":11636},"D35",{"type":23,"tag":88,"props":11638,"children":11639},{},[11640,11642,11647,11649,11654,11655,11660],{"type":29,"value":11641},"LayaAir 的",{"type":23,"tag":45,"props":11643,"children":11644},{},[11645],{"type":29,"value":11646},"书面收费口径",{"type":29,"value":11648},"与官方 ",{"type":23,"tag":97,"props":11650,"children":11652},{"className":11651},[],[11653],{"type":29,"value":9539},{"type":29,"value":208},{"type":23,"tag":97,"props":11656,"children":11658},{"className":11657},[],[11659],{"type":29,"value":9555},{"type":29,"value":11661}," 的成熟度实测（我这次只核到仓库存在与文档描述，没跑过）",{"type":23,"tag":88,"props":11663,"children":11664},{},[11665],{"type":29,"value":11666},"要选 R4 就先做一次\"CLI 出微信包 + MCP 改场景\"的 spike，跑通再谈选型",{"type":23,"tag":61,"props":11668,"children":11669},{},[11670,11675,11687],{"type":23,"tag":88,"props":11671,"children":11672},{},[11673],{"type":29,"value":11674},"D36",{"type":23,"tag":88,"props":11676,"children":11677},{},[11678,11680,11685],{"type":29,"value":11679},"是否接受",{"type":23,"tag":45,"props":11681,"children":11682},{},[11683],{"type":29,"value":11684},"团结引擎的钱与流程",{"type":29,"value":11686},"（18888 元\u002F年量级、构建费、提审人工、Unity 6 不再开放中国用户）以换取官方快手端",{"type":23,"tag":88,"props":11688,"children":11689},{},[11690],{"type":29,"value":11691},"不接受 → 快手端走 R3 的自建 shim 或干脆不做快手",{"type":23,"tag":61,"props":11693,"children":11694},{},[11695,11700,11720],{"type":23,"tag":88,"props":11696,"children":11697},{},[11698],{"type":29,"value":11699},"D37",{"type":23,"tag":88,"props":11701,"children":11702},{},[11703,11705,11710,11712,11718],{"type":29,"value":11704},"是否把 ",{"type":23,"tag":45,"props":11706,"children":11707},{},[11708],{"type":29,"value":11709},"Cocos 命令行退出码 36\u002F32\u002F34",{"type":29,"value":11711}," 这类\"平台侧硬信号\"照 Demo 风格写成构建门禁（",{"type":23,"tag":97,"props":11713,"children":11715},{"className":11714},[],[11716],{"type":29,"value":11717},"build:wx",{"type":29,"value":11719}," 后断言退出码而非看产物）",{"type":23,"tag":88,"props":11721,"children":11722},{},[11723],{"type":29,"value":11724},"要，我可以直接在 Demo 里加一条等价守卫",{"type":23,"tag":225,"props":11726,"children":11727},{},[],{"type":23,"tag":317,"props":11729,"children":11731},{"id":11730},"_7-第二路调研回填我更正了什么以及由此改变的排序",[11732],{"type":29,"value":11733},"7. 第二路调研回填：我更正了什么、以及由此改变的排序",{"type":23,"tag":32,"props":11735,"children":11737},{"id":11736},"_71-我自己写错低估的三条",[11738],{"type":29,"value":11739},"7.1 我自己写错\u002F低估的三条",{"type":23,"tag":743,"props":11741,"children":11742},{},[11743,11794,11866],{"type":23,"tag":747,"props":11744,"children":11745},{},[11746,11751,11753,11759,11761,11766,11768,11772,11773,11778,11780,11785,11787,11792],{"type":23,"tag":45,"props":11747,"children":11748},{},[11749],{"type":29,"value":11750},"LayaAir 3 的端覆盖被我写窄了",{"type":29,"value":11752},"。前文按 ",{"type":23,"tag":97,"props":11754,"children":11756},{"className":11755},[],[11757],{"type":29,"value":11758},"layaair.com\u002F3.3",{"type":29,"value":11760}," 的\"小游戏发布\"页只列了微信\u002F抖音\u002FOPPO\u002Fvivo\u002F小米\u002F支付宝\u002F淘宝；但 ",{"type":23,"tag":45,"props":11762,"children":11763},{},[11764],{"type":29,"value":11765},"3.x 文档目录",{"type":29,"value":11767},"（v3.4，2026-08-17 更新）实际还包含 ",{"type":23,"tag":45,"props":11769,"children":11770},{},[11771],{"type":29,"value":11040},{"type":29,"value":4397},{"type":23,"tag":45,"props":11774,"children":11775},{},[11776],{"type":29,"value":11777},"哔哩哔哩小游戏",{"type":29,"value":11779},"，原生侧有 ",{"type":23,"tag":45,"props":11781,"children":11782},{},[11783],{"type":29,"value":11784},"LayaNative：Android \u002F iOS \u002F 鸿蒙 NEXT \u002F Windows(Steam) \u002F Linux",{"type":29,"value":11786},"（Linux 是 Cocos 编辑器都不给的）。仍缺的是 ",{"type":23,"tag":45,"props":11788,"children":11789},{},[11790],{"type":29,"value":11791},"QQ 与 快手",{"type":29,"value":11793},"。→ §0 的 R4 已从\"3D 才看\"上调为\"值得与 R1 并列评估\"。",{"type":23,"tag":747,"props":11795,"children":11796},{},[11797,11802,11804,11810,11812,11822,11823,11833,11834,11844,11846,11851,11853,11858,11860,11864],{"type":23,"tag":45,"props":11798,"children":11799},{},[11800],{"type":29,"value":11801},"Laya 的 agent 通道不是\"薄\"，是有官方件",{"type":29,"value":11803},"：官方 CLI ",{"type":23,"tag":97,"props":11805,"children":11807},{"className":11806},[],[11808],{"type":29,"value":11809},"LayaAirIDE --project=\u003C路径> [--script=类.方法] [--script-args]",{"type":29,"value":11811},"，官方描述\"后台脚本执行结束后自动退出\"（可批处理\u002FCI）；官方组织下另有 ",{"type":23,"tag":45,"props":11813,"children":11814},{},[11815,11820],{"type":23,"tag":97,"props":11816,"children":11818},{"className":11817},[],[11819],{"type":29,"value":9539},{"type":29,"value":11821},"(2026-06)",{"type":29,"value":1137},{"type":23,"tag":45,"props":11824,"children":11825},{},[11826,11831],{"type":23,"tag":97,"props":11827,"children":11829},{"className":11828},[],[11830],{"type":29,"value":9547},{"type":29,"value":11832},"(2026-09)",{"type":29,"value":1137},{"type":23,"tag":45,"props":11835,"children":11836},{},[11837,11842],{"type":23,"tag":97,"props":11838,"children":11840},{"className":11839},[],[11841],{"type":29,"value":9555},{"type":29,"value":11843},"(2025-11)",{"type":29,"value":11845},"，以及官方 AI 产品 ",{"type":23,"tag":45,"props":11847,"children":11848},{},[11849],{"type":29,"value":11850},"LayaIdea",{"type":29,"value":11852},"（1.0 beta2，网页版）。论坛官方答复口径：\"IDE 其实已经支持 headless CLI 模式\"\"CLI 工作流正在开发中\"。→ 但",{"type":23,"tag":45,"props":11854,"children":11855},{},[11856],{"type":29,"value":11857},"IDE 本体仍闭源",{"type":29,"value":11859},"（引擎 MIT，组织仓库里没有 IDE 源码），且",{"type":23,"tag":45,"props":11861,"children":11862},{},[11863],{"type":29,"value":11501},{"type":29,"value":11865},"（D35）。",{"type":23,"tag":747,"props":11867,"children":11868},{},[11869,11874,11876,11880,11882,11887,11889,11893,11895,11899],{"type":23,"tag":45,"props":11870,"children":11871},{},[11872],{"type":29,"value":11873},"团结引擎的端覆盖里其实有快手",{"type":29,"value":11875},"：官方平台支持页列 ",{"type":23,"tag":45,"props":11877,"children":11878},{},[11879],{"type":29,"value":9590},{"type":29,"value":11881}," + Unity 小游戏宿主，另有《快手小游戏转换 SDK》（2025-12-09）。→ 它是",{"type":23,"tag":45,"props":11883,"children":11884},{},[11885],{"type":29,"value":11886},"唯一官方覆盖快手的",{"type":29,"value":11888},"，但转换工具必须 GUI，仍不满足\"AI 完成全部\"；且要算清钱：\u003C150 万元财务规模可免费个人版；150 万–1500 万需 ",{"type":23,"tag":45,"props":11890,"children":11891},{},[11892],{"type":29,"value":9617},{"type":29,"value":11894}," 一套基础编辑器才能无水印发小游戏；1.6.0 起收构建费（社区称减免至 2027-06-30）；",{"type":23,"tag":45,"props":11896,"children":11897},{},[11898],{"type":29,"value":9624},{"type":29,"value":11900},"；团结 2.0（2026-07-28）已内嵌 AI Agent\"团结Codely\"。",{"type":23,"tag":32,"props":11902,"children":11904},{"id":11903},"_72-cocos-4-的官方通道比我上一版描述更具体也更有硬条件",[11905],{"type":29,"value":11906},"7.2 COCOS 4 的官方通道（比我上一版描述更具体，也更有硬条件）",{"type":23,"tag":1909,"props":11908,"children":11909},{},[11910,11960,11971,12010],{"type":23,"tag":747,"props":11911,"children":11912},{},[11913,11915,11924,11926,11932,11933,11939,11940,11949,11950,11959],{"type":29,"value":11914},"官方仓库 ",{"type":23,"tag":45,"props":11916,"children":11917},{},[11918],{"type":23,"tag":97,"props":11919,"children":11921},{"className":11920},[],[11922],{"type":29,"value":11923},"cocos\u002Fcocos-cli",{"type":29,"value":11925},"（cocos 组织、MIT、建 2025-09-04、最近推送 2026-09-28）：",{"type":23,"tag":97,"props":11927,"children":11929},{"className":11928},[],[11930],{"type":29,"value":11931},"cocos create",{"type":29,"value":3075},{"type":23,"tag":97,"props":11934,"children":11936},{"className":11935},[],[11937],{"type":29,"value":11938},"cocos build --platform \u003C端>",{"type":29,"value":3075},{"type":23,"tag":45,"props":11941,"children":11942},{},[11943],{"type":23,"tag":97,"props":11944,"children":11946},{"className":11945},[],[11947],{"type":29,"value":11948},"--no-interactive",{"type":29,"value":3075},{"type":23,"tag":45,"props":11951,"children":11952},{},[11953],{"type":23,"tag":97,"props":11954,"children":11956},{"className":11955},[],[11957],{"type":29,"value":11958},"cocos start-mcp-server --port 9527",{"type":29,"value":275},{"type":23,"tag":747,"props":11961,"children":11962},{},[11963,11965,11970],{"type":29,"value":11964},"官方新闻稿（2026-01-05）口径：",{"type":23,"tag":45,"props":11966,"children":11967},{},[11968],{"type":29,"value":11969},"引擎与编辑器解耦、核心编辑功能转 headless CLI、可视化交给 PinK IDE、MIT 并移除原商业条款、\"AI 原生\u002FMCP 优先\"",{"type":29,"value":275},{"type":23,"tag":747,"props":11972,"children":11973},{},[11974,11979,11981,11986,11988,11994,11996,12001,12003,12008],{"type":23,"tag":45,"props":11975,"children":11976},{},[11977],{"type":29,"value":11978},"硬条件",{"type":29,"value":11980},"：README 只声明 ",{"type":23,"tag":45,"props":11982,"children":11983},{},[11984],{"type":29,"value":11985},"Windows（VS C++ 工具链）与 macOS（Xcode）",{"type":29,"value":11987},"，未声明 Linux；",{"type":23,"tag":97,"props":11989,"children":11991},{"className":11990},[],[11992],{"type":29,"value":11993},"cocos-cli",{"type":29,"value":11995}," 项目当前",{"type":23,"tag":45,"props":11997,"children":11998},{},[11999],{"type":29,"value":12000},"没有集成本地图形编辑器",{"type":29,"value":12002},"，要看可视化还得开 3.8.7；实测介绍要求 ",{"type":23,"tag":45,"props":12004,"children":12005},{},[12006],{"type":29,"value":12007},"Node.js 22.17.0",{"type":29,"value":12009},"（其他版本可能报错）。",{"type":23,"tag":747,"props":12011,"children":12012},{},[12013,12015,12020,12022,12027],{"type":29,"value":12014},"结论：R2 的\"方向最对\"从推测升级为",{"type":23,"tag":45,"props":12016,"children":12017},{},[12018],{"type":29,"value":12019},"有官方仓库与官方新闻稿支撑",{"type":29,"value":12021},"；但\"小游戏各端分阶段解锁\"没变，所以",{"type":23,"tag":45,"props":12023,"children":12024},{},[12025],{"type":29,"value":12026},"2026 内仍不押多端首发",{"type":29,"value":12028},"，改为\"用 R1\u002FR4 上线，同时每季度复评 cocos-cli 的端解锁进度\"（D32 保留）。",{"type":23,"tag":32,"props":12030,"children":12032},{"id":12031},"_73-排序变化这就是答案的收敛形态",[12033],{"type":29,"value":12034},"7.3 排序变化（这就是答案的收敛形态）",{"type":23,"tag":53,"props":12036,"children":12037},{},[12038,12057],{"type":23,"tag":57,"props":12039,"children":12040},{},[12041],{"type":23,"tag":61,"props":12042,"children":12043},{},[12044,12049,12053],{"type":23,"tag":65,"props":12045,"children":12046},{},[12047],{"type":29,"value":12048},"排序",{"type":23,"tag":65,"props":12050,"children":12051},{},[12052],{"type":29,"value":9366},{"type":23,"tag":65,"props":12054,"children":12055},{},[12056],{"type":29,"value":1478},{"type":23,"tag":81,"props":12058,"children":12059},{},[12060,12081,12116,12136,12156],{"type":23,"tag":61,"props":12061,"children":12062},{},[12063,12067,12076],{"type":23,"tag":88,"props":12064,"children":12065},{},[12066],{"type":29,"value":92},{"type":23,"tag":88,"props":12068,"children":12069},{},[12070,12074],{"type":23,"tag":45,"props":12071,"children":12072},{},[12073],{"type":29,"value":9394},{"type":29,"value":12075}," + 代码优先纪律",{"type":23,"tag":88,"props":12077,"children":12078},{},[12079],{"type":29,"value":12080},"端覆盖 + 真原生 + 官方 CLI（含明确退出码 36\u002F32\u002F34）+ 3.8 有第三方 MCP、4.0 有官方 MCP 可平滑过渡",{"type":23,"tag":61,"props":12082,"children":12083},{},[12084,12089,12098],{"type":23,"tag":88,"props":12085,"children":12086},{},[12087],{"type":29,"value":12088},"1′",{"type":23,"tag":88,"props":12090,"children":12091},{},[12092,12096],{"type":23,"tag":45,"props":12093,"children":12094},{},[12095],{"type":29,"value":9494},{"type":29,"value":12097},"（与 R1 并列，条件成立时优先）",{"type":23,"tag":88,"props":12099,"children":12100},{},[12101,12103,12107,12109,12114],{"type":29,"value":12102},"若你",{"type":23,"tag":45,"props":12104,"children":12105},{},[12106],{"type":29,"value":9652},{"type":29,"value":12108},"、且要 ",{"type":23,"tag":45,"props":12110,"children":12111},{},[12112],{"type":29,"value":12113},"Linux 原生",{"type":29,"value":12115},"或更少商业条款不确定性，Laya 的官方 CLI + 官方 MCP\u002Fskills 组合其实更干净；风险是 IDE 闭源 + 收费未公开",{"type":23,"tag":61,"props":12117,"children":12118},{},[12119,12123,12131],{"type":23,"tag":88,"props":12120,"children":12121},{},[12122],{"type":29,"value":115},{"type":23,"tag":88,"props":12124,"children":12125},{},[12126],{"type":23,"tag":45,"props":12127,"children":12128},{},[12129],{"type":29,"value":12130},"R3 代码优先 + 自维护多端 shim",{"type":23,"tag":88,"props":12132,"children":12133},{},[12134],{"type":29,"value":12135},"唯一能让 agent 端到端全自动的路（本机已实测微信端），代价是每端适配层归你",{"type":23,"tag":61,"props":12137,"children":12138},{},[12139,12143,12151],{"type":23,"tag":88,"props":12140,"children":12141},{},[12142],{"type":29,"value":137},{"type":23,"tag":88,"props":12144,"children":12145},{},[12146],{"type":23,"tag":45,"props":12147,"children":12148},{},[12149],{"type":29,"value":12150},"R2 COCOS 4",{"type":23,"tag":88,"props":12152,"children":12153},{},[12154],{"type":29,"value":12155},"观察 + 试点，别押 2026 多端首发",{"type":23,"tag":61,"props":12157,"children":12158},{},[12159,12163,12168],{"type":23,"tag":88,"props":12160,"children":12161},{},[12162],{"type":29,"value":704},{"type":23,"tag":88,"props":12164,"children":12165},{},[12166],{"type":29,"value":12167},"R5 团结引擎",{"type":23,"tag":88,"props":12169,"children":12170},{},[12171],{"type":29,"value":12172},"只有\"必须快手 + 接受人工上传 + 接受 18888 元\u002F年量级\"时才考虑",{"type":23,"tag":39,"props":12174,"children":12175},{},[12176,12181],{"type":23,"tag":45,"props":12177,"children":12178},{},[12179],{"type":29,"value":12180},"第四种引擎：没有。",{"type":29,"value":12182}," Egret 2022-02 停止运营（仅社区维护）；Eva.js 官网未列多端发布\u002F原生；字节 Lyda、Cryeng 等无官方七端依据。所以可选面就是上面这五个。",{"type":23,"tag":317,"props":12184,"children":12186},{"id":12185},"附录-a各端工具链依据本轮-5-用",[12187],{"type":29,"value":12188},"附录 A：各端工具链依据（本轮 §5 用）",{"type":23,"tag":1909,"props":12190,"children":12191},{},[12192,12234,12260,12291,12324,12341,12377,12418,12439],{"type":23,"tag":747,"props":12193,"children":12194},{},[12195,12197,12202,12204,12209,12211,12217,12219,12225,12226,12232],{"type":29,"value":12196},"快手小游戏·开发者工具（",{"type":23,"tag":45,"props":12198,"children":12199},{},[12200],{"type":29,"value":12201},"只有 GUI",{"type":29,"value":12203},"：登录要扫码、\"点击",{"type":23,"tag":97,"props":12205,"children":12207},{"className":12206},[],[12208],{"type":29,"value":11119},{"type":29,"value":12210}," button\"、\"点击真机预览 Button\"，全文无 CLI）：",{"type":23,"tag":4272,"props":12212,"children":12215},{"href":12213,"rel":12214},"https:\u002F\u002Fks-game-docs.kuaishou.com\u002Fminigame\u002Fstart\u002Fdevtool.html",[4276],[12216],{"type":29,"value":12213},{"type":29,"value":12218},"；代码包\u002F分包：",{"type":23,"tag":4272,"props":12220,"children":12223},{"href":12221,"rel":12222},"https:\u002F\u002Fks-game-docs.kuaishou.com\u002Fminigame\u002Fguide\u002Fframework\u002Fcode-package.html",[4276],[12224],{"type":29,"value":12221},{"type":29,"value":1137},{"type":23,"tag":4272,"props":12227,"children":12230},{"href":12228,"rel":12229},"https:\u002F\u002Fks-game-docs.kuaishou.com\u002Fminigame\u002Fguide\u002Fbasic-function\u002Fsubpackages.html",[4276],[12231],{"type":29,"value":12228},{"type":29,"value":12233},"（总 30M／主包 ≤6M）",{"type":23,"tag":747,"props":12235,"children":12236},{},[12237,12239,12245,12246,12252,12254],{"type":29,"value":12238},"QQ 小游戏官方命令行：",{"type":23,"tag":4272,"props":12240,"children":12243},{"href":12241,"rel":12242},"https:\u002F\u002Fq.qq.com\u002Fwiki\u002Ftools\u002Fcli\u002F",[4276],[12244],{"type":29,"value":12241},{"type":29,"value":1373},{"type":23,"tag":97,"props":12247,"children":12249},{"className":12248},[],[12250],{"type":29,"value":12251},"-l\u002F-p\u002F-u\u002F--build-npm",{"type":29,"value":12253},"，依赖本地 QQ 开发者工具）；分包数字（仅小程序侧）：",{"type":23,"tag":4272,"props":12255,"children":12258},{"href":12256,"rel":12257},"https:\u002F\u002Fq.qq.com\u002Fwiki\u002Fdevelop\u002Fminiprogram\u002Fframe\u002Fbasic_ability\u002Fbasic_pack.html",[4276],[12259],{"type":29,"value":12256},{"type":23,"tag":747,"props":12261,"children":12262},{},[12263,12265,12270,12271,12277,12279,12284,12285,12289],{"type":29,"value":12264},"支付宝系开发 CLI ",{"type":23,"tag":97,"props":12266,"children":12268},{"className":12267},[],[12269],{"type":29,"value":9973},{"type":29,"value":741},{"type":23,"tag":4272,"props":12272,"children":12275},{"href":12273,"rel":12274},"https:\u002F\u002Fopendocs.alipay.com\u002Fmini-game\u002F094n6m",[4276],[12276],{"type":29,"value":12273},{"type":29,"value":12278},"（SPA 正文不可读）＋ npm 元数据我实测：",{"type":23,"tag":97,"props":12280,"children":12282},{"className":12281},[],[12283],{"type":29,"value":9973},{"type":29,"value":883},{"type":23,"tag":45,"props":12286,"children":12287},{},[12288],{"type":29,"value":10756},{"type":29,"value":12290},"，描述\"开发、预览、上传\"，maintainer 域名 alibaba-inc.com",{"type":23,"tag":747,"props":12292,"children":12293},{},[12294,12296,12302,12304,12310,12312,12317,12318,12322],{"type":29,"value":12295},"B站小游戏：",{"type":23,"tag":4272,"props":12297,"children":12300},{"href":12298,"rel":12299},"https:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fguide\u002Fpublish\u002F",[4276],[12301],{"type":29,"value":12298},{"type":29,"value":12303},"（发布 CLI ≥2.0.0）、分包 ",{"type":23,"tag":4272,"props":12305,"children":12308},{"href":12306,"rel":12307},"https:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fability\u002Fsubpackage",[4276],[12309],{"type":29,"value":12306},{"type":29,"value":12311},"；npm 实测 ",{"type":23,"tag":97,"props":12313,"children":12315},{"className":12314},[],[12316],{"type":29,"value":10089},{"type":29,"value":883},{"type":23,"tag":45,"props":12319,"children":12320},{},[12321],{"type":29,"value":10805},{"type":29,"value":12323},"（ISC）",{"type":23,"tag":747,"props":12325,"children":12326},{},[12327,12329,12334,12335,12339],{"type":29,"value":12328},"vivo 小游戏：npm 实测 ",{"type":23,"tag":97,"props":12330,"children":12332},{"className":12331},[],[12333],{"type":29,"value":10047},{"type":29,"value":883},{"type":23,"tag":45,"props":12336,"children":12337},{},[12338],{"type":29,"value":10854},{"type":29,"value":12340},"（MIT，\"Command line interface for rapid Vivo minigame development\"）",{"type":23,"tag":747,"props":12342,"children":12343},{},[12344,12346,12352,12354,12360,12362,12368,12370,12375],{"type":29,"value":12345},"小米快游戏分包\u002F包体：",{"type":23,"tag":4272,"props":12347,"children":12350},{"href":12348,"rel":12349},"https:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=1897",[4276],[12351],{"type":29,"value":12348},{"type":29,"value":12353},"；华为快游戏打包：",{"type":23,"tag":4272,"props":12355,"children":12358},{"href":12356,"rel":12357},"https:\u002F\u002Fdeveloper.huawei.com\u002Fconsumer\u002Fcn\u002Fdoc\u002Fgames-guides\u002Fgames-quickgame-tool-build-formal-0000002317894976",[4276],[12359],{"type":29,"value":12356},{"type":29,"value":12361},"（SPA 未读到正文）；OPPO rpk：",{"type":23,"tag":4272,"props":12363,"children":12366},{"href":12364,"rel":12365},"https:\u002F\u002Fopen.oppomobile.com\u002Fnew\u002FdevelopmentDoc\u002Finfo?id=12533",[4276],[12367],{"type":29,"value":12364},{"type":29,"value":12369},"（同上）；社区 ",{"type":23,"tag":97,"props":12371,"children":12373},{"className":12372},[],[12374],{"type":29,"value":11064},{"type":29,"value":12376}," 2.1.1（维护者为个人账号）",{"type":23,"tag":747,"props":12378,"children":12379},{},[12380,12382,12388,12390,12395,12397,12403,12405,12410,12412],{"type":29,"value":12381},"抖音：官方命令行工具页 ",{"type":23,"tag":4272,"props":12383,"children":12386},{"href":12384,"rel":12385},"https:\u002F\u002Fdeveloper.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-app\u002Fdevelop\u002Fdev-tools\u002Fdeveloper-instrument\u002Fdevelopment-assistance\u002Fide-cli",[4276],[12387],{"type":29,"value":12384},{"type":29,"value":12389},"（SPA，正文未读到；口径为 IDE 内置 ",{"type":23,"tag":97,"props":12391,"children":12393},{"className":12392},[],[12394],{"type":29,"value":10954},{"type":29,"value":12396},"）、CLI Skill 指南 ",{"type":23,"tag":4272,"props":12398,"children":12401},{"href":12399,"rel":12400},"https:\u002F\u002Fpartner.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-app\u002Fdevelop\u002Fdev-tools\u002Fdeveloper-instrument\u002Fdevelopment-assistance\u002Fcli-skill",[4276],[12402],{"type":29,"value":12399},{"type":29,"value":12404},"、小游戏 Adapter ",{"type":23,"tag":4272,"props":12406,"children":12408},{"href":8793,"rel":12407},[4276],[12409],{"type":29,"value":8793},{"type":29,"value":12411},"；团结引擎上传抖音页（明说须下载安装抖音开发者工具）",{"type":23,"tag":4272,"props":12413,"children":12416},{"href":12414,"rel":12415},"https:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002FManual\u002FUploadDouyinMiniGame.html",[4276],[12417],{"type":29,"value":12414},{"type":23,"tag":747,"props":12419,"children":12420},{},[12421,12423,12429,12431,12437],{"type":29,"value":12422},"原生\u002F套壳：",{"type":23,"tag":4272,"props":12424,"children":12427},{"href":12425,"rel":12426},"https:\u002F\u002Fgithub.com\u002Fionic-team\u002Fcapacitor",[4276],[12428],{"type":29,"value":12425},{"type":29,"value":12430},"（MIT，2026-10-05 仍在推）、",{"type":23,"tag":4272,"props":12432,"children":12435},{"href":12433,"rel":12434},"https:\u002F\u002Fgithub.com\u002Fapache\u002Fcordova",[4276],[12436],{"type":29,"value":12433},{"type":29,"value":12438},"（2026-05-19 有推送）",{"type":23,"tag":747,"props":12440,"children":12441},{},[12442,12444],{"type":29,"value":12443},"引擎侧包体数字（抖音 20MB／主包 4MB 等由 Cocos 手册转述，非平台原始文档）：",{"type":23,"tag":4272,"props":12445,"children":12448},{"href":12446,"rel":12447},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-bytedance-mini-game.html",[4276],[12449],{"type":29,"value":12446},{"type":23,"tag":317,"props":12451,"children":12453},{"id":12452},"附录-b我本轮亲自核到的-npm包事实",[12454],{"type":29,"value":12455},"附录 B：我本轮亲自核到的 npm\u002F包事实",{"type":23,"tag":3394,"props":12457,"children":12460},{"className":12458,"code":12459,"language":29},[6727],"miniprogram-ci      2.1.31（2024-11-12）\u002F 周下载 21,609\nminiprogram-automator 0.12.1 \u002F 发布 2023-11-06 \u002F 周下载 15,314\nminidev             2.2.5 \u002F maintainers: vip.qq.com, alibaba-inc.com \u002F 描述含\"开发、预览、上传\"\nbili-sgame-cli      2.1.22 \u002F ISC \u002F \"Bilibili Small Game Cli\"\n@vivo-minigame\u002Fcli  1.27.45 \u002F MIT\ntt-minigame-ide-cli 2.1.1 \u002F 周下载 258\ncocos\u002Fcocos-engine  latest release 3.8.8（2025-12-16）\n",[12461],{"type":23,"tag":97,"props":12462,"children":12463},{"__ignoreMap":3399},[12464],{"type":29,"value":12459},{"type":23,"tag":317,"props":12466,"children":12468},{"id":12467},"附录-c引擎与方案侧依据",[12469],{"type":29,"value":12470},"附录 C：引擎与方案侧依据",{"type":23,"tag":1909,"props":12472,"children":12473},{},[12474,12499,12510,12515,12542,12560,12583,12608,12627,12672,12691,12740,12751,12762,12773],{"type":23,"tag":747,"props":12475,"children":12476},{},[12477,12479,12485,12486,12492,12493],{"type":29,"value":12478},"Cocos Creator 3.8 手册·跨平台发布（官方渠道清单 + ",{"type":23,"tag":97,"props":12480,"children":12482},{"className":12481},[],[12483],{"type":29,"value":12484},"命令行发布项目",{"type":29,"value":8565},{"type":23,"tag":4272,"props":12487,"children":12490},{"href":12488,"rel":12489},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002F",[4276],[12491],{"type":29,"value":12488},{"type":29,"value":1137},{"type":23,"tag":4272,"props":12494,"children":12497},{"href":12495,"rel":12496},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-in-command-line.html",[4276],[12498],{"type":29,"value":12495},{"type":23,"tag":747,"props":12500,"children":12501},{},[12502,12504],{"type":29,"value":12503},"Cocos Creator 4.0 手册（4.0 LTS 存在，渠道清单同上，无 QQ\u002F快手\u002FB站\u002F小米页）：",{"type":23,"tag":4272,"props":12505,"children":12508},{"href":12506,"rel":12507},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002F",[4276],[12509],{"type":29,"value":12506},{"type":23,"tag":747,"props":12511,"children":12512},{},[12513],{"type":29,"value":12514},"命令行构建需 GUI 环境、仅给 macOS\u002FWindows 范例：同上\"命令行发布项目\"页（我复验过要点）",{"type":23,"tag":747,"props":12516,"children":12517},{},[12518,12520,12525,12526,12532,12534,12540],{"type":29,"value":12519},"COCOS 4 官方发布稿（2025-12-30；MIT、脱离商业约定、新特性按 MCP\u002FAgent 交付逻辑设计、编辑器能力 CLI 化、",{"type":23,"tag":45,"props":12521,"children":12522},{},[12523],{"type":29,"value":12524},"小游戏适配分阶段解锁",{"type":29,"value":8565},{"type":23,"tag":4272,"props":12527,"children":12530},{"href":12528,"rel":12529},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F172915",[4276],[12531],{"type":29,"value":12528},{"type":29,"value":12533},"；英文通稿 ",{"type":23,"tag":4272,"props":12535,"children":12538},{"href":12536,"rel":12537},"https:\u002F\u002Fwww.prnewswire.com\u002Fapac\u002Fnews-releases\u002Fcocos-4-is-here-fully-open-source-302652633.html",[4276],[12539],{"type":29,"value":12536},{"type":29,"value":12541},"（2026-01-05）",{"type":23,"tag":747,"props":12543,"children":12544},{},[12545,12547,12552,12554],{"type":29,"value":12546},"Cocos 4 ",{"type":23,"tag":97,"props":12548,"children":12550},{"className":12549},[],[12551],{"type":29,"value":11993},{"type":29,"value":12553}," 内置官方 MCP 的实测介绍（2026-04；需 Node 22.17.0；CLI 项目暂无集成图形编辑器）：",{"type":23,"tag":4272,"props":12555,"children":12558},{"href":12556,"rel":12557},"https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7625923696347807770",[4276],[12559],{"type":29,"value":12556},{"type":23,"tag":747,"props":12561,"children":12562},{},[12563,12565,12570,12572,12577,12578],{"type":29,"value":12564},"Cocos 引擎版本事实：GitHub ",{"type":23,"tag":97,"props":12566,"children":12568},{"className":12567},[],[12569],{"type":29,"value":5953},{"type":29,"value":12571}," latest release ",{"type":23,"tag":45,"props":12573,"children":12574},{},[12575],{"type":29,"value":12576},"3.8.8（2025-12-16）",{"type":29,"value":883},{"type":23,"tag":97,"props":12579,"children":12581},{"className":12580},[],[12582],{"type":29,"value":206},{"type":23,"tag":747,"props":12584,"children":12585},{},[12586,12588,12593,12595,12601,12602],{"type":29,"value":12587},"Cocos Creator 2.4 的社区 MCP 插件 ",{"type":23,"tag":97,"props":12589,"children":12591},{"className":12590},[],[12592],{"type":29,"value":10487},{"type":29,"value":12594},"（MIT，2026-06-10，声明 2.4.15 验证）：",{"type":23,"tag":4272,"props":12596,"children":12599},{"href":12597,"rel":12598},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F176150",[4276],[12600],{"type":29,"value":12597},{"type":29,"value":1137},{"type":23,"tag":4272,"props":12603,"children":12606},{"href":12604,"rel":12605},"https:\u002F\u002Fgithub.com\u002Fshiliyu1991-lang\u002Fcocos-mcp-2x",[4276],[12607],{"type":29,"value":12604},{"type":23,"tag":747,"props":12609,"children":12610},{},[12611,12613,12619,12621],{"type":29,"value":12612},"Cocos 支持支付宝小游戏的官方公告（2023）：",{"type":23,"tag":4272,"props":12614,"children":12617},{"href":12615,"rel":12616},"https:\u002F\u002Fwww.cocos.com\u002Fpost\u002F1f74a54f39b3123ad272ca0a06e7463f",[4276],[12618],{"type":29,"value":12615},{"type":29,"value":12620},"；B站小游戏为社区适配方案：",{"type":23,"tag":4272,"props":12622,"children":12625},{"href":12623,"rel":12624},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F163571\u002F4",[4276],[12626],{"type":29,"value":12623},{"type":23,"tag":747,"props":12628,"children":12629},{},[12630,12632,12636,12637,12642,12644,12649,12650,12656,12658,12664,12666],{"type":29,"value":12631},"LayaAir 3 官方文档目录（v3.4，2026-08-17 更新）：发布章节含 Web\u002FH5（单文件、CrazyGames、Poki）、微信(含 Worker)、抖音、OPPO、vivo、小米快游戏、",{"type":23,"tag":45,"props":12633,"children":12634},{},[12635],{"type":29,"value":9506},{"type":29,"value":1137},{"type":23,"tag":45,"props":12638,"children":12639},{},[12640],{"type":29,"value":12641},"哔哩哔哩",{"type":29,"value":12643},"、支付宝、淘宝，以及 ",{"type":23,"tag":45,"props":12645,"children":12646},{},[12647],{"type":29,"value":12648},"LayaNative 原生（Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002FLinux）",{"type":29,"value":741},{"type":23,"tag":4272,"props":12651,"children":12654},{"href":12652,"rel":12653},"https:\u002F\u002Flayaair.com\u002F3.x\u002Fdoc\u002F",[4276],[12655],{"type":29,"value":12652},{"type":29,"value":12657},"；小游戏发布页（渠道 + ",{"type":23,"tag":97,"props":12659,"children":12661},{"className":12660},[],[12662],{"type":29,"value":12663},"build-templates\u002F",{"type":29,"value":12665}," + 命令行）：",{"type":23,"tag":4272,"props":12667,"children":12670},{"href":12668,"rel":12669},"https:\u002F\u002Flayaair.com\u002F3.3\u002Fdoc\u002Freleased\u002FminiGame\u002Freadme.html",[4276],[12671],{"type":29,"value":12668},{"type":23,"tag":747,"props":12673,"children":12674},{},[12675,12677,12683,12685],{"type":29,"value":12676},"LayaAir 官方命令行（IDE 二进制后台模式，\"脚本执行结束后自动退出\"）：",{"type":23,"tag":4272,"props":12678,"children":12681},{"href":12679,"rel":12680},"https:\u002F\u002Flayaair.com\u002F3.3\u002Fdoc\u002Freleased\u002FcommandLine\u002Freadme.html",[4276],[12682],{"type":29,"value":12679},{"type":29,"value":12684},"；官方论坛答复\"IDE 已支持 headless CLI 模式、CLI 工作流开发中\"：",{"type":23,"tag":4272,"props":12686,"children":12689},{"href":12687,"rel":12688},"https:\u002F\u002Fask.layabox.com\u002Fd\u002F55091",[4276],[12690],{"type":29,"value":12687},{"type":23,"tag":747,"props":12692,"children":12693},{},[12694,12696,12702,12704,12710,12712,12718,12720,12726,12727,12732,12734,12739],{"type":29,"value":12695},"Laya 官方 AI 相关仓库：",{"type":23,"tag":4272,"props":12697,"children":12700},{"href":12698,"rel":12699},"https:\u002F\u002Fgithub.com\u002Flayabox\u002Flayaair-cli",[4276],[12701],{"type":29,"value":12698},{"type":29,"value":12703},"（2026-06）、",{"type":23,"tag":4272,"props":12705,"children":12708},{"href":12706,"rel":12707},"https:\u002F\u002Fgithub.com\u002Flayabox\u002Flayaair-skills",[4276],[12709],{"type":29,"value":12706},{"type":29,"value":12711},"（2026-09）、",{"type":23,"tag":4272,"props":12713,"children":12716},{"href":12714,"rel":12715},"https:\u002F\u002Fgithub.com\u002Flayabox\u002FLayaAir-mcp-plugin",[4276],[12717],{"type":29,"value":12714},{"type":29,"value":12719},"（2025-11）；官方 AI 产品 LayaIdea：",{"type":23,"tag":4272,"props":12721,"children":12724},{"href":12722,"rel":12723},"https:\u002F\u002Flayaidea.layabox.com\u002F",[4276],[12725],{"type":29,"value":12722},{"type":29,"value":4677},{"type":23,"tag":4272,"props":12728,"children":12730},{"href":4680,"rel":12729},[4276],[12731],{"type":29,"value":4680},{"type":29,"value":12733},"（MIT，2026-09-24，",{"type":23,"tag":45,"props":12735,"children":12736},{},[12737],{"type":29,"value":12738},"组织内无 IDE 源码 → IDE 闭源",{"type":29,"value":951},{"type":23,"tag":747,"props":12741,"children":12742},{},[12743,12745],{"type":29,"value":12744},"行业盘点（2026-05）：Cocos 覆盖国内小游戏公司比例、uni-app\u002FTaro 不适合复杂游戏：",{"type":23,"tag":4272,"props":12746,"children":12749},{"href":12747,"rel":12748},"https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7642258996859355162",[4276],[12750],{"type":29,"value":12747},{"type":23,"tag":747,"props":12752,"children":12753},{},[12754,12756],{"type":29,"value":12755},"全程 AI 上线微信小游戏的复盘（2026-08，Canvas2D+TS+Vite，人工负责规范\u002F架构\u002F多端封装\u002F提审）：",{"type":23,"tag":4272,"props":12757,"children":12760},{"href":12758,"rel":12759},"https:\u002F\u002Farticle.juejin.cn\u002Fpost\u002F7669058712007147539",[4276],[12761],{"type":29,"value":12758},{"type":23,"tag":747,"props":12763,"children":12764},{},[12765,12767],{"type":29,"value":12766},"第三方\"AI 时代引擎选择\"观点（Godot 纯文本场景适合 AI、Cocos 3.x\u002FUnity 因序列化不透明受阻；该文对 Godot 多端导出的说法不含小游戏，需按本文矩阵修正理解）：",{"type":23,"tag":4272,"props":12768,"children":12771},{"href":12769,"rel":12770},"https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7633051643748024363",[4276],[12772],{"type":29,"value":12769},{"type":23,"tag":747,"props":12774,"children":12775},{},[12776,12778,12783,12785,12790,12792,12797,12799,12804],{"type":29,"value":12777},"本机实测（Demo）：",{"type":23,"tag":97,"props":12779,"children":12781},{"className":12780},[],[12782],{"type":29,"value":4915},{"type":29,"value":12784}," 周下载 21,609、",{"type":23,"tag":97,"props":12786,"children":12788},{"className":12787},[],[12789],{"type":29,"value":7126},{"type":29,"value":12791}," 0.12.1\u002F2023-11-06、",{"type":23,"tag":97,"props":12793,"children":12795},{"className":12794},[],[12796],{"type":29,"value":7250},{"type":29,"value":12798}," 2.1.1\u002F258、Phaser 4.2.1、pixi.js 8.22.0、@pixi\u002Fui 2.4.1(MIT, peer ",{"type":23,"tag":97,"props":12800,"children":12802},{"className":12801},[],[12803],{"type":29,"value":5693},{"type":29,"value":12805},")、planck 217,176\u002F周、微信包体上限 主包 4MB／总包 ≤30MB／独立分包 ≤4MB",{"type":23,"tag":317,"props":12807,"children":12809},{"id":12808},"附录-d第二路调研依据引擎官方件团结引擎收费",[12810],{"type":29,"value":12811},"附录 D：第二路调研依据（引擎官方件、团结引擎收费）",{"type":23,"tag":1909,"props":12813,"children":12814},{},[12815,12852,12903,12930,12949,12970,12997,13022,13033],{"type":23,"tag":747,"props":12816,"children":12817},{},[12818,12819,12824,12826,12832,12833,12838,12839,12844,12846],{"type":29,"value":10893},{"type":23,"tag":97,"props":12820,"children":12822},{"className":12821},[],[12823],{"type":29,"value":11993},{"type":29,"value":12825}," 仓库（cocos 组织、MIT、建 2025-09-04、最近推送 2026-09-28；",{"type":23,"tag":97,"props":12827,"children":12829},{"className":12828},[],[12830],{"type":29,"value":12831},"cocos create\u002Fbuild --platform",{"type":29,"value":1137},{"type":23,"tag":97,"props":12834,"children":12836},{"className":12835},[],[12837],{"type":29,"value":11948},{"type":29,"value":1137},{"type":23,"tag":97,"props":12840,"children":12842},{"className":12841},[],[12843],{"type":29,"value":11958},{"type":29,"value":12845},"；README 只声明 Windows\u002FmacOS）：",{"type":23,"tag":4272,"props":12847,"children":12850},{"href":12848,"rel":12849},"https:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos-cli",[4276],[12851],{"type":29,"value":12848},{"type":23,"tag":747,"props":12853,"children":12854},{},[12855,12857,12863,12864,12870,12871,12877,12878,12883,12884,12890,12891,12896,12898],{"type":29,"value":12856},"Cocos 3.8 命令行构建（",{"type":23,"tag":97,"props":12858,"children":12860},{"className":12859},[],[12861],{"type":29,"value":12862},"--project",{"type":29,"value":1233},{"type":23,"tag":97,"props":12865,"children":12867},{"className":12866},[],[12868],{"type":29,"value":12869},"--build \"platform=wechatgame;debug=true\"",{"type":29,"value":1137},{"type":23,"tag":97,"props":12872,"children":12874},{"className":12873},[],[12875],{"type":29,"value":12876},"configPath",{"type":29,"value":208},{"type":23,"tag":97,"props":12879,"children":12881},{"className":12880},[],[12882],{"type":29,"value":10424},{"type":29,"value":208},{"type":23,"tag":97,"props":12885,"children":12887},{"className":12886},[],[12888],{"type":29,"value":12889},"buildScriptsOnly",{"type":29,"value":1137},{"type":23,"tag":45,"props":12892,"children":12893},{},[12894],{"type":29,"value":12895},"退出码 36 成功 \u002F 32·34 错误",{"type":29,"value":12897},"、需 GUI 会话、仅 Win\u002Fmac 范例）：",{"type":23,"tag":4272,"props":12899,"children":12901},{"href":12495,"rel":12900},[4276],[12902],{"type":29,"value":12495},{"type":23,"tag":747,"props":12904,"children":12905},{},[12906,12908,12914,12916,12922,12924],{"type":29,"value":12907},"Cocos 原生环境要求（JDK17、Android Studio 2022.2\u002F2022.3、NDK r21~r23、Xcode 14+）：",{"type":23,"tag":4272,"props":12909,"children":12912},{"href":12910,"rel":12911},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fsetup-native-development.html",[4276],[12913],{"type":29,"value":12910},{"type":29,"value":12915},"；4.0 iOS 指南\"即可生成 Xcode 项目\"：",{"type":23,"tag":4272,"props":12917,"children":12920},{"href":12918,"rel":12919},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fios\u002Fbuild-example-ios.html",[4276],[12921],{"type":29,"value":12918},{"type":29,"value":12923},"；编辑器系统要求仅 Win\u002FmacOS（无 Linux）：",{"type":23,"tag":4272,"props":12925,"children":12928},{"href":12926,"rel":12927},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Fgetting-started\u002Finstall\u002F",[4276],[12929],{"type":29,"value":12926},{"type":23,"tag":747,"props":12931,"children":12932},{},[12933,12935,12941,12943],{"type":29,"value":12934},"Cocos 3.8.8 官方公告（2025-12-16）：",{"type":23,"tag":4272,"props":12936,"children":12939},{"href":12937,"rel":12938},"https:\u002F\u002Fforum.cocos.com\u002Ft\u002Ftopic\u002F172319",[4276],[12940],{"type":29,"value":12937},{"type":29,"value":12942},"；Cocos 用户服务协议（2022-09-01，\"是否收费以公示为准\"）：",{"type":23,"tag":4272,"props":12944,"children":12947},{"href":12945,"rel":12946},"https:\u002F\u002Fdownload.cocos.com\u002FCocosUdc\u002Fagreement\u002FCocos_User_Service_Agreement_cn_20220901.html",[4276],[12948],{"type":29,"value":12945},{"type":23,"tag":747,"props":12950,"children":12951},{},[12952,12954,12960,12962,12968],{"type":29,"value":12953},"3.8 无 QQ 小游戏专页（",{"type":23,"tag":97,"props":12955,"children":12957},{"className":12956},[],[12958],{"type":29,"value":12959},"publish-qqplay.html",{"type":29,"value":12961}," 已 404，仅 2.x\u002F3.2 手册有\"QQ 玩一玩\"）；社区做法：",{"type":23,"tag":4272,"props":12963,"children":12966},{"href":12964,"rel":12965},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F167278",[4276],[12967],{"type":29,"value":12964},{"type":29,"value":12969},"（2025-04-21）",{"type":23,"tag":747,"props":12971,"children":12972},{},[12973,12975,12979,12981,12987,12989,12995],{"type":29,"value":12974},"团结引擎平台支持（",{"type":23,"tag":45,"props":12976,"children":12977},{},[12978],{"type":29,"value":9590},{"type":29,"value":12980}," + Unity 小游戏宿主，\"更多平台即将推出\"）：",{"type":23,"tag":4272,"props":12982,"children":12985},{"href":12983,"rel":12984},"https:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002F1.7\u002FManual\u002FPlatformSupport.html",[4276],[12986],{"type":29,"value":12983},{"type":29,"value":12988},"；《快手小游戏转换 SDK》：",{"type":23,"tag":4272,"props":12990,"children":12993},{"href":12991,"rel":12992},"https:\u002F\u002Fdocs.unity.cn\u002Fcn\u002Ftuanjiemanual\u002F1.7\u002FManual\u002FKuaishouSDK.html",[4276],[12994],{"type":29,"value":12991},{"type":29,"value":12996},"；1.7.3 发布 2025-10-23",{"type":23,"tag":747,"props":12998,"children":12999},{},[13000,13002,13006,13008,13014,13016],{"type":29,"value":13001},"团结引擎授权新政（2025-07-01 生效：\u003C150 万元免费个人版；150 万–1500 万 需 1 套基础编辑器 ",{"type":23,"tag":45,"props":13003,"children":13004},{},[13005],{"type":29,"value":9617},{"type":29,"value":13007}," 无水印发小游戏；>1500 万按席位；1.6.0 起收构建费）：",{"type":23,"tag":4272,"props":13009,"children":13012},{"href":13010,"rel":13011},"https:\u002F\u002Fdeveloper.unity.cn\u002Fprojects\u002Ftuan-jie-yin-qing-zui-xin-shou-quan-zheng-ce-sheng-ming-2025nian-7yue",[4276],[13013],{"type":29,"value":13010},{"type":29,"value":13015},"；社区答复称小游戏构建费减免至 2027-06-30：",{"type":23,"tag":4272,"props":13017,"children":13020},{"href":13018,"rel":13019},"https:\u002F\u002Fdeveloper.unity.cn\u002Fask\u002Fquestion\u002F69d5ce8cedbc2a25b3892e35",[4276],[13021],{"type":29,"value":13018},{"type":23,"tag":747,"props":13023,"children":13024},{},[13025,13027],{"type":29,"value":13026},"团结 2.0（2026-07-28 发布会，内嵌 AI Agent\"团结Codely\"）与\"Unity 6 不再开放中国用户\"：",{"type":23,"tag":4272,"props":13028,"children":13031},{"href":13029,"rel":13030},"https:\u002F\u002Fwww.36kr.com\u002Fp\u002F3934480632462729",[4276],[13032],{"type":29,"value":13029},{"type":23,"tag":747,"props":13034,"children":13035},{},[13036,13038],{"type":29,"value":13037},"Egret 停止运营（2022-02，仅第三方社区维护）：",{"type":23,"tag":4272,"props":13039,"children":13042},{"href":13040,"rel":13041},"https:\u002F\u002Fnews.17173.com\u002Fcontent\u002F04042026\u002F163758762.shtml",[4276],[13043],{"type":29,"value":13040},{"type":23,"tag":225,"props":13045,"children":13046},{},[],{"type":23,"tag":24,"props":13048,"children":13050},{"id":13049},"第-4-篇-代码优先栈全部自建做全平台导出可行吗有现成件吗第四版",[13051],{"type":29,"value":13052},"第 4 篇 · 代码优先栈\"全部自建\"做全平台导出：可行吗？有现成件吗？（第四版）",{"type":23,"tag":235,"props":13054,"children":13055},{},[13056],{"type":23,"tag":39,"props":13057,"children":13058},{},[13059,13060,13066],{"type":29,"value":242},{"type":23,"tag":97,"props":13061,"children":13063},{"className":13062},[],[13064],{"type":29,"value":13065},"docs\u002Fcode-first-selfbuilt-multiplatform-2026-10.md",{"type":29,"value":250},{"type":23,"tag":24,"props":13068,"children":13070},{"id":13069},"代码优先栈全部自建做全平台导出可行吗有现成件吗第四版",[13071],{"type":29,"value":13072},"代码优先栈\"全部自建\"做全平台导出：可行吗？有现成件吗？（第四版）",{"type":23,"tag":39,"props":13074,"children":13075},{},[13076,13078,13083,13085,13090,13092,13097,13099,13104,13106,13110,13111,13117,13119,13124,13126,13131,13133,13138],{"type":29,"value":13077},"2026-10-06 ｜ 前三版：",{"type":23,"tag":97,"props":13079,"children":13081},{"className":13080},[],[13082],{"type":29,"value":102},{"type":29,"value":13084},"（存量，D1–D10）→ ",{"type":23,"tag":97,"props":13086,"children":13088},{"className":13087},[],[13089],{"type":29,"value":124},{"type":29,"value":13091},"（新项目，D11–D24）→ ",{"type":23,"tag":97,"props":13093,"children":13095},{"className":13094},[],[13096],{"type":29,"value":146},{"type":29,"value":13098},"（多端交集，D25–D37）。本文决策编号从 ",{"type":23,"tag":45,"props":13100,"children":13101},{},[13102],{"type":29,"value":13103},"D38",{"type":29,"value":13105}," 起。\n讨论对象 = 上一版的 ",{"type":23,"tag":45,"props":13107,"children":13108},{},[13109],{"type":29,"value":9659},{"type":29,"value":741},{"type":23,"tag":97,"props":13112,"children":13114},{"className":13113},[],[13115],{"type":29,"value":13116},"Phaser 4 \u002F PixiJS 8 \u002F three.js + 自维护多端 shim + Capacitor",{"type":29,"value":13118},"。\n标注：",{"type":23,"tag":97,"props":13120,"children":13122},{"className":13121},[],[13123],{"type":29,"value":206},{"type":29,"value":13125}," 我亲自核过；",{"type":23,"tag":97,"props":13127,"children":13129},{"className":13128},[],[13130],{"type":29,"value":4849},{"type":29,"value":13132}," 子代理取证（URL 在附录）；",{"type":23,"tag":97,"props":13134,"children":13136},{"className":13135},[],[13137],{"type":29,"value":4857},{"type":29,"value":13139}," 我的估计，不是任何官方承诺。",{"type":23,"tag":225,"props":13141,"children":13142},{},[],{"type":23,"tag":317,"props":13144,"children":13146},{"id":13145},"_0-一句话结论",[13147],{"type":29,"value":13148},"0. 一句话结论",{"type":23,"tag":39,"props":13150,"children":13151},{},[13152,13157],{"type":23,"tag":45,"props":13153,"children":13154},{},[13155],{"type":29,"value":13156},"技术上可行，成本可控，但\"全部自建的成熟方案包\"不存在——你能选到的是\"零件\"，不是\"整体\"。",{"type":29,"value":13158}," 具体分三句话：",{"type":23,"tag":743,"props":13160,"children":13161},{},[13162,13207,13279],{"type":23,"tag":747,"props":13163,"children":13164},{},[13165,13170,13172,13178,13180,13186,13187,13192,13194,13200,13202],{"type":23,"tag":45,"props":13166,"children":13167},{},[13168],{"type":29,"value":13169},"跨端统一适配层没有可选型的开源件",{"type":29,"value":13171},"。我这次专门找过：最接近的 ",{"type":23,"tag":97,"props":13173,"children":13175},{"className":13174},[],[13176],{"type":29,"value":13177},"@pixifact\u002Fplatform-*",{"type":29,"value":13179},"（0★、仅 Web\u002F微信\u002F抖音、末次提交 2026-06-01）、",{"type":23,"tag":97,"props":13181,"children":13183},{"className":13182},[],[13184],{"type":29,"value":13185},"minigame-std",{"type":29,"value":1373},{"type":23,"tag":45,"props":13188,"children":13189},{},[13190],{"type":29,"value":13191},"GPL-3.0",{"type":29,"value":13193},"，只 polyfill fetch\u002Ffs\u002Fcrypto\u002Fwebaudio）、",{"type":23,"tag":97,"props":13195,"children":13197},{"className":13196},[],[13198],{"type":29,"value":13199},"godot-minigame",{"type":29,"value":13201},"（9★、Godot 专用）。",{"type":23,"tag":45,"props":13203,"children":13204},{},[13205],{"type":29,"value":13206},"结论：中间那层归一接口必须你自己拥有。",{"type":23,"tag":747,"props":13208,"children":13209},{},[13210,13215,13217,13222,13224,13229,13231,13237,13238,13244,13246,13251,13252,13258,13260,13271,13273,13278],{"type":23,"tag":45,"props":13211,"children":13212},{},[13213],{"type":29,"value":13214},"但每一端都有\"官方单端 adapter\"",{"type":29,"value":13216},"，所以事实上的成熟模式是",{"type":23,"tag":45,"props":13218,"children":13219},{},[13220],{"type":29,"value":13221},"以微信为基准 + 每端薄壳",{"type":29,"value":13223},"：微信官方 ",{"type":23,"tag":97,"props":13225,"children":13227},{"className":13226},[],[13228],{"type":29,"value":7450},{"type":29,"value":13230}," 直链、支付宝官方 ",{"type":23,"tag":97,"props":13232,"children":13234},{"className":13233},[],[13235],{"type":29,"value":13236},"my-adapter.js",{"type":29,"value":208},{"type":23,"tag":97,"props":13239,"children":13241},{"className":13240},[],[13242],{"type":29,"value":13243},"microgame-adapter.js",{"type":29,"value":13245},"、B站官方 ",{"type":23,"tag":97,"props":13247,"children":13249},{"className":13248},[],[13250],{"type":29,"value":2042},{"type":29,"value":1233},{"type":23,"tag":97,"props":13253,"children":13255},{"className":13254},[],[13256],{"type":29,"value":13257},"blapp-adapter-cocos.js",{"type":29,"value":13259}," 直链、快手开发者工具\"开启自动适配微信\"会",{"type":23,"tag":45,"props":13261,"children":13262},{},[13263,13265],{"type":29,"value":13264},"自动生成 ",{"type":23,"tag":97,"props":13266,"children":13268},{"className":13267},[],[13269],{"type":29,"value":13270},"kwaiadapter.js",{"type":29,"value":13272},"、OPPO 有官方\"微信小游戏一键转 OPPO\"转换工具。→ 你要写的不是\"七套 DOM 垫片\"，而是",{"type":23,"tag":45,"props":13274,"children":13275},{},[13276],{"type":29,"value":13277},"一套业务 API 归一层 + 各端薄壳",{"type":29,"value":275},{"type":23,"tag":747,"props":13280,"children":13281},{},[13282,13287,13289,13294,13296,13302,13304,13309,13311,13316,13318,13323,13325,13330],{"type":23,"tag":45,"props":13283,"children":13284},{},[13285],{"type":29,"value":13286},"原生壳与 H5 渠道是真成熟的",{"type":29,"value":13288},"：Capacitor ",{"type":23,"tag":45,"props":13290,"children":13291},{},[13292],{"type":29,"value":13293},"8.5.2",{"type":29,"value":13295},"（MIT，2026-09-11）+ Phaser 官方出的 iOS\u002FAndroid 接入教程；H5 出海有 Poki SDK v2、CrazyGames SDK v3、GameDistribution ",{"type":23,"tag":97,"props":13297,"children":13299},{"className":13298},[],[13300],{"type":29,"value":13301},"GD-HTML5",{"type":29,"value":13303},"（MIT 1.3.0）。",{"type":23,"tag":45,"props":13305,"children":13306},{},[13307],{"type":29,"value":13308},"但两个硬数字要先看",{"type":29,"value":13310},"：① iOS WKWebView 性能——微信官方同场景数据 ",{"type":23,"tag":45,"props":13312,"children":13313},{},[13314],{"type":29,"value":13315},"10–15 FPS vs 原生渲染 48–50 FPS",{"type":29,"value":13317},"（这就是\"高性能模式\"存在的原因，也是 WebView 壳的量级代价）；② 国区安卓上架要",{"type":23,"tag":45,"props":13319,"children":13320},{},[13321],{"type":29,"value":13322},"营业执照＋网文证＋增值电信许可证＋ISBN 版号＋软著",{"type":29,"value":13324},"（小米官方，无版号只能\"预约\"）→ ",{"type":23,"tag":45,"props":13326,"children":13327},{},[13328],{"type":29,"value":13329},"原生 App 的门槛是资质，不是代码",{"type":29,"value":275},{"type":23,"tag":39,"props":13332,"children":13333},{},[13334,13339,13341,13346],{"type":23,"tag":45,"props":13335,"children":13336},{},[13337],{"type":29,"value":13338},"顺带一句诚实话",{"type":29,"value":13340},"：我",{"type":23,"tag":45,"props":13342,"children":13343},{},[13344],{"type":29,"value":13345},"没找到",{"type":29,"value":13347},"任何\"用 Phaser\u002FPixi 做到多个小游戏端同时上线\"的公开可查案例（只有单端 demo 级）。所以这条路的成熟度是\"零件成熟、集成无先例可查\"，别按\"业界都这么做\"来评估风险。",{"type":23,"tag":225,"props":13349,"children":13350},{},[],{"type":23,"tag":317,"props":13352,"children":13354},{"id":13353},"_1-分层拆解哪层现成哪层空白",[13355],{"type":29,"value":13356},"1. 分层拆解：哪层现成、哪层空白",{"type":23,"tag":53,"props":13358,"children":13359},{},[13360,13386],{"type":23,"tag":57,"props":13361,"children":13362},{},[13363],{"type":23,"tag":61,"props":13364,"children":13365},{},[13366,13371,13376,13381],{"type":23,"tag":65,"props":13367,"children":13368},{},[13369],{"type":29,"value":13370},"层",{"type":23,"tag":65,"props":13372,"children":13373},{},[13374],{"type":29,"value":13375},"能直接选（成熟件）",{"type":23,"tag":65,"props":13377,"children":13378},{},[13379],{"type":29,"value":13380},"能抄但要改",{"type":23,"tag":65,"props":13382,"children":13383},{},[13384],{"type":29,"value":13385},"必须自己写",{"type":23,"tag":81,"props":13387,"children":13388},{},[13389,13434,13513,13559,13639,13683,13721],{"type":23,"tag":61,"props":13390,"children":13391},{},[13392,13400,13417,13429],{"type":23,"tag":88,"props":13393,"children":13394},{},[13395],{"type":23,"tag":45,"props":13396,"children":13397},{},[13398],{"type":29,"value":13399},"渲染\u002F玩法",{"type":23,"tag":88,"props":13401,"children":13402},{},[13403,13405,13410,13412],{"type":29,"value":13404},"Phaser 4.2.1（MIT，40,410★）、PixiJS 8.22.0 + ",{"type":23,"tag":97,"props":13406,"children":13408},{"className":13407},[],[13409],{"type":29,"value":5490},{"type":29,"value":13411}," 2.4.1（MIT）、three r186（MIT，24,326,206 次\u002F周）",{"type":23,"tag":97,"props":13413,"children":13415},{"className":13414},[],[13416],{"type":29,"value":206},{"type":23,"tag":88,"props":13418,"children":13419},{},[13420,13422,13427],{"type":29,"value":13421},"骨骼动画：Spine 运行时只能",{"type":23,"tag":45,"props":13423,"children":13424},{},[13425],{"type":29,"value":13426},"单向消费",{"type":29,"value":13428},"导出 JSON",{"type":23,"tag":88,"props":13430,"children":13431},{},[13432],{"type":29,"value":13433},"玩法代码、UI 组件层（Phaser 无成套控件）",{"type":23,"tag":61,"props":13435,"children":13436},{},[13437,13445,13489,13501],{"type":23,"tag":88,"props":13438,"children":13439},{},[13440],{"type":23,"tag":45,"props":13441,"children":13442},{},[13443],{"type":29,"value":13444},"DOM\u002FBOM 垫片",{"type":23,"tag":88,"props":13446,"children":13447},{},[13448,13450,13455,13457,13462,13463,13468,13470,13475,13477,13482,13484],{"type":29,"value":13449},"微信 ",{"type":23,"tag":97,"props":13451,"children":13453},{"className":13452},[],[13454],{"type":29,"value":7450},{"type":29,"value":13456},"（官方直链）、支付宝 ",{"type":23,"tag":97,"props":13458,"children":13460},{"className":13459},[],[13461],{"type":29,"value":13236},{"type":29,"value":208},{"type":23,"tag":97,"props":13464,"children":13466},{"className":13465},[],[13467],{"type":29,"value":13243},{"type":29,"value":13469},"、B站 ",{"type":23,"tag":97,"props":13471,"children":13473},{"className":13472},[],[13474],{"type":29,"value":13257},{"type":29,"value":13476},"、快手 ",{"type":23,"tag":97,"props":13478,"children":13480},{"className":13479},[],[13481],{"type":29,"value":13270},{"type":29,"value":13483},"（工具自动生成）",{"type":23,"tag":97,"props":13485,"children":13487},{"className":13486},[],[13488],{"type":29,"value":4849},{"type":23,"tag":88,"props":13490,"children":13491},{},[13492,13494,13499],{"type":29,"value":13493},"各家 adapter 都是",{"type":23,"tag":45,"props":13495,"children":13496},{},[13497],{"type":29,"value":13498},"按 Cocos\u002FLaya\u002FEgret 的形状",{"type":29,"value":13500},"写的，Phaser\u002FPixi 用要裁剪（我 Demo 自写 \u003C300 行即跑通，与 2026-08 那篇复盘一致）",{"type":23,"tag":88,"props":13502,"children":13503},{},[13504,13506,13511],{"type":29,"value":13505},"QQ、小米\u002F华为\u002Fvivo 快游戏这几端",{"type":23,"tag":45,"props":13507,"children":13508},{},[13509],{"type":29,"value":13510},"未找到官方 adapter",{"type":29,"value":13512}," → 自己补",{"type":23,"tag":61,"props":13514,"children":13515},{},[13516,13526,13537,13548],{"type":23,"tag":88,"props":13517,"children":13518},{},[13519,13524],{"type":23,"tag":45,"props":13520,"children":13521},{},[13522],{"type":29,"value":13523},"业务 API 归一层",{"type":29,"value":13525},"（登录\u002F支付\u002F广告\u002F分享\u002F排行榜\u002F生命周期\u002F隐私授权）",{"type":23,"tag":88,"props":13527,"children":13528},{},[13529,13530,13535],{"type":29,"value":9868},{"type":23,"tag":45,"props":13531,"children":13532},{},[13533],{"type":29,"value":13534},"没有成熟开源件",{"type":29,"value":13536},"（本文核心发现）",{"type":23,"tag":88,"props":13538,"children":13539},{},[13540,13542,13547],{"type":29,"value":13541},"各家 api-typings 可当形状来源（但 QQ\u002F快手\u002FB站",{"type":23,"tag":45,"props":13543,"children":13544},{},[13545],{"type":29,"value":13546},"无 typings",{"type":29,"value":951},{"type":23,"tag":88,"props":13549,"children":13550},{},[13551,13552,13557],{"type":29,"value":1567},{"type":23,"tag":45,"props":13553,"children":13554},{},[13555],{"type":29,"value":13556},"整层自建",{"type":29,"value":13558},"，约 15–20 个接口面（§3）",{"type":23,"tag":61,"props":13560,"children":13561},{},[13562,13570,13616,13621],{"type":23,"tag":88,"props":13563,"children":13564},{},[13565],{"type":23,"tag":45,"props":13566,"children":13567},{},[13568],{"type":29,"value":13569},"构建\u002F打包",{"type":23,"tag":88,"props":13571,"children":13572},{},[13573,13575,13580,13582,13588,13590,13595,13597,13602,13604,13609,13611],{"type":29,"value":13574},"Vite 7.3.6、esbuild、",{"type":23,"tag":97,"props":13576,"children":13578},{"className":13577},[],[13579],{"type":29,"value":4915},{"type":29,"value":13581}," 2.1.31、",{"type":23,"tag":97,"props":13583,"children":13585},{"className":13584},[],[13586],{"type":29,"value":13587},"@douyin-minigame\u002Fcli",{"type":29,"value":13589}," 0.4.0、",{"type":23,"tag":97,"props":13591,"children":13593},{"className":13592},[],[13594],{"type":29,"value":10089},{"type":29,"value":13596}," 2.1.22、",{"type":23,"tag":97,"props":13598,"children":13600},{"className":13599},[],[13601],{"type":29,"value":10047},{"type":29,"value":13603}," 1.27.45、",{"type":23,"tag":97,"props":13605,"children":13607},{"className":13606},[],[13608],{"type":29,"value":9973},{"type":29,"value":13610}," 2.2.5 ",{"type":23,"tag":97,"props":13612,"children":13614},{"className":13613},[],[13615],{"type":29,"value":206},{"type":23,"tag":88,"props":13617,"children":13618},{},[13619],{"type":29,"value":13620},"分包结构、远程资源策略要按端调",{"type":23,"tag":88,"props":13622,"children":13623},{},[13624,13629,13631,13637],{"type":23,"tag":45,"props":13625,"children":13626},{},[13627],{"type":29,"value":13628},"Vite 小游戏专用插件：未找到",{"type":29,"value":13630}," → 我 Demo 的三 mode + ",{"type":23,"tag":97,"props":13632,"children":13634},{"className":13633},[],[13635],{"type":29,"value":13636},"finalize-wxgame.mjs",{"type":29,"value":13638}," 就是这块自研",{"type":23,"tag":61,"props":13640,"children":13641},{},[13642,13649,13654,13672],{"type":23,"tag":88,"props":13643,"children":13644},{},[13645],{"type":23,"tag":45,"props":13646,"children":13647},{},[13648],{"type":29,"value":5256},{"type":23,"tag":88,"props":13650,"children":13651},{},[13652],{"type":29,"value":13653},"Chromium\u002FEdge headless、Playwright\u002FPuppeteer、Vitest",{"type":23,"tag":88,"props":13655,"children":13656},{},[13657,13659,13664,13666,13671],{"type":29,"value":13658},"各家 IDE 的模拟器无法无头驱动（",{"type":23,"tag":97,"props":13660,"children":13662},{"className":13661},[],[13663],{"type":29,"value":7126},{"type":29,"value":13665}," 不覆盖小游戏 ",{"type":23,"tag":97,"props":13667,"children":13669},{"className":13668},[],[13670],{"type":29,"value":206},{"type":29,"value":951},{"type":23,"tag":88,"props":13673,"children":13674},{},[13675,13677,13682],{"type":29,"value":13676},"喂帧断言框架（Demo 已实现：",{"type":23,"tag":97,"props":13678,"children":13680},{"className":13679},[],[13681],{"type":29,"value":8470},{"type":29,"value":951},{"type":23,"tag":61,"props":13684,"children":13685},{},[13686,13694,13699,13704],{"type":23,"tag":88,"props":13687,"children":13688},{},[13689],{"type":23,"tag":45,"props":13690,"children":13691},{},[13692],{"type":29,"value":13693},"原生壳",{"type":23,"tag":88,"props":13695,"children":13696},{},[13697],{"type":29,"value":13698},"Capacitor 8.5.2（MIT，36 个官方插件，含 SplashScreen\u002FKeyboard\u002FFilesystem\u002FStatusBar\u002FSystem Bars）、Cordova 13.0.0、Tauri 2.12.1（移动端用系统 WebView）",{"type":23,"tag":88,"props":13700,"children":13701},{},[13702],{"type":29,"value":13703},"音频要用户手势解锁（Capacitor 不提供绕过）；iOS 最低 15；HTTP 资源要手写 Info.plist（v8 未文档化 ATS）",{"type":23,"tag":88,"props":13705,"children":13706},{},[13707,13719],{"type":23,"tag":45,"props":13708,"children":13709},{},[13710,13712,13717],{"type":29,"value":13711},"App 内 ",{"type":23,"tag":97,"props":13713,"children":13715},{"className":13714},[],[13716],{"type":29,"value":3249},{"type":29,"value":13718}," 反向 mock：未找到成熟件",{"type":29,"value":13720}," → 自己写（这层其实最简单，因为 Web 有原生实现）",{"type":23,"tag":61,"props":13722,"children":13723},{},[13724,13732,13744,13749],{"type":23,"tag":88,"props":13725,"children":13726},{},[13727],{"type":23,"tag":45,"props":13728,"children":13729},{},[13730],{"type":29,"value":13731},"H5 渠道",{"type":23,"tag":88,"props":13733,"children":13734},{},[13735,13737,13742],{"type":29,"value":13736},"Poki SDK v2、CrazyGames SDK v3、",{"type":23,"tag":97,"props":13738,"children":13740},{"className":13739},[],[13741],{"type":29,"value":13301},{"type":29,"value":13743}," 1.3.0（MIT）、华为快游戏官方文档",{"type":23,"tag":88,"props":13745,"children":13746},{},[13747],{"type":29,"value":13748},"Poki 明文要求\"广告期间关闭音频与键盘输入\"→ 要有中断状态机",{"type":23,"tag":88,"props":13750,"children":13751},{},[13752,13754,13759],{"type":29,"value":13753},"国内 4399 文档站是 JS 渲染",{"type":23,"tag":45,"props":13755,"children":13756},{},[13757],{"type":29,"value":13758},"正文不可核",{"type":29,"value":13760},"、闪玩未找到",{"type":23,"tag":225,"props":13762,"children":13763},{},[],{"type":23,"tag":317,"props":13765,"children":13767},{"id":13766},"_2-逐端可行性与工作量估-人日按已有微信端为基线",[13768,13770,13774],{"type":29,"value":13769},"2. 逐端可行性与工作量（",{"type":23,"tag":3405,"props":13771,"children":13772},{},[13773],{"type":29,"value":6350},{"type":29,"value":13775}," 人日，按\"已有微信端\"为基线）",{"type":23,"tag":53,"props":13777,"children":13778},{},[13779,13816],{"type":23,"tag":57,"props":13780,"children":13781},{},[13782],{"type":23,"tag":61,"props":13783,"children":13784},{},[13785,13789,13794,13799,13804,13809],{"type":23,"tag":65,"props":13786,"children":13787},{},[13788],{"type":29,"value":10656},{"type":23,"tag":65,"props":13790,"children":13791},{},[13792],{"type":29,"value":13793},"官方 adapter",{"type":23,"tag":65,"props":13795,"children":13796},{},[13797],{"type":29,"value":13798},"上传\u002F预览可脚本化？",{"type":23,"tag":65,"props":13800,"children":13801},{},[13802],{"type":29,"value":13803},"包体上限（主包\u002F总包）",{"type":23,"tag":65,"props":13805,"children":13806},{},[13807],{"type":29,"value":13808},"剩余自建面",{"type":23,"tag":65,"props":13810,"children":13811},{},[13812],{"type":23,"tag":3405,"props":13813,"children":13814},{},[13815],{"type":29,"value":6350},{"type":23,"tag":81,"props":13817,"children":13818},{},[13819,13855,13899,13949,13996,14063,14100,14147,14178,14208],{"type":23,"tag":61,"props":13820,"children":13821},{},[13822,13827,13832,13841,13846,13850],{"type":23,"tag":88,"props":13823,"children":13824},{},[13825],{"type":29,"value":13826},"微信（基准）",{"type":23,"tag":88,"props":13828,"children":13829},{},[13830],{"type":29,"value":13831},"✅ 官方 zip",{"type":23,"tag":88,"props":13833,"children":13834},{},[13835,13836],{"type":29,"value":1567},{"type":23,"tag":97,"props":13837,"children":13839},{"className":13838},[],[13840],{"type":29,"value":4915},{"type":23,"tag":88,"props":13842,"children":13843},{},[13844],{"type":29,"value":13845},"4MB \u002F ≤30MB（独立分包 ≤4MB）",{"type":23,"tag":88,"props":13847,"children":13848},{},[13849],{"type":29,"value":704},{"type":23,"tag":88,"props":13851,"children":13852},{},[13853],{"type":29,"value":13854},"已做完（Demo）",{"type":23,"tag":61,"props":13856,"children":13857},{},[13858,13862,13867,13879,13889,13894],{"type":23,"tag":88,"props":13859,"children":13860},{},[13861],{"type":29,"value":10938},{"type":23,"tag":88,"props":13863,"children":13864},{},[13865],{"type":29,"value":13866},"✅ 官方 Adapter 章节（直链未取到）",{"type":23,"tag":88,"props":13868,"children":13869},{},[13870,13872,13877],{"type":29,"value":13871},"🟡 IDE 内置 ",{"type":23,"tag":97,"props":13873,"children":13875},{"className":13874},[],[13876],{"type":29,"value":10954},{"type":29,"value":13878},"，首次登录要人",{"type":23,"tag":88,"props":13880,"children":13881},{},[13882,13884],{"type":29,"value":13883},"4MB \u002F 20MB；",{"type":23,"tag":45,"props":13885,"children":13886},{},[13887],{"type":29,"value":13888},"支持开放数据域",{"type":23,"tag":88,"props":13890,"children":13891},{},[13892],{"type":29,"value":13893},"登录\u002F广告\u002F分享 API 名差异",{"type":23,"tag":88,"props":13895,"children":13896},{},[13897],{"type":29,"value":13898},"2–3",{"type":23,"tag":61,"props":13900,"children":13901},{},[13902,13907,13912,13923,13939,13944],{"type":23,"tag":88,"props":13903,"children":13904},{},[13905],{"type":29,"value":13906},"QQ",{"type":23,"tag":88,"props":13908,"children":13909},{},[13910],{"type":29,"value":13911},"❌ 未找到官方 adapter",{"type":23,"tag":88,"props":13913,"children":13914},{},[13915,13916,13921],{"type":29,"value":9890},{"type":23,"tag":97,"props":13917,"children":13919},{"className":13918},[],[13920],{"type":29,"value":9896},{"type":29,"value":13922},"，依赖本地 IDE",{"type":23,"tag":88,"props":13924,"children":13925},{},[13926,13928,13933,13934],{"type":29,"value":13927},"4MB \u002F 20MB ",{"type":23,"tag":97,"props":13929,"children":13931},{"className":13930},[],[13932],{"type":29,"value":4849},{"type":29,"value":2224},{"type":23,"tag":45,"props":13935,"children":13936},{},[13937],{"type":29,"value":13938},"小游戏侧上限未找到官方原文",{"type":23,"tag":88,"props":13940,"children":13941},{},[13942],{"type":29,"value":13943},"垫片 + 业务层 + 自己写 d.ts",{"type":23,"tag":88,"props":13945,"children":13946},{},[13947],{"type":29,"value":13948},"3–5",{"type":23,"tag":61,"props":13950,"children":13951},{},[13952,13957,13973,13982,13987,13992],{"type":23,"tag":88,"props":13953,"children":13954},{},[13955],{"type":29,"value":13956},"快手",{"type":23,"tag":88,"props":13958,"children":13959},{},[13960,13961,13971],{"type":29,"value":1567},{"type":23,"tag":45,"props":13962,"children":13963},{},[13964,13966],{"type":29,"value":13965},"工具自动生成 ",{"type":23,"tag":97,"props":13967,"children":13969},{"className":13968},[],[13970],{"type":29,"value":13270},{"type":29,"value":13972},"（\"开启自动适配微信\"）",{"type":23,"tag":88,"props":13974,"children":13975},{},[13976,13977],{"type":29,"value":9868},{"type":23,"tag":45,"props":13978,"children":13979},{},[13980],{"type":29,"value":13981},"无 CLI，上传只有 GUI + 扫码",{"type":23,"tag":88,"props":13983,"children":13984},{},[13985],{"type":29,"value":13986},"6MB \u002F 30MB",{"type":23,"tag":88,"props":13988,"children":13989},{},[13990],{"type":29,"value":13991},"业务层；每次发版要人点一下",{"type":23,"tag":88,"props":13993,"children":13994},{},[13995],{"type":29,"value":13898},{"type":23,"tag":61,"props":13997,"children":13998},{},[13999,14004,14019,14031,14036,14058],{"type":23,"tag":88,"props":14000,"children":14001},{},[14002],{"type":29,"value":14003},"支付宝",{"type":23,"tag":88,"props":14005,"children":14006},{},[14007,14008,14013,14014],{"type":29,"value":1567},{"type":23,"tag":97,"props":14009,"children":14011},{"className":14010},[],[14012],{"type":29,"value":13236},{"type":29,"value":208},{"type":23,"tag":97,"props":14015,"children":14017},{"className":14016},[],[14018],{"type":29,"value":13243},{"type":23,"tag":88,"props":14020,"children":14021},{},[14022,14024,14029],{"type":29,"value":14023},"🟡 ",{"type":23,"tag":97,"props":14025,"children":14027},{"className":14026},[],[14028],{"type":29,"value":9973},{"type":29,"value":14030}," 2.2.5（token 口径未取证）",{"type":23,"tag":88,"props":14032,"children":14033},{},[14034],{"type":29,"value":14035},"4MB \u002F 20MB",{"type":23,"tag":88,"props":14037,"children":14038},{},[14039,14045,14046,14051,14053],{"type":23,"tag":97,"props":14040,"children":14042},{"className":14041},[],[14043],{"type":29,"value":14044},"my.*",{"type":29,"value":4397},{"type":23,"tag":97,"props":14047,"children":14049},{"className":14048},[],[14050],{"type":29,"value":3249},{"type":29,"value":14052}," 差异（这是最大一块未知）、开放数据域",{"type":23,"tag":45,"props":14054,"children":14055},{},[14056],{"type":29,"value":14057},"未找到官方依据",{"type":23,"tag":88,"props":14059,"children":14060},{},[14061],{"type":29,"value":14062},"4–6",{"type":23,"tag":61,"props":14064,"children":14065},{},[14066,14070,14075,14086,14091,14096],{"type":23,"tag":88,"props":14067,"children":14068},{},[14069],{"type":29,"value":10791},{"type":23,"tag":88,"props":14071,"children":14072},{},[14073],{"type":29,"value":14074},"✅ 官方 zip + cocos 版直链",{"type":23,"tag":88,"props":14076,"children":14077},{},[14078,14079,14084],{"type":29,"value":14023},{"type":23,"tag":97,"props":14080,"children":14082},{"className":14081},[],[14083],{"type":29,"value":10089},{"type":29,"value":14085}," 2.1.22",{"type":23,"tag":88,"props":14087,"children":14088},{},[14089],{"type":29,"value":14090},"4MB \u002F 30MB",{"type":23,"tag":88,"props":14092,"children":14093},{},[14094],{"type":29,"value":14095},"业务层 + 自己写 d.ts",{"type":23,"tag":88,"props":14097,"children":14098},{},[14099],{"type":29,"value":13898},{"type":23,"tag":61,"props":14101,"children":14102},{},[14103,14108,14113,14125,14130,14142],{"type":23,"tag":88,"props":14104,"children":14105},{},[14106],{"type":29,"value":14107},"华为\u002F小米\u002FOPPO\u002Fvivo 快游戏",{"type":23,"tag":88,"props":14109,"children":14110},{},[14111],{"type":29,"value":14112},"❌ 未找到官方 adapter（OPPO 有\"微信一键转换\"工具）",{"type":23,"tag":88,"props":14114,"children":14115},{},[14116,14118,14123],{"type":29,"value":14117},"🟡 vivo 有官方 npm CLI；华为 ",{"type":23,"tag":97,"props":14119,"children":14121},{"className":14120},[],[14122],{"type":29,"value":10055},{"type":29,"value":14124},"+openssl；小米 RPK 可脚本",{"type":23,"tag":88,"props":14126,"children":14127},{},[14128],{"type":29,"value":14129},"华为代码包 10MB／小米 4MB+RPK 30MB／vivo 4MB",{"type":23,"tag":88,"props":14131,"children":14132},{},[14133,14135,14140],{"type":29,"value":14134},"联盟 API 与微信差异",{"type":23,"tag":45,"props":14136,"children":14137},{},[14138],{"type":29,"value":14139},"未找到官方对照表",{"type":29,"value":14141},"（D40）",{"type":23,"tag":88,"props":14143,"children":14144},{},[14145],{"type":29,"value":14146},"每厂 2–4",{"type":23,"tag":61,"props":14148,"children":14149},{},[14150,14155,14160,14164,14168,14173],{"type":23,"tag":88,"props":14151,"children":14152},{},[14153],{"type":29,"value":14154},"H5（自有站）",{"type":23,"tag":88,"props":14156,"children":14157},{},[14158],{"type":29,"value":14159},"不需要",{"type":23,"tag":88,"props":14161,"children":14162},{},[14163],{"type":29,"value":1544},{"type":23,"tag":88,"props":14165,"children":14166},{},[14167],{"type":29,"value":704},{"type":23,"tag":88,"props":14169,"children":14170},{},[14171],{"type":29,"value":14172},"无",{"type":23,"tag":88,"props":14174,"children":14175},{},[14176],{"type":29,"value":14177},"0.5",{"type":23,"tag":61,"props":14179,"children":14180},{},[14181,14186,14191,14195,14199,14204],{"type":23,"tag":88,"props":14182,"children":14183},{},[14184],{"type":29,"value":14185},"H5 出海渠道",{"type":23,"tag":88,"props":14187,"children":14188},{},[14189],{"type":29,"value":14190},"✅ Poki\u002FCrazyGames\u002FGD 官方 SDK",{"type":23,"tag":88,"props":14192,"children":14193},{},[14194],{"type":29,"value":1544},{"type":23,"tag":88,"props":14196,"children":14197},{},[14198],{"type":29,"value":704},{"type":23,"tag":88,"props":14200,"children":14201},{},[14202],{"type":29,"value":14203},"中断状态机（广告期间锁音频\u002F输入）",{"type":23,"tag":88,"props":14205,"children":14206},{},[14207],{"type":29,"value":13898},{"type":23,"tag":61,"props":14209,"children":14210},{},[14211,14215,14220,14225,14229,14239],{"type":23,"tag":88,"props":14212,"children":14213},{},[14214],{"type":29,"value":7561},{"type":23,"tag":88,"props":14216,"children":14217},{},[14218],{"type":29,"value":14219},"不需要（Web 原生）",{"type":23,"tag":88,"props":14221,"children":14222},{},[14223],{"type":29,"value":14224},"🟡 Capacitor 可 CLI，签名\u002F上架要人",{"type":23,"tag":88,"props":14226,"children":14227},{},[14228],{"type":29,"value":704},{"type":23,"tag":88,"props":14230,"children":14231},{},[14232,14237],{"type":23,"tag":97,"props":14233,"children":14235},{"className":14234},[],[14236],{"type":29,"value":3249},{"type":29,"value":14238}," 反向 mock（薄）＋资质",{"type":23,"tag":88,"props":14240,"children":14241},{},[14242],{"type":29,"value":14243},"3–5 + 资质不可控",{"type":23,"tag":39,"props":14245,"children":14246},{},[14247,14252,14254,14263,14265,14270],{"type":23,"tag":45,"props":14248,"children":14249},{},[14250],{"type":29,"value":14251},"合计",{"type":29,"value":14253},"：七端 + H5 + 原生 ≈ ",{"type":23,"tag":45,"props":14255,"children":14256},{},[14257,14261],{"type":23,"tag":3405,"props":14258,"children":14259},{},[14260],{"type":29,"value":6350},{"type":29,"value":14262}," 25–40 人日",{"type":29,"value":14264},"（不含玩法与美术），其中",{"type":23,"tag":45,"props":14266,"children":14267},{},[14268],{"type":29,"value":14269},"约 40% 是\"归一层的接口设计 + 各端差异取证\"",{"type":29,"value":14271},"，这部分恰好是 agent 最能干、且最容易用类型与断言钉死的活。",{"type":23,"tag":225,"props":14273,"children":14274},{},[],{"type":23,"tag":317,"props":14276,"children":14278},{"id":14277},"_3-必须自己写的那一层接口面清单这就是全部自建的真实内容",[14279],{"type":29,"value":14280},"3. 必须自己写的那一层：接口面清单（这就是\"全部自建\"的真实内容）",{"type":23,"tag":3394,"props":14282,"children":14285},{"className":14283,"code":14284,"language":29},[6727],"src\u002Fplatform\u002F\n  types.ts        GamePlatform 接口（唯一真源，业务只认它）\n  web.ts          Capacitor\u002FH5 用（localStorage、fetch、Audio、pointer）\n  wx.ts  tt.ts  qq.ts  ks.ts  my.ts  bili.ts  quick.ts(联盟)\n  __tests__\u002F      每个实现跑同一套契约测试（判据来自官方文档行号，不能照抄自己的产物）\n",[14286],{"type":23,"tag":97,"props":14287,"children":14288},{"__ignoreMap":3399},[14289],{"type":29,"value":14284},{"type":23,"tag":39,"props":14291,"children":14292},{},[14293],{"type":29,"value":14294},"接口面（15–20 个，按\"差异最大\"排序，前 5 个决定成败）：",{"type":23,"tag":743,"props":14296,"children":14297},{},[14298,14329,14339,14356,14373,14383,14395],{"type":23,"tag":747,"props":14299,"children":14300},{},[14301,14306,14307,14313,14314,14320,14321,14327],{"type":23,"tag":45,"props":14302,"children":14303},{},[14304],{"type":29,"value":14305},"登录与鉴权",{"type":29,"value":1373},{"type":23,"tag":97,"props":14308,"children":14310},{"className":14309},[],[14311],{"type":29,"value":14312},"wx.login",{"type":29,"value":3075},{"type":23,"tag":97,"props":14315,"children":14317},{"className":14316},[],[14318],{"type":29,"value":14319},"tt.login",{"type":29,"value":3075},{"type":23,"tag":97,"props":14322,"children":14324},{"className":14323},[],[14325],{"type":29,"value":14326},"my.getAuthCode",{"type":29,"value":14328}," \u002F 快游戏各家不同）→ 后端换 openid 的链路每端不同；",{"type":23,"tag":747,"props":14330,"children":14331},{},[14332,14337],{"type":23,"tag":45,"props":14333,"children":14334},{},[14335],{"type":29,"value":14336},"支付\u002F内购",{"type":29,"value":14338},"（国内小游戏端基本只有安卓可内购，iOS 走广告变现）；",{"type":23,"tag":747,"props":14340,"children":14341},{},[14342,14347,14349,14354],{"type":23,"tag":45,"props":14343,"children":14344},{},[14345],{"type":29,"value":14346},"广告",{"type":29,"value":14348},"（激励视频\u002F插屏\u002Fbanner 的命名与回调形状各家不同，",{"type":23,"tag":45,"props":14350,"children":14351},{},[14352],{"type":29,"value":14353},"跨端聚合 SDK 我这一轮还没取证 = D41",{"type":29,"value":14355},"）；",{"type":23,"tag":747,"props":14357,"children":14358},{},[14359,14364,14366,14371],{"type":23,"tag":45,"props":14360,"children":14361},{},[14362],{"type":29,"value":14363},"开放数据域\u002F好友排行榜",{"type":29,"value":14365},"（微信、抖音明确支持；",{"type":23,"tag":45,"props":14367,"children":14368},{},[14369],{"type":29,"value":14370},"支付宝\u002FB站\u002F快游戏未找到官方依据",{"type":29,"value":14372},"，D42）；",{"type":23,"tag":747,"props":14374,"children":14375},{},[14376,14381],{"type":23,"tag":45,"props":14377,"children":14378},{},[14379],{"type":29,"value":14380},"分包与远程资源",{"type":29,"value":14382},"（上限各不同：华为 10MB／多数 20MB／微信 30MB；主包 4MB 是共性，快手 6MB）；",{"type":23,"tag":747,"props":14384,"children":14385},{},[14386,14388,14394],{"type":29,"value":14387},"canvas\u002F图片\u002F音频创建、触摸事件归一（我 Demo 已做：",{"type":23,"tag":97,"props":14389,"children":14391},{"className":14390},[],[14392],{"type":29,"value":14393},"wx.onTouchX → 合成 TouchEvent → Phaser",{"type":29,"value":14355},{"type":23,"tag":747,"props":14396,"children":14397},{},[14398],{"type":29,"value":14399},"生命周期（onShow\u002FonHide ↔ visibilitychange）、剪贴板、震动、键盘、隐私授权弹窗、网络类型、系统信息、字体子集\u002F度量。",{"type":23,"tag":39,"props":14401,"children":14402},{},[14403,14408,14410,14415,14417,14423,14424,14430,14431,14437,14439,14444],{"type":23,"tag":45,"props":14404,"children":14405},{},[14406],{"type":29,"value":14407},"为什么这层适合交给 agent",{"type":29,"value":14409},"：它是纯 TypeScript + 契约测试，能类型检查、能无头跑、能并行分片（每端一个文件互不打架），且",{"type":23,"tag":45,"props":14411,"children":14412},{},[14413],{"type":29,"value":14414},"判据可以钉到官方文档 URL",{"type":29,"value":14416},"（避免\"照抄自己的 mock\"）。我 Demo 里 ",{"type":23,"tag":97,"props":14418,"children":14420},{"className":14419},[],[14421],{"type":29,"value":14422},"src\u002Fcore\u002Fplatform.ts",{"type":29,"value":1233},{"type":23,"tag":97,"props":14425,"children":14427},{"className":14426},[],[14428],{"type":29,"value":14429},"src\u002Fminigame\u002Fadapter.ts",{"type":29,"value":1233},{"type":23,"tag":97,"props":14432,"children":14434},{"className":14433},[],[14435],{"type":29,"value":14436},"tools\u002Fadapter-node-test.mjs",{"type":29,"value":14438},"（24 项，含假 ",{"type":23,"tag":97,"props":14440,"children":14442},{"className":14441},[],[14443],{"type":29,"value":3262},{"type":29,"value":14445},"）就是这层的最小可运行范式。",{"type":23,"tag":225,"props":14447,"children":14448},{},[],{"type":23,"tag":317,"props":14450,"children":14452},{"id":14451},"_4-工具链与类型现状直接影响-agent-能不能自证",[14453],{"type":29,"value":14454},"4. 工具链与类型现状（直接影响 agent 能不能自证）",{"type":23,"tag":53,"props":14456,"children":14457},{},[14458,14477],{"type":23,"tag":57,"props":14459,"children":14460},{},[14461],{"type":23,"tag":61,"props":14462,"children":14463},{},[14464,14468,14473],{"type":23,"tag":65,"props":14465,"children":14466},{},[14467],{"type":29,"value":10656},{"type":23,"tag":65,"props":14469,"children":14470},{},[14471],{"type":29,"value":14472},"官方\u002F社区 TS typings",{"type":23,"tag":65,"props":14474,"children":14475},{},[14476],{"type":29,"value":5931},{"type":23,"tag":81,"props":14478,"children":14479},{},[14480,14518,14546,14576],{"type":23,"tag":61,"props":14481,"children":14482},{},[14483,14487,14513],{"type":23,"tag":88,"props":14484,"children":14485},{},[14486],{"type":29,"value":10687},{"type":23,"tag":88,"props":14488,"children":14489},{},[14490,14491,14497,14498,14503,14505,14511],{"type":29,"value":1567},{"type":23,"tag":97,"props":14492,"children":14494},{"className":14493},[],[14495],{"type":29,"value":14496},"minigame-api-typings",{"type":29,"value":883},{"type":23,"tag":45,"props":14499,"children":14500},{},[14501],{"type":29,"value":14502},"3.8.21",{"type":29,"value":14504},"（2026-07-27，wechat-miniprogram 组织）、",{"type":23,"tag":97,"props":14506,"children":14508},{"className":14507},[],[14509],{"type":29,"value":14510},"miniprogram-api-typings",{"type":29,"value":14512}," 5.2.3（2026-08-07，MIT）",{"type":23,"tag":88,"props":14514,"children":14515},{},[14516],{"type":29,"value":14517},"小游戏专用那份最有用",{"type":23,"tag":61,"props":14519,"children":14520},{},[14521,14525,14543],{"type":23,"tag":88,"props":14522,"children":14523},{},[14524],{"type":29,"value":10938},{"type":23,"tag":88,"props":14526,"children":14527},{},[14528,14529,14535,14536,14541],{"type":29,"value":14023},{"type":23,"tag":97,"props":14530,"children":14532},{"className":14531},[],[14533],{"type":29,"value":14534},"@douyin-minigame\u002Fapi-typings",{"type":29,"value":883},{"type":23,"tag":45,"props":14537,"children":14538},{},[14539],{"type":29,"value":14540},"1.3.0",{"type":29,"value":14542},"（2026-07-16，维护者含 bytednpm，疑官方）",{"type":23,"tag":88,"props":14544,"children":14545},{},[],{"type":23,"tag":61,"props":14547,"children":14548},{},[14549,14553,14571],{"type":23,"tag":88,"props":14550,"children":14551},{},[14552],{"type":29,"value":14003},{"type":23,"tag":88,"props":14554,"children":14555},{},[14556,14557,14563,14565,14570],{"type":29,"value":14023},{"type":23,"tag":97,"props":14558,"children":14560},{"className":14559},[],[14561],{"type":29,"value":14562},"@mini-types\u002Falipay",{"type":29,"value":14564}," 3.0.14（2024-01，",{"type":23,"tag":45,"props":14566,"children":14567},{},[14568],{"type":29,"value":14569},"偏小程序不是小游戏",{"type":29,"value":951},{"type":23,"tag":88,"props":14572,"children":14573},{},[14574],{"type":29,"value":14575},"小游戏侧要自己补",{"type":23,"tag":61,"props":14577,"children":14578},{},[14579,14584,14593],{"type":23,"tag":88,"props":14580,"children":14581},{},[14582],{"type":29,"value":14583},"QQ \u002F 快手 \u002F B站 \u002F 快游戏联盟",{"type":23,"tag":88,"props":14585,"children":14586},{},[14587,14588],{"type":29,"value":9868},{"type":23,"tag":45,"props":14589,"children":14590},{},[14591],{"type":29,"value":14592},"未找到 api-typings",{"type":23,"tag":88,"props":14594,"children":14595},{},[14596,14598,14604,14606,14611],{"type":29,"value":14597},"agent 要自己写 ",{"type":23,"tag":97,"props":14599,"children":14601},{"className":14600},[],[14602],{"type":29,"value":14603},".d.ts",{"type":29,"value":14605},"，而",{"type":23,"tag":45,"props":14607,"children":14608},{},[14609],{"type":29,"value":14610},"判据只能来自文档正文",{"type":29,"value":14612},"（多家文档是 SPA 抓不到正文 → D43 要人工截图\u002F导出）",{"type":23,"tag":39,"props":14614,"children":14615},{},[14616,14618,14623,14625,14631,14633,14639,14641,14647,14649,14655],{"type":29,"value":14617},"构建侧：",{"type":23,"tag":45,"props":14619,"children":14620},{},[14621],{"type":29,"value":14622},"Vite 小游戏专用插件未找到",{"type":29,"value":14624},"（npm 搜 ",{"type":23,"tag":97,"props":14626,"children":14628},{"className":14627},[],[14629],{"type":29,"value":14630},"vite-plugin minigame",{"type":29,"value":14632}," 无命中）。所以\"多 mode 构建 + 包体自查 + require 注入\"这类脚本要自己维护——Demo 里 ",{"type":23,"tag":97,"props":14634,"children":14636},{"className":14635},[],[14637],{"type":29,"value":14638},"vite.config.ts",{"type":29,"value":14640},"（三 mode）+ ",{"type":23,"tag":97,"props":14642,"children":14644},{"className":14643},[],[14645],{"type":29,"value":14646},"tools\u002Ffinalize-wxgame.mjs",{"type":29,"value":14648},"（4 项硬自查）已经给了可复制的做法。另有微信官方 ",{"type":23,"tag":97,"props":14650,"children":14652},{"className":14651},[],[14653],{"type":29,"value":14654},"wx-transformer",{"type":29,"value":14656},"（面向 Emscripten\u002FC++ 自研引擎，对 JS 引擎用处有限）。",{"type":23,"tag":225,"props":14658,"children":14659},{},[],{"type":23,"tag":317,"props":14661,"children":14663},{"id":14662},"_5-原生与-h5-渠道的真实门槛不是代码",[14664],{"type":29,"value":14665},"5. 原生与 H5 渠道的真实门槛（不是代码）",{"type":23,"tag":1909,"props":14667,"children":14668},{},[14669,14686,14696,14713,14730],{"type":23,"tag":747,"props":14670,"children":14671},{},[14672,14677,14679,14684],{"type":23,"tag":45,"props":14673,"children":14674},{},[14675],{"type":29,"value":14676},"性能",{"type":29,"value":14678},"：iOS WebView 是这条路线最大的量级损失（微信官方 10–15 FPS vs 原生渲染 48–50 FPS）。缓解办法只有两条：把游戏做成\"轻量 2D + 低分辨率\"，或",{"type":23,"tag":45,"props":14680,"children":14681},{},[14682],{"type":29,"value":14683},"放弃 WebView 壳改用引擎原生 runtime",{"type":29,"value":14685},"（那就回到 R1\u002FR4：Cocos 真原生工程、Laya LayaNative）。",{"type":23,"tag":747,"props":14687,"children":14688},{},[14689,14694],{"type":23,"tag":45,"props":14690,"children":14691},{},[14692],{"type":29,"value":14693},"内存",{"type":29,"value":14695},"：Cocos 官方 iOS 指南给的口径是 2GB 机型上限约 1GB、3GB 约 1.4GB，音频约 20MB，建议 ASTC → 内存预算要写成构建门禁（资源总量 + 纹理格式断言）。",{"type":23,"tag":747,"props":14697,"children":14698},{},[14699,14704,14706,14711],{"type":23,"tag":45,"props":14700,"children":14701},{},[14702],{"type":29,"value":14703},"审核",{"type":29,"value":14705},"：App Store 指南 4.2 原文要求\"elevate it beyond a repackaged website\"，2.5.2 禁止下载\u002F执行会改变 App 功能的代码 → ",{"type":23,"tag":45,"props":14707,"children":14708},{},[14709],{"type":29,"value":14710},"纯 URL 套壳高危、远端整包热更高危",{"type":29,"value":14712},"；游戏资源打进 bundle + 加原生能力（离线包\u002FGame Center\u002F原生插件）才可控。",{"type":23,"tag":747,"props":14714,"children":14715},{},[14716,14721,14723,14728],{"type":23,"tag":45,"props":14717,"children":14718},{},[14719],{"type":29,"value":14720},"资质",{"type":29,"value":14722},"：国区安卓商店（小米官方页）要营业执照、网文证、增值电信许可证、ISBN 版号、软著及授权书；无版号只能\"预约\"。→ ",{"type":23,"tag":45,"props":14724,"children":14725},{},[14726],{"type":29,"value":14727},"原生 App 渠道要先解决版号，再谈技术方案",{"type":29,"value":14729},"（D44）。",{"type":23,"tag":747,"props":14731,"children":14732},{},[14733,14738],{"type":23,"tag":45,"props":14734,"children":14735},{},[14736],{"type":29,"value":14737},"H5 出海",{"type":29,"value":14739},"：Poki\u002FCrazyGames\u002FGD 三家 SDK 都要求\"广告中断时锁住音频与输入\"，所以玩法层必须有可暂停状态机——这条要一开始就设计进去，事后补很痛。",{"type":23,"tag":225,"props":14741,"children":14742},{},[],{"type":23,"tag":317,"props":14744,"children":14746},{"id":14745},"_6-三条实施路线都在-r3-内部",[14747],{"type":29,"value":14748},"6. 三条实施路线（都在 R3 内部）",{"type":23,"tag":53,"props":14750,"children":14751},{},[14752,14777],{"type":23,"tag":57,"props":14753,"children":14754},{},[14755],{"type":23,"tag":61,"props":14756,"children":14757},{},[14758,14763,14768,14773],{"type":23,"tag":65,"props":14759,"children":14760},{},[14761],{"type":29,"value":14762},"路线",{"type":23,"tag":65,"props":14764,"children":14765},{},[14766],{"type":29,"value":14767},"做法",{"type":23,"tag":65,"props":14769,"children":14770},{},[14771],{"type":29,"value":14772},"适合",{"type":23,"tag":65,"props":14774,"children":14775},{},[14776],{"type":29,"value":2208},{"type":23,"tag":81,"props":14778,"children":14779},{},[14780,14813,14853],{"type":23,"tag":61,"props":14781,"children":14782},{},[14783,14791,14803,14808],{"type":23,"tag":88,"props":14784,"children":14785},{},[14786],{"type":23,"tag":45,"props":14787,"children":14788},{},[14789],{"type":29,"value":14790},"P1 纯自建归一",{"type":23,"tag":88,"props":14792,"children":14793},{},[14794,14796,14801],{"type":29,"value":14795},"一套 ",{"type":23,"tag":97,"props":14797,"children":14799},{"className":14798},[],[14800],{"type":29,"value":2727},{"type":29,"value":14802}," 接口 + 每端 adapter + 每端 CLI 脚本；agent 全自动写与测",{"type":23,"tag":88,"props":14804,"children":14805},{},[14806],{"type":29,"value":14807},"你确实要 7 端且能接受每端 2–6 人日",{"type":23,"tag":88,"props":14809,"children":14810},{},[14811],{"type":29,"value":14812},"无先例可抄，风险自己扛；QQ\u002F快手\u002FB站 无 typings",{"type":23,"tag":61,"props":14814,"children":14815},{},[14816,14831,14843,14848],{"type":23,"tag":88,"props":14817,"children":14818},{},[14819,14824,14825,14830],{"type":23,"tag":45,"props":14820,"children":14821},{},[14822],{"type":29,"value":14823},"P2 微信基准 + 官方转换工具兜底",{"type":29,"value":1373},{"type":23,"tag":45,"props":14826,"children":14827},{},[14828],{"type":29,"value":14829},"我推荐",{"type":29,"value":951},{"type":23,"tag":88,"props":14832,"children":14833},{},[14834,14836,14841],{"type":29,"value":14835},"只把微信端做\"真源端\"；快手用\"自动适配微信\"生成 ",{"type":23,"tag":97,"props":14837,"children":14839},{"className":14838},[],[14840],{"type":29,"value":13270},{"type":29,"value":14842},"、OPPO 用官方\"微信一键转换\"、B站\u002F支付宝用官方 adapter；归一层只写差异部分",{"type":23,"tag":88,"props":14844,"children":14845},{},[14846],{"type":29,"value":14847},"想省一半工作量",{"type":23,"tag":88,"props":14849,"children":14850},{},[14851],{"type":29,"value":14852},"转换工具多为 GUI\u002F闭源 → 那几端的发版会引入人工步骤（快手本来就要 GUI）",{"type":23,"tag":61,"props":14854,"children":14855},{},[14856,14864,14869,14874],{"type":23,"tag":88,"props":14857,"children":14858},{},[14859],{"type":23,"tag":45,"props":14860,"children":14861},{},[14862],{"type":29,"value":14863},"P3 混合：R3 主干 + 最难端交给 R1\u002FR4",{"type":23,"tag":88,"props":14865,"children":14866},{},[14867],{"type":29,"value":14868},"微信\u002F抖音\u002FH5\u002F原生用 Phaser\u002FPixi；把支付宝或快游戏这类差异最大的端，用 Cocos\u002FLaya 出一个\"壳工程\"发布",{"type":23,"tag":88,"props":14870,"children":14871},{},[14872],{"type":29,"value":14873},"商业上必须全端但团队小",{"type":23,"tag":88,"props":14875,"children":14876},{},[14877,14879,14883],{"type":29,"value":14878},"两套工程\u002F两套美术管线，长期维护成本翻倍（",{"type":23,"tag":45,"props":14880,"children":14881},{},[14882],{"type":29,"value":648},{"type":29,"value":14884},"，除非某端收入权重极高）",{"type":23,"tag":39,"props":14886,"children":14887},{},[14888,14893,14895],{"type":23,"tag":45,"props":14889,"children":14890},{},[14891],{"type":29,"value":14892},"与 R1\u002FR4 的最终对比（一句话版）",{"type":29,"value":14894},"：R1\u002FR4 是\"用编辑器在场换官方端覆盖\"，R3 是\"用自建 25–40 人日 + 无先例风险换 agent 全自动\"。",{"type":23,"tag":45,"props":14896,"children":14897},{},[14898],{"type":29,"value":14899},"如果\"AI 完成全部编码\"是硬约束，只有 R3 满足；如果\"七端一次导出\"是硬约束，R3 + P2 是唯一现实解，且快手\u002F百度两端仍需人工点上传。",{"type":23,"tag":225,"props":14901,"children":14902},{},[],{"type":23,"tag":317,"props":14904,"children":14906},{"id":14905},"_7-待确认-d38d48",[14907],{"type":29,"value":14908},"7. 待确认 D38–D48",{"type":23,"tag":53,"props":14910,"children":14911},{},[14912,14930],{"type":23,"tag":57,"props":14913,"children":14914},{},[14915],{"type":23,"tag":61,"props":14916,"children":14917},{},[14918,14922,14926],{"type":23,"tag":65,"props":14919,"children":14920},{},[14921],{"type":29,"value":1468},{"type":23,"tag":65,"props":14923,"children":14924},{},[14925],{"type":29,"value":3160},{"type":23,"tag":65,"props":14927,"children":14928},{},[14929],{"type":29,"value":7785},{"type":23,"tag":81,"props":14931,"children":14932},{},[14933,14950,14968,14993,15026,15051,15084,15102,15120,15138,15164],{"type":23,"tag":61,"props":14934,"children":14935},{},[14936,14940,14945],{"type":23,"tag":88,"props":14937,"children":14938},{},[14939],{"type":29,"value":13103},{"type":23,"tag":88,"props":14941,"children":14942},{},[14943],{"type":29,"value":14944},"是否接受\"归一层 + 各端薄壳\"由我们自己拥有（无开源件可选）",{"type":23,"tag":88,"props":14946,"children":14947},{},[14948],{"type":29,"value":14949},"接受，按 P2 出接口设计稿",{"type":23,"tag":61,"props":14951,"children":14952},{},[14953,14958,14963],{"type":23,"tag":88,"props":14954,"children":14955},{},[14956],{"type":29,"value":14957},"D39",{"type":23,"tag":88,"props":14959,"children":14960},{},[14961],{"type":29,"value":14962},"首发必须端清单（决定要不要碰支付宝\u002F快游戏这些差异最大的端）",{"type":23,"tag":88,"props":14964,"children":14965},{},[14966],{"type":29,"value":14967},"按 微信＋抖音＋H5 首发",{"type":23,"tag":61,"props":14969,"children":14970},{},[14971,14976,14988],{"type":23,"tag":88,"props":14972,"children":14973},{},[14974],{"type":29,"value":14975},"D40",{"type":23,"tag":88,"props":14977,"children":14978},{},[14979,14981,14986],{"type":29,"value":14980},"快游戏联盟与微信的 API 差异",{"type":23,"tag":45,"props":14982,"children":14983},{},[14984],{"type":29,"value":14985},"没有官方对照表",{"type":29,"value":14987}," → 要不要花钱买一份实测（或找用过的人）",{"type":23,"tag":88,"props":14989,"children":14990},{},[14991],{"type":29,"value":14992},"先只做华为，其余端 T+3 月",{"type":23,"tag":61,"props":14994,"children":14995},{},[14996,15001,15013],{"type":23,"tag":88,"props":14997,"children":14998},{},[14999],{"type":29,"value":15000},"D41",{"type":23,"tag":88,"props":15002,"children":15003},{},[15004,15006,15011],{"type":29,"value":15005},"跨小游戏端的",{"type":23,"tag":45,"props":15007,"children":15008},{},[15009],{"type":29,"value":15010},"广告聚合 SDK",{"type":29,"value":15012}," 有没有成熟件（我这轮未取证，后台在跑）",{"type":23,"tag":88,"props":15014,"children":15015},{},[15016,15018,15024],{"type":29,"value":15017},"按\"每端各自接、归一层里加 ",{"type":23,"tag":97,"props":15019,"children":15021},{"className":15020},[],[15022],{"type":29,"value":15023},"ads.ts",{"type":29,"value":15025},"\"设计",{"type":23,"tag":61,"props":15027,"children":15028},{},[15029,15034,15046],{"type":23,"tag":88,"props":15030,"children":15031},{},[15032],{"type":29,"value":15033},"D42",{"type":23,"tag":88,"props":15035,"children":15036},{},[15037,15039,15044],{"type":29,"value":15038},"支付宝\u002FB站\u002F快游戏的",{"type":23,"tag":45,"props":15040,"children":15041},{},[15042],{"type":29,"value":15043},"开放数据域\u002F好友排行",{"type":29,"value":15045},"是否支持（未找到官方依据）",{"type":23,"tag":88,"props":15047,"children":15048},{},[15049],{"type":29,"value":15050},"这些端不做好友榜，改服务端排行榜",{"type":23,"tag":61,"props":15052,"children":15053},{},[15054,15059,15071],{"type":23,"tag":88,"props":15055,"children":15056},{},[15057],{"type":29,"value":15058},"D43",{"type":23,"tag":88,"props":15060,"children":15061},{},[15062,15064,15069],{"type":29,"value":15063},"QQ\u002F快手\u002FB站\u002F联盟",{"type":23,"tag":45,"props":15065,"children":15066},{},[15067],{"type":29,"value":15068},"无 TS typings",{"type":29,"value":15070},"，且多家文档是 SPA 抓不到正文 → 要不要人工导出文档做判据库",{"type":23,"tag":88,"props":15072,"children":15073},{},[15074,15076,15082],{"type":29,"value":15075},"要，我建 ",{"type":23,"tag":97,"props":15077,"children":15079},{"className":15078},[],[15080],{"type":29,"value":15081},"docs\u002Fplatform-spec\u002F",{"type":29,"value":15083}," 存证据",{"type":23,"tag":61,"props":15085,"children":15086},{},[15087,15092,15097],{"type":23,"tag":88,"props":15088,"children":15089},{},[15090],{"type":29,"value":15091},"D44",{"type":23,"tag":88,"props":15093,"children":15094},{},[15095],{"type":29,"value":15096},"版号\u002F软著是否已具备（决定原生 App 与国区安卓渠道是否可行）",{"type":23,"tag":88,"props":15098,"children":15099},{},[15100],{"type":29,"value":15101},"未具备 → 原生 App 从目标里去掉，只保留小游戏 + H5",{"type":23,"tag":61,"props":15103,"children":15104},{},[15105,15110,15115],{"type":23,"tag":88,"props":15106,"children":15107},{},[15108],{"type":29,"value":15109},"D45",{"type":23,"tag":88,"props":15111,"children":15112},{},[15113],{"type":29,"value":15114},"iOS 用 WebView 壳的性能是否可接受（10–15 FPS 量级）",{"type":23,"tag":88,"props":15116,"children":15117},{},[15118],{"type":29,"value":15119},"不可接受 → 原生 App 不做，或改走 R1 真原生",{"type":23,"tag":61,"props":15121,"children":15122},{},[15123,15128,15133],{"type":23,"tag":88,"props":15124,"children":15125},{},[15126],{"type":29,"value":15127},"D46",{"type":23,"tag":88,"props":15129,"children":15130},{},[15131],{"type":29,"value":15132},"是否要 H5 出海（Poki\u002FCrazyGames\u002FGD 三家接入约 2–3 人日 + 中断状态机）",{"type":23,"tag":88,"props":15134,"children":15135},{},[15136],{"type":29,"value":15137},"要，则一开始就把\"可暂停状态机\"写进玩法层",{"type":23,"tag":61,"props":15139,"children":15140},{},[15141,15146,15159],{"type":23,"tag":88,"props":15142,"children":15143},{},[15144],{"type":29,"value":15145},"D47",{"type":23,"tag":88,"props":15147,"children":15148},{},[15149,15151,15157],{"type":29,"value":15150},"要不要我把 Demo 扩成 P2 的最小可用版（加 ",{"type":23,"tag":97,"props":15152,"children":15154},{"className":15153},[],[15155],{"type":29,"value":15156},"tt.ts",{"type":29,"value":15158}," + 抖音构建 mode + 契约测试）",{"type":23,"tag":88,"props":15160,"children":15161},{},[15162],{"type":29,"value":15163},"等你点头（本轮只写了文档，未动 Demo）",{"type":23,"tag":61,"props":15165,"children":15166},{},[15167,15172,15190],{"type":23,"tag":88,"props":15168,"children":15169},{},[15170],{"type":29,"value":15171},"D48",{"type":23,"tag":88,"props":15173,"children":15174},{},[15175,15180,15182,15188],{"type":23,"tag":97,"props":15176,"children":15178},{"className":15177},[],[15179],{"type":29,"value":13185},{"type":29,"value":15181}," 是 GPL-3.0、",{"type":23,"tag":97,"props":15183,"children":15185},{"className":15184},[],[15186],{"type":29,"value":15187},"Pixifact",{"type":29,"value":15189}," 0★——是否允许引入这类依赖",{"type":23,"tag":88,"props":15191,"children":15192},{},[15193],{"type":29,"value":15194},"不允许，只当参考实现读源码",{"type":23,"tag":225,"props":15196,"children":15197},{},[],{"type":23,"tag":317,"props":15199,"children":15201},{"id":15200},"附录证据",[15202],{"type":29,"value":15203},"附录：证据",{"type":23,"tag":39,"props":15205,"children":15206},{},[15207],{"type":23,"tag":45,"props":15208,"children":15209},{},[15210],{"type":29,"value":15211},"各端官方 adapter \u002F 工具",{"type":23,"tag":1909,"props":15213,"children":15214},{},[15215,15262,15282,15312,15337,15372],{"type":23,"tag":747,"props":15216,"children":15217},{},[15218,15220,15225,15227,15232,15234,15239,15240,15245,15246,15252,15254,15260],{"type":29,"value":15219},"微信 Adapter（含 ",{"type":23,"tag":97,"props":15221,"children":15223},{"className":15222},[],[15224],{"type":29,"value":7450},{"type":29,"value":15226}," 直链）：",{"type":23,"tag":4272,"props":15228,"children":15230},{"href":8642,"rel":15229},[4276],[15231],{"type":29,"value":8642},{"type":29,"value":15233},"、通用引擎适配 ",{"type":23,"tag":4272,"props":15235,"children":15237},{"href":8653,"rel":15236},[4276],[15238],{"type":29,"value":8653},{"type":29,"value":1137},{"type":23,"tag":97,"props":15241,"children":15243},{"className":15242},[],[15244],{"type":29,"value":14654},{"type":29,"value":883},{"type":23,"tag":4272,"props":15247,"children":15250},{"href":15248,"rel":15249},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fgame-engine\u002Fcommon-adaptation\u002FDesign\u002FTransformTool.html",[4276],[15251],{"type":29,"value":15248},{"type":29,"value":15253},"、官方 ",{"type":23,"tag":4272,"props":15255,"children":15258},{"href":15256,"rel":15257},"https:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fminigame-adaptor",[4276],[15259],{"type":29,"value":15256},{"type":29,"value":15261},"（136★，Unity 美术迁移用）",{"type":23,"tag":747,"props":15263,"children":15264},{},[15265,15267,15273,15275,15281],{"type":29,"value":15266},"支付宝 小游戏 adapter：",{"type":23,"tag":4272,"props":15268,"children":15271},{"href":15269,"rel":15270},"https:\u002F\u002Fopendocs.alipay.com\u002Fmini-game\u002F08tzon",[4276],[15272],{"type":29,"value":15269},{"type":29,"value":15274},"（经 Laya 文档引用 ",{"type":23,"tag":4272,"props":15276,"children":15279},{"href":15277,"rel":15278},"https:\u002F\u002Flayaair.com\u002F3.3\u002Fdoc\u002Freleased\u002FminiGame\u002Falipaygame\u002Freadme.html",[4276],[15280],{"type":29,"value":15277},{"type":29,"value":951},{"type":23,"tag":747,"props":15283,"children":15284},{},[15285,15287,15292,15293,15298,15299,15305,15306],{"type":29,"value":15286},"B站 引擎适配（",{"type":23,"tag":97,"props":15288,"children":15290},{"className":15289},[],[15291],{"type":29,"value":2042},{"type":29,"value":208},{"type":23,"tag":97,"props":15294,"children":15296},{"className":15295},[],[15297],{"type":29,"value":13257},{"type":29,"value":15226},{"type":23,"tag":4272,"props":15300,"children":15303},{"href":15301,"rel":15302},"https:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fguide\u002Fcompatibility\u002F",[4276],[15304],{"type":29,"value":15301},{"type":29,"value":1137},{"type":23,"tag":4272,"props":15307,"children":15310},{"href":15308,"rel":15309},"https:\u002F\u002Fminiapp.bilibili.com\u002Fsmall-game-doc\u002Fengine\u002Fcommon\u002F",[4276],[15311],{"type":29,"value":15308},{"type":23,"tag":747,"props":15313,"children":15314},{},[15315,15317,15322,15323,15329,15331],{"type":29,"value":15316},"快手 开发者工具（\"开启自动适配微信\"→ ",{"type":23,"tag":97,"props":15318,"children":15320},{"className":15319},[],[15321],{"type":29,"value":13270},{"type":29,"value":8565},{"type":23,"tag":4272,"props":15324,"children":15327},{"href":15325,"rel":15326},"https:\u002F\u002Fopen.kuaishou.com\u002FminiGameDocs\u002FgameDev\u002Fstart\u002Fdevtool.html",[4276],[15328],{"type":29,"value":15325},{"type":29,"value":15330},"；Laya 快手导出指南 ",{"type":23,"tag":4272,"props":15332,"children":15335},{"href":15333,"rel":15334},"https:\u002F\u002Fdocs.qingque.cn\u002Fd\u002Fhome\u002FeZQCnNVAKcY5kmYvimRU0L7Pt",[4276],[15336],{"type":29,"value":15333},{"type":23,"tag":747,"props":15338,"children":15339},{},[15340,15342,15348,15350,15356,15358,15364,15366],{"type":29,"value":15341},"OPPO 微信小游戏一键转换：",{"type":23,"tag":4272,"props":15343,"children":15346},{"href":15344,"rel":15345},"https:\u002F\u002Fopen.oppomobile.com\u002Fdocumentation\u002Fpage\u002Finfo?id=12543",[4276],[15347],{"type":29,"value":15344},{"type":29,"value":15349},"；vivo Unity 适配 ",{"type":23,"tag":4272,"props":15351,"children":15354},{"href":15352,"rel":15353},"http:\u002F\u002Fh5.vivo.com.cn\u002Fvmix\u002Fvivo-unity-doc\u002Flesson\u002FSummary.html",[4276],[15355],{"type":29,"value":15352},{"type":29,"value":15357},"；小米 Unity 导出 ",{"type":23,"tag":4272,"props":15359,"children":15362},{"href":15360,"rel":15361},"https:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=2165",[4276],[15363],{"type":29,"value":15360},{"type":29,"value":15365},"；华为快游戏 ",{"type":23,"tag":4272,"props":15367,"children":15370},{"href":15368,"rel":15369},"http:\u002F\u002Fdeveloper.huawei.com\u002Fconsumer\u002Fcn\u002FquickGame",[4276],[15371],{"type":29,"value":15368},{"type":23,"tag":747,"props":15373,"children":15374},{},[15375,15377,15383,15385,15391,15392,15397],{"type":29,"value":15376},"抖音 Adapter 章节（SPA，直链未取到）：",{"type":23,"tag":4272,"props":15378,"children":15381},{"href":15379,"rel":15380},"https:\u002F\u002Fdeveloper.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-game\u002Fdevelop\u002Fframework\u002Fruntime\u002Fadapter",[4276],[15382],{"type":29,"value":15379},{"type":29,"value":15384},"；QQ 分包 ",{"type":23,"tag":4272,"props":15386,"children":15389},{"href":15387,"rel":15388},"https:\u002F\u002Fq.qq.com\u002Fwiki\u002Fdevelop\u002Fgame\u002Fframe\u002Fability\u002Fsubpackages.html",[4276],[15390],{"type":29,"value":15387},{"type":29,"value":1373},{"type":23,"tag":45,"props":15393,"children":15394},{},[15395],{"type":29,"value":15396},"未找到 QQ 官方 adapter",{"type":29,"value":951},{"type":23,"tag":39,"props":15399,"children":15400},{},[15401],{"type":23,"tag":45,"props":15402,"children":15403},{},[15404],{"type":29,"value":15405},"\"跨端统一层\"候选（都不够成熟）",{"type":23,"tag":1909,"props":15407,"children":15408},{},[15409],{"type":23,"tag":747,"props":15410,"children":15411},{},[15412,15418,15420,15426,15427,15432,15433,15437,15438,15444,15445,15450,15452,15457,15458,15464],{"type":23,"tag":97,"props":15413,"children":15415},{"className":15414},[],[15416],{"type":29,"value":15417},"@pixifact\u002F*",{"type":29,"value":15419},"（MIT，v0.18.0，0★，仅 Web\u002F微信\u002F抖音）",{"type":23,"tag":4272,"props":15421,"children":15424},{"href":15422,"rel":15423},"https:\u002F\u002Fgithub.com\u002Fhxg2050\u002Fpixifact",[4276],[15425],{"type":29,"value":15422},{"type":29,"value":2224},{"type":23,"tag":97,"props":15428,"children":15430},{"className":15429},[],[15431],{"type":29,"value":13185},{"type":29,"value":1373},{"type":23,"tag":45,"props":15434,"children":15435},{},[15436],{"type":29,"value":13191},{"type":29,"value":951},{"type":23,"tag":4272,"props":15439,"children":15442},{"href":15440,"rel":15441},"https:\u002F\u002Fgithub.com\u002FJiangJie\u002Fminigame-std",[4276],[15443],{"type":29,"value":15440},{"type":29,"value":2224},{"type":23,"tag":97,"props":15446,"children":15448},{"className":15447},[],[15449],{"type":29,"value":13199},{"type":29,"value":15451},"（9★）",{"type":23,"tag":4272,"props":15453,"children":15455},{"href":4647,"rel":15454},[4276],[15456],{"type":29,"value":4647},{"type":29,"value":2224},{"type":23,"tag":97,"props":15459,"children":15461},{"className":15460},[],[15462],{"type":29,"value":15463},"@chiyou\u002Fminigame-framework",{"type":29,"value":15465},"（版本号自相矛盾，不可采信）",{"type":23,"tag":39,"props":15467,"children":15468},{},[15469],{"type":23,"tag":45,"props":15470,"children":15471},{},[15472],{"type":29,"value":15473},"TS typings \u002F CLI",{"type":23,"tag":1909,"props":15475,"children":15476},{},[15477],{"type":23,"tag":747,"props":15478,"children":15479},{},[15480,15485,15487,15492,15494,15500,15501,15506,15508,15513,15515,15520,15522,15528,15530,15536],{"type":23,"tag":97,"props":15481,"children":15483},{"className":15482},[],[15484],{"type":29,"value":14496},{"type":29,"value":15486}," 3.8.21、",{"type":23,"tag":97,"props":15488,"children":15490},{"className":15489},[],[15491],{"type":29,"value":14510},{"type":29,"value":15493}," 5.2.3 ",{"type":23,"tag":4272,"props":15495,"children":15498},{"href":15496,"rel":15497},"https:\u002F\u002Fgithub.com\u002Fwechat-miniprogram\u002Fapi-typings",[4276],[15499],{"type":29,"value":15496},{"type":29,"value":2224},{"type":23,"tag":97,"props":15502,"children":15504},{"className":15503},[],[15505],{"type":29,"value":14534},{"type":29,"value":15507}," 1.3.0；",{"type":23,"tag":97,"props":15509,"children":15511},{"className":15510},[],[15512],{"type":29,"value":14562},{"type":29,"value":15514}," 3.0.14；",{"type":23,"tag":97,"props":15516,"children":15518},{"className":15517},[],[15519],{"type":29,"value":13587},{"type":29,"value":15521}," 0.4.0；",{"type":23,"tag":97,"props":15523,"children":15525},{"className":15524},[],[15526],{"type":29,"value":15527},"wasmsplit-v2-ci",{"type":29,"value":15529}," 2.1.5；",{"type":23,"tag":97,"props":15531,"children":15533},{"className":15532},[],[15534],{"type":29,"value":15535},"@open-dy\u002Ftt-wasmsplit-ci",{"type":29,"value":15537}," 1.0.9",{"type":23,"tag":39,"props":15539,"children":15540},{},[15541],{"type":23,"tag":45,"props":15542,"children":15543},{},[15544],{"type":29,"value":15545},"原生壳 \u002F H5 渠道 \u002F 性能与合规",{"type":23,"tag":1909,"props":15547,"children":15548},{},[15549,15592,15611,15646,15683,15702,15729],{"type":23,"tag":747,"props":15550,"children":15551},{},[15552,15554,15560,15562,15568,15570,15576,15578,15584,15586],{"type":29,"value":15553},"Capacitor 8.5.2（MIT，2026-09-11）",{"type":23,"tag":4272,"props":15555,"children":15558},{"href":15556,"rel":15557},"https:\u002F\u002Fgithub.com\u002Fionic-team\u002Fcapacitor\u002Freleases",[4276],[15559],{"type":29,"value":15556},{"type":29,"value":15561},"、v8 APIs ",{"type":23,"tag":4272,"props":15563,"children":15566},{"href":15564,"rel":15565},"https:\u002F\u002Fcapacitorjs.com\u002Fdocs\u002Fv8\u002Fapis",[4276],[15567],{"type":29,"value":15564},{"type":29,"value":15569},"、iOS 配置 ",{"type":23,"tag":4272,"props":15571,"children":15574},{"href":15572,"rel":15573},"https:\u002F\u002Fcapacitorjs.com\u002Fdocs\u002Fv8\u002Fios\u002Fconfiguration",[4276],[15575],{"type":29,"value":15572},{"type":29,"value":15577},"；社区 native-audio ",{"type":23,"tag":4272,"props":15579,"children":15582},{"href":15580,"rel":15581},"https:\u002F\u002Fgithub.com\u002Fcapacitor-community",[4276],[15583],{"type":29,"value":15580},{"type":29,"value":15585},"；@capawesome edge-to-edge ",{"type":23,"tag":4272,"props":15587,"children":15590},{"href":15588,"rel":15589},"https:\u002F\u002Fcapawesome.io\u002Fdocs\u002Fsdks\u002Fcapacitor\u002Fandroid-edge-to-edge-support\u002F",[4276],[15591],{"type":29,"value":15588},{"type":23,"tag":747,"props":15593,"children":15594},{},[15595,15597,15603,15605],{"type":29,"value":15596},"Phaser 官方 Capacitor 教程 ",{"type":23,"tag":4272,"props":15598,"children":15601},{"href":15599,"rel":15600},"https:\u002F\u002Fphaser.io\u002Ftutorials\u002Fbring-your-phaser-game-to-ios-and-android-with-capacitor",[4276],[15602],{"type":29,"value":15599},{"type":29,"value":15604},"、示例仓库 ",{"type":23,"tag":4272,"props":15606,"children":15609},{"href":15607,"rel":15608},"https:\u002F\u002Fgithub.com\u002Fphaserjs\u002Fstarshake-capacitor-tutorial",[4276],[15610],{"type":29,"value":15607},{"type":23,"tag":747,"props":15612,"children":15613},{},[15614,15616,15622,15624,15630,15632,15638,15640],{"type":29,"value":15615},"Tauri 2.12.1 移动端用系统 WebView ",{"type":23,"tag":4272,"props":15617,"children":15620},{"href":15618,"rel":15619},"https:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F",[4276],[15621],{"type":29,"value":15618},{"type":29,"value":15623},"；Cordova 13.0.0 ",{"type":23,"tag":4272,"props":15625,"children":15628},{"href":15626,"rel":15627},"https:\u002F\u002Fcordova.apache.org\u002F",[4276],[15629],{"type":29,"value":15626},{"type":29,"value":15631},"；Bubblewrap v1.25.0 ",{"type":23,"tag":4272,"props":15633,"children":15636},{"href":15634,"rel":15635},"https:\u002F\u002Fgithub.com\u002FGoogleChromeLabs\u002Fbubblewrap",[4276],[15637],{"type":29,"value":15634},{"type":29,"value":15639},"；WebKit 存储政策 ",{"type":23,"tag":4272,"props":15641,"children":15644},{"href":15642,"rel":15643},"https:\u002F\u002Fwebkit.org\u002Fblog\u002F14403\u002Fupdates-to-storage-policy\u002F",[4276],[15645],{"type":29,"value":15642},{"type":23,"tag":747,"props":15647,"children":15648},{},[15649,15651,15657,15659,15665,15667,15673,15675,15681],{"type":29,"value":15650},"Poki ",{"type":23,"tag":4272,"props":15652,"children":15655},{"href":15653,"rel":15654},"https:\u002F\u002Fdevelopers.poki.com\u002Fguide\u002Fworking-with-poki",[4276],[15656],{"type":29,"value":15653},{"type":29,"value":15658},"、CrazyGames ",{"type":23,"tag":4272,"props":15660,"children":15663},{"href":15661,"rel":15662},"https:\u002F\u002Fdocs.crazygames.com\u002Fsdk\u002Fintro\u002F",[4276],[15664],{"type":29,"value":15661},{"type":29,"value":15666},"、GameDistribution ",{"type":23,"tag":4272,"props":15668,"children":15671},{"href":15669,"rel":15670},"https:\u002F\u002Fgithub.com\u002FGameDistribution\u002FGD-HTML5",[4276],[15672],{"type":29,"value":15669},{"type":29,"value":15674},"（MIT 1.3.0）、4399 ",{"type":23,"tag":4272,"props":15676,"children":15679},{"href":15677,"rel":15678},"https:\u002F\u002Fopen.4399.cn\u002Fdocs\u002F",[4276],[15680],{"type":29,"value":15677},{"type":29,"value":15682},"（JS 渲染，正文不可核）",{"type":23,"tag":747,"props":15684,"children":15685},{},[15686,15688,15694,15696],{"type":29,"value":15687},"性能与内存：微信小游戏高性能模式（iOS WKWebView 10–15 FPS vs 原生 48–50）",{"type":23,"tag":4272,"props":15689,"children":15692},{"href":15690,"rel":15691},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fperformance\u002Fperf-high-performance.html",[4276],[15693],{"type":29,"value":15690},{"type":29,"value":15695},"；Cocos iOS 内存指南 ",{"type":23,"tag":4272,"props":15697,"children":15700},{"href":15698,"rel":15699},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fwechat-ios-optimize.html",[4276],[15701],{"type":29,"value":15698},{"type":23,"tag":747,"props":15703,"children":15704},{},[15705,15707,15713,15715,15721,15723],{"type":29,"value":15706},"合规：App Store Review Guidelines 4.2\u002F2.5.2\u002F2.5.6 ",{"type":23,"tag":4272,"props":15708,"children":15711},{"href":15709,"rel":15710},"https:\u002F\u002Fdeveloper.apple.com\u002Fapp-store\u002Freview\u002Fguidelines\u002F",[4276],[15712],{"type":29,"value":15709},{"type":29,"value":15714},"；小米游戏上架要求 ",{"type":23,"tag":4272,"props":15716,"children":15719},{"href":15717,"rel":15718},"https:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=1383",[4276],[15720],{"type":29,"value":15717},{"type":29,"value":15722},"、休闲\u002F广告游戏流程 ",{"type":23,"tag":4272,"props":15724,"children":15727},{"href":15725,"rel":15726},"https:\u002F\u002Fdev.mi.com\u002Fxiaomihyperos\u002Fdocumentation\u002Fdetail?pId=1368",[4276],[15728],{"type":29,"value":15725},{"type":23,"tag":747,"props":15730,"children":15731},{},[15732,15734,15739,15741,15747,15749,15755,15757],{"type":29,"value":15733},"移植工作量证据：Phaser 4 微信小游戏 MVP（自写 \u003C300 行 adapter）",{"type":23,"tag":4272,"props":15735,"children":15737},{"href":4560,"rel":15736},[4276],[15738],{"type":29,"value":4560},{"type":29,"value":15740},"；three.js 小游戏踩坑实录（iOS ",{"type":23,"tag":97,"props":15742,"children":15744},{"className":15743},[],[15745],{"type":29,"value":15746},"style",{"type":29,"value":15748}," 重定义崩溃、",{"type":23,"tag":97,"props":15750,"children":15752},{"className":15751},[],[15753],{"type":29,"value":15754},"setTimeout",{"type":29,"value":15756}," 未定义黑屏，数天）",{"type":23,"tag":4272,"props":15758,"children":15760},{"href":9125,"rel":15759},[4276],[15761],{"type":29,"value":9125},{"type":23,"tag":225,"props":15763,"children":15764},{},[],{"type":23,"tag":24,"props":15766,"children":15768},{"id":15767},"第-5-篇-layaair-3-vs-cocos-creator-深度对比审查报告",[15769],{"type":29,"value":15770},"第 5 篇 · LayaAir 3 vs Cocos Creator 深度对比审查报告",{"type":23,"tag":235,"props":15772,"children":15773},{},[15774],{"type":23,"tag":39,"props":15775,"children":15776},{},[15777,15778,15784],{"type":29,"value":242},{"type":23,"tag":97,"props":15779,"children":15781},{"className":15780},[],[15782],{"type":29,"value":15783},"docs\u002Flayaair-vs-cocos-对比审查报告-2026-10.md",{"type":29,"value":250},{"type":23,"tag":24,"props":15786,"children":15788},{"id":15787},"layaair-3-vs-cocos-creator-深度对比审查报告",[15789],{"type":29,"value":15790},"LayaAir 3 vs Cocos Creator 深度对比审查报告",{"type":23,"tag":32,"props":15792,"children":15794},{"id":15793},"场景锁定全新项目-硬约束ai-agent-完成全部编码-硬约束全平台导出",[15795],{"type":29,"value":15796},"场景锁定：全新项目 ｜ 硬约束①AI agent 完成全部编码 ｜ 硬约束②全平台导出",{"type":23,"tag":39,"props":15798,"children":15799},{},[15800,15802,15807,15809,15814,15816,15821,15823,15828,15830,15836,15838,15843,15845,15851,15853,15858],{"type":29,"value":15801},"2026-10-06 ",{"type":23,"tag":45,"props":15803,"children":15804},{},[15805],{"type":29,"value":15806},"v3（两路深挖均已回填，评分发生反转）",{"type":29,"value":15808}," ｜ 系列第五篇。决策编号 ",{"type":23,"tag":45,"props":15810,"children":15811},{},[15812],{"type":29,"value":15813},"D49–D73",{"type":29,"value":15815},"，跨版不复用。\n标注：",{"type":23,"tag":97,"props":15817,"children":15819},{"className":15818},[],[15820],{"type":29,"value":206},{"type":29,"value":15822}," 我亲自核对；",{"type":23,"tag":97,"props":15824,"children":15826},{"className":15825},[],[15827],{"type":29,"value":4849},{"type":29,"value":15829}," 子代理取证（URL 见附录 A）；",{"type":23,"tag":97,"props":15831,"children":15833},{"className":15832},[],[15834],{"type":29,"value":15835},"[官方声明]",{"type":29,"value":15837}," 厂商原话（≠我验证过）；",{"type":23,"tag":97,"props":15839,"children":15841},{"className":15840},[],[15842],{"type":29,"value":4857},{"type":29,"value":15844}," 我的估计；",{"type":23,"tag":97,"props":15846,"children":15848},{"className":15847},[],[15849],{"type":29,"value":15850},"未找到",{"type":29,"value":15852}," = 明确查不到，不当作已知。\n",{"type":23,"tag":45,"props":15854,"children":15855},{},[15856],{"type":29,"value":15857},"v2→v3 的变化不是措辞，是结论",{"type":29,"value":15859},"：Cocos 侧取证推翻了\"官方 CLI\u002FMCP 路线可用\"这个印象（见 §3.2\u002F§3.3），Laya 侧的\"无 GUI CLI\"反而是本轮最硬的加分项。",{"type":23,"tag":225,"props":15861,"children":15862},{},[],{"type":23,"tag":317,"props":15864,"children":15866},{"id":15865},"_0-结论先行",[15867],{"type":29,"value":15868},"0. 结论先行",{"type":23,"tag":39,"props":15870,"children":15871},{},[15872,15876,15877,15889,15891,15896,15898,15903],{"type":23,"tag":45,"props":15873,"children":15874},{},[15875],{"type":29,"value":330},{"type":29,"value":741},{"type":23,"tag":45,"props":15878,"children":15879},{},[15880,15882,15887],{"type":29,"value":15881},"在\"AI 全自动出包到小游戏端\"这条最硬的约束上，目前只有 LayaAir 的官方文档声称做得到（新 CLI 无 GUI 依赖、可进 GitHub Actions、覆盖 10 端 + Linux 原生）；Cocos 的 headless ",{"type":23,"tag":97,"props":15883,"children":15885},{"className":15884},[],[15886],{"type":29,"value":11993},{"type":29,"value":15888}," 平台清单里根本没有小游戏端（只有 web-desktop\u002Fweb-mobile\u002Fandroid\u002Fios + mac\u002Fwindows\u002F鸿蒙\u002FAGP），要出微信包只能回到 3.8 编辑器命令行——而它官方原文要求图形会话、无 Linux。",{"type":29,"value":15890}," 代价是：Cocos 的 ",{"type":23,"tag":45,"props":15892,"children":15893},{},[15894],{"type":29,"value":15895},"agent 改场景",{"type":29,"value":15897},"有可用件（3.8 第三方 MCP 105 工具），Laya 这块",{"type":23,"tag":45,"props":15899,"children":15900},{},[15901],{"type":29,"value":15902},"是空白",{"type":29,"value":15904},"（官方 MCP 插件仓库已归档、skills 只有 2 个技能且不含搭场景、官方《AI开发路线》明写\"AI 单独完整生成游戏\"暂不支持）。",{"type":23,"tag":39,"props":15906,"children":15907},{},[15908],{"type":23,"tag":45,"props":15909,"children":15910},{},[15911],{"type":29,"value":15912},"加权评分（AI 编码 35% \u002F 全平台导出 30% \u002F 工程化 15% \u002F 能力面 10% \u002F 生态语料 5% \u002F 费用 5%）",{"type":23,"tag":53,"props":15914,"children":15915},{},[15916,15947],{"type":23,"tag":57,"props":15917,"children":15918},{},[15919],{"type":23,"tag":61,"props":15920,"children":15921},{},[15922,15927,15932,15937,15942],{"type":23,"tag":65,"props":15923,"children":15924},{},[15925],{"type":29,"value":15926},"维度",{"type":23,"tag":65,"props":15928,"children":15929},{},[15930],{"type":29,"value":15931},"权重",{"type":23,"tag":65,"props":15933,"children":15934},{},[15935],{"type":29,"value":15936},"Cocos",{"type":23,"tag":65,"props":15938,"children":15939},{},[15940],{"type":29,"value":15941},"Laya",{"type":23,"tag":65,"props":15943,"children":15944},{},[15945],{"type":29,"value":15946},"本轮依据",{"type":23,"tag":81,"props":15948,"children":15949},{},[15950,15990,16033,16064,16101,16131,16183],{"type":23,"tag":61,"props":15951,"children":15952},{},[15953,15957,15962,15970,15978],{"type":23,"tag":88,"props":15954,"children":15955},{},[15956],{"type":29,"value":9329},{"type":23,"tag":88,"props":15958,"children":15959},{},[15960],{"type":29,"value":15961},"35%",{"type":23,"tag":88,"props":15963,"children":15964},{},[15965],{"type":23,"tag":45,"props":15966,"children":15967},{},[15968],{"type":29,"value":15969},"7.0",{"type":23,"tag":88,"props":15971,"children":15972},{},[15973],{"type":23,"tag":45,"props":15974,"children":15975},{},[15976],{"type":29,"value":15977},"6.8",{"type":23,"tag":88,"props":15979,"children":15980},{},[15981,15983,15988],{"type":29,"value":15982},"Cocos：3.8 有第三方 MCP 可改场景 + 语料厚，但构建需 GUI、官方 MCP 绑在未发布的 4.0 alpha。Laya：无 GUI CLI 可全自动出包，但",{"type":23,"tag":45,"props":15984,"children":15985},{},[15986],{"type":29,"value":15987},"场景级自动化无可用件",{"type":29,"value":15989}," + 语料薄（幻觉率高）",{"type":23,"tag":61,"props":15991,"children":15992},{},[15993,15998,16003,16008,16016],{"type":23,"tag":88,"props":15994,"children":15995},{},[15996],{"type":29,"value":15997},"全平台导出",{"type":23,"tag":88,"props":15999,"children":16000},{},[16001],{"type":29,"value":16002},"30%",{"type":23,"tag":88,"props":16004,"children":16005},{},[16006],{"type":29,"value":16007},"7.3",{"type":23,"tag":88,"props":16009,"children":16010},{},[16011],{"type":23,"tag":45,"props":16012,"children":16013},{},[16014],{"type":29,"value":16015},"8.2",{"type":23,"tag":88,"props":16017,"children":16018},{},[16019,16021,16026,16028],{"type":29,"value":16020},"两家都缺 QQ\u002F快手；Laya 新 CLI 覆盖 10 端（含 B站\u002F小米\u002F华为）+ ",{"type":23,"tag":45,"props":16022,"children":16023},{},[16024],{"type":29,"value":16025},"Linux\u002FSteam 原生",{"type":29,"value":16027},"；Cocos 官方端别是微信\u002F淘宝\u002F抖音\u002FOPPO\u002Fvivo\u002F华为\u002F荣耀，且",{"type":23,"tag":45,"props":16029,"children":16030},{},[16031],{"type":29,"value":16032},"小游戏端在 headless 侧不存在",{"type":23,"tag":61,"props":16034,"children":16035},{},[16036,16041,16046,16051,16059],{"type":23,"tag":88,"props":16037,"children":16038},{},[16039],{"type":29,"value":16040},"新项目工程化",{"type":23,"tag":88,"props":16042,"children":16043},{},[16044],{"type":29,"value":16045},"15%",{"type":23,"tag":88,"props":16047,"children":16048},{},[16049],{"type":29,"value":16050},"6.0",{"type":23,"tag":88,"props":16052,"children":16053},{},[16054],{"type":23,"tag":45,"props":16055,"children":16056},{},[16057],{"type":29,"value":16058},"8.5",{"type":23,"tag":88,"props":16060,"children":16061},{},[16062],{"type":29,"value":16063},"Cocos：CI 官方示例未找到、命令串 ≤125 字符、macOS 换行符坑、无 Linux；Laya：官方称可 GitHub Actions，但 CLI 运行时闭源需联网拉取、同样无官方 CI 示例",{"type":23,"tag":61,"props":16065,"children":16066},{},[16067,16072,16077,16082,16089],{"type":23,"tag":88,"props":16068,"children":16069},{},[16070],{"type":29,"value":16071},"能力面（2D\u002F3D\u002FUI\u002F物理）",{"type":23,"tag":88,"props":16073,"children":16074},{},[16075],{"type":29,"value":16076},"10%",{"type":23,"tag":88,"props":16078,"children":16079},{},[16080],{"type":29,"value":16081},"8.0",{"type":23,"tag":88,"props":16083,"children":16084},{},[16085],{"type":23,"tag":45,"props":16086,"children":16087},{},[16088],{"type":29,"value":16058},{"type":23,"tag":88,"props":16090,"children":16091},{},[16092,16094,16099],{"type":29,"value":16093},"Cocos UI 齐但",{"type":23,"tag":45,"props":16095,"children":16096},{},[16097],{"type":29,"value":16098},"无官方 List\u002FVirtualList",{"type":29,"value":16100},"（靠社区\u002F商店补位）；Laya 新 UI（官方称 FairyGUI 同构）自带 List\u002FDialog\u002FTab\u002FViewStack，另有 Worker、WebGPU 路线、2D Box2D + 3D Bullet\u002FPhysX 内置",{"type":23,"tag":61,"props":16102,"children":16103},{},[16104,16109,16114,16121,16126],{"type":23,"tag":88,"props":16105,"children":16106},{},[16107],{"type":29,"value":16108},"生态\u002F语料（LLM 熟悉度）",{"type":23,"tag":88,"props":16110,"children":16111},{},[16112],{"type":29,"value":16113},"5%",{"type":23,"tag":88,"props":16115,"children":16116},{},[16117],{"type":23,"tag":45,"props":16118,"children":16119},{},[16120],{"type":29,"value":16058},{"type":23,"tag":88,"props":16122,"children":16123},{},[16124],{"type":29,"value":16125},"4.5",{"type":23,"tag":88,"props":16127,"children":16128},{},[16129],{"type":29,"value":16130},"9,846★ vs 2,204★；Laya 文档源仓库 7★、NewUI-Examples 0★、示例旧库 2021 停更、GitHub 仅 9 open issue（反馈沉在自家论坛，机器不可读）",{"type":23,"tag":61,"props":16132,"children":16133},{},[16134,16139,16143,16150,16154],{"type":23,"tag":88,"props":16135,"children":16136},{},[16137],{"type":29,"value":16138},"许可与费用",{"type":23,"tag":88,"props":16140,"children":16141},{},[16142],{"type":29,"value":16113},{"type":23,"tag":88,"props":16144,"children":16145},{},[16146],{"type":23,"tag":45,"props":16147,"children":16148},{},[16149],{"type":29,"value":16058},{"type":23,"tag":88,"props":16151,"children":16152},{},[16153],{"type":29,"value":16081},{"type":23,"tag":88,"props":16155,"children":16156},{},[16157,16162,16164,16169,16171,16176,16178],{"type":23,"tag":45,"props":16158,"children":16159},{},[16160],{"type":29,"value":16161},"本轮纠正",{"type":29,"value":16163},"：cocos-engine ",{"type":23,"tag":45,"props":16165,"children":16166},{},[16167],{"type":29,"value":16168},"v3.8.8 的 LICENSE.md 就是标准 MIT",{"type":29,"value":16170},"，无流水门槛、无 splash 要求（GitHub 显示 NOASSERTION 只是因为仓库内含多份第三方许可）；Laya 引擎 MIT + 博客承诺基础永久免费无分成 ",{"type":23,"tag":97,"props":16172,"children":16174},{"className":16173},[],[16175],{"type":29,"value":15835},{"type":29,"value":16177},"，但 ",{"type":23,"tag":45,"props":16179,"children":16180},{},[16181],{"type":29,"value":16182},"IDE 商用授权条款未找到",{"type":23,"tag":61,"props":16184,"children":16185},{},[16186,16194,16197,16205,16213],{"type":23,"tag":88,"props":16187,"children":16188},{},[16189],{"type":23,"tag":45,"props":16190,"children":16191},{},[16192],{"type":29,"value":16193},"加权总分",{"type":23,"tag":88,"props":16195,"children":16196},{},[],{"type":23,"tag":88,"props":16198,"children":16199},{},[16200],{"type":23,"tag":45,"props":16201,"children":16202},{},[16203],{"type":29,"value":16204},"7.25",{"type":23,"tag":88,"props":16206,"children":16207},{},[16208],{"type":23,"tag":45,"props":16209,"children":16210},{},[16211],{"type":29,"value":16212},"7.43",{"type":23,"tag":88,"props":16214,"children":16215},{},[16216,16221],{"type":23,"tag":45,"props":16217,"children":16218},{},[16219],{"type":29,"value":16220},"反转：Laya 反超 0.18",{"type":29,"value":16222},"，完全落在打分噪声内",{"type":23,"tag":39,"props":16224,"children":16225},{},[16226,16231],{"type":23,"tag":45,"props":16227,"children":16228},{},[16229],{"type":29,"value":16230},"推荐（v3）",{"type":29,"value":741},{"type":23,"tag":743,"props":16233,"children":16234},{},[16235,16245],{"type":23,"tag":747,"props":16236,"children":16237},{},[16238,16243],{"type":23,"tag":45,"props":16239,"children":16240},{},[16241],{"type":29,"value":16242},"评分已不足以裁决 → 必须实测",{"type":29,"value":16244},"（§9.1 对撞测试从\"建议\"升级为\"签选型前置条件\"）。",{"type":23,"tag":747,"props":16246,"children":16247},{},[16248],{"type":29,"value":16249},"现在就要拍的规则：",{"type":23,"tag":1909,"props":16251,"children":16252},{},[16253,16268,16283],{"type":23,"tag":747,"props":16254,"children":16255},{},[16256,16261,16262,16266],{"type":23,"tag":45,"props":16257,"children":16258},{},[16259],{"type":29,"value":16260},"\"agent 端到端无人值守出七端包\"是刚需",{"type":29,"value":1183},{"type":23,"tag":45,"props":16263,"children":16264},{},[16265],{"type":29,"value":15941},{"type":29,"value":16267},"（唯一有官方文档声称无 GUI 可行；先做 D64 的容器实测）。",{"type":23,"tag":747,"props":16269,"children":16270},{},[16271,16276,16277,16281],{"type":23,"tag":45,"props":16272,"children":16273},{},[16274],{"type":29,"value":16275},"\"agent 要能改界面\u002F场景\"是刚需",{"type":29,"value":1183},{"type":23,"tag":45,"props":16278,"children":16279},{},[16280],{"type":29,"value":15936},{"type":29,"value":16282},"（3.8 + 第三方 MCP 105 工具；接受构建节点要图形会话）。",{"type":23,"tag":747,"props":16284,"children":16285},{},[16286,16291,16293,16298],{"type":23,"tag":45,"props":16287,"children":16288},{},[16289],{"type":29,"value":16290},"两条都要 100%",{"type":29,"value":16292}," → 都不选，走第四版 R3（Phaser\u002FPixi + 自建归一层，",{"type":23,"tag":97,"props":16294,"children":16296},{"className":16295},[],[16297],{"type":29,"value":9667},{"type":29,"value":16299}," 已实测微信端全自动）。",{"type":23,"tag":743,"props":16301,"children":16302},{"start":3515},[16303],{"type":23,"tag":747,"props":16304,"children":16305},{},[16306,16311,16313,16318,16320,16325],{"type":23,"tag":45,"props":16307,"children":16308},{},[16309],{"type":29,"value":16310},"不要押 COCOS 4 \u002F PinK 做 2026 年的生产依赖",{"type":29,"value":16312},"：4.0 引擎只到 ",{"type":23,"tag":45,"props":16314,"children":16315},{},[16316],{"type":29,"value":16317},"4.0.0-alpha.34（2026-09-20）",{"type":29,"value":16319},"、无 GA；PinK 官方明示\"请勿用于生产环境\"、邀请码制、许可与定价未找到；而 docs.cocos.com 已有\"4.0 (LTS)\"手册——",{"type":23,"tag":45,"props":16321,"children":16322},{},[16323],{"type":29,"value":16324},"文档与实现不一致本身就是风险",{"type":29,"value":275},{"type":23,"tag":225,"props":16327,"children":16328},{},[],{"type":23,"tag":317,"props":16330,"children":16332},{"id":16331},"_1-三条硬约束的逐条判定",[16333],{"type":29,"value":16334},"1. 三条硬约束的逐条判定",{"type":23,"tag":53,"props":16336,"children":16337},{},[16338,16362],{"type":23,"tag":57,"props":16339,"children":16340},{},[16341],{"type":23,"tag":61,"props":16342,"children":16343},{},[16344,16348,16353,16357],{"type":23,"tag":65,"props":16345,"children":16346},{},[16347],{"type":29,"value":10188},{"type":23,"tag":65,"props":16349,"children":16350},{},[16351],{"type":29,"value":16352},"Cocos Creator",{"type":23,"tag":65,"props":16354,"children":16355},{},[16356],{"type":29,"value":5126},{"type":23,"tag":65,"props":16358,"children":16359},{},[16360],{"type":29,"value":16361},"依据",{"type":23,"tag":81,"props":16363,"children":16364},{},[16365,16422,16457,16491,16514,16537],{"type":23,"tag":61,"props":16366,"children":16367},{},[16368,16380,16398,16417],{"type":23,"tag":88,"props":16369,"children":16370},{},[16371,16373,16378],{"type":29,"value":16372},"① AI 完成",{"type":23,"tag":45,"props":16374,"children":16375},{},[16376],{"type":29,"value":16377},"全部",{"type":29,"value":16379},"编码",{"type":23,"tag":88,"props":16381,"children":16382},{},[16383,16385,16390,16392,16397],{"type":29,"value":16384},"🟡 代码全自动 + ",{"type":23,"tag":45,"props":16386,"children":16387},{},[16388],{"type":29,"value":16389},"改场景有件（第三方）",{"type":29,"value":16391},"；但小游戏包必须经 3.8 编辑器 CLI（",{"type":23,"tag":45,"props":16393,"children":16394},{},[16395],{"type":29,"value":16396},"需图形会话",{"type":29,"value":951},{"type":23,"tag":88,"props":16399,"children":16400},{},[16401,16403,16408,16410,16415],{"type":29,"value":16402},"🟡 代码 + ",{"type":23,"tag":45,"props":16404,"children":16405},{},[16406],{"type":29,"value":16407},"无 GUI 出包",{"type":29,"value":16409},"；但",{"type":23,"tag":45,"props":16411,"children":16412},{},[16413],{"type":29,"value":16414},"改场景无件",{"type":29,"value":16416},"（MCP 插件已归档、skills 无场景技能、IDE 内置 MCP 要 GUI+Key+每会话重导）",{"type":23,"tag":88,"props":16418,"children":16419},{},[16420],{"type":29,"value":16421},"§3.2\u002F§3.3",{"type":23,"tag":61,"props":16423,"children":16424},{},[16425,16430,16440,16452],{"type":23,"tag":88,"props":16426,"children":16427},{},[16428],{"type":29,"value":16429},"② 全平台导出（7 端）",{"type":23,"tag":88,"props":16431,"children":16432},{},[16433,16435],{"type":29,"value":16434},"🟡 官方 5\u002F7 + 原生（无 Linux）；",{"type":23,"tag":45,"props":16436,"children":16437},{},[16438],{"type":29,"value":16439},"headless 侧 0\u002F7",{"type":23,"tag":88,"props":16441,"children":16442},{},[16443,16445,16450],{"type":29,"value":16444},"🟡 官方 5\u002F7 + 原生含 ",{"type":23,"tag":45,"props":16446,"children":16447},{},[16448],{"type":29,"value":16449},"Linux\u002FSteam",{"type":29,"value":16451},"；缺 QQ、快手",{"type":23,"tag":88,"props":16453,"children":16454},{},[16455],{"type":29,"value":16456},"§2",{"type":23,"tag":61,"props":16458,"children":16459},{},[16460,16465,16475,16486],{"type":23,"tag":88,"props":16461,"children":16462},{},[16463],{"type":29,"value":16464},"③ 新项目可承受",{"type":23,"tag":88,"props":16466,"children":16467},{},[16468,16470],{"type":29,"value":16469},"✅ 3.8.8（LTS，2025-12-16）",{"type":23,"tag":97,"props":16471,"children":16473},{"className":16472},[],[16474],{"type":29,"value":206},{"type":23,"tag":88,"props":16476,"children":16477},{},[16478,16479,16484],{"type":29,"value":14023},{"type":23,"tag":45,"props":16480,"children":16481},{},[16482],{"type":29,"value":16483},"3.4.1（2026-08-31）与 3.3.13（2026-09-17）并行发版",{"type":29,"value":16485}," → 选线要定（D63）",{"type":23,"tag":88,"props":16487,"children":16488},{},[16489],{"type":29,"value":16490},"§5",{"type":23,"tag":61,"props":16492,"children":16493},{},[16494,16499,16504,16509],{"type":23,"tag":88,"props":16495,"children":16496},{},[16497],{"type":29,"value":16498},"附：agent 并行改界面",{"type":23,"tag":88,"props":16500,"children":16501},{},[16502],{"type":29,"value":16503},"❌ 编辑器单实例",{"type":23,"tag":88,"props":16505,"children":16506},{},[16507],{"type":29,"value":16508},"❌ 同理",{"type":23,"tag":88,"props":16510,"children":16511},{},[16512],{"type":29,"value":16513},"共同天花板",{"type":23,"tag":61,"props":16515,"children":16516},{},[16517,16522,16527,16532],{"type":23,"tag":88,"props":16518,"children":16519},{},[16520],{"type":29,"value":16521},"附：CI 无人值守",{"type":23,"tag":88,"props":16523,"children":16524},{},[16525],{"type":29,"value":16526},"❌ 小游戏端无 headless 路径；3.8 CLI 要 GUI 会话；Linux 无官方支持；官方 CI 示例未找到",{"type":23,"tag":88,"props":16528,"children":16529},{},[16530],{"type":29,"value":16531},"🟡 官方文档称无 GUI\u002F可 GitHub Actions；但 CLI 运行时闭源需联网、无官方 CI 示例、Linux 原生无实证",{"type":23,"tag":88,"props":16533,"children":16534},{},[16535],{"type":29,"value":16536},"D64",{"type":23,"tag":61,"props":16538,"children":16539},{},[16540,16545,16563,16580],{"type":23,"tag":88,"props":16541,"children":16542},{},[16543],{"type":29,"value":16544},"附：厂商对\"AI 全自动\"的态度",{"type":23,"tag":88,"props":16546,"children":16547},{},[16548,16550,16555,16556,16561],{"type":29,"value":16549},"COCOS 4 发布稿：\"新特性采用 ",{"type":23,"tag":45,"props":16551,"children":16552},{},[16553],{"type":29,"value":16554},"MCP 或 Agent 的交付逻辑",{"type":29,"value":4052},{"type":23,"tag":97,"props":16557,"children":16559},{"className":16558},[],[16560],{"type":29,"value":15835},{"type":29,"value":16562},"（但载体是 alpha）",{"type":23,"tag":88,"props":16564,"children":16565},{},[16566,16568,16573,16578],{"type":29,"value":16567},"《AI开发路线》：",{"type":23,"tag":45,"props":16569,"children":16570},{},[16571],{"type":29,"value":16572},"\"AI 单独完整生成游戏\"暂不支持",{"type":23,"tag":97,"props":16574,"children":16576},{"className":16575},[],[16577],{"type":29,"value":15835},{"type":29,"value":16579},"（口径更诚实）",{"type":23,"tag":88,"props":16581,"children":16582},{},[16583],{"type":29,"value":16584},"§3.2",{"type":23,"tag":225,"props":16586,"children":16587},{},[],{"type":23,"tag":317,"props":16589,"children":16591},{"id":16590},"_2-端覆盖矩阵v3把编辑器端别与headless-端别分开算",[16592],{"type":29,"value":16593},"2. 端覆盖矩阵（v3：把\"编辑器端别\"与\"headless 端别\"分开算）",{"type":23,"tag":53,"props":16595,"children":16596},{},[16597,16646],{"type":23,"tag":57,"props":16598,"children":16599},{},[16600],{"type":23,"tag":61,"props":16601,"children":16602},{},[16603,16607,16617,16626,16631,16641],{"type":23,"tag":65,"props":16604,"children":16605},{},[16606],{"type":29,"value":10656},{"type":23,"tag":65,"props":16608,"children":16609},{},[16610,16612],{"type":29,"value":16611},"Cocos ",{"type":23,"tag":45,"props":16613,"children":16614},{},[16615],{"type":29,"value":16616},"3.8 编辑器\u002FCLI",{"type":23,"tag":65,"props":16618,"children":16619},{},[16620,16621],{"type":29,"value":16611},{"type":23,"tag":45,"props":16622,"children":16623},{},[16624],{"type":29,"value":16625},"cocos-cli（headless）",{"type":23,"tag":65,"props":16627,"children":16628},{},[16629],{"type":29,"value":16630},"Laya IDE",{"type":23,"tag":65,"props":16632,"children":16633},{},[16634,16636],{"type":29,"value":16635},"Laya ",{"type":23,"tag":45,"props":16637,"children":16638},{},[16639],{"type":29,"value":16640},"新 CLI（headless）",{"type":23,"tag":65,"props":16642,"children":16643},{},[16644],{"type":29,"value":16645},"包体（主\u002F总）",{"type":23,"tag":81,"props":16647,"children":16648},{},[16649,16687,16715,16742,16771,16807,16836,16866,16894,16929,16960,17000,17030],{"type":23,"tag":61,"props":16650,"children":16651},{},[16652,16656,16660,16669,16673,16677],{"type":23,"tag":88,"props":16653,"children":16654},{},[16655],{"type":29,"value":10687},{"type":23,"tag":88,"props":16657,"children":16658},{},[16659],{"type":29,"value":1544},{"type":23,"tag":88,"props":16661,"children":16662},{},[16663,16664],{"type":29,"value":9868},{"type":23,"tag":45,"props":16665,"children":16666},{},[16667],{"type":29,"value":16668},"无此端",{"type":23,"tag":88,"props":16670,"children":16671},{},[16672],{"type":29,"value":1544},{"type":23,"tag":88,"props":16674,"children":16675},{},[16676],{"type":29,"value":1544},{"type":23,"tag":88,"props":16678,"children":16679},{},[16680,16682],{"type":29,"value":16681},"4MB \u002F ≤30MB ",{"type":23,"tag":97,"props":16683,"children":16685},{"className":16684},[],[16686],{"type":29,"value":206},{"type":23,"tag":61,"props":16688,"children":16689},{},[16690,16694,16698,16702,16706,16710],{"type":23,"tag":88,"props":16691,"children":16692},{},[16693],{"type":29,"value":10938},{"type":23,"tag":88,"props":16695,"children":16696},{},[16697],{"type":29,"value":1544},{"type":23,"tag":88,"props":16699,"children":16700},{},[16701],{"type":29,"value":1849},{"type":23,"tag":88,"props":16703,"children":16704},{},[16705],{"type":29,"value":1544},{"type":23,"tag":88,"props":16707,"children":16708},{},[16709],{"type":29,"value":1544},{"type":23,"tag":88,"props":16711,"children":16712},{},[16713],{"type":29,"value":16714},"4MB \u002F 20MB（支持开放数据域）",{"type":23,"tag":61,"props":16716,"children":16717},{},[16718,16722,16726,16730,16734,16738],{"type":23,"tag":88,"props":16719,"children":16720},{},[16721],{"type":29,"value":14003},{"type":23,"tag":88,"props":16723,"children":16724},{},[16725],{"type":29,"value":1544},{"type":23,"tag":88,"props":16727,"children":16728},{},[16729],{"type":29,"value":1849},{"type":23,"tag":88,"props":16731,"children":16732},{},[16733],{"type":29,"value":1544},{"type":23,"tag":88,"props":16735,"children":16736},{},[16737],{"type":29,"value":1544},{"type":23,"tag":88,"props":16739,"children":16740},{},[16741],{"type":29,"value":14035},{"type":23,"tag":61,"props":16743,"children":16744},{},[16745,16750,16755,16759,16763,16767],{"type":23,"tag":88,"props":16746,"children":16747},{},[16748],{"type":29,"value":16749},"淘宝",{"type":23,"tag":88,"props":16751,"children":16752},{},[16753],{"type":29,"value":16754},"✅（引擎插件）",{"type":23,"tag":88,"props":16756,"children":16757},{},[16758],{"type":29,"value":1849},{"type":23,"tag":88,"props":16760,"children":16761},{},[16762],{"type":29,"value":1544},{"type":23,"tag":88,"props":16764,"children":16765},{},[16766],{"type":29,"value":1544},{"type":23,"tag":88,"props":16768,"children":16769},{},[16770],{"type":29,"value":14035},{"type":23,"tag":61,"props":16772,"children":16773},{},[16774,16778,16782,16794,16798,16802],{"type":23,"tag":88,"props":16775,"children":16776},{},[16777],{"type":29,"value":11040},{"type":23,"tag":88,"props":16779,"children":16780},{},[16781],{"type":29,"value":1544},{"type":23,"tag":88,"props":16783,"children":16784},{},[16785,16787,16792],{"type":29,"value":16786},"❌（有 huawei-agc\u002Fharmonyos-next ",{"type":23,"tag":45,"props":16788,"children":16789},{},[16790],{"type":29,"value":16791},"原生",{"type":29,"value":16793},"端）",{"type":23,"tag":88,"props":16795,"children":16796},{},[16797],{"type":29,"value":1544},{"type":23,"tag":88,"props":16799,"children":16800},{},[16801],{"type":29,"value":1544},{"type":23,"tag":88,"props":16803,"children":16804},{},[16805],{"type":29,"value":16806},"代码包 10MB",{"type":23,"tag":61,"props":16808,"children":16809},{},[16810,16814,16819,16823,16827,16831],{"type":23,"tag":88,"props":16811,"children":16812},{},[16813],{"type":29,"value":11001},{"type":23,"tag":88,"props":16815,"children":16816},{},[16817],{"type":29,"value":16818},"❌ 无官方页",{"type":23,"tag":88,"props":16820,"children":16821},{},[16822],{"type":29,"value":1849},{"type":23,"tag":88,"props":16824,"children":16825},{},[16826],{"type":29,"value":1544},{"type":23,"tag":88,"props":16828,"children":16829},{},[16830],{"type":29,"value":1544},{"type":23,"tag":88,"props":16832,"children":16833},{},[16834],{"type":29,"value":16835},"4MB \u002F RPK 30MB",{"type":23,"tag":61,"props":16837,"children":16838},{},[16839,16844,16849,16853,16857,16861],{"type":23,"tag":88,"props":16840,"children":16841},{},[16842],{"type":29,"value":16843},"OPPO \u002F vivo",{"type":23,"tag":88,"props":16845,"children":16846},{},[16847],{"type":29,"value":16848},"✅ \u002F ✅",{"type":23,"tag":88,"props":16850,"children":16851},{},[16852],{"type":29,"value":1849},{"type":23,"tag":88,"props":16854,"children":16855},{},[16856],{"type":29,"value":16848},{"type":23,"tag":88,"props":16858,"children":16859},{},[16860],{"type":29,"value":16848},{"type":23,"tag":88,"props":16862,"children":16863},{},[16864],{"type":29,"value":16865},"4MB \u002F ——",{"type":23,"tag":61,"props":16867,"children":16868},{},[16869,16874,16878,16882,16885,16889],{"type":23,"tag":88,"props":16870,"children":16871},{},[16872],{"type":29,"value":16873},"荣耀",{"type":23,"tag":88,"props":16875,"children":16876},{},[16877],{"type":29,"value":1544},{"type":23,"tag":88,"props":16879,"children":16880},{},[16881],{"type":29,"value":1849},{"type":23,"tag":88,"props":16883,"children":16884},{},[],{"type":23,"tag":88,"props":16886,"children":16887},{},[16888],{"type":29,"value":1849},{"type":23,"tag":88,"props":16890,"children":16891},{},[16892],{"type":29,"value":16893},"——",{"type":23,"tag":61,"props":16895,"children":16896},{},[16897,16901,16906,16910,16921,16925],{"type":23,"tag":88,"props":16898,"children":16899},{},[16900],{"type":29,"value":10791},{"type":23,"tag":88,"props":16902,"children":16903},{},[16904],{"type":29,"value":16905},"❌（社区适配帖）",{"type":23,"tag":88,"props":16907,"children":16908},{},[16909],{"type":29,"value":1849},{"type":23,"tag":88,"props":16911,"children":16912},{},[16913,16915,16920],{"type":29,"value":16914},"✅（",{"type":23,"tag":45,"props":16916,"children":16917},{},[16918],{"type":29,"value":16919},"v3.4.1 新增",{"type":29,"value":951},{"type":23,"tag":88,"props":16922,"children":16923},{},[16924],{"type":29,"value":1544},{"type":23,"tag":88,"props":16926,"children":16927},{},[16928],{"type":29,"value":14090},{"type":23,"tag":61,"props":16930,"children":16931},{},[16932,16939,16943,16947,16951,16955],{"type":23,"tag":88,"props":16933,"children":16934},{},[16935],{"type":23,"tag":45,"props":16936,"children":16937},{},[16938],{"type":29,"value":9863},{"type":23,"tag":88,"props":16940,"children":16941},{},[16942],{"type":29,"value":1849},{"type":23,"tag":88,"props":16944,"children":16945},{},[16946],{"type":29,"value":1849},{"type":23,"tag":88,"props":16948,"children":16949},{},[16950],{"type":29,"value":1849},{"type":23,"tag":88,"props":16952,"children":16953},{},[16954],{"type":29,"value":1849},{"type":23,"tag":88,"props":16956,"children":16957},{},[16958],{"type":29,"value":16959},"4MB \u002F 20MB（小游戏侧上限未找到官方原文）",{"type":23,"tag":61,"props":16961,"children":16962},{},[16963,16970,16974,16978,16981,16985],{"type":23,"tag":88,"props":16964,"children":16965},{},[16966],{"type":23,"tag":45,"props":16967,"children":16968},{},[16969],{"type":29,"value":9913},{"type":23,"tag":88,"props":16971,"children":16972},{},[16973],{"type":29,"value":1849},{"type":23,"tag":88,"props":16975,"children":16976},{},[16977],{"type":29,"value":1849},{"type":23,"tag":88,"props":16979,"children":16980},{},[],{"type":23,"tag":88,"props":16982,"children":16983},{},[16984],{"type":29,"value":1849},{"type":23,"tag":88,"props":16986,"children":16987},{},[16988,16993,16995],{"type":23,"tag":45,"props":16989,"children":16990},{},[16991],{"type":29,"value":16992},"6MB",{"type":29,"value":16994}," \u002F 30MB；上传只有 GUI + 扫码 ",{"type":23,"tag":97,"props":16996,"children":16998},{"className":16997},[],[16999],{"type":29,"value":206},{"type":23,"tag":61,"props":17001,"children":17002},{},[17003,17007,17012,17017,17022,17026],{"type":23,"tag":88,"props":17004,"children":17005},{},[17006],{"type":29,"value":11191},{"type":23,"tag":88,"props":17008,"children":17009},{},[17010],{"type":29,"value":17011},"✅ web-mobile\u002Fweb-desktop",{"type":23,"tag":88,"props":17013,"children":17014},{},[17015],{"type":29,"value":17016},"✅ web-desktop\u002Fweb-mobile",{"type":23,"tag":88,"props":17018,"children":17019},{},[17020],{"type":29,"value":17021},"✅（单文件\u002FCrazyGames\u002FPoki）",{"type":23,"tag":88,"props":17023,"children":17024},{},[17025],{"type":29,"value":1544},{"type":23,"tag":88,"props":17027,"children":17028},{},[17029],{"type":29,"value":16893},{"type":23,"tag":61,"props":17031,"children":17032},{},[17033,17037,17042,17047,17057,17062],{"type":23,"tag":88,"props":17034,"children":17035},{},[17036],{"type":29,"value":16791},{"type":23,"tag":88,"props":17038,"children":17039},{},[17040],{"type":29,"value":17041},"✅ Android\u002FiOS\u002Fmac\u002FWindows\u002F鸿蒙\u002FHMS\u002FGP",{"type":23,"tag":88,"props":17043,"children":17044},{},[17045],{"type":29,"value":17046},"✅ android\u002Fios\u002Fmac\u002Fwindows\u002Fhuawei-agc\u002Fharmonyos-next\u002Fohos\u002Fgoogle-play",{"type":23,"tag":88,"props":17048,"children":17049},{},[17050,17052,17056],{"type":29,"value":17051},"✅ LayaNative（Android\u002FiOS\u002F鸿蒙 NEXT\u002FWindows(Steam)\u002F",{"type":23,"tag":45,"props":17053,"children":17054},{},[17055],{"type":29,"value":9526},{"type":29,"value":951},{"type":23,"tag":88,"props":17058,"children":17059},{},[17060],{"type":29,"value":17061},"✅ Win\u002FAndroid\u002FiOS\u002FLinux",{"type":23,"tag":88,"props":17063,"children":17064},{},[17065],{"type":29,"value":17066},"资质门槛见 §6",{"type":23,"tag":39,"props":17068,"children":17069},{},[17070,17075,17077,17082,17084,17089],{"type":23,"tag":45,"props":17071,"children":17072},{},[17073],{"type":29,"value":17074},"这张表最重要的一格",{"type":29,"value":17076},"：Cocos 的 ",{"type":23,"tag":45,"props":17078,"children":17079},{},[17080],{"type":29,"value":17081},"headless 列全是 ❌",{"type":29,"value":17083},"。也就是说 Cocos 的\"全平台导出\"能力",{"type":23,"tag":45,"props":17085,"children":17086},{},[17087],{"type":29,"value":17088},"只存在于需要图形会话的编辑器命令行里",{"type":29,"value":17090},"；一旦你的目标是\"agent 在容器里把七端包都打出来\"，Cocos 现在做不到，而 Laya 声称做得到（未实证）。",{"type":23,"tag":225,"props":17092,"children":17093},{},[],{"type":23,"tag":317,"props":17095,"children":17097},{"id":17096},"_3-ai-编码通道对比核心章v3-全面更新",[17098],{"type":29,"value":17099},"3. AI 编码通道对比（核心章，v3 全面更新）",{"type":23,"tag":32,"props":17101,"children":17103},{"id":17102},"_31-场景预制体真源格式",[17104],{"type":29,"value":17105},"3.1 场景\u002F预制体真源格式",{"type":23,"tag":53,"props":17107,"children":17108},{},[17109,17129],{"type":23,"tag":57,"props":17110,"children":17111},{},[17112],{"type":23,"tag":61,"props":17113,"children":17114},{},[17115,17120,17125],{"type":23,"tag":65,"props":17116,"children":17117},{},[17118],{"type":29,"value":17119},"项",{"type":23,"tag":65,"props":17121,"children":17122},{},[17123],{"type":29,"value":17124},"Cocos 3.8",{"type":23,"tag":65,"props":17126,"children":17127},{},[17128],{"type":29,"value":5126},{"type":23,"tag":81,"props":17130,"children":17131},{},[17132,17215,17238,17261],{"type":23,"tag":61,"props":17133,"children":17134},{},[17135,17140,17182],{"type":23,"tag":88,"props":17136,"children":17137},{},[17138],{"type":29,"value":17139},"文件",{"type":23,"tag":88,"props":17141,"children":17142},{},[17143,17149,17150,17155,17156,17161,17162,17168,17170,17176,17177],{"type":23,"tag":97,"props":17144,"children":17146},{"className":17145},[],[17147],{"type":29,"value":17148},".scene",{"type":29,"value":208},{"type":23,"tag":97,"props":17151,"children":17153},{"className":17152},[],[17154],{"type":29,"value":1277},{"type":29,"value":1225},{"type":23,"tag":45,"props":17157,"children":17158},{},[17159],{"type":29,"value":17160},"JSON 文本",{"type":29,"value":1373},{"type":23,"tag":97,"props":17163,"children":17165},{"className":17164},[],[17166],{"type":29,"value":17167},"__type__\u002F_id\u002F_children\u002F_components",{"type":29,"value":17169},"，引用 uuid，uuid 在配套 ",{"type":23,"tag":97,"props":17171,"children":17173},{"className":17172},[],[17174],{"type":29,"value":17175},".meta",{"type":29,"value":951},{"type":23,"tag":97,"props":17178,"children":17180},{"className":17179},[],[17181],{"type":29,"value":4849},{"type":23,"tag":88,"props":17183,"children":17184},{},[17185,17190,17192,17198,17200,17206,17208,17214],{"type":23,"tag":97,"props":17186,"children":17188},{"className":17187},[],[17189],{"type":29,"value":1560},{"type":29,"value":17191}," 场景 \u002F ",{"type":23,"tag":97,"props":17193,"children":17195},{"className":17194},[],[17196],{"type":29,"value":17197},".lh",{"type":29,"value":17199}," 预制体 \u002F ",{"type":23,"tag":97,"props":17201,"children":17203},{"className":17202},[],[17204],{"type":29,"value":17205},".lprefab",{"type":29,"value":17207},"（社区解析称 JSON，字段 ",{"type":23,"tag":97,"props":17209,"children":17211},{"className":17210},[],[17212],{"type":29,"value":17213},"type\u002Fprops\u002Fchild",{"type":29,"value":951},{"type":23,"tag":61,"props":17216,"children":17217},{},[17218,17223,17233],{"type":23,"tag":88,"props":17219,"children":17220},{},[17221],{"type":29,"value":17222},"官方格式规范",{"type":23,"tag":88,"props":17224,"children":17225},{},[17226,17227,17231],{"type":29,"value":9868},{"type":23,"tag":45,"props":17228,"children":17229},{},[17230],{"type":29,"value":15850},{"type":29,"value":17232},"官方\"场景文本格式\"规范页",{"type":23,"tag":88,"props":17234,"children":17235},{},[17236],{"type":29,"value":17237},"❌ 同样未找到（D65）",{"type":23,"tag":61,"props":17239,"children":17240},{},[17241,17246,17256],{"type":23,"tag":88,"props":17242,"children":17243},{},[17244],{"type":29,"value":17245},"手写 JSON 的风险",{"type":23,"tag":88,"props":17247,"children":17248},{},[17249,17254],{"type":23,"tag":45,"props":17250,"children":17251},{},[17252],{"type":29,"value":17253},"社区明确警告会\"引用错乱\"",{"type":29,"value":17255}," → 才出现第三方走 CLI 改 prefab 的件",{"type":23,"tag":88,"props":17257,"children":17258},{},[17259],{"type":29,"value":17260},"未验证（D65）",{"type":23,"tag":61,"props":17262,"children":17263},{},[17264,17269,17296],{"type":23,"tag":88,"props":17265,"children":17266},{},[17267],{"type":29,"value":17268},"纯代码搭场景",{"type":23,"tag":88,"props":17270,"children":17271},{},[17272,17274,17280,17281,17287,17289,17295],{"type":29,"value":17273},"✅ 运行时 ",{"type":23,"tag":97,"props":17275,"children":17277},{"className":17276},[],[17278],{"type":29,"value":17279},"Prefab.instantiate",{"type":29,"value":208},{"type":23,"tag":97,"props":17282,"children":17284},{"className":17283},[],[17285],{"type":29,"value":17286},"director.loadScene",{"type":29,"value":17288}," + 编辑器序列化 API（",{"type":23,"tag":97,"props":17290,"children":17292},{"className":17291},[],[17293],{"type":29,"value":17294},"editor-extends\u002Futils\u002Fserialize",{"type":29,"value":951},{"type":23,"tag":88,"props":17297,"children":17298},{},[17299,17300,17306,17308,17314],{"type":29,"value":1567},{"type":23,"tag":97,"props":17301,"children":17303},{"className":17302},[],[17304],{"type":29,"value":17305},"Scene.open\u002FScene.load",{"type":29,"value":17307},"，且 ",{"type":23,"tag":97,"props":17309,"children":17311},{"className":17310},[],[17312],{"type":29,"value":17313},"layaair create -t \"2D empty project\"",{"type":29,"value":17315}," 可不开 IDE",{"type":23,"tag":235,"props":17317,"children":17318},{},[17319],{"type":23,"tag":39,"props":17320,"children":17321},{},[17322,17324,17329],{"type":29,"value":17323},"我在 2.4.15 存量工程量到的病（89% 内容在序列化 JSON）在两家都不会自动消失。",{"type":23,"tag":45,"props":17325,"children":17326},{},[17327],{"type":29,"value":17328},"两家官方都不给场景格式规范",{"type":29,"value":17330},"，这条本身就足以否决\"让 agent 直改场景文件\"的路线。",{"type":23,"tag":32,"props":17332,"children":17334},{"id":17333},"_32-mcp-agent-通道清单v3-全部重核",[17335],{"type":29,"value":17336},"3.2 MCP \u002F Agent 通道清单（v3 全部重核）",{"type":23,"tag":53,"props":17338,"children":17339},{},[17340,17371],{"type":23,"tag":57,"props":17341,"children":17342},{},[17343],{"type":23,"tag":61,"props":17344,"children":17345},{},[17346,17351,17356,17361,17366],{"type":23,"tag":65,"props":17347,"children":17348},{},[17349],{"type":29,"value":17350},"通道",{"type":23,"tag":65,"props":17352,"children":17353},{},[17354],{"type":29,"value":17355},"归属",{"type":23,"tag":65,"props":17357,"children":17358},{},[17359],{"type":29,"value":17360},"版本",{"type":23,"tag":65,"props":17362,"children":17363},{},[17364],{"type":29,"value":17365},"能力",{"type":23,"tag":65,"props":17367,"children":17368},{},[17369],{"type":29,"value":17370},"真实状态（v3）",{"type":23,"tag":81,"props":17372,"children":17373},{},[17374,17432,17468,17501,17612,17654,17697,17750,17815,17855],{"type":23,"tag":61,"props":17375,"children":17376},{},[17377,17385,17390,17397,17416],{"type":23,"tag":88,"props":17378,"children":17379},{},[17380],{"type":23,"tag":45,"props":17381,"children":17382},{},[17383],{"type":29,"value":17384},"Funplay MCP for Cocos",{"type":23,"tag":88,"props":17386,"children":17387},{},[17388],{"type":29,"value":17389},"第三方商店",{"type":23,"tag":88,"props":17391,"children":17392},{},[17393],{"type":23,"tag":45,"props":17394,"children":17395},{},[17396],{"type":29,"value":2137},{"type":23,"tag":88,"props":17398,"children":17399},{},[17400,17402,17407,17409,17414],{"type":29,"value":17401},"node\u002Fprefab\u002Fcomponent，",{"type":23,"tag":45,"props":17403,"children":17404},{},[17405],{"type":29,"value":17406},"105 工具",{"type":29,"value":17408},"，编辑器内 HTTP ",{"type":23,"tag":97,"props":17410,"children":17412},{"className":17411},[],[17413],{"type":29,"value":1965},{"type":29,"value":17415},"，带路径穿越检查",{"type":23,"tag":88,"props":17417,"children":17418},{},[17419,17421,17426,17427],{"type":29,"value":17420},"可用 ",{"type":23,"tag":97,"props":17422,"children":17424},{"className":17423},[],[17425],{"type":29,"value":4849},{"type":29,"value":2224},{"type":23,"tag":45,"props":17428,"children":17429},{},[17430],{"type":29,"value":17431},"是 3.8 上唯一能用的场景级通道",{"type":23,"tag":61,"props":17433,"children":17434},{},[17435,17443,17448,17453,17458],{"type":23,"tag":88,"props":17436,"children":17437},{},[17438],{"type":23,"tag":45,"props":17439,"children":17440},{},[17441],{"type":29,"value":17442},"cc-3-8-x-mcp \u002F cocos-mcp-server",{"type":23,"tag":88,"props":17444,"children":17445},{},[17446],{"type":29,"value":17447},"社区",{"type":23,"tag":88,"props":17449,"children":17450},{},[17451],{"type":29,"value":17452},"3.8",{"type":23,"tag":88,"props":17454,"children":17455},{},[17456],{"type":29,"value":17457},"走 CLI 改 prefab（规避手写 JSON 引用错乱）",{"type":23,"tag":88,"props":17459,"children":17460},{},[17461,17463],{"type":29,"value":17462},"存在，规模小 ",{"type":23,"tag":97,"props":17464,"children":17466},{"className":17465},[],[17467],{"type":29,"value":4849},{"type":23,"tag":61,"props":17469,"children":17470},{},[17471,17478,17483,17491,17496],{"type":23,"tag":88,"props":17472,"children":17473},{},[17474],{"type":23,"tag":45,"props":17475,"children":17476},{},[17477],{"type":29,"value":10487},{"type":23,"tag":88,"props":17479,"children":17480},{},[17481],{"type":29,"value":17482},"社区 MIT",{"type":23,"tag":88,"props":17484,"children":17485},{},[17486],{"type":23,"tag":45,"props":17487,"children":17488},{},[17489],{"type":29,"value":17490},"2.4.x",{"type":23,"tag":88,"props":17492,"children":17493},{},[17494],{"type":29,"value":17495},"读写场景节点\u002F资源\u002F日志",{"type":23,"tag":88,"props":17497,"children":17498},{},[17499],{"type":29,"value":17500},"个人项目，作者 2.4.15 验证",{"type":23,"tag":61,"props":17502,"children":17503},{},[17504,17517,17522,17530,17570],{"type":23,"tag":88,"props":17505,"children":17506},{},[17507],{"type":23,"tag":45,"props":17508,"children":17509},{},[17510,17515],{"type":23,"tag":97,"props":17511,"children":17513},{"className":17512},[],[17514],{"type":29,"value":11923},{"type":29,"value":17516}," + 内置 MCP",{"type":23,"tag":88,"props":17518,"children":17519},{},[17520],{"type":29,"value":17521},"Cocos 官方",{"type":23,"tag":88,"props":17523,"children":17524},{},[17525],{"type":23,"tag":45,"props":17526,"children":17527},{},[17528],{"type":29,"value":17529},"只支持 COCOS 4，不支持 3.8",{"type":23,"tag":88,"props":17531,"children":17532},{},[17533,17535,17541,17542,17548,17549,17555,17557,17562,17564],{"type":29,"value":17534},"命令：",{"type":23,"tag":97,"props":17536,"children":17538},{"className":17537},[],[17539],{"type":29,"value":17540},"cocos create\u002Fbuild -p \u003Cplatform>",{"type":29,"value":1137},{"type":23,"tag":97,"props":17543,"children":17545},{"className":17544},[],[17546],{"type":29,"value":17547},"cocos start-mcp-server --project --port",{"type":29,"value":1137},{"type":23,"tag":97,"props":17550,"children":17552},{"className":17551},[],[17553],{"type":29,"value":17554},"cocos simulator",{"type":29,"value":17556},"、全局 ",{"type":23,"tag":97,"props":17558,"children":17560},{"className":17559},[],[17561],{"type":29,"value":11948},{"type":29,"value":17563},"；MCP 域可从源码推断：",{"type":23,"tag":97,"props":17565,"children":17567},{"className":17566},[],[17568],{"type":29,"value":17569},"scene\u002Fnode\u002Fprefab\u002Fcomponent\u002Fassets\u002Fbuilder\u002Fsystem\u002Ffile-editor\u002Fengine\u002Fproject\u002Fconfiguration",{"type":23,"tag":88,"props":17571,"children":17572},{},[17573,17574,17592,17593,17604,17605,17610],{"type":29,"value":1554},{"type":23,"tag":45,"props":17575,"children":17576},{},[17577,17579,17585,17586],{"type":29,"value":17578},"435★\u002FMIT（根目录无 LICENSE 文件）\u002F需 Node 22+ + ",{"type":23,"tag":97,"props":17580,"children":17582},{"className":17581},[],[17583],{"type":29,"value":17584},"npm run init",{"type":29,"value":1233},{"type":23,"tag":97,"props":17587,"children":17589},{"className":17588},[],[17590],{"type":29,"value":17591},"npm link",{"type":29,"value":2224},{"type":23,"tag":45,"props":17594,"children":17595},{},[17596,17602],{"type":23,"tag":97,"props":17597,"children":17599},{"className":17598},[],[17600],{"type":29,"value":17601},"--platform",{"type":29,"value":17603}," 只有 web-desktop\u002Fweb-mobile\u002Fandroid\u002Fios（源码另有 mac\u002Fwindows\u002Fhuawei-agc\u002Fharmonyos-next\u002Fohos\u002Fgoogle-play）→ 无任何小游戏端",{"type":29,"value":2224},{"type":23,"tag":45,"props":17606,"children":17607},{},[17608],{"type":29,"value":17609},"MCP 工具清单无公开文档",{"type":29,"value":17611},"；文档称\"无需 GUI\"但整套绑在 4.0 alpha",{"type":23,"tag":61,"props":17613,"children":17614},{},[17615,17623,17628,17633,17638],{"type":23,"tag":88,"props":17616,"children":17617},{},[17618],{"type":23,"tag":45,"props":17619,"children":17620},{},[17621],{"type":29,"value":17622},"PinK IDE",{"type":23,"tag":88,"props":17624,"children":17625},{},[17626],{"type":29,"value":17627},"Cocos 官方（论坛有专版）",{"type":23,"tag":88,"props":17629,"children":17630},{},[17631],{"type":29,"value":17632},"alpha",{"type":23,"tag":88,"props":17634,"children":17635},{},[17636],{"type":29,"value":17637},"\"AI 驱动游戏全流水线\"、内置 Agent、支持场景编辑，与 COCOS 4\u002Fcocos-cli 集成",{"type":23,"tag":88,"props":17639,"children":17640},{},[17641,17642,17647,17649],{"type":29,"value":9868},{"type":23,"tag":45,"props":17643,"children":17644},{},[17645],{"type":29,"value":17646},"官方明示\"请勿用于生产环境\"",{"type":29,"value":17648},"；0.0.1.18 Alpha（2026-05-09）；火山引擎\"万有\"上架、0.01 元测试码、邀请码未大规模发放；",{"type":23,"tag":45,"props":17650,"children":17651},{},[17652],{"type":29,"value":17653},"许可与定价未找到",{"type":23,"tag":61,"props":17655,"children":17656},{},[17657,17665,17670,17680,17685],{"type":23,"tag":88,"props":17658,"children":17659},{},[17660],{"type":23,"tag":45,"props":17661,"children":17662},{},[17663],{"type":29,"value":17664},"LayaAir IDE 内置 MCP",{"type":23,"tag":88,"props":17666,"children":17667},{},[17668],{"type":29,"value":17669},"Laya 官方",{"type":23,"tag":88,"props":17671,"children":17672},{},[17673,17678],{"type":23,"tag":45,"props":17674,"children":17675},{},[17676],{"type":29,"value":17677},"IDE 3.3.6+，必须启动 IDE GUI",{"type":29,"value":17679},"，需 ai-console API Key",{"type":23,"tag":88,"props":17681,"children":17682},{},[17683],{"type":29,"value":17684},"宣称可写文件\u002F建节点\u002F设物理；限制\"每会话重新导入项目\"",{"type":23,"tag":88,"props":17686,"children":17687},{},[17688,17690,17695],{"type":29,"value":17689},"文档存在 ",{"type":23,"tag":97,"props":17691,"children":17693},{"className":17692},[],[17694],{"type":29,"value":4849},{"type":29,"value":17696},"；性质与 Funplay 同档（人在场）",{"type":23,"tag":61,"props":17698,"children":17699},{},[17700,17712,17717,17721,17739],{"type":23,"tag":88,"props":17701,"children":17702},{},[17703],{"type":23,"tag":45,"props":17704,"children":17705},{},[17706],{"type":23,"tag":97,"props":17707,"children":17709},{"className":17708},[],[17710],{"type":29,"value":17711},"layabox\u002FLayaAir-mcp-plugin",{"type":23,"tag":88,"props":17713,"children":17714},{},[17715],{"type":29,"value":17716},"Laya 官方组织",{"type":23,"tag":88,"props":17718,"children":17719},{},[17720],{"type":29,"value":16893},{"type":23,"tag":88,"props":17722,"children":17723},{},[17724,17726,17732,17733],{"type":29,"value":17725},"仅 ",{"type":23,"tag":97,"props":17727,"children":17729},{"className":17728},[],[17730],{"type":29,"value":17731},"create-cube-in-scene",{"type":29,"value":1137},{"type":23,"tag":97,"props":17734,"children":17736},{"className":17735},[],[17737],{"type":29,"value":17738},"import-model-to-scene",{"type":23,"tag":88,"props":17740,"children":17741},{},[17742,17743,17748],{"type":29,"value":9868},{"type":23,"tag":45,"props":17744,"children":17745},{},[17746],{"type":29,"value":17747},"2026-08-19 已归档只读",{"type":29,"value":17749},"、无 LICENSE、2★ → 不可依赖",{"type":23,"tag":61,"props":17751,"children":17752},{},[17753,17765,17769,17773,17804],{"type":23,"tag":88,"props":17754,"children":17755},{},[17756],{"type":23,"tag":45,"props":17757,"children":17758},{},[17759],{"type":23,"tag":97,"props":17760,"children":17762},{"className":17761},[],[17763],{"type":29,"value":17764},"layabox\u002Flayaair-skills",{"type":23,"tag":88,"props":17766,"children":17767},{},[17768],{"type":29,"value":17716},{"type":23,"tag":88,"props":17770,"children":17771},{},[17772],{"type":29,"value":16893},{"type":23,"tag":88,"props":17774,"children":17775},{},[17776,17781,17782,17787,17788,17794,17796,17802],{"type":23,"tag":45,"props":17777,"children":17778},{},[17779],{"type":29,"value":17780},"只有 2 个技能",{"type":29,"value":741},{"type":23,"tag":97,"props":17783,"children":17785},{"className":17784},[],[17786],{"type":29,"value":9539},{"type":29,"value":1137},{"type":23,"tag":97,"props":17789,"children":17791},{"className":17790},[],[17792],{"type":29,"value":17793},"layaair-ide-plugin",{"type":29,"value":17795},"；能力=建项目\u002F构建\u002F校验资源\u002F导出 ",{"type":23,"tag":97,"props":17797,"children":17799},{"className":17798},[],[17800],{"type":29,"value":17801},".layapkg",{"type":29,"value":17803},"\u002F跑脚本\u002F版本管理",{"type":23,"tag":88,"props":17805,"children":17806},{},[17807,17808,17813],{"type":29,"value":1554},{"type":23,"tag":45,"props":17809,"children":17810},{},[17811],{"type":29,"value":17812},"无\"搭场景、挂组件\"技能",{"type":29,"value":17814},"（2026-09-22 仍在更新）",{"type":23,"tag":61,"props":17816,"children":17817},{},[17818,17830,17834,17839,17844],{"type":23,"tag":88,"props":17819,"children":17820},{},[17821],{"type":23,"tag":45,"props":17822,"children":17823},{},[17824],{"type":23,"tag":97,"props":17825,"children":17827},{"className":17826},[],[17828],{"type":29,"value":17829},"layabox\u002Flayaair-cli",{"type":23,"tag":88,"props":17831,"children":17832},{},[17833],{"type":29,"value":17716},{"type":23,"tag":88,"props":17835,"children":17836},{},[17837],{"type":29,"value":17838},"Node 20+",{"type":23,"tag":88,"props":17840,"children":17841},{},[17842],{"type":29,"value":17843},"建项目\u002F构建\u002F校验\u002F多端出包",{"type":23,"tag":88,"props":17845,"children":17846},{},[17847,17848,17853],{"type":29,"value":1554},{"type":23,"tag":45,"props":17849,"children":17850},{},[17851],{"type":29,"value":17852},"仓库只有 5 个文件（install.sh\u002Fps1 + README + LICENSE），运行时本体闭源、安装时联网从厂商服务下载",{"type":29,"value":17854}," → \"开源\"名不副实",{"type":23,"tag":61,"props":17856,"children":17857},{},[17858,17863,17868,17872,17883],{"type":23,"tag":88,"props":17859,"children":17860},{},[17861],{"type":29,"value":17862},"参照：Phaser 4 自带 skills",{"type":23,"tag":88,"props":17864,"children":17865},{},[17866],{"type":29,"value":17867},"引擎官方",{"type":23,"tag":88,"props":17869,"children":17870},{},[17871],{"type":29,"value":16893},{"type":23,"tag":88,"props":17873,"children":17874},{},[17875,17881],{"type":23,"tag":97,"props":17876,"children":17878},{"className":17877},[],[17879],{"type":29,"value":17880},"node_modules\u002Fphaser\u002Fskills\u002F",{"type":29,"value":17882}," 25 主题（含 v3→v4 迁移）",{"type":23,"tag":88,"props":17884,"children":17885},{},[17886,17891],{"type":23,"tag":97,"props":17887,"children":17889},{"className":17888},[],[17890],{"type":29,"value":206},{"type":29,"value":17892}," 我写 Demo 时靠它对齐 v4 API",{"type":23,"tag":39,"props":17894,"children":17895},{},[17896,17901],{"type":23,"tag":45,"props":17897,"children":17898},{},[17899],{"type":29,"value":17900},"净结论（v3）",{"type":29,"value":741},{"type":23,"tag":1909,"props":17903,"children":17904},{},[17905,17922,17944],{"type":23,"tag":747,"props":17906,"children":17907},{},[17908,17913,17915,17920],{"type":23,"tag":45,"props":17909,"children":17910},{},[17911],{"type":29,"value":17912},"改场景",{"type":29,"value":17914},"：Cocos 有件（3.8 第三方 105 工具 \u002F 4.0 官方 MCP 但 alpha）；",{"type":23,"tag":45,"props":17916,"children":17917},{},[17918],{"type":29,"value":17919},"Laya 基本没有",{"type":29,"value":17921},"（归档 + 无场景技能）。",{"type":23,"tag":747,"props":17923,"children":17924},{},[17925,17930,17931,17936,17937,17942],{"type":23,"tag":45,"props":17926,"children":17927},{},[17928],{"type":29,"value":17929},"出包",{"type":29,"value":741},{"type":23,"tag":45,"props":17932,"children":17933},{},[17934],{"type":29,"value":17935},"Laya 有官方文档支持的无 GUI 路径",{"type":29,"value":2224},{"type":23,"tag":45,"props":17938,"children":17939},{},[17940],{"type":29,"value":17941},"Cocos 没有",{"type":29,"value":17943},"（headless 无小游戏端，3.8 CLI 要图形会话）。",{"type":23,"tag":747,"props":17945,"children":17946},{},[17947,17949,17954],{"type":29,"value":17948},"也就是说：",{"type":23,"tag":45,"props":17950,"children":17951},{},[17952],{"type":29,"value":17953},"两家各自把一半能力留在了\"未发布\"或\"闭源\"里",{"type":29,"value":17955},"——Cocos 押在 4.0 alpha + PinK，Laya 押在闭源 CLI 二进制。",{"type":23,"tag":32,"props":17957,"children":17959},{"id":17958},"_33-无头-ci-能力",[17960],{"type":29,"value":17961},"3.3 无头 \u002F CI 能力",{"type":23,"tag":53,"props":17963,"children":17964},{},[17965,17983],{"type":23,"tag":57,"props":17966,"children":17967},{},[17968],{"type":23,"tag":61,"props":17969,"children":17970},{},[17971,17975,17979],{"type":23,"tag":65,"props":17972,"children":17973},{},[17974],{"type":29,"value":17119},{"type":23,"tag":65,"props":17976,"children":17977},{},[17978],{"type":29,"value":15936},{"type":23,"tag":65,"props":17980,"children":17981},{},[17982],{"type":29,"value":5126},{"type":23,"tag":81,"props":17984,"children":17985},{},[17986,18023,18094,18118,18135],{"type":23,"tag":61,"props":17987,"children":17988},{},[17989,17994,18018],{"type":23,"tag":88,"props":17990,"children":17991},{},[17992],{"type":29,"value":17993},"小游戏端 headless",{"type":23,"tag":88,"props":17995,"children":17996},{},[17997,17998,18002,18004,18010,18012,18017],{"type":29,"value":9868},{"type":23,"tag":45,"props":17999,"children":18000},{},[18001],{"type":29,"value":15850},{"type":29,"value":18003},"（cocos-cli 无小游戏端；文档称可放 ",{"type":23,"tag":97,"props":18005,"children":18007},{"className":18006},[],[18008],{"type":29,"value":18009},"packages\u002Fplatforms",{"type":29,"value":18011}," 插件自动扫描，但",{"type":23,"tag":45,"props":18013,"children":18014},{},[18015],{"type":29,"value":18016},"该目录在仓库里不存在",{"type":29,"value":951},{"type":23,"tag":88,"props":18019,"children":18020},{},[18021],{"type":29,"value":18022},"✅ 官方 CLI 文档列 10 端（H5\u002F微信\u002F抖音\u002FOPPO\u002Fvivo\u002F小米\u002F华为\u002FB站\u002F支付宝\u002F淘宝）",{"type":23,"tag":61,"props":18024,"children":18025},{},[18026,18031,18075],{"type":23,"tag":88,"props":18027,"children":18028},{},[18029],{"type":29,"value":18030},"3.8 编辑器 CLI",{"type":23,"tag":88,"props":18032,"children":18033},{},[18034,18040,18041,18046,18047,18053,18054,18059,18060,18065,18067,18073],{"type":23,"tag":97,"props":18035,"children":18037},{"className":18036},[],[18038],{"type":29,"value":18039},"--project \u003Cpath> --build \"platform=X;debug=Y\"",{"type":29,"value":1241},{"type":23,"tag":45,"props":18042,"children":18043},{},[18044],{"type":29,"value":18045},"命令串 ≤125 字符",{"type":29,"value":2224},{"type":23,"tag":97,"props":18048,"children":18050},{"className":18049},[],[18051],{"type":29,"value":18052},"configPath\u002FlogDest\u002Fstage\u002Ftemplate-version",{"type":29,"value":2224},{"type":23,"tag":45,"props":18055,"children":18056},{},[18057],{"type":29,"value":18058},"退出码 32=参数无效\u002F失败、34=构建错误、36=成功",{"type":29,"value":2224},{"type":23,"tag":45,"props":18061,"children":18062},{},[18063],{"type":29,"value":18064},"必须 GUI 会话",{"type":29,"value":18066},"（Jenkins 需 WindowServer\u002F桌面 agent）；已知坑：macOS 因文档换行符使 ",{"type":23,"tag":97,"props":18068,"children":18070},{"className":18069},[],[18071],{"type":29,"value":18072},"--build",{"type":29,"value":18074}," 失效（2025-08 已解决）",{"type":23,"tag":88,"props":18076,"children":18077},{},[18078,18080,18086,18087,18092],{"type":29,"value":18079},"老式 ",{"type":23,"tag":97,"props":18081,"children":18083},{"className":18082},[],[18084],{"type":29,"value":18085},"LayaAirIDE --project=… [--script=类.方法]",{"type":29,"value":741},{"type":23,"tag":45,"props":18088,"children":18089},{},[18090],{"type":29,"value":18091},"依赖已装 IDE，只 8 端",{"type":29,"value":18093},"（web\u002Fwxgame\u002Fbytedance\u002Foppo\u002Fvivo\u002Fxm\u002Falipay\u002Ftb）",{"type":23,"tag":61,"props":18095,"children":18096},{},[18097,18101,18106],{"type":23,"tag":88,"props":18098,"children":18099},{},[18100],{"type":29,"value":9526},{"type":23,"tag":88,"props":18102,"children":18103},{},[18104],{"type":29,"value":18105},"❌ 无官方支持（论坛 2025-02 无官方结论）",{"type":23,"tag":88,"props":18107,"children":18108},{},[18109,18111,18116],{"type":29,"value":18110},"🟡 文档列 Linux\u002Fx64\u002Farm64，",{"type":23,"tag":45,"props":18112,"children":18113},{},[18114],{"type":29,"value":18115},"但未找到官方 CI yml 与 Linux 原生打包实证",{"type":29,"value":18117},"（D64）",{"type":23,"tag":61,"props":18119,"children":18120},{},[18121,18126,18131],{"type":23,"tag":88,"props":18122,"children":18123},{},[18124],{"type":29,"value":18125},"官方 CI 示例",{"type":23,"tag":88,"props":18127,"children":18128},{},[18129],{"type":29,"value":18130},"❌ 未找到",{"type":23,"tag":88,"props":18132,"children":18133},{},[18134],{"type":29,"value":18130},{"type":23,"tag":61,"props":18136,"children":18137},{},[18138,18143,18155],{"type":23,"tag":88,"props":18139,"children":18140},{},[18141],{"type":29,"value":18142},"上传脚本化",{"type":23,"tag":88,"props":18144,"children":18145},{},[18146,18148,18153],{"type":29,"value":18147},"与引擎无关：微信 ",{"type":23,"tag":97,"props":18149,"children":18151},{"className":18150},[],[18152],{"type":29,"value":4915},{"type":29,"value":18154}," 2.1.31 ✅ 无需 IDE；抖音\u002FQQ\u002FB站\u002Fvivo\u002F支付宝 CLI 见第四版 §5",{"type":23,"tag":88,"props":18156,"children":18157},{},[18158],{"type":29,"value":18159},"同",{"type":23,"tag":32,"props":18161,"children":18163},{"id":18162},"_34-llm-语料密度决定幻觉率",[18164],{"type":29,"value":18165},"3.4 LLM 语料密度（决定幻觉率）",{"type":23,"tag":53,"props":18167,"children":18168},{},[18169,18188],{"type":23,"tag":57,"props":18170,"children":18171},{},[18172],{"type":23,"tag":61,"props":18173,"children":18174},{},[18175,18179,18183],{"type":23,"tag":65,"props":18176,"children":18177},{},[18178],{"type":29,"value":852},{"type":23,"tag":65,"props":18180,"children":18181},{},[18182],{"type":29,"value":15936},{"type":23,"tag":65,"props":18184,"children":18185},{},[18186],{"type":29,"value":18187},"LayaAir",{"type":23,"tag":81,"props":18189,"children":18190},{},[18191,18225,18250,18301,18330,18365],{"type":23,"tag":61,"props":18192,"children":18193},{},[18194,18199,18215],{"type":23,"tag":88,"props":18195,"children":18196},{},[18197],{"type":29,"value":18198},"引擎仓库 stars\u002Fforks、issue",{"type":23,"tag":88,"props":18200,"children":18201},{},[18202,18207,18208,18213],{"type":23,"tag":45,"props":18203,"children":18204},{},[18205],{"type":29,"value":18206},"9,846★",{"type":29,"value":883},{"type":23,"tag":97,"props":18209,"children":18211},{"className":18210},[],[18212],{"type":29,"value":206},{"type":29,"value":18214},"；cocos4 1,483★\u002F92 issues；cocos-cli 435★\u002F46 issues",{"type":23,"tag":88,"props":18216,"children":18217},{},[18218,18220],{"type":29,"value":18219},"2,204★\u002F545fork\u002F",{"type":23,"tag":45,"props":18221,"children":18222},{},[18223],{"type":29,"value":18224},"仅 9 open issue",{"type":23,"tag":61,"props":18226,"children":18227},{},[18228,18233,18238],{"type":23,"tag":88,"props":18229,"children":18230},{},[18231],{"type":29,"value":18232},"文档可核性",{"type":23,"tag":88,"props":18234,"children":18235},{},[18236],{"type":29,"value":18237},"高（3.0–3.8 + 4.0 全版本中文手册）",{"type":23,"tag":88,"props":18239,"children":18240},{},[18241,18243,18248],{"type":29,"value":18242},"中（多页 SPA 抓不到正文；文档源仓库 Doc-ZH ",{"type":23,"tag":45,"props":18244,"children":18245},{},[18246],{"type":29,"value":18247},"7★",{"type":29,"value":18249},"、Doc-EN 2★）",{"type":23,"tag":61,"props":18251,"children":18252},{},[18253,18258,18263],{"type":23,"tag":88,"props":18254,"children":18255},{},[18256],{"type":29,"value":18257},"示例",{"type":23,"tag":88,"props":18259,"children":18260},{},[18261],{"type":29,"value":18262},"商店成品 + 论坛主题 ID 已排到 ~17.7 万",{"type":23,"tag":88,"props":18264,"children":18265},{},[18266,18272,18273,18278,18280,18286,18288,18293,18295],{"type":23,"tag":97,"props":18267,"children":18269},{"className":18268},[],[18270],{"type":29,"value":18271},"NewUI-Examples",{"type":29,"value":883},{"type":23,"tag":45,"props":18274,"children":18275},{},[18276],{"type":29,"value":18277},"0★",{"type":29,"value":18279},"、旧 ",{"type":23,"tag":97,"props":18281,"children":18283},{"className":18282},[],[18284],{"type":29,"value":18285},"layaair-demo",{"type":29,"value":18287}," 101★ 但 ",{"type":23,"tag":45,"props":18289,"children":18290},{},[18291],{"type":29,"value":18292},"2021 停更",{"type":29,"value":18294},"；示例在引擎仓库 ",{"type":23,"tag":97,"props":18296,"children":18298},{"className":18297},[],[18299],{"type":29,"value":18300},"src\u002Fsamples",{"type":23,"tag":61,"props":18302,"children":18303},{},[18304,18309,18314],{"type":23,"tag":88,"props":18305,"children":18306},{},[18307],{"type":29,"value":18308},"对 agent 的影响",{"type":23,"tag":88,"props":18310,"children":18311},{},[18312],{"type":29,"value":18313},"模型\"记得 API\"概率高",{"type":23,"tag":88,"props":18315,"children":18316},{},[18317,18322,18324,18329],{"type":23,"tag":45,"props":18318,"children":18319},{},[18320],{"type":29,"value":18321},"更易编出不存在的 Laya API",{"type":29,"value":18323},"；且 issue 少≠没问题（反馈沉在自家论坛 4670 bug 帖，",{"type":23,"tag":45,"props":18325,"children":18326},{},[18327],{"type":29,"value":18328},"机器不可读",{"type":29,"value":951},{"type":23,"tag":61,"props":18331,"children":18332},{},[18333,18338,18342],{"type":23,"tag":88,"props":18334,"children":18335},{},[18336],{"type":29,"value":18337},"缓解",{"type":23,"tag":88,"props":18339,"children":18340},{},[18341],{"type":29,"value":16893},{"type":23,"tag":88,"props":18343,"children":18344},{},[18345,18350,18352,18357,18359,18364],{"type":23,"tag":97,"props":18346,"children":18348},{"className":18347},[],[18349],{"type":29,"value":1379},{"type":29,"value":18351}," + 契约测试 + 官方 API 站\u002F",{"type":23,"tag":97,"props":18353,"children":18355},{"className":18354},[],[18356],{"type":29,"value":9547},{"type":29,"value":18358}," 进上下文（对 Laya 是",{"type":23,"tag":45,"props":18360,"children":18361},{},[18362],{"type":29,"value":18363},"必需项",{"type":29,"value":951},{"type":23,"tag":61,"props":18366,"children":18367},{},[18368,18373,18385],{"type":23,"tag":88,"props":18369,"children":18370},{},[18371],{"type":29,"value":18372},"份额证据的可信度",{"type":23,"tag":88,"props":18374,"children":18375},{},[18376,18378,18383],{"type":29,"value":18377},"⚠️ \"收入最高 80% 游戏由 Cocos 开发\"（2023 触控 CEO 演讲，媒体转述）、\"荣誉榜满眼都是 Cocos\"（官方博客）→ ",{"type":23,"tag":45,"props":18379,"children":18380},{},[18381],{"type":29,"value":18382},"都是宣传口径，不是第三方统计",{"type":29,"value":18384},"；招聘岗位数\u002F商店 SKU 数未找到可核实数据",{"type":23,"tag":88,"props":18386,"children":18387},{},[18388],{"type":29,"value":18389},"未找到同类宣传，也未找到数据",{"type":23,"tag":32,"props":18391,"children":18393},{"id":18392},"_35-两家共同的天花板别指望换引擎绕过",[18394],{"type":29,"value":18395},"3.5 两家共同的天花板（别指望换引擎绕过）",{"type":23,"tag":743,"props":18397,"children":18398},{},[18399,18404,18421,18444,18483],{"type":23,"tag":747,"props":18400,"children":18401},{},[18402],{"type":29,"value":18403},"agent 不能并行改场景（编辑器\u002FIDE 单实例）；",{"type":23,"tag":747,"props":18405,"children":18406},{},[18407,18409,18414,18415,18420],{"type":29,"value":18408},"快手、百度两端",{"type":23,"tag":45,"props":18410,"children":18411},{},[18412],{"type":29,"value":18413},"每次上传都要 GUI + 扫码",{"type":29,"value":883},{"type":23,"tag":97,"props":18416,"children":18418},{"className":18417},[],[18419],{"type":29,"value":206},{"type":29,"value":2224},{"type":23,"tag":747,"props":18422,"children":18423},{},[18424,18429,18430,18435,18437,18442],{"type":23,"tag":97,"props":18425,"children":18427},{"className":18426},[],[18428],{"type":29,"value":7126},{"type":29,"value":11303},{"type":23,"tag":97,"props":18431,"children":18433},{"className":18432},[],[18434],{"type":29,"value":206},{"type":29,"value":18436},"）→ 自动验收只能\"无头浏览器 + 喂帧\"（",{"type":23,"tag":97,"props":18438,"children":18440},{"className":18439},[],[18441],{"type":29,"value":9667},{"type":29,"value":18443}," 已跑通）；",{"type":23,"tag":747,"props":18445,"children":18446},{},[18447,18452,18454,18460,18461,18467,18468,18474,18476,18481],{"type":23,"tag":45,"props":18448,"children":18449},{},[18450],{"type":29,"value":18451},"变现层必须自写",{"type":29,"value":18453},"：没有任何一家提供跑在小游戏运行时里的 JS 广告聚合 SDK（TopOn\u002FTaku、TradPlus、GroMore 都是 App 原生 SDK 或\"跳转\"方案）；支付各端只有自家 API（",{"type":23,"tag":97,"props":18455,"children":18457},{"className":18456},[],[18458],{"type":29,"value":18459},"wx.requestMidasPayment",{"type":29,"value":208},{"type":23,"tag":97,"props":18462,"children":18464},{"className":18463},[],[18465],{"type":29,"value":18466},"tt.requestGamePayment",{"type":29,"value":208},{"type":23,"tag":97,"props":18469,"children":18471},{"className":18470},[],[18472],{"type":29,"value":18473},"my.tradePay",{"type":29,"value":18475},"\u002F快游戏各家联运）。",{"type":23,"tag":45,"props":18477,"children":18478},{},[18479],{"type":29,"value":18480},"iOS 小游戏内购 2026-03-15 已上线、2026-07 苹果开始封堵规避 IAP",{"type":29,"value":18482}," → 别再按\"iOS 只能广告\"设计；",{"type":23,"tag":747,"props":18484,"children":18485},{},[18486,18491],{"type":23,"tag":45,"props":18487,"children":18488},{},[18489],{"type":29,"value":18490},"两家都没有官方 CI 示例",{"type":29,"value":18492},"（这条对\"AI 无人值守\"是同一份作业要自己交）。",{"type":23,"tag":225,"props":18494,"children":18495},{},[],{"type":23,"tag":317,"props":18497,"children":18499},{"id":18498},"_4-技术能力对比v3-补-cocos-侧取证",[18500],{"type":29,"value":18501},"4. 技术能力对比（v3 补 Cocos 侧取证）",{"type":23,"tag":53,"props":18503,"children":18504},{},[18505,18529],{"type":23,"tag":57,"props":18506,"children":18507},{},[18508],{"type":23,"tag":61,"props":18509,"children":18510},{},[18511,18515,18520,18525],{"type":23,"tag":65,"props":18512,"children":18513},{},[18514],{"type":29,"value":17365},{"type":23,"tag":65,"props":18516,"children":18517},{},[18518],{"type":29,"value":18519},"Cocos Creator 3.8",{"type":23,"tag":65,"props":18521,"children":18522},{},[18523],{"type":29,"value":18524},"LayaAir 3.4",{"type":23,"tag":65,"props":18526,"children":18527},{},[18528],{"type":29,"value":5931},{"type":23,"tag":81,"props":18530,"children":18531},{},[18532,18555,18608,18631,18675,18730,18775,18797,18846,18876],{"type":23,"tag":61,"props":18533,"children":18534},{},[18535,18540,18545,18550],{"type":23,"tag":88,"props":18536,"children":18537},{},[18538],{"type":29,"value":18539},"2D 渲染",{"type":23,"tag":88,"props":18541,"children":18542},{},[18543],{"type":29,"value":18544},"✅ WebGL + Canvas 双管线",{"type":23,"tag":88,"props":18546,"children":18547},{},[18548],{"type":29,"value":18549},"✅ WebGL（3.5 路线 WebGPU）",{"type":23,"tag":88,"props":18551,"children":18552},{},[18553],{"type":29,"value":18554},"小游戏端都走 WebGL",{"type":23,"tag":61,"props":18556,"children":18557},{},[18558,18566,18577,18596],{"type":23,"tag":88,"props":18559,"children":18560},{},[18561],{"type":23,"tag":45,"props":18562,"children":18563},{},[18564],{"type":29,"value":18565},"UI 体系",{"type":23,"tag":88,"props":18567,"children":18568},{},[18569,18571,18575],{"type":29,"value":18570},"✅ Widget\u002FScrollView\u002FRichText\u002FEditBox\u002F九宫格\u002FLayout\u002FMask；⚠️ ",{"type":23,"tag":45,"props":18572,"children":18573},{},[18574],{"type":29,"value":16098},{"type":29,"value":18576},"（社区与商店插件补位）",{"type":23,"tag":88,"props":18578,"children":18579},{},[18580,18582,18587,18589,18594],{"type":29,"value":18581},"✅ 经典 UI + ",{"type":23,"tag":45,"props":18583,"children":18584},{},[18585],{"type":29,"value":18586},"新 UI（官方称 FairyGUI 同构）",{"type":29,"value":18588},"：Button\u002F",{"type":23,"tag":45,"props":18590,"children":18591},{},[18592],{"type":29,"value":18593},"List",{"type":29,"value":18595},"\u002FPanel\u002FBox\u002FVBox\u002FTextInput\u002FTextArea\u002FSlider\u002FProgressBar\u002FComboBox\u002FTab\u002FViewStack\u002FDialog",{"type":23,"tag":88,"props":18597,"children":18598},{},[18599,18601,18606],{"type":29,"value":18600},"对\"47 个面板\"这种量级，",{"type":23,"tag":45,"props":18602,"children":18603},{},[18604],{"type":29,"value":18605},"Laya 自带 List 是实打实省工",{"type":29,"value":18607},"；但新 UI 实战成熟度未验证（D66）",{"type":23,"tag":61,"props":18609,"children":18610},{},[18611,18616,18621,18626],{"type":23,"tag":88,"props":18612,"children":18613},{},[18614],{"type":29,"value":18615},"3D",{"type":23,"tag":88,"props":18617,"children":18618},{},[18619],{"type":29,"value":18620},"✅ 前向 + 延迟管线、合批\u002FUBR、光照阴影、后处理",{"type":23,"tag":88,"props":18622,"children":18623},{},[18624],{"type":29,"value":18625},"✅ ClusterLighting、Forward+、PBR\u002FUnlit、反射探针、体积 GI、后处理、计算着色器、WebGPU",{"type":23,"tag":88,"props":18627,"children":18628},{},[18629],{"type":29,"value":18630},"3D 需求两家都不输",{"type":23,"tag":61,"props":18632,"children":18633},{},[18634,18639,18644,18656],{"type":23,"tag":88,"props":18635,"children":18636},{},[18637],{"type":29,"value":18638},"动画",{"type":23,"tag":88,"props":18640,"children":18641},{},[18642],{"type":29,"value":18643},"✅ Tween\u002FAnimation\u002FSpine\u002FDragonBones",{"type":23,"tag":88,"props":18645,"children":18646},{},[18647,18649,18654],{"type":29,"value":18648},"✅ 时间轴\u002F骨骼\u002F",{"type":23,"tag":45,"props":18650,"children":18651},{},[18652],{"type":29,"value":18653},"Animator2D 状态机",{"type":29,"value":18655},"\u002FIK\u002F动画烘焙\u002F龙骨\u002FSpine",{"type":23,"tag":88,"props":18657,"children":18658},{},[18659,18661,18666,18667,18673],{"type":29,"value":18660},"都不能让 agent 改 ",{"type":23,"tag":97,"props":18662,"children":18664},{"className":18663},[],[18665],{"type":29,"value":6897},{"type":29,"value":208},{"type":23,"tag":97,"props":18668,"children":18670},{"className":18669},[],[18671],{"type":29,"value":18672},".riv",{"type":29,"value":18674}," 工程",{"type":23,"tag":61,"props":18676,"children":18677},{},[18678,18683,18700,18711],{"type":23,"tag":88,"props":18679,"children":18680},{},[18681],{"type":29,"value":18682},"物理",{"type":23,"tag":88,"props":18684,"children":18685},{},[18686,18688,18693,18695],{"type":29,"value":18687},"✅ 项目设置→功能裁剪：3D 可选 ",{"type":23,"tag":45,"props":18689,"children":18690},{},[18691],{"type":29,"value":18692},"builtin\u002Fbullet\u002FPhysX\u002Fcannon.js",{"type":29,"value":18694},"，2D box2d；⚠️ ",{"type":23,"tag":45,"props":18696,"children":18697},{},[18698],{"type":29,"value":18699},"PhysX 有包体与 x86 安卓限制",{"type":23,"tag":88,"props":18701,"children":18702},{},[18703,18704,18709],{"type":29,"value":1567},{"type":23,"tag":45,"props":18705,"children":18706},{},[18707],{"type":29,"value":18708},"内置模块",{"type":29,"value":18710},"：2D Box2D、3D Bullet\u002FPhysX；Cannon 为附加库",{"type":23,"tag":88,"props":18712,"children":18713},{},[18714,18716,18721,18723,18728],{"type":29,"value":18715},"都要避开 WASM 件（",{"type":23,"tag":97,"props":18717,"children":18719},{"className":18718},[],[18720],{"type":29,"value":6503},{"type":29,"value":18722}," 只支持 ",{"type":23,"tag":97,"props":18724,"children":18726},{"className":18725},[],[18727],{"type":29,"value":6511},{"type":29,"value":18729}," 且 .wasm 须在代码包内）",{"type":23,"tag":61,"props":18731,"children":18732},{},[18733,18738,18750,18770],{"type":23,"tag":88,"props":18734,"children":18735},{},[18736],{"type":29,"value":18737},"分包\u002F远程\u002F热更",{"type":23,"tag":88,"props":18739,"children":18740},{},[18741,18743,18748],{"type":29,"value":18742},"✅ Asset Bundle + 远程 + 分包官方页 + 原生热更；⚠️ ",{"type":23,"tag":45,"props":18744,"children":18745},{},[18746],{"type":29,"value":18747},"小游戏端代码热更的官方声明未找到",{"type":29,"value":18749},"；已知坑：微信远程 AssetBundle 更新需清缓存",{"type":23,"tag":88,"props":18751,"children":18752},{},[18753,18755,18761,18763,18768],{"type":29,"value":18754},"✅ 分包（IDE 勾选）+ ",{"type":23,"tag":97,"props":18756,"children":18758},{"className":18757},[],[18759],{"type":29,"value":18760},"URL.basePath",{"type":29,"value":18762},"；Native 热更 zip 更新 \u002F ",{"type":23,"tag":45,"props":18764,"children":18765},{},[18766],{"type":29,"value":18767},"LayaDCC 2.0",{"type":29,"value":18769},"（有\"无法本地保存\"反馈）",{"type":23,"tag":88,"props":18771,"children":18772},{},[18773],{"type":29,"value":18774},"两边都要自己趟",{"type":23,"tag":61,"props":18776,"children":18777},{},[18778,18783,18787,18792],{"type":23,"tag":88,"props":18779,"children":18780},{},[18781],{"type":29,"value":18782},"Worker",{"type":23,"tag":88,"props":18784,"children":18785},{},[18786],{"type":29,"value":10773},{"type":23,"tag":88,"props":18788,"children":18789},{},[18790],{"type":29,"value":18791},"✅ 官方列多线程 Worker",{"type":23,"tag":88,"props":18793,"children":18794},{},[18795],{"type":29,"value":18796},"Laya 加分",{"type":23,"tag":61,"props":18798,"children":18799},{},[18800,18808,18819,18836],{"type":23,"tag":88,"props":18801,"children":18802},{},[18803],{"type":23,"tag":45,"props":18804,"children":18805},{},[18806],{"type":29,"value":18807},"空包体积",{"type":23,"tag":88,"props":18809,"children":18810},{},[18811,18812,18817],{"type":29,"value":1554},{"type":23,"tag":45,"props":18813,"children":18814},{},[18815],{"type":29,"value":18816},"官方数字未找到",{"type":29,"value":18818},"；社区实测首包约 1.8MB（未核实）",{"type":23,"tag":88,"props":18820,"children":18821},{},[18822,18824,18829,18831],{"type":29,"value":18823},"🟡 官方博客：",{"type":23,"tag":45,"props":18825,"children":18826},{},[18827],{"type":29,"value":18828},"2D 空场景 943KB、3D 1.5MB",{"type":29,"value":18830},"（并称友商 1.8M\u002F2.7M）",{"type":23,"tag":97,"props":18832,"children":18834},{"className":18833},[],[18835],{"type":29,"value":15835},{"type":23,"tag":88,"props":18837,"children":18838},{},[18839,18841],{"type":29,"value":18840},"4MB 主包下这是实质差异，",{"type":23,"tag":45,"props":18842,"children":18843},{},[18844],{"type":29,"value":18845},"但两边都得自己实测（D70）",{"type":23,"tag":61,"props":18847,"children":18848},{},[18849,18854,18866,18871],{"type":23,"tag":88,"props":18850,"children":18851},{},[18852],{"type":29,"value":18853},"iOS 内存\u002F性能官方指南",{"type":23,"tag":88,"props":18855,"children":18856},{},[18857,18859,18864],{"type":29,"value":18858},"✅ 专页：",{"type":23,"tag":45,"props":18860,"children":18861},{},[18862],{"type":29,"value":18863},"2GB 机型约 1GB、3GB 约 1.4GB",{"type":29,"value":18865},"，建议 ASTC、禁动态合批、贴图分包、精简音频字体；高性能模式\u002F引擎插件需勾选",{"type":23,"tag":88,"props":18867,"children":18868},{},[18869],{"type":29,"value":18870},"❌ 未找到（只有微信平台通用指南）",{"type":23,"tag":88,"props":18872,"children":18873},{},[18874],{"type":29,"value":18875},"Cocos 加分（这条对线上崩溃率影响大）",{"type":23,"tag":61,"props":18877,"children":18878},{},[18879,18884,18888,18893],{"type":23,"tag":88,"props":18880,"children":18881},{},[18882],{"type":29,"value":18883},"第三方性能监测",{"type":23,"tag":88,"props":18885,"children":18886},{},[18887],{"type":29,"value":16893},{"type":23,"tag":88,"props":18889,"children":18890},{},[18891],{"type":29,"value":18892},"✅ UWA GPM 2.0（2026-08-27）覆盖 LayaAir 微信\u002F抖音线上帧率\u002F内存\u002F崩溃",{"type":23,"tag":88,"props":18894,"children":18895},{},[18896],{"type":29,"value":18897},"运维加分",{"type":23,"tag":225,"props":18899,"children":18900},{},[],{"type":23,"tag":317,"props":18902,"children":18904},{"id":18903},"_5-版本线生态与团队成本",[18905],{"type":29,"value":18906},"5. 版本线、生态与团队成本",{"type":23,"tag":53,"props":18908,"children":18909},{},[18910,18928],{"type":23,"tag":57,"props":18911,"children":18912},{},[18913],{"type":23,"tag":61,"props":18914,"children":18915},{},[18916,18920,18924],{"type":23,"tag":65,"props":18917,"children":18918},{},[18919],{"type":29,"value":17119},{"type":23,"tag":65,"props":18921,"children":18922},{},[18923],{"type":29,"value":15936},{"type":23,"tag":65,"props":18925,"children":18926},{},[18927],{"type":29,"value":18187},{"type":23,"tag":81,"props":18929,"children":18930},{},[18931,18967,19029,19047,19072,19090],{"type":23,"tag":61,"props":18932,"children":18933},{},[18934,18939,18955],{"type":23,"tag":88,"props":18935,"children":18936},{},[18937],{"type":29,"value":18938},"当前可依赖版本",{"type":23,"tag":88,"props":18940,"children":18941},{},[18942,18947,18948,18953],{"type":23,"tag":45,"props":18943,"children":18944},{},[18945],{"type":29,"value":18946},"3.8.8（2025-12-16，LTS）",{"type":29,"value":883},{"type":23,"tag":97,"props":18949,"children":18951},{"className":18950},[],[18952],{"type":29,"value":206},{"type":29,"value":18954},"；3.8.7（2025-08-22）",{"type":23,"tag":88,"props":18956,"children":18957},{},[18958,18960,18965],{"type":29,"value":18959},"引擎 v3.4.1（2026-08-31）与 ",{"type":23,"tag":45,"props":18961,"children":18962},{},[18963],{"type":29,"value":18964},"3.3.13（2026-09-17）并行发版",{"type":29,"value":18966},"；节奏 2–4 周一版",{"type":23,"tag":61,"props":18968,"children":18969},{},[18970,18975,19019],{"type":23,"tag":88,"props":18971,"children":18972},{},[18973],{"type":29,"value":18974},"下一代",{"type":23,"tag":88,"props":18976,"children":18977},{},[18978,18999,19000,19006,19008,19013,19014],{"type":23,"tag":45,"props":18979,"children":18980},{},[18981,18983,18989,18991,18997],{"type":29,"value":18982},"COCOS 4：仓库 ",{"type":23,"tag":97,"props":18984,"children":18986},{"className":18985},[],[18987],{"type":29,"value":18988},"cocos\u002Fcocos4",{"type":29,"value":18990}," 只到 ",{"type":23,"tag":97,"props":18992,"children":18994},{"className":18993},[],[18995],{"type":29,"value":18996},"4.0.0-alpha.34",{"type":29,"value":18998},"（2026-09-20），无 GA",{"type":29,"value":2224},{"type":23,"tag":97,"props":19001,"children":19003},{"className":19002},[],[19004],{"type":29,"value":19005},"cocos-engine",{"type":29,"value":19007}," 无任何 v4 tag；",{"type":23,"tag":45,"props":19009,"children":19010},{},[19011],{"type":29,"value":19012},"但 docs.cocos.com 已有\"4.0 (LTS)\"手册（含命令行发布 + 微信小游戏页）→ 文档与实现不一致",{"type":29,"value":2224},{"type":23,"tag":45,"props":19015,"children":19016},{},[19017],{"type":29,"value":19018},"3.8→4.0 迁移指引未找到",{"type":23,"tag":88,"props":19020,"children":19021},{},[19022,19024],{"type":29,"value":19023},"3.5 路线（WebGPU\u002F多线程）有访谈级信息 ",{"type":23,"tag":97,"props":19025,"children":19027},{"className":19026},[],[19028],{"type":29,"value":15835},{"type":23,"tag":61,"props":19030,"children":19031},{},[19032,19037,19042],{"type":23,"tag":88,"props":19033,"children":19034},{},[19035],{"type":29,"value":19036},"社区口径",{"type":23,"tag":88,"props":19038,"children":19039},{},[19040],{"type":29,"value":19041},"论坛主题 ID ~17.7 万；2026-06 有用户反映\"Cocos4 无 IDE，需 PinK 或 CLI\"\"前朝剑斩当朝官难行\"",{"type":23,"tag":88,"props":19043,"children":19044},{},[19045],{"type":29,"value":19046},"ask.layabox 活跃（4670 bug 帖 \u002F 11433 2D 帖，最新 2026-10-05），但机器不可读",{"type":23,"tag":61,"props":19048,"children":19049},{},[19050,19055,19060],{"type":23,"tag":88,"props":19051,"children":19052},{},[19053],{"type":29,"value":19054},"商店\u002F插件",{"type":23,"tag":88,"props":19056,"children":19057},{},[19058],{"type":29,"value":19059},"✅ store.cocos.com（含 AI 扩展、成品模板、TopOn\u002FTradPlus 商业插件文档）",{"type":23,"tag":88,"props":19061,"children":19062},{},[19063,19065,19070],{"type":29,"value":19064},"IDE 内置包管理（",{"type":23,"tag":97,"props":19066,"children":19068},{"className":19067},[],[19069],{"type":29,"value":17801},{"type":29,"value":19071},"），规模未取证",{"type":23,"tag":61,"props":19073,"children":19074},{},[19075,19080,19085],{"type":23,"tag":88,"props":19076,"children":19077},{},[19078],{"type":29,"value":19079},"招人\u002F外包",{"type":23,"tag":88,"props":19081,"children":19082},{},[19083],{"type":29,"value":19084},"明显容易",{"type":23,"tag":88,"props":19086,"children":19087},{},[19088],{"type":29,"value":19089},"难",{"type":23,"tag":61,"props":19091,"children":19092},{},[19093,19098,19103],{"type":23,"tag":88,"props":19094,"children":19095},{},[19096],{"type":29,"value":19097},"稳定性反馈热点",{"type":23,"tag":88,"props":19099,"children":19100},{},[19101],{"type":29,"value":19102},"大项目卡顿\u002F打包内存溢出、微信远程 AssetBundle 需清缓存、2.x→3.x 历史包袱",{"type":23,"tag":88,"props":19104,"children":19105},{},[19106,19111],{"type":23,"tag":45,"props":19107,"children":19108},{},[19109],{"type":29,"value":19110},"Spine \u002F 2D 物理 \u002F Camera2D",{"type":29,"value":19112},"（3.4.1 更新说明与近期提交集中在这些）",{"type":23,"tag":225,"props":19114,"children":19115},{},[],{"type":23,"tag":317,"props":19117,"children":19119},{"id":19118},"_6-许可与费用v3-纠正了一处",[19120],{"type":29,"value":19121},"6. 许可与费用（v3 纠正了一处）",{"type":23,"tag":53,"props":19123,"children":19124},{},[19125,19143],{"type":23,"tag":57,"props":19126,"children":19127},{},[19128],{"type":23,"tag":61,"props":19129,"children":19130},{},[19131,19135,19139],{"type":23,"tag":65,"props":19132,"children":19133},{},[19134],{"type":29,"value":17119},{"type":23,"tag":65,"props":19136,"children":19137},{},[19138],{"type":29,"value":15936},{"type":23,"tag":65,"props":19140,"children":19141},{},[19142],{"type":29,"value":18187},{"type":23,"tag":81,"props":19144,"children":19145},{},[19146,19190,19232,19266,19294,19316],{"type":23,"tag":61,"props":19147,"children":19148},{},[19149,19154,19176],{"type":23,"tag":88,"props":19150,"children":19151},{},[19152],{"type":29,"value":19153},"引擎许可",{"type":23,"tag":88,"props":19155,"children":19156},{},[19157,19158,19162,19164,19169,19171],{"type":29,"value":1567},{"type":23,"tag":45,"props":19159,"children":19160},{},[19161],{"type":29,"value":16168},{"type":29,"value":19163},"（Chukong 2013–2016 + 厦门雅基 2017–2023），",{"type":23,"tag":45,"props":19165,"children":19166},{},[19167],{"type":29,"value":19168},"无流水门槛、无 splash 要求",{"type":29,"value":19170},"；GitHub 显示 NOASSERTION 仅因仓库内含多份第三方许可文件 ",{"type":23,"tag":97,"props":19172,"children":19174},{"className":19173},[],[19175],{"type":29,"value":4849},{"type":23,"tag":88,"props":19177,"children":19178},{},[19179,19184,19185],{"type":23,"tag":45,"props":19180,"children":19181},{},[19182],{"type":29,"value":19183},"MIT",{"type":29,"value":883},{"type":23,"tag":97,"props":19186,"children":19188},{"className":19187},[],[19189],{"type":29,"value":206},{"type":23,"tag":61,"props":19191,"children":19192},{},[19193,19198,19228],{"type":23,"tag":88,"props":19194,"children":19195},{},[19196],{"type":29,"value":19197},"下一代许可",{"type":23,"tag":88,"props":19199,"children":19200},{},[19201,19207,19209,19214,19216,19221,19223],{"type":23,"tag":97,"props":19202,"children":19204},{"className":19203},[],[19205],{"type":29,"value":19206},"cocos4",{"type":29,"value":19208}," 仓库 MIT、",{"type":23,"tag":97,"props":19210,"children":19212},{"className":19211},[],[19213],{"type":29,"value":11993},{"type":29,"value":19215}," MIT（但",{"type":23,"tag":45,"props":19217,"children":19218},{},[19219],{"type":29,"value":19220},"根目录无 LICENSE 文件",{"type":29,"value":19222},"）；发布稿声明\"脱离原 Cocos Creator 全部商业约定\" ",{"type":23,"tag":97,"props":19224,"children":19226},{"className":19225},[],[19227],{"type":29,"value":15835},{"type":23,"tag":88,"props":19229,"children":19230},{},[19231],{"type":29,"value":18159},{"type":23,"tag":61,"props":19233,"children":19234},{},[19235,19240,19250],{"type":23,"tag":88,"props":19236,"children":19237},{},[19238],{"type":29,"value":19239},"编辑器\u002FIDE",{"type":23,"tag":88,"props":19241,"children":19242},{},[19243,19245],{"type":29,"value":19244},"免费下载商用，2026 无收费条款（未找到反证）；",{"type":23,"tag":45,"props":19246,"children":19247},{},[19248],{"type":29,"value":19249},"PinK 许可与定价未找到",{"type":23,"tag":88,"props":19251,"children":19252},{},[19253,19254,19259,19261],{"type":29,"value":1554},{"type":23,"tag":45,"props":19255,"children":19256},{},[19257],{"type":29,"value":19258},"未找到 IDE 商用授权书面条款",{"type":29,"value":19260},"；官方博客承诺\"基础功能永久免费、不收引擎使用费与版权费、无流水分成\" ",{"type":23,"tag":97,"props":19262,"children":19264},{"className":19263},[],[19265],{"type":29,"value":15835},{"type":23,"tag":61,"props":19267,"children":19268},{},[19269,19274,19290],{"type":23,"tag":88,"props":19270,"children":19271},{},[19272],{"type":29,"value":19273},"云服务",{"type":23,"tag":88,"props":19275,"children":19276},{},[19277,19279,19284,19285],{"type":29,"value":19278},"service.cocos.com 计费页（页面日期 2021-01-11）只列第三方服务（声网\u002F腾讯云 TCB\u002FMGOBE\u002FGME），",{"type":23,"tag":45,"props":19280,"children":19281},{},[19282],{"type":29,"value":19283},"无云构建",{"type":29,"value":2224},{"type":23,"tag":45,"props":19286,"children":19287},{},[19288],{"type":29,"value":19289},"\"Cocos Build Service\"产品与定价未找到",{"type":23,"tag":88,"props":19291,"children":19292},{},[19293],{"type":29,"value":15850},{"type":23,"tag":61,"props":19295,"children":19296},{},[19297,19302,19306],{"type":23,"tag":88,"props":19298,"children":19299},{},[19300],{"type":29,"value":19301},"AI 产品费用",{"type":23,"tag":88,"props":19303,"children":19304},{},[19305],{"type":29,"value":16893},{"type":23,"tag":88,"props":19307,"children":19308},{},[19309,19311],{"type":29,"value":19310},"LayaIdea 插件版需 IDE 3.3.9+、",{"type":23,"tag":45,"props":19312,"children":19313},{},[19314],{"type":29,"value":19315},"token\u002F积分计费、无公开价目表",{"type":23,"tag":61,"props":19317,"children":19318},{},[19319,19324,19329],{"type":23,"tag":88,"props":19320,"children":19321},{},[19322],{"type":29,"value":19323},"平台侧（两家同）",{"type":23,"tag":88,"props":19325,"children":19326},{},[19327],{"type":29,"value":19328},"iOS 小游戏内购 2026-03-15 上线、2026-07 苹果封堵规避 IAP；国区安卓上架要营业执照+网文证+增值电信+ISBN 版号+软著",{"type":23,"tag":88,"props":19330,"children":19331},{},[19332],{"type":29,"value":18159},{"type":23,"tag":39,"props":19334,"children":19335},{},[19336,19341,19343,19348,19350,19355],{"type":23,"tag":45,"props":19337,"children":19338},{},[19339],{"type":29,"value":19340},"给法务",{"type":29,"value":19342},"：Cocos 3.8 的 MIT 是",{"type":23,"tag":45,"props":19344,"children":19345},{},[19346],{"type":29,"value":19347},"文件级可核",{"type":29,"value":19349},"的（本轮已核）；Laya 的免费是",{"type":23,"tag":45,"props":19351,"children":19352},{},[19353],{"type":29,"value":19354},"引擎 MIT + 博客承诺",{"type":29,"value":19356},"，IDE 侧查无书面条款——一个是白纸黑字，一个是查无此文（D67）。",{"type":23,"tag":225,"props":19358,"children":19359},{},[],{"type":23,"tag":317,"props":19361,"children":19363},{"id":19362},"_7-风险清单按能否推翻选型排序",[19364],{"type":29,"value":19365},"7. 风险清单（按能否推翻选型排序）",{"type":23,"tag":32,"props":19367,"children":19369},{"id":19368},"cocos-侧v3-大幅补充",[19370],{"type":29,"value":19371},"Cocos 侧（v3 大幅补充）",{"type":23,"tag":53,"props":19373,"children":19374},{},[19375,19398],{"type":23,"tag":57,"props":19376,"children":19377},{},[19378],{"type":23,"tag":61,"props":19379,"children":19380},{},[19381,19385,19389,19394],{"type":23,"tag":65,"props":19382,"children":19383},{},[19384],{"type":29,"value":1468},{"type":23,"tag":65,"props":19386,"children":19387},{},[19388],{"type":29,"value":2075},{"type":23,"tag":65,"props":19390,"children":19391},{},[19392],{"type":29,"value":19393},"证据",{"type":23,"tag":65,"props":19395,"children":19396},{},[19397],{"type":29,"value":18337},{"type":23,"tag":81,"props":19399,"children":19400},{},[19401,19439,19470,19501,19531,19562,19590,19626],{"type":23,"tag":61,"props":19402,"children":19403},{},[19404,19409,19426,19434],{"type":23,"tag":88,"props":19405,"children":19406},{},[19407],{"type":29,"value":19408},"K1",{"type":23,"tag":88,"props":19410,"children":19411},{},[19412,19417,19419,19424],{"type":23,"tag":45,"props":19413,"children":19414},{},[19415],{"type":29,"value":19416},"headless 侧没有小游戏端构建能力",{"type":29,"value":19418},"（cocos-cli 平台清单只有 web\u002F原生；宣称的 ",{"type":23,"tag":97,"props":19420,"children":19422},{"className":19421},[],[19423],{"type":29,"value":18009},{"type":29,"value":19425}," 插件目录不存在）",{"type":23,"tag":88,"props":19427,"children":19428},{},[19429],{"type":23,"tag":97,"props":19430,"children":19432},{"className":19431},[],[19433],{"type":29,"value":4849},{"type":23,"tag":88,"props":19435,"children":19436},{},[19437],{"type":29,"value":19438},"出包必须走 3.8 编辑器 CLI + 图形会话节点；或改选 Laya\u002FR3",{"type":23,"tag":61,"props":19440,"children":19441},{},[19442,19447,19457,19465],{"type":23,"tag":88,"props":19443,"children":19444},{},[19445],{"type":29,"value":19446},"K2",{"type":23,"tag":88,"props":19448,"children":19449},{},[19450,19455],{"type":23,"tag":45,"props":19451,"children":19452},{},[19453],{"type":29,"value":19454},"押注的\"AI 原生\"路线在未发布产品里",{"type":29,"value":19456},"：4.0 只到 alpha.34、无 GA 编辑器；PinK alpha + \"请勿用于生产\" + 邀请码 + 许可未明",{"type":23,"tag":88,"props":19458,"children":19459},{},[19460],{"type":23,"tag":97,"props":19461,"children":19463},{"className":19462},[],[19464],{"type":29,"value":4849},{"type":23,"tag":88,"props":19466,"children":19467},{},[19468],{"type":29,"value":19469},"3.8 开工；4.0 每季度复评（D71）",{"type":23,"tag":61,"props":19471,"children":19472},{},[19473,19478,19488,19496],{"type":23,"tag":88,"props":19474,"children":19475},{},[19476],{"type":29,"value":19477},"K3",{"type":23,"tag":88,"props":19479,"children":19480},{},[19481,19486],{"type":23,"tag":45,"props":19482,"children":19483},{},[19484],{"type":29,"value":19485},"文档与实现不一致",{"type":29,"value":19487},"：4.0 手册已写\"命令行发布 + 微信小游戏\"，引擎却是 alpha",{"type":23,"tag":88,"props":19489,"children":19490},{},[19491],{"type":23,"tag":97,"props":19492,"children":19494},{"className":19493},[],[19495],{"type":29,"value":4849},{"type":23,"tag":88,"props":19497,"children":19498},{},[19499],{"type":29,"value":19500},"只按 3.8 手册做决策",{"type":23,"tag":61,"props":19502,"children":19503},{},[19504,19509,19521,19526],{"type":23,"tag":88,"props":19505,"children":19506},{},[19507],{"type":29,"value":19508},"K4",{"type":23,"tag":88,"props":19510,"children":19511},{},[19512,19514,19519],{"type":29,"value":19513},"3.8 CLI ",{"type":23,"tag":45,"props":19515,"children":19516},{},[19517],{"type":29,"value":19518},"需 GUI 会话、无 Linux",{"type":29,"value":19520},"、命令串 ≤125 字符、macOS 换行符坑、退出码语义不透明",{"type":23,"tag":88,"props":19522,"children":19523},{},[19524],{"type":29,"value":19525},"官方文档 + 论坛",{"type":23,"tag":88,"props":19527,"children":19528},{},[19529],{"type":29,"value":19530},"构建机 + 退出码门禁（36\u002F32\u002F34）+ 参数写文件传",{"type":23,"tag":61,"props":19532,"children":19533},{},[19534,19539,19549,19557],{"type":23,"tag":88,"props":19535,"children":19536},{},[19537],{"type":29,"value":19538},"K5",{"type":23,"tag":88,"props":19540,"children":19541},{},[19542,19547],{"type":23,"tag":45,"props":19543,"children":19544},{},[19545],{"type":29,"value":19546},"官方 MCP 无工具清单文档",{"type":29,"value":19548},"（只能从源码目录推断）；3.8 的场景自动化实际靠第三方件（Funplay 105 工具、cc-3-8-x-mcp）",{"type":23,"tag":88,"props":19550,"children":19551},{},[19552],{"type":23,"tag":97,"props":19553,"children":19555},{"className":19554},[],[19556],{"type":29,"value":4849},{"type":23,"tag":88,"props":19558,"children":19559},{},[19560],{"type":29,"value":19561},"第三方件先只读试；关键操作留回滚脚本",{"type":23,"tag":61,"props":19563,"children":19564},{},[19565,19570,19575,19585],{"type":23,"tag":88,"props":19566,"children":19567},{},[19568],{"type":29,"value":19569},"K6",{"type":23,"tag":88,"props":19571,"children":19572},{},[19573],{"type":29,"value":19574},"缺 小米\u002FB站\u002FQQ\u002F快手 官方端",{"type":23,"tag":88,"props":19576,"children":19577},{},[19578,19580],{"type":29,"value":19579},"手册逐条数过 ",{"type":23,"tag":97,"props":19581,"children":19583},{"className":19582},[],[19584],{"type":29,"value":206},{"type":23,"tag":88,"props":19586,"children":19587},{},[19588],{"type":29,"value":19589},"自建或社区件",{"type":23,"tag":61,"props":19591,"children":19592},{},[19593,19598,19613,19621],{"type":23,"tag":88,"props":19594,"children":19595},{},[19596],{"type":29,"value":19597},"K7",{"type":23,"tag":88,"props":19599,"children":19600},{},[19601,19605,19606,19611],{"type":23,"tag":45,"props":19602,"children":19603},{},[19604],{"type":29,"value":16098},{"type":29,"value":2224},{"type":23,"tag":45,"props":19607,"children":19608},{},[19609],{"type":29,"value":19610},"小游戏端代码热更无官方声明",{"type":29,"value":19612},"；引擎最小体积无官方数字",{"type":23,"tag":88,"props":19614,"children":19615},{},[19616],{"type":23,"tag":97,"props":19617,"children":19619},{"className":19618},[],[19620],{"type":29,"value":4849},{"type":23,"tag":88,"props":19622,"children":19623},{},[19624],{"type":29,"value":19625},"列表用商店\u002F社区件前先测；热更方案自验（D70）",{"type":23,"tag":61,"props":19627,"children":19628},{},[19629,19634,19639,19644],{"type":23,"tag":88,"props":19630,"children":19631},{},[19632],{"type":29,"value":19633},"K8",{"type":23,"tag":88,"props":19635,"children":19636},{},[19637],{"type":29,"value":19638},"大项目卡顿\u002F打包内存溢出、微信远程 AssetBundle 更新需清缓存",{"type":23,"tag":88,"props":19640,"children":19641},{},[19642],{"type":29,"value":19643},"社区帖",{"type":23,"tag":88,"props":19645,"children":19646},{},[19647],{"type":29,"value":19648},"构建内存与缓存策略写进 CI",{"type":23,"tag":32,"props":19650,"children":19652},{"id":19651},"layaair-侧",[19653],{"type":29,"value":19654},"LayaAir 侧",{"type":23,"tag":53,"props":19656,"children":19657},{},[19658,19680],{"type":23,"tag":57,"props":19659,"children":19660},{},[19661],{"type":23,"tag":61,"props":19662,"children":19663},{},[19664,19668,19672,19676],{"type":23,"tag":65,"props":19665,"children":19666},{},[19667],{"type":29,"value":1468},{"type":23,"tag":65,"props":19669,"children":19670},{},[19671],{"type":29,"value":2075},{"type":23,"tag":65,"props":19673,"children":19674},{},[19675],{"type":29,"value":19393},{"type":23,"tag":65,"props":19677,"children":19678},{},[19679],{"type":29,"value":18337},{"type":23,"tag":81,"props":19681,"children":19682},{},[19683,19721,19752,19778,19811,19837,19879,19907],{"type":23,"tag":61,"props":19684,"children":19685},{},[19686,19691,19701,19709],{"type":23,"tag":88,"props":19687,"children":19688},{},[19689],{"type":29,"value":19690},"L1",{"type":23,"tag":88,"props":19692,"children":19693},{},[19694,19699],{"type":23,"tag":45,"props":19695,"children":19696},{},[19697],{"type":29,"value":19698},"场景级 AI 自动化无可用件",{"type":29,"value":19700},"（MCP 插件 2026-08-19 归档、skills 无场景技能、IDE 内置 MCP 要 GUI+Key+每会话重导）",{"type":23,"tag":88,"props":19702,"children":19703},{},[19704],{"type":23,"tag":97,"props":19705,"children":19707},{"className":19706},[],[19708],{"type":29,"value":4849},{"type":23,"tag":88,"props":19710,"children":19711},{},[19712,19714,19720],{"type":29,"value":19713},"界面一律代码化（",{"type":23,"tag":97,"props":19715,"children":19717},{"className":19716},[],[19718],{"type":29,"value":19719},"Scene.open\u002Fload",{"type":29,"value":951},{"type":23,"tag":61,"props":19722,"children":19723},{},[19724,19729,19739,19747],{"type":23,"tag":88,"props":19725,"children":19726},{},[19727],{"type":29,"value":19728},"L2",{"type":23,"tag":88,"props":19730,"children":19731},{},[19732,19737],{"type":23,"tag":45,"props":19733,"children":19734},{},[19735],{"type":29,"value":19736},"CLI \"开源\"名不副实",{"type":29,"value":19738},"：仓库 5 个文件、运行时闭源、安装联网从厂商服务拉",{"type":23,"tag":88,"props":19740,"children":19741},{},[19742],{"type":23,"tag":97,"props":19743,"children":19745},{"className":19744},[],[19746],{"type":29,"value":4849},{"type":23,"tag":88,"props":19748,"children":19749},{},[19750],{"type":29,"value":19751},"把 CLI 二进制缓存进制品库；受限网络先验（D64）",{"type":23,"tag":61,"props":19753,"children":19754},{},[19755,19760,19765,19773],{"type":23,"tag":88,"props":19756,"children":19757},{},[19758],{"type":29,"value":19759},"L3",{"type":23,"tag":88,"props":19761,"children":19762},{},[19763],{"type":29,"value":19764},"官方《AI开发路线》明写**\"AI 单独完整生成游戏\"暂不支持**",{"type":23,"tag":88,"props":19766,"children":19767},{},[19768],{"type":23,"tag":97,"props":19769,"children":19771},{"className":19770},[],[19772],{"type":29,"value":15835},{"type":23,"tag":88,"props":19774,"children":19775},{},[19776],{"type":29,"value":19777},"把 agent 定位成\"写代码 + 跑构建\"",{"type":23,"tag":61,"props":19779,"children":19780},{},[19781,19786,19791,19799],{"type":23,"tag":88,"props":19782,"children":19783},{},[19784],{"type":29,"value":19785},"L4",{"type":23,"tag":88,"props":19787,"children":19788},{},[19789],{"type":29,"value":19790},"无官方 CI 示例、无 iOS 内存指南、无场景文件格式规范",{"type":23,"tag":88,"props":19792,"children":19793},{},[19794],{"type":23,"tag":97,"props":19795,"children":19797},{"className":19796},[],[19798],{"type":29,"value":4849},{"type":23,"tag":88,"props":19800,"children":19801},{},[19802,19804,19809],{"type":29,"value":19803},"自建 ",{"type":23,"tag":97,"props":19805,"children":19807},{"className":19806},[],[19808],{"type":29,"value":15081},{"type":29,"value":19810}," + 包体\u002F内存门禁",{"type":23,"tag":61,"props":19812,"children":19813},{},[19814,19819,19824,19832],{"type":23,"tag":88,"props":19815,"children":19816},{},[19817],{"type":29,"value":19818},"L5",{"type":23,"tag":88,"props":19820,"children":19821},{},[19822],{"type":29,"value":19823},"版本线并行（3.4.1 与 3.3.13 同时在发），3.4 是否\"稳定推荐线\"无官方口径",{"type":23,"tag":88,"props":19825,"children":19826},{},[19827],{"type":23,"tag":97,"props":19828,"children":19830},{"className":19829},[],[19831],{"type":29,"value":4849},{"type":23,"tag":88,"props":19833,"children":19834},{},[19835],{"type":29,"value":19836},"锁一条线写进 README（D63）",{"type":23,"tag":61,"props":19838,"children":19839},{},[19840,19845,19869,19874],{"type":23,"tag":88,"props":19841,"children":19842},{},[19843],{"type":29,"value":19844},"L6",{"type":23,"tag":88,"props":19846,"children":19847},{},[19848,19850,19856,19858,19863,19864],{"type":29,"value":19849},"实操坑：macOS ",{"type":23,"tag":97,"props":19851,"children":19853},{"className":19852},[],[19854],{"type":29,"value":19855},"unknown script",{"type":29,"value":19857},"（官方答复把脚本移进 src）、",{"type":23,"tag":45,"props":19859,"children":19860},{},[19861],{"type":29,"value":19862},"Native 工程升级引擎版本困难",{"type":29,"value":1137},{"type":23,"tag":45,"props":19865,"children":19866},{},[19867],{"type":29,"value":19868},"LayaDCC 2.0 无法本地保存",{"type":23,"tag":88,"props":19870,"children":19871},{},[19872],{"type":29,"value":19873},"社区论坛",{"type":23,"tag":88,"props":19875,"children":19876},{},[19877],{"type":29,"value":19878},"原生端上线前先验一次\"升级引擎\"",{"type":23,"tag":61,"props":19880,"children":19881},{},[19882,19887,19892,19897],{"type":23,"tag":88,"props":19883,"children":19884},{},[19885],{"type":29,"value":19886},"L7",{"type":23,"tag":88,"props":19888,"children":19889},{},[19890],{"type":29,"value":19891},"语料薄 → 幻觉 API；GitHub 仅 9 open issue（反馈在自家论坛，机器不可读）",{"type":23,"tag":88,"props":19893,"children":19894},{},[19895],{"type":29,"value":19896},"§3.4",{"type":23,"tag":88,"props":19898,"children":19899},{},[19900,19905],{"type":23,"tag":97,"props":19901,"children":19903},{"className":19902},[],[19904],{"type":29,"value":8335},{"type":29,"value":19906}," + 契约测试强制；关键决策一律 spike",{"type":23,"tag":61,"props":19908,"children":19909},{},[19910,19915,19920,19928],{"type":23,"tag":88,"props":19911,"children":19912},{},[19913],{"type":29,"value":19914},"L8",{"type":23,"tag":88,"props":19916,"children":19917},{},[19918],{"type":29,"value":19919},"IDE 商用授权条款未找到；LayaNative2.0 仓库无 LICENSE；LayaIdea 积分无价目表",{"type":23,"tag":88,"props":19921,"children":19922},{},[19923],{"type":23,"tag":97,"props":19924,"children":19926},{"className":19925},[],[19927],{"type":29,"value":4849},{"type":23,"tag":88,"props":19929,"children":19930},{},[19931],{"type":29,"value":19932},"规模化前书面确认（D67）",{"type":23,"tag":225,"props":19934,"children":19935},{},[],{"type":23,"tag":317,"props":19937,"children":19939},{"id":19938},"_8-两条最小可行工作流",[19940],{"type":29,"value":19941},"8. 两条最小可行工作流",{"type":23,"tag":32,"props":19943,"children":19945},{"id":19944},"_81-选-cocos-creator-38-lts",[19946],{"type":29,"value":19947},"8.1 选 Cocos Creator 3.8 LTS",{"type":23,"tag":3394,"props":19949,"children":19952},{"className":19950,"code":19951,"language":29},[6727],"骨架：assets\u002Fscripts\u002F**.ts（真源）、唯一 Main.scene、界面一律代码建（禁 prefab 拖拽）、\n      config\u002Ftables\u002F*.json、extensions\u002Ffunplay-mcp、tools\u002Fbuild.sh（--build + 退出码断言）\n门禁：tsc --noEmit → eslint（禁业务层直连 wx.*）→ web 构建 → 无头浏览器喂帧断言 →\n      各端构建（Win\u002Fmac 图形会话节点，参数写文件传，断言退出码 36）→ miniprogram-ci preview\nagent 分工：代码\u002F数值\u002F关卡\u002F构建脚本 = Mode A 全自动；改场景 = Mode B（MCP，人在场）\n",[19953],{"type":23,"tag":97,"props":19954,"children":19955},{"__ignoreMap":3399},[19956],{"type":29,"value":19951},{"type":23,"tag":32,"props":19958,"children":19960},{"id":19959},"_82-选-layaair-3",[19961],{"type":29,"value":19962},"8.2 选 LayaAir 3",{"type":23,"tag":3394,"props":19964,"children":19967},{"className":19965,"code":19966,"language":29},[6727],"骨架：src\u002F**.ts（引擎源码可读）、场景 .ls 压到最少、界面代码建、config\u002F*.json、\n      tools\u002Flaya-build.sh（新 CLI，10 端 + 原生），CLI 二进制缓存进制品库\n门禁：同上；锁版本线（3.3.x 或 3.4.x）写进 README\n开工前必做（三条，各半天）：\n  ① 干净 Linux 容器里用新 CLI 出微信包 → 验证\"无 GUI\"是否真成立（D64）\n  ② agent 纯代码搭 3 个面板 → 量 tsc 首轮通过率与人工干预次数（D72）\n  ③ 2D 空场景出包实测体积 → 复核官方 943KB 口径（D70）\n",[19968],{"type":23,"tag":97,"props":19969,"children":19970},{"__ignoreMap":3399},[19971],{"type":29,"value":19966},{"type":23,"tag":225,"props":19973,"children":19974},{},[],{"type":23,"tag":317,"props":19976,"children":19978},{"id":19977},"_9-最终建议",[19979],{"type":29,"value":19980},"9. 最终建议",{"type":23,"tag":39,"props":19982,"children":19983},{},[19984,19989,19991,19996,19998,20003,20005,20010],{"type":23,"tag":45,"props":19985,"children":19986},{},[19987],{"type":29,"value":19988},"9.1 对撞测试现在是签选型的前置条件（不是可选项）",{"type":29,"value":19990},"。同一份\"3 屏弹窗 + 1 个战斗场景 + 1 张数值表\"，两边各让 agent 做一遍，记 6 个数：① ",{"type":23,"tag":97,"props":19992,"children":19994},{"className":19993},[],[19995],{"type":29,"value":8335},{"type":29,"value":19997}," 首次通过所需轮次；② 人工干预次数；③ ",{"type":23,"tag":45,"props":19999,"children":20000},{},[20001],{"type":29,"value":20002},"能否在纯 Linux 容器里出微信小游戏包",{"type":29,"value":20004},"；④ 2D 空包体积；⑤ 出包后无头喂帧断言是否全绿；⑥ 改一个界面需要几步（代码 vs MCP\u002FIDE）。我可以照 ",{"type":23,"tag":97,"props":20006,"children":20008},{"className":20007},[],[20009],{"type":29,"value":9667},{"type":29,"value":20011}," 的门禁风格把脚本与打分表做出来（D73）。",{"type":23,"tag":39,"props":20013,"children":20014},{},[20015,20020],{"type":23,"tag":45,"props":20016,"children":20017},{},[20018],{"type":29,"value":20019},"9.2 三条可直接引用的硬结论",{"type":29,"value":20021},"（来自本轮取证）：",{"type":23,"tag":743,"props":20023,"children":20024},{},[20025,20043,20053],{"type":23,"tag":747,"props":20026,"children":20027},{},[20028,20030,20035,20037,20041],{"type":29,"value":20029},"\"全平台小游戏导出\"目前",{"type":23,"tag":45,"props":20031,"children":20032},{},[20033],{"type":29,"value":20034},"只有一条可依赖路径 = 引擎编辑器 + 其 CLI 包装",{"type":29,"value":20036},"；两家都",{"type":23,"tag":45,"props":20038,"children":20039},{},[20040],{"type":29,"value":3051},{"type":29,"value":20042}," QQ\u002F快手官方端。",{"type":23,"tag":747,"props":20044,"children":20045},{},[20046,20051],{"type":23,"tag":45,"props":20047,"children":20048},{},[20049],{"type":29,"value":20050},"cocos-cli 的 headless 构建不支持任何小游戏端",{"type":29,"value":20052},"，不能作为 CI 全平台方案；Cocos 的 CI 自动化实际要绑 4.0 alpha。",{"type":23,"tag":747,"props":20054,"children":20055},{},[20056,20061,20063,20068],{"type":23,"tag":45,"props":20057,"children":20058},{},[20059],{"type":29,"value":20060},"COCOS 4 \u002F PinK 全在 alpha\u002F邀请制",{"type":29,"value":20062},"，MIT 已落地但",{"type":23,"tag":45,"props":20064,"children":20065},{},[20066],{"type":29,"value":20067},"工程兼容与迁移无官方指引",{"type":29,"value":20069}," → 全新项目押 4.0 = 押未发布产品。",{"type":23,"tag":39,"props":20071,"children":20072},{},[20073,20078,20080,20085,20087,20092,20093,20099],{"type":23,"tag":45,"props":20074,"children":20075},{},[20076],{"type":29,"value":20077},"9.3 无论选谁都要做的三件事",{"type":29,"value":20079},"（它们才是\"AI 能不能完成全部\"的决定项）：界面代码化纪律、",{"type":23,"tag":97,"props":20081,"children":20083},{"className":20082},[],[20084],{"type":29,"value":5368},{"type":29,"value":20086}," 归一层（含 ",{"type":23,"tag":97,"props":20088,"children":20090},{"className":20089},[],[20091],{"type":29,"value":15023},{"type":29,"value":208},{"type":23,"tag":97,"props":20094,"children":20096},{"className":20095},[],[20097],{"type":29,"value":20098},"pay.ts",{"type":29,"value":20100},"）、无头喂帧门禁。",{"type":23,"tag":225,"props":20102,"children":20103},{},[],{"type":23,"tag":317,"props":20105,"children":20107},{"id":20106},"_10-待确认-d49d73",[20108],{"type":29,"value":20109},"10. 待确认 D49–D73",{"type":23,"tag":53,"props":20111,"children":20112},{},[20113,20132],{"type":23,"tag":57,"props":20114,"children":20115},{},[20116],{"type":23,"tag":61,"props":20117,"children":20118},{},[20119,20123,20127],{"type":23,"tag":65,"props":20120,"children":20121},{},[20122],{"type":29,"value":1468},{"type":23,"tag":65,"props":20124,"children":20125},{},[20126],{"type":29,"value":3160},{"type":23,"tag":65,"props":20128,"children":20129},{},[20130],{"type":29,"value":20131},"状态 \u002F 默认值",{"type":23,"tag":81,"props":20133,"children":20134},{},[20135,20158,20181,20221,20247,20265,20283,20301,20319,20337,20368,20393,20418,20436,20461,20486,20503,20521,20539,20560,20583,20606,20633],{"type":23,"tag":61,"props":20136,"children":20137},{},[20138,20143,20148],{"type":23,"tag":88,"props":20139,"children":20140},{},[20141],{"type":29,"value":20142},"D49",{"type":23,"tag":88,"props":20144,"children":20145},{},[20146],{"type":29,"value":20147},"Cocos 3.8 实际 LICENSE",{"type":23,"tag":88,"props":20149,"children":20150},{},[20151,20152,20156],{"type":29,"value":1567},{"type":23,"tag":45,"props":20153,"children":20154},{},[20155],{"type":29,"value":11380},{"type":29,"value":20157},"：v3.8.8 LICENSE.md 为标准 MIT，无门槛无 splash（NOASSERTION 是元数据现象）",{"type":23,"tag":61,"props":20159,"children":20160},{},[20161,20166,20171],{"type":23,"tag":88,"props":20162,"children":20163},{},[20164],{"type":29,"value":20165},"D50",{"type":23,"tag":88,"props":20167,"children":20168},{},[20169],{"type":29,"value":20170},"Laya 官方 AI 件能力",{"type":23,"tag":88,"props":20172,"children":20173},{},[20174,20175,20179],{"type":29,"value":1567},{"type":23,"tag":45,"props":20176,"children":20177},{},[20178],{"type":29,"value":11380},{"type":29,"value":20180},"：MCP 插件已归档、skills 无场景技能、IDE 内置 MCP 需 GUI+Key → 场景自动化空白",{"type":23,"tag":61,"props":20182,"children":20183},{},[20184,20189,20199],{"type":23,"tag":88,"props":20185,"children":20186},{},[20187],{"type":29,"value":20188},"D51",{"type":23,"tag":88,"props":20190,"children":20191},{},[20192,20197],{"type":23,"tag":97,"props":20193,"children":20195},{"className":20194},[],[20196],{"type":29,"value":11993},{"type":29,"value":20198}," 平台清单与 MCP 工具面",{"type":23,"tag":88,"props":20200,"children":20201},{},[20202,20203,20207,20209,20214,20216],{"type":29,"value":1567},{"type":23,"tag":45,"props":20204,"children":20205},{},[20206],{"type":29,"value":11380},{"type":29,"value":20208},"：平台只有 web\u002F原生（",{"type":23,"tag":45,"props":20210,"children":20211},{},[20212],{"type":29,"value":20213},"无小游戏端",{"type":29,"value":20215},"）；MCP 无公开工具清单，源码有 11 个 api 域；",{"type":23,"tag":45,"props":20217,"children":20218},{},[20219],{"type":29,"value":20220},"只支持 4.0，不支持 3.8",{"type":23,"tag":61,"props":20222,"children":20223},{},[20224,20229,20234],{"type":23,"tag":88,"props":20225,"children":20226},{},[20227],{"type":29,"value":20228},"D52",{"type":23,"tag":88,"props":20230,"children":20231},{},[20232],{"type":29,"value":20233},"Laya CLI 是否需图形会话",{"type":23,"tag":88,"props":20235,"children":20236},{},[20237,20239,20245],{"type":29,"value":20238},"✅ 已核：官方称无 GUI 依赖、可 GitHub Actions（老式 ",{"type":23,"tag":97,"props":20240,"children":20242},{"className":20241},[],[20243],{"type":29,"value":20244},"LayaAirIDE --project",{"type":29,"value":20246}," 仍需 IDE）",{"type":23,"tag":61,"props":20248,"children":20249},{},[20250,20255,20260],{"type":23,"tag":88,"props":20251,"children":20252},{},[20253],{"type":29,"value":20254},"D53",{"type":23,"tag":88,"props":20256,"children":20257},{},[20258],{"type":29,"value":20259},"快游戏联盟与微信 API 差异无官方对照表",{"type":23,"tag":88,"props":20261,"children":20262},{},[20263],{"type":29,"value":20264},"只做华为，其余 T+3 月",{"type":23,"tag":61,"props":20266,"children":20267},{},[20268,20273,20278],{"type":23,"tag":88,"props":20269,"children":20270},{},[20271],{"type":29,"value":20272},"D54",{"type":23,"tag":88,"props":20274,"children":20275},{},[20276],{"type":29,"value":20277},"必须端清单（B站\u002F小米\u002F荣耀\u002FQQ\u002F快手？）",{"type":23,"tag":88,"props":20279,"children":20280},{},[20281],{"type":29,"value":20282},"按\"微信+抖音+支付宝+H5\"评估",{"type":23,"tag":61,"props":20284,"children":20285},{},[20286,20291,20296],{"type":23,"tag":88,"props":20287,"children":20288},{},[20289],{"type":29,"value":20290},"D55",{"type":23,"tag":88,"props":20292,"children":20293},{},[20294],{"type":29,"value":20295},"语料差距未做严格计数",{"type":23,"tag":88,"props":20297,"children":20298},{},[20299],{"type":29,"value":20300},"用 D72 对撞测试替代",{"type":23,"tag":61,"props":20302,"children":20303},{},[20304,20309,20314],{"type":23,"tag":88,"props":20305,"children":20306},{},[20307],{"type":29,"value":20308},"D56",{"type":23,"tag":88,"props":20310,"children":20311},{},[20312],{"type":29,"value":20313},"Laya UI 组件体系",{"type":23,"tag":88,"props":20315,"children":20316},{},[20317],{"type":29,"value":20318},"✅ 已核：经典 UI + 新 UI（FairyGUI 同构）+ 组件清单；实战见 D66",{"type":23,"tag":61,"props":20320,"children":20321},{},[20322,20327,20332],{"type":23,"tag":88,"props":20323,"children":20324},{},[20325],{"type":29,"value":20326},"D57",{"type":23,"tag":88,"props":20328,"children":20329},{},[20330],{"type":29,"value":20331},"Laya 热更",{"type":23,"tag":88,"props":20333,"children":20334},{},[20335],{"type":29,"value":20336},"✅ 已核：Native zip 更新 + LayaDCC 2.0（有本地保存问题反馈）",{"type":23,"tag":61,"props":20338,"children":20339},{},[20340,20345,20350],{"type":23,"tag":88,"props":20341,"children":20342},{},[20343],{"type":29,"value":20344},"D58",{"type":23,"tag":88,"props":20346,"children":20347},{},[20348],{"type":29,"value":20349},"引擎空包体积",{"type":23,"tag":88,"props":20351,"children":20352},{},[20353,20355,20360,20361,20366],{"type":29,"value":20354},"🟡 Laya 官方 943KB\u002F1.5MB ",{"type":23,"tag":97,"props":20356,"children":20358},{"className":20357},[],[20359],{"type":29,"value":15835},{"type":29,"value":2224},{"type":23,"tag":45,"props":20362,"children":20363},{},[20364],{"type":29,"value":20365},"Cocos 官方数字未找到",{"type":29,"value":20367},"（社区 1.8MB 未核实）→ 实测见 D70",{"type":23,"tag":61,"props":20369,"children":20370},{},[20371,20376,20381],{"type":23,"tag":88,"props":20372,"children":20373},{},[20374],{"type":29,"value":20375},"D59",{"type":23,"tag":88,"props":20377,"children":20378},{},[20379],{"type":29,"value":20380},"Laya 收费口径",{"type":23,"tag":88,"props":20382,"children":20383},{},[20384,20386,20391],{"type":29,"value":20385},"✅ 部分已核：引擎 MIT + 博客承诺免费无分成；",{"type":23,"tag":45,"props":20387,"children":20388},{},[20389],{"type":29,"value":20390},"IDE 书面条款仍未找到",{"type":29,"value":20392},"（D67）",{"type":23,"tag":61,"props":20394,"children":20395},{},[20396,20401,20406],{"type":23,"tag":88,"props":20397,"children":20398},{},[20399],{"type":29,"value":20400},"D60",{"type":23,"tag":88,"props":20402,"children":20403},{},[20404],{"type":29,"value":20405},"多家文档 SPA 抓不到正文",{"type":23,"tag":88,"props":20407,"children":20408},{},[20409,20411,20416],{"type":29,"value":20410},"建 ",{"type":23,"tag":97,"props":20412,"children":20414},{"className":20413},[],[20415],{"type":29,"value":15081},{"type":29,"value":20417}," 人工存证",{"type":23,"tag":61,"props":20419,"children":20420},{},[20421,20426,20431],{"type":23,"tag":88,"props":20422,"children":20423},{},[20424],{"type":29,"value":20425},"D63",{"type":23,"tag":88,"props":20427,"children":20428},{},[20429],{"type":29,"value":20430},"Laya 锁 3.3 还是 3.4 线",{"type":23,"tag":88,"props":20432,"children":20433},{},[20434],{"type":29,"value":20435},"未定；默认锁 3.3.x",{"type":23,"tag":61,"props":20437,"children":20438},{},[20439,20443,20451],{"type":23,"tag":88,"props":20440,"children":20441},{},[20442],{"type":29,"value":16536},{"type":23,"tag":88,"props":20444,"children":20445},{},[20446],{"type":23,"tag":45,"props":20447,"children":20448},{},[20449],{"type":29,"value":20450},"Laya 新 CLI 在干净 Linux 容器\u002F受限网络下能否真出包",{"type":23,"tag":88,"props":20452,"children":20453},{},[20454,20456],{"type":29,"value":20455},"⚠️ 决定 Laya 路线成立与否，",{"type":23,"tag":45,"props":20457,"children":20458},{},[20459],{"type":29,"value":20460},"开工前必验",{"type":23,"tag":61,"props":20462,"children":20463},{},[20464,20469,20481],{"type":23,"tag":88,"props":20465,"children":20466},{},[20467],{"type":29,"value":20468},"D65",{"type":23,"tag":88,"props":20470,"children":20471},{},[20472,20473,20479],{"type":29,"value":16635},{"type":23,"tag":97,"props":20474,"children":20476},{"className":20475},[],[20477],{"type":29,"value":20478},".ls\u002F.lh",{"type":29,"value":20480}," 是否含不可读 ID、IDE 对手写场景的容忍度",{"type":23,"tag":88,"props":20482,"children":20483},{},[20484],{"type":29,"value":20485},"未取证 → spike",{"type":23,"tag":61,"props":20487,"children":20488},{},[20489,20494,20499],{"type":23,"tag":88,"props":20490,"children":20491},{},[20492],{"type":29,"value":20493},"D66",{"type":23,"tag":88,"props":20495,"children":20496},{},[20497],{"type":29,"value":20498},"Laya 新 UI 实战成熟度（性能\u002F虚拟列表\u002F编辑器支持）",{"type":23,"tag":88,"props":20500,"children":20501},{},[20502],{"type":29,"value":20485},{"type":23,"tag":61,"props":20504,"children":20505},{},[20506,20511,20516],{"type":23,"tag":88,"props":20507,"children":20508},{},[20509],{"type":29,"value":20510},"D67",{"type":23,"tag":88,"props":20512,"children":20513},{},[20514],{"type":29,"value":20515},"Laya IDE 书面授权条款",{"type":23,"tag":88,"props":20517,"children":20518},{},[20519],{"type":29,"value":20520},"规模化前书面确认",{"type":23,"tag":61,"props":20522,"children":20523},{},[20524,20529,20534],{"type":23,"tag":88,"props":20525,"children":20526},{},[20527],{"type":29,"value":20528},"D68",{"type":23,"tag":88,"props":20530,"children":20531},{},[20532],{"type":29,"value":20533},"要不要我出对撞测试脚本 + 打分表",{"type":23,"tag":88,"props":20535,"children":20536},{},[20537],{"type":29,"value":20538},"建议要（升级为前置条件，见 D73）",{"type":23,"tag":61,"props":20540,"children":20541},{},[20542,20547,20555],{"type":23,"tag":88,"props":20543,"children":20544},{},[20545],{"type":29,"value":20546},"D69",{"type":23,"tag":88,"props":20548,"children":20549},{},[20550],{"type":23,"tag":45,"props":20551,"children":20552},{},[20553],{"type":29,"value":20554},"Cocos 3.8→4.0 迁移指引未找到",{"type":23,"tag":88,"props":20556,"children":20557},{},[20558],{"type":29,"value":20559},"押 4.0 前必须拿到官方迁移说明",{"type":23,"tag":61,"props":20561,"children":20562},{},[20563,20568,20578],{"type":23,"tag":88,"props":20564,"children":20565},{},[20566],{"type":29,"value":20567},"D70",{"type":23,"tag":88,"props":20569,"children":20570},{},[20571,20576],{"type":23,"tag":45,"props":20572,"children":20573},{},[20574],{"type":29,"value":20575},"两家 2D 空包实测体积",{"type":29,"value":20577},"（4MB 主包预算的直接变量）",{"type":23,"tag":88,"props":20579,"children":20580},{},[20581],{"type":29,"value":20582},"对撞测试里量",{"type":23,"tag":61,"props":20584,"children":20585},{},[20586,20591,20601],{"type":23,"tag":88,"props":20587,"children":20588},{},[20589],{"type":29,"value":20590},"D71",{"type":23,"tag":88,"props":20592,"children":20593},{},[20594,20599],{"type":23,"tag":45,"props":20595,"children":20596},{},[20597],{"type":29,"value":20598},"COCOS 4 GA 时间表",{"type":29,"value":20600},"（现在只有 alpha.34）",{"type":23,"tag":88,"props":20602,"children":20603},{},[20604],{"type":29,"value":20605},"每季度复评；不作为 2026 生产依赖",{"type":23,"tag":61,"props":20607,"children":20608},{},[20609,20614,20629],{"type":23,"tag":88,"props":20610,"children":20611},{},[20612],{"type":29,"value":20613},"D72",{"type":23,"tag":88,"props":20615,"children":20616},{},[20617],{"type":23,"tag":45,"props":20618,"children":20619},{},[20620,20622,20627],{"type":29,"value":20621},"agent 在两家上首次 ",{"type":23,"tag":97,"props":20623,"children":20625},{"className":20624},[],[20626],{"type":29,"value":8335},{"type":29,"value":20628}," 通过率与人工干预次数",{"type":23,"tag":88,"props":20630,"children":20631},{},[20632],{"type":29,"value":20582},{"type":23,"tag":61,"props":20634,"children":20635},{},[20636,20641,20646],{"type":23,"tag":88,"props":20637,"children":20638},{},[20639],{"type":29,"value":20640},"D73",{"type":23,"tag":88,"props":20642,"children":20643},{},[20644],{"type":29,"value":20645},"对撞测试要不要我做",{"type":23,"tag":88,"props":20647,"children":20648},{},[20649,20651,20656],{"type":29,"value":20650},"等你点头（本轮只写文档，未动 ",{"type":23,"tag":97,"props":20652,"children":20654},{"className":20653},[],[20655],{"type":29,"value":9667},{"type":29,"value":951},{"type":23,"tag":225,"props":20658,"children":20659},{},[],{"type":23,"tag":317,"props":20661,"children":20663},{"id":20662},"附录-a证据v3",[20664],{"type":29,"value":20665},"附录 A：证据（v3）",{"type":23,"tag":39,"props":20667,"children":20668},{},[20669],{"type":23,"tag":45,"props":20670,"children":20671},{},[20672],{"type":29,"value":20673},"Cocos（本轮子代理取证，关键项我抽核）",{"type":23,"tag":1909,"props":20675,"children":20676},{},[20677,20696,20731,20774,20792,20825,20843,20862,20881,20899],{"type":23,"tag":747,"props":20678,"children":20679},{},[20680,20682,20688,20690],{"type":29,"value":20681},"版本：",{"type":23,"tag":4272,"props":20683,"children":20686},{"href":20684,"rel":20685},"https:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos-engine\u002Freleases",[4276],[20687],{"type":29,"value":20684},{"type":29,"value":20689},"（3.8.8 = 2025-12-16）、3.8.7 发布帖 ",{"type":23,"tag":4272,"props":20691,"children":20694},{"href":20692,"rel":20693},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F170142",[4276],[20695],{"type":29,"value":20692},{"type":23,"tag":747,"props":20697,"children":20698},{},[20699,20704,20705,20711,20713,20718,20720,20725,20726],{"type":23,"tag":45,"props":20700,"children":20701},{},[20702],{"type":29,"value":20703},"COCOS 4 仅 alpha",{"type":29,"value":741},{"type":23,"tag":4272,"props":20706,"children":20709},{"href":20707,"rel":20708},"https:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos4",[4276],[20710],{"type":29,"value":20707},{"type":29,"value":20712},"（1,483★\u002FMIT\u002F建仓 2025-12-18\u002F最新 release ",{"type":23,"tag":45,"props":20714,"children":20715},{},[20716],{"type":29,"value":20717},"4.0.0-alpha.34，2026-09-20",{"type":29,"value":20719},"）；开源公告 ",{"type":23,"tag":4272,"props":20721,"children":20723},{"href":12528,"rel":20722},[4276],[20724],{"type":29,"value":12528},{"type":29,"value":1137},{"type":23,"tag":4272,"props":20727,"children":20729},{"href":12536,"rel":20728},[4276],[20730],{"type":29,"value":12536},{"type":23,"tag":747,"props":20732,"children":20733},{},[20734,20738,20739,20744,20746,20751,20753,20758,20759,20765,20766,20772],{"type":23,"tag":45,"props":20735,"children":20736},{},[20737],{"type":29,"value":11993},{"type":29,"value":741},{"type":23,"tag":4272,"props":20740,"children":20742},{"href":12848,"rel":20741},[4276],[20743],{"type":29,"value":12848},{"type":29,"value":20745},"（435★\u002F46 issues\u002F需 Node 22+\u002F",{"type":23,"tag":97,"props":20747,"children":20749},{"className":20748},[],[20750],{"type":29,"value":17584},{"type":29,"value":20752},"+",{"type":23,"tag":97,"props":20754,"children":20756},{"className":20755},[],[20757],{"type":29,"value":17591},{"type":29,"value":2224},{"type":23,"tag":97,"props":20760,"children":20762},{"className":20761},[],[20763],{"type":29,"value":20764},"docs\u002Fzh\u002Fcommands.md",{"type":29,"value":2224},{"type":23,"tag":97,"props":20767,"children":20769},{"className":20768},[],[20770],{"type":29,"value":20771},"src\u002Fcore\u002Fbuilder\u002Fplatforms\u002F",{"type":29,"value":20773}," 仅 web\u002Fandroid\u002Fios + mac\u002Fwindows\u002Fhuawei-agc\u002Fharmonyos-next\u002Fohos\u002Fgoogle-play）",{"type":23,"tag":747,"props":20775,"children":20776},{},[20777,20779,20785,20786],{"type":29,"value":20778},"4.0 手册（与实现不一致的证据）：",{"type":23,"tag":4272,"props":20780,"children":20783},{"href":20781,"rel":20782},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-in-command-line.html",[4276],[20784],{"type":29,"value":20781},{"type":29,"value":1137},{"type":23,"tag":4272,"props":20787,"children":20790},{"href":20788,"rel":20789},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F4.0\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fpublish-wechatgame.html",[4276],[20791],{"type":29,"value":20788},{"type":23,"tag":747,"props":20793,"children":20794},{},[20795,20797,20802,20804,20810,20812,20817,20819],{"type":29,"value":20796},"3.8 命令行发布（退出码 32\u002F34\u002F36、≤125 字符、需 GUI）：",{"type":23,"tag":4272,"props":20798,"children":20800},{"href":12495,"rel":20799},[4276],[20801],{"type":29,"value":12495},{"type":29,"value":20803},"；Linux 无结论 ",{"type":23,"tag":4272,"props":20805,"children":20808},{"href":20806,"rel":20807},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F165800",[4276],[20809],{"type":29,"value":20806},{"type":29,"value":20811},"；macOS ",{"type":23,"tag":97,"props":20813,"children":20815},{"className":20814},[],[20816],{"type":29,"value":18072},{"type":29,"value":20818}," 失效 ",{"type":23,"tag":4272,"props":20820,"children":20823},{"href":20821,"rel":20822},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F170038",[4276],[20824],{"type":29,"value":20821},{"type":23,"tag":747,"props":20826,"children":20827},{},[20828,20830,20835,20837],{"type":29,"value":20829},"3.8 发布端别清单：",{"type":23,"tag":4272,"props":20831,"children":20833},{"href":12488,"rel":20832},[4276],[20834],{"type":29,"value":12488},{"type":29,"value":20836},"；B站为社区适配 ",{"type":23,"tag":4272,"props":20838,"children":20841},{"href":20839,"rel":20840},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F163571",[4276],[20842],{"type":29,"value":20839},{"type":23,"tag":747,"props":20844,"children":20845},{},[20846,20848,20854,20856],{"type":29,"value":20847},"能力面：物理引擎与裁剪 ",{"type":23,"tag":4272,"props":20849,"children":20852},{"href":20850,"rel":20851},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Fphysics\u002Fphysics-engine.html",[4276],[20853],{"type":29,"value":20850},{"type":29,"value":20855},"；iOS 内存与优化 ",{"type":23,"tag":4272,"props":20857,"children":20860},{"href":20858,"rel":20859},"https:\u002F\u002Fdocs.cocos.com\u002Fcreator\u002F3.8\u002Fmanual\u002Fzh\u002Feditor\u002Fpublish\u002Fios\u002Foptimize.html",[4276],[20861],{"type":29,"value":20858},{"type":23,"tag":747,"props":20863,"children":20864},{},[20865,20867,20873,20875],{"type":29,"value":20866},"PinK：",{"type":23,"tag":4272,"props":20868,"children":20871},{"href":20869,"rel":20870},"https:\u002F\u002Fforum.cocos.org\u002Fc\u002FPinK\u002F103",[4276],[20872],{"type":29,"value":20869},{"type":29,"value":20874},"、0.0.1.18 Alpha ",{"type":23,"tag":4272,"props":20876,"children":20879},{"href":20877,"rel":20878},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F175697",[4276],[20880],{"type":29,"value":20877},{"type":23,"tag":747,"props":20882,"children":20883},{},[20884,20886,20892,20893],{"type":29,"value":20885},"许可与计费：",{"type":23,"tag":4272,"props":20887,"children":20890},{"href":20888,"rel":20889},"https:\u002F\u002Fgithub.com\u002Fcocos\u002Fcocos-engine\u002Fblob\u002Fmaster\u002FLICENSE.md",[4276],[20891],{"type":29,"value":20888},{"type":29,"value":1137},{"type":23,"tag":4272,"props":20894,"children":20897},{"href":20895,"rel":20896},"https:\u002F\u002Fservice.cocos.com\u002Fdocument\u002Fzh\u002Fbilling-and-charge.html",[4276],[20898],{"type":29,"value":20895},{"type":23,"tag":747,"props":20900,"children":20901},{},[20902,20904,20910,20912],{"type":29,"value":20903},"社区对 4.0 的态度：",{"type":23,"tag":4272,"props":20905,"children":20908},{"href":20906,"rel":20907},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F176132",[4276],[20909],{"type":29,"value":20906},{"type":29,"value":20911},"；第三方 3.8 MCP ",{"type":23,"tag":4272,"props":20913,"children":20916},{"href":20914,"rel":20915},"https:\u002F\u002Fforum.cocos.org\u002Ft\u002Ftopic\u002F176107",[4276],[20917],{"type":29,"value":20914},{"type":23,"tag":39,"props":20919,"children":20920},{},[20921],{"type":23,"tag":45,"props":20922,"children":20923},{},[20924],{"type":29,"value":18187},{"type":23,"tag":1909,"props":20926,"children":20927},{},[20928,20939,20958,20988,21005,21050,21068,21093],{"type":23,"tag":747,"props":20929,"children":20930},{},[20931,20937],{"type":23,"tag":4272,"props":20932,"children":20935},{"href":20933,"rel":20934},"https:\u002F\u002Fapi.github.com\u002Frepos\u002Flayabox\u002FLayaAir",[4276],[20936],{"type":29,"value":20933},{"type":29,"value":20938},"（2,204★\u002F545fork\u002FMIT\u002F9 issues\u002F默认分支 LayaAir_3.4）、releases（v3.4.1 = 2026-08-31；v3.3.13 = 2026-09-17）",{"type":23,"tag":747,"props":20940,"children":20941},{},[20942,20944,20950,20952],{"type":29,"value":20943},"新 CLI（无 GUI \u002F CI \u002F 10 端 \u002F Node 20+）：",{"type":23,"tag":4272,"props":20945,"children":20948},{"href":20946,"rel":20947},"https:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002Fdevelopmentenvironment\u002Fcli\u002F",[4276],[20949],{"type":29,"value":20946},{"type":29,"value":20951},"；老式命令行 ",{"type":23,"tag":4272,"props":20953,"children":20956},{"href":20954,"rel":20955},"http:\u002F\u002Flayaair.com\u002F3.x\u002Fdoc-en\u002Freleased\u002FcommandLine\u002Freadme.html",[4276],[20957],{"type":29,"value":20954},{"type":23,"tag":747,"props":20959,"children":20960},{},[20961,20967,20969,20974,20976,20981,20982,20987],{"type":23,"tag":4272,"props":20962,"children":20965},{"href":20963,"rel":20964},"https:\u002F\u002Fapi.github.com\u002Frepos\u002Flayabox\u002Flayaair-cli",[4276],[20966],{"type":29,"value":20963},{"type":29,"value":20968},"（5 文件\u002F运行时闭源）、",{"type":23,"tag":4272,"props":20970,"children":20972},{"href":12706,"rel":20971},[4276],[20973],{"type":29,"value":12706},{"type":29,"value":20975},"（2 技能）、",{"type":23,"tag":4272,"props":20977,"children":20979},{"href":12714,"rel":20978},[4276],[20980],{"type":29,"value":12714},{"type":29,"value":1373},{"type":23,"tag":45,"props":20983,"children":20984},{},[20985],{"type":29,"value":20986},"2026-08-19 归档",{"type":29,"value":951},{"type":23,"tag":747,"props":20989,"children":20990},{},[20991,20993,20999,21000],{"type":29,"value":20992},"IDE 内置 MCP 与 LayaIdea：",{"type":23,"tag":4272,"props":20994,"children":20997},{"href":20995,"rel":20996},"https:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002Fdevelopmentenvironment\u002Flayaidea\u002F",[4276],[20998],{"type":29,"value":20995},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21001,"children":21003},{"href":12722,"rel":21002},[4276],[21004],{"type":29,"value":12722},{"type":23,"tag":747,"props":21006,"children":21007},{},[21008,21010,21016,21017,21023,21024,21030,21031,21036,21037,21042,21044],{"type":29,"value":21009},"能力与格式：",{"type":23,"tag":4272,"props":21011,"children":21014},{"href":21012,"rel":21013},"https:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002F",[4276],[21015],{"type":29,"value":21012},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21018,"children":21021},{"href":21019,"rel":21020},"https:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002Fbasics\u002Farchitecture\u002F",[4276],[21022],{"type":29,"value":21019},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21025,"children":21028},{"href":21026,"rel":21027},"https:\u002F\u002Flayaair.com\u002F3.x\u002Fdoc\u002Fbasics\u002Funitytolayaair\u002F",[4276],[21029],{"type":29,"value":21026},{"type":29,"value":1373},{"type":23,"tag":97,"props":21032,"children":21034},{"className":21033},[],[21035],{"type":29,"value":1560},{"type":29,"value":208},{"type":23,"tag":97,"props":21038,"children":21040},{"className":21039},[],[21041],{"type":29,"value":17197},{"type":29,"value":21043},"）、",{"type":23,"tag":4272,"props":21045,"children":21048},{"href":21046,"rel":21047},"https:\u002F\u002Flayaair.layabox.com\u002F3.x\u002Fdoc\u002F3d\u002Fadvanced\u002Fcustomphysicsengine\u002F",[4276],[21049],{"type":29,"value":21046},{"type":23,"tag":747,"props":21051,"children":21052},{},[21053,21055,21061,21062],{"type":29,"value":21054},"包体与免费承诺：",{"type":23,"tag":4272,"props":21056,"children":21059},{"href":21057,"rel":21058},"https:\u002F\u002Fblog.csdn.net\u002Fm0_38013911\u002Farticle\u002Fdetails\u002F145332814",[4276],[21060],{"type":29,"value":21057},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21063,"children":21066},{"href":21064,"rel":21065},"https:\u002F\u002Fblog.csdn.net\u002Fm0_38013911\u002Farticle\u002Fdetails\u002F148106279",[4276],[21067],{"type":29,"value":21064},{"type":23,"tag":747,"props":21069,"children":21070},{},[21071,21073,21079,21080,21086,21087],{"type":29,"value":21072},"已知坑：",{"type":23,"tag":4272,"props":21074,"children":21077},{"href":21075,"rel":21076},"http:\u002F\u002Fask.layabox.com\u002Fd\u002F55135",[4276],[21078],{"type":29,"value":21075},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21081,"children":21084},{"href":21082,"rel":21083},"https:\u002F\u002Fask.layabox.com\u002Fd\u002F54952",[4276],[21085],{"type":29,"value":21082},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21088,"children":21091},{"href":21089,"rel":21090},"https:\u002F\u002Fask.layabox.com\u002Fd\u002F54851",[4276],[21092],{"type":29,"value":21089},{"type":23,"tag":747,"props":21094,"children":21095},{},[21096,21098,21104,21105,21110,21112],{"type":29,"value":21097},"热更与微信端：",{"type":23,"tag":4272,"props":21099,"children":21102},{"href":21100,"rel":21101},"https:\u002F\u002Flayaair.com\u002F3.2\u002Fdoc\u002Freleased\u002Fnative\u002FzipUpdate\u002Freadme.html",[4276],[21103],{"type":29,"value":21100},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21106,"children":21108},{"href":4672,"rel":21107},[4276],[21109],{"type":29,"value":4672},{"type":29,"value":21111},"；UWA GPM 2.0 ",{"type":23,"tag":4272,"props":21113,"children":21116},{"href":21114,"rel":21115},"https:\u002F\u002Fblog.csdn.net\u002FUWA4D\u002Farticle\u002Fdetails\u002F164113390",[4276],[21117],{"type":29,"value":21114},{"type":23,"tag":39,"props":21119,"children":21120},{},[21121],{"type":23,"tag":45,"props":21122,"children":21123},{},[21124],{"type":29,"value":21125},"平台与变现（两家共用）",{"type":23,"tag":1909,"props":21127,"children":21128},{},[21129,21154,21186,21218],{"type":23,"tag":747,"props":21130,"children":21131},{},[21132,21134,21139,21141,21147,21149],{"type":29,"value":21133},"微信包体 ",{"type":23,"tag":4272,"props":21135,"children":21137},{"href":4536,"rel":21136},[4276],[21138],{"type":29,"value":4536},{"type":29,"value":21140},"、云测试 ",{"type":23,"tag":4272,"props":21142,"children":21145},{"href":21143,"rel":21144},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fminigame-testtool\u002Foverview.html",[4276],[21146],{"type":29,"value":21143},{"type":29,"value":21148},"、快手工具（无 CLI）",{"type":23,"tag":4272,"props":21150,"children":21152},{"href":12213,"rel":21151},[4276],[21153],{"type":29,"value":12213},{"type":23,"tag":747,"props":21155,"children":21156},{},[21157,21159,21165,21166,21172,21173,21179,21180],{"type":29,"value":21158},"广告聚合均为 App 侧：",{"type":23,"tag":4272,"props":21160,"children":21163},{"href":21161,"rel":21162},"https:\u002F\u002Fservice.cocos.com\u002Fdocument\u002Fzh\u002Ftoponad.html",[4276],[21164],{"type":29,"value":21161},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21167,"children":21170},{"href":21168,"rel":21169},"https:\u002F\u002Fhelp.takuad.com\u002Fdocs\u002F",[4276],[21171],{"type":29,"value":21168},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21174,"children":21177},{"href":21175,"rel":21176},"https:\u002F\u002Fdocs.tradplusad.com\u002Fdocs\u002Ftradplussdk_android_doc_v6\u002Ftradplus_sdk_overview\u002Fwx_appendix_game\u002F",[4276],[21178],{"type":29,"value":21175},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21181,"children":21184},{"href":21182,"rel":21183},"https:\u002F\u002Fwww.csjplatform.com\u002Fsupportcenter\u002F6034",[4276],[21185],{"type":29,"value":21182},{"type":23,"tag":747,"props":21187,"children":21188},{},[21189,21191,21197,21198,21204,21205,21211,21212],{"type":29,"value":21190},"支付与 iOS 新政：",{"type":23,"tag":4272,"props":21192,"children":21195},{"href":21193,"rel":21194},"https:\u002F\u002Fdevelopers.weixin.qq.com\u002Fminigame\u002Fdev\u002Fguide\u002Fopen-ability\u002Fvirtual-payment\u002Fcoins.html",[4276],[21196],{"type":29,"value":21193},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21199,"children":21202},{"href":21200,"rel":21201},"https:\u002F\u002Fpartner.open-douyin.com\u002Fdocs\u002Fresource\u002Fzh-CN\u002Fmini-game\u002Fdevelop\u002Fapi\u002Fpayment\u002Ftt-request-game-payment",[4276],[21203],{"type":29,"value":21200},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21206,"children":21209},{"href":21207,"rel":21208},"https:\u002F\u002Fwww.tmtpost.com\u002F7942848.html",[4276],[21210],{"type":29,"value":21207},{"type":29,"value":1137},{"type":23,"tag":4272,"props":21213,"children":21216},{"href":21214,"rel":21215},"https:\u002F\u002Fm.jiemian.com\u002Farticle\u002F11511557.html",[4276],[21217],{"type":29,"value":21214},{"type":23,"tag":747,"props":21219,"children":21220},{},[21221,21223,21229,21231],{"type":29,"value":21222},"埋点 ",{"type":23,"tag":4272,"props":21224,"children":21227},{"href":21225,"rel":21226},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fsa-sdk-miniprogram",[4276],[21228],{"type":29,"value":21225},{"type":29,"value":21230},"；资质 ",{"type":23,"tag":4272,"props":21232,"children":21234},{"href":15717,"rel":21233},[4276],[21235],{"type":29,"value":15717},{"type":23,"tag":317,"props":21237,"children":21239},{"id":21238},"附录-b本轮明确未取证的格子",[21240],{"type":29,"value":21241},"附录 B：本轮明确\"未取证\"的格子",{"type":23,"tag":39,"props":21243,"children":21244},{},[21245,21247,21252,21254,21259],{"type":29,"value":21246},"Laya 新 CLI 在干净 Linux 容器\u002F受限网络下的真实可用性（D64）、",{"type":23,"tag":97,"props":21248,"children":21250},{"className":21249},[],[21251],{"type":29,"value":1560},{"type":29,"value":21253}," ID 规范（D65）、新 UI 实战（D66）、IDE 书面授权（D67）；Cocos 的 3.8→4.0 迁移指引（D69）、4.0 GA 时间表（D71）、官方引擎最小体积（D58\u002FD70）、官方 MCP 工具清单（D51 已核到\"无文档\"）。",{"type":23,"tag":45,"props":21255,"children":21256},{},[21257],{"type":29,"value":21258},"其中 D64\u002FD66\u002FD70\u002FD72 各半天 spike 即可关掉",{"type":29,"value":21260},"——这是本报告唯一想让你先做的事。",{"type":23,"tag":15746,"props":21262,"children":21263},{},[21264],{"type":29,"value":21265},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}"]