@modelhealth/viewer-react
    Preparing search index...

    Interface View3DProps

    interface View3DProps {
        className?: string;
        color?: string;
        externalClock?: boolean;
        geometryBaseUrl?: string;
        markers?: View3DMarkerLayer[];
        onDurationChange?: (duration: number) => void;
        onPlayingChange?: (isPlaying: boolean) => void;
        overlay?: OverlayTransforms;
        skipGeometries?: string[];
        trackedBodyKey?: string;
        transforms: VisualizerTransforms;
    }
    Index
    className?: string

    Additional class name applied to the root element.

    color?: string

    Body mesh tint color. Defaults to white.

    externalClock?: boolean

    Set 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.

    geometryBaseUrl?: string

    Base URL bone mesh .obj assets are fetched from. Defaults to the public Model Health geometry bucket.

    markers?: View3DMarkerLayer[]

    Optional marker overlay layers — see fetchMarkerTransforms in ./adapters.js.

    onDurationChange?: (duration: number) => void

    Called 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.

    onPlayingChange?: (isPlaying: boolean) => void

    Called 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.

    Optional 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.

    skipGeometries?: string[]

    Geometry filenames (source .vtp names) to skip fetching/rendering.

    trackedBodyKey?: string

    Body segment used to anchor the scene origin and initial camera fit. Defaults to "pelvis".

    Parsed animation data — see fetchAnimationTransforms in ./adapters.js.