Skip to content

feat(plotting): adopt SciPlot series identity, style contexts, and font policies - #330

Merged
w5851 merged 1 commit into
mainfrom
codex/sciplot-selective-adoption
Oct 23, 2026
Merged

w5851 merged 1 commit into
mainfrom
codex/sciplot-selective-adoption

Conversation

@w5851

@w5851 w5851 commented Oct 23, 2026

Copy link
Copy Markdown
Owner

背景与动机

曲线在抽取子集或改变绘制顺序后需要保持同一颜色/线型身份;同一进程创建不同主题的图时,延迟测量和保存也应保留创建主题。当前 v2 绘图明确声明缺失字体的失败或候选替代策略,并记录实际字体来源。

改动内容

  • 增加 SeriesStyleRegistry,拒绝重复/未知身份和样式槽位耗尽;实测 artist 编码与 manifest 核对。
  • 增加可选 style_context 和 figure 绑定,覆盖嵌套、异常恢复、延迟测量及导出;保留全局 CLI 和冻结历史读取兼容。
  • candidate v2 按显式候选替代,strict v2 首选缺失即失败;manifest 保存普通/数学字体文件及 hash,两阶段交付检查显示身份和字体漂移。
  • 接入冻结线比值与解析 T–muB 图族,更新 API/SOP;保留两套彩色/灰度 PNG、manifest 和源码快照。
  • 将独立 SciPlot item 记为 archived,归档任务说明。作者确认仅用于组会内部展示,接受记录绑定原 PNG/manifest hash;本批交付保持 PNG。

验证方式

  • 119 项受影响测试通过:test_plotting_style、test_plotting_contract、test_plotting_quality、test_plot_delivery、test_plot_bundle、test_freezeout_comparison、test_freezeout_thermodynamic_envelope。
  • 21 项 test_plot_provenance/test_phase_guided_publication_clean_v13_pdf 检查通过,包含既有 v13 全包验证。临时测试 PDF 仅用于公共导出行为验证。
  • 两份新 manifest 与内部接受记录 hash 校验通过;四张彩色/灰度 PNG 已视觉复核。
  • 文档一致性、SOP、任务台账、归档格式、输出路径、skill 治理及 Claude 同步检查通过;git diff --cached --check 通过。
  • 12 份受保护的冻结输入、历史产物与 current 指针 bytes/hash 保持。两个渲染器原有计算/prepare 定义保持,只修改渲染路径。

影响范围与兼容性

PNG case 为 png_review,内部展示接受记录保留作者原始回复。图像和生成时 manifest 原字节保留;没有本批 PDF 导出、正式化、稿件资格或 current 图层替换。主线保持 meson-freezeout-experiment;后续标签和其它图族按实际需求处理。

改动限于绘图与证据留存。未修改求解器、单位/公式、mixed-meson 治理或 non-fixedmu 联合求解语义,因此未重跑数值生产或 Julia 全量回归。

Checklist

  • 代码风格与命名符合仓库约定
  • 对外行为变化已更新 API/SOP 文档
  • 新增行为有可执行测试覆盖
  • 数值计算和冻结来源保持

@w5851
w5851 merged commit dffe407 into main Oct 23, 2026
9 checks passed
@w5851
w5851 deleted the codex/sciplot-selective-adoption branch October 23, 2026 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant