Documentation
¶
Overview ¶
Command xscapes renders the thinking scene.
Without flags it prints one frame, which is what you want in a pipe. The live TUI is a thin wrapper over exactly this renderer.
Source Files
¶
- anim.go
- busy.go
- catalts.go
- catalts_art.go
- catalts_picks.go
- cataltspage.go
- cattop_art.go
- cmd.go
- colors.go
- companion_pref.go
- compare.go
- context.go
- crabeye.go
- crabeye_art.go
- ctxcycle.go
- day.go
- decisions.go
- eyes.go
- faces.go
- frames.go
- gifs.go
- hook.go
- inside.go
- install.go
- kittens.go
- launch.go
- layout.go
- live.go
- loopclips.go
- main.go
- mockup.go
- moonpage.go
- overlay.go
- pace.go
- reel.go
- sandfade.go
- shades.go
- sheet.go
- site.go
- starfall.go
- starfallcadence.go
- starfallpage.go
- starfallsweep.go
- strip.go
- tune.go
- wired.go
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
canvas
Package canvas is the layer/alpha compositor.
|
Package canvas is the layer/alpha compositor. |
|
companion
Package companion holds the resident creature: the thing that idles while the agent works and comes to tell you when it is done.
|
Package companion holds the resident creature: the thing that idles while the agent works and comes to tell you when it is done. |
|
envx
Package envx reads xscapes settings from the environment, and keeps the pre-rename ASCIISCAPES_* names working.
|
Package envx reads xscapes settings from the environment, and keeps the pre-rename ASCIISCAPES_* names working. |
|
event
Package event is the waiting-layer protocol: one JSON object per line, written by an adapter, read by a scape.
|
Package event is the waiting-layer protocol: one JSON object per line, written by an adapter, read by a scape. |
|
notify
Package notify is the audible half of the nudge.
|
Package notify is the audible half of the nudge. |
|
reduce
Package reduce folds a stream of protocol events into the continuous state the renderer consumes.
|
Package reduce folds a stream of protocol events into the continuous state the renderer consumes. |
|
scape
Package scape holds the scenes.
|
Package scape holds the scenes. |
|
term
Package term handles colour: the RGB model the renderer composites in, and the translation down to whatever the host terminal can actually show.
|
Package term handles colour: the RGB model the renderer composites in, and the translation down to whatever the host terminal can actually show. |
|
notes
|
|
|
anchorprobe
command
anchorprobe measures ONE fact xscapes currently guesses at: when a Terminal.app window shrinks while the ALTERNATE screen is up, does the terminal keep the TOP of the screen or the BOTTOM?
|
anchorprobe measures ONE fact xscapes currently guesses at: when a Terminal.app window shrinks while the ALTERNATE screen is up, does the terminal keep the TOP of the screen or the BOTTOM? |
|
charstudy/crab
command
|
|
|
charstudy/redeyes
command
redeyes renders the companion's WORRIED eyes in every candidate colour, through the product's own pipeline, at the three hours the eye study uses.
|
redeyes renders the companion's WORRIED eyes in every candidate colour, through the product's own pipeline, at the three hours the eye study uses. |
|
contentprobe
command
contentprobe measures whether Terminal.app moves CONTENT when the window grows, in the configuration xscapes actually runs in.
|
contentprobe measures whether Terminal.app moves CONTENT when the window grows, in the configuration xscapes actually runs in. |
|
drift
command
Command drift answers one question: which way does the sea actually travel?
|
Command drift answers one question: which way does the sea actually travel? |
|
gradientaudit
command
gradientaudit measures the 256-colour sky and sea gradients hour by hour, at a given geometry, and writes what it found as a table and as a page.
|
gradientaudit measures the 256-colour sky and sea gradients hour by hour, at a given geometry, and writes what it found as a table and as a page. |
|
haloprobe
command
haloprobe: does Shore.MoonHalo change any cell? Prints the background and the resolved 256 tone on the moon's row, with the switch off and on.
|
haloprobe: does Shore.MoonHalo change any cell? Prints the background and the resolved 256 tone on the moon's row, with the switch off and on. |
|
histprobe
command
histprobe measures ONE fact the scrollback plan rests on: does Terminal.app put lines that scroll out of a row-1 DECSTBM band on the ALTERNATE screen into the tab's history, where the user can scroll to them?
|
histprobe measures ONE fact the scrollback plan rests on: does Terminal.app put lines that scroll out of a row-1 DECSTBM band on the ALTERNATE screen into the tab's history, where the user can scroll to them? |
|
lineprobe
command
lineprobe is the instrument for his two reports of 2026-09-06: the thin lines on 256, and the sun that "breaks and fixes itself" as the context depletes.
|
lineprobe is the instrument for his two reports of 2026-09-06: the thin lines on 256, and the sun that "breaks and fixes itself" as the context depletes. |
|
mirrorprobe
command
mirrorprobe measures whether rows can be written into the MAIN buffer's scrollback while the ALTERNATE screen stays on display, by switching buffers without a clear (DECSET 47) around each write.
|
mirrorprobe measures whether rows can be written into the MAIN buffer's scrollback while the ALTERNATE screen stays on display, by switching buffers without a clear (DECSET 47) around each write. |
|
moonprobe
command
moonprobe prints the cells around the moon as a 256-colour terminal shows them, with the palette paths on and off, so a report about the moon can be read cell by cell instead of argued about.
|
moonprobe prints the cells around the moon as a 256-colour terminal shows them, with the palette paths on and off, so a report about the moon can be read cell by cell instead of argued about. |
|
moonstudy
command
moonstudy renders the moon's edge three ways, at three hours, cropped to the cells around the disc, as a 256-colour terminal shows them -- so the question "why not the mockup's soft moon" can be answered by looking.
|
moonstudy renders the moon's edge three ways, at three hours, cropped to the cells around the disc, as a 256-colour terminal shows them -- so the question "why not the mockup's soft moon" can be answered by looking. |
|
rulecount
command
rulecount counts the one-pixel rules Terminal.app draws through the scape, and measures how LONG each one runs.
|
rulecount counts the one-pixel rules Terminal.app draws through the scape, and measures how LONG each one runs. |
|
s28-askroom
command
Command askroom answers the question HIS idea turns on, 2026-09-10: "can we animate the main Agent/companion to come CLOSER to the user before it prompts it?"
|
Command askroom answers the question HIS idea turns on, 2026-09-10: "can we animate the main Agent/companion to come CLOSER to the user before it prompts it?" |
|
s28-asleep
command
Command asleep measures how long the companion is RESTING while the agent is working, by folding his real recordings through the REAL reducer and sampling the pose the way the render loop does.
|
Command asleep measures how long the companion is RESTING while the agent is working, by folding his real recordings through the REAL reducer and sampling the pose the way the render loop does. |
|
s28-closer
command
Command closer measures the room a bigger companion would need, before any art is drawn.
|
Command closer measures the room a bigger companion would need, before any art is drawn. |
|
s28-closer/a-step
command
Command a-step draws DIRECTION A of his 2026-09-10 idea -- "can we animate the main Agent/companion to come CLOSER to the user before it prompts it? So the companion (crab, in this case) would walk up closer to the screen and get bigger."
|
Command a-step draws DIRECTION A of his 2026-09-10 idea -- "can we animate the main Agent/companion to come CLOSER to the user before it prompts it? So the companion (crab, in this case) would walk up closer to the screen and get bigger." |
|
s28-closer/a-step-check
command
Blind check of the "minimal step" candidate (notes/s28-closer/a-step).
|
Blind check of the "minimal step" candidate (notes/s28-closer/a-step). |
|
s28-closer/b-push-check
command
Blind check of the b-push candidate.
|
Blind check of the b-push candidate. |
|
s28-closer/b-push-check/eyes
command
Part 2 of the blind check: overlay their eye sprite exactly where they say it goes, and test whether their 16x11 is a UNIFORM scale-up of the shipped crab (a push-in) or a vertical stretch (a different animal).
|
Part 2 of the blind check: overlay their eye sprite exactly where they say it goes, and test whether their 16x11 is a UNIFORM scale-up of the shipped crab (a push-in) or a vertical stretch (a different animal). |
|
s28-closer/b-push-check/fit
command
Part 3: does an 11-cell-tall companion fit anywhere, at any tide level? Measured against the real Shore, not read off their table.
|
Part 3: does an 11-cell-tall companion fit anywhere, at any tide level? Measured against the real Shore, not read off their table. |
|
s28-closer/b-push-check/scene
command
Part 4: stand both crabs on the real foot line at the real median-ask waterline and see what is in the sea.
|
Part 4: stand both crabs on the real foot line at the real median-ask waterline and see what is in the sea. |
|
s28-closer/b-push/art
command
Command art renders direction B's push-in art through the REAL companion.ParseBitmap / ToQuadrant, because art that was not rendered is a guess.
|
Command art renders direction B's push-in art through the REAL companion.ParseBitmap / ToQuadrant, because art that was not rendered is a guess. |
|
s28-closer/b-push/pose
Package pose holds direction B's push-in art, so the renderer and the scene instrument draw the SAME bitmaps.
|
Package pose holds direction B's push-in art, so the renderer and the scene instrument draw the SAME bitmaps. |
|
s28-closer/b-push/scene
command
Command scene puts direction B's crab into a REAL shore at his real geometries and at the real level the ask fires at, and prints where the waterline crosses it.
|
Command scene puts direction B's crab into a REAL shore at his real geometries and at the real level the ask fires at, and prints where the waterline crosses it. |
|
s28-closer/b-push/tide
command
Command tide answers the half of direction B that decides whether the other half is worth drawing: an 11-row companion needs 11 rows of beach, and at the median ask he has 7 or 8.
|
Command tide answers the half of direction B that decides whether the other half is worth drawing: an 11-row companion needs 11 rows of beach, and at the median ask he has 7 or 8. |
|
s28-closer/c-lean
command
Command c-lean draws DIRECTION C of the "come closer before the ask" study: no scale change at all.
|
Command c-lean draws DIRECTION C of the "come closer before the ask" study: no scale change at all. |
|
s28-closer/c-lean-check
command
Blind check of candidate C ("lean", no scale change).
|
Blind check of candidate C ("lean", no scale change). |
|
s28-closer/critic
command
Command critic renders all four s28 candidates through the SAME pipeline the product uses (companion.ParseBitmap -> ToQuadrant) and measures them against each other and against the shipped crab.
|
Command critic renders all four s28 candidates through the SAME pipeline the product uses (companion.ParseBitmap -> ToQuadrant) and measures them against each other and against the shipped crab. |
|
s28-closer/d-double
command
Command double is DIRECTION D of the s28 "come closer" study: the exact 2x.
|
Command double is DIRECTION D of the s28 "come closer" study: the exact 2x. |
|
s28-closer/d-double-check
command
Command dcheck is a BLIND check of the d-double candidate ("the exact 2x").
|
Command dcheck is a BLIND check of the d-double candidate ("the exact 2x"). |
|
s28-drift
command
Command s28-drift hunts the SIDEWAYS DRIFT RESIDUE.
|
Command s28-drift hunts the SIDEWAYS DRIFT RESIDUE. |
|
s28-drift-verify
command
Command s28-drift-verify is an ADVERSARIAL re-check of notes/s28-drift.
|
Command s28-drift-verify is an ADVERSARIAL re-check of notes/s28-drift. |
|
s28-drift-verify/todcheck
command
Command todcheck is a positive control for section E of s28-drift-verify.
|
Command todcheck is a positive control for section E of s28-drift-verify. |
|
s28-emitcheck
command
Command emitcheck answers his 2026-09-10 question -- "I did it, but didnt notice anything, what was supposed to happen?" -- by running the events he actually sent through the real reducer and printing the pose that results.
|
Command emitcheck answers his 2026-09-10 question -- "I did it, but didnt notice anything, what was supposed to happen?" -- by running the events he actually sent through the real reducer and printing the pose that results. |
|
s28-guarantees
command
Command s28-guarantees re-runs the tide's three LOCKED guarantees, plus the two clamps tide.go relies on, across a sweep of geometries.
|
Command s28-guarantees re-runs the tide's three LOCKED guarantees, plus the two clamps tide.go relies on, across a sweep of geometries. |
|
s28-guarantees-verify
command
Command s28-guarantees-verify is an ADVERSARIAL re-check of the s28-guarantees finding.
|
Command s28-guarantees-verify is an ADVERSARIAL re-check of the s28-guarantees finding. |
|
s28-guarantees-verify/cal
command
cal is the counterfactual the s28-guarantees finding never ran: it measures the churn at three geometries so shore.go:546 can be edited underneath it.
|
cal is the counterfactual the s28-guarantees finding never ran: it measures the churn at three geometries so shore.go:546 can be edited underneath it. |
|
s28-guarantees-verify/his
command
his measures the churn guarantee ONLY at geometries Lucas has actually run, read out of his own trace sidecars (~/.config/xscapes/traces/*.log, whose columns are traceN cols rows agentRows -- see host.traceSize), and driven by the level path his own reducer produces from ~/.config/xscapes/run/*.jsonl.
|
his measures the churn guarantee ONLY at geometries Lucas has actually run, read out of his own trace sidecars (~/.config/xscapes/traces/*.log, whose columns are traceN cols rows agentRows -- see host.traceSize), and driven by the level path his own reducer produces from ~/.config/xscapes/run/*.jsonl. |
|
s28-litter
command
Command s28-litter asks one question of the RENDERED frame: does the litter stand in the water?
|
Command s28-litter asks one question of the RENDERED frame: does the litter stand in the water? |
|
s28-litter-verify
command
Command s28-litter-verify is an ADVERSARIAL re-check of notes/s28-litter's finding "the litter does not stand in the water at any height his windows produce".
|
Command s28-litter-verify is an ADVERSARIAL re-check of notes/s28-litter's finding "the litter does not stand in the water at any height his windows produce". |
|
s28-magday
command
Command magday answers two of his 2026-09-11 notes at once:
|
Command magday answers two of his 2026-09-11 notes at once: |
|
s28-pace
command
notes/s28-pace -- THE PACE SNAP, driven through the SHIPPED pace().
|
notes/s28-pace -- THE PACE SNAP, driven through the SHIPPED pace(). |
|
s28-pacehold
command
notes/s28-pacehold -- WHAT DOES "STILL" HAVE TO MEAN, measured on his own event log rather than argued from the comment.
|
notes/s28-pacehold -- WHAT DOES "STILL" HAVE TO MEAN, measured on his own event log rather than argued from the comment. |
|
s28-preview
command
Command s28-preview shows HIS near-ask idea in HIS terminal, at HIS window size, through the real canvas and the real 256-colour quantiser.
|
Command s28-preview shows HIS near-ask idea in HIS terminal, at HIS window size, through the real canvas and the real 256-colour quantiser. |
|
s28-seamap
command
Command s28-seamap asks the sea's mapping question at FOUR geometries instead of one, and asks it in a form that can be refuted: for every channel, at every level, it reports the reading AND the channel's own frame-to-frame noise.
|
Command s28-seamap asks the sea's mapping question at FOUR geometries instead of one, and asks it in a form that can be refuted: for every channel, at every level, it reports the reading AND the channel's own frame-to-frame noise. |
|
s28-seamap-verify
command
Command s28-seamap-verify is an ADVERSARIAL re-check of notes/s28-seamap.
|
Command s28-seamap-verify is an ADVERSARIAL re-check of notes/s28-seamap. |
|
s28-skyday
command
Command skyday answers his 2026-09-10 note -- "looking at this current session as it gets darker, I see more characters varying in sizes and shapes appearing.
|
Command skyday answers his 2026-09-10 note -- "looking at this current session as it gets darker, I see more characters varying in sizes and shapes appearing. |
|
s28-smalls
command
Command s28smalls closes the two small unruled items on RESUME item 4, by measurement rather than by reading the source.
|
Command s28smalls closes the two small unruled items on RESUME item 4, by measurement rather than by reading the source. |
|
s28-smalls-verify
command
Command s28smallsverify is an ADVERSARIAL re-check of notes/s28-smalls.
|
Command s28smallsverify is an ADVERSARIAL re-check of notes/s28-smalls. |
|
s28-starflicker
command
Command starflicker answers HIS report of 2026-09-10, made live inside the installed build: "I can see some of the constellation stars appearing and disappearing - once they appear, they should not disappear IMO."
|
Command starflicker answers HIS report of 2026-09-10, made live inside the installed build: "I can see some of the constellation stars appearing and disappearing - once they appear, they should not disappear IMO." |
|
s28-starfun
command
Command starfun is a STUDY, not a change.
|
Command starfun is a STUDY, not a change. |
|
s28-stargrab
command
Command stargrab answers his 2026-09-10 question -- "heres a screengrab of how the stars are showing up on the constellation, is this as expected?" -- by rendering the constellation at HIS geometry and counting what lands where.
|
Command stargrab answers his 2026-09-10 question -- "heres a screengrab of how the stars are showing up on the constellation, is this as expected?" -- by rendering the constellation at HIS geometry and counting what lands where. |
|
s28-starroom
command
Command starroom measures the sky the constellation is allowed to use, and what it is actually using, before anything is changed.
|
Command starroom measures the sky the constellation is allowed to use, and what it is actually using, before anything is changed. |
|
s28-stars-fun-check
command
Command s28-stars-fun-check is an INDEPENDENT check of the constellation as it stands in the working tree.
|
Command s28-stars-fun-check is an INDEPENDENT check of the constellation as it stands in the working tree. |
|
s28-stars-fun-check/hist
command
Command hist answers two questions the main check left open.
|
Command hist answers two questions the main check left open. |
|
s28-stars-fun-check/repro
command
Does the constellation depend on how long the shore has been running? If it does not, a wide seed sweep can warm for far fewer frames -- and if it does, every quick instrument in this study is void.
|
Does the constellation depend on how long the shore has been running? If it does not, a wide seed sweep can warm for far fewer frames -- and if it does, every quick instrument in this study is void. |
|
s28-stars-fun-check/seeds
command
Command seeds asks one question their suite cannot: does the constellation hold at a seed nobody chose?
|
Command seeds asks one question their suite cannot: does the constellation hold at a seed nobody chose? |
|
s28-stars-placement-check
command
s28-stars-placement-check is an INDEPENDENT audit of the constellation's placement.
|
s28-stars-placement-check is an INDEPENDENT audit of the constellation's placement. |
|
s28-turn
command
Command turn asks whether HIS 2026-09-10 idea is reachable in this medium: the Claude app's mascot "moves from one side to another and uses colors to give the illusion of a 3d perspective when it turns."
|
Command turn asks whether HIS 2026-09-10 idea is reachable in this medium: the Claude app's mascot "moves from one side to another and uses colors to give the illusion of a 3d perspective when it turns." |
|
scapestudy
command
scapestudy renders every proposed scene and companion through the product's own pipeline, as a 256-colour terminal shows them, onto one page -- so the question "which of these, if any" can be answered by looking rather than argued from descriptions.
|
scapestudy renders every proposed scene and companion through the product's own pipeline, as a 256-colour terminal shows them, onto one page -- so the question "which of these, if any" can be answered by looking rather than argued from descriptions. |
|
searange
command
Command searange asks one question of the RENDERED sea: how much of the activity level's range does the picture actually use?
|
Command searange asks one question of the RENDERED sea: how much of the activity level's range does the picture actually use? |
|
sgrprobe
command
sgrprobe answers: does Terminal.app's DECRC (ESC 8) restore the SGR that DECSC (ESC 7) saved?
|
sgrprobe answers: does Terminal.app's DECRC (ESC 8) restore the SGR that DECSC (ESC 7) saved? |
|
shrinkprobe
command
shrinkprobe measures what happens to the AGENT'S CURSOR when the window changes size on the alternate screen, through the host's real Rebind, and where a Claude-style RELATIVE redraw then lands.
|
shrinkprobe measures what happens to the AGENT'S CURSOR when the window changes size on the alternate screen, through the host's real Rebind, and where a Claude-style RELATIVE redraw then lands. |
|
sunprobe
command
sunprobe prints the cells around the sun as a truecolor terminal and a 256-colour terminal each show them, so a report that the sun differs between Ghostty and Terminal.app can be read cell by cell.
|
sunprobe prints the cells around the sun as a truecolor terminal and a 256-colour terminal each show them, so a report that the sun differs between Ghostty and Terminal.app can be read cell by cell. |
|
tcframe
command
tcframe writes one frame of the demo scene in truecolor and in 256, side by side, to judge the page's clips: his 2026-09-05 note, "we should show truecolor grabs, not 256.
|
tcframe writes one frame of the demo scene in truecolor and in 256, side by side, to judge the page's clips: his 2026-09-05 note, "we should show truecolor grabs, not 256. |
|
wetsand
command
Command wetsand answers one question: what does the 256 cube do with the waterline, and where does it stop being able to draw wet sand at all?
|
Command wetsand answers one question: what does the 256 cube do with the waterline, and where does it stop being able to draw wet sand at all? |
|
wheelprobe
command
wheelprobe records what Terminal.app SENDS to a program on the alternate screen when the user turns the mouse wheel, with and without mouse reporting enabled.
|
wheelprobe records what Terminal.app SENDS to a program on the alternate screen when the user turns the mouse wheel, with and without mouse reporting enabled. |
|
widthprobe
command
widthprobe paints a known picture on the ALTERNATE screen and waits, so a driver can change the window's WIDTH from outside and read the cells back.
|
widthprobe paints a known picture on the ALTERNATE screen and waits, so a driver can change the window's WIDTH from outside and read the cells back. |
Click to show internal directories.
Click to hide internal directories.
