# Concrete art generator

One geometric module turned, grown, shifted, recoloured or permuted in even steps on a white page, with your word set as a concrete poem. Export SVG, PNG or a loop.

Open the generator: https://morph.ogeny.app/concrete/

## Design choices

- **Geometric primitives** (`form.primitives`): Circle, square and triangle as building blocks. Set by “Geometric primitives”. https://stylogeny.com/design-choices/geometric-primitives/
- **Repetition & rhythm** (`space.repetition`): Repeated units create a visual cadence. Set by “Repetition & rhythm”. https://stylogeny.com/design-choices/repetition-and-rhythm/
- **Limited spot colours** (`color.limited-spot`): Two or three flat inks. Set by “Limited spot colours”. https://stylogeny.com/design-choices/limited-spot-colours/
- **Generous white space** (`space.generous-whitespace`): Emptiness is an active element: wide margins and quiet areas. Set by “Generous white space”. https://stylogeny.com/design-choices/generous-white-space/
- **Visual tension** (`space.tension`): Deliberate instability: crowded edges, clashes, near-collisions. Set by “Visual tension”. https://stylogeny.com/design-choices/visual-tension/
- **Wide letterspacing** (`type.wide-tracking`): Airy, generously spaced letters, usually capitals. “Concrete poem”: Spread. https://stylogeny.com/design-choices/wide-letterspacing/
- **Modular grid** (`layout.modular-grid`): Fields defined by rows and columns; every element snaps to modules. Always. https://stylogeny.com/design-choices/modular-grid/
- **Non-representational** (`form.abstract`): Pure form with no depicted subject. Always. https://stylogeny.com/design-choices/non-representational/
- **Flat fields** (`color.flat-fields`): Unmodulated areas of colour. Always. https://stylogeny.com/design-choices/flat-fields/
- **Ornament-free** (`ornament.none`): Decoration rejected; form follows function. Always. https://stylogeny.com/design-choices/ornament-free/
- **Rational & objective** (`tone.rational`): Clarity, neutrality and order above personality. Always. https://stylogeny.com/design-choices/rational-and-objective/

## How it works

- One module (a square, triangle, quarter circle, half-disc or bar) run through one rule (turned, grown, sheared, recoloured or permuted in even steps) across a grid or a line, so the rule itself is the picture.
- The page is a grid of module cells: the field takes a block of them and leaves the rest as white ground, and a word can be set on the same grid as a concrete poem.

It never does:

- No reproduction of known concrete paintings or poems: the step, the direction, the colour rule and the placement come from the seed, and the poem is made only of your word.
- No illusion of depth, no distortion, no big primitives on a diagonal and no ornament: every module keeps its shape and size within its cell.
- Animation moves in calm, even steps: no point changes colour more than six times a loop, three times a second at the shortest loop.

## Controls

- `module` Geometric primitives (square | triangle | quarter | half | bar; default quarter): The one module the picture is built from.
- `rule` Rule (rotate | grow | shift | alternate | permute; default grow): What changes from one module to the next.
- `count` Repetition & rhythm (3–24, default 8): How small the module is: fewer, larger modules or a finer rhythm.
- `inks` Limited spot colours (0–2, default 1): How many inks join the black: none, one or two.
- `space` Generous white space (0–1, default 0.45): How many cells of the page stay white ground.
- `tension` Visual tension (0–1, default 0.6): How far the field leaves the centre for an edge, and how often the poem moves to the opposite margin.
- `poem` Concrete poem (off | permute | erode | spread; default permute): A word set on the grid, changed line by line.
- `word` Word (default ""): The word the poem is made of. Left empty, the variation number picks a plain noun such as forma or ritmo.

## About Brazilian Concrete Design

Concrete art took hold in Brazil in the early 1950s, when painters, poets and the first design offices of São Paulo and Rio worked from a rule instead of a subject. A picture was a square, a bar or a circle repeated, turned or graded in even steps, with the white page as part of the work. Concrete poets treated words the same way: a word repeated, broken up and spaced across the page, so that where a letter stands carries the meaning.

This generator works by that method. You choose one module and one rule; the variation number sets the step, the direction, the colour rule and where the field sits on a grid of module cells. Your word is set on the same grid as a small concrete poem, moved on letter by letter, worn away or spread out. Black and at most two inks stay flat on the ground.

With animation on, the rule keeps going: modules turn, grow, slide or change colour in calm steps, and the loop ends exactly where it began.

Brazilian Concrete Design in Stylogeny (1951–1975): https://stylogeny.com/styles/brazilian-concrete/

## Recipe

```json
{
  "tool": "concrete",
  "v": 1,
  "seed": 11,
  "format": "portrait",
  "params": {
    "module": "quarter",
    "rule": "grow",
    "count": 8,
    "inks": 1,
    "space": 0.45,
    "tension": 0.6,
    "poem": "permute",
    "word": ""
  },
  "palette": "brazilian-concrete"
}
```
