All docs
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.
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.
object_eid: int
lsdtools.animation.AnimationBinding.asset#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:126.
asset: str
lsdtools.animation.AnimationBinding.clip#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:127.
clip: str
lsdtools.animation.AnimationBinding.playback#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:128.
playback: Playback
lsdtools.animation.AnimationBinding.layers#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:129.
layers: tuple[BlendLayer, ...]
layers = ()
lsdtools.animation.AnimationBinding.live#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:130.
live: bool
live = False
lsdtools.animation.AnimationBinding.motion#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:131.
motion: object | None
motion = None
lsdtools.animation.AnimationBinding.neural#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:132.
neural: NeuralBinding | None
neural = None
lsdtools.animation.AnimationBinding.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:157.
to_dict(self)
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.
assets: Mapping[str, CharacterAsset]
lsdtools.animation.AnimationDocument.instances#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:167.
instances: tuple[AnimationBinding, ...]
lsdtools.animation.AnimationDocument.neural_profiles#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:168.
neural_profiles: Mapping[str, NeuralProfile]
neural_profiles = field(default_factory=dict)
lsdtools.animation.AnimationDocument.digest#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:169.
digest: str
digest = field(init=False)
lsdtools.animation.AnimationDocument.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:245.
to_dict(self)
self: (unannotated)
lsdtools.animation.AnimationDocument.canonical_bytes#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:250.
canonical_bytes(self)
self: (unannotated)
lsdtools.animation.AnimationDocument.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:254.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.animation.AnimationError#
Kind: class. Source: services/animation/src/lsd_animation/assets.py:27.
Source docstring:
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.
id: str
lsdtools.animation.BlendLayer.clip#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:77.
clip: str
lsdtools.animation.BlendLayer.playback#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:78.
playback: Playback
lsdtools.animation.BlendLayer.start_tick#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:79.
start_tick: int
lsdtools.animation.BlendLayer.weight#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:80.
weight: float
lsdtools.animation.BlendLayer.mask#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:81.
mask: Mapping[str, float]
lsdtools.animation.BlendLayer.mode#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:82.
mode: str
mode = 'override'
lsdtools.animation.BlendLayer.reference#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:83.
reference: BlendReference | None
reference = None
lsdtools.animation.BlendLayer.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:108.
to_dict(self)
self: (unannotated)
lsdtools.animation.BlendLayer.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:114.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.animation.BlendReference#
Kind: class. Source: services/animation/src/lsd_animation/library.py:22.
Source docstring:
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.
clip: str | None
lsdtools.animation.BlendReference.tick#
Kind: attribute. Source: services/animation/src/lsd_animation/library.py:26.
tick: int
lsdtools.animation.BlendReference.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/library.py:36.
to_dict(self)
self: (unannotated)
lsdtools.animation.BlendReference.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/library.py:40.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.animation.BuildAnimation#
Kind: class. Source: services/animation/src/lsd_animation/steps.py:19.
Source docstring:
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.
output_ports = ['animation']
lsdtools.animation.BuildAnimation.cache_pin#
Kind: attribute. Source: services/animation/src/lsd_animation/steps.py:22.
cache_pin = 'lsd-animation-document-v1'
lsdtools.animation.BuildAnimation.document#
Kind: attribute. Source: services/animation/src/lsd_animation/steps.py:23.
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.
run(self)
self: (unannotated)
lsdtools.animation.CharacterAsset#
Kind: class. Source: services/animation/src/lsd_animation/library.py:84.
Source docstring:
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.
skeleton: Skeleton
lsdtools.animation.CharacterAsset.skin#
Kind: attribute. Source: services/animation/src/lsd_animation/library.py:92.
skin: SkinBinding
lsdtools.animation.CharacterAsset.clips#
Kind: attribute. Source: services/animation/src/lsd_animation/library.py:93.
clips: Mapping[str, Clip]
lsdtools.animation.CharacterAsset.digest#
Kind: attribute. Source: services/animation/src/lsd_animation/library.py:94.
digest: str
digest = field(init=False)
lsdtools.animation.CharacterAsset.duration#
Kind: method. Source: services/animation/src/lsd_animation/library.py:114.
duration(self)
self: (unannotated)
lsdtools.animation.CharacterAsset.prepared#
Kind: method. Source: services/animation/src/lsd_animation/library.py:117.
prepared(self, clip: str) -> PreparedCharacter
clip: str
self: (unannotated)
lsdtools.animation.CharacterAsset.instance#
Kind: method. Source: services/animation/src/lsd_animation/library.py:123.
instance(self)
self: (unannotated)
lsdtools.animation.CharacterAsset.reference_pose#
Kind: method. Source: services/animation/src/lsd_animation/library.py:136.
reference_pose(self, reference: BlendReference) -> PreparedReferencePose
reference: BlendReference
self: (unannotated)
Source docstring:
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.
to_dict(self)
self: (unannotated)
lsdtools.animation.CharacterAsset.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/library.py:154.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.animation.CharacterAsset.from_character#
Kind: method. Source: services/animation/src/lsd_animation/library.py:164.
from_character(cls, character: PreparedCharacter, *, clip: str)
character: PreparedCharacter
clip: str
cls: (unannotated)
Source docstring:
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.
CharacterInstance(self, character: PreparedCharacter)
Source docstring:
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.
__init__(self, character: PreparedCharacter)
character: PreparedCharacter
self: (unannotated)
lsdtools.animation.CharacterInstance.sample#
Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:127.
sample(self, tick: int) -> CharacterOutput
self: (unannotated)
tick: int
lsdtools.animation.CharacterOutput#
Kind: class. Source: services/animation/src/lsd_animation/evaluate.py:60.
Source docstring:
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.
tick: int | None
lsdtools.animation.CharacterOutput.translation#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:69.
translation: np.ndarray
lsdtools.animation.CharacterOutput.rotation#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:70.
rotation: np.ndarray
lsdtools.animation.CharacterOutput.scale#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:71.
scale: np.ndarray
lsdtools.animation.CharacterOutput.world#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:72.
world: np.ndarray
lsdtools.animation.CharacterOutput.palette#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:73.
palette: np.ndarray
lsdtools.animation.CharacterOutput.positions#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:74.
positions: np.ndarray
lsdtools.animation.CharacterOutput.normals#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:75.
normals: np.ndarray
lsdtools.animation.CharacterOutput.bounds#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:76.
bounds: np.ndarray
lsdtools.animation.CharacterSampler#
Kind: class. Source: services/animation/src/lsd_animation/library.py:171.
CharacterSampler(self, asset: CharacterAsset)
Source docstring:
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.
__init__(self, asset: CharacterAsset)
asset: CharacterAsset
self: (unannotated)
lsdtools.animation.CharacterSampler.output#
Kind: method. Source: services/animation/src/lsd_animation/library.py:196.
output(self)
self: (unannotated)
lsdtools.animation.CharacterSampler.sample#
Kind: method. Source: services/animation/src/lsd_animation/library.py:199.
sample(self, tick: int, *, clip: str)
clip: str
self: (unannotated)
tick: int
lsdtools.animation.CharacterSampler.sample_layers#
Kind: method. Source: services/animation/src/lsd_animation/library.py:211.
sample_layers(self, tick: int, *, clip: str, layers: tuple=())
clip: str
layers: tuple
self: (unannotated)
tick: int
lsdtools.animation.CharacterSampler.sample_local#
Kind: method. Source: services/animation/src/lsd_animation/library.py:214.
sample_local(self, tick: int, *, clip: str, layers: tuple=(), out)
clip: str
layers: tuple
out: (unannotated)
self: (unannotated)
tick: int
Source docstring:
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.
deform_local(self, tick: int, pose)
pose: (unannotated)
self: (unannotated)
tick: int
Source docstring:
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.
asset: CharacterAsset
asset = asset
lsdtools.animation.CharacterSampler.clip#
Kind: attribute. Source: services/animation/src/lsd_animation/library.py:181.
clip: (unannotated)
clip = None
lsdtools.animation.Clip#
Kind: class. Source: services/animation/src/lsd_animation/assets.py:239.
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.
skeleton: Skeleton
lsdtools.animation.Clip.duration#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:242.
duration: int
lsdtools.animation.Clip.digest#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:243.
digest: str
lsdtools.animation.Clip.__init__#
Kind: method. Source: services/animation/src/lsd_animation/assets.py:245.
__init__(self, skeleton, timeline)
self: (unannotated)
skeleton: (unannotated)
timeline: (unannotated)
lsdtools.animation.Clip.tween_prepared#
Kind: method. Source: services/animation/src/lsd_animation/assets.py:271.
tween_prepared(self)
self: (unannotated)
Source docstring:
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.
marker_prepared(self)
self: (unannotated)
Source docstring:
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.
to_dict(self)
self: (unannotated)
lsdtools.animation.Clip.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/assets.py:294.
from_dict(cls, skeleton, value)
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.
hip: str
lsdtools.animation.ContactConstraint.knee#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:35.
knee: str
lsdtools.animation.ContactConstraint.ankle#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:36.
ankle: str
lsdtools.animation.ContactConstraint.support_eid#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:37.
support_eid: int
lsdtools.animation.ContactConstraint.point#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:38.
point: tuple[float, float, float]
lsdtools.animation.ContactConstraint.pole#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:39.
pole: tuple[float, float, float]
lsdtools.animation.ContactConstraint.weight#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:40.
weight: float
weight = 1.0
lsdtools.animation.ContactConstraint.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/motion.py:54.
to_dict(self)
self: (unannotated)
lsdtools.animation.ContactConstraint.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/motion.py:60.
from_dict(cls, value)
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.
asset: CharacterAsset
lsdtools.animation.ImportedCharacter.source_sha256#
Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:33.
source_sha256: str
lsdtools.animation.ImportedCharacter.mesh_node#
Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:34.
mesh_node: int
lsdtools.animation.ImportedCharacter.ticks_per_second#
Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:35.
ticks_per_second: int
lsdtools.animation.ImportedCharacter.scale#
Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:36.
scale: float
lsdtools.animation.ImportedCharacter.bind_residual#
Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:37.
bind_residual: float
lsdtools.animation.ImportedCharacter.notices#
Kind: attribute. Source: services/animation/src/lsd_animation/gltf.py:38.
notices: tuple[str, ...]
lsdtools.animation.ImportedCharacter.describe#
Kind: method. Source: services/animation/src/lsd_animation/gltf.py:40.
describe(self)
self: (unannotated)
lsdtools.animation.LOCAL_ROTATION#
Kind: value. Source: services/animation/src/lsd_animation/assets.py:22.
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.
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.
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.
root_joint: str | None
root_joint = None
lsdtools.animation.MotionBinding.axes#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:71.
axes: tuple[int, ...]
axes = (0, 1, 2)
lsdtools.animation.MotionBinding.owner#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:72.
owner: str
owner = 'scene'
lsdtools.animation.MotionBinding.contacts#
Kind: attribute. Source: services/animation/src/lsd_animation/motion.py:73.
contacts: tuple[ContactConstraint, ...]
contacts = ()
lsdtools.animation.MotionBinding.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/motion.py:90.
to_dict(self)
self: (unannotated)
lsdtools.animation.MotionBinding.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/motion.py:95.
from_dict(cls, value)
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.
profile: str
lsdtools.animation.NeuralBinding.enabled#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:205.
enabled: bool
enabled = True
lsdtools.animation.NeuralBinding.backend#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:206.
backend: str
backend = 'auto'
lsdtools.animation.NeuralBinding.budget_ms#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:207.
budget_ms: float
budget_ms = 16.0
lsdtools.animation.NeuralBinding.export_policy#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:208.
export_policy: str
export_policy = 'optional'
lsdtools.animation.NeuralBinding.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:219.
to_dict(self)
self: (unannotated)
lsdtools.animation.NeuralBinding.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:224.
from_dict(cls, value)
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.
model: ModelArtifact
lsdtools.animation.NeuralProfile.skeleton_digest#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:112.
skeleton_digest: str
lsdtools.animation.NeuralProfile.skin_digest#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:113.
skin_digest: str
lsdtools.animation.NeuralProfile.joint_ids#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:114.
joint_ids: tuple[str, ...]
lsdtools.animation.NeuralProfile.position_deltas#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:115.
position_deltas: np.ndarray
lsdtools.animation.NeuralProfile.normal_deltas#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:116.
normal_deltas: np.ndarray
lsdtools.animation.NeuralProfile.input_scale#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:117.
input_scale: float
lsdtools.animation.NeuralProfile.input_name#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:118.
input_name: str
lsdtools.animation.NeuralProfile.output_name#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:119.
output_name: str
lsdtools.animation.NeuralProfile.max_coefficient#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:120.
max_coefficient: float
lsdtools.animation.NeuralProfile.max_displacement#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:121.
max_displacement: float
lsdtools.animation.NeuralProfile.digest#
Kind: attribute. Source: services/animation/src/lsd_animation/neural_binding.py:122.
digest: str
digest = field(init=False)
lsdtools.animation.NeuralProfile.validate_asset#
Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:158.
validate_asset(self, asset)
asset: (unannotated)
self: (unannotated)
lsdtools.animation.NeuralProfile.describe#
Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:164.
describe(self)
self: (unannotated)
lsdtools.animation.NeuralProfile.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:175.
to_dict(self)
self: (unannotated)
lsdtools.animation.NeuralProfile.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/neural_binding.py:185.
from_dict(cls, value)
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.
range: tuple[int, int]
lsdtools.animation.Playback.phase#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:33.
phase: int
lsdtools.animation.Playback.wrap#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:34.
wrap: str
lsdtools.animation.Playback.direction#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:35.
direction: int
lsdtools.animation.Playback.rate#
Kind: attribute. Source: services/animation/src/lsd_animation/persistence.py:36.
rate: tuple[int, int]
lsdtools.animation.Playback.cursor_at#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:49.
cursor_at(self, tick)
self: (unannotated)
tick: (unannotated)
lsdtools.animation.Playback.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:55.
to_dict(self)
self: (unannotated)
lsdtools.animation.Playback.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/persistence.py:60.
from_dict(cls, value)
cls: (unannotated)
value: (unannotated)
lsdtools.animation.PreparedCharacter#
Kind: class. Source: services/animation/src/lsd_animation/evaluate.py:17.
Source docstring:
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.
skeleton: Skeleton
lsdtools.animation.PreparedCharacter.skin#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:21.
skin: SkinBinding
lsdtools.animation.PreparedCharacter.clip#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:22.
clip: Clip
lsdtools.animation.PreparedCharacter.digest#
Kind: attribute. Source: services/animation/src/lsd_animation/evaluate.py:23.
digest: str
digest = field(init=False)
lsdtools.animation.PreparedCharacter.duration#
Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:40.
duration(self)
self: (unannotated)
lsdtools.animation.PreparedCharacter.instance#
Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:43.
instance(self)
self: (unannotated)
lsdtools.animation.PreparedCharacter.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:46.
to_dict(self)
self: (unannotated)
lsdtools.animation.PreparedCharacter.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/evaluate.py:51.
from_dict(cls, value)
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.
joint_ids: tuple[str, ...]
lsdtools.animation.Skeleton.parent_indices#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:97.
parent_indices: np.ndarray
lsdtools.animation.Skeleton.rest_translation#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:98.
rest_translation: np.ndarray
lsdtools.animation.Skeleton.rest_rotation#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:99.
rest_rotation: np.ndarray
lsdtools.animation.Skeleton.rest_scale#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:100.
rest_scale: np.ndarray | None
rest_scale = None
lsdtools.animation.Skeleton.topological_order#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:101.
topological_order: tuple[int, ...]
topological_order = field(init=False)
lsdtools.animation.Skeleton.bind_world#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:102.
bind_world: np.ndarray
bind_world = field(init=False, repr=False)
lsdtools.animation.Skeleton.inverse_bind#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:103.
inverse_bind: np.ndarray
inverse_bind = field(init=False, repr=False)
lsdtools.animation.Skeleton.digest#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:104.
digest: str
digest = field(init=False)
lsdtools.animation.Skeleton.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/assets.py:151.
to_dict(self)
self: (unannotated)
lsdtools.animation.Skeleton.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/assets.py:157.
from_dict(cls, value)
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.
skeleton: Skeleton
lsdtools.animation.SkinBinding.positions#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:165.
positions: np.ndarray
lsdtools.animation.SkinBinding.triangles#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:166.
triangles: np.ndarray
lsdtools.animation.SkinBinding.joint_indices#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:167.
joint_indices: np.ndarray
lsdtools.animation.SkinBinding.weights#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:168.
weights: np.ndarray
lsdtools.animation.SkinBinding.normals#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:169.
normals: np.ndarray | None
normals = None
lsdtools.animation.SkinBinding.digest#
Kind: attribute. Source: services/animation/src/lsd_animation/assets.py:170.
digest: str
digest = field(init=False)
lsdtools.animation.SkinBinding.to_dict#
Kind: method. Source: services/animation/src/lsd_animation/assets.py:216.
to_dict(self)
self: (unannotated)
lsdtools.animation.SkinBinding.from_dict#
Kind: method. Source: services/animation/src/lsd_animation/assets.py:223.
from_dict(cls, skeleton, value)
cls: (unannotated)
skeleton: (unannotated)
value: (unannotated)
lsdtools.animation.animation_timeline_spec#
Kind: function. Source: services/animation/src/lsd_animation/timeline.py:105.
animation_timeline_spec()
Source docstring:
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.
asymmetric_character() -> PreparedCharacter
Source docstring:
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.
can_edit_animation(entity) -> bool
entity: (unannotated)
Source docstring:
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.
clip_catalog()
Implementation alias: lsd_animation.assets.clip_catalog.
lsdtools.animation.create_animation_binding#
Kind: function. Source: sdk/src/lsdtools/animation.py:16.
create_animation_binding(scene)
scene: (unannotated)
Source docstring:
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.
create_animation_editor(host, *, entity=None, view_id)
entity: (unannotated)
host: (unannotated)
view_id: (unannotated)
Source docstring:
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.
document_from_table(table)
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.
document_table(document)
document: (unannotated)
Implementation alias: lsd_animation.persistence.document_table.
lsdtools.animation.extruded_character#
Kind: function. Source: services/animation/src/lsd_animation/fixtures.py:33.
extruded_character() -> PreparedCharacter
Source docstring:
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.
import_glb(data: bytes, *, mesh_node: int | None=None, ticks_per_second: int=60, scale: float=1.0, render_profile: str) -> ImportedCharacter
data: bytes
mesh_node: int | None
render_profile: str
scale: float
ticks_per_second: int
Source docstring:
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.