# 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 架构定义为: > 一个由海图域、传感器域、环境域独立生成数据,并由显示域统一呈现的离线可生存视觉系统。 ---