# MoonAeroWx 开发历程

## 1. 项目起点

MoonAeroWx 最初的目标是把常见航空气象报文从“人能看懂”变成“程序也能稳定处理”的 MoonBit 练习项目，同时保留足够的工程价值，方便作为黑客松提交和后续生态示例。

## 2. 先完成的主线

开发过程中优先完成了四条主线：

1. 词法切分与源码位置保留。
2. METAR / SPECI 解析与结构化输出。
3. TAF 解析与时间线展开。
4. JSON、Markdown、CSV、批量统计和 CLI 输出。

这样可以先把“看得见的结果”做出来，再逐步增强边界语法和诊断细节。

## 3. 关键设计取舍

### 3.1 容错优先

报文里有不少地区性扩展、自由备注和非标准写法。项目没有选择“一处不认识就整体失败”，而是尽量保留已识别字段，同时把未知内容作为 raw token 或诊断信息留下来。

### 3.2 输出与解析分离

解析器只负责把文本变成结构化数据，格式化器再负责 JSON、Markdown、CSV 和摘要输出。这样测试更简单，也方便后续接入 CLI、文档和演示页面。

### 3.3 面向 MoonBit 生态

项目保持纯 MoonBit 实现，不依赖外部运行时，尽量让 native、JS、Wasm 和 Wasm-GC 后端都能复用同一套核心逻辑。

## 4. 迭代过程中的主要补充

后续迭代逐步加入了：

- RVR 识别与趋势解析；
- TAF 变化组时间线；
- 批量统计与报表；
- 诊断码和位置化错误；
- 文档、示例和测试扩充；
- README 里的项目元信息、功能矩阵和局限性说明。

## 5. 目前的状态

当前仓库已经具备：

- 可运行的 CLI；
- 可验证的 MoonBit 测试；
- 清晰的 README 和项目申报书；
- 适合初审和正式验收的材料基础。

## 6. 下一步计划

如果继续完善，优先顺序会是：

1. GitHub Actions CI；
2. 进一步扩大 METAR / TAF 边界覆盖；
3. 增加 RMK、跑道状态、风切变等专题解析；
4. 准备 mooncakes.io 发布材料；
5. 补更完整的演示或可视化页面。

## 7. 使用了哪些 AI 工具

本项目在开发与整理过程中使用了 Codex 辅助完成文档整理、测试补充、提交组织和材料润色。核心设计、取舍和项目方向由人工主导。
