Appearance
When the evidence disagrees
The hard cases often have plenty of repetition. The problem is choosing between several convincing explanations of it.
More than one convincing period
Suppose boundaries repeat every four presentation pixels. Artwork that changes only every second cell can create a stronger eight-pixel period; interpolation or a repeated motif can suggest a two-pixel subdivision. Autocorrelation contains related peaks, so the highest peak alone cannot identify the grid.
Beamline compares these harmonic families and checks whether subdivisions have their own support. Ambiguous candidates block calibration.
Camera, sprite and UI motion can also differ. Temporal checks look for stable repetition across frames, but a stable menu may still be unrepresentative of gameplay.
Same pitch, different phase
Two regions can share spacing and still disagree about cell boundaries:
HUD and scene content can have different offsets. Whole-frame averaging may hide the smaller region or cancel strong local signals. Beamline checks where repetition occurs so one periodic panel cannot supply a grid for unrelated surrounding detail.
How bounds affect detection
Cropping can leave partial cells at an edge. Letterboxing can resemble black image content. A scene may reveal stable spacing while leaving its full logical extent unclear.
To accept an otherwise problematic asymmetric margin, the spacing checks require every excluded coordinate to have zero retained spatial activity in every observation. Even weak incompatible detail counts.
A partly offscreen Windows window can supply a smaller analysis region. Moving it fully onto one screen can change detection because it changes the captured input.
Clipping a partial cell should not change the spacing of the preceding cells. A historical subdivision bug shows why we test that boundary.
Spacing without a measured global origin
Beamline first tries to accept pitch and phase together. If that fails, it can still accept a spacing pair supported across the image and observation sequence. It checks local regions at their own origins, so phase cancellation need not erase useful spacing. Competing periods, margins and coverage still have to pass.
The spacing is converted to integer Manual-equivalent dimensions with a deterministic anchor: zero phase in analysis-local coordinates, translated to the presentation when the capture has an offset. This anchor is chosen, not measured. The saved pitch follows those integer dimensions.
Either kind of detected grid supplies treatment geometry, while color continues to be sampled from the presentation.
What the treatments actually need
With a detected grid, the treatments use spacing and phase differently:
| Treatment | Useful information | Important limit |
|---|---|---|
| CRT Core | Qualified vertical period controls beam/scanline scale and band limiting | Its CRT beam is presentation/content-anchored, not aligned by detected phase |
| CRT Studio | Vertical period and horizontal spacing contribute to beam density and material-mask structure | The CRT graph ignores detected phase |
| LCD Light and Strong | Both pitches and both phases position the cell apertures; Strong also has colored emitters | A chosen anchor may misalign cells |
Detection always saves an X/Y pair.
Shovel Knight
![]()
Historical replay: only X phase changes between the two right-hand columns; source sampling is disabled.
Inspect this comparison at 100%: browser downscaling can introduce pattern differences. “Native pixels” in its labels means unscaled capture crops.
When calibration is rejected
A false calibration can carry a wrong pattern into later launches. Refusing an ambiguous grid keeps the previous calibration or output-sized fallback.