# 从创意到金属印刷：晶晶晶生产流水线

> 本文把 [Discussion #34](https://github.com/41490/ipi/discussions/34) 中已经验证的经验，提升为一条可复用、可检验、可与印刷厂共同校准的生产流程。图谱采用浅色 Archify 产物；[打开浅色交互式流程图](./metal-printing-workflow.html?theme=light)。

## 1. 对当前经验的分析

### 已经形成的能力

- `PNG → SVG` 已经从“能不能转”进入“输出是否适合继续生产”的阶段。
- `PACKAGING_EDIT_V1` 已有跨 TEST02–04 的经验基础：`SVG / Adobe* / Filled shapes / Cut-outs / Group by Parent / Simple Shapes ON / Line fit Medium / Gap filler OFF`。
- 用路径数、开放路径、锚点数、复合路径和 Illustrator 2021 实际打开结果做了可复验记录；Adobe* 相比 SVG 1.1 的锚点明显更少，且开放路径为 0。
- 已识别出设计语义与几何结构不是同一件事：`Color` 适合颜色归并，`Layer` 不等于设计图层，`Parent` 更接近包含关系，`None` 更适合程序后处理的原始输入。
- 已经发现不能把所有内容都交给同一种矢量化：文字应重建，连续暗纹应走素材库，复杂牦牛线描更适合作为整体模块，几何边框应规则化。

### 关键转折与尚未闭合的环节

原先的目标是“找到一套最好的整图矢量化参数”，现在更准确的目标是：

> 把一次性效果图变成一组可组合、可替换、可追踪、能通过印前与工艺检验的图元资产。

当前仍有四个生产缺口：

1. **输入缺口**：没有在生成前锁定版型、基材、白墨/底涂、色序、专色数量、最小线宽和厂端容差。
2. **语义缺口**：Vectorizer 能恢复 Shape，却不能可靠判断“这是一个标题、一个牦牛图腾还是一个工艺层”。
3. **制造缺口**：SVG/AI 可编辑并不等于可制版；套准、陷印、反白、白墨、金属底色、烘干和后续成型会改变验收标准。
4. **闭环缺口**：要把印刷厂的合同样、偏色、套准和成型反馈记录回设计令牌与资产库，不能只在最后一次人工修图。

## 2. 当前已探明的生产流水线

```mermaid
%%{init: {"theme": "base", "themeVariables": {"background": "#ffffff", "primaryColor": "#eef6ff", "primaryTextColor": "#152238", "primaryBorderColor": "#3b82f6", "lineColor": "#64748b", "secondaryColor": "#f8fafc", "tertiaryColor": "#fff7ed"}}}%%
flowchart LR
    A["AI 包装效果图<br/>PNG"] --> B["Vectorizer.AI<br/>手动设参"]
    B --> C["SVG / Adobe*<br/>Cut-outs + Parent"]
    C --> D["Illustrator 2021<br/>打开验证"]
    D --> E{"设计语义是否可编辑？"}
    E -->|是| F["继续整理<br/>分层与排版"]
    E -->|否| G["人工拆分 / 重建<br/>文字、颜色、对象"]
    G --> F
    F --> H["进入制版前<br/>但仍需工艺确认"]

    subgraph V["已验证的参数经验"]
      V1["Adobe*：锚点更少"]
      V2["Cut-outs：路径更干净"]
      V3["Parent：包含结构较合理"]
      V4["Medium：日常默认"]
    end
    B -.-> V
```

这条流水线解决了“整张图能否变成 SVG”，但没有把每一个对象的生产责任、印前闸门和印刷厂反馈显式化；因此它应被视为**当前状态图**，而不是最终 SOP。

## 3. 建议优化后的完备流程图

下面的主线严格保持：

`创意 → LLM 图元生成 → 组合 → 创意确立 → 图元分别并行矢量化 → 矢量优化 → Illustrator 人工少量修订 → 人工/自动化合成检验 → 交付`

其中“创意确立”不是一次审批，而是确认一组固定设计令牌、图元清单和制造约束；“交付”之后仍保留厂端反馈，但不把未经确认的反馈偷偷改入已锁版文件。

```mermaid
%%{init: {"theme": "base", "themeVariables": {"background": "#ffffff", "primaryColor": "#eff6ff", "primaryTextColor": "#172033", "primaryBorderColor": "#2563eb", "lineColor": "#475569", "secondaryColor": "#f0fdf4", "tertiaryColor": "#fff7ed", "fontFamily": "Inter, Noto Sans SC, sans-serif"}}}%%
flowchart LR
    I["业务创意<br/>产品、受众、系列"] --> C["制造约束简报<br/>版型 / 基材 / 尺寸 / 工艺"]
    C --> P["LLM 图元生成<br/>分层提示词 + 设计令牌"]
    P --> A["图元包与命名清单<br/>主体、文字、边框、暗纹、花卉"]
    A --> D{"创意确立闸门<br/>语义、版式、工艺可行"}
    D -->|退回补充| P
    D -->|通过| S["固定版式骨架<br/>安全区、出血、条码区、工艺层"]
    S --> R{"按图元类型分流"}

    R -->|原创主体 / 图腾| V1["分别矢量化<br/>Vectorizer PACKAGING_EDIT_V1"]
    R -->|文字| V2["OCR + 字体确认<br/>重新输入与排版"]
    R -->|暗纹 / 祥云 / 回纹| V3["素材库 / Pattern<br/>参数化重复"]
    R -->|规则边框 / 几何| V4["规则几何重建<br/>避免噪声路径"]
    R -->|复杂线描主视觉| V5["整体矢量模块<br/>不追求逐路径编辑"]

    V1 --> O["矢量优化<br/>闭合、去冗余、锚点、分组"]
    V2 --> O
    V3 --> O
    V4 --> O
    V5 --> O
    O --> K["颜色与工艺映射<br/>专色、白墨、金属底色、罩光"]
    K --> M["Illustrator 人工少量修订<br/>语义层、文字、几何、对齐"]
    M --> X["人工 / 自动化合成<br/>版面、出血、套准、工艺层"]
    X --> Q["合成检验闸门<br/>尺寸、分色、陷印、overprint、最小线"]
    Q -->|失败：局部返工| M
    Q -->|通过| W["合同样 / 基材打样<br/>与印刷厂共同校对"]
    W -->|偏差：记录原因| T["厂端反馈与版本库<br/>色样、套准、白墨、成型"]
    T -.-> C
    W --> Y["交付生产包<br/>锁版、版本、制版资料、校样"]
    Y --> Z["CTP / 制版 / 金属印刷<br/>白墨或底涂 → 色序 → 烘干 → 罩光"]

    subgraph H["全程技术辅助"]
      H1["资产登记：原图、提示词、模型、参数"]
      H2["自动检查：SVG 结构、颜色、路径、字体"]
      H3["证据留存：指标、校样、批准人、SHA-256"]
      H4["变体矩阵：固定部分 + 可替换图元"]
    end
    H1 -.-> P
    H2 -.-> Q
    H3 -.-> Y
    H4 -.-> D
```

### 主线各阶段的输入、输出与责任

| 阶段 | 核心动作 | 必须产出 | 主要责任 |
|---|---|---|---|
| 创意与约束 | 把产品、版型、基材和工艺限制写成简报 | `brief.md`、版型模板、设计令牌 | 业务 + 设计 + 印刷厂接口人 |
| LLM 图元生成 | 不再只生成一张效果图；要求透明背景、单对象、明确颜色和命名 | 原子图元 PNG/SVG、提示词与模型记录 | LLM 操作者 |
| 图元清单与创意确立 | 按“保留/重建/替换/整体模块”分类，确定固定部分和变体空间 | 图元 manifest、组合草案、审批记录 | 设计负责人 |
| 版式骨架 | 先锁安全区、出血、裁切/成型边界、条码区和工艺层 | 1:1 dieline、版面骨架 | 包装设计 + 厂端 |
| 分别并行矢量化 | 每个图元选择自己的转换器、参数和验收指标 | 可编辑 SVG/AI 图元包 | 自动任务 + 图元负责人 |
| 矢量优化 | 清理路径、闭合、分组、颜色归并，并映射为印刷专色/白墨层 | clean SVG/AI、色板、层级说明 | 自动化 + 印前 |
| Illustrator 少量修订 | 只修语义与几何例外，不重新手工描完整张图 | 版本化主文件 | Illustrator 操作者 |
| 合成检验 | 人工看语义与外观，自动检查结构与可制造性 | 预检报告、分色预览、批准/失败原因 | 印前 |
| 基材打样/厂端校对 | 在实际或等效金属基材上确认白墨、金属显色、罩光、套准和成型影响 | 合同样、色样、反馈记录 | 设计 + 印刷厂 |
| 交付 | 交付可复现的锁版包；任何变更产生新版本 | AI/PDF、链接资产、色板、字体/轮廓策略、预检报告、校样、版本清单 | 项目负责人 |

## 4. 金属印刷工艺的科学完成方式

### 4.1 先把“工艺事实”固定下来

在任何 LLM 生成之前，至少应向印刷厂确认：

- 金属基材类型（马口铁、铝、涂层钢等）、厚度、表面底涂/白底和是否需要保留金属质感。
- 容器是先印铁再成型，还是直接在已成型容器上装饰；圆柱、肩部、缩颈和成型方向会改变条码、文字和套准要求。
- 印刷方法、可用色组/专色数量、白墨是否占用一个色组、罩光/哑光/纹理涂层与烘干条件。
- 最小正线、最小反白、最小字号、陷印宽度、套准容差、色差容忍度和食品/迁移合规要求。数值必须以厂商工艺卡为准，不能把单一供应商的数字当成通用标准。
- 1:1 打样的介质、批准人、批准时点、改版费用和“合同样优先于屏幕颜色”的规则。

### 4.2 让 LLM 输出“图元”，而不是只输出效果图

每个图元要有稳定 ID 与元数据，例如：

```text
asset_id: yak-main-v03
role: original-motif
source: llm
background: transparent
allowed_colors: black, metallic-gold, white
vector_route: vectorizer/packaging-edit-v1
edit_policy: module-level
print_layer: spot-black + spot-gold
```

建议把以下内容作为生成约束：不生成伪文字；主体与装饰分离；单一图元内部避免无意义交叠；颜色控制在设计令牌范围内；需要保留金属效果的区域明确标成“透底/透明色”而不是凭视觉猜金色。

### 4.3 颜色、白墨和金属效果必须独立建模

在金属底材上，“屏幕上的白色”和“印刷后的白墨层”不是一回事。要明确：

1. 白底全覆盖：隔离金属底色，让后续颜色更饱和。
2. 白底局部覆盖：让部分区域保持金属反光，同时让关键颜色稳定。
3. 透明色/透底：主动利用金属反射，但要在基材样上批准。
4. 白色图形：作为独立白墨专色，而不是交给 CMYK 模拟。
5. 罩光/哑光/纹理：作为独立工艺层，不能只用 RGB 阴影表现。

颜色归并要保留两个视图：**设计颜色视图**（便于创意修改）与**生产分色视图**（便于色组、白墨、罩光和制版）。二者不能靠“同名颜色”假设自动等价。

### 4.4 把自动化放在重复检查，把人放在语义决策

- 自动化适合：SVG XML 解析、开放路径统计、锚点/路径数、重复色合并、字体缺失、颜色命名、出血与尺寸、分色层存在性、文件哈希、版本差异。
- 人工必须确认：图元语义、品牌字形、视觉层级、金属效果、白墨策略、成型后可读性、合同样与厂端反馈。
- 复杂动物/毛发线描不应以“逐路径都可修改”为唯一目标；应同时提供“整体调用版”和“可拆分编辑版”，由成本与风险决定。

## 5. 闸门与失败处理

每个闸门都要留下“事实—判断—动作”：

| 闸门 | 失败例子 | 处理方式 |
|---|---|---|
| 创意确立 | 图元语义不清、文字是伪文字、版型放不下 | 回到图元生成/清单，不在 Illustrator 里盲修 |
| 图元验收 | 开放路径、噪声过多、颜色超预算 | 更换图元路线或参数；保留失败指标 |
| 矢量优化 | 分组错误、专色无法映射、透明叠印不明 | 先拆设计语义，再做生产色板 |
| 合成预检 | 尺寸/出血/最小线/陷印/overprint 不通过 | 只回退到责任明确的局部资产 |
| 基材打样 | 白墨遮盖不对、金属显色偏差、套准/成型后不可读 | 记录工艺原因，生成新版本，不覆盖合同样 |
| 交付 | 版本、字体、链接资产或分色层不完整 | 锁定交付清单；未通过不得发厂 |

## 6. Archify 本地安装与产物

本次使用 Archify 的本地工作副本 `/tmp/archify/archify`，已执行 `npm install` 与 `node bin/archify.mjs doctor`；同时按官方方式安装为本地 Agent Skill。系统级 `apt` 因当前用户无 root 权限无法写入包锁，因此使用用户目录中的 Playwright 运行时安装无头 Chromium：

```bash
npx -y skills add tt-a1i/archify --skill archify --agent cursor --global --copy --yes
npm install --no-save playwright
npx --yes playwright install chromium
```

生成与校验：

```bash
node /tmp/archify/archify/bin/archify.mjs validate workflow \
  docs/mappings/metal-printing-workflow.json --quality showcase --json

node /tmp/archify/archify/bin/archify.mjs deliver workflow \
  docs/mappings/metal-printing-workflow.json \
  docs/mappings/metal-printing-workflow.html --quality showcase --json

ARCHIFY_CHROME="$HOME/.cache/ms-playwright/chromium-1234/chrome-linux64/chrome" \
  node /tmp/archify/archify/bin/archify.mjs visual-check \
  docs/mappings/metal-printing-workflow.html --json
```

结果：`9/9` artifact checks、`0` composition errors、`0` warnings；四档桌面尺寸（1440×900、1600×1000、1920×1080、2048×1320）在浅色模式均无横向/纵向溢出，浅色/深色截图均成功生成。随后用同一无头 Chromium 通过 Playwright 对四档尺寸和两种主题再次读取 `scrollWidth`/`scrollHeight`，结果全部 containment pass；实际截图检查未见裁切或文字越界。Archify receipt 仍按工具契约标记 `visualReview: "pending"`，该字段不代表失败，而是保留人工感知复核状态。

## 7. DuckDuckGo 检索与资料核验记录

以下链接来自 DuckDuckGo 网页检索结果，检索重点是金属包装、白墨/底涂、金属印刷、印前与颜色控制。链接下方的结论只采用页面能够直接支持的部分；供应商页面的数值、设备和工艺能力仍需向实际承印厂复核。

检索词：`metal packaging printing process white ink underprint prepress`

- [BaxerPack — Guide to White Ink Printing & Under-printing](https://baxerpack.com/white-under-printing/)：区分白色底印与白色图形层，以及白底对深色/金属基材显色的影响。
- [Mindsprt — White-ink / die-cut prepress](https://mindsprt.dev/en/knowledge/white-ink-diecut-prepress)：检索结果中的透明/白墨与刀模印前辅助资料。
- [Delight Advertising — White Ink on Clear & Metallic](https://www.delightad.com/white-ink-on-clear-metallic-build-it-right-proof-it-once)：透明与金属材料上白墨、底印与打样风险的检索资料。
- [Sincere Packaging — White Ink Packaging Printing](https://www.sincerepkg.com/guides/white-ink-packaging-printing)：白墨控制与包装印刷层次的检索资料。
- [Consolidated Label — White Underprinting](https://consolidatedlabel.com/label-articles/white-underprinting/)：白色底印概念与应用场景的检索资料。
- [P&M — Flexible Packaging White Ink / Color Guide](https://pmpackaging-usa.com/knowledge-center/flexible-packaging-printing-white-ink-color-guide/)：白墨与颜色表现的检索资料；柔印/软包装经验不可直接替代金属印铁工艺卡。
- [TINSPKG — How To Print On Metal Packaging](https://tinspkg.com/blog/how-to-print-on-metal-packaging/)：介绍金属罐胶印、CTP、白底、色序、烘干、罩光，以及成型要求对油墨附着和机械性能的影响。
- [Sun Chemical — Metal Packaging Solutions](https://www.sunchemical.com/packaging_metal/)：金属包装油墨/涂层、二片/三片罐、颜色管理和金属基材数字打样方向。
- [Shining Packaging — Aluminum Bottle & Aerosol Can Design Guide](https://www.cnshining.com/technical-guide-aluminum-bottle-can-printing-design.html)：铝瓶/气雾罐的 1:1 打样、版本号、专色、白底、最小线和成型后条码位置等厂商设计约束示例。
- [Yowillbest — White Ink Printing Guide](https://yowillbest.com/en/blog/06-white-ink-printing-guide)：白墨底印、遮盖力和表面效果的检索资料。

### 任务与工具原始资料

这些链接是任务直接提供或项目操作所需的原始资料，单独列出以避免把 GitHub 项目说明误标为 DuckDuckGo 行业检索结果：

- [ipi Discussion #34](https://github.com/41490/ipi/discussions/34)：晶晶晶的参数实验、跨包装复验和元素分流经验。
- [Archify 项目](https://github.com/tt-a1i/archify)：本地安装、JSON IR、校验、交付和浅色查看器。
- [Vectorizer.AI](https://vectorizer.ai/)：Discussion 中使用的网页矢量化工具。

## 8. 下一轮最值得做的实验

1. 选同一套金属基材，做“无白底 / 全白底 / 局部白底 / 透底色”四联样，记录 Lab/色差、金属观感和罩光后的变化。
2. 以同一图元比较“整图矢量化”和“原子图元生成后分别矢量化”，记录返工分钟数、对象可编辑率、分色数量和预检失败数。
3. 把 `PACKAGING_EDIT_V1` 之外的参数固化为机器可读 manifest，并自动输出开放路径、锚点、颜色、字体、尺寸和版本差异报告。
4. 与印刷厂共同确定一份工艺卡：最小正线/反白、陷印、套准、白墨、专色数量、罩光、成型方向和合同样规则；工艺卡版本必须进入交付包。
