The companion surface is now split across two packages:
Pretext.Layout for platform-neutral wrap and obstacle-layout helpersPretext.Uno for Uno-specific controls and render schedulingPretext.LayoutPretext.Layout builds on the core Pretext engine without taking any Uno Platform dependency.
WrapMetricsAggregate metrics for a wrapped text block:
LineCountHeightMaxLineWidthPositionedLineRepresents one laid-out line placed into a coordinate system:
TextXYWidthRectObstacleCircleObstacleIntervalThese are the geometric primitives used by the obstacle-aware helpers.
PreparedTextMetricsUtility methods for common wrap calculations:
MeasureMaxLineWidthCollectWrapMetricsFindTightWrapMetricsIsEndColumnFlowLayoutFlows prepared text through rectangular columns while respecting rectangular and circular obstacles.
ObstacleLayoutHelperLower-level helper methods for carving intervals and selecting usable slots around obstacles.
Pretext.UnoPretext.Uno now focuses on the Uno-specific pieces.
StretchScrollHostA simple page-level container that:
ScrollViewerContentBackground and ContentPaddingThis is useful for sample-like pages or long document surfaces that need viewport-relative calculations.
UiRenderSchedulerA small dispatcher-backed scheduler that coalesces repeated render requests into a single DispatcherQueue callback.
Use it when:
Use Pretext.Layout when you want the helper patterns from the sample hosts without taking a UI framework dependency. Add Pretext.Uno only when your application already targets Uno and wants the reusable Uno controls as well.
See the dedicated package pages for installation and dependency details: