urt-rs / docs /research /QVM_LOCOMOTION_PREFIX.md
nmarshall's picture
qvm: airborne locomotion
4f7acc4
|
Raw History Blame Contribute Delete
1.73 kB
# Airborne locomotion animation and bob cycle
RE-567. Reproduce with `python3 scripts/analyze_qvm_locomotion_prefix.py`; check with `python3 scripts/test_qvm_locomotion_prefix.py`. The [machine report](qvm-locomotion-prefix.json) retains source identity and bounded fixtures.
47884 begins by loading initialized weapon class/tag and computing sqrt(vX²+vY²), storing the float at FRAME216. PS216 is a distinct retained word. Airborne is ground entity1023. Water level>1 first requests legs25, otherwise crouch flag1 requests42. Flags12 then select legs20 for nonzero signed forward,21 for zero, with the same torso request when flag8 is set. Absolute forward>100 advances bob by float32(.4×integer dt), truncates and masks255; crossing ((old+64) xor(new+64)) bit128 emits5.
If flags12 are absent, state1024 requests legs0 then torso0; otherwise flag2 requests torso68 then legs42. Recovered conditional animation helpers preserve timer/type/toggle rules, so earlier requests in the same body affect later ones.120 probes include masked animation aliases, positive timers, kind3, bob255 wrap, signed−128 input and high vertical velocity excluded from speed.
The entire airborne path runs to48714. Grounded execution explicitly stops at48209 before its animation/gait branch; that continuation is the next task. Native sqrt is supplied for finite values, and no actual skeletal playback, collision or original runtime executes. Legal animation naming and live speed/state reference parity remain open.
No original executable/full QVM/native collision/physics/rendering executes. Native responses and legal input domains are supplied or unverified where stated; full runtime/macOS/Linux Rust/Bevy/Solari gameplay remains open.