All docs
Docs/ API Reference/ lsdtools.runtime reference
API Reference

lsdtools.runtime reference

Generated public SDK reference for lsdtools.runtime.

SDK distribution 1.0.0; API contract 1.0; generator 1.0.0.

Product source digest: 170db6f659e9f79609ddaaec494ffad41f1d659a96001371132843e0c17a7e27.

Generated from declared public exports and source syntax. Signatures and annotations are declaration spellings; decorators, factories and annotations are never executed. Class members below are declared members; base classes remain explicit. Source docstrings describe their owning implementation; they do not grant app permissions.

text
The runtime service's public contract for the packages that author scenes and simulation
systems: lazy, headless.

A scene package's steps call ``build_scene_tables`` and ``scene_layer_payload``; its templates
derive identities with ``scene_id_for``; its declarations name ``OBJECT_NAMESPACE`` and
``SCENE_LAYER_KIND``; its tree seams ask ``member_kind`` which runtime role an entity plays.
A package that plays in a composition registers its participant with ``register_system`` (a
``SimulationSystem`` built per loaded composition, its ``SystemPhases`` around the fixed step,
its ``rank`` among the others) and reaches the loaded scene through the ``SceneRuntime`` the
driver hands its factory; ``BUILT_IN_PARTICIPANTS`` are the names the runtime keeps. Importing
this facade loads no engine, no driver and no view.

lsdtools.runtime.BUILT_IN_PARTICIPANTS#

Kind: value. Source: services/runtime/src/lsd_runtime/systems/registry.py:52.

Python
BUILT_IN_PARTICIPANTS = ('scene', 'lighting', 'ui', 'timeline')

Implementation alias: lsd_runtime.systems.registry.BUILT_IN_PARTICIPANTS.

lsdtools.runtime.CONTRACTS_PIN#

Kind: value. Source: services/runtime/src/lsd_runtime/flow.py:42.

Python
CONTRACTS_PIN: Final
Python
CONTRACTS_PIN = f'lsd-runtime-scene-v{SCENE_SCHEMA_VERSION}'

Implementation alias: lsd_runtime.flow.CONTRACTS_PIN.

lsdtools.runtime.DEFAULT_SHADER_ID#

Kind: value. Source: services/runtime/src/lsd_runtime/core_tables.py:56.

Python
DEFAULT_SHADER_ID: Final
Python
DEFAULT_SHADER_ID = 'lsd-shader/standard'

Implementation alias: lsd_runtime.core_tables.DEFAULT_SHADER_ID.

lsdtools.runtime.OBJECTS_DEFAULTS#

Kind: value. Source: services/runtime/src/lsd_runtime/core_tables.py:104.

Python
OBJECTS_DEFAULTS: Final
Python
OBJECTS_DEFAULTS = {'scale': (1.0, 1.0, 1.0), 'shader': DEFAULT_SHADER_ID, 'enabled': True}

Implementation alias: lsd_runtime.core_tables.OBJECTS_DEFAULTS.

lsdtools.runtime.OBJECT_ARCHETYPE#

Kind: value. Source: services/runtime/src/lsd_runtime/core_tables.py:54.

Python
OBJECT_ARCHETYPE: Final
Python
OBJECT_ARCHETYPE = 'object'

Implementation alias: lsd_runtime.core_tables.OBJECT_ARCHETYPE.

lsdtools.runtime.OBJECT_NAMESPACE#

Kind: value. Source: services/runtime/src/lsd_runtime/navigation.py:19.

Python
OBJECT_NAMESPACE: Final
Python
OBJECT_NAMESPACE = 'lsd-runtime/object@1'

Implementation alias: lsd_runtime.navigation.OBJECT_NAMESPACE.

lsdtools.runtime.PureSystemSeek#

Kind: class. Source: services/runtime/src/lsd_runtime/systems/base.py:87.

Source docstring:

text
Explicit capability for state derived entirely from authored inputs and absolute tick.

The owner installs this as ``pure_seek`` during construction. ``apply`` must reproduce
its complete output after Timeline endpoints have been applied, including backward
jumps, without events, history, root integration or external input. Stateful owners
remain on the existing StateOwner/capture path. This is not reload-factory admission.

Implementation alias: lsd_runtime.systems.base.PureSystemSeek.

lsdtools.runtime.PureSystemSeek.apply#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:96.

Python
apply: Callable[[int], None]

lsdtools.runtime.REFUSED_COLUMNS#

Kind: value. Source: services/runtime/src/lsd_runtime/scene_build.py:49.

Python
REFUSED_COLUMNS: Final
Python
REFUSED_COLUMNS = {'shape': _SHAPE_REASON, 'shape_kind': _SHAPE_REASON, 'extent': _EXTENT_REASON, 'ex': _EXTENT_REASON, 'e0': _EXTENT_REASON, 'extent_x': _EXTENT_REASON, 'archetype': "a scene holds runtime objects only: cameras and actors are a camera controller's, lights a lighting entity's"}

Implementation alias: lsd_runtime.scene_build.REFUSED_COLUMNS.

lsdtools.runtime.SCENE_CONTRACT#

Kind: value. Source: services/runtime/src/lsd_runtime/contracts.py:35.

Python
SCENE_CONTRACT: Final
Python
SCENE_CONTRACT = 'lsd:runtime'

Implementation alias: lsd_runtime.contracts.SCENE_CONTRACT.

lsdtools.runtime.SCENE_FEATURE_KIND#

Kind: value. Source: services/runtime/src/lsd_runtime/scene_build.py:41.

Python
SCENE_FEATURE_KIND: Final
Python
SCENE_FEATURE_KIND = 'runtime_object'

Implementation alias: lsd_runtime.scene_build.SCENE_FEATURE_KIND.

lsdtools.runtime.SCENE_LAYER_KIND#

Kind: value. Source: services/runtime/src/lsd_runtime/scene_build.py:39.

Python
SCENE_LAYER_KIND: Final
Python
SCENE_LAYER_KIND = 'runtime_objects'

Implementation alias: lsd_runtime.scene_build.SCENE_LAYER_KIND.

lsdtools.runtime.SCENE_LAYER_VERSION#

Kind: value. Source: services/runtime/src/lsd_runtime/scene_build.py:40.

Python
SCENE_LAYER_VERSION: Final
Python
SCENE_LAYER_VERSION = 4

Implementation alias: lsd_runtime.scene_build.SCENE_LAYER_VERSION.

lsdtools.runtime.SCENE_PORTS#

Kind: value. Source: services/runtime/src/lsd_runtime/flow.py:39.

Python
SCENE_PORTS: Final
Python
SCENE_PORTS = ('scene', 'objects')

Implementation alias: lsd_runtime.flow.SCENE_PORTS.

lsdtools.runtime.SCENE_SCHEMA_VERSION#

Kind: value. Source: services/runtime/src/lsd_runtime/contracts.py:36.

Python
SCENE_SCHEMA_VERSION: Final
Python
SCENE_SCHEMA_VERSION = 4

Implementation alias: lsd_runtime.contracts.SCENE_SCHEMA_VERSION.

lsdtools.runtime.SceneBundle#

Kind: class. Source: services/runtime/src/lsd_runtime/bundle.py:26.

Implementation alias: lsd_runtime.bundle.SceneBundle.

lsdtools.runtime.SceneBundle.scene#

Kind: attribute. Source: services/runtime/src/lsd_runtime/bundle.py:27.

Python
scene: pa.Table

lsdtools.runtime.SceneBundle.objects#

Kind: attribute. Source: services/runtime/src/lsd_runtime/bundle.py:28.

Python
objects: pa.Table

lsdtools.runtime.SceneBundle.feature_reference#

Kind: attribute. Source: services/runtime/src/lsd_runtime/bundle.py:29.

Python
feature_reference: Mapping[str, Any]
Python
feature_reference = None

lsdtools.runtime.SceneBundle.from_tables#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:36.

Python
from_tables(cls, tables: Mapping[str, pa.Table]) -> 'SceneBundle'
Python
cls: (unannotated)
tables: Mapping[str, pa.Table]

lsdtools.runtime.SceneBundle.tables#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:41.

Python
tables(self) -> dict[str, pa.Table]
Python
self: (unannotated)

lsdtools.runtime.SceneBundle.scene_id#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:45.

Python
scene_id(self) -> str
Python
self: (unannotated)

lsdtools.runtime.SceneBundle.name#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:49.

Python
name(self) -> str
Python
self: (unannotated)

lsdtools.runtime.SceneBundle.up_axis#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:53.

Python
up_axis(self) -> str
Python
self: (unannotated)

Source docstring:

text
``"z"`` (LSD's elevation axis) or ``"y"``: the axis gravity, jumps and capsules follow.

lsdtools.runtime.SceneBundle.rows#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:60.

Python
rows(self) -> int
Python
self: (unannotated)

lsdtools.runtime.SceneBundle.rows_by_eid#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:63.

Python
rows_by_eid(self) -> dict[int, dict[str, Any]]
Python
self: (unannotated)

lsdtools.runtime.SceneBundle.row_of_eid#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:66.

Python
row_of_eid(self) -> dict[int, int]
Python
self: (unannotated)

Source docstring:

text
Object eid -> object row (the frame row every consumer joins on).

lsdtools.runtime.SceneBundle.eid_of#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:70.

Python
eid_of(self, oid: str) -> Optional[int]
Python
oid: str
self: (unannotated)

lsdtools.runtime.SceneBundle.describe#

Kind: method. Source: services/runtime/src/lsd_runtime/bundle.py:77.

Python
describe(self) -> dict[str, Any]
Python
self: (unannotated)

lsdtools.runtime.SceneError#

Kind: class. Source: services/runtime/src/lsd_runtime/errors.py:23.

Source docstring:

text
A scene bundle is internally inconsistent (unknown eids, duplicate seats, no camera).

Implementation alias: lsd_runtime.errors.SceneError.

Declared bases: RuntimeServiceError, ValueError.

lsdtools.runtime.SceneError.code#

Kind: attribute. Source: services/runtime/src/lsd_runtime/errors.py:26.

Python
code = 'scene_error'

lsdtools.runtime.SceneRuntime#

Kind: class. Source: services/runtime/src/lsd_runtime/driver.py:182.

Python
SceneRuntime(self, bundle: Any, *, driver: 'RuntimeDriver') -> None

Source docstring:

text
The loaded scene as the simulation thread holds it: the engine world and its columns.

Every runtime object is an entity of one ``lsd_ecs.World`` whose index is the object's row;
``position`` / ``orientation`` are zero-copy numpy views over the world's ``position`` and
``rotation`` pages (float64, one row per object of the bundle's objects table); ``enabled`` and
the immutable ``shader`` resource ids are what a published state carries beside them. The
participants' systems run as the world's systems (``bind_systems``): the timeline and the
``before_simulation`` phases in the engine's ``before`` phase, every ``step`` in ``step``, the
``after_simulation`` phases in ``after``, one ``world.step`` per fixed step. ``claimed_by(row)``
names the simulation system that moves a row, so no other system writes it. Systems also reach
the driver's input through ``sample_seats``, ask for a reset through ``request_reset`` and run
latest-value work on the simulation thread through ``schedule``.

Implementation alias: lsd_runtime.driver.SceneRuntime.

lsdtools.runtime.SceneRuntime.__init__#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:197.

Python
__init__(self, bundle: Any, *, driver: 'RuntimeDriver') -> None
Python
bundle: Any
driver: 'RuntimeDriver'
self: (unannotated)

lsdtools.runtime.SceneRuntime.close#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:285.

Python
close(self) -> None
Python
self: (unannotated)

Source docstring:

text
Release the engine world and every attached one (their column views become invalid).

lsdtools.runtime.SceneRuntime.bind_systems#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:297.

Python
bind_systems(self, systems: Sequence[Any], *, timeline: Any) -> None
Python
self: (unannotated)
systems: Sequence[Any]
timeline: Any

Source docstring:

text
Bind the participants to the world as its systems, in the driver's phase order.

The timeline advances first in the engine's ``before`` phase, then every participant's
``before_simulation``; every participant's ``step`` runs in ``step`` (the timeline has no
step of its own); every ``after_simulation`` runs in ``after``; then every ``bind_last``
defines the systems that run last in their phase. The participants come in rank order.
One ``world.step`` per fixed step then runs them all in that order, timing each on the
engine's clock.

lsdtools.runtime.SceneRuntime.step_world#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:364.

Python
step_world(self, dt: float, substeps: int, time_us: int) -> int
Python
dt: float
self: (unannotated)
substeps: int
time_us: int

Source docstring:

text
One fixed step of the world; returns the engine's before-phase nanoseconds (the input lane).

lsdtools.runtime.SceneRuntime.begin_wake#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:369.

Python
begin_wake(self) -> None
Python
self: (unannotated)

Source docstring:

text
Remember the engine's counters so the wake reports its own deltas.

lsdtools.runtime.SceneRuntime.wake_report#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:381.

Python
wake_report(self) -> dict[str, Any]
Python
self: (unannotated)

Source docstring:

text
The engine's numbers for the wake since ``begin_wake``: per-system simulation-thread
time, structural counters as deltas, memory gauges.

lsdtools.runtime.SceneRuntime.attach_world#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:435.

Python
attach_world(self, name: str, world: Any) -> None
Python
name: str
self: (unannotated)
world: Any

Source docstring:

text
Hold an engine world of a participant's own beside the scene's, during construction.

The world's systems become profiler rows of this scene under ``<name>.<system>``,
nested inside the interval of the scene system that steps the world (so they are listed
beside the scene's rows and never added to the wake's ``ecs.step_ns``); its gauges
(entities, bytes) stay its own and are described under ``attached``. The participant
steps the world itself, from one of the scene world's systems. The world is closed with
the scene.

lsdtools.runtime.SceneRuntime.attached_worlds#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:452.

Python
attached_worlds(self) -> Mapping[str, Any]
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.snapshot_world#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:455.

Python
snapshot_world(self) -> None
Python
self: (unannotated)

Source docstring:

text
Read the world's counters for ``describe_world`` (one native call; simulation thread).

The structure behind the description (components, queries, the systems' identities) is
rebuilt only when the layout epoch or a count changed, so a publication pays one counters
read, not a walk of every component page and system profile.

lsdtools.runtime.SceneRuntime.describe_world#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:507.

Python
describe_world(self) -> dict[str, Any]
Python
self: (unannotated)

Source docstring:

text
The engine world as data (``describe_runtime``'s ``ecs`` block), from the last
``snapshot_world`` and the last wake report; no native call, so any thread may ask.

A system row carries the last wake's ``step_ns``/``calls``/``entities`` when the profiler
recorded that wake (the capture owns the engine's per-wake numbers); the engine's
cumulative profile is never published here.

lsdtools.runtime.SceneRuntime.apply_windows#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:549.

Python
apply_windows(self, time_us: int) -> None
Python
self: (unannotated)
time_us: int

Source docstring:

text
Gate every member by its play window at ``time_us`` (microseconds since Play).

lsdtools.runtime.SceneRuntime.refresh_alive#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:555.

Python
refresh_alive(self) -> np.ndarray
Python
self: (unannotated)

Source docstring:

text
``enabled`` after the member gate, in the persistent array the boards publish.

lsdtools.runtime.SceneRuntime.register_publication_field#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:563.

Python
register_publication_field(self, name: str, values: np.ndarray) -> None
Python
name: str
self: (unannotated)
values: np.ndarray

Source docstring:

text
A system declares fixed-row typed state during construction, before load completes.

The system keeps the same array and writes it only on the simulation thread.
A new shape/schema needs a new loaded world; render frames remain independent.

lsdtools.runtime.SceneRuntime.sample_seats#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:585.

Python
sample_seats(self, seats: Sequence[SeatActions], tick: int) -> list[Optional[Sample]]
Python
seats: Sequence[SeatActions]
self: (unannotated)
tick: int

Source docstring:

text
One sample per seat from the driver's reader for this fixed step, recorded in the trace.

The driver keeps one sampler per loaded world: its edge state (the sequence each seat
last saw) is part of a capture, and it is reset whenever the reader changes hands.

lsdtools.runtime.SceneRuntime.last_samples#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:593.

Python
last_samples(self) -> tuple[int, dict[int, Optional[Sample]]]
Python
self: (unannotated)

Source docstring:

text
The tick the driver last sampled seats at and one sample per sampled seat: what a
system that runs after the actors reads instead of sampling again (edges count once).

lsdtools.runtime.SceneRuntime.sampled_frames#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:604.

Python
sampled_frames(self) -> list[Optional['SeatFrame']]
Python
self: (unannotated)

Source docstring:

text
The live frames the last ``sample_seats`` read, one per seat in that call's order: what
a camera rig reads its own actions from. None for an unbound seat or a replayed trace.

lsdtools.runtime.SceneRuntime.request_reset#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:610.

Python
request_reset(self) -> None
Python
self: (unannotated)

Source docstring:

text
Restart the world from Play after the current fixed step (an actor's reset action).

lsdtools.runtime.SceneRuntime.schedule#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:614.

Python
schedule(self, key: Any, callback: Callable[[], bool]) -> bool
Python
callback: Callable[[], bool]
key: Any
self: (unannotated)

Source docstring:

text
Run ``callback`` on the simulation thread at the next wake; a later call with the same
``key`` replaces a pending one (latest value wins, so pointer-rate input never queues).
The callback returns whether it changed what a frame shows; the loop publishes once when
any did and no fixed step published in the same wake. Refused (False) while a seek owns
the world, once the world failed, or after this world was replaced.

lsdtools.runtime.SceneRuntime.register_capability#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:622.

Python
register_capability(self, name: str, value: Any) -> None
Python
name: str
self: (unannotated)
value: Any

Source docstring:

text
A system offers one named capability to its peers, during construction only.

lsdtools.runtime.SceneRuntime.row_of#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:636.

Python
row_of(self, entity_id: str, oid: str) -> Optional[int]
Python
entity_id: str
oid: str
self: (unannotated)

Source docstring:

text
The pose row of one member's object, or None when the composition does not play it.

lsdtools.runtime.SceneRuntime.member_active#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:645.

Python
member_active(self, entity_id: str) -> bool
Python
entity_id: str
self: (unannotated)

Source docstring:

text
Whether the member is inside its play window now (its rows are published).

lsdtools.runtime.SceneRuntime.register_presentation#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:652.

Python
register_presentation(self, name: str, state) -> None
Python
name: str
self: (unannotated)
state: (unannotated)

Source docstring:

text
Register independent numeric presentation rows before this world is published.

A schema or source change needs a new loaded world. A presentation does not create
scene objects, claim transforms, or add a simulation clock.

lsdtools.runtime.SceneRuntime.rows#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:674.

Python
rows(self) -> int
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.claim#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:679.

Python
claim(self, system: Any, rows: Any) -> None
Python
rows: Any
self: (unannotated)
system: Any

lsdtools.runtime.SceneRuntime.reclaim#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:698.

Python
reclaim(self, system: Any, rows: Any) -> None
Python
rows: Any
self: (unannotated)
system: Any

Source docstring:

text
Make ``rows`` exactly what this system claims, releasing the ones it gave up.

Staging a timeline document can drop a property, and the row it moved must go back to
whoever else may write it rather than staying claimed by a lane that no longer animates it.

lsdtools.runtime.SceneRuntime.claimed_by#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:710.

Python
claimed_by(self, row: int) -> Any
Python
row: int
self: (unannotated)

lsdtools.runtime.SceneRuntime.claimed_rows#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:713.

Python
claimed_rows(self) -> list[int]
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.emit#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:716.

Python
emit(self, event_type: str, **data: Any) -> None
Python
data: Any
event_type: str
self: (unannotated)

Source docstring:

text
Publish on the driver's bus with the driver's identity (a system's own events).

lsdtools.runtime.SceneRuntime.bus#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:721.

Python
bus(self) -> Any
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.registry#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:725.

Python
registry(self) -> Any
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.driver_id#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:729.

Python
driver_id(self) -> str
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.composition_id#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:733.

Python
composition_id(self) -> str
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.tick#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:737.

Python
tick(self) -> int
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.time_us#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:741.

Python
time_us(self) -> int
Python
self: (unannotated)

Source docstring:

text
Play time now: microseconds since Play, on the driver's fixed-step clock.

lsdtools.runtime.SceneRuntime.time_us_at#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:745.

Python
time_us_at(self, step: int) -> int
Python
self: (unannotated)
step: int

Source docstring:

text
The moment of play time fixed step ``step`` reaches on the current clock.

lsdtools.runtime.SceneRuntime.sim_time_ns#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:750.

Python
sim_time_ns(self) -> int
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.config#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:754.

Python
config(self) -> RuntimeConfig
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.cancel#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:758.

Python
cancel(self) -> Any
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.restore_authored#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:761.

Python
restore_authored(self) -> None
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.pose_hash#

Kind: method. Source: services/runtime/src/lsd_runtime/driver.py:765.

Python
pose_hash(self) -> int
Python
self: (unannotated)

lsdtools.runtime.SceneRuntime.bundle#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:200.

Python
bundle: Any
Python
bundle = bundle

lsdtools.runtime.SceneRuntime.driver#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:201.

Python
driver: 'RuntimeDriver'
Python
driver = driver

lsdtools.runtime.SceneRuntime.scene_id#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:202.

Python
scene_id: (unannotated)
Python
scene_id = str(bundle.scene_id)

lsdtools.runtime.SceneRuntime.up_axis#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:203.

Python
up_axis: (unannotated)
Python
up_axis = 1 if str(bundle.up_axis) == 'y' else 2

lsdtools.runtime.SceneRuntime.world#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:206.

Python
world: (unannotated)
Python
world = World(max_components=64, entities=max(count, 1), single_page=True, profile=True)

lsdtools.runtime.SceneRuntime.entities#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:212.

Python
entities: (unannotated)
Python
entities = self.world.create(count)

lsdtools.runtime.SceneRuntime.eid#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:229.

Python
eid: (unannotated)
Python
eid = self._column('eid')

lsdtools.runtime.SceneRuntime.oid#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:230.

Python
oid: (unannotated)
Python
oid = list(objects.column('oid').to_pylist())

lsdtools.runtime.SceneRuntime.row_of_eid#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:231.

Python
row_of_eid: (unannotated)
Python
row_of_eid = {int(value): row for row, value in enumerate(self.eid.tolist())}

lsdtools.runtime.SceneRuntime.position#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:232.

Python
position: (unannotated)
Python
position = self._column('position')

lsdtools.runtime.SceneRuntime.orientation#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:233.

Python
orientation: (unannotated)
Python
orientation = self._column('rotation')

lsdtools.runtime.SceneRuntime.shader#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:234.

Python
shader: (unannotated)
Python
shader = tuple((str(shader) for shader in objects.column('shader').to_pylist()))

lsdtools.runtime.SceneRuntime.enabled#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:235.

Python
enabled: (unannotated)
Python
enabled = self._column('enabled')

lsdtools.runtime.SceneRuntime.entity_of_row#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:237.

Python
entity_of_row: tuple[str, ...]
Python
entity_of_row = tuple((str(value) for value in objects.column('entity_id').to_pylist())) if 'entity_id' in objects.column_names else (str(driver.composition_id),) * count

lsdtools.runtime.SceneRuntime.member_gate#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:243.

Python
member_gate: (unannotated)
Python
member_gate = self._column('member_gate')

lsdtools.runtime.SceneRuntime.alive#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:246.

Python
alive: (unannotated)
Python
alive = self._column('alive')

lsdtools.runtime.SceneRuntime.property_leases#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:266.

Python
property_leases: dict[tuple[int, str], Any]
Python
property_leases = {}

lsdtools.runtime.SceneRuntime.presentations#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:267.

Python
presentations: (unannotated)
Python
presentations = MappingProxyType({})

lsdtools.runtime.SceneRuntime.capabilities#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:270.

Python
capabilities: dict[str, Any]
Python
capabilities = {}

lsdtools.runtime.SceneRuntime.timeline#

Kind: attribute. Source: services/runtime/src/lsd_runtime/driver.py:273.

Python
timeline: Any
Python
timeline = None

lsdtools.runtime.SimulationSystem#

Kind: class. Source: services/runtime/src/lsd_runtime/systems/base.py:115.

Source docstring:

text
A registered system that moves some objects of the scene on every fixed step.

Implementation alias: lsd_runtime.systems.base.SimulationSystem.

Declared bases: Protocol.

lsdtools.runtime.SimulationSystem.name#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:118.

Python
name: str

lsdtools.runtime.SimulationSystem.claims#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:120.

Python
claims(self) -> Sequence[int]
Python
self: (unannotated)

Source docstring:

text
The object rows this system moves; no other system may write them.

A system that lets an actor drive one of its rows offers ``<name>.drive`` through
``SceneRuntime.register_capability`` (``drive(row, sample, *, axes, force_scale,
jump_impulse, invert_second_axis, up_axis)``), which the camera controller calls for an
actor bound to that row's body; the protocol has no drive method.

lsdtools.runtime.SimulationSystem.step#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:130.

Python
step(self, dt: float, substeps: int) -> None
Python
dt: float
self: (unannotated)
substeps: int

Source docstring:

text
Advance one fixed step and write the claimed rows' poses into the scene arrays.

lsdtools.runtime.SimulationSystem.state_hash#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:134.

Python
state_hash(self) -> int
Python
self: (unannotated)

lsdtools.runtime.SimulationSystem.publish#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:136.

Python
publish(self, *, final: bool) -> None
Python
final: bool
self: (unannotated)

Source docstring:

text
Publish whatever the system publishes (a Trip on the bus, for physics); may be a no-op.

lsdtools.runtime.SimulationSystem.profile#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:140.

Python
profile(self) -> Any
Python
self: (unannotated)

lsdtools.runtime.SimulationSystem.counters#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:142.

Python
counters(self) -> Any
Python
self: (unannotated)

lsdtools.runtime.SimulationSystem.describe#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:144.

Python
describe(self) -> Any
Python
self: (unannotated)

lsdtools.runtime.SimulationSystem.close#

Kind: method. Source: services/runtime/src/lsd_runtime/systems/base.py:146.

Python
close(self) -> None
Python
self: (unannotated)

lsdtools.runtime.SystemCommands#

Kind: class. Source: services/runtime/src/lsd_runtime/systems/base.py:67.

Source docstring:

text
Owner validation and commit on the existing Driver command lane.

``prepare(operation, detached_payload)`` must validate without mutating the
world and return a zero-argument commit callback. Admission failures preserve
the world; a failed commit invalidates continuation like a failed fixed step.
The host's action/input authority remains responsible for admitting callers.

Implementation alias: lsd_runtime.systems.base.SystemCommands.

lsdtools.runtime.SystemCommands.prepare#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:76.

Python
prepare: Callable[[str, Any], Callable[[], Any]]

lsdtools.runtime.SystemCommands.describe#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:77.

Python
describe: Callable[[], dict] | None
Python
describe = None

lsdtools.runtime.SystemPhases#

Kind: class. Source: services/runtime/src/lsd_runtime/systems/base.py:26.

Source docstring:

text
Optional work around the Driver's existing simulation stage.

``prepare`` binds peer capabilities after every system has claimed its rows,
before Timeline binds properties. All before callbacks run before any ``step``
(input is sampled and actors are driven here); all after callbacks run after
every ordinary ``step`` (cameras are evaluated here). Callbacks are prepared
once per world and use the same thread, fixed dt and publication transaction.
``reconstruct`` rebuilds derived output from restored state at a completed tick;
it does not qualify the owner for an absolute pure seek. ``bind_native`` binds the
owner's native lane to the scene's engine world (``scene.world``) right after its Python
``step`` was bound, so the native system runs after that step's pre-work in the same phase;
an owner with a native lane keeps its Python ``step`` for the work before the native step.
``bind_last`` is called with the scene after every participant's phases and native lanes are
bound, in rank order: an owner that defines its own engine systems there
(``scene.world.system``) runs them last in each phase, after every other participant's work
of that phase, and the driver adopts every new engine system as a profiler row of its own.

Implementation alias: lsd_runtime.systems.base.SystemPhases.

lsdtools.runtime.SystemPhases.prepare#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:45.

Python
prepare: Callable[[], None] | None
Python
prepare = None

lsdtools.runtime.SystemPhases.before_simulation#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:46.

Python
before_simulation: Callable[[float, int], None] | None
Python
before_simulation = None

lsdtools.runtime.SystemPhases.after_simulation#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:47.

Python
after_simulation: Callable[[float, int], None] | None
Python
after_simulation = None

lsdtools.runtime.SystemPhases.reconstruct#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:48.

Python
reconstruct: Callable[[int], None] | None
Python
reconstruct = None

lsdtools.runtime.SystemPhases.bind_native#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:49.

Python
bind_native: Callable[[Any], None] | None
Python
bind_native = None

lsdtools.runtime.SystemPhases.bind_last#

Kind: attribute. Source: services/runtime/src/lsd_runtime/systems/base.py:50.

Python
bind_last: Callable[[Any], None] | None
Python
bind_last = None

lsdtools.runtime.UP_AXES#

Kind: value. Source: services/runtime/src/lsd_runtime/core_tables.py:112.

Python
UP_AXES: Final
Python
UP_AXES = ('y', 'z')

Implementation alias: lsd_runtime.core_tables.UP_AXES.

lsdtools.runtime.build_scene_tables#

Kind: function. Source: services/runtime/src/lsd_runtime/scene_build.py:149.

Python
build_scene_tables(scene_id: str, objects_in: pa.Table, *, up_axis: str='z', name: str='') -> dict[str, pa.Table]
Python
name: str
objects_in: pa.Table
scene_id: str
up_axis: str

Source docstring:

text
The stamped ``scene`` and ``objects`` tables of one scene from its authored objects.

Implementation alias: lsd_runtime.scene_build.build_scene_tables.

lsdtools.runtime.declares_runtime#

Kind: function. Source: services/runtime/src/lsd_runtime/flow.py:105.

Python
declares_runtime(entity: Any) -> bool
Python
entity: Any

Source docstring:

text
Whether the entity plays a runtime role at all.

Implementation alias: lsd_runtime.flow.declares_runtime.

lsdtools.runtime.declares_scene#

Kind: function. Source: services/runtime/src/lsd_runtime/flow.py:51.

Python
declares_scene(entity: Any) -> bool
Python
entity: Any

Source docstring:

text
Whether the entity declares exactly one coordinate for every scene port.

Implementation alias: lsd_runtime.flow.declares_scene.

lsdtools.runtime.declaring_step#

Kind: function. Source: services/runtime/src/lsd_runtime/flow.py:114.

Python
declaring_step(entity: Any, port: str) -> Any
Python
entity: Any
port: str

Source docstring:

text
The step of ``entity`` that declares output ``port`` exactly once, found by its coordinate.

Editors open a member's authored document through the step that declares the participant's
port (a UI entity's ``ui``, an animation entity's ``animation``); they never know the step's
class, which belongs to a package.

Implementation alias: lsd_runtime.flow.declaring_step.

lsdtools.runtime.member_kind#

Kind: function. Source: services/runtime/src/lsd_runtime/flow.py:80.

Python
member_kind(entity: Any) -> Optional[str]
Python
entity: Any

Source docstring:

text
The one runtime role the entity plays, or None.

Raises ``ValueError`` when the entity declares the outputs of several participants: an
entity owns the objects of one role; what plays beside it is another entity of the same
composition.

Implementation alias: lsd_runtime.flow.member_kind.

lsdtools.runtime.mesh_resources_fingerprint#

Kind: function. Source: services/runtime/src/lsd_runtime/scene_mesh_resources.py:95.

Python
mesh_resources_fingerprint(objects, *, base_dir=None)
Python
base_dir: (unannotated)
objects: (unannotated)

Source docstring:

text
Content fingerprint for a delivery owner's cache, including paired faces bytes.

Implementation alias: lsd_runtime.scene_mesh_resources.mesh_resources_fingerprint.

lsdtools.runtime.mint_oid#

Kind: function. Source: services/runtime/src/lsd_runtime/identity.py:39.

Python
mint_oid(name: Optional[Any], index: int) -> str
Python
index: int
name: Optional[Any]

Source docstring:

text
The authored key when the table gave none: the name when present, else ``object_<row>``.

Implementation alias: lsd_runtime.identity.mint_oid.

lsdtools.runtime.object_eid#

Kind: function. Source: services/runtime/src/lsd_runtime/identity.py:34.

Python
object_eid(scene_id: str, oid: str) -> int
Python
oid: str
scene_id: str

Source docstring:

text
The identity of runtime object ``oid`` of scene ``scene_id``.

Implementation alias: lsd_runtime.identity.object_eid.

lsdtools.runtime.object_feature_reference#

Kind: function. Source: services/runtime/src/lsd_runtime/navigation.py:23.

Python
object_feature_reference() -> dict[str, Any]

Source docstring:

text
The detached feature-reference descriptor for runtime objects.

Implementation alias: lsd_runtime.navigation.object_feature_reference.

lsdtools.runtime.register_participant#

Kind: function. Source: services/runtime/src/lsd_runtime/systems/registry.py:123.

Python
register_participant(kind: str, ports: Mapping[str, str], *, factory: Optional[Factory]=None, description: str='', rank: int=DEFAULT_RANK) -> None
Python
description: str
factory: Optional[Factory]
kind: str
ports: Mapping[str, str]
rank: int

Source docstring:

text
Register (or re-register) the participant called ``kind``.

``ports`` are the pipeline outputs a member entity of this kind declares, ``{port: kind}`` in
declaration order (a ``kind`` is what the host reads from the port: a ``table``, a ``path``
or a ``trip``). A ``factory`` makes the participant a simulation system; a system with no
ports has no member entity and is offered every composition (a probe, a host-owned system).
``rank`` orders the systems (lower binds first; registration order within a rank).

Implementation alias: lsd_runtime.systems.registry.register_participant.

lsdtools.runtime.register_system#

Kind: function. Source: services/runtime/src/lsd_runtime/systems/registry.py:166.

Python
register_system(name: str, factory: Factory, *, port: Optional[str]=None, port_kind: str='table', ports: Optional[Mapping[str, str]]=None, description: str='', rank: int=DEFAULT_RANK) -> None
Python
description: str
factory: Factory
name: str
port: Optional[str]
port_kind: str
ports: Optional[Mapping[str, str]]
rank: int

Source docstring:

text
Register the simulation system called ``name``: a participant with a factory.

Declare the ports its members' tables travel on as ``ports`` (``{port: kind}``, ordered:
the first names the role) or, for one port, as the ``port`` / ``port_kind`` shorthand.
``rank`` is where its systems bind among the others (physics 100, cameras 200, animation 300,
kernels 400, audio 800, calibration 900; ``DEFAULT_RANK`` otherwise).

Implementation alias: lsd_runtime.systems.registry.register_system.

lsdtools.runtime.scene_id_for#

Kind: function. Source: services/runtime/src/lsd_runtime/identity.py:45.

Python
scene_id_for(entity_id: Optional[str], explicit: Optional[str]=None) -> str
Python
entity_id: Optional[str]
explicit: Optional[str]

Source docstring:

text
The scene id: the explicit parameter when set, else derived from the owning entity id.

Implementation alias: lsd_runtime.identity.scene_id_for.

lsdtools.runtime.scene_layer_payload#

Kind: function. Source: services/runtime/src/lsd_runtime/scene_build.py:251.

Python
scene_layer_payload(authored: Any, objects: pa.Table, scene: Optional[pa.Table]=None, *, base_dir=None) -> LayerPayload
Python
authored: Any
base_dir: (unannotated)
objects: pa.Table
scene: Optional[pa.Table]

Source docstring:

text
The ``runtime_objects`` viewer layer: the authored table (the edit target, passed as the
loader's own artifact so an edit rewrites what the scene is built from) beside the built objects.

Implementation alias: lsd_runtime.scene_build.scene_layer_payload.

lsdtools.runtime.stable_eid#

Kind: function. Source: services/runtime/src/lsd_runtime/identity.py:27.

Python
stable_eid(owner: str, archetype: str, oid: str) -> int
Python
archetype: str
oid: str
owner: str

Source docstring:

text
A deterministic 63-bit id for one row; never zero, never negative, never colliding in practice.

Implementation alias: lsd_runtime.identity.stable_eid.

lsdtools.runtime.unregister_system#

Kind: function. Source: services/runtime/src/lsd_runtime/systems/registry.py:198.

Python
unregister_system(kind: str) -> None
Python
kind: str

Implementation alias: lsd_runtime.systems.registry.unregister_participant.

lsdtools.runtime.up_axis_defaults#

Kind: function. Source: services/runtime/src/lsd_runtime/core_tables.py:119.

Python
up_axis_defaults(up_axis: str) -> dict
Python
up_axis: str

Source docstring:

text
The ``up`` vector a scene with this up axis defaults to.

Implementation alias: lsd_runtime.core_tables.up_axis_defaults.

lsdtools.runtime.up_axis_of#

Kind: function. Source: services/runtime/src/lsd_runtime/scene_build.py:142.

Python
up_axis_of(scene: Optional[pa.Table], default: str='z') -> str
Python
default: str
scene: Optional[pa.Table]

Source docstring:

text
The up axis a built scene table declares (``default`` without one).

Implementation alias: lsd_runtime.scene_build.up_axis_of.

By LSD Team · Last updated Oct 19, 2026 Ask a question View as Markdown
Type to search every doc, guide, and tutorial.
↑↓ navigate↵ openesc close