Skip to content

fix(maker): sync beta tested Maker changes#256

Merged
529951164 merged 4 commits into
mainfrom
fix/sync-beta-tested-changes
Jun 18, 2026
Merged

fix(maker): sync beta tested Maker changes#256
529951164 merged 4 commits into
mainfrom
fix/sync-beta-tested-changes

Conversation

@529951164

Copy link
Copy Markdown
Contributor

改动内容

  • 从 beta cherry-pick 已测试的 3 个 Maker 提交到独立 fix 分支。
  • 同步 Maker 项目创建、升级引导、3D proxy assets 和 3D 输出改进。
  • 保持 main 基底干净,不直接合并 beta 分支的其它内容。

Cherry-picked commits

  • 302b3e5 feat(maker): add project creation and 3d proxy assets
  • 9337970 fix(maker): improve 3d model proxy outputs
  • 516abc5 feat(maker): improve project creation and upgrade guidance

验证

  • npm run build
  • npm run lint
  • npm run format:check
  • npm test -- makerBuildLocalChanges.test.ts makerCliCommands.test.ts makerDevKit.test.ts makerProjectsResponse.test.ts makerProxyBundle.test.ts makerSkillInstall.test.ts --runInBand

- Add Maker project creation support to the init flow and CLI project handling.

- Expose 3D model proxy tools alongside Maker image, video, and music tools.

- Persist 3D phase preview and generated model assets into Maker project paths.

- Keep latest main proxy media handling, data URL conversion, and error reporting behavior.

- Update Maker workflow docs and tests for the combined local asset flow.
- Download original GLB/FBX model files from model_cdn_url into assets/model.

- Add structuredContent for parsed proxy JSON results without changing tool schemas.

- Add assetKind metadata for model, mdl_zip, and render registry entries.

- Update Maker skill and docs to describe 3D model output locations.

- Verify with targeted Maker tests, build, lint, format check, and diff check.
- Route 创建项目 / 创建游戏 intent to taptap-maker init --create.

- Keep 0,创建新项目 visible in app selection and status output.

- Add AGENTS.md managed policy checks and update helpers.

- Add taptap-maker upgrade for MCP config plus AGENTS policy refresh.

- Make MCP config writes idempotent with a latest TapTap backup.

- Update Maker docs, bundled skills, README, and regression tests.

Validation:

- npm test -- --runInBand maker skill/cli/status/dev-kit/proxy tests

- npm run lint

- npm run format:check

- git diff --check
@greptile-apps

greptile-apps Bot commented Jun 18, 2026

Copy link
Copy Markdown

Greptile Summary

将 beta 分支中已测试的三个 Maker 提交 cherry-pick 到此 fix 分支,同步 3D 模型代理资产、项目创建入口和升级引导,main 基底保持干净。

  • 3D 模型代理资产proxyAssets.ts 新增 materialize3dModelResult,phase 1 下载四视角预览图到 assets/image,final 阶段下载 GLB/MDL zip/渲染图到 assets/model,MDL 解压失败有 try-catch 保护,extractZip 升级为 -oq 参数支持非交互式覆盖。
  • AGENTS.md 策略管理:从 devKit.ts 独立为 agentsPolicy.ts,支持版本号 + SHA-256 哈希双重校验,新增 agents update 命令,doctorupgrade 均输出策略状态。
  • 项目创建入口projects.ts 新增 createMakerProject API 调用;init 支持 --create --name 参数;交互式项目列表顶部始终显示"0,创建新项目"选项;备份策略改为单个 .taptap-maker.bak.latest 文件,避免旧版备份文件无限积累。

Confidence Score: 5/5

变更来自已在 beta 分支经过完整测试的提交,可以安全合并。

3D 模型物化的 MDL 解压失败已有 try-catch 包裹;备份策略在内存中保存原内容用于回滚逻辑正确;项目创建和 AGENTS.md 策略管理的各关键分支均有对应集成测试覆盖;无发现影响当前行为的缺陷。

所有核心文件均有充分测试覆盖,无需特别关注。

Important Files Changed

Filename Overview
src/maker/server/proxyAssets.ts 新增 3D 模型代理资产物化:phase 1 下载四视角预览图到 assets/image,final 阶段下载 GLB/MDL zip/渲染预览到 assets/model;extractZip 用 try-catch 包裹防止部分状态不一致;structuredContent 作为 parsed 结果附加到返回值。
src/maker/cli/agentsPolicy.ts 新文件:将 AGENTS.md 策略管理从 devKit.ts 中提取出来,支持版本号 + SHA-256 哈希双重校验,能正确检测 legacy 旧格式并升级。
src/maker/cli/commands.ts 新增 agents update 和 upgrade 两个 CLI 命令;init 支持 --create --name 创建新项目;备份策略从时间戳多文件改为单个 .taptap-maker.bak.latest;writeConfigWithTapTapBackupIfChanged 在内存中保存原内容用于回滚,逻辑正确。
src/maker/cli/projects.ts 新增 createMakerProject:POST /apps 创建项目,处理 {app: {...}} 和 {apps: [...]} 两种响应格式,trim 并验证 name 非空。
src/maker/server/mcp.ts MAKER_REMOTE_PROXY_EXPOSED_TOOL_NAMES 增加 3D model 工具;移除本地 1 小时超时(改由远端服务器控制);resolveEmbeddedProxyCommand 新增 bundled entry fallback;formatAutoProjectListFromPat 增加创建新项目引导。
src/maker/cli/devKit.ts 策略管理委托给 agentsPolicy.ts;extractZip 新增 label 参数改善错误信息;unzip 参数从 -q 改为 -oq,支持非交互式覆盖已有文件。
src/tests/makerBuildLocalChanges.test.ts 新增 3D model 端到端测试:phase 1 预览图下载、final 成功结果含 MDL 提取、MDL 提取失败时继续下载 rendered image、确认参数重写等场景均覆盖。
src/tests/makerCliCommands.test.ts 新增 agents update、upgrade、init --create、doctor AGENTS.md 状态报告、备份策略等命令的集成测试。

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[create_3d_model_task / query_3d_model_task] --> B{materialize3dModelResult}
    B -->|payload.phase === 1| C[materialize3dPreviewResult]
    B -->|status not success| D[返回原始 payload 不变]
    B -->|payload.status === success| E[materialize3dFinalResult]
    C --> C1[下载 preview_urls front/left/back/right]
    C1 --> C2[保存到 assets/image 目录]
    C2 --> C3[注册到 generated-assets.json]
    C3 --> C4[附加 create3dPreviewReviewGuidance]
    E --> E1[下载 model_cdn_url 到 assets/model/*.glb]
    E1 --> E2[注册 GLB 到 registry]
    E2 --> E3[下载 mdl_cdn_url 到 assets/model/*.zip]
    E3 --> E4{extractZip try-catch}
    E4 -->|成功| E5[解压到 assets/ Meshes/Materials/Textures/Prefabs]
    E4 -->|失败| E6[mdlExtracted=false, mdlExtractError 记录错误]
    E5 --> E7[注册 MDL zip 到 registry]
    E6 --> E7
    E7 --> E8[下载 rendered_image_url 到 assets/image]
    E8 --> E9[注册渲染图到 registry]
    E9 --> E10[返回含 structuredContent 的结果]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[create_3d_model_task / query_3d_model_task] --> B{materialize3dModelResult}
    B -->|payload.phase === 1| C[materialize3dPreviewResult]
    B -->|status not success| D[返回原始 payload 不变]
    B -->|payload.status === success| E[materialize3dFinalResult]
    C --> C1[下载 preview_urls front/left/back/right]
    C1 --> C2[保存到 assets/image 目录]
    C2 --> C3[注册到 generated-assets.json]
    C3 --> C4[附加 create3dPreviewReviewGuidance]
    E --> E1[下载 model_cdn_url 到 assets/model/*.glb]
    E1 --> E2[注册 GLB 到 registry]
    E2 --> E3[下载 mdl_cdn_url 到 assets/model/*.zip]
    E3 --> E4{extractZip try-catch}
    E4 -->|成功| E5[解压到 assets/ Meshes/Materials/Textures/Prefabs]
    E4 -->|失败| E6[mdlExtracted=false, mdlExtractError 记录错误]
    E5 --> E7[注册 MDL zip 到 registry]
    E6 --> E7
    E7 --> E8[下载 rendered_image_url 到 assets/image]
    E8 --> E9[注册渲染图到 registry]
    E9 --> E10[返回含 structuredContent 的结果]
Loading

Reviews (2): Last reviewed commit: "fix(maker): keep 3d assets consistent on..." | Re-trigger Greptile

Comment thread src/maker/server/proxyAssets.ts Outdated
- Catch MDL zip extraction failures during 3D final asset materialization.

- Record mdlExtractError and continue downloading rendered preview images.

- Register downloaded MDL zip assets even when extraction fails to avoid orphaned files.

- Add regression coverage for invalid MDL zip responses.

Validation:

- npm test -- makerBuildLocalChanges.test.ts --runInBand

- npm run build

- npm run lint

- npm run format:check

- git diff --check
@529951164 529951164 merged commit 69cd9b1 into main Jun 18, 2026
12 checks passed
@529951164 529951164 deleted the fix/sync-beta-tested-changes branch June 18, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants