frame

abstract fun frame(constraints: Constraints): RuntimeUiFrame(source)

Produces one immutable frame synchronously on the owner thread.

Pending content changes are reconciled before measurement, layout, paint, and semantics run in order on the retained tree. When content was not rebuilt and both constraints and the whole-tree revision are unchanged, implementations may return the same immutable frame instance without rerunning the pipeline. The returned frame owns detached read-only snapshots and does not retain the session or source collections. A pipeline failure poisons the session and performs cleanup before rethrowing the exact primary failure.

Return

an immutable frame snapshot from the successful owner-thread pass.

Parameters

constraints

the root measurement constraints for this frame.

Throws

when called from the wrong thread, reentrantly, or while the session is not attached.

when content, reconciliation, measurement, layout, paint, semantics, or cleanup fails; the first failure remains primary with later distinct failures suppressed.


abstract fun frame(constraints: Constraints, time: FrameTime): RuntimeUiFrame(source)

Produces one immutable frame after delivering an explicit monotonic timestamp to time-aware nodes.

Equal timestamps are legal, and nodes invalidate output only when their discrete presentation changes.

Return

immutable frame snapshot, potentially the previous instance when no output changed.

Parameters

constraints

root measurement constraints.

time

timestamp from the owning platform clock.