用途
create-glyph 用于在 viz/ 可视化层中为技能(skill)、智能体(agent)或团队(team)创建基于 R 的象形图标(pictogram glyph)。每个图标是一个纯 ggplot2 函数,在 100x100 画布上绘制可识别的形状,并渲染为带霓虹发光效果的透明背景 WebP。
适用时机:
- 新增了技能、智能体或团队,需要视觉图标
- 现有图标需要替换或重新设计
- 为新领域的技能批量创建图标
- 为实体概念制作视觉隐喻原型
主要能力
- 设计视觉隐喻:读取实体源文件理解核心概念,选择字面物体、抽象符号或复合形状作为隐喻。
- 编写图标函数:遵循固定签名
glyph_<name>(cx, cy, s, col, bright),返回 ggplot2 图层列表。 - 使用几何图元:geom_polygon、geom_path、geom_segment、geom_rect、ggforce::geom_circle。
- 颜色策略:填充使用 col 加透明度,描边使用 bright,通过 hex_with_alpha() 控制透明度。
- 注册映射:在 glyphs.R、agent_glyphs.R 或 team_glyphs.R 中添加实体到图标的映射。
- 清单登记:在 icon-manifest.json、agent-icon-manifest.json 或 team-icon-manifest.json 中添加条目。
- 渲染图标:通过 build.sh 运行完整管线,输出 WebP 文件。
- 验证与迭代:检查文件大小、形状可读性、发光效果、透明背景,并按需调整。
使用方式
输入
- 必需:实体类型(skill、agent 或 team)
- 必需:实体 ID 和领域(技能需要领域)
- 必需:视觉概念
- 可选:参考图标
- 可选:自定义 --glow-sigma 值(默认 4)
流程
- 概念:设计视觉隐喻,读取实体源文件,选择隐喻类型,参考现有图标校准复杂度。
- 组合:编写图标函数,应用缩放因子,构建几何图形,应用颜色策略,返回图层列表。
- 注册:在对应的 glyph 映射文件中添加实体到图标的映射。
- 清单:在对应的 manifest 文件中添加图标条目。
- 渲染:运行
bash viz/build.sh生成图标。 - 验证:检查输出文件大小、形状可读性、发光效果和透明背景。
- 迭代:按需调整并重新渲染。
渲染命令
# 技能
bash viz/build.sh --only <domain> --skip-existing
# 智能体
bash viz/build.sh --type agent --only <id> --skip-existing
# 团队
bash viz/build.sh --type team --only <id> --skip-existing
# 试运行
bash viz/build.sh --only <domain> --dry-run
输出位置
- 技能:viz/public/icons/<palette>/<domain>/<skill-id>.webp
- 智能体:viz/public/icons/<palette>/agents/<agent-id>.webp
- 团队:viz/public/icons/<palette>/teams/<team-id>.webp
适用场景
- 为新增技能、智能体或团队创建图标
- 替换或重新设计现有图标
- 为新领域批量创建图标
- 为实体概念制作视觉隐喻原型
限制
- 图标函数必须遵循固定签名,返回 ggplot2 图层列表。
- 所有尺寸必须乘以缩放因子 s。
- 画布原点 (0,0) 在左下角。
- 渲染器已对每个图层应用发光效果,图标函数内不应再添加发光。
- 图层数量建议 2-6 层,超过 8 层会导致渲染缓慢且视觉杂乱。
- 实体 ID 在映射、清单和注册表中必须完全一致。
- 清单为严格 JSON,不能有尾随逗号。
- 领域颜色必须在 palettes.R 中定义,否则渲染会报错。
- 技能图标放在按领域分组的 primitives*.R 中,智能体放在 agent_primitives.R 中,团队放在 team_primitives.R 中。
- 渲染依赖 R 包:ggplot2、ggforce、ggfx、ragg、magick。
- 文件大小典型范围 15-80 KB。
- 图标需在 1024px 和约 40px 显示尺寸下均可清晰识别。
- 背景必须透明。
相关技能
- enhance-glyph:改进现有图标的视觉质量、修复渲染问题或添加细节图层
- audit-icon-pipeline:检测缺失的图标和图标,了解需要创建的内容
- render-icon-pipeline:端到端运行完整渲染管线
- ornament-style-mono:互补的基于 AI 的图像生成
- ornament-style-color:适用于图标强调填充决策的色彩理论
- create-skill:添加新技能时触发图标创建的父工作流