About
Idler builds reinforcement-learning environments for evaluating and training models. Take one off the shelf or have one built to spec. They cover coding, reasoning, and the knowledge work people are paid to do.
Reality selects for intelligence: model the world, adapt as it changes, act without certainty. Idler builds the worlds where agents learn that, turning space, time, and what-if into environments that shape how a model reasons and recovers.
Mark
Seen down its body diagonal, the Shell flattens to a hexagon of three rhombi, and the three edges nearest the eye meet in a Y. The rhombi are its faces. The Y is the seam between them. Neither is drawn: both fall out of the geometry.
Favicon
The symbol alone, in a square tile. The tile carries the silhouette, so the mark holds at 16px against light or dark browser chrome.
Shell emoji
The Shell in a circular tile, for avatars, reactions and anywhere the square favicon would read as a chip. Transparent ground, so it sits on whatever it lands on.
Clearspace
One module, 1x, taken from the lockup itself: the gap between mark and logotype is 0.5x, so 1x is twice it. Keep 1x clear on every side. Nothing sets inside it: no type, no rule, no edge of an image.
Color
Five accents. One runs at a time.
Color logic
Color is spent on two questions and nothing else. What is happening, which is state, and how much, which is quantity. Identity is not a question color answers: a model is known by its name, its mark and where the sort puts it. When every accent was the only color the system had named, a chart that needed to say how much borrowed one, and a model ended up wearing the failure red at sixty percent pass. The ramp below is the missing layer.
Which leaves three rules. State takes layer 2, one accent at a time, and only where something is actually in that state. Quantity takes the ramp, where dark means more and the hue never changes. Everything else is ink: a table that can be read in one ink is read in one ink.
The same four models, sorted the same way. The table tints the cell from the ramp, the matrix states pass and fail in layer 2, the graph fills from the ramp. Nothing carries a color that belongs to a model, so a reading survives the change of shape.
A hollow dot is not a color. Where a chart genuinely has to separate one series from another and position cannot do it, the difference is carried by the atom vocabulary, filled against hollow, solid against dashed. The palette stays out of it.
Grayscale
Twelve steps, paper to ink. Structure comes from the middle.
Gradient
One gradient, and it is light, not pattern: white falling to n02 down the vertical. It sits behind a figure so the field reads as lit rather than filled. It never runs under text, never carries a control, never takes a hue. On the archive it mirrors, surface to ground, so anything built on it survives the theme flip.
-1 -1 1px #FFF .95
3 4 6px #1B1D1C .34
2 3 4px #FFF .95
-1 -2 4px #1B1D1C .30
Raised pair, nothing beneath it
Opacity
Opacity does not make a new gray, it puts the same gray further back. Six steps, all of them ink on the paper plate. If a value here would land on a ramp step, use the ramp step: alpha is for things that sit over something you still need to see.
Typography
Two faces, no serif. Tekio does the talking: hero, heading, statement, body. PX Grotesk takes the captions and every number. Weight stops at 500.
Atoms
The primitive is a substance. A halftone dot is ink, and these six units are the material the Shell is made of. So the category is Matter, and Matter carries two axes: constituents, which are the three forms, and states, which are solid or opened. Three by two is six. A seventh unit would have to declare what it was made of, and there is nothing left to declare.
Proton +Y
A circle has no vertices and no orientation. Rotate it by any amount and it lands where it started, which is why no turn can leave it misaligned.
Electron +X
Three sides and one apex. Odd-sided, which nothing else here is, and the one unit that can point. Drawn 12% larger so its weight matches the rest.
Neutron +Z
Tiles at the grid’s own pitch and leaves no residue at the cell boundary. Every other unit sits inside its cell; this one becomes the cell.
Aperture −X
An annulus. The opening holds one distance from the boundary the whole way round, and admits without pointing anywhere.
Portal −Z
The hole sits at the triangle’s centroid, which falls below the centre of the bounding box. That offset gives the passage its direction.
Socket −Y
A square with the middle taken out. The frame is the whole unit, and the empty centre is where something else sits.
The Shell
Idler’s visual model of an environment: a closed, persistent structure in which agents move, act, and are evaluated.

Shell
The canonical build, and what /cube.html serves with no query at all. One form per face; the mark is the negative space between them, never a line drawn on top.

Transmissive
?v=trans. The three faces turned away are admitted at a fraction of strength, so the far side reads through the near side and the Y carries a trace. The far side tapers in size rather than fading, which keeps it reading as depth.

Closed field
?v=closed. The halftone at full coverage: every unit sized until neighbours overlap and seal, so the panels read as material rather than as dots. All six units remain; only their size changes.

Plate
?v=plate. The closed field is a screen, so a surface is sampled at each mark’s position and sets its value. Folds and sheen arrive as tone across the lattice.
The Shell Lab
The four builds above are the Lab’s own presets, rendered from it. A host selects one with ?v= and there are no forks besides these. Open it full screen to inspect those surface rules.
The Lab needs room for an editor beside a stage, so on a narrow screen it opens in its own tab rather than embedding.
Motion
Still first, alive second. The Shell moves in discrete turns: one layer or the whole body moves, lands, and holds before the next turn begins. Each frame below names the visible move.
2.1sResting cornerThree faces meet around the central aperture. No layer is moving.
3.3sRight layer turns outThe right outer layer rotates 90° away from the body around its vertical axis.
5.7sCorner closesThe turned layer lands on the grid. Three faces meet again in a closed corner.
6.9sUpper-left layer turnsThe upper-left outer layer rotates 90° away from the body.
7.5sWhole body rotatesThe complete Shell rotates toward a new corner-facing orientation. Its layers stay locked together.
8.1sFace lands forwardThe whole-body rotation ends with one face square to the viewer.
19.5sTop layer turnsThe top outer layer rotates 90° upward, opening a horizontal gap.
29.7sUpper slice turnsAn upper horizontal slice rotates 90° while the lower layers stay fixed.Applications
Tokens
References
What the system is measured against. Hover a source image to see the six-atom reading it informed. The full argument is on the references page.
Where the marks come from: systems run to exhaustion, and nothing used that is outside the vocabulary.
How a controlled world gets built, lit, and read from outside it. These set the room, not the marks in it.
James Turrell
Occlude the source and the structure appears. The aperture is the object, not an absence in one.
The cleanroom
Precision belongs to the environment before it belongs to the part. Control the room and the yield follows.
Beetle shell
The colour is structural. Nothing in the shell is pigment: stacked layers bend the light and the hue arrives from the geometry, shifting with the angle you stand at. This is where the iridescence comes from.
Iridescent texture
Colour is generated by film thickness and angle. The surface changes because its optical structure changes the path of light.














