4.8 KiB
4.8 KiB
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 由四个核心域组成:
- 海图域(Chart Domain)
- 传感器域(Sensor Domain)
- 环境域(Environment Domain)
- 显示域(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 架构定义为:
一个由海图域、传感器域、环境域独立生成数据,并由显示域统一呈现的离线可生存视觉系统。