@gitruck/cli 1.0.3 → 1.0.6

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 (37) hide show
  1. package/AGENT.md +120 -0
  2. package/LICENSE +21 -21
  3. package/README.en.md +674 -626
  4. package/README.md +667 -624
  5. package/contracts/README.md +14 -14
  6. package/contracts/handoff-contracts.json +10 -10
  7. package/dist/index.js +6121 -4155
  8. package/package.json +2 -2
  9. package/skills/gtrk-ai-drama/SKILL.md +239 -221
  10. package/skills/gtrk-cover/SKILL.md +111 -93
  11. package/skills/gtrk-cover/assets/workbench-template.html +955 -955
  12. package/skills/gtrk-cover/references/checklist.md +81 -81
  13. package/skills/gtrk-cover/references/layout-recipes.md +337 -337
  14. package/skills/gtrk-cover/references/prompt-templates.md +119 -119
  15. package/skills/gtrk-cover/references/workbench-guide.md +99 -99
  16. package/skills/gtrk-food-recap/SKILL.md +72 -0
  17. package/skills/gtrk-live-slicing/SKILL.md +227 -0
  18. package/skills/gtrk-long2short/SKILL.md +94 -71
  19. package/skills/gtrk-matrix/SKILL.md +392 -354
  20. package/skills/gtrk-mg/SKILL.md +223 -182
  21. package/skills/gtrk-music-visualizer/SKILL.md +94 -76
  22. package/skills/gtrk-narration/SKILL.md +145 -0
  23. package/skills/gtrk-oralcut/SKILL.md +22 -0
  24. package/skills/gtrk-splitter/SKILL.md +226 -208
  25. package/skills/gtrk-splitter/references/example-visual-split.json +638 -638
  26. package/skills/gtrk-splitter/references/example-visual-split.md +439 -439
  27. package/skills/gtrk-style-maker/references/ammo.md +16 -16
  28. package/skills/gtrk-style-maker/references/contracts-ref.md +9 -9
  29. package/skills/gtrk-style-maker/references/seeds/README.md +4 -4
  30. package/skills/gtrk-style-maker/references/seeds/seed-ecom-home-goods.md +37 -37
  31. package/skills/gtrk-style-maker/references/seeds/seed-psych-humanities.md +35 -35
  32. package/skills/gtrk-talking-head/SKILL.md +157 -0
  33. package/skills/gtrk-tools/SKILL.md +12 -1
  34. package/skills/gtrk-transcript/agents/openai.yaml +4 -4
  35. package/skills/gtrk-travel-recap/SKILL.md +249 -212
  36. package/skills/gtrk-vlog-docu/SKILL.md +325 -0
  37. package/skills/gtrk-voiceover/SKILL.md +72 -0
@@ -1,119 +1,119 @@
1
- # 文生图 Prompt 模板(框架版)
2
-
3
- **铁律**:
4
- - **不**在 Prompt 里要求生图模型渲染中文字。汉字由**阶段二的 H5 工作台**贴字(用户用浏览器交互完成),图里**只留"气息性的软留白"**——不必做硬留白约束。
5
- - 总是输出**英文主版 + 中文辅版**两套。
6
- - 三种尺寸(16:9 / 4:3 / 3:4)**各出一套**,构图差异显式化:
7
- - **16:9**:横版,主体居中,两侧有气息的空间
8
- - **4:3**:横版饱满,主体可以顶到三边,对角留气口
9
- - **3:4**:竖版,主体在中段,上下舒展,便于"上下分飞"排字
10
- - 每套 Prompt 各占一段,不要三尺寸塞一个段落。
11
- - 每套都塞满"风格锚点 + 色板 + 材质"三件套,不要只写主体。
12
-
13
- **风格注入槽位**:框架对审美零预设,风格三件套里的「风格」与「材质」是两个注入槽位,值由**栏目封面风格资产**供给;无资产时用中性默认值。
14
-
15
- | 槽位 | 含义 | 中性默认值 | 栏目资产供值示例(示例、非默认) |
16
- |---|---|---|---|
17
- | 【风格锚点 A】 | 画风定调串 | cinematic illustration, clean composition | anime illustration style, 2D cel-shaded |
18
- | 【材质串 T】 | 质感/印刷肌理串 | subtle film grain | film grain, paper texture, halftone dots |
19
-
20
- ---
21
-
22
- ## 英文主版骨架(Midjourney / SD / Flux / Nano Banana)
23
-
24
- ```
25
- [主体 S 描写], [容器意象 C 融合描写], [情绪氛围 M],
26
- 【风格锚点 A】,
27
- [光线 L], [镜头 Cam], [色板 P],
28
- 【材质串 T】,
29
- composition: [留字位描述 R],
30
- negative: photorealistic face, 3D render, glossy skin, ugly anatomy, watermark, text, chinese characters, blurry
31
- --ar [比例] --style raw --stylize 250
32
- ```
33
-
34
- (负面提示里与画风相斥的项目也随栏目资产调整,如写实系栏目不排除 photorealistic。)
35
-
36
- ### 槽位填法
37
-
38
- | 槽位 | 填法 | 范例 |
39
- |---|---|---|
40
- | S | 角色外形 + 表情 + 姿态;或抽象意象描写 | a solitary young woman with silver hair, downcast eyes, wearing a dark coat / a lone astronaut silhouette |
41
- | C | 容器意象的视觉化,叠在主体身上/周围 | overlaid with translucent neural network patterns glitching / surrounded by colliding light particles forming a supernova |
42
- | M | 情绪形容 | quiet despair yet faint hope, suffocating tenderness, cold clinical detachment |
43
- | L | 光线 | rim light from behind, single hard light from upper left, god rays through dust |
44
- | Cam | 镜头 | close-up portrait, medium shot, wide cinematic shot, dutch angle |
45
- | P | 色板(由栏目风格资产的色板表供英译) | 见下「色板英译」 |
46
- | R | 留字位 | 软建议而非硬约束。例如 "edges with softer visual weight for typography overlay" / "central subject with breathing room on sides" |
47
- | 比例 | --ar 参数 | `--ar 16:9` / `--ar 4:3` / `--ar 3:4` |
48
-
49
- ### 色板英译
50
-
51
- 色板英译由**栏目风格资产的色板表自带**(每个色板代号配一条英文描述串);无资产时用中性描述(如 muted cool palette with a single warm accent)。格式示例:
52
-
53
- ```
54
- | 代号 | 英文描述 |
55
- |---|---|
56
- | P-x | steel blue and bone white, single warm amber accent |
57
- ```
58
-
59
- ### 完整范例(16:9,"过拟合"主题)——某栏目实例(风格锚点/色板为该栏目资产值)
60
-
61
- ```
62
- a lone young woman gazing away, her silhouette gradually dissolving into
63
- translucent glitching neural network lines, looping patterns repeating
64
- over her shoulders and hair, quiet despair with a distant trace of
65
- awakening, anime illustration style, 2D cel-shaded with thick line
66
- art, rim light from behind suggesting hidden warmth, medium close-up
67
- slightly off-center, steel blue and bone white palette with a single
68
- amber accent, film grain, paper texture, halftone noise on background,
69
- composition: subject centered with breathing room on both sides,
70
- edges with softer visual weight so typography can overlay later,
71
- negative: photorealistic face, 3D render, glossy skin, ugly anatomy,
72
- watermark, text, chinese characters, blurry, extra fingers, deformed hand
73
- --ar 16:9 --style raw --stylize 250
74
- ```
75
-
76
- ---
77
-
78
- ## 中文辅版骨架(即梦 / 可灵 / 通义万相 / 文心)
79
-
80
- 中文模型对自然语言段落式 Prompt 响应更好,不要生搬英文结构。
81
-
82
- ```
83
- 【画面主体】一位/一件/一个……,[外形 + 神态 + 姿势]。
84
- 【容器意象】画面中融合 [容器的视觉化描述],与主体叠压 / 环绕 / 映射在背景。
85
- 【情绪氛围】整体气氛 [情绪形容]。
86
- 【风格】[风格锚点 A 的中文表述],不要真人写真,不要 3D 渲染(排除项随栏目画风调整)。
87
- 【光线】[光线描述]。
88
- 【镜头】[镜头角度与景别]。
89
- 【色彩】主色 [主色],辅色 [辅色],点缀 [强调色](取值由栏目色板表供给)。
90
- 【质感】[材质串 T 的中文表述]。
91
- 【构图】主体 [位置];[明确留白区域],该区域绝对不要出现任何元素。
92
- 【排除】不要文字,不要中文字符,不要水印,不要 3D 光泽皮肤,不要多余手指。
93
- 【比例】[16:9 / 4:3 / 3:4]。
94
- ```
95
-
96
- ---
97
-
98
- ## 模型差异化调参
99
-
100
- | 平台 | 独有参数 / 注意事项 |
101
- |---|---|
102
- | Midjourney v7 | 加 `--style raw --stylize 150~400`;需要一致风格时加 `--sref <URL>` 引用一张基准图 |
103
- | Flux.1 (dev/pro) | 去掉 `--ar` 用 `aspect ratio: 16:9` 自然语言;风格锚点要更具体 |
104
- | Stable Diffusion XL | 用 `(keyword:1.3)` 给权重;负面提示单独输入 |
105
- | Nano Banana | 接受长段描述,可直接贴中文辅版;支持参考图输入 |
106
- | 即梦 / 可灵 | 参考图 + 中文辅版效果最佳,英文 Prompt 表现弱 |
107
- | 通义万相 | 对"不要 XX"这类排除描述响应很好,用中文辅版 |
108
-
109
- ---
110
-
111
- ## 常见 Prompt 失败与补救
112
-
113
- | 症状 | 补救 |
114
- |---|---|
115
- | 模型硬要画中文字,全是乱码 | 负面提示加 `text, chinese characters, letters, signs`,主提示加 `no text, empty space for text overlay` |
116
- | 脸的质感偏离栏目画风(如插画系被画成真人磨皮) | 主提示前置栏目的【风格锚点 A】并显式排除对立画风(如 `NOT photorealistic`);负面加对立项(如 `3D render, photograph, realistic skin`) |
117
- | 主体被容器意象吞掉,看不清 | 调整描述比例:"subject clearly visible, container motif as translucent overlay at 30% opacity" |
118
- | 太满没留字位 | 显式写 "composition: LEFT THIRD completely empty, solid color, no elements";可先用构图图参考(scribble / sketch)约束 |
119
- | 色板没出效果 | 把色板 HEX 值写进 Prompt:`dominant colors #XXXXXX and #XXXXXX`;或附参考色板图。精确色 token 由栏目风格资产自带,写进 Prompt 用 HEX |
1
+ # 文生图 Prompt 模板(框架版)
2
+
3
+ **铁律**:
4
+ - **不**在 Prompt 里要求生图模型渲染中文字。汉字由**阶段二的 H5 工作台**贴字(用户用浏览器交互完成),图里**只留"气息性的软留白"**——不必做硬留白约束。
5
+ - 总是输出**英文主版 + 中文辅版**两套。
6
+ - 三种尺寸(16:9 / 4:3 / 3:4)**各出一套**,构图差异显式化:
7
+ - **16:9**:横版,主体居中,两侧有气息的空间
8
+ - **4:3**:横版饱满,主体可以顶到三边,对角留气口
9
+ - **3:4**:竖版,主体在中段,上下舒展,便于"上下分飞"排字
10
+ - 每套 Prompt 各占一段,不要三尺寸塞一个段落。
11
+ - 每套都塞满"风格锚点 + 色板 + 材质"三件套,不要只写主体。
12
+
13
+ **风格注入槽位**:框架对审美零预设,风格三件套里的「风格」与「材质」是两个注入槽位,值由**栏目封面风格资产**供给;无资产时用中性默认值。
14
+
15
+ | 槽位 | 含义 | 中性默认值 | 栏目资产供值示例(示例、非默认) |
16
+ |---|---|---|---|
17
+ | 【风格锚点 A】 | 画风定调串 | cinematic illustration, clean composition | anime illustration style, 2D cel-shaded |
18
+ | 【材质串 T】 | 质感/印刷肌理串 | subtle film grain | film grain, paper texture, halftone dots |
19
+
20
+ ---
21
+
22
+ ## 英文主版骨架(Midjourney / SD / Flux / Nano Banana)
23
+
24
+ ```
25
+ [主体 S 描写], [容器意象 C 融合描写], [情绪氛围 M],
26
+ 【风格锚点 A】,
27
+ [光线 L], [镜头 Cam], [色板 P],
28
+ 【材质串 T】,
29
+ composition: [留字位描述 R],
30
+ negative: photorealistic face, 3D render, glossy skin, ugly anatomy, watermark, text, chinese characters, blurry
31
+ --ar [比例] --style raw --stylize 250
32
+ ```
33
+
34
+ (负面提示里与画风相斥的项目也随栏目资产调整,如写实系栏目不排除 photorealistic。)
35
+
36
+ ### 槽位填法
37
+
38
+ | 槽位 | 填法 | 范例 |
39
+ |---|---|---|
40
+ | S | 角色外形 + 表情 + 姿态;或抽象意象描写 | a solitary young woman with silver hair, downcast eyes, wearing a dark coat / a lone astronaut silhouette |
41
+ | C | 容器意象的视觉化,叠在主体身上/周围 | overlaid with translucent neural network patterns glitching / surrounded by colliding light particles forming a supernova |
42
+ | M | 情绪形容 | quiet despair yet faint hope, suffocating tenderness, cold clinical detachment |
43
+ | L | 光线 | rim light from behind, single hard light from upper left, god rays through dust |
44
+ | Cam | 镜头 | close-up portrait, medium shot, wide cinematic shot, dutch angle |
45
+ | P | 色板(由栏目风格资产的色板表供英译) | 见下「色板英译」 |
46
+ | R | 留字位 | 软建议而非硬约束。例如 "edges with softer visual weight for typography overlay" / "central subject with breathing room on sides" |
47
+ | 比例 | --ar 参数 | `--ar 16:9` / `--ar 4:3` / `--ar 3:4` |
48
+
49
+ ### 色板英译
50
+
51
+ 色板英译由**栏目风格资产的色板表自带**(每个色板代号配一条英文描述串);无资产时用中性描述(如 muted cool palette with a single warm accent)。格式示例:
52
+
53
+ ```
54
+ | 代号 | 英文描述 |
55
+ |---|---|
56
+ | P-x | steel blue and bone white, single warm amber accent |
57
+ ```
58
+
59
+ ### 完整范例(16:9,"过拟合"主题)——某栏目实例(风格锚点/色板为该栏目资产值)
60
+
61
+ ```
62
+ a lone young woman gazing away, her silhouette gradually dissolving into
63
+ translucent glitching neural network lines, looping patterns repeating
64
+ over her shoulders and hair, quiet despair with a distant trace of
65
+ awakening, anime illustration style, 2D cel-shaded with thick line
66
+ art, rim light from behind suggesting hidden warmth, medium close-up
67
+ slightly off-center, steel blue and bone white palette with a single
68
+ amber accent, film grain, paper texture, halftone noise on background,
69
+ composition: subject centered with breathing room on both sides,
70
+ edges with softer visual weight so typography can overlay later,
71
+ negative: photorealistic face, 3D render, glossy skin, ugly anatomy,
72
+ watermark, text, chinese characters, blurry, extra fingers, deformed hand
73
+ --ar 16:9 --style raw --stylize 250
74
+ ```
75
+
76
+ ---
77
+
78
+ ## 中文辅版骨架(即梦 / 可灵 / 通义万相 / 文心)
79
+
80
+ 中文模型对自然语言段落式 Prompt 响应更好,不要生搬英文结构。
81
+
82
+ ```
83
+ 【画面主体】一位/一件/一个……,[外形 + 神态 + 姿势]。
84
+ 【容器意象】画面中融合 [容器的视觉化描述],与主体叠压 / 环绕 / 映射在背景。
85
+ 【情绪氛围】整体气氛 [情绪形容]。
86
+ 【风格】[风格锚点 A 的中文表述],不要真人写真,不要 3D 渲染(排除项随栏目画风调整)。
87
+ 【光线】[光线描述]。
88
+ 【镜头】[镜头角度与景别]。
89
+ 【色彩】主色 [主色],辅色 [辅色],点缀 [强调色](取值由栏目色板表供给)。
90
+ 【质感】[材质串 T 的中文表述]。
91
+ 【构图】主体 [位置];[明确留白区域],该区域绝对不要出现任何元素。
92
+ 【排除】不要文字,不要中文字符,不要水印,不要 3D 光泽皮肤,不要多余手指。
93
+ 【比例】[16:9 / 4:3 / 3:4]。
94
+ ```
95
+
96
+ ---
97
+
98
+ ## 模型差异化调参
99
+
100
+ | 平台 | 独有参数 / 注意事项 |
101
+ |---|---|
102
+ | Midjourney v7 | 加 `--style raw --stylize 150~400`;需要一致风格时加 `--sref <URL>` 引用一张基准图 |
103
+ | Flux.1 (dev/pro) | 去掉 `--ar` 用 `aspect ratio: 16:9` 自然语言;风格锚点要更具体 |
104
+ | Stable Diffusion XL | 用 `(keyword:1.3)` 给权重;负面提示单独输入 |
105
+ | Nano Banana | 接受长段描述,可直接贴中文辅版;支持参考图输入 |
106
+ | 即梦 / 可灵 | 参考图 + 中文辅版效果最佳,英文 Prompt 表现弱 |
107
+ | 通义万相 | 对"不要 XX"这类排除描述响应很好,用中文辅版 |
108
+
109
+ ---
110
+
111
+ ## 常见 Prompt 失败与补救
112
+
113
+ | 症状 | 补救 |
114
+ |---|---|
115
+ | 模型硬要画中文字,全是乱码 | 负面提示加 `text, chinese characters, letters, signs`,主提示加 `no text, empty space for text overlay` |
116
+ | 脸的质感偏离栏目画风(如插画系被画成真人磨皮) | 主提示前置栏目的【风格锚点 A】并显式排除对立画风(如 `NOT photorealistic`);负面加对立项(如 `3D render, photograph, realistic skin`) |
117
+ | 主体被容器意象吞掉,看不清 | 调整描述比例:"subject clearly visible, container motif as translucent overlay at 30% opacity" |
118
+ | 太满没留字位 | 显式写 "composition: LEFT THIRD completely empty, solid color, no elements";可先用构图图参考(scribble / sketch)约束 |
119
+ | 色板没出效果 | 把色板 HEX 值写进 Prompt:`dominant colors #XXXXXX and #XXXXXX`;或附参考色板图。精确色 token 由栏目风格资产自带,写进 Prompt 用 HEX |
@@ -1,99 +1,99 @@
1
- # 工作台实例化指南(workbench-guide)
2
-
3
- `assets/workbench-template.html` 是**中性活范本**:一份完整可运行的排字工作台(拖拽 / 方向键 / 数值 / 滚轮微调、逐尺寸与一键导出),实例化 = 逐替换位换成当期值。本文是替换位总表 + 工程注意 + 合规检查。
4
-
5
- ## 0. 分工提醒
6
-
7
- 模板的 **JS 引擎层不要动**:拖拽 / 方向键 / 滚轮 / 图层选中 / 舞台缩放(负 margin 占位)/ 导出(html2canvas)都是通用基建。要动的只有**数据与样式**:占位符、常量、DEFAULTS、CSS 变量与字体、图层组。
8
-
9
- ## 1. 替换位总表
10
-
11
- | 替换位 | 位置 | 说明 |
12
- |---|---|---|
13
- | `__BG_16_9__` / `__BG_4_3__` / `__BG_3_4__` | 各 `.cover` 的 `<img class="bg">` | 唯一的显式占位符:换成 `data:image/jpeg;base64,<压缩后>` |
14
- | `<title>` / `<h1>` / `.sub` / 3 个 `.pill` | 头部 | 当期 T1、英文副题、布局名 / 色板名 / 操作提示 |
15
- | `T1_KEYS` 常量 | script 顶部 | **T1 字数驱动的总开关**,见 §2 |
16
- | `#t1-text` 的 `value` 与 `maxlength`、`state.t1Text` | 右栏 + script | T1 初值**两处**必须一致 |
17
- | 各 `.cover` 内的 `char*` div 组 | 三个 cover | 数量与 `T1_KEYS` 一致、initial 文本逐字填 |
18
- | `t2 / t5 / t4` 初始文案 | cover 内 div **与** DEFAULTS `text` 双处 | 副标题(≤12 字钩子)/ 装饰英文 / 品牌戳(用户没给就 `visible:false` 且不编内容) |
19
- | `DEFAULTS` 整块 | script | 三尺寸 × 全图层默认坐标:从 layout-recipes 选配方起步,再按实际画面气口微调 |
20
- | `:root` 色板变量 | CSS | 见 §3 |
21
- | `.t1` 字体 / 描边 / 发光 | CSS **与** `applyT1Style()` | 发光 rgba **两处**(CSS 初值 + JS 滑杆模板串)必须同色 |
22
- | `#t1-color` 选项 / 发光滑杆 label 与默认值 | 右栏 | 按栏目色板给 2~3 档字色;发光名跟色板叫(银辉 / 琥珀 / …) |
23
- | 装饰件默认开关 | 右栏 checkbox + `applyInner/applyCorner` | 当期装饰件决策的落点 |
24
- | 尺寸 tab 的 `.desc` | 左栏 | 标注当期布局(如「左人右字」「上下分飞」) |
25
-
26
- ## 2. T1 字数驱动(防「四字机器」回潮)
27
-
28
- 模板 T1 图层数由 `T1_KEYS` 常量驱动。当期 T1 为 N 字时,改四处并保持一致:
29
- 1. `T1_KEYS = ['char1', …, 'charN']`;
30
- 2. 每个 `.cover` 内放 N 个 `char*` div(initial 逐字填);
31
- 3. `#t1-text` 的 `maxlength="N"` 与 `value`;
32
- 4. `DEFAULTS` 三尺寸各含 N 条 `char*` 坐标。
33
-
34
- `applyT1Text / renderCharBlocks / applyT1SizeAll` 都吃 `T1_KEYS`,不用改。`#t1-size-all` 滑杆的 min/max 按字号量级调(4 字大字 280~800;5 字竖排 150~700)。
35
-
36
- ## 3. 色板 CSS 变量(变量名固定、换值即换装)
37
-
38
- | 变量 | 语义 | 用途 |
39
- |---|---|---|
40
- | `--midnight` | 最深底色 | 画布底、T1 描边、色块 |
41
- | `--indigo` | 次深色 | 氛围渐变 |
42
- | `--amber` | **强调色**(语义槽位,不必是琥珀) | UI 强调、选中框、导出钮、T5/装饰可用 |
43
- | `--amber-soft` | 强调色柔化档 | hover、副文本 |
44
- | `--bone` | 浅色字底 | T1 默认字色、浅 UI 文本 |
45
-
46
- 值从**栏目封面风格资产的色板表**取;无资产用模板自带中性值。UI chrome 与画布共用这套变量——换值后整个工作台会跟着栏目气质走,这是特性不是 bug。
47
-
48
- ## 4. 附加文字图层(品牌戳 / 拟声词 / 任意)
49
-
50
- 图层机制对非 T1 图层是通用的(`applyLayers` 按 `ls.type !== 't1'` 走 text/visible 同步)。加一个图层四步:
51
- 1. `DEFAULTS` 三尺寸各加条目 `{type:'<自定义>', pos, text, left, top, size, visible}`;
52
- 2. 每个 `.cover` 加 `<div class="layer-text <类名>" data-layer-key="<key>">初值</div>`;
53
- 3. `SUB_KEYS` / `SUB_LABELS` 登记(右栏出微调 block);
54
- 4. CSS 加 `.<类名>` 样式(字体 / 颜色 / z-index;旋转等静态变换写在类里,不影响拖拽)。
55
-
56
- 已验证先例:品牌戳(手写体、可拖)、拟声词(手写体 + 静态旋转 + 强调色,「全画面唯一与强调色同源的字」这类点睛用法)。
57
-
58
- ## 5. 逐尺寸样式覆写(浅底反转墨色技法)
59
-
60
- 某一尺寸的背景局部是浅色(如竖版下段渐变成纸面)时,可把该尺寸的文字整体反转为深色:
61
-
62
- ```css
63
- /* 覆写 .t1 必须 !important —— applyT1Style() 会写内联样式 */
64
- .cover[data-size="3_4"] .t1 { color: #16233A !important; -webkit-text-stroke: 0 transparent !important; text-shadow: 0 2px 12px rgba(20,30,50,0.18) !important; }
65
- /* t2/t5/t4 无内联色,普通级联即可 */
66
- .cover[data-size="3_4"] .t2 { color: rgba(30,58,95,0.92); text-shadow: none; }
67
- ```
68
-
69
- 交付时必须告知用户:**该尺寸不受全局字色 / 发光滑杆影响**,是当期审美决策。
70
-
71
- ## 6. 装饰件片段
72
-
73
- - **薄内框**(装裱感):`.inner-frame { position:absolute; inset:50px; border:2px solid <色>; pointer-events:none; z-index:5; }` + 右栏开关 + `applyInner()`(模板已带,默认关)。浅底尺寸配 §5 覆写深色框。
74
- - **四角断线框**:模板已带(`.corner` ×4 + 开关,默认关)。
75
- - 胶带 / 撕痕 / REC 取景框等:按当期气质现写(绝对定位 + `pointer-events:none` + `z-index:5`,加进每个 `.cover`);**装饰件是显式决策**——用或不用都要说理由。
76
-
77
- ## 7. 背景图归位与压缩
78
-
79
- - **归位按宽高比**:`w/h ≥ 1.55 → 16:9`;`≥ 1.15 → 4:3`;否则 `3:4`。同档有多张时显式选择并告知备选(用户可用左栏「上传当前尺寸的背景图」随时换)。归不上任何档就问,别硬塞。
80
- - **压缩参数**(JPEG、渐进式):16:9 长边 ≤1280 / q82;4:3 ≤1600 / q78;3:4 ≤1400 / q78。纹理极密的图压不动属正常,别为体积牺牲画质到 q70 以下。
81
- - **体积红线**:整份 HTML **>1MB 必须回头降参**(浏览器打开明显变慢);>600KB 提示一句即可。
82
- - **纪律**:从**原路径**读用户图,压缩产物直接 base64 进 HTML;压缩脚本落**系统 temp、用完即删**;不留任何中间图片副本。
83
-
84
- ## 8. 工程注意(踩过的坑)
85
-
86
- - **缩放占位**:画布用 `transform: scale` 只缩视觉不缩布局,模板已用「`transform-origin: top left` + 负 margin」把占位收缩到缩放后尺寸——**别改回直接设小宽高**(会让外框阴影只包住左上角)。
87
- - **导出**:html2canvas 对发光 text-shadow 的还原略弱于屏显,用户觉得弱就把发光滑杆 +10~15% 再导;一键导出首次会触发浏览器「允许下载多个文件」授权,交付时提示。
88
- - **布局状态在内存**:刷新页面回默认坐标——交付时提醒「调好就导出,导出前别刷新」。
89
- - **字体**:模板经字体服务引入(含手写体),首次打开需联网;断网回退系统字体、不阻塞。
90
-
91
- ## 9. 实例化后合规检查(交付前必过)
92
-
93
- - [ ] 占位符零残留(全文检索 `__BG_` 无命中);
94
- - [ ] `T1_KEYS` 长度 = 各 cover 的 char div 数 = `maxlength` = DEFAULTS char 条目数;
95
- - [ ] T1 初值两处一致(`#t1-text` value 与 `state.t1Text`);
96
- - [ ] DEFAULTS 三尺寸齐、每尺寸含全部图层条目;
97
- - [ ] 发光 rgba 在 CSS 与 `applyT1Style()` 两处同色;
98
- - [ ] 默认坐标避开用户分发平台的安全区(如 B 站横版底部 1/10 进度条灰化区、右上 1/8 角标区);
99
- - [ ] 能验就在浏览器验一遍:控制台零报错、三尺寸切换正常、图层可拖。
1
+ # 工作台实例化指南(workbench-guide)
2
+
3
+ `assets/workbench-template.html` 是**中性活范本**:一份完整可运行的排字工作台(拖拽 / 方向键 / 数值 / 滚轮微调、逐尺寸与一键导出),实例化 = 逐替换位换成当期值。本文是替换位总表 + 工程注意 + 合规检查。
4
+
5
+ ## 0. 分工提醒
6
+
7
+ 模板的 **JS 引擎层不要动**:拖拽 / 方向键 / 滚轮 / 图层选中 / 舞台缩放(负 margin 占位)/ 导出(html2canvas)都是通用基建。要动的只有**数据与样式**:占位符、常量、DEFAULTS、CSS 变量与字体、图层组。
8
+
9
+ ## 1. 替换位总表
10
+
11
+ | 替换位 | 位置 | 说明 |
12
+ |---|---|---|
13
+ | `__BG_16_9__` / `__BG_4_3__` / `__BG_3_4__` | 各 `.cover` 的 `<img class="bg">` | 唯一的显式占位符:换成 `data:image/jpeg;base64,<压缩后>` |
14
+ | `<title>` / `<h1>` / `.sub` / 3 个 `.pill` | 头部 | 当期 T1、英文副题、布局名 / 色板名 / 操作提示 |
15
+ | `T1_KEYS` 常量 | script 顶部 | **T1 字数驱动的总开关**,见 §2 |
16
+ | `#t1-text` 的 `value` 与 `maxlength`、`state.t1Text` | 右栏 + script | T1 初值**两处**必须一致 |
17
+ | 各 `.cover` 内的 `char*` div 组 | 三个 cover | 数量与 `T1_KEYS` 一致、initial 文本逐字填 |
18
+ | `t2 / t5 / t4` 初始文案 | cover 内 div **与** DEFAULTS `text` 双处 | 副标题(≤12 字钩子)/ 装饰英文 / 品牌戳(用户没给就 `visible:false` 且不编内容) |
19
+ | `DEFAULTS` 整块 | script | 三尺寸 × 全图层默认坐标:从 layout-recipes 选配方起步,再按实际画面气口微调 |
20
+ | `:root` 色板变量 | CSS | 见 §3 |
21
+ | `.t1` 字体 / 描边 / 发光 | CSS **与** `applyT1Style()` | 发光 rgba **两处**(CSS 初值 + JS 滑杆模板串)必须同色 |
22
+ | `#t1-color` 选项 / 发光滑杆 label 与默认值 | 右栏 | 按栏目色板给 2~3 档字色;发光名跟色板叫(银辉 / 琥珀 / …) |
23
+ | 装饰件默认开关 | 右栏 checkbox + `applyInner/applyCorner` | 当期装饰件决策的落点 |
24
+ | 尺寸 tab 的 `.desc` | 左栏 | 标注当期布局(如「左人右字」「上下分飞」) |
25
+
26
+ ## 2. T1 字数驱动(防「四字机器」回潮)
27
+
28
+ 模板 T1 图层数由 `T1_KEYS` 常量驱动。当期 T1 为 N 字时,改四处并保持一致:
29
+ 1. `T1_KEYS = ['char1', …, 'charN']`;
30
+ 2. 每个 `.cover` 内放 N 个 `char*` div(initial 逐字填);
31
+ 3. `#t1-text` 的 `maxlength="N"` 与 `value`;
32
+ 4. `DEFAULTS` 三尺寸各含 N 条 `char*` 坐标。
33
+
34
+ `applyT1Text / renderCharBlocks / applyT1SizeAll` 都吃 `T1_KEYS`,不用改。`#t1-size-all` 滑杆的 min/max 按字号量级调(4 字大字 280~800;5 字竖排 150~700)。
35
+
36
+ ## 3. 色板 CSS 变量(变量名固定、换值即换装)
37
+
38
+ | 变量 | 语义 | 用途 |
39
+ |---|---|---|
40
+ | `--midnight` | 最深底色 | 画布底、T1 描边、色块 |
41
+ | `--indigo` | 次深色 | 氛围渐变 |
42
+ | `--amber` | **强调色**(语义槽位,不必是琥珀) | UI 强调、选中框、导出钮、T5/装饰可用 |
43
+ | `--amber-soft` | 强调色柔化档 | hover、副文本 |
44
+ | `--bone` | 浅色字底 | T1 默认字色、浅 UI 文本 |
45
+
46
+ 值从**栏目封面风格资产的色板表**取;无资产用模板自带中性值。UI chrome 与画布共用这套变量——换值后整个工作台会跟着栏目气质走,这是特性不是 bug。
47
+
48
+ ## 4. 附加文字图层(品牌戳 / 拟声词 / 任意)
49
+
50
+ 图层机制对非 T1 图层是通用的(`applyLayers` 按 `ls.type !== 't1'` 走 text/visible 同步)。加一个图层四步:
51
+ 1. `DEFAULTS` 三尺寸各加条目 `{type:'<自定义>', pos, text, left, top, size, visible}`;
52
+ 2. 每个 `.cover` 加 `<div class="layer-text <类名>" data-layer-key="<key>">初值</div>`;
53
+ 3. `SUB_KEYS` / `SUB_LABELS` 登记(右栏出微调 block);
54
+ 4. CSS 加 `.<类名>` 样式(字体 / 颜色 / z-index;旋转等静态变换写在类里,不影响拖拽)。
55
+
56
+ 已验证先例:品牌戳(手写体、可拖)、拟声词(手写体 + 静态旋转 + 强调色,「全画面唯一与强调色同源的字」这类点睛用法)。
57
+
58
+ ## 5. 逐尺寸样式覆写(浅底反转墨色技法)
59
+
60
+ 某一尺寸的背景局部是浅色(如竖版下段渐变成纸面)时,可把该尺寸的文字整体反转为深色:
61
+
62
+ ```css
63
+ /* 覆写 .t1 必须 !important —— applyT1Style() 会写内联样式 */
64
+ .cover[data-size="3_4"] .t1 { color: #16233A !important; -webkit-text-stroke: 0 transparent !important; text-shadow: 0 2px 12px rgba(20,30,50,0.18) !important; }
65
+ /* t2/t5/t4 无内联色,普通级联即可 */
66
+ .cover[data-size="3_4"] .t2 { color: rgba(30,58,95,0.92); text-shadow: none; }
67
+ ```
68
+
69
+ 交付时必须告知用户:**该尺寸不受全局字色 / 发光滑杆影响**,是当期审美决策。
70
+
71
+ ## 6. 装饰件片段
72
+
73
+ - **薄内框**(装裱感):`.inner-frame { position:absolute; inset:50px; border:2px solid <色>; pointer-events:none; z-index:5; }` + 右栏开关 + `applyInner()`(模板已带,默认关)。浅底尺寸配 §5 覆写深色框。
74
+ - **四角断线框**:模板已带(`.corner` ×4 + 开关,默认关)。
75
+ - 胶带 / 撕痕 / REC 取景框等:按当期气质现写(绝对定位 + `pointer-events:none` + `z-index:5`,加进每个 `.cover`);**装饰件是显式决策**——用或不用都要说理由。
76
+
77
+ ## 7. 背景图归位与压缩
78
+
79
+ - **归位按宽高比**:`w/h ≥ 1.55 → 16:9`;`≥ 1.15 → 4:3`;否则 `3:4`。同档有多张时显式选择并告知备选(用户可用左栏「上传当前尺寸的背景图」随时换)。归不上任何档就问,别硬塞。
80
+ - **压缩参数**(JPEG、渐进式):16:9 长边 ≤1280 / q82;4:3 ≤1600 / q78;3:4 ≤1400 / q78。纹理极密的图压不动属正常,别为体积牺牲画质到 q70 以下。
81
+ - **体积红线**:整份 HTML **>1MB 必须回头降参**(浏览器打开明显变慢);>600KB 提示一句即可。
82
+ - **纪律**:从**原路径**读用户图,压缩产物直接 base64 进 HTML;压缩脚本落**系统 temp、用完即删**;不留任何中间图片副本。
83
+
84
+ ## 8. 工程注意(踩过的坑)
85
+
86
+ - **缩放占位**:画布用 `transform: scale` 只缩视觉不缩布局,模板已用「`transform-origin: top left` + 负 margin」把占位收缩到缩放后尺寸——**别改回直接设小宽高**(会让外框阴影只包住左上角)。
87
+ - **导出**:html2canvas 对发光 text-shadow 的还原略弱于屏显,用户觉得弱就把发光滑杆 +10~15% 再导;一键导出首次会触发浏览器「允许下载多个文件」授权,交付时提示。
88
+ - **布局状态在内存**:刷新页面回默认坐标——交付时提醒「调好就导出,导出前别刷新」。
89
+ - **字体**:模板经字体服务引入(含手写体),首次打开需联网;断网回退系统字体、不阻塞。
90
+
91
+ ## 9. 实例化后合规检查(交付前必过)
92
+
93
+ - [ ] 占位符零残留(全文检索 `__BG_` 无命中);
94
+ - [ ] `T1_KEYS` 长度 = 各 cover 的 char div 数 = `maxlength` = DEFAULTS char 条目数;
95
+ - [ ] T1 初值两处一致(`#t1-text` value 与 `state.t1Text`);
96
+ - [ ] DEFAULTS 三尺寸齐、每尺寸含全部图层条目;
97
+ - [ ] 发光 rgba 在 CSS 与 `applyT1Style()` 两处同色;
98
+ - [ ] 默认坐标避开用户分发平台的安全区(如 B 站横版底部 1/10 进度条灰化区、右上 1/8 角标区);
99
+ - [ ] 能验就在浏览器验一遍:控制台零报错、三尺寸切换正常、图层可拖。
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: gtrk-food-recap
3
+ description: 美食解说垂类图纸(解说链示例)——把探店/密着纪实长片(或自拍探店素材夹)与做饭流程记录,提炼看点后重述成一条中文美食解说成片工程。覆盖两形态:探店·密着(一家店/一顿饭/一个人的故事)与做饭流程解说(步骤线忠实重述)。菜谱知识类内容出局(那是配音链题材,走 gtrk-voiceover)。当用户想「做美食解说 / 探店视频解说 / 密着纪实翻讲 / 把这条做饭视频讲一遍 / 拉面店视频解说」时使用本图纸。链级条款(时序三档/引用段/出处对齐)以 gtrk-narration 为正本。
4
+ ---
5
+
6
+ # gtrk-food-recap(美食解说 · 解说链垂类示例)
7
+
8
+ 把**探店/密着纪实长片**(或自拍探店素材夹)与**做饭流程记录**提炼看点,重述成一条中文美食解说成片工程。
9
+
10
+ > **定位**:解说链(`gtrk-narration` 正本)的垂类示例,与 `gtrk-travel-recap` 平级。链级条款
11
+ > (时序三档铺排/引用段/出处对齐/开工问询)以正本为准,本图纸只持**美食要素层**。
12
+ > **菜谱知识类**(讲营养学/做法原理、素材只是插画)按判据出链走 `gtrk-voiceover`。
13
+ > **承诺面只有快速成片**(垂类示例单模式,公约 §一 分层);个性化出路见 §六。**CLI 是手,你是脑。**
14
+
15
+ ## 一、两种形态与输入契约
16
+
17
+ | 形态 | 输入 | 时序档位(正本 §三) |
18
+ |---|---|---|
19
+ | **探店 · 密着** | 一条纪实长片(二创;带字幕文件的直接当台词锚,无则转写)或自拍探店素材夹 | 软窗档缺省:进店→点单→出品→吃→人的故事,流程线单调、允许蒙太奇跳 |
20
+ | **做饭流程** | 一条做饭记录或素材夹 | 软窗档且**步骤线忠实**:工序 MUST NOT 乱序重排(先炸后腌是事故) |
21
+
22
+ 稿源与声音基座随正本开工问询(AI 代写/自备稿;TTS/自己念)。**MUST NOT 执行任何网络下载**;二创长片是第三方作品——版权与平台二创规则责任归用户,开工先说。
23
+
24
+ ## 二、美食要素层(写稿规约,叠在通用框架层之上)
25
+
26
+ 通用框架层(三段式/文风铁律/自校验)继承 `gtrk-travel-recap` §三 正本,此处只列垂类专属:
27
+
28
+ - **探店三件套**:场子气质(地段/客群/烟火气)、出品与吃相(招牌菜、分量、上桌节奏)、
29
+ **人的故事**——密着类的魂在店主/食客身上(几点起床备料、开了多少年、常客是谁),
30
+ 写稿 MUST 给「人」留一段,别写成纯菜品罗列;
31
+ - **感官转译**:口感香气用**具体动作与事实**转译(「700 克米饭压得冒尖」「铁板边缘的油声没停过」),
32
+ 禁拟声堆砌与「入口即化」式空转(文风铁律照打);
33
+ - **数字如实**:分量/价格/营业时间只用素材里可见可听的,MUST NOT 编造;
34
+ **时效丑话**:价格与营业信息随拍摄时点变动,成片引用时提醒用户自行核对;
35
+ - **背景检索建议**(旅拍 §三 通用框架层同款,2026-08-28 拍板):对店名/地段/菜系关键词
36
+ 做一轮背景检索补写稿语料(店家来历、当地饮食脉络),有检索能力就做、没有不强求;
37
+ 检索所得与素材互证后才入稿、档案标注来源;
38
+ - **做饭流程线**:步骤忠实、关键动作给特写位(刀工/火候/翻面)、成品定格收束。
39
+
40
+ ## 三、铺排与引用段(引用正本,垂类注记)
41
+
42
+ - 铺排走正本 §三:有出处直排,无出处软窗(单调先验);做饭形态窗口更窄(工序容不得远跳)。
43
+ - **引用段强建议开**:吃相原声、后厨煎炒声、店主原话金句——美食片的证据就是声音;
44
+ 装配与克制丑话照正本 §四。
45
+
46
+ ## 四、快速成片编排
47
+
48
+ 命令序照正本 §五(索引/字幕锚 → 写稿+出处 → 检查点① → 基座 → 建工程 → 拆分 → 铺排 →
49
+ 字卡 → BGM → 字幕),配方口径(mark-weight 0.3 / BGM 0.10 / gap-fill fast)照旅拍 §五,引用不复制。
50
+ BGM 选带人声歌曲(`audio_type:"song"`)时 **MUST 下载 `accompaniment_url` 伴奏版上轨**,
51
+ 不得直接用 `download_url` 原曲——人声与解说配音打架(260827 真机踩坑)。换已上轨的 BGM 文件时
52
+ 注意:`audio lay` 同源幂等按文件路径判定,**换不同文件不会替换旧轨**,须先剥旧 BGM 轨再 lay。
53
+ 渲后 QC 铁则照公约 §二′(B-roll 覆盖链路粗剪也必过 QC,结论随交付呈现)。
54
+ 字卡走 MG 临场泛化(公约 §三):店名条/菜名条/价格条为主,风格锚在这家店的气质上。
55
+
56
+ ## 五、检查点①(必停一次)
57
+
58
+ 稿件(含引用窗口)+ 出处对照表(自备稿时)+ 画幅 + 音色(试听)+ BGM(试听)+ 字幕样式,
59
+ 一屏一次拍板;此前零计费动作。
60
+
61
+ ## 六、个性化出路(垂类示例定位)
62
+
63
+ **本图纸是示例**:演示美食解说这条链路怎么跑。交付后对个别环节不满意,按旅拍 §七 增量重跑表
64
+ 悔棋(同一套零件同一套姿势);对垂类玩法/审美**本身**不满意(想要另一种探店腔调、另一套
65
+ 视觉气质),MUST NOT 在示例上堆个性化补丁——引导用户用 `gtrk-style-maker` 建他自己的美食
66
+ skill。示例对个性化项目工程差着火候是定位使然,这句丑话开工时就说。
67
+
68
+ ## 七、计费与丑话速查
69
+
70
+ - 计费大头:台词转写(无字幕文件时)与 TTS;实时价格原样转述后再动;
71
+ - 二创版权、引用段占比、价格时效三句丑话开工说清;
72
+ - 排错回正本与各零件 skill,本图纸不搬。