# Glyph library

A small, deliberate vocabulary of reusable 64-unit-viewBox glyphs.
Each one is a single moss-green stroke composition that fits the
canonical favicon shape and scales up cleanly into the avatar's
inline glyph band (×1.5) and the hero's metaphor mark (×2.2).

| File | Domain | Use it when… |
|---|---|---|
| `grid.svg` | Registry / catalog / collection | The project IS a directory of comparable things. arcana, kits. |
| `stack.svg` | Bootc / server / layered image | The deploy IS the stack: layers of an image, slabs of a stack. carmine, crimson. |
| `nodes.svg` | Network / mesh / topology | The project models nodes and edges. network, mesh routing. |
| `key.svg` | Auth / identity / SSO | The project handles credentials. auth, bench-sso-iac. |
| `chip.svg` | GPU / inference / compute | The project IS the compute target. crimson, accelerator-bound work. |
| `bracket.svg` | Config / dotfiles / declarative | The project is configuration-as-code with no other shape. dotfiles. |
| `route.svg` | Routing / reverse proxy / fanout | The project routes one input to many outputs. caddy-estate. |
| `bulb.svg` | Ideation / sketches / proposals | The project IS the nursery for things not ready yet. ideations. |
| `wrench.svg` | Tooling / harness / utility | The project is a tool you reach for, not a target. storr. |
| `plug.svg` | Extension / plug-in / runtime addon | The project extends another runtime. pi, addon catalogs. |
| `estate-map.svg` | Site / homepage / parent index | The project IS the index of N other projects. site, andrew.dunn.dev. |
| `probe.svg` | Test bench / sensor / inspection | The project measures something against a known target. bench-sso-iac. |

## How to use

Two ways:

1. **Lift the file directly** into your repo as `favicon.svg`,
   then scale-transform the same `<g>` body into your avatar's
   glyph band (`translate(80 100) scale(1.5)`) and your hero's
   metaphor mark (`translate(110 240) scale(2.2)`). One source of
   composition, three sizes: the convention is documented at
   reference.dunn.dev/design/repository/.

2. **Pair with `brand-init.sh`**: the helper at
   `repository/scripts/brand-init.sh` takes a glyph name as one
   of its inputs and emits the full kit (avatar + hero + favicon)
   pre-wired with the chosen glyph.

## Authoring rules

A new glyph belongs in this library only when its domain isn't
already covered and the metaphor is reusable (not project-
specific). Project-specific glyphs (bairn's album spread,
patinate's heat trail, tutti's conductor fan, qobuz's vinyl)
live in the project's own `favicon.svg` and don't graduate here.

When you do add one, follow the rules every existing glyph
satisfies:

- **viewBox `0 0 64 64`**, no outer rect (the browser tab provides
  the background).
- **Moss accent `#4a6741`** hardcoded on every stroke and fill;
  no `currentColor`.
- **Strict XML**: validate with `rsvg-convert glyph.svg -o /dev/null`
  before committing; Safari rejects malformed SVG favicons.
- **One mark, no text.** The library's job is the silhouette; words
  belong in the avatar's title block, not in the glyph.
