Scene Grades & Ambient

A grade colours the world art for a mood, a time of day or a place: background assets, character art and the exploration map, wherever they are drawn — inside battle too. UI is never graded: dialogue, choices, toolbar, and in battle the health bars, ability panel, turn order, floating damage and log all stay at full brightness. Set it with the {grade} action or game.setGrade(); it persists across rooms and saves until changed.

Ambient particles ({ambient}) are a separate layer of fireflies, dust motes or embers drifting over the scene backgrounds. They are independent of the grade, so a mood can be graded without them and they can be added on top.

For the action rows see Actions.

Grades

PresetLook
Time of day
dawnPeach highlights over cool shadows, soft sky glow, gentle rays
duskLow sun: amber highlights, violet shadows, glowing sky, vignette, light rays
nightNavy shadows, pale moon highlights, dark sky, vignette
moonlitSilver highlights, deep blue shadows, faint moonbeams
sunlitBright and warm, sunlit sky, light rays
brightBlown out, glaring, high contrast
Weather & place
overcastFlat grey daylight, low contrast, pale sky
stormyDark slate clouds, desaturated, vignette
foggyWashed pale, lifted shadows, fog lying low
underwaterTeal, lighter surface, light shafts from above
Elemental & magical
candlelitWarm amber highlights, deep brown shadows, heavy vignette
infernalFurnace orange, fire glow rising from below
frozenPale cyan, white highlights, blue shadows
arcaneViolet, magenta highlights, indigo shadows
voidNear-black, colourless, closing vignette
State of mind
sicklyGreen cast, olive shadows, vignette
bloodiedRed wash, tunnel-vision vignette
dreamSoft, bright, lavender-pink, glowing beams
nightmareCrushed dark, high contrast, near-closed vignette
Utility
memorySepia flashback, faded blacks, old-photo vignette
noirGreyscale, punchy contrast, vignette
noneDaylight

time_of_day

weather_and_place

elemental_and_magical

state_of_mind

utility

{grade: "night"}                    // full strength, ~0.8s crossfade
{grade: "night#0.5"}                // half strength
{grade: false}                      // fade back to daylight ("none" also works)
{grade: {duration: 3}}              // fade back to daylight over 3s

{grade: {preset: "night", amount: 0.5, duration: 2}}

// Manual control. Explicit fields override the preset.
{grade: {brightness: 0.5, saturate: 0.6, contrast: 1.06, hue: -10, tint: #16264f, tint_amount: 0.25, duration: 1.5}}

// Split toning: dark tones lean toward `shadow`, bright tones toward `highlight` (scene, actors, map)
{grade: {preset: "night", shadow: #1a2450, shadow_amount: 0.3, highlight: #c8d8ff, highlight_amount: 0.2}}

// Light over scene backgrounds only: sky gradient (#808080 = no change), vignette, rays
{grade: {preset: "dusk", sky_top: #372870, sky_mid: #ff7d37, sky_bottom: #2d1e50, sky_amount: 0.7, vignette: 0.5, rays: 0.5, rays_angle: -25}}
{grade: {preset: "dusk", rays: 0}}  // dusk without the light rays

// Characters take the grade at actor_strength (0.5 by default), so they stay readable over the plate
{grade: {preset: "night", actor_strength: 0.8}}   // actors sink further into the night
{grade: {preset: "noir", actor_strength: 1}}      // actors fully graded, like the scene

// An actor that gives off its own light skips the grade
{actor: "ghost->middle(grade=false)"}
FieldRangeApplies to
shadow, highlighthexscene, actors, map
shadow_amount, highlight_amount0–1scene, actors, map
sky_top, sky_mid, sky_bottomhexscene backgrounds
sky_amount, vignette, rays0–1scene backgrounds
rays_angledegrees, 0 = verticalscene backgrounds
actor_strength0–1, default 0.5actors (share of the grade they take)

Numbers need a leading zero — write 0.5, never .5. A hex colour may be written unquoted.

Ambient particles

KindLook
firefliesGreen-gold lights wandering low, each blinking on its own
motesFaint dust drifting up and across
embersOrange sparks rising and burning out

ambient

{ambient: "fireflies"}              // fades in over the backgrounds, below the actors
{ambient: "fireflies#0.5"}          // half as many
{ambient: "embers"}                 // the old kind fades out, the new one fades in
{ambient: false}                    // fade out ("none" also works)

{grade: "dusk", ambient: "fireflies"}

Persists across rooms and saves until changed. Independent of grade.