词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
| 来源 | 内置(默认安装) |
| 路径 | skills/creative/pretext |
| 版本 | 1.0.0 |
| 作者 | Hermes Agent |
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | creative-coding, typography, pretext, ascii-art, canvas, generative, text-layout, kinetic-typography |
| 相关 skill | p5js, claude-design, excalidraw, architecture-diagram |
@chenglou/pretext 是由 Cheng Lou(React 核心团队、ReasonML、Midjourney)开发的 15KB 零依赖 TypeScript 库,用于无 DOM 多行文本测量与布局。它只做一件事:给定 (text, font, width),返回换行位置、每行宽度、每个字形(grapheme)的坐标以及总高度 —— 全部通过 canvas 测量完成,无需触发重排(reflow)。getBoundingClientRect 的情况下打包紧凑的多行 UI。pretext.cool 和 chenglou.me/pretext。ascii-art / ascii-video skill)p5jshello-orb-flow.html 模板只是起点。每个交付的演示都必须加入有意为之的色彩、动效、构图,以及一个用户没有要求但会欣赏的视觉细节。lorem ipsum。| 层级 | 工具 | 用途 |
|---|---|---|
| 核心 | @chenglou/pretext(通过 esm.sh CDN) | 文本测量 + 行布局 |
| 渲染 | HTML5 Canvas 2D | 字形渲染、逐帧合成 |
| 分割 | Intl.Segmenter(内置) | emoji / CJK / 组合字符的字形拆分 |
| 交互 | 原生 DOM 事件 | 鼠标 / 触摸 / 滚轮 —— 无框架 |
@0.0.6 —— 如演示行为异常,请在 npm 查看最新版本。font 和 letterSpacing 与 CSS 完全同步。 canvas 的 ctx.font 格式(如 "16px Inter"、"500 17px 'JetBrains Mono'")必须与渲染 CSS 一致,否则测量结果会产生偏差。measureLineStats(prepared, maxWidth) → { lineCount, maxLineWidth } —— 最宽的行,即多行紧缩包裹宽度。walkLineRanges(prepared, maxWidth, callback) —— 无字符串分配地遍历各行。在不需要字符内容时用于统计/物理计算。@chenglou/pretext/rich-inline —— 同一系统,但支持混合字体 / 标签 / 提及的段落。从子路径导入。