pub(crate) fn recorder<'a, L: TextLayout>( session: &Session, layout: &'a L, viewport: Rect, ) -> Recording<&'a L>