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

lsdtools.camera reference

Generated public SDK reference for lsdtools.camera.

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 camera-controller service's public contract for the package that authors controllers: lazy.

The lsd-camera-controller package's steps call ``build_cameras`` / ``build_actors`` and the two
layer payloads; its declarations name the feature namespaces, the timeline adapter and the
presentation the runtime publishes; its settings editor authors a camera's rig settings document
against ``RIG_PARAMETERS`` and its input contribution declares the actions the rig reads
(``ACTION_MAP`` and the ``*_ACTION`` refs). Importing this facade loads no driver and no view.

lsdtools.camera.ACTION_MAP#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:34.

Python
ACTION_MAP = 'CameraController'

Implementation alias: lsd_camera.rig.input.ACTION_MAP.

lsdtools.camera.ACTORS_LAYER_KIND#

Kind: value. Source: services/camera/src/lsd_camera/build.py:58.

Python
ACTORS_LAYER_KIND: Final
Python
ACTORS_LAYER_KIND = 'actors'

Implementation alias: lsd_camera.build.ACTORS_LAYER_KIND.

lsdtools.camera.ACTOR_ARCHETYPE#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:53.

Python
ACTOR_ARCHETYPE = 'actor'

Implementation alias: lsd_camera.contracts.ACTOR_ARCHETYPE.

lsdtools.camera.ACTOR_COLUMNS#

Kind: value. Source: services/camera/src/lsd_camera/build.py:120.

Python
ACTOR_COLUMNS: Final
Python
ACTOR_COLUMNS = ('eid', 'oid', 'controller_id', 'name', 'seat', 'device', 'target_entity_id', 'target_oid', 'target_eid', 'body_entity_id', 'body_oid', 'body_eid', 'move_action', 'jump_action', 'reset_action', 'speed', 'force_scale', 'jump_impulse', 'axis0', 'axis1', 'invert_second_axis', 'enabled')

Implementation alias: lsd_camera.build.ACTOR_COLUMNS.

lsdtools.camera.ACTOR_DEFAULTS#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:99.

Python
ACTOR_DEFAULTS: dict[str, Any]
Python
ACTOR_DEFAULTS = {'seat': 0, 'device': None, 'move_action': 'Player/move', 'jump_action': 'Player/jump', 'reset_action': 'Player/reset', 'speed': 4.0, 'force_scale': 50.0, 'jump_impulse': 5.0, 'enabled': True}

Implementation alias: lsd_camera.contracts.ACTOR_DEFAULTS.

lsdtools.camera.ACTOR_NAMESPACE#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:55.

Python
ACTOR_NAMESPACE = 'lsd-camera/actor@1'

Implementation alias: lsd_camera.contracts.ACTOR_NAMESPACE.

lsdtools.camera.BLEND_STYLES#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:61.

Python
BLEND_STYLES = ('cut', 'linear', 'ease_in', 'ease_out', 'ease_in_out', 'hard_in', 'hard_out')

Implementation alias: lsd_camera.rig.settings.BLEND_STYLES.

lsdtools.camera.CAMERAS_LAYER_KIND#

Kind: value. Source: services/camera/src/lsd_camera/build.py:57.

Python
CAMERAS_LAYER_KIND: Final
Python
CAMERAS_LAYER_KIND = 'cameras'

Implementation alias: lsd_camera.build.CAMERAS_LAYER_KIND.

lsdtools.camera.CAMERA_ARCHETYPE#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:52.

Python
CAMERA_ARCHETYPE = 'camera'

Implementation alias: lsd_camera.contracts.CAMERA_ARCHETYPE.

lsdtools.camera.CAMERA_COLUMNS#

Kind: value. Source: services/camera/src/lsd_camera/build.py:62.

Python
CAMERA_COLUMNS: Final
Python
CAMERA_COLUMNS = ('eid', 'oid', 'controller_id', 'name', 'mode', 'seat', 'target_entity_id', 'target_oid', 'target_eid', 'look_at_entity_id', 'look_at_oid', 'look_at_eid', 'x', 'y', 'z', 'qx', 'qy', 'qz', 'qw', 'ux', 'uy', 'uz', 'fov_deg', 'near', 'far', 'projection', 'orthographic_size', 'fx', 'fy', 'fz', 'tx', 'ty', 'tz', 'lx', 'ly', 'lz', 'settings', 'lod_settings')

Implementation alias: lsd_camera.build.CAMERA_COLUMNS.

lsdtools.camera.CAMERA_CONTROLLER_CONTRACT#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:46.

Python
CAMERA_CONTROLLER_CONTRACT = 'lsd:camera-controller'

Implementation alias: lsd_camera.contracts.CAMERA_CONTROLLER_CONTRACT.

lsdtools.camera.CAMERA_DEFAULTS#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:72.

Python
CAMERA_DEFAULTS: dict[str, Any]
Python
CAMERA_DEFAULTS = {'mode': 'free_fly', 'seat': None, 'x': 0.0, 'y': -36.0, 'z': 12.0, 'qx': 0.0, 'qy': 0.0, 'qz': 0.0, 'qw': 1.0, 'fov_deg': 60.0, 'near': 0.1, 'far': 500.0, 'projection': 'perspective', 'orthographic_size': 10.0, 'fx': 0.0, 'fy': -6.0, 'fz': 3.0, 'tx': 0.0, 'ty': 0.0, 'tz': 0.0, 'lx': 0.0, 'ly': 0.0, 'lz': 0.0, 'settings': '{}', 'lod_settings': canonical(CameraLODSettings().to_dict()).decode('utf-8')}

Implementation alias: lsd_camera.contracts.CAMERA_DEFAULTS.

lsdtools.camera.CAMERA_MODES#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:57.

Python
CAMERA_MODES = ('free_fly', 'orbit', 'follow', 'third_person', 'first_person', 'rts', 'rail', 'fixed')

Implementation alias: lsd_camera.contracts.CAMERA_MODES.

lsdtools.camera.CAMERA_NAMESPACE#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:54.

Python
CAMERA_NAMESPACE = 'lsd-camera/camera@1'

Implementation alias: lsd_camera.contracts.CAMERA_NAMESPACE.

lsdtools.camera.COLLISION_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:44.

Python
COLLISION_ACTION = f'{ACTION_MAP}/collision'

Implementation alias: lsd_camera.rig.input.COLLISION_ACTION.

lsdtools.camera.CYCLE_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:43.

Python
CYCLE_ACTION = f'{ACTION_MAP}/cycle'

Implementation alias: lsd_camera.rig.input.CYCLE_ACTION.

lsdtools.camera.CameraControllerAdapter#

Kind: class. Source: services/camera/src/lsd_camera/timeline.py:139.

Python
CameraControllerAdapter(self, context: Any) -> None

Source docstring:

text
Endpoints over the live controller's free cameras; targets are camera eids.

Implementation alias: lsd_camera.timeline.CameraControllerAdapter.

lsdtools.camera.CameraControllerAdapter.seekable#

Kind: attribute. Source: services/camera/src/lsd_camera/timeline.py:142.

Python
seekable = True

lsdtools.camera.CameraControllerAdapter.__init__#

Kind: method. Source: services/camera/src/lsd_camera/timeline.py:144.

Python
__init__(self, context: Any) -> None
Python
context: Any
self: (unannotated)

lsdtools.camera.CameraControllerAdapter.bind#

Kind: method. Source: services/camera/src/lsd_camera/timeline.py:158.

Python
bind(self, spec: Any, target: Any) -> Endpoint
Python
self: (unannotated)
spec: Any
target: Any

lsdtools.camera.CameraControllerAdapter.release#

Kind: method. Source: services/camera/src/lsd_camera/timeline.py:215.

Python
release(self, key: Any) -> None
Python
key: Any
self: (unannotated)

lsdtools.camera.CameraControllerAdapter.claims#

Kind: method. Source: services/camera/src/lsd_camera/timeline.py:220.

Python
claims(self) -> tuple[int, ...]
Python
self: (unannotated)

lsdtools.camera.CameraControllerAdapter.states#

Kind: method. Source: services/camera/src/lsd_camera/timeline.py:223.

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

lsdtools.camera.CameraControllerAdapter.close#

Kind: method. Source: services/camera/src/lsd_camera/timeline.py:226.

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

lsdtools.camera.CameraControllerAdapter.scene#

Kind: attribute. Source: services/camera/src/lsd_camera/timeline.py:152.

Python
scene: Any
Python
scene = context

lsdtools.camera.CameraControllerAdapter.system#

Kind: attribute. Source: services/camera/src/lsd_camera/timeline.py:153.

Python
system: (unannotated)
Python
system = system

lsdtools.camera.CameraError#

Kind: class. Source: services/camera/src/lsd_camera/errors.py:6.

Source docstring:

text
Base class for the service's own failures.

Implementation alias: lsd_camera.errors.CameraError.

Declared bases: Exception.

lsdtools.camera.CameraError.code#

Kind: attribute. Source: services/camera/src/lsd_camera/errors.py:9.

Python
code = 'camera_error'

lsdtools.camera.ControllerError#

Kind: class. Source: services/camera/src/lsd_camera/errors.py:18.

Source docstring:

text
The running controller refused something: a pose for a camera it does not own, an actor
whose body no system plays.

Implementation alias: lsd_camera.errors.ControllerError.

Declared bases: CameraError.

lsdtools.camera.ControllerError.code#

Kind: attribute. Source: services/camera/src/lsd_camera/errors.py:22.

Python
code = 'controller_error'

lsdtools.camera.ELEVATE_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:38.

Python
ELEVATE_ACTION = f'{ACTION_MAP}/elevate'

Implementation alias: lsd_camera.rig.input.ELEVATE_ACTION.

lsdtools.camera.JUMP_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:39.

Python
JUMP_ACTION = f'{ACTION_MAP}/jump'

Implementation alias: lsd_camera.rig.input.JUMP_ACTION.

lsdtools.camera.LOOK_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:36.

Python
LOOK_ACTION = f'{ACTION_MAP}/look'

Implementation alias: lsd_camera.rig.input.LOOK_ACTION.

lsdtools.camera.MAX_SETTINGS_BYTES#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:65.

Python
MAX_SETTINGS_BYTES = 256 * 1024

Implementation alias: lsd_camera.rig.settings.MAX_SETTINGS_BYTES.

lsdtools.camera.MOVE_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:35.

Python
MOVE_ACTION = f'{ACTION_MAP}/move'

Implementation alias: lsd_camera.rig.input.MOVE_ACTION.

lsdtools.camera.PARTICIPANT#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:49.

Python
PARTICIPANT = 'camera_controller'

Implementation alias: lsd_camera.contracts.PARTICIPANT.

lsdtools.camera.PARTICIPANT_PORTS#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:51.

Python
PARTICIPANT_PORTS = {'cameras': 'table', 'actors': 'table'}

Implementation alias: lsd_camera.contracts.PARTICIPANT_PORTS.

lsdtools.camera.POSITION_CONTROLS#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:40.

Python
POSITION_CONTROLS = ('preset', 'free_fly', 'follow', 'orbital_follow', 'third_person_follow', 'position_composer', 'hard_lock', 'spline_dolly', 'rts', 'fixed')

Implementation alias: lsd_camera.rig.settings.POSITION_CONTROLS.

lsdtools.camera.PRESENTATION#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:50.

Python
PRESENTATION = 'camera_controller'

Implementation alias: lsd_camera.contracts.PRESENTATION.

lsdtools.camera.PROJECTIONS#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:69.

Python
PROJECTIONS = ('perspective', 'orthographic')

Implementation alias: lsd_camera.contracts.PROJECTIONS.

lsdtools.camera.RAIL_INTERPOLATIONS#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:63.

Python
RAIL_INTERPOLATIONS = ('linear', 'catmull_rom')

Implementation alias: lsd_camera.rig.settings.RAIL_INTERPOLATIONS.

lsdtools.camera.RAIL_WRAPS#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:64.

Python
RAIL_WRAPS = ('clamp', 'loop', 'pingpong')

Implementation alias: lsd_camera.rig.settings.RAIL_WRAPS.

lsdtools.camera.RECENTER_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:42.

Python
RECENTER_ACTION = f'{ACTION_MAP}/recenter'

Implementation alias: lsd_camera.rig.input.RECENTER_ACTION.

lsdtools.camera.RESET_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:41.

Python
RESET_ACTION = f'{ACTION_MAP}/reset'

Implementation alias: lsd_camera.rig.input.RESET_ACTION.

lsdtools.camera.RIGS_STATE#

Kind: value. Source: services/camera/src/lsd_camera/timeline.py:36.

Python
RIGS_STATE = 'rigs'

Implementation alias: lsd_camera.timeline.RIGS_STATE.

lsdtools.camera.RIG_PARAMETERS#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:100.

Python
RIG_PARAMETERS: dict[str, RigParameter]
Python
RIG_PARAMETERS = {'position_control': _choice('preset', POSITION_CONTROLS), 'rotation_control': _choice('preset', ROTATION_CONTROLS), 'enabled': RigParameter(True, bool), 'priority': _integer(0), 'output_channel': RigParameter('default', str), 'solo_rig': RigParameter('', str), 'rigs_json': _json_text('[]', list), 'custom_blends_json': _json_text('[]', list), 'default_blend_style': _choice('ease_in_out', BLEND_STYLES), 'default_blend_seconds': _number(0.35, 0.0, 30.0), 'standby_update': _choice('round_robin', STANDBY_UPDATES), 'target_actor_eid': _integer(0, 0), 'look_at_actor_eid': _integer(0, 0), 'target_group_json': _json_text('[]', list), 'distance': _number(6.0, 0.05, 10000.0), 'min_distance': _number(0.25, 0.01, 10000.0), 'max_distance': _number(100.0, 0.01, 1000000.0), 'damping': _number(0.0, 0.0, 1000.0), 'aim_damping': _number(0.0, 0.0, 1000.0), 'move_speed': _number(8.0, 0.0, 100000.0), 'look_speed': _number(2.2, 0.0, 1000.0), 'zoom_speed': _number(10.0, 0.0, 100000.0), 'sprint_multiplier': _number(3.0, 0.01, 100.0), 'yaw_degrees': RigParameter(None, float, minimum=-36000.0, maximum=36000.0), 'pitch_degrees': RigParameter(None, float, minimum=-89.0, maximum=89.0), 'min_pitch_degrees': _number(-85.0, -89.9, 89.9), 'max_pitch_degrees': _number(85.0, -89.9, 89.9), 'screen_x': _number(0.5, 0.0, 1.0), 'screen_y': _number(0.5, 0.0, 1.0), 'dead_zone_width': _number(0.0, 0.0, 1.0), 'dead_zone_height': _number(0.0, 0.0, 1.0), 'soft_zone_width': _number(0.8, 0.0, 2.0), 'soft_zone_height': _number(0.8, 0.0, 2.0), 'rail_points_json': _json_text('[]', list), 'rail_interpolation': _choice('catmull_rom', RAIL_INTERPOLATIONS), 'rail_wrap': _choice('clamp', RAIL_WRAPS), 'rail_progress': _number(0.0), 'rail_speed': _number(0.0, -1000.0, 1000.0), 'rail_look_ahead': _number(0.02, 0.0, 10.0), 'rail_playing': RigParameter(True, bool), 'dutch_degrees': _number(0.0, -180.0, 180.0), 'collision_enabled': RigParameter(False, bool), 'collision_radius': _number(0.2, 0.0, 100.0), 'collision_padding': _number(0.08, 0.0, 100.0), 'confiner_enabled': RigParameter(False, bool), 'confiner_min_json': _json_text('[-1000,-1000,-1000]', list), 'confiner_max_json': _json_text('[1000,1000,1000]', list), 'noise_amplitude': _number(0.0, 0.0, 1000.0), 'noise_frequency': _number(1.0, 0.0, 1000.0), 'noise_seed': _integer(0, 0, 2147483647), 'impulse_amplitude': _number(0.35, 0.0, 1000.0), 'impulse_duration': _number(0.3, 0.01, 60.0), 'impulse_frequency': _number(18.0, 0.0, 1000.0)}

Implementation alias: lsd_camera.rig.settings.RIG_PARAMETERS.

lsdtools.camera.ROTATION_CONTROLS#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:52.

Python
ROTATION_CONTROLS = ('preset', 'none', 'hard_look_at', 'rotation_composer', 'pan_tilt', 'follow_target', 'path')

Implementation alias: lsd_camera.rig.settings.ROTATION_CONTROLS.

lsdtools.camera.ROW_OWNED_PARAMETERS#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:164.

Python
ROW_OWNED_PARAMETERS = ('mode', 'field_of_view', 'fov_deg', 'seat', 'target_row', 'look_at_row', 'target', 'look_at', 'target_oid', 'look_at_oid', 'target_eid', 'look_at_eid', 'follow_offset_x', 'follow_offset_y', 'follow_offset_z', 'target_offset_x', 'target_offset_y', 'target_offset_z', 'look_offset_x', 'look_offset_y', 'look_offset_z', 'fixed_eye_x', 'fixed_eye_y', 'fixed_eye_z', 'fixed_target_x', 'fixed_target_y', 'fixed_target_z', 'projection', 'orthographic_size', 'near_clip', 'far_clip')

Implementation alias: lsd_camera.rig.settings.ROW_OWNED_PARAMETERS.

lsdtools.camera.RigParameter#

Kind: class. Source: services/camera/src/lsd_camera/rig/settings.py:69.

Source docstring:

text
One settings parameter: its default and what values it takes.

Implementation alias: lsd_camera.rig.settings.RigParameter.

lsdtools.camera.RigParameter.default#

Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:72.

Python
default: Any

lsdtools.camera.RigParameter.kind#

Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:73.

Python
kind: type

lsdtools.camera.RigParameter.choices#

Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:74.

Python
choices: tuple[Any, ...]
Python
choices = ()

lsdtools.camera.RigParameter.minimum#

Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:75.

Python
minimum: float | None
Python
minimum = None

lsdtools.camera.RigParameter.maximum#

Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:76.

Python
maximum: float | None
Python
maximum = None

lsdtools.camera.RigParameter.json_container#

Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:78.

Python
json_container: type | None
Python
json_container = None

lsdtools.camera.SPRINT_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:40.

Python
SPRINT_ACTION = f'{ACTION_MAP}/sprint'

Implementation alias: lsd_camera.rig.input.SPRINT_ACTION.

lsdtools.camera.STANDBY_UPDATES#

Kind: value. Source: services/camera/src/lsd_camera/rig/settings.py:62.

Python
STANDBY_UPDATES = ('never', 'always', 'round_robin')

Implementation alias: lsd_camera.rig.settings.STANDBY_UPDATES.

lsdtools.camera.SchemaError#

Kind: class. Source: services/camera/src/lsd_camera/errors.py:12.

Source docstring:

text
An authored cameras or actors table (or the objects it references) is not what a build needs.

Implementation alias: lsd_camera.errors.SchemaError.

Declared bases: CameraError, ValueError.

lsdtools.camera.SchemaError.code#

Kind: attribute. Source: services/camera/src/lsd_camera/errors.py:15.

Python
code = 'schema_error'

lsdtools.camera.TRACKING_MODES#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:68.

Python
TRACKING_MODES = ('orbit', 'follow', 'third_person', 'first_person', 'rail')

Implementation alias: lsd_camera.contracts.TRACKING_MODES.

lsdtools.camera.UP_AXES#

Kind: value. Source: services/camera/src/lsd_camera/contracts.py:70.

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

Implementation alias: lsd_camera.contracts.UP_AXES.

lsdtools.camera.ZOOM_ACTION#

Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:37.

Python
ZOOM_ACTION = f'{ACTION_MAP}/zoom'

Implementation alias: lsd_camera.rig.input.ZOOM_ACTION.

lsdtools.camera.actor_eid#

Kind: function. Source: services/camera/src/lsd_camera/contracts.py:147.

Python
actor_eid(controller_id: str, oid: str) -> int
Python
controller_id: str
oid: str

Source docstring:

text
The identity of actor ``oid`` of controller ``controller_id``.

Implementation alias: lsd_camera.contracts.actor_eid.

lsdtools.camera.actor_feature_reference#

Kind: function. Source: services/camera/src/lsd_camera/contracts.py:159.

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

Source docstring:

text
Actors are picked by ``eid`` and reported by ``(controller_id, oid)``.

Implementation alias: lsd_camera.contracts.actor_feature_reference.

lsdtools.camera.actors_layer_payload#

Kind: function. Source: services/camera/src/lsd_camera/build.py:582.

Python
actors_layer_payload(authored: Any, actors: pa.Table) -> LayerPayload
Python
actors: pa.Table
authored: Any

Source docstring:

text
The ``actors`` viewer layer (glyphs on the objects they drive) over the authored actors artifact.

Implementation alias: lsd_camera.build.actors_layer_payload.

lsdtools.camera.build_actors#

Kind: function. Source: services/camera/src/lsd_camera/build.py:434.

Python
build_actors(actors: pa.Table, objects: pa.Table, *, bodies: Optional[pa.Table]=None, up_axis: str='z', controller_id: str='controller', source_entity: Optional[str]=None, body_entity: Optional[str]=None) -> pa.Table
Python
actors: pa.Table
bodies: Optional[pa.Table]
body_entity: Optional[str]
controller_id: str
objects: pa.Table
source_entity: Optional[str]
up_axis: str

Source docstring:

text
The controller's actors: the seat each reads and the object (or physics body) it drives.

Implementation alias: lsd_camera.build.build_actors.

lsdtools.camera.build_cameras#

Kind: function. Source: services/camera/src/lsd_camera/build.py:307.

Python
build_cameras(cameras: pa.Table, objects: pa.Table, *, up_axis: str='z', controller_id: str='controller', source_entity: Optional[str]=None) -> pa.Table
Python
cameras: pa.Table
controller_id: str
objects: pa.Table
source_entity: Optional[str]
up_axis: str

Source docstring:

text
The controller's cameras: their modes, the objects they track and their own poses and lenses.

Implementation alias: lsd_camera.build.build_cameras.

lsdtools.camera.camera_eid#

Kind: function. Source: services/camera/src/lsd_camera/contracts.py:142.

Python
camera_eid(controller_id: str, oid: str) -> int
Python
controller_id: str
oid: str

Source docstring:

text
The identity of camera ``oid`` of controller ``controller_id``.

Implementation alias: lsd_camera.contracts.camera_eid.

lsdtools.camera.camera_feature_reference#

Kind: function. Source: services/camera/src/lsd_camera/contracts.py:152.

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

Source docstring:

text
Cameras are picked by ``eid`` and reported by ``(controller_id, oid)``.

Implementation alias: lsd_camera.contracts.camera_feature_reference.

lsdtools.camera.camera_timeline_spec#

Kind: function. Source: services/camera/src/lsd_camera/timeline.py:42.

Python
camera_timeline_spec(owner: str='lsd-camera-controller')
Python
owner: str

Source docstring:

text
The declaration the lsd-camera-controller package contributes; inspecting it creates no controller.

Implementation alias: lsd_camera.timeline.camera_timeline_spec.

lsdtools.camera.cameras_layer_payload#

Kind: function. Source: services/camera/src/lsd_camera/build.py:570.

Python
cameras_layer_payload(authored: Any, cameras: pa.Table) -> LayerPayload
Python
authored: Any
cameras: pa.Table

Source docstring:

text
The ``cameras`` viewer layer (frustum glyphs) over the authored cameras artifact, built rows beside it.

Implementation alias: lsd_camera.build.cameras_layer_payload.

lsdtools.camera.controller_id_for#

Kind: function. Source: services/camera/src/lsd_camera/contracts.py:126.

Python
controller_id_for(entity_id: Any, explicit: str='') -> str
Python
entity_id: Any
explicit: str

Source docstring:

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

Implementation alias: lsd_camera.contracts.controller_id_for.

lsdtools.camera.controller_settings#

Kind: function. Source: services/camera/src/lsd_camera/build.py:185.

Python
controller_settings(table: Any) -> dict[str, Any]
Python
table: Any

Source docstring:

text
The controller settings a build stamped on a built table (``controller_id``, ``up_axis``), or ``{}``.

Implementation alias: lsd_camera.build.controller_settings.

lsdtools.camera.custom_parameters#

Kind: function. Source: services/camera/src/lsd_camera/rig/settings.py:267.

Python
custom_parameters(parameters: Mapping[str, Any]) -> tuple[str, ...]
Python
parameters: Mapping[str, Any]

Source docstring:

text
The names of the parameters a validated settings document sets away from the plain defaults.

A camera with none is *plain*: its rig reproduces the row's facts exactly (the pose
``tracking_pose`` computes for follow and first-person cameras), which is what the native
player lowers; anything else is the rig's own behaviour.

Implementation alias: lsd_camera.rig.settings.custom_parameters.

lsdtools.camera.parse_settings#

Kind: function. Source: services/camera/src/lsd_camera/rig/settings.py:282.

Python
parse_settings(text: Any) -> dict[str, Any]
Python
text: Any

Source docstring:

text
The validated parameters of a settings column value (JSON text, ``None`` or empty = plain).

Implementation alias: lsd_camera.rig.settings.parse_settings.

lsdtools.camera.up_axis_defaults#

Kind: function. Source: services/camera/src/lsd_camera/contracts.py:118.

Python
up_axis_defaults(up_axis: str) -> dict[str, Any]
Python
up_axis: str

Source docstring:

text
The camera ``up`` vector and the actor drive axes a world with this up axis defaults to.

Implementation alias: lsd_camera.contracts.up_axis_defaults.

lsdtools.camera.validate_rig_settings#

Kind: function. Source: services/camera/src/lsd_camera/rig/settings.py:245.

Python
validate_rig_settings(parameters: Mapping[str, Any] | None) -> dict[str, Any]
Python
parameters: Mapping[str, Any] | None

Source docstring:

text
The parameters of one settings document, each validated; refuses unknown and row-owned keys.

Implementation alias: lsd_camera.rig.settings.validate_rig_settings.

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