Skip to content

Latest commit

 

History

History
54 lines (38 loc) · 5.07 KB

File metadata and controls

54 lines (38 loc) · 5.07 KB

v0.7.7 — 非线性结构图像捕获与持久化(结构图)+ 会话管理两处修复

状态: 实施中(2026-08-20:REQ-182187 代码完成——1172 单测全绿 + 前端构建通过;待真机验收后关闭) 目标: 在版面分析基础上补齐非线性文本结构(表格/公式/代码/流程图/思维导图/架构图等)的图像级持久化闭环——停止后自动批量捕获 + 屏卡框选手动截取 + 会话内结构图库(浏览/删除);语义重建(V1.0 AI 补缝)之前,"图像即产物"是本地优先架构下对非线性结构的诚实降级。同期修复两处会话管理体验问题(列表无全选框、参考图片无法查看详情)。 关联: 头脑风暴 结构图 v0.7.7([ ] 已归档) · 版面分析(REQ-047)· 屏卡体系(REQ-155161,ADR-015)· 三层图存储(REQ-051/110)· ADR-010(图语义纯本地无法还原 → 图像兜底)· 需求池 REQ-182~187

一、范围

REQ 内容 验收要点 规划状态
REQ-182 结构图自动捕获:批量任务(停止后触发 + 图库可重跑)——屏内多帧选优(pick_sharpest)→ 版面分析 → table/formula/code 直收 + Image/Text 过 diagram_likeness 过滤(实现校准:真实流程图被判 Text,Text 同过图结构判定;形状约束防标题误收)→ 白边裁剪入库 真实会话重跑:结构三类必入库;PPT 流程图被捕获;照片/装饰不误收;重跑幂等(去重不重复入库) 已排期
REQ-183 结构图持久化:session_structure_images 新表(kind/bbox/screen_id/source_ts/source)+ struct/ 命名空间与缩略图 + 独立预算(auto 80/会话,manual 不限)+ same_image 去重 ensure_table 幂等迁移旧库可读;文件与记录一致;手动不占 auto 预算 已排期
REQ-184 手动结构图截取:屏卡全帧图框选(BoxSelectOverlay + 确认浮层)→ capture_structure_manual(归一化坐标/越界钳制/最小尺寸拒绝) 框选→预览→入库闭环;无图屏禁用+提示;<32×32 拒绝 已排期
REQ-185 会话内结构图库:ImageGallery 扩展 StructureImageSection(kind/source 徽标 + 时间 + 屏号 + 删除 + 重新捕获) 区段展示/删除/重跑正确;空态与降级提示;旧会话零回归 已排期
REQ-186 修复:会话列表全选框(当前筛选视图口径 + indeterminate 三态) 三态正确;批量转/批量删不受影响;分组视图同口径 已排期
REQ-187 修复:参考图片详情查看(ImagePreviewOverlay 大图预览,参考图/结构图共用) 点击缩略图出大图;信息栏/删除/ESC 关闭正确 已排期

二、技术方案(要点,详见头脑风暴文档 §四)

M1 数据层(REQ-183)

  • session_structure_images 新表(ensure_table 幂等);struct/ 命名空间与 crop/(精修中间产物)语义分离;缩略图同步生成
  • 独立预算 STRUCT_BUDGET_AUTO=80/会话;手动不设限;same_image 双指纹去重(REQ-067 复用)

M2 自动捕获(REQ-182)

  • structure_capture.rs:纯函数核心(pick_sharpest / diagram_likeness / 候选过滤)+ 命令胶水,单文件 ≤300 行
  • 管线:屏 → 时间窗内归档帧采样(≤8 帧均匀)→ 选优 → 版面分析 → 区域过滤(结构三类直收、Image 过图结构判定、text/unknown 跳过)→ 白边裁剪 → 去重 → 预算 → 入库
  • 触发:会话停止后自动 + 图库「重新捕获」按钮

M3 手动截取 + 图库 + 修复(REQ-184/185/186/187)

  • 前端:BoxSelectOverlay(拖框 + 确认浮层)、StructureImageSection、ImagePreviewOverlay(两区段共用)、SessionListPanel 全选框三态
  • 后端命令:capture_structure_manual / list_session_structure_images / delete_structure_image / capture_session_structures

M4 测试与验收

  • 纯函数单测:diagram_likeness 四类合成网格 / pick_sharpest / 批量候选去重预算 / 手动钳制拒绝 / DB 幂等迁移
  • 前端:框选归一化纯函数 + 真机手动清单(Vitest 基建维持现状裁决)
  • 真机:会话重跑自动捕获 + 手动闭环 + 两修复项 + 旧会话回归

三、验收标准

  • 自动捕获:真实会话停止后结构三类 + 流程图入图库;照片/装饰不误收;重跑幂等
  • 手动:屏卡框选 → 预览确认 → 入库;无图屏禁用+提示;越界/过小拒绝
  • 图库:徽标/时间/来源/删除/重新捕获生效;空态与降级提示正确
  • 修复①:全选框三态正确(筛选视图口径),批量操作不受影响
  • 修复②:参考图/结构图点击均可大图预览,删除/ESC 关闭正确
  • 回归:旧会话零回归;cargo test + cargo clippy 全绿;前端构建通过

四、明确不做

  • 笔记内联消费(下版;表已留 screen_id 锚点)
  • 在线采集状态机(方案 B)、手动类型标注、AI 语义重建(V1.0 REQ-056/058)、导出/另存