Gessa Docs
Generated Reference

Reference

Script Node Declarations

Sources: packages/script-nodes/src/index.ts:scriptNodeDeclarations, packages/script-codegen/src/views/index.ts:SCRIPT_VIEWS, packages/script-codegen/src/surface/grammarReference.ts:GESSASCRIPT_GRAMMAR_REFERENCE, packages/script-nodes/src/fieldSchemas.ts:PHYSICS_BODY_COMMAND_PRESENTATION.
engine v1.0.234Copy for LLM

Canonical Script IR node declarations live in @game-platform/script-nodes and are consumed by runtime, codegen, generated SDK declarations, AI tooling, and frontend visual authoring.

This package is the single declaration source for script visual nodes. It has no server or runtime dependencies and is safe for frontend imports.

Declaration catalog hash: sha256:468b13a39fc8b6669aed3440b538a3da66303c349cd8843c300235cd63ee1a2f.

Script source and language views

ViewEditingDescription
Python-styleEditableThe canonical form. This is the view you can edit.
Lua-styleRead-onlyLua-shaped reading of this script. Read-only.
C#-styleRead-onlyC#-shaped reading of this script. Read-only.
TypeScript-styleRead-onlyTypeScript-shaped reading of this script. Read-only.
  • GessaScript is an INDENTATION language: not TypeScript, not JSON. No braces around blocks, no semicolons, no imports, no host, function or set keywords. A block opens with : and its body is indented 4 spaces.
  • Line 1 is script <scriptKey>. Top level accepts only: var <name> = <literal> (mutable), const <name> = <literal>, event <key>(<params>) (declares a custom event; no body), [export] [pure] def <name>(<params>) [-> <type>]: (a function; call it ONLY as a statement name(args), never inside an expression), and handlers, which are a @on.... decorator on the line directly above a def.
  • Handler heads: @on.start over def start():; @on.tick over def tick(deltaSeconds): (name the binding whatever you like); @on.action("<actionKey>") over def action_<key>():; @on.timer("<timerKey>") over def timer_<key>():; @on.event("<customEventKey>") over def event_<key>(<bindings>):; @on.init over def init():; @on.frame over def frame(t, dt):; @on.resize over def resize(w, h):. Every other engine event is @on.runtime("<Event>") where <Event> is one of: onCharacterRemoved, onCharacterSpawned, onMatchEnded, onNetworkMessage, onPanelAction, onPhaseEnter, onPhaseExit, onPlayerJoined, onPlayerLeft, onPurchaseFulfilled, onTriggerEnter, onTriggerExit, onWidgetPress. @on.event("k") is a CUSTOM event you declared, so @on.event("trigger_enter") is NOT the trigger; write @on.runtime("onTriggerEnter"). The name under a decorator is normalized on save, so write the derived one.
  • Statements: let x = <expr> (a local, assigned ONCE; declare a var at the top of the script for mutable state); assignment x = <expr>, x += 1 (also -= *= /=); if <cond>: / elif <cond>: / else:; for item in <array> [limit n]:; while <cond> [limit n]:; match <expr>: with case <value>: arms and a case _: catch-all; return <expr>; break; continue; pass; dispatch <eventKey>.emit(<args>); and calls Namespace.function(args) or name(args) on their own line.
  • Expressions: literals (numbers, strings, True, False, [arrays], { objects }), member access a.b, conditional expressions a if condition else b, and operators: or, and, not, == !=, < <= > >=, + -, * / %, ??, unary -. There are NO helper calls for arithmetic or comparison: add(a, b) and gt(a, 0) do not exist (GS_ELAB_UNKNOWN_HOST); write a + b and a > 0. There are also no classes, imports, lambdas, comprehensions, exceptions or async: the parser answers each of those with the form to use instead.
  • Engine functions are called BARE by dotted path: the hosts listed below (e.g. Debug.log("x")) and the core operations array.length(...), array.mutate.<push|addUnique|insert|removeAt|removeValue|clear|set|unique|reverse>(...), bitwise.<and|or|xor|not|shl|shr|ushr>(...), entity.id(...), event.key(...), math.<min|max|abs|floor|ceil|round|clamp|sqrt|pow|sign|lerp|sin|cos|tan|asin|acos|atan|atan2|exp|ln|log10|log2|deg2rad|rad2deg|wrapAngle|smoothstep|imul32>(...), math.remap(...), object.<set|merge|keys|entries|has|delete>(...), quat.<make|multiply|slerp|fromEuler|toEuler|lookAt|rotateVector|inverse>(...), string.<concat|length|format|contains|split|upper|lower|replace|substring|trim|startsWith|endsWith|indexOf>(...), vec3.<add|sub|scale|dot|cross|length|normalize|distance|lerp|make|breakX|breakY|breakZ|reflect|moveTowards|project|angleBetween|clampLength>(...).
PYTHON
script script.relic.pickup
var collected = 0
const goal = 3
var armed = False
event scored(points: number)
def announce(points: number):
    Debug.log("scored", { value: points })
@on.start
def start():
    armed = True
@on.action("player.reset")
def action_player_reset():
    collected = 0
@on.runtime("onTriggerEnter")
def runtime_on_trigger_enter():
    collected += 1
    let remaining = math.max(0, goal - collected)
    if collected >= goal:
        scored.emit(collected)
    elif remaining == 1:
        Debug.log("one more")
    else:
        Debug.log("collected", { value: collected })
@on.event("scored")
def event_scored(points):
    announce(points)
@on.tick
def tick(dt):
    match collected:
        case 0:
            Debug.log("empty")
        case _:
            if Entity.hasTag("relic") and dt > 0:
                Debug.log("relic")

Counts

KindCount
event21
core53
host112
total186

Categories

CategoryCountNodes
Audio5host.audio.play, host.audio.play_spatial, host.audio.set_background_music, host.audio.set_volume, host.audio.stop
Components7core.component.patch, core.component.read, host.entity.add_component, host.entity.patch_component, host.entity.read_component, host.entity.remove_component, host.entity.replace_component
Control16core.array.for_each, core.bounded.for, core.bounded.while, core.flow.break, core.flow.continue, core.flow.do_n, core.flow.do_once, core.flow.flip_flop, core.flow.gate, core.flow.multi_gate, core.flow.return, core.flow.timer.after, core.flow.timer.cancel, core.if, core.sequence, core.switch
Debug1host.debug.log
Effects3core.host.call, host.fx.decal, host.fx.particle_burst
Events25core.event.key, core.event.payload.get, event.action, event.character_removed, event.character_spawned, event.custom, event.frame, event.init, event.match_ended, event.network_message, event.panel_action, event.phase, event.phase_exit, event.player_joined, event.player_left, event.purchase_fulfilled, event.resize, event.start, event.tick, event.timer, event.trigger, event.trigger_exit, event.widget_press, host.events.emit, host.network.send_message
Match & Players15host.inventory.grant, host.match.add_score, host.match.get_score, host.match.get_state, host.match.patch_objective, host.match.set_phase, host.player.eliminate, host.player.possess, host.player.release, host.player.spawn_character, host.players.get, host.players.list, host.room.get_players, host.room.get_state, host.team.get_assignment
Persistence9host.warehouse.append, host.warehouse.create, host.warehouse.delete, host.warehouse.get, host.warehouse.increment, host.warehouse.query, host.warehouse.set, host.warehouse.transform, host.warehouse.update
Physics19host.navigation.find_path, host.navigation.is_reachable, host.navigation.nearest_point, host.navigation.raycast, host.navigation.steer_toward, host.physics.command, host.physics.occupancy_query, host.physics.overlap_test, host.physics.raycast, host.physics.shapecast, host.terrain.height_at, host.terrain.normal_at, host.terrain.raycast_down, host.terrain.sample_layer_weights, host.terrain.slope_at, host.tween.cancel, host.tween.start, host.water.is_submerged, host.water.surface_level_at
Platform10host.camera.add_look_input, host.camera.set_look_sensitivity, host.camera.set_pitch_clamp, host.camera.set_view_target, host.commerce.owns, host.commerce.prompt_purchase, host.platform.exit_fullscreen, host.platform.exit_pointer_lock, host.platform.request_fullscreen, host.platform.request_pointer_lock
UI3host.ui.close_panel, host.ui.open_panel, host.ui.set_widget_value
Values50core.arithmetic, core.array.first, core.array.get, core.array.length, core.array.mutate, core.array.query, core.array.reduce, core.array.transform, core.bitwise, core.boolean, core.comparison, core.entity.id, core.expression.codebox, core.get, core.let, core.map, core.math, core.math.remap, core.not, core.object, core.quat, core.record.get, core.select, core.set, core.string, core.value.array, core.value.assert, core.value.cast, core.value.coerce, core.value.literal, core.value.object, core.vec3, host.program.input_actions, host.program.input_bundle, host.program.input_flags, host.program.param, host.program.param_count, host.random.bool, host.random.gaussian, host.random.int, host.random.next, host.random.pick, host.random.point_in_circle, host.random.point_in_sphere, host.random.range, host.random.seeded, host.random.shuffle, host.random.sign, host.random.unit_vector, host.random.weighted_pick
World23host.entity.ancestors, host.entity.children, host.entity.descendants, host.entity.detach, host.entity.has_tag, host.entity.parent, host.entity.remove_tag, host.entity.set_name, host.entity.set_owner, host.entity.set_parent, host.entity.set_tag, host.entity.world_position, host.entity.world_rotation, host.world.despawn, host.world.entity_has_tag, host.world.find, host.world.query, host.world.set_entity_owner, host.world.set_entity_tag, host.world.spawn, host.world.spawn_many, host.world.spawn_prefab, host.world.teleport_player

SDK Hosts

HostNodeCategorySDK pathDeterministicMeteredRiskEffect tagsPermissions
Audio.playhost.audio.playAudioctx.audio.playnoyeseffectaudioEffect, networked, nonRollbackableaudio:effect
Audio.playSpatialhost.audio.play_spatialAudioctx.audio.playSpatialnoyeseffectaudioEffect, networked, nonRollbackableaudio:effect
Audio.setBackgroundMusichost.audio.set_background_musicAudioctx.audio.setBackgroundMusicnoyeseffectaudioEffect, nonRollbackableaudio:effect
Audio.setVolumehost.audio.set_volumeAudioctx.audio.setVolumeyesyeseffectaudioEffectaudio:effect
Audio.stophost.audio.stopAudioctx.audio.stopyesyeseffectaudioEffectaudio:effect
Camera.addLookInputhost.camera.add_look_inputPlatformctx.camera.addLookInputyesyeseffectplatformRequest, nonRollbackable, requiresAuthoritycamera:write
Camera.setLookSensitivityhost.camera.set_look_sensitivityPlatformctx.camera.setLookSensitivityyesyeseffectplatformRequest, nonRollbackable, requiresAuthoritycamera:write
Camera.setPitchClamphost.camera.set_pitch_clampPlatformctx.camera.setPitchClampyesyeseffectplatformRequest, nonRollbackable, requiresAuthoritycamera:write
Camera.setViewTargethost.camera.set_view_targetPlatformctx.camera.setViewTargetyesyeseffectplatformRequest, nonRollbackable, requiresAuthoritycamera:write
Commerce.ownshost.commerce.ownsPlatformctx.commerce.ownsyesyesreadreadStatecommerce:read
Commerce.promptPurchasehost.commerce.prompt_purchasePlatformctx.commerce.promptPurchaseyesyeseffectplatformRequest, nonRollbackable, requiresAuthoritycommerce:request
Debug.loghost.debug.logDebugctx.lognonoreademitEventdebug:write
Entity.addComponenthost.entity.add_componentComponentsctx.entity.addComponentyesyeswritewriteState, writeWorld, requiresAuthoritycomponent:write
Entity.ancestorshost.entity.ancestorsWorldctx.entity.ancestorsyesyesreadreadWorld, readStateworld:read
Entity.childrenhost.entity.childrenWorldctx.entity.childrenyesyesreadreadWorld, readStateworld:read
Entity.descendantshost.entity.descendantsWorldctx.entity.descendantsyesyesreadreadWorld, readStateworld:read
Entity.detachhost.entity.detachWorldctx.entity.detachyesyeswritewriteState, writeWorld, requiresAuthorityentity:write
Entity.hasTaghost.entity.has_tagWorldctx.entity.hasTagyesyesreadreadWorld, readStateworld:read
Entity.parenthost.entity.parentWorldctx.entity.parentyesyesreadreadWorld, readStateworld:read
Entity.patchComponenthost.entity.patch_componentComponentsctx.entity.patchComponentyesyeswritewriteState, writeWorld, requiresAuthoritycomponent:write
Entity.readComponenthost.entity.read_componentComponentsctx.entity.readComponentyesyesreadreadState, readWorldcomponent:read
Entity.removeComponenthost.entity.remove_componentComponentsctx.entity.removeComponentyesyeswritewriteState, writeWorld, requiresAuthoritycomponent:write
Entity.removeTaghost.entity.remove_tagWorldctx.entity.removeTagyesyeswritewriteState, writeWorld, requiresAuthorityentity:write
Entity.replaceComponenthost.entity.replace_componentComponentsctx.entity.replaceComponentyesyeswritewriteState, writeWorld, requiresAuthoritycomponent:write
Entity.setNamehost.entity.set_nameWorldctx.entity.setNameyesyeswritewriteState, writeWorld, requiresAuthorityentity:write
Entity.setOwnerhost.entity.set_ownerWorldctx.entity.setOwneryesyeseffectwriteWorld, writeState, requiresAuthorityentity:write
Entity.setParenthost.entity.set_parentWorldctx.entity.setParentyesyeswritewriteState, writeWorld, requiresAuthorityentity:write
Entity.setTaghost.entity.set_tagWorldctx.entity.setTagyesyeswritewriteState, writeWorld, requiresAuthorityentity:write
Entity.worldPositionhost.entity.world_positionWorldctx.entity.worldPositionyesyesreadreadWorld, readStateworld:read
Entity.worldRotationhost.entity.world_rotationWorldctx.entity.worldRotationyesyesreadreadWorld, readStateworld:read
Events.emithost.events.emitEventsctx.events.emityesyeseffectemitEventevent:emit
Fx.decalhost.fx.decalEffectsctx.fx.decalnoyeseffectnetworked, nonRollbackablefx:effect
Fx.particleBursthost.fx.particle_burstEffectsctx.fx.particleBurstnoyeseffectnetworked, nonRollbackablefx:effect
Inventory.granthost.inventory.grantMatch & Playersctx.inventory.grantyesyeseffectwriteState, emitEvent, durable, requiresAuthorityinventory:write
Match.addScorehost.match.add_scoreMatch & Playersctx.match.addScoreyesyeseffectwriteState, emitEvent, requiresAuthoritymatch:write
Match.getScorehost.match.get_scoreMatch & Playersctx.match.getScoreyesyesreadreadStatematch:read
Match.getStatehost.match.get_stateMatch & Playersctx.match.getStateyesyesreadreadStatematch:read
Match.patchObjectivehost.match.patch_objectiveMatch & Playersctx.match.patchObjectiveyesyeseffectwriteState, emitEvent, requiresAuthoritymatch:write
Match.setPhasehost.match.set_phaseMatch & Playersctx.match.setPhaseyesyeseffectwriteState, emitEvent, requiresAuthoritymatch:write
Navigation.findPathhost.navigation.find_pathPhysicsctx.navigation.findPathyesyesreadreadWorldnavigation:query
Navigation.isReachablehost.navigation.is_reachablePhysicsctx.navigation.isReachableyesyesreadreadWorldnavigation:query
Navigation.nearestPointhost.navigation.nearest_pointPhysicsctx.navigation.nearestPointyesyesreadreadWorldnavigation:query
Navigation.raycasthost.navigation.raycastPhysicsctx.navigation.raycastyesyesreadreadWorldnavigation:query
Navigation.steerTowardhost.navigation.steer_towardPhysicsctx.navigation.steerTowardyesyesreadreadWorldnavigation:query
Network.sendMessagehost.network.send_messageEventsctx.network.sendMessageyesyeseffectemitEvent, networked, nonRollbackablenetwork:send
Physics.commandhost.physics.commandPhysicsctx.physics.commandyesyeseffectphysicsCommand, writeWorld, requiresAuthorityphysics:write
Physics.occupancyQueryhost.physics.occupancy_queryPhysicsctx.physics.occupancyQueryyesyesreadreadWorldphysics:query
Physics.overlapTesthost.physics.overlap_testPhysicsctx.physics.overlapTestyesyesreadreadWorldphysics:query
Physics.raycasthost.physics.raycastPhysicsctx.physics.raycastyesyesreadreadWorldphysics:query
Physics.shapecasthost.physics.shapecastPhysicsctx.physics.shapecastyesyesreadreadWorldphysics:query
Platform.exitFullscreenhost.platform.exit_fullscreenPlatformctx.platform.exitFullscreenyesyeseffectplatformRequest, nonRollbackable, requiresAuthorityplatform:request
Platform.exitPointerLockhost.platform.exit_pointer_lockPlatformctx.platform.exitPointerLockyesyeseffectplatformRequest, nonRollbackable, requiresAuthorityplatform:request
Platform.requestFullscreenhost.platform.request_fullscreenPlatformctx.platform.requestFullscreenyesyeseffectplatformRequest, nonRollbackable, requiresAuthorityplatform:request
Platform.requestPointerLockhost.platform.request_pointer_lockPlatformctx.platform.requestPointerLockyesyeseffectplatformRequest, nonRollbackable, requiresAuthorityplatform:request
Player.eliminatehost.player.eliminateMatch & Playersctx.players.eliminateyesyeseffectwriteWorld, requiresAuthorityroom:write
Player.possesshost.player.possessMatch & Playersctx.players.possessyesyeseffectwriteWorld, requiresAuthorityroom:write
Player.releasehost.player.releaseMatch & Playersctx.players.releaseyesyeseffectwriteWorld, requiresAuthorityroom:write
Player.spawnCharacterhost.player.spawn_characterMatch & Playersctx.players.spawnCharacteryesyeseffectspawnEntity, writeWorld, requiresAuthorityroom:write
Players.gethost.players.getMatch & Playersctx.players.getyesnoreadreadWorldroom:read
Players.listhost.players.listMatch & Playersctx.players.list, ctx.room.getPlayersyesnoreadreadWorldroom:read
Program.inputActionshost.program.input_actionsValuesctx.program.inputActionsyesnoreadpureNone
Program.inputBundlehost.program.input_bundleValuesctx.program.inputBundleyesnoreadpureNone
Program.inputFlagshost.program.input_flagsValuesctx.program.inputFlagsyesnoreadpureNone
Program.paramhost.program.paramValuesctx.program.paramyesnoreadpureNone
Program.paramCounthost.program.param_countValuesctx.program.paramCountyesnoreadpureNone
Random.boolhost.random.boolValuesctx.random.boolyesnoreadpurerandom:read
Random.gaussianhost.random.gaussianValuesctx.random.gaussianyesnoreadpurerandom:read
Random.inthost.random.intValuesctx.random.intyesnoreadpurerandom:read
Random.nexthost.random.nextValuesctx.randomyesnoreadpurerandom:read
Random.pickhost.random.pickValuesctx.random.pickyesnoreadpurerandom:read
Random.pointInCirclehost.random.point_in_circleValuesctx.random.pointInCircleyesnoreadpurerandom:read
Random.pointInSpherehost.random.point_in_sphereValuesctx.random.pointInSphereyesnoreadpurerandom:read
Random.rangehost.random.rangeValuesctx.random.rangeyesnoreadpurerandom:read
Random.seededhost.random.seededValuesctx.random.seededyesnoreadpurerandom:read
Random.shufflehost.random.shuffleValuesctx.random.shuffleyesnoreadpurerandom:read
Random.signhost.random.signValuesctx.random.signyesnoreadpurerandom:read
Random.unitVectorhost.random.unit_vectorValuesctx.random.unitVectoryesnoreadpurerandom:read
Random.weightedPickhost.random.weighted_pickValuesctx.random.weightedPickyesnoreadpurerandom:read
Room.getPlayershost.room.get_playersMatch & Playersctx.room.getPlayersyesyesreadreadState, readWorldroom:read
Room.getStatehost.room.get_stateMatch & Playersctx.room.getStateyesyesreadreadState, readWorldroom:read
Team.getAssignmenthost.team.get_assignmentMatch & Playersctx.team.getAssignmentyesyesreadreadState, readWorldteam:read
Terrain.heightAthost.terrain.height_atPhysicsctx.terrain.heightAtyesyesreadreadWorldterrain:query
Terrain.normalAthost.terrain.normal_atPhysicsctx.terrain.normalAtyesyesreadreadWorldterrain:query
Terrain.raycastDownhost.terrain.raycast_downPhysicsctx.terrain.raycastDownyesyesreadreadWorldterrain:query
Terrain.sampleLayerWeightshost.terrain.sample_layer_weightsPhysicsctx.terrain.sampleLayerWeightsyesyesreadreadWorldterrain:query
Terrain.slopeAthost.terrain.slope_atPhysicsctx.terrain.slopeAtyesyesreadreadWorldterrain:query
Tween.cancelhost.tween.cancelPhysicsctx.tween.cancelyesyeseffectwriteWorld, requiresAuthoritytween:write
Tween.starthost.tween.startPhysicsctx.tween.startyesyeseffectwriteWorld, requiresAuthoritytween:write
UI.closePanelhost.ui.close_panelUIctx.ui.closePanelnoyeseffectuiEffect, nonRollbackableui:effect
UI.openPanelhost.ui.open_panelUIctx.ui.openPanelnoyeseffectuiEffect, nonRollbackableui:effect
UI.setWidgetValuehost.ui.set_widget_valueUIctx.ui.setWidgetValuenoyeseffectuiEffect, nonRollbackableui:effect
Warehouse.appendhost.warehouse.appendPersistencectx.warehouse.appendyesyeswritewriteState, durable, requiresAuthoritywarehouse:write
Warehouse.createhost.warehouse.createPersistencectx.warehouse.createyesyeswritewriteState, durable, requiresAuthoritywarehouse:write
Warehouse.deletehost.warehouse.deletePersistencectx.warehouse.deleteyesyeswritewriteState, durable, requiresAuthoritywarehouse:write
Warehouse.gethost.warehouse.getPersistencectx.warehouse.getyesyesreadreadState, durablewarehouse:read
Warehouse.incrementhost.warehouse.incrementPersistencectx.warehouse.incrementyesyeswritewriteState, durable, requiresAuthoritywarehouse:write
Warehouse.queryhost.warehouse.queryPersistencectx.warehouse.queryyesyesreadreadState, durablewarehouse:read
Warehouse.sethost.warehouse.setPersistencectx.warehouse.setyesyeswritewriteState, durable, requiresAuthoritywarehouse:write
Warehouse.transformhost.warehouse.transformPersistencectx.warehouse.transformyesyeswritewriteState, durable, requiresAuthoritywarehouse:write
Warehouse.updatehost.warehouse.updatePersistencectx.warehouse.updateyesyeswritewriteState, durable, requiresAuthoritywarehouse:write
Water.isSubmergedhost.water.is_submergedPhysicsctx.water.isSubmergedyesyesreadreadWorldwater:query
Water.surfaceLevelAthost.water.surface_level_atPhysicsctx.water.surfaceLevelAtyesyesreadreadWorldwater:query
World.despawnhost.world.despawnWorldctx.world.despawnyesyeseffectdespawnEntity, writeWorld, requiresAuthorityentity:write
World.entityHasTaghost.world.entity_has_tagWorldctx.world.entityHasTagyesyesreadreadWorld, readStateworld:read
World.findhost.world.findWorldctx.world.findyesyesreadreadWorldworld:read
World.queryhost.world.queryWorldctx.world.queryyesyesreadreadWorldworld:read
World.setEntityOwnerhost.world.set_entity_ownerWorldctx.world.setEntityOwneryesyeseffectwriteWorld, writeState, requiresAuthorityentity:write
World.setEntityTaghost.world.set_entity_tagWorldctx.world.setEntityTagyesyeswritewriteState, writeWorld, requiresAuthorityentity:write
World.spawnhost.world.spawnWorldctx.world.spawnyesyeseffectspawnEntity, writeWorld, requiresAuthorityentity:write
World.spawnManyhost.world.spawn_manyWorldctx.world.spawnManyyesyeseffectspawnEntity, writeWorld, requiresAuthorityentity:write
World.spawnPrefabhost.world.spawn_prefabWorldctx.world.spawnPrefabyesyeseffectspawnEntity, writeWorld, requiresAuthorityentity:write
World.teleportPlayerhost.world.teleport_playerWorldctx.world.teleportPlayeryesyeseffectwriteWorld, networked, nonRollbackable, requiresAuthorityworld:write

Atom Contract Cards

Every launch host atom has a contract card derived from SCRIPT_ATOM_REGISTRY. Compatibility-only aliases are intentionally excluded from this table and from new authoring.

AtomClassificationOwnerInputsValidationPermissionsDeterminismPending op / commandRuntime drainState patchesEventsProjectionRejectionTestsDocsCompatibility
Audio.playkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.audio:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Audio.playSpatialkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.audio:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Audio.setBackgroundMusickeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.audio:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Audio.setVolumekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.audio:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Audio.stopkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.audio:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Camera.addLookInputkeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.camera:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Camera.setLookSensitivitykeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.camera:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Camera.setPitchClampkeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.camera:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Camera.setViewTargetkeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.camera:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Commerce.ownskeep_public_atomscript-runtimeentitlementKey string plus an optional playerSessionId (defaults to the seat possessing the script's entity).Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.commerce:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; reads ScriptRuntimeState.entitlements assembled by the room tick.Executor-only snapshot read; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns true when the seat's active entitlement set holds the key; false for an unknown seat or key.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/scriptCommerce.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Commerce.promptPurchasekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.commerce:requestDeterministic inside one script tick unless the host is an explicit browser/client bridge.commerce_prompt_purchase pending op with { offerKey, audience? }.Runtime script system resolves the audience (default: the seat possessing the script's entity) and mints one session-scoped commerce.prompt_request state patch per addressed seat; the snapshot builder projects it on that seat's private lane only.commerce.prompt_request (private, one per addressed seat).RuntimeScriptCommercePromptRequested.runtime.commerce.prompt.<offerKey>.session.<playerSessionId> = { kind: commerce.prompt_opened, offerKey, requestId, playerSessionId, requestedAt, source }.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/scriptCommerce.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Debug.logkeep_public_atomscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.debug:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.addComponentkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.component:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.ancestorskeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.childrenkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.descendantskeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.detachkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.hasTagkeep_public_atomscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.parentkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.patchComponentkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.component:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.readComponentkeep_public_atomscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.component:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.removeComponentkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.component:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.removeTagkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.replaceComponentkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.component:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.setNamekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.setOwnerkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.entity_set_owner pending op.Drained into an entity.owner_set patch carrying the previous and next Profile (I-19 journals every transfer).None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.entity_owner_unauthorized when the script is not attached to a Room Script host.server/tests/scriptPossessionAuthority.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.setParentkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.setTagkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.worldPositionkeep_readonly_projectionscript-runtimeNo inputs; targets the entity handle.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; reads the composed world transform already threaded onto the script entity snapshot.Executor-only snapshot read; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a vector3 (the snapshot worldPosition, falling back to the local position).Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Entity.worldRotationkeep_readonly_projectionscript-runtimeNo inputs; targets the entity handle.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; reads the composed world transform already threaded onto the script entity snapshot.Executor-only snapshot read; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a vector3 of Euler angles (the snapshot worldRotation, falling back to the local rotation).Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Events.emitkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.event:emitDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Fx.decalkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.fx:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.presentation_cue pending op (kind: decal).Runtime mints a decal.cue result patch; the reliable event lane resolves the audience and fans out a per-recipient RuntimePresentationCue frame.decal.cue (deliberately absent from CLIENT_RUNTIME_STATE_PATCH_KINDS, so a scoped cue never leaks through replay or reconnect).RuntimePresentationCue effect (kind: decal). Cosmetic: never mutates simulation.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.server/tests/runtimeScriptEventLane.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Fx.particleBurstkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.fx:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.presentation_cue pending op (kind: particles).Runtime mints a particles.cue result patch; the reliable event lane resolves the audience and fans out a per-recipient RuntimePresentationCue frame. The seed derives from the cue id, so a replayed tick is byte-identical.particles.cue (deliberately absent from CLIENT_RUNTIME_STATE_PATCH_KINDS, so a scoped cue never leaks through replay or reconnect).RuntimePresentationCue effect (kind: particles). Cosmetic: never mutates simulation.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.server/tests/runtimeScriptEventLane.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Inventory.grantkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.inventory:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.inventory_grant pending op with { playerSessionId, itemKey, quantity, reason? }.Runtime script system resolves the seat's possessed entity and mints the EXISTING inventory.grant_request state patch; the authority planner turns it into economy.inventory_delta on the durable outbox. A seat without a body fails closed (script.inventory_grant_unpossessed_seat).inventory.grant_request -> inventory.grant_applied.RuntimeScriptInventoryGrantRequested.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/scriptCommerce.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Match.addScorekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.match:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.score_add pending op with { subjectKey, amount, scoreboardKey?, reason? }.Runtime script system mints a scoreboard.score_add_request state patch; the orchestration effect sink applies it through repository.addScore (the same payload the admin RPC mints).scoreboard.score_add_request -> scoreboard.score_add_applied.RuntimeScriptScoreAddRequested, then RuntimeScoreAddApplied from the sink.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/scriptMultiplayerScoreObjective.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Match.getScorekeep_public_atomscript-runtimesubjectKey string plus an optional scoreboardKey (defaults to the snapshot's only scoreboard).Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.match:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; reads ScriptRuntimeState.scoreboards assembled by the room tick.Executor-only snapshot read; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns the subject's applied score total (0 when the subject has no score yet).Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/scriptMultiplayerScoreObjective.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Match.getStatedefer_v1_palettescript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.match:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Match.patchObjectivekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.match:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.objective_state_patch pending op with { objectiveKey, patch, reason? }.Runtime script system mints an objective.state_patch_request state patch; the orchestration effect sink applies it through repository.patchObjectiveState (the same payload the admin RPC mints).objective.state_patch_request -> objective.state_patch_applied.RuntimeScriptObjectivePatchRequested, then RuntimeObjectiveStatePatchApplied from the sink.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/scriptMultiplayerScoreObjective.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Match.setPhasedefer_v1_paletteruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.match:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Navigation.findPathkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.navigation:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Navigation.isReachablekeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.navigation:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Navigation.nearestPointkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.navigation:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Navigation.raycastkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.navigation:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Navigation.steerTowardkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.navigation:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Network.sendMessagekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.network:sendDeterministic inside one script tick unless the host is an explicit browser/client bridge.network_message_send pending op.Runtime script system mints a network.message state patch; the reliable event lane (runtimeScriptEventFramesFromEvent) publishes it at fanout as a broadcast notice or player-private frame.network.message (channel + payload, optional private playerId target).RuntimeNetworkMessageSent effect.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.server/tests/runtimeScriptEventLane.test.ts, server/tests/runtimeNetcodeMultiClient.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Physics.commandkeep_public_atomruntimeentityId entity reference plus bodyCommand discriminated object: force, impulse, launch, torque, torqueImpulse, teleport, or reset.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.physics:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.physics_command pending op with { entityId, command }.Runtime script system normalizes bodyCommand into the internal ForceComponent queue.component.patch for internal ForceComponent pending queue plus dependency add patches when required.RuntimePhysicsCommandQueued.ForceComponent is internal; public projection is the physics solve result in transform/body snapshots.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/runtimeRuntimeSystems.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Physics.occupancyQuerykeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.physics:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Physics.overlapTestkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.physics:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Physics.raycastkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.physics:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Physics.shapecastkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.physics:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Platform.exitFullscreenkeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.platform:requestDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Platform.exitPointerLockkeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.platform:requestDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Platform.requestFullscreenkeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.platform:requestDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Platform.requestPointerLockkeep_privileged_bridgeruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.platform:requestDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Player.eliminatekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.player_eliminate pending op.Drained into the character.eliminated fact and a player.possession_request release with reason respawn, the same patches the RuntimeCharacterEliminate command emits.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.character_eliminate_unauthorized when the script is not attached to a Room Script host and the seat is not its own; script.character_eliminate_invalid when the seat is not live or possesses no Character.server/tests/scriptPossessionAuthority.test.ts, packages/script-runtime/tests/playerSurface.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Player.possesskeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.player_possession pending op with intent assign.Drained into a player.possession_request patch the possession writer applies.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.player_possession_unauthorized when the script is not attached to a Room Script host and the seat is not its own.server/tests/scriptPossessionAuthority.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Player.releasekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.player_possession pending op with intent clear.Drained into a player.possession_request patch the possession writer applies.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.player_possession_unauthorized when the script is not attached to a Room Script host and the seat is not its own.server/tests/scriptPossessionAuthority.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Player.spawnCharacterkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.player_possession pending op with intent spawn_and_assign.Drained into a player.possession_request patch the possession writer applies; the character policy mints the body.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.player_possession_unauthorized when the script is not attached to a Room Script host and the seat is not its own.server/tests/scriptPossessionAuthority.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Players.getkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None: a read of the live roster view the tick context already carries.None.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.server/tests/scriptPossessionAuthority.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Players.listkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None: a read of the live roster view the tick context already carries.None.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.server/tests/scriptPossessionAuthority.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Program.inputActionsdefer_v1_palettescript-runtimeNo inputs.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.NoneDeterministic: reads the held-action bitset (pp-abi.v1 SPEC 4.4 byte offset 92) as a number; decode with the bitwise family.None; pure client-produce-Worker read.Client program worker only; no server Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a number.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-codegen/tests/clientFrameProfile.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Program.inputBundledefer_v1_palettescript-runtimeNo inputs.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.NoneDeterministic: copies the current frame input bundle (pp-abi.v1 SPEC 4.4) into an array of number.None; pure client-produce-Worker read.Client program worker only; no server Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns the 16-slot input bundle as an array of number.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-codegen/tests/clientFrameProfile.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Program.inputFlagsdefer_v1_palettescript-runtimeNo inputs.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.NoneDeterministic: reads the input flags word (pp-abi.v1 SPEC 4.4 byte offset 88) as a number; bit 0 = pointerLocked.None; pure client-produce-Worker read.Client program worker only; no server Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a number.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-codegen/tests/clientFrameProfile.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Program.paramdefer_v1_palettescript-runtimeindex: number (0-based exposed-field index).Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.NoneDeterministic: reads authored numeric parameter by exposed-field index (pp-abi.v1 param_f64); out-of-range reads as 0.None; pure client-produce-Worker read.Client program worker only; no server Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a number.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-codegen/tests/clientFrameProfile.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Program.paramCountdefer_v1_palettescript-runtimeNo inputs.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.NoneDeterministic: returns the count of authored numeric parameters (pp-abi.v1 param_count).None; pure client-produce-Worker read.Client program worker only; no server Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a number.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-codegen/tests/clientFrameProfile.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.boolkeep_public_atomscript-runtimeOptional probability p (default 0.5) plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.gaussiankeep_public_atomscript-runtimeOptional mean (default 0), std (default 1) plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.intkeep_public_atomscript-runtimemin, max numbers (inclusive, unbiased) plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.nextkeep_public_atomscript-runtimeNo inputs.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns the next deterministic RNG sample.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.pickkeep_public_atomscript-runtimearray plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.pointInCirclekeep_public_atomscript-runtimeradius number plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.pointInSpherekeep_public_atomscript-runtimeradius number plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.rangekeep_public_atomscript-runtimemin, max numbers plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.seededkeep_public_atomscript-runtimeseed string or number.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; constructs an invocation-local reproducible stream handle.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns an opaque random_stream handle.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.shufflekeep_public_atomscript-runtimearray plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a new shuffled array; the input is never mutated.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.signkeep_public_atomscript-runtimeOptional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.unitVectorkeep_public_atomscript-runtimeOptional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Random.weightedPickkeep_public_atomscript-runtimeitems and weights arrays plus an optional trailing random_stream.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.random:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; returns a deterministic sample from the seeded RNG.Executor-only seeded RNG; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Return value only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomRandom.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Room.getPlayersdefer_v1_palettescript-runtimeNo inputs.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:readDeterministic: the executor owns the participant filter (no admin observers or departed sessions) and the joinedAt-then-playerSessionId ordering.None; reads the roster threaded through ScriptRuntimeState.players.Executor-only roster read; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns RoomPlayerSnapshot rows (playerSessionId, playerId, actorId, actorKind, sessionKind, status, seatKey?, teamKey?, possessedEntityId?, joinedAt) bounded by room capacity.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/worldQueryPagination.test.ts, packages/script-runtime/tests/worldQueryFuzz.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Room.getStatedefer_v1_palettescript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.room:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Team.getAssignmentdefer_v1_palettescript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.team:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Terrain.heightAtkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.terrain:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Terrain.normalAtkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.terrain:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Terrain.raycastDownkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.terrain:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Terrain.sampleLayerWeightskeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.terrain:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Terrain.slopeAtkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.terrain:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Tween.canceldefer_v1_paletteruntimekey string matching the one Tween Start used.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.tween:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.tween_cancel pending op with { key }.Runtime script system removes the (scriptKey, key) tween record from the owner's TweenState, scoped so a sibling script's same-key tween is never cancelled.Owner TweenState component.patch with the record removed.RuntimeScriptTweenCancelled.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/runtimeRuntimeSystems.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Tween.startdefer_v1_paletteruntimeentityId entity reference plus a spec object: { component, field, to (number or vector3), durationSeconds, easing?, key?, from?, angle? }.Executor marshals the spec + records the metered host call; the runtime drain enforces mutation authority over the target, resolves the component field, validates the endpoint against the component schema, and rejects an unknown easing or an over-budget key.tween:writeDeterministic: duration is measured in ticks and eased(t) is sampled from the shared TWEEN_EASING_FUNCTIONS table on the server tick - byte-identical across runs and replay.tween_start pending op with { entityId, component, field, to, durationTicks, easing, key, angle }.Runtime script system writes a snapshot-resident TweenState record on the owner; a per-tick sampler emits the target field's component.patch and GCs the record at completion.Owner TweenState component.patch at start; per-tick target-field component.patch from the sampler; TweenState GC component.patch at completion.RuntimeScriptTweenStarted at start; RuntimeScriptTweenCompleted at completion.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.tween_target_invalid / tween_component_missing / tween_easing_unknown / tween_value_invalid / tween_field_invalid / tween_budget_exceeded, or the shared entity-mutation-authority correction when the target is not owned.packages/script-runtime/tests/runtime.test.ts, server/tests/runtimeRuntimeSystems.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
UI.closePanelkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.ui:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
UI.openPanelkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.ui:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
UI.setWidgetValuekeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.ui:effectDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.appendkeep_public_atomdata-warehouseDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.createkeep_public_atomdata-warehouseDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.deletekeep_public_atomdata-warehouseDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.getkeep_public_atomscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.incrementkeep_public_atomdata-warehouseDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.querykeep_public_atomscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.setkeep_public_atomdata-warehouseDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.transformkeep_public_atomdata-warehouseDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Warehouse.updatekeep_public_atomdata-warehouseDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.warehouse:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Water.isSubmergedkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.water:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
Water.surfaceLevelAtkeep_readonly_projectionscript-runtimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.water:queryDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.despawnkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.entityHasTagkeep_public_atomscript-runtimeA target entity id and a tag string.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; reads the target entity's tags from the tick world snapshot.Executor-only snapshot read; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns a boolean: whether the target entity carries the tag this tick.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.server/tests/seatAndBodyBrainrotSlice.test.ts, packages/script-runtime/tests/worldTargetOwnershipAndTags.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.findkeep_public_atomscript-runtimeFilter object supporting id, key, name, tag, componentType, worldId, radius, origin, and limit.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic inside one script tick unless the host is an explicit browser/client bridge.None; reads the script world snapshot.Executor-only snapshot query; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns matching RuntimeEntitySnapshot values.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.querykeep_public_atomscript-runtimeOptions object: every ctx.world.find filter field plus cursor (opaque keyset resume token) and limit.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:readDeterministic: one shared filter predicate with ctx.world.find, and page sort + cursor seek both derive from the canonical entity-id ordering.None; reads the script world snapshot.Executor-only snapshot query; no Runtime drain.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Returns { entities, nextCursor?, totalMatched }: a bounded page in canonical id order, a resume cursor present exactly while matches remain, and the full pre-pagination match count.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/worldQueryPagination.test.ts, packages/script-runtime/tests/worldQueryFuzz.test.ts, packages/script-runtime/tests/authoringFieldSchemas.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.setEntityOwnerkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.entity_set_owner pending op carrying the TARGET entityId (the same op Entity.setOwner enqueues for the self entity).Drained by stateFromScriptSetOwnerOp into an entity.owner_set patch carrying the previous and next Profile (I-19 journals every transfer).None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.entity_owner_unauthorized when the script is not attached to a Room Script host; script.entity_owner_invalid when the target entity is missing.server/tests/seatAndBodyBrainrotSlice.test.ts, packages/script-runtime/tests/worldTargetOwnershipAndTags.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.setEntityTagkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.entity_tag_add pending op carrying the TARGET entityId.Drained by the structural-mutation path into an entity.tag_add patch (same-world, rate-limited, the same authority World.despawn uses).None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.script.entity_mutation_target_not_authorized when the target is absent or outside the owner's world; script.entity_mutation_non_owner_rate_limited past the per-tick non-owner limit; script.entity_tag_missing for an empty tag.server/tests/seatAndBodyBrainrotSlice.test.ts, packages/script-runtime/tests/worldTargetOwnershipAndTags.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.spawnkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.spawnManykeep_public_atomruntimeAn array of spawn configs, each identical in shape to ctx.world.spawn's config. At most SCRIPT_SPAWN_BATCH_MAX_ENTITIES (64) per call; an oversized array is rejected whole, never partially applied.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic: N separate entity_spawn pending ops, whose ids derive from the existing (room, owner, script, tick, opIndex) seed. The Nth entity of a batch is byte-identical to the Nth of N single ctx.world.spawn calls.N entity_spawn pending ops (prefab-shaped configs route to prefab_instantiate, exactly as ctx.world.spawn does). No new op type.The existing entity_spawn drain, once per op, under the same per-execution spawn-entity budget the drain applies to every spawn route.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/atomSpawnMany.test.ts, server/tests/scriptSpawnBatchAndBounds.test.ts, server/tests/blueprint-ir-host-parity.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.spawnPrefabkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.entity:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.No pending op for pure reads; write/effect atoms enqueue a typed ScriptPendingOp.Drained by server/src/modules/runtime/runtimeSystems.ts when the atom produces a pending op.None for reads; writes emit typed Runtime state patches owned by the drain module.None unless documented by the drain.Projection follows Runtime snapshot/delta behavior for the affected state patch.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.
World.teleportPlayerkeep_public_atomruntimeDeclared by the Script IR host node ports and generated SDK signature.Executor validates primitive argument shape before enqueue/read; Runtime validates authoritative mutations before state patches.world:writeDeterministic inside one script tick unless the host is an explicit browser/client bridge.teleport_player pending op.Runtime script system issues a Warehouse-backed teleport handoff.Private teleport handoff projection.Runtime teleport handoff effect.Private client/player projection only.Invalid inputs or unauthorized mutations produce structured script diagnostics or Runtime corrections.packages/script-runtime/tests/runtime.test.tsdocs/spec/generated/script-node-catalog.md, docs/spec/generated/script-sdk.mdLaunch public atom with no helper aliases.

All Nodes

NodeKindCategoryIRHostEffect tagsSDK path
core.arithmeticcoreValuesarithmeticpureNone
core.array.firstcoreValuesarray.firstpureNone
core.array.for_eachcoreControlarray.forEachpureNone
core.array.getcoreValuesarray.getpureNone
core.array.lengthcoreValuesarray.lengthpureNone
core.array.mutatecoreValuesarray.mutatepureNone
core.array.querycoreValuesarray.querypureNone
core.array.reducecoreValuesarray.reducepureNone
core.array.transformcoreValuesarray.transformpureNone
core.bitwisecoreValuesbitwisepureNone
core.booleancoreValuesbooleanpureNone
core.bounded.forcoreControlbounded.forpureNone
core.bounded.whilecoreControlbounded.whilepureNone
core.comparisoncoreValuescomparisonpureNone
core.component.patchcoreComponentscomponent.patchwriteStateNone
core.component.readcoreComponentscomponent.readpureNone
core.entity.idcoreValuesentity.idpureNone
core.event.keycoreEventsevent.keypureNone
core.event.payload.getcoreEventsevent.payload.getpureNone
core.expression.codeboxcoreValuesexpression.codeboxpureNone
core.flow.breakcoreControlflow.breakpureNone
core.flow.continuecoreControlflow.continuepureNone
core.flow.do_ncoreControlflow.doNwriteStateNone
core.flow.do_oncecoreControlflow.doOncewriteStateNone
core.flow.flip_flopcoreControlflow.flipFlopwriteStateNone
core.flow.gatecoreControlflow.gatewriteStateNone
core.flow.multi_gatecoreControlflow.multiGatewriteStateNone
core.flow.returncoreControlflow.returnpureNone
core.flow.timer.aftercoreControlflow.timer.afteremitEventNone
core.flow.timer.cancelcoreControlflow.timer.cancelemitEventNone
core.getcoreValuesgetpureNone
core.host.callcoreEffectshost.callemitEventNone
core.ifcoreControlifpureNone
core.letcoreValuesletpureNone
core.mapcoreValuesmappureNone
core.math.remapcoreValuesmath.remappureNone
core.mathcoreValuesmathpureNone
core.notcoreValuesnotpureNone
core.objectcoreValuesobjectpureNone
core.quatcoreValuesquatpureNone
core.record.getcoreValuesrecord.getpureNone
core.selectcoreValuesselectpureNone
core.sequencecoreControlsequencepureNone
core.setcoreValuessetpureNone
core.stringcoreValuesstringpureNone
core.switchcoreControlswitchpureNone
core.value.arraycoreValuesvalue.arraypureNone
core.value.assertcoreValuesvalue.assertpureNone
core.value.castcoreValuesvalue.castpureNone
core.value.coercecoreValuesvalue.coercepureNone
core.value.literalcoreValuesvalue.literalpureNone
core.value.objectcoreValuesvalue.objectpureNone
core.vec3coreValuesvec3pureNone
event.actioneventEventsonActionResolvedreadWorldNone
event.character_removedeventEventsonCharacterRemovedreadWorldNone
event.character_spawnedeventEventsonCharacterSpawnedreadWorldNone
event.customeventEventsonCustomEventreadWorldNone
event.frameeventEventsonFramereadWorldNone
event.initeventEventsonInitreadWorldNone
event.match_endedeventEventsonMatchEndedreadWorldNone
event.network_messageeventEventsonNetworkMessagereadWorldNone
event.panel_actioneventEventsonPanelActionreadWorldNone
event.phase_exiteventEventsonPhaseExitreadWorldNone
event.phaseeventEventsonPhaseEnterreadWorldNone
event.player_joinedeventEventsonPlayerJoinedreadWorldNone
event.player_lefteventEventsonPlayerLeftreadWorldNone
event.purchase_fulfilledeventEventsonPurchaseFulfilledreadWorldNone
event.resizeeventEventsonResizereadWorldNone
event.starteventEventsonStartreadWorldNone
event.tickeventEventsonTickreadWorldNone
event.timereventEventsonTimerFiredreadWorldNone
event.trigger_exiteventEventsonTriggerExitreadWorldNone
event.triggereventEventsonTriggerEnterreadWorldNone
event.widget_presseventEventsonWidgetPressreadWorldNone
host.audio.play_spatialhostAudiohost.callAudio.playSpatialaudioEffect, networked, nonRollbackablectx.audio.playSpatial
host.audio.playhostAudiohost.callAudio.playaudioEffect, networked, nonRollbackablectx.audio.play
host.audio.set_background_musichostAudiohost.callAudio.setBackgroundMusicaudioEffect, nonRollbackablectx.audio.setBackgroundMusic
host.audio.set_volumehostAudiohost.callAudio.setVolumeaudioEffectctx.audio.setVolume
host.audio.stophostAudiohost.callAudio.stopaudioEffectctx.audio.stop
host.camera.add_look_inputhostPlatformhost.callCamera.addLookInputplatformRequest, nonRollbackable, requiresAuthorityctx.camera.addLookInput
host.camera.set_look_sensitivityhostPlatformhost.callCamera.setLookSensitivityplatformRequest, nonRollbackable, requiresAuthorityctx.camera.setLookSensitivity
host.camera.set_pitch_clamphostPlatformhost.callCamera.setPitchClampplatformRequest, nonRollbackable, requiresAuthorityctx.camera.setPitchClamp
host.camera.set_view_targethostPlatformhost.callCamera.setViewTargetplatformRequest, nonRollbackable, requiresAuthorityctx.camera.setViewTarget
host.commerce.ownshostPlatformhost.callCommerce.ownsreadStatectx.commerce.owns
host.commerce.prompt_purchasehostPlatformhost.callCommerce.promptPurchaseplatformRequest, nonRollbackable, requiresAuthorityctx.commerce.promptPurchase
host.debug.loghostDebughost.callDebug.logemitEventctx.log
host.entity.add_componenthostComponentshost.callEntity.addComponentwriteState, writeWorld, requiresAuthorityctx.entity.addComponent
host.entity.ancestorshostWorldhost.callEntity.ancestorsreadWorld, readStatectx.entity.ancestors
host.entity.childrenhostWorldhost.callEntity.childrenreadWorld, readStatectx.entity.children
host.entity.descendantshostWorldhost.callEntity.descendantsreadWorld, readStatectx.entity.descendants
host.entity.detachhostWorldhost.callEntity.detachwriteState, writeWorld, requiresAuthorityctx.entity.detach
host.entity.has_taghostWorldhost.callEntity.hasTagreadWorld, readStatectx.entity.hasTag
host.entity.parenthostWorldhost.callEntity.parentreadWorld, readStatectx.entity.parent
host.entity.patch_componenthostComponentshost.callEntity.patchComponentwriteState, writeWorld, requiresAuthorityctx.entity.patchComponent
host.entity.read_componenthostComponentshost.callEntity.readComponentreadState, readWorldctx.entity.readComponent
host.entity.remove_componenthostComponentshost.callEntity.removeComponentwriteState, writeWorld, requiresAuthorityctx.entity.removeComponent
host.entity.remove_taghostWorldhost.callEntity.removeTagwriteState, writeWorld, requiresAuthorityctx.entity.removeTag
host.entity.replace_componenthostComponentshost.callEntity.replaceComponentwriteState, writeWorld, requiresAuthorityctx.entity.replaceComponent
host.entity.set_namehostWorldhost.callEntity.setNamewriteState, writeWorld, requiresAuthorityctx.entity.setName
host.entity.set_ownerhostWorldhost.callEntity.setOwnerwriteWorld, writeState, requiresAuthorityctx.entity.setOwner
host.entity.set_parenthostWorldhost.callEntity.setParentwriteState, writeWorld, requiresAuthorityctx.entity.setParent
host.entity.set_taghostWorldhost.callEntity.setTagwriteState, writeWorld, requiresAuthorityctx.entity.setTag
host.entity.world_positionhostWorldhost.callEntity.worldPositionreadWorld, readStatectx.entity.worldPosition
host.entity.world_rotationhostWorldhost.callEntity.worldRotationreadWorld, readStatectx.entity.worldRotation
host.events.emithostEventshost.callEvents.emitemitEventctx.events.emit
host.fx.decalhostEffectshost.callFx.decalnetworked, nonRollbackablectx.fx.decal
host.fx.particle_bursthostEffectshost.callFx.particleBurstnetworked, nonRollbackablectx.fx.particleBurst
host.inventory.granthostMatch & Playershost.callInventory.grantwriteState, emitEvent, durable, requiresAuthorityctx.inventory.grant
host.match.add_scorehostMatch & Playershost.callMatch.addScorewriteState, emitEvent, requiresAuthorityctx.match.addScore
host.match.get_scorehostMatch & Playershost.callMatch.getScorereadStatectx.match.getScore
host.match.get_statehostMatch & Playershost.callMatch.getStatereadStatectx.match.getState
host.match.patch_objectivehostMatch & Playershost.callMatch.patchObjectivewriteState, emitEvent, requiresAuthorityctx.match.patchObjective
host.match.set_phasehostMatch & Playershost.callMatch.setPhasewriteState, emitEvent, requiresAuthorityctx.match.setPhase
host.navigation.find_pathhostPhysicshost.callNavigation.findPathreadWorldctx.navigation.findPath
host.navigation.is_reachablehostPhysicshost.callNavigation.isReachablereadWorldctx.navigation.isReachable
host.navigation.nearest_pointhostPhysicshost.callNavigation.nearestPointreadWorldctx.navigation.nearestPoint
host.navigation.raycasthostPhysicshost.callNavigation.raycastreadWorldctx.navigation.raycast
host.navigation.steer_towardhostPhysicshost.callNavigation.steerTowardreadWorldctx.navigation.steerToward
host.network.send_messagehostEventshost.callNetwork.sendMessageemitEvent, networked, nonRollbackablectx.network.sendMessage
host.physics.commandhostPhysicshost.callPhysics.commandphysicsCommand, writeWorld, requiresAuthorityctx.physics.command
host.physics.occupancy_queryhostPhysicshost.callPhysics.occupancyQueryreadWorldctx.physics.occupancyQuery
host.physics.overlap_testhostPhysicshost.callPhysics.overlapTestreadWorldctx.physics.overlapTest
host.physics.raycasthostPhysicshost.callPhysics.raycastreadWorldctx.physics.raycast
host.physics.shapecasthostPhysicshost.callPhysics.shapecastreadWorldctx.physics.shapecast
host.platform.exit_fullscreenhostPlatformhost.callPlatform.exitFullscreenplatformRequest, nonRollbackable, requiresAuthorityctx.platform.exitFullscreen
host.platform.exit_pointer_lockhostPlatformhost.callPlatform.exitPointerLockplatformRequest, nonRollbackable, requiresAuthorityctx.platform.exitPointerLock
host.platform.request_fullscreenhostPlatformhost.callPlatform.requestFullscreenplatformRequest, nonRollbackable, requiresAuthorityctx.platform.requestFullscreen
host.platform.request_pointer_lockhostPlatformhost.callPlatform.requestPointerLockplatformRequest, nonRollbackable, requiresAuthorityctx.platform.requestPointerLock
host.player.eliminatehostMatch & Playershost.callPlayer.eliminatewriteWorld, requiresAuthorityctx.players.eliminate
host.player.possesshostMatch & Playershost.callPlayer.possesswriteWorld, requiresAuthorityctx.players.possess
host.player.releasehostMatch & Playershost.callPlayer.releasewriteWorld, requiresAuthorityctx.players.release
host.player.spawn_characterhostMatch & Playershost.callPlayer.spawnCharacterspawnEntity, writeWorld, requiresAuthorityctx.players.spawnCharacter
host.players.gethostMatch & Playershost.callPlayers.getreadWorldctx.players.get
host.players.listhostMatch & Playershost.callPlayers.listreadWorldctx.players.list, ctx.room.getPlayers
host.program.input_actionshostValueshost.callProgram.inputActionspurectx.program.inputActions
host.program.input_bundlehostValueshost.callProgram.inputBundlepurectx.program.inputBundle
host.program.input_flagshostValueshost.callProgram.inputFlagspurectx.program.inputFlags
host.program.param_counthostValueshost.callProgram.paramCountpurectx.program.paramCount
host.program.paramhostValueshost.callProgram.parampurectx.program.param
host.random.boolhostValueshost.callRandom.boolpurectx.random.bool
host.random.gaussianhostValueshost.callRandom.gaussianpurectx.random.gaussian
host.random.inthostValueshost.callRandom.intpurectx.random.int
host.random.nexthostValueshost.callRandom.nextpurectx.random
host.random.pickhostValueshost.callRandom.pickpurectx.random.pick
host.random.point_in_circlehostValueshost.callRandom.pointInCirclepurectx.random.pointInCircle
host.random.point_in_spherehostValueshost.callRandom.pointInSpherepurectx.random.pointInSphere
host.random.rangehostValueshost.callRandom.rangepurectx.random.range
host.random.seededhostValueshost.callRandom.seededpurectx.random.seeded
host.random.shufflehostValueshost.callRandom.shufflepurectx.random.shuffle
host.random.signhostValueshost.callRandom.signpurectx.random.sign
host.random.unit_vectorhostValueshost.callRandom.unitVectorpurectx.random.unitVector
host.random.weighted_pickhostValueshost.callRandom.weightedPickpurectx.random.weightedPick
host.room.get_playershostMatch & Playershost.callRoom.getPlayersreadState, readWorldctx.room.getPlayers
host.room.get_statehostMatch & Playershost.callRoom.getStatereadState, readWorldctx.room.getState
host.team.get_assignmenthostMatch & Playershost.callTeam.getAssignmentreadState, readWorldctx.team.getAssignment
host.terrain.height_athostPhysicshost.callTerrain.heightAtreadWorldctx.terrain.heightAt
host.terrain.normal_athostPhysicshost.callTerrain.normalAtreadWorldctx.terrain.normalAt
host.terrain.raycast_downhostPhysicshost.callTerrain.raycastDownreadWorldctx.terrain.raycastDown
host.terrain.sample_layer_weightshostPhysicshost.callTerrain.sampleLayerWeightsreadWorldctx.terrain.sampleLayerWeights
host.terrain.slope_athostPhysicshost.callTerrain.slopeAtreadWorldctx.terrain.slopeAt
host.tween.cancelhostPhysicshost.callTween.cancelwriteWorld, requiresAuthorityctx.tween.cancel
host.tween.starthostPhysicshost.callTween.startwriteWorld, requiresAuthorityctx.tween.start
host.ui.close_panelhostUIhost.callUI.closePaneluiEffect, nonRollbackablectx.ui.closePanel
host.ui.open_panelhostUIhost.callUI.openPaneluiEffect, nonRollbackablectx.ui.openPanel
host.ui.set_widget_valuehostUIhost.callUI.setWidgetValueuiEffect, nonRollbackablectx.ui.setWidgetValue
host.warehouse.appendhostPersistencehost.callWarehouse.appendwriteState, durable, requiresAuthorityctx.warehouse.append
host.warehouse.createhostPersistencehost.callWarehouse.createwriteState, durable, requiresAuthorityctx.warehouse.create
host.warehouse.deletehostPersistencehost.callWarehouse.deletewriteState, durable, requiresAuthorityctx.warehouse.delete
host.warehouse.gethostPersistencehost.callWarehouse.getreadState, durablectx.warehouse.get
host.warehouse.incrementhostPersistencehost.callWarehouse.incrementwriteState, durable, requiresAuthorityctx.warehouse.increment
host.warehouse.queryhostPersistencehost.callWarehouse.queryreadState, durablectx.warehouse.query
host.warehouse.sethostPersistencehost.callWarehouse.setwriteState, durable, requiresAuthorityctx.warehouse.set
host.warehouse.transformhostPersistencehost.callWarehouse.transformwriteState, durable, requiresAuthorityctx.warehouse.transform
host.warehouse.updatehostPersistencehost.callWarehouse.updatewriteState, durable, requiresAuthorityctx.warehouse.update
host.water.is_submergedhostPhysicshost.callWater.isSubmergedreadWorldctx.water.isSubmerged
host.water.surface_level_athostPhysicshost.callWater.surfaceLevelAtreadWorldctx.water.surfaceLevelAt
host.world.despawnhostWorldhost.callWorld.despawndespawnEntity, writeWorld, requiresAuthorityctx.world.despawn
host.world.entity_has_taghostWorldhost.callWorld.entityHasTagreadWorld, readStatectx.world.entityHasTag
host.world.findhostWorldhost.callWorld.findreadWorldctx.world.find
host.world.queryhostWorldhost.callWorld.queryreadWorldctx.world.query
host.world.set_entity_ownerhostWorldhost.callWorld.setEntityOwnerwriteWorld, writeState, requiresAuthorityctx.world.setEntityOwner
host.world.set_entity_taghostWorldhost.callWorld.setEntityTagwriteState, writeWorld, requiresAuthorityctx.world.setEntityTag
host.world.spawn_manyhostWorldhost.callWorld.spawnManyspawnEntity, writeWorld, requiresAuthorityctx.world.spawnMany
host.world.spawn_prefabhostWorldhost.callWorld.spawnPrefabspawnEntity, writeWorld, requiresAuthorityctx.world.spawnPrefab
host.world.spawnhostWorldhost.callWorld.spawnspawnEntity, writeWorld, requiresAuthorityctx.world.spawn
host.world.teleport_playerhostWorldhost.callWorld.teleportPlayerwriteWorld, networked, nonRollbackable, requiresAuthorityctx.world.teleportPlayer

Node Details

One section per node, keyed by node id, so a reference to a node id resolves to its own anchor. Each carries the node description and its first example.

core.arithmetic

Applies a numeric operator.

Text
{ "op": "arithmetic", "operator": "add", "left": {}, "right": {} }

core.array.first

Reads the first typed item from an array.

Text
{ "op": "array.first", "array": { "op": "get", "path": ["targets"], "valueType": "entity_array" }, "valueType": "entity" }

core.array.for_each

Iterates a typed array with a bounded execution budget.

Text
{ "op": "array.forEach", "array": { "op": "get", "path": ["targets"], "valueType": "entity_array" }, "item": "target", "itemType": "entity", "maxIterations": 32, "body": [] }

core.array.get

Reads one typed item from an array by index.

Text
{ "op": "array.get", "array": { "op": "get", "path": ["targets"], "valueType": "entity_array" }, "index": { "op": "value.literal", "value": 0 }, "valueType": "entity" }

core.array.length

Counts items in a typed array value.

Text
{ "op": "array.length", "array": { "op": "value.array", "items": [] } }

core.array.mutate

Functional array update: push, addUnique, insert, removeAt, removeValue, clear, set, unique, reverse - returns a NEW array (no in-place mutation). Write it back to a component via Patch (ATOM-5).

Text
{ "op": "array.mutate", "operator": "push", "array": {}, "value": {} }

core.array.query

Pure array reads: contains (by value), indexOf (by value; UE Find), last, join, slice, concat. No predicate, matching UE (ATOM-6).

Text
{ "op": "array.query", "operator": "join", "array": {}, "separator": {} }

core.array.reduce

Fold an array down to a single accumulated value with a per-item expression over a bounded slice. The array-algebra ELIMINATE: the dual of the build ops (Make Array / Add). item binds the current element, accumulator binds the running total; both read via Get (ATOM-7).

Text
{ "op": "array.reduce", "array": {}, "seed": {}, "item": "x", "accumulator": "acc", "accumulatorType": "number", "maxIterations": 16, "expr": {} }

core.array.transform

map / filter / sortBy / find / some / every over an array with a per-item expression and a bounded iteration budget. A forEach-shaped special form with a named item binding - NOT a lambda. map/filter/sortBy return an array; find returns the matching item; some/every return a boolean (ATOM-7).

Text
{ "op": "array.transform", "operator": "map", "array": {}, "item": "x", "itemType": "number", "maxIterations": 16, "expr": {} }

core.bitwise

Integer bit-algebra: and, or, xor, not, shl, shr, ushr. Operands and result are numbers with exact JavaScript ToInt32 semantics (ushr is ToUint32); shift counts are masked to 5 bits. Pairs with Math.imul32 for integer hashing, noise, and u32 pixel packing (ATOM-1).

Text
{ "op": "bitwise", "operator": "and", "a": {}, "b": {} }

core.boolean

Combines two boolean values.

Text
{ "op": "boolean", "operator": "and", "left": {}, "right": {} }

core.bounded.for

Runs a for loop with a maximum iteration budget.

Text
{ "op": "bounded.for", "iterator": "i", "from": {}, "to": {}, "maxIterations": 10, "body": [] }

core.bounded.while

Runs a while loop with a maximum iteration budget.

Text
{ "op": "bounded.while", "test": {}, "maxIterations": 10, "body": [] }

core.comparison

Compares two values. eqi / nei check case-insensitive string equality / inequality (UE Equal (String) ignore-case).

Text
{ "op": "comparison", "operator": "gte", "left": {}, "right": {} }

core.component.patch

Buffers an authoritative component patch.

Text
{ "op": "component.patch", "componentType": "TransformComponent", "patch": { "position": { "x": 0, "y": 1, "z": 0 } } }

core.component.read

Reads a component from the owning entity or a specified entity.

Text
{ "op": "component.read", "componentType": "TransformComponent", "fields": ["position"] }

core.entity.id

Reads an entity's ID. With no input, uses the entity running this script.

Text
{ "op": "entity.id" }

core.event.key

Reads the semantic key from the current runtime event.

Text
{ "op": "event.key" }

core.event.payload.get

Reads a typed value from the current event payload.

Text
{ "op": "event.payload.get", "path": ["entityId"], "valueType": "string" }

core.expression.codebox

Author a value as a freeform GessaScript expression instead of wiring value nodes. The text is parsed to a real, type-checked expression tree (W2-C); its result type is the inner expression's type.

Text
{ "op": "expression.codebox", "expression": { "op": "value.literal", "value": 1 } }

core.flow.break

Stops the enclosing loop immediately and continues after it.

Text
break;

core.flow.continue

Skips the rest of this iteration and advances the enclosing loop to the next one.

Text
continue;

core.flow.do_n

Runs its body the first N times it is reached, then blocks until reset. UE DoN (ATOM-12).

Text
{ "op": "flow.doN", "stateKey": "burst", "n": { "op": "value.literal", "value": 3 }, "body": [] }

core.flow.do_once

Runs its body the first time it is reached, then blocks until reset. UE DoOnce (ATOM-12).

Text
{ "op": "flow.doOnce", "stateKey": "intro", "body": [] }

core.flow.flip_flop

Alternates between the A and B branches on each reach (A first). UE FlipFlop (ATOM-12).

Text
{ "op": "flow.flipFlop", "stateKey": "toggle", "a": [], "b": [] }

core.flow.gate

Open/closed pass-through. enter runs the body only while open; open/close/toggle set the latch. UE Gate (ATOM-12).

Text
{ "op": "flow.gate", "stateKey": "spawnGate", "action": "enter", "body": [] }

core.flow.multi_gate

Routes to one of N branches: cycle in order, seeded-random, or once-each. UE MultiGate (ATOM-12). Random uses the seeded RNG.

Text
{ "op": "flow.multiGate", "stateKey": "spread", "mode": "cycle", "branches": [] }

core.flow.return

Stops the current event handler (or function) immediately; nothing after it runs.

Text
return;

core.flow.timer.after

Schedules a latent continuation: after seconds (measured in ticks) the resumeEvent handler is re-entered. UE Delay (ATOM-13).

Text
{ "op": "flow.timer.after", "seconds": { "op": "value.literal", "value": 2 }, "resumeEvent": "onDelayComplete" }

core.flow.timer.cancel

Cancels a pending latent timer by key before it fires; the schedule<->cancel dual of Timer After (ATOM-13).

Text
cancel timer "reload";

core.get

Reads a bound variable or context path, preserving optional type evidence for a path whose declared type is unknown.

Text
{ "op": "get", "path": ["ctx", "delta"] }

core.host.call

Calls a declared runtime host function.

Text
{ "op": "host.call", "host": { "namespace": "Debug", "name": "log" }, "args": [] }

core.if

Runs one of two statement branches.

Text
{ "op": "if", "test": { "op": "value.literal", "value": true }, "then": [], "else": [] }

core.let

Binds an expression to a local constant.

Text
{ "op": "let", "name": "score", "value": { "op": "value.literal", "value": 0 } }

core.map

String-keyed map container: make, add, remove, contains, get, keys, values, length, merge. Functional (no in-place mutation); deterministic insertion-order iteration (ATOM-15).

Text
{ "op": "map", "operator": "add", "map": {}, "key": {}, "value": {} }

core.math

Numeric library: min, max, abs, floor, ceil, round, clamp, sqrt, pow, sign, lerp, sin, cos, tan, asin, acos, atan, atan2, exp, ln, log10, log2, deg2rad, rad2deg, wrapAngle, smoothstep, imul32. The operator enum is the whole float/int library in one node (ATOM-1); imul32 is the 32-bit modular multiply (Math.imul) that pairs with the Bitwise node for integer hashing.

Text
{ "op": "math", "operator": "abs", "a": {} }

core.math.remap

Re-scale a value from an input range [inMin, inMax] onto an output range [outMin, outMax], linearly. The five-operand gameplay staple (health bars, aim assist) that does not fit Math's a/b/c ternary shape, so it is its own op. Not clamped - pair with Clamp to bound it.

Text
{ "op": "math.remap", "value": {}, "inMin": {}, "inMax": {}, "outMin": {}, "outMax": {} }

core.not

Negates a boolean value.

Text
{ "op": "not", "value": { "op": "value.literal", "value": false } }

core.object

Functional record update + enumeration: set (one field) / merge (two objects) / delete (drop a field) return a NEW object; keys / entries / has read the record (dynamic-key enumeration; ATOM-8).

Text
{ "op": "object", "operator": "merge", "target": {}, "source": {} }

core.quat

Quaternion rotation: make, multiply, slerp, fromEuler, toEuler, lookAt, rotateVector, inverse. Promotes the runtime Quaternion helpers; makes TransformComponent rotation ergonomic (ATOM-4).

Text
{ "op": "quat", "operator": "fromEuler", "euler": {} }

core.record.get

Reads a typed field from an object, component, warehouse record, query result, or event payload object.

Text
{ "op": "record.get", "record": { "op": "get", "path": ["progress"], "valueType": "data_record" }, "path": ["score"], "valueType": "number" }

core.select

Pure data multiplexer: returns ifTrue when condition is true, else ifFalse. UE Select - no exec branch (ATOM-9).

Text
{ "op": "select", "condition": {}, "ifTrue": {}, "ifFalse": {}, "valueType": "number" }

core.sequence

Runs child statements in order.

Text
{ "op": "sequence", "body": [] }

core.set

Assigns a value to a variable or path.

Text
{ "op": "set", "path": ["state"], "value": { "op": "value.literal", "value": 1 } }

core.string

String operations: concat, length, format, contains, split, upper, lower, replace, substring, trim, startsWith, endsWith, indexOf. The operator enum composes dynamic HUD text and keys (ATOM-2).

Text
{ "op": "string", "operator": "concat", "a": {}, "b": {} }

core.switch

Multi-way branch on an int / enum / string value: runs the matching case body, else the default. UE Switch (ATOM-9).

Text
{ "op": "switch", "on": {}, "cases": [], "default": [] }

core.value.array

Creates an array from item expressions.

Text
{ "op": "value.array", "items": [] }

core.value.assert

Asserts a runtime value has the expected primitive type before using it.

Text
{ "op": "value.assert", "expectedType": "number", "value": { "op": "get", "path": ["score"], "valueType": "number" } }

core.value.cast

Marks a value as a known Script IR type after an explicit authoring decision.

Text
{ "op": "value.cast", "to": "entity", "value": { "op": "value.literal", "value": "entity.target" } }

core.value.coerce

Safely coerces a value to string, number, boolean, or entity id with an optional fallback.

Text
{ "op": "value.coerce", "to": "number", "value": { "op": "event.payload.get", "path": ["score"], "valueType": "json" }, "defaultValue": { "op": "value.literal", "value": 0 } }

core.value.literal

Creates a string, number, boolean, or null value.

Text
{ "op": "value.literal", "value": 1 }

core.value.object

Creates an object from named entry expressions.

Text
{ "op": "value.object", "entries": {} }

core.vec3

Vector3 algebra: add, sub, scale, dot, cross, length, normalize, distance, lerp, make, reflect, moveTowards, project, angleBetween, clampLength. Promotes the runtime Vector3 helpers to visual authoring (ATOM-3).

Text
{ "op": "vec3", "operator": "make", "x": {}, "y": {}, "z": {} }

event.action

Runs after an authoritative input action resolves.

Text
onActionResolved(ctx, event)

event.character_removed

Runs when a seat's Character body is removed, whether the seat departed, was rebound, or was eliminated. Fires before Player Left for the same seat.

Text
onCharacterRemoved(ctx, event)

event.character_spawned

Runs when a Character body is spawned for a seat and bound to it. Fires after Player Joined for the same seat.

Text
onCharacterSpawned(ctx, event)

event.custom

Runs when a declared custom event is dispatched.

Text
onCustomEvent(ctx, event)

event.frame

Runs once per produced client frame.

Text
onFrame(ctx, t, dt)

event.init

Runs once when a client_frame program instance initializes.

Text
onInit(ctx)

event.match_ended

Runs when the match ends.

Text
onMatchEnded(ctx, event)

event.network_message

Runs when an authorized network message arrives.

Text
onNetworkMessage(ctx, event)

event.panel_action

Runs for an authored UI action from the player possessing this entity.

Text
onPanelAction(ctx, event)

event.phase

Runs when a match phase is entered.

Text
onPhaseEnter(ctx, event)

event.phase_exit

Runs when a match phase is exited.

Text
onPhaseExit(ctx, event)

event.player_joined

Runs when a player joins the runtime.

Text
onPlayerJoined(ctx, event)

event.player_left

Runs when a player leaves the runtime.

Text
onPlayerLeft(ctx, event)

event.purchase_fulfilled

Runs when a purchase settles for a seat in this room, after the entitlement and any item grant are durable; reach for it to react to a sale, never to grant what was bought.

Text
onPurchaseFulfilled(ctx, event)

event.resize

Runs when the program surface size changes.

Text
onResize(ctx, width, height)

event.start

Runs when the script starts.

Text
onStart(ctx)

event.tick

Runs once per runtime tick.

Text
onTick(ctx, deltaSeconds)

event.timer

Runs when a TimerComponent dispatches a timer event.

Text
onTimerFired(ctx, event)

event.trigger

Runs when another entity enters this entity's trigger.

Text
onTriggerEnter(ctx, event)

event.trigger_exit

Runs when another entity leaves this entity trigger.

Text
onTriggerExit(ctx, event)

event.widget_press

Runs for an authored UI action from the player possessing this entity.

Text
onWidgetPress(ctx, event)

host.audio.play

Plays a one-shot sound. options.audience scopes who hears it: 'room' (default), 'owner', {players:[...]}, or {except:[...]}. Delivered within the tick over the reliable event lane.

Text
ctx.audio.play(assetId, options)

host.audio.play_spatial

Plays a one-shot sound at a world position, attenuated by rolloff/refDistance/maxDistance (maxDistance is a hard silence radius). options.audience scopes who hears it. Delivered within the tick over the reliable event lane.

Text
ctx.audio.playSpatial(assetId, position, options)

host.audio.set_background_music

Requests background music playback by ProjectAsset UUID.

Text
ctx.audio.setBackgroundMusic(assetId, options)

host.audio.set_volume

Sets volume for an audio handle.

Text
ctx.audio.setVolume(handle, volume)

host.audio.stop

Stops an audio handle.

Text
ctx.audio.stop(handle)

host.camera.add_look_input

Adds a look delta to the client look controller this tick, on top of the player's own look input.

Text
ctx.camera.addLookInput(delta)

host.camera.set_look_sensitivity

Sets the client look controller sensitivity, in degrees of rotation per input unit.

Text
ctx.camera.setLookSensitivity(degreesPerUnit)

host.camera.set_pitch_clamp

Clamps the client look controller pitch between a minimum and maximum, in degrees.

Text
ctx.camera.setPitchClamp(minDeg, maxDeg)

host.camera.set_view_target

Points the client view at a target entity (optionally world-space offset), overriding free look until cleared.

Text
ctx.camera.setViewTarget(target, offset)

host.commerce.owns

Reads whether a seat holds an entitlement key from the durable entitlement facts; reach for it to gate content on a purchase without waiting for the fulfillment event.

Text
ctx.commerce.owns(entitlementKey, playerSessionId)

host.commerce.prompt_purchase

Opens the platform-owned purchase prompt for an offer on the addressed seat; reach for it when a script wants to sell an offer it never renders or confirms itself.

Text
ctx.commerce.promptPurchase(offerKey, audience)

host.debug.log

Writes a structured runtime log entry at the given level (default info).

Text
ctx.log(message, metadata, level)

host.entity.add_component

Adds a component through a canonical entity handle.

Text
ctx.entity.addComponent(componentType, data)

host.entity.ancestors

Reads ancestor entities.

Text
ctx.entity.ancestors()

host.entity.children

Reads child entities.

Text
ctx.entity.children()

host.entity.descendants

Reads descendant entities.

Text
ctx.entity.descendants(options)

host.entity.detach

Detaches an entity from its parent.

Text
ctx.entity.detach(options)

host.entity.has_tag

Checks a first-class entity tag.

Text
ctx.entity.hasTag(tag)

host.entity.parent

Reads the parent entity.

Text
ctx.entity.parent()

host.entity.patch_component

Patches a component through a canonical entity handle.

Text
ctx.entity.patchComponent(componentType, patch)

host.entity.read_component

Reads a component from a canonical entity handle.

Text
ctx.entity.readComponent(componentTypeOrKey)

host.entity.remove_component

Removes a component through a canonical entity handle.

Text
ctx.entity.removeComponent(componentTypeOrKey)

host.entity.remove_tag

Removes a first-class entity tag.

Text
ctx.entity.removeTag(tag)

host.entity.replace_component

Replaces a component through a canonical entity handle.

Text
ctx.entity.replaceComponent(componentType, data)

host.entity.set_name

Changes an entity's display name.

Text
ctx.entity.setName(name)

host.entity.set_owner

Writes the Profile that owns a thing, or clears it when the profile id is omitted. Room Script hosts only (I-19).

Text
ctx.entity.setOwner(entityId, profileId)

host.entity.set_parent

Parents one entity under another.

Text
ctx.entity.setParent(parentId, options)

host.entity.set_tag

Adds a first-class entity tag.

Text
ctx.entity.setTag(tag)

host.entity.world_position

Reads this entity's composed world-space position as a typed vector3, so a script can aim, offset, or measure distance from where the entity is this tick without decoding a component read.

Text
ctx.entity.worldPosition()

host.entity.world_rotation

Reads this entity's composed world-space rotation as a typed vector3 of Euler angles matching the Transform, so a script can derive facing or a forward direction without decoding a component read.

Text
ctx.entity.worldRotation()

host.events.emit

Emits a deterministic custom event.

Text
ctx.events.emit(eventKey, payload, targetEntityId)

host.fx.decal

Projects a one-shot decal as a presentation cue (a bounded subset of DecalComponent). options.audience scopes who sees it: 'room' (default), 'owner', {players:[...]}, or {except:[...]}. Cosmetic only - never mutates simulation. Delivered within the tick over the reliable event lane.

Text
ctx.fx.decal(options)

host.fx.particle_burst

Emits a one-shot particle burst as a presentation cue (a bounded subset of ParticleEmitterComponent). options.audience scopes who sees it: 'room' (default), 'owner', {players:[...]}, or {except:[...]}. Cosmetic only - never mutates simulation. Delivered within the tick over the reliable event lane; the seed derives from the cue id so a replayed tick is identical.

Text
ctx.fx.particleBurst(options)

host.inventory.grant

Grants a positive quantity of an item to a seat's inventory through the durable authority outbox; reach for it when gameplay earns an item outside a purchase.

Text
ctx.inventory.grant(playerSessionId, itemKey, quantity, reason)

host.match.add_score

Credits a signed score amount to a team or player subject on a match scoreboard.

Text
ctx.match.addScore(subjectKey, amount, scoreboardKey, reason)

host.match.get_score

Reads a subject's score total from the authoritative scoreboard snapshot (as of the last applied tick).

Text
ctx.match.getScore(subjectKey, scoreboardKey)

host.match.get_state

Reads match lifecycle state.

Text
ctx.match.getState()

host.match.patch_objective

Merges a partial state patch into a declarative match objective.

Text
ctx.match.patchObjective(objectiveKey, patch, reason)

host.match.set_phase

Requests a match phase transition.

Text
ctx.match.setPhase(phaseKey, reason, metadata)

host.navigation.find_path

Computes a walkable path between two world points for an agent profile.

Text
ctx.navigation.findPath(worldId, from, to, agentProfileKey)

host.navigation.is_reachable

Returns whether a walkable path exists between two world points.

Text
ctx.navigation.isReachable(worldId, from, to, agentProfileKey)

host.navigation.nearest_point

Returns the nearest walkable point to a world point, or null when off the walkable area.

Text
ctx.navigation.nearestPoint(worldId, point, agentProfileKey)

host.navigation.raycast

Line-of-walk between two world points; returns whether it is blocked and the hit point.

Text
ctx.navigation.raycast(worldId, from, to, agentProfileKey)

host.navigation.steer_toward

Takes one navmesh steering step toward a target, capped at Max Step. Returns whether the agent arrived, its next position and direction, and the distance remaining. Write Next to the agent's Position each tick; no second mover is created.

Text
ctx.navigation.steerToward(worldId, from, to, maxStep, agentProfileKey)

host.network.send_message

Sends a reliable network message to every subscribed client on a channel, or privately to one player session. Delivered within the tick over the reliable event lane.

Text
ctx.network.sendMessage(channel, payload, playerId)

host.physics.command

Changes one entity's physics body with a declared force, impulse, launch, torque, teleport, or reset command.

Text
ctx.physics.command(entityId, bodyCommand)

host.physics.occupancy_query

Reads the IDs of entities occupying a spatial cell.

Text
ctx.physics.occupancyQuery(worldId, cellKey)

host.physics.overlap_test

Tests a transformed shape against the physics query host.

Text
ctx.physics.overlapTest(shape, transform, filter)

host.physics.raycast

Casts a ray through the physics query host.

Text
ctx.physics.raycast(origin, direction, distance, filter)

host.physics.shapecast

Casts a shape through the physics query host.

Text
ctx.physics.shapecast(shape, transform, direction, distance, filter)

host.platform.exit_fullscreen

Queues exiting fullscreen on the client.

Text
ctx.platform.exitFullscreen()

host.platform.exit_pointer_lock

Queues exiting pointer lock on the client.

Text
ctx.platform.exitPointerLock()

host.platform.request_fullscreen

Queues a browser fullscreen request on the client.

Text
ctx.platform.requestFullscreen(target)

host.platform.request_pointer_lock

Queues a browser pointer-lock request on the client.

Text
ctx.platform.requestPointerLock()

host.player.eliminate

Eliminates the Character a seat possesses: journals the eliminated fact, releases the seat, and lets the character policy respawn it after its delay. Use it when authored damage decides a Player is out. Requires a Room Script host unless the seat is the one possessing this script's entity.

Text
ctx.players.eliminate(playerSessionId, reason)

host.player.possess

Binds a seat to an entity through the one possession writer. Requires a Room Script host unless the seat is the one possessing this script's entity.

Text
ctx.players.possess(playerSessionId, entityId)

host.player.release

Clears a seat's possession through the one possession writer. Requires a Room Script host unless the seat is the one possessing this script's entity.

Text
ctx.players.release(playerSessionId, reason)

host.player.spawn_character

Asks the character policy to spawn a body for a seat and bind it. Requires a Room Script host unless the seat is the one possessing this script's entity.

Text
ctx.players.spawnCharacter(playerSessionId, options)

host.players.get

Gets one Player by seat session id, or undefined when that seat is not on the live roster.

Text
ctx.players.get(playerSessionId)

host.players.list

Lists the live Player roster for this room: every seat that is joining, connected, or disconnected-resumable, in join order.

Text
ctx.players.list()

host.program.input_actions

Reads the held-action bitset of the current input bundle (pp-abi.v1 SPEC 4.4, byte offset 92) as a number: bit i is 1 when the declared action at index i is held this frame. Decode individual actions with the bitwise family, e.g. bitwise.and(Program.inputActions(), 1) tests action 0. Pure client-produce read; does not change the bundle.

Text
ctx.program.inputActions()

host.program.input_bundle

Copies the current 128-byte input bundle (pp-abi.v1 SPEC 4.4) into an array of number, one f64 slot per index: [0..3] look quaternion x/y/z/w; [4..6] camera world position x/y/z; [7..10] camera rotation quaternion x/y/z/w; [11] flags (bit 0 = pointerLocked) packed with the held-action bitset; [12..13] pointer delta x/y since last snapshot; [14..15] pointer position x/y normalized 0..1 over the surface. Pure read; the bundle is a copy, never live-mutated.

Text
ctx.program.inputBundle()

host.program.input_flags

Reads the flags word of the current input bundle (pp-abi.v1 SPEC 4.4, byte offset 88) as a number: bit 0 = pointerLocked. Decode with the bitwise family, e.g. bitwise.and(Program.inputFlags(), 1). Pure client-produce read; does not change the bundle.

Text
ctx.program.inputFlags()

host.program.param

Reads authored numeric parameter at the given exposed-field index (0-based, server-ordered, stable). Out-of-range indices read as 0 (pp-abi.v1 param_f64).

Text
ctx.program.param(index)

host.program.param_count

Returns the number of authored numeric parameters (the script's numeric exposed fields) available to this program instance (pp-abi.v1 param_count).

Text
ctx.program.paramCount()

host.random.bool

Returns true with probability p (default 0.5).

Text
ctx.random.bool(p, stream)

host.random.gaussian

Returns a Box-Muller normal sample with mean (default 0) and std (default 1).

Text
ctx.random.gaussian(mean, std, stream)

host.random.int

Returns an unbiased integer in [min, max] inclusive (rejection sampling).

Text
ctx.random.int(min, max, stream)

host.random.next

Returns the deterministic seeded random value.

Text
ctx.random()

host.random.pick

Returns a uniform element of the array; undefined for an empty array.

Text
ctx.random.pick(array, stream)

host.random.point_in_circle

Returns a uniform point inside the XZ-plane disk of the given radius (y = 0).

Text
ctx.random.pointInCircle(radius, stream)

host.random.point_in_sphere

Returns a uniform point inside the ball of the given radius.

Text
ctx.random.pointInSphere(radius, stream)

host.random.range

Returns a uniform float in [min, max).

Text
ctx.random.range(min, max, stream)

host.random.seeded

Creates a reproducible named PRNG stream: same seed yields the same sequence.

Text
ctx.random.seeded(seed)

host.random.shuffle

Returns a NEW Fisher-Yates shuffled array; the input is never mutated.

Text
ctx.random.shuffle(array, stream)

host.random.sign

Returns -1 or 1, uniform.

Text
ctx.random.sign(stream)

host.random.unit_vector

Returns a uniform direction on the unit sphere.

Text
ctx.random.unitVector(stream)

host.random.weighted_pick

Returns an element with probability proportional to weights; undefined for empty/zero-weight inputs.

Text
ctx.random.weightedPick(items, weights, stream)

host.room.get_players

Reads the room's connected-player roster (active participants, deterministic join order, bounded by room capacity - not by a query limit).

Text
ctx.room.getPlayers()

host.room.get_state

Reads room-level runtime state.

Text
ctx.room.getState()

host.team.get_assignment

Reads the current entity's team assignment.

Text
ctx.team.getAssignment()

host.terrain.height_at

Reads the terrain surface height (world Y) at a world XZ position.

Text
ctx.terrain.heightAt(worldId, x, z)

host.terrain.normal_at

Reads the terrain surface normal at a world XZ position.

Text
ctx.terrain.normalAt(worldId, x, z)

host.terrain.raycast_down

Casts straight down to the terrain surface; returns the hit or null.

Text
ctx.terrain.raycastDown(worldId, x, z, fromY)

host.terrain.sample_layer_weights

Reads the per-layer blend weights at a world XZ position.

Text
ctx.terrain.sampleLayerWeights(worldId, x, z)

host.terrain.slope_at

Reads the terrain slope in degrees at a world XZ position.

Text
ctx.terrain.slopeAt(worldId, x, z)

host.tween.cancel

Stops a running tween by key before it completes; the schedule<->cancel dual of Tween Start.

Text
ctx.tween.cancel(key)

host.tween.start

Animates one entity's component field from its current value to a target over a fixed duration, using a deterministic easing curve. Fire-and-forget; runs on the server tick.

Text
ctx.tween.start(entityId, spec)

host.ui.close_panel

Requests closing a UI panel. audience scopes who it closes for.

Text
ctx.ui.closePanel(panelKey, audience)

host.ui.open_panel

Requests opening a UI panel. audience scopes who sees it: 'room' (default), 'owner', {players:[...]}, or {except:[...]}.

Text
ctx.ui.openPanel(panelKey, payload, audience)

host.ui.set_widget_value

Requests a runtime UI widget value update. audience scopes who sees it: 'room' (default), 'owner', {players:[...]}, or {except:[...]}.

Text
ctx.ui.setWidgetValue(panelKey, widgetKey, value, audience)

host.warehouse.append

Buffers an atomic append to a warehouse record list field.

Text
ctx.warehouse.append(key, recordKey, path, value)

host.warehouse.create

Buffers the creation of a warehouse record.

Text
ctx.warehouse.create(key, recordKey, value)

host.warehouse.delete

Buffers the deletion of a warehouse record.

Text
ctx.warehouse.delete(key, recordKey)

host.warehouse.get

Reads a prefetched warehouse record.

Text
ctx.warehouse.get(key, recordKey)

host.warehouse.increment

Buffers an atomic numeric increment across warehouse record fields.

Text
ctx.warehouse.increment(key, recordKey, changes)

host.warehouse.query

Reads a prefetched warehouse query result.

Text
ctx.warehouse.query(key, filter, options)

host.warehouse.set

Buffers a create-or-replace of the whole warehouse record value (a safe upsert, not a stale read-modify-write).

Text
ctx.warehouse.set(key, recordKey, value)

host.warehouse.transform

Applies field ops to a warehouse record under its row lock, optionally guarded by an expected version.

Text
ctx.warehouse.transform(key, recordKey, ops, expect)

host.warehouse.update

Buffers a deprecated last-writer-wins patch of a warehouse record: a blind read-modify-write that is safe under the row lock but loses concurrent writes to the same fields. For counters use Warehouse Increment; for structured edits use Warehouse Set or Warehouse Append.

Text
ctx.warehouse.update(key, recordKey, patch)

host.water.is_submerged

Returns whether a point is below the water surface.

Text
ctx.water.isSubmerged(worldId, point)

host.water.surface_level_at

Reads the water surface level (world Y) at a world XZ position.

Text
ctx.water.surfaceLevelAt(worldId, x, z, atTimeMs)

host.world.despawn

Requests despawn of a same-room entity.

Text
ctx.world.despawn(entityId, options)

host.world.entity_has_tag

Reads whether ANOTHER entity carries a first-class tag this tick, returning a boolean. Reach for it to check a target's marker from a room host, such as whether an owner's base is locked before a steal resolves.

Text
ctx.world.entityHasTag(entityId, tag)

host.world.find

Finds entities through one canonical filter object.

Text
ctx.world.find(filter)

host.world.query

Bounded paged world query: Find Entities' filter algebra plus a keyset cursor. Returns a deterministically ordered page with entities, nextCursor (present while matches remain), and totalMatched.

Text
ctx.world.query(options)

host.world.set_entity_owner

Transfers ownership of ANOTHER entity to a Profile, or clears it when the profile id is omitted, as one journaled fact carrying the previous and next owner. Room Script hosts only (I-19). Reach for it to assign a base or resolve a steal from a room host, when the owned thing is not this script's own entity.

Text
ctx.world.setEntityOwner(entityId, profileId)

host.world.set_entity_tag

Adds a first-class tag to ANOTHER same-world entity (rate-limited, the same authority World.despawn uses). Reach for it to mark a target from a room host, such as locking an owner's base, when the tag belongs on an entity other than this script's own.

Text
ctx.world.setEntityTag(entityId, tag)

host.world.spawn

Requests a dynamic entity spawn.

Text
ctx.world.spawn(config)

host.world.spawn_many

Requests up to 64 dynamic entity spawns from one call. Each config drains through the same entity_spawn operation a single Spawn Entity uses, so ids, canonicalization and authority are identical; only the host-call cost is shared.

Text
ctx.world.spawnMany(configs)

host.world.spawn_prefab

Spawns a prefab by key at an optional position. First-class atom over the prefab_instantiate drain (ATOM-11).

Text
ctx.world.spawnPrefab(prefabKey, position)

host.world.teleport_player

Issues a cross-world player handoff.

Text
ctx.world.teleportPlayer(playerId, targetWorldKey, options)

Consumer Input Presentation

This table is generated from the same declaration metadata used by Blueprint cards, the Inspector, validation, and inverse folding. Storage types describe canonical IR; the editor and domain columns describe what an author sees and may choose.

NodeInputConsumer labelIR typeEditorDeclared domainHelp
core.arithmeticleftleftnumberinline literal
core.arithmeticrightrightnumberinline literal
core.array.firstarrayarrayarrayinline literal
core.array.firstdefaultValuedefaultValueunknowntyped literal or connectionFallback when the array is empty.
core.array.for_eacharrayarrayarrayinline literal
core.array.getarrayarrayarrayinline literal
core.array.getdefaultValuedefaultValueunknowntyped literal or connectionFallback when the index is absent.
core.array.getindexindexnumberinline literal
core.array.lengtharrayarrayarrayinline literal
core.array.mutatearrayarrayarrayinline literalSource array.
core.array.mutateindexindexnumberinline literalIndex (insert / removeAt / set).
core.array.mutatevaluevalueunknowntyped literal or connectionValue (push / insert / set).
core.array.queryarrayarrayarrayinline literalSource array.
core.array.queryendendnumberinline literalEnd index for slice.
core.array.queryneedleneedleunknowntyped literal or connectionValue to find (contains / indexOf).
core.array.queryotherotherarrayinline literalArray to concatenate.
core.array.queryseparatorseparatorstringinline literalSeparator for join.
core.array.querystartstartnumberinline literalStart index for slice.
core.array.reducearrayarrayarrayinline literalSource array to fold.
core.array.reduceexprexprunknowninline literalPer-item expression producing the next accumulator; reads the item and accumulator via Get.
core.array.reduceseedseedunknowninline literalInitial accumulator value.
core.array.transformarrayarrayarrayinline literalSource array.
core.array.transformexprexprunknowntyped literal or connectionPer-item expression (map value / filter+find+some+every predicate / sortBy key); reads the item via Get.
core.bitwiseaanumberinline literalFirst operand (the sole operand for not).
core.bitwisebbnumberinline literalSecond operand (shift count for shl/shr/ushr; unused by not).
core.booleanleftleftbooleaninline literal
core.booleanrightrightbooleaninline literal
core.bounded.forfromfromnumberinline literal
core.bounded.forstepstepnumberinline literal
core.bounded.fortotonumberinline literal
core.bounded.whiletesttestbooleaninline literal
core.comparisonleftleftunknowntyped literal or connection
core.comparisonrightrightunknowntyped literal or connection
core.component.patchentityentityentityinline literal; entity reference (key)Optional target entity.
core.component.patchpatchpatchobjectinline literal
core.component.readentityentityentityinline literal; entity reference (key)Optional target entity.
core.entity.identityentityentityinline literal; entity reference (key)Optional entity. With no input, uses the entity running this script.
core.event.payload.getdefaultValuedefaultValueunknowntyped literal or connectionFallback when the payload path is absent.
core.flow.do_nnnnumberinline literalHow many times to allow.
core.flow.do_nresetresetbooleaninline literalRe-arm the counter when true.
core.flow.do_onceresetresetbooleaninline literalRe-arm the gate when true.
core.flow.timer.afterkeykeystringinline literalOptional timer key to disambiguate concurrent timers.
core.flow.timer.aftersecondssecondsnumberinline literalDelay in seconds (rounded up to whole ticks).
core.flow.timer.cancelkeykeystringinline literalTimer key matching the one the Timer After scheduled.
core.host.callargsargsarrayinline literalHost arguments.
core.iftesttestbooleaninline literal
core.letvaluevalueunknowntyped literal or connection
core.mapdefaultValuedefaultValueunknowntyped literal or connectionValue returned by get when the key is absent (optional).
core.mapkeykeystringinline literalKey (add / remove / contains / get).
core.mapmapmapmapinline literalSource map.
core.mapotherothermapinline literalMap to merge in (merge; right/other wins on key collision).
core.mapvaluevalueunknowntyped literal or connectionValue (add).
core.math.remapinMaxinMaxnumberinline literalHigh end of the input range.
core.math.remapinMininMinnumberinline literalLow end of the input range.
core.math.remapoutMaxoutMaxnumberinline literalHigh end of the output range.
core.math.remapoutMinoutMinnumberinline literalLow end of the output range.
core.math.remapvaluevaluenumberinline literalThe value to re-scale.
core.mathaanumberinline literalFirst operand (edge0 for smoothstep).
core.mathbbnumberinline literalSecond operand (binary ops / clamp min / lerp end / smoothstep edge1 / imul32 multiplicand).
core.mathccnumberinline literalThird operand (clamp max / lerp factor / smoothstep x).
core.notvaluevaluebooleaninline literal
core.objectkeykeystringinline literalField name for set / has / delete.
core.objectsourcesourceobjectinline literalObject to merge in.
core.objecttargettargetobjectinline literalObject to read or update.
core.objectvaluevalueunknowntyped literal or connectionField value for set.
core.quataaquaternioninline literalPrimary quaternion (the rotation to apply for rotateVector).
core.quatbbquaternioninline literalSecond quaternion (multiply / slerp).
core.quateulereulervector3inline literalEuler angles for fromEuler.
core.quatforwardforwardvector3inline literalForward direction for lookAt.
core.quatttnumberinline literalSlerp factor 0..1.
core.quatupupvector3inline literalUp direction for lookAt.
core.quatvecvecvector3inline literalDirection rotated by the quaternion (rotateVector).
core.quatwwnumberinline literalW for make.
core.quatxxnumberinline literalX for make.
core.quatyynumberinline literalY for make.
core.quatzznumberinline literalZ for make.
core.record.getdefaultValuedefaultValueunknowntyped literal or connectionFallback when the record path is absent.
core.record.getrecordrecordobjectinline literal
core.selectconditionconditionbooleaninline literalSelector.
core.selectifFalseifFalseunknowninline literalValue when condition is false.
core.selectifTrueifTrueunknowninline literalValue when condition is true.
core.setvaluevalueunknowntyped literal or connection
core.stringaastringinline literalPrimary string (or template for format).
core.stringbbstringinline literalSecond string (concat / contains / split / replace search / startsWith / endsWith / indexOf).
core.stringccstringinline literalReplacement string (replace).
core.stringendendnumberinline literalEnd index (substring; optional).
core.stringslotsslotsobjectinline literalNamed substitution slots for format ({name} -> value).
core.stringstartstartnumberinline literalStart index (substring).
core.switchononunknowntyped literal or connectionValue to switch on.
core.value.arrayitemsitemsarrayinline literal
core.value.assertvaluevalueunknowntyped literal or connection
core.value.castvaluevalueunknowntyped literal or connection
core.value.coercedefaultValuedefaultValueunknowntyped literal or connectionFallback when coercion cannot produce a finite value.
core.value.coercevaluevalueunknowntyped literal or connection
core.value.objectentriesentriesobjectinline literal
core.vec3leftleftvector3inline literalPrimary vector (incident for reflect; current for moveTowards; the vector to project/measure/clamp).
core.vec3rightrightvector3inline literalSecond vector for binary ops (normal for reflect; target for moveTowards; the vector to project onto / measure the angle to).
core.vec3scalarscalarnumberinline literalScale factor (max step distance for moveTowards; max length for clampLength).
core.vec3ttnumberinline literalInterpolation factor 0..1.
core.vec3xxnumberinline literalX component for make.
core.vec3yynumberinline literalY component for make.
core.vec3zznumberinline literalZ component for make.
host.audio.play_spatialassetIdassetIdstringinline literal
host.audio.play_spatialoptionsoptionsobjectinline literal
host.audio.play_spatialpositionpositionvector3inline literal
host.audio.playassetIdassetIdstringinline literal
host.audio.playoptionsoptionsobjectinline literal
host.audio.set_background_musicassetIdassetIdstringinline literal
host.audio.set_background_musicoptionsoptionsobjectinline literal
host.audio.set_volumehandlehandleaudio_handleinline literal
host.audio.set_volumevolumevolumenumberinline literal
host.audio.stophandlehandleaudio_handleinline literal
host.camera.add_look_inputdeltadeltavector3inline literalLook delta: x = yaw degrees, y = pitch degrees.
host.camera.set_look_sensitivitydegreesPerUnitdegreesPerUnitnumberinline literalLook sensitivity in degrees per input unit.
host.camera.set_pitch_clampmaxDegmaxDegnumberinline literalMaximum pitch in degrees.
host.camera.set_pitch_clampminDegminDegnumberinline literalMinimum pitch in degrees.
host.camera.set_view_targetoffsetoffsetvector3inline literalOptional world-space offset from the target.
host.camera.set_view_targettargettargetentityinline literal; entity reference (key)Entity to look at.
host.commerce.ownsentitlementKeyentitlementKeystringinline literalEntitlement key granted by an offer.
host.commerce.ownsplayerSessionIdplayerSessionIdstringinline literalSeat to check; defaults to the seat possessing this entity.
host.commerce.prompt_purchaseaudienceaudiencejsoninline literalSeats to prompt: "owner" (default, the seat possessing this entity), { players: [...] } or { except: [...] }. Never "room".
host.commerce.prompt_purchaseofferKeyofferKeystringinline literalKey of a published offer of this game.
host.debug.loglevellevelstringinline literalOne of debug, info, warn, error. Defaults to info.
host.debug.logmessagemessagestringinline literal
host.debug.logmetadatametadataobjectinline literal
host.entity.add_componentcomponentTypecomponentTypestringinline literal
host.entity.add_componentdatadataobjectinline literal
host.entity.descendantsoptionsoptionsobjectinline literal
host.entity.detachoptionsoptionsobjectinline literal
host.entity.has_tagtagtagstringinline literal
host.entity.patch_componentcomponentTypecomponentTypestringinline literal
host.entity.patch_componentpatchpatchobjectinline literal
host.entity.read_componentcomponentTypeOrKeycomponentTypeOrKeystringinline literal
host.entity.remove_componentcomponentTypeOrKeycomponentTypeOrKeystringinline literal
host.entity.remove_tagtagtagstringinline literal
host.entity.replace_componentcomponentTypecomponentTypestringinline literal
host.entity.replace_componentdatadataobjectinline literal
host.entity.set_namenamenamestringinline literal
host.entity.set_ownerentityIdentityIdstringinline literal
host.entity.set_ownerprofileIdprofileIdstringinline literal
host.entity.set_parentoptionsoptionsobjectinline literal
host.entity.set_parentparentIdparentIdstringinline literal
host.entity.set_tagtagtagstringinline literal
host.events.emiteventKeyeventKeystringinline literal
host.events.emitpayloadpayloadobjectinline literal
host.events.emittargetEntityIdtargetEntityIdentityinline literal; entity reference (key)Optional target entity (id or key): only that entity's listeners receive the event. Omit to broadcast to the room.
host.fx.decaloptionsoptionsobjectinline literalDecal options: the bounded Decal subset, placement { at, rotation?, attachEntityId? }, ttlTicks, and audience.
host.fx.particle_burstoptionsoptionsobjectinline literalBurst options: the bounded ParticleEmitter subset, placement { at, rotation?, attachEntityId? }, ttlTicks, and audience.
host.inventory.grantitemKeyitemKeystringinline literalItem key declared by the game's economy.
host.inventory.grantplayerSessionIdplayerSessionIdstringinline literalSeat whose inventory receives the item.
host.inventory.grantquantityquantitynumberinline literalStrictly positive integer quantity.
host.inventory.grantreasonreasonstringinline literal
host.match.add_scoreamountamountnumberinline literalSigned score delta to add.
host.match.add_scorereasonreasonstringinline literal
host.match.add_scorescoreboardKeyscoreboardKeystringinline literalScoreboard key; defaults to the blueprint's only scoreboard.
host.match.add_scoresubjectKeysubjectKeystringinline literalTeam key or player key credited with the score.
host.match.get_scorescoreboardKeyscoreboardKeystringinline literalScoreboard key; defaults to the snapshot's only scoreboard.
host.match.get_scoresubjectKeysubjectKeystringinline literalTeam key or player key to read.
host.match.patch_objectiveobjectiveKeyobjectiveKeystringinline literalObjective key declared by the multiplayer blueprint.
host.match.patch_objectivepatchpatchobjectinline literalPartial objective state merged by the authoritative drain.
host.match.patch_objectivereasonreasonstringinline literal
host.match.set_phasemetadatametadataobjectinline literal
host.match.set_phasephaseKeyphaseKeystringinline literal
host.match.set_phasereasonreasonstringinline literal
host.navigation.find_pathagentProfileKeyagentProfileKeystringinline literal
host.navigation.find_pathfromfromvector3inline literal
host.navigation.find_pathtotovector3inline literal
host.navigation.find_pathworldIdworldIdstringinline literal
host.navigation.is_reachableagentProfileKeyagentProfileKeystringinline literal
host.navigation.is_reachablefromfromvector3inline literal
host.navigation.is_reachabletotovector3inline literal
host.navigation.is_reachableworldIdworldIdstringinline literal
host.navigation.nearest_pointagentProfileKeyagentProfileKeystringinline literal
host.navigation.nearest_pointpointpointvector3inline literal
host.navigation.nearest_pointworldIdworldIdstringinline literal
host.navigation.raycastagentProfileKeyagentProfileKeystringinline literal
host.navigation.raycastfromfromvector3inline literal
host.navigation.raycasttotovector3inline literal
host.navigation.raycastworldIdworldIdstringinline literal
host.navigation.steer_towardagentProfileKeyagentProfileKeystringinline literal
host.navigation.steer_towardfromfromvector3inline literal
host.navigation.steer_towardmaxStepmaxStepnumberinline literal
host.navigation.steer_towardtotovector3inline literal
host.navigation.steer_towardworldIdworldIdstringinline literal
host.network.send_messagechannelchannelstringinline literal
host.network.send_messagepayloadpayloadobjectinline literal
host.network.send_messageplayerIdplayerIdstringinline literalPlayer session id for a private send; omit to broadcast.
host.physics.commandbodyCommandCommandobjectinline literal; declared choiceApply Force [Force: vector3, At Point: vector3?], Apply Impulse [Impulse: vector3, At Point: vector3?], Launch Entity [Velocity: vector3], Apply Torque [Torque: vector3], Apply Torque Impulse [Torque Impulse: vector3], Teleport Body [Position: vector3, Rotation: vector3?, Velocity: vector3?, Angular Velocity: vector3?, Wake Body: boolean?], Reset Body [Position: vector3?, Rotation: vector3?, Velocity: vector3?, Angular Velocity: vector3?, Wake Body: boolean?]Physics operation and the fields required by that operation.
host.physics.commandentityIdTargetentityinline literal; entity reference (key)Entity whose physics body should change.
host.physics.occupancy_querycellKeycellKeystringinline literal
host.physics.occupancy_queryworldIdworldIdstringinline literal
host.physics.overlap_testfilterfilterobjectinline literal
host.physics.overlap_testshapeshapeobjectinline literal
host.physics.overlap_testtransformtransformobjectinline literal
host.physics.raycastdirectiondirectionvector3inline literal
host.physics.raycastdistancedistancenumberinline literal
host.physics.raycastfilterfilterobjectinline literal
host.physics.raycastoriginoriginvector3inline literal
host.physics.shapecastdirectiondirectionvector3inline literal
host.physics.shapecastdistancedistancenumberinline literal
host.physics.shapecastfilterfilterobjectinline literal
host.physics.shapecastshapeshapeobjectinline literal
host.physics.shapecasttransformtransformobjectinline literal
host.platform.request_fullscreentargettargetstringinline literal
host.player.eliminateplayerSessionIdplayerSessionIdstringinline literal
host.player.eliminatereasonreasonstringinline literal
host.player.possessentityIdentityIdstringinline literal
host.player.possessplayerSessionIdplayerSessionIdstringinline literal
host.player.releaseplayerSessionIdplayerSessionIdstringinline literal
host.player.releasereasonreasonstringinline literal
host.player.spawn_characteroptionsoptionsobjectinline literal
host.player.spawn_characterplayerSessionIdplayerSessionIdstringinline literal
host.players.getplayerSessionIdplayerSessionIdstringinline literal
host.program.paramindexindexnumberinline literalExposed-field index (0-based, server-ordered).
host.random.boolppnumberinline literal
host.random.boolstreamstreamrandom_streaminline literal
host.random.gaussianmeanmeannumberinline literal
host.random.gaussianstdstdnumberinline literal
host.random.gaussianstreamstreamrandom_streaminline literal
host.random.intmaxmaxnumberinline literal
host.random.intminminnumberinline literal
host.random.intstreamstreamrandom_streaminline literal
host.random.pickarrayarrayarrayinline literal
host.random.pickstreamstreamrandom_streaminline literal
host.random.point_in_circleradiusradiusnumberinline literal
host.random.point_in_circlestreamstreamrandom_streaminline literal
host.random.point_in_sphereradiusradiusnumberinline literal
host.random.point_in_spherestreamstreamrandom_streaminline literal
host.random.rangemaxmaxnumberinline literal
host.random.rangeminminnumberinline literal
host.random.rangestreamstreamrandom_streaminline literal
host.random.seededseedseedstringinline literal
host.random.shufflearrayarrayarrayinline literal
host.random.shufflestreamstreamrandom_streaminline literal
host.random.signstreamstreamrandom_streaminline literal
host.random.unit_vectorstreamstreamrandom_streaminline literal
host.random.weighted_pickitemsitemsarrayinline literal
host.random.weighted_pickstreamstreamrandom_streaminline literal
host.random.weighted_pickweightsweightsarrayinline literal
host.terrain.height_atworldIdworldIdstringinline literal
host.terrain.height_atxxnumberinline literal
host.terrain.height_atzznumberinline literal
host.terrain.normal_atworldIdworldIdstringinline literal
host.terrain.normal_atxxnumberinline literal
host.terrain.normal_atzznumberinline literal
host.terrain.raycast_downfromYfromYnumberinline literal
host.terrain.raycast_downworldIdworldIdstringinline literal
host.terrain.raycast_downxxnumberinline literal
host.terrain.raycast_downzznumberinline literal
host.terrain.sample_layer_weightsworldIdworldIdstringinline literal
host.terrain.sample_layer_weightsxxnumberinline literal
host.terrain.sample_layer_weightszznumberinline literal
host.terrain.slope_atworldIdworldIdstringinline literal
host.terrain.slope_atxxnumberinline literal
host.terrain.slope_atzznumberinline literal
host.tween.cancelkeykeystringinline literalTween key matching the one Tween Start used.
host.tween.startentityIdTargetentityinline literal; entity reference (key)Entity whose component field to animate.
host.tween.startspecspecobjectinline literalTween spec: { component, field, to (number or vector3), durationSeconds, easing? (linear|quadIn|quadOut|quadInOut|cubicIn|cubicOut|cubicInOut|sineIn|sineOut|sineInOut|smoothstep), key?, from?, angle? }.
host.ui.close_panelaudienceaudienceunknowntyped literal or connectionWho this write reaches: 'room' (default), 'owner', {players:[...]}, or {except:[...]}. An audienced write gets its own per-player record, so two players' HUDs never collide.
host.ui.close_panelpanelKeypanelKeystringinline literal
host.ui.open_panelaudienceaudienceunknowntyped literal or connectionWho this write reaches: 'room' (default), 'owner', {players:[...]}, or {except:[...]}. An audienced write gets its own per-player record, so two players' HUDs never collide.
host.ui.open_panelpanelKeypanelKeystringinline literal
host.ui.open_panelpayloadpayloadobjectinline literal
host.ui.set_widget_valueaudienceaudienceunknowntyped literal or connectionWho this write reaches: 'room' (default), 'owner', {players:[...]}, or {except:[...]}. An audienced write gets its own per-player record, so two players' HUDs never collide.
host.ui.set_widget_valuepanelKeypanelKeystringinline literal
host.ui.set_widget_valuevaluevalueunknowntyped literal or connection
host.ui.set_widget_valuewidgetKeywidgetKeystringinline literal
host.warehouse.appendkeykeystringinline literal
host.warehouse.appendpathpathstringinline literal
host.warehouse.appendrecordKeyrecordKeystringinline literal
host.warehouse.appendvaluevalueobjectinline literal
host.warehouse.createkeykeystringinline literal
host.warehouse.createrecordKeyrecordKeystringinline literal
host.warehouse.createvaluevalueobjectinline literal
host.warehouse.deletekeykeystringinline literal
host.warehouse.deleterecordKeyrecordKeystringinline literal
host.warehouse.getkeykeystringinline literal
host.warehouse.getrecordKeyrecordKeystringinline literal
host.warehouse.incrementchangeschangesobjectinline literal
host.warehouse.incrementkeykeystringinline literal
host.warehouse.incrementrecordKeyrecordKeystringinline literal
host.warehouse.queryfilterfilterobjectinline literal
host.warehouse.querykeykeystringinline literal
host.warehouse.queryoptionsoptionsobjectinline literal
host.warehouse.setkeykeystringinline literal
host.warehouse.setrecordKeyrecordKeystringinline literal
host.warehouse.setvaluevalueobjectinline literal
host.warehouse.transformexpectexpectobjectinline literal
host.warehouse.transformkeykeystringinline literal
host.warehouse.transformopsopsobjectinline literal
host.warehouse.transformrecordKeyrecordKeystringinline literal
host.warehouse.updatekeykeystringinline literal
host.warehouse.updatepatchpatchobjectinline literal
host.warehouse.updaterecordKeyrecordKeystringinline literal
host.water.is_submergedpointpointvector3inline literal
host.water.is_submergedworldIdworldIdstringinline literal
host.water.surface_level_atatTimeMsatTimeMsnumberinline literal
host.water.surface_level_atworldIdworldIdstringinline literal
host.water.surface_level_atxxnumberinline literal
host.water.surface_level_atzznumberinline literal
host.world.despawnentityIdentityIdstringinline literal
host.world.despawnoptionsoptionsobjectinline literal
host.world.entity_has_tagentityIdentityIdstringinline literal
host.world.entity_has_tagtagtagstringinline literal
host.world.findfilterfilterobjectinline literal
host.world.queryoptionsoptionsobjectinline literal
host.world.set_entity_ownerentityIdentityIdstringinline literal
host.world.set_entity_ownerprofileIdprofileIdstringinline literal
host.world.set_entity_tagentityIdentityIdstringinline literal
host.world.set_entity_tagtagtagstringinline literal
host.world.spawn_manyconfigsconfigsarrayinline literal
host.world.spawn_prefabpositionpositionvector3inline literal
host.world.spawn_prefabprefabKeyprefabKeystringinline literal
host.world.spawnconfigconfigobjectinline literal
host.world.teleport_playeroptionsoptionsobjectinline literal
host.world.teleport_playerplayerIdplayerIdstringinline literal
host.world.teleport_playertargetWorldKeytargetWorldKeystringinline literal

Validation

Run npm run gen-docs:check to validate this generated snapshot against the live catalog. Runtime/codegen parity remains guarded by the script-system reconciliation and Blueprint IR tests.

Declaration Stability Policy

Script IR node declarations are locked by declaration identity, not by hand-maintained counts. Node ids, handler events, IR op names, host namespace/name pairs, port names, port types, SDK expression paths, risk metadata, and declared semantics are stable once shipped.

Breaking changes require an additive replacement declaration and an explicit validation decision. Capability contexts may expose only a subset of current nodes; emitted IR outside that context is rejected before projection or runtime execution.

Consumers

  • Runtime host registry derives scriptHostFunctions from the declarations.
  • Validator, TypeScript generator, TypeScript parser, generated SDK declarations, AI resolvers, frontend catalog exports, visual scripting, pattern library, and Engine Contract Packet all consume this catalog.
  • Manual TypeScript SDK method signatures remain richer than raw node ports, but host identity, SDK path, permissions, risk, and host-function union are declaration-derived.
Was this helpful?Report an issueContact support

On this page