OptionalclassOptionalcolorBody mesh tint color. Defaults to white.
OptionalexternalSet this when something outside View3D — a video player, for example —
already tracks playback position and you want the 3D view to strictly
follow it instead of running its own clock. While set, play() has no
effect and playback never advances on its own; call seek(time) every
time your own clock updates, as often as once per frame.
OptionalgeometryBase URL bone mesh .obj assets are fetched from. Defaults to the public Model Health geometry bucket.
OptionalmarkersOptional marker overlay layers — see fetchMarkerTransforms in ./adapters.js.
OptionalonCalled whenever the computed duration changes (typically once, right
after transforms/markers/overlay are set) — use this to size a
scrubber's range without needing a render to read ref.current.duration.
OptionalonCalled whenever playback starts or stops, including when it stops on its
own (e.g. reaching the end) — not just in response to play()/pause().
Use this to keep an external play/pause toggle in sync with actual state.
OptionaloverlayOptional left/right vector overlay. Not currently backed by an SDK motion
data type — see fetchExternalSto + parseExternalSto in ./adapters.js,
which fetch and parse the synced .sto result of external data you uploaded
under a tag of your choosing.
OptionalskipGeometry filenames (source .vtp names) to skip fetching/rendering.
OptionaltrackedBody segment used to anchor the scene origin and initial camera fit. Defaults to "pelvis".
Parsed animation data — see fetchAnimationTransforms in ./adapters.js.
Additional class name applied to the root element.