Longitudinal force balance
a = (Fₜ − Fᵣ − Fd − mg sin θ) / m
Tyre friction circle
Fₓ² + Fᵧ² ≤ (μN)²
Static tip threshold
θtip = atan((track / 2) / hCOM)
Suspension reference
T = 2π √(m / k)
Fixed integration step: 1/120 s. Engine torque tapers near 2,600 rpm. Trailer articulation is a damped kinematic hitch approximation. Roll and pitch are sprung responses; tyre contact is represented by a friction circle. Cargo shifts the estimated combined centre of mass, while the rigid visual bodies are not solved by a general-purpose constraint engine.
Air drag is quadratic. Wet mud changes μ during the squall. Braking distance overlay assumes level-ground constant friction and is intentionally idealised.
Asset replacement slots
| ASSET | GLB URL | |
| tractor_body | | |
| tyre_set | | |
| trailer_frame | | |
| cargo_crate | | |
Part tree: tractor_root → chassis → front_axle → wheel_fl / wheel_fr; rear_axle → wheel_rl / wheel_rr; cab; exhaust; hitch. trailer_root → drawbar; bed_pivot → cargo_01…06; bed_hydraulic_cylinder → bed_hydraulic_rod; trailer_axle → trailer_wheel_l / trailer_wheel_r.
Rig joints: four wheel revolutes, front steering revolutes, four suspension prismatics, hitch yaw revolute, bed tilt revolute with Q/E actuator and a telescopic hydraulic ram. Limits are listed in machine_rig.json.