Solver Lab / Genesis × Newton

One launch.
Mind the timestep.

Same gravity. Same initial state. Change the timestep and watch the arc shift. Compare two GPU engines with an analytic reference, then inspect every recorded position and velocity.

366recorded statesL40SCUDA · float32

How close is the recorded flight?

Loading recorded samples…

GenesisNewtonAnalytic reference
Focus engine
Integration steps per second
Position errorEuclidean distance from analytic position
Velocity errorEuclidean distance from analytic velocity
Specific energy drift½|v|² + gz − initial energy, in J/kg

Error builds over the recorded flight

Colors: 30 Hz / amber · 120 Hz / violet · 480 Hz / mint. The vertical marker follows your sample.

Every run stays in view.

Maximum error across all 61 samples per run. Select a row to inspect it. These values compare this controlled flight, not overall engine quality.
Recorded runStepMax error

The two engines may produce nearly overlapping curves here. Both integrate an unconstrained, constant-gravity flight. Smaller timestep effects and float32 rounding remain visible in the source data.

A flight you can check.

Launch at (0, 0, 1) m with velocity (2, 0, 10) m/s. Gravity is (0, 0, −9.81) m/s². Six independent runs record 2 seconds at 30 samples per second, including the initial state.

The reference arc is computed from p₀ + v₀t + ½gt². The colored arcs are saved engine outputs. This experiment has no contacts or air drag; it measures integration error, not real-world robot accuracy or GPU throughput.

Genesis native trajectories were reopened and checked sample by sample. The editable USD preserves all six paths and velocities; use 30 fps in Blender. Native replay, source JSON and methods are included offline.

Download offline lab ↓Editable USD ↓

Offline verification: robot-reel solver-lab --output solver-lab --verify. It checks saved records and derived metrics without a GPU. File fingerprints · Native readback record