urt-rs / docs /research /QVM_PELLET_ROTATION.md
nmarshall's picture
qvm: pellet width and rotation
5efab84
|
Raw History Blame Contribute Delete
1.44 kB

Pellet muzzle width and indexed point rotation

RE-622. Reproduce with python3 scripts/analyze_qvm_pellet_rotation.py; check with python3 scripts/test_qvm_pellet_rotation.py. The machine report retains source identity and bounded fixtures.

The frame wrapper now accepts actual caller argument pointers while preserving its default report. Actual295495–295548 invokes the alternate muzzle helper, reads entity-ID table4260+ID×432 for degrees, computes a sin/cos width and initializes loop index0. Actual295549–295572 sets point(0,1,0), uses initialized axis local956=(0,0,1), and calls recovered61092 with float(index×18). Index0 follows function entry; indices1/19 are explicit resumed-loop fixtures and do not claim earlier pellets or traces executed. The source later increments the index and loops while<20. Width depends on entityID, independently of caller origin and normalized direction. The output scratch vector can initially be absent; the rotation wrapper now reports that absence instead of inventing prior words. Source computation writes all components. Per-pellet argument seed remains unchanged at this boundary; seed perturbation and endpoint follow next.

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.