urt-rs / docs /research /MD3_CONTRACT.md
nmarshall's picture
assets: bounded md3 reader
7f999fd
|
Raw History Blame Contribute Delete
1.18 kB
# Bounds-checked original MD3 reader and QVM layout contract
RE-692. Reproduce with `python3 scripts/analyze_md3_contract.py`; check with `python3 scripts/test_md3_contract.py`. The [machine report](md3-contract.json) retains source identity and bounded fixtures.
A bounded MD3 reader preserves original byte offsets and validates header/surface ranges, frame agreement, triangle indices and surface chain termination. Accessors expose frames,112-byte tags,12-byte triangles, UVs/shaders and eight-byte signed vertex records without converting originals. All eight selected Athena/Orion LOD3 files parse. The source requests orion/lower_3.md3 while extraction preserves lower_3.MD3; inventory uses suffix case-folding without renaming or choosing a runtime precedence rule. Linux resolution must handle this evidence explicitly. This establishes file layout compatibility, not rendering/native buffer ownership or complete runtime asset resolution.
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.