跳到正文

ADR-0070:固定语义页面图层 ​

日期:2026-10-22。状态:已接受。

背景 ​

PageTemplate 已支持页面背景/前景,但 XML 和语义编辑入口没有对应模型。把模板内容提前绘成图片会丢失文字来源、字体策略、最终页码和编辑能力,也无法准确说明转换损失。

决定 ​

模型增加 PageOverlay,使用纸张绝对坐标、固定宽度及 gap 为零的 PageRegion 内容。PageRegions 持有不可变背景/前景列表,合计最多 64 框;框必须完整位于每个使用它的节内。内容复用既有段落/表格、图片和最终字段。背景和前景不预留正文,按原 PageComposer 顺序绘制,后端不重新布局。

XML 使用静态 background/foreground 容器和 box 几何。每个根/节至多一份同层声明,未声明继承根、声明整层替换、空容器清空。绑定、ID、共享源和预算覆盖全部内容;组件桥在所有首页/奇偶模板中传递同一组图层。主题为每层保存独立文字几何和外观声明意图,局部显式值优先。

语义编辑保留位置和绘制顺序,按层缓存相等源。Web 输出显式降为普通流,报告位置、重复和重叠损失;DOCX 当前没有固定图层映射,直接写入失败,统一转换只有明确 DISCARD 才能移除内容。没有保留通道时不能接受 PRESERVE。

备选与影响 ​

不引入字体或后端类型到模型,不在模板模块创建组件,不把前景混入正文流,也不通过缩放/裁切完成固定框。共享源只计一次来源,放置与实际输出仍逐次计费。旧 PageRegions 短构造器保持源码兼容,record 分量变化需要重新编译。

本项不支持任意画布、透明度、旋转、矢量形状或图层专属选择器。一般 Word 图层和浏览器分页语义仍需独立设计。

验证 ​

检查声明意图、共享绑定/编辑、全局 ID、越界/溢出/缺失数据、显示页码、绘制顺序及损失策略。独立 PDF 坐标、实际字体、遮挡像素、SVG、PNG、OOXML、新隔离调用方及全部新页双渲染见阶段六十二。