Browse Source

docs: 增加 MonitorMapChrome 设计与实现计划

地图工具条/图例/比例尺抽离。
main
xiaosi 3 weeks ago
parent
commit
3c037e16c6
  1. 36
      docs/superpowers/plans/2026-08-28-monitor-map-chrome.md
  2. 25
      docs/superpowers/specs/2026-08-28-monitor-map-chrome-design.md

36
docs/superpowers/plans/2026-08-28-monitor-map-chrome.md

@ -0,0 +1,36 @@
# MonitorMapChrome Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 抽出地图 chrome(toolbar/legend/scale)。
**Spec:** `docs/superpowers/specs/2026-08-28-monitor-map-chrome-design.md`
### Task 1
Create `MonitorMapChrome.vue`;MonitorView:
```vue
<div class="map-panel">
<MonitorMapChrome
:map-mode="mapMode"
:scale-text="mapScaleText"
@set-map-mode="setMapMode"
@fit-all="fitAll"
>
<CommandProgressFloat ... />
</MonitorMapChrome>
</div>
```
或 chrome 不包 slot、同级放置 float 也可——保持 float 仍在 `.map-panel` 内。
Commit: `refactor: 抽取 MonitorMapChrome 地图工具条图例`
### Task 2 冒烟
卫星/地图切换 class active;fit 按钮可点;比例尺文案存在。
## 约束
跳过全量测试;Main 可冒烟

25
docs/superpowers/specs/2026-08-28-monitor-map-chrome-design.md

@ -0,0 +1,25 @@
# MonitorMapChrome 设计
## 目标
抽出 map-panel 内工具条 / 图例 / 比例尺为 `MonitorMapChrome.vue`。`CommandProgressFloat` 仍由页面放在 map-panel 内(或 chrome 提供 default slot)。
## 契约
**Props:** `mapMode` (`satellite`|`street`) · `scaleText`
**Emits:** `update:mapMode``set-map-mode` · `fit-all`
**Slot:** default — 进度浮层等叠加层
地图实例 / `setMapMode` / `fitAll` / `mapScaleText` 计算留页面。
## 实现
1. `src/components/MonitorMapChrome.vue`
2. MonitorView map-panel 改为 chrome + CommandProgressFloat slot/子节点
3. Commit: `refactor: 抽取 MonitorMapChrome 地图工具条图例`
## 约束
不改 mapHelper;精确 git add;中文 commit
Loading…
Cancel
Save