pub fn kernel(
session: &mut Session,
events: Vec<Event>,
layout: &impl TextLayout,
) -> ViewExpand description
One frame of the editor: apply what the front end said, paint, and answer with what it should show.
The order is the shell’s own — the registry is read before anything is dispatched, the canvas runs before the actions it raises are applied, and the undo stack is fed at the end — because a frame that ran them in another order would be a second editor.