Brand
Crater is drawn in ink on plaster and lit like the Moon. The mark, the colours and the type are deliberately few; the renders and the numbers carry the rest. These are the rules, and the files.
Mark
A disc minus an offset disc. It is a crater seen under raking light, its thick side the shadowed inner wall; it is a Boolean difference, the operation Crater leads with; and it is a lowercase c.
Construction: outer radius R, inner radius 0.76 R, the inner disc moved 0.17 R right and 0.07 R up. Never redraw it; use the files.
Wordmark and lockup
The wordmark is “crater” in lowercase Geologica, weight 540, fully sharp, tracked −0.035 em, outlined.
In running text the name is Crater, with a capital C. The Rust crate is still named
boolcompute; say so where an install command appears.
Keep clear space equal to half the mark’s height on every side. Smallest sizes: the lockup at 20 px tall, the mark alone at 16 px.
- No colour, gradient, outline or shadow on the mark.
- No rotation or mirroring; the thick side stays lower left.
- No mark on a busy render; place it on paper or void.
Colour
Strict monochrome, neutral grey, no accent. The data has its own hierarchy (Crater’s lanes are filled marks, competitors open ones), so colour would only decorate. Night is void with light text; day is paper with black ink.
| Token | Role | On paper | On void |
|---|---|---|---|
void #000000 | Night ground; ink on paper | 18.4:1 | — |
basalt #161616 | Raised surfaces on void | 15.9:1 | — |
basalt line #2B2B2B | Hairlines on void | — | 1.5:1 |
ash #5E5E5E | Secondary text on paper | 5.7:1 | — |
regolith #9A9A9A | Secondary text on void | — | 7.5:1 |
dust #D6D6D6 | Hairlines on paper | 1.3:1 | — |
paper #F0F0EF | Day ground, plate ground | — | 18.4:1 |
light #FFFFFF | Text on void, highlights | — | 21:1 |
Text pairs meet WCAG AA; hairline pairs are not used for text.
Type
Geologica (Monokrom, SIL Open Font License) for everything: display, text and figures, with tabular figures in every number. Display sizes are set fully sharp on its sharpness axis, cut rather than rounded; text sizes keep the default.
IBM Plex Mono (SIL Open Font License) for code and for live readouts only, never for labels.
- Aa96 display
- Aa40 section
- Aa28 heading
- Aa21 lead
- Aa17 body, line height 1.6
- Aa13 caption
let csr = gpu.compute_resident()?.download().await?;
3.32 ms compute · 301 fps
Light
Two lighting regimes carry the identity. Night is the hero only: a body carved by Crater’s own Booleans, one low sun drifting so the crater shadows lengthen and shorten, pure black space, no stars, no glow.
Day is every other render: matte plaster on a seamless grey ground, occlusion from Crater’s ray queries, and the algorithm’s output drawn on the surface in black ink. Ink is always data.
Light distance
Every measured time can carry how far light travels in it, at 299,792.458 km/s. It turns a millisecond into something you can picture, and it is always quieter than the time itself.
Below 1,000 km, whole kilometres; above, three significant figures. Results per second sit beside a time only at 100 ms or less, so a rate never reads slow.
3.32 ms301 fps
Light travels 995 km meanwhile.
Segmenting 2,651,904 triangles, GPU → CPU, from the benchmark tables.
Words
Plain, specific and sourced. Every number on the site comes from a benchmark document, through
site/data/manifest.mjs, and names its source and date. State what each mode is best at.
| Write | Instead of |
|---|---|
| CPU, GPU → CPU, GPU (the result stays on the GPU, ready to render) | cpu-only, gpu-cpu, gpu-only, GPU only, GPU resident, or “GPU preview” for a result |
| Robust surface Boolean | Exact Boolean |
| Same answer, any mode, only where the GPU result is bit-identical | The same claim for results within a tolerance |
| Within tolerance, with the tolerance | “Matches the CPU” without a bound |
| Edge-graph geodesic distance | Exact geodesic distance |
| Best for large meshes | Where the GPU does not pay |
| Live in your browser, apart from the benchmark tables | Live timings beside measured ones |
| Replay, for a baked plate | A replay shown with a timing |
Files
Outlined SVG; no font needed. Use black on paper and white on void.
- LockupBlack SVGWhite SVG
- MarkBlack SVGWhite SVG
- WordmarkBlack SVGWhite SVG
- IconsFavicon SVGTouch icon PNG
- Sharing card1200 × 630 PNG