About
Real-world environments for training and evaluating AI agents.
Idler builds environments that train and evaluate AI agents; grounded in real operations, scored against real outcomes.
Idler builds reinforcement-learning environments for model evaluation and training. Our environments are available off the shelf or customized to your needs, with a focus on coding, reasoning, and a broad spectrum of economically valuable knowledge work.
Intelligence is what reality naturally selects for: the ability to model the world, adapt across time, and act through uncertainty. Idler builds the training worlds where agents learn that ability, turning space, time, and counterfactual possibility into environments that shape how models reason, recover, and act.
Mark
A cube seen down its body diagonal flattens to a hexagon of three rhombi, and the three edges nearest the eye meet in a Y. The rhombi are the faces. The Y is the seam between them. Both fall out of the geometry rather than being drawn.
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.
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 minerals. One accent at a time, no more.
Grayscale
Twelve steps, near-neutral gray. 01 is the paper plate, 12 is the dark plate, structure pulls from between. Even lightness steps, one held hue. The archive ground sits below the ramp and is its own token.
Gradient
One gradient, and it is a ground, not a decoration: white falling to n02 down the vertical. It goes behind a figure (the cube embed, a mark plate, or the lab stage) so the field reads as lit rather than filled. It never runs under text, never sits on a control, and never picks up a hue. On the archive it mirrors, surface to ground, so a surface holding the token 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, on the page ground
no gradient beneath it
Opacity
Opacity does not make a new gray, it puts the same gray further back. Six conditions, 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
EB Garamond says the things worth saying. Tekio is what you actually read. Numbers are always PX Grotesk. Weight stops at 500.
Intelligence as structure
UsageCreative / campaign.
Intelligence as a structure of relationships
UsageAll headings. Scale down for H2 / H3.
Intelligence as a structure of relationships. Nodes connect, signals travel.
UsageThe claim line. That is the whole job.
Intelligence as a structure of relationships. Nodes connect, signals travel, paths thicken where the work flows.
UsageReading text.
Why Idler
Intelligence as a structure of relationships. Nodes connect, signals travel, paths thicken where the work flows.
UsageEyebrows, meta, captions, buttons. Set in the body ink, not a faded one: a term list is stated, not whispered.
01
1234567890
UsageNumbers, pass@k, IDs.
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 open field. One form per face and the mark itself is the negative space between them, so the Y is carved by the logo rather than described by a formula.

Transmissive
Rule 5 relaxed: the three faces turned away are admitted at GHOST = 0.17, mirrored through the centre and drawn under the near side. A size taper, not an opacity fade, so the far rim reads as depth.

Closed field
DIV = 0.70, the point at which neighbours overlap and seal, so each panel reads as material rather than as dots. All six units are kept; only their size changes.

Plate
The closed field, with tone sampled from the real satin photograph as a drifting screen-space wallpaper. It replaced a two-sine stand-in that looked like a surface without being one.
The Shell Lab
The four presets above are not illustrations of the engine, they are the engine, driven from the Lab — where membership, pose, density and the edge taper are tuned before any of it reaches production. Anything set here that disagrees with the Lab is out of date, not authoritative. Edit the source on the left and the stage re-renders; open it full screen for real work.
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. Rubik's is one behaviour among several and never the first thing it does.
2.1sSlowness is stillnessThe reveal is 700ms. Past a second, an opacity ramp reads as loading.
3.3sThe opening is mostly hold0.7s in, quiet to 4.5, ambient to 6.0, quiet to 8.0. Then the scheduler.
5.7sAmbient is its own layerShimmer and drift sit on a separate wrapper and never stop for a move.
6.9sOne curveeaseInOutCubic, everywhere. A second curve reads as a second object.
7.5sOne structural move at a timeTurns do not overlap. Ambient runs underneath them.
8.1sThe state persistsA turn starts where the last ended. Inverses and the last six states are rejected.
19.5sThe mix is scheduledAmbient 40, rotate 25, Rubik’s 20, flat 10, invert 5.
29.7sTime is a parametert is elapsed seconds, so anything written against it animates.