# Moon-EGUI 研发路线图与里程碑规范 (Roadmap)

<p>
  <a href="ROADMAP.md">简体中文</a> · <a href="ROADMAP_en.md">English</a>
</p>

> 本文档详细规划了 `moon-egui` 从 2026 年 9 月 9 日至 9 月 24 日（MoonBit 黑客松周期）的核心攻坚阶段、交付物清单、验收标准，以及赛后的长期演进规划。

---

## 1. 黑客松攻坚周期规划（2026年9月9日 – 9月24日）

```
2026.09.09         09.11                  09.15              09.18              09.21              09.24         09.25
    │──────────────│──────────────────────│──────────────────│──────────────────│──────────────────│─────────────│
  [一期: M1-M4 已交付]   [M5: 桌面专业交互完善] [M6: 工作台排版停靠] [M7: 数据密集可视化] [M8: 硬件加速与范例] [M9: 验证交付]
```

---

### 第一阶段回顾：基础架构与核心套件（9月9日 – 9月11日）[全部已交付]

在 9 月 9 日至 9 月 11 日的高效推进中，首期 4 个里程碑已全部顺利实现并完成生产环境验收：
- **里程碑 1：工程骨架与基础数学图元** (`src/math/`, `src/color/`, `src/draw/`) [已交付]
- **里程碑 2：输入状态机、游标排版与核心控件套件** (`src/core/`) [已交付]
- **里程碑 3：视窗管理、高级容器与矩形裁剪栈** (`window.mbt`, `menu_bar.mbt`, `containers.mbt`) [已交付]
- **里程碑 4：HTML5 Canvas 2D 宿主驱动与百万节点画板演示** (`examples/canvas/`) [已交付]

---

### 第二阶段规划：专业工程能力深度演进（9月12日 – 9月25日）

立足 MoonBit 语言特性，借鉴成熟 immediate-mode GUI 方案（如 Dear ImGui、egui），在接下来的两周内扎实拓展面向复杂桌面与工作站场景的基础设施能力：

---

### 里程碑 5：专业桌面交互与输入系统完善（9月12日 – 9月15日）

* **核心目标**：向专业桌面软件的交互标准看齐，完善除基础点击外的键盘流转与上下文操作能力。
* **交付清单**：
  - [ ] **全局命令面板原型 (`CommandPalette` / `⌘K`)**：快捷指令模糊检索、历史记录与键盘导航动作派发；
  - [ ] **上下文右键菜单与级联菜单 (`ContextMenu` / `SubMenu`)**：就地弹出操作菜单，支持多层级悬停展开与边缘边界自适应翻转；
  - [ ] **多行文本与轻量代码编辑 (`text_edit_multiline`)**：支持基础多行排版、行号指示栏、光标选区与剪贴板协同；
  - [ ] **分层资产树控件 (`TreeView` / `TreeNode`)**：多层级折叠展开记忆、缩进引导线与单选/多选状态维护；
  - [ ] **工程数值调节器**：环形旋钮 (`Knob`)、推子调节器 (`Fader`)，丰富多样化调节场景。
* **验收标准**：
  - 核心输入组件支持纯键盘操作顺畅穿梭，无头交互测试覆盖率稳步提升。

---

### 里程碑 6：工作台排版体系与视窗停靠探索（9月16日 – 9月18日）

* **核心目标**：从单视窗与简单流式排版，拓展至支持多视口自由划分的工作台布局能力。
* **交付清单**：
  - [ ] **可嵌套弹性分栏器 (`SplitPane`)**：支持横向与纵向视口分割，拖拽中缝发丝线按比例缩放左右/上下区域，并设边界约束；
  - [ ] **视窗磁吸与停靠机制原型 (`Docking`)**：拖拽视窗靠近边缘时的吸附引导框与多窗格选项卡式合并；
  - [ ] **动量物理与阻尼动效 (`Spring Physics`)**：为视窗拖拽、滚动停靠引入平滑可控的物理衰减，提升操控细腻度。
* **验收标准**：
  - 视窗可在工作台区域内灵活拖拽停靠，分割面板支持多级嵌套且尺寸比例稳定持久化。

---

### 里程碑 7：数据密集型组件与可视化探索（9月19日 – 9月21日）

* **核心目标**：验证在大量工程数据与节点拓扑场景下的渲染效率与可用性。
* **交付清单**：
  - [ ] **虚拟化数据表格 (`VirtualTable`)**：利用即时视口裁剪，承载大量行数据时每帧仅计算并光栅化可见部分，支持列宽调节与点击排序；
  - [ ] **节点流连线编辑器原型 (`NodeEditor`)**：支持无极画布中的节点卡片拖拽、端口（Port）连线判定与自适应三次贝塞尔平滑连接线；
  - [ ] **基础工程图表套件 (`Plot` / `Sparkline`)**：支持连续折线走势图、柱状图绘制与自适应双轴刻度标尺；
  - [ ] **几何矢量 SVG 导出器 (`SvgExporter`)**：支持将当前渲染管线图元序列无损导出为标准 `.svg` 矢量文件。
* **验收标准**：
  - 在大量数据行与多节点拓扑连线场景下维持 60 FPS 稳定帧率，无明显内存抖动。

---

### 里程碑 8：高性能渲染管线探索与典型场景范例（9月22日 – 9月24日）

* **核心目标**：探索硬件加速图形管线可行性，并提供多个贴近实际工程应用的参考范例。
* **交付清单**：
  - [ ] **WebGL 2.0 顶点合批渲染后端探索**：探索在 Wasm 内存中直接组织顶点与索引缓冲（Vertex / Index Buffer），验证将 Canvas 2D 调用合批为单次 GPU 绘制的性能表现；
  - [ ] **典型应用参考范例整合（上线官网展厅）**：
    - CAD 工程向量绘图板范例（完善标尺、吸附、属性面板交互）；
    - 节点蓝图逻辑流范例；
    - 简易数字音频/波形工作台原型；
    - 轻量在线代码工作区原型。
* **验收标准**：
  - 各参考范例在官网展厅流畅运行，架构与组件调用直观规范。

---

### 里程碑 9：工程化验证、基准评测与稳定版本交付（9月25日）

* **核心目标**：通过严密的工程规范保障代码可靠性，完成版本归档与交付。
* **交付清单**：
  - [ ] **自动化测试扩充**：达成 120~150+ 项白盒与黑盒无头单元测试；
  - [ ] **微基准性能报告 (Benchmarks)**：精确测量各场景下的微秒级纯算耗时与内存开销；
  - [ ] **接口规范冻结**：运行 `moon info && moon fmt`，固化 `.mbti` 接口契约，更新中英文白皮书；
  - [ ] **交付版本打标**：发布 `v0.2.0` 正式版本。
* **验收标准**：
  - 全量 CI 流水线测试与格式检查 100% 绿灯通过；
  - 核心文档、在线演示、测试套件全部归档完备。

---

## 2. 后续演进与技术探索 (Future Work)

- **多后端持续打磨**：深化 WebGL / WebGPU 批量绘制管线与着色器特效；
- **跨平台原生后端接入**：结合 MoonBit 原生编译能力，探索对接桌面原生图形后端（如 Raylib / SDL3）；
- **高级复杂图元生态**：持续扩充工业自动化、算法可视化与科学计算等垂直领域的即时模式组件。

