evomeme 0.1.9 → 0.1.10

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.
Files changed (405) hide show
  1. package/dist/canvas-public/app.js +509 -5999
  2. package/dist/canvas-public/assets/presets/catalog.json +47 -0
  3. package/dist/canvas-public/assets/presets/tiles/A_01_CaoDi.png +0 -0
  4. package/dist/canvas-public/assets/presets/tiles/A_02_ShaMo.png +0 -0
  5. package/dist/canvas-public/assets/presets/tiles/A_03_TianKong.png +0 -0
  6. package/dist/canvas-public/assets/presets/tiles/A_04_ShuiBo.png +0 -0
  7. package/dist/canvas-public/assets/presets/tiles/A_05_HaiMian.png +0 -0
  8. package/dist/canvas-public/assets/presets/tiles/A_06_MuDiBan.png +0 -0
  9. package/dist/canvas-public/assets/presets/tiles/A_07_ShiZhuan.png +0 -0
  10. package/dist/canvas-public/assets/presets/tiles/A_08_AnRongYan.png +0 -0
  11. package/dist/canvas-public/assets/presets/tiles/A_09_QingTaiShi.png +0 -0
  12. package/dist/canvas-public/assets/presets/tiles/A_10_ShenHai.png +0 -0
  13. package/dist/canvas-public/assets/presets/tiles/A_11_HuiYanShi.png +0 -0
  14. package/dist/canvas-public/assets/presets/tiles/A_12_HongTu.png +0 -0
  15. package/dist/canvas-public/assets/presets/tiles/A_13_GengDi.png +0 -0
  16. package/dist/canvas-public/assets/presets/tiles/A_14_HuoShanYan.png +0 -0
  17. package/dist/canvas-public/assets/presets/tiles/A_15_NiTu.png +0 -0
  18. package/dist/canvas-public/assets/presets/tiles/A_16_HuangSha.png +0 -0
  19. package/dist/canvas-public/assets/presets/tiles/A_17_CongLin.png +0 -0
  20. package/dist/canvas-public/assets/presets/tiles/A_18_ZiYanShi.png +0 -0
  21. package/dist/canvas-public/assets/presets/tiles/A_19_MoGuTu.png +0 -0
  22. package/dist/canvas-public/assets/presets/tiles/A_20_HuaDian.png +0 -0
  23. package/dist/canvas-public/assets/presets/tiles/A_21_HaiLang.png +0 -0
  24. package/dist/canvas-public/assets/presets/tiles/A_22_GanTu.png +0 -0
  25. package/dist/canvas-public/assets/presets/tiles/A_23_QingTaiShiBan.png +0 -0
  26. package/dist/canvas-public/assets/presets/tiles/A_24_XingKong.png +0 -0
  27. package/dist/canvas-public/assets/presets/tiles/A_25_MoFaFuWen.png +0 -0
  28. package/dist/canvas-public/assets/presets/tiles/A_26_ShiTuYeDi.png +0 -0
  29. package/dist/canvas-public/assets/presets/tiles/A_27_LanZhuan.png +0 -0
  30. package/dist/canvas-public/assets/presets/tiles/A_28_HongZhuan.png +0 -0
  31. package/dist/canvas-public/assets/presets/tiles/A_29_YueQiu.png +0 -0
  32. package/dist/canvas-public/assets/presets/tiles/A_30_JinShuGe.png +0 -0
  33. package/dist/canvas-public/assets/presets/tiles/A_31_JinShuJingGai.png +0 -0
  34. package/dist/canvas-public/assets/presets/tiles/A_32_ShuZiChuang.png +0 -0
  35. package/dist/canvas-public/canvas/actions.js +143 -0
  36. package/dist/canvas-public/canvas/camera.js +28 -0
  37. package/dist/canvas-public/canvas/chrome.js +13 -0
  38. package/dist/canvas-public/canvas/data.js +123 -0
  39. package/dist/canvas-public/canvas/dependencies.js +19 -0
  40. package/dist/canvas-public/canvas/interactions.js +544 -0
  41. package/dist/canvas-public/canvas/panel-resize.js +5 -0
  42. package/dist/canvas-public/canvas/renderer.js +297 -0
  43. package/dist/canvas-public/canvas/selection.js +62 -0
  44. package/dist/canvas-public/canvas/serialization.js +118 -0
  45. package/dist/canvas-public/canvas/sync.js +202 -0
  46. package/dist/canvas-public/core/api.js +27 -0
  47. package/dist/canvas-public/core/feature-registry.js +29 -0
  48. package/dist/canvas-public/core/feature-state.js +228 -0
  49. package/dist/canvas-public/core/layout.js +133 -0
  50. package/dist/canvas-public/core/operations.js +38 -0
  51. package/dist/canvas-public/core/project.js +203 -0
  52. package/dist/canvas-public/core/state.js +27 -0
  53. package/dist/canvas-public/dialogs/context-menu.js +118 -0
  54. package/dist/canvas-public/elements/base.js +100 -0
  55. package/dist/canvas-public/elements/connections.js +105 -0
  56. package/dist/canvas-public/elements/drag.js +53 -0
  57. package/dist/canvas-public/elements/image.js +259 -0
  58. package/dist/canvas-public/elements/loading-recovery.js +5 -0
  59. package/dist/canvas-public/elements/loading.js +21 -0
  60. package/dist/canvas-public/elements/map.js +64 -0
  61. package/dist/canvas-public/elements/registry.js +58 -0
  62. package/dist/canvas-public/elements/replacement.js +78 -0
  63. package/dist/canvas-public/elements/resize.js +210 -0
  64. package/dist/canvas-public/elements/task-pipeline.js +234 -0
  65. package/dist/canvas-public/elements/types.js +21 -0
  66. package/dist/canvas-public/elements/ui.js +14 -0
  67. package/dist/canvas-public/elements/video.js +64 -0
  68. package/dist/canvas-public/features/assets/local-assets.js +72 -0
  69. package/dist/canvas-public/features/assets/official-assets.js +538 -0
  70. package/dist/canvas-public/features/editing/canvas-size.js +532 -0
  71. package/dist/canvas-public/features/editing/color-key.js +469 -0
  72. package/dist/canvas-public/features/editing/cutout.js +20 -0
  73. package/dist/canvas-public/features/editing/interactive-image-editing.js +981 -0
  74. package/dist/canvas-public/features/editing/layer-decomposition.js +44 -0
  75. package/dist/canvas-public/features/editing/manual-split.js +114 -0
  76. package/dist/canvas-public/features/editing/perfect-pixel.js +336 -0
  77. package/dist/canvas-public/features/editing/scroll-preview.js +129 -0
  78. package/dist/canvas-public/features/editing/scroll-seam-elimination.js +71 -0
  79. package/dist/canvas-public/features/editing/seam-elimination.js +46 -0
  80. package/dist/canvas-public/features/editing/smart-split.js +48 -0
  81. package/dist/canvas-public/features/editing/source-preview.js +43 -0
  82. package/dist/canvas-public/features/editing/video-cycle.js +49 -0
  83. package/dist/canvas-public/features/editing/video-frames.js +35 -0
  84. package/dist/canvas-public/features/frame-editor/frame-editing.js +755 -0
  85. package/dist/canvas-public/features/frame-editor/frame-model.js +63 -0
  86. package/dist/canvas-public/features/frame-editor/playback.js +83 -0
  87. package/dist/canvas-public/features/frame-editor/preview.js +149 -0
  88. package/dist/canvas-public/features/generation/animation.js +272 -0
  89. package/dist/canvas-public/features/generation/asset-batch.js +102 -0
  90. package/dist/canvas-public/features/generation/direction.js +163 -0
  91. package/dist/canvas-public/features/generation/fields.js +73 -0
  92. package/dist/canvas-public/features/generation/game-ui.js +64 -0
  93. package/dist/canvas-public/features/generation/image.js +83 -0
  94. package/dist/canvas-public/features/generation/scroll-image.js +157 -0
  95. package/dist/canvas-public/features/generation/seamless-tile.js +52 -0
  96. package/dist/canvas-public/features/generation/tile-transition-atlas.js +79 -0
  97. package/dist/canvas-public/features/generation/video.js +105 -0
  98. package/dist/canvas-public/features/map/creation.js +73 -0
  99. package/dist/canvas-public/features/map/tile-map-editor.js +2518 -0
  100. package/dist/canvas-public/features/registry.js +59 -0
  101. package/dist/canvas-public/index.html +84 -259
  102. package/dist/canvas-public/inspector/controls.js +49 -0
  103. package/dist/canvas-public/inspector/frame-preview.js +11 -0
  104. package/dist/canvas-public/inspector/inspector.js +190 -0
  105. package/dist/canvas-public/inspector/media-inspector.js +517 -0
  106. package/dist/canvas-public/inspector/media-preview.js +56 -0
  107. package/dist/canvas-public/inspector/number-stepper.js +96 -0
  108. package/dist/canvas-public/inspector/resize.js +88 -0
  109. package/dist/canvas-public/inspector/scroll-preview.js +11 -0
  110. package/dist/canvas-public/inspector/ui-inspector.js +14 -0
  111. package/dist/canvas-public/language/en-US.js +1059 -0
  112. package/dist/canvas-public/language/index.js +79 -0
  113. package/dist/canvas-public/language/zh-CN.js +1059 -0
  114. package/dist/canvas-public/map/export.js +9 -0
  115. package/dist/canvas-public/map/inspector.js +8 -0
  116. package/dist/canvas-public/map/model.js +409 -0
  117. package/dist/canvas-public/map/tile-map-editor.js +2 -0
  118. package/dist/canvas-public/media/metadata.js +183 -0
  119. package/dist/canvas-public/media/support.js +183 -0
  120. package/dist/canvas-public/styles/base.css +49 -0
  121. package/dist/canvas-public/styles/canvas.css +127 -0
  122. package/dist/canvas-public/styles/controls.css +203 -0
  123. package/dist/canvas-public/styles/dialogs.css +521 -0
  124. package/dist/canvas-public/styles/feature-form.css +409 -0
  125. package/dist/canvas-public/styles/inspector.css +441 -0
  126. package/dist/canvas-public/styles/layout.css +344 -0
  127. package/dist/canvas-public/styles/map.css +11 -0
  128. package/dist/canvas-public/styles/nodes.css +636 -0
  129. package/dist/canvas-public/styles.css +9 -2247
  130. package/dist/canvas-public/ui/controls.js +222 -0
  131. package/dist/canvas-public/ui/elements.js +9 -0
  132. package/dist/canvas-public/ui/feature-controller.js +296 -0
  133. package/dist/canvas-public/ui/feature-form.js +401 -0
  134. package/dist/canvas-public/ui/settings.js +83 -0
  135. package/dist/canvas-public/ui/toolbar.js +55 -0
  136. package/dist/canvas-public/vendor/pixi-tilemap.js +126 -0
  137. package/dist/canvas-public/vendor/pixi.min.js +2340 -0
  138. package/dist/canvas-public/workers/color-key-worker.js +289 -0
  139. package/dist/canvas-public/workers/perfect-pixel-worker.js +510 -0
  140. package/dist/index.js +42236 -13382
  141. package/dist/skills/en-US/evomeme-canvas/SKILL.md +52 -0
  142. package/dist/skills/en-US/evomeme-canvas/agents/openai.yaml +7 -0
  143. package/dist/skills/en-US/evomeme-cloud-fs/SKILL.md +176 -0
  144. package/dist/skills/en-US/evomeme-cloud-fs/agents/openai.yaml +7 -0
  145. package/dist/skills/en-US/evomeme-cover/SKILL.md +132 -0
  146. package/dist/skills/en-US/evomeme-cover/agents/openai.yaml +7 -0
  147. package/dist/skills/en-US/evomeme-game-maker/SKILL.md +288 -0
  148. package/dist/skills/en-US/evomeme-game-maker/agents/openai.yaml +4 -0
  149. package/dist/skills/en-US/evomeme-login/SKILL.md +92 -0
  150. package/dist/skills/en-US/evomeme-login/agents/openai.yaml +7 -0
  151. package/dist/skills/en-US/evomeme-native-bridge-sdk/SKILL.md +286 -0
  152. package/dist/skills/en-US/evomeme-native-bridge-sdk/agents/openai.yaml +8 -0
  153. package/dist/skills/en-US/evomeme-tos-upload/SKILL.md +47 -0
  154. package/dist/skills/en-US/evomeme-tos-upload/agents/openai.yaml +5 -0
  155. package/dist/skills/en-US/evomeme-ui/SKILL.md +123 -0
  156. package/dist/skills/en-US/evomeme-ui/agents/openai.yaml +4 -0
  157. package/dist/skills/en-US/evomeme-ui/references/host-layout.md +69 -0
  158. package/dist/skills/en-US/game-art/SKILL.md +121 -0
  159. package/dist/skills/en-US/game-art/agents/openai.yaml +8 -0
  160. package/dist/skills/en-US/game-asset-align/SKILL.md +45 -0
  161. package/dist/skills/en-US/game-asset-align/agents/openai.yaml +8 -0
  162. package/dist/skills/en-US/game-asset-align/references/alignment-contract.md +61 -0
  163. package/dist/skills/en-US/game-asset-align/references/blender-scene-pipeline.md +45 -0
  164. package/dist/skills/en-US/game-asset-align/references/canonical-package.md +26 -0
  165. package/dist/skills/en-US/game-asset-align/references/engine-capabilities.md +14 -0
  166. package/dist/skills/en-US/game-asset-align/references/lightweight-review.md +32 -0
  167. package/dist/skills/en-US/game-asset-align/references/repair-policy.md +30 -0
  168. package/dist/skills/en-US/game-asset-align/references/tool-contract.md +39 -0
  169. package/dist/skills/en-US/game-asset-align/references/visual-review.md +26 -0
  170. package/dist/skills/en-US/game-asset-image-generator/SKILL.md +104 -0
  171. package/dist/skills/en-US/game-asset-image-generator/agents/openai.yaml +7 -0
  172. package/dist/skills/en-US/game-asset-image-generator/references/background.md +32 -0
  173. package/dist/skills/en-US/game-asset-image-generator/references/static-game-assets.md +38 -0
  174. package/dist/skills/en-US/game-audio/SKILL.md +82 -0
  175. package/dist/skills/en-US/game-audio/agents/openai.yaml +4 -0
  176. package/dist/skills/en-US/game-demo/SKILL.md +103 -0
  177. package/dist/skills/en-US/game-demo/agents/openai.yaml +7 -0
  178. package/dist/skills/en-US/game-maker/SKILL.md +111 -0
  179. package/dist/skills/en-US/game-maker/agents/openai.yaml +4 -0
  180. package/dist/skills/en-US/game-test/SKILL.md +58 -0
  181. package/dist/skills/en-US/game-test/agents/openai.yaml +7 -0
  182. package/dist/skills/en-US/game-ui/SKILL.md +177 -0
  183. package/dist/skills/en-US/game-ui/agents/openai.yaml +4 -0
  184. package/dist/skills/en-US/godot-3d-game/SKILL.md +39 -0
  185. package/dist/skills/en-US/godot-3d-game/agents/openai.yaml +8 -0
  186. package/dist/skills/en-US/godot-3d-game/references/alignment-gates.md +26 -0
  187. package/dist/skills/en-US/godot-3d-game/references/appearance-alignment.md +52 -0
  188. package/dist/skills/en-US/godot-3d-game/references/build-and-qa.md +22 -0
  189. package/dist/skills/en-US/godot-3d-game/references/canonical-asset-runtime.md +27 -0
  190. package/dist/skills/en-US/godot-3d-game/references/import-and-wrapper-scenes.md +20 -0
  191. package/dist/skills/en-US/godot-3d-game/references/physics-colliders.md +13 -0
  192. package/dist/skills/en-US/godot-3d-game/references/project-structure.md +22 -0
  193. package/dist/skills/en-US/godot-3d-game/references/skeleton-animation.md +16 -0
  194. package/dist/skills/en-US/phaser-2d-game/SKILL.md +127 -0
  195. package/dist/skills/en-US/phaser-2d-game/agents/openai.yaml +8 -0
  196. package/dist/skills/en-US/phaser-2d-game/references/engine-performance.md +64 -0
  197. package/dist/skills/en-US/phaser-2d-game/references/engine-physics.md +139 -0
  198. package/dist/skills/en-US/phaser-2d-game/references/engine-runtime.md +129 -0
  199. package/dist/skills/en-US/phaser-2d-game/references/engine-spritesheets.md +99 -0
  200. package/dist/skills/en-US/phaser-2d-game/references/engine-tilemaps.md +80 -0
  201. package/dist/skills/en-US/phaser-2d-game/references/file-structure.md +94 -0
  202. package/dist/skills/en-US/phaser-2d-graphics-builder/SKILL.md +68 -0
  203. package/dist/skills/en-US/phaser-2d-graphics-builder/agents/openai.yaml +7 -0
  204. package/dist/skills/en-US/threejs-3d-game/SKILL.md +117 -0
  205. package/dist/skills/en-US/threejs-3d-game/agents/openai.yaml +7 -0
  206. package/dist/skills/en-US/threejs-3d-game/references/engine-asset-pipeline.md +153 -0
  207. package/dist/skills/en-US/threejs-3d-game/references/engine-audio.md +70 -0
  208. package/dist/skills/en-US/threejs-3d-game/references/engine-input-camera.md +84 -0
  209. package/dist/skills/en-US/threejs-3d-game/references/engine-performance.md +96 -0
  210. package/dist/skills/en-US/threejs-3d-game/references/engine-physics.md +142 -0
  211. package/dist/skills/en-US/threejs-3d-game/references/engine-runtime.md +199 -0
  212. package/dist/skills/en-US/threejs-3d-game/references/file-structure.md +353 -0
  213. package/dist/skills/en-US/threejs-aaa-graphics-builder/SKILL.md +62 -0
  214. package/dist/skills/en-US/threejs-aaa-graphics-builder/agents/openai.yaml +7 -0
  215. package/{skills → dist/skills/zh-CN}/evomeme-cloud-fs/SKILL.md +4 -4
  216. package/{skills → dist/skills/zh-CN}/evomeme-cover/SKILL.md +1 -1
  217. package/{skills → dist/skills/zh-CN}/evomeme-game-maker/SKILL.md +91 -88
  218. package/{skills → dist/skills/zh-CN}/evomeme-tos-upload/SKILL.md +6 -5
  219. package/dist/skills/zh-CN/evomeme-ui/SKILL.md +123 -0
  220. package/dist/skills/zh-CN/evomeme-ui/agents/openai.yaml +4 -0
  221. package/dist/skills/zh-CN/evomeme-ui/references/host-layout.md +69 -0
  222. package/dist/skills/zh-CN/game-asset-align/SKILL.md +45 -0
  223. package/dist/skills/zh-CN/game-asset-align/agents/openai.yaml +8 -0
  224. package/dist/skills/zh-CN/game-asset-align/references/alignment-contract.md +61 -0
  225. package/dist/skills/zh-CN/game-asset-align/references/blender-scene-pipeline.md +45 -0
  226. package/dist/skills/zh-CN/game-asset-align/references/canonical-package.md +26 -0
  227. package/dist/skills/zh-CN/game-asset-align/references/engine-capabilities.md +14 -0
  228. package/dist/skills/zh-CN/game-asset-align/references/lightweight-review.md +32 -0
  229. package/dist/skills/zh-CN/game-asset-align/references/repair-policy.md +30 -0
  230. package/dist/skills/zh-CN/game-asset-align/references/tool-contract.md +39 -0
  231. package/dist/skills/zh-CN/game-asset-align/references/visual-review.md +26 -0
  232. package/{skills → dist/skills/zh-CN}/game-asset-image-generator/SKILL.md +1 -1
  233. package/dist/skills/zh-CN/game-audio/references/bgm-cdn.md +127 -0
  234. package/dist/skills/zh-CN/game-audio/references/sfx-cdn.md +77 -0
  235. package/dist/skills/zh-CN/game-test/references/checklists/playtest-qa.md +12 -0
  236. package/{skills → dist/skills/zh-CN}/game-ui/SKILL.md +9 -1
  237. package/dist/skills/zh-CN/game-ui/references/checklists/game-ui-quality.md +14 -0
  238. package/dist/skills/zh-CN/game-ui/references/checklists/hud-readability.md +12 -0
  239. package/dist/skills/zh-CN/game-ui/references/checklists/mobile-input.md +12 -0
  240. package/dist/skills/zh-CN/game-ui/references/checklists/responsive-ui-fit.md +12 -0
  241. package/dist/skills/zh-CN/game-ui/references/ui-patterns.md +140 -0
  242. package/dist/skills/zh-CN/game-ui/references/ui-prompt-templates.md +63 -0
  243. package/dist/skills/zh-CN/godot-3d-game/SKILL.md +39 -0
  244. package/dist/skills/zh-CN/godot-3d-game/agents/openai.yaml +8 -0
  245. package/dist/skills/zh-CN/godot-3d-game/references/alignment-gates.md +26 -0
  246. package/dist/skills/zh-CN/godot-3d-game/references/appearance-alignment.md +52 -0
  247. package/dist/skills/zh-CN/godot-3d-game/references/build-and-qa.md +22 -0
  248. package/dist/skills/zh-CN/godot-3d-game/references/canonical-asset-runtime.md +27 -0
  249. package/dist/skills/zh-CN/godot-3d-game/references/import-and-wrapper-scenes.md +20 -0
  250. package/dist/skills/zh-CN/godot-3d-game/references/physics-colliders.md +13 -0
  251. package/dist/skills/zh-CN/godot-3d-game/references/project-structure.md +22 -0
  252. package/dist/skills/zh-CN/godot-3d-game/references/skeleton-animation.md +16 -0
  253. package/dist/skills/zh-CN/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-1.jpeg +0 -0
  254. package/dist/skills/zh-CN/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-2.jpeg +0 -0
  255. package/dist/skills/zh-CN/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
  256. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/compose-quality.md +10 -0
  257. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/performance-safe-visual-detail.md +9 -0
  258. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/premium-game-quality-gate.md +15 -0
  259. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/sprite-quality.md +10 -0
  260. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/technical-art-quality.md +9 -0
  261. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/checklists/visual-scorecard.md +9 -0
  262. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/compose-recipes.md +71 -0
  263. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/graphics-prompt-templates.md +33 -0
  264. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/implementation-blueprint.md +82 -0
  265. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/sprite-recipes.md +90 -0
  266. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/technical-art.md +67 -0
  267. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/vfx-recipes.md +67 -0
  268. package/dist/skills/zh-CN/phaser-2d-graphics-builder/references/visual-scorecard.md +129 -0
  269. package/{skills → dist/skills/zh-CN}/threejs-3d-game/SKILL.md +6 -2
  270. package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-asset-pipeline.md +52 -15
  271. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-1.jpg +0 -0
  272. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-2.jpg +0 -0
  273. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
  274. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/aaa-game-quality-gate.md +23 -0
  275. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/aaa-visual-scorecard.md +19 -0
  276. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/material-lighting-quality.md +14 -0
  277. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/performance-safe-visual-detail.md +14 -0
  278. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/procedural-model-quality.md +15 -0
  279. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/checklists/technical-art-quality.md +17 -0
  280. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/graphics-prompt-templates.md +236 -0
  281. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/implementation-blueprint.md +161 -0
  282. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/model-recipes.md +146 -0
  283. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/render-recipes.md +90 -0
  284. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/shader-cookbook.md +292 -0
  285. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/technical-art.md +167 -0
  286. package/dist/skills/zh-CN/threejs-aaa-graphics-builder/references/visual-scorecard.md +147 -0
  287. package/dist/stage-blender/bake_materials.py +102 -0
  288. package/dist/stage-blender/export_scene.py +275 -0
  289. package/dist/stage-blender/preview_camera.py +90 -0
  290. package/dist/stage-blender/repair_mesh.py +112 -0
  291. package/dist/stage-public/app.js +759 -0
  292. package/dist/stage-public/baked/bakePilot.js +44 -0
  293. package/dist/stage-public/baked/bakedScene.js +129 -0
  294. package/dist/stage-public/baked/sceneAppearance.js +225 -0
  295. package/dist/stage-public/baked/sceneCamera.js +45 -0
  296. package/dist/stage-public/comparison-contract.js +28 -0
  297. package/dist/stage-public/delivery.html +4 -0
  298. package/dist/stage-public/delivery.js +17 -0
  299. package/dist/stage-public/godot/appearance.gd +170 -0
  300. package/dist/stage-public/godot/preview.gd +79 -0
  301. package/dist/stage-public/index.html +141 -0
  302. package/dist/stage-public/review-app.js +289 -0
  303. package/dist/stage-public/review-runtime.js +63 -0
  304. package/dist/stage-public/review.css +24 -0
  305. package/dist/stage-public/review.html +47 -0
  306. package/dist/stage-public/scene-runtime.js +212 -0
  307. package/dist/stage-public/sceneContractRuntime.js +235 -0
  308. package/dist/stage-public/styles.css +328 -0
  309. package/dist/stage-public/three-appearance.js +104 -0
  310. package/dist/stage-public/vendor/three170/LICENSE +21 -0
  311. package/dist/stage-public/vendor/three170/build/three.module.js +54571 -0
  312. package/dist/stage-public/vendor/three170/examples/jsm/controls/OrbitControls.js +1523 -0
  313. package/dist/stage-public/vendor/three170/examples/jsm/environments/RoomEnvironment.js +144 -0
  314. package/dist/stage-public/vendor/three170/examples/jsm/libs/fflate.module.js +2672 -0
  315. package/dist/stage-public/vendor/three170/examples/jsm/loaders/EXRLoader.js +2563 -0
  316. package/dist/stage-public/vendor/three170/examples/jsm/loaders/GLTFLoader.js +4727 -0
  317. package/dist/stage-public/vendor/three170/examples/jsm/utils/BufferGeometryUtils.js +1373 -0
  318. package/dist/tile-transition-mask.svg +40 -0
  319. package/package.json +21 -7
  320. package/dist/canvas-public/cycle-detect.js +0 -166
  321. package/dist/canvas-public/smart-split.js +0 -185
  322. /package/{skills → dist/skills/en-US}/game-audio/references/bgm-cdn.md +0 -0
  323. /package/{skills → dist/skills/en-US}/game-audio/references/sfx-cdn.md +0 -0
  324. /package/{skills → dist/skills/en-US}/game-test/references/checklists/playtest-qa.md +0 -0
  325. /package/{skills → dist/skills/en-US}/game-ui/references/checklists/game-ui-quality.md +0 -0
  326. /package/{skills → dist/skills/en-US}/game-ui/references/checklists/hud-readability.md +0 -0
  327. /package/{skills → dist/skills/en-US}/game-ui/references/checklists/mobile-input.md +0 -0
  328. /package/{skills → dist/skills/en-US}/game-ui/references/checklists/responsive-ui-fit.md +0 -0
  329. /package/{skills → dist/skills/en-US}/game-ui/references/ui-patterns.md +0 -0
  330. /package/{skills → dist/skills/en-US}/game-ui/references/ui-prompt-templates.md +0 -0
  331. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-1.jpeg +0 -0
  332. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-2.jpeg +0 -0
  333. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
  334. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/compose-quality.md +0 -0
  335. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/performance-safe-visual-detail.md +0 -0
  336. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/premium-game-quality-gate.md +0 -0
  337. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/sprite-quality.md +0 -0
  338. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/technical-art-quality.md +0 -0
  339. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/checklists/visual-scorecard.md +0 -0
  340. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/compose-recipes.md +0 -0
  341. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/graphics-prompt-templates.md +0 -0
  342. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/implementation-blueprint.md +0 -0
  343. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/sprite-recipes.md +0 -0
  344. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/technical-art.md +0 -0
  345. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/vfx-recipes.md +0 -0
  346. /package/{skills → dist/skills/en-US}/phaser-2d-graphics-builder/references/visual-scorecard.md +0 -0
  347. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-1.jpg +0 -0
  348. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-2.jpg +0 -0
  349. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/assets/scorecard-anchors/scene-3.jpg +0 -0
  350. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/aaa-game-quality-gate.md +0 -0
  351. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/aaa-visual-scorecard.md +0 -0
  352. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/material-lighting-quality.md +0 -0
  353. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/performance-safe-visual-detail.md +0 -0
  354. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/procedural-model-quality.md +0 -0
  355. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/checklists/technical-art-quality.md +0 -0
  356. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/graphics-prompt-templates.md +0 -0
  357. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/implementation-blueprint.md +0 -0
  358. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/model-recipes.md +0 -0
  359. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/render-recipes.md +0 -0
  360. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/shader-cookbook.md +0 -0
  361. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/technical-art.md +0 -0
  362. /package/{skills → dist/skills/en-US}/threejs-aaa-graphics-builder/references/visual-scorecard.md +0 -0
  363. /package/{skills → dist/skills/zh-CN}/evomeme-canvas/SKILL.md +0 -0
  364. /package/{skills → dist/skills/zh-CN}/evomeme-canvas/agents/openai.yaml +0 -0
  365. /package/{skills → dist/skills/zh-CN}/evomeme-cloud-fs/agents/openai.yaml +0 -0
  366. /package/{skills → dist/skills/zh-CN}/evomeme-cover/agents/openai.yaml +0 -0
  367. /package/{skills → dist/skills/zh-CN}/evomeme-game-maker/agents/openai.yaml +0 -0
  368. /package/{skills → dist/skills/zh-CN}/evomeme-login/SKILL.md +0 -0
  369. /package/{skills → dist/skills/zh-CN}/evomeme-login/agents/openai.yaml +0 -0
  370. /package/{skills → dist/skills/zh-CN}/evomeme-native-bridge-sdk/SKILL.md +0 -0
  371. /package/{skills → dist/skills/zh-CN}/evomeme-native-bridge-sdk/agents/openai.yaml +0 -0
  372. /package/{skills → dist/skills/zh-CN}/evomeme-tos-upload/agents/openai.yaml +0 -0
  373. /package/{skills → dist/skills/zh-CN}/game-art/SKILL.md +0 -0
  374. /package/{skills → dist/skills/zh-CN}/game-art/agents/openai.yaml +0 -0
  375. /package/{skills → dist/skills/zh-CN}/game-asset-image-generator/agents/openai.yaml +0 -0
  376. /package/{skills → dist/skills/zh-CN}/game-asset-image-generator/references/background.md +0 -0
  377. /package/{skills → dist/skills/zh-CN}/game-asset-image-generator/references/static-game-assets.md +0 -0
  378. /package/{skills → dist/skills/zh-CN}/game-audio/SKILL.md +0 -0
  379. /package/{skills → dist/skills/zh-CN}/game-audio/agents/openai.yaml +0 -0
  380. /package/{skills → dist/skills/zh-CN}/game-demo/SKILL.md +0 -0
  381. /package/{skills → dist/skills/zh-CN}/game-demo/agents/openai.yaml +0 -0
  382. /package/{skills → dist/skills/zh-CN}/game-maker/SKILL.md +0 -0
  383. /package/{skills → dist/skills/zh-CN}/game-maker/agents/openai.yaml +0 -0
  384. /package/{skills → dist/skills/zh-CN}/game-test/SKILL.md +0 -0
  385. /package/{skills → dist/skills/zh-CN}/game-test/agents/openai.yaml +0 -0
  386. /package/{skills → dist/skills/zh-CN}/game-ui/agents/openai.yaml +0 -0
  387. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/SKILL.md +0 -0
  388. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/agents/openai.yaml +0 -0
  389. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-performance.md +0 -0
  390. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-physics.md +0 -0
  391. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-runtime.md +0 -0
  392. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-spritesheets.md +0 -0
  393. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/engine-tilemaps.md +0 -0
  394. /package/{skills → dist/skills/zh-CN}/phaser-2d-game/references/file-structure.md +0 -0
  395. /package/{skills → dist/skills/zh-CN}/phaser-2d-graphics-builder/SKILL.md +0 -0
  396. /package/{skills → dist/skills/zh-CN}/phaser-2d-graphics-builder/agents/openai.yaml +0 -0
  397. /package/{skills → dist/skills/zh-CN}/threejs-3d-game/agents/openai.yaml +0 -0
  398. /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-audio.md +0 -0
  399. /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-input-camera.md +0 -0
  400. /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-performance.md +0 -0
  401. /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-physics.md +0 -0
  402. /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/engine-runtime.md +0 -0
  403. /package/{skills → dist/skills/zh-CN}/threejs-3d-game/references/file-structure.md +0 -0
  404. /package/{skills → dist/skills/zh-CN}/threejs-aaa-graphics-builder/SKILL.md +0 -0
  405. /package/{skills → dist/skills/zh-CN}/threejs-aaa-graphics-builder/agents/openai.yaml +0 -0
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: game-art
3
+ description: "Determine and produce game art in phases: in the first phase, confirm the overall style and deliver game prototype concept art and an element design set; in the second phase, deliver a brief asset requirements list based on the design document and design sheets; in the third phase, deliver a technical art requirements list for rendering, lighting, animation, materials, effects, performance presentation, and similar needs for a 2D or 3D game; in the fourth phase, call available tools item by item according to the developer's selections to generate game assets. Use when game art direction needs to be determined, concept art or design sheets need to be made, assets need to be inventoried, technical art requirements need to be planned, or final game assets need to be generated."
4
+ ---
5
+
6
+ # Game Art
7
+
8
+ ## Goal
9
+
10
+ Deliver game art outputs in phases: first determine the visual direction, then organize asset requirements and technical art requirements, and finally generate final assets according to the developer's selections.
11
+
12
+ ## Establish Context
13
+
14
+ Read the game concept, game design document, existing art materials, and reference images provided by the developer. Understand the gameplay, worldview, target platform, aspect ratio, camera perspective, main interfaces, game elements, and the actual use of assets in the game.
15
+
16
+ Use already confirmed information as the design basis, and confirm key choices that will affect the overall visual direction with the developer.
17
+
18
+ ## Image Generation Confirmation
19
+
20
+ Before generating game prototype concept art, element design sheets, final assets, or any other images, first explain to the user the images to be generated in this round, the quantity, and the visual direction, and call the image generation tool only after obtaining the user's explicit consent. Reconfirm when the generation scope changes.
21
+
22
+ After each round of game prototype concept art or element design sheets is generated and shown, the current process must stop immediately and wait for user feedback. Subsequent adjustments, the next round of images, and generation of the asset requirements list, technical art requirements list, or final assets all begin only after explicit user feedback or confirmation is received.
23
+
24
+ ### Parallel Generation Principles
25
+
26
+ After obtaining the user's explicit consent for the generation scope in this round, use asynchronous MCP calls as much as possible to generate the same batch of mutually independent image assets in parallel; do not wait for one image to finish before starting the next one. First fix the asset ID, prompt, reference image, and output requirements for each call, then start the tasks simultaneously, and after results return, archive and display them by asset ID to shorten the waiting time for the whole batch of assets.
27
+
28
+ Execute serially only when there is a real dependency, such as when a later item must reference the generation result of an earlier item, cutout must wait for the original image, or the next round must first obtain the user's feedback on the current result. Parallelization must not bypass the image generation confirmation requirements in this section, and must not confuse the correspondence between assets and returned results.
29
+
30
+ ## Phase 1: Art Style and Concept Design
31
+
32
+ ### 1. Determine the Overall Art Style
33
+
34
+ Determine the game's overall visual direction together with the developer, including:
35
+
36
+ - art style and subject matter;
37
+ - color, lighting, and visual atmosphere;
38
+ - shapes, linework, materials, and detail density;
39
+ - proportion relationships between characters and environments;
40
+ - camera perspective, perspective method, and composition;
41
+ - a unified visual language across different interfaces and game elements.
42
+
43
+ When the visual direction still has multiple possibilities, organize a small number of candidate directions with clear differences, explain each one's visual characteristics, and let the developer choose.
44
+
45
+ ### 2. Generate Game Prototype Concept Art
46
+
47
+ Select game interfaces that can represent the main experience and visual changes, such as the start screen, core gameplay screen, key scenes, pause screen, or results screen. After obtaining the user's explicit consent, call the image generation tools available in the current environment to generate game prototype concept art for different interfaces and show it to the developer.
48
+
49
+ Concept art presents an overall image close to the finished game, and is used to determine the relationships among composition, color, lighting, scene, characters, UI, and atmosphere. Adjust the concept art according to developer feedback until the overall art direction is confirmed.
50
+
51
+ ### 3. Generate Game Element Design Sheets
52
+
53
+ Based on the design document and confirmed concept art, identify the characters, enemies, props, buildings, vehicles, mechanisms, environmental objects, and other game elements in the game. After obtaining the user's explicit consent, call the available image generation tools to generate three-view design sheets showing the front, side, and back of each element.
54
+
55
+ Design sheets use a clear, unified presentation background and accurately show the element's silhouette, proportions, structure, colors, materials, and key details. Elements with different forms, equipment, or growth stages should show their corresponding variants separately.
56
+
57
+ In subsequent design sheets, continue referencing the confirmed concept art and design sheets so different elements maintain the same art style. Use images confirmed by the developer as visual references when generating final assets.
58
+
59
+ This phase delivers the confirmed game prototype concept art, game element design set, and overall art direction.
60
+
61
+ ## Phase 2: Asset Requirements List
62
+
63
+ Before generating final assets, list all identifiable asset requirements based on the game design document, prototype concept art, and element design sheets. The asset list should cover the visual content actually used by the game, and expand concrete types according to gameplay, for example:
64
+
65
+ - game background images;
66
+ - independently movable multilayer parallax background images;
67
+ - game maps;
68
+ - tiles used by tile maps;
69
+ - static game element images such as characters, objects, props, and environmental decorations;
70
+ - sequence-frame animations for dynamic elements such as characters, enemies, and mechanisms;
71
+ - effects, icons, and other visual assets needed by gameplay;
72
+ - static 3D models;
73
+ - dynamic 3D models with skeletons and animations.
74
+
75
+ For dynamic elements, separately list idle, movement, attack, hit, death, or other motion states actually needed by gameplay. Each state is an independent asset item.
76
+
77
+ The asset list keeps only the information needed to identify assets. Assign a stable ID to each asset, and write its type and name; add action state, direction, or variant only when needed to distinguish assets.
78
+
79
+ ```markdown
80
+ # Game Asset List
81
+
82
+ - [ ] ART001 [<type>] <asset name>
83
+ - [ ] ART002 [<type>] <asset name> (<action state, direction, or variant>)
84
+ ```
85
+
86
+ This phase delivers the asset list and has the developer confirm which assets need to be generated.
87
+
88
+ ## Phase 3: Technical Art Requirements List
89
+
90
+ Based on the target engine, technology stack, runtime platform, visual target, and the already confirmed concept art and design sheets, organize the technical art requirements needed for a 2D or 3D game to achieve the target art effects.
91
+
92
+ The requirements list is determined according to the game's actual presentation and may include:
93
+
94
+ - sequence frames, skeletal animation, UI transitions, and feedback animations;
95
+ - layers, masks, blend modes, cameras, and parallax presentation;
96
+ - render pipeline, color space, resolution, pixel density, and anti-aliasing;
97
+ - realtime lighting, baked lighting, shadows, ambient light, reflections, and fog effects;
98
+ - material system, shaders, surface presentation, and special material effects;
99
+ - tone mapping, bloom, depth of field, ambient occlusion, and other post-processing effects;
100
+ - particles, trails, decals, and other realtime visual effects;
101
+ - model polygon count, texture size, texture channels, compression, LOD, and lightmaps;
102
+ - frame rate, video memory, batches, and visual quality tiers on the target platform.
103
+
104
+ The technical art list keeps only ID, type, requirement name, and target effect. Key engine, platform, or performance constraints are added only when they affect the implementation method.
105
+
106
+ Output the requirements list in the following format:
107
+
108
+ ```markdown
109
+ # Technical Art Requirements List
110
+
111
+ - TA001 [<animation / rendering / lighting / material / post-processing / effects / performance>] <requirement name>: <target effect>
112
+ - TA002 [<type>] <requirement name>: <target effect> (<necessary constraints>)
113
+ ```
114
+
115
+ Assign stable IDs to technical art requirements. This phase delivers the technical art requirements list and has the developer confirm it.
116
+
117
+ ## Phase 4: Generate Assets Item by Item
118
+
119
+ According to the items selected by the developer from the asset list, after obtaining the user's explicit consent, call the generation or image editing tools suitable in the current environment to generate assets. For the same batch of mutually independent items, prefer asynchronous MCP parallel calls; items with reference image, cutout, or confirmation dependencies should be executed in dependency order. During generation, reference the confirmed concept art, element design sheets, and related technical art requirements, and determine aspect ratio, size, transparent background, perspective, layering method, and frame layout according to the asset's use in the game.
120
+
121
+ After each asset is completed, directly show the generated result, mark the corresponding asset ID, and continue adjusting or generating the next item according to developer feedback. Completed assets are marked with `[x]` in the asset list.
@@ -0,0 +1,8 @@
1
+ interface:
2
+ display_name: "Game Art"
3
+ short_description: "Determine the game art style in phases, organize asset and technical art requirements, and generate final assets"
4
+ default_prompt: "Please use $game-art to help me determine the overall art direction for the game, first confirm the image generation plan with me, and stop after each round of concept art or design sheet generation to wait for my feedback."
5
+
6
+ policy:
7
+ allow_implicit_invocation: true
8
+
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: game-asset-align
3
+ description: Maintain 3D canonical asset alignment among Three.js, Godot, and Blender. Whenever Tripo/generated model intake, orientation/scale/pivot repair, visual and semantic checks, cross-engine import inconsistencies, asset repair status, or ongoing acceptance are involved, this skill must be used first.
4
+ ---
5
+
6
+ # Game Asset Align
7
+
8
+ ## Ownership
9
+
10
+ This skill owns the scene export contract and the asset alignment and repair lifecycle. `godot-3d-game` and `threejs-3d-game` consume the package confirmed for the current target; Blender provides the modeling source scene, and the exporter is responsible for generating verifiable snapshots.
11
+
12
+ Only Three.js, Godot 4, and Blender within the current plugin scope are supported. Do not add Unity or Unreal branches.
13
+
14
+ ## Required workflow
15
+
16
+ 1. Save a complete Blender scene as `.blend` first, then call `evomeme_scene_export_blender` to automatically generate a source snapshot, GLB, camera reference images, and scene contract; see [Blender scene modeling and export](references/blender-scene-pipeline.md) for the flow. Existing standalone GLB/GLTF files are ingested with `evomeme_asset_package_create`.
17
+ 2. **After Blender modeling or modification, the Stage board must be opened first, and the next engine-import step is allowed only after the user confirms the current version.** Call `evomeme_asset_review` to check format and dependencies, then call `evomeme_stage_open({workspace_dir, asset_id, target})`. `target` is `three_js` or `godot`. View Blender and the target engine's native image from the same camera position, and check space, structure, materials, and lighting.
18
+ 3. When geometry needs to be changed, call `evomeme_asset_repair_blender`. Repair invalidates old recipes, so the package must return to the board for acceptance again.
19
+ 4. Only after the user clicks **"Confirm current version, allow import"** in Stage may export/sync/handoff be called. Tool returns indicating that the board has launched, the model loaded successfully, the format check passed, or `alignment.ready=true` cannot replace confirmation. Do not click on the user's behalf, fabricate view/confirmation records, bypass the gate with `verified_by=spec/user_board`, or manually copy assets into the engine. While waiting for confirmation, work that does not depend on import may continue.
20
+ 5. Only one alignment root node is allowed in the engine; adding rotation, scale, or position compensation again in gameplay, animation, or entity scripts is prohibited.
21
+
22
+ `asset.json` v1 can be read, but cannot enter the engine directly. After being saved again, it is upgraded to v2 repair status.
23
+
24
+ Both export and sync forcibly check confirmation for the current Stage version; Godot sync also requires the corresponding confirmation from the Godot native preview, and a Three.js image cannot replace it. After modifying the model, contract, textures, Godot profile, materials, lighting, or display implementation, Stage must be reopened, viewed, and confirmed; old handoff packages retain their original version. For Godot configuration and preview flow, see [Godot basic visual alignment](../godot-3d-game/references/appearance-alignment.md).
25
+
26
+ ## Routing references
27
+
28
+ - For current single-scene comparison and historical compatibility interface notes: read [lightweight-review.md](references/lightweight-review.md).
29
+ - For image-reference modeling, complete Blender scene export, and procedural material baking: read [blender-scene-pipeline.md](references/blender-scene-pipeline.md).
30
+ - When v2 fields, status derivation, or version invalidation need to be understood: read [alignment-contract.md](references/alignment-contract.md).
31
+ - When deciding whether to change metadata, wrapper, or Blender geometry: read [repair-policy.md](references/repair-policy.md).
32
+ - When judging "looks consistent" or saving acceptance evidence: read [visual-review.md](references/visual-review.md).
33
+ - When comparing what Three.js, Godot, and Blender can do: read [engine-capabilities.md](references/engine-capabilities.md).
34
+ - When creating, replacing, or migrating canonical packages: read [canonical-package.md](references/canonical-package.md).
35
+ - When choosing MCP tools, parameters, or handling gate errors: read [tool-contract.md](references/tool-contract.md).
36
+
37
+ ## Completion gates
38
+
39
+ - `asset.json` is `evomeme.canonical_asset.v2`.
40
+ - The current target engine has been shown in Stage, and the user confirmation record is for the current revision; only actual confirmation by the original task user allows import to continue.
41
+ - `alignment.overall_status` is `aligned`, and `alignment.ready` is `true`.
42
+ - The recipe binds the current `model.glb` SHA-256 and current intent revision, and includes translation, quaternion, and scale.
43
+ - The four items spatial, structural, semantic, and render are all `aligned` or explicitly justified `waived`.
44
+ - The current single viewport must not describe a loaded display as the visual contract fully passed. If the task separately requires export, continue verifying source, intent, recipe, and the unique wrapper, without compensating Transform in gameplay code.
45
+ - Visual conclusions come from target-engine screenshots or clearly labeled board approximations; do not pass off Blender/Three.js screenshots as Godot results.
@@ -0,0 +1,8 @@
1
+ interface:
2
+ display_name: "Game Asset Align"
3
+ short_description: "Maintain auditable alignment state for generated models across Three.js, Godot, and Blender"
4
+ default_prompt: "Please use $game-asset-align to inspect this 3D asset package, repair cross-engine orientation, scale, and visual-semantic deviations, and provide a sustainably maintainable acceptance state."
5
+
6
+ policy:
7
+ allow_implicit_invocation: true
8
+
@@ -0,0 +1,61 @@
1
+ # Alignment contract v2
2
+
3
+ ## Source of truth
4
+
5
+ `asset.json` keeps the v1 flat fields for UI compatibility, but `alignment` is authoritative for engine readiness.
6
+
7
+ ```json
8
+ {
9
+ "schema": "evomeme.canonical_asset.v2",
10
+ "forward_axis": "+z",
11
+ "up_axis": "+y",
12
+ "pivot": "ground_center",
13
+ "scale_hint_metres": 1.8,
14
+ "alignment": {
15
+ "schema": "evomeme.asset_alignment.v1",
16
+ "source": { "model_file": "model.glb", "sha256": "…", "bytes": 123 },
17
+ "recipe": {
18
+ "source_revision": "…",
19
+ "intent_revision": "…",
20
+ "translation_metres": [0, 0, 0],
21
+ "rotation_quaternion_xyzw": [0, 1, 0, 0],
22
+ "scale_xyz": [1, 1, 1],
23
+ "algorithm_version": "evomeme.stage.v2"
24
+ },
25
+ "conditions": {
26
+ "spatial": { "status": "aligned" },
27
+ "structural": { "status": "aligned" },
28
+ "semantic": { "status": "aligned" },
29
+ "render": { "status": "aligned" }
30
+ },
31
+ "overall_status": "aligned",
32
+ "ready": true,
33
+ "revisions": {
34
+ "source": "…",
35
+ "intent": "…",
36
+ "recipe": "…",
37
+ "alignment_key": "…"
38
+ }
39
+ }
40
+ }
41
+ ```
42
+
43
+ ## Four conditions
44
+
45
+ - `spatial`: position, pivot, grounding, facing, up-axis and size are correct.
46
+ - `structural`: hierarchy, mesh parts, skeleton, sockets and animation bindings remain usable.
47
+ - `semantic`: the object identity and functional details match the request.
48
+ - `render`: materials, visibility, normals, texture assignment and target-engine presentation are acceptable.
49
+
50
+ Allowed states are `aligned`, `needs_review`, `misaligned`, `stale`, and `waived`. A required aspect is ready only when `aligned` or explicitly `waived` with evidence.
51
+
52
+ ## Revision invariant
53
+
54
+ An accepted recipe must reference the current source SHA-256 and current intent revision. `alignment_key` binds source + intent + recipe. A model replacement, Blender geometry edit, or intent field change invalidates the prior key. Never copy an old key into a new package.
55
+
56
+ `ready` and `overall_status` are derived values. Export/sync recomputes the invariant and compares the current model bytes; editing `ready: true` by hand cannot bypass the gate.
57
+
58
+ ## v1 migration
59
+
60
+ v1 flat fields are parsed for inspection, then represented as `needs_review` with no accepted recipe. Open the Stage, inspect the actual model, and save to produce v2. Do not bulk-mark legacy assets ready without visual evidence.
61
+
@@ -0,0 +1,45 @@
1
+ # Blender Source Scene -> Stage -> Engine
2
+
3
+ ## Starting from Images
4
+
5
+ First read the image, and clarify the subject, proportions, materials, key light, and reference camera position. Model the back side and occluded areas not shown in a single image according to reasonable assumptions, and explain them on delivery. Prefer completing modeling through the currently available Blender MCP; this plugin provides export and acceptance flows, and does not bundle external Blender MCP installation or image-to-3D-model services. When there is no Blender MCP, if local Blender is available, Python modeling may be used; report a concrete blocker only when paths are missing or cannot be executed.
6
+
7
+ First build the space and camera, output low-cost references for iteration, then refine the model, materials, and lighting. After saving `.blend`, perform the following export. The source scene uses metric units, unit scale=1, and preserves the scene origin; the exporter performs the Blender Z-up to glTF Y-up conversion. Do not rotate the whole world again. Cycles/Eevee and perspective cameras are supported; non-unit camera scale and lens shift will error and must be handled first. External linked libraries and sequences/caches that cannot be packaged should be localized in Blender before export.
8
+
9
+ ## Unified Export Entry
10
+
11
+ ```json
12
+ {
13
+ "workspace_dir": "<absolute path to current workspace>",
14
+ "asset_id": "courtyard",
15
+ "source_blend_path": "<absolute path to the saved scene.blend>",
16
+ "camera_names": ["Reference", "MaterialDetail"],
17
+ "quality": "preview",
18
+ "width": 960,
19
+ "bake_materials": true,
20
+ "texture_size": 1024,
21
+ "godot_project_dir": "<absolute path to existing Godot project>"
22
+ }
23
+ ```
24
+
25
+ Pass the above parameters to `evomeme_scene_export_blender`. Camera names and the Godot project path may be omitted; when there is no camera, a reference camera position is created automatically and overview is completed. At most 6 specified perspective cameras are allowed. `width` is 320-1920; `texture_size` is 256/512/1024/2048. When no target project is specified, Godot defaults to Compatibility; `godot_renderer` may specify mobile/forward_plus/gl_compatibility; preview and sync projects must be consistent.
26
+
27
+ The exporter reads the saved source file in an isolated Blender process, disables automatic script execution, saves a self-contained source snapshot, and generates the GLB, per-camera Blender native reference images, source feature manifest, and two target profiles. The original file is not modified; unsaved changes in active Blender will not enter the export. Failure does not replace the current package. Use replace_existing:true to update the same scene; the old package is kept in the returned backup_dir, and the new version must be confirmed again.
28
+
29
+ preview uses fast sampling; final preserves the source scene sampling settings. Free-view native preview is still in fast mode and disables depth of field, and cannot be used to prove that the final offline render is fully identical.
30
+
31
+ ## Baking and Source Contract
32
+
33
+ bake_materials:true is optional, and only processes supported procedural surfaces directly connected to Principled BSDF; it generates base color, roughness, metallic, and tangent normal maps by object, and creates UVs when necessary. The source `.blend` keeps the original nodes; the exported model uses the baked version. Complex closures, mixed shaders, volumes, and indirect light are not automatically converted by this baking path. Keep the skipped reasons in the report, and do not describe partial object baking as completion of the entire material set.
34
+
35
+ `scene.contract.json.source_features` uses evomeme.source_scene_features.v1, recording node IDs, object/material associations, procedural nodes, unconverted nodes, baked channels/objects, volumes, world environment, and source render settings. IDs preferably reuse evomeme_node_id; when it is not set, they are derived from asset and object names. If stable IDs across renaming are needed, this property should be set in the source scene.
36
+
37
+ Standard PBR and lighting facts share one source contract. `runtime/three.profile.json` and `runtime/godot.profile.json` store engine overrides; re-export preserves existing overrides that match the schema, while uncovered lighting is derived from the new source facts. After modifying a profile, update the byte counts and SHA-256 values in contract.files.
38
+
39
+ Baked materials create an independent runtime material for each object; their exact names are recorded in source_features.materials[].runtime_materials. Use that material_name when setting engine material overrides. The unbaked version uses the actual material names inside the GLB.
40
+
41
+ ## Review and Delivery
42
+
43
+ Call `evomeme_stage_open` to select three_js/godot. The board displays mapped, baked, approximated, not yet implemented, and pending-verification items one by one, provides related camera positions, and offers "record repair request." Repair requests are written into the feedback record and require the agent to read and continue modifying; the button does not complete the repair by itself.
44
+
45
+ After the user views and confirms the current target-engine version, then call the corresponding sync. Three.js games use the generated loadReviewedScene and runtime.render, sharing the display implementation with Stage; Godot uses load_scene and the same native display adapter. After import is complete, re-verify in the actual project. visual_equivalence=not_evaluated in the confirmation record means cross-renderer pixel equivalence was not computed; it does not erase already recorded approximations or missing items.
@@ -0,0 +1,26 @@
1
+ # Canonical package
2
+
3
+ ## Required layout
4
+
5
+ ```text
6
+ assets/canonical/<asset_id>/
7
+ model.glb
8
+ asset.json
9
+ preview/
10
+ ```
11
+
12
+ `asset_id` is normalized and stable. `model_file` remains package-relative. Do not reference files outside the package.
13
+
14
+ An optional `scene.contract.json` may define camera, world-coordinate and display-profile supplements. Its file manifest uses relative paths, byte sizes and SHA-256 hashes. Export/sync verifies the whole manifest and rejects traversal, missing files, stale hashes and coordinate conflicts.
15
+
16
+ For a complete Blender source scene, `evomeme_scene_export_blender` creates this contract, `source/scene.blend`, per-camera references and both engine profiles automatically. See [Blender scene pipeline](blender-scene-pipeline.md). `source_features` makes unsupported/approximate effects visible in Stage; a loaded GLB alone does not demonstrate material or lighting equivalence.
17
+
18
+ ## World-coordinate scenes
19
+
20
+ For a complete meter-scale map already exported as Y-up, use `up_axis=+y`, `forward_axis=-z`, `pivot=origin`, `scale_hint_metres=null` and zero offsets unless evidence says otherwise. Do not center a whole world or normalize it by height.
21
+
22
+ ## Replacement and history
23
+
24
+ `replace_existing=true` may reuse the asset ID and descriptive metadata, but new model bytes create a new source revision. Previous recipes and evidence become stale. Keep repair reports/backups inside the package repair area; never treat a backup as the active `model.glb`.
25
+
26
+ The bounded alignment history explains creation, migration, acceptance and invalidation. It is an audit aid, not a substitute for current revision checks.
@@ -0,0 +1,14 @@
1
+ # Engine capabilities
2
+
3
+ | Component | Owns | Must not own |
4
+ |---|---|---|
5
+ | Stage | Three.js live preview, native Godot/Blender preview, bounds/TRS, explicit user confirmation before import | substituting Three.js frames for Godot, agent acceptance on behalf of the user |
6
+ | Blender | topology, normals, origin baking, mesh cleanup, GLB re-export | final engine readiness, hidden per-engine orientation |
7
+ | Godot 4 | GLB import, one runtime wrapper, gameplay integration, target render/physics QA | guessing authored axes, accumulating compensation transforms |
8
+ | Three.js game | one runtime wrapper, web presentation and gameplay QA | a second canonical schema or per-entity hard rotations |
9
+
10
+ Tripo and other generators are sources, not alignment authorities. Preserve their task/model/version metadata in provenance, but compute readiness from the emitted file and current user intent.
11
+
12
+ Use GLB as the canonical mesh payload. Blender source files may be retained as provenance or repair artifacts, but engines consume the package, not an arbitrary `.blend` working file.
13
+
14
+ Unity and Unreal are intentionally outside this plugin plan. Do not add placeholder adapters that appear supported but bypass validation.
@@ -0,0 +1,32 @@
1
+ # Stage Board Confirmation and Engine Import
2
+
3
+ After Blender modeling or modification, the Stage board must be opened to view the current version, and the user must click "Confirm current version, allow import" before the next import step can proceed. Merely launching the board, passing the format check, saving the technical alignment state, or ready=true cannot release the gate.
4
+
5
+ ## Sequence
6
+
7
+ 1. A complete Blender scene uses evomeme_scene_export_blender to generate a canonical package, source snapshot, contract, and native reference images; an existing GLB can be ingested separately.
8
+ 2. evomeme_asset_review checks the model format and file digests.
9
+ 3. evomeme_stage_open({workspace_dir, asset_id, target}) opens the single-scene viewport. `target` is three_js or godot.
10
+ 4. Compare Blender and target-engine native render from the same camera position and with the same aspect ratio, checking space, structure, materials, and lighting. Godot uses a temporary native preview project and does not write to the final game project in advance.
11
+ View the mapping, baking, approximation, and missing states under "effect conversion and pending-verification items"; related camera positions can be jumped to, or repair requests can be recorded. The states come from source features and adapter capabilities, not from image similarity scoring.
12
+ 5. The user confirms on the page. Tools and agents must not click on the user's behalf, and must not directly construct confirmation files.
13
+ 6. Call the corresponding sync tool. Three.js confirmation cannot replace Godot confirmation; export likewise requires the current Stage confirmation.
14
+
15
+ When modification is needed, return to Blender or update the engine profile, then reload, view, and confirm again. The page keeps a single-scene scope and does not add asset lists, part editing, or gameplay.
16
+
17
+ ## Environment
18
+
19
+ Blender is configured through EVOMEME_BLENDER / BLENDER_PATH; Godot is configured through EVOMEME_GODOT / GODOT_PATH or godot on PATH. While waiting for native preview, do not pass off an old image as the current view; if it fails, the current image cannot be confirmed.
20
+
21
+ ## Records and Invalidation
22
+
23
+ .review/stage-view.json records the actual board camera position, target engine, and version. Godot views also bind the native render receipt and profile key.
24
+ .review/confirmation.json records user confirmation, current resource/display implementation summary, complete TRS, camera position, screenshot summary, and technical report.
25
+
26
+ Changes to the model, asset.json, scene contract, textures, Godot profile, material/lighting configuration, or display module make confirmation stale. export/sync checks the current confirmation and alignment recipe before writing to the target; setting verified_by or directly changing ready cannot bypass it.
27
+
28
+ ## Handoff and Scope
29
+
30
+ Browser handoff only reproduces the confirmed Three.js image; Godot uses sync_to_godot to output the native loader and display adapter, and does not treat the Three.js handoff image as Godot acceptance.
31
+
32
+ The Godot basic flow preserves GLB PBR, rebuilds lighting, environment, exposure, and camera, and supports material parameter calibration. Area lights use explicitly marked approximations; Three.js-specific baked shaders/LUTs will not be executed automatically in Godot. After the user confirms asset display, game integration and gameplay still require target-engine re-verification.
@@ -0,0 +1,30 @@
1
+ # Repair policy
2
+
3
+ Choose the shallowest layer that fixes the actual defect while preserving one canonical result.
4
+
5
+ ## Metadata repair
6
+
7
+ Use the Stage or `evomeme_asset_package_set_orientation` when geometry is sound but authored axes, pivot intent, scale target, semantic label, sockets, or review evidence are wrong. Save a complete wrapper TRS. Do not bake a rotation into gameplay code.
8
+
9
+ ## Wrapper repair
10
+
11
+ Use the canonical recipe for non-destructive translation, quaternion rotation and scale. The wrapper must be applied exactly once. It is appropriate for grounding, recentering, authored-forward conversion and size normalization.
12
+
13
+ If `pivot=origin` and `scale_hint_metres=null`, a deterministic identity translation/unit scale recipe is possible. Bounds-dependent pivots or height normalization require a measured recipe from the board or another adapter.
14
+
15
+ ## Blender geometry repair
16
+
17
+ Use `evomeme_asset_repair_blender` for broken origins that must be baked, detached/duplicate parts, bad normals, unusable topology, destructive transform cleanup, or export defects. It backs up the prior model and writes into the same canonical package.
18
+
19
+ Any Blender result changes the source revision and invalidates all prior review states. Reopen the Stage and accept a new recipe before export or sync.
20
+
21
+ ## Never repair here
22
+
23
+ - player/controller yaw offsets;
24
+ - AnimationTree or animation-track compensations;
25
+ - per-scene scale overrides;
26
+ - a second Godot/Three wrapper;
27
+ - a material tweak claimed as canonical without updating review evidence.
28
+
29
+ These hide drift and cannot be maintained when the asset is regenerated.
30
+
@@ -0,0 +1,39 @@
1
+ # MCP tool contract
2
+
3
+ ## Create and inspect
4
+
5
+ - `evomeme_scene_export_blender`: saved Blender scene → source snapshot, GLB, cameras/reference PNGs, source-feature contract, Three.js/Godot profiles and derived diagnostics. Read [blender-scene-pipeline.md](blender-scene-pipeline.md) for parameters, baking and replacement behavior. This source export precedes Stage; it is distinct from confirmed package export to an engine.
6
+ - `evomeme_asset_package_create`: copy GLB/GLTF into a canonical package. New packages are normally `needs_review`.
7
+ - `evomeme_asset_package_list`: inspect `alignment_status` and `alignment_ready` before choosing work.
8
+ - `evomeme_asset_package_get`: read full paths, flat compatibility fields and the v2 alignment record.
9
+ - `evomeme_stage_open`: preferred path for bounds-dependent alignment and user visual acceptance.
10
+ - Blender modeling/changes MUST stop at Stage before engine import. Open with `target=three_js` or `target=godot`; the user must view and click the current-version confirmation. An agent must not click on the user's behalf or fabricate a record.
11
+
12
+ ## Accept alignment
13
+
14
+ `evomeme_asset_package_set_orientation` writes technical alignment only. It cannot replace Stage user confirmation or unlock import. It accepts flat intent fields plus optional:
15
+
16
+ ```json
17
+ {
18
+ "alignment_recipe": {
19
+ "translation_metres": [0, 0, 0],
20
+ "rotation_quaternion_xyzw": [0, 0, 0, 1],
21
+ "scale_xyz": [1, 1, 1],
22
+ "algorithm_version": "adapter-name.v1"
23
+ },
24
+ "alignment_conditions": {
25
+ "spatial": { "status": "aligned", "evidence": "front/side board review" }
26
+ }
27
+ }
28
+ ```
29
+
30
+ For a bounds-dependent pivot or scale, omitting `alignment_recipe` leaves the package non-ready. Use the board instead of inventing translation/scale values.
31
+
32
+ ## Repair and delivery
33
+
34
+ - `evomeme_asset_repair_blender`: changes the source and invalidates alignment.
35
+ - `evomeme_asset_package_export`: validates source bytes, readiness and current Stage user confirmation.
36
+ - `evomeme_asset_sync_to_three`: exports to `public/assets/canonical/<id>/` and generates `src/evomeme-stage/<id>/canonical_loader.js`; use loadReviewedScene with Three.js 0.170.0 and runtime.render to retain the reviewed appearance pipeline.
37
+ - `evomeme_asset_sync_to_godot`: requires `project.godot` and current native Godot Stage confirmation; exports to `assets/canonical/<id>/`, generating the guarded model loader and shared material/light/environment/camera adapter. Use `load_scene` for a scene and `load_package` for props.
38
+
39
+ On a gate error, do not retry with edited JSON. Read the reported pending/stale conditions, repair or review the package, then sync again.
@@ -0,0 +1,26 @@
1
+ # Visual review
2
+
3
+ ## Review sequence
4
+
5
+ 1. Load the exact current `model.glb`; confirm the displayed source revision.
6
+ 2. Compare against the user request or versioned reference, not memory.
7
+ 3. Inspect front/back/side/top and a gameplay camera view.
8
+ 4. Check spatial, structural, semantic and render conditions separately.
9
+ 5. Save the measured wrapper TRS and concise evidence.
10
+ 6. Verify again in the target engine after sync.
11
+
12
+ ## Practical checks
13
+
14
+ - Spatial: feet/wheels/base touch the expected plane; forward direction is unambiguous; height and world scale are plausible; maps retain their intended origin.
15
+ - Structural: named parts exist, transforms are not unexpectedly nested, skeleton and sockets remain attached, animations do not jump on frame zero.
16
+ - Semantic: silhouette, part count, handedness, openings, controls, weapon muzzle, seats, doors and other requested affordances are correct.
17
+ - Render: normals face outward, textures resolve, alpha/culling are correct, material response is credible and no parts disappear under the target camera/light setup.
18
+
19
+ ## Evidence quality
20
+
21
+ Prefer a user-approved board view or target-engine screenshot. Agent visual review is acceptable when the comparison and limitations are recorded. Heuristics alone do not close structural, semantic or render review.
22
+
23
+ Three.js Stage is a neutral inspection surface, not proof of Godot render parity. Blender Cycles, Three.js and Godot use different shading pipelines. Describe approximations explicitly; do not promise pixel identity unless a target-engine capture was compared.
24
+
25
+ For `scene.contract.json`, keep reference camera, aspect ratio, near/far and framing fixed during comparison. Do not let auto-frame controls overwrite a contract camera.
26
+
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: game-asset-image-generator
3
+ description: Guide the Agent to correctly use the game asset generation and editing tools provided by MCP. For anything involving generation or editing of game concept art and game assets (including images, models, videos, etc.), this skill must be invoked first, and final outputs must be saved according to the standard into the assets/ directory of the current workspace.
4
+ ---
5
+
6
+ # Game Asset Generation
7
+
8
+ ## Workspace Asset Rules
9
+
10
+ The following rules must be followed:
11
+
12
+ 1. All AI-generated images and videos must be saved to the `assets/` folder at the root of the current workspace. Do not keep only remote URLs; even if the runtime does not directly read local files, the corresponding asset files must still exist in `assets/`.
13
+ 2. All assets used by evomeme platform games must have their TOS URLs written into the project configuration (usually `public/config.json`). Game code must read asset URLs through configuration entries, and must not import, read, or concatenate asset paths from `assets/`.
14
+
15
+ When calling asset tools, always pass the absolute path of the current workspace root to `workspace_dir`, ensuring the tool saves returned files to the correct `assets/` folder.
16
+
17
+ ## Asset Tools
18
+
19
+ Two asset tools are currently provided:
20
+
21
+ - `evomeme_generate_game_image`: Generate an image from a text prompt.
22
+ - `evomeme_cutout_game_image`: Create a transparent-background cutout from an existing image.
23
+
24
+ Both tools submit asynchronous tasks and poll by themselves until the task succeeds or fails. On success, the tool downloads the final TOS image to `<workspace_dir>/assets/` and returns both text metadata and an MCP `image` multimodal content block.
25
+
26
+ ## Parallel Calls
27
+
28
+ When generating multiple assets, start independent tasks in parallel through asynchronous MCP calls whenever possible; do not wait for one task to finish before calling the next one item by item. Before parallelizing, fix the prompt, parameters, and identifier for each asset; each call must explicitly pass the same correct `workspace_dir`, and after results return, record `job_id`, TOS URL, and local file separately according to the mapping between tasks and assets.
29
+
30
+ Steps with output dependencies must remain sequential. For example, cutout must wait until the image to process has finished generating, and when a later image must reference an earlier result, a valid URL must be obtained first. Parallelism is only for tasks whose dependencies allow simultaneous execution; polling inside a single MCP tool should not block the start of other independent asset tasks.
31
+
32
+ ## `evomeme_generate_game_image`
33
+
34
+ Generate a game image from a prompt.
35
+
36
+ When generating a single static game element that does not need animation or dynamic effects, such as a small stone, standalone cloud, or fixed-pose enemy, use `image_type=asset`, and you must first read and follow the [Static Game Element Prompt Guide](references/static-game-assets.md). If a game concept image or a setting concept image for the current element exists, you must use the concept image as `reference_image_url` according to that guide. That guide does not apply to backgrounds, parallax layers, tilesets, animations, effects, videos, or models.
37
+
38
+ When generating a complete single-layer background that fills the game screen, use `image_type=background`, and you must first read and follow the [Game Background Prompt Guide](references/background.md). If a game concept image or a setting concept image for the current scene exists, you must use the concept image as `reference_image_url` according to that guide.
39
+
40
+ ### Inputs
41
+
42
+ | Parameter | Required | Type/Allowed values | Description |
43
+ | --- | --- | --- | --- |
44
+ | `prompt` | Yes | `string` | Image-generation prompt. |
45
+ | `image_type` | No | `asset`, `background`, `parallax background`, `tileset` | Image type; defaults to `background`. `asset`, `parallax background`, and `tileset` are automatically cut out. |
46
+ | `size` | No | `2048x2048`, `1728x2304`, `2304x1728`, `2560x1440`, `1440x2560`, `1664x2496`, `2496x1664`, `3024x1296` | Output size; defaults to `2048x2048`. |
47
+ | `reference_image_url` | No | `string` | Accessible URL of the reference image. |
48
+ | `image_model` | No | `asset-lite`, `asset-pro`, `asset-max` | Image-generation model; defaults to `asset-lite`. |
49
+ | `workspace_dir` | No | `string` | Absolute path of the Agent's current workspace root. To satisfy the asset rules, it must be passed explicitly when calling. |
50
+
51
+ ### Outputs
52
+
53
+ The successful result's `content` contains:
54
+
55
+ 1. `content[0]`: Text metadata, including:
56
+ - `job_id`: Asynchronous task ID.
57
+ - `tos_url`: TOS URL of the final image.
58
+ - `asset_url`: Same as `tos_url`, for compatibility with existing configuration logic.
59
+ - `status`: Final state, `SUCCEEDED` on success.
60
+ - `attempts`: Number of attempts already executed and maximum attempt count.
61
+ - `size`: Image size confirmed by the server.
62
+ - `image_type`: Image type confirmed by the server.
63
+ - `has_transparent_background`: Whether it has a transparent background.
64
+ - `local_path`: Local absolute path downloaded to the current workspace's `assets/`.
65
+ - `multimodal_base64`: Description of the content block containing Base64 and the character count.
66
+ - `mime_type`: Image MIME type.
67
+ 2. `content[1]`: MCP multimodal image content block:
68
+ - `type: "image"`
69
+ - `data`: Base64 image data without the Data URL prefix.
70
+ - `mimeType`: Image MIME type.
71
+
72
+ The local filename uses the final segment of the final TOS URL path and cleans characters not allowed by the operating system. On failure, the result carries `isError: true`, and the text content is the failure or timeout message.
73
+
74
+ ## `evomeme_cutout_game_image`
75
+
76
+ Process an existing image into a transparent-background image.
77
+
78
+ ### Inputs
79
+
80
+ | Parameter | Required | Type | Description |
81
+ | --- | --- | --- | --- |
82
+ | `image_url` | Yes | `string` | Accessible URL of the source image to cut out. |
83
+ | `workspace_dir` | No | `string` | Absolute path of the Agent's current workspace root. To satisfy the asset rules, it must be passed explicitly when calling. |
84
+
85
+ ### Outputs
86
+
87
+ The successful result's `content` contains:
88
+
89
+ 1. `content[0]`: Text metadata, including:
90
+ - `job_id`: Asynchronous task ID.
91
+ - `tos_url`: TOS URL of the final cutout result.
92
+ - `asset_url`: Same as `tos_url`, for compatibility with existing configuration logic.
93
+ - `status`: Final state, `SUCCEEDED` on success.
94
+ - `attempts`: Number of attempts already executed and maximum attempt count.
95
+ - `has_transparent_background`: Transparent-background flag; a successful result is usually `true`.
96
+ - `local_path`: Local absolute path downloaded to the current workspace's `assets/`.
97
+ - `multimodal_base64`: Description of the content block containing Base64 and the character count.
98
+ - `mime_type`: Image MIME type.
99
+ 2. `content[1]`: MCP multimodal image content block:
100
+ - `type: "image"`
101
+ - `data`: Base64 image data without the Data URL prefix.
102
+ - `mimeType`: Image MIME type.
103
+
104
+ The local filename uses the final segment of the final TOS URL path and cleans characters not allowed by the operating system. On failure, the result carries `isError: true`, and the text content is the failure or timeout message.
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "Game Asset Image Generator"
3
+ short_description: "Generate and process game image assets, save the results to the workspace, and connect them to the project configuration"
4
+ default_prompt: "Please use $game-asset-image-generator to generate or process the image assets needed for my game, and correctly connect the files and asset links to the project."
5
+
6
+ policy:
7
+ allow_implicit_invocation: true
@@ -0,0 +1,32 @@
1
+ # Game Background Prompt Guide
2
+
3
+ A game background is a complete single-layer scene image that fills the game screen, such as a forest, city street, outer-space area, underground cave, or indoor space. Each background is generated only once and used as a separate `background` image.
4
+
5
+ ## Use Concept Art As Reference
6
+
7
+ If a game concept image or a setting concept image for the current scene exists, the accessible URL of the concept image must be used as `reference_image_url`:
8
+
9
+ - Prefer the setting concept image for the current scene; if none exists, then use the overall game concept image.
10
+ - Clearly state in the prompt which characteristics need to be inherited, such as worldview, scene structure, color palette, materials, lighting, and art style.
11
+ - Do not copy layout, text, annotations, character presentation, or other irrelevant content from the concept image.
12
+
13
+ ## Prompt
14
+
15
+ When writing, follow these rules:
16
+
17
+ - Clearly state the background's purpose in the game, scene location, era, or theme.
18
+ - Clearly state landscape or portrait composition, camera perspective, horizon position, and main spatial direction.
19
+ - Clearly state time, weather, lighting, main color palette, and main materials, and keep them consistent with existing game art specifications.
20
+ - Specify areas that need to remain clear and low-interference according to the gameplay, such as the central movement area, road, platform area, or character activity area.
21
+ - Place high detail and visual focus where they will not block gameplay information, and avoid uniform detail density across the whole image.
22
+ - Keep spatial layering, perspective, light direction, and scale consistent so the background can directly fill the game screen.
23
+ - Require `full-frame composition, edge-to-edge scene, no border`; do not generate a white background, transparent background, picture frame, or display mockup.
24
+ - End with `no characters, no enemies, no pickups, no UI, no text, no watermark, no logo`.
25
+
26
+ ## Prohibited Wording
27
+
28
+ - Drawing characters, enemies, props, pickups, attack effects, or interactive objects into the background.
29
+ - Drawing HUD, buttons, title, score, tutorial text, Logo, or watermark into the background.
30
+ - Describing only atmosphere without specifying the concrete scene, perspective, composition direction, and gameplay negative space.
31
+ - Requesting standalone elements, transparent background, pure white background, asset collections, setting sheets, or multi-view images.
32
+ - Using an art style, color palette, materials, and lighting that conflict with the game concept image or existing art specifications.