Version: codex6
Architecture: NavSea V11
Domain: weather-display
Status: planned

1. 任务名称

NavSea_DisplayProductLine

2. 任务目标

建立 NavSea 天气系统中的 Display Product 生成线。

该生成线负责把服务端天气数据产出为前端可直接显示的天气产品，服务于地图叠加、图层控制、图例展示与时间帧切换。

该任务明确规定：

前端不参与天气颜色渲染

前端不参与天气场插值重建

显示图层由服务端直接生成或直接定义显示语义

Display Product 只对“显示可用性”负责，不对精确分析复用负责

3. 任务范围

本任务关注的是服务端显示产品体系，不包含分析查询，也不包含离线包。

本任务要定义并落地的主要内容包括：

显示产品命名规范

显示产品接口规划

raster weather tiles 体系

vector isoline / isoband 体系

display metadata 结构

legend metadata 结构

frame index 与产品索引结构

前端接入所需的最小语义边界

4. 目标产物

本任务完成后，应形成一套完整的 Display Product 基础能力，至少可支持：

风速 raster tile

浪高 raster tile

气压 isoline MVT

与之配套的显示元数据

与之配套的图例元数据

多时间帧显示切换基础

5. 核心原则
5.1 Display Product 不是分析接口

Display Product 面向地图显示，而不是数值精确查询。

5.2 服务端负责颜色

色带、颜色区间、推荐显示范围、图例语义，均由服务端定义。

5.3 前端只消费

前端负责图层接入、开关、透明度、顺序、时间帧切换、图例显示，不负责场构建与色带映射。

5.4 产品化输出

不要再输出“稀疏点等前端自行加工”的中间形态作为主显示方案。

6. 推荐产品类型
6.1 Raster Products

优先用于：

wind

wave

temperature

rain

current（如后续需要）

推荐接口命名：

/weather-display/raster/{product}/{time}/{z}/{x}/{y}.png
6.2 Vector Products

优先用于：

pressure isoline

wind isoband（后续）

wave isoband（后续）

推荐接口命名：

/weather-display/vector/{product-variant}/{time}/{z}/{x}/{y}.pbf

示例：

/weather-display/vector/pressure-isoline/{time}/{z}/{x}/{y}.pbf
/weather-display/vector/wind-isoband/{time}/{z}/{x}/{y}.pbf
/weather-display/vector/wave-isoband/{time}/{z}/{x}/{y}.pbf
7. 必须定义的元数据
7.1 Display Meta

至少包含：

product

time

unit

display type

palette id

recommended min/max

data min/max

no-data definition

supported zoom range

opacity suggestion

示例方向：

/weather-display/meta/{product}/{time}
7.2 Legend Meta

至少包含：

title

subtitle

unit

legend sections

scale type

color stops / discrete buckets

contour levels（如适用）

7.3 Frame Index

至少包含：

available frames

frame step

earliest / latest

product availability

8. 服务端职责

本任务要求服务端承担：

原始天气数据插值/重采样到显示适合形式

色带映射

等值线 / 等值带生成

多时间帧组织

显示元数据输出

图例元数据输出

no-data 透明化或规避策略

产品一致性控制

9. 前端职责边界

Display Product 接入后，前端只负责：

source / layer 注册

图层可见性控制

opacity 调整

z-index / layer ordering

时间帧切换

图例读取与展示

点击地图后跳转到 Analysis Product 查询

前端不得承担：

主显示色带生成

连续场构建

contour 生成

稀疏点插值渲染

10. 非目标

本任务不包括：

点位天气查询接口

多小时 sample bundle

航线采样接口

离线天气包下载

前端本地天气数值采样

路线规划算法

航速极图/性能模型耦合

11. 第一阶段最小可交付
必做

wind raster display product

wave raster display product

pressure isoline display product

display metadata

legend metadata

frame index

可后续增强

wind isoband

wave isoband

current raster

rain raster

temperature raster

12. 接受标准

任务完成时，必须满足：

已建立 Display Product 正式命名与结构

已形成前端可直接消费的显示产品体系

前端无需参与颜色渲染

前端无需自行插值天气场

至少具备 wind / wave raster 与 pressure isoline 的最小闭环

已定义 display meta / legend meta / frame index

与 Analysis / Offline 保持清晰边界

符合 NavSea V11 非破坏式扩展要求

13. Codex 执行要求

执行此任务时：

优先产出系统设计文件、接口定义文件、元数据结构文件

若新建 .ts/.tsx 文件，必须加 logger 初始化

若修改已有文件，必须等待用户提供原文件

不得擅自假设现有前端地图实现细节

不得把 Analysis 或 Offline 内容混入 Display Product 任务范围