@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
@@ -0,0 +1,133 @@
1
+ {
2
+ "meta": {
3
+ "atomTreeSchemaVersion": 1,
4
+ "title": "",
5
+ "idea": "",
6
+ "gate": 1,
7
+ "engineDecision": {
8
+ "mode": "unset",
9
+ "engine": null,
10
+ "engineAtom": null,
11
+ "adapter": null,
12
+ "reason": "Run playcraft skills init-atom-tree after intent is known.",
13
+ "runtimeContract": "window.__playable"
14
+ },
15
+ "skillsMatch": {
16
+ "engine": null,
17
+ "engineSource": "none",
18
+ "intent": [],
19
+ "items": [],
20
+ "mediaGroups": []
21
+ },
22
+ "selectedAtoms": [],
23
+ "compactSelectionNoMatchReason": "",
24
+ "activatedSlices": [],
25
+ "sliceQueueNote": "Slice-axis: run playcraft skills match before seeding sliceState. Write meta.skillsMatch snapshot + a few meta.selectedAtoms (compact refs, not full graph). Each developer slice must cite skillRefs/skillUse or fromScratchReason. activatedSlices lists sliceIds driving dispatch — Ring 1: 1–3; Ring 2: 2–4 periphery ids.",
26
+ "selectionRevisions": [
27
+ {
28
+ "version": "1.0",
29
+ "date": "1970-01-01",
30
+ "changes": "Initial unset skeleton from template",
31
+ "author": "template"
32
+ }
33
+ ],
34
+ "rings": {
35
+ "1": {
36
+ "goal": "first playable loop",
37
+ "requiredPaths": ["engine"],
38
+ "verifiers": ["contract", "lifecycle", "firstLevelWin", "placeholders"],
39
+ "acceptanceKeys": ["contract", "lifecycle", "firstLevelWin", "placeholders"]
40
+ },
41
+ "2": {
42
+ "goal": "gameplay + periphery",
43
+ "requiredPaths": ["engine"],
44
+ "verifiers": [
45
+ "contract",
46
+ "lifecycle",
47
+ "firstLevelWin",
48
+ "oneClickEndcard",
49
+ "verifyUi",
50
+ "fullPlaythrough",
51
+ "placeholders"
52
+ ],
53
+ "acceptanceKeys": [
54
+ "contract",
55
+ "lifecycle",
56
+ "firstLevelWin",
57
+ "oneClickEndcard",
58
+ "verifyUi",
59
+ "fullPlaythrough",
60
+ "placeholders"
61
+ ]
62
+ },
63
+ "3": {
64
+ "goal": "playable ad hook/CTA",
65
+ "requiredPaths": ["engine"],
66
+ "verifiers": [
67
+ "contract",
68
+ "lifecycle",
69
+ "firstLevelWin",
70
+ "oneClickEndcard",
71
+ "verifyUi",
72
+ "fullPlaythrough",
73
+ "hookCta",
74
+ "placeholders"
75
+ ],
76
+ "acceptanceKeys": [
77
+ "contract",
78
+ "lifecycle",
79
+ "firstLevelWin",
80
+ "oneClickEndcard",
81
+ "verifyUi",
82
+ "fullPlaythrough",
83
+ "hookCta",
84
+ "placeholders"
85
+ ]
86
+ },
87
+ "4": {
88
+ "goal": "production + architecture",
89
+ "requiredPaths": ["engine"],
90
+ "verifiers": [
91
+ "contract",
92
+ "lifecycle",
93
+ "firstLevelWin",
94
+ "oneClickEndcard",
95
+ "verifyUi",
96
+ "fullPlaythrough",
97
+ "hookCta",
98
+ "uiDiff",
99
+ "visualDiff",
100
+ "bgClean",
101
+ "tileConsistency",
102
+ "textOverlap",
103
+ "assetBudget",
104
+ "assetCodeSync",
105
+ "atomConformance",
106
+ "fusion"
107
+ ],
108
+ "acceptanceKeys": [
109
+ "contract",
110
+ "lifecycle",
111
+ "firstLevelWin",
112
+ "oneClickEndcard",
113
+ "verifyUi",
114
+ "fullPlaythrough",
115
+ "hookCta",
116
+ "uiDiff",
117
+ "visualDiff",
118
+ "bgClean",
119
+ "tileConsistency",
120
+ "textOverlap",
121
+ "assetBudget",
122
+ "assetCodeSync",
123
+ "atomConformance",
124
+ "fusion"
125
+ ]
126
+ }
127
+ }
128
+ },
129
+ "engine": { "atom": null },
130
+ "globals": {},
131
+ "scenes": [],
132
+ "review": {}
133
+ }
@@ -1,195 +1,92 @@
1
- # Design Brief
1
+ # {Game Name} — Progressive Discovery Brief
2
2
 
3
3
  <!--
4
- PM only. CONTRACT doc — keep concise (see agent-conduct § PM four-doc discipline).
5
- Put here: five-axis outcome, gameplay choice, Style Direction, experience-flow (mechanics only), level knobs.
6
- Do NOT paste: hex colors / element ids (→ layout-spec § Color Palette + assetMapping);
7
- per-stage emotions / audio-visual signals (→ Style Direction § Emotional Arc Intent only);
8
- MC/ASR paths, prompts, research dumps (→ style-exploration + designer-log).
9
- -->
10
-
11
- ## Intent Analysis
12
-
13
- | Dimension | Tags | Classification |
14
- | ----------------------- | ------------------------------------------------------------------- | ------------------------ |
15
- | Visual Style | {{visual_style_tags}} | {{cared/uncared/locked}} |
16
- | Core Gameplay | {{gameplay_type}} | {{cared/uncared/locked}} |
17
- | Element Theme | {{element_theme}} | {{cared/uncared/locked}} |
18
- | Pace/Feel | {{pace_tags}} | {{cared/uncared/locked}} |
19
- | Color Mood | {{color_mood}} | {{cared/uncared/locked}} |
20
- | Target Audience | {{audience_tags}} | {{cared/uncared/locked}} |
21
- | Target Platform | {{platform}} | {{cared/uncared/locked}} |
22
- | Promoted Product | {{product_type}} | {{cared/uncared/locked}} |
23
- | **User Motivation Job** | {{stress-relief / challenge / collection / creativity / immersion}} | {{cared/uncared}} |
24
-
25
- <!-- User Motivation Job: the psychological "job" the target user hires this ad/game to do (JTBD).
26
- No signal → default "stress-relief"; strategy RPG → infer "challenge". -->
27
-
28
- ## Gameplay Selection
29
-
30
- - **Selected gameplay**: {{gameplay_type}} ({{gameplay_subtype}})
31
- - **Rationale**: {{selection_rationale}}
32
- - **Risk level**: {{low/medium/high}} — {{risk_explanation}}
33
- - **Alternative considered**: {{alternative}} — {{why_not_chosen}}
34
-
35
- ## Fusion Strategy
36
-
37
- <!-- Only fill for fusion gameplay (Type A/B1/B2/C/D). Delete this section for single gameplay. -->
38
-
39
- ### Mechanic Fusion
40
-
41
- - **Primary Mechanic**: {{primary_gameplay_type}}
42
- - **Secondary Mechanic**: {{secondary_gameplay_type}}
43
- - **Fusion Type**: {{A / B1 / B2 / C / D}} — {{one-line description of how mechanics fuse}}
44
- - **Integration Point**: {{where the two systems connect, e.g., "elimination count drives monster HP bar"}}
45
- - **Tutorial Approach**: {{how to teach both mechanics within the Tutorial phase}}
46
- - **Fusion Depth Limit**: {{secondary mechanic ≤ Xs to learn / no more than N simultaneous hotspots}}
47
- - **Mechanic Risk Level**: {{Low / Medium / High / Extreme}}
48
- - **Downgrade Applied**: {{whether downgraded from user's original request; if so, explain why}}
49
-
50
- <!-- Dimension / 2.5D / True 3D: declare once in Style Direction § Dimension — do NOT duplicate here. -->
51
-
52
- ## Style Direction
53
-
54
- <!--
55
- THIS IS THE MOST CRITICAL SECTION FOR DESIGNER.
56
- Be specific, visual, and reference-based. NOT just adjectives.
57
- The first four fields (Dimension / Interaction Modality / Emotional Arc / Emotional Arc Intent)
58
- are mandatory explicit declarations — not implied within Art Style or Mood.
59
- -->
60
-
61
- ### Dimension
62
-
63
- {{Flat 2D / 2.5D Visual / Isometric / True 3D}}
64
-
65
- <!-- Explain why this dimension was chosen, and its impact on Designer (asset types) and Developer (rendering pipeline).
66
- Example: "Flat 2D — broadest audience, no extra Designer cost, existing PGS fully compatible."
67
- Example: "2.5D Visual — stronger visual impact, Designer needs 3D-feel rendering assets (~3x cost), logic stays 2D grid." -->
68
-
69
- ### Interaction Modality
70
-
71
- {{Tap Only / Tap + Swipe / Drag / Tap + Hold}}
72
-
73
- <!-- Explain why this modality was chosen, estimated Tutorial time, and target audience width.
74
- Example: "Tap Only — pure tap, Tutorial ~1s, broadest audience (includes elderly, children)."
75
- Example: "Drag — draw-path interaction, Tutorial ~5s, more intuitive visually but narrower audience." -->
4
+ Living discovery log — NOT a substitute for docs/DESIGN.md (the playable seed contract).
76
5
 
77
- ### Emotional Arc
6
+ Ring 1 (slice-axis):
7
+ - Record how core action / feedback / progress / constraints were discovered.
8
+ - Feed the minimal slice queue; do NOT write layout, style, CTA polish, or production plans here.
78
9
 
79
- {{Competence / Challenge / Curiosity / Relaxation / Urgency}}
10
+ Rings 2–4:
11
+ - Deepen periphery, layout intent, Hook/CTA, style direction as those rings disclose.
12
+ - Ring 2 (slice-axis): append periphery discovery → 2–4 developer slices; not a feature backlog.
80
13
 
81
- <!-- Explain how this arc threads through Hook→Tutorial→Gameplay→EndCard. Gives Designer atmosphere reference.
82
- Example: "Competence Arc — Hook shows 'looks hard but has a pattern' → Tutorial guarantees success → Gameplay generous flow → EndCard 'easy and fun, keep playing'"
83
- This arc aligns with User Motivation Job 'stress-relief', broadest audience coverage path." -->
14
+ Update rules:
15
+ - Create at the start of clarify; append after each brainstorm round.
16
+ - Preserve source tags; do not polish away evidence.
84
17
 
85
- ### Emotional Arc Intent
18
+ Source tags: [USER] [WEB] [SKILL] [AGENT] [ASSUMPTION][confidence: high/medium/low]
86
19
 
87
- Per-stage emotional beats for Designer to design asset atmosphere:
88
-
89
- | Stage | Emotional Beat | Visual Signal | Audio Signal |
90
- | ----------------- | -------------------- | ------------------- | ------------------ |
91
- | Hook | {{hook_emotion}} | {{hook_visual}} | {{hook_audio}} |
92
- | Tutorial | {{tutorial_emotion}} | {{tutorial_visual}} | {{tutorial_audio}} |
93
- | Gameplay Flow | {{flow_emotion}} | {{flow_visual}} | {{flow_audio}} |
94
- | Gameplay Near-Win | {{nearwin_emotion}} | {{nearwin_visual}} | {{nearwin_audio}} |
95
- | End Card | {{endcard_emotion}} | {{endcard_visual}} | {{endcard_audio}} |
96
-
97
- <!-- Example rows:
98
- | Hook | Curiosity + mild anxiety | Near-win board close-up, finger hesitation | Brief silence + suspense SFX |
99
- | Tutorial | Low-pressure mastery | Soft-glow guide arrows | Light upbeat BGM |
100
- | Gameplay Flow | Smooth satisfaction | Fluid elimination animation + particles | BGM tempo increases |
101
- | Gameplay Near-Win | Tension + anticipation | Screen focus + subtle shake | Peak emotion SFX |
102
- | End Card | Satisfaction + incompleteness | Reward display + CTA highlight | Completion chime + BGM fade |
20
+ Forbidden here:
21
+ - Gate / handoff / workflow state
22
+ - implementation plans, API names, file paths
23
+ - MC / ASR production notes (Artist/TA logs)
103
24
  -->
104
25
 
105
- ### Art Style
106
-
107
- {{detailed_art_style_description}}
108
-
109
- <!-- Example: "2D flat illustration with soft drop shadows. All elements have rounded
110
- corners (8px radius feel). Slight 3D depth via subtle top-light gradient on interactive
111
- elements. NOT glossy/realistic — closer to paper cutout aesthetic.
112
- Reference: Candy Crush Saga's clean readability but with more illustration warmth." -->
113
-
114
- ### Color Strategy
115
-
116
- {{detailed_color_strategy — strategy prose only; NO hex codes}}
117
-
118
- <!-- Prose only: saturation, contrast, warm/cool, accent usage rules.
119
- Canonical hex + element ids → layout-spec § Color Palette + assetMapping only.
120
- Example: "High-sat warm palette; analogous green background gradient; primaries on tiles;
121
- gold accent reserved for score moments — see layout-spec for hex." -->
26
+ **Created**: {YYYY-MM-DD}
27
+ **Last Updated**: {YYYY-MM-DD HH:mm}
28
+ **Purpose**: Progressive discovery → slice queue + DESIGN seed
122
29
 
123
- ### Element Design
30
+ ---
124
31
 
125
- {{detailed_element_design}}
32
+ ## Discovery Status
126
33
 
127
- <!-- Example: "Fruits rendered as cute characters: each has two dot-eyes and a tiny
128
- curve smile. Body is 80% signature color with 15% lighter gradient and 5% white
129
- highlight. Proportions: slightly wider than tall (aspect ~1.1:1 within tile).
130
- Consistent shadow: 2px bottom offset, 20% opacity of fruit color.
131
- Strawberry = red with green leaf crown. Blueberry = round, deep blue, cluster of 3.
132
- Kiwi = brown fuzzy exterior, shown in cross-section (green center with black seeds)." -->
34
+ ### Clear enough to slice
133
35
 
134
- ### Visual Hierarchy
36
+ - Core action: {one line} [{SOURCE}]
37
+ - Immediate feedback: {one line} [{SOURCE}]
38
+ - Progress signal (3–5 actions): {one line} [{SOURCE}]
39
+ - First-win constraint: {one line} [{SOURCE}]
135
40
 
136
- {{visual_hierarchy_description}}
41
+ ### Still open
137
42
 
138
- <!-- Example: "Board is the dominant visual focus (47% of screen area). Background
139
- is atmospheric but LOW contrast/detail in board region — avoid competing with tiles.
140
- HUD is minimal: score number + small progress bar, white on 60% opacity black strip.
141
- CTA area: clean separation, dark gradient footer with centered bright button." -->
43
+ - {ambiguous point to clarify next} [{SOURCE}]
142
44
 
143
- ### Mood & Feeling
45
+ ---
144
46
 
145
- {{mood_description}}
47
+ ## Discovery Feed
146
48
 
147
- <!-- Example: "Cheerful and rewarding. Every interaction should feel 'juicy' — elements
148
- look like they want to be tapped. Relaxing tropical vacation vibe, not competitive stress.
149
- Audio should reinforce: light ukulele/marimba BGM, satisfying pop/chime on match." -->
49
+ Append-only evidence (newest first or chronological — pick one and stay consistent).
150
50
 
151
- ### Visual References
51
+ - {YYYY-MM-DD HH:mm} [USER] {what the user confirmed}
52
+ - {YYYY-MM-DD HH:mm} [AGENT] {synthesis or hypothesis}
53
+ - {YYYY-MM-DD HH:mm} [ASSUMPTION][confidence: medium] {inference not yet confirmed}
152
54
 
153
- {{references}}
55
+ ---
154
56
 
155
- <!-- Example:
156
- "LIKE: Tropicats (lush green mood), Royal Match (clean board readability),
157
- Candy Crush (element clarity and juiciness)
158
- NOT LIKE: Bejeweled (too glossy 3D), Tetris (too geometric/minimal),
159
- Gardenscapes (too realistic/detailed)" -->
57
+ ## Brainstorm Log
160
58
 
161
- ## Experience Flow Design
59
+ ### Round 1
162
60
 
163
- <!-- Mechanics + narrative tasks only. Per-stage emotions / visual-audio signals → Style Direction § Emotional Arc Intent (do NOT repeat here). -->
61
+ - Asked: {question and why it mattered for core action / feedback}
62
+ - Answer: [USER] {response}
63
+ - Impact: {what changed in DESIGN.md or slice queue intent}
164
64
 
165
- ### Hook (0-3s)
65
+ ---
166
66
 
167
- - **Narrative Task**: {{narrative_task}}
168
- - **Mechanic Expression**: {{mechanic_expression}}
169
- - **Trigger Type**: {{trigger_type}}
170
- <!-- Near-Win / Failure Display / Success Demo / Unexpected Conflict / Reward Reveal -->
67
+ ## Core Discovery (Ring 1 scope)
171
68
 
172
- ### Tutorial (3-10s)
69
+ > Full Hook / Tutorial / Gameplay / End Card packaging is **Ring 2+**. Ring 1 only needs enough to seed verifiable developer slices.
173
70
 
174
- - **Narrative Task**: {{narrative_task}}
175
- - **Mechanic Expression**: {{mechanic_expression}}
176
- - **Success Guarantee**: ✅ First interaction must succeed at 100%
71
+ ### Player action chain
177
72
 
178
- ### Gameplay (10-25s)
73
+ - First action: {…} [{SOURCE}]
74
+ - System response within ~100ms: {…} [{SOURCE}]
75
+ - Progress after 3–5 actions: {…} [{SOURCE}]
179
76
 
180
- - **Narrative Task**: {{narrative_task}}
181
- - **Near-Win Design**: {{near_win_design}}
182
- - **Mechanic Expression**: {{mechanic_expression}}
77
+ ### Constraints
183
78
 
184
- ### End Card (25-30s)
79
+ - Engine hint basis: {phaser / threejs + why} [{SOURCE}]
80
+ - Semantic placeholders: {player; target; feedback; reward; …} [{SOURCE}]
81
+ - Out of scope for Ring 1: layout zones, style direction, CTA copy, asset production
185
82
 
186
- - **Narrative Task**: {{narrative_task}}
187
- - **CTA Emotion Logic**: {{cta_emotion_logic}}
188
- <!-- Sequel feeling / reward inheritance — NOT "download now" -->
83
+ ---
189
84
 
190
- ## Level Configuration
85
+ ## Quality check (Ring 1)
191
86
 
192
- - Total levels: {{total_levels}}
193
- - Difficulty progression: {{difficulty_curve_description}}
194
- - First level guaranteed success: ✅
195
- - Time constraint: {{time_constraint_if_any}}
87
+ - [ ] Core action is explicit, not implied
88
+ - [ ] Feedback timing is stated
89
+ - [ ] Progress signal is countable (3–5 steps)
90
+ - [ ] First-win guarantee is described
91
+ - [ ] Important claims have source tags
92
+ - [ ] This file reads like discovery in progress, not a post-hoc essay
@@ -3,10 +3,10 @@
3
3
  > **Used by**: Reviewer Agent — after the five-dimension evaluation (mechanic / dimension / interaction / narrative / emotional arc),
4
4
  > apply these 8 design lenses for a quality audit of the design-brief.
5
5
  >
6
- > **Source**: Jesse Schell's *The Art of Game Design* core lenses, streamlined and adapted for playable ads.
6
+ > **Source**: Jesse Schell's _The Art of Game Design_ core lenses, streamlined and adapted for playable ads.
7
7
  >
8
8
  > Each lens is a set of concrete questions — not a score, but forced thinking.
9
- > If 2+ lenses have "❌ No" answers, Reviewer should flag specific design-brief items for PM revision.
9
+ > If 2+ lenses have "❌ No" answers, Reviewer should flag specific design-brief items for Game Designer revision.
10
10
 
11
11
  ---
12
12
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  > "Is every mechanic serving that one core feeling?"
16
16
 
17
- - [ ] What feeling should the user carry away when the ad ends? (fill in: ___)
17
+ - [ ] What feeling should the user carry away when the ad ends? (fill in: \_\_\_)
18
18
  - [ ] Does the design-brief's Emotional Arc clearly describe this feeling?
19
19
  - [ ] Is every design decision in Hook / Gameplay / EndCard reinforcing this core feeling?
20
20
  - [ ] Is any design element "consuming time" without serving the core feeling?
@@ -101,17 +101,17 @@
101
101
 
102
102
  ## Summary
103
103
 
104
- | Lens | Pass ✅ | Needs Work ❌ | Key Issue |
105
- |------|--------|-------------|-----------|
106
- | 1 Essential Experience | | | |
107
- | 2 The Toy | | | |
108
- | 3 Curiosity | | | |
109
- | 4 The Hook | | | |
110
- | 5 Skill | | | |
111
- | 6 The Near Win | | | |
112
- | 7 Emotion | | | |
113
- | 8 Memorable Moment | | | |
104
+ | Lens | Pass ✅ | Needs Work ❌ | Key Issue |
105
+ | ---------------------- | ------- | ------------- | --------- |
106
+ | 1 Essential Experience | | | |
107
+ | 2 The Toy | | | |
108
+ | 3 Curiosity | | | |
109
+ | 4 The Hook | | | |
110
+ | 5 Skill | | | |
111
+ | 6 The Near Win | | | |
112
+ | 7 Emotion | | | |
113
+ | 8 Memorable Moment | | | |
114
114
 
115
115
  **Reviewer Conclusion**: {{overall_assessment}}
116
116
 
117
- <!-- If any ❌: list specific design-brief items that PM should revise -->
117
+ <!-- If any ❌: list specific design-brief items that Game Designer should revise -->
@@ -1,7 +1,7 @@
1
1
  # Design Methodology Foundations
2
2
 
3
- > **When to read**: PM reads this before Step 4 (Five-Axis Evaluation) to ground decisions in theory.
4
- > Designer and Reviewer may also reference this for context on emotional intent.
3
+ > **When to read**: Game Designer reads this before Step 4 (Five-Axis Evaluation) to ground decisions in theory.
4
+ > Artist and Reviewer may also reference this for context on emotional intent.
5
5
 
6
6
  ---
7
7
 
@@ -10,22 +10,22 @@
10
10
  Core insight: **designers build upward from mechanics; players experience downward from emotion** — opposite starting points.
11
11
 
12
12
  ```
13
- Designer's perspective (build direction): Mechanics → Dynamics → Aesthetics
13
+ Game Designer's perspective (build direction): Mechanics → Dynamics → Aesthetics
14
14
  Player's perspective (experience direction): Aesthetics ← Dynamics ← Mechanics
15
15
  ```
16
16
 
17
17
  8 Aesthetics emotion types (starred = most relevant to playable ads):
18
18
 
19
- | Relevance | Aesthetic | Role in Playable Ads |
20
- |-----------|----------|---------------------|
21
- | ★★★★★ | **Sensation** | Visual juice + audio feedback — the baseline for every ad |
22
- | ★★★★★ | **Challenge** | Theoretical basis for Near-Win design; drives "one more try" |
23
- | ★★★★ | **Submission** | Healing/relaxing emotion in casual ads; low-pressure flow |
24
- | ★★★ | **Discovery** | The "aha, that's how it works!" moment; core of the Curiosity Arc |
25
- | ★★ | Fellowship | Social proof in ad context (rarely applicable in 30s) |
26
- | ★★ | Fantasy | World-building for RPG/adventure ads (requires L2+ narrative) |
27
- | ★ | Narrative | Story-driven ads — almost never fits in 30s |
28
- | ★ | Expression | Dress-up/customization ads — niche |
19
+ | Relevance | Aesthetic | Role in Playable Ads |
20
+ | --------- | -------------- | ----------------------------------------------------------------- |
21
+ | ★★★★★ | **Sensation** | Visual juice + audio feedback — the baseline for every ad |
22
+ | ★★★★★ | **Challenge** | Theoretical basis for Near-Win design; drives "one more try" |
23
+ | ★★★★ | **Submission** | Healing/relaxing emotion in casual ads; low-pressure flow |
24
+ | ★★★ | **Discovery** | The "aha, that's how it works!" moment; core of the Curiosity Arc |
25
+ | ★★ | Fellowship | Social proof in ad context (rarely applicable in 30s) |
26
+ | ★★ | Fantasy | World-building for RPG/adventure ads (requires L2+ narrative) |
27
+ | ★ | Narrative | Story-driven ads — almost never fits in 30s |
28
+ | ★ | Expression | Dress-up/customization ads — niche |
29
29
 
30
30
  **Key principle**: A tiny change in mechanics → amplified by dynamics → dramatic shift in aesthetics. Example: changing the match threshold from 3 to 2 completely transforms the rhythm and sense of achievement.
31
31
 
@@ -35,13 +35,13 @@ Player's perspective (experience direction): Aesthetics ← Dynamics ← Mechani
35
35
 
36
36
  Users don't "play a game" — they **hire** the game to do a psychological job. The same game targeting different motivation types requires completely different Hook strategies:
37
37
 
38
- | Motivation Type | Signal Words | Hook Emotion Strategy | Default Arc |
39
- |----------------|-------------|----------------------|------------|
40
- | **Stress Relief** | "casual", "relaxing", "zen", "mindless" | Show smooth, satisfying elimination flow | Relaxation Arc |
41
- | **Challenge / Mastery** | "hard", "strategic", "brain teaser" | Show high-difficulty board + near-win tension | Challenge Arc |
42
- | **Collection / Growth** | "collect", "upgrade", "rewards", "evolve" | Show reward cascade / evolution moment | Competence Arc |
43
- | **Creativity / Expression** | "customize", "dress up", "design", "create" | Show rich personalization options + beautiful results | Curiosity Arc |
44
- | **Immersion / Escape** | "story", "world", "RPG", "adventure" | Show grand scene entry + immersion hook | Curiosity Arc |
38
+ | Motivation Type | Signal Words | Hook Emotion Strategy | Default Arc |
39
+ | --------------------------- | ------------------------------------------- | ----------------------------------------------------- | -------------- |
40
+ | **Stress Relief** | "casual", "relaxing", "zen", "mindless" | Show smooth, satisfying elimination flow | Relaxation Arc |
41
+ | **Challenge / Mastery** | "hard", "strategic", "brain teaser" | Show high-difficulty board + near-win tension | Challenge Arc |
42
+ | **Collection / Growth** | "collect", "upgrade", "rewards", "evolve" | Show reward cascade / evolution moment | Competence Arc |
43
+ | **Creativity / Expression** | "customize", "dress up", "design", "create" | Show rich personalization options + beautiful results | Curiosity Arc |
44
+ | **Immersion / Escape** | "story", "world", "RPG", "adventure" | Show grand scene entry + immersion hook | Curiosity Arc |
45
45
 
46
46
  **Default rule**: If the prompt has no clear motivation signal → assume **Stress Relief** (broadest audience coverage).
47
47
 
@@ -75,11 +75,11 @@ The End Card **does not close the gap** — the user installs to "continue this
75
75
 
76
76
  Standard ad creative structure, mapped to playable ad stages:
77
77
 
78
- | Ad Stage | Playable Ad Stage | Duration | Job |
79
- |----------|------------------|----------|-----|
80
- | **Hook** | Hook | 0-3s | Stop the scroll — create immediate emotional stimulus |
81
- | **Body** | Tutorial + Gameplay | 3-25s | Deliver the core experience — build and peak the emotional arc |
82
- | **CTA** | End Card | 25-30s | Convert emotion to action — sequel feeling, not sales pitch |
78
+ | Ad Stage | Playable Ad Stage | Duration | Job |
79
+ | -------- | ------------------- | -------- | -------------------------------------------------------------- |
80
+ | **Hook** | Hook | 0-3s | Stop the scroll — create immediate emotional stimulus |
81
+ | **Body** | Tutorial + Gameplay | 3-25s | Deliver the core experience — build and peak the emotional arc |
82
+ | **CTA** | End Card | 25-30s | Convert emotion to action — sequel feeling, not sales pitch |
83
83
 
84
84
  **Key insight**: The Hook's emotion must be **consistent** with the Body and CTA. If the Hook creates curiosity but the Body delivers relaxation, the experience fractures. The Emotional Arc must be a single throughline across all three stages.
85
85
 
@@ -0,0 +1,50 @@
1
+ # {Game Name} — Ring 1 Playable Seed
2
+
3
+ <!--
4
+ Ring 1 only. This is the single Game Designer contract for a semantic
5
+ placeholder playable demo. It defines the smallest player-reachable action
6
+ chain; later rings disclose layout, Hook/CTA (Call To Action, 行动号召),
7
+ MC (Master Composite, 主合成图), ASR (Asset State Reference, 资产状态参考表),
8
+ and production assets.
9
+ -->
10
+
11
+ **Date**: {YYYY-MM-DD}
12
+ **Engine Hint**: {phaser / threejs + one-line reason}
13
+
14
+ ---
15
+
16
+ ## Player Action
17
+
18
+ {What the player can do first: tap / drag / aim / choose. Name the visible target and why the action is obvious.}
19
+
20
+ ## Immediate Feedback
21
+
22
+ {What changes within 100ms after the first input: motion, state, sound placeholder, count, reveal, or response.}
23
+
24
+ ## Progress Signal
25
+
26
+ {How 3-5 actions show progress toward success: meter fills, targets clear, path opens, stack shrinks, character advances, etc.}
27
+
28
+ ## First Win
29
+
30
+ {How the first level guarantees success: constrained setup, guided target, no failure timer, locked failure path, or simplified rule.}
31
+
32
+ ## Semantic Placeholders
33
+
34
+ | Placeholder | Meaning in Ring 1 | Required? |
35
+ | ----------- | -------------------------------------------- | --------- |
36
+ | player | {player avatar / cursor / controlled object} | yes |
37
+ | target | {thing the player acts on} | yes |
38
+ | feedback | {visual/audio/state response placeholder} | yes |
39
+ | reward | {first win / payoff placeholder} | yes |
40
+ | blocker | {optional blocker / pressure source, or n/a} | optional |
41
+
42
+ ## Runtime Seed
43
+
44
+ - **Start phase**: `HOOK` (teaching beat only — not production ad hook packaging)
45
+ - **Playable spine (Ring 1)**: HOOK → player-reachable actions → first win. **ENDCARD/CTA sections belong in Ring 3+** — do not add `## ENDCARD` or `## CTA` headings here.
46
+ - **autoPlay() rule**: uses the same reachable actions a player can perform; it must not jump directly to ENDCARD.
47
+
48
+ ## Open Assumptions
49
+
50
+ {Only list assumptions that materially affect Ring 1. Use "none" if clear.}