Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,10 @@ Fields are length-prefixed, so `1.23.4` and `12.3.4` cannot collide.

**2 — Parameter mapping.** A `Renderer` draws its parameters from those streams
and decides what the mark *means*. This is the stage that determines whether
the library is useful.
the library is useful. Not every renderer hashes: `cistercian`, `dial` and
`orbit` encode the number itself, so the version can be read back out of the
mark. Those are marked `Ordered` and are held to uniqueness rather than to the
distance thresholds — being systematic is the point of them.

**3 — Render primitives.** A `canvas.Canvas` turns drawing calls into SVG,
pixels or terminal cells. This stage decides only how it looks. Every renderer
Expand Down Expand Up @@ -134,6 +137,8 @@ blazon dist -r truchet
| `truchet` | Truchet tiles. Arcs meet at cell edge midpoints, so the marks join across the grid into loops and labyrinths. |
| `polar` | A bitmap in rings and sectors instead of rows and columns, mirrored across a fold from the archetype stream, with a centre device in the hole and a radial profile that varies ring by ring. |
| `cistercian` | Medieval numerals: one stave per version component, four digits per stave. Legible — you can read the version back out of it. |
| `dial` | One quadrant per component, the value written in binary as radial bands. The separator is the angle: the spokes are the dots of the version string. |
| `orbit` | One ring per component, major innermost, the value written in binary as cells running clockwise from noon. The separator is the radius. |
| `bishop` | The drunken bishop walk from OpenSSH randomart, for the terminal. |

## Output
Expand Down Expand Up @@ -177,6 +182,14 @@ Family: `1.0.0` → `1.0.1` → `1.0.2` → `1.1.0` → `2.0.0`

![cistercian family strip](docs/gallery/cistercian-family.png)

### dial

![dial across a version corpus](docs/gallery/dial-sheet.png)

Family: `1.0.0` → `1.0.1` → `1.0.2` → `1.1.0` → `2.0.0`

![dial family strip](docs/gallery/dial-family.png)

### flowfield

![flowfield across a version corpus](docs/gallery/flowfield-sheet.png)
Expand All @@ -185,6 +198,14 @@ Family: `1.0.0` → `1.0.1` → `1.0.2` → `1.1.0` → `2.0.0`

![flowfield family strip](docs/gallery/flowfield-family.png)

### orbit

![orbit across a version corpus](docs/gallery/orbit-sheet.png)

Family: `1.0.0` → `1.0.1` → `1.0.2` → `1.1.0` → `2.0.0`

![orbit family strip](docs/gallery/orbit-family.png)

### polar

![polar across a version corpus](docs/gallery/polar-sheet.png)
Expand Down
5 changes: 5 additions & 0 deletions distinctness_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ var thresholds = map[string]blazontest.Thresholds{
// skips the distance thresholds for it and checks that no two versions
// share a mark instead, which is why this entry is empty.
"cistercian": {},
// dial and orbit are ordered for the same reason: they write the version
// in binary, one field per component, with the field boundary standing in
// for the dot.
"dial": {},
"orbit": {},
"bishop": {
MinPatch: 14,
MinMinor: 23,
Expand Down
10 changes: 10 additions & 0 deletions docs/gallery/dial-1.4.2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gallery/dial-family.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gallery/dial-sheet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions docs/gallery/orbit-1.4.2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gallery/orbit-family.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gallery/orbit-sheet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading