app
Adom TSCI - Tscircuit Board Viewer
Public Made by Adomby adom
Interactive tscircuit preview in a Hydrogen webview — first-class 3D / PCB / Schematic tabs, Components & Nets HUDs, an auto-glow x-ray view, Inspect, Measure, a Walkthrough Demo, and a one-click `exp
← Commit history
SKILL.md+37@@ -661,6 +661,41 @@ mistakes the tscircuit build does NOT fail on. Run it after every `start` / A non-zero exit = board not ready to ship. The schematic-overlap check is the linter half of "smart layout that never overlaps." +## 📐 `adom-tsci plan-view` — lay out a molecule before routing (v1.6.0)++A plain 2D view that answers "where do the contacts go, and how does the chip sit":+- contacts / machine pins labelled by net, copper at the library's hole OD;+- free slots dashed;+- pads with pin numbers and the pin-1 dot;+- pin-to-contact lines (and how many cross);+- the measured minimum copper clearance from every part;+- **courtyards**, on by default:+ - red where two overlap, amber where the design names the pair as an exception;+ - an overlap means shared area, as KiCad's `courtyards_overlap`; touching outlines don't count;+ - 2D only: courtyards are not physical, so they never go in 3D.++```sh+adom-tsci plan-view # the built board: dist/lib/index/circuit.json -> plan.svg+adom-tsci plan-view --layout a.json --layout b.json -o compare.svg # planning, side by side+```++A layout file needs no routing and no tscircuit build:+```json+{ "title": "A: U1 upright",+ "plan": "plan.json",+ "machinePinNets": { "MP1": "GND", "MP2": "VCC", "MP3": "VCC", "MP4": "GND" },+ "parts": [ { "ref": "U1", "footprint": "u1.kicad_mod", "x": 0, "y": 0, "rotation": 90,+ "pins": { "1": "COM", "2": "I7" }, "label": "CD74HC4067" } ] }+```+- `plan` is the output of `bun scripts/plan.ts molecule.json contacts.json` from adom-tsci-molecule (2.1.0+).+- Optional `contactNets` relabels slots, e.g. when a turned chip re-orders the nets.+- Optional `courtyardExceptions: [{"refs": ["U1", "C1"], "reason": "..."}]` marks pairs allowed to overlap.+- For a built board, exceptions come from the project's `design.json` (`rules.courtyardExceptions`), or from+ `--courtyard-exceptions <file>`. `--no-courtyards` leaves courtyards out, as does the Plan tab's button.+- Paths are relative to the layout file.++The viewer's **Plan** tab shows the same view of the current build.+ ## 🎬 Walkthrough is GENERATED, never hand-written The Walkthrough is built deterministically by **`adom-tsci walkthrough-gen`**@@ -1133,6 +1168,7 @@ Every command follows the Adom CLI conventions (`OK:` / `ERROR:` / | `adom-tsci upgrade [dir]` | `bun update --latest` in the target tscircuit project | | `adom-tsci export --format <F>` | Fab/EDA export via tsci with the `--output` path quirk handled: `kicad-zip` (KiCad 7/8 project), `kicad-pcb`, `gerbers`, `step`, `readable-netlist`. Writes `<project>/<name>.<ext>` by default | | `adom-tsci health` | Probe `tsci_reachable` |+| `adom-tsci plan-view [--circuit F \| --layout L ...] [-o out.svg] [--json] [--no-courtyards] [--courtyard-exceptions F]` | Plain 2D plan view: nets on contacts, pin numbers, free slots, clearances (see above) | | `adom-tsci install` | Drop `SKILL.md` into `~/.claude/skills/adom-tsci/` | | `adom-tsci --version` | Print version | @@ -1166,6 +1202,7 @@ directly if you want to script without the CLI. All on | `/glb/meta` | GET | `{mtime, size}` for polling | | `/pcb.svg` | GET | Streams `<project>/dist/lib/index/pcb.svg` | | `/schematic.svg` | GET | Streams `<project>/dist/lib/index/schematic.svg` |+| `/plan.svg` | GET | The plan view of `<project>/dist/lib/index/circuit.json`, drawn on request (`adom-tsci plan-view`); `?courtyards=0` leaves courtyards out | | `/circuit.json` | GET | Streams `<project>/dist/lib/index/circuit.json` (UI uses it to map GLB meshes to component names) | | `/rerun[?clean=1]` | POST | Touch `lib/index.tsx` via upsert + spawn `bunx tsci build --glbs --svgs` | | `/reload` | POST | Bump GLB mtime to force 3D tab reload |
VERSION+1−1@@ -1 +1 @@-1.5.1+1.6.0
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-tsci",- "version": "1.5.1",+ "version": "1.6.0", "type": "app", "description": "Interactive tscircuit board viewer in a Hydrogen webview \u2014 first-class 3D / PCB / Schematic tabs, an Inspect tool, a Fusion-style Measure tool, net x-ray, guided Walkthrough demos, one-click autorouter re-run, and auto high-res board-surface texture. Fully AI-drivable (CLI + HTTP + JS eval). Also publishes molecules/boards to the Adom Wiki.", "dependencies": {},
page.json+1−1@@ -4,7 +4,7 @@ "slug": "adom-tsci", "title": "Adom TSCI - Tscircuit Board Viewer", "brief": "Interactive tscircuit preview in a Hydrogen webview — first-class 3D / PCB / Schematic tabs, Components & Nets HUDs, an auto-glow x-ray view, Inspect, Measure, a Walkthrough Demo, and a one-click `exp",- "version": "1.5.1",+ "version": "1.6.0", "tags": [ "tscircuit", "pcb",