Skip to content

Editor, viewer, and headless runtime

ModelLabEditor

ModelLabEditor is stateful authoring software. It accepts browser File objects, builds a local asset bundle, exposes inspection UI, and exports the result. It is designed for development environments.

ModelLabViewer

ModelLabViewer accepts a deployable src URL. It merges defaults, an exported preset, partial configuration overrides, and an optional sequence override in a predictable precedence order.

text
DEFAULT_CONFIG
  < preset.viewer
  < config prop
  < sequence prop for viewer.sequence

Headless components

The headless runtime does not load models or create a canvas. It operates on refs that your scene owns.

tsx
<Canvas>
  <ModelPivotGroup ref={modelRef} pivot={preset.viewer.pivot.point}>
    <primitive object={gltf.scene} />
  </ModelPivotGroup>
  <ImmersiveSequencePlayer modelRef={modelRef} sequence={sequence} />
</Canvas>

Why the package is separated

The editor includes file inputs, inspection panels, material controls, keyframe UI, and export utilities. Keeping it separate prevents these tools from becoming an unavoidable production dependency.

Released under the MIT License.