SuperAPI AI 工具集

anatomy

设计与创作

查看项目

更新于 10-17 20:21

技能介绍

Anatomy 是一个用于创建交互式等距机械图形的技能,旨在通过真实的物理装置来解释抽象概念。其核心理念是“物体即解释”:不绘制方框、箭头和标签,而是发明一个真实、制作精良的物理事物,其工作机制直接对应要解释的概念。

用途

Anatomy 用于将抽象想法转化为可交互的等距机械图形。例如,用龙门绘图仪解释共享 GPU 上下文,用弹子锁解释缓存键,用七斗柜解释七个渲染目标,用钉床印章解释可分离模糊,用测试台解释弹簧的按压和倾斜,用轮廓规解释高度剖面,用小型摄影棚解释依赖朝向的光照。

主要能力

  • 输出格式:独立 HTML 页面(SVG 加可选的 WebGL 图层)、单个 .svg 文件或 React/Next.js 组件。
  • 无框架组件库:仅使用 Node 内置模块,无需 npm 安装。
  • 组件库(kit/)提供几何构建工具,如 slabOf、cylinder、extrude、planOutline、topTicks、knurl、coil、radialTicks,以及用于旋转体(kit/lathe.mjs)和管道/线缆(kit/tube.mjs)的模块。
  • 运动与交互:支持基于时间的平滑运动(指数跟随或真实弹簧),空闲时自动巡览,响应指针和键盘,离屏停止,减少运动时静止。
  • 审计与验证:通过 node build.mjs --audit 检查几何正确性(间隙、端子、松散端、折叠、自重叠、拥挤、支撑、晃动、鞍座、深度顺序),通过 node scripts/lines.mjs 检查线条端点,使用截图和 vision_analyze 进行视觉验证。
  • 尺寸分级:Figure(40–80 个零件,约 30–90 分钟)、Hero(80–150 个零件,约 2–4 小时)、Epic(6 小时以上,需用户确认)。

使用方式

在 Hermes 环境中使用:

  1. 设置技能目录:SKILL_DIR="${HERMES_SKILL_DIR}"(每次终端调用都需重复)。
  2. 创建工作区,复制 kit、scripts 和示例:
    WORK="$HOME/figures/pin-lock"
    mkdir -p "$WORK/figures"
    cp -r "$SKILL_DIR/kit" "$SKILL_DIR/scripts" "$WORK/"
    cp -r "$SKILL_DIR/examples/dial-indicator" "$WORK/figures/"
    cd "$WORK/figures/dial-indicator" && node build.mjs && node build.mjs --light
    
  3. 从最接近的示例开始,复制到 $WORK/figures/<name>/ 并重命名。
  4. 构建:node build.mjs(浅色主题加 --light)。
  5. 捕获与验证:使用 scripts/capture.mjs 捕获桌面、手机(390 宽)、悬停和运动瞬间;使用 scripts/drive.mjs 进行序列、分解姿态和 --no-webgl 回退。
  6. 运行审计:node build.mjs --audit 必须输出 audit passed,所有失败行计数为 0。
  7. 运行线条检查:node scripts/lines.mjs page.html --out shots/lines.png,必须输出 line ends: 0。
  8. 4 倍特写检查每个连接处(两种主题),使用 vision_analyze 读取每个 PNG。

适用场景

  • 需要向他人解释复杂技术概念时(如软件架构、算法、物理原理)。
  • 创建教学材料、演示文稿或文档中的交互式图形。
  • 为博客文章或网站制作高质量的解释性插图。

限制

  • 构建图形不需要浏览器,但捕获、驱动、线条端点和 3D 检查需要无头 Chrome(通过 CHROME_PATH 或 Playwright 无头 shell)。
  • 完整 3D 轨道审计耗时较长(30 个零件约 15–20 分钟),建议后台运行。
  • Epic 规模(6 小时以上)不自动开始,需用户确认。
  • 示例仅提供源代码,上游构建页面为 9 MB 生成的 HTML,需自行构建。
  • 该技能目前仅在 Hermes 环境中使用,其他环境暂未提供说明。

示例

  • examples/dial-indicator/:最小的示例,约 300 行,一个支架上的千分表。
  • examples/desk-computer/:无框架 SVG,带键盘的桌面电脑,约 85 个实体和 850 条路径。
  • examples/arcade-cabinet/:立式街机柜(Hero 级),约 240 个实体和 15 条线缆,展示硬币投入、开关脉冲、CRT 启动等。
  • examples/raptor-engine/:测试台上的火箭发动机,使用 lathe.mjs 和 tube.mjs,分解为 11 个组件,WebGL 尾焰效果。
  • examples/ripple-tank/:学校水波槽,两个 WebGL 图层,纯色散和光学模型驱动。
  • examples/test-rig/:真实网站的生产图形(React/Next),玻璃按钮、探针和千分表,53 个实体和约 470 条路径。
  • examples/spot-plate/:点板上六对玻璃滴,使用距离场合并,一个控制驱动多个部件。
  • examples/turning-dial/:可选 3D 模式,组合转盘和机械手,约 90 个活动部件,WebGL LED 和火花。