app
Chipfit — 3D Chip ↔ KiCad Footprint Validator
Public UnreviewedPair a .glb chip model with its .kicad_mod footprint in a Hydrogen webview. Validates package family, pin count, seat-plane Δz, size-match. Bake a persistent pin-1 registration dot onto the chip GLB.
name: adom-chipfit-build description: > Build and release a new version of adom-chipfit. Use when the user says "release adom-chipfit", "publish adom-chipfit", "cut a new adom-chipfit version", "bump adom-chipfit", "ship adom-chipfit", or "push adom-chipfit to the wiki".
Release adom-chipfit
- Bump
VERSION+Cargo.toml+wiki/page.jsonversion (all three must match). ./build.sh— cargo build, install local binary.- Verify CLI:
adom-chipfit --versionreports the new version. - Smoke test — pair a known chip pair and confirm the viewer comes up:
adom-chipfit check \ --footprint /usr/share/kicad/footprints/Package_SO.pretty/SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod \ --glb /home/adom/project/wiki/static/3dcomps/3d-soic-8/3d-soic-8.glb \ --no-tab --port 18894 curl -s http://127.0.0.1:18894/meta | jq . - Screenshot the 3D viewer with the pin-1 dot baked in (user must see a real before/after).
./publish.sh— git tag, wiki asset upload, wiki page update, end-to-end verification that the binary served from the wiki returns--versionmatching.
Pre-release checklist
-
VERSION,Cargo.toml,--version, andwiki/page.jsonmetadata all match - Package-family mismatch guard refuses a QFN-24 GLB on an LQFP-48 footprint
- Pin-1 bake produces a
-pin1.glbthat loads cleanly in a second viewer pass - Icon audit — EVERY icon monochrome white, no favicon carve-out.
All three greps must return zero:
bash grep -nE 'fill="(#00b8b0|#00d4cb)"|stroke="(#00b8b0|#00d4cb)"' \ docs/icon.svg src/*.html 2>/dev/null grep -oE 'fill="#[0-9a-fA-F]{3,8}"|stroke="#[0-9a-fA-F]{3,8}"' docs/icon.svg | \ grep -v -E '"#e6edf3"|"#ffffff"|"#fff"|"#0d1117"|"none"|"transparent"|"currentColor"' \ || echo "(docs/icon.svg clean)" grep -nE '\.logo[^{]*\{[^}]*color:\s*var\(--accent\)|\.icon[^{]*\{[^}]*color:\s*var\(--accent\)' \ src/*.html 2>/dev/null
Version-bump triggers
- UI change visible to the user → minor bump
- HTTP endpoint added/changed → minor bump
- Pure fix (typo, crash, math bug) → patch bump
- Package-family alias table change → patch bump
---
name: adom-chipfit-build
description: >
Build and release a new version of adom-chipfit. Use when the user
says "release adom-chipfit", "publish adom-chipfit", "cut a new
adom-chipfit version", "bump adom-chipfit", "ship adom-chipfit", or
"push adom-chipfit to the wiki".
---
# Release adom-chipfit
1. Bump `VERSION` + `Cargo.toml` + `wiki/page.json` version (all three must match).
2. `./build.sh` — cargo build, install local binary.
3. Verify CLI: `adom-chipfit --version` reports the new version.
4. Smoke test — pair a known chip pair and confirm the viewer comes up:
```
adom-chipfit check \
--footprint /usr/share/kicad/footprints/Package_SO.pretty/SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod \
--glb /home/adom/project/wiki/static/3dcomps/3d-soic-8/3d-soic-8.glb \
--no-tab --port 18894
curl -s http://127.0.0.1:18894/meta | jq .
```
5. Screenshot the 3D viewer with the pin-1 dot baked in (user must
see a real before/after).
6. `./publish.sh` — git tag, wiki asset upload, wiki page update,
end-to-end verification that the binary served from the wiki
returns `--version` matching.
## Pre-release checklist
- [ ] `VERSION`, `Cargo.toml`, `--version`, and `wiki/page.json` metadata all match
- [ ] Package-family mismatch guard refuses a QFN-24 GLB on an LQFP-48 footprint
- [ ] Pin-1 bake produces a `-pin1.glb` that loads cleanly in a second viewer pass
- [ ] Icon audit — EVERY icon monochrome white, no favicon carve-out.
All three greps must return zero:
```bash
grep -nE 'fill="(#00b8b0|#00d4cb)"|stroke="(#00b8b0|#00d4cb)"' \
docs/icon.svg src/*.html 2>/dev/null
grep -oE 'fill="#[0-9a-fA-F]{3,8}"|stroke="#[0-9a-fA-F]{3,8}"' docs/icon.svg | \
grep -v -E '"#e6edf3"|"#ffffff"|"#fff"|"#0d1117"|"none"|"transparent"|"currentColor"' \
|| echo "(docs/icon.svg clean)"
grep -nE '\.logo[^{]*\{[^}]*color:\s*var\(--accent\)|\.icon[^{]*\{[^}]*color:\s*var\(--accent\)' \
src/*.html 2>/dev/null
```
## Version-bump triggers
- UI change visible to the user → minor bump
- HTTP endpoint added/changed → minor bump
- Pure fix (typo, crash, math bug) → patch bump
- Package-family alias table change → patch bump