取り込みの再現度(門 check_srcfidelity の実測)
取り込みの再現度 — 門 check_srcfidelity.py の実測(5 出典 × 節)
判定: 赤(exit 1) 母数(両方に在る節) 135/乖離 21(15.6%)/測れない 3(紙面で帯を引けない 3・撮影に無い 0)/表の行 138。これは器の不具合ではなく、いまの取り込み〜組み立てが出典を写しきれていないという判定。
突き合わせるもの: 出典の実サイトの撮影(tmp/w105/<出典>_sp)と、その取り込みから page_flow で建てた素の紙面。トンマナを差し替えた出荷の紙面は見ない(出典と食い違うのが正しく、差そのものが定義できないため)。
1. 何を測ったか(2 つだけ・$0・決定的)
(a) 節の帯の丈の比 = 紙面の帯の丈 ÷ 出典の帯の丈。帯は両方に在る要素だけで作る(出典側は spec.json の at、紙面側は同じ dpath を data-dp で引いた矩形)。節まるごとの丈(sourceY)で比べると節の余白ぶん常に紙面が短く出る——実測: duck S06 の比 0.17・S00 0.76 が、両方に在る要素で作り直すと 1.00・1.11 になり、duck の乖離は 12 件 → 11 件に減った。
(b) 画素差 = 帯どうしを同じ台へ載せてからの ΔE(CIE76(Lab のユークリッド距離))の中央値。台は 幅128・高さ=128×出典の丈÷390(出典の縦横比へ揃える)=丈の違いは (a) が測るので、(b) は出典の形へ揃えてから見えだけを見る。
測れないもの(毎回そう申告する・合格に数えない)
要素の矩形差 … 紙面側は `data-dp` で引けるが、撮影側は画素だけで DOM を持たない。片側だけの矩形は差にならないので判定に使わない((a)(b) だけで判定した)
条件: 幅 390・DPR 1・切れ端の丈 1600・閾は 丈の比 1.15/ΔE中央値 20.0。揺れ(5 出典を続けて 2 回): ΔE中央値の最大ぶれ 0.000/丈の比の最大ぶれ 0.0000/判定が割れた節 0/届かなかった絵 0。
2. fix:bg(透かしの欠落)の前後 — S01 = duck の S09
穴は 取り込み(lp_import.mjs)が opacity を写していなかったこと 1 つ。出し手の 11/11::before は実サイトで background-size:11px 11px/repeat/opacity:0.15。①実サイトの計算済みスタイル ②dom.json ③素の紙面 の 3 点で寸・敷き方は一致し、落ちていたのは opacity だけだった。「タイルが 20px 超」は読み違い——柄の周期は出典・紙面とも 11px(CSS)で一致する(紙面の page.png は DPR2 なので画像上は 22 device px で写る)。
出典(実サイトの帯・w105 撮影・DPR1)
390×497
直す前(透かし無し)
390×624
直した後(opacity:0.15 を描く)
390×624
| 柄だけの縦帯(x0..20 / y0..380) | 出典(実サイト) | 直す前 | 直した後 |
| 平均色 (R,G,B) | (26.0, 3.3, 137.5) | (39.3, 17.9, 144.4) | (25.4, 2.7, 137.3) |
| 明>128 の画素 % | 0.263 | 7.263 | 0.0 |
| 最明画素 | (252, 252, 238) | (255, 255, 255) | (58, 38, 154) |
| 柄の周期 px(x / y) | 9 / 11 | 9 / 22 | 9 / 11 |
| 出典との平均色の隔たり | 0 | 20.92 | 0.87 |
測った箱: 帯の左余白 x0..20 / y0..380(padding 24px の内側に中身は入らない=柄だけ)。直した後の最明画素 (58, 38, 154) は、白を紺 rgb(23,0,136) に 0.15 で載せた合成の理論値と一致する。平均色の隔たりは 20.92 → 0.87(95.8% 縮んだ)。
器の直しは 既定に入った(旗=--bg-fidelity は要らなかった)。
直した口: pipeline/src/lib/lp_kit/sections/page_flow.ts:864,897 / pipeline/scripts/lp_import.mjs:671-677,820,847,974,1074,1163
既定は byte 不変を実測(紙面 3 本の sha256 が前後一致): ness_v9 bbfd9aa623e1a011…・camino011_r7 c03854f1924e6e8b…・duck 5f7bdeee508b285e…
根拠: 既存 99 取り込み・節点 86,554 のうち style.opacity を持つものは 0 件。旗は要らなかった
多層(カンマ区切り)の地も落ちていない(実測): 全 99 取り込み・bgImage 5,071 節点のうち多層 5 件、image/size/position/repeat の層数が 2/2/2/2 で一致・途中で切れたもの 0 件。
3. 出典ごとのまとめ
| 出典 | 母数 (両方に在る節) | 乖離 | 紙面で帯を 引けない | 撮影に無い | 帯が1要素だけ | 紙面の絵 | 届かなかった絵 | 乖離した節 |
| duck | 13 | 11 | 2 | 0 | 1 | 33 | 0 | S00 S01 S02 S03 S07 S08 S09 S10 S11 S12 S14 |
| kidsduo | 44 | 1 | 1 | 0 | 16 | 103 | 0 | S08 |
| ikidsstar | 45 | 4 | 0 | 0 | 11 | 108 | 0 | S00 S21 S39 S40 |
| is_afterschool | 19 | 4 | 0 | 0 | 1 | 59 | 0 | S03 S04 S05 S06 |
| shichida | 14 | 1 | 0 | 0 | 1 | 56 | 0 | S01 |
| 合計 | 135 | 21 | 3 | 0 | — | — | 0 | |
門は一様に赤ではない——kidsduo は 44 節中 43 節、shichida は 14 節中 13 節が合格で、出典ごとに差が出る(duck だけが 13 節中 11 節 乖離)。「帯が1要素だけの節」は測れてはいるが、1 要素の矩形だけで丈を作った節=比が 1.00 に寄りやすい(判定の弱いところ)。
4. 閾はまだ分布から採っていない手置き
丈の比 1.15・ΔE中央値 20.0 は初版のゆるめの手置き。この頁で数え直すと、判定が合格の節 114 の ΔE は 0.00〜16.47(中央 1.11)、乖離側の上位は duck S09 98.32・kidsduo S08 71.80・duck S01 67.04 と離れており、20 はいまのところ谷の中にある。次にここを触るときは分布から採り直す(手置きのまま据えない)。
★ 数の食い違いを 1 つ残す: 門の口上(check_srcfidelity.py の docstring)は合格側を n=113・中央 1.10 と書いているが、この頁が JSON から数え直すと n=114・中央 1.11 になる(1 節ぶん)。どちらが正かは追っていない=この頁の数は JSON の実測、口上の数は書いた時のもの。
| 順 | 出典 | 節 | ΔE中央値 | 丈の比 | 理由 |
| 1 | duck | S09 | 98.32 | 1.179 | 丈の比 1.18(閾 1.15) / ΔE中央値 98.32(閾 20.0) |
| 2 | kidsduo | S08 | 71.80 | 1.000 | ΔE中央値 71.8(閾 20.0) |
| 3 | duck | S01 | 67.04 | 1.110 | ΔE中央値 67.04(閾 20.0) |
| 4 | is_afterschool | S05 | 60.68 | 0.949 | ΔE中央値 60.68(閾 20.0) |
| 5 | is_afterschool | S06 | 59.80 | 0.916 | ΔE中央値 59.8(閾 20.0) |
| 6 | is_afterschool | S04 | 47.04 | 0.913 | ΔE中央値 47.04(閾 20.0) |
| 7 | ikidsstar | S39 | 45.89 | 1.806 | 丈の比 1.81(閾 1.15) / ΔE中央値 45.89(閾 20.0) |
| 8 | ikidsstar | S40 | 40.67 | 0.714 | 丈の比 0.71(閾 1.15) / ΔE中央値 40.67(閾 20.0) |
| 9 | shichida | S01 | 35.08 | 3.507 | 丈の比 3.51(閾 1.15) / ΔE中央値 35.08(閾 20.0) |
| 10 | is_afterschool | S03 | 27.13 | 0.942 | ΔE中央値 27.13(閾 20.0) |
| 11 | duck | S00 | 26.04 | 1.114 | ΔE中央値 26.04(閾 20.0) |
| 12 | ikidsstar | S00 | 25.83 | 1.616 | 丈の比 1.62(閾 1.15) / ΔE中央値 25.83(閾 20.0) |
| 13 | ikidsstar | S21 | 22.55 | 1.006 | ΔE中央値 22.55(閾 20.0) |
| 14 | duck | S12 | 17.35 | 1.285 | 丈の比 1.28(閾 1.15) |
| 15 | duck | S11 | 7.24 | 1.571 | 丈の比 1.57(閾 1.15) |
| 16 | duck | S03 | 6.90 | 1.415 | 丈の比 1.42(閾 1.15) |
| 17 | duck | S08 | 5.67 | 1.378 | 丈の比 1.38(閾 1.15) |
| 18 | duck | S10 | 5.46 | 1.224 | 丈の比 1.22(閾 1.15) |
| 19 | duck | S02 | 3.17 | 2.575 | 丈の比 2.58(閾 1.15) |
| 20 | duck | S07 | 3.05 | 1.209 | 丈の比 1.21(閾 1.15) |
| 21 | duck | S14 | 0.85 | 2.966 | 丈の比 2.97(閾 1.15) |
7. 測っていないこと(合格として数えない)
- (c) 要素の矩形差 — 撮影側は画素だけで DOM を持たない。片側だけの矩形は差にならないので、判定は (a)(b) だけ。
- 撮影の無い出典 — この門が見られるのは
tmp/w105/<出典>_sp/crops.json が在る 5 本だけ(duck / kidsduo / ikidsstar / is_afterschool / shichida)。撮影の無い出典は測っていないのであって合格ではない。
- duck 以外の出し手(7 対)の取り込み直し=S01 以外の帯の透かしは落ちたまま
- 紙面全体の建て直し(w56 の当て込み・門)
- parity(門の判定資産は触っていない)
- ひよこ・写真の配置と帯の丈(別の班の持ち場)
- 公開 URL の実機スクロールでの目視はしていない(この頁の絵はすべてローカルの実体から起こしたもの)。
壊し試験(どちらも exit 1・実測): ①撮影に無い節だけを渡す → 母数 0 で不合格。②紙面を白で塗り潰す → 乖離 11 → 12 件・S13 の ΔE が 8.89 → 77.84 に跳ねた(画素の道が生きている)。