Appearance
Immersive sequences
An immersive sequence is a keyframe timeline for presentation-level animation.
Snapshot channels
Every keyframe stores:
- Camera position, target, and FOV
- Model position, rotation, and scale
- Exposure and environment intensity
- Ambient, key, and fill light intensity
Sequence shape
ts
interface SequenceConfig {
name: string
duration: number
currentTime: number
playing: boolean
loop: boolean
speed: number
keyframes: SequenceKeyframe[]
}1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Easing
The easing stored on the destination keyframe controls interpolation into it:
ts
'linear' | 'easeInCubic' | 'easeOutCubic' | 'easeInOutCubic'1
Playback
tsx
<ModelLabViewer
src="/models/galaxy.glb"
sequence={sequence}
playSequence
sequenceLoop
sequenceSpeed={1}
/>1
2
3
4
5
6
7
2
3
4
5
6
7
Scrubbing
tsx
<ModelLabViewer
src="/models/galaxy.glb"
sequence={sequence}
playSequence={false}
sequenceProgress={progress}
/>1
2
3
4
5
6
2
3
4
5
6
Sampling without rendering
ts
const snapshot = sampleSequence(sequence, 1.75)1
This is useful for tests, thumbnails, or server-side validation of numeric data.