Skip to content

Introduction

Model Lab solves a common 3D web-development problem: the values that make a model look correct are often discovered interactively, but production code needs those values in a stable, reusable format.

The package provides three layers:

  1. Authoring: ModelLabEditor loads local assets and exposes camera, scene, material, texture, pivot, animation, and diagnostics controls.
  2. Serialization: the editor exports a versioned JSON preset and optional standalone sequence JSON.
  3. Runtime: ModelLabViewer or the headless utilities reproduce those choices in a website.

Supported assets

The built-in loaders support GLB and GLTF. A GLTF may reference separate .bin, image, and texture files; the editor accepts a complete folder or multi-file selection and resolves those local dependencies through object URLs.

The runtime supports regular GLTF loading, Draco decoding, and Meshopt decoding. Replacement textures authored from local files are mapped to deployable URLs with textureUrls.

What Model Lab is not

Model Lab is not a modeling package and does not edit vertices, rigs, or skin weights. It is an inspection, presentation, and animation-authoring layer. The pivot system is intentionally non-destructive: it creates a transform hierarchy instead of rewriting geometry.

Design goals

  • Make model behavior observable and editable.
  • Export stable, readable configuration.
  • Keep production bundles smaller than the editor.
  • Preserve embedded glTF animation.
  • Support conventional meshes, lines, and point clouds.
  • Keep time-based and scroll-based animation deterministic.

Next step

Continue to Installation.

Released under the MIT License.