统一实时标定身份解析并规范行尾
控制器与两个对话框共用 CalibrationService.read_identity,解析失败与缺 SN 分开上报; 本轮改动文件统一 LF,SN 必填回归已锁定。 定向 73 项、校准 UI 8 项与 lint 通过;未跑全量门禁。
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Studio 软件架构
|
||||
|
||||
本文说明已接线的 S1–S2;后续工作和验收由
|
||||
本文说明已接线的 S1–S3;后续工作和验收由
|
||||
[分步重构计划](studio-window-refactor-plan.zh.md) 维护。下方旧扫描图表保留为历史证据,
|
||||
不能用其中的行数或“已完成”判断当前代码。
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
分析结果的传感器身份来自结果 provenance,进度读取现有 `AnalysisProgress.state()`,
|
||||
不再通过 `ReplayController._progress` 访问其私有控件。
|
||||
|
||||
`live_calibration.py::LiveCalibrationController` 持有实时标定选择:按 bundle 保存的选择、
|
||||
profile 默认文件、Finger 序列号检查、导出后选择及确认/提交请求;文件身份与匹配复用
|
||||
`CalibrationService`。窗口保留 `live_calibration_for` 等窄接口转发,供 `SensorDialog`、
|
||||
运行入口、分析提示和测试使用;应用仍只是向 worker 提交请求,设备确认与记录版本仍走记录通道。
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
W[StudioMainWindow 装配与接线] --> S[SessionController 会话与遥测]
|
||||
@@ -23,6 +28,8 @@ graph TD
|
||||
W --> L[ViewLayoutController 布局]
|
||||
W --> D[DisplayPrefsController 显示偏好]
|
||||
W --> C[RecordingCoordinator 记录与设备确认]
|
||||
W --> LC[LiveCalibrationController 实时标定选择]
|
||||
LC --> CF[CalibrationService 文件身份与匹配]
|
||||
W --> P[StatusPresenter 状态显示]
|
||||
F[RailState 只读显示事实] --> P
|
||||
P --> T[ToolbarWidget 状态轨]
|
||||
@@ -38,7 +45,8 @@ graph TD
|
||||
设备确认与录制仍走采集线程通道;本次未改变定时器、停止等待或 3D 懒加载。
|
||||
|
||||
验证入口:`test_status_presenter.py` 可在没有主窗口和设备的情况下检查状态显示;
|
||||
`test_ui_smoke.py`、`test_replay_wiring.py` 和 `tools/ui_check.py` 覆盖窗口集成。
|
||||
`test_live_calibration.py` 独立覆盖实时标定选择/解析/导出/应用规则;`test_ui_smoke.py`、
|
||||
`test_replay_wiring.py` 和 `tools/ui_check.py` 覆盖窗口集成。
|
||||
执行结果、环境及尚未验证范围记录在实施计划。状态转发暂留用于现有调用方,后续按职责迁移,
|
||||
不增加新的全局状态容器或将剩余逻辑全部并入回放控制器。
|
||||
|
||||
@@ -140,7 +148,8 @@ graph TB
|
||||
```
|
||||
main.py
|
||||
└─ app_window.py ──┬─ 外壳: brand_bar / toolbar / record_status
|
||||
├─ 控制器: session_controller · replay_controller · view_layout · display_prefs
|
||||
├─ 控制器: session_controller · replay_controller · view_layout · display_prefs · live_calibration
|
||||
├─ live_calibration 选择规则 → calibration_service(文件身份/匹配) → worker.set_pending_calibration 请求
|
||||
├─ 面板: arrow_panel(2D) · mesh3d_panel(3D) · force_plots · cal_panel · 对话框
|
||||
├─ 领域服务: recording · replay · calibration_service · scene3d.{view,asset_source,coordinator,keys}
|
||||
└─ 共享层(无 Qt): acquisition · record · force · scene3d · camera/prefs/paths/i18n/theme/logging
|
||||
@@ -339,8 +348,8 @@ graph TB
|
||||
|
||||
## 后续迁移
|
||||
|
||||
当前工作由 [分步重构计划](studio-window-refactor-plan.zh.md) 的 S2–S6 管理,
|
||||
包括界面构建、标定交互、分析配置、运行与预览以及显示入口和兼容桥收尾。
|
||||
当前工作由 [分步重构计划](studio-window-refactor-plan.zh.md) 的 S4–S6 管理,
|
||||
包括分析配置、运行与预览、显示入口和兼容桥收尾;S3 已完成,结果见计划交接。
|
||||
每一步完成后更新本节之前的当前职责;历史指标不随搬运代码自动改写。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user