Optional~opensType only, never a value: the screens this definition opens through
action edges — edges its handle does not show (actionEdge) — so
ScreenOpenTargetsOf follows them and a screen reached only that way is
still visible to the registry-derived reachability. The parameter is
bivariant (a method's is), so a definition that names its targets is still
accepted wherever a definition's parts are read; never for a definition
whose transitions all live on its handle.
Optional Readonly~topThe data fields the handle also shows on its top level: the screen's one
main identifier (identity), or none. A type only, never set.
ReadonlyactionsThe Share button: the caption's check, then the "Also share to" sheet.
ReadonlyafterWhat runs once the screen's handle is assembled, inside the enter's
transaction: a swipeable feed gives the first item in front its enter
here, because its items were shown without one. Absent for every screen
and every plain feed. A failure rolls the enter back.
Optional ReadonlybeforeWhat the engine runs when a transition is about to cover or close the
screen, while its chain and endpoint are still in front: the app's
departure work that goes out before the covering screen's burst. A screen
and a feed declare it (an item does not). It receives the visit in
progress, cannot fail, and runs before the transition and before leave.
Optional ReadonlybeforeWhat the engine runs when a transition is about to bring the screen back on
top (a tab tap back to it, the covering screen's back), while the screen
in front still has its chain and endpoint: the app's tap-time work, the
counterpart of the first show's burst before its own navigation event. Only
a screen declares it. It cannot fail, and runs before the transition and
before resume.
ReadonlycatalogThe retrace's view of this screen, with its errors and services.
ReadonlycheckpointWhat a frame keeps beyond what entering it showed (a feed's deepest page), as a checkpoint stores it; absent when the screen keeps nothing.
ReadonlydataWhat enter returns: the user's data, under the handle's data; never in a trail.
ReadonlyenterReadonlyfindReadonlyidReadonlyinputWhat an edge passes to enter — for an item, the schema of one list entry.
ReadonlyisWhether value is this screen's handle: the narrowing of a union of
handles — what back returns (the screens that can open the screen), or
the launch's first-screen union — written
XxxScreen.is(handle) (owner decision, 2026-10-23: the guard is a method
of the definition, not a free function).
ReadonlyitemsAbsent when the screen shows no item lists.
ReadonlyitemWhether the items of its lists have visits (leave, resume): a plain feed's have none.
ReadonlykindReadonlyleaveWhat the engine runs each time the thing stops being on top — covered by another screen, closed, or left by a tab switch — after the transition that did it committed. It receives the visit that ended, with its duration by the engine's clock. It cannot fail; absent when the thing does nothing then.
ReadonlyownsWhether checkpoint is this screen's, read synchronously from the id it
carries, from the object or from its JSON text (owner decision,
2026-10-24: the caller never parses before the call). A type guard for the
object form, so after it the platform's restores of this screen
(AndroidIgpapi.resumeSilently({ checkpoint, screen: XxxScreen, … })) cannot refuse with a mismatch;
a string answers a plain boolean. A corrupt checkpoint still fails them
with CheckpointDecodeError.
The restores themselves are the platform's: they build the process from the checkpoint, so they are installed on the definition by the platform package, and the platform's type of the definition carries them (owner decision, 2026-10-24).
ReadonlypositionWhere the screen's frame is beyond what entering shows (a feed's deepest page shown), for a trail; absent when nowhere beyond.
Optional ReadonlyreadHow a checkpoint written by an earlier release is read into this screen:
the stored input and data, in the shape that release gave them, become the
current stored shape before the definition's schemas decode them. A field
the release wrote and the screen no longer holds is read with a schema of
its own and mapped into where its fact lives now, or dropped with a logged
StoredSnapshotFieldDropped; it never fails the restore (“Stored snapshots
of earlier releases”). Absent on a screen whose stored shape never changed;
a frame already in the current shape passes through it unchanged.
Optional ReadonlyreadThe same reading for an input stored alone — a trail's root and steps, the process's root: the input of an earlier release, read into the current stored shape before the screen's input schema decodes it.
ReadonlyreleasedThe names a released trail format gave this screen's item lists, mapped to
the current ones (a feed's items were page in formats 1 and 2): a
retrace of a released trail reads a step's list through it.
ReadonlyrestorePuts that back into a handle a checkpoint rebuilt, before any action runs.
ReadonlyrestoreBrings a fresh frame back to a position a trail stored, sending what the app sends to get there.
ReadonlyresumeWhat the engine runs each time the thing is on top again after a leave —
the screen that covered it was closed — after that transition committed.
Never on the first show (that is enter), never after a rolled-back
transition. It cannot fail; absent when the thing does nothing then.
ReadonlystateWhat continuing from it needs, from its input and data (and, for an item, its host screen's state).
The definition type of PostingStoryShareSheetScreen, named so declaration emit prints its name rather than serialising the whole definition (the declaration-serialization limit the other screens reachable from a tab root meet; see
PostingCameraScreenDefinition).