---
name: adom-sfconvert
description: >
  Native Rust CLI that converts foreign EDA libraries — EAGLE/Fusion 360 .lbr and
  Altium .SchLib/.PcbLib/.IntLib — into KiCad symbol + footprint, and renders each
  format's OWN geometry as a native SVG thumbnail. Pure Rust, no KiCad install, no
  service round-trip: EAGLE/Fusion via built-in eagle.rs, Altium footprints via
  altium-pcblib, Altium symbols via altium-schlib. "sf" = symbol + footprint (like
  ds2sf). Conversion to .kicad_sym/.kicad_mod is export-only; rendering stays native
  so cross-source comparison shows each format's truth instead of one normalised
  KiCad interpretation. Used by chip-fetcher for per-source thumbnails.
---

# adom-sfconvert

Convert + natively render EAGLE/Fusion `.lbr` and Altium `.SchLib`/`.PcbLib`.

## When to reach for this

- You have a non-KiCad library (EAGLE/Fusion or Altium) and want a **KiCad
  symbol/footprint** out of it — without installing KiCad.
- You want a **native thumbnail** of a foreign library that shows its own
  geometry (for side-by-side source comparison), not a KiCad-normalised version.

## Command

```bash
adom-sfconvert convert <file> [--out-dir <dir>] [--name <stem>]
```

Recognised inputs: `.lbr` (EAGLE/Fusion XML), `.SchLib` / `.PcbLib` / `.IntLib`
(Altium OLE2 binary, auto-detected by the `D0CF11E0` magic).

Outputs per run: `<stem>.kicad_sym` / `<stem>.kicad_mod` (export) and
`<stem>-symbol.svg` / `<stem>-footprint.svg` (native thumbnails).

## Architecture (all native, all local)

```
.lbr     →  eagle.rs       →  KiCad sym/mod  +  native SVG
.PcbLib  →  altium-pcblib  →  KiCad mod      +  native SVG
.SchLib  →  altium-schlib  →  KiCad sym      +  native SVG
```

No `kicad-cli`, no service POST. The only thing in the wider pipeline that still
calls the shared KiCad service is rendering KiCad's *own* format — correct, since
that isn't a foreign conversion.

## Design rule

**Render native, convert on export.** Converting a foreign format to KiCad just
to draw it throws away exactly the differences a comparison tool exists to find.
Keep originals; emit `.kicad_*` only when the user picks KiCad as the target.

## Companions

- `adom-ds2sf` — datasheet PDF → symbol + footprint.
- `altium-pcblib` / `altium-schlib` — the native Altium readers.
- `chip-fetcher` — shows every source's render for compare-and-contrast.
