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

32 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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"
- 生命周期步骤:保留注释(理解执行时机)