47 lines
2.6 KiB
Markdown
47 lines
2.6 KiB
Markdown
# M1 Phase 0 — Spike 门槛结论报告
|
||
|
||
**日期**:2026-06-07
|
||
**结论**:✅ **三个 spike 全部通过,门槛 PASS,可进入 Phase 1。**
|
||
|
||
## 实机环境(实测)
|
||
|
||
| 项 | 值 |
|
||
|---|---|
|
||
| VS | **Visual Studio 2026 (v18.0)**,MSVC 工具集 **14.51.36231**(cl 19.51) |
|
||
| Qt | **官方 MSVC kit 6.11.1**(`D:\Qt\6.11.1\msvc2022_64`,v143 预编译) |
|
||
| VTK | **9.6.2 源码编**对接官方 Qt → `external/vtk-install`(含 GUISupportQt) |
|
||
| vcpkg | `d:\dev\vcpkg`(仅非 Qt 依赖;按层递增) |
|
||
| 磁盘 | C: 仅 ~0.9GB → 全部源码/构建/TEMP 重定向到 D: |
|
||
|
||
## Spike 结果
|
||
|
||
| Spike | 内容 | 结果 |
|
||
|---|---|---|
|
||
| **S1 构建/部署** | 官方 Qt + 源码 VTK 编冒烟程序;部署 | ✅ 编译/链接/运行成功;**单一 Qt6Core.dll**(无双 Qt);qwindows 插件 + 66 VTK dll 部署;exe 启动存活 |
|
||
| **S2 ADS+QVTK** | QVTKOpenGLStereoWidget 放 ADS 停靠区,浮动/重停靠 | ✅ 反复浮动/重停靠**不黑屏不崩溃**(用户实测确认) |
|
||
| **S3 渲染管线** | 真实网格样本 banded contour 离屏渲染 | ✅ `vtkImageData→vtkDataSetSurfaceFilter→vtkBandedPolyDataContourFilter(GenerateContourEdges)` 出填充等值面+等值线,结构对齐 `ref_18`(设计 §4.3 的 B-1/B-2 修正成立) |
|
||
|
||
## 对设计的回写/确认
|
||
|
||
- **K-8 方案②-修订成立**:官方 MSVC Qt + 源码 VTK + vcpkg(非 Qt)可行,单一 Qt 已实证。原装 MinGW Qt 弃用。
|
||
- **K-9 `QVTKOpenGLStereoWidget` 选型正确**:ADS reparent 不黑屏,无需禁用浮动。
|
||
- **§4.3 网格管线选型正确**(S3 验证)。
|
||
- **色阶精确映射**(colorBar 非均匀值)为 render 层细节:S3 用线性 LUT 颜色偏蓝,render 层须用 `vtkColorTransferFunction` 按 colorBar 实际值映射(已记)。
|
||
- **VTK = 9.6.2**(非 9.3;对 Qt6.11 兼容更好,满足 spec "9.3+")。
|
||
|
||
## 构建约定(供后续/subagent 使用)
|
||
|
||
C: 空间紧张 + 需 MSVC 环境,所有构建/测试经包装器(封装 vcvars + TEMP→D: + cmake/ninja + VCPKG_ROOT):
|
||
|
||
```
|
||
cmd /c "D:\Git\lanbingtech\geopro\external\dev.bat <command>"
|
||
# 配置: ...dev.bat cmake --preset msvc-release
|
||
# 构建: ...dev.bat cmake --build build/release --target <target>
|
||
# 测试: ...dev.bat ctest --test-dir build/release --output-on-failure
|
||
```
|
||
当前统一用 **Release**(`build/release`):Debug 全量配置会因无 Debug VTK 而失败;core 纯逻辑测试 Release 即可。
|
||
|
||
## 下一步
|
||
|
||
进入 **Phase 1 — core 纯逻辑层**(`2026-06-07-m1-phase1-core.md`),subagent(opus 4.8)逐任务 TDD 实现:LocalFrame / 领域模型 / 阶梯色阶 / IDW / CrsTransform,以 `tools/validate_samples.py`、`validate_voxel.py` 结论为地面真值。
|