chore: 全量快照提交以防磁盘风险

This commit is contained in:
OpenAI Codex
2026-04-08 19:32:25 +08:00
parent 86726e3247
commit 4f96d7be91
243 changed files with 49757 additions and 343 deletions

View File

@@ -0,0 +1,289 @@
# NavSea V11 核心域定义Core Domain Definition
## 版本
v11-core-domain-1 (CN)
---
# 1. 文档目的
本文件用于定义 NavSea 在 V11 架构下的**核心域边界Domain Boundaries**。
NavSea 被定义为:
> 一个**航海视觉辅助系统**,在离线可生存的前提下,将海图数据、传感器解析结果与环境信息统一供给显示层。
本文件只定义:
* 系统结构
* 各域职责边界
本文件**不涉及具体实现**。
---
# 2. 系统核心原则
NavSea 不是:
* ❌ 航行控制系统
* ❌ 设备控制系统
* ❌ 单纯地图显示软件
NavSea 是:
> 一个**面向显示的多源数据供给系统Display-Oriented Data Supply System**
所有模块的存在目的只有一个:
> **为显示层提供可靠、可解释、可降级的数据**
---
# 3. 顶层结构
NavSea 由四个核心域组成:
1. 海图域Chart Domain
2. 传感器域Sensor Domain
3. 环境域Environment Domain
4. 显示域Display Domain
---
# 4. 海图域Chart Domain
## 4.1 职责
海图域负责:
* 向 MapLibre 提供瓦片数据PBF
* 管理海图数据来源(预置 / 本地缓存 / 在线)
* 保证离线可用
* 管理数据版本与更新
* 决定每个 tile 请求返回哪份数据
## 4.2 核心能力
* Base Pack预置海图
* Region Cache区域缓存
* Online Pack在线最新数据
* Tile Resolver瓦片解析与选择
* Manifest本地索引与版本管理
## 4.3 输出
海图域输出:
> MapLibre 可渲染的矢量瓦片PBF及相关资源
## 4.4 非职责
海图域不得:
* ❌ 解析 NMEA
* ❌ 做航行判断
* ❌ 控制 UI
* ❌ 处理非地图业务逻辑
---
# 5. 传感器域Sensor Domain
## 5.1 职责
传感器域负责:
* 接收船内 UDP 数据
* 解析 NMEA 电文
* 统一数据结构
* 维护本船状态
* 进行实时判断与推导
* 输出可显示的结果
## 5.2 输入
* 船内 UDP 网络
* NMEA 电文(如 GNRMC、YDMWV 等)
## 5.3 核心能力
* 数据解析与标准化
* 状态建模(本船 / 目标)
* 计算派生数据(航向、风等)
* 风险识别与判断
* 生成可展示结果
## 5.4 输出
传感器域输出:
> 已解释的、可直接用于显示的结果(不是原始数据)
示例:
* 本船状态
* 目标信息
* 风信息
* 风险提示
* 告警
## 5.5 非职责
传感器域不得:
* ❌ 管理海图
* ❌ 访问互联网 API
* ❌ 控制设备
* ❌ 直接渲染 UI
---
# 6. 环境域Environment Domain
## 6.1 职责
环境域负责:
* 获取天气与海洋数据API
* 本地缓存环境信息
* 离线时提供可用数据
* 管理数据时效性(新鲜度)
## 6.2 输入
* 互联网 API天气、海流、气压等
## 6.3 核心能力
* API 请求
* 数据缓存(带 TTL
* 离线 fallback
* 时间戳管理
* 数据新鲜度评估
## 6.4 输出
环境域输出:
> 带时间语义的环境信息
示例:
* 风预报
* 海流
* 天气状态
## 6.5 非职责
环境域不得:
* ❌ 管理地图瓦片
* ❌ 解析 NMEA
* ❌ 控制 UI
* ❌ 生成无时间标记的数据
---
# 7. 显示域Display Domain
## 7.1 职责
显示域负责:
* 将所有数据呈现给用户
* 融合多来源数据
* 管理 UI 组件与布局
* 表达系统状态(包括降级状态)
## 7.2 输入
* 海图域(瓦片)
* 传感器域(判断结果)
* 环境域(环境信息)
## 7.3 核心能力
* MapLibre 地图显示
* 覆盖层(目标 / 风险 / 航向等)
* 信息面板
* 告警展示
* 数据新鲜度提示
* 降级模式提示
## 7.4 输出
> 用户看到的完整视觉系统
## 7.5 非职责
显示域不得:
* ❌ 获取数据
* ❌ 解析数据
* ❌ 管理缓存
* ❌ 执行业务计算
---
# 8. 域间交互规则
## 8.1 允许的数据流
* 海图域 → 显示域
* 传感器域 → 显示域
* 环境域 → 显示域
## 8.2 禁止耦合
* ❌ 海图域 ↔ 传感器域
* ❌ 传感器域 ↔ 环境域
* ❌ 显示域依赖内部实现细节
所有交互必须通过**明确的输出接口**。
---
# 9. 离线策略定义
## 9.1 海图域
* 必须始终提供可显示内容
* Base Pack 提供最低保障
## 9.2 传感器域
* 必须完全离线可运行
* 不依赖互联网
## 9.3 环境域
* 离线时使用缓存数据
* 必须标注数据时间
## 9.4 显示域
* 必须清晰表达数据缺失或过期
* 禁止伪装正常状态
---
# 10. V11 架构约束
后续开发必须遵守:
* 不破坏域边界
* 通过 wrapper / adapter 扩展
* 不允许跨域逻辑泄漏
* 不允许隐式数据共享
---
# 11. 最终定义
NavSea 架构定义为:
> 一个由海图域、传感器域、环境域独立生成数据,并由显示域统一呈现的离线可生存视觉系统。
---