编辑器质量路线图
A3S Office 仍处于 1.0 之前。当前优先级不是继续增加零散菜单,而是把核心编辑、文件 往返和渲染一致性做深,并为每项能力建立可重复的测试证据。
第一优先级:文档视觉一致性
Document 的目标是同一份 DOCX 在字体可用、页面设置相同的前提下,与 WPS / Word 保持可解释、可测量的页面一致性。重点包括:
- 字体解析、主题字体、替代字体与中西文混排。
- 字号、字距、行高、段前段后、缩进和制表位。
- 纸张、边距、分节、分页规则、孤行控制与自动分页。
- 页眉页脚、页码、首页与奇偶页差异。
- 表格宽度、行高、合并单元格、跨页续排与重复标题行。
- 图片和浮动对象的环绕、锚点、偏移、层级与裁剪。
- 编辑、只读预览和 PDF 导出复用同一排版结果。
验收必须使用真实 OOXML 样本、固定字体清单、固定视口和逐页截图。简单 HTML 内容或 单张页面截图不能证明整体兼容性。
手机端段落间距和段落分页面板现已限制在视口内,并扩展到最大 320 px;数字输入、步进 按钮、复选项和重置操作均提供 44 px 触控区域。确定性手机流程会验证段前间距和“段落 不跨页”语义已经写入文档,同时检查关闭后精确恢复触发按钮焦点、可访问结构、控制台 和页面错误。
手机端开始功能区发生溢出时,左右翻页按钮现在固定占据两侧安全区,翻页后不会因按钮 出现或消失而改变工具栏宽度。项目符号和编号库限制在视口内,清除、重新编号、起始值 输入、步进和提交操作均提供 44 px 触控区域。列表命令关闭弹层后通过 TipTap 恢复逻辑 选区与正文焦点,避免“正文看似聚焦、再次打开却丢失当前列表设置”。确定性手机流程已 覆盖两段功能区翻页、方块项目符号、大写罗马编号、自定义起始值、命令后焦点恢复和 Escape 返回编号库触发按钮。
表格几何已经把排版算法、自动 / 百分比 / 像素首选宽度、左中右对齐、缩进、表级四边
单元格边距和单元格级边距覆盖拆成独立属性。tblLayout、tblW、jc、tblInd、
tblCellMar、tcMar、tblGrid 与 tcW 分别往返,不再把网格列宽误当作整表首选
宽度,也不会在新增或删除表格时把带网格宽度的导入自适应表格误改为固定布局。真实 DOCX
样本和 A3S Test 已验证居中的 62.5% 表格、首个单元格边距覆盖以及编辑 / 预览几何一致。
表格布局功能区的“表格属性”弹窗现在包含表格、行、列和单元格四个页签。它把自动、
百分比或厘米首选宽度、左中右位置和左缩进,与当前行高及规则、跨页断行、重复标题行、
当前列宽、单元格垂直对齐和四边边距统一到一个完整草稿中。确定后只产生一次 TipTap 事务和
一条撤销记录;取消和 Escape 不修改文档,并把焦点还给原触发按钮。用户没有修改的导入尺寸和
部分边距继承会保留原始像素值,不再因弹窗中两位小数的厘米回显发生量化漂移。390 像素宽的
确定性 A3S Test 已覆盖四个页签和触控尺寸、一次改为 72% 左对齐并缩进 0.5 厘米、1.2 厘米
固定行高、禁止跨页断行和重复标题、4 厘米列宽、单元格垂直居中和 0.4 厘米左边距,同时验证
未修改的 8 像素上边距和 16 像素右边距、取消安全、预览一致性以及零控制台和页面错误。
自适应表格的列宽字段仍显示实际渲染宽度,非标准首选宽度显示为“当前宽度”。
Word 图片操作现在通过一个“图片属性”弹窗统一管理厘米宽高、每张图片独立的纵横比锁定、 嵌入 / 四周 / 上下环绕、左中右位置、文字距离和替代文字。完整草稿只提交一次 TipTap 事务和一条独立撤销记录;没有改动的导入像素尺寸不会经过厘米回显重新量化。确定、取消和 Escape 都会保留图片选区,并把焦点还给原功能区按钮。390 像素宽的确定性 A3S Test 同时验证尺寸与比例、环绕和位置、替代文字、触控尺寸、取消安全以及零控制台和页面错误。
表格设计功能区现在把边框颜色和线型作为可复用的“边框笔”,选择颜色或线型不会直接
覆盖所有单元格。用户可以明确应用所有、外侧、内部、上、下、左、右、内部横向或内部
纵向框线,也可以一次清除选区边框。每个单元格的上、右、下、左边框分别进入 TipTap
属性,编辑与预览复用同一份数据;DOCX 导入会把表级外侧和内部边框解析到对应单元格边,
导出后重新打开不会再把混合边框压成统一样式。表格和单元格直接声明的主题色现在会通过
DOCX 主题解析,themeTint、themeShade、themeFillTint 和 themeFillShade
都会转换为确定的 RGB;编辑、预览与重新导出保持相同颜色,不再错误使用 OOXML 中的
旧备用色。DOCX 表格样式现在会从默认或显式样式出发,以有深度限制且可处理循环的
basedOn 链解析基础样式;tblLook 标志或位掩码、横纵带状尺寸、跨列和行网格偏移
共同决定整表、横纵带状、首末行列和四角单元格条件。条件样式中的填充、逐边边框、字体、
文字颜色、粗体、斜体、下划线和删除线会按 Word 优先级进入同一份编辑与预览模型;段落
对齐、方向、缩进、间距与行距规则、分页规则和制表位也复用同一优先级链,表格、单元格、
段落和文字的直接格式仍可覆盖它们。主题派生颜色在导出时物化为稳定 RGB。真实 DOCX
样本的 A3S Test 流程已验证首行、正文带状行、末行及其条件段落排版在编辑和预览中的
效果,以及零控制台和页面错误。支持范围之外的少见条件段落属性、导出后保留语义主题
引用、嵌套表格和复杂合并单元格流仍属于待完善的文件保真范围。
高度超过一整页正文区域、且允许跨页的表格行,现在会按测量得到的段落边界继续分页,不再 作为一个不可拆分的大块溢出页面;续页会复用同一排版路径重复标题行。真实 DOCX 样本使用 一个包含 120 个段落的正文行,稳定生成 3 个物理页面。A3S Test 确定性流程已经验证第 2、 第 3 页的单元格分页断点与重复标题行、键盘访问第 120 条和表格后正文,以及零控制台和页面 错误。合并单元格、嵌套表格等更复杂的跨页组合仍属于后续文件保真范围。
当前 Word 导航窗格已经从文字摘要升级为实时物理页面栅格缩略图,并与 PDF 导出共享 页面裁剪边界。当前页和相邻页优先生成,其余页面按可视窗口进入串行队列;内容变化会 防抖刷新,离屏图片会释放。捕获不依赖整份字体集合或后台标签页可能暂停的动画帧。 页面按钮也已采用带物理滚动占位的有界窗口,并在窗口外稀疏保留当前页和键盘游标页。 真实 120 页 DOCX 的确定性流程已经覆盖挂载上限、Home/End 首尾跳转、选择和焦点保持; 标题树与搜索结果现已复用同一窗口模型,超过 48 条后最多挂载 32 个连续条目,并在窗口 外稀疏保留当前项、选中项和键盘游标项。该真实样本同时提供 120 个标题和 120 个正文 匹配,确定性流程已覆盖首尾键盘访问、第 120 条精确选择、物理占位几何,以及零控制台 和页面错误。修订审阅超过 48 条后也复用该有界窗口,最多挂载 32 个连续条目,并用物理 占位保持完整滚动距离。方向键、PageUp/PageDown、Home 和 End 可以访问整条审阅队列; 接受或拒绝一条修订后,焦点会续接到下一条的同类操作。真实 120 条原生 OOXML 修订的 DOCX 流程已经验证挂载上限、首尾访问、120 到 119 的决策变化、焦点续接、占位几何, 以及零控制台和页面错误。批注审阅超过 48 条后最多挂载 32 张连续卡片,并在窗口外保留 当前批注和含未发送回复的批注;锚点几何通过一次线性扫描收集,连线只为已挂载卡片 绘制,已测量的卡片高度会在离开窗口后复用。方向键、PageUp/PageDown、Home 和 End 可以访问全部批注,键盘跳转会同步文档选区、物理页、批注窗口和焦点;删除批注后, 焦点与选区会续接到相邻的保留批注。真实 120 条原生 OOXML 批注 DOCX 已验证锚点导入、 挂载上限、首尾访问、120 到 119 的删除变化、页面同步,以及零控制台和页面错误。 页面信息也已按增量分页边界派生:尾部编辑会复用稳定物理页面前缀已经解析的首页、默认页 和偶数页页眉页脚、页码、摘要与跳转位置,只重新派生回退边界及其后的页面。真实 120 页 DOCX 流程已经验证编辑最后一页时复用 118 页、仅派生末尾 2 页,同时保持页面导航、焦点、 控制台和页面错误稳定。
核心功能验收
统一交互质量
所有编辑器共用的设计系统必须覆盖菜单、弹窗、颜色选择器、输入控件、滚动条、焦点环、 右键菜单和响应式布局。每个命令都要满足鼠标、键盘和可访问名称的基本要求;手机界面 不能用遮挡正文的悬浮控件代替合理布局。
办公侧边栏现在分别保存桌面持久栏和手机临时抽屉的展开状态。窗口跨入手机断点时, 桌面侧栏会在同一次渲染中退出,不会短暂变成遮挡工作区的模态抽屉,也不会抢走搜索框 等当前焦点;恢复桌面宽度后仍沿用用户原有的桌面折叠偏好。
Markdown 桌面端默认保留可调整的左侧源码和右侧预览,预览直接使用完整阅读界面,不再 嵌套卡片。手机端改为“源码 / 预览”整屏切换,避免把两个窗格压缩成不可用的上下半屏; 确定性流程同时验证受控内容同步、44 px 触控操作和最终预览状态。
手机端 Spreadsheet 查找栏现已限制在视口内,输入框及上一个、下一个、关闭操作均至少 为 40 px。确定性流程会验证搜索结果精确定位到目标单元格,并在 Escape 关闭后把焦点 归还表格。
共享右键菜单在桌面端继续跟随鼠标或键盘选区定位;宽度低于 640 px 时改为贴合安全区的 底部操作面板。每项操作至少 44 px,高内容量菜单在面板内部滚动,Escape 仍把焦点精确 归还编辑目标。Spreadsheet 的确定性流程同时保存手机布局截图、可访问结构、控制台和 页面错误证据。
Spreadsheet 工作簿任务窗格在桌面端保持为有界侧栏,在手机端则成为焦点受控的模态 对话框。打开后功能区、表格画布和工作表栏不可交互,Tab 与 Shift+Tab 不会离开窗格; Escape 会先取消未保存草稿,再关闭窗格并把焦点精确归还原功能区按钮。确定性浏览器 流程覆盖模态语义、焦点顺序、背景隔离、截图、可访问结构、控制台和页面错误。
Presentation 图表检查器在桌面端保持为有界侧栏;响应式布局一旦让它覆盖画布,就切换 为焦点受控的模态对话框。打开后功能区、幻灯片工作区和状态栏不可交互,关闭按钮获得 初始焦点,Tab 与 Shift+Tab 始终留在窗格内。未保存字段会先消费第一次 Escape,第二次 才关闭窗格并把焦点归还所选图表。确定性手机流程已覆盖模态语义、双向焦点循环、背景 隔离、草稿取消、截图、可访问结构,以及零控制台和页面错误。
Presentation 批注审阅在桌面端保留为停靠条,在手机端则覆盖编辑器形成完整的模态审阅 界面。手机界面使用可读的批注字号和 44 px 主要操作,打开后功能区、幻灯片工作区和 状态栏不可交互,Tab 与 Shift+Tab 始终留在审阅界面;未提交批注会先消费第一次 Escape, 再次按下才关闭。关闭后焦点会精确归还“新建批注”“查看批注”或幻灯片批注标记。确定性 手机流程覆盖两类功能区触发路径、模态语义、背景隔离、双向焦点循环、截图、可访问结构、 控制台和页面错误。
文件往返原则
- 未修改内容应尽量保持原文件语义与包结构。
- 不支持字段必须明确记录,不能无提示丢弃。
- 导入、编辑、导出后重新读取,并比较结构化结果。
- 写入失败不能覆盖源文件。
- 浏览器与本地 CLI 对同一公共语义使用兼容的类型定义。
测试分层
Agentic 测试用于探索问题和形成稳定路径;确认后的流程应收敛为确定性测试。任何浏览器 会话都必须有范围地创建和清理,不能通过进程名关闭用户正在使用的 Chrome。
发布门槛
版本发布前至少需要通过类型检查、单元测试、组件构建、Playground 构建、关键 E2E、
视觉合同和包内容校验。文档中的属性、限制与发布版本必须对应,latest 可以描述尚未
发布的主分支能力,历史版本页面则保持冻结。
完整任务清单和每项实现状态见 English 完整路线图。