Reference
Project manifest
Every key in codescene.toml.
codescene.toml is the project manifest. It selects scenes and configures the
output.
Unknown keys are rejected so typos fail early. File paths must be relative to
the project root and may not escape it through absolute paths, .., or symlinks.
TOML requires all bare keys (scenes, theme, fonts) to appear before
any [table] section. Put them at the top of the file.
Root keys
| Key | Type | Description |
|---|---|---|
scenes | array of strings | Project-relative .ccs paths, in play order. |
theme | string | Project theme (see Themes). Default dark_documentary. |
fonts | array of paths | Font files to load and make available to font(...). |
scenes = ["scenes/intro.ccs", "scenes/terrain.ccs", "scenes/outro.ccs"]
theme = "dark_documentary"
fonts = ["assets/fonts/Inter.ttf"][episode]
| Key | Type | Description |
|---|---|---|
title | string | The episode/film title. |
[episode]
title = "How Rivers Form"[output]
| Key | Type | Default | Description |
|---|---|---|---|
fps | integer | 30 | Frames per second (1..240). |
width | integer | 1280 | Output width in pixels (max 16384). |
height | integer | 720 | Output height in pixels (max 16384). |
background | [r, g, b, a] | β | Default background color (0..1). |
[output]
fps = 30
width = 1280
height = 720
background = [0.04, 0.05, 0.08, 1.0][shaders]
Name-to-path map of WGSL shaders, usable on the GPU backend.
[shaders]
aurora = "shaders/aurora.wgsl"
glitch = "shaders/glitch.wgsl"See Shaders.
[audio]
| Key | Type | Description |
|---|---|---|
track | path | Audio file muxed into the final video. |
volume | float | Linear gain in 0..16 (e.g. 0.6). |
[audio]
track = "assets/music.mp3"
volume = 0.6[transition]
Default transition between scenes.
| Key | Type | Description |
|---|---|---|
kind | string | Transition kind (see Transitions). |
frames | integer | Duration of the transition. |
color | string | Hex color for fade_color, e.g. "#080a14". |
[transition]
kind = "crossfade"
frames = 18Full example
scenes = ["scenes/intro.ccs", "scenes/terrain.ccs", "scenes/pathfind.ccs", "scenes/outro.ccs"]
theme = "dark_documentary"
fonts = ["assets/fonts/Inter.ttf"]
[episode]
title = "How Rivers Form"
[output]
fps = 30
width = 1280
height = 720
background = [0.04, 0.05, 0.08, 1.0]
[transition]
kind = "crossfade"
frames = 18
[shaders]
aurora = "shaders/aurora.wgsl"
[audio]
track = "assets/music.mp3"
volume = 0.6