All docs
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.
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.
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.
ACTORS_LAYER_KIND: Final
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.
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.
ACTOR_COLUMNS: Final
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.
ACTOR_DEFAULTS: dict[str, Any]
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.
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.
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.
CAMERAS_LAYER_KIND: Final
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.
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.
CAMERA_COLUMNS: Final
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.
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.
CAMERA_DEFAULTS: dict[str, Any]
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.
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.
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.
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.
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.
CameraControllerAdapter(self, context: Any) -> None
Source docstring:
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.
seekable = True
lsdtools.camera.CameraControllerAdapter.__init__#
Kind: method. Source: services/camera/src/lsd_camera/timeline.py:144.
__init__(self, context: Any) -> None
context: Any
self: (unannotated)
lsdtools.camera.CameraControllerAdapter.bind#
Kind: method. Source: services/camera/src/lsd_camera/timeline.py:158.
bind(self, spec: Any, target: Any) -> Endpoint
self: (unannotated)
spec: Any
target: Any
lsdtools.camera.CameraControllerAdapter.release#
Kind: method. Source: services/camera/src/lsd_camera/timeline.py:215.
release(self, key: Any) -> None
key: Any
self: (unannotated)
lsdtools.camera.CameraControllerAdapter.claims#
Kind: method. Source: services/camera/src/lsd_camera/timeline.py:220.
claims(self) -> tuple[int, ...]
self: (unannotated)
lsdtools.camera.CameraControllerAdapter.states#
Kind: method. Source: services/camera/src/lsd_camera/timeline.py:223.
states(self) -> Mapping[str, Any]
self: (unannotated)
lsdtools.camera.CameraControllerAdapter.close#
Kind: method. Source: services/camera/src/lsd_camera/timeline.py:226.
close(self) -> None
self: (unannotated)
lsdtools.camera.CameraControllerAdapter.scene#
Kind: attribute. Source: services/camera/src/lsd_camera/timeline.py:152.
scene: Any
scene = context
lsdtools.camera.CameraControllerAdapter.system#
Kind: attribute. Source: services/camera/src/lsd_camera/timeline.py:153.
system: (unannotated)
system = system
lsdtools.camera.CameraError#
Kind: class. Source: services/camera/src/lsd_camera/errors.py:6.
Source docstring:
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.
code = 'camera_error'
lsdtools.camera.ControllerError#
Kind: class. Source: services/camera/src/lsd_camera/errors.py:18.
Source docstring:
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.
code = 'controller_error'
lsdtools.camera.ELEVATE_ACTION#
Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:38.
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.
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.
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.
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.
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.
PARTICIPANT = 'camera_controller'
Implementation alias: lsd_camera.contracts.PARTICIPANT.
lsdtools.camera.PARTICIPANT_PORTS#
Kind: value. Source: services/camera/src/lsd_camera/contracts.py:51.
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.
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.
PRESENTATION = 'camera_controller'
Implementation alias: lsd_camera.contracts.PRESENTATION.
lsdtools.camera.PROJECTIONS#
Kind: value. Source: services/camera/src/lsd_camera/contracts.py:69.
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.
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.
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.
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.
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.
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.
RIG_PARAMETERS: dict[str, RigParameter]
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.
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.
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:
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.
default: Any
lsdtools.camera.RigParameter.kind#
Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:73.
kind: type
lsdtools.camera.RigParameter.choices#
Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:74.
choices: tuple[Any, ...]
choices = ()
lsdtools.camera.RigParameter.minimum#
Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:75.
minimum: float | None
minimum = None
lsdtools.camera.RigParameter.maximum#
Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:76.
maximum: float | None
maximum = None
lsdtools.camera.RigParameter.json_container#
Kind: attribute. Source: services/camera/src/lsd_camera/rig/settings.py:78.
json_container: type | None
json_container = None
lsdtools.camera.SPRINT_ACTION#
Kind: value. Source: services/camera/src/lsd_camera/rig/input.py:40.
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.
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:
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.
code = 'schema_error'
lsdtools.camera.TRACKING_MODES#
Kind: value. Source: services/camera/src/lsd_camera/contracts.py:68.
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.
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.
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.
actor_eid(controller_id: str, oid: str) -> int
controller_id: str
oid: str
Source docstring:
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.
actor_feature_reference() -> dict[str, Any]
Source docstring:
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.
actors_layer_payload(authored: Any, actors: pa.Table) -> LayerPayload
actors: pa.Table
authored: Any
Source docstring:
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.
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
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:
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.
build_cameras(cameras: pa.Table, objects: pa.Table, *, up_axis: str='z', controller_id: str='controller', source_entity: Optional[str]=None) -> pa.Table
cameras: pa.Table
controller_id: str
objects: pa.Table
source_entity: Optional[str]
up_axis: str
Source docstring:
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.
camera_eid(controller_id: str, oid: str) -> int
controller_id: str
oid: str
Source docstring:
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.
camera_feature_reference() -> dict[str, Any]
Source docstring:
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.
camera_timeline_spec(owner: str='lsd-camera-controller')
owner: str
Source docstring:
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.
cameras_layer_payload(authored: Any, cameras: pa.Table) -> LayerPayload
authored: Any
cameras: pa.Table
Source docstring:
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.
controller_id_for(entity_id: Any, explicit: str='') -> str
entity_id: Any
explicit: str
Source docstring:
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.
controller_settings(table: Any) -> dict[str, Any]
table: Any
Source docstring:
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.
custom_parameters(parameters: Mapping[str, Any]) -> tuple[str, ...]
parameters: Mapping[str, Any]
Source docstring:
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.
parse_settings(text: Any) -> dict[str, Any]
text: Any
Source docstring:
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.
up_axis_defaults(up_axis: str) -> dict[str, Any]
up_axis: str
Source docstring:
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.
validate_rig_settings(parameters: Mapping[str, Any] | None) -> dict[str, Any]
parameters: Mapping[str, Any] | None
Source docstring:
The parameters of one settings document, each validated; refuses unknown and row-owned keys.
Implementation alias: lsd_camera.rig.settings.validate_rig_settings.