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

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