Vibeleaderboard
Index / tool
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 dataGLTF file

  • Convert circuit JSON to 3D GLB file

    Circuit JSON dataGLB file

  • Export tscircuit designs as 3D models

    tscircuit design data3D model files

  • Generate 3D visualization from circuit data

    Circuit JSON3D model for visualization

Tags

tscircuitgltf3delectronicspcb

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.