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

    Interface View3DProps

    interface View3DProps {
        className?: string;
        color?: string;
        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.

    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.