Saxonberg Server API
    Preparing search index...
    Index

    Constructors

    Methods

    • Build a species dossier — a structured readout of the species' modeled facts (taxonomy, biology, anatomy, composition), resolving its own BodyPlan + Material. Every section/row is real data pulled from the Species template and its resolved refs / clade chain; nothing is fabricated, and a section is omitted when its data isn't authored (e.g. no resolvable BodyPlan → no Anatomy). The char-gen race picker is the v1 consumer, but this is a species-model readout, not picker logic.

      Parameters

      • species: default
      • speciesPath: string

      Returns Promise<SpeciesDossier>

    • Walk the species' template-path ancestors and return the first Clade whose rank === 'kingdom'. Returns null if no kingdom Clade is found in the chain (which means the species template was authored outside the canonical taxonomy, or no Clade at that rank is currently registered as a singleton).

      Walks the species' templatePath ancestors via Template.ancestorPaths and looks each one up via findByTemplatePath. Avoids needing a parentClade chain on the Clade class itself — kingdom-membership is a property of the template-tree position.

      Parameters

      Returns default | null

    • Animate iff the Organism's kingdom + lifecycle state combine to "currently capable of acting in the world." Slate's table:

      Kingdom Animate when
      Animalia lifecycleState ∈ {alive, undead}
      Constructa lifecycleState === 'powered'
      Plantae never (no Agent surface in v1)
      Fungi never (no Agent surface in v1)

      Non-Organism Stuff is never animate. Used by the verb-level requires-animate validator (Item 6).

      Parameters

      Returns boolean

    • Ensure the actor's species + every clade ancestor + the body plan are live runtime singletons. v1's Species / Clade / BodyPlan templates are NOT bootstrapped — they lazy-load on first access via findByTemplatePath. Callers that need a synchronous walk of getSpecies() / getBodyPlan() / kingdom resolution preload via this helper first.

      No-op for non-Organism actors and for Organisms with no _speciesPath — the sync downstream surfaces handle those cases (getSpecies() returns null; sensorium returns []).

      Consumers today: requiresAnimate (kingdom walk), requires<Sense> / requires<ESP> (sensorium walk), LocomotionApi.preloadActorAnatomy (body-plan locomotion gate), Avatar.installDefaultLoadout (BodyPlanSlots cranial slot resolution).

      Parameters

      Returns Promise<void>

    • Resolve the body-plan template path for a Stuff. Walks host → OrganismMixin.getSpecies() → Species._bodyPlanPath. Returns null when the host isn't an Organism, has no species, or the species has no body plan reference.

      Used by Wearable.fitsSlot / Wieldable.fitsSlot to look up the per-body-plan claim on the candidate.

      Parameters

      Returns string | null