port: --linger, so a scripted walk can observe what arrives after it settles
Last iteration I inferred the returned plate's fade from code-path identity because the harness could not watch it: `--script` quits the moment the last step settles, and the plate arrives on its declared ramp ~3.6 s later. A film of `--script=cancel` stopped at 168 units and never reached 214. `--linger=SECONDS` holds the run open past the walk. `_script_settled` still waits for a hold before shooting -- a shot taken mid-fade is a photograph of a fade -- this only changes what happens after the shot, which was "exit". Pre-registered: the returned plate sits at its floor until 214 units, then rises to full by 236, the same ramp the boot shows. Measured: units=208.75 0.145404 floor units=216.58 0.158596 units=224.41 0.179036 units=232.25 0.203050 units=240.08 0.215005 full -- boot path gives 0.2142 at t=236 So the return fades, identically to the boot, and it is now OBSERVED rather than argued from the branch it takes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018AHUQvXGyNcKonSEWsgWcX
This commit is contained in:
@@ -1333,6 +1333,22 @@ func _run_script() -> void:
|
||||
# at, not the one it started from. See the note beside the early capture.
|
||||
if _capture_to != "":
|
||||
await _capture(_capture_to)
|
||||
# 🔴 `--linger=SECONDS` KEEPS A SCRIPTED RUN ALIVE AFTER THE WALK SETTLES.
|
||||
#
|
||||
# Without it a scripted run quits the moment the last step settles, and
|
||||
# ANYTHING THE SCREEN DOES AFTERWARDS IS UNOBSERVABLE. That is not
|
||||
# hypothetical: the plate on a returned title arrives on its own declared
|
||||
# ramp at t=214..236, which is ~3.6 s after the screen settles, and a film of
|
||||
# `--script=cancel` stopped at 168 units and never reached it. The behaviour
|
||||
# was inferred from code-path identity because the harness could not watch it.
|
||||
#
|
||||
# `_script_settled` waiting for a hold is right -- a shot taken mid-fade is a
|
||||
# photograph of a fade. This does not change that. It changes what happens
|
||||
# after the shot, which was "exit" and is now optionally "keep running".
|
||||
var linger := float(_args().get("linger", "0"))
|
||||
if linger > 0.0:
|
||||
print("linger: holding %.2f s past the walk so late arrivals are observable" % linger)
|
||||
await get_tree().create_timer(linger).timeout
|
||||
get_tree().quit(0)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user