A pallet load rides on friction and geometry alone. When the truck brakes with deceleration a (or corners with lateral acceleration v2/R) every kilogram of load feels an inertial push m a in the opposite direction, applied at the load centre of gravity. Two things can go wrong at every interface of the stack (forks to pallet, pallet to bottom layer, layer to layer): the stack above it can slide or tip.
slide: a > g (mu cos(th) - sin(th)) th = road slope - mast back-tilt
tip: a > g (d/(2h) cos(th) - sin(th)) d = depth, h = CG height of the part above the interface
slide distance after the truck stops: s = v^2/2 (1/a_friction - 1/a_brake)
truck nose-over: a > g x/h (x = combined CG behind the front axle)
truck roll-over: a_lat > g T x_r/(2 h L) (stability triangle)
capacity: Q (a0 + c) = W_truck x_truck (derates as the load centre c grows)
- Mass cancels - heavy or light cartons slip and tip at the same acceleration; mass only matters for the truck's own centre of gravity, where a heavy load ahead of the front axle moves the combined CG forward and lowers the nose-over limit.
- Taller is weaker - tip limit g d/(2h) falls as the stack grows, so the bottom interface governs a tall stack; stretch wrap ties the layers together, back-tilt presses the pallet against the carriage, a downhill slope subtracts g sin(th) from every limit.
- Same model in the 2D twin - one shared physics module; the 3D page only draws it. The collapse animation after a limit is passed is illustrative (nested rigid blocks with a simple fall), not a rigid-body solver.
- Honest simplifications - uniform cartons treated as rigid blocks, static and kinetic friction equal, no mast flex, tyre or load-backrest effects, truck dimensions are an illustrative 2 t-class counterbalance truck (not a specific product), one friction value for all carton surfaces, and nothing here is operating guidance: real trucks have capacity plates and local rules.