port: the snap target is UNDECODABLE and therefore free -- caveat closed, not carried
I had this in the code as 'bounded, not pinned ... if the game snaps elsewhere in the window, move this line'. That framed a live loose end. There is none. The Decoder tightened the window to [160,238) and, more usefully, showed it can never be narrowed by any capture: every element holds a constant pose across it, so with the leaves restarting at 0 on the snap, every target in the window renders the same frame -- and it never becomes observable later either, because the clock freezes at settle and the 238->250 exit plays when the screen LEAVES rather than on a timer. Checked against this export rather than taken on trust: all 24 title elements are constant across [160,238), and the lower bound is EXACT -- ptcopyright is mid-ramp at t=159.9 and settled at t=160.0, so the intersection is the window. Classified undecodable-with-reach. 236 stays, needs no defending, and nobody should spend a run on it.
This commit is contained in:
@@ -976,12 +976,27 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
# pre-registered test refuted it: three elements mid-fade vanish in a single
|
||||
# frame. I had implemented the overlay-only version; it is reverted here.
|
||||
#
|
||||
# ⚠️ The target is BOUNDED, not pinned. The capture puts it inside [100, 238]
|
||||
# -- past the sweep's gate at 100, and not past 250 or `ptloop01`'s exit ramp
|
||||
# would have taken the sweep back to alpha 0. `settle_time()` is 236 for this
|
||||
# overlay, which is inside that bound and is where the plate reaches full
|
||||
# alpha. If the game turns out to snap somewhere else in the window, this is
|
||||
# the line to move and nothing else changes.
|
||||
# ❔ THE TARGET IS UNDECODABLE, AND FREE. Not "bounded pending a better
|
||||
# capture" -- no capture can ever decide it, so 236 needs no defending.
|
||||
#
|
||||
# The window is [160, 238): `ptcopyright` goes absent -> alpha 255 in one
|
||||
# frame at the snap, skipping its declared 138->160 ramp, so t >= 160; the
|
||||
# sweeps are still at 255 and their exit runs 238->250, so t < 238.
|
||||
#
|
||||
# 📌 EVERY element holds a constant pose across that window -- checked here
|
||||
# against this export, not taken on trust, and the intersection IS the window:
|
||||
# at t=159.9 `ptcopyright` is mid-ramp and at t=160.0 it is not, so the lower
|
||||
# bound is exact. With the leaves restarting at 0 on the snap (below), every
|
||||
# target in the window renders the SAME frame, and it never becomes observable
|
||||
# later either: the clock freezes at settle, and the 238->250 exit plays when
|
||||
# the screen LEAVES rather than on a timer.
|
||||
#
|
||||
# So a different value here has no consequence at any instant, ever.
|
||||
# `settle_time()` = 236 is inside the window and is where the plate reaches
|
||||
# full alpha. `docs/re/f5-snap-target-undecodable-with-reach.md` classifies it
|
||||
# ❔ undecodable-with-reach: pinning the literal would need guest memory or the
|
||||
# assigning code, a different instrument than any capture, for a number with
|
||||
# no observable effect. Nobody should spend a run on it.
|
||||
#
|
||||
# 🔴 NOT `settle_instant`: the first version of this used it and NEVER FIRED,
|
||||
# silently. `press_start` declares a 22-unit settle window against a 30-unit
|
||||
|
||||
Reference in New Issue
Block a user