CineCode
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

KeyTypeDescription
scenesarray of stringsProject-relative .ccs paths, in play order.
themestringProject theme (see Themes). Default dark_documentary.
fontsarray of pathsFont 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]

KeyTypeDescription
titlestringThe episode/film title.
[episode]
title = "How Rivers Form"

[output]

KeyTypeDefaultDescription
fpsinteger30Frames per second (1..240).
widthinteger1280Output width in pixels (max 16384).
heightinteger720Output 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]

KeyTypeDescription
trackpathAudio file muxed into the final video.
volumefloatLinear gain in 0..16 (e.g. 0.6).
[audio]
track = "assets/music.mp3"
volume = 0.6

[transition]

Default transition between scenes.

KeyTypeDescription
kindstringTransition kind (see Transitions).
framesintegerDuration of the transition.
colorstringHex color for fade_color, e.g. "#080a14".
[transition]
kind = "crossfade"
frames = 18

Full example

codescene.toml
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

On this page