File size: 7,060 Bytes
96b1c5f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Model transforms, resources and grenade prelude: RE-670–679

Ten separately checked tasks extend the [pose/lifecycle batch](QVM_POSE_LIFECYCLE_BATCH.md). Actual pose outputs now reach model transform preparation. Hierarchy traversal and child transforms execute through explicit leaf boundaries. Resource-list detach, free/reallocation timing and the grenade trajectory/event prelude also have independent source-based checks.

| Task | Recovered scope | Evidence |
| --- | --- | --- |
| RE-670 | Actual complete pose inside model-ray/transform preparation | [Posed model](QVM_POSED_MODEL.md) |
| RE-671 | Child sample origin through ordered parent rotations | [Child origin](QVM_CHILD_ORIGIN.md) |
| RE-672 | Complete child transform and exact fourth-row arithmetic | [Child transform](QVM_CHILD_TRANSFORM.md) |
| RE-673 | Complete bounded hierarchy traversal with actual transforms | [Hierarchy](QVM_MODEL_HIERARCHY.md) |
| RE-674 | Leaf ancestry matrix accumulation | [Leaf basis](QVM_LEAF_BASIS.md) |
| RE-675 | Packed-word string length used by resource release | [String length](QVM_WORD_STRLEN.md) |
| RE-676 | Resource-list detach, actual length and bounded wipe | [String release](QVM_STRING_RELEASE.md) |
| RE-677 | Actual entity free state consumed by allocator timing | [Free/reallocate](QVM_FREE_REALLOCATE.md) |
| RE-678 | Stationary, linear, clamped-linear and gravity position branches | [Trajectory](QVM_BASIC_TRAJECTORY.md) |
| RE-679 | Constructed grenade through actual trajectory, origin and event prelude | [Grenade prelude](QVM_GRENADE_EVENT_PREFIX.md) |

## Findings for the rewrite

Model helper144766 now executes complete32254 with its actual target/client arguments and shooter elapsed calculation. All nine generated pose angles feed the four88-byte transform records. Independent whole-buffer oracles check this composition; pose outputs are no longer supplied fixtures in the new report. Model pointers and timing remain explicit inputs, and25341 intersection is still outside this composed run.

Child transform22009 copies sample origin, rotates through the parent chain and adds the immediate parent origin. A null parent exits before basis composition. Its fourth multiplication row reads local40/60/48/68, yielding sample100,0,sample108,1 rather than a conventional homogeneous row. Exact child/sample alias fixtures confirm the read-before-write behavior. Leaf23092 repeats analogous fourth-row indexing: an identity ancestry chain of positive depth yields fourth row0,0,1,1. These are retained as decoded source arithmetic, with no claim about intended mathematical design or original live parity.

Hierarchy25341 now executes actual22009 and recursive traversal with isolated caller frames, skips null children and requests leaf processing after child visits. All reached child records pass independent whole-record oracles. Leaf23092 requests are captured without geometry effects in this traversal report; no successful intersection is supplied. Its ancestry matrix stage executes separately, while primitive decoding/intersection and hit-record production remain open.

String helper36038 scans packed words for the first zero byte. Resource release249639 searches global30004, detaches a matching header, computes actual string length, wipes length+8 bytes and requests heap release16934. Independent byte-level checks cover head/middle/tail/only/missing entries and partial-word wipe ends. The wipe excludes the already-zero terminating NUL. Native heap release/coalescing remains unexecuted.

Entity free277400 now feeds actual allocator277165/initializer277125. An unprotected freed slot can be reused at age1000, or immediately if free time is at most start+2000. Protected records retain their used flag and force extension in these fixtures. Whole selected and unselected records verify that initialization updates its known fields without introducing another clear. Fixture clocks establish the contract, not live server scheduling.

Trajectory27168 types0/1 copy base,2 advances linearly,3 clamps the upper time and nonnegative elapsed, and5 subtracts400×elapsed² from z after linear movement. Other types remain explicitly unsupported in this research wrapper. Actual allocated/queried grenade construction feeds callback223156 through those trajectory branches, coordinate truncation, origin rebasing, up-vector encoding and event55 publication. Both entity and client event-storage branches are checked. The prelude stops before special damage selection at223253; damage/explosion completion is not claimed.

## Validation and limits

The1137-test baseline gains40 checks, ending at1177 passing tests. Every new report regenerates byte-identically and stays below2MiB. The existing complete-pose report remains byte-identical after generalizing its state-pointer snapshot. Storage/filter, documentation-link and whitespace checks pass. No assets, Rust runtime or shared evaluator changes occur in this batch.

Model data, acyclic hierarchies, entity pools, resource backing memory, clocks and optional client bindings remain finite fixtures. Native math, zero fill and byte wipe are explicit models; registration, unlink, heap-free and unresolved leaf calls are captured requests. No original executable/full VM, native heap/collision, successful complete model intersection/contact/damage, live server tick, networking/rendering or macOS/Linux Rust/Bevy/Solari gameplay runs here. RE-669 remains partially complete; RE-680 tracks the next work.

## Next ten concrete tasks

1. Recover23092 primitive-list/frame/vertex ownership, packed coordinate decoding and source data bounds after the ancestry matrix stage.
2. Recover its triangle/ray tests, degeneracy/parallel/behind-ray conditions and nearest-hit arithmetic with independent geometry oracles.
3. Recover actual hit-context vector/record production, type tags, key/count limits and source36038/21493 name/category consumers.
4. Compose actual leaf processing into25341 and model144766; validate no-hit and recovered-hit publication without supplied outcomes.
5. Resume the complete rewound trace through model returns and all cleanup paths, preserving exact link/unlink requests and caller state.
6. Recover contact292545 and reached damage211239, penetration/retry, aggregation and event64 encoding; capture original/native reference traces.
7. Continue grenade223156 after223253 through special damage, remaining callbacks, expiry/free and complete explosion behavior; recover other trajectory types as reached.
8. Recover heap release16934 and supporting free-list/coalescing helpers; connect resource release249639 to actual entity-free ownership transitions.
9. Recover history caller conditions and frame sequencing inside156173/174399/203011/219630, validating reset/append scheduling and shooter target times.
10. Implement a verified Rust gameplay slice from recovered contracts and original reference evidence. Continue all assets/models/maps/shaders/audio/network findings and macOS/Linux Bevy/Solari runtime/rendering validation.