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

lsdtools.animation reference

Generated public SDK reference for lsdtools.animation.

SDK distribution 1.0.0; API contract 1.0; generator 1.0.0.

Product source digest: 13800cef04184609594a0b15f310d52e8ece337faa4be2176039a5286946127b.

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
Character assets and Animation Studio, lazily composed over existing LSD owners.

lsdtools.animation.AnimationBinding#

Kind: class. Source: services/animation/src/lsd_animation/persistence.py:124.

Implementation alias: lsd_animation.persistence.AnimationBinding.

lsdtools.animation.AnimationBinding.object_eid#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:125.

Python
object_eid: int

lsdtools.animation.AnimationBinding.asset#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:126.

Python
asset: str

lsdtools.animation.AnimationBinding.clip#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:127.

Python
clip: str

lsdtools.animation.AnimationBinding.playback#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:128.

Python
playback: Playback

lsdtools.animation.AnimationBinding.layers#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:129.

Python
layers: tuple[BlendLayer, ...]
Python
layers = ()

lsdtools.animation.AnimationBinding.live#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:130.

Python
live: bool
Python
live = False

lsdtools.animation.AnimationBinding.motion#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:131.

Python
motion: object | None
Python
motion = None

lsdtools.animation.AnimationBinding.neural#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:132.

Python
neural: NeuralBinding | None
Python
neural = None

lsdtools.animation.AnimationBinding.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:157.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.AnimationDocument#

Kind: class. Source: services/animation/src/lsd_animation/persistence.py:165.

Implementation alias: lsd_animation.persistence.AnimationDocument.

lsdtools.animation.AnimationDocument.assets#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:166.

Python
assets: Mapping[str, CharacterAsset]

lsdtools.animation.AnimationDocument.instances#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:167.

Python
instances: tuple[AnimationBinding, ...]

lsdtools.animation.AnimationDocument.neural_profiles#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:168.

Python
neural_profiles: Mapping[str, NeuralProfile]
Python
neural_profiles = field(default_factory=dict)

lsdtools.animation.AnimationDocument.digest#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:169.

Python
digest: str
Python
digest = field(init=False)

lsdtools.animation.AnimationDocument.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:245.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.AnimationDocument.canonical_bytes#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:250.

Python
canonical_bytes(self)
Python
self: (unannotated)

lsdtools.animation.AnimationDocument.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:254.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.AnimationError#

Kind: class. Source: services/animation/src/lsd_animation/assets.py:27.

Source docstring:

text
Invalid or unsupported character data or sample.

Implementation alias: lsd_animation.assets.AnimationError.

Declared bases: ValueError.

lsdtools.animation.BlendLayer#

Kind: class. Source: services/animation/src/lsd_animation/persistence.py:75.

Implementation alias: lsd_animation.persistence.BlendLayer.

lsdtools.animation.BlendLayer.id#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:76.

Python
id: str

lsdtools.animation.BlendLayer.clip#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:77.

Python
clip: str

lsdtools.animation.BlendLayer.playback#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:78.

Python
playback: Playback

lsdtools.animation.BlendLayer.start_tick#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:79.

Python
start_tick: int

lsdtools.animation.BlendLayer.weight#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:80.

Python
weight: float

lsdtools.animation.BlendLayer.mask#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:81.

Python
mask: Mapping[str, float]

lsdtools.animation.BlendLayer.mode#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:82.

Python
mode: str
Python
mode = 'override'

lsdtools.animation.BlendLayer.reference#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:83.

Python
reference: BlendReference | None
Python
reference = None

lsdtools.animation.BlendLayer.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:108.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.BlendLayer.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:114.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.BlendReference#

Kind: class. Source: services/animation/src/lsd_animation/library.py:22.

Source docstring:

text
An explicit rest pose (None, 0) or one named clip at an exact local tick.

Implementation alias: lsd_animation.library.BlendReference.

lsdtools.animation.BlendReference.clip#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:25.

Python
clip: str | None

lsdtools.animation.BlendReference.tick#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:26.

Python
tick: int

lsdtools.animation.BlendReference.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/library.py:36.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.BlendReference.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/library.py:40.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.BuildAnimation#

Kind: class. Source: services/animation/src/lsd_animation/steps.py:19.

Source docstring:

text
Build bounded rig/skin/clip data for existing scene object identities.

Implementation alias: lsd_animation.steps.BuildAnimation.

Declared bases: LoadStep.

lsdtools.animation.BuildAnimation.output_ports#

Kind: attribute. Source: services/animation/src/lsd_animation/steps.py:21.

Python
output_ports = ['animation']

lsdtools.animation.BuildAnimation.cache_pin#

Kind: attribute. Source: services/animation/src/lsd_animation/steps.py:22.

Python
cache_pin = 'lsd-animation-document-v1'

lsdtools.animation.BuildAnimation.document#

Kind: attribute. Source: services/animation/src/lsd_animation/steps.py:23.

Python
document = param(dict, required=True, label='Animation assets', validators=[_validate_document], description='Contained character resources and bindings to scene object eids.')

lsdtools.animation.BuildAnimation.run#

Kind: method. Source: services/animation/src/lsd_animation/steps.py:26.

Python
run(self)
Python
self: (unannotated)

lsdtools.animation.CharacterAsset#

Kind: class. Source: services/animation/src/lsd_animation/library.py:84.

Source docstring:

text
A shared rig, skin and bounded named clip library; no mutable pose buffers.

Each clip is prepared once. The single-clip PreparedCharacter reference remains the
numerical authority; all its plans share this asset's immutable skeleton and skin.

Implementation alias: lsd_animation.library.CharacterAsset.

lsdtools.animation.CharacterAsset.skeleton#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:91.

Python
skeleton: Skeleton

lsdtools.animation.CharacterAsset.skin#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:92.

Python
skin: SkinBinding

lsdtools.animation.CharacterAsset.clips#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:93.

Python
clips: Mapping[str, Clip]

lsdtools.animation.CharacterAsset.digest#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:94.

Python
digest: str
Python
digest = field(init=False)

lsdtools.animation.CharacterAsset.duration#

Kind: method. Source: services/animation/src/lsd_animation/library.py:114.

Python
duration(self)
Python
self: (unannotated)

lsdtools.animation.CharacterAsset.prepared#

Kind: method. Source: services/animation/src/lsd_animation/library.py:117.

Python
prepared(self, clip: str) -> PreparedCharacter
Python
clip: str
self: (unannotated)

lsdtools.animation.CharacterAsset.instance#

Kind: method. Source: services/animation/src/lsd_animation/library.py:123.

Python
instance(self)
Python
self: (unannotated)

lsdtools.animation.CharacterAsset.reference_pose#

Kind: method. Source: services/animation/src/lsd_animation/library.py:136.

Python
reference_pose(self, reference: BlendReference) -> PreparedReferencePose
Python
reference: BlendReference
self: (unannotated)

Source docstring:

text
Prepare local TRS once; callers deduplicate references outside frame sampling.

lsdtools.animation.CharacterAsset.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/library.py:149.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.CharacterAsset.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/library.py:154.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.CharacterAsset.from_character#

Kind: method. Source: services/animation/src/lsd_animation/library.py:164.

Python
from_character(cls, character: PreparedCharacter, *, clip: str)
Python
character: PreparedCharacter
clip: str
cls: (unannotated)

Source docstring:

text
Explicit authoring conversion of the single-clip reference into a named library.

lsdtools.animation.CharacterInstance#

Kind: class. Source: services/animation/src/lsd_animation/evaluate.py:79.

Python
CharacterInstance(self, character: PreparedCharacter)

Source docstring:

text
Per-instance storage and a pure absolute-tick sampler; no clock, worker or actor state.

Implementation alias: lsd_animation.evaluate.CharacterInstance.

lsdtools.animation.CharacterInstance.__init__#

Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:82.

Python
__init__(self, character: PreparedCharacter)
Python
character: PreparedCharacter
self: (unannotated)

lsdtools.animation.CharacterInstance.sample#

Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:127.

Python
sample(self, tick: int) -> CharacterOutput
Python
self: (unannotated)
tick: int

lsdtools.animation.CharacterOutput#

Kind: class. Source: services/animation/src/lsd_animation/evaluate.py:60.

Source docstring:

text
Borrowed read-only views, valid until the next successful sample on this instance.

Arrays and matrices are float64 in skeleton-local space. ``world`` composes the joint
hierarchy; it does not include the scene object's transform. Copy retained values before
the next sample. Invalid samples leave all published output and ``tick`` unchanged.

Implementation alias: lsd_animation.evaluate.CharacterOutput.

lsdtools.animation.CharacterOutput.tick#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:68.

Python
tick: int | None

lsdtools.animation.CharacterOutput.translation#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:69.

Python
translation: np.ndarray

lsdtools.animation.CharacterOutput.rotation#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:70.

Python
rotation: np.ndarray

lsdtools.animation.CharacterOutput.scale#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:71.

Python
scale: np.ndarray

lsdtools.animation.CharacterOutput.world#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:72.

Python
world: np.ndarray

lsdtools.animation.CharacterOutput.palette#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:73.

Python
palette: np.ndarray

lsdtools.animation.CharacterOutput.positions#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:74.

Python
positions: np.ndarray

lsdtools.animation.CharacterOutput.normals#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:75.

Python
normals: np.ndarray

lsdtools.animation.CharacterOutput.bounds#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:76.

Python
bounds: np.ndarray

lsdtools.animation.CharacterSampler#

Kind: class. Source: services/animation/src/lsd_animation/library.py:171.

Python
CharacterSampler(self, asset: CharacterAsset)

Source docstring:

text
One geometry scratch allocation per caller, with small per-clip Tween batches.

A successful sample retires the previous borrowed output, including when the clip changes.
Neither preparing a clip nor switching it allocates another geometry buffer.
Before the first sample, output is the admitted bind pose with tick and clip both None.

Implementation alias: lsd_animation.library.CharacterSampler.

lsdtools.animation.CharacterSampler.__init__#

Kind: method. Source: services/animation/src/lsd_animation/library.py:179.

Python
__init__(self, asset: CharacterAsset)
Python
asset: CharacterAsset
self: (unannotated)

lsdtools.animation.CharacterSampler.output#

Kind: method. Source: services/animation/src/lsd_animation/library.py:196.

Python
output(self)
Python
self: (unannotated)

lsdtools.animation.CharacterSampler.sample#

Kind: method. Source: services/animation/src/lsd_animation/library.py:199.

Python
sample(self, tick: int, *, clip: str)
Python
clip: str
self: (unannotated)
tick: int

lsdtools.animation.CharacterSampler.sample_layers#

Kind: method. Source: services/animation/src/lsd_animation/library.py:211.

Python
sample_layers(self, tick: int, *, clip: str, layers: tuple=())
Python
clip: str
layers: tuple
self: (unannotated)
tick: int

lsdtools.animation.CharacterSampler.sample_local#

Kind: method. Source: services/animation/src/lsd_animation/library.py:214.

Python
sample_local(self, tick: int, *, clip: str, layers: tuple=(), out)
Python
clip: str
layers: tuple
out: (unannotated)
self: (unannotated)
tick: int

Source docstring:

text
Compose local TRS only into an admitted caller stage; never skin a discarded pose.

lsdtools.animation.CharacterSampler.deform_local#

Kind: method. Source: services/animation/src/lsd_animation/library.py:225.

Python
deform_local(self, tick: int, pose)
Python
pose: (unannotated)
self: (unannotated)
tick: int

Source docstring:

text
Validate and skin one final joint-local pose, preserving output on failure.

lsdtools.animation.CharacterSampler.asset#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:180.

Python
asset: CharacterAsset
Python
asset = asset

lsdtools.animation.CharacterSampler.clip#

Kind: attribute. Source: services/animation/src/lsd_animation/library.py:181.

Python
clip: (unannotated)
Python
clip = None

lsdtools.animation.Clip#

Kind: class. Source: services/animation/src/lsd_animation/assets.py:239.

Python
Clip(self, skeleton, timeline)

Implementation alias: lsd_animation.assets.Clip.

lsdtools.animation.Clip.skeleton#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:240.

Python
skeleton: Skeleton

lsdtools.animation.Clip.duration#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:242.

Python
duration: int

lsdtools.animation.Clip.digest#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:243.

Python
digest: str

lsdtools.animation.Clip.__init__#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:245.

Python
__init__(self, skeleton, timeline)
Python
self: (unannotated)
skeleton: (unannotated)
timeline: (unannotated)

lsdtools.animation.Clip.tween_prepared#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:271.

Python
tween_prepared(self)
Python
self: (unannotated)

Source docstring:

text
A detached owner-validated Tween plan, suitable for native.freeze or preparation.

Call once per prepared resource. Returning a new plan keeps callers from changing the
immutable Clip; PreparedCharacter shares its own private plan across its instances.

lsdtools.animation.Clip.marker_prepared#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:280.

Python
marker_prepared(self)
Python
self: (unannotated)

Source docstring:

text
Detached event-only Tween plan; joint curves are never sampled twice.

lsdtools.animation.Clip.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:290.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.Clip.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:294.

Python
from_dict(cls, skeleton, value)
Python
cls: (unannotated)
skeleton: (unannotated)
value: (unannotated)

lsdtools.animation.ContactConstraint#

Kind: class. Source: services/animation/src/lsd_animation/motion.py:33.

Implementation alias: lsd_animation.motion.ContactConstraint.

lsdtools.animation.ContactConstraint.hip#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:34.

Python
hip: str

lsdtools.animation.ContactConstraint.knee#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:35.

Python
knee: str

lsdtools.animation.ContactConstraint.ankle#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:36.

Python
ankle: str

lsdtools.animation.ContactConstraint.support_eid#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:37.

Python
support_eid: int

lsdtools.animation.ContactConstraint.point#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:38.

Python
point: tuple[float, float, float]

lsdtools.animation.ContactConstraint.pole#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:39.

Python
pole: tuple[float, float, float]

lsdtools.animation.ContactConstraint.weight#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:40.

Python
weight: float
Python
weight = 1.0

lsdtools.animation.ContactConstraint.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/motion.py:54.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.ContactConstraint.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/motion.py:60.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.ImportedCharacter#

Kind: class. Source: services/animation/src/lsd_animation/gltf.py:31.

Implementation alias: lsd_animation.gltf.ImportedCharacter.

lsdtools.animation.ImportedCharacter.asset#

Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:32.

Python
asset: CharacterAsset

lsdtools.animation.ImportedCharacter.source_sha256#

Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:33.

Python
source_sha256: str

lsdtools.animation.ImportedCharacter.mesh_node#

Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:34.

Python
mesh_node: int

lsdtools.animation.ImportedCharacter.ticks_per_second#

Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:35.

Python
ticks_per_second: int

lsdtools.animation.ImportedCharacter.scale#

Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:36.

Python
scale: float

lsdtools.animation.ImportedCharacter.bind_residual#

Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:37.

Python
bind_residual: float

lsdtools.animation.ImportedCharacter.notices#

Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:38.

Python
notices: tuple[str, ...]

lsdtools.animation.ImportedCharacter.describe#

Kind: method. Source: services/animation/src/lsd_animation/gltf.py:40.

Python
describe(self)
Python
self: (unannotated)

lsdtools.animation.LOCAL_ROTATION#

Kind: value. Source: services/animation/src/lsd_animation/assets.py:22.

Python
LOCAL_ROTATION = 'lsd-animation/local-rotation'

Implementation alias: lsd_animation.assets.LOCAL_ROTATION.

lsdtools.animation.LOCAL_SCALE#

Kind: value. Source: services/animation/src/lsd_animation/assets.py:23.

Python
LOCAL_SCALE = 'lsd-animation/local-scale'

Implementation alias: lsd_animation.assets.LOCAL_SCALE.

lsdtools.animation.LOCAL_TRANSLATION#

Kind: value. Source: services/animation/src/lsd_animation/assets.py:21.

Python
LOCAL_TRANSLATION = 'lsd-animation/local-translation'

Implementation alias: lsd_animation.assets.LOCAL_TRANSLATION.

lsdtools.animation.MotionBinding#

Kind: class. Source: services/animation/src/lsd_animation/motion.py:69.

Implementation alias: lsd_animation.motion.MotionBinding.

lsdtools.animation.MotionBinding.root_joint#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:70.

Python
root_joint: str | None
Python
root_joint = None

lsdtools.animation.MotionBinding.axes#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:71.

Python
axes: tuple[int, ...]
Python
axes = (0, 1, 2)

lsdtools.animation.MotionBinding.owner#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:72.

Python
owner: str
Python
owner = 'scene'

lsdtools.animation.MotionBinding.contacts#

Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:73.

Python
contacts: tuple[ContactConstraint, ...]
Python
contacts = ()

lsdtools.animation.MotionBinding.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/motion.py:90.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.MotionBinding.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/motion.py:95.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.NeuralBinding#

Kind: class. Source: services/animation/src/lsd_animation/neural_binding.py:203.

Implementation alias: lsd_animation.neural_binding.NeuralBinding.

lsdtools.animation.NeuralBinding.profile#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:204.

Python
profile: str

lsdtools.animation.NeuralBinding.enabled#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:205.

Python
enabled: bool
Python
enabled = True

lsdtools.animation.NeuralBinding.backend#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:206.

Python
backend: str
Python
backend = 'auto'

lsdtools.animation.NeuralBinding.budget_ms#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:207.

Python
budget_ms: float
Python
budget_ms = 16.0

lsdtools.animation.NeuralBinding.export_policy#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:208.

Python
export_policy: str
Python
export_policy = 'optional'

lsdtools.animation.NeuralBinding.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:219.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.NeuralBinding.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:224.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.NeuralProfile#

Kind: class. Source: services/animation/src/lsd_animation/neural_binding.py:110.

Implementation alias: lsd_animation.neural_binding.NeuralProfile.

lsdtools.animation.NeuralProfile.model#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:111.

Python
model: ModelArtifact

lsdtools.animation.NeuralProfile.skeleton_digest#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:112.

Python
skeleton_digest: str

lsdtools.animation.NeuralProfile.skin_digest#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:113.

Python
skin_digest: str

lsdtools.animation.NeuralProfile.joint_ids#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:114.

Python
joint_ids: tuple[str, ...]

lsdtools.animation.NeuralProfile.position_deltas#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:115.

Python
position_deltas: np.ndarray

lsdtools.animation.NeuralProfile.normal_deltas#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:116.

Python
normal_deltas: np.ndarray

lsdtools.animation.NeuralProfile.input_scale#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:117.

Python
input_scale: float

lsdtools.animation.NeuralProfile.input_name#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:118.

Python
input_name: str

lsdtools.animation.NeuralProfile.output_name#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:119.

Python
output_name: str

lsdtools.animation.NeuralProfile.max_coefficient#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:120.

Python
max_coefficient: float

lsdtools.animation.NeuralProfile.max_displacement#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:121.

Python
max_displacement: float

lsdtools.animation.NeuralProfile.digest#

Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:122.

Python
digest: str
Python
digest = field(init=False)

lsdtools.animation.NeuralProfile.validate_asset#

Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:158.

Python
validate_asset(self, asset)
Python
asset: (unannotated)
self: (unannotated)

lsdtools.animation.NeuralProfile.describe#

Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:164.

Python
describe(self)
Python
self: (unannotated)

lsdtools.animation.NeuralProfile.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:175.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.NeuralProfile.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:185.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.Playback#

Kind: class. Source: services/animation/src/lsd_animation/persistence.py:31.

Implementation alias: lsd_animation.persistence.Playback.

lsdtools.animation.Playback.range#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:32.

Python
range: tuple[int, int]

lsdtools.animation.Playback.phase#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:33.

Python
phase: int

lsdtools.animation.Playback.wrap#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:34.

Python
wrap: str

lsdtools.animation.Playback.direction#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:35.

Python
direction: int

lsdtools.animation.Playback.rate#

Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:36.

Python
rate: tuple[int, int]

lsdtools.animation.Playback.cursor_at#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:49.

Python
cursor_at(self, tick)
Python
self: (unannotated)
tick: (unannotated)

lsdtools.animation.Playback.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:55.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.Playback.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/persistence.py:60.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.PreparedCharacter#

Kind: class. Source: services/animation/src/lsd_animation/evaluate.py:17.

Source docstring:

text
One immutable asset closure; instances own all mutable sample/output storage.

Implementation alias: lsd_animation.evaluate.PreparedCharacter.

lsdtools.animation.PreparedCharacter.skeleton#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:20.

Python
skeleton: Skeleton

lsdtools.animation.PreparedCharacter.skin#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:21.

Python
skin: SkinBinding

lsdtools.animation.PreparedCharacter.clip#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:22.

Python
clip: Clip

lsdtools.animation.PreparedCharacter.digest#

Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:23.

Python
digest: str
Python
digest = field(init=False)

lsdtools.animation.PreparedCharacter.duration#

Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:40.

Python
duration(self)
Python
self: (unannotated)

lsdtools.animation.PreparedCharacter.instance#

Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:43.

Python
instance(self)
Python
self: (unannotated)

lsdtools.animation.PreparedCharacter.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:46.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.PreparedCharacter.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:51.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.Skeleton#

Kind: class. Source: services/animation/src/lsd_animation/assets.py:95.

Implementation alias: lsd_animation.assets.Skeleton.

lsdtools.animation.Skeleton.joint_ids#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:96.

Python
joint_ids: tuple[str, ...]

lsdtools.animation.Skeleton.parent_indices#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:97.

Python
parent_indices: np.ndarray

lsdtools.animation.Skeleton.rest_translation#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:98.

Python
rest_translation: np.ndarray

lsdtools.animation.Skeleton.rest_rotation#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:99.

Python
rest_rotation: np.ndarray

lsdtools.animation.Skeleton.rest_scale#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:100.

Python
rest_scale: np.ndarray | None
Python
rest_scale = None

lsdtools.animation.Skeleton.topological_order#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:101.

Python
topological_order: tuple[int, ...]
Python
topological_order = field(init=False)

lsdtools.animation.Skeleton.bind_world#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:102.

Python
bind_world: np.ndarray
Python
bind_world = field(init=False, repr=False)

lsdtools.animation.Skeleton.inverse_bind#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:103.

Python
inverse_bind: np.ndarray
Python
inverse_bind = field(init=False, repr=False)

lsdtools.animation.Skeleton.digest#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:104.

Python
digest: str
Python
digest = field(init=False)

lsdtools.animation.Skeleton.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:151.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.Skeleton.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:157.

Python
from_dict(cls, value)
Python
cls: (unannotated)
value: (unannotated)

lsdtools.animation.SkinBinding#

Kind: class. Source: services/animation/src/lsd_animation/assets.py:163.

Implementation alias: lsd_animation.assets.SkinBinding.

lsdtools.animation.SkinBinding.skeleton#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:164.

Python
skeleton: Skeleton

lsdtools.animation.SkinBinding.positions#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:165.

Python
positions: np.ndarray

lsdtools.animation.SkinBinding.triangles#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:166.

Python
triangles: np.ndarray

lsdtools.animation.SkinBinding.joint_indices#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:167.

Python
joint_indices: np.ndarray

lsdtools.animation.SkinBinding.weights#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:168.

Python
weights: np.ndarray

lsdtools.animation.SkinBinding.normals#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:169.

Python
normals: np.ndarray | None
Python
normals = None

lsdtools.animation.SkinBinding.digest#

Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:170.

Python
digest: str
Python
digest = field(init=False)

lsdtools.animation.SkinBinding.to_dict#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:216.

Python
to_dict(self)
Python
self: (unannotated)

lsdtools.animation.SkinBinding.from_dict#

Kind: method. Source: services/animation/src/lsd_animation/assets.py:223.

Python
from_dict(cls, skeleton, value)
Python
cls: (unannotated)
skeleton: (unannotated)
value: (unannotated)

lsdtools.animation.animation_timeline_spec#

Kind: function. Source: services/animation/src/lsd_animation/timeline.py:105.

Python
animation_timeline_spec()

Source docstring:

text
Return the package-owned declaration for headless compiler catalog validation.

Implementation alias: lsd_animation.timeline.animation_timeline_spec.

lsdtools.animation.asymmetric_character#

Kind: function. Source: services/animation/src/lsd_animation/fixtures.py:13.

Python
asymmetric_character() -> PreparedCharacter

Source docstring:

text
Three joints and a six-vertex strip, bending through 90 degrees at tick 60.

The offset upper edge and mixed pivot weights make wrong hierarchy order, inverse bind,
quaternion convention, and weight application observable. The fixed clip lasts 120 ticks.

Implementation alias: lsd_animation.fixtures.asymmetric_character.

lsdtools.animation.can_edit_animation#

Kind: function. Source: sdk/src/lsdtools/animation.py:10.

Python
can_edit_animation(entity) -> bool
Python
entity: (unannotated)

Source docstring:

text
Whether this entity owns exactly one authored Build Animation document.

lsdtools.animation.clip_catalog#

Kind: function. Source: services/animation/src/lsd_animation/assets.py:230.

Python
clip_catalog()

Implementation alias: lsd_animation.assets.clip_catalog.

lsdtools.animation.create_animation_binding#

Kind: function. Source: sdk/src/lsdtools/animation.py:16.

Python
create_animation_binding(scene)
Python
scene: (unannotated)

Source docstring:

text
Bind immutable animation resources and borrowed publications to the existing renderer.

lsdtools.animation.create_animation_editor#

Kind: function. Source: sdk/src/lsdtools/animation.py:22.

Python
create_animation_editor(host, *, entity=None, view_id)
Python
entity: (unannotated)
host: (unannotated)
view_id: (unannotated)

Source docstring:

text
Compose actor-scoped authoring with the host's existing runtime viewport and transport.

lsdtools.animation.document_from_table#

Kind: function. Source: services/animation/src/lsd_animation/persistence.py:298.

Python
document_from_table(table)
Python
table: (unannotated)

Implementation alias: lsd_animation.persistence.document_from_table.

lsdtools.animation.document_table#

Kind: function. Source: services/animation/src/lsd_animation/persistence.py:283.

Python
document_table(document)
Python
document: (unannotated)

Implementation alias: lsd_animation.persistence.document_table.

lsdtools.animation.extruded_character#

Kind: function. Source: services/animation/src/lsd_animation/fixtures.py:33.

Python
extruded_character() -> PreparedCharacter

Source docstring:

text
Closed 12-vertex, 20-triangle version of the analytic strip, with 0.3 m thickness.

Implementation alias: lsd_animation.fixtures.extruded_character.

lsdtools.animation.import_glb#

Kind: function. Source: services/animation/src/lsd_animation/gltf.py:208.

Python
import_glb(data: bytes, *, mesh_node: int | None=None, ticks_per_second: int=60, scale: float=1.0, render_profile: str) -> ImportedCharacter
Python
data: bytes
mesh_node: int | None
render_profile: str
scale: float
ticks_per_second: int

Source docstring:

text
Import the explicitly selected GLB skin as conventional geometry, offline.

``render_profile='geometry'`` explicitly omits materials, textures and tangents.
LINEAR/STEP clips are sampled at every integer tick (end rounded up, clamped).
Float32 normalization corrections are limited to 1e-5; existing LSD admission
remains strict. No code, filesystem path, external URI or network is evaluated.

Implementation alias: lsd_animation.gltf.import_glb.

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