# iz4.you identity

One O, at every scale. This file is the rulebook for the iz4.you mark, the
wordmark (the name, with its dot drawn as the mark) and the IZ4 badge.
Everything is generated from one definition by `docs/build_brand.py`; edit
the numbers there, never the SVGs.

## Names

The framed QR code is **the IZ4 badge**: minted by the register, only for a
project on the register. The licence and terms call it the device. The small live
image a README embeds (`/p/<id>/badge.svg`) is **the status badge**, a separate
thing that shows the card's current state.

## The idea

The mark is a square ring holding a square. The bottom band of the ring
carries the name, iz4.you, and the dot in that name is the same ring again,
holding the square. The drawing ends there: one level of recursion, on
purpose, so the dot reads as the O at every size the name is used.

At the top level the square is a real QR code that leads to a project's card
on the register. Inside the dot it is the mark's own square. So the favicon,
the dot in the wordmark, the badge around a project's code, and the website
itself (which sits inside the O) are one drawing. The O is Invariant Zero™, the
IZ in the name, and it holds the thing worth keeping.

The distinctive element, and the one to protect, is **the name in the band
with its dot drawn as the O**. A square ring with a square centre is a QR
finder pattern and is not ownable on its own. The band-carried name and the
drawn dot are.

## Geometry

All proportions are of the O's outer size.

| part | value |
|---|---|
| band | 11 % |
| outer corner radius | 17 % (inner radius is outer minus band) |
| square at the centre | 55.7 % (the share a QR code takes inside a badge with a five-module quiet zone) |
| name in the band | cap height 66 % of the band, centred |
| the dot | the same O at 30 % of cap height, on the baseline, holding the square |

Marks are a single `evenodd` path plus a rectangle: no strokes, so nothing
thins out when etched, stitched or printed small.

**The badge.** For a code of N modules: inner square = N + 10 (a five-module
quiet zone, one more than the encoder requires, so the rounded inner corner
never touches the four it needs); outer size = inner / 0.78; band = 11 % of
outer. `IZ4::Device` renders SVG and PNG from these numbers with the outlined
wordmark in `share/brand/wordmark.json`, so no font is needed at run time. The
SVG nests one more level of the word than the PNG, which a 10 px-per-module
raster cannot resolve.

## Type

| role | face |
|---|---|
| wordmark | Inter Tight SemiBold, outlined, set as iz4.you; the dot replaced by the mark |
| display | Inter Tight |
| body | Inter |
| code and labels | JetBrains Mono |

Never set the wordmark in a live font: the dot would be a dot. The outlined
glyphs come from `share/brand/intertight-600.json`, produced by
`docs/outline_font.py` from the Inter Tight 600 face in `share/brand/`.

## Colour

Marks are one colour: black on light, white on dark. Never the accent, never
a gradient, never a tint.

Surfaces around them: navy `#0b1220`, cool white `#f6f8fb`, ink `#1c2433`,
muted `#5b6577`, rule `#e2e8f0`. Accent, terminal green `#17a05b` (ink
`#12804a`, phosphor `#5cf58f` on navy), for links and buttons only.

## Space and size

- Clear space: one band width on every side of the mark, wordmark or device.
- Mark: minimum 16 px. Up to 64 px the band is plain; from 128 px use the
  worded mark (`iz4-mark-word.svg`). For 16 to 32 px use the small variant
  (`iz4-mark-small.svg`, and the PNG favicons), snapped to a 16 grid so
  every edge lands on a pixel: band 2, gap 2, square 8.
- Wordmark: minimum 18 px cap height, so the dot still reads as the O.
- Badge: minimum 96 px on screen and 25 mm in print, so the code scans.
  Keep the whole device on one colour of background; never crop the band.
- Never recolour, rotate, outline, add effects, or set the badge inside
  another frame.

## Who may show what

- **Anyone** who has an IZ4 file may show the mark and the wordmark to say
  so. That is participation, and it claims nothing else.
- **Only a project on the register** gets a badge, minted by the register around
  its card's QR code. It certifies one thing: a valid IZ4 exists for the
  project's current revision. It does not say the software is good.

## Files

| file | use |
|---|---|
| `iz4-mark.svg`, `-white`, `-black` | the mark, plain band; `currentColor` in the unsuffixed file |
| `iz4-mark-word.svg`, `-white` | the mark with the name in its band, 128 px and up |
| `iz4-wordmark.svg`, `-white` | iz4.you, the dot drawn as the mark |
| `iz4-lockup.svg`, `-white`, `-black` | the same wordmark; kept so older layouts keep working |
| `iz4-device-template.svg` | the frame with the code area marked, for layouts |
| `iz4-device-sample.svg`, `-white` | a real badge whose code leads to the brand page |
| `iz4-family.svg` | mark, lockup and badge at one cap height |
| `iz4-mark-small.svg` | the 16-grid variant for 16 to 32 px |
| `/favicon.svg`, `/favicon-16.png`, `-24`, `-32` | favicons on the 16 grid; the SVG follows dark mode |
| `/apple-touch-icon.png`, `/icon-512.png` | app icons: white mark on a black tile |

Regenerate with `python3 docs/build_brand.py`. The sample device is built from
`share/brand/sample-qr.txt`, a matrix from the register's own encoder.

## Trade mark note

The overall appearance to register is the badge: the O with iz4.you in its
band around a code, and the wordmark with the drawn dot. Similar shapes to be
aware of in a search: QR finder patterns and rounded-square app icons (the
ring alone), and rounded frames around QR codes (common in marketing). None
of these carry the word in the band. No claim is made here that the marks
are available or registrable; that is a professional search.
