Appearance
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.sequenceHeadless 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.