shared area A_c contact width |a_c| crossings
|F| = w′(A_c)·w_c (b−a)·a_c mean depth A_c/w_c
E / E₀ worst |E/E₀ − 1| t
A edges in contact Σ|ae| ÷ |a_c| flush edges (zero load)
frame arrows drawn dt (fixed)

space play/pause · → or . advance one frame. Drag the block anywhere — including straight into the lower one — then press play. There is no damping and no friction here, only the elastic contact and gravity, so the total energy is the claim: it should stay at 1.

roll damping
The test first, the knob second, on purpose. The button sets the scene up and finds the slowest shove that still crosses the tub, but it leaves the damping alone — at zero, what you get is what the contact model on its own says a square does. Raise the damping and run it again. Production carries CHUNK_ROLL = 3.0. It is not a force: it multiplies ω at the end of a step, and only while the block is in contact.
contacts |Fn| net repulsion |Ft| friction
v·n̂ (+ = closing) |vt| slide friction bound
dashpot power friction power both ≤ 0 since release
E / E₀ since release worst rise, untouched ω
turns accumulated deepest overlap Ac ω·dt of the contact
t dt (fixed) roll-test launch

The elastic force is not drawn here — panel 1 is where it lives. What is drawn is the two dissipative terms, both at the single point production applies them to: the dashpot along the contact normal and friction across it. Tilt the tub and raise μ to make the block roll instead of slide.
While paused, dragging the block shows the forces its drag velocity would produce, and they hold when the pointer stops so they can be read. That is a convenience, not a measurement: nothing is being integrated. While playing, a drag throws the block.

symplectic Euler (left, dashed)velocity Verlet (right, solid)
E / E₀ since build
max E / E₀ since build
mean |v|
max |ω|
squares thrown out
t

symplectic Euler (left, dashed)velocity Verlet (right, solid)
steps taken
t
slip before this step
slip after
slip after / before
KE after / before
KE in rotation, after
friction bound, this step
clamp's mass / tangential mass = γh
symplectic Euler
velocity Verlet
symplectic Euler: 1 − γhvelocity Verlet: (1 − γh/2)²
slip multiplier per step
slip energy multiplier per step
reverses the slip