# Rune brand assets

The authoritative geometry is [`rune-brand.json`](rune-brand.json). Generated SVG files must not be edited by hand.

See [RUNE-003: Brand Identity](../../docs/spec/RUNE-003-brand-identity.md) for normative design, construction, responsive, and extension rules.

Regenerate assets from the repository root:

```powershell
& .\eng\Generate-BrandAssets.ps1
```

## Asset variants

| File | Intended use |
|---|---|
| `rune-*.svg` | Large flat-color display mark (32 px and above) |
| `rune-*-mono.svg` | Single-ink mark with a transparent rune knockout |
| `rune-*-16.svg` | Dedicated 16×16 optical mark; use through 24 px |
| `rune-*-16-dark.svg` | White dedicated 16×16 optical mark for dark UI chrome |
| `rune-*-glyph.svg` | Glyph without a stone container |
| `rune-*-lockup-light.svg` | Icon + Sora wordmark for light backgrounds |
| `rune-*-lockup-dark.svg` | Icon + Sora wordmark for dark backgrounds |

The monochrome, light optical, and glyph files use `currentColor`; external
`<img>` hosts that cannot inherit color should pair `-16.svg` for light UI with
the fixed-white `-16-dark.svg` for dark UI.

## Geometry

- Master canvas: 64×64
- Master stroke: 5
- Optical canvas: 16×16
- Optical stroke: 2
- Caps: butt
- Project joins: bevel
- Engine and Story joins: miter

Endpoints prefer integers. Finite rational coordinates are used where collinearity or optical balance requires them.

## Edge policy

Rune geometry may extend beyond its stone, but generated color assets clip it to the stone silhouette. No rune pixels render outside the stone.

Avoid near-miss slivers:

- master: if remaining stone clearance would be below 2 units, extend the rune through the boundary and clip;
- 16px optical: if clearance would be below 1 pixel, extend and clip.

Every stone uses one flat body color with no highlight, shadow, texture, or secondary facet:

- Rune Project: `#15499D`
- Rune Engine: `#A62C2D`
- Rune Story: `#0B7F91`

## Wordmark font

Sora is the official wordmark typeface:

- `assets/brand/fonts/Sora.ttf` — original variable font
- `assets/brand/fonts/Sora-OFL.txt` — SIL Open Font License 1.1

The generator verifies the font's SHA-256 before embedding it into each light/dark lockup SVG. Lockups use Sora 700 for `Rune` and Sora 400 for the product suffix.
