app / adom-chipsmith
!

Not installable via adompkg

This app has no published release. adompkg install kyle/adom-chipsmith will not work until a maintainer publishes a tarball with install.sh and uninstall.sh.

See the publishing docs for the package.json schema and tarball layout required to ship this app.

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