Skip to content

Commit f8b4c2e

Browse files
committed
chore(rust): 删 open_capture_float 并同步规格改判
1 parent 1dd76c5 commit f8b4c2e

6 files changed

Lines changed: 11 additions & 22 deletions

File tree

‎app/src-tauri/src/app_commands.rs‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,7 @@ pub fn handle() -> impl Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync
286286
// v0.13.6(REQ-220/222):细目选项表 + 领域记忆(coarse+细目多选)
287287
crate::commands_video::list_domain_fine,
288288
crate::commands_video::remember_video_profile_domain,
289-
// v0.12.0 M6(采集体验债):采集浮窗打开/关闭
290-
crate::commands_window::open_capture_float,
289+
// v0.12.0 M6(采集体验债):采集浮窗关闭
291290
crate::commands_window::close_capture_float,
292291
// v0.12.3(交互/架构升级):浮窗点击穿透/置顶/状态查询 + 回主窗
293292
crate::commands_window::float_set_locked,

‎app/src-tauri/src/app_setup.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ pub fn setup_app_state(app: &mut tauri::App) -> Result<(), String> {
315315
web_inbox: std::sync::Arc::new(std::sync::Mutex::new(None)),
316316
});
317317
// v0.12.3(P2-10):浮窗预创建常驻(隐藏)——打开秒显、点击期零建窗风险;
318-
// 失败幂等回落为打开时懒创建(open_capture_float 内部兜底)。
318+
// 失败幂等回落为打开时懒创建(float_open_core 内部兜底)。
319319
crate::commands_window::precreate_float(app.handle());
320320
Ok(())
321321
}

‎app/src-tauri/src/commands_window.rs‎

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -257,18 +257,6 @@ pub(crate) fn float_toggle_core(app: &tauri::AppHandle) -> Result<FloatUiView, S
257257
Ok(view(&after))
258258
}
259259

260-
/// 打开采集浮窗(幂等——已存在则前置显示并聚焦)。
261-
///
262-
/// @ai-context: ?float=1 让 App.tsx 渲染 CaptureFloatPanel;窗口不加载数据库/
263-
/// 采集引擎(纯前端消费 live:* 事件),创建失败返回错误由调用方
264-
/// 引导(浮窗是增强,失败不阻断采集主链路)。已存在时同步应用
265-
/// stored topmost(precreated 窗口初态可能被用户关过置顶)。
266-
/// @ai-context: async——见模块头注释(wry#583 主线程建窗死锁)。
267-
#[tauri::command]
268-
pub async fn open_capture_float(app: tauri::AppHandle) -> Result<(), String> {
269-
float_open_core(&app)
270-
}
271-
272260
/// 关闭采集浮窗(**隐藏**而非销毁——v0.12.3 常驻语义;重复调用幂等)。
273261
///
274262
/// @ai-context: 停止采集由 ClassroomPage / CaptureFloatPanel 调用;隐藏保留

‎app/src-tauri/src/lib.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ mod commands_structures;
197197
mod commands_streaming;
198198
mod commands_vocab;
199199
mod commands_video;
200-
// v0.12.0 M6(采集体验债):采集浮窗窗口命令(open/close_capture_float)
200+
// v0.12.0 M6(采集体验债):采集浮窗窗口命令(close_capture_float/float_toggle 等)
201201
mod commands_window;
202202
// v0.12.0 M3(交互债):系统级覆盖层截图命令(open/close/submit/cancel)
203203
mod commands_overlay;

‎docs/standards/line-limit-exemptions.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
| app/src-tauri/src/db_sop.rs | 490 | v0.20.3(REQ-296/297)SOP 三表数据域(模板/run/步骤/保鲜/聚合)+ 审查加固(保链更新/幂等守卫/步数计数)内聚 | 若再增长:run 执行族拆至 db_sop_run.rs |
4141
| app/src-tauri/src/live_session_persist.rs | 488 | 定稿落库域(persist_final/digest_merged/handle_final_event)+ P2 flush_tail_and_persist(停止/暂停共用尾句落库)内聚 | 若再增长:flush_tail_and_persist 与 digest_merged 拆至 live_session_persist_tail.rs |
4242
| app/src-tauri/src/db_sessions.rs | 482 | 会话仓储;批 4 delete_sessions_batch + 审查修复轮 3(transaction() 改造)——2026-09-09 实测纠偏(登记值 394 过期) | 若再增长:recent_ocr_texts 等建议查询拆至 db_sessions_queries.rs |
43-
| app/src-tauri/src/app_commands.rs | 479 | 宏约束下的**唯一**注册点:334 条 `generate_handler!` 条目是**数据不是逻辑** —— `Invoke` 按值语义使分域组合不可行(见文件头),拆成多份只会在域间新增「命令名 → 域」路由漂移面;一致性由 `scripts/check-command-registry.mjs` 机器门禁守 | 不拆(数据文件);新增命令时同步条目,由门禁强制 |
4443
| app/src-tauri/src/commands_ai_enrich.rs | 479 | v0.8.0 M3(REQ-142)+ F1/F2/F3:知识补充命令域(九子项校验/预估/异步任务/采纳/撤销 + 配额去重门控 + 成本硬拦截 + 任务落库)——与精修共用任务注册表上下文,命令域内聚;2026-09 修复(章节目录注入/逐块审查回执)微增 | 若再增长:门控/拦截拆至 commands_ai_enrich_gate.rs |
44+
| app/src-tauri/src/app_commands.rs | 478 | 宏约束下的**唯一**注册点:334 条 `generate_handler!` 条目是**数据不是逻辑** —— `Invoke` 按值语义使分域组合不可行(见文件头),拆成多份只会在域间新增「命令名 → 域」路由漂移面;一致性由 `scripts/check-command-registry.mjs` 机器门禁守 | 不拆(数据文件);新增命令时同步条目,由门禁强制 |
4545
| app/src-tauri/src/region_tracker.rs | 478 | v0.4.0 M2(REQ-037)起:ROI 跟踪状态机(播放区域检测/锁定聚簇/重扫/前台切换冻结)+ 纯函数单测内联;与 RoiTracker 状态强耦合 | 若再增长:lock_roi/prior_roi 纯函数拆至 region_lock.rs |
4646
| app/src-tauri/src/layout_analyzer.rs | 475 | v0.5.0 M3(REQ-047):规则版版面分析(行/列投影 + 表格线检测 + 区域分类启发式)内聚于同一分类管线;审查加固(公式启发 + 低信息纯色方差滤除) | 若再增长:区域分类启发式拆至 layout_classify.rs |
4747
| app/src-tauri/src/commands_session_note.rs | 472 | 既有登记 314 为过期快照——2026-09-06 实测纠偏(v0.20 装载合成/web 分支/批量 inner 扩展后 +144) | 若再增长:convert_to_note 拆至 commands_session_note_convert.rs |
@@ -85,11 +85,11 @@
8585
| app/src-tauri/src/commands_web_inbox.rs | 371 | v0.20.4(REQ-304)扩展收件命令域(起停/状态/HTTP 小循环/投递收口/图落盘)内聚;2026-09-06 实测登记(TD-2026-09-06-G) | 若再增长:HTTP 连接处理拆至 web_inbox_http.rs |
8686
| app/src-tauri/src/live_keyframes.rs | 370 | ① handle_full_frame:全帧画面要点落库 + 关键帧样本收集与归档存图(三层图结构参考图集数据源);② 停止时关键帧投票(session:keyframes 事件);③ rewrite_with_fusion:融合重写(原属 live_session_frame,REQ-031 无字幕短路)。(自动摘取,待细化) | 若再增长:按职责拆分 |
8787
| app/src-tauri/src/windows.rs | 370 | 窗口枚举/评分域 + v0.19.2(REQ-271/272):CaptureWindow.zOrder/systemWindow 字段 + 抖音/快手/B站客户端评分表(+28)——枚举系统副作用与评分纯函数同域便于单测(既有模式) | 若再增长:z 序/系统标记纯函数拆至 windows_meta.rs |
88-
| app/src-tauri/src/commands_window.rs | 369 | 浮窗窗口命令域(v0.12.3 架构升级计划:全部窗口操作集中单文件)+ v0.12.6(ADR-025)显隐链路与全局快捷键三态切换核心(open/close/locked/topmost/toggle 核心 fn + 命令薄包装 + 状态机/序列化单测内联);拆分需跨 fn 传递 AppHandle/State,内聚性优先 | 若再增长:浮窗核心逻辑拆至 float_core.rs(命令薄包装保留本文件) |
8988
| app/src/components/KnowledgeCanvasView.test.tsx | 368 | @xyflow/react 全 mock(ReactFlow 记录 props 供交互断言;节点组件渲染不测——规格 §六「React Flow 渲染用 e2e 或跳过」)。覆盖:① 首次打开全量未布局 → batch_initialize 全量初始化(辐射位置);② 已存位置 → 跳过初始化且位置来自存储;③ 拖拽防抖保存;④ 节点点击选中联动;⑤ 视口恢复/首次 fitView;⑥ 自动排列覆盖;⑦ 核心问题虚拟节点;⑧ 返回按钮。(自动摘取,待细化) | 若再增长:按职责拆分 |
9089
| app/src-tauri/src/commands_fragments.rs | 366 | 碎片命令域 + REQ-316(批 7)结果契约与组域条件广播(登记值缺失为漏登——HEAD 基线已 347,本次补) | 若再增长:碎片组操作命令族拆至 commands_fragments_group.rs |
9190
| app/src-tauri/src/db_notes.rs | 366 | REQ-316(批 7):delete_note/update_note_group 改显式事务 + 同事务空组自动清理接线(结果契约扩展 + 旧组读出,净增 ~60 行;此前 305 未登记属漏登,本次补) | 若再增长:移组/删除事务族拆至 db_notes_group_ops.rs |
9291
| app/src-tauri/src/ocr_cache.rs | 358 | OCR 结果缓存域(内容指纹键/容量淘汰/命中率统计)内聚;缓存策略与指纹算法共享上下文 | 若再增长:指纹算法拆至 ocr_fingerprint.rs |
92+
| app/src-tauri/src/commands_window.rs | 357 | 浮窗窗口命令域(v0.12.3 架构升级计划:全部窗口操作集中单文件)+ v0.12.6(ADR-025)显隐链路与全局快捷键三态切换核心(open/close/locked/topmost/toggle 核心 fn + 命令薄包装 + 状态机/序列化单测内联);拆分需跨 fn 传递 AppHandle/State,内聚性优先 | 若再增长:浮窗核心逻辑拆至 float_core.rs(命令薄包装保留本文件) |
9393
| app/src-tauri/src/db_sessions_tests.rs | 354 | 由 db_sessions.rs 以 #[cfg(test)] #[path] 引入,保持实现文件 ≤300 行(AGENTS.md §3 模块化)。(自动摘取,待细化) | 若再增长:按职责拆分 |
9494
| app/src-tauri/src/live_session_pause.rs | 353 | 批 2 暂停边沿收敛域 + 审查修复轮 1(own_pending 吸收/丢采样恢复沿补发)净增——2026-09-09 纠偏实测 353(交付口径 258 失真),300-600 档登记 | 若再增长:合成事件对构造拆至 live_session_pause_synth.rs |
9595
| app/src-tauri/src/ai_client_tests.rs | 352 | ai_client.rs 单测域(22 例:payload 构造族 build_chat_payload/build_plain_payload、JSON 前置条件提示、chat_completions_url 拼接、响应提取与弱化解析、fallback_provider_ids;env 变量以静态 Mutex 串行化,不触网)——测试模块由 `#[cfg(test)] #[path]` 单点挂载(ai_client.rs:504),纯函数用例与实现同域便于契约对齐。**本条目由生成器补登(该文件无 @ai-context 头注释),理由为 2026-09-11 重建时人工补写** | 若再增长:payload 构造组拆至 ai_client_payload_tests.rs |

‎docs/superpowers/specs/2026-09-11-frontend-redesign-design.md‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -495,15 +495,17 @@
495495
| 38 | `detect_video_domain` | **删** | 上游 OCR 标签通道**从未建起来**;平台信号不是瓶颈(`infer_platform` 已从标题/URL 自行补标签) |
496496
| 39 | `finish_session` | **补 UI(本批)** | 恢复动作「结束会话」(崩溃后卡在录制态的收尾通道) |
497497
| 40 | `get_decision` | **补 UI(本批)** | 决策日志单条详情 —— 顺带修审计 H7 |
498-
| 41 | `open_capture_float` | **待核实** | 前端现有开浮窗方式未确认(B 桶唯一无把握项) |
498+
| 41 | `open_capture_float` | **删** | 2026-09-11 结清:前端 0 调用者;开路径由 `float_toggle`(`useClassroomFloat.ts:38`)与 `FloatAction::Open => float_open_core`(`commands_window.rs:250`)承载,本命令只是又包一层 `float_open_core` ⇒ 批 1 Task 8 删 |
499499
| 42 | `refine_session` | **补 UI(本批)** | 会话详情「手动精修」(UI 现只调 auto 版) |
500500
| 43 | `release_live_prepare` | **有意保留** | 前端注释「保留供未来显式调用」 |
501501
| 44 | `remember_video_profile` | **删** | 功能被 `remember_video_profile_form` **完整覆盖**,双重死亡 |
502502
| 45 | `set_tag_color` | **补 UI(本批)** | 标签线 |
503503
| 46 | `update_fragment_group` | **补 UI(本批)** | REQ-201 **声称已接线但实际无调用方** —— 需同步修正记录 |
504504
| 47 | `update_knowledge_system` | **补 UI(本批)** | 体系改名 / 核心问题 / 状态 —— 最明确的功能缺口 |
505505

506-
**汇总**:删 **21** · 本批补 UI **12** · 登记不排期 **7** · 撤下 IPC **3** · 有意保留 **3** · 待核实 **1** = 47。
506+
**汇总**:删 **22** · 本批补 UI **12** · 登记不排期 **7** · 撤下 IPC **3** · 有意保留 **3** · 待核实 **0** = 47。
507+
508+
> **2026-09-11 改判**:#41 `open_capture_float` 由「待核实」改为「删」(依据见该行说明)⇒ 删除批由 21 条升至 **22** 条。
507509
508510
> **两条更正,可单点回退**:#38 `detect_video_domain` 与 #44 `remember_video_profile` 在早期分桶中被列入「A 桶 · 补 UI」,经专项侦察后**更正为删除** —— 前者的上游 OCR 标签通道从未建起来(平台信号不是瓶颈,`infer_platform` 已从标题/URL 自行补标签),后者的功能被 `remember_video_profile_form` 完整覆盖。这两行**独立于其他决策**,若需回退为「补 UI」,只改这两行即可。
509511
@@ -517,7 +519,7 @@
517519
|---|---|---|
518520
| **0 基座** | 4 条 ADR + 修订 ADR-010 · 豁免表纠偏 · 拆 4 个超限文件 · token 层 · z-index 标尺 · 图标集 + 单测 · 原语三层 | 4 个 >600 行 → 0;豁免表 100% 一致 |
519521
| ↳ 批 0 的 ADR 归属(批 0-D 收口时更新) | **ADR-032 ✅(批 0-A/0-D)** · **ADR-033 ✅(批 0-D,L1 原语层与视图层契约)** · **ADR-034/035 顺延**(推定为批 3 壳层 / 批 6 动效,见 ADR-033 的「登记」节)· 修订 ADR-010 属**批 1** | — |
520-
| **1 删除批** | 21 条命令 + 补缝三连连带模块 + ADR-010 修订 + 清理 `structuredBlocks.ts:63` 死文案 | 注册表条目下降;cargo test 全绿 |
522+
| **1 删除批** | **22** 条命令 + 补缝三连连带模块 + ADR-010 修订 + 清理 `structuredBlocks.ts:63` 死文案 | 注册表条目下降;cargo test 全绿 |
521523
| **2 包体治理**(可并行) | `manualChunks` + 按页动态 import + 量首屏 gzip | 从 651KB gzip 降到达标或给出瓶颈清单 |
522524
| **3 壳层落地** | A′ 顶栏 + ⌘K + 溢出策略 + 窗口尺寸 + 列注册表 + 断点 + `--nav-h` | 9 页全走注册表;1024 无溢出;7 处魔数归零 |
523525
| **4 原语迁移** | 20 弹层 / 44 空态 / 85 加载 / 196 错误行 / 4 toast / 2 confirm / Button/Surface/Text | z-index ≤6;`role="dialog"` 20/20 |
@@ -560,7 +562,7 @@
560562

561563
| 项 | 状态 |
562564
|---|---|
563-
| `open_capture_float` 前端现有开法 | **需核实**(B 桶唯一无把握项) |
565+
| `open_capture_float` 前端现有开法 | ✅ **已结清 2026-09-11**:前端 0 调用者(活路径为 `float_toggle` + `close_capture_float`)⇒ 改判为「删」,落地于**批 1** |
564566
| 软删 / 回收站(审计 D2 丙方案) | 独立技术债 —— 需 schema 迁移 |
565567
| T7 档案记忆增量(命中计数 + 会话后自动修正) | 基础闭环已通,增量登记 |
566568
| `image_stream_store.rs` 图像流接线(L6) | 档位通道做完后才具备前提 |

0 commit comments

Comments
 (0)