pub fn build_shaped_text(
shaper: &mut dyn TextShaper,
display: &str,
size_px: f32,
opts: ShapeOptions,
shape_version: u64,
) -> Option<ShapedText>Expand description
Pure, headless-testable shaping builder (O2): shape display once at
size_px under opts, bake the caret metrics, and package the result.
An empty / unshapeable display yields a ShapedText with an empty run
and empty geometry (rather than None), so an empty focused input still
carries a stable ShapedText the caret / IME consumers can read and
the producer can version-cache. The Option is retained for API
symmetry; it is presently always Some.