# kicad-tour hero collage

A single PNG that explains the kicad-bridge tour in one image. Used as the
wiki page header for `apps/adom-desktop-kicad-bridge`.

## Files

| Path | What |
|---|---|
| `hero.png` | The rendered 1568×980 collage |
| `hero_builder.py` | The Python build script (re-runnable) |
| `tiles/01-symbol.png` .. `06-3d-board.png` | The 6 source KiCad window captures |
| `fonts/FamiljenGrotesk-{Bold,Medium,Regular}.ttf` | Adom headline font (OFL) |
| `fonts/Satoshi-{Regular,Medium}.ttf` | Adom body font (Fontshare free license) |

All paths in `hero_builder.py` are resolved relative to the script's own
location — re-rendering needs no environment setup beyond Pillow.

## Re-render

```bash
cd plugins/kicad/skills/kicad-tour/hero
python hero_builder.py
# wrote hero.png (~330 KB, 1568x980)
```

Requires Python 3.10+ with Pillow.

## Re-capture the tile screenshots

The tiles are captured from running `tour_runner.py --pack tour-pack-rp2040`
in the parent skill directory, then renaming the output frames:

```bash
cd plugins/kicad/skills/kicad-tour
python tour_runner.py --pack tour-pack-rp2040 --output /tmp/rp-shots

# Rename + copy to hero/tiles/
cp /tmp/rp-shots/02-symbol-editor.png    hero/tiles/01-symbol.png
cp /tmp/rp-shots/03-footprint-editor.png hero/tiles/02-footprint.png
cp /tmp/rp-shots/07-board-3d.png         hero/tiles/03-3d-chip.png   # cropped on chip
cp /tmp/rp-shots/05-schematic.png        hero/tiles/04-schematic.png
cp /tmp/rp-shots/06-board.png            hero/tiles/05-board.png
cp /tmp/rp-shots/07-board-3d.png         hero/tiles/06-3d-board.png
```

Note: tile 03 ("3D Chip") is the same source as tile 06 — `hero_builder.py`
center-crops it tight on the chip via the `crop_chip` flag. If you ever
capture a real footprint-editor 3D view (the v0.8.5 bridge tries via
`kicad_open_3d_viewer editor=fp` but KiCad 10's WM_COMMAND ID isn't
matched yet), drop that capture in as `03-3d-chip.png` and remove the
`"crop_chip"` flag in `hero_builder.py:TILES_DEF`.

## Brand tokens

The teal / dark teal / muted greys are pulled from
`gallia/brand/logos/SKILL.md`. If the brand palette shifts, swap the
constants at the top of `hero_builder.py` — they're all RGB tuples.

## Font licenses

- **Familjen Grotesk** — SIL Open Font License v1.1 (Martin Sommaruga & Iza Bargmann). Free to ship in any context.
- **Satoshi** — Fontshare free license (Indian Type Foundry). Free for personal + commercial use, including in apps and websites; no attribution required.

Both TTFs were converted on-host from the gallia woff2 sources via `fontTools` +
`brotli` (one-time). The source woff2 lives at `gallia/brand/fonts/` if you
need other weights.
