# 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 方法:保留 JSDoc(IntelliSense 需要) - 业务逻辑限制:保留注释("第三方引擎无 API") - 生命周期步骤:保留注释(理解执行时机)