port: withdraw 'the boot is known too fast' -- the splash dwells are declared and the port already played them
The Decoder measured both splashes over 3 cold boots: publisher t=0..255, developer t=0..210, the developer agreeing with wall clock to 1.1%. The port emits each declared value plus the 9-unit black hold, exactly. No code change. My error was the generalisation, not the arithmetic: build 4 is the title, whose exit is caused from outside its timeline, so it holds; a splash's exit is caused by nothing, so it plays out. I used the one boot screen the port is unaffected by to overturn the two it governs. Declining to scale by 9x while adopting the conclusion that implied was half a caution. Also refutes their two splash boundaries as not comparably anchored: 2.237 vs 2.414 units/frame in one boot, and the publisher has a glow symmetric with the developer's three. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
@@ -350,21 +350,20 @@ func _process(delta: float) -> void:
|
||||
return
|
||||
|
||||
# A screen holds at `rest` until it has arrived, then plays itself out and
|
||||
# the next one begins. Nothing waits on a timer the disc does not carry.
|
||||
# the next one begins. Nothing waits on a timer the disc does not carry --
|
||||
# and for the two splashes that is now MEASURED to be right, not merely
|
||||
# cautious. Their dwells are declared: publisher t=0..255, developer
|
||||
# t=0..210, corroborated over 3 cold boots to 1.1 % on the developer. The
|
||||
# port emits each declared value plus the 9-unit black hold, exactly.
|
||||
#
|
||||
# 🔴 That is a choice made for lack of a number, NOT a reproduction of the
|
||||
# game's pacing, and this comment used to claim otherwise. Measured in the
|
||||
# draw stream (docs/port/DECISIONS.md, "The clock freezes at settle"): the
|
||||
# top-level clock advances through the build-in, STOPS inside the settle
|
||||
# window and holds -- build 4 declares ~120 presented frames and dwelled
|
||||
# ~1100. The exit ramp is not on a timer; it plays when something makes the
|
||||
# screen leave. Leaving AT settle, as the line below does, is leaving at the
|
||||
# instant the real game starts waiting.
|
||||
# ⚠️ The title is the exception and it is why this loop leaves the LAST screen
|
||||
# alone: build 4 declares ~120 presented frames and dwells ~1100, because its
|
||||
# exit is caused by something outside its timeline. A splash's exit is caused
|
||||
# by nothing, so it plays out. Do not generalise either one to the other --
|
||||
# a previous revision of this comment did, in both directions.
|
||||
#
|
||||
# The structure here is right and the duration is wrong: `_advance` is
|
||||
# already caused by the next screen rather than scheduled, which is what the
|
||||
# measurement says the game does. What is missing is the hold, and it goes
|
||||
# in `authored/flow.json` `dwell` the day a capture times one.
|
||||
# `_advance` is CAUSED by the next screen arriving, never scheduled off a
|
||||
# timer, which is what the draw stream says the game does.
|
||||
if view.holding and view.time_units >= view.settle_time():
|
||||
# The LAST screen in the sequence keeps holding. A screen plays itself
|
||||
# out because something is taking its place; nothing is taking the
|
||||
|
||||
Reference in New Issue
Block a user