Adom Symbol
Public Made by Adomby adom
KiCad symbol creator with interactive viewer and delivery to KiCad/Fusion 360
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.
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).
# 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).