Cutscene Node
The Cutscene node plays a timed cinematic sequence with multiple synchronized tracks — dialog, backgrounds, characters, effects, audio, and camera movements.
Timeline Editor
Click "Open Timeline Editor" in the inspector to open the fullscreen sequencer.
Layout
- Preview (top 35%): Shows the scene at the current playhead position. Transport controls (play, pause, skip).
- Timeline (bottom 65%): Track list on the left (200px), timeline bars on the right, playhead (red vertical line).
- Inspector (right 260px): Properties of the selected track.
Transport Controls
- Play/Pause: Real-time playback with moving playhead
- Skip to Start/End: Jump to beginning or end
- Time display: Current position / total duration
- Zoom: Ctrl+Scroll on timeline, or +/- buttons (30%-500%)
Working with Tracks
Each track is a colored bar on the timeline:
- Drag the bar to move it in time
- Drag edges to resize duration (left or right)
- Click to select and edit properties in the inspector
- Mute button (speaker icon) to disable a track during preview
- Snap to 100ms grid
Track Types
Dialog (pink)
Shows text on screen during the cutscene.
- Character: who speaks (or narrator if none)
- Text: the dialog line
Background (blue)
Changes the background image.
- Asset: select from backgrounds
- Transition is always fade, duration is minimum of track duration or 500ms
Effect (yellow)
Screen effects: shake, flash, fade_out, fade_in, tint.
- Effect type: choose the visual effect
- Intensity: 0 to 1
Audio (teal)
Play, stop, or fade music/SFX.
- Action: play, stop, fadeIn, fadeOut
- Audio: select from audio assets
Character (purple)
Enter, exit, or move characters on stage.
- Action: enter, exit, move
- Character: select character
- Position: far_left, left, center, right, far_right
Camera (orange)
Zoom, pan, and animate the camera.
- Zoom: 0.5x to 3x (1.0 = normal)
- Pan X: horizontal offset (-50 to +50%)
- Pan Y: vertical offset (-50 to +50%)
- Easing: linear, ease-in, ease-out, ease-in-out
Camera transforms apply to scene content (background, characters, effects) but not to UI elements (textbox, menus).
Wait (gray)
A spacer track — no visual effect, just timing.
Properties
- Label: name of the cutscene
- Total Duration: length in milliseconds
- Skippable: whether the player can skip the cutscene
Execution
At runtime, the cutscene:
- Sorts all tracks by start time
- Uses
requestAnimationFrameloop for accurate timing - Fires each track's event when elapsed time reaches its start
- Camera tracks apply CSS transform with transition
- Clears dialog when cutscene ends
- If skippable and player clicks, all remaining tracks fire immediately
Tips
- Use the zoom controls to work with precise timing
- Layer dialog tracks with character enter/exit for cinematic sequences
- Camera tracks create dramatic zoom-ins and pans
- Combine fade_out effect with background change for scene transitions
- Set total duration slightly longer than your last track for a clean ending