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
PCB and schematic panels can stay stale after rebuild and reload
Versions: adom-tsci 1.4.24; @tscircuit/cli 0.1.2057; tscircuit 0.0.2516; adom-wiki 1.7.41. Environment: Linux/WSL2, Hydrogen build e05f6eaa0b5de467bfbe76c20f4641390a5a4069.
Implementation exists — continue the existing PR. Ray has implemented this issue in adom-inc/adom-tsci PR #2, branch fix/pcb-review-workflow, commit 430d9ad. Do not start a duplicate implementation; review or extend that branch. All 14 automated tests pass. Remaining work: live Hydrogen/Babylon smoke test, then owner John’s review/merge and release verification. The PR is currently a draft; this issue remains open because the fix has not shipped.
An open PCB panel can keep showing old copper and silkscreen after the built SVG changes, even though the GLB timestamp and 3D model update. adom-tsci reload reports OK: reload triggered, but the displayed PCB can remain stale. A full document refresh loads the new SVG.
Reproduce:
- Build a board with SVG and GLB output; open the PCB tab.
- Change a visible label or contact placement and rebuild.
- Run
adom-tsci reload --port <port>. - Compare the visible PCB to
dist/lib/index/pcb.svg; the existing panel may retain the old SVG while 3D updates. - A full page reload shows the new SVG.
The code has separate one-time _pcbLoaded / _schematicLoaded flags and GLB polling. Merely invalidating a flag without reloading the active panel is insufficient. SVG updates also must not depend on a GLB changing: SVG-only builds are valid.
Expected: refresh the active PCB/schematic on its own artifact change or explicit reload, invalidate hidden panels for their next activation, retain pan/zoom when possible, and do not claim success based only on the GLB timestamp. Add coverage for an SVG-only update and an update while the panel is active.
Repeated during September 11, 2026 local PCB editing. Existing board screenshots are intentionally not attached because this prototype must remain local; source-level regression coverage can use tiny synthetic SVGs.