用途
App Icon Gen 用于创建、修复、转换、打包和验证面向各平台的应用图标。它支持从用户提供的简报、参考图、品牌标识、SVG/logo/文字资产等来源出发,生成可复用的跨平台图标源资产。
主要能力
- 从 JSON 规格进行语义化分层创作,图层按从底到顶的视觉顺序组织。
- 生成通用 SVG/PNG 资产:带圆角的预览资产(.preview.svg、.preview.png)和不带圆角的应用/源画布(.svg、.png)。
- 保留源证据文件(<delivery-name>.origin.png 或 .origin.svg),未选中的候选放到 tmp/work/。
- 提供验证机制,可对比参考图(side-by-side、overlay、diff 等证据),并给出 style-report.json。
- 可选 Apple 适配器:在请求 Apple 目标平台且本地 macOS 存在 Icon Composer 的 ictool 时,生成 .icon 包与 apple/ 下的渲染图(iOS、macOS 的 Default、Dark、TintedLight、TintedDark、ClearLight、ClearDark,watchOS 的 Default)。
使用方式
命令需在技能目录下运行,或为 scripts/ 使用绝对 --prefix:
npm --prefix scripts ci
delivery="/absolute/path/to/my-icon"
mkdir -p "$delivery/tmp/work"
npm --prefix scripts run author-icon -- \
--spec "$delivery/tmp/work/spec.json" \
--out "$delivery"
npm --prefix scripts run verify -- --out "$delivery"
带参考图时:
npm --prefix scripts run verify -- \
--out "$delivery" \
--reference "/absolute/path/to/reference.png"
脚本输入输出使用绝对路径。生成前需将当前规格写入 <delivery>/tmp/work/spec.json,所有中间产物放在 <delivery>/tmp/work/ 下。
适用场景
- 为 iOS、iPadOS、macOS、watchOS 等 Apple 平台准备图标源资产,并按需打包 .icon。
- 从已有品牌标识、SVG 或文字资产转换生成图标。
- 无现成素材时生成概念图标并按语义化方式直接创作。
- 对照参考图修复和校验已有图标包。
限制
- 不验证应用集成或平台最终渲染,导出仅限 PNG 文件本身。
- 原生 Android、Windows、Web、tvOS、visionOS 包需要各自的专用适配器,否则不生成也不声称。
- Apple 适配器依赖 macOS 本地可用的 Icon Composer ictool。
- author-icon 不会覆盖非其所有的非空目录,仅刷新已验证的生成文件清单内的文件。
- 不会为仅预览用的边框、光晕、阴影、斜面、高光或遮罩作为源素材导入。
- 完成范围不自动扩展到 Icon Composer 导入、应用集成、发布或平台最终渲染,除非用户明确要求。