geopro/docs/superpowers/plans/2026-06-07-m1-phase0-spike-...

2.6 KiB
Raw Blame History

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.pyvalidate_voxel.py 结论为地面真值。