@playcraft/cli 0.0.39 → 0.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -3
- package/dist/atom-plan/validate-atom-plan.js +298 -0
- package/dist/cli-root-help.js +1 -1
- package/dist/commands/3d.js +363 -0
- package/dist/commands/create.js +337 -0
- package/dist/commands/fix-ids.js +17 -3
- package/dist/commands/fix-ids.test.js +264 -0
- package/dist/commands/image.js +1337 -43
- package/dist/commands/login.js +60 -2
- package/dist/commands/recommend.js +1 -1
- package/dist/commands/remix.js +213 -0
- package/dist/commands/skills.js +1379 -0
- package/dist/commands/tools-3d.js +473 -0
- package/dist/commands/tools-generation.js +454 -0
- package/dist/commands/tools-project.js +400 -0
- package/dist/commands/tools-research.js +37 -0
- package/dist/commands/tools-research.test.js +216 -0
- package/dist/commands/tools-utils.js +164 -0
- package/dist/commands/tools.js +7 -616
- package/dist/config.js +2 -0
- package/dist/index.js +20 -2
- package/dist/utils/agent-api-client.js +52 -16
- package/package.json +9 -3
- package/project-template/.claude/agents/designer.md +116 -0
- package/project-template/.claude/agents/developer.md +133 -0
- package/project-template/.claude/agents/pm.md +164 -0
- package/project-template/.claude/agents/refs/README.md +67 -0
- package/project-template/.claude/agents/refs/designer-art-style-catalog.md +533 -0
- package/project-template/.claude/agents/refs/designer-color-audio-recipes.md +153 -0
- package/project-template/.claude/agents/refs/designer-deliverable-spec.md +167 -0
- package/project-template/.claude/agents/refs/designer-dimension-axis.md +27 -0
- package/project-template/.claude/agents/refs/designer-handoff-v2-checklist.md +68 -0
- package/project-template/.claude/agents/refs/designer-master-composite-recipes.md +216 -0
- package/project-template/.claude/agents/refs/designer-style-exploration-flow.md +37 -0
- package/project-template/.claude/agents/refs/developer-dev-handoff.md +109 -0
- package/project-template/.claude/agents/refs/developer-impl-cookbook.md +134 -0
- package/project-template/.claude/agents/refs/developer-phase1-flow.md +211 -0
- package/project-template/.claude/agents/refs/pm-workflow-detail.md +545 -0
- package/project-template/.claude/agents/refs/reviewer-six-dimension-eval.md +286 -0
- package/project-template/.claude/agents/refs/ta-3d-flip-recipe.md +85 -0
- package/project-template/.claude/agents/refs/ta-atlas-deliverable-standard.md +46 -0
- package/project-template/.claude/agents/refs/ta-batch-pipeline-recipes.md +120 -0
- package/project-template/.claude/agents/refs/ta-image-generation-detail.md +356 -0
- package/project-template/.claude/agents/refs/ta-image-ops-reference.md +495 -0
- package/project-template/.claude/agents/refs/ta-pipeline-cookbook.md +699 -0
- package/project-template/.claude/agents/refs/ta-tools-reference.md +111 -0
- package/project-template/.claude/agents/refs/ta-vfx-preset-catalog.md +365 -0
- package/project-template/.claude/agents/reviewer.md +103 -0
- package/project-template/.claude/agents/technical-artist.md +111 -0
- package/project-template/.claude/hooks/README.md +36 -0
- package/project-template/.claude/hooks/validate-atom-plan.mjs +224 -0
- package/project-template/.claude/hooks/validate-workflow-stop.mjs +258 -0
- package/project-template/.claude/settings.json +32 -0
- package/project-template/.claude/settings.local.json +4 -0
- package/project-template/.claude/skills/playcraft-ad-psychology/SKILL.md +182 -0
- package/project-template/.claude/skills/playcraft-art-style-guide/SKILL.md +123 -0
- package/project-template/.claude/skills/playcraft-asset-state-sheet/SKILL.md +141 -0
- package/project-template/.claude/skills/playcraft-audio-generation/SKILL.md +280 -0
- package/project-template/.claude/skills/playcraft-batch-pipeline/SKILL.md +184 -0
- package/project-template/.claude/skills/playcraft-build-optimizer/SKILL.md +306 -0
- package/project-template/.claude/skills/playcraft-image-generation/SKILL.md +229 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/build-sprite-sheet.template.mjs +123 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/compare-style.template.mjs +254 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +235 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +97 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/gen-edit-variants.template.mjs +118 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +137 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +397 -0
- package/project-template/.claude/skills/playcraft-image-generation/reference/validate-sprite-sheet.template.mjs +296 -0
- package/project-template/.claude/skills/playcraft-image-ops/SKILL.md +122 -0
- package/project-template/.claude/skills/playcraft-masking/SKILL.md +373 -0
- package/project-template/.claude/skills/playcraft-research/SKILL.md +212 -0
- package/project-template/.claude/skills/playcraft-sprite-generation/SKILL.md +423 -0
- package/project-template/.claude/skills/playcraft-storyboard/SKILL.md +148 -0
- package/project-template/.claude/skills/playcraft-style-qa/SKILL.md +270 -0
- package/project-template/.claude/skills/playcraft-text-rendering/SKILL.md +236 -0
- package/project-template/.claude/skills/playcraft-vfx-animation/SKILL.md +130 -0
- package/project-template/.claude/skills/playcraft-workflow/SKILL.md +396 -0
- package/project-template/.cursor/hooks.json +17 -0
- package/project-template/.cursor/rules/playcraft-orchestrator.mdc +87 -0
- package/project-template/.cursor/rules/playcraft-subagent-boundary.mdc +18 -0
- package/project-template/CLAUDE.md +240 -0
- package/project-template/assets/audio/bgm/.gitkeep +0 -0
- package/project-template/assets/audio/sfx/.gitkeep +0 -0
- package/project-template/assets/bundles/.gitkeep +0 -0
- package/project-template/assets/images/bg/.gitkeep +0 -0
- package/project-template/assets/images/reference/.gitkeep +0 -0
- package/project-template/assets/images/storyboard/.gitkeep +0 -0
- package/project-template/assets/images/tiles/.gitkeep +0 -0
- package/project-template/assets/images/ui/.gitkeep +0 -0
- package/project-template/assets/images/vfx/.gitkeep +0 -0
- package/project-template/assets/models/.gitkeep +0 -0
- package/project-template/docs/team/agent-conduct.md +105 -0
- package/project-template/docs/team/agent-runtime-matrix.md +62 -0
- package/project-template/docs/team/atom-plan-format.md +74 -0
- package/project-template/docs/team/collaboration.md +288 -0
- package/project-template/docs/team/core-model.md +50 -0
- package/project-template/docs/team/platform-capabilities.md +15 -0
- package/project-template/docs/team/workflow-changelog.md +51 -0
- package/project-template/docs/team/workflow-consistency-checklist.md +128 -0
- package/project-template/game/config/.gitkeep +0 -0
- package/project-template/game/gameplay/.gitkeep +0 -0
- package/project-template/game/scenes/.gitkeep +0 -0
- package/project-template/logs/.gitkeep +0 -0
- package/project-template/ta-workspace/logs/.gitkeep +0 -0
- package/project-template/ta-workspace/scripts/.gitkeep +0 -0
- package/project-template/ta-workspace/tmp/.gitkeep +0 -0
- package/project-template/templates/atom-plan.template.json +26 -0
- package/project-template/templates/atom-plan.template.md +76 -0
- package/project-template/templates/design-brief.template.md +195 -0
- package/project-template/templates/design-lens-checklist.reference.md +117 -0
- package/project-template/templates/design-methodology.md +99 -0
- package/project-template/templates/designer-log.template.md +98 -0
- package/project-template/templates/developer-log.template.md +140 -0
- package/project-template/templates/five-axis-framework.md +186 -0
- package/project-template/templates/intent-clarifications.template.md +58 -0
- package/project-template/templates/layout-spec.template.md +132 -0
- package/project-template/templates/project-state.template.md +219 -0
- package/project-template/templates/review-report.template.md +166 -0
- package/project-template/templates/style-exploration.template.md +93 -0
- package/project-template/templates/ta-log.template.md +205 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# Project State
|
|
2
|
+
|
|
3
|
+
## Workflow spec
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
| ----------------------- | --------------------------------------------------------------------- |
|
|
7
|
+
| **workflowSpecVersion** | `production-serial-v1` |
|
|
8
|
+
| **Changelog** | [docs/team/workflow-changelog.md](../docs/team/workflow-changelog.md) |
|
|
9
|
+
|
|
10
|
+
<!--
|
|
11
|
+
production-serial-v1: Gate #2b → production Wave 1 Designer Ph.2 → Wave 2 TA → integration Developer.
|
|
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` → `integration` → `review` ⇄ `rework` → `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 + STOP |
|
|
46
|
+
| #2a MC selection | {{passed/pending}} | Orchestrator picks A/B/C → sets `selectedMcOption` below |
|
|
47
|
+
| #2b MC + ASR final | {{passed/pending}} | Orchestrator confirms MC + ASR sheets (UI + element) → then `stage: production` |
|
|
48
|
+
| #3 Dev acceptance | {{passed/pending}} | 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 integration STOP:
|
|
86
|
+
subagent: developer
|
|
87
|
+
subagent_stop: true
|
|
88
|
+
waiting_for: orchestrator
|
|
89
|
+
gate_pending: null
|
|
90
|
+
next_orchestrator_action: "Invoke @reviewer"
|
|
91
|
+
last_completed_by: developer
|
|
92
|
+
-->
|
|
93
|
+
|
|
94
|
+
## Gate resume fields
|
|
95
|
+
|
|
96
|
+
| Field | Value |
|
|
97
|
+
| ---------------- | -------------------------------------------------- |
|
|
98
|
+
| selectedMcOption | {{A / B / C — set by orchestrator after Gate #2a}} |
|
|
99
|
+
| reworkRound | {{0 / 1 / 2 — incremented by Reviewer on fail}} |
|
|
100
|
+
|
|
101
|
+
## Dev Preview
|
|
102
|
+
|
|
103
|
+
| Field | Value |
|
|
104
|
+
| ---------------- | ---------------------------------------------------------------------------- |
|
|
105
|
+
| devCommand | npm run dev |
|
|
106
|
+
| devScript | {{from package.json scripts.dev}} |
|
|
107
|
+
| devUrl | {{http://... — Developer records when ready; orchestrator uses for Gate #3}} |
|
|
108
|
+
| devStatus | pending / ready / blocked_upstream / failed |
|
|
109
|
+
| devBlockers | {{list: assetPath, issue, routeTo (TA/Designer/PM), status}} |
|
|
110
|
+
| devStartedBy | developer / reviewer / orchestrator |
|
|
111
|
+
| devLastChecked | {{ISO timestamp}} |
|
|
112
|
+
| reviewerDevCheck | pending / passed / failed |
|
|
113
|
+
| reviewerDevNotes | {{UI + gameplay check summary}} |
|
|
114
|
+
|
|
115
|
+
<!--
|
|
116
|
+
devStatus:
|
|
117
|
+
pending — integration not finished
|
|
118
|
+
ready — Developer self-check passed, no open blockers; safe to invoke Reviewer
|
|
119
|
+
blocked_upstream — Developer waiting on TA/Designer rework (orchestrator re-invokes)
|
|
120
|
+
failed — dev server could not start; document error
|
|
121
|
+
|
|
122
|
+
Developer MUST NOT set ready while devBlockers has open items.
|
|
123
|
+
-->
|
|
124
|
+
|
|
125
|
+
## File Index
|
|
126
|
+
|
|
127
|
+
### PM Output
|
|
128
|
+
|
|
129
|
+
| File | Description | Status |
|
|
130
|
+
| --------------------------------------- | --------------------------------------------- | ---------- |
|
|
131
|
+
| [design-brief.md](docs/design-brief.md) | Style Direction + experience flow (mechanics) | {{status}} |
|
|
132
|
+
| [layout-spec.md](docs/layout-spec.md) | Paths, palette hex, assetMapping, atlas | {{status}} |
|
|
133
|
+
| [atom-plan.json](docs/atom-plan.json) | skillsMatch + atoms[] (machine contract) | {{status}} |
|
|
134
|
+
| [atom-plan.md](docs/atom-plan.md) | Acceptance criteria + Context enrichments | {{status}} |
|
|
135
|
+
|
|
136
|
+
### Designer Output
|
|
137
|
+
|
|
138
|
+
| File/Directory | Description | Status |
|
|
139
|
+
| ------------------------------------------------- | ----------------------------------------- | ---------- |
|
|
140
|
+
| [style-exploration.md](docs/style-exploration.md) | Style options + concept mockups (Phase 1) | {{status}} |
|
|
141
|
+
| [designer-log.md](logs/designer-log.md) | Work log + delivery manifest | {{status}} |
|
|
142
|
+
| `assets/images/` | Key creative samples (Designer) | {{status}} |
|
|
143
|
+
| `assets/audio/` | BGM + SFX (original generation) | {{status}} |
|
|
144
|
+
| `assets/bundles/` | Designer atom bundles | {{status}} |
|
|
145
|
+
|
|
146
|
+
### Technical Artist Output
|
|
147
|
+
|
|
148
|
+
| File/Directory | Description | Status |
|
|
149
|
+
| --------------------------- | ---------------------------------------------------------------- | ---------- |
|
|
150
|
+
| [ta-log.md](logs/ta-log.md) | Work log + compliance report | {{status}} |
|
|
151
|
+
| `assets/images/` | Completed asset set (TA completions + sprite sheets + processed) | {{status}} |
|
|
152
|
+
| `assets/audio/` | Post-processed audio (compress/trim/loop) | {{status}} |
|
|
153
|
+
| `assets/bundles/` | TA atom bundles | {{status}} |
|
|
154
|
+
|
|
155
|
+
### Developer Output
|
|
156
|
+
|
|
157
|
+
| File/Directory | Description | Status |
|
|
158
|
+
| ----------------------------------------- | ------------------------------------------------------ | ---------- |
|
|
159
|
+
| [developer-log.md](logs/developer-log.md) | Work log + Dev self-check + devUrl + upstream blockers | {{status}} |
|
|
160
|
+
| `game/gameplay/` | PGS + state machine | {{status}} |
|
|
161
|
+
| `game/config/` | Level configuration | {{status}} |
|
|
162
|
+
| `game/scenes/` | Scene definitions | {{status}} |
|
|
163
|
+
| `game/index.html` | Entry point | {{status}} |
|
|
164
|
+
|
|
165
|
+
### Reviewer Output
|
|
166
|
+
|
|
167
|
+
| File | Description | Status |
|
|
168
|
+
| --------------------------------------------------------- | ------------------------------------------------ | ---------- |
|
|
169
|
+
| [review-report.md](logs/review-report.md) | Six-dimension evaluation + Dev walkthrough notes | {{status}} |
|
|
170
|
+
| [intent-clarifications.md](docs/intent-clarifications.md) | Agent-to-agent Q&A (ICP) | {{status}} |
|
|
171
|
+
|
|
172
|
+
## Production Pipeline (Serial)
|
|
173
|
+
|
|
174
|
+
<!-- Only relevant when stage = production or transitioning to integration -->
|
|
175
|
+
|
|
176
|
+
| Wave | Agent | Status | Notes |
|
|
177
|
+
| ---- | ---------------- | ---------- | ------------------------------------------ |
|
|
178
|
+
| 1 | Designer | {{status}} | Ph.2: audio + digit + VisualAtom status |
|
|
179
|
+
| 2 | Technical Artist | {{status}} | Spec Quick-Check → bulk → Compliance green |
|
|
180
|
+
|
|
181
|
+
<!-- Wave 3 Developer runs in stage = integration only — not tracked here -->
|
|
182
|
+
|
|
183
|
+
## Intent Clarification Tracking
|
|
184
|
+
|
|
185
|
+
<!-- Monitor ICP activity during production -->
|
|
186
|
+
|
|
187
|
+
| Metric | Value |
|
|
188
|
+
| ------------------------------------------ | ---------- |
|
|
189
|
+
| Open questions in intent-clarifications.md | {{count}} |
|
|
190
|
+
| Unresolved for > 10 min | {{count}} |
|
|
191
|
+
| Designer questions received | {{count}} |
|
|
192
|
+
| TA questions received | {{count}} |
|
|
193
|
+
| Developer questions received | {{count}} |
|
|
194
|
+
| PM intervention needed | {{yes/no}} |
|
|
195
|
+
|
|
196
|
+
<!--
|
|
197
|
+
PM monitors this table:
|
|
198
|
+
- Open questions > 3 → PM must intervene
|
|
199
|
+
- Single Agent receives > 3 questions → record "intent transmission fault" in DAG Revisions
|
|
200
|
+
-->
|
|
201
|
+
|
|
202
|
+
<!--
|
|
203
|
+
Orchestrator serial rules:
|
|
204
|
+
- Gate #2b passed → invoke @designer only (Wave 1)
|
|
205
|
+
- Wave 1 = done → invoke @technical-artist (Wave 2)
|
|
206
|
+
- Wave 2 = done → stage: integration → invoke @developer
|
|
207
|
+
- Optional: 30s spot-check ta-log Compliance + contract paths exist before @developer
|
|
208
|
+
-->
|
|
209
|
+
|
|
210
|
+
## Progress Checkpoint
|
|
211
|
+
|
|
212
|
+
<!--
|
|
213
|
+
One row per major step — decision summary only, not full contract text.
|
|
214
|
+
Gate #1 example Notes: "Option B recommended; Competence + match-3" (not a copy of design-brief).
|
|
215
|
+
-->
|
|
216
|
+
|
|
217
|
+
| # | Stage | Agent | Action | Result | Notes |
|
|
218
|
+
| ----- | --------- | --------- | ----------------- | ----------- | ----------------------------- |
|
|
219
|
+
| {{n}} | {{stage}} | {{agent}} | {{what_was_done}} | {{outcome}} | {{key_decisions_or_blockers}} |
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Review Report
|
|
2
|
+
|
|
3
|
+
## Verdict
|
|
4
|
+
|
|
5
|
+
**{{pass/conditional-pass/fail}}** — Total Score: {{total}}/30
|
|
6
|
+
|
|
7
|
+
## Six-Dimension Scores
|
|
8
|
+
|
|
9
|
+
| Dimension | Score | Details |
|
|
10
|
+
| ----------------------- | --------- | ----------------------- |
|
|
11
|
+
| Experience Flow | {{1-5}}/5 | {{specific_evaluation}} |
|
|
12
|
+
| Creative Appeal | {{1-5}}/5 | {{specific_evaluation}} |
|
|
13
|
+
| Style Consistency | {{1-5}}/5 | {{specific_evaluation}} |
|
|
14
|
+
| Intent Fidelity | {{1-5}}/5 | {{specific_evaluation}} |
|
|
15
|
+
| Difficulty Balance | {{1-5}}/5 | {{specific_evaluation}} |
|
|
16
|
+
| **Intent Transmission** | {{1-5}}/5 | {{specific_evaluation}} |
|
|
17
|
+
|
|
18
|
+
<!--
|
|
19
|
+
Scoring guide:
|
|
20
|
+
5 — Excellent: exceeds expectations, ready to ship
|
|
21
|
+
4 — Good: meets standard, minor tweaks then ship
|
|
22
|
+
3 — Acceptable: basically works, needs improvement
|
|
23
|
+
2 — Below standard: obvious problems, partial redo
|
|
24
|
+
1 — Seriously deficient: directional error, full redo
|
|
25
|
+
|
|
26
|
+
Pass thresholds (6 dimensions × 5 max = 30):
|
|
27
|
+
>= 24: Pass (avg 4.0 per dimension)
|
|
28
|
+
18-23: Conditional pass (fix issues then re-review)
|
|
29
|
+
< 18: Fail (route back to responsible agents)
|
|
30
|
+
|
|
31
|
+
Intent Transmission scoring:
|
|
32
|
+
5 — Zero open clarifications, TA self-check all pass, Developer mapping complete
|
|
33
|
+
4 — 1-2 resolved clarifications, no impact on quality
|
|
34
|
+
3 — Unresolved clarifications exist, or TA has low-confidence items
|
|
35
|
+
2 — Multiple unresolved clarifications, or Developer missing visual mapping
|
|
36
|
+
1 — Severe intent transmission failure, downstream agents made major wrong assumptions
|
|
37
|
+
-->
|
|
38
|
+
|
|
39
|
+
## DAG Coverage
|
|
40
|
+
|
|
41
|
+
| Metric | Value |
|
|
42
|
+
| ----------------------------------- | ------------------------ |
|
|
43
|
+
| Total atoms | {{total}} |
|
|
44
|
+
| Completed | {{completed}} |
|
|
45
|
+
| Skipped | {{skipped}} |
|
|
46
|
+
| Blocked | {{blocked}} |
|
|
47
|
+
| Missing (not in plan but should be) | {{missing_list_or_none}} |
|
|
48
|
+
|
|
49
|
+
## DAG Revision Audit
|
|
50
|
+
|
|
51
|
+
| Revision | Agent | Type | Reasonable? | Notes |
|
|
52
|
+
| ------------------- | --------- | --------------------- | ----------------------- | -------------- |
|
|
53
|
+
| {{revision_number}} | {{agent}} | {{add/remove/modify}} | {{yes/no/questionable}} | {{assessment}} |
|
|
54
|
+
|
|
55
|
+
<!--
|
|
56
|
+
Assess each revision:
|
|
57
|
+
- Was the change necessary?
|
|
58
|
+
- Was the reason documented?
|
|
59
|
+
- Did it deviate from original intent?
|
|
60
|
+
- Would it have been better to escalate?
|
|
61
|
+
-->
|
|
62
|
+
|
|
63
|
+
## Layout Spec Compliance
|
|
64
|
+
|
|
65
|
+
| Check | Pass? | Details |
|
|
66
|
+
| --------------------------------- | ---------- | ----------- |
|
|
67
|
+
| Asset sizes match `assetSpec` | {{yes/no}} | {{details}} |
|
|
68
|
+
| Filenames match `assetMapping` | {{yes/no}} | {{details}} |
|
|
69
|
+
| Color palette followed | {{yes/no}} | {{details}} |
|
|
70
|
+
| Element IDs aligned in code | {{yes/no}} | {{details}} |
|
|
71
|
+
| Grid config matches zones | {{yes/no}} | {{details}} |
|
|
72
|
+
| Zone coordinates in scene correct | {{yes/no}} | {{details}} |
|
|
73
|
+
| Binding completeness | {{yes/no}} | {{details}} |
|
|
74
|
+
| Bidirectional closure | {{yes/no}} | {{details}} |
|
|
75
|
+
|
|
76
|
+
## Technical Checks
|
|
77
|
+
|
|
78
|
+
| Check | Pass? | Value | Standard |
|
|
79
|
+
| ------------------- | ---------- | --------------- | ---------------------------- |
|
|
80
|
+
| Total file size | {{yes/no}} | {{actual_size}} | <= 5MB (ideal <= 2MB) |
|
|
81
|
+
| External requests | {{yes/no}} | {{count}} | 0 |
|
|
82
|
+
| CTA implementation | {{yes/no}} | — | Click triggers store/install |
|
|
83
|
+
| Entry file exists | {{yes/no}} | — | game/index.html present |
|
|
84
|
+
| Viewport meta | {{yes/no}} | — | user-scalable=no |
|
|
85
|
+
| Orientation support | {{yes/no}} | — | At least portrait |
|
|
86
|
+
|
|
87
|
+
## Veto Items
|
|
88
|
+
|
|
89
|
+
<!-- These cause automatic FAIL regardless of score -->
|
|
90
|
+
|
|
91
|
+
- [ ] First level guarantees player success
|
|
92
|
+
- [ ] CTA is implemented and functional
|
|
93
|
+
- [ ] Zero external network requests
|
|
94
|
+
- [ ] Entry file (game/index.html) exists
|
|
95
|
+
|
|
96
|
+
## Issues
|
|
97
|
+
|
|
98
|
+
| # | Severity | Dimension | Description | Suggestion | Route To |
|
|
99
|
+
| ----- | ------------------------ | ------------- | ----------------- | -------------- | ---------------------------- |
|
|
100
|
+
| {{n}} | {{critical/major/minor}} | {{dimension}} | {{what_is_wrong}} | {{how_to_fix}} | {{PM/Designer/TA/Developer}} |
|
|
101
|
+
|
|
102
|
+
<!--
|
|
103
|
+
Severity levels:
|
|
104
|
+
- critical: Blocks delivery, must fix
|
|
105
|
+
- major: Significantly impacts quality, should fix
|
|
106
|
+
- minor: Polish item, nice to fix
|
|
107
|
+
|
|
108
|
+
Every issue MUST have:
|
|
109
|
+
1. Specific description (not vague)
|
|
110
|
+
2. Actionable fix suggestion
|
|
111
|
+
3. Clear routing to responsible agent
|
|
112
|
+
-->
|
|
113
|
+
|
|
114
|
+
## Action Items
|
|
115
|
+
|
|
116
|
+
<!--
|
|
117
|
+
Aggregated from Issues table above.
|
|
118
|
+
Grouped by target agent for easy handoff.
|
|
119
|
+
-->
|
|
120
|
+
|
|
121
|
+
### For PM
|
|
122
|
+
|
|
123
|
+
| # | Issue Ref | Action Required | Priority |
|
|
124
|
+
| ----- | -------------- | ------------------- | ------------------- |
|
|
125
|
+
| {{n}} | Issue #{{ref}} | {{specific_action}} | {{high/medium/low}} |
|
|
126
|
+
|
|
127
|
+
### For Designer
|
|
128
|
+
|
|
129
|
+
| # | Issue Ref | Action Required | Priority |
|
|
130
|
+
| ----- | -------------- | ------------------- | ------------------- |
|
|
131
|
+
| {{n}} | Issue #{{ref}} | {{specific_action}} | {{high/medium/low}} |
|
|
132
|
+
|
|
133
|
+
### For Technical Artist
|
|
134
|
+
|
|
135
|
+
| # | Issue Ref | Action Required | Priority |
|
|
136
|
+
| ----- | -------------- | ------------------- | ------------------- |
|
|
137
|
+
| {{n}} | Issue #{{ref}} | {{specific_action}} | {{high/medium/low}} |
|
|
138
|
+
|
|
139
|
+
### For Developer
|
|
140
|
+
|
|
141
|
+
| # | Issue Ref | Action Required | Priority |
|
|
142
|
+
| ----- | -------------- | ------------------- | ------------------- |
|
|
143
|
+
| {{n}} | Issue #{{ref}} | {{specific_action}} | {{high/medium/low}} |
|
|
144
|
+
|
|
145
|
+
## Rework Status
|
|
146
|
+
|
|
147
|
+
<!-- Only fill if verdict is not "pass" -->
|
|
148
|
+
|
|
149
|
+
| Field | Value |
|
|
150
|
+
| ------------------------ | --------------------------------- |
|
|
151
|
+
| Rework round | {{1st / 2nd / N/A}} |
|
|
152
|
+
| Force Gate #3? | {{yes (2nd round exceeded) / no}} |
|
|
153
|
+
| Previous issues resolved | {{list resolved issue #s}} |
|
|
154
|
+
|
|
155
|
+
## Summary
|
|
156
|
+
|
|
157
|
+
{{overall_assessment_paragraph}}
|
|
158
|
+
|
|
159
|
+
<!--
|
|
160
|
+
Include:
|
|
161
|
+
- Overall impression from player perspective
|
|
162
|
+
- Strongest dimension
|
|
163
|
+
- Weakest dimension
|
|
164
|
+
- Key recommendation for next iteration
|
|
165
|
+
- Whether re-review is needed after fixes
|
|
166
|
+
-->
|
|
@@ -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`
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# Technical Artist Log
|
|
2
|
+
|
|
3
|
+
## Upstream Intake
|
|
4
|
+
|
|
5
|
+
> **Step 0a — mandatory before Skill Discovery or any generation.** Read each doc; one-line takeaway proves you understood upstream work. PM/Designer keep **四件套** short — detail is in `style-exploration` + this project's `designer-log`.
|
|
6
|
+
|
|
7
|
+
| Doc | Read ✓ | One-line takeaway (what matters for TA this round) |
|
|
8
|
+
| --------------------------- | ------ | ------------------------------------------------------- |
|
|
9
|
+
| `docs/project-state.md` | ☐ | {{e.g. Wave 1 done, selectedMcOption=B}} |
|
|
10
|
+
| `docs/design-brief.md` | ☐ | {{e.g. Competence arc, match-3, Hook=wrong-move tease}} |
|
|
11
|
+
| `docs/layout-spec.md` | ☐ | {{e.g. 42 assetMapping rows, 3 atlas groups}} |
|
|
12
|
+
| `docs/atom-plan.json` | ☐ | {{e.g. 18 TA atoms, C₁ refs designer-sample}} |
|
|
13
|
+
| `docs/atom-plan.md` | ☐ | TA Skill Context |
|
|
14
|
+
| `docs/style-exploration.md` | ☐ | {{e.g. MC path + storyboard EndCard tone}} |
|
|
15
|
+
| `logs/designer-log.md` | ☐ | {{e.g. Palette Locked delta, Style Intent Notes}} |
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Optional paste: ls assets/images/reference/ + key contract dirs after read
|
|
19
|
+
{{intake_ls_snippet}}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Delivery Summary
|
|
25
|
+
|
|
26
|
+
- **Assigned atoms**: {{total_assigned}}
|
|
27
|
+
- **Completed**: {{total_completed}}
|
|
28
|
+
- **Skipped**: {{total_skipped}}
|
|
29
|
+
- **Blocked**: {{total_blocked}}
|
|
30
|
+
- **Designer samples received**: {{designer_sample_count}} files
|
|
31
|
+
- **TA-completed elements**: {{ta_completed_count}} files
|
|
32
|
+
|
|
33
|
+
## Style Interpretation
|
|
34
|
+
|
|
35
|
+
> **Step 0c — Mandatory before any completion work.**
|
|
36
|
+
> Read `logs/designer-log.md` Style Intent Notes, write your interpretation here.
|
|
37
|
+
|
|
38
|
+
| # | Designer Intent (Quote from designer-log.md) | My Interpretation | Confidence | Action |
|
|
39
|
+
| ----- | -------------------------------------------- | --------------------- | --------------- | ----------------- |
|
|
40
|
+
| {{n}} | "{{designer_quote}}" | {{my_interpretation}} | high/medium/low | proceed / clarify |
|
|
41
|
+
|
|
42
|
+
<!--
|
|
43
|
+
Confidence rules:
|
|
44
|
+
high → proceed with completion
|
|
45
|
+
medium → proceed, but include style interpretation in --reference-image prompt
|
|
46
|
+
low → MUST write question to docs/intent-clarifications.md before proceeding
|
|
47
|
+
|
|
48
|
+
Do NOT proceed with any asset type where confidence = low.
|
|
49
|
+
-->
|
|
50
|
+
|
|
51
|
+
## Style Reference
|
|
52
|
+
|
|
53
|
+
- **Master reference (MC)**: `assets/images/storyboard/master_composite_option_{{selectedMcOption}}.png`
|
|
54
|
+
- **ASR references**: `ui_state_sheet_{{selectedMcOption}}.png`, `element_state_sheet_{{selectedMcOption}}.png`
|
|
55
|
+
- **Designer samples used as reference**: {{designer_sample_paths}}
|
|
56
|
+
- **Reference model used**: `{{model_name}}` (must be `google/` native for style-consistent completions)
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Asset Completion Log
|
|
61
|
+
|
|
62
|
+
> Records all elements derived from Designer samples.
|
|
63
|
+
|
|
64
|
+
### {{atom_id}} — {{slot_name}}
|
|
65
|
+
|
|
66
|
+
- **Status**: {{status}}
|
|
67
|
+
- **Completion type**: {{derived_from_sample | sprite_sheet | 3d_render | animation | vfx}}
|
|
68
|
+
- **Source samples**: {{designer_sample_paths}}
|
|
69
|
+
- **Elements completed**:
|
|
70
|
+
| File | Dimensions | Size | Notes |
|
|
71
|
+
|------|-----------|------|-------|
|
|
72
|
+
| {{path}} | {{WxH}} | {{size}} | {{notes}} |
|
|
73
|
+
- **Pipeline**:
|
|
74
|
+
```
|
|
75
|
+
{{step 1: e.g., generate-image --reference-image ...}}
|
|
76
|
+
{{step 2: e.g., image remove-background ...}}
|
|
77
|
+
{{step 3: e.g., image resize ...}}
|
|
78
|
+
```
|
|
79
|
+
- **Model used**: {{model_name}}
|
|
80
|
+
- **Reference images**: {{reference_image_paths}}
|
|
81
|
+
|
|
82
|
+
<!-- Repeat for each completion atom -->
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Technical Pipeline Log
|
|
87
|
+
|
|
88
|
+
> Records all technical production work (sprite sheets, 3D, animation, VFX, post-processing).
|
|
89
|
+
|
|
90
|
+
### {{atom_id}} — {{slot_name}}
|
|
91
|
+
|
|
92
|
+
- **Status**: {{status}}
|
|
93
|
+
- **Pipeline type**: {{sprite_sheet | 3d_model | animation_frames | vfx | image_processing | audio_processing}}
|
|
94
|
+
- **Input**: {{input_files}}
|
|
95
|
+
- **Output**: {{output_files}}
|
|
96
|
+
- **Commands executed**:
|
|
97
|
+
```bash
|
|
98
|
+
{{command 1}}
|
|
99
|
+
{{command 2}}
|
|
100
|
+
```
|
|
101
|
+
- **Result**:
|
|
102
|
+
| File | Format | Dimensions | Size | Frame Count |
|
|
103
|
+
|------|--------|-----------|------|-------------|
|
|
104
|
+
| {{path}} | {{format}} | {{WxH}} | {{size}} | {{N or —}} |
|
|
105
|
+
|
|
106
|
+
<!--
|
|
107
|
+
For sprite_sheet / animation_frames / vfx pipeline types, fill the Sprite Grid Params section below.
|
|
108
|
+
JSON is only auto-generated by `sprite-sheet` command. `animate` and `use-vfx` produce PNG only.
|
|
109
|
+
-->
|
|
110
|
+
|
|
111
|
+
- **Sprite Grid Params** _(animation_frames / vfx 必填;sprite_sheet 填"见 JSON")_:
|
|
112
|
+
- columns: {{N or "见 JSON"}}
|
|
113
|
+
- frameWidth: {{W}}px _(or "见 JSON")_
|
|
114
|
+
- frameHeight: {{H}}px _(or "见 JSON")_
|
|
115
|
+
- frameCount: {{N or "见 JSON"}}
|
|
116
|
+
- padding: {{0 or N}}px
|
|
117
|
+
- JSON available: {{yes — `<path>.json` (sprite-sheet) / no — params above are source of truth (animate/use-vfx)}}
|
|
118
|
+
- Dimensions verified: {{width = cols×frameW ✅ / ❌ mismatch}} | {{channels = 4 ✅ / ❌ no alpha}}
|
|
119
|
+
|
|
120
|
+
<!-- Repeat for each pipeline atom -->
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Micro-Batch Validation
|
|
125
|
+
|
|
126
|
+
> **Per asset type — first 2 completions must pass validation before continuing batch production.**
|
|
127
|
+
> Compare each completion side-by-side with the Designer sample.
|
|
128
|
+
|
|
129
|
+
### {{asset_type}} (e.g., tiles / ui / bg / vfx)
|
|
130
|
+
|
|
131
|
+
| Batch | Files | Consistency Score (1-5) | Deviation Items | Adjustments Made |
|
|
132
|
+
| ----- | ------------- | ----------------------- | ------------------ | ---------------- |
|
|
133
|
+
| {{n}} | {{file_list}} | {{score}} | {{deviation_list}} | {{adjustments}} |
|
|
134
|
+
|
|
135
|
+
<!--
|
|
136
|
+
Consistency Score criteria:
|
|
137
|
+
5 — Perfect match: could be mistaken for original designer sample
|
|
138
|
+
4 — Good match: minor differences only visible on close inspection
|
|
139
|
+
3 — Acceptable match: style is recognizable but some attributes drift
|
|
140
|
+
2 — Poor match: obvious style deviation, needs significant adjustment
|
|
141
|
+
1 — Mismatch: completely different style, STOP and ask Designer
|
|
142
|
+
|
|
143
|
+
Score < 3 → STOP this asset type, write question to docs/intent-clarifications.md
|
|
144
|
+
-->
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Compliance Gate Results
|
|
149
|
+
|
|
150
|
+
> Completed after Designer Ph.2 is confirmed done. Verify all assetMapping entries.
|
|
151
|
+
|
|
152
|
+
### Asset Coverage Check
|
|
153
|
+
|
|
154
|
+
| assetMapping Entry | Expected Path | File Exists? | Dimensions | Size | Status |
|
|
155
|
+
| ------------------ | -------------------- | ------------ | ---------- | -------- | ------------- |
|
|
156
|
+
| {{elementId}} | {{visualAsset_path}} | {{Yes/No}} | {{WxH}} | {{size}} | {{PASS/FAIL}} |
|
|
157
|
+
|
|
158
|
+
<!--
|
|
159
|
+
Fill one row per entry in layout-spec.md assetMapping.
|
|
160
|
+
Every row must be PASS before advancing to integration.
|
|
161
|
+
-->
|
|
162
|
+
|
|
163
|
+
### Spec Compliance Summary
|
|
164
|
+
|
|
165
|
+
| Check | Target | Actual | Result |
|
|
166
|
+
| ------------------------ | -------------------------- | ---------- | ------------- |
|
|
167
|
+
| Background dimensions | {{assetSpec}} | {{actual}} | {{PASS/FAIL}} |
|
|
168
|
+
| Tile dimensions | {{assetSpec}} | {{actual}} | {{PASS/FAIL}} |
|
|
169
|
+
| UI element dimensions | {{assetSpec}} | {{actual}} | {{PASS/FAIL}} |
|
|
170
|
+
| Background file size | < 500KB | {{actual}} | {{PASS/FAIL}} |
|
|
171
|
+
| Tile file size | < 100KB per tile | {{actual}} | {{PASS/FAIL}} |
|
|
172
|
+
| BGM file size | < 300KB | {{actual}} | {{PASS/FAIL}} |
|
|
173
|
+
| SFX file size | < 50KB per SFX | {{actual}} | {{PASS/FAIL}} |
|
|
174
|
+
| Total assets size | ≤ 2-3MB | {{actual}} | {{PASS/FAIL}} |
|
|
175
|
+
| Sprite sheet JSON paired | Every .png sheet has .json | {{yes/no}} | {{PASS/FAIL}} |
|
|
176
|
+
|
|
177
|
+
### Compliance Verdict
|
|
178
|
+
|
|
179
|
+
- **Overall**: {{PASS / FAIL}}
|
|
180
|
+
- **Blockers** (if any): {{list of FAIL items that block integration}}
|
|
181
|
+
- **Ready for Developer Phase 2**: {{Yes / No — pending fixes}}
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Handoff to Developer
|
|
186
|
+
|
|
187
|
+
Summary of what TA delivers to Developer:
|
|
188
|
+
|
|
189
|
+
| Asset Type | Count | Paths | Notes |
|
|
190
|
+
| ------------------- | ----- | ---------------------- | --------------------- |
|
|
191
|
+
| Background images | {{N}} | `assets/images/bg/` | {{notes}} |
|
|
192
|
+
| Tile/element images | {{N}} | `assets/images/tiles/` | {{notes}} |
|
|
193
|
+
| UI elements | {{N}} | `assets/images/ui/` | {{notes}} |
|
|
194
|
+
| Sprite sheet atlas | {{N}} | `assets/images/*/` | Each has paired .json |
|
|
195
|
+
| Animation frames | {{N}} | `assets/images/*/` | {{notes}} |
|
|
196
|
+
| VFX sprite sheets | {{N}} | `assets/images/vfx/` | {{notes}} |
|
|
197
|
+
| 3D GLB models | {{N}} | `assets/models/` | {{notes}} |
|
|
198
|
+
| BGM audio | {{N}} | `assets/audio/bgm/` | {{notes}} |
|
|
199
|
+
| SFX audio | {{N}} | `assets/audio/sfx/` | {{notes}} |
|
|
200
|
+
|
|
201
|
+
**All files path-match `layout-spec.md` assetMapping**: {{Yes / No}}
|
|
202
|
+
|
|
203
|
+
<!--
|
|
204
|
+
If No, list discrepancies here so Developer knows to use alternate paths.
|
|
205
|
+
-->
|