
Circuit JSON to GLTF
https://github.com/tscircuit/circuit-json-to-gltf- Category
- Developer Tools
- Rank
- No. 1644Tools index
Previous survey · No. 1691 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- tscircuit
- GitHub
- 3 stars
- Date
About
Converts circuit JSON to 3D GLTF or GLB files. Export tscircuit designs as 3D models for visualization.
What it does
It builds a textured 3D PCB scene from circuit data, placing the board and components before encoding geometry, materials, textures, camera, and lighting. Output can be readable GLTF 2.0 JSON or a binary GLB, with assets embedded for portability.
Why it's ranked here
This is a focused export library with unusually practical PCB controls. It handles board dimensions, drill detail, notes, colors, coordinate transforms, external component models, and self-contained output. The split browser path is less capable, and the documented model switch appears incompletely wired, but the core conversion surface is substantial.
What's good
Board rendering goes beyond plain geometry. It creates top and bottom textures, derives contrasting colors from the solder mask, and permits explicit copper, silkscreen, substrate, and drill colors. Model loaders cover STL, OBJ, GLB, GLTF, and STEP geometry, including materials, transforms, bounding boxes, caching, and authenticated downloads.
Tradeoffs
Browser-safe conversion deliberately disables board textures, so it cannot match the richer main output. One browser implementation also represents only components explicitly marked for bounding boxes. The external-model inclusion option is read by the main converter but is not forwarded into scene conversion in the supplied code. No command-line interface is documented.
How to use it well
Use it inside a TypeScript circuit workflow when you need portable 3D previews, viewer assets, or downstream GLTF processing. Tune texture resolution and drill quality according to speed needs, and provide a base URL plus authorization headers for protected models. Choose another tool for circuit editing, simulation, or manufacturing output.
Technical notes+
index.ts re-exports lib/index.ts, whose convertCircuitJsonToGltf builds a Scene3D through lib/converters/circuit-to-3d and passes it to lib/converters/scene-to-gltf with embedded images and forced indices. lib/types.ts defines GLTF or GLB output, texture, drill, color, coordinate-transform, model-resolution, and authentication options. However, lib/index.ts destructures includeModels and modelCache without passing either onward. lib/browser.ts and lib/browser-index.ts disable texture rendering; the former independently builds a board plus selected component boxes. Loaders in lib/loaders/stl.ts, lib/loaders/obj.ts, lib/loaders/glb.ts, lib/loaders/gltf.ts, and lib/loaders/step.ts parse and transform external meshes. package.json publishes only dist as an ES module and declares several circuit and resvg packages as peers.
Observed
- Primary language
- TypeScript
- Packaging
- ES module npm package publishing the dist directory; README installation uses Bun
- Library interface
- Async TypeScript library returning a GLTF object or GLB ArrayBuffer
- Output formats
- GLTF 2.0 JSON and binary GLB with embedded textures and buffers
- Model inputs
- Repository code includes loaders for STL, OBJ, GLB, GLTF, and STEP
- Browser support
- Separate browser-safe exports disable board texture rendering
- Interactive interface
- README links an online playground
- Test surface
- Package scripts define Bun tests and Playwright tests
Read from README.md, package.json, index.ts, lib/index.ts, lib/types.ts, lib/browser.ts, lib/browser-index.ts, lib/loaders/glb.ts, lib/loaders/obj.ts, lib/loaders/stl.ts, lib/loaders/gltf.ts, lib/loaders/step.ts, lib/gltf/geometry.ts, lib/gltf/gltf-types.ts, lib/utils/mesh-scale.ts.
What it can do
Convert circuit JSON to 3D GLTF file
Circuit JSON data → GLTF file
Convert circuit JSON to 3D GLB file
Circuit JSON data → GLB file
Export tscircuit designs as 3D models
tscircuit design data → 3D model files
Generate 3D visualization from circuit data
Circuit JSON → 3D model for visualization
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.