evomeme 0.1.9 → 0.1.10-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/canvas-public/app.js +509 -5999
- package/dist/canvas-public/assets/presets/catalog.json +47 -0
- package/dist/canvas-public/assets/presets/tiles/A_01_CaoDi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_02_ShaMo.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_03_TianKong.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_04_ShuiBo.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_05_HaiMian.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_06_MuDiBan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_07_ShiZhuan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_08_AnRongYan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_09_QingTaiShi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_10_ShenHai.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_11_HuiYanShi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_12_HongTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_13_GengDi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_14_HuoShanYan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_15_NiTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_16_HuangSha.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_17_CongLin.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_18_ZiYanShi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_19_MoGuTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_20_HuaDian.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_21_HaiLang.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_22_GanTu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_23_QingTaiShiBan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_24_XingKong.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_25_MoFaFuWen.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_26_ShiTuYeDi.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_27_LanZhuan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_28_HongZhuan.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_29_YueQiu.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_30_JinShuGe.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_31_JinShuJingGai.png +0 -0
- package/dist/canvas-public/assets/presets/tiles/A_32_ShuZiChuang.png +0 -0
- package/dist/canvas-public/canvas/actions.js +144 -0
- package/dist/canvas-public/canvas/camera.js +28 -0
- package/dist/canvas-public/canvas/chrome.js +14 -0
- package/dist/canvas-public/canvas/data.js +123 -0
- package/dist/canvas-public/canvas/dependencies.js +19 -0
- package/dist/canvas-public/canvas/interactions.js +544 -0
- package/dist/canvas-public/canvas/panel-resize.js +5 -0
- package/dist/canvas-public/canvas/renderer.js +297 -0
- package/dist/canvas-public/canvas/selection.js +62 -0
- package/dist/canvas-public/canvas/serialization.js +118 -0
- package/dist/canvas-public/canvas/sync.js +202 -0
- package/dist/canvas-public/core/api.js +32 -0
- package/dist/canvas-public/core/feature-registry.js +29 -0
- package/dist/canvas-public/core/feature-state.js +228 -0
- package/dist/canvas-public/core/layout.js +133 -0
- package/dist/canvas-public/core/operations.js +38 -0
- package/dist/canvas-public/core/project.js +203 -0
- package/dist/canvas-public/core/state.js +27 -0
- package/dist/canvas-public/dialogs/context-menu.js +118 -0
- package/dist/canvas-public/elements/base.js +100 -0
- package/dist/canvas-public/elements/connections.js +105 -0
- package/dist/canvas-public/elements/drag.js +53 -0
- package/dist/canvas-public/elements/image.js +259 -0
- package/dist/canvas-public/elements/loading-recovery.js +5 -0
- package/dist/canvas-public/elements/loading.js +21 -0
- package/dist/canvas-public/elements/map.js +64 -0
- package/dist/canvas-public/elements/registry.js +58 -0
- package/dist/canvas-public/elements/replacement.js +78 -0
- package/dist/canvas-public/elements/resize.js +210 -0
- package/dist/canvas-public/elements/task-pipeline.js +235 -0
- package/dist/canvas-public/elements/types.js +21 -0
- package/dist/canvas-public/elements/ui.js +14 -0
- package/dist/canvas-public/elements/video.js +64 -0
- package/dist/canvas-public/features/assets/local-assets.js +72 -0
- package/dist/canvas-public/features/assets/official-assets.js +539 -0
- package/dist/canvas-public/features/editing/canvas-size.js +532 -0
- package/dist/canvas-public/features/editing/color-key.js +471 -0
- package/dist/canvas-public/features/editing/cutout.js +20 -0
- package/dist/canvas-public/features/editing/interactive-image-editing.js +982 -0
- package/dist/canvas-public/features/editing/layer-decomposition.js +45 -0
- package/dist/canvas-public/features/editing/manual-split.js +115 -0
- package/dist/canvas-public/features/editing/perfect-pixel.js +299 -0
- package/dist/canvas-public/features/editing/scroll-preview.js +130 -0
- package/dist/canvas-public/features/editing/scroll-seam-elimination.js +71 -0
- package/dist/canvas-public/features/editing/seam-elimination.js +46 -0
- package/dist/canvas-public/features/editing/smart-split.js +49 -0
- package/dist/canvas-public/features/editing/source-preview.js +43 -0
- package/dist/canvas-public/features/editing/video-cycle.js +49 -0
- package/dist/canvas-public/features/editing/video-frames.js +35 -0
- package/dist/canvas-public/features/frame-editor/frame-editing.js +755 -0
- package/dist/canvas-public/features/frame-editor/frame-model.js +63 -0
- package/dist/canvas-public/features/frame-editor/playback.js +83 -0
- package/dist/canvas-public/features/frame-editor/preview.js +151 -0
- package/dist/canvas-public/features/generation/animation.js +272 -0
- package/dist/canvas-public/features/generation/asset-batch.js +102 -0
- package/dist/canvas-public/features/generation/direction.js +163 -0
- package/dist/canvas-public/features/generation/fields.js +73 -0
- package/dist/canvas-public/features/generation/game-ui.js +64 -0
- package/dist/canvas-public/features/generation/image.js +96 -0
- package/dist/canvas-public/features/generation/scroll-image.js +157 -0
- package/dist/canvas-public/features/generation/seamless-tile.js +52 -0
- package/dist/canvas-public/features/generation/tile-transition-atlas.js +79 -0
- package/dist/canvas-public/features/generation/video.js +105 -0
- package/dist/canvas-public/features/map/creation.js +73 -0
- package/dist/canvas-public/features/map/tile-map-editor.js +2520 -0
- package/dist/canvas-public/features/registry.js +59 -0
- package/dist/canvas-public/index.html +84 -259
- package/dist/canvas-public/inspector/controls.js +49 -0
- package/dist/canvas-public/inspector/frame-preview.js +11 -0
- package/dist/canvas-public/inspector/inspector.js +190 -0
- package/dist/canvas-public/inspector/media-inspector.js +517 -0
- package/dist/canvas-public/inspector/media-preview.js +56 -0
- package/dist/canvas-public/inspector/number-stepper.js +96 -0
- package/dist/canvas-public/inspector/resize.js +88 -0
- package/dist/canvas-public/inspector/scroll-preview.js +11 -0
- package/dist/canvas-public/inspector/ui-inspector.js +14 -0
- package/dist/canvas-public/language/en-US.js +1059 -0
- package/dist/canvas-public/language/index.js +91 -0
- package/dist/canvas-public/language/zh-CN.js +1059 -0
- package/dist/canvas-public/map/export.js +10 -0
- package/dist/canvas-public/map/inspector.js +8 -0
- package/dist/canvas-public/map/model.js +409 -0
- package/dist/canvas-public/map/tile-map-editor.js +2 -0
- package/dist/canvas-public/media/metadata.js +183 -0
- package/dist/canvas-public/media/support.js +183 -0
- package/dist/canvas-public/styles/base.css +49 -0
- package/dist/canvas-public/styles/canvas.css +127 -0
- package/dist/canvas-public/styles/controls.css +203 -0
- package/dist/canvas-public/styles/dialogs.css +521 -0
- package/dist/canvas-public/styles/feature-form.css +409 -0
- package/dist/canvas-public/styles/inspector.css +441 -0
- package/dist/canvas-public/styles/layout.css +344 -0
- package/dist/canvas-public/styles/map.css +11 -0
- package/dist/canvas-public/styles/nodes.css +636 -0
- package/dist/canvas-public/styles.css +9 -2247
- package/dist/canvas-public/ui/controls.js +222 -0
- package/dist/canvas-public/ui/elements.js +9 -0
- package/dist/canvas-public/ui/feature-controller.js +296 -0
- package/dist/canvas-public/ui/feature-form.js +402 -0
- package/dist/canvas-public/ui/settings.js +84 -0
- package/dist/canvas-public/ui/toolbar.js +55 -0
- package/dist/canvas-public/vendor/pixi-tilemap.js +126 -0
- package/dist/canvas-public/vendor/pixi.min.js +2340 -0
- package/dist/canvas-public/workers/color-key-worker.js +289 -0
- package/dist/image-workers/perfect-pixel/perfect-pixel-core.js +441 -0
- package/dist/image-workers/perfect-pixel/perfect-pixel-worker.cjs +10 -0
- package/dist/index.js +46710 -12400
- package/dist/skills/en-US/evomeme-canvas/SKILL.md +52 -0
- package/dist/skills/en-US/evomeme-canvas/agents/openai.yaml +7 -0
- package/dist/skills/en-US/evomeme-cloud-fs/SKILL.md +203 -0
- package/dist/skills/en-US/evomeme-cloud-fs/agents/openai.yaml +7 -0
- package/dist/skills/en-US/evomeme-cover/SKILL.md +131 -0
- package/dist/skills/en-US/evomeme-cover/agents/openai.yaml +7 -0
- package/dist/skills/en-US/evomeme-game-maker/SKILL.md +288 -0
- package/dist/skills/en-US/evomeme-game-maker/agents/openai.yaml +4 -0
- package/dist/skills/en-US/evomeme-login/SKILL.md +97 -0
- package/dist/skills/en-US/evomeme-login/agents/openai.yaml +7 -0
- package/dist/skills/en-US/evomeme-mcp/SKILL.md +71 -0
- package/dist/skills/en-US/evomeme-mcp/agents/openai.yaml +7 -0
- package/dist/skills/en-US/evomeme-mcp/references/troubleshooting.md +55 -0
- package/dist/skills/en-US/evomeme-native-bridge-sdk/SKILL.md +286 -0
- package/dist/skills/en-US/evomeme-native-bridge-sdk/agents/openai.yaml +8 -0
- package/dist/skills/en-US/evomeme-tos-upload/SKILL.md +47 -0
- package/dist/skills/en-US/evomeme-tos-upload/agents/openai.yaml +5 -0
- package/dist/skills/en-US/evomeme-ui/SKILL.md +123 -0
- package/dist/skills/en-US/evomeme-ui/agents/openai.yaml +4 -0
- package/dist/skills/en-US/evomeme-ui/references/host-layout.md +69 -0
- package/dist/skills/en-US/game-art/SKILL.md +121 -0
- package/dist/skills/en-US/game-art/agents/openai.yaml +8 -0
- package/dist/skills/en-US/game-asset-align/SKILL.md +47 -0
- package/dist/skills/en-US/game-asset-align/agents/openai.yaml +8 -0
- package/dist/skills/en-US/game-asset-align/references/alignment-contract.md +61 -0
- package/dist/skills/en-US/game-asset-align/references/blender-scene-pipeline.md +35 -0
- package/dist/skills/en-US/game-asset-align/references/canonical-package.md +26 -0
- package/dist/skills/en-US/game-asset-align/references/engine-capabilities.md +14 -0
- package/dist/skills/en-US/game-asset-align/references/lightweight-review.md +34 -0
- package/dist/skills/en-US/game-asset-align/references/repair-policy.md +30 -0
- package/dist/skills/en-US/game-asset-align/references/tool-contract.md +69 -0
- package/dist/skills/en-US/game-asset-align/references/visual-review.md +26 -0
- package/dist/skills/en-US/game-asset-batch-generator/SKILL.md +117 -0
- package/dist/skills/en-US/game-asset-batch-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-asset-image-generator/SKILL.md +86 -0
- package/dist/skills/en-US/game-asset-image-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-asset-image-generator/references/background.md +34 -0
- package/dist/skills/en-US/game-asset-image-generator/references/static-game-assets.md +38 -0
- package/dist/skills/en-US/game-asset-mesh-generator/SKILL.md +35 -0
- package/dist/skills/en-US/game-asset-mesh-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-asset-mesh-generator/references/animation-presets.md +313 -0
- package/dist/skills/en-US/game-asset-mesh-generator/references/generation-contracts.md +131 -0
- package/dist/skills/en-US/game-asset-mesh-generator/references/image-generator-workflows.md +65 -0
- package/dist/skills/en-US/game-asset-mesh-generator/references/postprocess-contracts.md +187 -0
- package/dist/skills/en-US/game-asset-mesh-generator/references/threejs-integration.md +113 -0
- package/dist/skills/en-US/game-asset-mesh-generator/references/tool-reference.md +67 -0
- package/dist/skills/en-US/game-audio/SKILL.md +121 -0
- package/dist/skills/en-US/game-audio/agents/openai.yaml +4 -0
- package/{skills → dist/skills/en-US}/game-audio/references/bgm-cdn.md +7 -11
- package/{skills → dist/skills/en-US}/game-audio/references/sfx-cdn.md +6 -4
- package/dist/skills/en-US/game-character-view-generator/SKILL.md +110 -0
- package/dist/skills/en-US/game-character-view-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-demo/SKILL.md +103 -0
- package/dist/skills/en-US/game-demo/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-image-layer-decomposer/SKILL.md +99 -0
- package/dist/skills/en-US/game-image-layer-decomposer/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-image-splitter/SKILL.md +114 -0
- package/dist/skills/en-US/game-image-splitter/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-maker/SKILL.md +111 -0
- package/dist/skills/en-US/game-maker/agents/openai.yaml +4 -0
- package/dist/skills/en-US/game-perfect-pixel/SKILL.md +123 -0
- package/dist/skills/en-US/game-perfect-pixel/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-scroll-generator/SKILL.md +110 -0
- package/dist/skills/en-US/game-scroll-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-test/SKILL.md +58 -0
- package/dist/skills/en-US/game-test/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-tile-generator/SKILL.md +152 -0
- package/dist/skills/en-US/game-tile-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-ui/SKILL.md +177 -0
- package/dist/skills/en-US/game-ui/agents/openai.yaml +4 -0
- package/dist/skills/en-US/game-ui-generator/SKILL.md +82 -0
- package/dist/skills/en-US/game-ui-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-ui-generator/references/component-patterns.md +65 -0
- package/dist/skills/en-US/game-ui-generator/references/runtime-integration.md +45 -0
- package/dist/skills/en-US/game-video-cycle/SKILL.md +98 -0
- package/dist/skills/en-US/game-video-cycle/agents/openai.yaml +7 -0
- package/dist/skills/en-US/game-video-generator/SKILL.md +78 -0
- package/dist/skills/en-US/game-video-generator/agents/openai.yaml +7 -0
- package/dist/skills/en-US/godot-3d-game/SKILL.md +41 -0
- package/dist/skills/en-US/godot-3d-game/agents/openai.yaml +8 -0
- package/dist/skills/en-US/godot-3d-game/references/alignment-gates.md +26 -0
- package/dist/skills/en-US/godot-3d-game/references/appearance-alignment.md +54 -0
- package/dist/skills/en-US/godot-3d-game/references/build-and-qa.md +22 -0
- package/dist/skills/en-US/godot-3d-game/references/canonical-asset-runtime.md +27 -0
- package/dist/skills/en-US/godot-3d-game/references/import-and-wrapper-scenes.md +20 -0
- package/dist/skills/en-US/godot-3d-game/references/physics-colliders.md +13 -0
- package/dist/skills/en-US/godot-3d-game/references/project-structure.md +22 -0
- package/dist/skills/en-US/godot-3d-game/references/skeleton-animation.md +16 -0
- package/dist/skills/en-US/phaser-2d-game/SKILL.md +127 -0
- package/dist/skills/en-US/phaser-2d-game/agents/openai.yaml +8 -0
- package/dist/skills/en-US/phaser-2d-game/references/engine-performance.md +64 -0
- package/dist/skills/en-US/phaser-2d-game/references/engine-physics.md +139 -0
- package/dist/skills/en-US/phaser-2d-game/references/engine-runtime.md +129 -0
- package/dist/skills/en-US/phaser-2d-game/references/engine-spritesheets.md +99 -0
- package/dist/skills/en-US/phaser-2d-game/references/engine-tilemaps.md +80 -0
- package/dist/skills/en-US/phaser-2d-game/references/file-structure.md +94 -0
- package/dist/skills/en-US/phaser-2d-graphics-builder/SKILL.md +68 -0
- package/dist/skills/en-US/phaser-2d-graphics-builder/agents/openai.yaml +7 -0
- package/dist/skills/en-US/threejs-3d-game/SKILL.md +117 -0
- package/dist/skills/en-US/threejs-3d-game/agents/openai.yaml +7 -0
- package/dist/skills/en-US/threejs-3d-game/references/engine-asset-pipeline.md +155 -0
- package/dist/skills/en-US/threejs-3d-game/references/engine-audio.md +70 -0
- package/dist/skills/en-US/threejs-3d-game/references/engine-input-camera.md +84 -0
- package/dist/skills/en-US/threejs-3d-game/references/engine-performance.md +96 -0
- package/dist/skills/en-US/threejs-3d-game/references/engine-physics.md +142 -0
- package/dist/skills/en-US/threejs-3d-game/references/engine-runtime.md +199 -0
- package/dist/skills/en-US/threejs-3d-game/references/file-structure.md +353 -0
- package/dist/skills/en-US/threejs-aaa-graphics-builder/SKILL.md +62 -0
- package/dist/skills/en-US/threejs-aaa-graphics-builder/agents/openai.yaml +7 -0
- package/{skills → dist/skills/zh-CN}/evomeme-cloud-fs/SKILL.md +33 -6
- package/{skills → dist/skills/zh-CN}/evomeme-cover/SKILL.md +7 -8
- package/{skills → dist/skills/zh-CN}/evomeme-game-maker/SKILL.md +91 -88
- package/{skills → dist/skills/zh-CN}/evomeme-login/SKILL.md +5 -0
- package/dist/skills/zh-CN/evomeme-mcp/SKILL.md +71 -0
- package/dist/skills/zh-CN/evomeme-mcp/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/evomeme-mcp/references/troubleshooting.md +55 -0
- package/{skills → dist/skills/zh-CN}/evomeme-tos-upload/SKILL.md +6 -5
- package/dist/skills/zh-CN/evomeme-ui/SKILL.md +123 -0
- package/dist/skills/zh-CN/evomeme-ui/agents/openai.yaml +4 -0
- package/dist/skills/zh-CN/evomeme-ui/references/host-layout.md +69 -0
- package/dist/skills/zh-CN/game-asset-align/SKILL.md +47 -0
- package/dist/skills/zh-CN/game-asset-align/agents/openai.yaml +8 -0
- package/dist/skills/zh-CN/game-asset-align/references/alignment-contract.md +61 -0
- package/dist/skills/zh-CN/game-asset-align/references/blender-scene-pipeline.md +35 -0
- package/dist/skills/zh-CN/game-asset-align/references/canonical-package.md +26 -0
- package/dist/skills/zh-CN/game-asset-align/references/engine-capabilities.md +14 -0
- package/dist/skills/zh-CN/game-asset-align/references/lightweight-review.md +34 -0
- package/dist/skills/zh-CN/game-asset-align/references/repair-policy.md +30 -0
- package/dist/skills/zh-CN/game-asset-align/references/tool-contract.md +69 -0
- package/dist/skills/zh-CN/game-asset-align/references/visual-review.md +26 -0
- package/dist/skills/zh-CN/game-asset-batch-generator/SKILL.md +117 -0
- package/dist/skills/zh-CN/game-asset-batch-generator/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-asset-image-generator/SKILL.md +86 -0
- package/{skills → dist/skills/zh-CN}/game-asset-image-generator/references/background.md +3 -1
- package/{skills → dist/skills/zh-CN}/game-asset-image-generator/references/static-game-assets.md +2 -2
- package/dist/skills/zh-CN/game-asset-mesh-generator/SKILL.md +35 -0
- package/dist/skills/zh-CN/game-asset-mesh-generator/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-asset-mesh-generator/references/animation-presets.md +313 -0
- package/dist/skills/zh-CN/game-asset-mesh-generator/references/generation-contracts.md +131 -0
- package/dist/skills/zh-CN/game-asset-mesh-generator/references/image-generator-workflows.md +65 -0
- package/dist/skills/zh-CN/game-asset-mesh-generator/references/postprocess-contracts.md +187 -0
- package/dist/skills/zh-CN/game-asset-mesh-generator/references/threejs-integration.md +113 -0
- package/dist/skills/zh-CN/game-asset-mesh-generator/references/tool-reference.md +67 -0
- package/dist/skills/zh-CN/game-audio/SKILL.md +121 -0
- package/dist/skills/zh-CN/game-audio/agents/openai.yaml +4 -0
- package/dist/skills/zh-CN/game-audio/references/bgm-cdn.md +123 -0
- package/dist/skills/zh-CN/game-audio/references/sfx-cdn.md +79 -0
- package/dist/skills/zh-CN/game-character-view-generator/SKILL.md +110 -0
- package/dist/skills/zh-CN/game-character-view-generator/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-image-layer-decomposer/SKILL.md +99 -0
- package/dist/skills/zh-CN/game-image-layer-decomposer/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-image-splitter/SKILL.md +114 -0
- package/dist/skills/zh-CN/game-image-splitter/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-perfect-pixel/SKILL.md +123 -0
- package/dist/skills/zh-CN/game-perfect-pixel/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-scroll-generator/SKILL.md +110 -0
- package/dist/skills/zh-CN/game-scroll-generator/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-test/references/checklists/playtest-qa.md +12 -0
- package/dist/skills/zh-CN/game-tile-generator/SKILL.md +151 -0
- package/dist/skills/zh-CN/game-tile-generator/agents/openai.yaml +7 -0
- package/{skills → dist/skills/zh-CN}/game-ui/SKILL.md +9 -1
- package/dist/skills/zh-CN/game-ui/references/checklists/game-ui-quality.md +14 -0
- package/dist/skills/zh-CN/game-ui/references/checklists/hud-readability.md +12 -0
- package/dist/skills/zh-CN/game-ui/references/checklists/mobile-input.md +12 -0
- package/dist/skills/zh-CN/game-ui/references/checklists/responsive-ui-fit.md +12 -0
- package/dist/skills/zh-CN/game-ui/references/ui-patterns.md +140 -0
- package/dist/skills/zh-CN/game-ui/references/ui-prompt-templates.md +63 -0
- package/dist/skills/zh-CN/game-ui-generator/SKILL.md +82 -0
- package/dist/skills/zh-CN/game-ui-generator/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-ui-generator/references/component-patterns.md +65 -0
- package/dist/skills/zh-CN/game-ui-generator/references/runtime-integration.md +45 -0
- package/dist/skills/zh-CN/game-video-cycle/SKILL.md +98 -0
- package/dist/skills/zh-CN/game-video-cycle/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/game-video-generator/SKILL.md +78 -0
- package/dist/skills/zh-CN/game-video-generator/agents/openai.yaml +7 -0
- package/dist/skills/zh-CN/godot-3d-game/SKILL.md +41 -0
- package/dist/skills/zh-CN/godot-3d-game/agents/openai.yaml +8 -0
- package/dist/skills/zh-CN/godot-3d-game/references/alignment-gates.md +26 -0
- package/dist/skills/zh-CN/godot-3d-game/references/appearance-alignment.md +54 -0
- package/dist/skills/zh-CN/godot-3d-game/references/build-and-qa.md +22 -0
- package/dist/skills/zh-CN/godot-3d-game/references/canonical-asset-runtime.md +27 -0
- package/dist/skills/zh-CN/godot-3d-game/references/import-and-wrapper-scenes.md +20 -0
- package/dist/skills/zh-CN/godot-3d-game/references/physics-colliders.md +13 -0
- package/dist/skills/zh-CN/godot-3d-game/references/project-structure.md +22 -0
- package/dist/skills/zh-CN/godot-3d-game/references/skeleton-animation.md +16 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-1.jpeg +0 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-2.jpeg +0 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/compose-quality.md +10 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/performance-safe-visual-detail.md +9 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/premium-game-quality-gate.md +15 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/sprite-quality.md +10 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/technical-art-quality.md +9 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/visual-scorecard.md +9 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/compose-recipes.md +71 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/graphics-prompt-templates.md +33 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/implementation-blueprint.md +82 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/sprite-recipes.md +90 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/technical-art.md +67 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/vfx-recipes.md +67 -0
- package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/visual-scorecard.md +129 -0
- package/{skills → dist/skills/zh-CN}/threejs-3d-game/SKILL.md +6 -2
- package/dist/skills/zh-CN/threejs-3d-game/references/engine-asset-pipeline.md +155 -0
- package/{skills → dist/skills/zh-CN}/threejs-aaa-graphics-builder/SKILL.md +6 -6
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-1.jpg +0 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-2.jpg +0 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/aaa-game-quality-gate.md +23 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/aaa-visual-scorecard.md +19 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/material-lighting-quality.md +14 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/performance-safe-visual-detail.md +14 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/procedural-model-quality.md +15 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/technical-art-quality.md +17 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/graphics-prompt-templates.md +236 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/implementation-blueprint.md +161 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/model-recipes.md +146 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/render-recipes.md +90 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/shader-cookbook.md +292 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/technical-art.md +167 -0
- package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/visual-scorecard.md +147 -0
- package/dist/stage-blender/bake_materials.py +102 -0
- package/dist/stage-blender/export_scene.py +275 -0
- package/dist/stage-blender/preview_camera.py +90 -0
- package/dist/stage-blender/repair_mesh.py +112 -0
- package/dist/stage-public/app.js +759 -0
- package/dist/stage-public/baked/bakePilot.js +44 -0
- package/dist/stage-public/baked/bakedScene.js +129 -0
- package/dist/stage-public/baked/sceneAppearance.js +225 -0
- package/dist/stage-public/baked/sceneCamera.js +45 -0
- package/dist/stage-public/comparison-contract.js +28 -0
- package/dist/stage-public/delivery.html +4 -0
- package/dist/stage-public/delivery.js +17 -0
- package/dist/stage-public/godot/appearance.gd +170 -0
- package/dist/stage-public/godot/preview.gd +79 -0
- package/dist/stage-public/index.html +141 -0
- package/dist/stage-public/review-app.js +289 -0
- package/dist/stage-public/review-runtime.js +63 -0
- package/dist/stage-public/review.css +24 -0
- package/dist/stage-public/review.html +47 -0
- package/dist/stage-public/scene-runtime.js +212 -0
- package/dist/stage-public/sceneContractRuntime.js +235 -0
- package/dist/stage-public/styles.css +328 -0
- package/dist/stage-public/three-appearance.js +104 -0
- package/dist/stage-public/vendor/three170/LICENSE +21 -0
- package/dist/stage-public/vendor/three170/build/three.module.js +54571 -0
- package/dist/stage-public/vendor/three170/examples/jsm/controls/OrbitControls.js +1523 -0
- package/dist/stage-public/vendor/three170/examples/jsm/environments/RoomEnvironment.js +144 -0
- package/dist/stage-public/vendor/three170/examples/jsm/libs/fflate.module.js +2672 -0
- package/dist/stage-public/vendor/three170/examples/jsm/loaders/EXRLoader.js +2563 -0
- package/dist/stage-public/vendor/three170/examples/jsm/loaders/GLTFLoader.js +4727 -0
- package/dist/stage-public/vendor/three170/examples/jsm/utils/BufferGeometryUtils.js +1373 -0
- package/dist/tile-transition-mask.svg +40 -0
- package/package.json +24 -8
- package/dist/canvas-public/cycle-detect.js +0 -166
- package/dist/canvas-public/smart-split.js +0 -185
- package/skills/game-asset-image-generator/SKILL.md +0 -104
- package/skills/game-audio/SKILL.md +0 -82
- package/skills/game-audio/agents/openai.yaml +0 -4
- package/skills/threejs-3d-game/references/engine-asset-pipeline.md +0 -116
- /package/{skills → dist/skills/en-US}/game-test/references/checklists/playtest-qa.md +0 -0
- /package/{skills → dist/skills/en-US}/game-ui/references/checklists/game-ui-quality.md +0 -0
- /package/{skills → dist/skills/en-US}/game-ui/references/checklists/hud-readability.md +0 -0
- /package/{skills → dist/skills/en-US}/game-ui/references/checklists/mobile-input.md +0 -0
- /package/{skills → dist/skills/en-US}/game-ui/references/checklists/responsive-ui-fit.md +0 -0
- /package/{skills → dist/skills/en-US}/game-ui/references/ui-patterns.md +0 -0
- /package/{skills → dist/skills/en-US}/game-ui/references/ui-prompt-templates.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-1.jpeg +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-2.jpeg +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/compose-quality.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/performance-safe-visual-detail.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/premium-game-quality-gate.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/sprite-quality.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/technical-art-quality.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/visual-scorecard.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/compose-recipes.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/graphics-prompt-templates.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/implementation-blueprint.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/sprite-recipes.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/technical-art.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/vfx-recipes.md +0 -0
- /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/visual-scorecard.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-1.jpg +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-2.jpg +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/aaa-game-quality-gate.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/aaa-visual-scorecard.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/material-lighting-quality.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/performance-safe-visual-detail.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/procedural-model-quality.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/technical-art-quality.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/graphics-prompt-templates.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/implementation-blueprint.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/model-recipes.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/render-recipes.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/shader-cookbook.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/technical-art.md +0 -0
- /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/visual-scorecard.md +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-canvas/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-canvas/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-cloud-fs/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-cover/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-game-maker/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-login/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-native-bridge-sdk/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-native-bridge-sdk/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/evomeme-tos-upload/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/game-art/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/game-art/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/game-asset-image-generator/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/game-demo/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/game-demo/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/game-maker/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/game-maker/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/game-test/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/game-test/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/game-ui/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-performance.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-physics.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-runtime.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-spritesheets.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-tilemaps.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/file-structure.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-graphics-builder/SKILL.md +0 -0
- /package/{skills → dist/skills/zh-CN}/phaser-2d-graphics-builder/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-3d-game/agents/openai.yaml +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-audio.md +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-input-camera.md +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-performance.md +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-physics.md +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-runtime.md +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/file-structure.md +0 -0
- /package/{skills → dist/skills/zh-CN}/threejs-aaa-graphics-builder/agents/openai.yaml +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Text, image and multiview generation
|
|
2
|
+
|
|
3
|
+
Use `evomeme_text_to_mesh` or `evomeme_image_to_mesh`. Common task options, output fields and recovery are defined once in [tool-reference.md](tool-reference.md). Examples are illustrative MCP arguments; replace their prompts and source URLs for the actual task.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- [Versions](#versions)
|
|
8
|
+
- [Common parameters](#common-parameters)
|
|
9
|
+
- [Face limits](#face-limits)
|
|
10
|
+
- [Source parameters](#source-parameters)
|
|
11
|
+
- [Image inputs](#image-inputs)
|
|
12
|
+
- [Examples](#examples)
|
|
13
|
+
|
|
14
|
+
## Versions
|
|
15
|
+
|
|
16
|
+
Choose `model_version` from the request: **high precision / 高精度模型 → `v3.1-20260211` (H)**; **smart mesh / 智能网格 → `P2-20260801` (P)**. An explicit user version wins. Omission defaults to H `v3.1-20260211`. Send the version, not a `family` field; H `smart_low_poly` does not select P.
|
|
17
|
+
|
|
18
|
+
| Family | Versions | Unsupported fields to omit entirely |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| H3 | `v3.1-20260211`, `v3.0-20250812` | None of the common fields below solely because of this family; combination rules still apply. |
|
|
21
|
+
| H2.5 | `v2.5-20250123` | `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress` |
|
|
22
|
+
| P1 | `P1-20260311` | `quad`, `geometry_quality`, `smart_low_poly`, `generate_parts`, `compress` |
|
|
23
|
+
| P2 | `P2-20260801` (preview) | `geometry_quality`, `smart_low_poly`, `generate_parts`, `compress` |
|
|
24
|
+
|
|
25
|
+
Unsupported fields must be omitted even when their value is `false` or a usual default. Preserve explicit `false` and `0` for supported fields. Seeds must be JavaScript safe integers.
|
|
26
|
+
|
|
27
|
+
## Common parameters
|
|
28
|
+
|
|
29
|
+
Defaults below apply only to supported versions. Optional omission preserves provider behavior unless the plugin default is stated.
|
|
30
|
+
|
|
31
|
+
| Parameter | Type | Default and constraints |
|
|
32
|
+
| --- | --- | --- |
|
|
33
|
+
| `model_version` | string | Plugin default `v3.1-20260211`; versions above. |
|
|
34
|
+
| `mesh_format` | string | `auto` (default), `glb`, `fbx`. H3 `quad=true` produces FBX; other generation modes use GLB. An explicit format must match; use `evomeme_convert_mesh` for another format. |
|
|
35
|
+
| `model_seed` | integer | Random when omitted; `0` is valid. |
|
|
36
|
+
| `face_limit` | integer | Adaptive when omitted, except H3 quads default to 10000. Bounds below. |
|
|
37
|
+
| `texture` | boolean | `true`. For bare geometry also set `pbr=false`. |
|
|
38
|
+
| `pbr` | boolean | `true`; enabling PBR forces texture generation. |
|
|
39
|
+
| `texture_seed` | integer | Random when omitted; `0` is valid. |
|
|
40
|
+
| `texture_quality` | string | `standard`; also `fast`, `detailed`, `extreme` (8K). `fast` requires explicit `texture_version="v3.5-20260815"`. |
|
|
41
|
+
| `texture_version` | string | `v3.5-20260815`, `v3.0-20250812`, `v2.5-20250123`. H3/P default to v3.0; H2.5 defaults to v2.5. |
|
|
42
|
+
| `delight` | boolean | `true`; removes baked reference lighting, read only by texture v3.5. |
|
|
43
|
+
| `auto_size` | boolean | `false`; scale to real dimensions in meters. |
|
|
44
|
+
| `export_uv` | boolean | `true`; `false` defers UV unwrapping. |
|
|
45
|
+
| `export_orientation` | string | `+x`; also `-x`, `+y`, `-y`. Omit before downstream processing and orient in final conversion. |
|
|
46
|
+
| `quad` | boolean | `false`; supported by H3 and P2. H3 outputs FBX. |
|
|
47
|
+
| `geometry_quality` | string | H3 only: `standard` (default) or `detailed` (Ultra). |
|
|
48
|
+
| `smart_low_poly` | boolean | H3 only, `false`; low-poly mode with its own face limits. |
|
|
49
|
+
| `generate_parts` | boolean | H3 only, `false`. Requires explicit `texture=false`, `pbr=false`; omit both `quad` and `smart_low_poly`, including `false`. |
|
|
50
|
+
| `compress` | string | H3 only: `geometry` enables meshopt; omitted disables compression. |
|
|
51
|
+
|
|
52
|
+
## Face limits
|
|
53
|
+
|
|
54
|
+
| Mode | Allowed `face_limit` |
|
|
55
|
+
| --- | --- |
|
|
56
|
+
| H3.1 standard triangles | 1–1500000 |
|
|
57
|
+
| H3.0 standard triangles | 1–1000000 |
|
|
58
|
+
| H2.5 triangles | 1–500000 |
|
|
59
|
+
| H3 Ultra triangles | 1–2000000 |
|
|
60
|
+
| H3 quads | 1–150000; omission uses 10000 |
|
|
61
|
+
| H3 `smart_low_poly` | Triangles 500–20000; quads 500–10000 |
|
|
62
|
+
| P1 | 50–20000 |
|
|
63
|
+
| P2 | Triangles 48–50000; quads 48–25000 |
|
|
64
|
+
|
|
65
|
+
## Source parameters
|
|
66
|
+
|
|
67
|
+
| Tool | Parameter | Type | Requirement/default |
|
|
68
|
+
| --- | --- | --- | --- |
|
|
69
|
+
| `evomeme_text_to_mesh` | `prompt` | string | Required, 1–1024 characters. Describe silhouette, style, materials and intended use. |
|
|
70
|
+
| `evomeme_text_to_mesh` | `negative_prompt` | string | Optional, at most 255 characters. |
|
|
71
|
+
| `evomeme_text_to_mesh` | `image_seed` | integer | Optional text-to-image seed; random when omitted. |
|
|
72
|
+
| `evomeme_image_to_mesh` | `input` | string | One image URL, file token or successful upstream image task ID. |
|
|
73
|
+
| `evomeme_image_to_mesh` | `inputs` | array | Multiview forms below. |
|
|
74
|
+
| `evomeme_image_to_mesh` | `image_url` | string | Compatibility form: one URL or four comma-separated view slots. |
|
|
75
|
+
| `evomeme_image_to_mesh` | `enable_image_autofix` | boolean | Single-image only, `false`. Omit entirely for multiview. |
|
|
76
|
+
| `evomeme_image_to_mesh` | `texture_alignment` | string | `original_image` (color priority) or `geometry`; default `original_image`. |
|
|
77
|
+
| `evomeme_image_to_mesh` | `orientation` | string | `default` or `align_image`; default `default`, effective only with texture enabled. |
|
|
78
|
+
|
|
79
|
+
Choose exactly one of `input`, `inputs`, `image_url`. Image generation has no text-only `prompt`, `negative_prompt` or `image_seed` field.
|
|
80
|
+
|
|
81
|
+
## Image inputs
|
|
82
|
+
|
|
83
|
+
Use PNG/JPEG/WebP, preferably at least 256×256; single-image input is limited to 20 MB. Upload local files first. Views must depict the same object; use consistent lighting. Multiview creates one model jointly from the images, not one model per image.
|
|
84
|
+
|
|
85
|
+
- **Single image:** `input` is a string URL, file token or successful upstream `text_to_image`/`image_to_image` task ID. It does not accept view objects or a local file path.
|
|
86
|
+
- **Named multiview:** 2–4 objects, each containing exactly one unique `front`, `left`, `back` or `right` key. Require `front` and another view. Values accept strings, `{"url":"https://example.com/front.png"}`, `{"file_token":"file_front"}` or `{"object":{"bucket":"images","key":"front.png"}}`.
|
|
87
|
+
- **Positional multiview:** exactly four strings in `[front,left,back,right]` order. Keep `""` for missing views; require front and at least one other view.
|
|
88
|
+
- **Task multiview:** exactly `[{"task_id":"task_upstream_multiview_image"}]` from successful upstream `generate_multiview_image`/`edit_multiview_image`. Do not mix with other forms.
|
|
89
|
+
- **Compatibility URL:** `image_url` takes one public URL or four comma-separated positional slots; two or three unlabelled URLs are rejected.
|
|
90
|
+
|
|
91
|
+
Upstream image IDs are not gateway model IDs; see the shared identifier rules in the tool reference.
|
|
92
|
+
|
|
93
|
+
## Examples
|
|
94
|
+
|
|
95
|
+
### evomeme_text_to_mesh — H precision
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{"prompt":"Detailed carved stone guardian, full body in T-pose","model_version":"v3.1-20260211","geometry_quality":"detailed","texture_quality":"fast","texture_version":"v3.5-20260815"}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### evomeme_text_to_mesh — P smart mesh
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{"prompt":"Low-poly wooden chair","model_version":"P2-20260801","face_limit":3000,"model_seed":0}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### evomeme_image_to_mesh — single image
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{"input":"https://example.com/front.png","model_version":"v3.1-20260211","enable_image_autofix":false}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### evomeme_image_to_mesh — named multiview
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{"inputs":[{"front":"https://example.com/front.png"},{"back":"https://example.com/back.png"}],"model_version":"P2-20260801","quad":true}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### evomeme_image_to_mesh — positional multiview
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{"inputs":["https://example.com/front.png","","https://example.com/back.png",""],"model_version":"v3.1-20260211"}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### evomeme_text_to_mesh — separate parts
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{"prompt":"An oak tree with separable trunk and crown","model_version":"v3.1-20260211","texture":false,"pbr":false,"generate_parts":true}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
For P1, omit `quad` and use P1 face limits. For H2.5, remove every unsupported field. Parts output follows the shared readiness rules; keep all returned part links and inspect the actual primary file.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# 2D To 3D Pairing (local image generator skill removed)
|
|
2
|
+
|
|
3
|
+
Use a strong 2D input when it improves `game-asset-mesh-generator` output or when the final asset is 2D rather than 3D.
|
|
4
|
+
|
|
5
|
+
**Sources for 2D references:**
|
|
6
|
+
|
|
7
|
+
- User-supplied PNG/JPG/WebP uploaded via `evomeme_upload_game_asset` → public URL → MCP `evomeme_image_to_mesh`
|
|
8
|
+
- Local MCP `evomeme_generate_game_image` for remote image generation (`model`: `asset-max`, `asset-pro`, `asset-lite`).
|
|
9
|
+
- Procedural/CSS/canvas UI art exported to disk, then published via `evomeme_upload_game_asset`
|
|
10
|
+
|
|
11
|
+
Do **not** load removed local `threejs-image-generator` or require `GEMINI_API_KEY`.
|
|
12
|
+
|
|
13
|
+
## 2D To 3D Reference Images
|
|
14
|
+
|
|
15
|
+
Generate or obtain clean reference images before image-to-3D for:
|
|
16
|
+
|
|
17
|
+
- Characters: full-body T-pose or A-pose, neutral expression, visible hands/feet, no cropped limbs.
|
|
18
|
+
- Creatures: side/front silhouettes, clear limb count, readable anatomy.
|
|
19
|
+
- Vehicles: front/side/three-quarter concepts, clear wheels/thrusters/wings, material zones.
|
|
20
|
+
- Buildings: front elevation, roof silhouette, doors/windows, scale cues.
|
|
21
|
+
- Weapons/tools: side view, readable handle/blade/barrel proportions, material callouts.
|
|
22
|
+
- Props/pickups: centered object, plain background, strong silhouette, no text baked in unless wanted.
|
|
23
|
+
- Terrain/world modules: tileable rocks, cliffs, rails, gates, arena pieces, modular set dressing.
|
|
24
|
+
|
|
25
|
+
For prompt wording (image-to-3D reference, riggable character/creature, texture/material, logo/icon/UI, sky/background), adapt the asset brief in the active card or AAA/UI skill references — there is no separate image-generator SKILL.md in this plugin.
|
|
26
|
+
|
|
27
|
+
## Texture And Material References
|
|
28
|
+
|
|
29
|
+
Obtain 2D references via procedural canvas textures, user art, or remote MCP when you need:
|
|
30
|
+
|
|
31
|
+
- Terrain albedo references: rock, sand, mud, snow, moss, cracked asphalt.
|
|
32
|
+
- Sci-fi trim sheets, panel lines, decals, hazard stripes, window bands.
|
|
33
|
+
- Metal, leather, fabric, glass, ceramic, wood, painted plastic, worn armor.
|
|
34
|
+
- Sky, clouds, nebula, city haze, horizon plates, menu backgrounds.
|
|
35
|
+
- Faction marks, logos, numbers, signs, pickup icons, hazard labels.
|
|
36
|
+
|
|
37
|
+
## UI And Logo Use Cases
|
|
38
|
+
|
|
39
|
+
Handle as 2D assets directly (not 3D generation) when appropriate:
|
|
40
|
+
|
|
41
|
+
- Logos and faction marks.
|
|
42
|
+
- HUD icons, item icons, ability icons, pickup symbols.
|
|
43
|
+
- Menu backgrounds and loading illustrations.
|
|
44
|
+
- Button/icon textures, decals, title art, achievement badges.
|
|
45
|
+
- 2D sky/backdrop cards when a 3D model is unnecessary.
|
|
46
|
+
|
|
47
|
+
Prefer procedural/CSS/canvas UI from `game-ui` before external 2D sourcing.
|
|
48
|
+
|
|
49
|
+
## 3D Generator Handoff
|
|
50
|
+
|
|
51
|
+
After obtaining a 2D reference:
|
|
52
|
+
|
|
53
|
+
1. Save the image in the working project, usually `assets/concepts/`.
|
|
54
|
+
2. Publish it to a public https URL via `evomeme_upload_game_asset`, or use an already-public URL from remote image tools.
|
|
55
|
+
3. Call evomemeMCP `evomeme_image_to_mesh` with that `image_url` (never a local path).
|
|
56
|
+
4. For a rough single image, consider `enable_image_autofix=true`; omit this field for multiview.
|
|
57
|
+
5. Prefer `texture_alignment=original_image` when visual match matters; use `geometry` when structural accuracy matters.
|
|
58
|
+
6. Use the successful MCP result's `local_path` and final `asset_url`; follow [shared readiness and recovery rules](tool-reference.md). MCP handles polling and download.
|
|
59
|
+
|
|
60
|
+
## Avoid
|
|
61
|
+
|
|
62
|
+
- Crowded scene images for single-object 3D generation.
|
|
63
|
+
- Cropped limbs, hidden backs, extreme perspective, motion blur, or heavy depth of field.
|
|
64
|
+
- Tiny UI/logo text in 3D model textures unless text fidelity is noncritical.
|
|
65
|
+
- Using 3D generation for pure 2D UI assets.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Model processing and animation
|
|
2
|
+
|
|
3
|
+
Read only the selected operation below. Common task options, results, ID meanings and recovery are in [tool-reference.md](tool-reference.md). Examples are MCP arguments with illustrative IDs; substitute a real completed source.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- [Shared inputs](#shared-inputs)
|
|
8
|
+
- [Texture](#texture)
|
|
9
|
+
- [Stylize](#stylize)
|
|
10
|
+
- [Segment](#segment)
|
|
11
|
+
- [Complete](#complete)
|
|
12
|
+
- [Decimate](#decimate)
|
|
13
|
+
- [Convert](#convert)
|
|
14
|
+
- [Rig](#rig)
|
|
15
|
+
- [Retarget](#retarget)
|
|
16
|
+
|
|
17
|
+
## Shared inputs
|
|
18
|
+
|
|
19
|
+
| Parameter | Type | Use |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| `task_id` | string | Successful gateway public source-task ID. |
|
|
22
|
+
| `url` | string | Public HTTP(S) model URL. |
|
|
23
|
+
| `input` | string | Public model URL, uploaded file token or gateway public source-task ID. |
|
|
24
|
+
| `mesh_format` | string | Optional storage hint, default `glb`, for texture/stylize/segment/complete/decimate only. It does not convert the file. |
|
|
25
|
+
|
|
26
|
+
Select exactly one of `task_id`, `url`, `input`. **Complete and retarget accept only `task_id` or `input` containing the specific successful segment/rig public ID**; they do not accept URLs or file tokens. Other operations accept GLB/GLTF/FBX/OBJ/STL source models up to 150 MB; upload local files first.
|
|
27
|
+
|
|
28
|
+
Versions and defaults are operation-specific, independent of generation H/P versions. Omit unsupported fields entirely, including `false`. Preserve supported `false`/`0`. The parameter tables below exclude shared task/source options; use the actual returned format.
|
|
29
|
+
|
|
30
|
+
<a id="texture"></a>
|
|
31
|
+
|
|
32
|
+
## Texture — evomeme_texture_mesh
|
|
33
|
+
|
|
34
|
+
| Parameter | Type | Default and constraints |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| `model_version` | string | `v3.0-20250812`; also `v2.5-20250123`, `v3.5-20260815`. |
|
|
37
|
+
| `texture_prompt` | object or string | Optional guidance; forms below. A string is shorthand for text. |
|
|
38
|
+
| `pbr` | boolean | `true`; PBR materials. |
|
|
39
|
+
| `texture_seed` | integer | Random when omitted; `0` valid. |
|
|
40
|
+
| `texture_alignment` | string | `original_image` or `geometry`; default `original_image`. |
|
|
41
|
+
| `texture_quality` | string | `standard`; also `fast`, `detailed`, `extreme` (8K). Omit for v2.5. `fast` requires this operation's `model_version="v3.5-20260815"`. |
|
|
42
|
+
| `part_names` | string[] | Omit to texture all parts; use actual segment names. |
|
|
43
|
+
| `compress` | string | `geometry` for meshopt, omitted disables it; omit for v2.5. |
|
|
44
|
+
| `bake` | boolean | `true`; bake material effects. |
|
|
45
|
+
| `delight` | boolean | `true`; remove baked reference lighting, only read by v3.5. |
|
|
46
|
+
|
|
47
|
+
A `texture_prompt` object selects exactly one of `text`, `image`, `images`; `style_image` may accompany `text` only. Image values accept URL/file-token strings or one-key `url`/`file_token` objects. `images` has exactly four entries in front,left,back,right order; a style image should be at least 256×256. Guidance may reuse a generated model's references; provide guidance for imported models and re-supply image references when retexturing image-generated models. Do not pass generation-only geometry options.
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{"task_id":"task_public_model","texture_prompt":{"text":"Weathered oak bark and moss"},"model_version":"v3.5-20260815","texture_quality":"fast","texture_seed":0}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
<a id="stylize"></a>
|
|
54
|
+
|
|
55
|
+
## Stylize — evomeme_stylize_mesh
|
|
56
|
+
|
|
57
|
+
| Parameter | Type | Default and constraints |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| `style` | string | Required: `lego`, `voxel`, `voronoi`, `minecraft`. |
|
|
60
|
+
| `block_size` | integer | Optional positive integer; omission retains the provider default. |
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{"task_id":"task_public_model","style":"voxel","block_size":80}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
<a id="segment"></a>
|
|
67
|
+
|
|
68
|
+
## Segment — evomeme_segment_mesh
|
|
69
|
+
|
|
70
|
+
| Parameter | Type | Default and constraints |
|
|
71
|
+
| --- | --- | --- |
|
|
72
|
+
| `model_version` | string | `v1.0-20250506` for geometric segmentation; `v2.0-20260430` for semantic segmentation (Beta). |
|
|
73
|
+
| `segmentation_granularity` | string | v2 only: `simple`, `balanced` (default), `detailed`. |
|
|
74
|
+
| `split_by_connectivity` | boolean | v2 only, `true`. |
|
|
75
|
+
| `ref_image` | string | v2 only, optional reference URL/file token. |
|
|
76
|
+
|
|
77
|
+
Omit the last three fields for v1. When `ref_image` is supplied, the provider ignores `segmentation_granularity` and `split_by_connectivity`. Use part names from the actual result instead of guessing filenames or assuming a fixed nested part schema.
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{"task_id":"task_public_model","model_version":"v2.0-20260430","segmentation_granularity":"balanced","split_by_connectivity":false}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
<a id="complete"></a>
|
|
84
|
+
|
|
85
|
+
## Complete — evomeme_complete_mesh
|
|
86
|
+
|
|
87
|
+
| Parameter | Type | Default and constraints |
|
|
88
|
+
| --- | --- | --- |
|
|
89
|
+
| `model_version` | string | `v1.0-20250506`. |
|
|
90
|
+
| `part_names` | string[] | Omit to complete all parts; use actual segment names. |
|
|
91
|
+
| `completion_mode` | string | `ai_completion` synthesizes missing geometry; `quick_cap` seals holes. Default `ai_completion`. |
|
|
92
|
+
|
|
93
|
+
Source must be the successful `evomeme_segment_mesh` public task ID. A generation ID or ID from another kind of segmentation cannot substitute.
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{"task_id":"task_public_segment","completion_mode":"quick_cap"}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
<a id="decimate"></a>
|
|
100
|
+
|
|
101
|
+
## Decimate — evomeme_decimate_mesh
|
|
102
|
+
|
|
103
|
+
| Parameter | Type | Default and constraints |
|
|
104
|
+
| --- | --- | --- |
|
|
105
|
+
| `model_version` | string | `v2.0`; also `v1.0`, `v3.0`. v1 decimates; v2/v3 use smart retopology. |
|
|
106
|
+
| `face_limit` | integer | v1 required: triangles 1–2000000, quads 1–150000. v2/v3 adaptive when omitted: triangles 500–20000, quads 500–10000 when specified. |
|
|
107
|
+
| `quad` | boolean | `false`; supported by all three versions. |
|
|
108
|
+
| `smart_uv` | boolean | v3 only, `false`; UV unwrapping without an atlas preview. |
|
|
109
|
+
| `bake` | boolean | v2/v3 only, `true`; bake textures. |
|
|
110
|
+
| `part_names` | string[] | v2/v3 only; omit to process all parts. |
|
|
111
|
+
|
|
112
|
+
Omit `bake`/`part_names` for v1, and omit `smart_uv` entirely for v1/v2, including `false`.
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{"task_id":"task_public_model","model_version":"v3.0","face_limit":5000,"smart_uv":true,"bake":false}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
<a id="convert"></a>
|
|
119
|
+
|
|
120
|
+
## Convert — evomeme_convert_mesh
|
|
121
|
+
|
|
122
|
+
| Parameter | Type | Default and constraints |
|
|
123
|
+
| --- | --- | --- |
|
|
124
|
+
| `format` | string | `GLTF`; also `FBX`, `USDZ`, `OBJ`, `STL`, `3MF`. |
|
|
125
|
+
| `quad` | boolean | `false`; `true` forces FBX. |
|
|
126
|
+
| `face_limit` | integer or null | Omit/null preserves original faces, except quads default to 10000; explicit integer must be positive. |
|
|
127
|
+
| `force_symmetry` | boolean | `false`; enabling requires `quad=true`. |
|
|
128
|
+
| `flatten_bottom` | boolean | `false`; flatten the base. |
|
|
129
|
+
| `flatten_bottom_threshold` | number | `0.01`; nonnegative flattening depth. |
|
|
130
|
+
| `texture_size` | integer | `4096`; positive pixel size. |
|
|
131
|
+
| `texture_format` | string | `JPEG`; also `PNG`, `WEBP`, `BMP`, `DPX`, `HDR`, `OPEN_EXR`, `TARGA`, `TIFF`. |
|
|
132
|
+
| `bake` | boolean | `true`; bake material effects. |
|
|
133
|
+
| `pack_uv` | boolean | `false`; unified UV layout. |
|
|
134
|
+
| `export_vertex_colors` | boolean | `false`; enabling requires OBJ/GLTF and `quad=false`. |
|
|
135
|
+
| `pivot_to_center_bottom` | boolean | `false`; move the pivot to bottom center. |
|
|
136
|
+
| `scale_factor` | number | `1`; must be positive. |
|
|
137
|
+
| `with_animation` | boolean or null | Default `true`; preserve skeleton/animation. Null leaves it unspecified. |
|
|
138
|
+
| `animate_in_place` | boolean | `false`; remove root displacement. |
|
|
139
|
+
| `part_names` | string[] | Omit to export all parts. |
|
|
140
|
+
| `export_orientation` | string | `+x`; also `-x`, `+y`, `-y`. Apply final orientation here. |
|
|
141
|
+
| `fbx_preset` | string | `blender`; also `3dsmax`, `mixamo`, `bake_scale`. `bake_scale` bakes scale into FBX geometry. |
|
|
142
|
+
|
|
143
|
+
There is no `model_version` or `mesh_format` input for this tool. `format=GLTF` may return a package instead of a single GLB. Material and animation availability depends on the source and target format; OBJ does not carry animation and STL is for geometry printing. Follow the shared format/readiness rules.
|
|
144
|
+
|
|
145
|
+
```json
|
|
146
|
+
{"task_id":"task_public_model","format":"GLTF","pivot_to_center_bottom":true,"with_animation":true}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
<a id="rig"></a>
|
|
150
|
+
|
|
151
|
+
## Rig — evomeme_rig_mesh
|
|
152
|
+
|
|
153
|
+
| Parameter | Type | Default and constraints |
|
|
154
|
+
| --- | --- | --- |
|
|
155
|
+
| `rig_type` | string | `biped`; also `quadruped`, `hexapod`, `octopod`, `avian`, `serpentine`, `aquatic`. |
|
|
156
|
+
| `model_version` | string | Inferred: biped → `v1.0-20240301`; other body plans → `v2.5-20260210`. Explicit version wins; v1 supports bipeds only. |
|
|
157
|
+
| `spec` | string | `tripo` or `mixamo`; default `tripo`. Selects bone naming; prefer `tripo` for Tripo presets. |
|
|
158
|
+
| `out_format` | string | `glb` or `fbx`; default `glb`. Prefer GLB for animation. |
|
|
159
|
+
|
|
160
|
+
Select the body plan from the actual model and inspect its rig. v2.5 also has a distinct biped preset catalog. Use the returned rig public `task_id` for retarget, not the original source ID.
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
{"task_id":"task_public_model","rig_type":"quadruped","model_version":"v2.5-20260210","spec":"tripo","out_format":"glb"}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
<a id="retarget"></a>
|
|
167
|
+
|
|
168
|
+
## Retarget — evomeme_retarget_mesh
|
|
169
|
+
|
|
170
|
+
| Parameter | Type | Default and constraints |
|
|
171
|
+
| --- | --- | --- |
|
|
172
|
+
| `animation` | string | One complete `preset:` identifier; mutually exclusive with `animations`. |
|
|
173
|
+
| `animations` | string[] or string | Nonempty preset array; comma-separated string supported for compatibility. If both selection fields are omitted, the plugin selects walk using the rig hints below. |
|
|
174
|
+
| `out_format` | string | `glb` or `fbx`; default `glb`. |
|
|
175
|
+
| `bake_animation` | boolean | `true`; GLB only. |
|
|
176
|
+
| `export_with_geometry` | boolean | `true`; `false` creates animation for an existing matching skeleton. |
|
|
177
|
+
| `animate_in_place` | boolean | `false`; `true` removes root displacement. |
|
|
178
|
+
| `rig_type` | string | Body-plan values from rig above; default `biped`. Compatibility hint for omitted/comma-separated presets. |
|
|
179
|
+
| `model_version` | string | Inferred from `rig_type`, as above. Compatibility hint for preset mapping. |
|
|
180
|
+
|
|
181
|
+
Source must be a successful rig public ID. Prefer explicit complete preset names matching the rig: v1 bipeds use `preset:biped:*`, while v2.5 bipeds use names such as `preset:walk`. Explicit `animation` and array `animations` are passed through. Read [animation-presets.md](animation-presets.md); no avian preset is catalogued, so do not invent one.
|
|
182
|
+
|
|
183
|
+
Prefer `animate_in_place=false` and remove unwanted horizontal root motion in-engine when appropriate. An animation-only export needs the matching skeleton and is not a standalone visible character. Inspect returned clips before naming them; names and ordering are not guaranteed.
|
|
184
|
+
|
|
185
|
+
```json
|
|
186
|
+
{"task_id":"task_public_rig","animations":["preset:quadruped:walk"],"rig_type":"quadruped","model_version":"v2.5-20260210","out_format":"glb","animate_in_place":false}
|
|
187
|
+
```
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Three.js Integration
|
|
2
|
+
|
|
3
|
+
Use this after `game-asset-mesh-generator` generates or post-processes a model.
|
|
4
|
+
|
|
5
|
+
## Preferred Outputs
|
|
6
|
+
|
|
7
|
+
- Three.js runtime: prefer **GLB/PBR**. Generation defaults to `mesh_format=auto`; H quads produce FBX. Rig/retarget default to `out_format=glb`. Convert incompatible files before intake.
|
|
8
|
+
- Successful MCP calls return a downloaded `local_path` and final `asset_url`. Use the shared [result and readiness rules](tool-reference.md); raw HTTP pending URLs are not ready assets.
|
|
9
|
+
- Animation/game-engine interchange: use FBX only when explicitly required; otherwise keep GLB.
|
|
10
|
+
- Static web asset exchange: GLTF/GLB.
|
|
11
|
+
- 3D print only: STL or 3MF, not for textured game runtime.
|
|
12
|
+
- Apple AR: USDZ.
|
|
13
|
+
|
|
14
|
+
## Import Pattern
|
|
15
|
+
|
|
16
|
+
Before runtime integration, use the downloaded GLB at `local_path` and follow [game-asset-align](../../game-asset-align/SKILL.md). Remote generation/postprocessing remains MCP; local intake and engine delivery use CLI. The [CLI contract](../../game-asset-align/references/tool-contract.md) defines launcher/version selection, relative paths, JSON results, and confirmation gates.
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
npx -y evomeme@latest asset import "<downloaded.glb>" --id character --workspace "<workspace>" --source tripo --type character --json
|
|
20
|
+
npx -y evomeme@latest asset review character --workspace "<workspace>" --json
|
|
21
|
+
npx -y evomeme@latest stage --asset character --workspace "<workspace>" --target three_js --json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Use the actual source/type for the asset; the example is a Tripo character. Keep Stage running in a persistent terminal/session and give the user `data.url`. After the user views and confirms the current version, run this in another terminal with the same CLI version:
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
npx -y evomeme@latest asset sync character --workspace "<workspace>" --target three_js --project "<project>" --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Integrate through the synced canonical runtime described in [engine asset loading](../../threejs-3d-game/references/engine-asset-pipeline.md). Preserve the single alignment wrapper and reviewed appearance; a remote URL or a successful technical review alone does not authorize game import. Use the canonical loader's imported animation clips with the engine animation system.
|
|
31
|
+
|
|
32
|
+
Animation intake notes (engine-side; remote MCP exposes `evomeme_rig_mesh` / `evomeme_retarget_mesh`):
|
|
33
|
+
|
|
34
|
+
- Inspect the returned files and animation clips before assigning gameplay names. Generic `NlaTrack*` names may occur, but the API does not guarantee names, clip order, or one file per batch. Verify each motion before renaming it (`clip.name = 'walk'`); do not map presets by index without checking the actual clips.
|
|
35
|
+
- Log `gltf.animations.map(c => `${c.name} ${c.tracks.length} tracks`)` after load. A healthy humanoid clip drives many bones; clips with only a handful of tracks mean the upstream auto-rig was degenerate — fix the rig, not the runtime.
|
|
36
|
+
- Do NOT strip or neutralize twist-bone tracks (`UpperarmTwist`, `ForearmTwist`, …) on v1.0 rigs: Tripo skins most of the limb mesh to the twist bones, and their baked values differ greatly from the GLB rest pose — removing the tracks collapses the limbs into the torso. Tripo's slightly open, palm-forward hands are the preset house style, not corruption.
|
|
37
|
+
- Prefer converting to in-place at import rather than trusting upstream `animate_in_place`. Use `animate_in_place=false` on `evomeme_retarget_mesh` (the default), then strip root motion precisely:
|
|
38
|
+
- Touch ONLY the top root bone's position track (`Root.position`). Tripo FBX clips bake position tracks on EVERY bone with values that differ from FBXLoader's rest transforms; filtering Hip/Pelvis or pattern-matching broadly collapses the skeleton into a hunch.
|
|
39
|
+
- Zero the HORIZONTAL components only — keep Y. Vertical root motion IS the animation for jumps (and the bob in gaits); deleting the whole track turns a jump into grounded hand-waving.
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
for (const clip of clips) {
|
|
43
|
+
for (const tr of clip.tracks) {
|
|
44
|
+
if (tr.name !== 'Root.position') continue;
|
|
45
|
+
const v = tr.values, x0 = v[0], z0 = v[2];
|
|
46
|
+
for (let i = 0; i < v.length; i += 3) { v[i] = x0; v[i + 2] = z0; }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
FBX intake specifics (only if the user explicitly required `out_format=fbx`; default path is GLB):
|
|
52
|
+
|
|
53
|
+
- `FBXLoader` lives at `three/addons/loaders/FBXLoader.js` and imports `fflate`; bundler projects get it from npm automatically, but import-map/CDN pages must map it (e.g. `"fflate": "https://cdn.jsdelivr.net/npm/fflate@0.8.2/esm/browser.js"`).
|
|
54
|
+
- Use ONE FBX per animation (the pipeline does this automatically) and play each file's `animations[0]` as exported. The variant order of duplicate takes differs per file — `animations[0]` is always the correct one.
|
|
55
|
+
|
|
56
|
+
- `FBXLoader` emits each take twice under different node-path prefixes (`Armature.001|walk_…` and `Armature|Armature.001|walk_…`). Keep the variant with the SHALLOWER path (fewer `|` segments); the deep variant's tracks bind incorrectly.
|
|
57
|
+
- Clips carry real names (`walk_normal_m_remap`, `idle_251105_remap`) — select by keyword (slash arrives as an attack/swing name), not by index.
|
|
58
|
+
- Play the clips otherwise untouched. Every loader-side "fix" beyond the single root-position strip has been tested and makes things worse.
|
|
59
|
+
- FBXLoader produces Phong materials (darker than GLB PBR). For final art parity, convert FBX→GLB offline (Blender import/export or FBX2glTF) — the corrected animation survives conversion.
|
|
60
|
+
- Tripo preset retargeting only works on `spec=tripo` rigs. A `spec=mixamo` rig is for external animation pipelines (Mixamo clips, custom libraries) — retarget those in a DCC tool or at runtime with `SkeletonUtils.retargetClip`, and expect to supply bone-name mappings and check bind-pose orientation when skeleton conventions differ.
|
|
61
|
+
|
|
62
|
+
## Asset Intake Checklist
|
|
63
|
+
|
|
64
|
+
Inspect before shipping:
|
|
65
|
+
|
|
66
|
+
- File size.
|
|
67
|
+
- Triangle count.
|
|
68
|
+
- Mesh count.
|
|
69
|
+
- Material count.
|
|
70
|
+
- Texture count and texture dimensions.
|
|
71
|
+
- PBR material behavior under the game lighting rig.
|
|
72
|
+
- Scale in meters and `auto_size` assumptions.
|
|
73
|
+
- Pivot/origin and bounds.
|
|
74
|
+
- Collision proxy separate from detailed mesh.
|
|
75
|
+
- Animation clip names, durations, root motion, and in-place behavior.
|
|
76
|
+
- Mobile memory/performance impact.
|
|
77
|
+
|
|
78
|
+
## Game Asset Strategy
|
|
79
|
+
|
|
80
|
+
- Use `game-asset-mesh-generator` for hero assets, characters, creatures, bosses, buildings, weapons, signature props, and complex pickups.
|
|
81
|
+
- Use procedural Three.js kits for high-volume repeated detail such as bolts, windows, track plates, rails, debris, markers, and background silhouettes.
|
|
82
|
+
- For concept art, texture references, decals, logos, UI icons, and backdrop images: prefer procedural/CSS/canvas; use user-supplied images or remote MCP `evomeme_generate_game_image` when needed.
|
|
83
|
+
- Combine: 2D reference (user/remote/procedural) -> 3D-generator model -> canonical CLI intake, Stage confirmation and sync -> Three.js integration -> procedural set dressing -> visual scorecard.
|
|
84
|
+
|
|
85
|
+
## Performance Discipline
|
|
86
|
+
|
|
87
|
+
- Use `face_limit`, `smart_low_poly`, conversion, or low-poly postprocess for browser/mobile budgets.
|
|
88
|
+
- Prefer one high-fidelity hero asset plus instanced/procedural supporting detail over many unique heavy models.
|
|
89
|
+
- Keep textures compressed or reasonably sized.
|
|
90
|
+
- Clone carefully. Share geometry/materials when possible.
|
|
91
|
+
- Dispose loaded assets when leaving scenes.
|
|
92
|
+
- Run renderer diagnostics after importing: calls, triangles, geometries, textures, materials, file sizes.
|
|
93
|
+
|
|
94
|
+
## Common Fixes
|
|
95
|
+
|
|
96
|
+
- Model too large/small: return to `game-asset-align` to measure the canonical scale recipe, review, and sync again.
|
|
97
|
+
- Wrong orientation: update the canonical recipe through Stage or `asset align`, then review and sync again; do not add runtime compensation. Tripo image `orientation=align_image` can guide generation, but does not replace canonical review.
|
|
98
|
+
- Animations move out of place: keep exported root motion intact (`animate_in_place=false` on MCP), then strip only horizontal root-position components in code as shown above. Do not rely on MCP `animate_in_place=true` for final quality.
|
|
99
|
+
- Too expensive: lower `face_limit`, use `smart_low_poly` on H3 only, reduce texture quality/size, or convert with a face limit.
|
|
100
|
+
- Materials too dark/bright: check color space, tone mapping, environment, and light exposure.
|
|
101
|
+
- Collision too complex: build primitive proxies in Three.js and keep Tripo mesh visual-only.
|
|
102
|
+
|
|
103
|
+
## Final Evidence
|
|
104
|
+
|
|
105
|
+
Report:
|
|
106
|
+
|
|
107
|
+
- MCP tool names used (`evomeme_text_to_mesh`, `evomeme_rig_mesh`, `evomeme_retarget_mesh`, …).
|
|
108
|
+
- Gateway public `task_id` for each completed generation, rig and retarget stage, plus `job_id` and `local_task_id`.
|
|
109
|
+
- Each stage's downloaded `local_path`, final `asset_url`, actual `mesh_format` and import verification.
|
|
110
|
+
- Model version and generation/postprocess options (`rig_type`, `animations`, `out_format`, `animate_in_place`).
|
|
111
|
+
- Local CLI commands, canonical asset ID, Stage confirmation status, synced loader/import files, and any clip rename or root-motion strip.
|
|
112
|
+
- Renderer diagnostics before/after import.
|
|
113
|
+
- Screenshot evidence in active gameplay.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Mesh MCP tool reference
|
|
2
|
+
|
|
3
|
+
Shared calling contract for the ten local `evomemeMCP` Mesh tools. Read operation-specific parameters only when needed. Tool schemas and returned results are authoritative.
|
|
4
|
+
|
|
5
|
+
## Tool selection
|
|
6
|
+
|
|
7
|
+
| Tool | Use | Parameters |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| `evomeme_text_to_mesh` | Text to model | [Generation](generation-contracts.md) |
|
|
10
|
+
| `evomeme_image_to_mesh` | Single-image or multiview to one model | [Generation](generation-contracts.md) |
|
|
11
|
+
| `evomeme_texture_mesh` | Apply or replace textures | [Texture](postprocess-contracts.md#texture) |
|
|
12
|
+
| `evomeme_stylize_mesh` | Lego, voxel, voronoi or minecraft style | [Stylize](postprocess-contracts.md#stylize) |
|
|
13
|
+
| `evomeme_segment_mesh` | Split into parts | [Segment](postprocess-contracts.md#segment) |
|
|
14
|
+
| `evomeme_complete_mesh` | Complete segmented parts | [Complete](postprocess-contracts.md#complete) |
|
|
15
|
+
| `evomeme_decimate_mesh` | Reduce faces or retopologize | [Decimate](postprocess-contracts.md#decimate) |
|
|
16
|
+
| `evomeme_convert_mesh` | Convert format, scale, pivot or orientation | [Convert](postprocess-contracts.md#convert) |
|
|
17
|
+
| `evomeme_rig_mesh` | Add a skeleton | [Rig](postprocess-contracts.md#rig) |
|
|
18
|
+
| `evomeme_retarget_mesh` | Apply animation presets to a rig | [Retarget](postprocess-contracts.md#retarget) |
|
|
19
|
+
|
|
20
|
+
Local tasks submit through the authenticated plugin API, wait for remote publication and download the resulting file. Upstream credentials stay on the server. Do not call Tripo directly or infer service availability from local provider credentials. Local processing and game integration use their respective tools.
|
|
21
|
+
|
|
22
|
+
## Common task options
|
|
23
|
+
|
|
24
|
+
| Parameter | Type | Behavior |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| `workspace_dir` | string | Optional workspace path; defaults to the MCP working directory. Prefer an explicit absolute path when multiple workspaces are open. Files go to `assets/mesh/`. |
|
|
27
|
+
| `client_operation_id` | string | Optional operation identity, 1–140 ASCII letters, digits, `_` or `-`. Omission creates a new identity. The same workspace, tool, identity and parameters reuse the task; changing parameters under that identity is a conflict. Use distinct identities for distinct operations/stages. |
|
|
28
|
+
|
|
29
|
+
## Result and identifiers
|
|
30
|
+
|
|
31
|
+
Success is MCP text with named fields followed by `result: <JSON>`. Parse that JSON to retain nested data; it is not an HTTP response envelope. Success means the remote job completed and the primary file was downloaded and registered locally.
|
|
32
|
+
|
|
33
|
+
| Field | Meaning |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| `local_task_id` | Local root task identifier. Do not pass as a model source. |
|
|
36
|
+
| `client_operation_id` | Identity used to resume or reuse this operation. |
|
|
37
|
+
| `job_id` | Plugin-server job identifier. Do not pass as a model source. |
|
|
38
|
+
| `task_id` | Gateway public task ID for this operation; use the appropriate completed stage as a downstream source. |
|
|
39
|
+
| `role` | `model`, `rigged` or `animated`, according to the operation. |
|
|
40
|
+
| `local_path` | Downloaded primary file. |
|
|
41
|
+
| `asset_url` | Hosted primary file URL. |
|
|
42
|
+
| `mesh_format` | Actual downloaded format; archives remain archives. |
|
|
43
|
+
| `asset_id` | Registered workspace asset ID; also available as `result.id`. |
|
|
44
|
+
| `result` | Full object, including `status`, `operation`, `operation_id`, `mime_type`, `bytes` and `generation`. |
|
|
45
|
+
| `result.generation` | Remote receipt/result metadata: `output`, `metadata`, `generationParameters` and available progress/type/credit/timestamp fields. Preserve unknown nested output fields and URLs. |
|
|
46
|
+
|
|
47
|
+
Upstream **image** task IDs accepted by generation `input`/`inputs` belong to a different namespace from gateway **model** task IDs. Prefixes such as `task_` do not establish ownership or task type. Do not invent IDs or substitute local IDs.
|
|
48
|
+
|
|
49
|
+
## Readiness and chaining
|
|
50
|
+
|
|
51
|
+
- Use a successful non-`isError` result, its downloaded file, final URL and actual format. A URL string or a raw HTTP `pending=true` receipt alone is not completion evidence.
|
|
52
|
+
- The MCP task handles polling and downloading. Normal tool calls need no separate HTTP polling. Before engine use, verify the actual file imports successfully.
|
|
53
|
+
- Each operation downloads its own primary result. Retain every stage's file and URL when chaining.
|
|
54
|
+
- Retarget takes the successful **rig** `task_id`; complete takes the successful **segment** `task_id`. A generation ID or raw URL cannot replace these typed sources.
|
|
55
|
+
- Preserve all `result.generation.output` links. Only the primary `asset_url` is guaranteed to be plugin-hosted; other links may expire. A parts-only primary file may be one part or an archive, not an assembled model. Inspect available parts and clips instead of assuming names or ordering.
|
|
56
|
+
- Downloads preserve the actual bytes and format. Do not turn FBX/ZIP into GLB by renaming the file. Use conversion and appropriate import handling.
|
|
57
|
+
|
|
58
|
+
## Failure and recovery
|
|
59
|
+
|
|
60
|
+
1. Preserve MCP `isError` text and any `client_operation_id`, `local_task_id`, `job_id` and `stage` returned. A transport disconnect does not prove a remote task failed; the local worker may still be running.
|
|
61
|
+
2. For an interrupted query or download, repeat the same tool with the original workspace, `client_operation_id` and identical parameters. It waits for the existing task, resumes eligible interrupted work or returns a cached result without intentionally creating another generation.
|
|
62
|
+
3. An uncertain submission receipt (`NEEDS_ATTENTION`) requires inspection. Terminal generation failures are not automatically retried by reusing the identity. Do not issue a new identity merely to bypass either condition; a deliberate new generation is a new paid operation.
|
|
63
|
+
4. Authentication renewal is handled by the client. If login cannot recover, resolve the reported authentication issue before resuming the original task. Preserve provider/moderation failures; do not replace them with a different paid operation.
|
|
64
|
+
|
|
65
|
+
## Character composition
|
|
66
|
+
|
|
67
|
+
The internal `character_pipeline` task composes optional generation → rig → optional retarget. It records and downloads stages separately. MCP exposes only the atomic tools above; neither the pipeline nor rig-check is a callable MCP tool. Body-plan and preset rules are in [postprocessing](postprocess-contracts.md#rig) and [animation presets](animation-presets.md).
|