Programming environment for editing various of my live apps without restarting them.
animate_next_frame = function(state, dt)
	if state.initial == nil then
		state.initial = from_viewport(state)
		-- once we've checked keys, pollute the keyspace
		state.step = 0
		state.frame_time = 0
		return
	end
	state.frame_time = state.frame_time + dt
	if state.frame_time > 0.01 then
		state.frame_time = state.frame_time - 0.01
		state.step = state.step+1
		interpolate_viewport(state.initial, state, state.step)
		B()
	end
end