All docs
lsdtools.compositions reference
Generated public SDK reference for lsdtools.compositions.
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.
Lazy public API for authoring compositions: what plays together, on which clock.
A composition is a project asset (``compositions/<id>``): its members (entities with a runtime
role, each with optional per-participant settings and a play window), its clock (fixed steps
per second of play time, solver substeps, wall-clock speed), per-participant ``systems``
settings, the active camera and the timeline. A package that ships a playable template authors
one here and commits it through ``Engine.workspace.commit_project_compositions``; the runtime
plays it, the Timeline editor edits it, an export bakes it. ``RUN_ALL_ID`` names the implicit
composition of every entity with a participant.
lsdtools.compositions.CompositionClock#
Kind: class. Source: core/lsd/src/lsd/packages/project_compositions.py:96.
Source docstring:
Fixed steps per second of play time, solver substeps per step, and the wall-clock multiplier.
Implementation alias: lsd.packages.project_compositions.CompositionClock.
lsdtools.compositions.CompositionClock.hz#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:99.
hz: int
hz = 60
lsdtools.compositions.CompositionClock.substeps#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:100.
substeps: int
substeps = 4
lsdtools.compositions.CompositionClock.speed#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:101.
speed: float
speed = 1.0
lsdtools.compositions.CompositionClock.to_dict#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:119.
to_dict(self) -> dict[str, Any]
self: (unannotated)
lsdtools.compositions.CompositionClock.from_dict#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:123.
from_dict(cls, value: Any) -> 'CompositionClock'
cls: (unannotated)
value: Any
lsdtools.compositions.CompositionMember#
Kind: class. Source: core/lsd/src/lsd/packages/project_compositions.py:135.
Source docstring:
One entity that plays: its per-participant settings and its play window in seconds since Play.
Implementation alias: lsd.packages.project_compositions.CompositionMember.
lsdtools.compositions.CompositionMember.entity_id#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:138.
entity_id: str
lsdtools.compositions.CompositionMember.settings#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:139.
settings: Mapping[str, Mapping[str, Any]]
settings = None
lsdtools.compositions.CompositionMember.from_s#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:140.
from_s: float
from_s = 0.0
lsdtools.compositions.CompositionMember.until_s#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:141.
until_s: Optional[float]
until_s = None
lsdtools.compositions.CompositionMember.window_us#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:158.
window_us(self) -> tuple[int, Optional[int]]
self: (unannotated)
Source docstring:
The play window in integer microseconds since Play (``None`` = forever).
lsdtools.compositions.CompositionMember.to_dict#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:164.
to_dict(self) -> dict[str, Any]
self: (unannotated)
lsdtools.compositions.CompositionMember.from_dict#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:173.
from_dict(cls, value: Any) -> 'CompositionMember'
cls: (unannotated)
value: Any
lsdtools.compositions.CompositionRecord#
Kind: class. Source: core/lsd/src/lsd/packages/project_compositions.py:190.
Source docstring:
One composition document, validated for shape (the runtime validates meaning).
Implementation alias: lsd.packages.project_compositions.CompositionRecord.
lsdtools.compositions.CompositionRecord.id#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:193.
id: str
lsdtools.compositions.CompositionRecord.name#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:194.
name: str
name = ''
lsdtools.compositions.CompositionRecord.members#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:195.
members: Tuple[CompositionMember, ...]
members = ()
lsdtools.compositions.CompositionRecord.clock#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:196.
clock: CompositionClock
clock = CompositionClock()
lsdtools.compositions.CompositionRecord.systems#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:197.
systems: Mapping[str, Mapping[str, Any]]
systems = None
lsdtools.compositions.CompositionRecord.active_camera#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:198.
active_camera: Optional[Mapping[str, str]]
active_camera = None
lsdtools.compositions.CompositionRecord.timeline#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:199.
timeline: Optional[Timeline]
timeline = None
lsdtools.compositions.CompositionRecord.member_ids#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:239.
member_ids(self) -> tuple[str, ...]
self: (unannotated)
lsdtools.compositions.CompositionRecord.member#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:242.
member(self, entity_id: str) -> Optional[CompositionMember]
entity_id: str
self: (unannotated)
lsdtools.compositions.CompositionRecord.to_dict#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:245.
to_dict(self) -> dict[str, Any]
self: (unannotated)
lsdtools.compositions.CompositionRecord.from_dict#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:258.
from_dict(cls, value: Any) -> 'CompositionRecord'
cls: (unannotated)
value: Any
lsdtools.compositions.CompositionRecord.canonical_bytes#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:296.
canonical_bytes(self) -> bytes
self: (unannotated)
lsdtools.compositions.CompositionRecord.describe#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:310.
describe(self) -> dict[str, Any]
self: (unannotated)
Source docstring:
The bounded summary a chooser shows: no timeline body, no settings bodies.
lsdtools.compositions.MAX_COMPOSITIONS#
Kind: value. Source: core/lsd/src/lsd/packages/project_compositions.py:29.
MAX_COMPOSITIONS = 256
Implementation alias: lsd.packages.project_compositions.MAX_COMPOSITIONS.
lsdtools.compositions.MAX_MEMBERS#
Kind: value. Source: core/lsd/src/lsd/packages/project_compositions.py:30.
MAX_MEMBERS = 256
Implementation alias: lsd.packages.project_compositions.MAX_MEMBERS.
lsdtools.compositions.ProjectCompositionLibrary#
Kind: class. Source: core/lsd/src/lsd/packages/project_compositions.py:339.
Source docstring:
Immutable project composition set with optimistic revision checks.
Implementation alias: lsd.packages.project_compositions.ProjectCompositionLibrary.
lsdtools.compositions.ProjectCompositionLibrary.compositions#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:342.
compositions: Tuple[CompositionRecord, ...]
compositions = ()
lsdtools.compositions.ProjectCompositionLibrary.revision#
Kind: attribute. Source: core/lsd/src/lsd/packages/project_compositions.py:343.
revision: int
revision = 0
lsdtools.compositions.ProjectCompositionLibrary.__iter__#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:362.
__iter__(self)
self: (unannotated)
lsdtools.compositions.ProjectCompositionLibrary.get#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:368.
get(self, composition_id: str) -> Optional[CompositionRecord]
composition_id: str
self: (unannotated)
lsdtools.compositions.ProjectCompositionLibrary.save#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:377.
save(self, record: CompositionRecord, *, expected_revision: Optional[int]=None) -> 'ProjectCompositionLibrary'
expected_revision: Optional[int]
record: CompositionRecord
self: (unannotated)
lsdtools.compositions.ProjectCompositionLibrary.remove#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:386.
remove(self, composition_id: str, *, expected_revision: Optional[int]=None) -> 'ProjectCompositionLibrary'
composition_id: str
expected_revision: Optional[int]
self: (unannotated)
lsdtools.compositions.ProjectCompositionLibrary.members_of#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:397.
members_of(self, entity_id: str) -> tuple[str, ...]
entity_id: str
self: (unannotated)
Source docstring:
The ids of every composition ``entity_id`` plays in.
lsdtools.compositions.ProjectCompositionLibrary.to_section#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:401.
to_section(self) -> dict[str, Any]
self: (unannotated)
lsdtools.compositions.ProjectCompositionLibrary.from_section#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:408.
from_section(cls, value: Any) -> 'ProjectCompositionLibrary'
cls: (unannotated)
value: Any
lsdtools.compositions.ProjectCompositionLibrary.describe#
Kind: method. Source: core/lsd/src/lsd/packages/project_compositions.py:430.
describe(self) -> list[dict[str, Any]]
self: (unannotated)
lsdtools.compositions.RUN_ALL_ID#
Kind: value. Source: core/lsd/src/lsd/packages/project_compositions.py:28.
RUN_ALL_ID = 'all'
Implementation alias: lsd.packages.project_compositions.RUN_ALL_ID.