# minimap

生成一个 2D 小地图叠加层，在 3D 场景中跟踪目标对象。渲染到注入 `viewer.el` 的 `<canvas>` 元素中。

```typescript
import { Minimap } from 'u-space/plugins/minimap';

const minimap = new Minimap(viewer);
minimap.target = myCharacterModel; // 要跟踪并显示的 Object3D
minimap.setSize(300, 300);         // 宽高（像素）

// 可选：设置小地图场景样式
minimap.scene.background = new THREE.Color(0x111111);

minimap.enable();
// 之后：
minimap.disable();
minimap.dispose();
```

**属性：**

| 属性          | 类型                  | 说明                                     |
| :------------ | :-------------------- | :--------------------------------------- |
| `target`      | `Object3D \| null`    | 小地图居中显示的对象。                   |
| `scene`       | `Scene`               | 小地图内部的 Three.js 场景。             |
| `camera`      | `OrthographicCamera`  | 正交俯视相机。                           |
| `marker`      | `Object3D`            | 显示主相机位置/朝向的箭头网格。          |
| `needsUpdate` | `boolean`             | 设置为 `true` 可强制重新渲染小地图。     |

**方法：**

- `setSize(width, height)` — 调整小地图画布和相机视锥大小。
- `enable()` — 将画布附加到 `viewer.el` 并开始渲染。
- `disable()` — 移除画布并停止渲染。
- `dispose()` — 禁用并清理所有资源。
