Download docs/research/QVM_WEAPON_READY.md from nmarshall/urt-rs: direct link, hf CLI and curl.
- Browser
- Download file 1.51 kB
-
https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_WEAPON_READY.md
- Command line
-
hf download hf://nmarshall/urt-rs/docs/research/QVM_WEAPON_READY.md
-
curl -L -o QVM_WEAPON_READY.md https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_WEAPON_READY.md
Ready weapon refill cadence and interaction re-entry
RE-577. Reproduce with python3 scripts/analyze_qvm_weapon_ready.py; check with python3 scripts/test_qvm_weapon_ready.py. The machine report retains source identity and bounded fixtures.
Ready-entry51207 first handles selectedID27 by replacing magazine bits8..15 with configured capacity&255, preserving ID/mode/reserve. Then nonpositive PS204 plus state32 plus mode flags bit1 resets weapon timer/state to0 and exits. This cadence predicate precedes state1 handling.
If state1 is set, it clears before testing button64. With button64, actual49918 interaction runs and observes bit1 already clear; without it no child runs. Both paths exit53046. Otherwise execution reaches51365. The interaction child still enforces its own weapon-state/timer/action guards and supplied native trace behavior; clearing bit1 does not imply successful interaction.
88 finite fixtures use explicitly supplied entry locals and mode flags to isolate these conditions; they do not run earlier prefix/timer guards. ID27 special refill is not generalized to other weapons. Remaining: actual reload completion and ammo-unit accounting, lowering/raising completion, and full parent composition across these boundaries.
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.