Signal zero

JavaScript programming, variable sizes, work in progress, 2026.

These animations work on the basis of two elements: a somewhat special font created in 2023 for a series called Barrage, and a grid.

This font is not really a font in the traditional sense, since it cannot be used in a word processing application. It works like a program — you give it a letter or a word along with dimensions, and it returns a list of coordinates used to draw the letter or letters. The outlines are never filled, so if you change the text dimensions you will get different coordinates, but this will not affect the stroke width. The second characteristic of this font is that you can give it two different sizes for height and width. Flexible, it extrapolates and adapts to the frame you give it.

The second fundamental element in this project is the grid, and this grid has quite an interesting feature: whatever the width and height of each cell, it will resize them to preserve its own dimensions — the grid neither shrinks nor grows even if the column or row sizes change abruptly. As with the font, the grid reflects a certain flexibility; it absorbs and organises internal disorder to maintain its own coherence, its own dimensions.

The creation and animation of the grid cells happen in two distinct processes. For each of these two stages, the program has a palette of possible choices, a list of available functions from which it can draw a type of organisation and a type of animation — so the program contains two families of algorithms that work in tandem: the composers and the animators.

The composers are used to select letters and signs (punctuation marks, numbers, symbols…) and their order. It might seem trivial to entrust a mathematical function with the task of truncating text, but in reality it is not. Each of the thirty-four rule functions applies a pattern that is unique to it — for example, one might count the position of a sign and remove all those whose position falls on an even index; by making this rule more complex with additional thresholds and operations, one can begin to see repeating shapes, emerging patterns. It is no coincidence that this evokes looms and the punch cards of early computers — this work is rooted in the earliest or pioneering forms of Generative Art.

The second family of algorithms, the animators, handle changing the size of each letter based on its position and time (counter). They interface between the font and the grid, taking advantage of the fact that the font can be stretched in two dimensions and that the grid, whatever happens, will maintain its dimensions. In a sense, they disrupt the grid, triggering shifts in columns or rows — they do not change position as such, only size, but this, coupled with the grid’s auto-resizing function, produces movement: a cascade reaction. Size changes in one cell affect all the cells in its row and column, as well as their positions.

There is an autopoietic dimension here; one can view the different parts of this mechanism as an ecosystem that evaluates conditions and reacts to stimuli while maintaining its organisation and structure. The grid distributes the forces created by the animators across its columns and rows — the structure is preserved, but sometimes, when the loads are too great, when there is too much turbulence, this regulation happens at the expense of certain cells’ integrity, rendering them invisible.

The animators have one constraint: they evolve the dimensions over a period, ensuring that the sizes at the end of the period and at the beginning are identical, so as to create a perfect loop, a cycle like a breath.

Lexicon and collection — the grid as an element multiplied across several layers

In programming, the grid is the underlying element (screen pixels, database tables…) but it is also a rigid structure that the artist attempts to deform under the action of simulated forces.

Although other elements in this series introduce variations — such as the different colour palettes and the choice of words used — a large part of the visual result comes from the choice of a composer and an animator. One can therefore mentally structure the possible variations of the series in the form of a grid: on the vertical axis, the thirty-four composers, and on the horizontal axis, the thirty-three animators — at each intersection one finds one of the one thousand and fifty-six possible visuals.

These two lists of composers and animators reflect a need to catalogue possibilities, to enumerate and annotate them. Creating a directory of forms and expressions is, in a sense, mapping the visible — not to exhaust it, but to reveal its internal logic. Each composer, each animator is an entry in a dictionary of behaviours, a way of naming what the program can do, even before it does it.

This collecting approach is not unlike a certain scientific tradition: that of the naturalist who classifies species, the linguist who catalogues morphemes, the chemist who builds the periodic table. There is in this act of cataloguing a form of systematic curiosity — the intuition that richness lies not in a single masterwork but in the ordered proliferation of possibilities, in the tension between rule and variation.