fix(design): 中性色相常量改容差断言 + 取色接线注释指向真正的守护测试(复审 r1 p2)
- `palettes.rs::neutral_hue_is_the_default_seed_hue`:`to_bits()` 位相等 → 1e-9° 容差。 色相来自 `atan2(a).to_degrees()`,`NEUTRAL_HUE_DEG` 的字面值是在 Windows(UCRT) 上取的, CI 的 ubuntu(glibc) 理论上可差 1 ulp 就让位相等在另一个 OS 上红;而这条要抓的是「换了 `DEFAULT_SEED` 却没复核常量」(偏几十度),1e-9° 足够且不受平台末位差影响。 `tests/card_neutral.rs::sky_card_is_bit_identical_to_the_product_baseline` 是**同平台内** 两个算出来的值互比,继续用位相等(p1 硬约束的钉子,不动)。 常量文档同步说明「为什么不用 `to_bits`」。 - `resolve/mod.rs` 取色分支的注释:原来只写「`tests/card_neutral.rs` 有反证」,而那条用例 测的是 `Seed::scheme` 生成器层、覆盖不到这里(复审 r1 p1-1 的病根)。改成点名 `resolved_image_scheme_keeps_tinting_from_the_seed`——走的就是本函数的公开入口。 `palettes.rs` 仍是 400 行(本轮改 doc 同时压缩了相邻说明,没突破上限)。
This commit is contained in:
1 parent
b748986aae
commit
4b059201fd
2 files changed
+25
-22
No files matched your search
@@ -180,7 +180,9 @@ fn try_level(input: Option<ImageInput<'_>>, card: Card, flavor: SchemeFlavor) ->
|
||||
|
||||
// 取色方案的表面色**跟着图像种子染色**,只借当前色卡的中性彩度定浓淡(D43):
|
||||
// 这是与色卡路径刻意不同的一处——色卡固定中性色相、只换强调色,取色保留整幅染色
|
||||
// (那是用户要的 Monet 体验)。别把两条路径「统一处理」,`tests/card_neutral.rs` 有反证。
|
||||
// (那是用户要的 Monet 体验)。别把两条路径「统一处理」:这条接线的守护测试是
|
||||
// `tests/card_neutral.rs::resolved_image_scheme_keeps_tinting_from_the_seed`(走的就是
|
||||
// 本函数所在的 `resolve_source`;只测 `Seed::scheme` 的那条覆盖不到这里,复审 r1 p1-1)。
|
||||
let (scheme, adjustments) = converge(seed.scheme(flavor, card.neutral_chroma));
|
||||
let report = check(&scheme);
|
||||
if !report.is_clean() {
|
||||
|
||||
Reference in new issue
Block a user