@playcraft/cli 0.0.44 → 0.0.46

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 (984) hide show
  1. package/dist/atom-tree/build-skeleton.js +180 -0
  2. package/dist/atom-tree/fusion-hints.js +86 -0
  3. package/dist/atom-tree/selection.js +402 -0
  4. package/dist/commands/build-all.js +33 -5
  5. package/dist/commands/build.js +7 -1
  6. package/dist/commands/create.js +774 -50
  7. package/dist/commands/image.js +11 -0
  8. package/dist/commands/prad.js +61 -0
  9. package/dist/commands/remix.js +20 -0
  10. package/dist/commands/skills.js +961 -185
  11. package/dist/commands/tools-detect.js +56 -0
  12. package/dist/commands/tools-generation.js +21 -0
  13. package/dist/commands/tools-video-review.js +100 -0
  14. package/dist/commands/tools.js +4 -0
  15. package/dist/index.js +2 -0
  16. package/dist/prad/atom-ref.js +23 -0
  17. package/dist/prad/check.js +377 -0
  18. package/dist/prad/check.test.js +49 -0
  19. package/dist/prad/explain.js +109 -0
  20. package/dist/prad/load-spec.js +23 -0
  21. package/dist/prad/paths.js +83 -0
  22. package/dist/prad/skills-index.js +60 -0
  23. package/dist/remix/init-template.js +80 -0
  24. package/dist/scaffold/compose.js +211 -0
  25. package/engine-packs/phaser/game/adapters/phaser.ts +52 -0
  26. package/engine-packs/phaser/game/config/game-config.ts +46 -0
  27. package/engine-packs/phaser/game/contract/publish.ts +141 -0
  28. package/engine-packs/phaser/game/contract/types.ts +34 -0
  29. package/engine-packs/phaser/game/index.ts +81 -0
  30. package/engine-packs/phaser/game/runtime-contract.ts +28 -0
  31. package/engine-packs/phaser/manifest.json +1 -0
  32. package/engine-packs/phaser/package.deps.json +1 -0
  33. package/engine-packs/threejs/game/config/.gitkeep +0 -0
  34. package/engine-packs/threejs/game/config/game-config.ts +46 -0
  35. package/engine-packs/threejs/game/contract/publish.ts +141 -0
  36. package/engine-packs/threejs/game/contract/types.ts +34 -0
  37. package/engine-packs/threejs/game/gameplay/.gitkeep +0 -0
  38. package/engine-packs/threejs/game/index.ts +76 -0
  39. package/engine-packs/threejs/game/runtime-contract.ts +15 -0
  40. package/engine-packs/threejs/game/scenes/.gitkeep +0 -0
  41. package/engine-packs/threejs/manifest.json +1 -0
  42. package/engine-packs/threejs/package.deps.json +8 -0
  43. package/package.json +17 -3
  44. package/project-template/.claude/agents/artist.md +101 -0
  45. package/project-template/.claude/agents/developer.md +90 -93
  46. package/project-template/.claude/agents/game-designer.md +192 -0
  47. package/project-template/.claude/agents/refs/README.md +57 -51
  48. package/project-template/.claude/agents/refs/{designer-color-audio-recipes.md → artist-color-audio-recipes.md} +2 -2
  49. package/project-template/.claude/agents/refs/{designer-deliverable-spec.md → artist-deliverable-spec.md} +57 -57
  50. package/project-template/.claude/agents/refs/{designer-dimension-axis.md → artist-dimension-axis.md} +5 -5
  51. package/project-template/.claude/agents/refs/{designer-handoff-v2-checklist.md → artist-handoff-v2-checklist.md} +15 -15
  52. package/project-template/.claude/agents/refs/artist-legacy-fallback.md +14 -0
  53. package/project-template/.claude/agents/refs/{designer-master-composite-recipes.md → artist-master-composite-recipes.md} +3 -3
  54. package/project-template/.claude/agents/refs/artist-style-exploration-flow.md +55 -0
  55. package/project-template/.claude/agents/refs/developer-dev-handoff.md +83 -40
  56. package/project-template/.claude/agents/refs/developer-impl-cookbook.md +365 -67
  57. package/project-template/.claude/agents/refs/developer-legacy-fallback.md +15 -0
  58. package/project-template/.claude/agents/refs/developer-phase1-flow.md +131 -85
  59. package/project-template/.claude/agents/refs/framework-5-component-filter.md +252 -0
  60. package/project-template/.claude/agents/refs/framework-game-feel-juice.md +266 -0
  61. package/project-template/.claude/agents/refs/framework-mda.md +147 -0
  62. package/project-template/.claude/agents/refs/game-designer-gameplay-sufficiency.md +123 -0
  63. package/project-template/.claude/agents/refs/game-designer-legacy-fallback.md +15 -0
  64. package/project-template/.claude/agents/refs/game-designer-workflow-detail.md +69 -0
  65. package/project-template/.claude/agents/refs/implementation-plan-guide.md +316 -0
  66. package/project-template/.claude/agents/refs/reviewer-convergence-eval.md +247 -33
  67. package/project-template/.claude/agents/refs/reviewer-legacy-fallback.md +14 -0
  68. package/project-template/.claude/agents/refs/skill-selector-guide.md +465 -0
  69. package/project-template/.claude/agents/refs/skill-value-layers.md +145 -0
  70. package/project-template/.claude/agents/refs/storyboard-generation-guide.md +110 -0
  71. package/project-template/.claude/agents/refs/ta-atlas-deliverable-standard.md +4 -4
  72. package/project-template/.claude/agents/refs/ta-pipeline-cookbook.md +101 -104
  73. package/project-template/.claude/agents/refs/technical-artist-legacy-fallback.md +14 -0
  74. package/project-template/.claude/agents/reviewer.md +81 -95
  75. package/project-template/.claude/agents/technical-artist.md +71 -95
  76. package/project-template/.claude/hooks/README.md +83 -35
  77. package/project-template/.claude/hooks/asr-coverage-validate.mjs +19 -19
  78. package/project-template/.claude/hooks/block-developer-preflight.mjs +185 -0
  79. package/project-template/.claude/hooks/block-ring1-tasklist.mjs +95 -0
  80. package/project-template/.claude/hooks/gate-dispatcher.mjs +78 -0
  81. package/project-template/.claude/hooks/gate-runner.mjs +557 -0
  82. package/project-template/.claude/hooks/gate.mjs +170 -0
  83. package/project-template/.claude/hooks/snapshot-milestone.mjs +246 -0
  84. package/project-template/.claude/hooks/user-prompt.mjs +193 -0
  85. package/project-template/.claude/hooks/validate-atom-tree-selection.mjs +281 -0
  86. package/project-template/.claude/hooks/validate-workflow-stop.mjs +1535 -95
  87. package/project-template/.claude/settings.json +54 -9
  88. package/project-template/.claude/skills/brainstorming/SKILL.md +161 -0
  89. package/project-template/.claude/skills/brainstorming/scripts/frame-template.html +270 -0
  90. package/project-template/.claude/skills/brainstorming/scripts/helper.js +177 -0
  91. package/project-template/.claude/skills/brainstorming/scripts/server.cjs +354 -0
  92. package/project-template/.claude/skills/brainstorming/scripts/start-server.sh +148 -0
  93. package/project-template/.claude/skills/brainstorming/scripts/stop-server.sh +56 -0
  94. package/project-template/.claude/skills/brainstorming/scripts/wait-for-selection.sh +62 -0
  95. package/project-template/.claude/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  96. package/project-template/.claude/skills/brainstorming/visual-companion.md +309 -0
  97. package/project-template/.claude/skills/playcraft-ad-psychology/SKILL.md +3 -3
  98. package/project-template/.claude/skills/playcraft-art-style-guide/SKILL.md +3 -3
  99. package/project-template/.claude/skills/playcraft-asset-state-sheet/SKILL.md +35 -25
  100. package/project-template/.claude/skills/playcraft-audio-generation/SKILL.md +15 -15
  101. package/project-template/.claude/skills/playcraft-build-optimizer/SKILL.md +5 -5
  102. package/project-template/.claude/skills/playcraft-image-generation/SKILL.md +5 -5
  103. package/project-template/.claude/skills/playcraft-image-generation/reference/compare-style.template.mjs +5 -5
  104. package/project-template/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +116 -27
  105. package/project-template/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +1 -1
  106. package/project-template/.claude/skills/playcraft-image-processing/SKILL.md +219 -0
  107. package/project-template/.claude/skills/playcraft-playable-optimization/SKILL.md +161 -0
  108. package/project-template/.claude/skills/playcraft-research/SKILL.md +24 -21
  109. package/project-template/.claude/skills/playcraft-skill-recommender/SKILL.md +331 -0
  110. package/project-template/.claude/skills/playcraft-sprite-generation/SKILL.md +48 -48
  111. package/project-template/.claude/skills/playcraft-sprite-remix/SKILL.md +158 -0
  112. package/project-template/.claude/skills/playcraft-sprite-sheet/SKILL.md +100 -0
  113. package/project-template/.claude/skills/playcraft-storyboard/SKILL.md +4 -4
  114. package/project-template/.claude/skills/playcraft-style-qa/SKILL.md +45 -45
  115. package/project-template/.claude/skills/playcraft-text-rendering/SKILL.md +27 -27
  116. package/project-template/.claude/skills/session-analyzer/SKILL.md +386 -0
  117. package/project-template/.claude/skills/session-analyzer/scripts/execution-breakdown.mjs +182 -0
  118. package/project-template/.claude/skills/session-analyzer/scripts/find-turns.mjs +72 -0
  119. package/project-template/.claude/skills/session-analyzer/scripts/heavy-output.mjs +121 -0
  120. package/project-template/.claude/skills/session-analyzer/scripts/resolve-session.mjs +103 -0
  121. package/project-template/.claude/skills/session-analyzer/scripts/subagent-stats.mjs +127 -0
  122. package/project-template/.claude/skills/session-analyzer/scripts/subagent-tool-timeline.mjs +106 -0
  123. package/project-template/.claude/skills/session-analyzer/scripts/time-gaps.mjs +128 -0
  124. package/project-template/.claude/skills/session-analyzer/scripts/turn-timeline.mjs +67 -0
  125. package/project-template/.claude/snapshot.mjs +350 -0
  126. package/project-template/.codebuddy/settings.json +53 -0
  127. package/project-template/.cursor/hooks.json +1 -1
  128. package/project-template/.cursor/rules/playcraft-orchestrator.mdc +91 -86
  129. package/project-template/.cursor/rules/playcraft-subagent-boundary.mdc +16 -5
  130. package/project-template/CHANGELOG.md +105 -0
  131. package/project-template/CLAUDE.md +58 -254
  132. package/project-template/docs/DESIGN.md +65 -0
  133. package/project-template/docs/intent-clarifications.md +58 -0
  134. package/project-template/docs/pipeline-overview.md +69 -0
  135. package/project-template/docs/project-state.md +211 -0
  136. package/project-template/docs/team/agent-conduct.md +51 -105
  137. package/project-template/docs/team/agent-runtime-matrix.md +60 -74
  138. package/project-template/docs/team/atom-tree-format.md +169 -0
  139. package/project-template/docs/team/collaboration.md +319 -225
  140. package/project-template/docs/team/core-model.md +80 -46
  141. package/project-template/docs/team/game-designer-migration-todo.md +8 -0
  142. package/project-template/docs/team/harness-legacy-deprecation.md +23 -0
  143. package/project-template/docs/team/platform-capabilities.md +16 -13
  144. package/project-template/docs/team/workflow-changelog.md +95 -23
  145. package/project-template/docs/team/workflow-consistency-checklist.md +93 -45
  146. package/project-template/focus-lab/.gitkeep +0 -0
  147. package/project-template/game/.playcraft-scaffold-pending +0 -0
  148. package/project-template/game/index.ts +18 -0
  149. package/project-template/globals.d.ts +51 -0
  150. package/project-template/index.css +34 -0
  151. package/project-template/index.html +18 -0
  152. package/project-template/main.ts +9 -0
  153. package/project-template/package.json +79 -0
  154. package/project-template/skills/README.md +52 -0
  155. package/project-template/skills/_shared/agent-prep.md +136 -0
  156. package/project-template/skills/_shared/requirements.txt +1 -0
  157. package/project-template/skills/_shared/scripts/build-evidence-gate.mjs +87 -0
  158. package/project-template/skills/_shared/scripts/context-budget.mjs +215 -0
  159. package/project-template/skills/_shared/scripts/create-playable.mjs +140 -0
  160. package/project-template/skills/_shared/scripts/dev-start.mjs +151 -0
  161. package/project-template/skills/_shared/scripts/disclosure-config.mjs +480 -0
  162. package/project-template/skills/_shared/scripts/ensure-project.mjs +532 -0
  163. package/project-template/skills/_shared/scripts/gen-placeholder-audio.py +345 -0
  164. package/project-template/skills/_shared/scripts/gen-placeholder.py +244 -0
  165. package/project-template/skills/_shared/scripts/harness-smoke.mjs +257 -0
  166. package/project-template/skills/_shared/scripts/lib/validator-artifacts.mjs +129 -0
  167. package/project-template/skills/_shared/scripts/placeholder-pack-sheet.mjs +67 -0
  168. package/project-template/skills/_shared/scripts/placeholder_audio_lib.py +142 -0
  169. package/project-template/skills/_shared/scripts/placeholder_lib.py +993 -0
  170. package/project-template/skills/_shared/scripts/render-project-state.mjs +278 -0
  171. package/project-template/skills/_shared/scripts/ring-config.mjs +252 -0
  172. package/project-template/skills/_shared/scripts/skills-check.mjs +176 -0
  173. package/project-template/skills/_shared/scripts/slice-set.mjs +77 -0
  174. package/project-template/skills/_shared/scripts/state-advance-ring.mjs +63 -0
  175. package/project-template/skills/_shared/scripts/state-get.mjs +215 -0
  176. package/project-template/skills/_shared/scripts/state-handoff.mjs +120 -0
  177. package/project-template/skills/_shared/scripts/state-set.mjs +113 -0
  178. package/project-template/skills/_shared/scripts/state-store.mjs +893 -0
  179. package/project-template/skills/_shared/scripts/sync-template-skills.mjs +112 -0
  180. package/project-template/skills/_shared/scripts/verify-asset-code-sync.mjs +265 -0
  181. package/project-template/skills/_shared/scripts/verify-atom-conformance.mjs +181 -0
  182. package/project-template/skills/_shared/scripts/verify-env.mjs +285 -0
  183. package/project-template/skills/_shared/scripts/verify-placeholders.mjs +161 -0
  184. package/project-template/skills/_shared/scripts/workflow-doctor.mjs +348 -0
  185. package/project-template/skills/playable-animate/SKILL.md +52 -0
  186. package/project-template/skills/playable-animate/agents/openai.yaml +4 -0
  187. package/project-template/skills/playable-animate/references/board-refresh.md +30 -0
  188. package/project-template/skills/playable-animate/references/diagnosis-checklist.md +25 -0
  189. package/project-template/skills/playable-animate/references/entrance-sequencing.md +33 -0
  190. package/project-template/skills/playable-animate/references/interaction-timing.md +23 -0
  191. package/project-template/skills/playable-art/SKILL.md +203 -0
  192. package/project-template/skills/playable-art/agents/openai.yaml +4 -0
  193. package/project-template/skills/playable-art/references/alpha-postprocess.md +46 -0
  194. package/project-template/skills/playable-art/references/cta-art-spec.md +59 -0
  195. package/project-template/skills/playable-art/references/layout-proportions.md +30 -0
  196. package/project-template/skills/playable-art/references/prompt-patterns.md +83 -0
  197. package/project-template/skills/playable-art/references/reference-comparison.md +30 -0
  198. package/project-template/skills/playable-art/references/sheet-import-v2.md +91 -0
  199. package/project-template/skills/playable-art/scripts/build-atlas.py +332 -0
  200. package/project-template/skills/playable-art/scripts/chroma-key.py +50 -0
  201. package/project-template/skills/playable-art/scripts/extract-alpha-split.py +65 -0
  202. package/project-template/skills/playable-art/scripts/extract-dual-bg-alpha.py +118 -0
  203. package/project-template/skills/playable-art/scripts/import-gpt-art-sheets-v2.py +403 -0
  204. package/project-template/skills/playable-art/scripts/import-gpt-art-sheets.py +280 -0
  205. package/project-template/skills/playable-art/scripts/import-gpt-tile-sheet.py +114 -0
  206. package/project-template/skills/playable-art/scripts/import_gpt_art_pipeline.py +321 -0
  207. package/project-template/skills/playable-art/scripts/import_gpt_art_sheets_v2_test.py +126 -0
  208. package/project-template/skills/playable-art/scripts/placeholder_common.py +98 -0
  209. package/project-template/skills/playable-art/scripts/remove-bg.py +91 -0
  210. package/project-template/skills/playable-art/scripts/review-processed-assets.py +468 -0
  211. package/project-template/skills/playable-art/scripts/review_processed_assets_test.py +116 -0
  212. package/project-template/skills/playable-art/scripts/verify-alpha-clean.py +105 -0
  213. package/project-template/skills/playable-debug/SKILL.md +116 -0
  214. package/project-template/skills/playable-debug/agents/openai.yaml +4 -0
  215. package/project-template/skills/playable-debug/references/debug-config.md +40 -0
  216. package/project-template/skills/playable-focus/SKILL.md +148 -0
  217. package/project-template/skills/playable-focus/scripts/bootstrap-playground.mjs +84 -0
  218. package/project-template/skills/playable-focus/scripts/extract-focus-frames.mjs +87 -0
  219. package/project-template/skills/playable-focus/scripts/generate-focus-reports.mjs +121 -0
  220. package/project-template/skills/playable-focus/scripts/playground.mjs +390 -0
  221. package/project-template/skills/playable-focus/templates/focus-lab/frame.html +39 -0
  222. package/project-template/skills/playable-focus/templates/focus-lab/harness/clean-stage.js +114 -0
  223. package/project-template/skills/playable-focus/templates/focus-lab/harness/frame-lab-scene.js +94 -0
  224. package/project-template/skills/playable-focus/templates/focus-lab/harness/particle-lab-scene.js +224 -0
  225. package/project-template/skills/playable-focus/templates/focus-lab/model.html +16 -0
  226. package/project-template/skills/playable-focus/templates/focus-lab/particle.html +38 -0
  227. package/project-template/skills/playable-focus/templates/focus-lab/shatter.html +47 -0
  228. package/project-template/skills/playable-focus/templates/playground/registry.template.json +55 -0
  229. package/project-template/skills/playable-focus/templates/playground/vfx-catalog.template.json +280 -0
  230. package/project-template/skills/playable-fx-decompose/SKILL.md +212 -0
  231. package/project-template/skills/playable-fx-decompose/examples.md +89 -0
  232. package/project-template/skills/playable-fx-decompose/reference.md +201 -0
  233. package/project-template/skills/playable-fx-decompose/requirements.txt +2 -0
  234. package/project-template/skills/playable-fx-decompose/scripts/build-blank-tile-crack.py +192 -0
  235. package/project-template/skills/playable-fx-decompose/scripts/fix-shard-debris-frames.py +60 -0
  236. package/project-template/skills/playable-fx-decompose/scripts/generate-shard-debris.py +276 -0
  237. package/project-template/skills/playable-fx-peak/SKILL.md +237 -0
  238. package/project-template/skills/playable-fx-peak/requirements.txt +2 -0
  239. package/project-template/skills/playable-fx-peak/scripts/fix-frame-edges.py +70 -0
  240. package/project-template/skills/playable-fx-peak/scripts/repack-frame-sequence.py +526 -0
  241. package/project-template/skills/playable-fx-peak/scripts/validate-frame-anchors.py +130 -0
  242. package/project-template/skills/playable-placeholder/SKILL.md +239 -0
  243. package/project-template/skills/playable-record/SKILL.md +166 -0
  244. package/project-template/skills/playable-record/scripts/lib/build-artifact.mjs +92 -0
  245. package/project-template/skills/playable-record/scripts/lib/dev-server.mjs +104 -0
  246. package/project-template/skills/playable-record/scripts/lib/record-audio-bridge.js +141 -0
  247. package/project-template/skills/playable-record/scripts/lib/slice-structure-verify.mjs +199 -0
  248. package/project-template/skills/playable-record/scripts/record-playable.mjs +583 -0
  249. package/project-template/skills/playable-record/scripts/verify-build.mjs +185 -0
  250. package/project-template/skills/playable-record/scripts/verify-contract.mjs +261 -0
  251. package/project-template/skills/playable-record/scripts/verify-firstwin.mjs +398 -0
  252. package/project-template/skills/playable-record/scripts/verify-fusion.mjs +320 -0
  253. package/project-template/skills/playable-record/scripts/verify-lifecycle.mjs +78 -0
  254. package/project-template/skills/playable-record/scripts/verify-slice-artist.mjs +53 -0
  255. package/project-template/skills/playable-record/scripts/verify-slice-ta.mjs +53 -0
  256. package/project-template/skills/playable-record/scripts/verify-slice.mjs +142 -0
  257. package/project-template/skills/playable-record/scripts/verify-visual-ring.mjs +250 -0
  258. package/project-template/skills/playable-record/scripts/verify-visual-ring1.mjs +190 -0
  259. package/project-template/skills/playable-record/scripts/verify-vlm-video.mjs +227 -0
  260. package/project-template/skills/playable-validate/SKILL.md +260 -0
  261. package/project-template/skills/playable-validate/references/checklist-detail.md +36 -0
  262. package/project-template/skills/playable-validate/references/single-html-bundle.md +76 -0
  263. package/project-template/skills/playable-validate/validation-rules.md +200 -0
  264. package/project-template/skills/playable-verify-ui/SKILL.md +295 -0
  265. package/project-template/skills/playable-verify-ui/examples/asset-manifest.example.json +36 -0
  266. package/project-template/skills/playable-verify-ui/examples/mahjong-match.profile.yaml +334 -0
  267. package/project-template/skills/playable-verify-ui/profiles/template.profile.yaml +84 -0
  268. package/project-template/skills/playable-verify-ui/reference.md +165 -0
  269. package/project-template/skills/playable-verify-ui/references/phaser-patterns.md +67 -0
  270. package/project-template/skills/playable-verify-ui/references/scaling-decision-tree.md +51 -0
  271. package/project-template/skills/playable-verify-ui/requirements.txt +7 -0
  272. package/project-template/skills/playable-verify-ui/schema/asset-manifest.schema.json +68 -0
  273. package/project-template/skills/playable-verify-ui/schema/playable-ui-profile.schema.json +171 -0
  274. package/project-template/skills/playable-verify-ui/scripts/asset_manifest.py +231 -0
  275. package/project-template/skills/playable-verify-ui/scripts/lib/__init__.py +1 -0
  276. package/project-template/skills/playable-verify-ui/scripts/lib/config_expr.js +218 -0
  277. package/project-template/skills/playable-verify-ui/scripts/lib/node_utils.js +51 -0
  278. package/project-template/skills/playable-verify-ui/scripts/lib/profile_loader.py +59 -0
  279. package/project-template/skills/playable-verify-ui/scripts/lib/report.py +106 -0
  280. package/project-template/skills/playable-verify-ui/scripts/lib/runtime_contract.js +116 -0
  281. package/project-template/skills/playable-verify-ui/scripts/measure_frame_content.py +77 -0
  282. package/project-template/skills/playable-verify-ui/scripts/run_all.py +265 -0
  283. package/project-template/skills/playable-verify-ui/scripts/verify_asset_sizes.py +77 -0
  284. package/project-template/skills/playable-verify-ui/scripts/verify_assets_present.py +62 -0
  285. package/project-template/skills/playable-verify-ui/scripts/verify_atlas_budget.py +84 -0
  286. package/project-template/skills/playable-verify-ui/scripts/verify_atlas_frames.py +79 -0
  287. package/project-template/skills/playable-verify-ui/scripts/verify_bg_clean.py +365 -0
  288. package/project-template/skills/playable-verify-ui/scripts/verify_doc_asset_sync.py +90 -0
  289. package/project-template/skills/playable-verify-ui/scripts/verify_fetch_antipatterns.py +59 -0
  290. package/project-template/skills/playable-verify-ui/scripts/verify_game_config_load.js +54 -0
  291. package/project-template/skills/playable-verify-ui/scripts/verify_hardcoded_layout.js +64 -0
  292. package/project-template/skills/playable-verify-ui/scripts/verify_layout_regions.js +110 -0
  293. package/project-template/skills/playable-verify-ui/scripts/verify_profile_schema.py +37 -0
  294. package/project-template/skills/playable-verify-ui/scripts/verify_ring1_visual.py +211 -0
  295. package/project-template/skills/playable-verify-ui/scripts/verify_runtime_contract.js +58 -0
  296. package/project-template/skills/playable-verify-ui/scripts/verify_script_load_order.js +73 -0
  297. package/project-template/skills/playable-verify-ui/scripts/verify_slice_plan.py +238 -0
  298. package/project-template/skills/playable-verify-ui/scripts/verify_slice_plan_test.py +125 -0
  299. package/project-template/skills/playable-verify-ui/scripts/verify_text_overlap.py +333 -0
  300. package/project-template/skills/playable-verify-ui/scripts/verify_tile_consistency.py +323 -0
  301. package/project-template/skills/playable-verify-ui/scripts/verify_vision_evidence.py +894 -0
  302. package/project-template/skills/playable-verify-ui/scripts/verify_vision_evidence_test.py +122 -0
  303. package/project-template/skills/playable-verify-ui/scripts/verify_visual.py +422 -0
  304. package/project-template/templates/{designer-log.template.md → artist-log.template.md} +26 -31
  305. package/project-template/templates/atom-tree.template.json +133 -0
  306. package/project-template/templates/design-brief.template.md +59 -162
  307. package/project-template/templates/design-lens-checklist.reference.md +14 -14
  308. package/project-template/templates/design-methodology.md +25 -25
  309. package/project-template/templates/design.template.md +50 -0
  310. package/project-template/templates/developer-log.template.md +187 -63
  311. package/project-template/templates/five-axis-framework.md +89 -44
  312. package/project-template/templates/gen-placeholder-audio.template.mjs +63 -0
  313. package/project-template/templates/gen-placeholders.template.mjs +81 -0
  314. package/project-template/templates/intent-clarifications.template.md +7 -7
  315. package/project-template/templates/layout-spec.template.md +32 -20
  316. package/project-template/templates/plan.template.md +80 -0
  317. package/project-template/templates/project-state.template.md +90 -191
  318. package/project-template/templates/review-report.template.md +208 -24
  319. package/project-template/templates/style-exploration.template.md +8 -8
  320. package/project-template/templates/ta-log.template.md +58 -35
  321. package/project-template/tsconfig.json +20 -0
  322. package/project-template/vite.config.ts +27 -0
  323. package/project-templates/phaser/.claude/agents/artist.md +101 -0
  324. package/project-templates/phaser/.claude/agents/developer.md +123 -0
  325. package/project-templates/phaser/.claude/agents/game-designer.md +192 -0
  326. package/project-templates/phaser/.claude/agents/refs/README.md +77 -0
  327. package/project-templates/phaser/.claude/agents/refs/artist-art-style-catalog.md +533 -0
  328. package/project-templates/phaser/.claude/agents/refs/artist-color-audio-recipes.md +153 -0
  329. package/project-templates/phaser/.claude/agents/refs/artist-deliverable-spec.md +230 -0
  330. package/project-templates/phaser/.claude/agents/refs/artist-dimension-axis.md +27 -0
  331. package/project-templates/phaser/.claude/agents/refs/artist-handoff-v2-checklist.md +76 -0
  332. package/project-templates/phaser/.claude/agents/refs/artist-legacy-fallback.md +14 -0
  333. package/project-templates/phaser/.claude/agents/refs/artist-master-composite-recipes.md +208 -0
  334. package/project-templates/phaser/.claude/agents/refs/artist-style-exploration-flow.md +55 -0
  335. package/project-templates/phaser/.claude/agents/refs/developer-dev-handoff.md +152 -0
  336. package/project-templates/phaser/.claude/agents/refs/developer-impl-cookbook.md +432 -0
  337. package/project-templates/phaser/.claude/agents/refs/developer-legacy-fallback.md +15 -0
  338. package/project-templates/phaser/.claude/agents/refs/developer-phase1-flow.md +404 -0
  339. package/project-templates/phaser/.claude/agents/refs/framework-5-component-filter.md +252 -0
  340. package/project-templates/phaser/.claude/agents/refs/framework-game-feel-juice.md +266 -0
  341. package/project-templates/phaser/.claude/agents/refs/framework-mda.md +147 -0
  342. package/project-templates/phaser/.claude/agents/refs/game-designer-gameplay-sufficiency.md +123 -0
  343. package/project-templates/phaser/.claude/agents/refs/game-designer-legacy-fallback.md +15 -0
  344. package/project-templates/phaser/.claude/agents/refs/game-designer-workflow-detail.md +69 -0
  345. package/project-templates/phaser/.claude/agents/refs/implementation-plan-guide.md +309 -0
  346. package/project-templates/phaser/.claude/agents/refs/reviewer-convergence-eval.md +350 -0
  347. package/project-templates/phaser/.claude/agents/refs/reviewer-legacy-fallback.md +14 -0
  348. package/project-templates/phaser/.claude/agents/refs/reviewer-six-dimension-eval.md +6 -0
  349. package/project-templates/phaser/.claude/agents/refs/skill-selector-guide.md +465 -0
  350. package/project-templates/phaser/.claude/agents/refs/skill-value-layers.md +145 -0
  351. package/project-templates/phaser/.claude/agents/refs/storyboard-generation-guide.md +110 -0
  352. package/project-templates/phaser/.claude/agents/refs/ta-3d-flip-recipe.md +88 -0
  353. package/project-templates/phaser/.claude/agents/refs/ta-atlas-deliverable-standard.md +67 -0
  354. package/project-templates/phaser/.claude/agents/refs/ta-batch-pipeline-recipes.md +120 -0
  355. package/project-templates/phaser/.claude/agents/refs/ta-image-generation-detail.md +300 -0
  356. package/project-templates/phaser/.claude/agents/refs/ta-image-ops-reference.md +495 -0
  357. package/project-templates/phaser/.claude/agents/refs/ta-pipeline-cookbook.md +1141 -0
  358. package/project-templates/phaser/.claude/agents/refs/ta-tools-reference.md +111 -0
  359. package/project-templates/phaser/.claude/agents/refs/ta-vfx-preset-catalog.md +365 -0
  360. package/project-templates/phaser/.claude/agents/refs/technical-artist-legacy-fallback.md +14 -0
  361. package/project-templates/phaser/.claude/agents/reviewer.md +116 -0
  362. package/project-templates/phaser/.claude/agents/technical-artist.md +100 -0
  363. package/project-templates/phaser/.claude/hooks/README.md +120 -0
  364. package/project-templates/phaser/.claude/hooks/asr-coverage-validate.mjs +381 -0
  365. package/project-templates/phaser/.claude/hooks/block-developer-preflight.mjs +185 -0
  366. package/project-templates/phaser/.claude/hooks/block-ring1-tasklist.mjs +95 -0
  367. package/project-templates/phaser/.claude/hooks/gate-dispatcher.mjs +78 -0
  368. package/project-templates/phaser/.claude/hooks/gate-runner.mjs +557 -0
  369. package/project-templates/phaser/.claude/hooks/gate.mjs +171 -0
  370. package/project-templates/phaser/.claude/hooks/snapshot-milestone.mjs +247 -0
  371. package/project-templates/phaser/.claude/hooks/user-prompt.mjs +194 -0
  372. package/project-templates/phaser/.claude/hooks/validate-atom-tree-selection.mjs +281 -0
  373. package/project-templates/phaser/.claude/hooks/validate-workflow-stop.mjs +1889 -0
  374. package/project-templates/phaser/.claude/settings.json +81 -0
  375. package/project-templates/phaser/.claude/skills/brainstorming/SKILL.md +161 -0
  376. package/project-templates/phaser/.claude/skills/brainstorming/scripts/frame-template.html +270 -0
  377. package/project-templates/phaser/.claude/skills/brainstorming/scripts/helper.js +177 -0
  378. package/project-templates/phaser/.claude/skills/brainstorming/scripts/server.cjs +354 -0
  379. package/project-templates/phaser/.claude/skills/brainstorming/scripts/start-server.sh +148 -0
  380. package/project-templates/phaser/.claude/skills/brainstorming/scripts/stop-server.sh +56 -0
  381. package/project-templates/phaser/.claude/skills/brainstorming/scripts/wait-for-selection.sh +62 -0
  382. package/project-templates/phaser/.claude/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  383. package/project-templates/phaser/.claude/skills/brainstorming/visual-companion.md +309 -0
  384. package/project-templates/phaser/.claude/skills/playcraft-ad-psychology/SKILL.md +182 -0
  385. package/project-templates/phaser/.claude/skills/playcraft-art-style-guide/SKILL.md +123 -0
  386. package/project-templates/phaser/.claude/skills/playcraft-asset-state-sheet/SKILL.md +205 -0
  387. package/project-templates/phaser/.claude/skills/playcraft-audio-generation/SKILL.md +280 -0
  388. package/project-templates/phaser/.claude/skills/playcraft-batch-pipeline/SKILL.md +184 -0
  389. package/project-templates/phaser/.claude/skills/playcraft-build-optimizer/SKILL.md +306 -0
  390. package/project-templates/phaser/.claude/skills/playcraft-image-generation/SKILL.md +298 -0
  391. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/build-sprite-sheet.template.mjs +123 -0
  392. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/compare-style.template.mjs +254 -0
  393. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +324 -0
  394. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +97 -0
  395. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/gen-edit-variants.template.mjs +118 -0
  396. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +137 -0
  397. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +397 -0
  398. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/validate-sprite-sheet.template.mjs +296 -0
  399. package/project-templates/phaser/.claude/skills/playcraft-image-ops/SKILL.md +122 -0
  400. package/project-templates/phaser/.claude/skills/playcraft-image-processing/SKILL.md +219 -0
  401. package/project-templates/phaser/.claude/skills/playcraft-masking/SKILL.md +373 -0
  402. package/project-templates/phaser/.claude/skills/playcraft-playable-optimization/SKILL.md +161 -0
  403. package/project-templates/phaser/.claude/skills/playcraft-research/SKILL.md +215 -0
  404. package/project-templates/phaser/.claude/skills/playcraft-skill-recommender/SKILL.md +331 -0
  405. package/project-templates/phaser/.claude/skills/playcraft-sprite-generation/SKILL.md +423 -0
  406. package/project-templates/phaser/.claude/skills/playcraft-sprite-remix/SKILL.md +158 -0
  407. package/project-templates/phaser/.claude/skills/playcraft-sprite-sheet/SKILL.md +100 -0
  408. package/project-templates/phaser/.claude/skills/playcraft-storyboard/SKILL.md +167 -0
  409. package/project-templates/phaser/.claude/skills/playcraft-style-qa/SKILL.md +270 -0
  410. package/project-templates/phaser/.claude/skills/playcraft-text-rendering/SKILL.md +236 -0
  411. package/project-templates/phaser/.claude/skills/playcraft-vfx-animation/SKILL.md +130 -0
  412. package/project-templates/phaser/.claude/skills/playwright-cli/SKILL.md +390 -0
  413. package/project-templates/phaser/.claude/skills/playwright-cli/references/element-attributes.md +23 -0
  414. package/project-templates/phaser/.claude/skills/playwright-cli/references/playwright-tests.md +39 -0
  415. package/project-templates/phaser/.claude/skills/playwright-cli/references/request-mocking.md +87 -0
  416. package/project-templates/phaser/.claude/skills/playwright-cli/references/running-code.md +240 -0
  417. package/project-templates/phaser/.claude/skills/playwright-cli/references/session-management.md +226 -0
  418. package/project-templates/phaser/.claude/skills/playwright-cli/references/spec-driven-testing.md +308 -0
  419. package/project-templates/phaser/.claude/skills/playwright-cli/references/storage-state.md +275 -0
  420. package/project-templates/phaser/.claude/skills/playwright-cli/references/test-generation.md +134 -0
  421. package/project-templates/phaser/.claude/skills/playwright-cli/references/tracing.md +142 -0
  422. package/project-templates/phaser/.claude/skills/playwright-cli/references/video-recording.md +153 -0
  423. package/project-templates/phaser/.claude/skills/session-analyzer/SKILL.md +386 -0
  424. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/execution-breakdown.mjs +182 -0
  425. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/find-turns.mjs +72 -0
  426. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/heavy-output.mjs +121 -0
  427. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/resolve-session.mjs +103 -0
  428. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/subagent-stats.mjs +127 -0
  429. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/subagent-tool-timeline.mjs +106 -0
  430. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/time-gaps.mjs +128 -0
  431. package/project-templates/phaser/.claude/skills/session-analyzer/scripts/turn-timeline.mjs +67 -0
  432. package/project-templates/phaser/.claude/snapshot.mjs +257 -0
  433. package/project-templates/phaser/.cursor/hooks.json +17 -0
  434. package/project-templates/phaser/.cursor/rules/playcraft-orchestrator.mdc +142 -0
  435. package/project-templates/phaser/.cursor/rules/playcraft-subagent-boundary.mdc +29 -0
  436. package/project-templates/phaser/.playcraft-engine +1 -0
  437. package/project-templates/phaser/CHANGELOG.md +105 -0
  438. package/project-templates/phaser/CLAUDE.md +84 -0
  439. package/project-templates/phaser/assets/audio/bgm/.gitkeep +0 -0
  440. package/project-templates/phaser/assets/audio/sfx/.gitkeep +0 -0
  441. package/project-templates/phaser/assets/bundles/.gitkeep +0 -0
  442. package/project-templates/phaser/assets/images/bg/.gitkeep +0 -0
  443. package/project-templates/phaser/assets/images/reference/.gitkeep +0 -0
  444. package/project-templates/phaser/assets/images/storyboard/.gitkeep +0 -0
  445. package/project-templates/phaser/assets/images/tiles/.gitkeep +0 -0
  446. package/project-templates/phaser/assets/images/ui/.gitkeep +0 -0
  447. package/project-templates/phaser/assets/images/vfx/.gitkeep +0 -0
  448. package/project-templates/phaser/assets/models/.gitkeep +0 -0
  449. package/project-templates/phaser/docs/DESIGN.md +65 -0
  450. package/project-templates/phaser/docs/intent-clarifications.md +58 -0
  451. package/project-templates/phaser/docs/pipeline-overview.md +69 -0
  452. package/project-templates/phaser/docs/project-state.md +211 -0
  453. package/project-templates/phaser/docs/scaffold-manifest.md +10 -0
  454. package/project-templates/phaser/docs/team/agent-conduct.md +67 -0
  455. package/project-templates/phaser/docs/team/agent-runtime-matrix.md +80 -0
  456. package/project-templates/phaser/docs/team/atom-tree-format.md +114 -0
  457. package/project-templates/phaser/docs/team/collaboration.md +391 -0
  458. package/project-templates/phaser/docs/team/core-model.md +85 -0
  459. package/project-templates/phaser/docs/team/game-designer-migration-todo.md +8 -0
  460. package/project-templates/phaser/docs/team/harness-legacy-deprecation.md +23 -0
  461. package/project-templates/phaser/docs/team/platform-capabilities.md +18 -0
  462. package/project-templates/phaser/docs/team/workflow-changelog.md +137 -0
  463. package/project-templates/phaser/docs/team/workflow-consistency-checklist.md +240 -0
  464. package/project-templates/phaser/focus-lab/.gitkeep +0 -0
  465. package/project-templates/phaser/game/adapters/phaser.ts +52 -0
  466. package/project-templates/phaser/game/config/.gitkeep +0 -0
  467. package/project-templates/phaser/game/config/game-config.ts +46 -0
  468. package/project-templates/phaser/game/contract/publish.ts +141 -0
  469. package/project-templates/phaser/game/contract/types.ts +34 -0
  470. package/project-templates/phaser/game/gameplay/.gitkeep +0 -0
  471. package/project-templates/phaser/game/index.ts +81 -0
  472. package/project-templates/phaser/game/runtime-contract.ts +28 -0
  473. package/project-templates/phaser/game/scenes/.gitkeep +0 -0
  474. package/project-templates/phaser/globals.d.ts +51 -0
  475. package/project-templates/phaser/index.css +34 -0
  476. package/project-templates/phaser/index.html +18 -0
  477. package/project-templates/phaser/main.ts +9 -0
  478. package/project-templates/phaser/package.json +79 -0
  479. package/project-templates/phaser/skills/README.md +52 -0
  480. package/project-templates/phaser/skills/_shared/agent-prep.md +136 -0
  481. package/project-templates/phaser/skills/_shared/requirements.txt +1 -0
  482. package/project-templates/phaser/skills/_shared/scripts/build-evidence-gate.mjs +87 -0
  483. package/project-templates/phaser/skills/_shared/scripts/context-budget.mjs +215 -0
  484. package/project-templates/phaser/skills/_shared/scripts/create-playable.mjs +140 -0
  485. package/project-templates/phaser/skills/_shared/scripts/dev-start.mjs +151 -0
  486. package/project-templates/phaser/skills/_shared/scripts/disclosure-config.mjs +480 -0
  487. package/project-templates/phaser/skills/_shared/scripts/ensure-project.mjs +532 -0
  488. package/project-templates/phaser/skills/_shared/scripts/gen-placeholder-audio.py +345 -0
  489. package/project-templates/phaser/skills/_shared/scripts/gen-placeholder.py +244 -0
  490. package/project-templates/phaser/skills/_shared/scripts/harness-smoke.mjs +257 -0
  491. package/project-templates/phaser/skills/_shared/scripts/lib/validator-artifacts.mjs +129 -0
  492. package/project-templates/phaser/skills/_shared/scripts/placeholder-pack-sheet.mjs +67 -0
  493. package/project-templates/phaser/skills/_shared/scripts/placeholder_audio_lib.py +142 -0
  494. package/project-templates/phaser/skills/_shared/scripts/placeholder_lib.py +993 -0
  495. package/project-templates/phaser/skills/_shared/scripts/render-project-state.mjs +278 -0
  496. package/project-templates/phaser/skills/_shared/scripts/ring-config.mjs +252 -0
  497. package/project-templates/phaser/skills/_shared/scripts/skills-check.mjs +176 -0
  498. package/project-templates/phaser/skills/_shared/scripts/slice-set.mjs +77 -0
  499. package/project-templates/phaser/skills/_shared/scripts/state-advance-ring.mjs +63 -0
  500. package/project-templates/phaser/skills/_shared/scripts/state-get.mjs +215 -0
  501. package/project-templates/phaser/skills/_shared/scripts/state-handoff.mjs +120 -0
  502. package/project-templates/phaser/skills/_shared/scripts/state-set.mjs +113 -0
  503. package/project-templates/phaser/skills/_shared/scripts/state-store.mjs +893 -0
  504. package/project-templates/phaser/skills/_shared/scripts/sync-template-skills.mjs +112 -0
  505. package/project-templates/phaser/skills/_shared/scripts/verify-asset-code-sync.mjs +265 -0
  506. package/project-templates/phaser/skills/_shared/scripts/verify-atom-conformance.mjs +181 -0
  507. package/project-templates/phaser/skills/_shared/scripts/verify-env.mjs +285 -0
  508. package/project-templates/phaser/skills/_shared/scripts/verify-placeholders.mjs +161 -0
  509. package/project-templates/phaser/skills/_shared/scripts/workflow-doctor.mjs +348 -0
  510. package/project-templates/phaser/skills/playable-animate/SKILL.md +52 -0
  511. package/project-templates/phaser/skills/playable-animate/agents/openai.yaml +4 -0
  512. package/project-templates/phaser/skills/playable-animate/references/board-refresh.md +30 -0
  513. package/project-templates/phaser/skills/playable-animate/references/diagnosis-checklist.md +25 -0
  514. package/project-templates/phaser/skills/playable-animate/references/entrance-sequencing.md +33 -0
  515. package/project-templates/phaser/skills/playable-animate/references/interaction-timing.md +23 -0
  516. package/project-templates/phaser/skills/playable-art/SKILL.md +203 -0
  517. package/project-templates/phaser/skills/playable-art/agents/openai.yaml +4 -0
  518. package/project-templates/phaser/skills/playable-art/references/alpha-postprocess.md +46 -0
  519. package/project-templates/phaser/skills/playable-art/references/cta-art-spec.md +59 -0
  520. package/project-templates/phaser/skills/playable-art/references/layout-proportions.md +30 -0
  521. package/project-templates/phaser/skills/playable-art/references/prompt-patterns.md +83 -0
  522. package/project-templates/phaser/skills/playable-art/references/reference-comparison.md +30 -0
  523. package/project-templates/phaser/skills/playable-art/references/sheet-import-v2.md +91 -0
  524. package/project-templates/phaser/skills/playable-art/scripts/build-atlas.py +332 -0
  525. package/project-templates/phaser/skills/playable-art/scripts/chroma-key.py +50 -0
  526. package/project-templates/phaser/skills/playable-art/scripts/extract-alpha-split.py +65 -0
  527. package/project-templates/phaser/skills/playable-art/scripts/extract-dual-bg-alpha.py +118 -0
  528. package/project-templates/phaser/skills/playable-art/scripts/import-gpt-art-sheets-v2.py +403 -0
  529. package/project-templates/phaser/skills/playable-art/scripts/import-gpt-art-sheets.py +280 -0
  530. package/project-templates/phaser/skills/playable-art/scripts/import-gpt-tile-sheet.py +114 -0
  531. package/project-templates/phaser/skills/playable-art/scripts/import_gpt_art_pipeline.py +321 -0
  532. package/project-templates/phaser/skills/playable-art/scripts/import_gpt_art_sheets_v2_test.py +126 -0
  533. package/project-templates/phaser/skills/playable-art/scripts/placeholder_common.py +98 -0
  534. package/project-templates/phaser/skills/playable-art/scripts/remove-bg.py +91 -0
  535. package/project-templates/phaser/skills/playable-art/scripts/review-processed-assets.py +468 -0
  536. package/project-templates/phaser/skills/playable-art/scripts/review_processed_assets_test.py +116 -0
  537. package/project-templates/phaser/skills/playable-art/scripts/verify-alpha-clean.py +105 -0
  538. package/project-templates/phaser/skills/playable-debug/SKILL.md +116 -0
  539. package/project-templates/phaser/skills/playable-debug/agents/openai.yaml +4 -0
  540. package/project-templates/phaser/skills/playable-debug/references/debug-config.md +40 -0
  541. package/project-templates/phaser/skills/playable-focus/SKILL.md +148 -0
  542. package/project-templates/phaser/skills/playable-focus/scripts/bootstrap-playground.mjs +84 -0
  543. package/project-templates/phaser/skills/playable-focus/scripts/extract-focus-frames.mjs +87 -0
  544. package/project-templates/phaser/skills/playable-focus/scripts/generate-focus-reports.mjs +121 -0
  545. package/project-templates/phaser/skills/playable-focus/scripts/playground.mjs +390 -0
  546. package/project-templates/phaser/skills/playable-focus/templates/focus-lab/frame.html +39 -0
  547. package/project-templates/phaser/skills/playable-focus/templates/focus-lab/harness/clean-stage.js +114 -0
  548. package/project-templates/phaser/skills/playable-focus/templates/focus-lab/harness/frame-lab-scene.js +94 -0
  549. package/project-templates/phaser/skills/playable-focus/templates/focus-lab/harness/particle-lab-scene.js +224 -0
  550. package/project-templates/phaser/skills/playable-focus/templates/focus-lab/model.html +16 -0
  551. package/project-templates/phaser/skills/playable-focus/templates/focus-lab/particle.html +38 -0
  552. package/project-templates/phaser/skills/playable-focus/templates/focus-lab/shatter.html +47 -0
  553. package/project-templates/phaser/skills/playable-fx-decompose/SKILL.md +212 -0
  554. package/project-templates/phaser/skills/playable-fx-decompose/examples.md +89 -0
  555. package/project-templates/phaser/skills/playable-fx-decompose/reference.md +201 -0
  556. package/project-templates/phaser/skills/playable-fx-decompose/requirements.txt +2 -0
  557. package/project-templates/phaser/skills/playable-fx-decompose/scripts/build-blank-tile-crack.py +192 -0
  558. package/project-templates/phaser/skills/playable-fx-decompose/scripts/fix-shard-debris-frames.py +60 -0
  559. package/project-templates/phaser/skills/playable-fx-decompose/scripts/generate-shard-debris.py +276 -0
  560. package/project-templates/phaser/skills/playable-fx-peak/SKILL.md +237 -0
  561. package/project-templates/phaser/skills/playable-fx-peak/requirements.txt +2 -0
  562. package/project-templates/phaser/skills/playable-fx-peak/scripts/fix-frame-edges.py +70 -0
  563. package/project-templates/phaser/skills/playable-fx-peak/scripts/repack-frame-sequence.py +526 -0
  564. package/project-templates/phaser/skills/playable-fx-peak/scripts/validate-frame-anchors.py +130 -0
  565. package/project-templates/phaser/skills/playable-placeholder/SKILL.md +239 -0
  566. package/project-templates/phaser/skills/playable-record/SKILL.md +166 -0
  567. package/project-templates/phaser/skills/playable-record/scripts/lib/build-artifact.mjs +92 -0
  568. package/project-templates/phaser/skills/playable-record/scripts/lib/dev-server.mjs +104 -0
  569. package/project-templates/phaser/skills/playable-record/scripts/lib/record-audio-bridge.js +141 -0
  570. package/project-templates/phaser/skills/playable-record/scripts/lib/slice-structure-verify.mjs +199 -0
  571. package/project-templates/phaser/skills/playable-record/scripts/record-playable.mjs +583 -0
  572. package/project-templates/phaser/skills/playable-record/scripts/verify-build.mjs +185 -0
  573. package/project-templates/phaser/skills/playable-record/scripts/verify-contract.mjs +261 -0
  574. package/project-templates/phaser/skills/playable-record/scripts/verify-firstwin.mjs +398 -0
  575. package/project-templates/phaser/skills/playable-record/scripts/verify-fusion.mjs +320 -0
  576. package/project-templates/phaser/skills/playable-record/scripts/verify-lifecycle.mjs +78 -0
  577. package/project-templates/phaser/skills/playable-record/scripts/verify-slice-artist.mjs +53 -0
  578. package/project-templates/phaser/skills/playable-record/scripts/verify-slice-ta.mjs +53 -0
  579. package/project-templates/phaser/skills/playable-record/scripts/verify-slice.mjs +142 -0
  580. package/project-templates/phaser/skills/playable-record/scripts/verify-visual-ring.mjs +250 -0
  581. package/project-templates/phaser/skills/playable-record/scripts/verify-visual-ring1.mjs +190 -0
  582. package/project-templates/phaser/skills/playable-record/scripts/verify-vlm-video.mjs +227 -0
  583. package/project-templates/phaser/skills/playable-validate/SKILL.md +260 -0
  584. package/project-templates/phaser/skills/playable-validate/references/checklist-detail.md +36 -0
  585. package/project-templates/phaser/skills/playable-validate/references/single-html-bundle.md +76 -0
  586. package/project-templates/phaser/skills/playable-validate/validation-rules.md +200 -0
  587. package/project-templates/phaser/skills/playable-verify-ui/SKILL.md +295 -0
  588. package/project-templates/phaser/skills/playable-verify-ui/examples/asset-manifest.example.json +36 -0
  589. package/project-templates/phaser/skills/playable-verify-ui/examples/mahjong-match.profile.yaml +334 -0
  590. package/project-templates/phaser/skills/playable-verify-ui/profiles/template.profile.yaml +84 -0
  591. package/project-templates/phaser/skills/playable-verify-ui/reference.md +165 -0
  592. package/project-templates/phaser/skills/playable-verify-ui/references/phaser-patterns.md +67 -0
  593. package/project-templates/phaser/skills/playable-verify-ui/references/scaling-decision-tree.md +51 -0
  594. package/project-templates/phaser/skills/playable-verify-ui/requirements.txt +7 -0
  595. package/project-templates/phaser/skills/playable-verify-ui/schema/asset-manifest.schema.json +68 -0
  596. package/project-templates/phaser/skills/playable-verify-ui/schema/playable-ui-profile.schema.json +171 -0
  597. package/project-templates/phaser/skills/playable-verify-ui/scripts/asset_manifest.py +231 -0
  598. package/project-templates/phaser/skills/playable-verify-ui/scripts/lib/__init__.py +1 -0
  599. package/project-templates/phaser/skills/playable-verify-ui/scripts/lib/config_expr.js +218 -0
  600. package/project-templates/phaser/skills/playable-verify-ui/scripts/lib/node_utils.js +51 -0
  601. package/project-templates/phaser/skills/playable-verify-ui/scripts/lib/profile_loader.py +59 -0
  602. package/project-templates/phaser/skills/playable-verify-ui/scripts/lib/report.py +106 -0
  603. package/project-templates/phaser/skills/playable-verify-ui/scripts/lib/runtime_contract.js +116 -0
  604. package/project-templates/phaser/skills/playable-verify-ui/scripts/measure_frame_content.py +77 -0
  605. package/project-templates/phaser/skills/playable-verify-ui/scripts/run_all.py +265 -0
  606. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_asset_sizes.py +77 -0
  607. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_assets_present.py +62 -0
  608. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_atlas_budget.py +84 -0
  609. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_atlas_frames.py +79 -0
  610. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_bg_clean.py +365 -0
  611. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_doc_asset_sync.py +90 -0
  612. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_fetch_antipatterns.py +59 -0
  613. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_game_config_load.js +54 -0
  614. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_hardcoded_layout.js +64 -0
  615. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_layout_regions.js +110 -0
  616. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_profile_schema.py +37 -0
  617. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_ring1_visual.py +211 -0
  618. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_runtime_contract.js +58 -0
  619. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_script_load_order.js +73 -0
  620. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_slice_plan.py +238 -0
  621. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_slice_plan_test.py +125 -0
  622. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_text_overlap.py +333 -0
  623. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_tile_consistency.py +323 -0
  624. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_vision_evidence.py +894 -0
  625. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_vision_evidence_test.py +122 -0
  626. package/project-templates/phaser/skills/playable-verify-ui/scripts/verify_visual.py +422 -0
  627. package/project-templates/phaser/ta-workspace/scripts/.gitkeep +0 -0
  628. package/project-templates/phaser/templates/artist-log.template.md +182 -0
  629. package/project-templates/phaser/templates/atom-tree.template.json +133 -0
  630. package/project-templates/phaser/templates/design-brief.template.md +92 -0
  631. package/project-templates/phaser/templates/design-lens-checklist.reference.md +117 -0
  632. package/project-templates/phaser/templates/design-methodology.md +99 -0
  633. package/project-templates/phaser/templates/design.template.md +50 -0
  634. package/project-templates/phaser/templates/developer-log.template.md +258 -0
  635. package/project-templates/phaser/templates/five-axis-framework.md +194 -0
  636. package/project-templates/phaser/templates/gen-placeholder-audio.template.mjs +63 -0
  637. package/project-templates/phaser/templates/gen-placeholders.template.mjs +81 -0
  638. package/project-templates/phaser/templates/intent-clarifications.template.md +58 -0
  639. package/project-templates/phaser/templates/layout-spec.template.md +198 -0
  640. package/project-templates/phaser/templates/plan.template.md +80 -0
  641. package/project-templates/phaser/templates/project-state.template.md +136 -0
  642. package/project-templates/phaser/templates/review-report.template.md +275 -0
  643. package/project-templates/phaser/templates/style-exploration.template.md +93 -0
  644. package/project-templates/phaser/templates/ta-log.template.md +394 -0
  645. package/project-templates/phaser/tsconfig.json +20 -0
  646. package/project-templates/phaser/vite.config.ts +27 -0
  647. package/project-templates/threejs/.claude/agents/artist.md +101 -0
  648. package/project-templates/threejs/.claude/agents/developer.md +123 -0
  649. package/project-templates/threejs/.claude/agents/game-designer.md +192 -0
  650. package/project-templates/threejs/.claude/agents/refs/README.md +77 -0
  651. package/project-templates/threejs/.claude/agents/refs/artist-art-style-catalog.md +533 -0
  652. package/project-templates/threejs/.claude/agents/refs/artist-color-audio-recipes.md +153 -0
  653. package/project-templates/threejs/.claude/agents/refs/artist-deliverable-spec.md +230 -0
  654. package/project-templates/threejs/.claude/agents/refs/artist-dimension-axis.md +27 -0
  655. package/project-templates/threejs/.claude/agents/refs/artist-handoff-v2-checklist.md +76 -0
  656. package/project-templates/threejs/.claude/agents/refs/artist-legacy-fallback.md +14 -0
  657. package/project-templates/threejs/.claude/agents/refs/artist-master-composite-recipes.md +208 -0
  658. package/project-templates/threejs/.claude/agents/refs/artist-style-exploration-flow.md +55 -0
  659. package/project-templates/threejs/.claude/agents/refs/developer-dev-handoff.md +152 -0
  660. package/project-templates/threejs/.claude/agents/refs/developer-impl-cookbook.md +432 -0
  661. package/project-templates/threejs/.claude/agents/refs/developer-legacy-fallback.md +15 -0
  662. package/project-templates/threejs/.claude/agents/refs/developer-phase1-flow.md +404 -0
  663. package/project-templates/threejs/.claude/agents/refs/framework-5-component-filter.md +252 -0
  664. package/project-templates/threejs/.claude/agents/refs/framework-game-feel-juice.md +266 -0
  665. package/project-templates/threejs/.claude/agents/refs/framework-mda.md +147 -0
  666. package/project-templates/threejs/.claude/agents/refs/game-designer-gameplay-sufficiency.md +123 -0
  667. package/project-templates/threejs/.claude/agents/refs/game-designer-legacy-fallback.md +15 -0
  668. package/project-templates/threejs/.claude/agents/refs/game-designer-workflow-detail.md +69 -0
  669. package/project-templates/threejs/.claude/agents/refs/implementation-plan-guide.md +309 -0
  670. package/project-templates/threejs/.claude/agents/refs/reviewer-convergence-eval.md +350 -0
  671. package/project-templates/threejs/.claude/agents/refs/reviewer-legacy-fallback.md +14 -0
  672. package/project-templates/threejs/.claude/agents/refs/reviewer-six-dimension-eval.md +6 -0
  673. package/project-templates/threejs/.claude/agents/refs/skill-selector-guide.md +465 -0
  674. package/project-templates/threejs/.claude/agents/refs/skill-value-layers.md +145 -0
  675. package/project-templates/threejs/.claude/agents/refs/storyboard-generation-guide.md +110 -0
  676. package/project-templates/threejs/.claude/agents/refs/ta-3d-flip-recipe.md +88 -0
  677. package/project-templates/threejs/.claude/agents/refs/ta-atlas-deliverable-standard.md +67 -0
  678. package/project-templates/threejs/.claude/agents/refs/ta-batch-pipeline-recipes.md +120 -0
  679. package/project-templates/threejs/.claude/agents/refs/ta-image-generation-detail.md +300 -0
  680. package/project-templates/threejs/.claude/agents/refs/ta-image-ops-reference.md +495 -0
  681. package/project-templates/threejs/.claude/agents/refs/ta-pipeline-cookbook.md +1141 -0
  682. package/project-templates/threejs/.claude/agents/refs/ta-tools-reference.md +111 -0
  683. package/project-templates/threejs/.claude/agents/refs/ta-vfx-preset-catalog.md +365 -0
  684. package/project-templates/threejs/.claude/agents/refs/technical-artist-legacy-fallback.md +14 -0
  685. package/project-templates/threejs/.claude/agents/reviewer.md +116 -0
  686. package/project-templates/threejs/.claude/agents/technical-artist.md +100 -0
  687. package/project-templates/threejs/.claude/hooks/README.md +120 -0
  688. package/project-templates/threejs/.claude/hooks/asr-coverage-validate.mjs +381 -0
  689. package/project-templates/threejs/.claude/hooks/block-developer-preflight.mjs +185 -0
  690. package/project-templates/threejs/.claude/hooks/block-ring1-tasklist.mjs +95 -0
  691. package/project-templates/threejs/.claude/hooks/gate-dispatcher.mjs +78 -0
  692. package/project-templates/threejs/.claude/hooks/gate-runner.mjs +557 -0
  693. package/project-templates/threejs/.claude/hooks/gate.mjs +171 -0
  694. package/project-templates/threejs/.claude/hooks/snapshot-milestone.mjs +247 -0
  695. package/project-templates/threejs/.claude/hooks/user-prompt.mjs +194 -0
  696. package/project-templates/threejs/.claude/hooks/validate-atom-tree-selection.mjs +281 -0
  697. package/project-templates/threejs/.claude/hooks/validate-workflow-stop.mjs +1889 -0
  698. package/project-templates/threejs/.claude/settings.json +81 -0
  699. package/project-templates/threejs/.claude/skills/brainstorming/SKILL.md +161 -0
  700. package/project-templates/threejs/.claude/skills/brainstorming/scripts/frame-template.html +270 -0
  701. package/project-templates/threejs/.claude/skills/brainstorming/scripts/helper.js +177 -0
  702. package/project-templates/threejs/.claude/skills/brainstorming/scripts/server.cjs +354 -0
  703. package/project-templates/threejs/.claude/skills/brainstorming/scripts/start-server.sh +148 -0
  704. package/project-templates/threejs/.claude/skills/brainstorming/scripts/stop-server.sh +56 -0
  705. package/project-templates/threejs/.claude/skills/brainstorming/scripts/wait-for-selection.sh +62 -0
  706. package/project-templates/threejs/.claude/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  707. package/project-templates/threejs/.claude/skills/brainstorming/visual-companion.md +309 -0
  708. package/project-templates/threejs/.claude/skills/playcraft-ad-psychology/SKILL.md +182 -0
  709. package/project-templates/threejs/.claude/skills/playcraft-art-style-guide/SKILL.md +123 -0
  710. package/project-templates/threejs/.claude/skills/playcraft-asset-state-sheet/SKILL.md +205 -0
  711. package/project-templates/threejs/.claude/skills/playcraft-audio-generation/SKILL.md +280 -0
  712. package/project-templates/threejs/.claude/skills/playcraft-batch-pipeline/SKILL.md +184 -0
  713. package/project-templates/threejs/.claude/skills/playcraft-build-optimizer/SKILL.md +306 -0
  714. package/project-templates/threejs/.claude/skills/playcraft-image-generation/SKILL.md +298 -0
  715. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/build-sprite-sheet.template.mjs +123 -0
  716. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/compare-style.template.mjs +254 -0
  717. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +324 -0
  718. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +97 -0
  719. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/gen-edit-variants.template.mjs +118 -0
  720. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +137 -0
  721. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +397 -0
  722. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/validate-sprite-sheet.template.mjs +296 -0
  723. package/project-templates/threejs/.claude/skills/playcraft-image-ops/SKILL.md +122 -0
  724. package/project-templates/threejs/.claude/skills/playcraft-image-processing/SKILL.md +219 -0
  725. package/project-templates/threejs/.claude/skills/playcraft-masking/SKILL.md +373 -0
  726. package/project-templates/threejs/.claude/skills/playcraft-playable-optimization/SKILL.md +161 -0
  727. package/project-templates/threejs/.claude/skills/playcraft-research/SKILL.md +215 -0
  728. package/project-templates/threejs/.claude/skills/playcraft-skill-recommender/SKILL.md +331 -0
  729. package/project-templates/threejs/.claude/skills/playcraft-sprite-generation/SKILL.md +423 -0
  730. package/project-templates/threejs/.claude/skills/playcraft-sprite-remix/SKILL.md +158 -0
  731. package/project-templates/threejs/.claude/skills/playcraft-sprite-sheet/SKILL.md +100 -0
  732. package/project-templates/threejs/.claude/skills/playcraft-storyboard/SKILL.md +167 -0
  733. package/project-templates/threejs/.claude/skills/playcraft-style-qa/SKILL.md +270 -0
  734. package/project-templates/threejs/.claude/skills/playcraft-text-rendering/SKILL.md +236 -0
  735. package/project-templates/threejs/.claude/skills/playcraft-vfx-animation/SKILL.md +130 -0
  736. package/project-templates/threejs/.claude/skills/playwright-cli/SKILL.md +390 -0
  737. package/project-templates/threejs/.claude/skills/playwright-cli/references/element-attributes.md +23 -0
  738. package/project-templates/threejs/.claude/skills/playwright-cli/references/playwright-tests.md +39 -0
  739. package/project-templates/threejs/.claude/skills/playwright-cli/references/request-mocking.md +87 -0
  740. package/project-templates/threejs/.claude/skills/playwright-cli/references/running-code.md +240 -0
  741. package/project-templates/threejs/.claude/skills/playwright-cli/references/session-management.md +226 -0
  742. package/project-templates/threejs/.claude/skills/playwright-cli/references/spec-driven-testing.md +308 -0
  743. package/project-templates/threejs/.claude/skills/playwright-cli/references/storage-state.md +275 -0
  744. package/project-templates/threejs/.claude/skills/playwright-cli/references/test-generation.md +134 -0
  745. package/project-templates/threejs/.claude/skills/playwright-cli/references/tracing.md +142 -0
  746. package/project-templates/threejs/.claude/skills/playwright-cli/references/video-recording.md +153 -0
  747. package/project-templates/threejs/.claude/skills/session-analyzer/SKILL.md +386 -0
  748. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/execution-breakdown.mjs +182 -0
  749. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/find-turns.mjs +72 -0
  750. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/heavy-output.mjs +121 -0
  751. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/resolve-session.mjs +103 -0
  752. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/subagent-stats.mjs +127 -0
  753. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/subagent-tool-timeline.mjs +106 -0
  754. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/time-gaps.mjs +128 -0
  755. package/project-templates/threejs/.claude/skills/session-analyzer/scripts/turn-timeline.mjs +67 -0
  756. package/project-templates/threejs/.claude/snapshot.mjs +257 -0
  757. package/project-templates/threejs/.cursor/hooks.json +17 -0
  758. package/project-templates/threejs/.cursor/rules/playcraft-orchestrator.mdc +142 -0
  759. package/project-templates/threejs/.cursor/rules/playcraft-subagent-boundary.mdc +29 -0
  760. package/project-templates/threejs/.playcraft-engine +1 -0
  761. package/project-templates/threejs/CHANGELOG.md +105 -0
  762. package/project-templates/threejs/CLAUDE.md +84 -0
  763. package/project-templates/threejs/assets/audio/bgm/.gitkeep +0 -0
  764. package/project-templates/threejs/assets/audio/sfx/.gitkeep +0 -0
  765. package/project-templates/threejs/assets/bundles/.gitkeep +0 -0
  766. package/project-templates/threejs/assets/images/bg/.gitkeep +0 -0
  767. package/project-templates/threejs/assets/images/reference/.gitkeep +0 -0
  768. package/project-templates/threejs/assets/images/storyboard/.gitkeep +0 -0
  769. package/project-templates/threejs/assets/images/tiles/.gitkeep +0 -0
  770. package/project-templates/threejs/assets/images/ui/.gitkeep +0 -0
  771. package/project-templates/threejs/assets/images/vfx/.gitkeep +0 -0
  772. package/project-templates/threejs/assets/models/.gitkeep +0 -0
  773. package/project-templates/threejs/docs/DESIGN.md +65 -0
  774. package/project-templates/threejs/docs/intent-clarifications.md +58 -0
  775. package/project-templates/threejs/docs/pipeline-overview.md +69 -0
  776. package/project-templates/threejs/docs/project-state.md +211 -0
  777. package/project-templates/threejs/docs/scaffold-manifest.md +10 -0
  778. package/project-templates/threejs/docs/team/agent-conduct.md +67 -0
  779. package/project-templates/threejs/docs/team/agent-runtime-matrix.md +80 -0
  780. package/project-templates/threejs/docs/team/atom-tree-format.md +114 -0
  781. package/project-templates/threejs/docs/team/collaboration.md +391 -0
  782. package/project-templates/threejs/docs/team/core-model.md +85 -0
  783. package/project-templates/threejs/docs/team/game-designer-migration-todo.md +8 -0
  784. package/project-templates/threejs/docs/team/harness-legacy-deprecation.md +23 -0
  785. package/project-templates/threejs/docs/team/platform-capabilities.md +18 -0
  786. package/project-templates/threejs/docs/team/workflow-changelog.md +137 -0
  787. package/project-templates/threejs/docs/team/workflow-consistency-checklist.md +240 -0
  788. package/project-templates/threejs/focus-lab/.gitkeep +0 -0
  789. package/project-templates/threejs/game/config/.gitkeep +0 -0
  790. package/project-templates/threejs/game/config/game-config.ts +46 -0
  791. package/project-templates/threejs/game/contract/publish.ts +141 -0
  792. package/project-templates/threejs/game/contract/types.ts +34 -0
  793. package/project-templates/threejs/game/gameplay/.gitkeep +0 -0
  794. package/project-templates/threejs/game/index.ts +76 -0
  795. package/project-templates/threejs/game/runtime-contract.ts +15 -0
  796. package/project-templates/threejs/game/scenes/.gitkeep +0 -0
  797. package/project-templates/threejs/globals.d.ts +51 -0
  798. package/project-templates/threejs/index.css +34 -0
  799. package/project-templates/threejs/index.html +18 -0
  800. package/project-templates/threejs/main.ts +9 -0
  801. package/project-templates/threejs/package.json +79 -0
  802. package/project-templates/threejs/skills/README.md +52 -0
  803. package/project-templates/threejs/skills/_shared/agent-prep.md +136 -0
  804. package/project-templates/threejs/skills/_shared/requirements.txt +1 -0
  805. package/project-templates/threejs/skills/_shared/scripts/build-evidence-gate.mjs +87 -0
  806. package/project-templates/threejs/skills/_shared/scripts/context-budget.mjs +215 -0
  807. package/project-templates/threejs/skills/_shared/scripts/create-playable.mjs +140 -0
  808. package/project-templates/threejs/skills/_shared/scripts/dev-start.mjs +151 -0
  809. package/project-templates/threejs/skills/_shared/scripts/disclosure-config.mjs +480 -0
  810. package/project-templates/threejs/skills/_shared/scripts/ensure-project.mjs +532 -0
  811. package/project-templates/threejs/skills/_shared/scripts/gen-placeholder-audio.py +345 -0
  812. package/project-templates/threejs/skills/_shared/scripts/gen-placeholder.py +244 -0
  813. package/project-templates/threejs/skills/_shared/scripts/harness-smoke.mjs +257 -0
  814. package/project-templates/threejs/skills/_shared/scripts/lib/validator-artifacts.mjs +129 -0
  815. package/project-templates/threejs/skills/_shared/scripts/placeholder-pack-sheet.mjs +67 -0
  816. package/project-templates/threejs/skills/_shared/scripts/placeholder_audio_lib.py +142 -0
  817. package/project-templates/threejs/skills/_shared/scripts/placeholder_lib.py +993 -0
  818. package/project-templates/threejs/skills/_shared/scripts/render-project-state.mjs +278 -0
  819. package/project-templates/threejs/skills/_shared/scripts/ring-config.mjs +252 -0
  820. package/project-templates/threejs/skills/_shared/scripts/skills-check.mjs +176 -0
  821. package/project-templates/threejs/skills/_shared/scripts/slice-set.mjs +77 -0
  822. package/project-templates/threejs/skills/_shared/scripts/state-advance-ring.mjs +63 -0
  823. package/project-templates/threejs/skills/_shared/scripts/state-get.mjs +215 -0
  824. package/project-templates/threejs/skills/_shared/scripts/state-handoff.mjs +120 -0
  825. package/project-templates/threejs/skills/_shared/scripts/state-set.mjs +113 -0
  826. package/project-templates/threejs/skills/_shared/scripts/state-store.mjs +893 -0
  827. package/project-templates/threejs/skills/_shared/scripts/sync-template-skills.mjs +112 -0
  828. package/project-templates/threejs/skills/_shared/scripts/verify-asset-code-sync.mjs +265 -0
  829. package/project-templates/threejs/skills/_shared/scripts/verify-atom-conformance.mjs +181 -0
  830. package/project-templates/threejs/skills/_shared/scripts/verify-env.mjs +285 -0
  831. package/project-templates/threejs/skills/_shared/scripts/verify-placeholders.mjs +161 -0
  832. package/project-templates/threejs/skills/_shared/scripts/workflow-doctor.mjs +348 -0
  833. package/project-templates/threejs/skills/playable-animate/SKILL.md +52 -0
  834. package/project-templates/threejs/skills/playable-animate/agents/openai.yaml +4 -0
  835. package/project-templates/threejs/skills/playable-animate/references/board-refresh.md +30 -0
  836. package/project-templates/threejs/skills/playable-animate/references/diagnosis-checklist.md +25 -0
  837. package/project-templates/threejs/skills/playable-animate/references/entrance-sequencing.md +33 -0
  838. package/project-templates/threejs/skills/playable-animate/references/interaction-timing.md +23 -0
  839. package/project-templates/threejs/skills/playable-art/SKILL.md +203 -0
  840. package/project-templates/threejs/skills/playable-art/agents/openai.yaml +4 -0
  841. package/project-templates/threejs/skills/playable-art/references/alpha-postprocess.md +46 -0
  842. package/project-templates/threejs/skills/playable-art/references/cta-art-spec.md +59 -0
  843. package/project-templates/threejs/skills/playable-art/references/layout-proportions.md +30 -0
  844. package/project-templates/threejs/skills/playable-art/references/prompt-patterns.md +83 -0
  845. package/project-templates/threejs/skills/playable-art/references/reference-comparison.md +30 -0
  846. package/project-templates/threejs/skills/playable-art/references/sheet-import-v2.md +91 -0
  847. package/project-templates/threejs/skills/playable-art/scripts/build-atlas.py +332 -0
  848. package/project-templates/threejs/skills/playable-art/scripts/chroma-key.py +50 -0
  849. package/project-templates/threejs/skills/playable-art/scripts/extract-alpha-split.py +65 -0
  850. package/project-templates/threejs/skills/playable-art/scripts/extract-dual-bg-alpha.py +118 -0
  851. package/project-templates/threejs/skills/playable-art/scripts/import-gpt-art-sheets-v2.py +403 -0
  852. package/project-templates/threejs/skills/playable-art/scripts/import-gpt-art-sheets.py +280 -0
  853. package/project-templates/threejs/skills/playable-art/scripts/import-gpt-tile-sheet.py +114 -0
  854. package/project-templates/threejs/skills/playable-art/scripts/import_gpt_art_pipeline.py +321 -0
  855. package/project-templates/threejs/skills/playable-art/scripts/import_gpt_art_sheets_v2_test.py +126 -0
  856. package/project-templates/threejs/skills/playable-art/scripts/placeholder_common.py +98 -0
  857. package/project-templates/threejs/skills/playable-art/scripts/remove-bg.py +91 -0
  858. package/project-templates/threejs/skills/playable-art/scripts/review-processed-assets.py +468 -0
  859. package/project-templates/threejs/skills/playable-art/scripts/review_processed_assets_test.py +116 -0
  860. package/project-templates/threejs/skills/playable-art/scripts/verify-alpha-clean.py +105 -0
  861. package/project-templates/threejs/skills/playable-debug/SKILL.md +116 -0
  862. package/project-templates/threejs/skills/playable-debug/agents/openai.yaml +4 -0
  863. package/project-templates/threejs/skills/playable-debug/references/debug-config.md +40 -0
  864. package/project-templates/threejs/skills/playable-focus/SKILL.md +148 -0
  865. package/project-templates/threejs/skills/playable-focus/scripts/bootstrap-playground.mjs +84 -0
  866. package/project-templates/threejs/skills/playable-focus/scripts/extract-focus-frames.mjs +87 -0
  867. package/project-templates/threejs/skills/playable-focus/scripts/generate-focus-reports.mjs +121 -0
  868. package/project-templates/threejs/skills/playable-focus/scripts/playground.mjs +390 -0
  869. package/project-templates/threejs/skills/playable-focus/templates/focus-lab/frame.html +39 -0
  870. package/project-templates/threejs/skills/playable-focus/templates/focus-lab/harness/clean-stage.js +114 -0
  871. package/project-templates/threejs/skills/playable-focus/templates/focus-lab/harness/frame-lab-scene.js +94 -0
  872. package/project-templates/threejs/skills/playable-focus/templates/focus-lab/harness/particle-lab-scene.js +224 -0
  873. package/project-templates/threejs/skills/playable-focus/templates/focus-lab/model.html +16 -0
  874. package/project-templates/threejs/skills/playable-focus/templates/focus-lab/particle.html +38 -0
  875. package/project-templates/threejs/skills/playable-focus/templates/focus-lab/shatter.html +47 -0
  876. package/project-templates/threejs/skills/playable-fx-decompose/SKILL.md +212 -0
  877. package/project-templates/threejs/skills/playable-fx-decompose/examples.md +89 -0
  878. package/project-templates/threejs/skills/playable-fx-decompose/reference.md +201 -0
  879. package/project-templates/threejs/skills/playable-fx-decompose/requirements.txt +2 -0
  880. package/project-templates/threejs/skills/playable-fx-decompose/scripts/build-blank-tile-crack.py +192 -0
  881. package/project-templates/threejs/skills/playable-fx-decompose/scripts/fix-shard-debris-frames.py +60 -0
  882. package/project-templates/threejs/skills/playable-fx-decompose/scripts/generate-shard-debris.py +276 -0
  883. package/project-templates/threejs/skills/playable-fx-peak/SKILL.md +237 -0
  884. package/project-templates/threejs/skills/playable-fx-peak/requirements.txt +2 -0
  885. package/project-templates/threejs/skills/playable-fx-peak/scripts/fix-frame-edges.py +70 -0
  886. package/project-templates/threejs/skills/playable-fx-peak/scripts/repack-frame-sequence.py +526 -0
  887. package/project-templates/threejs/skills/playable-fx-peak/scripts/validate-frame-anchors.py +130 -0
  888. package/project-templates/threejs/skills/playable-placeholder/SKILL.md +239 -0
  889. package/project-templates/threejs/skills/playable-record/SKILL.md +166 -0
  890. package/project-templates/threejs/skills/playable-record/scripts/lib/build-artifact.mjs +92 -0
  891. package/project-templates/threejs/skills/playable-record/scripts/lib/dev-server.mjs +104 -0
  892. package/project-templates/threejs/skills/playable-record/scripts/lib/record-audio-bridge.js +141 -0
  893. package/project-templates/threejs/skills/playable-record/scripts/lib/slice-structure-verify.mjs +199 -0
  894. package/project-templates/threejs/skills/playable-record/scripts/record-playable.mjs +583 -0
  895. package/project-templates/threejs/skills/playable-record/scripts/verify-build.mjs +185 -0
  896. package/project-templates/threejs/skills/playable-record/scripts/verify-contract.mjs +261 -0
  897. package/project-templates/threejs/skills/playable-record/scripts/verify-firstwin.mjs +398 -0
  898. package/project-templates/threejs/skills/playable-record/scripts/verify-fusion.mjs +320 -0
  899. package/project-templates/threejs/skills/playable-record/scripts/verify-lifecycle.mjs +78 -0
  900. package/project-templates/threejs/skills/playable-record/scripts/verify-slice-artist.mjs +53 -0
  901. package/project-templates/threejs/skills/playable-record/scripts/verify-slice-ta.mjs +53 -0
  902. package/project-templates/threejs/skills/playable-record/scripts/verify-slice.mjs +142 -0
  903. package/project-templates/threejs/skills/playable-record/scripts/verify-visual-ring.mjs +250 -0
  904. package/project-templates/threejs/skills/playable-record/scripts/verify-visual-ring1.mjs +190 -0
  905. package/project-templates/threejs/skills/playable-record/scripts/verify-vlm-video.mjs +227 -0
  906. package/project-templates/threejs/skills/playable-validate/SKILL.md +260 -0
  907. package/project-templates/threejs/skills/playable-validate/references/checklist-detail.md +36 -0
  908. package/project-templates/threejs/skills/playable-validate/references/single-html-bundle.md +76 -0
  909. package/project-templates/threejs/skills/playable-validate/validation-rules.md +200 -0
  910. package/project-templates/threejs/skills/playable-verify-ui/SKILL.md +295 -0
  911. package/project-templates/threejs/skills/playable-verify-ui/examples/asset-manifest.example.json +36 -0
  912. package/project-templates/threejs/skills/playable-verify-ui/examples/mahjong-match.profile.yaml +334 -0
  913. package/project-templates/threejs/skills/playable-verify-ui/profiles/template.profile.yaml +84 -0
  914. package/project-templates/threejs/skills/playable-verify-ui/reference.md +165 -0
  915. package/project-templates/threejs/skills/playable-verify-ui/references/phaser-patterns.md +67 -0
  916. package/project-templates/threejs/skills/playable-verify-ui/references/scaling-decision-tree.md +51 -0
  917. package/project-templates/threejs/skills/playable-verify-ui/requirements.txt +7 -0
  918. package/project-templates/threejs/skills/playable-verify-ui/schema/asset-manifest.schema.json +68 -0
  919. package/project-templates/threejs/skills/playable-verify-ui/schema/playable-ui-profile.schema.json +171 -0
  920. package/project-templates/threejs/skills/playable-verify-ui/scripts/asset_manifest.py +231 -0
  921. package/project-templates/threejs/skills/playable-verify-ui/scripts/lib/__init__.py +1 -0
  922. package/project-templates/threejs/skills/playable-verify-ui/scripts/lib/config_expr.js +218 -0
  923. package/project-templates/threejs/skills/playable-verify-ui/scripts/lib/node_utils.js +51 -0
  924. package/project-templates/threejs/skills/playable-verify-ui/scripts/lib/profile_loader.py +59 -0
  925. package/project-templates/threejs/skills/playable-verify-ui/scripts/lib/report.py +106 -0
  926. package/project-templates/threejs/skills/playable-verify-ui/scripts/lib/runtime_contract.js +116 -0
  927. package/project-templates/threejs/skills/playable-verify-ui/scripts/measure_frame_content.py +77 -0
  928. package/project-templates/threejs/skills/playable-verify-ui/scripts/run_all.py +265 -0
  929. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_asset_sizes.py +77 -0
  930. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_assets_present.py +62 -0
  931. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_atlas_budget.py +84 -0
  932. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_atlas_frames.py +79 -0
  933. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_bg_clean.py +365 -0
  934. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_doc_asset_sync.py +90 -0
  935. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_fetch_antipatterns.py +59 -0
  936. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_game_config_load.js +54 -0
  937. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_hardcoded_layout.js +64 -0
  938. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_layout_regions.js +110 -0
  939. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_profile_schema.py +37 -0
  940. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_ring1_visual.py +211 -0
  941. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_runtime_contract.js +58 -0
  942. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_script_load_order.js +73 -0
  943. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_slice_plan.py +238 -0
  944. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_slice_plan_test.py +125 -0
  945. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_text_overlap.py +333 -0
  946. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_tile_consistency.py +323 -0
  947. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_vision_evidence.py +894 -0
  948. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_vision_evidence_test.py +122 -0
  949. package/project-templates/threejs/skills/playable-verify-ui/scripts/verify_visual.py +422 -0
  950. package/project-templates/threejs/ta-workspace/scripts/.gitkeep +0 -0
  951. package/project-templates/threejs/templates/artist-log.template.md +182 -0
  952. package/project-templates/threejs/templates/atom-tree.template.json +133 -0
  953. package/project-templates/threejs/templates/design-brief.template.md +92 -0
  954. package/project-templates/threejs/templates/design-lens-checklist.reference.md +117 -0
  955. package/project-templates/threejs/templates/design-methodology.md +99 -0
  956. package/project-templates/threejs/templates/design.template.md +50 -0
  957. package/project-templates/threejs/templates/developer-log.template.md +258 -0
  958. package/project-templates/threejs/templates/five-axis-framework.md +194 -0
  959. package/project-templates/threejs/templates/gen-placeholder-audio.template.mjs +63 -0
  960. package/project-templates/threejs/templates/gen-placeholders.template.mjs +81 -0
  961. package/project-templates/threejs/templates/intent-clarifications.template.md +58 -0
  962. package/project-templates/threejs/templates/layout-spec.template.md +198 -0
  963. package/project-templates/threejs/templates/plan.template.md +80 -0
  964. package/project-templates/threejs/templates/project-state.template.md +136 -0
  965. package/project-templates/threejs/templates/review-report.template.md +275 -0
  966. package/project-templates/threejs/templates/style-exploration.template.md +93 -0
  967. package/project-templates/threejs/templates/ta-log.template.md +394 -0
  968. package/project-templates/threejs/tsconfig.json +20 -0
  969. package/project-templates/threejs/vite.config.ts +27 -0
  970. package/dist/atom-plan/validate-atom-plan.js +0 -298
  971. package/project-template/.claude/agents/designer.md +0 -124
  972. package/project-template/.claude/agents/pm.md +0 -166
  973. package/project-template/.claude/agents/refs/designer-style-exploration-flow.md +0 -67
  974. package/project-template/.claude/agents/refs/pm-workflow-detail.md +0 -567
  975. package/project-template/.claude/hooks/validate-atom-plan.mjs +0 -224
  976. package/project-template/.claude/skills/playcraft-workflow/SKILL.md +0 -485
  977. package/project-template/docs/team/atom-plan-format.md +0 -173
  978. package/project-template/templates/atom-plan.template.json +0 -44
  979. package/project-template/templates/atom-plan.template.md +0 -108
  980. /package/dist/{atom-plan → asr}/validate-asr-coverage.js +0 -0
  981. /package/{project-template → engine-packs/phaser}/game/config/.gitkeep +0 -0
  982. /package/{project-template → engine-packs/phaser}/game/gameplay/.gitkeep +0 -0
  983. /package/{project-template → engine-packs/phaser}/game/scenes/.gitkeep +0 -0
  984. /package/project-template/.claude/agents/refs/{designer-art-style-catalog.md → artist-art-style-catalog.md} +0 -0
@@ -4,70 +4,76 @@
4
4
 
5
5
  ## 分层架构
6
6
 
7
- | 层 | 位置 | 加载时机 | 内容 | 大小目标 |
8
- | --------------- | --------------------------------------- | -------------------------------------- | --------------------------------------------------------------- | --------------------------- |
9
- | **L1 常驻指令** | `.claude/agents/<role>.md` | sub-agent invoke 时全量加载 | Goals (Top3) / Agent Conduct / Identity / Workflow / Hard Rules | < 280 行(Developer < 220) |
10
- | **L2 按需细则** | `.claude/agents/refs/<role>-<topic>.md` | sub-agent 在指定 Phase/任务前主动 read | 详细流程 / 命令示例 / 决策树 | 不限 |
11
- | **L3 平台工具** | `.claude/skills/<tool>/SKILL.md` | sub-agent 使用工具时按 trigger 加载 | 工具用法 / 脚本模板 | 不限 |
7
+ | 层 | 位置 | 加载时机 | 内容 | 大小目标 |
8
+ | --------------- | --------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------ | --------------------------- |
9
+ | **L1 常驻指令** | `.claude/agents/<role>.md` | sub-agent invoke 时全量加载 | Role identity / ownership / boundaries / workflow interface / hard rules | < 280 行(Developer < 220) |
10
+ | **L2 按需细则** | `.claude/agents/refs/<role>-<topic>.md` | sub-agent 在当前任务需要时按需 read | 详细流程 / 命令示例 / 决策树 | 不限 |
11
+ | **L3 平台工具** | `.claude/skills/<tool>/SKILL.md` | sub-agent 使用工具时按 trigger 加载 | 工具用法 / 脚本模板 | 不限 |
12
12
 
13
13
  ## 渐进披露原则
14
14
 
15
15
  - **L1(agent .md)必须精简**:每次 sub-agent invoke 都全量加载,token 成本高
16
- - **L2(refs/)按需读取**:agent .md 或 SKILL.md 在对应阶段显式指引,形如:`> Read refs/ta-pipeline-cookbook.md`
16
+ - **L2(`.claude/agents/refs/`)按需读取**:由 role card 的 workflow interface、orchestrator dispatch、或 SKILL.md 显式指引
17
17
  - **L3(SKILL)工具触发**:使用具体工具前读取对应 SKILL
18
18
  - **每个 refs 文件必须有至少一处显式引用**:未被引用的文件应删除——LLM 无法自行发现未引用的文档
19
19
 
20
20
  ## 文件清单
21
21
 
22
- | 文件 | 引用来源 | 内容摘要 |
23
- | -------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------- |
24
- | `pm-workflow-detail.md` | `agents/pm.md` | Step 1-8 详细分析流程 + 调度元信息指南 + 直接意图模式 |
25
- | `docs/team/atom-plan-format.md` | `pm.md`, `atom-plan.template.md`, `playcraft-workflow` | atom-plan JSON 主 + MD 辅;Gate #1 validate/link 流程 |
26
- | `designer-dimension-axis.md` | `agents/designer.md` | 2D/2.5D/Isometric/3D 维度处理指南 |
27
- | `designer-master-composite-recipes.md` | `skills/playcraft-storyboard`, `agents/designer.md` | 游戏类型 MC prompt 配方 + 模型多样性策略 + 故障恢复 |
28
- | `designer-art-style-catalog.md` | `skills/playcraft-art-style-guide` | 9 种美术风格完整目录(prompt/模型/管线/错误) |
29
- | `designer-color-audio-recipes.md` | `skills/playcraft-ad-psychology`, `agents/designer.md` | 按游戏类型配色方案 + 音频情绪弧参数 |
30
- | `designer-deliverable-spec.md` | `agents/designer.md` | designer-handoff-v2 交付规格、Handoff Pack、Phase 2 规则 |
31
- | `designer-handoff-v2-checklist.md` | `designer-style-exploration-flow.md` Step 5 | Gate #2b:Coverage Matrix、Palette Locked、Motion Notes |
32
- | `skills/playcraft-asset-state-sheet` | `agents/designer.md`, `designer-deliverable-spec.md` | ASR 双板规范 |
33
- | `designer-style-exploration-flow.md` | `agents/designer.md` | Phase 1 Step 2–5:MC 生成、#2a 包、ASR 双板、#2b 收尾与 STOP |
34
- | `developer-impl-cookbook.md` | `agents/developer.md`, `refs/developer-phase1-flow.md` | index.html 骨架 + Atlas/WebP+JSON 绑定 + CTA handler |
35
- | `developer-phase1-flow.md` | `agents/developer.md` | `ui_pass` + `gameplay_pass` + `ui_rework` 全流程 |
36
- | `developer-dev-handoff.md` | `agents/developer.md`, `refs/developer-impl-cookbook.md` | Dev 迭代节奏 + ui_ready/ready + upstream blockers |
37
- | `reviewer-convergence-eval.md` | `agents/reviewer.md` | design_check + ui_diff + load_check 流程 |
38
- | `reviewer-six-dimension-eval.md` | _(deprecated)_ | 指向 `reviewer-convergence-eval.md` |
39
- | `ta-tools-reference.md` | `agents/technical-artist.md` | 全工具命令表(AI 生成/3D/精灵图/图像/音频) |
40
- | `ta-pipeline-cookbook.md` | `agents/technical-artist.md` | **Step 0–2** 脚本 + TA Step 0–D pipeline + Compliance 全表 + 引用图规则 |
41
- | `ta-atlas-deliverable-standard.md` | `agents/technical-artist.md`, `refs/ta-pipeline-cookbook.md` | WebP 运行时默认、atlas `.webp`+`.json`、分组与合规、转码示例 |
42
- | `ta-3d-flip-recipe.md` | `agents/technical-artist.md`, `skills/playcraft-vfx-animation` | 素材重刷 + 3D 翻转动画教程 |
43
- | `ta-image-generation-detail.md` | `skills/playcraft-image-generation` | 精灵图直出策略 + Edit 工作流 + 错误恢复 + 批量最佳实践 |
44
- | `ta-image-ops-reference.md` | `skills/playcraft-image-ops` | `playcraft image` 全子命令 CLI 参数速查表 |
45
- | `ta-batch-pipeline-recipes.md` | `skills/playcraft-batch-pipeline` | batch/pipeline 实用配方集 |
46
- | `ta-vfx-preset-catalog.md` | `skills/playcraft-vfx-animation` | VFX/animate 预设完整目录 + 游戏类型配方 |
22
+ | 文件 | 引用来源 | 内容摘要 |
23
+ | ------------------------------------ | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
24
+ | `game-designer-workflow-detail.md` | `agents/game-designer.md` workflow interface | Game Designer 在 ring 1 `loop: clarify` 主设计任务下的执行流程 |
25
+ | `skill-selector-guide.md` | `docs/team/atom-tree-format.md` | temporary ref-flow atom-selection subagent 产出 `atom-tree` 双文件时使用的速查式选择指南 |
26
+ | `docs/team/atom-tree-format.md` | `atom-tree.template.md`, future atom workflow docs | atom-tree JSON 主 + markdown skill/reference companion |
27
+ | `implementation-plan-guide.md` | `templates/plan.template.md`, ref-flow implementation planning | ref-flow subagent 产出 Developer execution plan 时使用的执行计划指南 |
28
+ | `artist-dimension-axis.md` | `agents/artist.md` | 2D/2.5D/Isometric/3D 维度处理指南 |
29
+ | `artist-master-composite-recipes.md` | `skills/playcraft-storyboard`, `agents/artist.md` | 游戏类型 MC prompt 配方 + 模型多样性策略 + 故障恢复 |
30
+ | `artist-art-style-catalog.md` | `skills/playcraft-art-style-guide` | 9 种美术风格完整目录(prompt/模型/管线/错误) |
31
+ | `artist-color-audio-recipes.md` | `skills/playcraft-ad-psychology`, `agents/artist.md` | 按游戏类型配色方案 + 音频情绪弧参数 |
32
+ | `artist-deliverable-spec.md` | `agents/artist.md` | artist-handoff-v2 交付规格、Handoff Pack、Phase 2 规则 |
33
+ | `artist-handoff-v2-checklist.md` | `artist-style-exploration-flow.md` Step 5 | Ring 3 verify:Coverage Matrix、Palette Locked、Motion Notes |
34
+ | `skills/playcraft-asset-state-sheet` | `agents/artist.md`, `artist-deliverable-spec.md` | ASR 双板规范 |
35
+ | `artist-style-exploration-flow.md` | `agents/artist.md` | Ring 3 build:MC 引用、ASR 双板、Handoff Pack 与 STOP |
36
+ | `developer-impl-cookbook.md` | `agents/developer.md`, `refs/developer-phase1-flow.md` | Developer 实现模式参考:index.html 骨架 + Atlas/WebP+JSON 绑定 + CTA handler |
37
+ | `developer-phase1-flow.md` | `agents/developer.md` | Developer 执行流程:`loop: build` + ring 4 ui_diff 修复 |
38
+ | `developer-dev-handoff.md` | `agents/developer.md`, `refs/developer-impl-cookbook.md` | Developer 验证与交接:dev 迭代节奏 + devStatus + upstream blockers |
39
+ | `reviewer-convergence-eval.md` | `agents/reviewer.md` | design_check + gameplay_conformance + ui_diff + load_check 流程 |
40
+ | `reviewer-six-dimension-eval.md` | _(deprecated)_ | 指向 `reviewer-convergence-eval.md` |
41
+ | `ta-tools-reference.md` | `agents/technical-artist.md` | 全工具命令表(AI 生成/3D/精灵图/图像/音频) |
42
+ | `ta-pipeline-cookbook.md` | `agents/technical-artist.md` | **Step 0–2** 脚本 + TA Step 0–D pipeline + Compliance 全表 + 引用图规则 |
43
+ | `ta-atlas-deliverable-standard.md` | `agents/technical-artist.md`, `refs/ta-pipeline-cookbook.md` | WebP 运行时默认、atlas `.webp`+`.json`、分组与合规、转码示例 |
44
+ | `ta-3d-flip-recipe.md` | `agents/technical-artist.md`, `skills/playcraft-vfx-animation` | 素材重刷 + 3D 翻转动画教程 |
45
+ | `ta-image-generation-detail.md` | `skills/playcraft-image-generation` | 精灵图直出策略 + Edit 工作流 + 错误恢复 + 批量最佳实践 |
46
+ | `ta-image-ops-reference.md` | `skills/playcraft-image-ops` | `playcraft image` 全子命令 CLI 参数速查表 |
47
+ | `ta-batch-pipeline-recipes.md` | `skills/playcraft-batch-pipeline` | batch/pipeline 实用配方集 |
48
+ | `ta-vfx-preset-catalog.md` | `skills/playcraft-vfx-animation` | VFX/animate 预设完整目录 + 游戏类型配方 |
47
49
 
48
- ## 按 invoke 场景反查
50
+ ## 按 invoke 场景反查(growth-rings-v1)
49
51
 
50
- | Stage / 触发 | Sub-agent | 应该读的 refs(按顺序) |
51
- | -------------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------- |
52
- | `pm` 首次 invoke | PM | `pm-workflow-detail.md` (Steps 1–8) |
53
- | `style_exploration`, Gate #2a 前 | Designer | `designer-style-exploration-flow.md` (Steps 2–3) + `designer-deliverable-spec.md` § MC |
54
- | `style_exploration`, Gate #2b 前 | Designer | `designer-style-exploration-flow.md` (4–5) + `designer-handoff-v2-checklist.md` + `designer-deliverable-spec.md` |
55
- | `production`, Wave 1 | Designer | `designer-deliverable-spec.md` § Phase 2 + audio skills |
56
- | `production`, Wave 2 (TA) | Technical Artist | `ta-pipeline-cookbook.md` (**Step 0a** intake → Step 0 → 2) → `ta-atlas-deliverable-standard.md` |
57
- | `pm` STOP, Gate #1 pending | Reviewer | `reviewer-convergence-eval.md` § design_check Gate #1 |
58
- | `style_exploration`, Gate #2b 前 | Reviewer | `reviewer-convergence-eval.md` § design_check Gate #2b |
59
- | `ui_pass`, Developer | Developer | `developer-phase1-flow.md` Part A → `developer-impl-cookbook.md` → `developer-dev-handoff.md` |
60
- | `ui_review` | Reviewer | `reviewer-convergence-eval.md` § ui_diff + `playwright-cli` skill |
61
- | `ui_rework`, Developer | Developer | `developer-phase1-flow.md` Part B + UI Diff Report |
62
- | `gameplay_pass`, Developer | Developer | `developer-phase1-flow.md` Part C → `developer-impl-cookbook.md` |
63
- | `gameplay_pass`, load_check | Reviewer | `reviewer-convergence-eval.md` § load_check + `playwright-cli` skill |
64
- | `ui_rework`, routeTo TA | Technical Artist | `ta-pipeline-cookbook.md` (scoped fixes) + `ta-atlas-deliverable-standard.md` |
65
- | `ui_rework`, routeTo Designer | Designer | `designer-deliverable-spec.md` + `designer-handoff-v2-checklist.md` + `designer-color-audio-recipes.md` |
66
- | spec-gap (any) | PM | `pm-workflow-detail.md` § Atlas grouping + layout/atom patch |
52
+ | iteration / loop / 触发 | Sub-agent | 应该读的 refs(按顺序) |
53
+ | ------------------------------------ | --------------------------- | ---------------------------------------------------------------------------------------------------------- |
54
+ | ring 1 `loop: clarify` | Game Designer | `game-designer-workflow-detail.md` |
55
+ | ring 1 `loop: clarify`(atom-tree) | temporary ref-flow subagent | `skill-selector-guide.md` + `docs/team/atom-tree-format.md` |
56
+ | ring 2+ `loop: clarify`(atom-tree) | ref-flow subagent | `skill-selector-guide.md` + `docs/team/atom-tree-format.md` |
57
+ | ring 2 `loop: clarify`(plan) | ref-flow subagent | `implementation-plan-guide.md` + `templates/plan.template.md` |
58
+ | ring 3 `loop: clarify`(MC) | storyboard subagent | `storyboard-generation-guide.md` + `artist-master-composite-recipes.md` |
59
+ | ring 3 `loop: build`(ASR 前) | Artist | `artist-style-exploration-flow.md` (Steps 2–3) + `artist-deliverable-spec.md` § MC |
60
+ | ring 3 `loop: build/verify`(ASR) | Artist | `artist-style-exploration-flow.md` (4–5) + `artist-handoff-v2-checklist.md` + `artist-deliverable-spec.md` |
61
+ | ring 4 `loop: build` Wave 1 | Artist | `artist-deliverable-spec.md` § Phase 2 + audio skills |
62
+ | ring 4 `loop: build` Wave 2 (TA) | Technical Artist | `ta-pipeline-cookbook.md` (**Step 0a** intake → Step 0 → 2) → `ta-atlas-deliverable-standard.md` |
63
+ | ring 1 verify `design_check` | Reviewer | `reviewer-convergence-eval.md` § design_check ring 1 |
64
+ | ring 3 verify `design_check` | Reviewer | `reviewer-convergence-eval.md` § design_check ring 3 (ASR) |
65
+ | ring 1–2 `loop: build` | Developer | `developer-phase1-flow.md` → `developer-impl-cookbook.md` → `developer-dev-handoff.md` |
66
+ | ring verify `gameplay_conformance` | Reviewer | `reviewer-convergence-eval.md` § gameplay_conformance + `playwright-cli` skill |
67
+ | ring verify `load_check` | Reviewer | `reviewer-convergence-eval.md` § load_check + `playwright-cli` skill |
68
+ | ring 4 verify `ui_diff` | Reviewer | `reviewer-convergence-eval.md` § ui_diff + `playwright-cli` skill |
69
+ | ring 4 verify ui_diff fail → rework | Developer | `developer-phase1-flow.md` § Rework + UI Diff Report |
70
+ | ring 4 verify routeTo TA | Technical Artist | `ta-pipeline-cookbook.md` (scoped fixes) + `ta-atlas-deliverable-standard.md` |
71
+ | ring 4 verify routeTo Artist | Artist | `artist-deliverable-spec.md` + `artist-handoff-v2-checklist.md` + `artist-color-audio-recipes.md` |
72
+ | spec-gap (any) | Game Designer | global collaboration / layout/atom workflow docs |
67
73
 
68
74
  ## 维护规则
69
75
 
70
- 1. **不要在 refs/ 里写应该放在 agent .md 的内容**:Hard Rules、Identity、File Access 矩阵必须留在 L1
76
+ 1. **不要在 refs/ 里写应该放在 agent .md 的内容**:Role ownership、boundaries、success criteria、hard rules 留在 L1;refs 只写执行细节 / 配方 / checklist
71
77
  2. **每份 refs/ 文档必须有对应的显式引用入口**:agent .md 或 SKILL.md 里有明确的 "read refs/xxx.md" 指令
72
78
  3. **未被引用的 refs 文件必须删除**:LLM 无法自行发现未引用的文档,孤立文件只是噪音
73
- 4. **refs/ 不进入 project-state.md 文件读写矩阵**:这些是只读参考,不是产出文件
79
+ 4. **refs/ 不进入状态文件读写矩阵**:这些是只读参考,不是产出文件
@@ -87,7 +87,7 @@
87
87
  | -------- | --------- | -------- | --------- | --------- |
88
88
  | BPM 区间 | 90-115 | 100-125 | 120-150 | 130-160 |
89
89
 
90
- **Designer 生成 BGM 时的组合写法**:
90
+ **Artist 生成 BGM 时的组合写法**:
91
91
 
92
92
  ```bash
93
93
  # 示例:休闲消除游戏,Tutorial 阶段风格
@@ -142,7 +142,7 @@ playcraft tools generate-sfx \
142
142
 
143
143
  ## 音频-视觉对齐检查清单
144
144
 
145
- Designer 完成音频生成后,对照以下清单验证情绪一致性:
145
+ Artist 完成音频生成后,对照以下清单验证情绪一致性:
146
146
 
147
147
  - [ ] Hook BGM 第一个节拍 <= 0.5s 内出现(不要淡入铺垫)
148
148
  - [ ] Tutorial 段 BPM 比 Gameplay 低 15-30(有感知上的降速)
@@ -1,6 +1,6 @@
1
- # Designer — Deliverable spec (designer-handoff-v2)
1
+ # Artist — Deliverable spec (artist-handoff-v2)
2
2
 
3
- > **When to read**: Before generating Master Composite, ASR, audio, or digit strip. Cross-reference `playcraft-storyboard`, `playcraft-asset-state-sheet`, `playcraft-text-rendering`, `playcraft-image-generation`, and `refs/designer-handoff-v2-checklist.md`.
3
+ > **When to read**: Before generating Master Composite, ASR, audio, or digit strip. Cross-reference `playcraft-storyboard`, `playcraft-asset-state-sheet`, `playcraft-text-rendering`, `playcraft-image-generation`, and `.claude/agents/refs/artist-handoff-v2-checklist.md`.
4
4
 
5
5
  ## Resolution Strategy
6
6
 
@@ -12,38 +12,38 @@ All image generation MUST use maximum supported resolution.
12
12
 
13
13
  All visible text is image assets — **zero font files**. Static text is baked into the MC concept panel; dynamic numbers use a Digit Sprite Strip.
14
14
 
15
- > **Invoke `playcraft-text-rendering`** for static-text extraction (TA default) and digit strip (Designer Phase 2).
15
+ > **Invoke `playcraft-text-rendering`** for static-text extraction (TA default) and digit strip (Artist Phase 2).
16
16
 
17
17
  ### Static text (default)
18
18
 
19
- | Step | Role |
20
- | ------------------------------ | ------------------------------------------- |
21
- | Bake into MC | Designer (concept panel) |
22
- | Extract to `layout-spec` paths | TA (`crop` / `segment`) |
23
- | Extract fails | ICP → Designer **one isolated PNG** per row |
19
+ | Step | Role |
20
+ | ------------------------------ | ----------------------------------------- |
21
+ | Bake into MC | Artist (concept panel) |
22
+ | Extract to `layout-spec` paths | TA (`crop` / `segment`) |
23
+ | Extract fails | ICP → Artist **one isolated PNG** per row |
24
24
 
25
25
  ### Background (default)
26
26
 
27
- | Step | Role |
28
- | ------------------------------------- | ---------------------------------------------------------------- |
29
- | Extract from MC concept panel | TA → `layout-spec` bg path |
30
- | 2.5D / hero bg needs dedicated sample | PM marks VisualAtom `assignTo: Designer` → ICP isolated PNG only |
27
+ | Step | Role |
28
+ | ------------------------------------- | ---------------------------------------------------------------------- |
29
+ | Extract from MC concept panel | TA → `layout-spec` bg path |
30
+ | 2.5D / hero bg needs dedicated sample | Game Designer routes ICP supplementary art request → isolated PNG only |
31
31
 
32
32
  ## Phase 1 Deliverables — Image production (MC + ASR)
33
33
 
34
- Gate #2a: **one MC per option** + Experience Flow text. Gate #2b (after `selectedMcOption`): **ASR dual sheets** + **Handoff Pack** (below).
34
+ Ring 3 clarify: **one MC per option** + Experience Flow text. Ring 3 build (after `selectedMcOption`): **ASR dual sheets** + **Handoff Pack** (below).
35
35
 
36
- > **Phase 1 scope = images only.** Audio/digit strip is **Phase 2** after Gate #2b — see § Phase 2 Deliverables.
36
+ > **Phase 1 scope = images only.** Audio/digit strip is **Phase 2** after ring 3 verify — see § Phase 2 Deliverables.
37
37
 
38
- | # | Deliverable | Format | Spec |
39
- | --- | --------------------------------- | ------ | ---------------------------------------------------------- |
40
- | 1 | **Master Composite** | PNG 4K | 5 panels: concept + 4 storyboard scenes |
41
- | 2a | **UI State Reference Sheet** | PNG 4K | UI/HUD per interaction state |
42
- | 2b | **Element State Reference Sheet** | PNG 4K | Gameplay elements per event/special state |
43
- | 3 | **Experience Flow Design** | Text | `style-exploration.md` |
44
- | 4 | **Gate #2b Handoff Pack** | Text | `designer-log.md` + Motion Notes in `style-exploration.md` |
38
+ | # | Deliverable | Format | Spec |
39
+ | --- | --------------------------------- | ------ | -------------------------------------------------------- |
40
+ | 1 | **Master Composite** | PNG 4K | 5 panels: concept + 4 storyboard scenes |
41
+ | 2a | **UI State Reference Sheet** | PNG 4K | UI/HUD per interaction state |
42
+ | 2b | **Element State Reference Sheet** | PNG 4K | Gameplay elements per event/special state |
43
+ | 3 | **Experience Flow Design** | Text | `style-exploration.md` |
44
+ | 4 | **Ring 3 Handoff Pack** | Text | `artist-log.md` + Motion Notes in `style-exploration.md` |
45
45
 
46
- > **ASR** = authoring-time reference sprite sheets. **Not** runtime `.webp` + `.json` atlases (TA in `production`).
46
+ > **ASR** = authoring-time reference sprite sheets. **Not** runtime `.webp` + `.json` atlases (TA in ring 4 build).
47
47
 
48
48
  Every generation outputs a sidecar `.json` (prompt + parameters).
49
49
 
@@ -51,7 +51,7 @@ Every generation outputs a sidecar `.json` (prompt + parameters).
51
51
 
52
52
  ### Deliverable 1: Master Composite
53
53
 
54
- > **Skills**: `playcraft-storyboard` + `refs/designer-master-composite-recipes.md`
54
+ > **Skills**: `playcraft-storyboard` + `.claude/agents/refs/artist-master-composite-recipes.md`
55
55
 
56
56
  | # | Panel | Content |
57
57
  | --- | ------------------ | ---------------------------------------------------- |
@@ -63,7 +63,7 @@ Every generation outputs a sidecar `.json` (prompt + parameters).
63
63
 
64
64
  Paths: `assets/images/storyboard/master_composite_option_[A|B|C].png`
65
65
 
66
- **MC options count**: ≥2 before Gate #2a (see option table in prior spec — 2 or 3 by clarity).
66
+ **MC options count**: ≥2 before ring 3 Ring Gate (see option table in prior spec — 2 or 3 by clarity).
67
67
 
68
68
  ---
69
69
 
@@ -80,7 +80,7 @@ assets/images/reference/element_state_sheet_[X].png
80
80
  assets/images/reference/element_state_sheet_[X]_2.png
81
81
  ```
82
82
 
83
- **ASR whole PNG is opaque by design** — TA crops cells then `remove-background`. Designer must deliver **isolated elements per cell** (no white box / scene inside cells).
83
+ **ASR whole PNG is opaque by design** — TA crops cells then `remove-background`. Artist must deliver **isolated elements per cell** (no white box / scene inside cells).
84
84
 
85
85
  #### Three-layer coverage model
86
86
 
@@ -99,11 +99,11 @@ Physical slot budget: **8–12 slots per sheet**; overflow → second element sh
99
99
 
100
100
  ---
101
101
 
102
- ### Gate #2b Handoff Pack (mandatory before `#2b` STOP)
102
+ ### Ring 3 Handoff Pack (mandatory before ring 3 verify STOP)
103
103
 
104
- > **Checklist**: `refs/designer-handoff-v2-checklist.md`
104
+ > **Checklist**: `.claude/agents/refs/artist-handoff-v2-checklist.md`
105
105
 
106
- #### 1. ASR Coverage Matrix (`logs/designer-log.md`)
106
+ #### 1. ASR Coverage Matrix (`logs/artist-log.md`)
107
107
 
108
108
  One row per contract item from `layout-spec.md`:
109
109
 
@@ -116,16 +116,16 @@ One row per contract item from `layout-spec.md`:
116
116
 
117
117
  **CoverageLayer rules**:
118
118
 
119
- - **on-asr**: must have valid `Grid` (R#C#) and matching PNG slot; mirror to `atom-plan.json` → `asrSlot`
119
+ - **on-asr**: must have valid `Grid` (R#C#) and matching PNG slot; mirror to `atom-tree.json` → `asrSlot`
120
120
  - **mc-crop**: MC Panel 1 shows type; document region in Style Intent Notes
121
121
  - **ta-extends**: color variants / full state sets; `TA extends? = yes` + one-line extension hint
122
122
 
123
123
  **Forbidden**: missing rows; all rows `ta-extends` with no on-asr/mc-crop type representative; overlapping ASR slots.
124
124
 
125
- #### 2. Palette Locked (`logs/designer-log.md`)
125
+ #### 2. Palette Locked (`logs/artist-log.md`)
126
126
 
127
127
  - 6–10 hex swatches sampled from confirmed MC (background, accent, CTA, key elements).
128
- - One line: **delta vs `layout-spec` Color Palette** (match / PM update needed).
128
+ - One line: **delta vs `layout-spec` Color Palette** (match / Game Designer update needed).
129
129
 
130
130
  #### 3. Motion Notes (`docs/style-exploration.md`)
131
131
 
@@ -141,22 +141,22 @@ No per-frame animation assets — VFX/Animation atoms remain TA.
141
141
 
142
142
  #### 4. Style Intent + Anti-Pattern Notes
143
143
 
144
- Existing `designer-log` sections — required for TA Step 0c.
144
+ Existing `artist-log` sections — required for TA Step 0c.
145
145
 
146
146
  ---
147
147
 
148
148
  ### Phase 1 exception: True 3D
149
149
 
150
- When `design-brief` dimension = True 3D, Designer also delivers (Phase 1, same Gate #2b):
150
+ When `design-brief` dimension = True 3D, Artist also delivers (Phase 1, same ring 3 verify):
151
151
 
152
- - 2D reference texture PNG at path noted in `designer-log` (see `refs/designer-dimension-axis.md`).
153
- - TA runs `generate-3d`; Designer does **not** output GLB.
152
+ - 2D reference texture PNG at path noted in `artist-log` (see `.claude/agents/refs/artist-dimension-axis.md`).
153
+ - TA runs `generate-3d`; Artist does **not** output GLB.
154
154
 
155
155
  ---
156
156
 
157
157
  ## Phase 2 Deliverables — Audio + Digit + Atom status
158
158
 
159
- **Designer does not batch-export visual samples at `assetMapping` paths in v2.** Visual baseline = Phase 1 MC + ASR.
159
+ **Artist does not batch-export visual samples at `assetMapping` paths in v2.** Visual baseline = Phase 1 MC + ASR.
160
160
 
161
161
  ### Phase 2 Skill Preflight (mandatory, before production)
162
162
 
@@ -168,9 +168,9 @@ cat .claude/skills/playcraft-text-rendering/SKILL.md # Digit strip green/blu
168
168
  cat .claude/skills/playcraft-image-generation/SKILL.md # §3 background decision tree (for digit)
169
169
  ```
170
170
 
171
- **mediaGroups check** (mandatory): Read `atom-plan.json` → `skillsMatch.mediaGroups` for any `.aiaudio` matches. If matched → `playcraft skills link --atom <atomId>` → verify quality/mood → mark `status: done`. Skip only when mood/style mismatch (document in `dagRevisions`).
171
+ **mediaGroups check** (mandatory): Read `atom-tree.json` → `skillsMatch.mediaGroups` for any `.aiaudio` matches. If matched → `playcraft skills link --atom <atomId>` → verify quality/mood → record linked path and decision in `artist-log.md` / `handoffContext`. Skip only when mood/style mismatch (document in `artist-log.md`).
172
172
 
173
- Record in `logs/designer-log.md` § Skill Preflight:
173
+ Record in `logs/artist-log.md` § Skill Preflight:
174
174
 
175
175
  ```markdown
176
176
  ## Skill Preflight
@@ -182,38 +182,38 @@ Record in `logs/designer-log.md` § Skill Preflight:
182
182
  | mediaGroups (audio) | ✅ | bg_music.aiaudio linked; click_sfx 需重做 (风格不符) |
183
183
  ```
184
184
 
185
- | # | Deliverable | Format | Spec |
186
- | --- | ---------------------- | ------ | ------------------------------------- |
187
- | 1 | **BGM** | MP3 | Mood matches locked MC |
188
- | 2 | **SFX** | MP3 | One per interaction in `assetMapping` |
189
- | 3 | **Digit sprite strip** | PNG | `layout-spec` `textAssets.digitStrip` |
190
- | 4 | **VisualAtom status** | — | See below |
185
+ | # | Deliverable | Format | Spec |
186
+ | --- | ------------------------------ | ------ | ------------------------------------- |
187
+ | 1 | **BGM** | MP3 | Mood matches locked MC |
188
+ | 2 | **SFX** | MP3 | One per interaction in `assetMapping` |
189
+ | 3 | **Digit sprite strip** | PNG | `layout-spec` `textAssets.digitStrip` |
190
+ | 4 | **Production handoff context** | — | `artist-log.md` + `handoffContext` |
191
191
 
192
- ### VisualAtom rules (`atom-plan.json` → `atoms[]`)
192
+ ### Production handoff rules
193
193
 
194
- For each `assignTo: Designer` VisualAtom:
194
+ For each Artist-owned production item:
195
195
 
196
- | Condition | `status` | `actualOutput` |
197
- | ----------------------------------- | --------- | ----------------------------------------------------------------------------------- |
198
- | Type covered in ASR Coverage Matrix | `done` | `ASR:ui_state_sheet_[X]:R{row}C{col}` or `ASR:element_state_sheet_[X]:R{row}C{col}` |
199
- | Not covered; ICP gap | `blocked` | ICP id + path when file delivered |
200
- | ICP supplementary PNG delivered | `done` | file path |
196
+ | Condition | Record in `artist-log.md` / `handoffContext` |
197
+ | ----------------------------------- | -------------------------------------------- |
198
+ | Type covered in ASR Coverage Matrix | ASR sheet + grid slot or MC crop region |
199
+ | Not covered; ICP gap | ICP id + path when file delivered |
200
+ | ICP supplementary PNG delivered | file path |
201
201
 
202
- **Forbidden**: mark VisualAtom `done` without ASR row or supplementary file.
202
+ **Forbidden**: write execution status or produced output paths into `atom-tree.json`.
203
203
 
204
204
  #### ICP supplementary PNG — when (and only when) to produce
205
205
 
206
- Designer Phase 2 supplementary PNGs are a **fallback path**, not a default. Produce one **only if all three** are true:
206
+ Artist Phase 2 supplementary PNGs are a **fallback path**, not a default. Produce one **only if all three** are true:
207
207
 
208
- 1. **TA Step 0c Style Interpretation** marks that atom's `confidence = low` in `logs/ta-log.md` (i.e. Designer's MC/ASR didn't tell TA enough).
208
+ 1. **TA Step 0c Style Interpretation** marks that atom's `confidence = low` in `logs/ta-log.md` (i.e. Artist's MC/ASR didn't tell TA enough).
209
209
  2. **Crop / segment from ASR or MC failed** — TA tried `playcraft image crop` (grid coord from ASR Coverage Matrix) and `playcraft image segment --boxes` / `--text` on the MC concept panel, and the extracted region is unusable (chroma residue, partial element, wrong perspective).
210
- 3. **TA opens an ICP entry** in `docs/intent-clarifications.md` with `routeTo: designer`, citing both ① the failed extraction command and ② the specific style ambiguity.
210
+ 3. **TA opens an ICP entry** in `docs/intent-clarifications.md` with `routeTo: artist`, citing both ① the failed extraction command and ② the specific style ambiguity.
211
211
 
212
- If any of ①②③ is missing, the fix lives elsewhere (TA tool chain, Designer Style Intent Notes patch, or PM contract patch) — not a supplementary PNG. Document the chosen route in `designer-log.md`.
212
+ If any of ①②③ is missing, the fix lives elsewhere (TA tool chain, Artist Style Intent Notes patch, or Game Designer contract patch) — not a supplementary PNG. Document the chosen route in `artist-log.md`.
213
213
 
214
214
  Run **`playcraft-style-qa` §1** only for **ICP supplementary** image files (not for ASR sheets themselves).
215
215
 
216
- ### TA ownership in Phase 2 (not Designer)
216
+ ### TA ownership in Phase 2 (not Artist)
217
217
 
218
218
  - Static text extraction → contract paths
219
219
  - Background webp
@@ -1,6 +1,6 @@
1
- # Designer Dimension Axis Workflow
1
+ # Artist Dimension Axis Workflow
2
2
 
3
- > Read in Phase 1 after confirming Dimension Axis from `docs/design-brief.md`. **designer-handoff-v2**: visual baseline = MC + ASR (not scattered sample PNGs). TA handles mass production.
3
+ > Read in Phase 1 after confirming Dimension Axis from `docs/design-brief.md`. **artist-handoff-v2**: visual baseline = MC + ASR (not scattered sample PNGs). TA handles mass production.
4
4
 
5
5
  ## Flat 2D (Standard)
6
6
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  - MC concept panel: perspective scene + layered elements.
14
14
  - ASR: angled sprites in element sheet; note depth layers in Style Intent Notes.
15
- - Background: default **TA extract from MC**; dedicated bg sample only if PM atom `assignTo: Designer` via ICP.
15
+ - Background: default **TA extract from MC**; dedicated bg sample only if Game Designer routes an ICP supplementary art request.
16
16
 
17
17
  ## Isometric
18
18
 
@@ -22,6 +22,6 @@
22
22
 
23
23
  ## True 3D
24
24
 
25
- - Designer does **not** output GLB.
26
- - Phase 1 Gate #2b: 2D reference texture PNG (path in `designer-log`) per `designer-deliverable-spec.md` § Phase 1 exception.
25
+ - Artist does **not** output GLB.
26
+ - Phase 1 ring 3 verify: 2D reference texture PNG (path in `artist-log`) per `artist-deliverable-spec.md` § Phase 1 exception.
27
27
  - TA: `generate-3d`, GLB, flip sprites.
@@ -1,19 +1,19 @@
1
- # Designer Handoff v2 — Gate #2b checklist
1
+ # Artist Handoff v2 — Ring 3 verify checklist
2
2
 
3
- > Read at **Step 5** of `designer-style-exploration-flow.md` before `gates.#2b = pending` STOP.
3
+ > Read at **Step 5** of `artist-style-exploration-flow.md` before ring 3 verify STOP (`ringGate: pending`).
4
4
 
5
5
  ## Prerequisites
6
6
 
7
- - [ ] `workflowSpecVersion` = `designer-handoff-v2` in `project-state.md` (or migrating per `workflow-changelog.md`)
8
- - [ ] `selectedMcOption` set (Gate #2a passed)
7
+ - [ ] `workflowSpecVersion` = `growth-rings-v1` in `npm run state:get -- --json`
8
+ - [ ] `selectedMcOption` set (ring 3 Ring Gate — MC selection passed)
9
9
  - [ ] MC path: `assets/images/storyboard/master_composite_option_[X].png`
10
10
  - [ ] ASR paths exist and pass zero-overlap visual check
11
11
  - [ ] ASR cells: isolated elements, no white box / scene inside cells (whole sheet opaque is OK)
12
- - [ ] § **Image Production Preflight** filled (Phase 1 — three Skills read)
12
+ - [ ] § **Image Production Preflight** filled (ring 3 build — three Skills read)
13
13
 
14
14
  ## 1. ASR Coverage Matrix (100% rows)
15
15
 
16
- In `logs/designer-log.md` § ASR Coverage Matrix:
16
+ In `logs/artist-log.md` § ASR Coverage Matrix:
17
17
 
18
18
  1. List every `elementId` from `layout-spec.md` § Asset Mapping (atlas `frameId` groups = one row per logical element).
19
19
  2. List every static text `id` from § Text Assets → Static Text.
@@ -25,7 +25,7 @@ In `logs/designer-log.md` § ASR Coverage Matrix:
25
25
 
26
26
  **Type representative rule**: each distinct **elementType** (Matrix column or `layout-spec` § Element Type Registry) must have at least one row with CoverageLayer `on-asr` or `mc-crop`.
27
27
 
28
- **Stop rule**: any contract row missing → do not set `#2b` pending.
28
+ **Stop rule**: any contract row missing → do not set `ringGate: pending`.
29
29
 
30
30
  ## 2. Palette Locked
31
31
 
@@ -39,7 +39,7 @@ In `logs/designer-log.md` § ASR Coverage Matrix:
39
39
  | cta | #**\_\_** | |
40
40
  | element_1 | #**\_\_** | |
41
41
 
42
- **Delta vs layout-spec**: match | PM update: <one line>
42
+ **Delta vs layout-spec**: match | Game Designer update: <one line>
43
43
  ```
44
44
 
45
45
  ## 3. Motion Notes
@@ -52,17 +52,17 @@ In `docs/style-exploration.md` under confirmed option:
52
52
  | Tutorial → Gameplay | | | |
53
53
  | Gameplay → End Card | | | |
54
54
 
55
- ## 4. Phase 2 VisualAtom decision tree
55
+ ## 4. Phase 2 production handoff decision tree
56
56
 
57
57
  ```
58
- For each atom-plan row where assignTo = Designer:
58
+ For each Artist-owned production item:
59
59
  ├─ VisualAtom + covered in Coverage Matrix?
60
- │ └─ yes → status=done, actualOutput=ASR:... (on-asr rows → asrSlot in atom-plan.json)
60
+ │ └─ yes → record ASR sheet/grid or MC crop in artist-log + handoffContext
61
61
  ├─ AudioAtom?
62
- │ └─ deliver MP3 at path → done (Phase 2 only)
62
+ │ └─ deliver MP3 at path → record in artist-log + handoffContext
63
63
  ├─ Gap / TA extract failed (ICP)?
64
- │ └─ generate one PNG → done with path, or blocked until answered
65
- └─ Never: done with only "will extract later"
64
+ │ └─ generate one PNG → record path, or block until answered
65
+ └─ Never: write execution status or output paths into atom-tree.json
66
66
  ```
67
67
 
68
68
  ## 5. Files to verify before STOP
@@ -70,7 +70,7 @@ For each atom-plan row where assignTo = Designer:
70
70
  | File | Contains |
71
71
  | ------------------------------------------------------- | ------------------------------------------------------------------------- |
72
72
  | `docs/style-exploration.md` | MC paths, Motion Notes, Experience Flow |
73
- | `logs/designer-log.md` | Image Production Preflight, Coverage Matrix, Palette Locked, Style Intent |
73
+ | `logs/artist-log.md` | Image Production Preflight, Coverage Matrix, Palette Locked, Style Intent |
74
74
  | `assets/images/reference/ui_state_sheet_[X].png` | exists |
75
75
  | `assets/images/reference/element_state_sheet_[X].png` | exists |
76
76
  | `assets/images/reference/element_state_sheet_[X]_2.png` | if types > 12 / overflow |
@@ -0,0 +1,14 @@
1
+ # Artist Legacy Fallback
2
+
3
+ Use this reference only when `dispatchPacket` is null and `sliceState` is empty.
4
+
5
+ This preserves the older visual handoff path for existing projects. It is not part of slice-axis dispatch.
6
+
7
+ Legacy behavior:
8
+
9
+ - Read `npm run state:get -- --json` and follow the disclosed current action.
10
+ - Use the existing Artist reference guides only when the orchestrator-disclosed task asks for them.
11
+ - Produce visual handoff context and artifact references, not runtime implementation.
12
+ - Route missing design or asset contract gaps instead of guessing.
13
+
14
+ When `sliceState` exists, return to the main Artist role contract.
@@ -1,6 +1,6 @@
1
1
  # Master Composite — 游戏类型 Prompt 配方 & 参考
2
2
 
3
- > 本文件供 Designer 在生成 Master Composite 时按需查阅。核心规则见 `playcraft-storyboard` skill。
3
+ > 本文件供 Artist 在生成 Master Composite 时按需查阅。核心规则见 `playcraft-storyboard` skill。
4
4
 
5
5
  ## 模型策略(MC 专用 — 仅高质量模型)
6
6
 
@@ -198,10 +198,10 @@ playcraft tools generate-image \
198
198
  ```
199
199
  assets/images/storyboard/master_composite_option_A.png ← 方案 A
200
200
  assets/images/storyboard/master_composite_option_B.png ← 方案 B
201
- assets/images/storyboard/master_composite.png ← Gate #2 确认后复制
201
+ assets/images/storyboard/master_composite.png ← ring 3 Ring Gate 确认后复制
202
202
  ```
203
203
 
204
- Gate #2 确认后:
204
+ ring 3 Ring Gate 确认后:
205
205
 
206
206
  ```bash
207
207
  cp assets/images/storyboard/master_composite_option_[X].png assets/images/storyboard/master_composite.png
@@ -0,0 +1,55 @@
1
+ # Artist — Style exploration flow (Phase 1: ASR + Handoff Pack)
2
+
3
+ > **Scope**: After MC is delivered by storyboard subagent and `selectedMcOption` is set (ring 3 Ring Gate passed), follow this document for **ASR production** through ring 3 verify STOP. **Exit criteria**: see `agents/artist.md` Goals § Success criteria.
4
+ >
5
+ > **Deliverable shapes & tables**: `.claude/agents/refs/artist-deliverable-spec.md`.
6
+ >
7
+ > **Pre-condition**: `npm run state:get -- --json` reports `selectedMcOption` (MC already exists at `assets/images/storyboard/master_composite_option_[X].png`).
8
+
9
+ **Trigger**: `state:get` reports `iteration: 3`, `loop: build`, `selectedMcOption` set.
10
+
11
+ ## Step 1 — Image Production Preflight (before ASR)
12
+
13
+ Fill `logs/artist-log.md` § **Image Production Preflight**:
14
+
15
+ 1. Read `playcraft-asset-state-sheet`, `playcraft-image-generation` (§3 + §3.1)
16
+ 2. Mark each Skill row ✓ with one-line decision summary
17
+ 3. Read `layout-spec.md` — count assetMapping rows + note Element Type Registry (if present)
18
+
19
+ **Do not generate ASR until this section is complete.**
20
+
21
+ ## Step 2 — Generate ASR sheets(仅针对 state `selectedMcOption`)
22
+
23
+ - Read `selectedMcOption` from `npm run state:get -- --json` — if missing, **STOP**
24
+ - **Re-read** `playcraft-asset-state-sheet` + `playcraft-image-generation` §3.1 (cell chroma / isolated)
25
+ - 输出:`ui_state_sheet_[X].png` + `element_state_sheet_[X].png`(类型 >12 时可加 `element_state_sheet_[X]_2.png`)
26
+ - `--reference-image` = `master_composite_option_[selectedMcOption].png`;`--image-model` 与 MC 一致
27
+ - Prompt:sheet `#808080` 或统一色幕;每格 **one isolated element**;金/橙格用蓝幕
28
+ - 生成后 `playcraft image info`;目视:零重叠、格内无白盒/场景底
29
+ - **Do not** `remove-background` on ASR — TA handles post-crop
30
+
31
+ ## Step 3 — Ring 3 Handoff Pack
32
+
33
+ > **Checklist**: `.claude/agents/refs/artist-handoff-v2-checklist.md`
34
+
35
+ 1. 补全 `docs/style-exploration.md`(ASR 路径、**Motion Notes**、Experience Flow)
36
+ 2. 更新 `logs/artist-log.md`:
37
+ - **ASR Coverage Matrix** — 100% contract rows + **CoverageLayer** column
38
+ - 每种 **elementType** ≥1 行 `on-asr` 或 `mc-crop`
39
+ - **Palette Locked**、Style Intent / Anti-Pattern
40
+ - Mirror `on-asr` rows → `atom-tree.json` → `meta.selectedAtoms.asrSlot`
41
+ 3. **Self-check before STOP**:
42
+
43
+ ```bash
44
+ # MC ratio (confirm MC from storyboard subagent is valid)
45
+ playcraft image info --input assets/images/storyboard/master_composite_option_[X].png
46
+
47
+ # Count contract rows (adjust grep to your layout-spec format)
48
+ grep -c 'elementId\|"id":' docs/layout-spec.md # approximate — Matrix row count must match
49
+
50
+ # ASR files exist
51
+ ls assets/images/reference/ui_state_sheet_[X].png assets/images/reference/element_state_sheet_[X].png
52
+ ```
53
+
54
+ 4. 更新 handoff + `ringGate: pending`
55
+ 5. **STOP** — 禁止 Phase 2 音频与批量视觉样本 PNG