MarkdownAguiTextRenderer
constructor(colors: @Composable () -> MarkdownColors = { markdownAguiColors() }, typography: @Composable () -> MarkdownTypography = { markdownAguiTypography() }, flavour: MarkdownFlavourDescriptor = GFMFlavourDescriptor())
Parameters
colors
read in composition rather than passed as a value, so that a caller reading MaterialTheme gets a renderer that follows a theme change without being reconstructed -- which is what lets the whole thing sit behind a single remember with no keys.
typography
read in composition for the same reason. Note that reasoning is dimmed by the slot around this renderer through LocalContentColor, and a MarkdownColors carries an explicit colour -- so under Material 3 the lambda above is also what keeps dimming working.
flavour
the Markdown dialect. GitHub Flavored Markdown by default, which is what an agent writing tables and fenced code is almost always writing.