IGPAPI
    Preparing search index...

    Variable MobileNavigationStateSchemaConst

    MobileNavigationStateSchema: Struct<
        {
            cdsContainer: optionalKey<
                Union<
                    readonly [
                        Struct<
                            { id: refine<NativeScreenId, String>; kind: Literal<"native"> },
                        >,
                        Struct<{ id: refine<BloksScreenId, String>; kind: Literal<"bloks"> }>,
                    ],
                >,
            >;
            chain: optionalKey<
                Struct<
                    {
                        entries: $Array<
                            Struct<
                                {
                                    enteredAtMs: Number;
                                    index: Int;
                                    resumedAtMs: Number;
                                    screen: Union<readonly [Struct<(...)>, Struct<(...)>]>;
                                    source: Literals<
                                        readonly [
                                            "cold_start",
                                            "warm_start",
                                            "button",
                                            "tab",
                                            "search_result",
                                            "inbox",
                                            "suggested_users",
                                            "third_party_url",
                                        ],
                                    >;
                                },
                            >,
                        >;
                        ordinal: Int;
                    },
                >,
            >;
            current: optionalKey<
                Union<
                    readonly [
                        Struct<
                            { id: refine<NativeScreenId, String>; kind: Literal<"native"> },
                        >,
                        Struct<{ id: refine<BloksScreenId, String>; kind: Literal<"bloks"> }>,
                    ],
                >,
            >;
            surfaces: optionalKey<
                $Array<
                    Struct<
                        {
                            atMs: Number;
                            screen: Union<
                                readonly [
                                    Struct<{ id: refine<(...), (...)>; kind: Literal<(...)> }>,
                                    Struct<{ id: refine<(...), (...)>; kind: Literal<(...)> }>,
                                ],
                            >;
                            source: Literals<
                                readonly [
                                    "cold_start",
                                    "warm_start",
                                    "button",
                                    "tab",
                                    "search_result",
                                    "inbox",
                                    "suggested_users",
                                    "third_party_url",
                                ],
                            >;
                        },
                    >,
                >,
            >;
        },
    > = ...

    The navigation state of a process, as a checkpoint stores it: the screen in front, the session chain, the session's foreground surface trail and the CDS container the screen in front runs in. All four are wire state — the app_session_navigation block, request_source and container_module — so a checkpoint carries them whole.