feat(ui): Add menu bar and customizable quick toolbar (v0.7.0)
- Menu bar groups all functions: File (import/MRU/exports), View (zoom/standard views/ortho/unit), Measure (7 checkable modes with hotkey hints), Transform (align/drag/gizmo/rotate), Tools (interference/section), QuickBar (customize/reset) - QuickBarViewModel registry: per-button visibility via XAML indexer binding QuickBar[Key].IsChecked; buttons keep static bindings - Common-user defaults visible (import/recent/zoom/iso/ortho/point/ distance/circle/angle/interference/section/clear/unit); the rest live in menus; selection persists in settings.json QuickBarKeys - Section parameter bar is its own row, shown only while section is enabled (with close button); no longer occupies space permanently - Bump version to 0.7.0; update ARCHITECTURE/CLAUDE docs (Phase 16) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -463,6 +463,29 @@ WPF retained-mode 每幀重走 visual tree → frame rate 崩。瀏覽模式因
|
||||
|
||||
---
|
||||
|
||||
## Development Phases — 第八輪(UI 重整 v0.7.0)
|
||||
|
||||
### Phase 16 — 選單列 + 可自訂快速列(工作量:M)
|
||||
|
||||
**問題:** 功能累積後單一工具列 30+ 顆按鈕擠在一排,視窗不夠寬就溢出到「▾」,難找難按。
|
||||
|
||||
- [x] **選單列**(Menu):全部功能分類下拉 — 檔案(匯入/MRU/四種匯出)、視圖(全覽/標準視圖/正交/單位)、
|
||||
量測(7 種模式 checkable + 快速鍵提示 + 清除)、變換(對齊/三點/拖曳/操作器/旋轉XYZ)、
|
||||
工具(干涉/剖面)、快速列(自訂按鈕勾選 + 恢復預設)
|
||||
- [x] **快速工具列**(`QuickBarViewModel`):只顯示使用者勾選的常用按鈕;
|
||||
註冊表定義全部按鈕(key/選單名/預設值),XAML 以索引子綁定
|
||||
`Visibility="{Binding QuickBar[Key].IsChecked, Converter=BoolToVis}"`(按鈕本體與綁定保持靜態)
|
||||
- [x] 預設常用:匯入、最近、全覽、等角、正交、點、距離、圓、角度、干涉、剖面、清除、mm⇄in;
|
||||
其餘(邊/面/面距/對齊/三點/旋轉/拖曳/操作器/四種匯出/前上右視圖)預設收進選單
|
||||
- [x] 勾選清單隨 settings.json(`QuickBarKeys`)保存;null/新按鈕用註冊表預設值
|
||||
- [x] **剖面參數列**獨立成第三列,只在 `SectionEnabled` 時顯示(含「✕ 關閉」);
|
||||
平常整條隱藏,不再常駐佔位
|
||||
|
||||
**驗收:** 選單所有功能可用(checkable 與工具列 toggle 同步);快速列勾選即時增減、重開保留;
|
||||
既有快速鍵 P/D/E/F/C/A/M + Esc 不受影響
|
||||
|
||||
---
|
||||
|
||||
## Future Extensions(下一輪)
|
||||
|
||||
- **大檔重開快取** — 匯入成功後把三角網格 + 裝配樹序列化成 sidecar 快取檔(以來源檔 hash 驗證),
|
||||
|
||||
Reference in New Issue
Block a user