## What It Does

Fp3dView reads a KiCad `.kicad_mod` footprint file and renders the pad geometry as interactive 3D copper pads in the Gallia Viewer (Hydrogen) using Babylon.js.

### Key Features

- **Extruded copper pads** with accurate shapes (rect, roundrect, oval, circle)
- **Blue pad outlines** at z=0 for clear 2D reference
- **Pad number and name labels** — auto-generated positional names (L1–L4, R1–R4, EP) or custom
- **Measurements overlay** — per-pad table with dimensions, pitch, and overall extents
- **Land pattern overlay** — green F.Fab body outline + dimension annotations (overall width, pad width/height, pitch, center-to-center span)
- **10 toolbar toggles** for every visual layer
- **Self-test mode** for automated verification

### Supported Package Formats

| Format | Typical Packages | F.Fab Body Outline |
|--------|-----------------|-------------------|
| SMD gull-wing | SOIC, TSSOP, QFP | `fp_poly` |
| SMD passives | 0805, 0603, 0402 | `fp_rect` |
| Through-hole | DIP, SIP | `fp_line` chain |

### Toolbar Toggles

| Button | Feature | Default |
|--------|---------|---------|
| Zoom-to-fit | Reset camera | — |
| Outlines | Blue pad outlines | ON |
| `#` | Pad number labels | ON |
| `N` | Pad name labels (cyan) | OFF |
| 2D mesh | Earcut triangulation | OFF |
| Copper | Extruded 3D copper | ON |
| Ground | Ground plane | OFF |
| Axes | XYZ axis indicator | ON |
| `mm` | Measurements panel | OFF |
| IC icon | Land pattern overlay | OFF |

### When to Use This vs Other Viewers

| Viewer | Best For |
|--------|----------|
| **Fp3dView** (this) | Pad geometry inspection, copper shapes, dimensions, land pattern |
| **FpView** | Full footprint preview with silk, courtyard, fab layer |
| **3dView** | Full 3D model with IC body, markings, substrate |
| **LibView** | Complete library review: symbol + footprint + 3D |

### Usage

```bash
node /home/adom/gallia/viewer/fp-to-3d.js <path-to-.kicad_mod> [--test]
```
