Commit Graph

  • 2c204a134a docs(plan): P2 三维数据集栏(坐标轴/比例/快捷视图/Zoom)实现计划 gaozheng 2026-06-15 21:19:02 +0800
  • 53ccdc07b0 fix(vtk): 勾选数据集时隐藏中央引导层,露出 P1 渲染 gaozheng 2026-06-15 21:17:23 +0800
  • 0f521c5b24 feat(vtk): P1 复活中央渲染 — VtkSceneController + I3dSceneRepository + Scene加vtkProp gaozheng 2026-06-15 21:01:26 +0800
  • 918088e67a docs(spec): VTK 3D spec v2(纳入评审+web实地分析) + P1复活渲染计划 gaozheng 2026-06-15 14:01:11 +0800
  • faee28c007 docs(spec): VTK 三维视图补充需求设计稿 gaozheng 2026-06-15 12:30:53 +0800
  • 498b786c80 Merge pull request 'feat/object-dataset-interactions' (#6) from feat/object-dataset-interactions into main gaozheng 2026-06-15 12:18:42 +0800
  • 85e455ae4b feat(workbench): 对象/数据集交互对齐规格 + 属性面板可编辑保存 gaozheng 2026-06-15 11:52:41 +0800
  • 1f0081ee34 feat(workbench): 对象/数据集视图交互 — 右键菜单/筛选/删除 + 动态表单编辑保存与新建TM gaozheng 2026-06-13 20:03:30 +0800
  • 1cc5400e73 Merge pull request 'feat/dataset-detail-chart' (#5) from feat/dataset-detail-chart into main gaozheng 2026-06-13 17:30:37 +0800
  • 2cf2b6aaa7 feat(dataset-detail): dd_grid 白化数据列表 + 引擎服务端分页(vxe-pager) gaozheng 2026-06-13 17:27:39 +0800
  • b033dc2a2c feat(dataset-detail): dd_trajectory_data 轨迹详情(地图+列表+高程) gaozheng 2026-06-13 16:36:28 +0800
  • bc5613f0d2 feat(dataset-detail): dd_ert_measurement_gr_data 接地电阻柱状图详情 gaozheng 2026-06-13 11:46:47 +0800
  • a00aeb9a56 feat(dataset-detail): 按类型渲染引擎 + inversion 迁移 + dd_ert_measurement_data 详情 gaozheng 2026-06-13 10:51:24 +0800
  • 10072eb4b3 feat(dataset-detail+app): 数据集树/按根分页 + 暗色主题保真 + 详情图保真 + 桌面日志崩溃捕获 gaozheng 2026-06-12 19:00:32 +0800
  • 66869a1e2e docs: 更新交接文档 — 数据集详情图表 + 全App网络层异步化(详情/导航/登录/项目列表)完成, 含架构/文件地图/下一步/工作方式备注 gaozheng 2026-06-12 09:44:21 +0800
  • 067852e08b docs(spec): 异步化主题完成 — 技术债清除(ProjectListDialog异步化, 删同步IProjectRepository/RepoResult/ApiClient.get|postJson), 全App网络层100%异步 gaozheng 2026-06-12 09:38:24 +0800
  • 5f00cdce7a refactor(net+data+app): ProjectListDialog 异步化 + 删同步 IProjectRepository/RepoResult/ApiClient.get|postJson(清除过渡技术债,全 App 网络层异步) gaozheng 2026-06-12 09:31:54 +0800
  • 93462d78ef docs(spec): 回填异步化进度 — 导航(Part A)+登录(Part B)已落地, B3/A6 删同步因 ProjectListDialog 仍同步而 BLOCKED gaozheng 2026-06-12 09:13:09 +0800
  • 6b4267d78a harden(net+app): 登录句柄终态置 aborted_ + connect 用成员 QPointer + ApiChain 首步同步契约注释 + LoginLoad step 抛异常离线测 + 注释更正(Part B 评审 I-1/I-2/I-3/M-2/M-4) gaozheng 2026-06-12 09:11:54 +0800
  • d1c1bf96b1 feat(net+app): AuthService/登录异步化(CaptchaLoad/LoginLoad+ApiChain, LoginWindow 不冻可取消, test_auth 异步化) gaozheng 2026-06-12 09:01:07 +0800
  • 4ca5893800 harden(controller): ChartStrategyRegistry 显式禁拷贝/保留移动(保护 find() 裸指针,评审 I-1) gaozheng 2026-06-12 08:20:20 +0800
  • 0cb0ed8aa0 refactor(detail): 控制器按 ddCode 走 ChartStrategyRegistry 分派, 未注册优雅降级 (替代硬编码 dd_inversion_data) gaozheng 2026-06-12 08:14:19 +0800
  • 62352395ba harden(controller+net): setCheckedTms 去重 + loadMore 失败回滚页号 + 非拥有所有权注释更正 + ApiChain 待用注释 + selectObject 部分失败测试(Part A 评审 I-2/I-3/I-4/M-1/M-4) gaozheng 2026-06-12 08:04:08 +0800
  • b097fa6e56 feat(controller): WorkbenchNavController 异步化(NavRequest续延+并发计数, abort-and-replace+身份比对, 删busy_/drain/BusyGuard, busyChanged=在飞存在性) + 单测 gaozheng 2026-06-12 07:51:35 +0800
  • 05f0bf3d4f feat(data): ApiProjectRepository 实现 IAsyncProjectRepository(9方法,Async后缀,薄封装,新旧并存) gaozheng 2026-06-12 07:42:00 +0800
  • 2ee1ccdb0f feat(data): IAsyncProjectRepository 异步导航仓储抽象(薄封装,返回NavRequest,Async后缀) gaozheng 2026-06-12 07:39:41 +0800
  • 4beb7a9523 feat(data): NavRequest 单请求异步句柄(QVariant payload, abort闸门) + 元类型声明 + 离线单测 gaozheng 2026-06-12 07:38:59 +0800
  • 22a7f2339e feat(net): ApiChain 顺序依赖链原语(fail-fast+abort闸门+工厂可抛) + 离线单测 gaozheng 2026-06-12 07:36:50 +0800
  • 751b486254 docs(plan): 异步化铺开(导航+登录)计划 + 其余 dd 类型详情图扩展计划(Phase0 样本探查+策略分派打通) gaozheng 2026-06-11 21:36:18 +0800
  • 6d0ec909ec docs(spec): 回填进度现状 — async 仅 DatasetDetail 试点已完成(导航/登录待铺开);详情图仅 dd_inversion_data 完成(QwtPlot 落地, 余 dd 类型待样本) gaozheng 2026-06-11 21:24:28 +0800
  • 8b3bc50f58 harden(app): setData 重置遮罩 + loadFailed context=detailPanel(防野指针) + LoadingOverlay Q_ASSERT(parent) + 删未用 include(评审 I-1/I-2/M-3/4/5) gaozheng 2026-06-11 21:06:35 +0800
  • dc9506c260 feat(app): 网格懒加载「加载中」遮罩(LoadingOverlay) 接 loadStarted/隐藏于就绪或失败 gaozheng 2026-06-11 20:59:32 +0800
  • eaa3770f93 feat(app): qRegisterMetaType<ApiResponse> 注册(异步信号元类型,防御性) gaozheng 2026-06-11 20:53:58 +0800
  • 350f46060d harden(controller): 析构 abort 在飞句柄(退出契约 spec §7) + Grid 路径回灌/失败用例对称覆盖(评审 I-1/M-3/M-4) gaozheng 2026-06-11 20:51:45 +0800
  • e57985c057 feat(data+controller): ApiDatasetRepository 改异步 + DatasetDetailController abort-and-replace+句柄身份比对+loadStarted(移除 busy_/catch)+ 回灌防护测试 gaozheng 2026-06-11 20:37:10 +0800
  • 8cdd6679a9 harden(data): 句柄 emit done 移出 try + catch(...) 兜底 + parse 抛异常测试(评审 I-1/M-5) gaozheng 2026-06-11 20:31:07 +0800
  • bb602e2011 feat(data): 异步仓储接口 + ChartLoad/GridLoad 句柄(抽象基+Api实现) + 离线单测 gaozheng 2026-06-11 20:19:32 +0800
  • e980ddd346 harden(net): ApiBatch 契约断言(非空calls/非空谓词)+fail-fast注释+单元素测试(评审 I-1/I-2/M-1/M-2) gaozheng 2026-06-11 20:13:48 +0800
  • 72b300d722 feat(net): ApiBatch 并发汇聚+fail-fast+abort闸门 + 离线单测 gaozheng 2026-06-11 20:05:53 +0800
  • f74d47e62e harden(net): ApiCall onFinished reply 快照防御 + 构造 Q_ASSERT(reply)(评审 H3/L1) gaozheng 2026-06-11 19:59:23 +0800
  • 8f94443323 feat(net): ApiClient.getAsync/postJsonAsync + IApiCall/ApiCall 异步句柄(abort+aborted_ 闸门,AUTOMOC ON) gaozheng 2026-06-11 19:51:48 +0800
  • c90ea83a04 refactor(net): 抽出 buildResponse,sync/async 共用响应解析(DRY,行为不变) gaozheng 2026-06-11 19:43:37 +0800
  • 66541b5ef8 docs(plan): ApiClient 异步化(DatasetDetail 路径)实现计划 — 8 任务 TDD/bite-sized,含 net原语/data句柄/控制器/UI遮罩 gaozheng 2026-06-11 19:37:29 +0800
  • a8be6133a1 docs(spec): 纳入 opus 架构评审 — abort 闸门(aborted_+句柄身份比对)/fail-fast/退出契约/code==200判定/旧方法去向/回灌回归用例 gaozheng 2026-06-11 19:28:07 +0800
  • 69357bccd3 docs(spec): ApiClient 异步化设计(DatasetDetail 路径试点:ApiCall/ApiBatch/句柄+abort,信号面不变) gaozheng 2026-06-11 19:20:15 +0800
  • 5483a430bc docs: 数据集详情图表重构交接文档(背景/目标/进度/下一步/文件地图/决策) gaozheng 2026-06-11 19:03:13 +0800
  • 78f96dbc08 fix(review): 修 cpp-review HIGH/MEDIUM —散点ys越界/colorSvc析构泄漏/QwtPlot autoDelete注释/控制器catch(...)防busy死锁 + 清死代码simplifyInPlace/simplifyTol + 填充等比限幅 + DTO行数校验+枚举钳制 + ContourLine.level默认NaN gaozheng 2026-06-11 18:59:19 +0800
  • 57c14ae8b4 fix(ui): 等值线每条只标注一个(弧长中点),对齐原版(移除周期重复标注) gaozheng 2026-06-11 18:36:22 +0800
  • 48d21b82e9 fix(ui): 等值线 vtkSplineFilter 样条平滑(去DP简化,贴近原版圆滑曲线) + 标注沿线周期重复+降阈值(小等值线也标注) gaozheng 2026-06-11 18:33:12 +0800
  • 4fbab033f0 fix(ui): 等值线用vtkStripper连成长折线(使沿线数值标注可落上) + 网格页(图+异常)分割器放入页签内QScrollArea(滚动限页签内) + 等值线测试 gaozheng 2026-06-11 18:21:52 +0800
  • 53dbcee052 fix(ui): 数据详情dock设ForceNoScrollArea(禁ADS把标题/页签卷入整体滚动条),内容自适应填充 gaozheng 2026-06-11 17:57:54 +0800
  • 03a6622dea fix(ui): 滚轮缩放并入LivePanner并消费事件(不再触发外层滚动条) + 网格页底部改QSplitter(去固定200px,两页高度解耦/不溢出) gaozheng 2026-06-11 17:22:39 +0800
  • f14902cdd4 feat(ui): GridDataChartView 接入 QwtPlot+ContourPlotItem(真实比尺,白底,色阶条) gaozheng 2026-06-11 17:00:36 +0800
  • 32e0aaec28 feat(ui): ContourPlotItem 网格填充栅格热力图 + 矢量等值线/标注/异常叠加 gaozheng 2026-06-11 17:00:22 +0800
  • bac0a198ff feat(ui): 网格数据懒加载接线(控制器 gridReady + 页签首次激活触发) gaozheng 2026-06-11 17:00:07 +0800
  • e54a28e571 perf(ui): 原数据加载严格对齐原版只拉散点+色阶2个(异常随网格懒加载) gaozheng 2026-06-11 16:41:56 +0800
  • 1054c227e1 perf/fix(ui): 详情懒加载(双击只拉散点~0.8s,网格4s推迟) + 实时拖动平移(LivePanner替换像素抓取) + 横纵网格线 gaozheng 2026-06-11 16:33:35 +0800
  • 525c123211 feat(ui): 原数据散点锁定 x:y 真实比尺(QwtPlotRescaler aspect=1, Expanding) gaozheng 2026-06-11 16:14:37 +0800
  • cf47314500 fix(ui): 散点 滚轮缩放方向反转(上滚=放大)+放开最小宽度(随面板收缩) + 色阶条居中74%宽(非满宽,对齐原版) gaozheng 2026-06-11 16:09:00 +0800
  • 1f28505227 fix(ui): 原数据散点 白底+散点项关联xTop轴(修x压缩)+过原点零线 + 色阶条等宽色带/深色文字/白底 gaozheng 2026-06-11 15:55:32 +0800
  • e405fc1565 feat(ui): 原数据散点视图(QwtPlot x顶轴+Panner/Magnifier+连续色阶+方块散点+独立色阶条) gaozheng 2026-06-11 15:40:43 +0800
  • c7fec86d3b feat(core+chart): ColorScale::stops() 暴露断点 + ColorMapService 连续插值色阶服务 gaozheng 2026-06-11 15:40:27 +0800
  • 7808b8422a feat(ui): 数据集详情三层UI骨架(下划线页签+原数据/网格各自工具条+网格页底部异常列表/描述) gaozheng 2026-06-11 15:04:34 +0800
  • e0c36e3600 docs(plan): 二维图表返工实现计划 v2(QwtPlot 三层分离,9步对照验收) gaozheng 2026-06-11 14:54:57 +0800
  • b772b5a169 build(qwt): 集成 Qwt 6.2 静态库(cmake/qwt.cmake 对接官方Qt6,绕开qmake/vcpkg) + 冒烟用例 + 返工方案文档 gaozheng 2026-06-11 14:47:19 +0800
  • 82b654176e fix(ui): 审查修复 loadFailed接线/控制器重入守卫+ddCode降级/散点越界/点异常/Tab deleteLater/makeLines gaozheng 2026-06-11 12:42:04 +0800
  • 548895bdcf test(controller): DatasetDetailController chartReady/loadFailed 编排 gaozheng 2026-06-11 12:22:37 +0800
  • 08ba483550 feat(ui): 接线数据详情面板(移除旧VTK详情)+单击聚焦/双击打开/反向联动 gaozheng 2026-06-11 12:18:18 +0800
  • 88d2fea9df feat(ui): DatasetDetailPanel 多Tab壳(按dsId去重+反向联动信号) gaozheng 2026-06-11 12:09:38 +0800
  • b8c74962e8 feat(ui): DatasetDetailPage 原数据/网格切换+叠加开关+异常联动 gaozheng 2026-06-11 12:08:13 +0800
  • 535db496c4 feat(ui): AnomalyTablePanel ds级异常表(行眼睛→隐藏集信号) gaozheng 2026-06-11 12:07:06 +0800
  • d61775a3bc feat(controller): DatasetDetailController 编排 + ErtInversionStrategy 标识 gaozheng 2026-06-11 12:04:12 +0800
  • 46c75ed419 feat(ui): dd 图表策略接口 + 注册表(未注册降级) gaozheng 2026-06-11 12:01:31 +0800
  • facb812bca feat(ui): DatasetChartView 散点/等值面/异常叠加(QGraphicsView) gaozheng 2026-06-11 11:57:49 +0800
  • 3192cf24cf feat(data): ApiDatasetRepository 接真实 API + loadScatterColorScale 提到接口 gaozheng 2026-06-11 11:52:05 +0800
  • e1bbf39d6d feat(data): DatasetChartDto 解析 inversion网格/散点/colorBar/异常 gaozheng 2026-06-11 11:50:08 +0800
  • 00c42f7a8d feat(render): ContourBands NaN 凸包裁剪(剔除无效quad)+等值线DP简化 gaozheng 2026-06-11 11:41:26 +0800
  • b7e0a2034d feat(render): ContourBands 双线性上采样+盒式平滑预处理(对齐 web 2x+smooth) gaozheng 2026-06-11 11:39:05 +0800
  • f1ad490096 feat(render): ContourBands 从 VTK banded 提取色带多边形+等值线几何 gaozheng 2026-06-11 11:37:09 +0800
  • 179f46b42c feat(core): Grid 增 NaN 约定 + hasValue(凸包裁剪用) gaozheng 2026-06-11 11:34:11 +0800
  • 467dbb3841 chore(scripts): 本地构建/测试封装(vcvars+VS cmake/ctest, build/release) gaozheng 2026-06-11 11:30:52 +0800
  • 29cef952fe docs(plan): 数据集详情视图改造实现计划(TDD,7 阶段) gaozheng 2026-06-11 11:16:45 +0800
  • e2c8fccbde docs(spec): 数据集详情视图改造为平面图表(QGraphicsView,源码级复刻 web) gaozheng 2026-06-11 10:52:05 +0800
  • 012abcf423 Merge pull request 'feat/object-selection-panels' (#4) from feat/object-selection-panels into main gaozheng 2026-06-10 21:33:30 +0800
  • b7fbb0457c 清理重复文件 gaozheng 2026-06-10 21:33:07 +0800
  • 72abeaa1d8 fix(ui): 修复 DynamicFormView::clear() 对嵌套布局重复释放导致的崩溃 gaozheng 2026-06-10 21:31:00 +0800
  • 3daaad3de3 fix(controller): setCheckedTms busy 时挂起重放(不丢弃) + 切项目清 currentParentId/挂起态 gaozheng 2026-06-10 21:22:39 +0800
  • d435fca32d feat(ui): 属性面板改两列卡片式表单(边框/底色/分隔线,主题协调) gaozheng 2026-06-10 21:18:12 +0800
  • 7a56e49584 feat(ui): 接线 对象单击/勾选/数据集单击 → 三面板(移除占位) gaozheng 2026-06-10 21:04:38 +0800
  • 0d17a00931 fix(ui): 对象树项目根设为非交互容器(仅 GS/TM 可勾选/单击) gaozheng 2026-06-10 20:58:09 +0800
  • 68296a5d36 feat(ui): ObjectTreePanel GS三态勾选 + objectClicked/checkedTmsChanged 合并发射 gaozheng 2026-06-10 20:50:51 +0800
  • 595d65cd3b feat(ui): ObjectExceptionPanel 异常+异常体只读树(含详情展开) gaozheng 2026-06-10 20:44:25 +0800
  • 5686155faa feat(ui): DynamicFormView 动态表单分组键值渲染器 gaozheng 2026-06-10 20:36:03 +0800
  • 6cf53ab199 fix(controller): 无条件清异常缓存(跨空间) + 移动语义 + 信号参数正名 gaozheng 2026-06-10 20:29:46 +0800
  • 8cab498f81 feat(controller): selectObject/setCheckedTms/selectDataset 编排 + 异常缓存 gaozheng 2026-06-10 20:22:09 +0800
  • 4621e11c73 feat(data): 仓储泛化 loadRows + 对象/数据集详情 + 按TM异常 接口实现 gaozheng 2026-06-10 20:15:00 +0800
  • a21d392816 feat(data): groupExceptionsByConsortium 按异常体分组 + 独立异常 gaozheng 2026-06-10 20:09:37 +0800
  • acf71bdaef feat(data): parseExceptions 映射异常字段 + 详情摘要 gaozheng 2026-06-10 20:03:28 +0800
  • 0018c11e0a feat(data): parseDynamicForm 合并动态表单字段定义与值(含排序) gaozheng 2026-06-10 19:56:55 +0800
  • 37300d523e docs(plan): 对象单击/勾选驱动三面板 实现计划(TDD,10 任务) gaozheng 2026-06-10 19:48:22 +0800