app
Adom Symbol
Public Made by Adomby adom
KiCad symbol creator with interactive viewer and delivery to KiCad/Fusion 360
← Commit history
Publish docs/default-symbol-3d-outline.md (white 3D-outline default explainer)
1 file changed
+36
docs/default-symbol-3d-outline.mdadded+36@@ -0,0 +1,36 @@+# 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).