feat(registry): 注册 ComponentDetailManager 到全局 Registry 和 BimEngine

This commit is contained in:
yuding
2026-01-28 12:00:55 +08:00
parent 33f1c72791
commit 89789e003b
87 changed files with 37063 additions and 24064 deletions

View File

@@ -0,0 +1,4 @@
# Issues - measure-clearall
## Session Start: 2026-01-27T09:51:18.385Z

View File

@@ -0,0 +1,58 @@
# Learnings - measure-clearall
## Session Start: 2026-01-27T09:51:18.385Z
## Task Completion Summary
### Status: ALL TASKS COMPLETE ✅
所有代码已经在之前的会话中实现完成。
### Task 1: Engine 组件添加 clearAllMeasures 方法 ✅
- **位置**: `src/components/engine/index.ts:390-399`
- **实现内容**:
```typescript
/**
* 清除所有测量标注
*/
public clearAllMeasures(): void {
if (!this._isInitialized || !this.engine?.measure) {
return;
}
console.log('清除所有测量标注');
this.engine.measure.clearAll();
}
```
- **验证**: ✅ 方法包含引擎初始化检查、console.log 输出、调用第三方引擎 API
### Task 2: MeasureDialogManager onClearAll 回调对接 ✅
- **位置**: `src/managers/measure-dialog-manager.ts:46-48`
- **实现内容**:
```typescript
onClearAll: () => {
console.log('[MeasureDialogManager] 删除全部');
this.registry.engine3d?.clearAllMeasures();
},
```
- **验证**: ✅ 回调正确调用 Engine 组件方法,使用可选链防止 null 错误
### Build Verification ✅
- **命令**: `npm run build`
- **结果**: 构建成功,无错误
- **输出**:
```
dist/iflow-engine.es.js 2,002.63 kB │ gzip: 452.16 kB
dist/iflow-engine.umd.js 1,315.52 kB │ gzip: 348.36 kB
✓ built in 3.85s
```
### Architecture Compliance ✅
- ✅ 所有底层引擎调用封装在 Engine 组件中
- ✅ Manager 层只调用 Engine 组件公共方法
- ✅ 没有直接使用 `getEngine()`
- ✅ 遵循现有命名风格和封装模式
### Git Status
- 修改的文件已包含在 git status 中
- 需要用户决定是否提交(计划中建议分两次 commit但代码已在之前提交