render_contract library

The contract a render point is declared in: WidgetRender and DocumentRender descriptors, the wire-safe RenderOptions, and the result and warning types.

This is the library the app and the server share — typically through a third package of the team's own that both import. It touches neither Flutter nor dart:io, so a package importing it still compiles for the web; the server's door, which spawns guests, is package:flutterware/render_client.dart, and the app binds implementations through package:flutterware/render.dart.

Classes

DocumentRender<A>
A render point that composes a whole PDF document itself — multi-page, flowing text, captured widget blocks dropped in as SVG.
PdfResult
PngResult
RenderOptions
The wire form of the export policies: plain data, serializable, compiled by the guest to its per-run callback form.
RenderPoint<A>
A named entry the render guest can produce, with its args type pinned.
RenderSize
A logical size, kept free of any Flutter dependency.
RenderWarning
One honest statement about something the rendered output does not carry exactly as the engine would have drawn it.
SvgResult
WidgetRender<A>
A render point that builds a widget; the caller chooses the output — SVG, PNG, or a single-page PDF — and the options.

Enums

RenderWarningKind
TextPolicy
What to do with a text run.
UnsupportedPolicy
What to do with an op the writer cannot express (shadows, unresolvable shaders, layer effects, paragraphs whose text could not be recovered).