Open source
Terminal scenes
Zacess Scenes draws calm animated scenes in your terminal in the colours of your Zacess theme. It also watches your Rust build: a calm scene while it passes, a storm while it fails, with short sounds of our own. 39 scenes and 8 sound sets, version 0.5.1.
See it move
A few scenes recorded at 80 by 24 in Zacess Deep Contrast Dark. The animation starts paused when your device asks for reduced motion.
Watch a build
zacess-scenes watch runs bacon in a Rust project and shows the state of the build as a scene. Every state is written on screen as well as shown, so colour or sound is never the only signal.
A calm scene, ALL GOOD, a short caption and any warnings.
A fail scene, BUILD FAILED and the first errors with their locations.
Recovered
When a failing build is fixed, the pass scene opens out from the middle over the fail scene and the status bar says recovered.
Keys
n next scene, b the one before, m next sound set, + and - volume, 1 to 4 switch the job, r rerun, p pause and q quit.
Notifications
With
--notifya desktop notification says when a build fails or is fixed, which screen readers announce.
The original scenes
Ten scenes that run on their own and also show while a build passes. 10 scenes.
seaFish of several sizes, bubbles, seaweed, a boat on the surface and, now and then, a whale crossing the deep water
Reduced motion: Everything swims at half speed and fewer bubbles rise
rainDrops at two depths, ripples where they land and a distant bolt of lightning every few seconds at most
Reduced motion: No lightning at all, slower rain
snowFlakes at two depths drifting down and settling into a bank along the bottom
Reduced motion: Slower snow
starfieldStars that brighten and fade slowly, a crescent moon and, now and then, a slow shooting star
Reduced motion: Stars take twice as long to change, shooting stars are rarer and slower
code-rainColumns of characters falling in the theme's syntax colours, each with a bright head
Reduced motion: Columns fall at most three rows a second and their characters are never swapped
firefliesA dark meadow with lights that wander and pulse slowly
Reduced motion: Slower, longer pulses and slower wandering
auroraSlow waves of colour across the top of a starry sky over a mountain ridge
Reduced motion: The waves move at half speed
campfireFlames whose rows take a new shape one at a time, each at most once every 0.6 seconds, embers that rise and a steady glow on the ground
Reduced motion: Each row changes at most once every 1.5 seconds, fewer and slower embers
wavesA calm sea to the horizon under a sun, with gulls crossing the sky
Reduced motion: Slower swell and slower wing beats
zacessThe Zacess mark drifting slowly and bouncing gently off the edges
Reduced motion: It drifts at half speed
Pass scenes
Calm scenes for a passing build: nature, the city, space, water, the seasons, cosy rooms and two abstract pieces. 16 scenes.
koi-pondA garden pond from above, with koi gliding on slow curves under lily pads, drifting flecks and a slow ripple now and then
Reduced motion: Koi swim at half speed with still tails, fewer and slower ripples
harbourA harbour town at night, with lamps on the quay, their long shimmering reflections, moored boats swaying at their masts, a lighthouse and a passing ferry
Reduced motion: Masts stay still, the shimmer changes half as often, the ferry is slower
lanternsPaper lanterns rising slowly from a dark lake at three depths, each with a reflection that slides down the water as it climbs
Reduced motion: Lanterns rise, sway and drift at half speed
balloonsHot air balloons in three sizes lifting from behind three ridges of rolling hills under drifting clouds
Reduced motion: Balloons rise and drift at half speed
countrysideA steam train crossing open country, with hills, hedgerows, trees, the track and a fence sliding past at their own speeds
Reduced motion: Every layer slides at half speed and smoke puffs half as often
winter-cabinA log cabin in the snow at night, with a lit window, chimney smoke, pines and gently falling snow
Reduced motion: Snow and smoke move at half speed
autumnA tree in autumn colour dropping leaves that turn as they drift down and gather in a pile, with geese crossing now and then
Reduced motion: Leaves fall at half the rate without turning
blossomA flowering branch letting petals go on a breeze, down to a stream that carries them away, with a bird on the branch
Reduced motion: Petals fall and float at half speed without turning, the bird looks about half as often
city-nightA night skyline where windows light and darken one at a time, a moon, a river and a train that crosses a bridge now and then
Reduced motion: Windows change half as often and the train is slower and rarer
orbitA banded, shaded planet circled by a ring that passes behind it and in front of it, with a moon on a slow 40 second orbit
Reduced motion: The moon takes 80 seconds to go round
constellationsStars joined slowly into named figures of our own, one group at a time, held and then faded
Reduced motion: Lines are drawn at half speed and fade more slowly
teaA mug of tea with curling steam, books, a plant and a lamp, with rain or snow at the window
Reduced motion: Fewer, slower puffs of steam and slower weather
cat-napA cat asleep on a cushion, breathing slowly, with drifting z's, wool on the rug and a night window
Reduced motion: Breaths, the tail and the z's take twice as long
gardenSeeds that sprout, grow and bloom over a season of about two minutes, with butterflies, before the bed starts again
Reduced motion: The season takes twice as long and wings beat half as often
tilesA grid of small pages with the Zacess fold, one tile changing colour at a time
Reduced motion: Tiles change half as often
ribbonsRibbons of contour lines flowing slowly across a faint grid of dots
Reduced motion: The ribbons flow at half speed
Fail scenes
Slow, serious scenes that read as something gone wrong without ever flashing, shaking or spinning. 13 scenes.
stormTwice the rain of
rain, slanting in a strong wind under two rows of cloud, with a bolt of lightning every 5 to 9 seconds at most and never in the first fiveReduced motion: No lightning at all, slower rain
floodA street where the water rises slowly past the doors and holds with a gentle swell, debris drifting along the surface and a warning sign going under
Reduced motion: The water rises, swells and drifts at half speed and the drizzle is halved
listing-shipA cargo ship on a grey sea that settles by the bow over a minute as its waterline creeps up past the portholes, then rolls gently while a lifebuoy drifts away
Reduced motion: It lists, rolls and drifts at half speed
corrosionRiveted steel plates where rust creeps out from the rivets cell by cell to half the wall, darkening as it ages, with slow drips
Reduced motion: Rust spreads and drips at half speed and each stage takes twice as long
tangleCables hanging from a patch panel that slowly wander, cross and knot into a swaying snarl with a warning tag
Reduced motion: The cables tangle and sway at half speed
wiltPotted plants on a sunny sill whose stems droop over, leaves dry and fall onto the sill and soil cracks
Reduced motion: The plants wilt, sway and drop leaves at half speed
fogA road with signs, lamps and pines where a fog bank rolls in and the signs fade from view, glimpsed through gaps
Reduced motion: The fog rolls in and drifts at half speed
broken-bridgeA bridge over a flowing river with its middle span gone, girders hanging, the fallen span in the water, a barrier, a warning sign and a waiting car
Reduced motion: The river and clouds move at half speed and fragments fall half as often
leakA cracked pipe dripping into a bucket that fills over a minute and then overflows into a puddle that spreads and holds, with a sinking pressure gauge and a wet floor sign
Reduced motion: Drips come half as often and fall at half speed
blackoutA night skyline whose lit windows go dark one at a time beside a snapped power line, leaving a few candles and windows on their own power
Reduced motion: The windows go dark at half the rate and the clouds drift at half speed
traffic-jamCars queued bumper to bumper before a stop line, cones and a signal stuck on red, with exhaust puffs drifting up
Reduced motion: Cars roll in at half speed and puffs come half as often
erosionA cliff edge crumbling into the sea, stones tumbling and splashing and a fence left hanging over the drop until the face reaches harder rock
Reduced motion: Pieces break away half as often and fall at half speed
droughtCracked earth spreading edge by edge under a heavy sun, a dry riverbed whose last puddle shrinks away, a withered tree and drifting dust
Reduced motion: The cracks spread and the puddle dries at half the rate
Sound sets
Every set plays the same short phrase for each event, so the meaning carries over when the set changes: a rising triad for a pass, a falling fourth for a failure, the triad an octave up for a fix and a rising minor third for new warnings. The tones are made by the program as it runs and levelled so no set is louder than another. --no-sound turns them off.
| Set | Sounds like |
|---|---|
bells | Soft bells with a little shimmer, the original tones |
marimba | Warm wooden bars, short and round |
kalimba | Plucked metal tines with a gentle ring |
pad | A soft synth pad that swells in and fades out |
chip | Gentle 8-bit square waves, rounded so they never buzz |
glass | Slow glassy tones like a wet finger on a rim |
piano | A soft grand piano, felt hammers and a warm low ring |
rain | Water droplets over a quiet bed of rain |
Make it yours
A settings file
zacess-scenes config initwritesscenes.tomlwith every option explained: your pass and fail scenes, rotation, motion level, sound set, volume, quiet hours and notifications.[scenes] theme = "deep-contrast-dark" pass = ["koi-pond", "lanterns", "tea"] fail = ["flood", "fog"] rotation = "shuffle" motion = "calm" [sound] set = "marimba" volume = 40 quiet_hours = "22:00-07:00" [notifications] enabled = trueYour own scenes in Lua
zacess-scenes scene new <name>writes a starter scene. Scenes draw with theme roles rather than colours, so they stay readable in every theme. They run in a sandbox with no file or network access.return { name = "drift", kind = "pass", summary = "A small wave drifting across the screen", captions = { "Calm water, clean build." }, frame = function(ctx) local x = math.floor((ctx.time * 4 * ctx.speed) % ctx.width) put(x, math.floor(ctx.height / 2), "~~~", "accent") end, }Snapshots
zacess-scenes snapshot <scene>renders a still as an SVG, the way every picture on this page was made.zacess-scenes listshows every scene and sound set.
Install
With Cargo
From the release tag on GitHub. Needs Rust 1.85 or later and a C compiler, since Lua is built in.
cargo install --locked --git https://github.com/zacesshq/scenes --tag v0.5.1 zacess-scenesOr a release build
Builds for Apple silicon and Intel Macs, Linux on x86-64 and ARM64 and Windows are on the latest release, each with a checksum.
For watch mode, bacon
cargo install --locked baconThen run
zacess-scenes watchin a Rust project.
No scene flashes more than three times a second, shakes or spins fast, at any motion level and in your own Lua scenes too. Every colour keeps the Zacess contrast floors. The full statement is in the Zacess Scenes accessibility statement.