# OpenCPN 对照源码基线说明 本目录保存 CM95 → PBF → S-52 / OpenCPN 流程等价审计使用的 OpenCPN 上游源码快照。 ## 固定上游基线 - OpenCPN commit:`f7211b4e1874c453e37a7f190aa191c55a25c32e` - 本地取得来源:`/tmp/opencpn-s52-audit/` - 保存方式:按上游原始文件内容复制,不对源码做修改。 - `gui/src/cm93.cpp` 因原 checkout 使用 sparse-checkout 未落到工作树,使用 `git show :gui/src/cm93.cpp` 从同一 commit 直接导出。 - `/tmp/opencpn_cm93.cpp` 与该 commit 的 `gui/src/cm93.cpp` SHA-256 已确认完全一致。 ## 保存范围 - `上游源码/gui/src/cm93.cpp`:CM93 对象创建、M_COVR 与 CM93→S57/S-52 类转换参考。 - `上游源码/libs/s52plib/src/`:完整 S-52 Presentation Library 源码目录,包含 CSP、Lookup/rule parser、primitive renderer、chartsymbols 与相关辅助实现。 - `许可证/`:上游 GPL v2 / GPL v3 许可证原文。 - `文件校验.sha256`:本目录上游源码与许可证文件的 SHA-256 校验清单。 - `上游提交.txt`:固定 commit 全长 hash。 ## 审计规则 后续 CM95 的 OpenCPN Code-First S-52 Rendering Equivalence Audit 应优先引用本目录,不再依赖 `/tmp` 临时文件。 本目录是只读参考快照;如果以后切换 OpenCPN 基线,不覆盖本目录,而应新增新的 commit 基线目录并在审计报告中明确使用哪一版。 源码文件保留其原始版权与许可证声明;CM95 自有代码与此上游参考快照必须保持清晰边界。