Chipsmith
UnreviewedSTEP-native chip validator — 5-source cross-validation, OCCT-generated copyright-free 3D models with embedded signal annotations, datasheet-to-STEP pipeline.
adom-chipsmith — STEP-native chip validator
adom-chipsmith loads a chip's STEP file alongside its footprint, datasheet PDF, and a chipsmith-spec manifest, then runs detection on the STEP B-rep (not on triangulated GLB meshes), validates measurements, layers a 1.6 mm faux PCB, auto-generates heatsink-via grids under any exposed pad, lays out solder-jet domes per the solder-jetting rules, and on user sign-off bakes a canonical <mpn>.chipsmith.step plus a sidecar JSON for downstream Adom tools.
It's the higher-level validator that sits on top of adom-step — chipsmith inherits the canonical Babylon viewer + smart-pick measure tool + Outline pane via the Tier-3 importer pattern from 3d-viewer-design §2.
What it does (in one screen)
| Tab | What it shows |
|---|---|
| Source | Manifest (MPN / mfr / package), declared spec (pin_count / structural_type / body_dims_mm), file paths with reveal-in-VSCode buttons, datasheet via adom-pdf-viewer. Inline editor saves into info.json. |
| Measurements | Auto-rescale negotiation across 6 candidates (×1, ÷25.4, ÷1000, ×25.4, ×1000, ÷10) — picks the scale within ±5% of declared body_dims_mm. mm + mils dual readout. |
| Detection | Mode 0 walks the named scene graph. Mode 1 falls back to surface-type clustering on /api/step-meta. Pin-reveal strobe flashes each detected feature with a numbered HTML badge floating at the screen-projected XY. |
| Footprint | Per-source breakdown across KiCad / Fusion / Altium / datasheet-derived. Cross-source agreement matrix (pad-by-pad position + size deltas). 3D toggle per source — translucent pads at z=0 in the scene. ds2sf v0.5.1 authoritative SVG rendered as real vector polygons via earcut (not a raster texture; sharp at any zoom). |
| Pin-1 | Chip-side via Mode 0 detection; footprint-side via silkscreen marker scan. Place-synthetic-indicator UI (NW/NE/SW/SE/click) when chip-side is missing. Three shapes: dimple / raised dot / corner chamfer. |
| Sign-off | 4 hard + 3 soft gates. CTA POSTs to /api/signoff → writes <mpn>.chipsmith.json + bakes <mpn>.chipsmith.step. |
| Heatsink | EP detection + auto-generated 0.3 mm via grid (1.2 mm pitch, 0.4 mm margin). Hollow plated barrels with copper annular rings. CSG-drilled B.Cu copper pour underneath the EP — with via-clearance holes — for the heatsink path. |
| Solder-jet | 300 µm dome layout per solder-jetting — intra-pad ≥100 µm, inter-pad ≥300 µm with no-bridging pruning. |
Every overlay layer is a first-class Outline citizen with eye-toggle, click-to-isolate, and a right-click menu.
STEP-native, not GLB
Both adom-chipfit and adom-chiplinter operate on triangulated GLBs and both lose surface-type information (a BGA ball becomes a triangle list, indistinguishable from a QFN pad). chipsmith reads the STEP file's B-rep + assembly hierarchy directly via service-step2glb's /step-meta endpoint, so:
- CYLINDER + small radius + dome top → BGA ball.
- PLANE + horizontal + at z≈seat-plane → SMD pad.
- PLANE + vertical + tall (≥1.6 mm) + thin → through-hole pin.
- CONICAL or CYLINDER on top, small radius, elevated → pin-1 indicator candidate.
Detection runs in three modes — Mode 0 named-scene-graph walk, Mode 1 surface-type cluster, Mode 2 face-merge fallback — stopping when ≥(declared pin count) features have been classified.
Multi-source footprint cross-validation
chipsmith renders four parallel footprint sources from chip-fetcher's library (datasheet-derived, KiCad, Fusion 360 .lbr, Altium .PcbLib) into the scene as separately-branched overlays in different tints (orange / green / blue / purple), then runs a per-pad cross-validation matrix. All four sources agreeing pad-by-pad is the strongest possible "chipsmith nailed this chip" signal — disagreements pop visually and gate sign-off.
The ds2sf authoritative SVG (when present in the chip-fetcher library — emitted by ds2sf v0.5.1+) renders as a fifth branch of pixel-trustworthy ground truth: real vector polygons parsed from the SVG and triangulated via earcut, not a texture-mapped raster.
Quick start
# Install (paste into Claude Code):
curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-chipsmith/adom-chipsmith \
-o /usr/local/bin/adom-chipsmith && chmod +x /usr/local/bin/adom-chipsmith && \
adom-chipsmith install
# Open a chip from a chip-fetcher library
adom-chipsmith view-library /home/adom/project/chip-fetcher/library/VL53L8CX
# Open an arbitrary STEP + footprint + datasheet
adom-chipsmith view path/to/chip.step \
--footprint path/to/chip.kicad_mod \
--spec path/to/info.json
# Headless detection — JSON report
adom-chipsmith detect --json /path/to/chip-fetcher/library/<MPN>
CLI surface
| Command | Purpose |
|---|---|
view <step> [--footprint] [--spec] [--datasheet] [--no-open] |
Open one chip |
view-library <chip-fetcher-dir> |
Open a chip from a chip-fetcher library |
start --port N / stop --port N / status / health |
Server lifecycle |
list-components |
Scene-graph component tree |
isolate <name> / show <name> / hide <name> / show-all / frame <name> |
Visibility + camera |
place-pin1 <corner> / set-overlay <kind> <on/off> / sign-off |
Verification flow drivers |
screenshot --out <png> |
PNG of current canvas |
eval <js> |
Run a JS expression inside the webview, print the result |
console -f |
Tail JS console output from the webview |
detect --json |
Headless detection report on a chip-fetcher dir |
JS API surface (window.adomChipsmith)
The full UI is JS-shadowed for AI demo scripts + tests. From the CLI: adom-chipsmith eval "window.adomChipsmith.<verb>(...)".
state() // full state snapshot
setActiveTab(id) // 'source' | 'measurements' | … | 'solderjet'
runDetection() // re-fetch + re-run Mode 0 → Mode 1 fallback
runMeasurements() // re-run rescale negotiation
recomputeStatuses() // refresh every status pill from current state
placePin1(opts) // {mode:'corner'|'fpMarker'|'click', corner, xyMm, shape}
removePin1User()
setFootprintOverlay(src, on) // 'kicad' | 'fusion' | 'altium' | 'datasheet' | 'stock'
setDs2sfVisible(on)
setFauxPcbVisible(on)
setHeatsinkVisible(on)
setSolderJetVisible(on)
replayReveal() // re-runs the strobe + numbered badges
hoverAt({x, y}) // returns same payload as the visible HUD
signoff.gates()
signoff.canSignOff()
signoff.signOff() // POST /api/signoff → writes JSON + bakes STEP
Sign-off artifacts
| File | Content |
|---|---|
<mpn>.chipsmith.json |
Full state — applied scale, detected breakdown, heatsink grid, solder-jet layout, pin-1 user-placed corner, sign-off timestamp |
<mpn>.chipsmith.step |
Canonical role-tagged STEP via service-step2glb's /bake endpoint. Future Adom tools should prefer this over the original input. |
Source
adom-inc/adom-chipsmith (private). The wiki carries the binary + SKILL.md + this page; the public install path is fully self-service.
Adjacent skills
adom-step— base viewer chipsmith inherits from3d-viewer-design— esp. §14 (overlays first-class) and §2 (Tier-3 inheritance)solder-jetting— 300 µm dome ruleselectrical-engineering— package families, pin-1 conventions, mm + milspin1-indicator— per-package pin-1 marker conventionschip-fetcher— produces the chipsmith input bundle