gaozheng
|
209d85536c
|
docs(vtk): 三维体持久化策略-参数+GridSpec必存,明细可选缓存,缺则按参数重算填固定规格;含存储字段VolumeBuildParams定义
|
2026-06-17 19:36:25 +08:00 |
gaozheng
|
5d1384d2a9
|
docs(vtk): 三维体设计定稿-创建=客户端;异常增删改读端点已从web源码找到(POST/PUT/DELETE /business/exception+类型/异常体)接真实;三维体/切片/插值无端点先mock
|
2026-06-17 19:24:34 +08:00 |
gaozheng
|
1ad0e372cc
|
docs(vtk): 三维体/切片/异常数据模型与客户端交互设计(需求实证+6问结论+代码现状,标清接后端/先mock,作为#2~#6实现依据)
|
2026-06-17 19:12:30 +08:00 |
gaozheng
|
a2e16e18e8
|
web版页面可嵌入改造方案
|
2026-06-17 18:09:25 +08:00 |
gaozheng
|
540fb1cde5
|
docs(vtk): 三栏结构重构设计 + 高保真原型(方案C视图内嵌侧栏/全屏/右键菜单/改名VTK视图)
|
2026-06-16 14:39:33 +08:00 |
gaozheng
|
918088e67a
|
docs(spec): VTK 3D spec v2(纳入评审+web实地分析) + P1复活渲染计划
- spec v2: 纳入架构评审硬伤修正(Scene加vtkProp入口/接口异步/任意切片钉死vtkImageReslice/去裸数组出参)
- 新增§1.5 web实地分析: web 3D=ThreeTile(Three.js)地球+多瓦片源;3D结果=2D反演剖面成帘面
- 关闭开放问题: 三栏=客户端新设计(web无三栏)/异常=切片面2D多边形/底图多源已确证
- 新增 P1 计划: VtkSceneController + I3dSceneRepository(LocalSample异步) + Scene加vtkProp, TDD分6步
|
2026-06-15 14:01:11 +08:00 |
gaozheng
|
faee28c007
|
docs(spec): VTK 三维视图补充需求设计稿
- 通读需求表「补充需求」页签 + 源码核实 VTK 现状
- 关键判断:中央 VTK 当前为空壳(编排层喂空数据,图层勾选死代码),
但 render 层 actor 完整有测试,原型渲染原语未丢
- 逐行映射补充需求 → 现状/落地方式(§4)
- 设计 I3dSceneRepository 仓储接口(维度筛选/三维体/切片CRUD/异常体/任务),
本轮 LocalSample 静态数据实现,预留后端
- 编排层 VtkSceneController + 交互层 interact/(切片/拾取/圈异常)
- 分期建议 P1复活渲染 → P2三维数据集栏 → P3切片交互 → P4异常/详情/任务 → P5二维底图
|
2026-06-15 12:30:53 +08:00 |
gaozheng
|
85e455ae4b
|
feat(workbench): 对象/数据集交互对齐规格 + 属性面板可编辑保存
提交体按 bundle/OpenAPI 源码确证修正(替换早期推断版本):
- 新建/编辑 GS:{gsTypeId,parentId(仅新建),projectId,name,responsiblePersonName,properties}
- 新建/编辑 TM:{tmTypeId,id?,name,properties,projectId,parentId,parentType:"1"}
- 去除误用的 typeId/type/structParentId/structParentConfType
动态表单:
- displayComponentType 全集控件映射(1-11 + 默认步进数字)
- requiredType 语义:1=必填、2=只读禁用、其他=可选
- 顶层固定字段(gsTypeId/tmTypeId/name/responsiblePersonName)
新建对象:
- 单弹框 + 框内类型下拉,选后刷新动态表单(GS/TM 对称)
- 方法类型用全局 project/tmList;GS 类型用 project/gsList
- 父对象按节点类型解析:选 TM 仅新建同级 TM(父=其GS/根);项目根按 GS 处理
- 对象树右键 + 面板「添加+」按钮按节点类型分项
属性面板可编辑保存:
- 对象属性面板可编辑 → PUT gsObject/tmObject
- 数据集属性面板:元字段只读 + 描述可编辑 → updateDsObject
{dsObjectId,description,attachedParameters:{deltaContent}}
数据集:导入向导(multipart) + 模板导出对话框(templateExport/export)
文档:spec(§B 提交体/§E 源码补全) 与 plan 同步更新
|
2026-06-15 11:52:41 +08:00 |
gaozheng
|
1f0081ee34
|
feat(workbench): 对象/数据集视图交互 — 右键菜单/筛选/删除 + 动态表单编辑保存与新建TM
Batch1(骨架+读联动+删除+筛选):
- ApiClient 补 putJsonAsync/deleteAsync
- 删除 GS/TM/DS(真实 DELETE + 确认框 + 成功刷新)
- 对象树右键菜单(9项)/数据集右键菜单:属性·异常详情·详情联动接现有面板;显示隐藏/定位等 2D/3D 占位
- 快速筛选器(对象按类型批量勾选/反选;数据集按类型+创建日期客户端过滤)+ 数据集单击 tooltip
- 复选框手势修复:点勾选不再触发"选中"重载(viewport 事件过滤 + 复选框命中判定)
Batch2(动态表单引擎+写操作):
- DynamicFormEditor:getDynamicForm schema 驱动(comp1/4/6/7/8 + 必填校验 + properties 预填)
- ObjectFormDialog:拉真实表单→校验→提交
- 编辑保存 PUT /business/{gs|tm}Object(成功刷新,失败回显后端 msg)
- 新建 TM:queryTmType 选型→空表单→POST(带父 GS 上下文)
- 插件子菜单:列出真实 model/list(启动缓存)
数据层:
- EditableForm/TmTypeOption/ModelInfo DTO + parseEditableForm/parseTmTypes/parseModels
- StructNode.typeId;repo loadEditableForm/queryTmTypes/submitObject/listModels;controller currentProjectId()
注:保存/新建请求体为推断(OpenAPI 未文档化提交 body),待真实提交验证后定版。
docs: plans/2026-06-13-object-dataset-interactions.md, specs/2026-06-13-batch2-object-dataset-dialogs.md
|
2026-06-13 20:03:30 +08:00 |
gaozheng
|
10072eb4b3
|
feat(dataset-detail+app): 数据集树/按根分页 + 暗色主题保真 + 详情图保真 + 桌面日志崩溃捕获
本分支累积的数据集详情与桌面端健壮性工作(多轮迭代,已逐项实测/用户验收),一次性提交。
数据集列表树化 + 按根分页:
- 原版数据列表为 el-table 树(派生数据按 sourceShowParentId 挂源「原始数据」下);
DsRow 加 parentId,parseDsRows 解析 sourceShowParentId(回退 parentId),
DatasetListPanel 由 QListWidget 改建 QTreeWidget(卡片委托泛化到 QAbstractItemView)。
- 后端 data/page 按扁平 DS 分页 → 改为客户端按「第一层节点(根)」分页:
loadRowsAsync 加 pageSize,selectObject 一次取全,新增 emitNextDataRootPage 按根切页(5根/页),
loadMoreData 改同步切页;main.cpp 加载更多计数改按根。
暗色主题保真(浅色保持与原版 1:1,仅暗色改 token):
- 新增 ChartTheme::applyChartPlotTheme:按 isDarkTheme() 设 QwtPlot 画布/轴字/网格/零线配色,连 ThemeManager::changed 热切换。
- ColorBarWidget、LoadingOverlay 底色/蒙板/文字同步跟随主题。
详情图渲染保真:
- colorBar alpha 标度修复(混合 hex+rgba 格式,rgba alpha 为 0–1,Bit255→Unit)。
- 散点 cauto 归一化(ColorMapService.setDataRange 解耦色阶形状与数据归一化)。
- 散点 hover 提示(ScatterHoverTip,X/Y/值 3 位小数,canvas mouseTracking)。
- 详情页签用数据名命名。
桌面端日志 + 崩溃捕获:
- Logging:滚动日志 + MiniDump 崩溃捕获 + VEH 抛点符号化;main.cpp GuardedApplication::notify 顶层异常护栏。
- 根 CMakeLists Release 产出 PDB(/Zi /DEBUG);ColorMapService NaN/Inf 守卫。
测试 116→122 全绿(+ParseDsRowsParentIdForTree / DataPaginatesByRootNodeNotFlatCount / 散点/colormap 回归)。
|
2026-06-12 19:00:32 +08:00 |
gaozheng
|
067852e08b
|
docs(spec): 异步化主题完成 — 技术债清除(ProjectListDialog异步化, 删同步IProjectRepository/RepoResult/ApiClient.get|postJson), 全App网络层100%异步
|
2026-06-12 09:38:24 +08:00 |
gaozheng
|
93462d78ef
|
docs(spec): 回填异步化进度 — 导航(Part A)+登录(Part B)已落地, B3/A6 删同步因 ProjectListDialog 仍同步而 BLOCKED
|
2026-06-12 09:13:09 +08:00 |
gaozheng
|
6d0ec909ec
|
docs(spec): 回填进度现状 — async 仅 DatasetDetail 试点已完成(导航/登录待铺开);详情图仅 dd_inversion_data 完成(QwtPlot 落地, 余 dd 类型待样本)
|
2026-06-11 21:24:28 +08:00 |
gaozheng
|
a8be6133a1
|
docs(spec): 纳入 opus 架构评审 — abort 闸门(aborted_+句柄身份比对)/fail-fast/退出契约/code==200判定/旧方法去向/回灌回归用例
|
2026-06-11 19:28:07 +08:00 |
gaozheng
|
69357bccd3
|
docs(spec): ApiClient 异步化设计(DatasetDetail 路径试点:ApiCall/ApiBatch/句柄+abort,信号面不变)
|
2026-06-11 19:20:15 +08:00 |
gaozheng
|
e2c8fccbde
|
docs(spec): 数据集详情视图改造为平面图表(QGraphicsView,源码级复刻 web)
- 详情 dock 从 VTK 渲染换为本地面板+平面图表,并真正接上数据集选择
- 散点=Plotly scattergl 方块(客户端用 QGraphicsRectItem 复刻输出)
- 网格等值面=自制 marching-squares 引擎;采用 VTK+预处理混合方案(~95%)
上采样2x+平滑+banded+NaN凸包裁剪+等值线简化
- 真实 API:getErtRawDataScatterGraph/inversion·rows/colorGradation/queryException
- dd 类型驱动的图表策略框架,首版落地 dd_inversion_data
- 异常归属辨析:右上对象异常(地图)与详情底部异常表(图表)并存
- 复用 core::Grid/ScatterField/ColorScale/Anomaly + 现有 GridContourActor 管线
|
2026-06-11 10:52:05 +08:00 |
gaozheng
|
b7fbb0457c
|
清理重复文件
|
2026-06-10 21:33:07 +08:00 |
gaozheng
|
c3cedd8c2a
|
docs(spec): 异常面板纳入异常体只读树(对象→异常体→异常+独立异常),详情展开做/眼睛推迟
|
2026-06-10 19:38:29 +08:00 |
gaozheng
|
8ac5f33c7f
|
docs(spec): 对象单击/勾选驱动 数据列表·异常·属性 三面板(接真实API)设计
|
2026-06-10 19:27:32 +08:00 |
gaozheng
|
475af464d9
|
docs(spec): 补齐项目列表弹窗/ds加载更多分页/创建时间显示/分页条数(10·5)/状态映射(1未开始2进行中)
|
2026-06-09 18:45:25 +08:00 |
gaozheng
|
7cdc7b8077
|
docs(spec): 对齐数据/文件页签接 data-page/file-page + DsRow/loadTmRows/filesLoaded
|
2026-06-09 14:58:55 +08:00 |
gaozheng
|
1f1cf5cd3c
|
docs(spec): 对齐实现(buildStructTree/StructTreeNode + structureLoaded 扁平节点 + 防重入/URL编码)
|
2026-06-09 12:17:11 +08:00 |
gaozheng
|
1fd8bb4d63
|
docs: 保留并解耦中央三维编排(CentralScene helper) + 补充下一轮对接真实DS步骤
|
2026-06-09 10:49:31 +08:00 |
gaozheng
|
3992a49c8f
|
docs: 接入真实导航(工作空间/项目/对象树) 设计文档
|
2026-06-09 10:18:34 +08:00 |
gaozheng
|
72761fc05f
|
feat(ui): 工作台与登录 UI/UX 整体重构,对齐 Web 原型
- 登录窗品牌化重设计(头部横幅+纵向字段),移除默认账号密码
- 全局浅色主题精致化:基准字体 10pt、去线框留白、下划线标签页、扁平分隔条、High-DPI 直通、压平 Fusion 3D 立体描边
- 顶部:菜单栏(视图/项目管理/业务工具/设备 多级菜单)+ 工具条(工作空间切换/项目选择/帮助·通知·设置/用户)
- ADS 子窗口去除关闭·浮动·拖动等操作并隐藏自带标题栏;改用自绘面板表头(图标+标题+操作按钮)
- 右侧异常列表/对象属性合并为 Tab 面板,属性独立面板;数据集动态标题+数量徽标
- 矢量图标体系(Lucide SVG via QSvgRenderer);状态栏常驻坐标系/世界系原点
- 对象树修复:单标题、保留折叠箭头、选中高亮不覆盖缩进列
|
2026-06-08 21:06:59 +08:00 |
gaozheng
|
2d39a3af26
|
docs(crs): 实证确定项目 CRS = EPSG:4547 (CGCS2000 3度带 GK CM 114E)
- 方法: 同一测线既有网格电极 lat/lon(EPSG:4326) 又有散点 projectX/Y;
pyproj 把 lat/lon→EPSG:4547 得 dX=0.20m/dY=0.30m(亚米级), 反向~0.3m;
Krassovsky(北京54)椭球差 44m 排除 → 椭球 GRS80/CGCS2000(与 WGS84 现差<1m)。
- proj4: +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80
- 旧"EPSG:32649 解出 111°E"系因 32649 中央经线=111°E; 改 CM=114°E 即完美吻合。
- 影响: DEM/影像 与 dd_voxel 回归 不再被 CRS 阻塞(散点可经 4547→4326→GeoLocalFrame
与帘面/地图配准)。影像 tfw 仍 EPSG:3857 须重投影; dem.tif CRS 待 GDAL 核对。
- 同步 STATUS §4/§5 + spec §5。
|
2026-06-08 08:50:25 +08:00 |
gaozheng
|
95bc521f49
|
docs: 同步 spec/STATUS/plan 至正确视图模型(二维地图=测线线/三维=竖直帘面/数据详情=#18; 体素搁置CRS; 渲染须离屏PNG核对) — 供下次会话接续P4
|
2026-06-07 23:40:55 +08:00 |
gaozheng
|
d32cbbf7c4
|
feat(net): RSA 加密器(OpenSSL PKCS1v1.5+base64) + 捕获真实 RSA 公钥
- RsaEncryptor: EVP_PKEY 解析公钥(非法 PEM 抛异常) + PKCS#1 v1.5 加密 + base64; 3/3 测试过
- resources/rsa_public_key.pem: 用 Playwright route 注入 setPublicKey hook + 缓存绕过, 真登录捕获的 RSA-2048 公钥
- spec §8.3: RSA 公钥阻塞解除
- vcpkg.json: 加 openssl
|
2026-06-07 21:17:38 +08:00 |
gaozheng
|
d2006cb0c8
|
docs(§5): 修正 CRS 假设 — projectX/Y 非 EPSG:32649(实测 111°E vs 数据 114°E/香港), M1.5 底图前须确认
|
2026-06-07 20:08:51 +08:00 |
gaozheng
|
bb32e9890c
|
docs: RSA 公钥非静态字面量, 改为 Phase 3 运行时断点提取(§8.3)
|
2026-06-07 19:19:15 +08:00 |
gaozheng
|
c76461609a
|
build: 切换为方案②-修订(官方 MSVC Qt + 源码 VTK + vcpkg 仅非Qt依赖)
经双专家评审+实机勘验: 原装 D:\Qt\6.11.1 为 MinGW 版(MSVC 不可链), VTK 无 MSVC 预编译须源码编, VS18=14.51 链官方 Qt(v143) ABI 安全(新链旧)。
- vcpkg.json: 移除 qtbase/qttools/vtk/qtkeychain/qt-advanced-docking-system(凡依赖 Qt 者不走 vcpkg), 仅留非 Qt 依赖
- CMakeLists/CMakePresets: 官方 Qt 经 CMAKE_PREFIX_PATH, VTK 经 VTK_DIR(external/vtk-install), ADS/QtKeychain 走 FetchContent
- 设计 §11/K-8 + ENV_SETUP 改写为方案②-修订; external/ 加入 .gitignore
|
2026-06-07 18:28:30 +08:00 |
gaozheng
|
fe7737b175
|
chore: 登录机制核实 + 样本离线渲染验证
- 登录: JSEncrypt RSA-2048, login2(/admin/tenant/auth), token=data.accessToken
- tools/validate_samples.py: 复现 #17 散点/#18 网格等值面, 验证解析+色阶+异常逻辑
- 量化两剖面几何(夹角77.7度,十字支撑), 佐证可信体数据依赖(需>=3线/3D网格)
- spec §8 更新登录细节; _validate 产物已忽略
|
2026-06-07 17:35:38 +08:00 |
gaozheng
|
667e97ed1b
|
docs: 初始提交 Geopro3.0 桌面客户端材料与 M1 架构设计
- 技术选型与架构规约、Excel 功能菜单、business/admin OpenAPI
- 三维数据样本(剖面/网格/色阶/异常/雷达/DEM)与数据格式说明
- M1 架构设计 v2(双专家评审+数据核验修订)与 Windows 环境搭建指引
|
2026-06-07 17:30:16 +08:00 |