@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.
- 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/image.js +1337 -43
- 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 +452 -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 +183 -0
- package/dist/commands/tools.js +7 -616
- package/dist/config.js +2 -0
- package/dist/index.js +19 -1
- package/dist/utils/version-checker.js +8 -11
- package/package.json +9 -3
- package/project-template/.claude/agents/designer.md +120 -0
- package/project-template/.claude/agents/developer.md +124 -0
- package/project-template/.claude/agents/pm.md +164 -0
- package/project-template/.claude/agents/refs/README.md +73 -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 +191 -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 +208 -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 +136 -0
- package/project-template/.claude/agents/refs/pm-workflow-detail.md +551 -0
- package/project-template/.claude/agents/refs/reviewer-convergence-eval.md +130 -0
- package/project-template/.claude/agents/refs/reviewer-six-dimension-eval.md +6 -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 +67 -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 +1108 -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 +127 -0
- package/project-template/.claude/agents/technical-artist.md +122 -0
- package/project-template/.claude/hooks/README.md +44 -0
- package/project-template/.claude/hooks/validate-atom-plan.mjs +224 -0
- package/project-template/.claude/hooks/validate-workflow-stop.mjs +343 -0
- package/project-template/.claude/settings.json +36 -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 +279 -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 +167 -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 +485 -0
- package/project-template/.claude/skills/playwright-cli/SKILL.md +390 -0
- package/project-template/.claude/skills/playwright-cli/references/element-attributes.md +23 -0
- package/project-template/.claude/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/project-template/.claude/skills/playwright-cli/references/request-mocking.md +87 -0
- package/project-template/.claude/skills/playwright-cli/references/running-code.md +240 -0
- package/project-template/.claude/skills/playwright-cli/references/session-management.md +226 -0
- package/project-template/.claude/skills/playwright-cli/references/spec-driven-testing.md +312 -0
- package/project-template/.claude/skills/playwright-cli/references/storage-state.md +275 -0
- package/project-template/.claude/skills/playwright-cli/references/test-generation.md +138 -0
- package/project-template/.claude/skills/playwright-cli/references/tracing.md +142 -0
- package/project-template/.claude/skills/playwright-cli/references/video-recording.md +157 -0
- package/project-template/.cursor/hooks.json +17 -0
- package/project-template/.cursor/rules/playcraft-orchestrator.mdc +137 -0
- package/project-template/.cursor/rules/playcraft-subagent-boundary.mdc +18 -0
- package/project-template/CLAUDE.md +280 -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 +121 -0
- package/project-template/docs/team/agent-runtime-matrix.md +62 -0
- package/project-template/docs/team/atom-plan-format.md +105 -0
- package/project-template/docs/team/collaboration.md +297 -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 +65 -0
- package/project-template/docs/team/workflow-consistency-checklist.md +140 -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 +108 -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 +114 -0
- package/project-template/templates/developer-log.template.md +134 -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 +146 -0
- package/project-template/templates/project-state.template.md +237 -0
- package/project-template/templates/review-report.template.md +91 -0
- package/project-template/templates/style-exploration.template.md +93 -0
- 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
|
+
-->
|