Files
bim_engine/.sisyphus/notepads/section-axis-integration/decisions.md

1.2 KiB
Raw Blame History

Decisions

记录架构决策和重要选择。


[2026-01-27] 实施决策

执行方式

  • Task 1-3: Orchestrator 直接实现(代码简单,遵循既有模式)
  • 原因: 子代理调用失败JSON Parse error且任务为标准代码添加无复杂逻辑

代码模式复用

  • Engine 方法封装:复用测量功能模式(src/components/engine/index.ts:217-401
  • Manager 代理:复用测量方法代理模式(src/managers/engine-manager.ts:126-163
  • DialogManager 回调:复用 MeasureDialogManager 模式

生命周期设计

  • 打开弹窗: onDialogCreated() 中自动激活 X 轴
  • 切换轴向: onAxisChange 回调中调用 activateSectionAxis()
  • 关闭弹窗: onBeforeDestroy() 中调用 deactivateSectionAxis()
  • 关键点: 使用 clipping.disActive() 停用所有剖切,而非单个 plane 的 disActive()

幂等性保证

  • 重复激活同一轴向时,activateSectionAxis() 静默返回
  • 避免不必要的引擎 API 调用

注释策略

  • 公共 API 方法:保留 JSDocIntelliSense 需要)
  • 业务逻辑限制:保留注释("第三方引擎无 API"
  • 生命周期步骤:保留注释(理解执行时机)