印谱
shuimo-core 的 stamp-v2 印章 gallery。三十二枚按 v2 重刻一文的脉络分作六区:读排、读阴阳、读形、读多边、读环、读磨损。每枚下方一行小字注明该枚与同区兄弟枚的差异维度。
← 回拙作
视口内才渲染,所以滚动时请稍候片刻 SVG 才会落下来;同样的配置二次进入视口直接走缓存。
一 · 文字布局
v2 的文字排版完全由 text 字符串本身决定:逗号切列,一列内的字数即该列行数,列顺序按传统篆刻规约从右往左读。下面五枚展示最常见的几种行 × 列组合,shape: 'auto' 让外框自动按字数比例推方/长。
二 · 阴阳两面
阳章(白底红字)是 v1 时代的默认;阴章(红底白字)在 v2 里成了一阶 API。两层 yin 渲染让磨损的边框依然能正确 clipPath——朱砂只在文字处留白,不漏边框之外。
三 · 形状六法
SealShape 是个 discriminated union,kind 字段切换形状:auto(按字数推断方/长)、square、rect、circle、ellipse。rect 与 ellipse 还接 aspect 参数自定义长宽比——v1 时代的 1:0.6 固定比例从此放开。
四 · 多边形墙
shape: { kind: 'polygon', sides: 3..12 } 是 v2 才有的能力。orientation 区分平顶(蜂窝六边形)与尖顶(雪花六边形)。
注:博客文章里不会用多边形印章——传统篆刻没有这些造型,跟水墨审美冲突。此节纯为展示
shuimo-core的 v2 形状能力,不入选博文配印。
五 · 环排官印
layout.direction = 'circular' 是 v2 新加的环排布局——文字沿圆周绕一圈,是国之玺印 / 官印的标准排法。竖排(v1 / v2 默认)适合 2-8 字方寸印;环排适合稍长字数 + 圆形/椭圆边框。
这一节走的不是 theme 的
<ShuimoStamp>wrapper,而是StampCard直接调generateSealAsync——因为 wrapper 没暴露layout.direction。Gallery 这页的存在意义之一就是把这种"被 wrapper 藏起来的能力"亮出来。
六 · 边框磨损
border.erosion.roughness 一个参数同时控制两层磨损:第一层是边框顶点沿法线向内的 Simplex 噪声扰动(连续波纹),第二层是若干个伪随机三角的布尔减法(突变缺口)。roughness 越大波纹越深、缺口越多。
后记 · 一墙不撞印
三十二枚印章同页渲染,没有一对的 SVG <filter> ID 串号——靠的是 v2 在 (seed, text, shape, mode, size) 上的 idPrefix 哈希命名空间,与本页 StampCard 注入前对 filter ID 再加一层 per-instance UID 后缀。两层兜底,比 v1 的"两枚印章可能撞 ID 把彼此染成同色"踏实得多。
延伸阅读:《印之又印:stamp-v2 的重刻记》——这一页里所有能力的"为什么"都在那篇文章里。