mode
algorithm
layer (blend with)
blend mode
charset
size
parameters (show)
generation 0 seed —

glossary

controls
pin seedlocks the current image structure. generate again with different settings and the underlying form stays the same — only the rendering changes. tap again to release.
reset settingsclears mode, border, layer, charset, and all sliders back to defaults. keeps the current algorithm and seed.
lockappears next to each section label. when locked, that section is skipped by randomise.
randomiserandomises algorithm, layer, charset, sliders, mode, and border, then generates. locked sections are skipped.
flow smearshifts characters slightly along the field gradient, giving the image a sense of directionality. on by default.
tile repeatmirrors the field into a 2x2 grid, making any image a seamless repeating pattern.
mode
kentimatransforms the field into a counted-thread textile surface. quantized to three levels; each cell biases toward its diagonal predecessor in a fixed warp direction, creating visible stitch runs. isolated marks are absorbed into neighbours. charset switches to stitch marks.
stippleeach 4x4 cell receives a cluster of marks growing from center outward, proportional to the cell's average value. higher value = denser cluster. result: dot density engraving, like copper stipple or Ben-Day.
ditherFloyd-Steinberg error diffusion (Bell Labs, 1976). binary quantization: each cell is 0 or 1. rounding error propagates to neighbours with fixed weights. produces the diagonal grain of early 1-bit printing.
planographichard posterization into 5 flat tonal bands; each region carries one value. flat tones with sharp boundaries, like a reduction linocut or silkscreen.
border
borderoverwrites edge cells with a repeating motif. starts on when kentima is enabled.
frame / rhythm / step / gridframe is a solid line. rhythm alternates marks. step is a meander. grid is a cross-hatch.
algorithm
flow fieldsmooth, drifting clouds. Perlin noise stacked at multiple frequencies.
domain warpfolded, geological. noise bent through itself repeatedly.
julia setcrystalline fractal edges. each point tested for escape under complex iteration.
reactionspots, stripes, labyrinths. Gray-Scott model: two chemicals activating and inhibiting each other.
voronoicellular regions. every point assigned to its nearest seed. like cracked mud or a dragonfly wing.
wavesinterference patterns. sum of sine waves at different origins and phases.
rorschachbilaterally mirrored noise.
l-systembranching structures: ferns, trees, roots. a rewriting grammar drawn as turtle graphics.
automatagrid-based growth from birth and survival rules. organic, crystalline, or chaotic.
cliffordwispy orbital trails. density of millions of iterated attractor points.
dlalightning, snowflakes, coral. particles walk randomly and stick on contact.
layer + blend
layergenerates a second field and overlays it on the first.
blend modeadd and screen lighten. multiply darkens. max and min take the stronger or weaker value. difference creates edges where the two fields diverge.
charset
densitysmooth gradient from empty to full. most faithful rendering of the field.
hi-contrastonly five steps. very graphic.
gritcharacters picked for visual weight, not tonal order. rough regardless of the field.
sparse / alpha / binary / symbol / punctdifferent character pools. combine with contrast and density sliders.
parameters
complexitymore iterations, more detail. higher values are slower.
densitybiases output toward sparse or full.
contrastlow = milky. high = stark, few mid-tones.
symmetry0 = none. 1 = left-right. 2 = top-bottom added. 3 = four quadrants. 4 = rotational fold.
zoom + offsetzoom into the field; offset pans the view to explore a different region.

The ASCII standard was published in 1963 as a solution to a practical problem: different machines could not communicate because they encoded text differently. Standardizing the character set made transmission possible across incompatible systems. In that sense ASCII is not primarily a typographic system but a communication protocol, a shared agreement about what a sequence of bits means. It became the substrate of the early internet, of email, of bulletin board systems, of every terminal window. Typewriter artists had already been composing images from keyboard characters since at least 1898, using the carriage return to overprint and build density. That practice moved through teletypewriter networks in the early 20th century, through ARPANET, through BBS culture in the 1980s, through the ASCII art embedded in email signatures and forum posts throughout the 1990s. The 95 printable characters of the ASCII standard were designed to carry linguistic meaning: punctuation, numerals, letters. Its constraint is structural: every image is made of marks that mean something else, marks that belong to writing before they belong to drawing.

(((◌))) is a generative system, producing images from mathematical rules. Eleven algorithms drawn from mathematics, physics, and biology compute scalar fields from which images are built: Perlin noise, domain warping, Julia set iteration, Gray-Scott reaction-diffusion, Voronoi distance fields, wave interference, L-systems, cellular automata, Clifford attractors, diffusion-limited aggregation. Each is a procedure that generates structure, not a translation of an existing picture. Most ASCII art tools work the other way: they take a photograph and convert its tones into character approximations. Here, the image does not precede the system.

Every output is a standard UTF-8 encoded text file. In an era of high-resolution displays and proprietary file formats, the project returns to the lowest common denominator of computing. These files are lightweight, indestructible, and infinitely portable. They can be read by a 1970s mainframe, a modern smartphone, or a thermal receipt printer. The image is baked into the sequence of characters. This makes the art inseparable from the code used to transmit it.

Four processing modes extend the rendering through historically grounded techniques. Kentima takes its name from Greek counted-thread embroidery, a tradition in which pattern is produced by counting rather than drawing: each mark occupies exactly one cell of a woven grid, and the grid is not a limitation but the condition of meaning. Stipple engraving, practised since the 16th century, encodes tone as dot density rather than continuous shade; Giulio Campagnola and later the mechanical Ben-Day dot system applied the same principle across different centuries and different surfaces. Floyd-Steinberg dithering was published at Bell Labs in 1976 to solve the problem of rendering continuous-tone images on devices that could only produce two states; its diagonal error-diffusion grain became the visual signature of early personal computing. Planographic printing, of which lithography is the founding instance, produces flat tonal regions separated by hard boundaries; Picasso's reduction linocuts are among its most concentrated expressions.

While the algorithms provide the logic, the user acts as the conductor. The system allows for the real-time manipulation of variables: gravity, friction, recursion depth, and linguistic density. By adjusting these parameters, the user is not drawing in the traditional sense. Instead, they tune a mathematical engine until it resonates with a specific historical mode. Each encoding reflects a different relationship between surface, mark, and tone. The proposition is that this history is portable. The logic of a copper engraver, a lithographic stone, or a counted-thread weaver can be expressed as a function that operates on a scalar field and produces a text file. The medium shifts, but the underlying structure of the problem remains constant.

In this space, the distinction between a character and a pixel dissolves. By forcing mathematical infinity into the 95 characters of the ASCII standard, the project honors a lineage of makers who found liberation within a grid. It is an exercise in translation where the output is both a technical record and a visual ghost.