返回顶部
p

pretext-layout预文本布局

Integrate, debug, or prototype @chenglou/pretext for browser-based multiline text measurement and manual line layout. Use when replacing DOM height probes, building text-aware virtualization or custom canvas/SVG flows, wiring width plus line-height measurement into frontend code, or diagnosing accuracy issues involving fonts, white-space, emoji, bidi text, and browser-only runtime constraints.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
129
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

pretext-layout

Pretext 布局

概述

使用 Pretext 在浏览器环境中测量多行文本,无需在热路径中重复支付 DOM 回流成本。当文本宽度频繁变化且需要从缓存测量中获取稳定高度或逐行几何信息时,优先选择此方案。

工作流程

  1. 1. 首先确认运行时环境。
- 将 Pretext 视为浏览器优先工具。 - 如果任务纯粹是 Node 或 CLI 环境,没有 OffscreenCanvas 和 document,则不要承诺直接运行时支持。
  1. 2. 根据需求匹配 API。
- 使用 prepare() 加 layout() 进行高度和行数测量。 - 使用 prepareWithSegments() 加 layoutWithLines()、walkLineRanges() 或 layoutNextLine() 进行自定义渲染。
  1. 3. 使布局输入与实际样式同步。
- 从目标元素或设计标记源读取 font 和 line-height。 - 涉及网络字体时,等待 document.fonts.ready 后再信任测量结果。
  1. 4. 积极使用缓存。
- 对每组 (text, font, whiteSpace, locale) 输入只准备一次。 - 在宽度变化时复用已准备的处理句柄。
  1. 5. 当精度重要时,对照实际 UI 进行验证。
- 将几个代表性字符串与实时 DOM 高度进行比较。 - 如果功能依赖多语言、表情符号和窄宽度情况,请包含这些测试用例。

决策指南

  • - 当用户需要块高度、调整大小性能、虚拟化、滚动锚定或在渲染前预测量文本时,使用 prepare() 加 layout()。
  • 当用户需要自定义行绘制、画布文本、SVG 文本、收缩包裹宽度发现或可变行宽时,使用 prepareWithSegments() 加丰富的行 API。
  • 当任务依赖于 Pretext 不打算完全覆盖的 CSS 行为时,改用常规 DOM 测量。

核心规则

  • - 除非目标环境实际提供兼容的画布上下文,否则不要声称支持服务器端。
  • 保持 font 和 lineHeight 与实际 UI 一致;测量误差通常来自输入不匹配,而非布局调用本身。
  • 在 macOS 上对精度敏感流程避免使用 system-ui;优先使用命名字体。
  • 将 prepare() 视为昂贵步骤,将 layout() 视为热路径。
  • 处理类似文本区域的内容时,显式传递 { whiteSpace: pre-wrap }。

实现检查清单

  • - 确定确切的文本源、目标宽度源、字体源和行高源。
  • 决定功能是只需要高度还是也需要逐行数据。
  • 缓存已准备的处理句柄,而不是在每次调整大小时调用 prepare()。
  • 添加一个小的验证路径,将 Pretext 输出与实时 DOM 的代表性样本进行比较。
  • 在集成点附近记录任何不支持的 CSS 或运行时假设。

脚本

  • - 当需要连接到 @chenglou/pretext 的最小浏览器启动器时,运行 scripts/scaffoldbrowserdemo.py --out
  • 将脚手架作为一次性起点使用;生成后根据实际项目调整 font、line-height、空白模式和 UI 标记。

参考资料

  • - 阅读 references/browser-integration.md 了解常见浏览器设置模式和可复用的测量循环。
  • 在简单 API 和丰富 API 之间选择时,阅读 references/usage-patterns.md。
  • 在回答关于精度、字体、空白、表情符号、双向文本行为或非浏览器运行时的问题前,阅读 references/caveats.md。
  • 阅读 references/project-examples.md 获取可移植的集成模式,适用于任何基于浏览器的应用或 AI CLI 工作空间。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 pretext-layout-1775940134 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 pretext-layout-1775940134 技能

通过命令行安装

skillhub install pretext-layout-1775940134

下载

⬇ 下载 pretext-layout v1.0.0(免费)

文件大小: 6.61 KB | 发布时间: 2026-4-12 11:04

v1.0.0 最新 2026-4-12 11:04
- Initial release of pretext-layout (v1.0.0).
- Provides integration, prototyping, and debugging guidance for @chenglou/pretext in browser-based multiline text measurement and layout.
- Includes workflow steps, decision guide, and core implementation rules for accurate text measurement and layout caching.
- Offers a scaffolding script for minimal browser demos and references for key integration patterns, usage, and caveats.
- Clarifies runtime, caching, and environment requirements, with emphasis on browser support.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部