@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,343 @@
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
+ ---
34
+
35
+ ## mediaGroups Reuse
36
+
37
+ > **Step 0 Pre — mandatory before Skill Discovery.** Check `atom-plan.json` → `skillsMatch.mediaGroups` for pre-matched reusable assets.
38
+
39
+ | mediaGroup atomId | Matches TA atom? | Disposition | Reason (if skipped) | Output path (if linked) |
40
+ | ----------------- | ---------------- | ------------- | ------------------------ | ----------------------- |
41
+ | {{mg_atomId}} | {{atom_id / —}} | linked / skip | {{style mismatch / N/A}} | {{path / —}} |
42
+
43
+ <!--
44
+ For each mediaGroup entry:
45
+ - "linked" = used the pre-matched asset → playcraft skills link → post-process → status=done
46
+ - "skip" = quality/style mismatch → document reason → generate from scratch
47
+ This section MUST be filled before proceeding to Step 0 Skill Discovery.
48
+ -->
49
+
50
+ ---
51
+
52
+ ## Skill Preflight
53
+
54
+ > **Step 0 Part C — mandatory before production.** Read all relevant playcraft pipeline Skills.
55
+
56
+ | Skill | 已读 | 关键决策摘要 |
57
+ | --------------------------- | ---- | --------------------------------------------------------- |
58
+ | playcraft-image-generation | ☐ | {{model choice, reference-image strategy, background}} |
59
+ | playcraft-masking | ☐ | {{floodfill tolerance, segment fallback, method-ai case}} |
60
+ | playcraft-sprite-generation | ☐ | {{single-frame→merge workflow, batch threshold}} |
61
+ | playcraft-text-rendering | ☐ | {{blue screen for text, stroke protection}} |
62
+ | playcraft-vfx-animation | ☐ | {{per-frame generation, blue screen for VFX}} |
63
+ | playcraft-batch-pipeline | ☐ | {{>5 elements → script, reference anchoring}} |
64
+ | playcraft-style-qa | ☐ | {{dark-bg verify, MC consistency check}} |
65
+
66
+ <!--
67
+ MUST be filled before Step 1 bulk generation. Each row: ✅ after reading + one-line decision summary.
68
+ Without this table → no bulk generation → no STOP.
69
+ -->
70
+
71
+ ---
72
+
73
+ ## Style Interpretation
74
+
75
+ > **Step 0c — Mandatory before any completion work.**
76
+ > Read `logs/designer-log.md` Style Intent Notes, write your interpretation here.
77
+
78
+ | # | Designer Intent (Quote from designer-log.md) | My Interpretation | Confidence | Action |
79
+ | ----- | -------------------------------------------- | --------------------- | --------------- | ----------------- |
80
+ | {{n}} | "{{designer_quote}}" | {{my_interpretation}} | high/medium/low | proceed / clarify |
81
+
82
+ <!--
83
+ Confidence rules:
84
+ high → proceed with completion
85
+ medium → proceed, but include style interpretation in --reference-image prompt
86
+ low → MUST write question to docs/intent-clarifications.md before proceeding
87
+
88
+ Do NOT proceed with any asset type where confidence = low.
89
+ -->
90
+
91
+ ## Production Plan
92
+
93
+ > **Step 0d — mandatory before any asset generation.** Plan WHAT to produce, in WHAT order, using WHAT pipeline.
94
+
95
+ ### Coverage Plan
96
+
97
+ | assetMapping id | Contract path | Pipeline | Reference source | Priority |
98
+ | --------------- | ------------------------- | ---------------------- | ----------------- | --------------- |
99
+ | {{elementId}} | {{path from layout-spec}} | {{extract/generate/…}} | {{MC/ASR/sample}} | {{high/normal}} |
100
+
101
+ <!--
102
+ One row per layout-spec assetMapping entry. Row count must match assetMapping count (no gaps).
103
+ -->
104
+
105
+ ### Atlas Assembly Plan
106
+
107
+ | Atlas group | Output path (.webp + .json) | Elements (frameIds) | Layout |
108
+ | ----------- | ------------------------------- | -------------------- | ------------ |
109
+ | {{tiles}} | {{assets/images/tiles/…_atlas}} | {{tile_01..tile_06}} | {{3x2 grid}} |
110
+
111
+ <!--
112
+ Must match layout-spec § atlas grouping table.
113
+ -->
114
+
115
+ ### Pipeline Order
116
+
117
+ 1. Extract: crop MC/ASR reference elements (Stage E)
118
+ 2. Complete: batch generate remaining elements (Stage A)
119
+ 3. Process: resize + format convert to WebP (Stage B)
120
+ 4. Assemble: build atlases with JSON sidecars (Stage C)
121
+ 5. Verify: Compliance Gate on all paths
122
+
123
+ ### Risk Checklist
124
+
125
+ - [ ] Every assetMapping entry in Coverage Plan (no gaps)
126
+ - [ ] Atlas groups match layout-spec grouping table
127
+ - [ ] MC + ASR reference images accessible
128
+ - [ ] Style Interpretation confidence ≥ medium for all asset types
129
+ - [ ] Transparency Classification table complete (Step 0e below)
130
+
131
+ **MUST NOT** start bulk generation until every Risk Checklist item is checked `[x]`.
132
+
133
+ ---
134
+
135
+ ## Transparency Classification
136
+
137
+ > **Step 0e — mandatory before any generation.** TA auto-derives `needsAlpha` from path convention + `bgStrategy` from element color palette. See `ta-pipeline-cookbook.md` Step 0e for full rules.
138
+
139
+ | # | assetMapping path | needsAlpha | bgStrategy | 推导依据 | 去背工具 | 回退工具 | 验证结果 |
140
+ | ----- | ----------------- | -------------- | --------------------------------------------------------------- | --------------------------------- | ---------------------------------------------------- | ----------------------------------------- | ----------- |
141
+ | {{n}} | {{path}} | {{true/false}} | {{greenscreen/bluescreen/magenta/extract/full-coverage/opaque}} | {{路径: ui/ + 色彩: 红色系→绿幕}} | {{remove-bg floodfill t=25 / segment --boxes / N/A}} | {{segment / remove-bg --method ai / N/A}} | {{✅ / ❓}} |
142
+
143
+ <!--
144
+ TA auto-derives transparency — does NOT depend on PM fields.
145
+
146
+ needsAlpha derivation (from assetMapping path):
147
+ images/bg/ → false (full-screen background)
148
+ images/ui/ → true (UI overlay)
149
+ images/txt/ → true (text image)
150
+ images/vfx/ → true (VFX sprite)
151
+ images/tiles/ → true (default; unless card/board rect body → false)
152
+
153
+ bgStrategy derivation (from element color palette):
154
+ Gold/yellow/orange/amber → bluescreen (NEVER green — color bleed)
155
+ Green/teal/cyan → bluescreen (NEVER green — same family)
156
+ Blue/indigo/purple → greenscreen (NEVER blue — same family)
157
+ VFX glow/particle → bluescreen (warm tones common)
158
+ Text/digit images → bluescreen (often gold/white)
159
+ Multi-color/rainbow → magenta (last resort)
160
+ Red/pink/white/black → greenscreen or bluescreen (both safe)
161
+
162
+ TA tool chain (must use, never skip):
163
+ 1st: playcraft image remove-background --method floodfill --tolerance 25
164
+ 2nd: playcraft image segment --boxes (complex edges, known position)
165
+ 3rd: playcraft image remove-background --method ai (hair/transparency)
166
+ 4th: playcraft image segment --text (unknown position, last resort)
167
+ Extract: playcraft image crop (grid) or decompose-layers (multi-layer MC)
168
+
169
+ Post-verify: overlay on #1A1A2E dark bg to check:
170
+ ✅ No white edges, no chroma residue, no black blocks, clean edges
171
+ ❌ If any issue → escalate through fallback tool chain
172
+ -->
173
+
174
+ **MUST NOT** proceed to Step 1 bulk generation if any row has `❓ pending` in 验证结果.
175
+
176
+ ---
177
+
178
+ ## Style Reference
179
+
180
+ - **Master reference (MC)**: `assets/images/storyboard/master_composite_option_{{selectedMcOption}}.png`
181
+ - **ASR references**: `ui_state_sheet_{{selectedMcOption}}.png`, `element_state_sheet_{{selectedMcOption}}.png`
182
+ - **Designer samples used as reference**: {{designer_sample_paths}}
183
+ - **Reference model used**: `{{model_name}}` (must be `google/` native for style-consistent completions)
184
+
185
+ ---
186
+
187
+ ## Asset Completion Log
188
+
189
+ > Records all elements derived from Designer samples.
190
+
191
+ ### {{atom_id}} — {{slot_name}}
192
+
193
+ - **Status**: {{status}}
194
+ - **Completion type**: {{derived_from_sample | sprite_sheet | 3d_render | animation | vfx}}
195
+ - **Source samples**: {{designer_sample_paths}}
196
+ - **Elements completed**:
197
+ | File | Dimensions | Size | Notes |
198
+ |------|-----------|------|-------|
199
+ | {{path}} | {{WxH}} | {{size}} | {{notes}} |
200
+ - **Pipeline**:
201
+ ```
202
+ {{step 1: e.g., generate-image --reference-image ...}}
203
+ {{step 2: e.g., image remove-background ...}}
204
+ {{step 3: e.g., image resize ...}}
205
+ ```
206
+ - **Model used**: {{model_name}}
207
+ - **Reference images**: {{reference_image_paths}}
208
+
209
+ <!-- Repeat for each completion atom -->
210
+
211
+ ---
212
+
213
+ ## Technical Pipeline Log
214
+
215
+ > Records all technical production work (sprite sheets, 3D, animation, VFX, post-processing).
216
+
217
+ ### {{atom_id}} — {{slot_name}}
218
+
219
+ - **Status**: {{status}}
220
+ - **Pipeline type**: {{sprite_sheet | 3d_model | animation_frames | vfx | image_processing | audio_processing}}
221
+ - **Input**: {{input_files}}
222
+ - **Output**: {{output_files}}
223
+ - **Commands executed**:
224
+ ```bash
225
+ {{command 1}}
226
+ {{command 2}}
227
+ ```
228
+ - **Result**:
229
+ | File | Format | Dimensions | Size | Frame Count |
230
+ |------|--------|-----------|------|-------------|
231
+ | {{path}} | {{format}} | {{WxH}} | {{size}} | {{N or —}} |
232
+
233
+ <!--
234
+ For sprite_sheet / animation_frames / vfx pipeline types, fill the Sprite Grid Params section below.
235
+ JSON is only auto-generated by `sprite-sheet` command. `animate` and `use-vfx` produce PNG only.
236
+ -->
237
+
238
+ - **Sprite Grid Params** _(animation_frames / vfx 必填;sprite_sheet 填"见 JSON")_:
239
+ - columns: {{N or "见 JSON"}}
240
+ - frameWidth: {{W}}px _(or "见 JSON")_
241
+ - frameHeight: {{H}}px _(or "见 JSON")_
242
+ - frameCount: {{N or "见 JSON"}}
243
+ - padding: {{0 or N}}px
244
+ - JSON available: {{yes — `<path>.json` (sprite-sheet) / no — params above are source of truth (animate/use-vfx)}}
245
+ - Dimensions verified: {{width = cols×frameW ✅ / ❌ mismatch}} | {{channels = 4 ✅ / ❌ no alpha}}
246
+
247
+ <!-- Repeat for each pipeline atom -->
248
+
249
+ ---
250
+
251
+ ## Micro-Batch Validation
252
+
253
+ > **Per asset type — first 2 completions must pass validation before continuing batch production.**
254
+ > Compare each completion side-by-side with the Designer sample.
255
+
256
+ ### {{asset_type}} (e.g., tiles / ui / bg / vfx)
257
+
258
+ | Batch | Files | Consistency Score (1-5) | Deviation Items | Adjustments Made |
259
+ | ----- | ------------- | ----------------------- | ------------------ | ---------------- |
260
+ | {{n}} | {{file_list}} | {{score}} | {{deviation_list}} | {{adjustments}} |
261
+
262
+ <!--
263
+ Consistency Score criteria:
264
+ 5 — Perfect match: could be mistaken for original designer sample
265
+ 4 — Good match: minor differences only visible on close inspection
266
+ 3 — Acceptable match: style is recognizable but some attributes drift
267
+ 2 — Poor match: obvious style deviation, needs significant adjustment
268
+ 1 — Mismatch: completely different style, STOP and ask Designer
269
+
270
+ Score < 3 → STOP this asset type, write question to docs/intent-clarifications.md
271
+ -->
272
+
273
+ ---
274
+
275
+ ## Compliance Gate Results
276
+
277
+ > Completed after Designer Ph.2 is confirmed done. Verify all assetMapping entries.
278
+
279
+ ### Asset Coverage Check
280
+
281
+ | assetMapping Entry | Expected Path | File Exists? | Dimensions | Size | Status |
282
+ | ------------------ | -------------------- | ------------ | ---------- | -------- | ------------- |
283
+ | {{elementId}} | {{visualAsset_path}} | {{Yes/No}} | {{WxH}} | {{size}} | {{PASS/FAIL}} |
284
+
285
+ <!--
286
+ Fill one row per entry in layout-spec.md assetMapping.
287
+ Every row must be PASS before advancing to integration.
288
+ -->
289
+
290
+ ### Spec Compliance Summary
291
+
292
+ | Check | Target | Actual | Result |
293
+ | ------------------------ | -------------------------- | ---------- | ------------- |
294
+ | Background dimensions | {{assetSpec}} | {{actual}} | {{PASS/FAIL}} |
295
+ | Tile dimensions | {{assetSpec}} | {{actual}} | {{PASS/FAIL}} |
296
+ | UI element dimensions | {{assetSpec}} | {{actual}} | {{PASS/FAIL}} |
297
+ | Background file size | < 500KB | {{actual}} | {{PASS/FAIL}} |
298
+ | Tile file size | < 100KB per tile | {{actual}} | {{PASS/FAIL}} |
299
+ | BGM file size | < 300KB | {{actual}} | {{PASS/FAIL}} |
300
+ | SFX file size | < 50KB per SFX | {{actual}} | {{PASS/FAIL}} |
301
+ | Total assets size | ≤ 2-3MB | {{actual}} | {{PASS/FAIL}} |
302
+ | Sprite sheet JSON paired | Every .png sheet has .json | {{yes/no}} | {{PASS/FAIL}} |
303
+
304
+ ### Transparency Compliance
305
+
306
+ | Check | Target | Actual | Result |
307
+ | ---------------------------- | -------------------------------------------------- | ---------- | ------------- |
308
+ | Classification table | All rows filled, no ❓ pending | {{status}} | {{PASS/FAIL}} |
309
+ | Alpha channels (transparent) | All transparent assets channels=4 | {{count}} | {{PASS/FAIL}} |
310
+ | Dark-bg verify (transparent) | All transparent assets clean on #1A1A2E overlay | {{count}} | {{PASS/FAIL}} |
311
+ | BG full-coverage | All backgrounds edge-to-edge, no fade/white corner | {{status}} | {{PASS/FAIL}} |
312
+ | Atlas per-frame verify | VFX/atlas each frame verified on dark bg | {{status}} | {{PASS/FAIL}} |
313
+ | Chroma residue | Zero color residue from chroma key removal | {{status}} | {{PASS/FAIL}} |
314
+
315
+ ### Compliance Verdict
316
+
317
+ - **Overall**: {{PASS / FAIL}}
318
+ - **Blockers** (if any): {{list of FAIL items that block integration}}
319
+ - **Ready for Developer Phase 2**: {{Yes / No — pending fixes}}
320
+
321
+ ---
322
+
323
+ ## Handoff to Developer
324
+
325
+ Summary of what TA delivers to Developer:
326
+
327
+ | Asset Type | Count | Paths | Notes |
328
+ | ------------------- | ----- | ---------------------- | --------------------- |
329
+ | Background images | {{N}} | `assets/images/bg/` | {{notes}} |
330
+ | Tile/element images | {{N}} | `assets/images/tiles/` | {{notes}} |
331
+ | UI elements | {{N}} | `assets/images/ui/` | {{notes}} |
332
+ | Sprite sheet atlas | {{N}} | `assets/images/*/` | Each has paired .json |
333
+ | Animation frames | {{N}} | `assets/images/*/` | {{notes}} |
334
+ | VFX sprite sheets | {{N}} | `assets/images/vfx/` | {{notes}} |
335
+ | 3D GLB models | {{N}} | `assets/models/` | {{notes}} |
336
+ | BGM audio | {{N}} | `assets/audio/bgm/` | {{notes}} |
337
+ | SFX audio | {{N}} | `assets/audio/sfx/` | {{notes}} |
338
+
339
+ **All files path-match `layout-spec.md` assetMapping**: {{Yes / No}}
340
+
341
+ <!--
342
+ If No, list discrepancies here so Developer knows to use alternate paths.
343
+ -->