@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,153 @@
|
|
|
1
|
+
> 本文件是按游戏类型的配色方案和音频情绪弧设计参数参考。核心心理设计原则见 `playcraft-ad-psychology` skill。
|
|
2
|
+
|
|
3
|
+
# 按游戏类型配色方案
|
|
4
|
+
|
|
5
|
+
## 休闲消除(Match-3 / 泡泡射击)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
主色(60%):柔和中性背景(奶油色 #FFF8E7 / 浅蓝 #E8F4FD / 薰衣草 #F0E8FF)
|
|
9
|
+
辅色(30%):高饱和暖色游戏元素(橙 #FF6B35、黄 #FFD700、粉 #FF69B4、绿 #5BE584)
|
|
10
|
+
强调色(10%):纯金色 CTA #F5A623 或 亮橙 #FF4800
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**情感定位**:愉悦、轻松、"下一局会更好"。避免深色和高对比(降低决策压力)。
|
|
14
|
+
|
|
15
|
+
**代表作参考**:Candy Crush(King)的高饱和糖果色
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 策略 / 战争 / 建设
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
主色(60%):深色场景背景(深蓝 #0D1B2A / 深绿 #1A2F1A / 暗褐 #2D1B00)
|
|
23
|
+
辅色(30%):金属质感+金色(铁灰 #4A4A4A、青铜 #8B6914、深红 #8B1A1A)
|
|
24
|
+
强调色(10%):纯金色 #FFD700 或 亮红 #FF3B30(冲突感)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**情感定位**:权威、力量、"成为最强"。深色背景使金色 CTA 对比最强。
|
|
28
|
+
|
|
29
|
+
**代表作参考**:Clash of Clans(Supercell)的深色+金色
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 益智 / 解谜 / 文字
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
主色(60%):冷色中性背景(深蓝紫 #1A1A3E / 浅蓝灰 #F0F4F8 / 白 #FFFFFF)
|
|
37
|
+
辅色(30%):蓝紫色系游戏元素(钴蓝 #0066CC、紫 #7B4ACA、青 #00B4D8)
|
|
38
|
+
强调色(10%):鲜绿 #00C851 或 亮黄 #FFCE00(思维活跃感)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**情感定位**:清晰、专注、智慧。冷色调降低情绪噪音,有助于玩家专注于解谜逻辑。
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## RPG / 奇幻 / 冒险
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
主色(60%):神秘背景(深紫 #1A0033 / 夜蓝 #0A0028 / 森林绿 #0D2818)
|
|
49
|
+
辅色(30%):魔法色彩(紫 #8A2BE2、金 #FFD700、魔法蓝 #4169E1)
|
|
50
|
+
强调色(10%):火红/橙 #FF4500 或 魔法光 #00FFFF(史诗感)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**情感定位**:神秘、史诗、"踏上冒险"。渐变背景(深色 -> 稍亮)增加空间感和纵深感。
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# 音频情绪弧设计参数
|
|
58
|
+
|
|
59
|
+
> 80%+ 的应用内展示以**静音模式**播放——视觉必须独立成立。音频是增强层,不是信息传递主渠道。用 SFX 强化关键交互,而非依赖 BGM 传递情绪。
|
|
60
|
+
|
|
61
|
+
## BGM:30 秒广告各阶段参数
|
|
62
|
+
|
|
63
|
+
| 阶段 | 时段 | BPM 范围 | 编排密度 | 乐器推荐 |
|
|
64
|
+
| ------------ | ------ | -------- | ---------------------- | ---------------------- |
|
|
65
|
+
| **Hook** | 0-3s | 120-140 | 全层(立即冲击) | 打击 + 合成铅音 + 低音 |
|
|
66
|
+
| **Tutorial** | 3-10s | 90-110 | 稀疏(旋律 + 轻打击) | 木琴/钢片琴 + 轻鼓 |
|
|
67
|
+
| **Gameplay** | 10-25s | 110-135 | 逐层递增(随难度渐进) | 渐进加入贝斯、弦乐 |
|
|
68
|
+
| **EndCard** | 25-30s | 125-145 | 全层高潮(驱动 CTA) | 铜管 + 全打击 + 合唱 |
|
|
69
|
+
|
|
70
|
+
**垂直重编排技术(Vertical Re-orchestration)**:同一段音乐保持相同 BPM / 调号 / 拍号,通过增减轨道层数控制情绪强度,确保阶段切换平滑无割裂感。
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
情绪强度
|
|
74
|
+
▲
|
|
75
|
+
5| * /--* <- EndCard 高潮(全层)
|
|
76
|
+
4| / \ /
|
|
77
|
+
3| / \--------/ <- Gameplay 渐进叠层
|
|
78
|
+
2| / Tutorial <- 降速 / 稀疏编排
|
|
79
|
+
1| / ^Hook(立即全层)
|
|
80
|
+
└──────────────────────────> 时间(秒)
|
|
81
|
+
0 3 10 18 24 30
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**按游戏类型的 BPM 基准**:
|
|
85
|
+
|
|
86
|
+
| 游戏类型 | 休闲/益智 | RPG/模拟 | 跑酷/平台 | 动作/射击 |
|
|
87
|
+
| -------- | --------- | -------- | --------- | --------- |
|
|
88
|
+
| BPM 区间 | 90-115 | 100-125 | 120-150 | 130-160 |
|
|
89
|
+
|
|
90
|
+
**Designer 生成 BGM 时的组合写法**:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# 示例:休闲消除游戏,Tutorial 阶段风格
|
|
94
|
+
playcraft tools generate-bgm \
|
|
95
|
+
--prompt "casual match-3 puzzle game, tutorial section, gentle and encouraging, marimba and light percussion, simple melody" \
|
|
96
|
+
--bpm 100
|
|
97
|
+
|
|
98
|
+
# EndCard 高潮风格(同一游戏,BPM 提升,编排加密)
|
|
99
|
+
playcraft tools generate-bgm \
|
|
100
|
+
--prompt "casual match-3 puzzle game, victory climax, full orchestra, triumphant but brief, drives install action" \
|
|
101
|
+
--bpm 130
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
> **实践建议**:生成一条 30 秒完整 BGM(以 Gameplay BPM 为基准),再用 `playcraft audio trim` 裁剪出 Hook 段和 EndCard 段。比生成多条独立 BGM 更能保证风格连贯。
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## SFX:各游戏事件时长标准
|
|
109
|
+
|
|
110
|
+
| 游戏事件 | 建议时长 | 设计要点 |
|
|
111
|
+
| ------------------ | ---------- | -------------------------- |
|
|
112
|
+
| UI 点击 / 按钮确认 | 50-100ms | 轻快无干扰,不抢注意力 |
|
|
113
|
+
| 卡牌翻转 | 100-200ms | 纸张/塑料质感,干脆利落 |
|
|
114
|
+
| 金币单个收集 | 80-150ms | 金属叮当,高频悦耳 |
|
|
115
|
+
| Match-3 单次消除 | 150-300ms | 清脆短促,满足感 |
|
|
116
|
+
| Match-3 连锁 Combo | 300-500ms | 音阶递增,每次 combo +50ms |
|
|
117
|
+
| 批量奖励 / 金币雨 | 300-800ms | 叮当序列 + 收尾音 |
|
|
118
|
+
| CTA 按钮弹出 | 200-400ms | 吸引注意力但不惊吓 |
|
|
119
|
+
| 关卡完成 | 500-1200ms | 凯旋感,可含短旋律片段 |
|
|
120
|
+
| 失败 / 重试提示 | 300-600ms | 下行音阶,不过度沮丧 |
|
|
121
|
+
|
|
122
|
+
**SFX Prompt 对应写法**(结合 `playcraft-audio-generation` Skill 使用):
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Match-3 消除 SFX
|
|
126
|
+
playcraft tools generate-sfx \
|
|
127
|
+
--prompt "satisfying match-3 tile elimination sound, crisp pop with sparkle tail, game UI, clean no reverb" \
|
|
128
|
+
--duration 0.25
|
|
129
|
+
|
|
130
|
+
# 连锁 Combo(第 2 连)
|
|
131
|
+
playcraft tools generate-sfx \
|
|
132
|
+
--prompt "combo chain sound, ascending tone, brighter and higher than previous, game feedback" \
|
|
133
|
+
--duration 0.4
|
|
134
|
+
|
|
135
|
+
# CTA 弹出
|
|
136
|
+
playcraft tools generate-sfx \
|
|
137
|
+
--prompt "call-to-action button appear sound, attention-grabbing chime, positive and inviting, mobile game UI" \
|
|
138
|
+
--duration 0.3
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 音频-视觉对齐检查清单
|
|
144
|
+
|
|
145
|
+
Designer 完成音频生成后,对照以下清单验证情绪一致性:
|
|
146
|
+
|
|
147
|
+
- [ ] Hook BGM 第一个节拍 <= 0.5s 内出现(不要淡入铺垫)
|
|
148
|
+
- [ ] Tutorial 段 BPM 比 Gameplay 低 15-30(有感知上的降速)
|
|
149
|
+
- [ ] EndCard 音量/编排密度是全广告中最高点
|
|
150
|
+
- [ ] 每个关键交互(消除/收集/胜利)都有配套 SFX
|
|
151
|
+
- [ ] BGM 经过 `playcraft audio loop --crossfade 1.0` 处理,无缝循环
|
|
152
|
+
- [ ] SFX 文件 <= 50KB(`playcraft audio info` 验证)
|
|
153
|
+
- [ ] BGM 文件 <= 300KB(压缩后)
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Designer — Deliverable spec (designer-handoff-v2)
|
|
2
|
+
|
|
3
|
+
> **When to read**: Before generating Master Composite, ASR, audio, or digit strip. Cross-reference `playcraft-storyboard`, `playcraft-asset-state-sheet`, `playcraft-text-rendering`, `playcraft-image-generation`, and `refs/designer-handoff-v2-checklist.md`.
|
|
4
|
+
|
|
5
|
+
## Resolution Strategy
|
|
6
|
+
|
|
7
|
+
AI image models support up to **4K output** (~4096px per side). Individual game assets only need **~720p**. Pack multiple assets into one generation for style consistency and fewer API calls. TA achieves per-asset dimensions via crop/resize from MC/ASR.
|
|
8
|
+
|
|
9
|
+
All image generation MUST use maximum supported resolution.
|
|
10
|
+
|
|
11
|
+
## Text-as-Image Strategy
|
|
12
|
+
|
|
13
|
+
All visible text is image assets — **zero font files**. Static text is baked into the MC concept panel; dynamic numbers use a Digit Sprite Strip.
|
|
14
|
+
|
|
15
|
+
> **Invoke `playcraft-text-rendering`** for static-text extraction (TA default) and digit strip (Designer Phase 2).
|
|
16
|
+
|
|
17
|
+
### Static text (default)
|
|
18
|
+
|
|
19
|
+
| Step | Role |
|
|
20
|
+
| ------------------------------ | ------------------------------------------- |
|
|
21
|
+
| Bake into MC | Designer (concept panel) |
|
|
22
|
+
| Extract to `layout-spec` paths | TA (`crop` / `segment`) |
|
|
23
|
+
| Extract fails | ICP → Designer **one isolated PNG** per row |
|
|
24
|
+
|
|
25
|
+
### Background (default)
|
|
26
|
+
|
|
27
|
+
| Step | Role |
|
|
28
|
+
| ------------------------------------- | ---------------------------------------------------------------- |
|
|
29
|
+
| Extract from MC concept panel | TA → `layout-spec` bg path |
|
|
30
|
+
| 2.5D / hero bg needs dedicated sample | PM marks VisualAtom `assignTo: Designer` → ICP isolated PNG only |
|
|
31
|
+
|
|
32
|
+
## Phase 1 Deliverables
|
|
33
|
+
|
|
34
|
+
Gate #2a: **one MC per option** + Experience Flow text. Gate #2b (after `selectedMcOption`): **ASR dual sheets** + **Handoff Pack** (below).
|
|
35
|
+
|
|
36
|
+
| # | Deliverable | Format | Spec |
|
|
37
|
+
| --- | --------------------------------- | ------ | ---------------------------------------------------------- |
|
|
38
|
+
| 1 | **Master Composite** | PNG 4K | 5 panels: concept + 4 storyboard scenes |
|
|
39
|
+
| 2a | **UI State Reference Sheet** | PNG 4K | UI/HUD per interaction state |
|
|
40
|
+
| 2b | **Element State Reference Sheet** | PNG 4K | Gameplay elements per event/special state |
|
|
41
|
+
| 3 | **Experience Flow Design** | Text | `style-exploration.md` |
|
|
42
|
+
| 4 | **Gate #2b Handoff Pack** | Text | `designer-log.md` + Motion Notes in `style-exploration.md` |
|
|
43
|
+
|
|
44
|
+
> **ASR** = authoring-time reference sprite sheets. **Not** runtime `.webp` + `.json` atlases (TA in `production`).
|
|
45
|
+
|
|
46
|
+
Every generation outputs a sidecar `.json` (prompt + parameters).
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### Deliverable 1: Master Composite
|
|
51
|
+
|
|
52
|
+
> **Skills**: `playcraft-storyboard` + `refs/designer-master-composite-recipes.md`
|
|
53
|
+
|
|
54
|
+
| # | Panel | Content |
|
|
55
|
+
| --- | ------------------ | ---------------------------------------------------- |
|
|
56
|
+
| 1 | Main Gameplay | Full game shot: all element types + static text + UI |
|
|
57
|
+
| 2 | Key Hook | 0–3s highlight |
|
|
58
|
+
| 3 | Onboarding HUD | Tutorial + finger |
|
|
59
|
+
| 4 | End Card | Win + Install CTA |
|
|
60
|
+
| 5 | CTA Always Visible | In-game CTA persistent |
|
|
61
|
+
|
|
62
|
+
Paths: `assets/images/storyboard/master_composite_option_[A|B|C].png`
|
|
63
|
+
|
|
64
|
+
**MC options count**: ≥2 before Gate #2a (see option table in prior spec — 2 or 3 by clarity).
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### Deliverable 2: ASR
|
|
69
|
+
|
|
70
|
+
> **Skill**: `playcraft-asset-state-sheet`
|
|
71
|
+
|
|
72
|
+
Only after `selectedMcOption` is set. `--reference-image` = confirmed MC.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
assets/images/reference/ui_state_sheet_[X].png
|
|
76
|
+
assets/images/reference/element_state_sheet_[X].png
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### Gate #2b Handoff Pack (mandatory before `#2b` STOP)
|
|
82
|
+
|
|
83
|
+
> **Checklist**: `refs/designer-handoff-v2-checklist.md`
|
|
84
|
+
|
|
85
|
+
#### 1. ASR Coverage Matrix (`logs/designer-log.md`)
|
|
86
|
+
|
|
87
|
+
One row per contract item from `layout-spec.md`:
|
|
88
|
+
|
|
89
|
+
| Contract id | Type | ASR sheet | Grid | State(s) | TA extends? |
|
|
90
|
+
| ------------------------------- | ------ | ------------ | ------- | ------------ | ----------- |
|
|
91
|
+
| `elementId` from assetMapping | visual | ui / element | row,col | e.g. default | yes/no |
|
|
92
|
+
| `staticTextId` from Text Assets | text | ui / MC crop | — | baked | yes/no |
|
|
93
|
+
|
|
94
|
+
**100% rule**: every `elementId` in `assetMapping` and every static text id must have a row. Empty ASR slot → `TA extends? = yes` + note in Style Intent Notes.
|
|
95
|
+
|
|
96
|
+
#### 2. Palette Locked (`logs/designer-log.md`)
|
|
97
|
+
|
|
98
|
+
- 6–10 hex swatches sampled from confirmed MC (background, accent, CTA, key elements).
|
|
99
|
+
- One line: **delta vs `layout-spec` Color Palette** (match / PM update needed).
|
|
100
|
+
|
|
101
|
+
#### 3. Motion Notes (`docs/style-exploration.md`)
|
|
102
|
+
|
|
103
|
+
Per transition (Hook→Tutorial, Tutorial→Gameplay, Gameplay→EndCard):
|
|
104
|
+
|
|
105
|
+
| Field | Example |
|
|
106
|
+
| ---------------- | -------------------------------------------- |
|
|
107
|
+
| Transition type | fade / zoom / swipe / burst |
|
|
108
|
+
| Duration band | ~200ms / ~500ms / ~1s |
|
|
109
|
+
| Audio cue tie-in | optional ref to Experience Flow audio rhythm |
|
|
110
|
+
|
|
111
|
+
No per-frame animation assets — VFX/Animation atoms remain TA.
|
|
112
|
+
|
|
113
|
+
#### 4. Style Intent + Anti-Pattern Notes
|
|
114
|
+
|
|
115
|
+
Existing `designer-log` sections — required for TA Step 0c.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### Phase 1 exception: True 3D
|
|
120
|
+
|
|
121
|
+
When `design-brief` dimension = True 3D, Designer also delivers (Phase 1, same Gate #2b):
|
|
122
|
+
|
|
123
|
+
- 2D reference texture PNG at path noted in `designer-log` (see `refs/designer-dimension-axis.md`).
|
|
124
|
+
- TA runs `generate-3d`; Designer does **not** output GLB.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Phase 2 Deliverables — Audio + Digit + Atom status
|
|
129
|
+
|
|
130
|
+
**Designer does not batch-export visual samples at `assetMapping` paths in v2.** Visual baseline = Phase 1 MC + ASR.
|
|
131
|
+
|
|
132
|
+
### Phase 2 Skill Preflight (mandatory, before production)
|
|
133
|
+
|
|
134
|
+
Before generating any audio or digit strip, read relevant Skills:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
cat .claude/skills/playcraft-audio-generation/SKILL.md # BGM/SFX generation patterns
|
|
138
|
+
cat .claude/skills/playcraft-text-rendering/SKILL.md # Digit strip green/blue screen strategy
|
|
139
|
+
cat .claude/skills/playcraft-image-generation/SKILL.md # §3 background decision tree (for digit)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**mediaGroups check** (mandatory): Read `atom-plan.json` → `skillsMatch.mediaGroups` for any `.aiaudio` matches. If matched → `playcraft skills link --atom <atomId>` → verify quality/mood → mark `status: done`. Skip only when mood/style mismatch (document in `dagRevisions`).
|
|
143
|
+
|
|
144
|
+
Record in `logs/designer-log.md` § Skill Preflight:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
## Skill Preflight
|
|
148
|
+
|
|
149
|
+
| Skill | 已读 | 关键决策摘要 |
|
|
150
|
+
| -------------------------- | ---- | ---------------------------------------------------- |
|
|
151
|
+
| playcraft-audio-generation | ✅ | BGM=ambient lo-fi; SFX 用 prompt 模板 |
|
|
152
|
+
| playcraft-text-rendering | ✅ | 数字用蓝幕;描边保护 |
|
|
153
|
+
| mediaGroups (audio) | ✅ | bg_music.aiaudio linked; click_sfx 需重做 (风格不符) |
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
| # | Deliverable | Format | Spec |
|
|
157
|
+
| --- | ---------------------- | ------ | ------------------------------------- |
|
|
158
|
+
| 1 | **BGM** | MP3 | Mood matches locked MC |
|
|
159
|
+
| 2 | **SFX** | MP3 | One per interaction in `assetMapping` |
|
|
160
|
+
| 3 | **Digit sprite strip** | PNG | `layout-spec` `textAssets.digitStrip` |
|
|
161
|
+
| 4 | **VisualAtom status** | — | See below |
|
|
162
|
+
|
|
163
|
+
### VisualAtom rules (`atom-plan.json` → `atoms[]`)
|
|
164
|
+
|
|
165
|
+
For each `assignTo: Designer` VisualAtom:
|
|
166
|
+
|
|
167
|
+
| Condition | `status` | `actualOutput` |
|
|
168
|
+
| ----------------------------------- | --------- | ----------------------------------------------------------------------------------- |
|
|
169
|
+
| Type covered in ASR Coverage Matrix | `done` | `ASR:ui_state_sheet_[X]:R{row}C{col}` or `ASR:element_state_sheet_[X]:R{row}C{col}` |
|
|
170
|
+
| Not covered; ICP gap | `blocked` | ICP id + path when file delivered |
|
|
171
|
+
| ICP supplementary PNG delivered | `done` | file path |
|
|
172
|
+
|
|
173
|
+
**Forbidden**: mark VisualAtom `done` without ASR row or supplementary file.
|
|
174
|
+
|
|
175
|
+
Run **`playcraft-style-qa` §1** only for **ICP supplementary** image files (not for ASR sheets themselves).
|
|
176
|
+
|
|
177
|
+
### TA ownership in Phase 2 (not Designer)
|
|
178
|
+
|
|
179
|
+
- Static text extraction → contract paths
|
|
180
|
+
- Background webp
|
|
181
|
+
- VisualAtom completions, sprite sheets, 3D, VFX, atlases
|
|
182
|
+
|
|
183
|
+
### Bundle Structure (audio)
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
assets/bundles/<atomId>.aiaudio/
|
|
187
|
+
├── manifest.json
|
|
188
|
+
└── <filename>.mp3
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Supplementary images (ICP only): `.aiimage/` bundle format.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Designer Dimension Axis Workflow
|
|
2
|
+
|
|
3
|
+
> Read in Phase 1 after confirming Dimension Axis from `docs/design-brief.md`. **designer-handoff-v2**: visual baseline = MC + ASR (not scattered sample PNGs). TA handles mass production.
|
|
4
|
+
|
|
5
|
+
## Flat 2D (Standard)
|
|
6
|
+
|
|
7
|
+
- **MC** concept panel shows all element types + UI + static text.
|
|
8
|
+
- **ASR** element sheet: 2–3 states per type (idle / selected / matched).
|
|
9
|
+
- TA: bg extract, completions, atlases, VFX.
|
|
10
|
+
|
|
11
|
+
## 2.5D Visual (Depth Layers)
|
|
12
|
+
|
|
13
|
+
- MC concept panel: perspective scene + layered elements.
|
|
14
|
+
- ASR: angled sprites in element sheet; note depth layers in Style Intent Notes.
|
|
15
|
+
- Background: default **TA extract from MC**; dedicated bg sample only if PM atom `assignTo: Designer` via ICP.
|
|
16
|
+
|
|
17
|
+
## Isometric
|
|
18
|
+
|
|
19
|
+
- ASR element sheet: representative isometric tiles (2–3 states).
|
|
20
|
+
- Optional: `playcraft tools search-image` for reference.
|
|
21
|
+
- TA: remaining tiles, atlas, animation.
|
|
22
|
+
|
|
23
|
+
## True 3D
|
|
24
|
+
|
|
25
|
+
- Designer does **not** output GLB.
|
|
26
|
+
- Phase 1 Gate #2b: 2D reference texture PNG (path in `designer-log`) per `designer-deliverable-spec.md` § Phase 1 exception.
|
|
27
|
+
- TA: `generate-3d`, GLB, flip sprites.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Designer Handoff v2 — Gate #2b checklist
|
|
2
|
+
|
|
3
|
+
> Read at **Step 5** of `designer-style-exploration-flow.md` before `gates.#2b = pending` STOP.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- [ ] `workflowSpecVersion` = `designer-handoff-v2` in `project-state.md` (or migrating per `workflow-changelog.md`)
|
|
8
|
+
- [ ] `selectedMcOption` set (Gate #2a passed)
|
|
9
|
+
- [ ] MC path: `assets/images/storyboard/master_composite_option_[X].png`
|
|
10
|
+
- [ ] ASR paths exist and pass zero-overlap visual check
|
|
11
|
+
|
|
12
|
+
## 1. ASR Coverage Matrix (100%)
|
|
13
|
+
|
|
14
|
+
In `logs/designer-log.md` § ASR Coverage Matrix:
|
|
15
|
+
|
|
16
|
+
1. List every `elementId` from `layout-spec.md` § Asset Mapping (and atlas `frameId` groups count as one row per logical element).
|
|
17
|
+
2. List every static text `id` from § Text Assets → Static Text.
|
|
18
|
+
3. For each row: `ASR sheet` = `ui` | `element` | `MC-crop` | `ICP-pending`.
|
|
19
|
+
4. `TA extends?` = `no` only when ASR shows final representative state; else `yes`.
|
|
20
|
+
|
|
21
|
+
**Stop rule**: any row missing → do not set `#2b` pending.
|
|
22
|
+
|
|
23
|
+
## 2. Palette Locked
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## Palette Locked (from MC option [X])
|
|
27
|
+
|
|
28
|
+
| Role | Hex | Notes |
|
|
29
|
+
| ---------- | --------- | ----- |
|
|
30
|
+
| bg_primary | #**\_\_** | |
|
|
31
|
+
| accent | #**\_\_** | |
|
|
32
|
+
| cta | #**\_\_** | |
|
|
33
|
+
| element_1 | #**\_\_** | |
|
|
34
|
+
|
|
35
|
+
**Delta vs layout-spec**: match | PM update: <one line>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 3. Motion Notes
|
|
39
|
+
|
|
40
|
+
In `docs/style-exploration.md` under confirmed option:
|
|
41
|
+
|
|
42
|
+
| Transition | Type | Duration | Notes |
|
|
43
|
+
| ------------------- | ---- | -------- | ----- |
|
|
44
|
+
| Hook → Tutorial | | | |
|
|
45
|
+
| Tutorial → Gameplay | | | |
|
|
46
|
+
| Gameplay → End Card | | | |
|
|
47
|
+
|
|
48
|
+
## 4. Phase 2 VisualAtom decision tree
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
For each atom-plan row where assignTo = Designer:
|
|
52
|
+
├─ VisualAtom + covered in Coverage Matrix?
|
|
53
|
+
│ └─ yes → status=done, actualOutput=ASR:...
|
|
54
|
+
├─ AudioAtom?
|
|
55
|
+
│ └─ deliver MP3 at path → done
|
|
56
|
+
├─ Gap / TA extract failed (ICP)?
|
|
57
|
+
│ └─ generate one PNG → done with path, or blocked until answered
|
|
58
|
+
└─ Never: done with only "will extract later"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 5. Files to verify before STOP
|
|
62
|
+
|
|
63
|
+
| File | Contains |
|
|
64
|
+
| ----------------------------------------------------- | ----------------------------------------------------------- |
|
|
65
|
+
| `docs/style-exploration.md` | MC paths, Motion Notes, Experience Flow |
|
|
66
|
+
| `logs/designer-log.md` | Coverage Matrix, Palette Locked, Style Intent, Anti-Pattern |
|
|
67
|
+
| `assets/images/reference/ui_state_sheet_[X].png` | exists |
|
|
68
|
+
| `assets/images/reference/element_state_sheet_[X].png` | exists |
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# Master Composite — 游戏类型 Prompt 配方 & 参考
|
|
2
|
+
|
|
3
|
+
> 本文件供 Designer 在生成 Master Composite 时按需查阅。核心规则见 `playcraft-storyboard` skill。
|
|
4
|
+
|
|
5
|
+
## 模型策略(MC 专用 — 仅高质量模型)
|
|
6
|
+
|
|
7
|
+
Master Composite **禁止**使用低档或实验性模型。生成前可运行 `playcraft tools list-image-models` 核对 capability,但 **MC 只允许下表**:
|
|
8
|
+
|
|
9
|
+
| 允许 `--image-model` | 典型分配 |
|
|
10
|
+
| ------------------------------ | ----------------------------------------------- |
|
|
11
|
+
| **`mulerouter/gpt-image-2`** | Option A(主推);Option C 可复用 + 不同 prompt |
|
|
12
|
+
| **`mulerouter/nano-banana-2`** | Option B;或 A/B 各用一模型做画风对比 |
|
|
13
|
+
|
|
14
|
+
**禁止用于 MC**:`gemini-*`、`flux-*`、`hy-image-*`、`wan*`、`qwen*`、裸 `gpt-image-2`、以及上表以外的任何模型。
|
|
15
|
+
|
|
16
|
+
> 多方案差异应来自 **prompt / 配色 / 构图**,不是换弱模型。ASR 双板 `--image-model` 须与已选 MC **完全一致**(见 `playcraft-asset-state-sheet` skill)。
|
|
17
|
+
|
|
18
|
+
### 模型特性速查(仅白名单内)
|
|
19
|
+
|
|
20
|
+
| 模型 | 特点 | 适合 |
|
|
21
|
+
| -------------------------- | ----------------------------- | ----------------------------------- |
|
|
22
|
+
| `mulerouter/gpt-image-2` | 细节、光影、复杂 UI、中文元素 | 写实、半写实、精细卡通、麻将/汉字类 |
|
|
23
|
+
| `mulerouter/nano-banana-2` | 色彩、构图、速度快 | 明亮卡通、简洁 UI、快速迭代第二方案 |
|
|
24
|
+
|
|
25
|
+
> `--reference-image` 只能用于 CAPABILITY 为 `text+image` 或 `image→image` 的模型;白名单内两模型均支持图生图。
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 游戏类型 Prompt 配方
|
|
30
|
+
|
|
31
|
+
以下模板可直接复制修改。所有模板遵循 skill 中的 5 面板并排结构 + 编号标签。
|
|
32
|
+
|
|
33
|
+
### Match-3 消除游戏
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
playcraft tools generate-image \
|
|
37
|
+
--prompt "Mobile game UI design sheet, 5 panels side by side in a horizontal row, each panel is a complete portrait-oriented mobile game screenshot for a match-3 puzzle game. Each panel has a numbered label at the top.
|
|
38
|
+
|
|
39
|
+
Panel 1 '1. Main Gameplay': Complete game screenshot — colorful candy gem grid on [BG_DESCRIPTION], all gem types visible ([TYPE_LIST]), HUD strip showing score and moves counter, 'Play Now' CTA button at bottom. [MASCOT_DESCRIPTION].
|
|
40
|
+
|
|
41
|
+
Panel 2 '2. Key Hook': Gems exploding in chains, dynamic burst VFX, score [HIGH_SCORE], combo text visible, vivid colors, dramatic moment, high contrast, minimal UI.
|
|
42
|
+
|
|
43
|
+
Panel 3 '3. Onboarding HUD': Finger tap icon pointing at two matching gems, soft glow highlight on target pair, simplified board, score reset, friendly guidance arrow, speech bubble with hint text.
|
|
44
|
+
|
|
45
|
+
Panel 4 '4. End Card': Victory celebration — [DARK_BG], '[WIN_TEXT]', treasure chest with rewards, reward amount visible, 'Install Now' CTA button prominent, confetti.
|
|
46
|
+
|
|
47
|
+
Panel 5 '5. CTA Always Visible': Mid-game screenshot showing normal gameplay in progress, with 'Play Now' CTA button clearly visible at bottom-right during active play, proving CTA is always accessible.
|
|
48
|
+
|
|
49
|
+
[STYLE_KEYWORDS]. All 5 panels are portrait-oriented mobile screenshots arranged left-to-right. Every panel has complete game UI (HUD bar, score display, buttons). Consistent art style across all panels. Thin vertical dividers between panels. Each panel has its numbered label at the top." \
|
|
50
|
+
--output assets/images/storyboard/master_composite_option_A.png \
|
|
51
|
+
--image-model mulerouter/gpt-image-2 \
|
|
52
|
+
--image-size 4K
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### 跑酷 / 平台跳跃游戏
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
playcraft tools generate-image \
|
|
61
|
+
--prompt "Mobile game UI design sheet, 5 panels side by side in a horizontal row, each panel is a complete portrait-oriented mobile game screenshot for an endless runner game. Each panel has a numbered label at the top.
|
|
62
|
+
|
|
63
|
+
Panel 1 '1. Main Gameplay': Complete game screenshot — character running through [ENVIRONMENT], coin trail ahead, obstacles visible, HUD showing distance and coins collected, 'Play Now' button at bottom.
|
|
64
|
+
|
|
65
|
+
Panel 2 '2. Key Hook': Character at maximum speed, motion blur, dynamic camera angle, dramatic lighting, speed lines, high contrast, minimal HUD.
|
|
66
|
+
|
|
67
|
+
Panel 3 '3. Onboarding HUD': Jump arrow icon showing first obstacle, character highlighted with glow, simple environment, clear guidance text bubble.
|
|
68
|
+
|
|
69
|
+
Panel 4 '4. End Card': Dark background, distance record display, 'Install Now' CTA button prominent, reward chest, achievement badges.
|
|
70
|
+
|
|
71
|
+
Panel 5 '5. CTA Always Visible': Mid-game screenshot with character dodging obstacles, 'Play Now' button clearly visible at bottom-right during active play.
|
|
72
|
+
|
|
73
|
+
[STYLE_KEYWORDS]. All 5 panels are portrait-oriented mobile screenshots arranged left-to-right. Every panel has complete game UI. Consistent art style across all panels. Thin vertical dividers. Numbered labels at top." \
|
|
74
|
+
--output assets/images/storyboard/master_composite_option_A.png \
|
|
75
|
+
--image-model mulerouter/gpt-image-2 \
|
|
76
|
+
--image-size 4K
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### 卡牌 / 麻将游戏
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
playcraft tools generate-image \
|
|
85
|
+
--prompt "Mobile game UI design sheet, 5 panels side by side in a horizontal row, each panel is a complete portrait-oriented mobile game screenshot for a Mahjong Solitaire game. Each panel has a numbered label at the top.
|
|
86
|
+
|
|
87
|
+
Panel 1 '1. Main Gameplay': Complete game screenshot — Mahjong tile grid on dark green felt table, tiles with Chinese symbols, cute mascot character, HUD showing score and timer, 'Play Now' button at bottom. Rich warm lighting.
|
|
88
|
+
|
|
89
|
+
Panel 2 '2. Key Hook': Near-win combo state — high score, combo text with golden sparkles, most tiles matched with golden borders, mascot excited expression, warm amber glow, dramatic tension.
|
|
90
|
+
|
|
91
|
+
Panel 3 '3. Onboarding HUD': Clean simplified board, finger tap icon pointing at two matching tiles, speech bubble 'Tap matching tiles', score reset, progress indicator, mascot encouraging smile.
|
|
92
|
+
|
|
93
|
+
Panel 4 '4. End Card': Victory — dark elegant background, '恭喜通关!' text in gold, treasure chest, reward amount with coin icon, 'Install Now' CTA button in contrasting color, golden confetti.
|
|
94
|
+
|
|
95
|
+
Panel 5 '5. CTA Always Visible': Mid-game screenshot showing active gameplay with tiles on board, score and timer visible, 'Play Now' button clearly visible at bottom-right during play.
|
|
96
|
+
|
|
97
|
+
Premium casual style, warm amber lighting, traditional Chinese aesthetic with modern UI, glossy tile surfaces. All 5 panels portrait-oriented, left-to-right. Every panel has complete game UI. Consistent art style. Thin vertical dividers. Numbered labels." \
|
|
98
|
+
--output assets/images/storyboard/master_composite_option_A.png \
|
|
99
|
+
--image-model mulerouter/gpt-image-2 \
|
|
100
|
+
--image-size 4K
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
### 射击 / 动作游戏
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
playcraft tools generate-image \
|
|
109
|
+
--prompt "Mobile game UI design sheet, 5 panels side by side in a horizontal row, each panel is a complete portrait-oriented mobile game screenshot for a casual shooting game. Each panel has a numbered label at the top.
|
|
110
|
+
|
|
111
|
+
Panel 1 '1. Main Gameplay': Complete game screenshot — player aiming at enemies in [ENVIRONMENT], weapon visible, HUD showing ammo/health/score, 'Play Now' button at bottom.
|
|
112
|
+
|
|
113
|
+
Panel 2 '2. Key Hook': Target reticle locking on enemy, muzzle flash, dramatic action lighting, high contrast, speed lines, minimal HUD.
|
|
114
|
+
|
|
115
|
+
Panel 3 '3. Onboarding HUD': Aim crosshair tutorial overlay, slow-motion visual hint, simple enemy highlighted with marker, guidance text.
|
|
116
|
+
|
|
117
|
+
Panel 4 '4. End Card': Dark background, victory text, loot box with rewards, 'Install Now' CTA button prominent.
|
|
118
|
+
|
|
119
|
+
Panel 5 '5. CTA Always Visible': Mid-game screenshot with active combat, 'Play Now' button clearly visible at bottom-right during play.
|
|
120
|
+
|
|
121
|
+
[STYLE_KEYWORDS]. All 5 panels portrait-oriented left-to-right. Every panel has complete game UI. Consistent art style. Thin vertical dividers. Numbered labels at top." \
|
|
122
|
+
--output assets/images/storyboard/master_composite_option_A.png \
|
|
123
|
+
--image-model mulerouter/gpt-image-2 \
|
|
124
|
+
--image-size 4K
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 故障恢复
|
|
130
|
+
|
|
131
|
+
### 问题:模型拒绝生成(content policy)
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# 移除触发审查的词语,改用间接描述
|
|
135
|
+
# "explosion, fire, destruction" → "dramatic burst effect, particle shower, vivid energy release"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 问题:面板内容混淆(相邻面板之间内容串了)
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# 方案 1:强化编号标签
|
|
142
|
+
"Panel 1 '1. Main Gameplay' (leftmost):..., Panel 2 '2. Key Hook' (second from left):..."
|
|
143
|
+
|
|
144
|
+
# 方案 2:加描述性分隔符
|
|
145
|
+
"5 panels separated by clear vertical white dividers. Each panel has bold numbered header."
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 问题:面板间风格不统一
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# 强化风格约束词
|
|
152
|
+
# 原始:"Consistent art style across all panels."
|
|
153
|
+
# 强化版:"All 5 panels MUST use identical art style, color palette, and character design. Same rendering style throughout. All panels depict the SAME game."
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 问题:某帧内容不清晰
|
|
157
|
+
|
|
158
|
+
发现某帧表达不清晰时,**不必重新生成整张**,而是在 `style-exploration.md` 的 Experience Flow Design 章节补充文字说明。
|
|
159
|
+
|
|
160
|
+
### 问题:Concept Panel 缺少某些元素类型
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# 方案 1:在 prompt Panel 1 段明确列出 "all [N] element types visible: [逐个列出]"
|
|
164
|
+
# 方案 2:接受当前 MC,由 ASR 双板补足(ASR 是 TA 的主要提取源)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Reference-Image 与多方案策略
|
|
170
|
+
|
|
171
|
+
### 首个方案(无 reference)
|
|
172
|
+
|
|
173
|
+
Master Composite 是 Phase 1 的**第一张生成图**,通常无前序图可作 reference:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
playcraft tools generate-image \
|
|
177
|
+
--prompt "<5-panel prompt>" \
|
|
178
|
+
--output assets/images/storyboard/master_composite_option_A.png \
|
|
179
|
+
--image-model mulerouter/gpt-image-2 \
|
|
180
|
+
--image-size 4K
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 后续方案(可选 reference)
|
|
184
|
+
|
|
185
|
+
后续方案可用已生成的方案 A 作为风格参考:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
playcraft tools generate-image \
|
|
189
|
+
--prompt "<方案 B prompt>" \
|
|
190
|
+
--output assets/images/storyboard/master_composite_option_B.png \
|
|
191
|
+
--reference-image assets/images/storyboard/master_composite_option_A.png \
|
|
192
|
+
--image-model mulerouter/nano-banana-2 \
|
|
193
|
+
--image-size 4K
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 输出命名规范
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
assets/images/storyboard/master_composite_option_A.png ← 方案 A
|
|
200
|
+
assets/images/storyboard/master_composite_option_B.png ← 方案 B
|
|
201
|
+
assets/images/storyboard/master_composite.png ← Gate #2 确认后复制
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Gate #2 确认后:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
cp assets/images/storyboard/master_composite_option_[X].png assets/images/storyboard/master_composite.png
|
|
208
|
+
```
|