From 3fe86413f666f0a1ce8b8118dcfb303d0f1b5420 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Fri, 29 May 2026 11:47:16 +0800 Subject: [PATCH] Harden app grid drop and keyboard routing --- TODO.md | 28 +++++++++++++++++++++------- 1 files changed, 21 insertions(+), 7 deletions(-) diff --git a/TODO.md b/TODO.md index ce466f2..9f8bcd5 100644 --- a/TODO.md +++ b/TODO.md @@ -13,16 +13,30 @@ ## Todo -- [2026-05-28] AppLibraryController / 数据刷新管线整理。 - - 目标: 把扫描、reconcile、Smart Start、annotate、Quick Search documents 更新从 `ContentView` 中抽离。 - - 验收: 启动扫描、拖拽改标签、Quick Search 索引同步、新安装 App 后刷新。 - -- [2026-05-28] 设置页和 Smart Start 模块化。 - - 目标: 低频路径后置整理。 - - 验收: 语言、通用、快捷键、标签、数据、关于页都保持现有行为。 +- [2026-05-29] 第二批:AppGrid 滚动流畅性优化。 + - 目标: 降低滚动期间 SwiftUI 状态写入和 visible item 刷新频率,改善偶发卡顿/抖动。 + - 验收: 滚动手感稳定;hover 气泡不在滚动中闪现;不影响标签 hover 定位和拖拽。 ## Done +- [2026-05-29] 第一批:未分类拖拽确认记忆 + 滚动后键盘兜底。 + - 提交: 本次提交 + - 结果: “拖到未分类”弹窗新增独立“不再提醒”checkbox 和 `skipUncategorizedDropConfirm` 持久化;overlay 键盘处理增加 AppKit `sendEvent` 兜底;AppGrid 滚轮进入时重新声明 key/front,避免滚动后 Space/Esc 偶发丢失。 + - 范围: 不改拖到空隙移除单标签语义;不改全屏/Split View 窗口层级;不改 Quick Search 独立面板结构。 + - 验证: `bash build.sh`、`codesign --verify --deep --strict`、`Scripts/window_logic_qa.sh` 全部通过;新增滚动后 Space/Esc 连续循环 QA;屏幕 smoke 验证滚动后 Space 打开 Quick Search、Esc 关闭 Quick Search、再次 Esc 关闭 AppGrid。 + +- [2026-05-29] 设置页和 Smart Start 模块化。 + - 提交: 本次提交 + - 结果: `SmartStartNoticeOverlay` 已从 `ContentView` 拆出;设置页“应用系统智能化初始分类”的扫描、Smart Start 应用和 snapshot 组装改由 `AppLibraryController` 统一处理;窗口 QA 脚本同步适配 `OverlayWindowController` 的屏幕选择静态检查。 + - 范围: 不改设置页 UI 布局、不改 Smart Start 分类规则、不改导入/导出/恢复行为。 + - 验证: `bash build.sh`、`codesign --verify --deep --strict`、设置页语言/通用/快捷键/标签/数据/关于六个 tab 屏幕复核、`Scripts/window_logic_qa.sh` 全部通过。 + +- [2026-05-29] AppLibraryController / 数据刷新管线整理。 + - 提交: 本次提交 + - 结果: 新增 `AppLibraryController` 和 `AppLibrarySnapshot`,把扫描、reconcile、Smart Start、annotate、Quick Search documents、标签颜色和标签顺序组装从 `ContentView` 的刷新路径中抽离。 + - 范围: 不改扫描、数据库、搜索匹配、拖拽改标签逻辑;`ContentView` 只应用 snapshot 并刷新 UI。 + - 验证: `bash build.sh`、`codesign --verify --deep --strict`、启动 App Grid 屏幕复核、Quick Search `sor` 索引复核、上下键复核、`Scripts/window_logic_qa.sh` 全部通过。 + - [2026-05-29] OverlayWindowController 收口。 - 提交: 本次提交 - 结果: 新增 `OverlayWindowController`,将 overlay window 实例、generation、Space 避让、show/focus/hide 编排、panel 创建、屏幕选择、全屏/Split View 判定从 `AppDelegate` 中收口出去。 -- Gitblit v1.9.3