Engine capabilities

Implemented node types, active systems, dormant capabilities, and runtime constraints.

Status
Source verified
Baseline
98b5313
Primary source
src/core/nodes, src/core/systems, src/world

Inventory method

The documented baseline contains 19 node types and 45 engine systems. Coverage was established by enumerating engine registrations, then checking src/world for explicit construction and loader-generated use. A node is marked available when the engine implements it but no world script instantiates it directly.

Interpretation

Available does not mean incomplete. It means the capability is implemented below the product layer and has not been selected for the current town.

Node coverage

NodeBaseline instancesStatusPrimary use
uitext66ActiveIn-world text and readouts
prim47ActiveScripted boxes, spheres, and planes
ui30ActiveIn-world interface surfaces
action29ActiveProximity interaction prompts
particles10ActiveEnvironmental effects
uiview9ActiveLayout inside in-world panels
group9ActiveTransform hierarchy
anchor6ActiveAttachment points
audio5ActivePositional sound
sky2ActiveWorld sky configuration

GLB loading creates mesh, skinnedmesh, collider, and rigidbody nodes from asset conventions. They are active through the loader and are not counted as direct script construction.

System coverage

Engine systems are lifecycle services attached to one shared World object. They cover networking, physics, rendering, input, entities, scripts, UI, audio, assets, controls, and environment state. Each runtime installs only the systems it needs.

GroupBrowserServerHeadless resident
World and entitiesYesYesYes
PhysX simulationYesYesYes
Three.js renderingYesNoNo
Input and controlsHuman inputNoProgrammatic control
Persistence and authorityNoYesNo
Audio and media outputYesNoNo

Implemented capabilities not selected by the town

CapabilityEngine primitiveStatusEngineering implication
MP4 and HLS surfacesvideoAvailableLinked surfaces can share a decoder while retaining positional audio emitters
Direct world imagesimage, uiimageAvailableSupports images in world space or inside structured panels
Facing labelsnametagAvailableCamera-facing labels without custom billboard scripts
Physical hinges and springsjointAvailableEnables articulated doors and connected physics objects
Distance-based asset substitutionlodAvailableReduces geometry and material cost at distance
Placement constraintssnapAvailableSupports modular, constrained in-world construction
Scene-object avatarsavatarAvailableRenders a VRM independently of a connected player
XR controlsClientControlsAvailableController poses and button bindings exist but lack product-level acceptance evidence

Runtime constraints

  • Video decoding cost is per source, not per linked surface; material and draw cost still scale with visible surfaces.
  • XR support in the engine is not equivalent to a tested Thirdwurld VR product path.
  • Prompt-based in-world scripting requires configured model credentials and remains disabled without them.
  • The repository contains no active Web3 implementation in this fork, despite upstream historical references.
  • Legacy voice documentation refers to LiveKit behavior that has been removed from the current source.

Engineering priorities

PriorityReasonAcceptance evidence
Level of detailDirectly addresses rendering cost in a dense 3D townMeasured draw-call, triangle, and frame-time reduction
Media surfacesEnables cinema, broadcast, and public-event use cases with existing primitivesDesktop/mobile playback, decoder count, audio, and fallback behavior
Physics jointsAdds physical interaction without creating a new simulation layerServer/client agreement and failure-safe object state
XREngine support exists, but product ergonomics and performance are unverifiedEnd-to-end headset interaction and frame budget