The edges of a platform's screens, typed by its screen registry: an
interface that maps each ScreenId to the type of its definition
(interface AndroidScreens { readonly SerpTop: typeof Serp; … }). An edge
names its target by id, so a screen's type never depends on the type of the
screen its edge leads to, and screens that lead to each other (a profile, a
suggested user, the same profile) are declared without a cycle in their
types: the registry is read only where the edge is used. The definitions
themselves come from the platform's screen set at run time
(screenSet(platform, { SerpTop: Serp, … }), typed by the same registry).
The edges of a platform's screens, typed by its screen registry: an interface that maps each
ScreenIdto the type of its definition (interface AndroidScreens { readonly SerpTop: typeof Serp; … }). An edge names its target by id, so a screen's type never depends on the type of the screen its edge leads to, and screens that lead to each other (a profile, a suggested user, the same profile) are declared without a cycle in their types: the registry is read only where the edge is used. The definitions themselves come from the platform's screen set at run time (screenSet(platform, { SerpTop: Serp, … }), typed by the same registry).