Files
pbf/STEP_RECORD.md
2026-04-02 13:49:52 +08:00

126 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目步骤记录
最后更新:`2026-04-02 12:03`
仓库:`/root/sourceserver/pbf`
远端:`ssh://git@nas:2222/tei/pbf.git`
## 文档规则
- `STEP_RECORD.md` 必须使用中文
- 后续新增输出文档必须使用中文
- 后续新增审计报告必须使用中文
## 当前固定基线
唯一固定使用的视觉审计页面:
- `http://192.168.200.184/newpec/navsea-compare-karatsu-20nm.html`
当前页面版本:
- `HTML: compare-r19-20260402-1203`
- `Style: karatsu-final-style-r15-20260402-1203`
- `PBF: karatsu-final-pbf-20nm-20260402-1156-fullrefresh1`
当前仍使用同一张 HTML 做两个 profile
1. 唐津 20 海里
- `style.navsea-delivery-karatsu-20nm-final.json`
- `pbf-delivery-karatsu-20nm-final`
2. 九州
- `style.navsea-delivery-kyushu.json`
- `pbf-delivery-kyushu-reencoded`
## 当前结论
- 当前主视觉问题不再优先怀疑 compare HTML 切错。
- 当前主问题分成两类:
- `style` 过滤条件写错或过宽
- 线上仍在使用较早生成的 `20nm final` 瓦片,部分关键对象没有 `class_code / display_code`
## 2026-04-02 本轮关键发现
### 1. 航标紫色圈“又回来了”的原因
- 问题层:`nav-light-flare`
- 根因:这一层的过滤条件写得过宽,几乎所有带 `light_color_code` 的对象都会被套上 flare。
- 直接表现:
- 一些本来不该带圈的航标、浮标又被画成紫色圈
- 例如 `31300003` 这类脚手架浮标不应再命中 flare
- 现已修正:
- `nav-light-flare` 只对原始样式允许的那几类灯标生效
- 不再给普通浮标乱套圈
### 2. “眼睛”图标回来的原因
- 问题层:`anchor_caution_hazard_point`
- 根因不是对象丢失,而是线上旧 `20nm final` 瓦片里很多对象没有 `class_code`
- 一旦 `class_code` 缺失,样式只能退回:
- `chart_icon_image = symbol-daytime-428`
- 直接表现:
- `420` 这类投锚注意危险物又被画成眼睛图标
- 实际核对结果:
- 用当前 builder 只重建 `11/1765/820` 这一张瓦片后,同一批对象已经恢复:
- `class_code = 420`
- 同时对应浮标对象也恢复:
- `display_code = 31300003`
- `chart_icon_image = symbol-daytime-327`
### 3. 为什么会出现“我们改过了,怎么又错了”
- 之前改对的是 `style` 逻辑
- 但 compare 页底下继续使用的是较早生成的 `20nm final` 瓦片
- 这批旧瓦片缺少关键码值字段
- 所以一旦样式依赖这些字段,就会退回错误兜底图标
一句话总结:
- 这次回退不是“代码白改了”
- 而是“新 style 压在旧 PBF 上跑”,导致修正无法完整生效
### 4. `pパイロットステーション` 丢失的原因
- 这个对象不是 PBF 丢了。
- 实际核对结果:
- 原始对象在 `z12/3530/1641`
- 原始层:`pパイロットステーション`
- 原始 `fid = 9002206`
- `分類番号 = 500`
- 当前 final PBF 里也存在对应对象:
- `source-layer = pilot_station_point`
- `class_code = 500`
- `chart_symbol_code = pilot_station`
- 真正问题:
- final style 之前没有 `pilot_station_point` 这一层
- 所以右侧页面虽然有对象,但完全没画出来
- 现已修正:
- 新增 `pilot-station-points`
- 固定使用 `symbol-daytime-500`
## 当前已落地的修正
- 已修正 `nav-light-flare` 过滤逻辑
- 已上线新的 compare 页版本号显示
- 已完成 `20nm final` 全量重生并切到线上
- 当前整套 `20nm final` 都是当前 builder 生成的新版本,不再是只修单瓦片
## 当前未完成项
- 继续按同一张 compare 页回扫其他依赖 `class_code / display_code` 的细分类图标
- 继续做热点截图复核,确认没有新的样式回退
## 下一步
1. 在固定 compare 页上复查:
- 浮标不再被错误套圈
- `420` 不再回成眼睛图标
2. 继续清理其他依赖 `class_code / display_code` 的细分类图标问题
## 快速续接提示
下次继续时,先做这几件事:
1. 确认页面顶部版本仍然是 `compare-r18 / style-r14 / pbf-fullrefresh1`
2. 继续从博多港和中央航路这类热点回扫细分类图标
3. 优先检查仍依赖 `display_code / class_code` 的对象组