OmaCRT

RSS

The log · 12 September 2026 · design

An identity, drawn with an agent

I used Claude to develop a logo for Flyback from OmaCRT's existing design. This is how we went from three proposals to a finished mark, including two rounds of feedback and a crop measurement the agent got wrong.

subject

a mark for Flyback, drawn as a sibling of OmaCRT's

brief

my initial request, in Italian

tools

rectangles on a 44 unit grid, written as SVG

image generators

none

17pxthe difference in left side bearing that made the two lines look misaligned

The Flyback lockup: the mark beside the word Flyback and the line Wayland compositor
The Flyback lockup: the mark beside the word Flyback and the line Wayland compositor

I asked Claude: _"un logo per Flyback compositor con /design dai un brief adeguato"_. I wanted a logo for the compositor and asked the agent to develop the brief. The repository already contained the project context and the geometry of OmaCRT’s mark, which the new logo needed to share.

01Starting from the existing mark

OmaCRT’s mark has four bars crossed by a dark cut representing the beam’s return between lines. Its geometry is defined by a struct, with the reasoning in the comment above it:

pub const RETRACE: Retrace = Retrace {
    grid: 44, bars: 4, thick: 8, gap: 4, cut: 12, minseg: 3, rest: -2,
};

The grid is forty four units square. The bars are eight units thick, with four units between them. A twelve-unit cut steps once per bar to form a 45-degree edge. The accompanying note explains why five bars become unreadable at 24 pixels; the shape needs to survive scaling without a separate small-size version.

The agent read those constraints first. They gave it a grid and a set of proportions for the new mark.

The two marks side by side: the OmaCRT mark, four bars with the dark cut stepping down and to the left, and the Flyback mark, four bars stepping out to the right with a full height stroke
The two marks side by side: the OmaCRT mark, four bars with the dark cut stepping down and to the left, and the Flyback mark, four bars stepping out to the right with a full height stroke

OmaCRT’s cut moves down and to the left. Flyback’s ramp steps down and to the right. Both use the same grid.

02Three directions, each with the case against it

Three sketch directions: a filled raster with a staircase return, four bars with the last stopping mid scan, and a stepping ramp with a full height return stroke
Three sketch directions: a filled raster with a staircase return, four bars with the last stopping mid scan, and a stepping ramp with a full height return stroke

The name suggested the subject. Flyback is what a television’s deflection does between two lines: the current ramps across the screen, then collapses back in almost no time. The transformer named after it is the part tuned for one line rate and no other.

The agent proposed three directions: a whole raster with a staircase cut through it; a raster caught mid scan, with the last bar stopping a third of the way across; and a deflection waveform, with four bars stepping out beside a full height return stroke.

Each proposal included a For and an Against. The drawback listed for the version I chose was:

the least literal of the three; someone who has never seen a deflection waveform reads it as an abstract monogram, not as a beam.

I chose C and replied: _"Ok per la C vai avanti"_.

03The refinement was a number

The sketch mark beside the finished one: the return stroke goes from six units wide to eight
The sketch mark beside the finished one: the return stroke goes from six units wide to eight

In the sketch the return stroke was six units wide. In the finished mark it is eight, the same weight as a bar.

The two versions side by side, the six unit stroke and the eight unit one, with the edge that did not sit on the grid marked
The two versions side by side, the six unit stroke and the eight unit one, with the edge that did not sit on the grid marked

The return stroke represents the same beam travelling about a hundred times faster. Giving it the same weight as the bars makes that relationship visible. At six units it introduced a second weight into the eight-thick, four-apart rhythm, which was especially noticeable at small sizes.

The construction uses these dimensions:

The mark drawn on its 44 unit grid, every edge landing on a four unit rule
The mark drawn on its 44 unit grid, every edge landing on a four unit rule
grid44 by 44shared with OmaCRT
bar thickness8same
gap4same
pitch12same
return stroke8 by 44one bar, stood up
stroke to bars4the gap again
bar widths8, 16, 24, 32a step of 8
bars end at44flush right
smallest feature8 units2.9 pixels at 16 px

The same SVG rendered at 176, 64, 32, 24 and 16 pixels:

The mark drawn at five sizes down to sixteen pixels, the shape unchanged at every one
The mark drawn at five sizes down to sixteen pixels, the shape unchanged at every one

These dimensions also give future variations a consistent starting point.

04Drawing for a 240-line screen

The mark has to be drawable by an electron beam on 240 scan lines, because this project's marks appear on the television it drives. That is why there are no diagonals, no hairlines and no fractional units anywhere in the system.

The display constraint informed the grid and stroke weight.

05The first critique, and the seventeen pixels

When I looked at the logo and text together, the second line seemed misaligned and its contrast was too low. I asked the agent to address both.

In a monospaced font, each glyph occupies the same advance width, but the space before its visible ink can differ. That space is its left side bearing. A capital F at 230 px carries 18 px of bearing, and a capital W at 52 px carries 1. Set to the same x coordinate, the two lines are aligned on their origins and misaligned on their ink by seventeen pixels. The smaller line's ink hangs out to the left, exactly what the eye was seeing.

Two lines aligned on their origins, the ink of the smaller one starting seventeen pixels to the left of the ink above it, and the same two lines aligned on their ink
Two lines aligned on their origins, the ink of the smaller one starting seventeen pixels to the left of the ink above it, and the same two lines aligned on their ink

The agent aligned the visible ink, then cropped and trimmed both text bands to check the result. Both started at column 442. It also increased the contrast of the second line while keeping it less prominent than the wordmark.

The agent also found a third problem: the descender of the _y_ in Flyback ran into the second line’s cap height. It moved the word up 16 px and the second line down 16 px, keeping the block centred on the mark.

06The second critique, and a measurement that was wrong

In the next version, _Wayland compositor_ still did not line up with the mark. I suggested aligning it with the bottom bar.

The agent measured the wordmark’s ink at rows 92 to 301 and the second line at 317 to 356, both starting at column 442. It measured the bottom bar at rows 352 to 391 and reported a height of 39 px. Since it also reported the second line as 39 px tall, it proposed moving the line down 35 px to align the two bands.

The bar measurement was wrong. The agent had cropped across its full width, including columns occupied by the bars above it. Measuring only the part where the last bar is isolated gives rows 331 to 391, 61 px. The two reported heights of 39 px did not establish an alignment.

first cropcorrected crop
columns measured148 to 391, the bar's full span340 to 380, the bar alone
what is in themthe last bar and three above itthe last bar
rows reported352 to 391331 to 391
bar height39 px61 px

Moving the line still made sense. Its band, 317 to 356, crossed the bar’s band, 331 to 391, about a quarter of the way down, without aligning to either edge. The revision aligned the text baseline with the bar’s bottom edge: second line ink at 352 to 391, bar at 331 to 391.

The agent had predicted that moving the line down 35 px would leave a 51 px gap under the wordmark. The wordmark could now move back down the 16 px added earlier, since the second line was 35 px further away. The final file measures:

rows
the mark56 to 391336 px square
the wordmark's cap height108 to 275168 px, half the mark exactly
the descender of the _y_to 317clears the line below by 35 px
the second line352 to 391its baseline on the bar's bottom edge
the last bar331 to 391

The second round exposed a limit of the process: a plausible alignment proposal had been supported by an incorrect measurement. Checking the crop changed the explanation and preserved the intended alignment.

07The rules, and four ways to get them wrong

The specification has three sheets: construction; colour, clear space and misuse; and the two marks with their wordmarks. The misuse sheet shows four changes to avoid: rotation, gradients, outlines and five bars instead of four.

Clear space, and four things it is not.

The sheet of the specification that gets skipped. The clear space is the mark’s own gap, and the four wrong ones were all drawn by asking for the mark and getting something else.

Four units on every side: the gap between the bars.Nothing sits inside the dashed box: no word, no rule,no second mark.no rotationno gradientno outlinenever five barsThe mark is a mask over a solid, and the solid is one colour.Every one of these came out of asking for the mark and gettingsomething else.

Clear space is four units, the gap between the bars again.

The four colour combinations have these measured contrast ratios: Phosphor green on the near black the launcher uses, at 10.6 to one. The paper colour on the same ground, at 12.0. The dark ink on paper, at 16.2, the one print and a light theme get. And the mark knocked out of the green, the same 10.6 the other way round.

Four grounds, and each one measured.

The green is a mark colour with one ground, and it has one ground. Every ratio here is worked out from the two colours.

phosphor green on the dark groundthe default10.6 to 1measuredpaper on the dark grounda row of logos12.0 to 1measuredthe dark ink on paperprint, and light themes16.2 to 1measuredknocked out of the greenone colour printing10.6 to 1measuredTHE GREEN ON WHITE IS 1.8 TO 1, SO IT IS NEVER SET ON ONE

The green is a mark colour with one ground. On white it measures 1.8 to one, too little contrast for this use, so a light theme gets the dark ink. There is a second file for that, flyback-mark-mono.svg, which takes currentColor and lets the page decide.

The OmaCRT mark, as the tube draws it.

Forty four scan lines, top to bottom, at the speed a television draws them. Every bar is still four lines thick at the bottom of the frame, the whole reason the mark is built out of eights and fours.

It runs once when it comes into view and then stops. Nothing on this site loops.

08What it does not show

The agent wrote the SVG as rectangles on a 44 unit grid. No image generator was used.

I reviewed four versions on a canvas on my phone: the three directions, the refined mark and its rules, the first corrections, and the final alignment. The repository contains the working files, including the two unused directions.

The existing geometry gave the agent a useful constraint. It could propose related marks, render them at different sizes and document their construction in the same repository.

That does not make the choice of mark an arithmetic result. All three proposals used the deflection waveform as their subject; a different designer could have explored other ideas. I chose which direction to develop and judged the revisions visually.

The brief, proposals, specification, assets and two feedback rounds took an afternoon. The measurements helped refine the result, but they also needed checking.