chore(task): archive 05-22-defer-sort-seed-check

This commit is contained in:
2026-05-22 22:51:09 +08:00
parent d1cdf081fe
commit 783d99a3d8
4 changed files with 2 additions and 2 deletions

View File

@@ -0,0 +1 @@
{"_example": "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. Put spec/research files only — no code paths. Run `python .trellis/scripts/get_context.py --mode packages` to list available specs. Delete this line once real entries are added."}

View File

@@ -0,0 +1 @@
{"_example": "Fill with {\"file\": \"<path>\", \"reason\": \"<why>\"}. Put spec/research files only — no code paths. Run `python .trellis/scripts/get_context.py --mode packages` to list available specs. Delete this line once real entries are added."}

View File

@@ -0,0 +1,52 @@
# 调整刀序前再检查排序种子
## Goal
当程序带钻带文件路径启动时,启动菜单必须优先出现;排序种子文件的检查和提示只能发生在用户选择“调整刀序”之后,避免用户选择导出孔数、清空参数、生成 PP 钻带等启动菜单动作前被排序提示打断。
## Requirements
* 带启动参数且参数为钻带文件时,先显示启动菜单,不在菜单出现前弹出排序种子提示。
* 用户点击启动菜单的“调整刀序”后,加载主窗口和钻带文件时再按现有规则检查同目录的 `<文件名>-sort.txt``General_sort.txt`
* 用户选择启动菜单里的非调整刀序动作时,不触发排序种子检查和提示。
* 保持现有排序种子优先级、提示文案、排序应用逻辑不变。
* 不调整启动菜单布局、钻带解析规则、PP 钻带生成规则、导出孔数逻辑。
## Acceptance Criteria
* [ ] 启动参数为钻带文件且同目录存在排序种子时,启动菜单先显示。
* [ ] 在启动菜单点击“调整刀序”后,才出现排序种子检测提示。
* [ ] 在启动菜单点击“导出孔数报表”或“生成 PP 钻带”时,不出现排序种子检测提示。
* [ ] 普通打开文件、拖拽文件、主窗口内使用排序种子功能保持原行为。
## Definition of Done
* 项目可成功构建。
* 不引入新依赖。
* 代码注释使用中文,关键行为有简短说明。
* 行为改动限定在启动路径和加载时排序种子检查开关。
## Technical Approach
`MainWindowViewModel` 中新增加载时排序种子检查开关,默认开启以保留主窗口内普通加载和“调整刀序”路径的现有行为。`LoadToolsFromDrillTape` 执行排序种子检查前读取该开关。`App` 中用于启动菜单按钮可用性预检查、导出孔数、生成 PP 钻带等非调整刀序路径创建 ViewModel 时关闭该开关。
## Decision (ADR-lite)
**Context**: 当前排序种子检查挂在 `LoadToolsFromDrillTape` 末尾,只要 `OriginalFilePath` 有值就会提示。`App.CanGeneratePpDrillTape()` 在启动菜单显示前为了判断按钮可见性提前加载钻带,并设置了 `OriginalFilePath`,导致排序种子提示先于启动菜单出现。导出孔数和生成 PP 钻带也会在用户选择非调整刀序动作后触发同样的加载副作用。
**Decision**: 保留现有加载流程,在 ViewModel 增加显式开关,让启动菜单预检查和非调整刀序启动动作关闭加载时自动排序检查;点击“调整刀序”后进入主窗口时不关闭开关。
**Consequences**: 改动面小,现有排序种子应用逻辑无需重写。后续如果还有新的无界面/非排序加载路径,也需要显式关闭该开关。
## Out of Scope
* 不重构 `MainWindowViewModel` 的整体职责。
* 不改变排序种子文件格式和匹配规则。
* 不新增自动化 UI 测试。
## Technical Notes
* `App.xaml.cs`:启动参数、启动菜单、菜单动作分发。
* `MainWindow.xaml.cs`:点击“调整刀序”后打开主窗口并加载初始文件。
* `MainWindowViewModel.cs``LoadToolsFromDrillTape` 当前在解析完成后调用 `CheckAndApplySortFile`
* 项目无测试框架,`CLAUDE.md` 明确说明不写单元测试。

View File

@@ -0,0 +1,26 @@
{
"id": "defer-sort-seed-check",
"name": "defer-sort-seed-check",
"title": "调整刀序前再检查排序种子",
"description": "",
"status": "completed",
"dev_type": null,
"scope": null,
"package": null,
"priority": "P2",
"creator": "Mr.Xia",
"assignee": "Mr.Xia",
"createdAt": "2026-05-22",
"completedAt": "2026-05-22",
"branch": null,
"base_branch": "master",
"worktree_path": null,
"commit": null,
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [],
"notes": "",
"meta": {}
}