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

32 lines
1.2 KiB
Markdown
Raw Normal View 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"
- 生命周期步骤:保留注释(理解执行时机)