TiledImage
Source-backed TiledImage observing source at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Emits one fixed viewport over a logical raster assembled from independently revisioned image tiles.
The component subscribes only to a bounded visible, overscan, and coarser-fallback working set and emits nearest-sampled portable image commands from coarsest to finest, in deterministic row-major order within each level. Pan, zoom, and resize replace only the current placement plan; unchanged immutable tile images remain source-owned and are never joined or copied by this component. Direct children keep fixed logical sizes, paint after the tile layer, and must use TiledImageScope.atContentPosition with either a fixed coordinate or an independently revisioned position source to share its content transform. Pointer navigation is composed independently with Modifier.panZoom; this component consumes no input itself. Retained attachment, measurement, source observation, and release failures propagate through the owning UI session; the component closes its observations but never closes source, its returned state sources, or state.
Receiver
active owner-thread screen scope.
Parameters
externally owned immutable source generation, replaced by identity when geometry or generation changes.
caller-owned pan-and-zoom transform used by exactly one live viewport geometry owner.
exact positive logical viewport size admitted by its parent constraints.
base transform used at zoom one.
bounded attachment-owned tile working-set policy.
active behavior applied around the complete clipped viewport.
optional stable sibling identity.
fixed-size overlay children in source content coordinates.
Throws
when size, exactly representable source bounds, levels, alignment, or cache limits are invalid.
when source grid extents or edge-tile envelopes exceed the Long coordinate space.
when either callback scope has escaped its callback or constructing thread.