Skip to content

Local Development

This guide covers how to build, run, and test Skewer locally. Skewer no longer uses Kubernetes for local development — the production architecture is fully serverless on GCP.

If you just want to render scenes without building from source, use the Pre-built Binaries instead.

See Installation for dependency setup and Building for full build instructions.

Once built, the renderer binary is at build/relwithdebinfo/skewer/skewer-render.

Running a Local Render

./build/relwithdebinfo/skewer/skewer-render <scene.json> [num_threads]
Argument Description
scene.json Path to a JSON scene configuration file
num_threads Override thread count (optional)

Flags:

Flag Description
--frame N Render only animated layers at frame index N
--frames A..B Render animated layers for inclusive frame range [A, B]
--statics-only Render only non-animated layers (one output per layer)
--help, -h Show help message

For the full CLI reference, see CLI Reference.

Scene Previewer

The hosted previewer lets anyone edit and save scenes without any local setup. You only need the local dev server (pnpm run dev) if you're modifying the previewer itself or connecting to your own cloud render farm. See the Previewer Guide for details.

Building Loom (Deep Compositor)

Loom is built alongside the renderer in the same CMake build:

cmake --build --preset relwithdebinfo --target loom --parallel 4

The binary is at build/relwithdebinfo/loom/loom. See the CLI Reference for all flags and options.

Example usage:

./build/relwithdebinfo/loom/loom --deep-output --verbose \
  layer1/frame-0001.exr layer2/frame-0001.exr \
  composited/frame-0001

Testing Your Setup

# Build with tests enabled and run the test suite
cmake --preset ci
cmake --build --preset ci --parallel 4
ctest --preset ci --parallel 4

# Run a quick test render (configure output in scene.json)
./build/relwithdebinfo/skewer/skewer-render \
  apps/scene-previewer/public/templates/scene.json 4

Next Steps