# Default symbol = white 3D-chip outline + lasered name

`adom-symbol render` composites the 3D chip into the schematic body **by default**
— as a **white vector outline** with the part name lasered on its top face. This
is the layout shown on every chip-fetcher card and anywhere a symbol is rendered.

## Why NATIVELY white (the non-obvious part)

Symbols render on a **dark** canvas (`render::render_symbol_svg` applies the dark
theme). The interactive app defaults to the `"bold"` outline style, which is
**black** (`#0d1117`) — it only *looks* white in the app because the app applies a
CSS `filter: invert(1)` on screen. A **saved standalone SVG can't rely on that
filter**, so a composited "bold" outline is invisible on the dark tile.

Fix: composite a **natively-white** outline style (`heavy`/`dark` = `#e6edf3`).
`render` auto-discovers `<mpn>-3d-outline-<style>-named.svg` next to the
`.kicad_sym` (`default_white_outline` in `src/main.rs`), preferring white styles.
Callers should NOT pass a shaded `--iso` PNG — that reads as a gray box.

## Native vector + the outline contract

The outline is drawn as **native inline SVG geometry**, not a base64-embedded
image — crisper, and it doubles as the **outline contract**
(`<mpn>-symbol-outline.mm.svg` + `.json`, already in symbol mm-space) that
**adom-lbr** transcribes 1:1 onto the EAGLE/Fusion schematic symbol. See
[`source-contract.md`](source-contract.md).

## Orientation

The outline asset is rendered by **chip-thumbnailer**, which honors
`info.json.chosen_up_axis` (so a Y-up chip's outline is posed Y-up). When the
up-axis changes, the outline must be regenerated and the symbol recomposited —
chip-fetcher orchestrates that (see chip-fetcher's `symbol-axis-regen` playbook);
adom-symbol just composites whatever the current `-3d-outline-*-named.svg` is.

Reference: `src/main.rs::default_white_outline`, `src/render.rs` (composite).
