Interactive

Playgrounds

Each playground is a live deployment of the elah SDK. Launch one to explore the editor, test your integration, or demo the capabilities.

Running locally?

Start the web app with npm run dev:web and open any playground above directly in the browser.

live

Full Editor

The complete editor composition: asset panel with drag-drop import, GPU-accelerated preview with interactive transform overlays, full timeline with snapping, audio playback, transitions, and MP4 export.

WebGL2WebCodecsTimelineAudioExport
Launch Playground
What you can explore
  • Drop any video/image/audio file to import
  • Drag clips to timeline from asset panel
  • Click preview to select + transform clips
  • Space to play/pause, S to split at playhead
  • Export button → MP4 download
live

Timeline Only

The timeline component in isolation. Explore the full editing interaction model without the WebGL renderer or decode pipeline. Ideal for integration testing or building a custom rendering layer.

TimelineReactZustandFramer Motion
Launch Playground
What you can explore
  • Programmatically add video/audio/text clips
  • Drag to move, edge-drag to trim
  • Ctrl+Scroll to zoom
  • Context menu → Delete
  • Full undo/redo history
preview

Full Editor Demo

Guided demo with sample media pre-loaded. Walks through the major features: cut editing, title overlays, fade transition, and MP4 export — in a single browser session.

Full StackSample MediaTransitionsExport
Launch Playground
What you can explore
  • Pre-loaded sample video and audio
  • Guided walkthrough of core features
  • Demonstrates fade transition
  • Text overlay creation and styling
  • Export pipeline end-to-end
What powers the playgrounds
Renderer
WebGL2 GpuRenderer
VideoLayer, ImageLayer, TextLayer
Decode
WebCodecs API
Push-based StreamingFrameProducer
Demux
mediabunny
MP4/WebM container parsing
Export
Web Worker
OffscreenCanvas + mediabunny mux
State
Zustand + Immer
Structural sharing, undo/redo
UI
React 18
Concurrent mode, refs
Build
Vite + TypeScript
npm workspaces, project refs
Audio
Web Audio API
Main-thread scheduling