# Ascii v0.3.0 - Table of Contents > ASCII-art components for Elixir: native diagrams, live-data widgets and exact ascii.rest animations for Phoenix LiveView, terminal UIs and Nerves. ## Pages - [Ascii](readme.md) - Guides - [Getting started](getting-started.md) - [Migrating to ascii](migrating-to-ascii.md) - [Components at a glance](components.md) - [Native diagrams](diagrams.md) - [Phoenix and LiveView](phoenix.md) - [Terminal apps](terminal.md) - [ExRatatui](ex_ratatui.md) - [Livebook](livebook.md) - [Nerves](nerves.md) - [Drawing frames yourself](custom-rendering.md) - [Writing a piece](writing-pieces.md) - About the port - [Porting notes](porting.md) - [Port status](port_status.md) - [Upstream](upstream.md) - [Third-party notices](third_party_notices.md) - [LICENSE](license.md) ## Modules - Core - [Ascii](Ascii.md): ASCII-art UI components and animated art for Elixir, ported from [ascii.rest](https://ascii.rest) by [@bas3line](https://github.com/bas3line). - [Ascii.Animation](Ascii.Animation.md): A piece being played: its module and options, how it is drawn, and its state so far. Made by `Ascii.new/2` and advanced by `Ascii.frame/3`. - [Ascii.Env](Ascii.Env.md): What a frame is drawn for, upstream's `env` plus the size and the clock. - [Ascii.Frame](Ascii.Frame.md): One frame of a piece, ready for any renderer. - [Ascii.Ink](Ascii.Ink.md): Colour for a piece drawn in one ink: one colour for every character, or several as a gradient across the picture, and colours for its parts. - [Ascii.Meta](Ascii.Meta.md): What a piece is: upstream's `meta`, field for field. - [Ascii.Options](Ascii.Options.md): Checks options from outside (code, LiveView params and session, the CLI) against a piece's defaults. - [Ascii.Parts](Ascii.Parts.md): The parts of a piece, coloured one by one: a file tree's folders, files and branches, a boot log's `OK` and `WARN`, a chart's bars and axes. - [Ascii.Piece](Ascii.Piece.md): The piece contract, upstream's in Elixir. - Renderers - [Ascii.Compose](Ascii.Compose.md): Frames put together into one: a frame in a bordered panel with a title, rules between sections, frames side by side or one above another. For a dashboard on a plain terminal (`Ascii.Render.ANSI`), a Nerves device's screen, an SVG, or anything else that draws one frame. - [Ascii.Player](Ascii.Player.md): Plays a piece in real time: a process that draws a frame every `1/fps` seconds and hands it on. - [Ascii.Render.ANSI](Ascii.Render.ANSI.md): A frame for a terminal: text with ANSI colour escapes. - [Ascii.Render.HTML](Ascii.Render.HTML.md): A frame as the inside of a `
`: escaped text, and for a coloured frame
a `` a run of one colour. A run whose colour is
`nil` (in no coloured part, see `Ascii.Parts`) is plain text, in the
page's own; one in a CSS variable (see `Ascii.Ink`) takes the page's
value for it.
  - [Ascii.Render.SVG](Ascii.Render.SVG.md): A frame as an SVG picture: for an email, a README, a social preview, or
anywhere an image goes and a `
` cannot.
  - [Ascii.Render.Text](Ascii.Render.Text.md): A frame as plain text: `rows` lines of `cols` characters, no colour.

- Live data
  - [Ascii.BEAM](Ascii.BEAM.md): This VM's readings, as options for the data pieces: an htop of the BEAM.
Its schedulers are cores, its memory is memory, its run queue is the load,
and its processes are the process list, busiest first by reductions.
  - [Ascii.Telemetry](Ascii.Telemetry.md): Your app's `:telemetry` events as live data for the pieces: a process
that keeps a reading of each metric a sample at a time, for a
sparkline's series, a gauge's needle or a progress bar.

- Diagrams
  - [Ascii.Diagram](Ascii.Diagram.md): Native, data-driven diagrams rendered as `Ascii.Frame`s.
  - [Ascii.Diagram.Layout](Ascii.Diagram.Layout.md): Compiled cell geometry for a diagram, reusable for drawing and hit testing.
  - [Ascii.Mermaid](Ascii.Mermaid.md): Parses a documented subset of Mermaid into native `Ascii.Diagram`s.

- Phoenix
  - [Ascii.Phoenix](Ascii.Phoenix.md): Pieces in Phoenix: `player/1` plays one in a page, through its own
LiveView (`Ascii.Phoenix.PlayerLive`); `live_player/1` plays one
inside yours (`Ascii.Phoenix.PlayerComponent`), taking new options as
your assigns change, for live data. For a still, use
`Ascii.Phoenix.Components.ascii/1`.
  - [Ascii.Phoenix.Components](Ascii.Phoenix.Components.md): Function components for drawing pieces in Phoenix, without JavaScript.
  - [Ascii.Phoenix.PlayerComponent](Ascii.Phoenix.PlayerComponent.md): A LiveComponent that plays a piece inside your LiveView and takes new
options as they change: for live data, a reading for a gauge, the latest
samples for a sparkline.
  - [Ascii.Phoenix.PlayerLive](Ascii.Phoenix.PlayerLive.md): A LiveView that plays one piece, to embed with `live_render/3` (or
`Ascii.Phoenix.player/1`). It owns its process and its timer, so the
page that embeds it needs no `handle_info` of its own.

- ExRatatui
  - [Ascii.ExRatatui](Ascii.ExRatatui.md): Frames for [ExRatatui](https://hexdocs.pm/ex_ratatui) terminal UIs: as
ratatui text, as a `Paragraph`, or placed in an area of the screen.
  - [Ascii.ExRatatui.Viewer](Ascii.ExRatatui.Viewer.md): A terminal app that plays pieces full screen: space pauses, ← and →
step through the pieces, q quits.

- Pieces: scenes
  - [Ascii.Pieces.AlpineDawn](Ascii.Pieces.AlpineDawn.md): Snow peaks catching first light above a still, misty mountain lake.
  - [Ascii.Pieces.AuroraFjord](Ascii.Pieces.AuroraFjord.md): Aurora curtains rippling over a still fjord, a cabin lit on the shore.
  - [Ascii.Pieces.DeepReef](Ascii.Pieces.DeepReef.md): Light shafts, swaying kelp and a turning school of fish over a reef.
  - [Ascii.Pieces.DesertNight](Ascii.Pieces.DesertNight.md): The milky way over a lone acacia on moonless dunes, meteors falling.
  - [Ascii.Pieces.Earthrise](Ascii.Pieces.Earthrise.md): The earth rising over a cratered lunar horizon in long low sunlight.
  - [Ascii.Pieces.KyotoDusk](Ascii.Pieces.KyotoDusk.md): A pagoda at dusk behind a cherry tree lit by a stone lantern.
  - [Ascii.Pieces.MarineDrive](Ascii.Pieces.MarineDrive.md): Mumbai's queen's necklace at night, lamps curving round the bay.
  - [Ascii.Pieces.MistyForest](Ascii.Pieces.MistyForest.md): Pine ridges fading into morning fog, sunbeams slanting through.
  - [Ascii.Pieces.NightCoast](Ascii.Pieces.NightCoast.md): A lighthouse turning its beam under moonlit clouds over a dark sea.
  - [Ascii.Pieces.OceanSunset](Ascii.Pieces.OceanSunset.md): The sun sets past a pine headland, lit cloud, glitter on rolling sea.
  - [Ascii.Pieces.StormPlains](Ascii.Pieces.StormPlains.md): An anvil thunderhead at dusk flickering over a wheat field.
  - [Ascii.Pieces.TajDawn](Ascii.Pieces.TajDawn.md): The taj mahal at sunrise, mirrored in its pool through morning haze.
  - [Ascii.Pieces.VaranasiGhats](Ascii.Pieces.VaranasiGhats.md): Dusk aarti on the ganga, lamps on the steps and diyas on the water.

- Pieces: shapes
  - [Ascii.Pieces.Cube](Ascii.Pieces.Cube.md): A stippled hidden-line cube turning a quarter at a time.
  - [Ascii.Pieces.DnaHelix](Ascii.Pieces.DnaHelix.md): A double helix with base pairs, turning about its axis.
  - [Ascii.Pieces.Donut](Ascii.Pieces.Donut.md): A lit torus turning on two axes, after donut.c.
  - [Ascii.Pieces.Glxgears](Ascii.Pieces.Glxgears.md): Three meshing gears turning, after glxgears.
  - [Ascii.Pieces.Gyroscope](Ascii.Pieces.Gyroscope.md): Gimbals swing round a spinning rotor whose axle holds still.
  - [Ascii.Pieces.Heart](Ascii.Pieces.Heart.md): A glossy 3d heart swaying and beating lub-dub.
  - [Ascii.Pieces.Icosahedron](Ascii.Pieces.Icosahedron.md): A wireframe icosahedron turning, its hidden edges dotted.
  - [Ascii.Pieces.MobiusStrip](Ascii.Pieces.MobiusStrip.md): A mobius strip turning and nodding, lit from above.
  - [Ascii.Pieces.Spring](Ascii.Pieces.Spring.md): A weight bouncing on a coil spring, its coils bunching.
  - [Ascii.Pieces.Tesseract](Ascii.Pieces.Tesseract.md): A 4d hypercube turning, its cubes passing through each other.
  - [Ascii.Pieces.TorusKnot](Ascii.Pieces.TorusKnot.md): A trefoil knot drawn as a lit tube, turning slowly.
  - [Ascii.Pieces.TwistedRing](Ascii.Pieces.TwistedRing.md): A square ring twisted three quarters, so it has one face.

- Pieces: space
  - [Ascii.Pieces.BlackHole](Ascii.Pieces.BlackHole.md): A black hole, its lensed disk turning, one side brighter.
  - [Ascii.Pieces.Earth](Ascii.Pieces.Earth.md): A lit globe turning, continents from a five-degree map.
  - [Ascii.Pieces.Eclipse](Ascii.Pieces.Eclipse.md): The moon slides over the sun; diamond ring, then corona.
  - [Ascii.Pieces.Galaxy](Ascii.Pieces.Galaxy.md): A tilted spiral galaxy turning, its inner stars the fastest.
  - [Ascii.Pieces.MoonPhases](Ascii.Pieces.MoonPhases.md): The moon waxing and waning, its maria darker in the light.
  - [Ascii.Pieces.Planet](Ascii.Pieces.Planet.md): A banded ringed planet turning, with shadows both ways.
  - [Ascii.Pieces.Rocket](Ascii.Pieces.Rocket.md): A rocket lifting off its pad at night, then landing back.
  - [Ascii.Pieces.Saptarishi](Ascii.Pieces.Saptarishi.md): The big dipper at true positions in a twinkling sky.
  - [Ascii.Pieces.SolarSystem](Ascii.Pieces.SolarSystem.md): Four planets on dotted orbits, periods by kepler's third law.
  - [Ascii.Pieces.Starfield](Ascii.Pieces.Starfield.md): Stars rush out from the centre and streak at the edges.
  - [Ascii.Pieces.ThreeBody](Ascii.Pieces.ThreeBody.md): Three equal masses sharing one figure-eight orbit.

- Pieces: physics
  - [Ascii.Pieces.BouncingBalls](Ascii.Pieces.BouncingBalls.md): Rubber balls bouncing lower each time, squashing on landing.
  - [Ascii.Pieces.Chladni](Ascii.Pieces.Chladni.md): Sand travelling to the nodal lines of a ringing plate.
  - [Ascii.Pieces.DoublePendulum](Ascii.Pieces.DoublePendulum.md): A chaotic double pendulum; its tip leaves a fading trail.
  - [Ascii.Pieces.FallingSand](Ascii.Pieces.FallingSand.md): Sand pouring into a heap, then draining through the shelf.
  - [Ascii.Pieces.Flag](Ascii.Pieces.Flag.md): A striped flag rippling on a pole, folds catching the light.
  - [Ascii.Pieces.Fountain](Ascii.Pieces.Fountain.md): Arcs of water from a nozzle falling as drops into a basin.
  - [Ascii.Pieces.Harmonograph](Ascii.Pieces.Harmonograph.md): A pen on two decaying pendulums winding a figure inward.
  - [Ascii.Pieces.Lorenz](Ascii.Pieces.Lorenz.md): One lorenz trajectory looping both wings, older loops fading.
  - [Ascii.Pieces.NewtonsCradle](Ascii.Pieces.NewtonsCradle.md): Five steel balls on strings passing one knock back and forth.
  - [Ascii.Pieces.PendulumWave](Ascii.Pieces.PendulumWave.md): A row of pendulums drifting in and out of step, from above.
  - [Ascii.Pieces.PluckedString](Ascii.Pieces.PluckedString.md): A plucked string, slowed down, its harmonics fading.
  - [Ascii.Pieces.PondRipples](Ascii.Pieces.PondRipples.md): Raindrops opening rings that cross and fade on a pond.
  - [Ascii.Pieces.Smoke](Ascii.Pieces.Smoke.md): Incense smoke rising straight, then curling and thinning.
  - [Ascii.Pieces.WaveInterference](Ascii.Pieces.WaveInterference.md): Two sources in a ripple tank, still lines fanning out.

- Pieces: nature
  - [Ascii.Pieces.Aurora](Ascii.Pieces.Aurora.md): An aurora curtain rippling over a treeline under stars.
  - [Ascii.Pieces.Bonsai](Ascii.Pieces.Bonsai.md): A potted tree that sheds its leaves and leafs out again.
  - [Ascii.Pieces.Campfire](Ascii.Pieces.Campfire.md): A log fire flickering, sparks rising; denser ink is hotter.
  - [Ascii.Pieces.CherryBlossom](Ascii.Pieces.CherryBlossom.md): A flowering cherry branch shedding petals on the wind.
  - [Ascii.Pieces.ContourMap](Ascii.Pieces.ContourMap.md): An island in contour lines, its hills slowly reshaping.
  - [Ascii.Pieces.Fern](Ascii.Pieces.Fern.md): Barnsley's fern filling in point by point, then swaying.
  - [Ascii.Pieces.Fireflies](Ascii.Pieces.Fireflies.md): Fireflies over night grass, a flash spreading through them.
  - [Ascii.Pieces.FractalTree](Ascii.Pieces.FractalTree.md): A recursive branching tree swaying in the wind.
  - [Ascii.Pieces.Landscape](Ascii.Pieces.Landscape.md): A range and a lake under the sun or moon of the local hour.
  - [Ascii.Pieces.Lightning](Ascii.Pieces.Lightning.md): A forked bolt striking out of a storm cloud in the rain.
  - [Ascii.Pieces.Rain](Ascii.Pieces.Rain.md): Slanting rain in three depths, crowns and puddle rings.
  - [Ascii.Pieces.RuledMountains](Ascii.Pieces.RuledMountains.md): Ruled lines with a range rising from them, drifting forward.
  - [Ascii.Pieces.SeaSwell](Ascii.Pieces.SeaSwell.md): A long swell lifting a small sailboat as it rolls under.
  - [Ascii.Pieces.Snowfall](Ascii.Pieces.Snowfall.md): Snow swaying down, building drifts on the ground and a fence.
  - [Ascii.Pieces.Sunrise](Ascii.Pieces.Sunrise.md): The sun lifting off a sea horizon, its path glittering.
  - [Ascii.Pieces.Wind](Ascii.Pieces.Wind.md): Gusts streaming along bending lines, curling at the head.

- Pieces: creatures
  - [Ascii.Pieces.Aquarium](Ascii.Pieces.Aquarium.md): Fish swimming and turning in a tank, bubbles and weed.
  - [Ascii.Pieces.Butterfly](Ascii.Pieces.Butterfly.md): A butterfly flapping and gliding along a wandering path.
  - [Ascii.Pieces.Cat](Ascii.Pieces.Cat.md): A tabby asleep on its paws, breathing slowly.
  - [Ascii.Pieces.Fox](Ascii.Pieces.Fox.md): A fox asleep on its tail, breathing, peeking now and then.
  - [Ascii.Pieces.Jellyfish](Ascii.Pieces.Jellyfish.md): A jellyfish pulsing upward, its tentacles trailing late.
  - [Ascii.Pieces.Owl](Ascii.Pieces.Owl.md): An owl on a branch, blinking slowly and turning its head.
  - [Ascii.Pieces.Snake](Ascii.Pieces.Snake.md): A snake slithering along an s-curve, flicking its tongue.
  - [Ascii.Pieces.Spider](Ascii.Pieces.Spider.md): A spider lowering itself on silk, then climbing back up.
  - [Ascii.Pieces.Starlings](Ascii.Pieces.Starlings.md): A murmuration wheeling about, split by a passing falcon.
  - [Ascii.Pieces.Whale](Ascii.Pieces.Whale.md): A whale blows, arches its back and dives, fluke last.

- Pieces: objects
  - [Ascii.Pieces.AnalogClock](Ascii.Pieces.AnalogClock.md): A round clock face showing the local time, seconds ticking.
  - [Ascii.Pieces.Candle](Ascii.Pieces.Candle.md): A flickering candle burning down in its holder, then renewed.
  - [Ascii.Pieces.Coffee](Ascii.Pieces.Coffee.md): Steam curling up from a cup of coffee on its saucer.
  - [Ascii.Pieces.FerrisWheel](Ascii.Pieces.FerrisWheel.md): A wheel turning on its a-frame, cabins hanging upright.
  - [Ascii.Pieces.HawaMahal](Ascii.Pieces.HawaMahal.md): Jaipur's palace of winds at night, lamps behind the jali.
  - [Ascii.Pieces.Hourglass](Ascii.Pieces.Hourglass.md): Sand running through the neck, then turned over.
  - [Ascii.Pieces.Kite](Ascii.Pieces.Kite.md): A diamond kite riding the wind, its string sagging in lulls.
  - [Ascii.Pieces.LavaLamp](Ascii.Pieces.LavaLamp.md): Wax blobs rising, merging and sinking in a lit glass.
  - [Ascii.Pieces.Lighthouse](Ascii.Pieces.Lighthouse.md): A beam sweeping over night sea from a lighthouse on rocks.
  - [Ascii.Pieces.Skyline](Ascii.Pieces.Skyline.md): A city at night, windows going on and off, a blinking mast.
  - [Ascii.Pieces.Sundial](Ascii.Pieces.Sundial.md): Jaipur's samrat yantra, its shadow set by your local time.
  - [Ascii.Pieces.Train](Ascii.Pieces.Train.md): A steam train crossing on its track, smoke puffing behind.
  - [Ascii.Pieces.Vinyl](Ascii.Pieces.Vinyl.md): A record turning under the tonearm, seen from above.
  - [Ascii.Pieces.Windmill](Ascii.Pieces.Windmill.md): Four lattice sails turning on a dutch mill, clouds passing.

- Pieces: generative
  - [Ascii.Pieces.Epicycles](Ascii.Pieces.Epicycles.md): A chain of turning circles whose tip traces a star.
  - [Ascii.Pieces.FlowField](Ascii.Pieces.FlowField.md): Particle trails gathering into winding, merging streams.
  - [Ascii.Pieces.GliderGun](Ascii.Pieces.GliderGun.md): Gosper's gun firing a glider every 30 generations.
  - [Ascii.Pieces.HilbertCurve](Ascii.Pieces.HilbertCurve.md): A closed loop of two hilbert curves, with two lit runners.
  - [Ascii.Pieces.JuliaSet](Ascii.Pieces.JuliaSet.md): A julia set changing shape as its constant c goes round.
  - [Ascii.Pieces.LangtonsAnt](Ascii.Pieces.LangtonsAnt.md): Order, then chaos, then the ant builds its highway.
  - [Ascii.Pieces.Mandelbrot](Ascii.Pieces.Mandelbrot.md): A slow zoom into seahorse valley and back out again.
  - [Ascii.Pieces.Maze](Ascii.Pieces.Maze.md): A maze carved by backtracking, then solved, then remade.
  - [Ascii.Pieces.Plasma](Ascii.Pieces.Plasma.md): Soft interference blobs drifting and pulsing.
  - [Ascii.Pieces.ReactionDiffusion](Ascii.Pieces.ReactionDiffusion.md): Gray-scott spots and stripes dying back and growing out.
  - [Ascii.Pieces.Rule30](Ascii.Pieces.Rule30.md): One cell grows a row at a time under rules 30, 90 and 110.
  - [Ascii.Pieces.Sierpinski](Ascii.Pieces.Sierpinski.md): The chaos game filling a sierpinski triangle point by point.
  - [Ascii.Pieces.Voronoi](Ascii.Pieces.Voronoi.md): Cells of ground nearest each drifting seed.

- Pieces: effects
  - [Ascii.Pieces.DoomFire](Ascii.Pieces.DoomFire.md): The psx fire spread, tongues climbing off a white-hot bed.
  - [Ascii.Pieces.Fireworks](Ascii.Pieces.Fireworks.md): Shells climb and burst as peonies, rings, willows and palms.
  - [Ascii.Pieces.MatrixRain](Ascii.Pieces.MatrixRain.md): Streams of glyphs falling, heavy at the head, thin behind.
  - [Ascii.Pieces.Rotozoomer](Ascii.Pieces.Rotozoomer.md): A brick wall texture turning and zooming about the centre.
  - [Ascii.Pieces.Sparks](Ascii.Pieces.Sparks.md): An angle grinder throwing sparks that arc, skip and cool.
  - [Ascii.Pieces.Synthwave](Ascii.Pieces.Synthwave.md): A grid rolling toward a striped sun behind a mountain ridge.
  - [Ascii.Pieces.Tunnel](Ascii.Pieces.Tunnel.md): Flying down a tiled tube that bends and twists.
  - [Ascii.Pieces.TvStatic](Ascii.Pieces.TvStatic.md): Snow on an old set that tunes into a test card and loses it.

- Pieces: ui
  - [Ascii.Pieces.BootLog](Ascii.Pieces.BootLog.md): A self test counts memory, then the boot log scrolls by.
  - [Ascii.Pieces.BoxFrames](Ascii.Pieces.BoxFrames.md): Twelve frame styles to copy, each one labelled.
  - [Ascii.Pieces.Calendar](Ascii.Pieces.Calendar.md): This month like cal, today bracketed, time ticking below.
  - [Ascii.Pieces.DigitalClock](Ascii.Pieces.DigitalClock.md): The local time in seven-segment digits, colon blinking.
  - [Ascii.Pieces.Dividers](Ascii.Pieces.Dividers.md): Rules and ornaments for between sections, plain to fancy.
  - [Ascii.Pieces.FileTree](Ascii.Pieces.FileTree.md): A tree listing opened folder by folder, then closed again.
  - [Ascii.Pieces.FormControls](Ascii.Pieces.FormControls.md): A terminal style form being filled in, field by field.
  - [Ascii.Pieces.NotFound](Ascii.Pieces.NotFound.md): A block-letter 404 with a small ghost drifting beneath it.
  - [Ascii.Pieces.ProgressBar](Ascii.Pieces.ProgressBar.md): Five bar styles filling at uneven paces, percent at right.
  - [Ascii.Pieces.Skeleton](Ascii.Pieces.Skeleton.md): A loading card in shade blocks with a shimmer passing over.
  - [Ascii.Pieces.Spinners](Ascii.Pieces.Spinners.md): Twelve loading spinners side by side, each with its name.
  - [Ascii.Pieces.Terminal](Ascii.Pieces.Terminal.md): A shell session: typed commands, output, scrolling, clear.

- Pieces: data
  - [Ascii.Pieces.BarChart](Ascii.Pieces.BarChart.md): Bars easing between three datasets, values riding on top.
  - [Ascii.Pieces.Candlesticks](Ascii.Pieces.Candlesticks.md): Hollow up candles, solid down ones, the last one forming live.
  - [Ascii.Pieces.CpuMeters](Ascii.Pieces.CpuMeters.md): Htop-style core, memory and swap meters over a process list.
  - [Ascii.Pieces.Equalizer](Ascii.Pieces.Equalizer.md): Spectrum bars bouncing to a beat, peak caps falling slowly.
  - [Ascii.Pieces.Gauge](Ascii.Pieces.Gauge.md): Semicircle dial, the needle overshoots each new reading.
  - [Ascii.Pieces.Heartbeat](Ascii.Pieces.Heartbeat.md): An ecg trace sweeping over its last pass, with a bpm readout.
  - [Ascii.Pieces.Heatmap](Ascii.Pieces.Heatmap.md): Contribution calendar, a day at a time, weeks scrolling left.
  - [Ascii.Pieces.Radar](Ascii.Pieces.Radar.md): Rotating sweep with afterglow, contacts fade between passes.
  - [Ascii.Pieces.Sparkline](Ascii.Pieces.Sparkline.md): Three live block sparklines scrolling left, values at right.
  - [Ascii.Pieces.UptimeBar](Ascii.Pieces.UptimeBar.md): 60-day uptime bars for three services, a new day slides in.

- Pieces: type
  - [Ascii.Pieces.BigText](Ascii.Pieces.BigText.md): A block-letter banner with a line shadow and a passing glint.
  - [Ascii.Pieces.Dissolve](Ascii.Pieces.Dissolve.md): Words that crumble to dust and condense into the next.
  - [Ascii.Pieces.Glitch](Ascii.Pieces.Glitch.md): A pixel word that tears into sliding slices in short bursts.
  - [Ascii.Pieces.Marquee](Ascii.Pieces.Marquee.md): A scrolling led sign framed by chasing bulbs.
  - [Ascii.Pieces.Morse](Ascii.Pieces.Morse.md): A lamp keying morse, the marks on a tape, letters decoded.
  - [Ascii.Pieces.Scramble](Ascii.Pieces.Scramble.md): Phrases decoding left to right out of flickering glyphs.
  - [Ascii.Pieces.SplitFlap](Ascii.Pieces.SplitFlap.md): A departures board whose flaps riffle to each new line.
  - [Ascii.Pieces.Typewriter](Ascii.Pieces.Typewriter.md): Phrases typed and deleted in turn behind a blinking cursor.
  - [Ascii.Pieces.WaveText](Ascii.Pieces.WaveText.md): A swell running through a line of text, left to right.

- Pieces: logos
  - [Ascii.Pieces.C](Ascii.Pieces.C.md): A c on a blue hexagon, glinting now and then.
  - [Ascii.Pieces.Clojure](Ascii.Pieces.Clojure.md): A lambda in a green and blue circle, glinting now and then.
  - [Ascii.Pieces.Cpp](Ascii.Pieces.Cpp.md): C++ on a blue hexagon, glinting now and then.
  - [Ascii.Pieces.Csharp](Ascii.Pieces.Csharp.md): C# on a purple hexagon, glinting now and then.
  - [Ascii.Pieces.Css](Ascii.Pieces.Css.md): The blue shield with a 3, glinting now and then.
  - [Ascii.Pieces.Dart](Ascii.Pieces.Dart.md): The dart, in blue and teal, glinting now and then.
  - [Ascii.Pieces.Elixir](Ascii.Pieces.Elixir.md): The purple drop, glinting now and then.
  - [Ascii.Pieces.Erlang](Ascii.Pieces.Erlang.md): The red e in brackets, glinting now and then.
  - [Ascii.Pieces.Go](Ascii.Pieces.Go.md): Go with its speed lines, glinting now and then.
  - [Ascii.Pieces.Haskell](Ascii.Pieces.Haskell.md): An angle, a lambda and an equals sign, glinting now and then.
  - [Ascii.Pieces.Html](Ascii.Pieces.Html.md): The orange shield with a 5, glinting now and then.
  - [Ascii.Pieces.Java](Ascii.Pieces.Java.md): The steaming cup, glinting now and then.
  - [Ascii.Pieces.Javascript](Ascii.Pieces.Javascript.md): Js on a yellow square, glinting now and then.
  - [Ascii.Pieces.Julia](Ascii.Pieces.Julia.md): Three dots, green, red and purple, glinting now and then.
  - [Ascii.Pieces.Kotlin](Ascii.Pieces.Kotlin.md): The k, in violet and pink, glinting now and then.
  - [Ascii.Pieces.Lua](Ascii.Pieces.Lua.md): A planet and its moon, glinting now and then.
  - [Ascii.Pieces.Ocaml](Ascii.Pieces.Ocaml.md): The camel on an orange square, glinting now and then.
  - [Ascii.Pieces.Perl](Ascii.Pieces.Perl.md): The onion, glinting now and then.
  - [Ascii.Pieces.Php](Ascii.Pieces.Php.md): Php in its purple oval, glinting now and then.
  - [Ascii.Pieces.Python](Ascii.Pieces.Python.md): Two snakes, blue and yellow, glinting now and then.
  - [Ascii.Pieces.R](Ascii.Pieces.R.md): A blue r over a grey ring, glinting now and then.
  - [Ascii.Pieces.Ruby](Ascii.Pieces.Ruby.md): The cut red gem, glinting now and then.
  - [Ascii.Pieces.Rust](Ascii.Pieces.Rust.md): The r in its cog, in ferris orange, glinting now and then.
  - [Ascii.Pieces.Scala](Ascii.Pieces.Scala.md): The red spiral stair, glinting now and then.
  - [Ascii.Pieces.Swift](Ascii.Pieces.Swift.md): The swift on an orange square, glinting now and then.
  - [Ascii.Pieces.Typescript](Ascii.Pieces.Typescript.md): Ts on a blue square, glinting now and then.
  - [Ascii.Pieces.Zig](Ascii.Pieces.Zig.md): The slanted z in brackets, glinting now and then.

- Pieces: distros
  - [Ascii.Pieces.Almalinux](Ascii.Pieces.Almalinux.md): Five coloured figures in a ring, scanned now and then.
  - [Ascii.Pieces.AlpineLinux](Ascii.Pieces.AlpineLinux.md): The mountain in a hexagon, scanned now and then.
  - [Ascii.Pieces.ArchLinux](Ascii.Pieces.ArchLinux.md): The blue arch, scanned now and then.
  - [Ascii.Pieces.Centos](Ascii.Pieces.Centos.md): Four coloured squares in a star, scanned now and then.
  - [Ascii.Pieces.Debian](Ascii.Pieces.Debian.md): The red swirl, scanned now and then.
  - [Ascii.Pieces.Deepin](Ascii.Pieces.Deepin.md): The swirl in a blue ring, scanned now and then.
  - [Ascii.Pieces.ElementaryOs](Ascii.Pieces.ElementaryOs.md): The e in a ring, scanned now and then.
  - [Ascii.Pieces.Endeavouros](Ascii.Pieces.Endeavouros.md): The violet sail, scanned now and then.
  - [Ascii.Pieces.Fedora](Ascii.Pieces.Fedora.md): The f in its blue bubble, scanned now and then.
  - [Ascii.Pieces.Gentoo](Ascii.Pieces.Gentoo.md): The lavender g, scanned now and then.
  - [Ascii.Pieces.KaliLinux](Ascii.Pieces.KaliLinux.md): The blue dragon, scanned now and then.
  - [Ascii.Pieces.LinuxMint](Ascii.Pieces.LinuxMint.md): Lm in a green circle, scanned now and then.
  - [Ascii.Pieces.Manjaro](Ascii.Pieces.Manjaro.md): Three green blocks, scanned now and then.
  - [Ascii.Pieces.Nixos](Ascii.Pieces.Nixos.md): The snowflake of lambdas, scanned now and then.
  - [Ascii.Pieces.Opensuse](Ascii.Pieces.Opensuse.md): The green chameleon, scanned now and then.
  - [Ascii.Pieces.PopOs](Ascii.Pieces.PopOs.md): The p! in a teal circle, scanned now and then.
  - [Ascii.Pieces.RedHat](Ascii.Pieces.RedHat.md): The man in the red hat, scanned now and then.
  - [Ascii.Pieces.RockyLinux](Ascii.Pieces.RockyLinux.md): The mountain in a green circle, scanned now and then.
  - [Ascii.Pieces.Tux](Ascii.Pieces.Tux.md): Tux the penguin, scanned now and then.
  - [Ascii.Pieces.Ubuntu](Ascii.Pieces.Ubuntu.md): The circle of friends, in orange, scanned now and then.
  - [Ascii.Pieces.VoidLinux](Ascii.Pieces.VoidLinux.md): The green ring, cut through, scanned now and then.
  - [Ascii.Pieces.ZorinOs](Ascii.Pieces.ZorinOs.md): The z in blue stripes, scanned now and then.

- Internals
  - [Ascii.Int32](Ascii.Int32.md): JavaScript's 32-bit integer operators.
  - [Ascii.JSMath](Ascii.JSMath.md): JavaScript's number semantics where they differ from Elixir's.
  - [Ascii.Registry](Ascii.Registry.md): Every piece, by its upstream file name.
  - [Ascii.Kit.Clock](Ascii.Kit.Clock.md): The wall clock for `clock: true` pieces, from `env.now`.
  - [Ascii.Kit.Distro](Ascii.Kit.Distro.md): A Linux distribution's logo with a scan line running down it now and then:
every upstream distro piece.
  - [Ascii.Kit.Grid](Ascii.Kit.Grid.md): A picture being drawn cell by cell: upstream's `string[][]` filled with
spaces and written into, here a sparse map over a blank.
  - [Ascii.Kit.Hash](Ascii.Kit.Hash.md): The integer hashes that many upstream pieces share, word for word.
  - [Ascii.Kit.Logo](Ascii.Kit.Logo.md): A language's logo, glinting now and then: every upstream logo piece.
  - [Ascii.Kit.Mark](Ascii.Kit.Mark.md): What the logos and distros share: three drawings of the same mark.
  - [Ascii.Kit.Number](Ascii.Kit.Number.md): Numbers written to fit a column: as given if they fit, with fewer
decimals if that does, else compactly, in thousands (`k`), millions
(`M`), billions (`G`), then `T`, `P` and `E`.
  - [Ascii.Kit.Palette](Ascii.Kit.Palette.md): Colours: `#rrggbb` parsing and the scenes' nearest-palette lookup.
  - [Ascii.Kit.Ramp](Ascii.Kit.Ramp.md): Shading ramps, light to dense, and their flip on paper.
  - [Ascii.Kit.Rand](Ascii.Kit.Rand.md): mulberry32, the seeded PRNG most pieces use, as a value to thread.
  - [Ascii.Kit.Scene](Ascii.Kit.Scene.md): The shading helpers every upstream scene defines, word for word: `clamp`,
`smooth` (smoothstep from `a` to `b`), `mix`, and value noise and fBm over
`Ascii.Kit.Hash.scene/2`.
  - [Ascii.Kit.Text](Ascii.Kit.Text.md): JS string operations, on code points.

## Mix Tasks

- [mix ascii.golden](Mix.Tasks.Ascii.Golden.md): Regenerates `test/fixtures/golden/*.json` and `test/fixtures/js_math.json`
from an upstream checkout, by running `tools/gen_golden.mjs` and
`tools/gen_js_math.mjs` under Node.
- [mix ascii.perf](Mix.Tasks.Ascii.Perf.md): Plays each piece as upstream's `scripts/check.ts` times it, a fresh
instance stepped every `1/fps` seconds from 0 to 6, and prints the average
and worst time a frame took (the first frame aside), against upstream's
budgets: text pieces 4 ms on average and 30 ms at worst, scenes 10 ms on
average and 40 ms at worst.
- [mix ascii.play](Mix.Tasks.Ascii.Play.md): Plays a piece in the terminal, in colour, until you press `q` or Ctrl-C.
- [mix ascii.svg](Mix.Tasks.Ascii.Svg.md): Writes one frame of a piece as an SVG picture (`Ascii.Render.SVG`),
for a README, an email or a social preview.
- [mix ascii.top](Mix.Tasks.Ascii.Top.md): This VM in the terminal, htop-style, until you press `q` or Ctrl-C: its
schedulers as cores, its memory, its run queue as the load, its busiest
processes, and the last two minutes of memory, processes and run queue.