Runtime type brands — an instanceof replacement for the cases where an instanceof value-import would form a module cycle, or where a check must match a whole subtype hierarchy.

Each brand is a module-scoped Symbol() (not Symbol.for, whose global string key would reopen the spoof door): un-spoofable, collision-free, and invisible to Object.keys / JSON.stringify / spread (so it never leaks into serialized data). A class attaches its brand with an inherited getter — get [BRAND.SohlLogic]() { return true; } — so every subtype at any depth carries it, and a class can carry its ancestors' brands too.

Populate this lazily: a brand is only worth adding where the serializable data.kind / .kind discriminants can't serve. See isA.

Hierarchy (View Summary)

Properties

affiliation: AffiliationLogic

Logic instance for affiliation items (factions, organizations).

affliction: AfflictionLogic

Logic instance for affliction items (disease, poison, injuries).

armorgear: ArmorGearLogic

Logic instance for armor gear items.

attribute: AttributeLogic

Logic instance for attribute items (strength, agility, etc.).

being: BeingLogic

Logic instance for being (humanoid/creature) actors.

cohort: CohortLogic

Logic instance for cohort actors (group of beings).

concoctiongear: ConcoctionGearLogic

Logic instance for concoction gear items (potions, poisons).

containergear: ContainerGearLogic

Logic instance for container gear items (bags, chests).

miscgear: MiscGearLogic

Logic instance for miscellaneous gear items.

mystery: MysteryLogic

Logic instance for mystery items (magic schools, arcane traditions).

mysticalability: MysticalAbilityLogic

Logic instance for mystical ability items (spells, powers).

projectilegear: ProjectileGearLogic

Logic instance for projectile gear items (arrows, bolts).

skill: SkillLogic

Logic instance for skill items (combat, crafting, social, etc.).

SohlActorLogic: SohlActorLogic<any>
SohlCombatantLogic: SohlCombatantLogic<any>
SohlItemLogic: SohlItemLogic<any>
SohlLogic: SohlLogic<any>
SohlTokenDocumentLogic: SohlTokenDocumentLogic
structure: StructureLogic

Logic instance for structure actors (buildings, fortifications).

trauma: TraumaLogic

Logic instance for trauma items (wounds, injuries).

vehicle: VehicleLogic

Logic instance for vehicle actors (wagons, ships, etc.).

Logic instance for weapon gear items.