|
Download docs/research/QVM_GROUND_CALLEES.md from nmarshall/urt-rs: direct link, hf CLI and curl.
- Browser
- Download file 7.26 kB
-
https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_GROUND_CALLEES.md
- Command line
-
hf download hf://nmarshall/urt-rs/docs/research/QVM_GROUND_CALLEES.md
-
curl -L -o QVM_GROUND_CALLEES.md https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_GROUND_CALLEES.md
7.26 kB
| # QVM ground loss and landing kinematics prefix | |
| This batch completes bounded RE-509–511 / F-241–243. It recovers46527 ground-loss policy and connects it at the actual46773 caller boundary, plus evaluates45912's landing kinematics/animation prefix. It extends [main environment recovery](QVM_MAIN_ENVIRONMENT.md); the landing study deliberately stops before severity/event/damage/suffix work. | |
| Reproduce with `python3 scripts/analyze_qvm_ground_callees.py`; validate with `python3 scripts/test_qvm_ground_callees.py`. The [machine report](qvm-ground-callees.json) retains verified source identity, helper/prefix instruction partitions, exact words, native requests, animation children and bounded main chains. No original executable, full QVM, native collision, physics or rendering executes. | |
| ## GROUNDLOST-001 — Deep query, ground sentinel and animation (RE-509) | |
| Thirty-two standalone46527 probes vary flags0/4/4096/4100, old ground7/1023, supplied deep-trace fraction0.5/1 and signed forward direction−1/+1. An initial flags&12 branch clears ground to1023 and plane/walk to0 without action or native query. Otherwise the source sets32, requests54981(1) with its effects omitted, and skips the deep query when the old ground is already1023. | |
| For an existing ground value the helper requests a trace64 units downward from current origin with current bounds/entity/mask. Only the consumed fraction output word is supplied; the analysis does not invent or claim other trace fields. A fraction other than1 retains old ground/walk within this helper and clears the plane indicator. Fraction1 toggles4096, chooses animation26/28 for nonnegative forward or30/32 for negative forward according to the old4096 state, evaluates39525/39383, then clears ground/walk and plane. | |
| Standalone fixtures issue eight deep native requests and four animation requests. Exact raw animation equality/toggle and forced leg-timer reset follow the recovered animation helpers. Action/logging effects, trace collision/consistency, invalid fractions/counts/pointers and real semantic/legal flag domains remain unverified. | |
| ## LANDPREFIX-001 — Discriminant, impact estimate and animation timer ordering (RE-510) | |
| Forty-two landing-prefix probes vary previous Z velocity0/−100/−300, current-minus-snapshot deltaZ−10/0/+10, posture flag1 clear/set and raw leg animation25/27, with six additional strict-threshold cases around−200. Gravity800 and finite vectors are supplied. Source45912 first zeros PS+440 and clears4096 in PS+220, even on the negative-discriminant path. | |
| Let `v` be the saved previous Z velocity, `a` the binary32 conversion of negative integer gravity, `h=round32(a*0.5)` and `dz` the rounded current/snapshot Z difference. In source order the discriminant is `round32(round32(v*v) - round32(round32(h*4)*round32(-dz)))`. A negative value jumps to46294; no root, time or impact output is claimed on that path. Eight fixtures take it. | |
| For nonnegative discriminants, a native root is requested and supplied from finite math. The source evaluates rounded `time=(-v-root)/(h*2)` and `impact=v+time*a`. Thirty-four fixtures reach stop46052 before impact squaring/severity scaling. If impact is strictly below−200 and flag1 is clear, the source stores leg timer130 and requests39525(27). Eight fixtures request that helper; exact−200 and−199.999 skip, while−200.001 requests it. | |
| The evaluated forced-animation child exposes ordering: with raw legs25 it resets the newly written130 timer to0 and toggles to animation27; with raw legs already27 the helper skips its reset and130 survives. The caller has no intervening restoration before this prefix boundary. Tests verify both outcomes, including every exact time/root/discriminant/impact word. Zero or exceptional gravity, negative-root/native exceptional behavior, full landing return, severity/event/damage and later crouched-speed suffix behavior remain open. | |
| ## GROUNDCHAIN-001 — Actual ground-loss caller and selected main state (RE-511) | |
| Sixteen bounded main chains vary initial4096, old ground7/1023, deep fraction0.5/1 and forward direction. At the reached first46773 fraction1 branch, the source requests46527; the new helper executes before caller continuation. Its resulting memory then returns to46773, which clears plane **and walk** after the request regardless of the helper's short-query retention. Thus a fraction0.5 helper result can retain old ground7/walk1 internally while the actual classifier ends with ground7/walk0/plane0. Tests distinguish these two boundaries. | |
| Actual flags/leg timer and plane state flow into main timer aging and the selected41768 chain. All16 fixtures reach that mode and evaluate its first-clear slide, wrapper bypass and gravity tail, followed by the existing post-ground/content analysis. Initial impact, viewheight/bounds, native content/trace/root responses and action/query/suffix/other ground effects remain supplied or omitted. The post-ground45912 landing request is not replaced with the separate prefix study: no full landing completion or shared landing effect is claimed there. | |
| These chains use the earlier environment path with supplied posture state, not the optional evaluated posture branch from the newer posture report. Full main/action/environment/native runtime composition remains open. Source helper frames for ground loss, landing prefix, animation children and live main/movement callers are disjoint. | |
| ## Validation and next tasks | |
| Eight tests verify32 standalone plus16 composed ground-loss outcomes, deep geometry/requests/sentinel/strict fraction policy,42 landing-prefix formulas and initialization paths, timer130/forced-animation equality, actual animation children, caller override order, selected main/slide state, source partitions and supplied/partial-native scope. Reproducibility/full-suite/storage/link/whitespace results are recorded in the ledger. | |
| RE-508 remains open for its broader ground/native/producer/runtime scope. RE-512 tracks remaining45912 severity/event/damage/speed suffix and real ground landing composition,46296 recovery/native callbacks, actual54981/action and other omitted callee effects, posture/ground integration, collision/content/root ABI/legal domains/impact consumers and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Other game/assets/rendering/protocol milestones remain open. | |
| Follow-up: [complete bounded landing body](QVM_LANDING.md) completes RE-513–515, extending this prefix through severity/queue/suffix and actual ground/main caller stores.29913 is now verified as a two-slot numeric event writer; external damage semantics are not established. Recovery/action/native/full runtime scope remains open under RE-512/516. | |
| Follow-up: [helper54981 body](QVM_ACTION_PROBE.md) completes bounded RE-525–527 for standalone argument1 and actual main argument0. This report retains its omitted54981 effects inside46527; attaching the recovered child there remains explicit follow-up work. | |
| Follow-up: [actual54981 inside ground loss](QVM_LOST_ACTION.md) completes bounded RE-529–531 and checks sentinel/flag/deep-query decisions against updated child state. Original no-callback reports remain unchanged; native/query/mode/runtime limits stay explicit. | |