IGPAPI
    Preparing search index...

    Variable ScreenTrailSchemaConst

    ScreenTrailSchema: Struct<
        {
            app: Struct<
                { platform: Literals<readonly ["android", "ios"]>; version: String },
            >;
            deviceUuid: String;
            format: Literal<1>;
            root: Struct<
                {
                    input: optionalKey<Codec<Json, Json, never, never>>;
                    position: optionalKey<Codec<Json, Json, never, never>>;
                    screen: refine<
                        | "FeedTimeline"
                        | "ShortUrlFeed"
                        | "ClipsViewer"
                        | "CommentsV2"
                        | "Explore"
                        | "SearchTypeahead"
                        | "SerpTop"
                        | "SerpUsers"
                        | "UserDetail"
                        | "ProfileMediaTab"
                        | "ContextualFeed"
                        | "DirectInbox"
                        | "DirectThread"
                        | "CustomizeChat"
                        | "DirectThreadThemePicker"
                        | "DirectThreadDetails"
                        | "DirectThreadSharedMedia"
                        | "DirectThreadNicknames"
                        | "DirectThreadNicknameChange"
                        | "DirectThreadCustomGroupNameAndImage",
                        String,
                    >;
                },
            >;
            steps: $Array<
                Union<
                    readonly [
                        Struct<
                            {
                                args: Codec<Json, Json, never, never>;
                                edge: String;
                                item: optionalKey<
                                    Struct<
                                        { key: Union<(...)>; list: String; locator: optionalKey<(...)> },
                                    >,
                                >;
                                position: optionalKey<Codec<Json, Json, never, never>>;
                                screen: refine<
                                    | "FeedTimeline"
                                    | "ShortUrlFeed"
                                    | "ClipsViewer"
                                    | "CommentsV2"
                                    | "Explore"
                                    | "SearchTypeahead"
                                    | "SerpTop"
                                    | "SerpUsers"
                                    | "UserDetail"
                                    | "ProfileMediaTab"
                                    | "ContextualFeed"
                                    | "DirectInbox"
                                    | "DirectThread"
                                    | "CustomizeChat"
                                    | "DirectThreadThemePicker"
                                    | "DirectThreadDetails"
                                    | "DirectThreadSharedMedia"
                                    | "DirectThreadNicknames"
                                    | "DirectThreadNicknameChange"
                                    | "DirectThreadCustomGroupNameAndImage",
                                    String,
                                >;
                            },
                        >,
                        Struct<
                            {
                                position: optionalKey<Codec<Json, Json, never, never>>;
                                screen: refine<
                                    | "FeedTimeline"
                                    | "ShortUrlFeed"
                                    | "ClipsViewer"
                                    | "CommentsV2"
                                    | "Explore"
                                    | "SearchTypeahead"
                                    | "SerpTop"
                                    | "SerpUsers"
                                    | "UserDetail"
                                    | "ProfileMediaTab"
                                    | "ContextualFeed"
                                    | "DirectInbox"
                                    | "DirectThread"
                                    | "CustomizeChat"
                                    | "DirectThreadThemePicker"
                                    | "DirectThreadDetails"
                                    | "DirectThreadSharedMedia"
                                    | "DirectThreadNicknames"
                                    | "DirectThreadNicknameChange"
                                    | "DirectThreadCustomGroupNameAndImage",
                                    String,
                                >;
                                via: Struct<
                                    {
                                        skipOrdinals: optionalKey<Number>;
                                        source: Literals<
                                            readonly [
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                            ],
                                        >;
                                    },
                                >;
                            },
                        >,
                    ],
                >,
            >;
            telemetry: $Array<
                Struct<
                    {
                        atMs: Number;
                        channel: Literal<"pigeon">;
                        id: String;
                        name: String;
                        payload: Codec<Json, Json, never, never>;
                    },
                >,
            >;
            viewer: String;
        },
    > = ...

    A screen trail: the open stack of one process, as the path that reaches it — its root (the screen OpenApp opened), then one step per open screen above it, bottom first, a tab switched to after the launch being a step of its own; a closed screen is not in it and back is not a step. An inner tab's step follows the step of the screen it replaced. It is bound to the viewer (dsUserId) and the device (uuid) it was written for and names the platform; app.version is for information only — a retrace accepts a drift of the version. It carries the process's telemetry not yet handed to delivery (telemetry), which a retrace puts back into the new process's store first, whether the screens retrace or not, and never twice.