# Intermittent faceoff alignment — user report, 2026-10-30

## Native point cause reproduced; optional policy released — 2026-11-01-r4

## Optional painted-dot faceoffs — 2026-11-01-r4

Independent start-menu **Faceoff Dots: Off/On**, default Off. On maps the final
native stoppage point to the nearest painted point within its native region.
Off retains the inherited free neutral-zone point policy. Native formations,
puck placement, line selection, camera and renderer remain responsible.
Native and Full/Light/Mini save separately and seasons lock after match one.

The whole-formation displacement is reproduced on exact unmodified old/current
ROMs after a declared native queued minor: point(-14,-12), centres(-14,-27) and
(-14,3). On gives point(0,0), centres(0,-15) and(0,15). This matches the reported
appearance; the exact original incident history is not authenticated. Earlier
centre-only observers excluded displaced points. This is an optional coordinate
policy, not a claim of full NHL faceoff-location rules or a renderer repair.

All 97 suites execute:96 pass; retained finisher_hold remains failed with current
measurements disclosed. Strict gate FAILED. New geometry/ABI/save/menu/native
foul/lifetime tests pass. Independent rebuild, exact Nov1 r3 rollback, five matched
AI controls and original-base IPS reconstruction pass. 38/40 ordinary scenes
are raw-exact to fresh Nov1 r3; every difference and older comparison is retained.
See FACEOFF_DOTS_R4.md and FACEOFF_DOTS_RESULT.json.

ROM SHA256:c32a79e34127757b52cd488c124c9247bf7b875088bac89956a6b7ca2b132cf6; CRC32:AD52D7BA.

The following investigation is historical. Its centre-only negative samples did
not test nonzero native faceoff points and are not a contrary cause result.


## Real-input movie and actual-team centre follow-up — 2026-11-01

The retained BSV2 movie was decoded against the official RetroArch format.
Its CRC matches the exact Oct30r3 ROM. The complete 20,679-frame stream contains
real recorded input, with no later checkpoints. With retained SRAM, explicit
current core options and the preserved four-player device setting, playback
reaches Edmonton/SanJose and contains 7 faceoff episodes: 1,643 readable frames,
1,641 valid multi-actor sprite comparisons, all with zero relative rink offset.
Both settled centres match the native faceoff anchor in every episode.
A separate repeat matches RAM and video for **every frame**. This proves repeatable
playback under these inputs, not equality with the original later session:
the recording starts after the reported screenshot, initial SRAM was not bound
into its checkpoint, and the original core/options are not authenticated.

A separate six-button/default-options control has 8 episodes / 2,025 valid readable
comparisons, also aligned. Its repeated observations and saved images match,
while full raw final serializations differ in 162 bytes; full core-state equality
is not claimed. Blank SRAM changes the opponent to Nashville and the trajectory.
The retained SRAM and device/core options therefore remain explicit parts of
the replay protocol; these runs are not interchangeable original-match evidence.
An isolated sentinel control confirms that unserializing the movie’s initial
checkpoint leaves all 65,536 SRAM bytes untouched in the installed core; it
cannot replace the missing authenticated initial save.

Declared goal-line pucks, CPU control, second-unit energy and a private helper
calling the native minor-penalty routine now produce actual Edmonton/SanJose
centre scenes at 1–2 with PP2/PK2. No actor position, line index, score, clock or RNG
is directly edited. Both the old and current images are covered with six-button
and four-player configurations. The latter supplies 242 (old) / 184 (current) valid
PP2/PK2relative sprite comparisons, all zero; its other line states are recorded
separately. Settled centres are exactly (0,−15) / (0,15), anchored around (0,0).
The helper changes code/timing; current controls start from a declared legacy
actual-team state, and none reproduces the screenshot's 1:17 event history.
Failed team-selection and timing attempts remain recorded.

For an additional control, three overlapping early states per image/configuration
were replayed on each **exact unmodified ROM**, without that helper or game-RAM
edits. Each of the four image/configuration cases has 300 native frames and 294
readable PP2/PK2 centre comparisons; all align. These are controlled state replays,
not four independent matches and not a reproduced/fixed incident.

The displacement remains open. The next useful evidence is a recurrence with
its preceding input, initial SRAM and incident state; another identical restore
or a blanket position shift cannot establish its cause.

## Focused PP2/PK2 follow-up — 2026-11-01

Status remains **open: exact incident not reproduced; no alignment ROM repair**.
Current release is 2026-11-01-r3; AI Shot Plan does not claim to fix this report.

Sixteen overlapping original before-state windows were replayed for each of the
reported-era Oct30 r3, Nov1 r2 and current Nov1 r3 images. Each executes 4160 native
frames and yields 2453 readable faceoff frames, including actual PP2/PK2 outside
centre plus separate PP1/PK1 centre controls. Every valid relative sprite-to-rink
offset is zero. 117 raw RAM-camera differences per image are coherent shared
camera/render lag: both actors and rink use the same prior camera snapshot.
The relative comparison subtracts horizontal plane delta from sprite delta and
adds vertical plane delta, respecting opposite world/vertical-scroll signs.
Comparing sprites only with current RAM camera would mislabel these frames.

Two additional centre scenarios per image declare a physical goal-line puck,
CPU control selection and second-unit roster energy. Native goal processing and
F790 then select actual PK2/PP2(indices 6/4); no direct line, actor-position, score,
clock or RNG edits are made. Each image supplies 80 centre frames, 68 with valid
multi-actor SAT matches, all with zero relative offset. ActualPP2/PK2 labels were
also visually checked. These controlled situations use Washington/Colorado;
they are not the exact SanJose–Edmonton incident or independent natural matches.
Further boot/configuration attempts did not reliably select the requested teams
and are retained as unqualified diagnostics, not counted as that reproduction.

The screenshot still requires a cause-specific reproduction. Original evidence,
the earlier 300000-restore timing test, every negative replay and the new readable
frame/VDP/SAT/preceding-state traces remain retained. No blanket coordinate or
camera shift is justified. [Current evidence and limits](tools/notes/FACEOFF_ALIGNMENT_RESULT.json).

Status: **reported; exact incident not reproduced; no ROM change**.
Historical context: the original alignment investigation used Oct30r3;
at that time the playable release was Oct30r4.
The r4 accepted-pass deadline correction does not claim to fix this report.

jdc's screenshot shows the formation displaced left and down relative to the
painted centre circle. This was the first time he noticed it. The scene is in
period 1 at 1:17, San Jose 2–Edmonton 1, San Jose power play 1:00 remaining,
with PP2 / PK2 shown. Whether the faceoff followed a goal or a penalty has not
been confirmed. The complete formation is the report; the idle defence positions
or the surviving meters alone do not explain it.

The original screenshot is preserved untouched in the private evidence folder.
Initial visual interpretation of a test image was premature: coordinate checks
and later captures did not establish the same fault in an ordinary first faceoff.
A headless native game recorded 19 faceoffs across initial play, goals, penalties
and period transitions. Their original positions, faceoff point, camera/scroll
values, screenshots and selected states remain available. Separate first-game
and resumed-season starts were also inspected. No score, clock, positions or RNG
were written during the native game observation; only the usual CPU-control
selection and normal intermission Start were applied. Separate background-only
rendering diagnostics are explicitly synthetic and are not gameplay passes.

At jdc's request, investigation continued with automated savestate replay rather
than waiting for an incident capture. A measured 300,000 restores took 6.894
seconds. That measures restoration only: eight identical 24-frame replays also
gave identical RAM and video, demonstrating why repeated restoration alone does
not supply different test cases.

Two further native controller runs observed 36 faceoffs and saved genuine states
before and during transitions. A human-controller source pool of 61 states drove
6,144 replay plans, varying A/B/C/Y, directions, pause/resume, onset and duration.
These contain 5,447 distinct source/input combinations and 3,370 distinct final
RAM hashes. Each pass ran 1,532,592 native frames; a second pass reproduced all
6,144 final RAM hashes exactly while adding actual VDP sprite-position checks.
The passes each supplied 21,876 readable centre-ring checks, across 1,157 plans;
the second also supplied 21,876 readable sprite checks. No reported displacement
was reproduced. These counts are not independent matches or win-rate evidence.

A further frame-by-frame audit repeated 549 existing plans: 136,944 native frames,
17,986 centre-frame scroll checks and 17,710 readable sprite checks. Its 261
visible flags were examined against actual background scrolling: sprites and
rink shared the same camera/render pipeline offset, with zero relative offset.
The 17 origin flags per large pass were black transition frames. These are
preserved diagnostics, not reproductions of the visible report. Four synthetic
camera offsets and four synthetic sprite-table offsets validated detection;
they are explicitly not natural gameplay failures.

Coverage remains limited: the frame-audited centre scenes used native line
indices 0/0, 1/1, 2/2 and 3/5. The exact SJS–Edmonton PP2/PK2 incident is not
claimed covered, and unreadable/other-spot frames are not counted as centre
passes. Next, target the native PP2/PK2 centre transition and retain both the
preceding state and actual rendered scroll/sprite data. No blanket coordinate,
camera or rink-art change is justified by the evidence so far.

An incident savestate would still help; it is not a prerequisite for further
automated investigation. The installed RetroArch keyboard binding is F4;
automatic saving is disabled. No current r3 incident state was found. The
installed battery was copied read-only; installed progress was not modified.

The historical r4 QA summary is 69/70, with the same inherited finisher failure.
It does not claim this alignment report is fixed or fully covered. Private evidence: `.workspace/work/faceoff-alignment-20261030/`,
with the new aggregate and explicit limitations in `stress/RESULT.json`.
The Hard strength search stays stopped; the r3 keeper correction remains intact.
