@playcraft/cli 0.0.40 → 0.0.42

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 (130) hide show
  1. package/README.md +66 -3
  2. package/dist/atom-plan/validate-atom-plan.js +298 -0
  3. package/dist/cli-root-help.js +1 -1
  4. package/dist/commands/3d.js +363 -0
  5. package/dist/commands/create.js +337 -0
  6. package/dist/commands/image.js +1337 -43
  7. package/dist/commands/recommend.js +1 -1
  8. package/dist/commands/remix.js +213 -0
  9. package/dist/commands/skills.js +1379 -0
  10. package/dist/commands/tools-3d.js +473 -0
  11. package/dist/commands/tools-generation.js +452 -0
  12. package/dist/commands/tools-project.js +400 -0
  13. package/dist/commands/tools-research.js +37 -0
  14. package/dist/commands/tools-research.test.js +216 -0
  15. package/dist/commands/tools-utils.js +183 -0
  16. package/dist/commands/tools.js +7 -616
  17. package/dist/config.js +2 -0
  18. package/dist/index.js +19 -1
  19. package/dist/utils/version-checker.js +8 -11
  20. package/package.json +9 -3
  21. package/project-template/.claude/agents/designer.md +120 -0
  22. package/project-template/.claude/agents/developer.md +124 -0
  23. package/project-template/.claude/agents/pm.md +164 -0
  24. package/project-template/.claude/agents/refs/README.md +73 -0
  25. package/project-template/.claude/agents/refs/designer-art-style-catalog.md +533 -0
  26. package/project-template/.claude/agents/refs/designer-color-audio-recipes.md +153 -0
  27. package/project-template/.claude/agents/refs/designer-deliverable-spec.md +191 -0
  28. package/project-template/.claude/agents/refs/designer-dimension-axis.md +27 -0
  29. package/project-template/.claude/agents/refs/designer-handoff-v2-checklist.md +68 -0
  30. package/project-template/.claude/agents/refs/designer-master-composite-recipes.md +208 -0
  31. package/project-template/.claude/agents/refs/designer-style-exploration-flow.md +37 -0
  32. package/project-template/.claude/agents/refs/developer-dev-handoff.md +109 -0
  33. package/project-template/.claude/agents/refs/developer-impl-cookbook.md +134 -0
  34. package/project-template/.claude/agents/refs/developer-phase1-flow.md +136 -0
  35. package/project-template/.claude/agents/refs/pm-workflow-detail.md +551 -0
  36. package/project-template/.claude/agents/refs/reviewer-convergence-eval.md +130 -0
  37. package/project-template/.claude/agents/refs/reviewer-six-dimension-eval.md +6 -0
  38. package/project-template/.claude/agents/refs/ta-3d-flip-recipe.md +85 -0
  39. package/project-template/.claude/agents/refs/ta-atlas-deliverable-standard.md +67 -0
  40. package/project-template/.claude/agents/refs/ta-batch-pipeline-recipes.md +120 -0
  41. package/project-template/.claude/agents/refs/ta-image-generation-detail.md +356 -0
  42. package/project-template/.claude/agents/refs/ta-image-ops-reference.md +495 -0
  43. package/project-template/.claude/agents/refs/ta-pipeline-cookbook.md +1108 -0
  44. package/project-template/.claude/agents/refs/ta-tools-reference.md +111 -0
  45. package/project-template/.claude/agents/refs/ta-vfx-preset-catalog.md +365 -0
  46. package/project-template/.claude/agents/reviewer.md +127 -0
  47. package/project-template/.claude/agents/technical-artist.md +122 -0
  48. package/project-template/.claude/hooks/README.md +44 -0
  49. package/project-template/.claude/hooks/validate-atom-plan.mjs +224 -0
  50. package/project-template/.claude/hooks/validate-workflow-stop.mjs +343 -0
  51. package/project-template/.claude/settings.json +36 -0
  52. package/project-template/.claude/settings.local.json +4 -0
  53. package/project-template/.claude/skills/playcraft-ad-psychology/SKILL.md +182 -0
  54. package/project-template/.claude/skills/playcraft-art-style-guide/SKILL.md +123 -0
  55. package/project-template/.claude/skills/playcraft-asset-state-sheet/SKILL.md +141 -0
  56. package/project-template/.claude/skills/playcraft-audio-generation/SKILL.md +280 -0
  57. package/project-template/.claude/skills/playcraft-batch-pipeline/SKILL.md +184 -0
  58. package/project-template/.claude/skills/playcraft-build-optimizer/SKILL.md +306 -0
  59. package/project-template/.claude/skills/playcraft-image-generation/SKILL.md +279 -0
  60. package/project-template/.claude/skills/playcraft-image-generation/reference/build-sprite-sheet.template.mjs +123 -0
  61. package/project-template/.claude/skills/playcraft-image-generation/reference/compare-style.template.mjs +254 -0
  62. package/project-template/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +235 -0
  63. package/project-template/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +97 -0
  64. package/project-template/.claude/skills/playcraft-image-generation/reference/gen-edit-variants.template.mjs +118 -0
  65. package/project-template/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +137 -0
  66. package/project-template/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +397 -0
  67. package/project-template/.claude/skills/playcraft-image-generation/reference/validate-sprite-sheet.template.mjs +296 -0
  68. package/project-template/.claude/skills/playcraft-image-ops/SKILL.md +122 -0
  69. package/project-template/.claude/skills/playcraft-masking/SKILL.md +373 -0
  70. package/project-template/.claude/skills/playcraft-research/SKILL.md +212 -0
  71. package/project-template/.claude/skills/playcraft-sprite-generation/SKILL.md +423 -0
  72. package/project-template/.claude/skills/playcraft-storyboard/SKILL.md +167 -0
  73. package/project-template/.claude/skills/playcraft-style-qa/SKILL.md +270 -0
  74. package/project-template/.claude/skills/playcraft-text-rendering/SKILL.md +236 -0
  75. package/project-template/.claude/skills/playcraft-vfx-animation/SKILL.md +130 -0
  76. package/project-template/.claude/skills/playcraft-workflow/SKILL.md +485 -0
  77. package/project-template/.claude/skills/playwright-cli/SKILL.md +390 -0
  78. package/project-template/.claude/skills/playwright-cli/references/element-attributes.md +23 -0
  79. package/project-template/.claude/skills/playwright-cli/references/playwright-tests.md +39 -0
  80. package/project-template/.claude/skills/playwright-cli/references/request-mocking.md +87 -0
  81. package/project-template/.claude/skills/playwright-cli/references/running-code.md +240 -0
  82. package/project-template/.claude/skills/playwright-cli/references/session-management.md +226 -0
  83. package/project-template/.claude/skills/playwright-cli/references/spec-driven-testing.md +312 -0
  84. package/project-template/.claude/skills/playwright-cli/references/storage-state.md +275 -0
  85. package/project-template/.claude/skills/playwright-cli/references/test-generation.md +138 -0
  86. package/project-template/.claude/skills/playwright-cli/references/tracing.md +142 -0
  87. package/project-template/.claude/skills/playwright-cli/references/video-recording.md +157 -0
  88. package/project-template/.cursor/hooks.json +17 -0
  89. package/project-template/.cursor/rules/playcraft-orchestrator.mdc +137 -0
  90. package/project-template/.cursor/rules/playcraft-subagent-boundary.mdc +18 -0
  91. package/project-template/CLAUDE.md +280 -0
  92. package/project-template/assets/audio/bgm/.gitkeep +0 -0
  93. package/project-template/assets/audio/sfx/.gitkeep +0 -0
  94. package/project-template/assets/bundles/.gitkeep +0 -0
  95. package/project-template/assets/images/bg/.gitkeep +0 -0
  96. package/project-template/assets/images/reference/.gitkeep +0 -0
  97. package/project-template/assets/images/storyboard/.gitkeep +0 -0
  98. package/project-template/assets/images/tiles/.gitkeep +0 -0
  99. package/project-template/assets/images/ui/.gitkeep +0 -0
  100. package/project-template/assets/images/vfx/.gitkeep +0 -0
  101. package/project-template/assets/models/.gitkeep +0 -0
  102. package/project-template/docs/team/agent-conduct.md +121 -0
  103. package/project-template/docs/team/agent-runtime-matrix.md +62 -0
  104. package/project-template/docs/team/atom-plan-format.md +105 -0
  105. package/project-template/docs/team/collaboration.md +297 -0
  106. package/project-template/docs/team/core-model.md +50 -0
  107. package/project-template/docs/team/platform-capabilities.md +15 -0
  108. package/project-template/docs/team/workflow-changelog.md +65 -0
  109. package/project-template/docs/team/workflow-consistency-checklist.md +140 -0
  110. package/project-template/game/config/.gitkeep +0 -0
  111. package/project-template/game/gameplay/.gitkeep +0 -0
  112. package/project-template/game/scenes/.gitkeep +0 -0
  113. package/project-template/logs/.gitkeep +0 -0
  114. package/project-template/ta-workspace/logs/.gitkeep +0 -0
  115. package/project-template/ta-workspace/scripts/.gitkeep +0 -0
  116. package/project-template/ta-workspace/tmp/.gitkeep +0 -0
  117. package/project-template/templates/atom-plan.template.json +26 -0
  118. package/project-template/templates/atom-plan.template.md +108 -0
  119. package/project-template/templates/design-brief.template.md +195 -0
  120. package/project-template/templates/design-lens-checklist.reference.md +117 -0
  121. package/project-template/templates/design-methodology.md +99 -0
  122. package/project-template/templates/designer-log.template.md +114 -0
  123. package/project-template/templates/developer-log.template.md +134 -0
  124. package/project-template/templates/five-axis-framework.md +186 -0
  125. package/project-template/templates/intent-clarifications.template.md +58 -0
  126. package/project-template/templates/layout-spec.template.md +146 -0
  127. package/project-template/templates/project-state.template.md +237 -0
  128. package/project-template/templates/review-report.template.md +91 -0
  129. package/project-template/templates/style-exploration.template.md +93 -0
  130. package/project-template/templates/ta-log.template.md +343 -0
@@ -0,0 +1,237 @@
1
+ # Project State
2
+
3
+ ## Workflow spec
4
+
5
+ | Field | Value |
6
+ | ----------------------- | --------------------------------------------------------------------- |
7
+ | **workflowSpecVersion** | `convergence-v1` |
8
+ | **Changelog** | [docs/team/workflow-changelog.md](../docs/team/workflow-changelog.md) |
9
+
10
+ <!--
11
+ convergence-v1: Three convergence loops — design_check (Gate #1/#2b) → ui_pass/ui_review/ui_rework → gameplay_pass/load_check → Gate #3.
12
+ Visual baseline (designer-handoff-v2): Phase 1 = MC + ASR; Phase 2 Designer = audio + digit strip + VisualAtom status only.
13
+ -->
14
+
15
+ ## User Intent
16
+
17
+ > {{user_intent — ≤2 sentences; do NOT restate Style Direction or five-axis tables from design-brief}}
18
+
19
+ ## Gate #1 Options
20
+
21
+ <!--
22
+ Gate #1 only — orchestrator reads this + design-brief. One row per option; no Style Direction prose.
23
+ Delete this section after Gate #1 passes.
24
+ -->
25
+
26
+ | Option | Mechanic | Dimension | Interaction | Narrative | Arc | Risk | Recommended |
27
+ | ------ | -------- | --------- | ----------- | --------- | ----- | ---------------- | ----------- |
28
+ | A | {{…}} | {{…}} | {{…}} | {{L0–L3}} | {{…}} | {{low/med/high}} | {{yes/no}} |
29
+ | B | {{…}} | {{…}} | {{…}} | {{…}} | {{…}} | {{…}} | {{yes/no}} |
30
+
31
+ ## Current Stage
32
+
33
+ **{{current_stage}}** — {{stage_description}}
34
+
35
+ `pm` → `style_exploration` → `production` → `ui_pass` → `ui_review` ⇄ `ui_rework` → `gameplay_pass` → `done`
36
+
37
+ <!-- Stage definitions: see CLAUDE.md § Stage Model -->
38
+
39
+ ## Gates
40
+
41
+ > Only the **orchestrator** runs `AskUserQuestion` toward the user. Sub-agents set `pending` and STOP.
42
+
43
+ | Gate | Status | Notes |
44
+ | ------------------ | ------------------ | ---------------------------------------------------------------------------- |
45
+ | #1 Direction | {{passed/pending}} | Orchestrator confirms after PM four docs + Reviewer design_check + STOP |
46
+ | #2a MC selection | {{passed/pending}} | Orchestrator picks A/B/C → sets `selectedMcOption` below |
47
+ | #2b MC + ASR final | {{passed/pending}} | Reviewer design_check → Orchestrator confirms MC + ASR → `stage: production` |
48
+ | #3 Dev acceptance | {{passed/pending}} | Reviewer load_check pass → user opens devUrl (orchestrator link only) |
49
+
50
+ ## Agent handoff
51
+
52
+ > Sub-agents and orchestrator **must** read/write this block before STOP or invoke. See `docs/team/collaboration.md` § Agent Handoff.
53
+
54
+ ```yaml
55
+ subagent: none
56
+ subagent_stop: false
57
+ waiting_for: orchestrator
58
+ gate_pending: null
59
+ next_orchestrator_action: null
60
+ last_completed_by: null
61
+ rework_round: 0
62
+ block_reason: null
63
+ ```
64
+
65
+ <!--
66
+ Examples (copy structure on STOP — do not leave nulls):
67
+
68
+ PM Gate #1 STOP:
69
+ subagent: pm
70
+ subagent_stop: true
71
+ waiting_for: user_gate
72
+ gate_pending: "1"
73
+ next_orchestrator_action: "Run Gate #1 AskUserQuestion"
74
+ last_completed_by: pm
75
+ rework_round: 0
76
+
77
+ Designer Gate #2a STOP:
78
+ subagent: designer
79
+ subagent_stop: true
80
+ waiting_for: user_gate
81
+ gate_pending: "2a"
82
+ next_orchestrator_action: "Run Gate #2a"
83
+ last_completed_by: designer
84
+
85
+ Developer ui_pass STOP:
86
+ subagent: developer
87
+ subagent_stop: true
88
+ waiting_for: orchestrator
89
+ gate_pending: null
90
+ next_orchestrator_action: "Invoke @reviewer ui_diff"
91
+ last_completed_by: developer
92
+
93
+ Reviewer ui_diff pass STOP:
94
+ subagent: reviewer
95
+ subagent_stop: true
96
+ waiting_for: orchestrator
97
+ gate_pending: null
98
+ next_orchestrator_action: "Set stage=gameplay_pass, invoke @developer"
99
+ last_completed_by: reviewer
100
+ -->
101
+
102
+ ## Gate resume fields
103
+
104
+ | Field | Value |
105
+ | ---------------- | -------------------------------------------------- |
106
+ | selectedMcOption | {{A / B / C — set by orchestrator after Gate #2a}} |
107
+ | uiReworkRound | {{0–5 — incremented by Reviewer on ui_diff fail}} |
108
+
109
+ ## Dev Preview
110
+
111
+ | Field | Value |
112
+ | -------------- | ---------------------------------------------------------------------------- |
113
+ | devCommand | npm run dev |
114
+ | devScript | {{from package.json scripts.dev}} |
115
+ | devUrl | {{http://... — Developer records when ready; orchestrator uses for Gate #3}} |
116
+ | devStatus | pending / ui_ready / ready / blocked_upstream / failed |
117
+ | devBlockers | {{list: assetPath, issue, routeTo (TA/Designer/PM), status}} |
118
+ | devStartedBy | developer / reviewer / orchestrator |
119
+ | devLastChecked | {{ISO timestamp}} |
120
+ | loadCheck | pending / passed / failed |
121
+ | loadCheckNotes | {{console errors, white screen, load time}} |
122
+
123
+ ## UI Review
124
+
125
+ | Field | Value |
126
+ | ---------------- | ------------------------------------------ |
127
+ | uiReviewStatus | pending / passed / failed |
128
+ | uiReworkRound | {{0–5}} |
129
+ | uiDiffReportPath | logs/review-report.md |
130
+ | uiDiffNotes | {{summary of MC vs screenshot comparison}} |
131
+
132
+ <!--
133
+ devStatus:
134
+ pending — ui_pass or gameplay_pass not finished
135
+ ui_ready — UI shell complete (scene switch, layout, simple states); safe to invoke Reviewer ui_diff
136
+ ready — gameplay_pass complete; safe to invoke Reviewer load_check
137
+ blocked_upstream — Developer waiting on TA/Designer rework (orchestrator re-invokes)
138
+ failed — dev server could not start; document error
139
+
140
+ Developer MUST NOT set ui_ready/ready while devBlockers has open items.
141
+ -->
142
+
143
+ ## File Index
144
+
145
+ ### PM Output
146
+
147
+ | File | Description | Status |
148
+ | --------------------------------------- | --------------------------------------------- | ---------- |
149
+ | [design-brief.md](docs/design-brief.md) | Style Direction + experience flow (mechanics) | {{status}} |
150
+ | [layout-spec.md](docs/layout-spec.md) | Paths, palette hex, assetMapping, atlas | {{status}} |
151
+ | [atom-plan.json](docs/atom-plan.json) | skillsMatch + atoms[] (machine contract) | {{status}} |
152
+ | [atom-plan.md](docs/atom-plan.md) | Acceptance criteria + Context enrichments | {{status}} |
153
+
154
+ ### Designer Output
155
+
156
+ | File/Directory | Description | Status |
157
+ | ------------------------------------------------- | ----------------------------------------- | ---------- |
158
+ | [style-exploration.md](docs/style-exploration.md) | Style options + concept mockups (Phase 1) | {{status}} |
159
+ | [designer-log.md](logs/designer-log.md) | Work log + delivery manifest | {{status}} |
160
+ | `assets/images/` | Key creative samples (Designer) | {{status}} |
161
+ | `assets/audio/` | BGM + SFX (original generation) | {{status}} |
162
+ | `assets/bundles/` | Designer atom bundles | {{status}} |
163
+
164
+ ### Technical Artist Output
165
+
166
+ | File/Directory | Description | Status |
167
+ | --------------------------- | ---------------------------------------------------------------- | ---------- |
168
+ | [ta-log.md](logs/ta-log.md) | Work log + compliance report | {{status}} |
169
+ | `assets/images/` | Completed asset set (TA completions + sprite sheets + processed) | {{status}} |
170
+ | `assets/audio/` | Post-processed audio (compress/trim/loop) | {{status}} |
171
+ | `assets/bundles/` | TA atom bundles | {{status}} |
172
+
173
+ ### Developer Output
174
+
175
+ | File/Directory | Description | Status |
176
+ | ----------------------------------------- | ------------------------------------------------------ | ---------- |
177
+ | [developer-log.md](logs/developer-log.md) | Work log + Dev self-check + devUrl + upstream blockers | {{status}} |
178
+ | `game/gameplay/` | PGS + state machine | {{status}} |
179
+ | `game/config/` | Level configuration | {{status}} |
180
+ | `game/scenes/` | Scene definitions | {{status}} |
181
+ | `game/index.html` | Entry point | {{status}} |
182
+
183
+ ### Reviewer Output
184
+
185
+ | File | Description | Status |
186
+ | --------------------------------------------------------- | ------------------------------------------- | ---------- |
187
+ | [review-report.md](logs/review-report.md) | design_check / ui_diff / load_check reports | {{status}} |
188
+ | [intent-clarifications.md](docs/intent-clarifications.md) | Agent-to-agent Q&A (ICP) | {{status}} |
189
+
190
+ ## Production Pipeline (Serial)
191
+
192
+ <!-- Only relevant when stage = production or transitioning to ui_pass -->
193
+
194
+ | Wave | Agent | Status | Notes |
195
+ | ---- | ---------------- | ---------- | ------------------------------------------ |
196
+ | 1 | Designer | {{status}} | Ph.2: audio + digit + VisualAtom status |
197
+ | 2 | Technical Artist | {{status}} | Spec Quick-Check → bulk → Compliance green |
198
+
199
+ <!-- Wave 3 Developer runs in stage = ui_pass — not tracked here -->
200
+
201
+ ## Intent Clarification Tracking
202
+
203
+ <!-- Monitor ICP activity during production -->
204
+
205
+ | Metric | Value |
206
+ | ------------------------------------------ | ---------- |
207
+ | Open questions in intent-clarifications.md | {{count}} |
208
+ | Unresolved for > 10 min | {{count}} |
209
+ | Designer questions received | {{count}} |
210
+ | TA questions received | {{count}} |
211
+ | Developer questions received | {{count}} |
212
+ | PM intervention needed | {{yes/no}} |
213
+
214
+ <!--
215
+ PM monitors this table:
216
+ - Open questions > 3 → PM must intervene
217
+ - Single Agent receives > 3 questions → record "intent transmission fault" in DAG Revisions
218
+ -->
219
+
220
+ <!--
221
+ Orchestrator serial rules:
222
+ - Gate #2b passed → invoke @designer only (Wave 1)
223
+ - Wave 1 = done → invoke @technical-artist (Wave 2)
224
+ - Wave 2 = done → stage: ui_pass → invoke @developer
225
+ - Optional: 30s spot-check ta-log Compliance + contract paths exist before @developer
226
+ -->
227
+
228
+ ## Progress Checkpoint
229
+
230
+ <!--
231
+ One row per major step — decision summary only, not full contract text.
232
+ Gate #1 example Notes: "Option B recommended; Competence + match-3" (not a copy of design-brief).
233
+ -->
234
+
235
+ | # | Stage | Agent | Action | Result | Notes |
236
+ | ----- | --------- | --------- | ----------------- | ----------- | ----------------------------- |
237
+ | {{n}} | {{stage}} | {{agent}} | {{what_was_done}} | {{outcome}} | {{key_decisions_or_blockers}} |
@@ -0,0 +1,91 @@
1
+ # Review Report
2
+
3
+ > Fill **one section** matching the review mode orchestrator invoked: `design_check` | `ui_diff` | `load_check`.
4
+
5
+ ## Review Mode
6
+
7
+ **{{design_check / ui_diff / load_check}}** — {{ISO timestamp}}
8
+
9
+ ## Verdict
10
+
11
+ **{{pass / fail}}**
12
+
13
+ ---
14
+
15
+ ## design_check (Gate #1 / #2b)
16
+
17
+ ### Gate
18
+
19
+ **{{#1 / #2b}}**
20
+
21
+ ### Checklist
22
+
23
+ | Item | Pass? | Notes |
24
+ | ------------------ | ---------- | ----------- |
25
+ | {{checklist item}} | {{yes/no}} | {{details}} |
26
+
27
+ ### Missing / defects
28
+
29
+ | # | Issue | routeTo |
30
+ | ----- | --------------- | ------------- |
31
+ | {{n}} | {{description}} | pm / designer |
32
+
33
+ ### Outcome
34
+
35
+ {{pass → Run Gate / fail → re-invoke agent}}
36
+
37
+ ---
38
+
39
+ ## ui_diff (MC screenshot comparison)
40
+
41
+ ### devUrl
42
+
43
+ {{http://...}}
44
+
45
+ ### Scene comparisons
46
+
47
+ | Scene | Screenshot | MC reference | Severity | Match? | routeTo | Fix suggestion |
48
+ | ----- | --------------------- | ------------ | ------------------------ | ---------- | ------------------------- | -------------- |
49
+ | hook | logs/ui-diff-hook.png | {{mc path}} | {{critical/major/minor}} | {{yes/no}} | {{developer/ta/designer}} | {{fix}} |
50
+
51
+ ### Summary
52
+
53
+ - **uiReworkRound**: {{0–5}}
54
+ - **Blocking issues**: {{count critical + major}}
55
+ - **Minor only**: {{yes/no — does not block pass}}
56
+
57
+ ### Action Items
58
+
59
+ | # | Severity | routeTo | Action |
60
+ | ----- | ------------ | --------- | ---------------- |
61
+ | {{n}} | {{severity}} | {{agent}} | {{specific fix}} |
62
+
63
+ ---
64
+
65
+ ## load_check (pre-Gate #3)
66
+
67
+ ### devUrl
68
+
69
+ {{http://...}}
70
+
71
+ ### Checks
72
+
73
+ | Check | Pass? | Notes |
74
+ | ---------------------- | ---------- | ------------------------- |
75
+ | Page loads ≤10s | {{yes/no}} | {{load time}} |
76
+ | No console Error logs | {{yes/no}} | {{error summary or none}} |
77
+ | game/index.html exists | {{yes/no}} | — |
78
+
79
+ ### Screenshot
80
+
81
+ `logs/load-check.png`
82
+
83
+ ### Outcome
84
+
85
+ {{pass → Run Gate #3 / fail → route Developer}}
86
+
87
+ ---
88
+
89
+ ## Summary
90
+
91
+ {{one paragraph overall assessment for this review mode}}
@@ -0,0 +1,93 @@
1
+ # Style Exploration
2
+
3
+ > Designer Phase 1 output (`designer-handoff-v2`). Gate #2 = narrative + style lock via **Master Composite (MC)** + **ASR** after option selection.
4
+
5
+ ## Style Direction Summary
6
+
7
+ - **Art style**: {{art_style_from_brief}}
8
+ - **Color mood**: {{color_mood}}
9
+ - **Element theme**: {{element_theme}}
10
+ - **References**: {{reference_games_or_styles}}
11
+ - **Emotional Arc**: {{emotional_arc_from_brief}}
12
+
13
+ ## Options
14
+
15
+ ### Option {{A/B/C}}: {{option_name}}
16
+
17
+ **Keywords**: {{3-5 keywords}}
18
+ **Color temperature**: {{warm/cold/neutral}}
19
+ **Art approach**: {{1-2 sentences}}
20
+ **Alignment with design-brief**: {{brief alignment}}
21
+
22
+ #### Master Composite (Gate #2a)
23
+
24
+ | File | Description |
25
+ | ------------------------------------------------------------ | ----------------------------------------------------------- |
26
+ | `assets/images/storyboard/master_composite_option_{{a}}.png` | 5×9:16 panels: concept + Hook + Onboarding + End Card + CTA |
27
+
28
+ **MC prompt** (summary or path to sidecar `.json`):
29
+
30
+ ```
31
+ {{master_composite_prompt_summary}}
32
+ ```
33
+
34
+ #### Panels (embedded in MC — not separate files)
35
+
36
+ | Panel # | Label | Time | Visual intent |
37
+ | ------- | ------------------ | ------- | ----------------------------------------- |
38
+ | 1 | Main Gameplay | — | Full UI + all element types + static text |
39
+ | 2 | Key Hook | 0-3s | {{hook intent}} |
40
+ | 3 | Onboarding HUD | 3-10s | {{tutorial intent}} |
41
+ | 4 | End Card | 25-30s | {{end card intent}} |
42
+ | 5 | CTA Always Visible | in-game | {{persistent CTA}} |
43
+
44
+ #### Experience Flow Design
45
+
46
+ **Emotional Arc Visualization**:
47
+
48
+ - Hook → {{visual signals}}
49
+ - Tutorial → {{visual signals}}
50
+ - Gameplay Peak → {{near-win signals}}
51
+ - End Card → {{resolution signals}}
52
+
53
+ **Near-Win Visual Composition**: {{description}}
54
+
55
+ **Attention Guidance per Stage**: Hook / Tutorial / Gameplay / End Card — {{paths}}
56
+
57
+ **Audio-Emotion Rhythm** (for Phase 2 BGM/SFX): {{per-stage audio notes}}
58
+
59
+ ---
60
+
61
+ <!-- Repeat per option (2–3). Gate #2a: user picks A/B/C. Gate #2b: add ASR + Motion Notes below for selected option only. -->
62
+
63
+ ## Selected option (after Gate #2a)
64
+
65
+ - **Selected**: {{A/B/C}}
66
+ - **MC path**: `assets/images/storyboard/master_composite_option_{{X}}.png`
67
+
68
+ ### ASR (Gate #2b)
69
+
70
+ | File | Role |
71
+ | ------------------------------------------------------- | ----------------------- |
72
+ | `assets/images/reference/ui_state_sheet_{{X}}.png` | UI component states |
73
+ | `assets/images/reference/element_state_sheet_{{X}}.png` | Gameplay element states |
74
+
75
+ Detail tables: `logs/designer-log.md` § ASR Coverage Matrix.
76
+
77
+ ### Motion Notes (Gate #2b)
78
+
79
+ | Transition | Type | Duration | Notes |
80
+ | ------------------- | ------------------- | -------- | ----- |
81
+ | Hook → Tutorial | {{fade/zoom/swipe}} | {{~ms}} | |
82
+ | Tutorial → Gameplay | | | |
83
+ | Gameplay → End Card | | | |
84
+
85
+ ## Recommendation
86
+
87
+ {{Which option and why — ties to PM Emotional Arc}}
88
+
89
+ ## User Decision
90
+
91
+ - **Selected option**: {{A/B/C}}
92
+ - **User feedback**: {{adjustments}}
93
+ - **Confirmed MC**: `assets/images/storyboard/master_composite_option_{{X}}.png`