Saxonberg Server API
    Preparing search index...
    • Type Parameters

      Parameters

      Returns {
          _mixinName: string;
          clientStateSchema: ClientStateSchemaEntry<unknown>[];
          commandContributions: CommandContributions;
          DEFAULT_PORTRAIT: string;
          persistentFields: string[];
          prototype: __type<any>;
          new (...args: any[]): __type;
      } & TBase

        • new (...args: any[]): __type
        • Parameters

          • ...args: any[]

          Returns __type

      • _mixinName: string
      • clientStateSchema: ClientStateSchemaEntry<unknown>[]

        Client-state schema. Declares every persisted UI key + its default. One flat array — no chain walker, no per-feature mixin layer. Add an entry to ship a new key.

        Scope rule: only put a key here if it's substrate-level (meaningful for every HasInteractive-bearing thing). If a key is owned by a narrower mixin, the right move is to promote a small registry / walker — but defer that until the array genuinely outgrows a single file.

      • commandContributions: CommandContributions

        Verbs that travel with every HasInteractive-bearing host (Avatar today, future cockpit-bearing classes tomorrow). The style verb belongs here because the overlay it edits IS the client state on this mixin; co-locating verb + schema keeps the wiring local.

      • DEFAULT_PORTRAIT: string

        Empty portraitUrl sentinel — "no image; client renders a generated placeholder" (initials/icon from the name). We don't mint a fake asset URL server-side; the empty string is the honest "default" the client interprets.

      • persistentFields: string[]
      • prototype: __type<any>