lumen-engine 0.2.2

Core composition model and rendering orchestration for Lumen.
Documentation

lumen-engine

lumen-engine is the core composition and render orchestration crate. It defines the composition model, node system, media abstractions, JSON support, and the high-level GPU renderer used by the native server, local tools, and WASM bindings.

This crate is experimental. Public APIs, node definitions, schema shapes, and render behavior may change.

Platform Notes

The main renderer paths require a GPU through lumen-engine-gpu/wgpu.

Supported native render targets today are:

  • Linux with Vulkan, plus optional CUDA/NVENC interop when built with vulkan,cuda,ffmpeg.
  • macOS with Metal, plus VideoToolbox-oriented media paths when built with metal,ffmpeg.

Browser/WASM preview paths are separate and use WebGPU/WebGL-facing code.

Features

  • ffmpeg: enable FFmpeg-backed media handling through ffmpeg-next and lumen-engine-ffmpeg.
  • image: enable image decoding helpers.
  • json: enable JSON composition parsing and serialization helpers.
  • webgl: enable WebGL-related code paths.
  • metal: enable Metal support through lumen-engine-gpu and optional FFmpeg interop.
  • vulkan: enable Vulkan support through lumen-engine-gpu and optional FFmpeg interop.
  • cuda: enable CUDA support through optional FFmpeg interop.

Development

cargo check -p lumen-engine
cargo test -p lumen-engine
cargo check -p lumen-engine --features ffmpeg,image,json