urt-rs / docs /research /QVM_DAMAGE_RANGE.md
nmarshall's picture
qvm: damage descriptors and range term
3760254
|
Raw History Blame Contribute Delete
1.04 kB

Damage descriptor and cubic range term

RE-704. Reproduce with python3 scripts/analyze_qvm_damage_range.py; check with python3 scripts/test_qvm_damage_range.py. The machine report retains source identity and bounded fixtures.

Actual289762–289861 uses signed positive descriptor4188+432×weapon as range. Only weapon4 computes context84/(range×10), clamps to[0,1], and stores (1−ratio) cubed with source-order float32 products. Nonpositive range leaves ratio0 and complement1. This is a local term, not yet the final damage factor. The location selects a pair at4068+432×weapon+8×location: first float factor and second wound word. Source descriptor words are preserved; range overrides are explicitly labeled synthetic fixtures. No external calls or health writes occur.

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.