The concepts on this page are limited to entities that exist in the state-server codebase or in the canonical state-server docs. Each definition has a code or doc citation. Anything that previously appeared on this page without such a citation (Karma, Curator, NPCs, Space as a top-level container) has been removed.
The user identity. Interface defined at state-server/internal/domain/entity/types.go:369. Carries authentication state, profile, inventory, and ownership references. Per-user inventories hold prototypes and instantiated objects.
Any 3D entity in the platform. Code-side, this is the ObjectBase interface at types.go:233. Concrete implementations: Group and Block (both in objects.go).
A container that holds child objects and exposes a gallery of prototypes for fast instantiation. Defined in objects.go. A Group becomes a Brane (root scene) when its IsBrane boolean is true.
A leaf 3D object with a model reference, a 4×4 transform, properties, and an inventory-tracked owner. The most common kind of placeable thing.
A root scene. Implemented as a Group with IsBrane: true (objects.go line 199–200). It is not a separate Go type. A brane carries a cell-based grid, a child_ids list, a gallery_ids prototype list, visibility (private / unlisted / public), and metadata.
A versioned template defining default properties, attached handlers, model references, and behaviour for objects instantiated from it. Interface defined at types.go:256 (PrototypeBase). Supports versioning (GetVersion, GetNextVersionID, GetPreviousVersionID), publish/deprecation flags (is_public, is_deprecated, is_deleted), and gallery membership.
A separate PrototypeGroupBase (line 308) handles prototype-of-groups; ObjectGroupBase (line 323) handles object-side gallery semantics.
Server-side JavaScript attached to a prototype. Runs in the Otto VM under sandboxed conditions. Interface at types.go:344 — exposes Run(ctx) and ToJS() for client-side execution.
An interaction / connection slot, with up to 9 per object on a 3×3 grid. The STATE_SERVER_COMPREHENSIVE_DESCRIPTION.md (§5 "3D Spatial Management") describes this 9-interface system for directional connections between adjacent spatial cells.
An individual cell in the spatial grid with ownership and interface management (STATE_SERVER_COMPREHENSIVE_DESCRIPTION.md §5).
A generic spatial container with hierarchical subdivision. Interface SpacecellBase at types.go:444.
Coordinate-based index. type SpatialKey [4]int32 at types.go:470.
A Go type alias for spatial indexing: type Space map[SpatialKey]SpacecellBase (types.go:761). It is a spatial lookup map, not a top-level container that organizes branes. Earlier wiki copy framed Space as a directory of worlds; that framing was wrong.
A 4×4 column-major matrix. type Transform [16]float32 at types.go:503. Every spatial entity carries one.
Production today runs a per-user credit ledger primitive on dev (state-server/internal/domain/entity/credits.go) — single signed-int balance, three transaction kinds, no VAT, no refund window, no Stripe coupling. The recent direction is R0 Soft Financial on branch codex/r0-soft-financial-dev-merge: a typed four-account ledger (customer_spendable / supplier_earnings / platform_fee / pending_adjustment) with VAT metadata on every deposit, cooling-off tranches, Stripe Checkout integration, idempotent atomic purchase execution, and a commerce audit trail. R0 is implemented, CI-green, awaiting merge to dev. See Financial Model for the comparison and merge-gating items.
state-server/internal/domain/entity/types.go, state-server/internal/domain/entity/objects.go, state-server/STATE_SERVER_COMPREHENSIVE_DESCRIPTION.md, state-server/docs/APP_DESCRIPTION.md, state-server/docs/openapi-v2.yml.