Skip to content

Canvas-padding prevalence: majority of catalogue (~55-65%), not a targeted fix (measurement, follow-up to #735/#736) #750

Description

@WilfordGrimley

Summary

#735 established that _BORDER_SAMPLE_BANDS lands on canvas padding rather than the card's
printed border in a sample of directly-viewed images, and that layout_class agreement with
ground truth (67.2%) is worse than always guessing "black" (84.8% base rate). Neither #735 nor
#736 established what share of the catalogue actually has canvas padding — without a
denominator, "close to universal" in an 8-image sample can't be distinguished from a defect
confined to a few large sources. This issue reports that denominator.

Full report:
docs/reports/2026-08-06-canvas-padding-prevalence.md

Headline

Roughly 55-65% of the catalogue's 230,373 cards show genuine canvas padding — a
precision-corrected estimate. The raw automated detector read 86.5% (315/364 stratified sample);
eye-validation on 43 images found the detector's padded calls have real, non-uniform precision:
87.5% correct on black-bordered cards, but only 33.3% correct on borderless cards (n=16 and
n=9 validated respectively), because full-bleed/borderless art and ornate/holo/gradient card
borders get mistaken for a canvas edge by any uniformity-based method. Applying those measured
precision rates to their own population strata gives the corrected 55-65% range. Either the raw
or the corrected number is a majority of the catalogue, not a handful of sources.

New information beyond #735/#736

  1. A denominator. 230,373-card catalogue, source-stratified sample (top-20 sources by volume
    at ~15 each, 60 more from the long tail, plus the 4 cards classify_border_color's fixed-fraction bands sample canvas padding, not the card's border, on most catalogue images #735 named), 364 images total.
  2. Per-layout-class reliability split. Canvas detection is validated reliable on
    black-bordered cards (87.5% precision); it is not reliable on borderless cards (33.3%
    precision) — this is a different failure surface than the "black-on-black is invisible"
    concern classify_border_color's fixed-fraction bands sample canvas padding, not the card's border, on most catalogue images #735/the landmark-gate report predicted (0/40 abstentions in this method were driven
    by a black-indeterminate edge; 39/40 were on borderless-layout cards instead). Full
    explanation in the report's "black-on-black bias, reconsidered" section.
  3. Borderless-on-canvas has its own number: ~8-9% of the catalogue (corrected), the
    population no positional (non-colour) fix can ever fully rescue, since a borderless card has
    no printed frame strip to locate its edge by.
  4. Per-source concentration table for the top-20 sources by volume (66.1% of the catalogue),
    with each source's black/borderless mix so raw padding rates can be judged for reliability.
    The three largest sources (RustyShackleford, Berndt_Toast83, PsilosX) read ~94-100% padded and
    are majority black-bordered, so those specific figures are close to face value.
  5. Vertical padding asymmetry confirmed at n=215 (vs. the prior report's n=4): top padding
    median 5.95%, bottom median 9.41%, median gap 3.19 percentage points, 64% of images >2pp
    asymmetric. Horizontal padding is symmetric (median gap 0.00pp). Any future correction cannot
    assume symmetric vertical padding.

Recommendation

Even the conservative corrected estimate (~55%) means this is not a targeted fix for a handful
of sources — it is a catalogue-wide validity problem for every fixed-fraction geometry assumption
downstream of image edge == card edge (classify_bleed_edge, compute_bleed_diff_mm,
_BORDER_SAMPLE_BANDS, *_CROP_BOX). The borderless-on-canvas remainder (~8-9% of the
catalogue) needs a separate, non-positional approach and should likely be scoped explicitly out
of a first fix rather than left as an implicit gap.

Measurement only — no calculator changed, no vote cast, no code touched. Full methodology,
per-source table, and open items in the linked report.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions