# Alex nameplate: design brief

## Intent

A desk nameplate for Alex that is also a legitimate Adom molecule: it mounts
in a probing workcell on the 32 mm base-scaffold grid, and it makes one idea
physical  **the name is the ground plane**.

## Hard constraints

1. Name in Familjen Grotesk Bold (Adom brand headline face), 40 mm ink height,
   width free to follow.
2. The name is a **soldermask opening over a rectangular GND copper pour**, not
   silkscreen and not letter-shaped copper.
3. **No second ground path.** Every LED returns through the letters. This is
   the whole point and must not be traded away for routing convenience.
4. Large machine pin at each corner, pin box an exact multiple of 32 mm.
5. Board hugs the pins minimal wings.
6. Side-view (not top-view, not reverse-mount) LEDs at the edges firing inward.
7. USB-C on an edge, mouth clear of the board edge, all four anchors present.
8. **Top-side placement only** single-sided PnP.

## Resulting geometry

- Board 172 x 76 mm; pin box 160 x 64 mm (5 x 2 on the grid)
- Name 112.6 x 40 mm, 118 mask-opening polygons
- 10 LEDs at 12 mA = 120 mA total

## Things that bit, so they do not bite again

- The autorouter solves `to="net.GND"` as a spanning tree and will daisy-chain
  LED cathodes to each other, routing return current *around* the plate and
  silently dropping a device. Fix: size the pour to contain every ground pad so
  ground bonds by geometry.
- `adom-tsci lint` counts `pcb_trace` objects and cannot see a pad that is
  bonded by nothing. `scripts/check-connectivity.mjs` is the real gate.
- A via whose *centre* lands inside an SMD pad raises `pcb_placement_error` and
  tscircuit then **skips autorouting for the whole board** while still exiting
  0. Keep via centres outside pads; let only the ring overlap.
- The USB-C model's mouth is at local -Y, and `rotationOffset.z: 180` is
  load-bearing. Lint derives the mouth vector from the same assumption, so a
  180 deg error cancels out of the check. Look at the 3D view.
- tscircuit's texture baker does not shade exposed copper, so the name is
  invisible in the 3D tab. A generated gold decal GLB, built from the same
  polygons as the mask openings, makes it visible without touching fab output.

See the `adom-nameplate` skill for the full write-up.
