In platformer.html, implemented jumping, which involved several other changes: Implemented jumpPropelRemainingMillis properly. Stopped applying gravity if it would risk shooting the hero through the floor. Split the keyboard listener into volatileKeyboard and stableKeyboard, so stability lapses wouldn't cancel a jump prematurely. Updated the jump force to have an "afterward" velocity, for quicker cancellation of short hops. Made concise utilities for zips and conditionals.