Download docs/research/QVM_LANDING.md from nmarshall/urt-rs: direct link, hf CLI and curl.
- Browser
- Download file 6.96 kB
-
https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_LANDING.md
- Command line
-
hf download hf://nmarshall/urt-rs/docs/research/QVM_LANDING.md
-
curl -L -o QVM_LANDING.md https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_LANDING.md
QVM landing severity, numeric event queue and ground caller
This batch completes bounded RE-513–515 / F-244–246, extending the landing prefix through the remaining45912 body and evaluating its reached event writers. It also connects the body at the actual46773 landing boundary. Native roots, contents and trace records remain supplied; numeric event/field meanings and full runtime behavior remain unverified.
Reproduce with python3 scripts/analyze_qvm_landing.py; validate with python3 scripts/test_qvm_landing.py. The machine report retains verified source identity, complete landing/event instruction partitions,82 landing fixtures,10 supplied-severity suffix probes, five queue sequences and six main chains. No original executable, full QVM, native collision, physics or rendering executes.
LANDEVENT-001 — Two-slot event and parameter writer (RE-513)
Helper29913 writes its first argument to PS+112+4*(sequence&1), its second to PS+120+4*(sequence&1), then increments PS+108 with int32 arithmetic. This is a two-slot numeric event/parameter queue; it is not an external damage routine. Sequential writes overwrite the older slot. Five standalone sequences exercise even/odd selection, overwrite, signed-int32 rollover and0xffffffff-to0 wrap with three actual helper calls each.
Helper39238 forwards its event argument with parameter0 and the actual PS pointer into29913. Helper45887 suppresses its write when surface bit8192 is set; otherwise it writes event39 with signed arithmetic surface>>20 as parameter. Tests include positive3 and negative−1 parameters and retain their exact unsigned memory words. These wrappers and their queue children now evaluate at the actual landing call boundaries, rather than leaving29913 effects omitted.
The event IDs and PS+216 output are documented numerically. Their downstream consumers, semantic labels, gameplay/health/damage meaning and legal event/sequence/surface domains remain open. The recovered bodies store queue words; no external damage call is established by these requests. Earlier references to unevaluated “event/damage” work were provisional scope labels, not evidence that29913 performed damage.
LAND-001 — Severity gates, branch output and suffix (RE-514)
The complete bounded45912 body retains the earlier initialization/discriminant/impact/animation behavior, then squares impact and multiplies by exact coefficient word953267991 (approximately0.0001), rounding in source order. Content level3 exits after that initial score and before suffix cleanup. Level2 scales the score by0.25, level1 by0.5 and level0 leaves it unscaled. A score below1 exits before field8 cleanup and the horizontal-speed suffix.
At score>=1, numeric event selection additionally requires PS+208>0 and surface bit1 clear:
- Score strictly above45 selects event50 for argument>=64, or event87 with the argument as parameter for argument<64.
- Score strictly above30 through45 selects event49 for argument>=64, or event87 for argument<64.
- Score strictly above7 through30 requests45887, which may suppress its event39 write via bit8192.
- Score1 through7 emits no event request.
The argument<64 high-score branches store Z velocity300. The event50 branch stores truncate(round32(round32(score * coefficient1014763457) * 110)) into PS+216; event49 uses coefficient1020054733 and multiplier30. Both coefficients retain exact binary32 words. Other branches leave that field unchanged. These are source outputs, not a proven damage amount.
After the score>=1 event region, PS+8 is cleared even if health/surface suppressed event selection. If posture flag1 is set, the source requests the horizontal norm and sets entity flag1 only for a result strictly above300; it does not clear an existing bit for lower speed. Ten isolated suffix probes supply scores around1/7/30/45 to test exact branch boundaries without claiming those exact scores arise from legal collision inputs. Full fixtures include level/health/surface/argument gates, surface8192 suppression, signed surface parameters, low scores, negative discriminant and horizontal speeds299/300/301.
All reached39525/39383 animation,39238/45887 event wrappers and29913 queue writers evaluate with disjoint live frames. Native square-root results come from finite math at actual recorded source requests. Supplied gravity800/nonexceptional state does not validate zero/exceptional gravity or native ABI/runtime equivalence. The body stops at its common void-return boundary46294; no skipped severity/event/suffix path is asserted to execute.
LANDCHAIN-001 — Landing child before ground timer/touch stores (RE-515)
Six bounded main chains combine previous Z velocity−300/−700 with supplied initial content level0/2/3 and old ground1023. Actual clock snapshots feed the ground caller. For accepted level0/2 ground, source46773 requests45912(8); the complete evaluated child returns before the caller's remaining stores. Previous Z below−200 then writes movement timer250, sets ground8 and evaluates touch registration. Main's actual elapsed16 ages that250 to234 before mode selection.
Level0 requests recorded43626; level2 requests recorded41848. Those alternative mode bodies remain omitted. Level3 does not reach landing and receives no prepared child effects; its selected41768 path retains the earlier contact-chain implementation. Event/parameter queue state survives the later evaluated environment calls and remaining recorded main requests. A reached landing can emit no event, for example the level2-scaled−300 fixture.
Post-ground upward-kick animation and other unresolved ground/action/query/posture/alternative-mode/suffix/native effects remain omitted. Viewheight/bounds, native content/ground/slide/down/overlap responses and initial state are supplied. These chains establish child/caller/store ordering and selected shared state, not complete53418/scheduler, geometry-derived collisions or platform gameplay.
Validation and next tasks
Eight tests independently verify all82 full-body and10 supplied-score suffix results, strict event/cleanup/speed thresholds, scaling/health/surface/argument policies, exact queue/field/Z outputs, wrapper suppression, five queue wrap sequences, native root arguments, actual landing/ground250-to234 timer/touch ordering, event retention and unreachable-child suppression, source partitions and scope. Reproducibility/full-suite/storage/link/whitespace results are recorded in the ledger.
RE-512 remains open for its broader recovery/action/native/runtime scope. RE-516 tracks numeric event and PS+216 consumers/health semantics, actual46296 recovery/native collision/content/root ABI/legal domains, remaining54981/action/posture-ground/animation/alternative-mode/suffix effects and full main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Other game/assets/rendering/protocol milestones remain open.