用途:当有人想要一幅新的 Hairline 图形,或运行 /hairline-create 并给出想法时,绘制一幅等距线描图,用单笔圆角立体构成,回答指针。产物是一个 HTML 文件,无需安装。
主要能力:该技能围绕一个图形工作。引擎(kernel.js)与页面(bench.html)固定不变,不得编辑或改动。图形文件(<name>.js)由使用者编写,调用 HL 提供的能力,定义 mount({ stage, svg, read }, value) 返回 { set, destroy },并以 hairline({ name, means, rules, range, tour, mount }) 结尾。name 为小写单词或连字符;means 为一句话说明,最多 140 字符;rules 列出最依赖的规则编号;range 给出滑块在强度 0、0.5、1 时对应的数值;tour 为 3 到 6 个 viewBox 点或 null。
使用方式:按流程分步执行——来源(若有 .svg 则运行 node read.mjs <file.svg>)、概念(读取 concepts.md 并提供两三个概念供选择)、构建(读取 rules.md、kernel.js 顶部索引、最接近的 examples 示例,编写图形文件,运行 node build.mjs <name>.js 生成 hairline-<name>.html)、检查(运行 node look.mjs 生成八张小图拼版并校验帧、读数与控制台,修复直到退出 0;无浏览器时用 node validate.mjs)、交付(发布或告知文件位置,说明隐喻、规则、巡览与未能验证之处)、调整(只改 <name>.js 并重新运行 look.mjs)。无 Node 时可手动复制 bench.html,将 kernel.js 内容放入 /KERNEL/、图形放入 /FIGURE/。
适用场景:创作 Hairline 风格的等距单笔线描图形,并产出可发布的单页 HTML。
限制:引擎与页面不可修改;不得在图中加入标签、数字或字母,颜色只能用 sil 到 hi 的单笔变化;不得写计时器、requestAnimationFrame 或 CSS 动画,应使用 register(stage, tick) 配弹簧或补间;指针检测应针对静止或目标姿态;不要用十二边盒子,应使用两个圆角环的棱柱;不要编辑 kernel 或 bench 来解决问题。未提供图形数量之外的其他事实。