父任务
#467 macOS 交互帧预算:声明式 UI 热路径与可调节表面
依赖
不变量
Search Everywhere 和 Replace in Project 的输入、打开和关闭只更新搜索表面;不得因为全局查询字符串变化而重算整棵 Workbench,也不得每次显示时冷启动完整搜索模块。
范围
- 将搜索查询和结果状态收敛到搜索 Feature/局部模型。
- 复用或预热 Search Everywhere / Replace in Project 的视图和模块生命周期。
- 保留 180ms 搜索语义、取消旧请求和结果截断行为。
- 对首次打开、连续输入、热路径重复打开分别测量。
明确不改
- 不改搜索结果排序协议和 Rust Core 命令名。
- 不把普通侧栏搜索和全局弹层搜索混成一条状态链。
- 不将 Settings、Clone、Go to Line 等非目标弹层纳入本 PR。
验收
- 首次 Shift-Shift 到可输入 <80ms,热路径 <32ms。
- 连续输入时 Workbench body 评估不随每个字符增长。
- 旧搜索请求取消后不会覆盖新查询结果。
父任务
#467 macOS 交互帧预算:声明式 UI 热路径与可调节表面
依赖
不变量
Search Everywhere 和 Replace in Project 的输入、打开和关闭只更新搜索表面;不得因为全局查询字符串变化而重算整棵 Workbench,也不得每次显示时冷启动完整搜索模块。
范围
明确不改
验收