Initial import

This commit is contained in:
OpenAI Codex
2026-03-17 19:52:51 +08:00
commit c957fef15b
39 changed files with 7108 additions and 0 deletions

View File

@@ -0,0 +1,340 @@
Version: codex6
Architecture: NavSea V11
Domain: weather-offline
Status: planned
1. 任务名称
NavSea_OfflinePackageLine
2. 任务目标
建立 NavSea 天气系统中的 Offline Package 生成线。
该生成线负责为离线或弱网络环境提供可安装、可索引、可本地使用的天气包,使 NavSea 在无网络场景下仍能支持:
地图天气显示
点击某点未来多小时天气查询
航线天气采样
航线规划
航线模拟
基本趋势判断
该任务明确:
Offline Package 是第三条独立生成线
它不是 Display Product 或 Analysis Product 的简单缓存
它必须同时覆盖 display 使用与 analysis 使用
它必须考虑体积、区域、时间、变量集与本地索引
3. 任务范围
本任务关注的是离线天气包的定义、打包、索引与本地可用结构。
本任务要定义并落地的主要内容包括:
offline package 命名规范
package manifest
package content model
display cache + analysis cache 双轨结构
区域 / 时间帧 / 变量集裁剪规则
本地索引语义
本地采样所需结构定义
下载与校验基础信息结构
4. 目标产物
本任务完成后,应至少形成:
一个正式的 Offline Package 结构定义
package manifest 结构
analysis cache 结构
display cache 结构
本地点查与本地规划可依赖的最小数据模型
5. 核心原则
5.1 离线必须基于可采样数值场
仅缓存 png / pbf 显示图层不足以支持点查和规划。
5.2 离线必须双轨
Offline Package 至少包含:
display cache
analysis cache
5.3 离线包必须可控体积
包必须允许按:
区域
时间段
时间步长
变量集合
分辨率级别
进行裁剪与打包。
5.4 在线 / 离线语义尽量一致
同一点、同一时刻、同一变量,离线采样结果应尽量接近在线 Analysis Product 结果。
6. 推荐包结构
6.1 Package Manifest
建议至少包含:
package id
version
createdAt
bbox
products
variables
frames
resolution summary
unit definitions
no-data definitions
file list
checksum / hash
size
display support flags
analysis support flags
6.2 Display Cache
建议至少包含:
raster tile cache
display metadata snapshot
optional lightweight vector overlay
6.3 Analysis Cache
建议至少包含:
规则网格块
多时间帧 values
风/流的 u-v 分量或等价表达
单位
no-data 标记
局部索引信息
7. 推荐数据组织方式
7.1 按区域组织
离线包应以明确 bbox 或预定义区域为组织单元。
7.2 按时间帧组织
应显式列出:
forecast frames
frame step
start / end
7.3 按变量组织
应允许用户只下载必要变量,例如:
wind
wave
current
pressure
7.4 按分辨率组织
应支持离线分辨率等级控制,避免包体积失控。
8. 本地能力目标
Offline Package 必须能支撑以下本地能力:
8.1 本地显示
使用 display cache 显示天气图层
8.2 本地点查
对某点做多时间帧采样
生成未来多小时时间序列
8.3 本地沿线采样
沿 route polyline 做天气采样
为离线航线规划提供基础能力
8.4 本地 fallback
网络不可用时,优先从离线包提供天气数据
网络恢复时可切回在线 Analysis / Display
9. 服务端职责
本任务要求服务端承担:
离线区域裁剪
多时间帧天气打包
变量集裁剪
display cache 生成
analysis cache 生成
manifest 生成
checksum / integrity 信息生成
下载包版本控制
10. 客户端职责
客户端负责:
下载任务管理
包安装
包校验
本地索引
查询某区域是否有离线包
优先使用本地离线包
display / analysis 本地读取分流
客户端不应负责:
从显示图层反推分析值
自行拼装离线包结构
以临时缓存代替正式离线产品
11. 非目标
本任务不包括:
在线 raster display 接口实现
在线 point sample API 实现
完整路线规划算法
完整 UI 下载管理器实现
前端具体面板样式
服务器天气源解码细节
12. 第一阶段最小可交付
必做
offline package manifest 定义
display cache 结构定义
analysis cache 结构定义
离线区域 / 时间 / 变量裁剪规则
本地点查可依赖的数据模型
第二阶段
本地 route sampling
更强压缩策略
多包拼接策略
版本升级与差分更新
13. 接受标准
任务完成时,必须满足:
Offline Package 被正式定义为第三条独立生成线
已有 manifest、display cache、analysis cache 的正式结构
离线包可支持本地点查未来多小时天气
离线包可作为未来航线规划与模拟的数据基础
不依赖单纯 png / pbf 缓存完成分析能力
与 Display / Analysis 保持清晰边界
符合 NavSea V11 扩展原则
14. Codex 执行要求
执行此任务时:
优先产出离线包结构定义、manifest 类型、索引规则文件
不得把在线 display 或在线 analysis 逻辑混写进离线任务
不得把离线包简化成“tile cache”
若生成新 .ts/.tsx 文件,必须包含 logger 初始化
若修改旧文件,必须先由用户提供原文件