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 answers two questions. What is happening, which is state, and who this is, which is the model. It never answers how much: a magnitude is carried by the length of the bar it fills, and the color of that bar says whose bar it is.
A model takes its accent from where it sits on the board, and keeps it across every view. That is the whole reason to spend color on identity: the reading carries from the leaderboard to the skill table to the scatter without a legend, because the green row and the green column and the green point are the same model. Six models and five accents, so the sixth wraps and is marked striped rather than given a hue the identity does not have.
The ramp stays for the one case identity does not cover: a figure that belongs to no model. A share, a coverage, a count against a total takes a step of it, and the hue never changes.
The same four models, sorted the same way, in the three shapes the reader draws them in. Nothing carries a color that belongs to the measurement; the color belongs to the model, so a row, a column and a point can be read as one thing.
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
Faces
Two families, no serif, and the stack behind each one. A face is requested by its token, never by its name, so a swap happens in 08 and nowhere else.
| Preview | Type family | Token | Stack |
|---|---|---|---|
| Aa | Tekio Grotesk | --institutional |
Tekio Grotesk, Helvetica Now Display, Helvetica Neue, Helvetica, Arial, sans-serif |
| Aa | PX Grotesk | --data |
PX Grotesk, Geist, Helvetica Now Display, Helvetica Neue, Helvetica, Arial, sans-serif |
Sizes are given in rem and in pixels at a 16 px root. A step is named by the token that sets it; there are two faces and the token names which one.
Heading
Three steps of one face. Hero is the campaign line, Heading is every H1 through H3, Statement is the claim.
| Preview | Step | Type family | Token | Font weight | Font size | Line height | Tracking |
|---|---|---|---|---|---|---|---|
| Aa | Hero | Tekio Grotesk | --institutional |
Regular | 4.5 rem / 72 px | 90% | -1% |
| Aa | Heading | Tekio Grotesk | --institutional |
Regular | 3 rem / 48 px | 90% | -0.5% |
| Aa | Statement | Tekio Grotesk | --institutional |
Regular | 2.25 rem / 36 px | 90% | -0.5% |
Body
One step. Reading text sets at a single size and is spaced by the measure it sits in, not by a second body style.
| Preview | Step | Type family | Token | Font weight | Font size | Line height | Tracking |
|---|---|---|---|---|---|---|---|
| Aa | Body | Tekio Grotesk | --institutional |
Regular | 1 rem / 16 px | 100% | -0.5% |
Metric
Figures, pass@k and IDs. Always the data face, always uppercase, always tabular so a column of numbers lines up.
| Preview | Step | Type family | Token | Font weight | Font size | Line height | Tracking |
|---|---|---|---|---|---|---|---|
| Aa | Numeral | PX Grotesk | --data |
Regular | 1 rem / 16 px | 90% | 0% |
Caption
Eyebrows, meta, column heads and button labels, set in the body ink rather than a faded one: a term list is stated, not whispered.
| Preview | Step | Type family | Token | Font weight | Font size | Line height | Tracking |
|---|---|---|---|---|---|---|---|
| Aa | Caption | PX Grotesk | --data |
Regular | 1 rem / 16 px | 100% | 1.5% |
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
| Skill | Tasks | Opus 5high | Fable 5high | Kimi K3medium |
|---|---|---|---|---|
| Planning | 42 | 78.8% | 60.8% | 28.7% |
| Unstated methods | 31 | 40.3% | 38.0% | 21.9% |
| Numerical precision | 26 | 67.2% | 50.5% | 43.5% |
| State management | 38 | 68.5% | 69.4% | 29.3% |
| Data quality | 22 | 54.3% | 39.2% | 17.8% |
| Tool use | 57 | 98.1% | 88.5% | 94.9% |
| Environment | C1 | C2 | C3 | C4 | C5 |
|---|---|---|---|---|---|
| ShelfLife Enterprise | |||||
| Corporate Law | |||||
| Synthetic Enterprise |
| Property | What it records |
|---|---|
| Cadence | The work is currently done by a human at a recurring cadence. |
| Leverage | The failure modes of the task are high leverage and high risk. |
| Duration | Hours of human input to complete the workflow end to end. |
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.














