C14.14 r3: formulas framed after outlining, a file per print job, no source selection in rendered modes (library 8234fcd)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-12 11:18:07 -04:00
1 parent 8fc5ee2ab2
commit d9dadb3d0e
8 files changed
+27 -7

No files matched your search

+1 -1
View File
@@ -111,7 +111,7 @@
- [x] C14.11 外部修改(MARK-08,§14.4,QA-22):干净即重载并保持位置,有改动即比较,合并结果为一步撤销;改名、删除、读错照旧 — R1 FAIL 两项已修:保留修改时间的原子替换不被察觉(指纹加上文件身份);迟到的旧读取覆盖新版本(读盘编号,落定前核对磁盘)。R2 ok
- [~] C14.12 书写视图(MARK-09):专注模式、打字机滚动、正文宽度、字体、字号,存 `look.json`,不改 Markdown — R1 FAIL 已修:打开的块不随字号;首末块与首末行不能居中;缩放后不重新居中。R2 FAIL 已修:源码的上下内边距缩小了列表可见区,居中行以下不画,输入法与点按坐标错开半屏(改为列表首尾的空行);切换模式的定位覆盖居中。R3 FAIL 已修(三轮用尽,未再审):编辑器的居中记录只看行号,模式往返、再次跳到同一行、小幅缩放后不再居中(记录加上视图与行高,定位落定后清掉编辑器的记录)
- [x] C14.13 搜索(MARK-10):本文件与文件夹,结果跳到该行该处 — R1 FAIL 已修:查询整串转小写,原文逐字转小写,词尾 σ 对不上(两边逐字折叠,ς 同 σ)。R2 ok
- [ ] C14.14 输出(MARK-11):自包含 HTML、带资源文件夹的 HTML、纯文本(markdown-rs)、PDF(MuPDF Story,经 `ely-pdf-worker`)、打印、富文本复制;缺图、错公式、画不出的图随导出提示
- [~] C14.14 输出(MARK-11):自包含 HTML、带资源文件夹的 HTML、纯文本(markdown-rs)、PDF(MuPDF Story,经 `ely-pdf-worker`)、打印、富文本复制;缺图、错公式、画不出的图随导出提示 — R1 FAIL 十项已修:改由语法树逐节点写 HTML(各处行号、原地址、`data:` 图片、缺图留原地址或写替代文字);资源文件夹名编码;图片以 `create_new` 占名;每次 PDF 各自的暂存;图的缺字报错;纯文本的引用图片;富文本复制提示所缺。R2 FAIL 三项已修:链接按浏览器读法判协议;只删本次建成的文件夹;公式无轮廓的字以系统字体变路径或报错。R3 FAIL 三项已修(三轮用尽,未再审):公式先变路径再定边框;每次打印各自的文件;渲染模式无源码选区
- [ ] C14.15 会话恢复(MARK-12):标签、未保存内容、模式、插入点、滚动、视图设置
- [ ] C14.16 Git 配合与验收(MARK-13):状态栏 Git 状态与打开 ElyTree 照旧;三端构建,ElyMark 冒烟;逐条核对 MARK-01 至 14、QA-21、QA-22、PERF-07
+7
View File
@@ -0,0 +1,7 @@
FAIL
- reference/Ely-GPUI-Components/src/typography/math.rs:129 (3bbbd05) — Remaining SVG text is outlined after `svg(&formula)` has already computed the viewport; `flatten` keeps those old bounds even when the resolved font's ink extends outside them. On native Windows, exporting `$\text{𓀀}$` succeeds without a formula warning, but its 8 × 6.896 SVG contains ink spanning x=0.391..11.492 and y=-5.416..9.115. Rasterization retains only 1,377 ink pixels, versus 4,060 when framed around the complete outlines. `$\text{한글}$` also loses ink. Resolve and outline the text before computing the final frame, and verify that fallback glyphs fit completely. Evidence: `.work/C14.14-r3/windows-probe.log`.
- apps/ely-mark/src/export/mod.rs:252 — Every print job for a tab still writes the same `work/print.pdf`, although PDF conversion and panel dispatch run asynchronously. Press Print twice while conversion is pending, changing the text between requests: the second conversion can replace the first job's PDF before its panel reads it, and the first panel's cleanup can delete the second job's pending file. Windows and WSL worker/file-lifetime probes reproduce the first reader getting `Second print` and the second reader failing after the first cleanup. The separate conversion scratch directories do not protect this final file. Give each print job a distinct PDF retained through its own panel and cleanup. Evidence: `.work/C14.14-r3/windows-probe.log`, `linux-probe.log`; macOS panels were not run.
- reference/Ely-GPUI-Components/src/documents/document/place.rs:32 (3bbbd05) — `selected` returns the source editor's selection whenever no visual block is open, including in preview and visual modes where that selection is invisible. Select `First` in source, switch to preview or visual without opening a block, then choose Copy as Rich Text: `copy_rich` copies only `First` instead of the whole document required when there is no current selection. Both Windows and WSL GPUI probes retain `First` across these switches. Read the source selection only in source modes, and return no selection in rendered modes without an open editor; cover mode transitions in the copy tests. Evidence: `.work/C14.14-r3/windows-probe.log`, `linux-probe.log`.