R8.3: sheet tab strip scrolls the chosen sheet in (Gitea #8)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude committed 2026-10-18 22:41:28 -04:00
1 parent 2ca53ef585
commit 1e6147ae77
9 files changed
+136 -23

No files matched your search

+1 -1
View File
@@ -290,6 +290,6 @@
- [x] R8.1 深色外观下内容照文件原色(§5,用户定,取代 2026-10-04 的“内容区随系统深浅色”):ElyPDF 页面不反相;ElyDoc 页面、ElyTable 单元格照文件的颜色(白底即白底),ElyShow 已是如此(`ely.xcd` 只留浅色方案,每个视图首帧发一次;MuPDF 不再反相;Windows 真窗口深色外观下四个应用都是白纸;测试以深色档案起内核、视图须把页面画白,去掉发送即失败 — 第 1 轮:`theme.sh` 仍要深色网格、测试的内核本就浅色;第 2 轮:两处注释超长;第 3 轮 PASS)
- [x] R8.2 Gitea #9 公式不兼容(§7):附件 math.docx 的键盘公式、OMML、MathType(OLE)、EQ 域、上下标、图片公式逐类与 Word 对照,查明各类差异的根因并修;修不了的写明原因与证据(补丁 0049:运行的 `w:position` 随锚字符移动图片与 OLE;0050、0051:EQ 域转为公式对象,读不通的显示域代码;`word.rs` 三项测试;第 3 轮四处修后未再审查)
- [ ] R8.3 Gitea #8 工作表过多时标签条不滚动(§9):活动工作表变化时标签条滚动,使该标签完整可见;被裁到窗口外的工作表可经标签条到达
- [x] R8.3 Gitea #8 工作表过多时标签条不滚动(§9):活动工作表变化时标签条滚动,使该标签完整可见;被裁到窗口外的工作表可经标签条到达(组件库 7d704d9:按所选与宽度滚入、长名有上限;ElyTable 标签条按工作簿各记状态;`tabs.rs` 与 `strip.rs` 测试 — 第 1 轮:共用 id、长名越宽;第 2 轮:每工作簿状态无测试;第 3 轮 PASS)
- [ ] R8.4 ElyMark 公式(§14):行内公式排版(原只显示着色的 TeX 原文);`\(…\)` 读作行内公式,`\[…\]` 读作块公式
- [ ] R8.5 答复 #8、#9,修好的关闭;`agents.md` 随之
+5
View File
@@ -0,0 +1,5 @@
FAIL
1. `apps/ely-table/src/sheets.rs:118`(组件库 `src/navigation/tabs.rs:294`):所有工作簿共用 `table-sheets`,所选值只有工作表索引,而自动滚动只比较所选值和视口宽度。打开两个各有 30 张表、当前均为第 30 张的工作簿,在第一个工作簿把标签条滚回开头,再切到第二个;状态键不变,新的活动标签仍在视口外,不符合 R8.3 的活动工作表变化时完整可见。探针测得视口为 `[8,604]`,第二个工作簿的活动标签为 `[1446,1494]`。修正方向:把工作簿身份纳入标签条的状态或跟随判定,并覆盖同索引跨工作簿切换的回归测试。证据:`.work/R8.3-r1/final-probes.log`。
2. `C:/Users/zhang/Documents/Github/Ely-GPUI-Components/src/navigation/tabs.rs:250`(标签项在 `:183` 构建):只允许标签条收缩,没有限制单个标签的宽度,长且不能断行的表名仍可宽于整个视口。640 像素窗口显示 280 像素属性栏时,正文宽 360,扣除添加按钮和边距后标签视口宽 316;使用内嵌 Inter 和 Windows DirectWrite,表名为两位序号加 29 个 `W`,切换到第 30 张表后标签宽 390,自动滚动只能将其左端对齐,右侧仍被裁掉,无法满足完整可见。修正方向:约束标签项和其文字的布局,使单项能容纳于当前视口,并用实际字体覆盖长表名与侧栏缩窄的回归测试。证据:`.work/R8.3-r1/final-probes.log` 的 `native_text_keeps_a_valid_31_character_sheet_name_fully_visible`。
+3
View File
@@ -0,0 +1,3 @@
FAIL
1. `apps/ely-table/src/sheets.rs:118`(同文件 `:331` 的测试):跨工作簿状态隔离的修复缺少回归测试。现有 `sheets::tests` 只测 `visible()`;`a_switch_stays_with_its_workbook` 在不渲染标签条的 `Blank` 窗口里只核对内核状态,组件的标签测试也只用一个固定身份。把此处退回共享的 `table-sheets`,这些测试仍无法发现:两个各有 30 张表、当前索引均为 29 的工作簿,第一个手动滚回开头后切到第二个,活动标签落在视口外。独立探针已核对新键通过、旧键复现(视口 `[8,604]`,旧键的活动标签 `[2490,2574]`),但探针不属于项目测试。修正方向:加入实际渲染 `sheet_strip` 的跨工作簿回归测试,覆盖相同当前索引、手动滚动后切换及切回,并断言活动标签完整位于视口内;恢复旧键时须失败。证据:`.work/R8.3-r2/probe-tests.log`、`probe-source.log`、`validation.log`。
+1
View File
@@ -0,0 +1 @@
PASS