Move viewport management down into the engine and add suitable events. Cache initial...