Retain spawn replication through admission and nearby crate use

This commit is contained in:
2026-09-20 18:00:34 +02:00
parent e8d472c6ff
commit 173faae6d4
8 changed files with 193 additions and 24 deletions
+34
View File
@@ -1,5 +1,39 @@
# Mission preparation presentation
## Retain the scene through possession (0.0.9 candidate)
Published 0.0.8 failed on RKS #2: the client repeatedly acknowledged all 50
objects and 28 storage items, but never acknowledged the final check. The
server completed native preload, released the streaming hold, then timed out
and retried every 60 seconds. This repeated for at least five attempts. The
client's 17:48:37 session confirms the 0.0.7 -> 0.0.8 update, and the installed
PAK contains the expected second-check implementation. The first-stage inventory
check was succeeding; increasing the wait would not resolve this failure.
The candidate removes the premature release. It retains the bounded snapshot
through preload, final acknowledgement and possession. On successful assignment,
the request transfers its held nodes to one player-scoped `ERR_SpawnSceneLease`.
Normal request cleanup no longer releases them. The lease checks every 500ms and
restores normal streaming when the player leaves the 120m spawn area, loses or
changes their controlled actor, disconnects, or the mission ends. Beginning a
new admission or destroying the request also stops the lease. Failed admissions
still release their own nodes. No extra spawn delay was added. Missing-node
waits now produce a rate-limited diagnostic rather than returning silently.
`tests/test_spawn_scene_lease.py` executes the production handoff and lease
lifetime, including remaining near the crate, crossing the distance boundary,
controller loss, replacement admission and teardown. The native prisoner-kit
fixture completed: first readiness at 17:56:41.153, final readiness at
17:56:43.295, followed by transfer of the 50-object hold to the admitted player.
The original runner retains a transient exiting-process cleanup classification
failure. Results are in
`/tmp/erri-spawn-lease-kit-20260920/logs/logs_2026-09-20_17-55-46`.
The fixture passed 171 assertions with no script/runtime errors; four existing
RHS/WCS localization errors remain. A separate follow-up verified the test prefix
idle and addon sources unchanged, without rewriting the original runner result.
All repository checks passed with the new lease regression included.
Dedicated acceptance still requires publishing and testing 0.0.9.
## Storage slots and post-preload check (0.0.8 candidate)
The user tested published 0.0.7 on RKS #2 and still opened an empty prison crate