5.1 KiB
Generic line-continuity finish-mask comparison
Mask-only experiment on The Fall and Burning Bush using one shared recipe. No manually drawn regions, card-specific thresholds, or local repair patches are used. Artwork, lettering, glyph masks, frames, backings and runtime shaders are preserved.
Compare these fixtures in the harness under identical lighting, finish, material, strength and rotation:
| Card | Control | New candidate |
|---|---|---|
| The Fall | the-fall-extraordinary-v7-pane-coverage-normal-1000 |
the-fall-extraordinary-v7-line-continuity-normal-1000 |
| Burning Bush | burning-bush-rare-pane-coverage-control-normal-1000 |
burning-bush-rare-line-continuity-normal-1000 |
Reload or reopen the Card selector to refresh the catalog. The Fall control is the earlier preferred pane-coverage fixture, reproduced pixel for pixel. Burning Bush's new control applies that same earlier algorithm and pane weights to Burning Bush. This isolates the detector change; its existing saturation/value fixture also remains available as burning-bush-rare-normal-1000.
Algorithm
Analyze luminance after a 1.2px blur. For eight orientations, sample opposing shoulders at distances 4, 8, 14 and 22px from each pixel. Both shoulders must be brighter than the center; a single shadow edge does not qualify. Contrast uses smoothstep(0.018, 0.07), and initial darkness confidence uses inverse smoothstep(0.10, 0.25) on luminance rather than maximum RGB.
For each orientation and width, sample ridge confidence along its tangent at ±4, ±8 and ±12px. Their mean controls continuity through smoothstep(0.22, 0.65). Strong neighboring evidence at the same width and direction can bridge short interruptions at ±4, ±6 or ±10px, provided extended tangent support and inverse luminance smoothstep(0.22, 0.32) agree. At the gap, either opposed-shoulder contrast or strong darkness must also agree; the latter recovers dark junctions. Confidence ≥0.97 is protected fully. This is a local continuity estimate, not a global connected-component or semantic pane classifier.
All distances are master pixels on the 2000×2800 canvas. Pane weighting stays at 62–90%, with saturation blurred by 20px and smoothstep(0.08, 0.58), matching The Fall's preferred experiment. Compile paneWeight × (1 − leadProtection) and suppress it beneath the actual Normal overlay and lettering alpha. Export opaque grayscale RGBA at 2000, 1000 and 500px widths using bilinear downsampling. Authoring diagnostics add no runtime textures or processing.
Review files
Each comparison has control on the left and candidate on the right:
- The Fall full masks
- The Fall head detail
- The Fall tree detail
- The Fall detected lines over art
- Burning Bush full masks
- Burning Bush bush detail
- Burning Bush detected lines over art
The original-candidate-1000.png sheet in each review folder additionally compares the original saturation/value mask with this candidate. Authoring folders contain raw ridge confidence, bridge candidates, final lead protection, control protection and unchanged pane weights. White in a protection map excludes treatment; white in a finish map receives it.
Rebuild and validation
python3 build.py
recipe.json supplies identical settings for both cards. cards.json pins frozen source hashes. line_detector.py contains the reusable algorithm and accepts any RGB artwork with its corresponding recipe. Rebuilding stages files locally; install.py separately installs new fixtures and refuses replacements.
Adversarial checks cover neutral dark panes, continuous, thick and sloping seams, dark crossing junctions, a short colored interruption that needs bridging, a long bright gap, a wide shadow/step edge, isolated texture and source-edge clamping. Validation covers registration, overlay/glyph suppression, full-confidence dividers, protected corners, opaque grayscale exports, exact runtime artwork/text-mask preservation, and The Fall control equivalence. Installation records preservation of existing runtime PNGs.
Moving-light review and user approval remain pending. Review Foil and Holographic, especially the circled tree regions, faces, fine flame/bush details and curved seams. Long painted strokes can still resemble leading, and widths outside the sampled range or sharp curves may lose protection. A static mask cannot establish material quality. No shared production default has been changed.
Raw-ridge comparison
The subsequent raw-ridge trial uses the exact raw confidence directly as protection, omitting continuity filtering and bridging. It has separate fixtures, frozen inputs, build/installation scripts and validation; this earlier proof is preserved.