Logs
把对齐做成流水线
这一天的关键进展,不是某个渲染细节单独修好,而是 openword 开始把对齐问题压进一条可验证、可复现、可持续推进的流水线里。
这一天最重要的变化,不是哪一个渲染细节终于被修掉了,而是 openword 的 WPS 对齐开始显出一条真正能持续推进的收敛路径。到了 4 月 9 日,工作已经不再只是“再多看一点混淆代码”,而是在把逆向得到的理解压进字体度量、样本语料、页数审计、布局 dump 和回归测试里,让之后的每一步都更像验证,而不是猜。
过了零点,openword 还延续着前一段时间的深挖势头,但焦点开始明显转向基础设施。白天前半段,和 WPS 内部布局规则有关的线索继续被往下拆,包括 renderSubLine、zone renderer、auto-color、baseHeight 和 CJK descent 这些内部逻辑;随后注意力很快落到 font server、字体表解析、FontTableMeasurer、viewer 集成和开源字体资产上。这里真正往前推进的,不只是“支持更多字体”,而是把文档字体、字宽、行高这些过去容易含混带过的环节,变成可以被精确比对和持续复用的度量链路。
到了白天后半段,这条链路开始承受更大规模的验证压力。本地 Codex 会话几乎整天都压在 openword 上,从字体不一致、分页偏差、表格布局、段间距折叠和 snapToGrid 一路往下,样本也从 phase1 扩到 phase2、phase3、phase4,测试数量随之明显增加。同一天里,仓库产物和提交也把这条主线钉得更实:既有 phase1/phase5 语料补充、布局 dump、inspect 截图,也有晚间围绕 SVG border、gradient、connector marker、scaled text、run shading 的收口。这样看,4 月 9 日并不是若干 feature 被线性勾掉的一天,而是 openword 第一次比较像样地拥有了一套“发现偏差、找 WPS 证据、用样本复现、写测试和扩语料、再回头收口”的工作节奏。
这一天当然不只有 openword。codex-suite 里还有 tailnet、移动端连接、底部工具栏体验,以及 Moonlight / Sunshine 输入链路这些问题;lvshe-fe 也有一条和 WPS 粘贴后文本重叠有关的导出兼容性排查。ChatGPT 对话里补出来的,则更多是远程控制、输入方式和 agent 使用边界上的摩擦。这些支线并没有盖过主航道,反而像是在提醒同一件事:一边要把 OpenWord 的对齐能力推向更高强度的验证,一边又得保证自己依赖的连接、交互和文档链路别在关键时候掉链子。
所以如果要给 4 月 9 日下一个判断,它不是“又修掉很多细节”的一天,而是“开始把对齐本身做成流水线”的一天。早上的 font server 和度量修正,下午的分页与表格审计,晚上的语料扩容和边角渲染补齐,表面上看起来分散,其实都在为同一件事服务:让 openword 之后的进展,不再主要依赖一次次灵光一现,而是更多依赖一条越来越密、越来越可验证的收敛路径。