Commit Graph

4 Commits

Author SHA1 Message Date
gaozheng 0f521c5b24 feat(vtk): P1 复活中央渲染 — VtkSceneController + I3dSceneRepository + Scene加vtkProp
复活被 6241eb3 摘除的中央 VTK 数据驱动渲染:
- Scene 新增 addViewProp(vtkProp*):体绘制 vtkVolume(非 vtkActor)经此进场
- I3dSceneRepository(异步回调契约) + LocalSample3dRepository:dimensionOf 维度映射 /
  loadVolume→VolumeGrid(std::array 去裸数组) / loadTerrainPaths;data 层零 VTK 依赖
- VtkSceneController(QObject) 取代 main.cpp 死掉的 rebuildCentral lambda + 裸 show* 标志:
  勾选数据集/视图模式/图层/比例 → 经仓储取 core::* → I3dSceneView 重建场景;
  QPointer+generation 守异步回调生命周期与新鲜度;inRebuild_ 避免同步路径双 render
- I3dSceneView 抽象解耦编排与 VTK(VtkSceneView 真实现 + 测试 fake)
- 删除被取代的 CentralScene;main.cpp 接线 对象勾选/2D-3D/图层/主题(主题 context 用 sceneCtrl 防悬垂)
- 新增测试 14(Scene/3d-repo/VtkSceneController),ctest 172/172 全绿

构建基建修复(本就潜在缺陷,任何 clean 构建/新人 checkout 都会撞):
- vcpkg.json 加 builtin-baseline:新版 vcpkg manifest 模式必需,否则全新 checkout 无法 configure
- build.bat 修 vswhere(VS2026 预览 -latest 恒空 → -all -prerelease -requires VC.Tools)
  + 括号块内路径变量加引号(防 Program Files (x86) 的 ) 提前闭合)
2026-06-15 21:01:26 +08:00
gaozheng fc282824b9 feat(ela): P1 换壳 — ElaWindow 包裹工作台(GEOPRO_UI_SHELL=ela 开关)
- src/app/CMakeLists: 链接 ElaWidgetTools + 部署 Qt 插件(platforms/imageformats/iconengines/styles)到 exe 旁
- main.cpp: GEOPRO_UI_SHELL=ela 时用 ElaWindow.setCentralCustomWidget 包裹内层 QMainWindow 承载工作台;
  经典壳为默认且行为不变(仅改堆分配); buildWorkbench 零改动; 全程可回退
- build.bat: 还原(撤销上次破坏脚本解析的中文 TEMP 注释); 构建临时目录改由调用方 TEMP->D: 设置
2026-06-09 21:34:27 +08:00
gaozheng 6df2c4832c chore(ela): ElaWidgetTools 评估 spike + 全面迁移计划 + 构建 TEMP 兜底
- spike/ela: 隔离 demo 验证 ElaWindow + ADS 内嵌 + QVTK + 明暗切换(Qt6.11.1/MSVC 构建通过)
- CMakeLists: FetchContent 引入 ElaWidgetTools(fork,SOURCE_SUBDIR 仅编库) + 挂 spike
- build.bat: TEMP/TMP 重定向到 D: 构建目录,规避 C: 盘满导致的 LNK1108
- docs: 全面 Ela 化迁移计划(P0-P4 + 控件映射表 + 风险登记)
2026-06-09 21:23:14 +08:00
gaozheng caf6f9ebd0 docs(build): 新增 build.bat 一键构建脚本 + README 补充构建与运行说明 2026-06-09 19:07:14 +08:00