Skip to content

tscircuit/contribution-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,413 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

contribution tracker

contributions.tscircuit.com ・ tscircuit.com ・ Contribution Overviews ・ Changelogs

Generates weekly contribution overviews for tscircuit contributors. Check out all the contribution overviews here You can find AI-generated monthly changelogs in the changelogs directory

  • All PRs in the tscircuit org are scanned/summarized via an LLM
  • The LLM classifies each Diff/PR as into a set of attributes for scoring
  • All the PRs, summaries, and classifications are organized into charts and tables for the website

Want to run locally? See the Development Section

Current Week

Contribution Overview 2026-05-12

The current week is shown below. There are 3 major sections:

PRs by Repository

pie
    "tscircuit/pcb-viewer" : 2
    "tscircuit/tscircuit.com" : 43
    "tscircuit/cli" : 57
    "tscircuit/tscircuit-autorouter" : 17
    "tscircuit/circuit-json-to-step" : 5
    "tscircuit/order-dialog" : 4
    "tscircuit/arduino-uno-with-re-routing-demo" : 1
    "tscircuit/fake-stripe" : 4
    "tscircuit/eval" : 28
    "tscircuit/tscircuit" : 50
    "tscircuit/core" : 10
    "tscircuit/runframe" : 57
    "tscircuit/circuit-json-to-kicad" : 4
    "tscircuit/krt-wasm" : 6
    "tscircuit/circuit-json-to-3d-png" : 3
    "tscircuit/sparkfun-boards" : 2
    "tscircuit/checks" : 2
    "tscircuit/internal-dynamic-import" : 3
    "tscircuit/circuit-json-to-gerber" : 10
    "tscircuit/easyeda-converter" : 2
    "tscircuit/circuit-json" : 1
    "tscircuit/circuit-to-svg" : 2
    "tscircuit/circuit-json-to-tscircuit" : 1
    "tscircuit/kicadts" : 1
    "tscircuit/kicad-to-circuit-json" : 4
    "tscircuit/circuit-to-canvas" : 1
    "tscircuit/props" : 3
    "tscircuit/tscircuit.com-landing" : 6
    "tscircuit/tiny-hypergraph" : 1
    "tscircuit/docs" : 1
    "tscircuit/lbrnts" : 1
    "tscircuit/fabrication-operator-ui" : 8
    "tscircuit/high-density-repair03" : 3
    "tscircuit/dataset-srj16-bga-breakouts" : 1
Loading

Contributor Overview

Contributor 🐳 Major πŸ™ Minor 🐌 Tiny Score ⭐ Discussion Contributions
imrishabh18 10 5 11 62 ⭐⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
MustafaMulla29 4 7 11 42 ⭐⭐ 0πŸ”Ή 1πŸ”Ά 0πŸ’Ž
techmannih 1 13 6 35 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
mohan-bee 3 7 2 28 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
AnasSarkiz 3 0 6 25 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
Abse2001 3 2 4 23 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
0hmX 4 0 1 18 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
tscircuitbot 0 0 223 14.5 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
rushabhcodes 1 2 3 12 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
ShiboSoftwareDev 2 2 0 12 ⭐⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
seveibar 2 0 1 10 ⭐ 1πŸ”Ή 0πŸ”Ά 0πŸ’Ž
Sang-it 1 2 1 9 ⭐ 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
thisisharsh7 0 1 0 2 0πŸ”Ή 0πŸ”Ά 0πŸ’Ž
MestreY0d4-Uninter 0 0 0 2 0πŸ”Ή 1πŸ”Ά 0πŸ’Ž

Staff Pass Ratio (SPR)

Contributor Reviewed PRs Rejections Approvals SPR
techmannih 11 0 11 100.0%
MustafaMulla29 6 0 6 100.0%
mohan-bee 4 3 4 25.0%
ShiboSoftwareDev 4 0 4 100.0%
imrishabh18 3 0 3 100.0%
Sang-it 3 0 3 100.0%
rushabhcodes 1 0 2 100.0%
AnasSarkiz 1 0 1 100.0%
thisisharsh7 1 0 1 100.0%
techmannih SPR PRs (11)
  • #583 add ccw_rotation to pcb fabrication note text
  • #392 Handle CircleSchema silkscreen circles in conversion
  • #2306 Extract CAD models from library footprint circuit json
  • #2301 Fix JLCPCB footprint prefix hint for invalid footprint props
  • #2699 Add jlcpcb cad model support to eval
  • #2655 Add JLCPCB footprint library map support
  • #33 Support all PCB fabrication note elements in footprint conversion
  • #41 Parse solid fills for graphics
  • #89 use typed kicadts zones for copper pours
  • #87 Preserve KiCad knockout board text in Circuit JSON
  • #236 Preserve copper knockout text anchor alignment
MustafaMulla29 SPR PRs (6)
  • #2297 Fix default nominal trace width for krt autorouter routes
  • #98 Fix plated hole soldermask margin
  • #96 Fix pcb_hole soldermask margin
  • #91 Fix untented vias missing soldermask openings
  • #89 Fix blind vias being emitted in through-board drill output
  • #2674 Use jscdn as Primary CDN and keep jsDelivr as fallback
mohan-bee SPR PRs (4)
  • #147 Detect footprint overlap when holes collides with courtyards
  • #149 Fix mounting holes inside own courtyard
  • #279 Add SparkFun RGB and Gesture Sensor - APDS-9960
  • #264 Add Copper Pour Export
ShiboSoftwareDev SPR PRs (4)
  • #2295 Fix Arduino Uno region reroute cleanup
  • #2296 Fix invalid source trace IDs in region reroute output
  • #1167 Fix same-root MST route disconnections in repro117
  • #1168 Fix reroute reachability for overlapping target nodes
imrishabh18 SPR PRs (3)
  • #2665 Add unpkg fallback for worker CDN fetch
  • #1178 fix: stitch solver disconnecting the bridge fragment of the same root net
  • #88 Dedeup STEP model according to the model_step_url
Sang-it SPR PRs (3)
  • #669 add nominalTraceWidth field to Net
  • #2294 pass missing info to the schematic trace solver
  • #1166 add nominalTraceWidth example001
rushabhcodes SPR PRs (1)
  • #560 Handle through-pad PCB trace segments in SVG rendering and bounds
AnasSarkiz SPR PRs (1)
  • #35 Implement Automatic LightBurn Project Splitting by Cut Setting with Group-Aware Shape Isolation
thisisharsh7 SPR PRs (1)
  • #554 Fix blank preview in keyboard tutorial

Note: AI evaluates PRs and assigns 1-3 star ratings automatically. 4 and 5 star ratings require manual staff review.

Discussion Contribution Legend

  • πŸ”Ή Normal Comments: Basic participation with minimal effort
  • πŸ”Ά Great Informative Comments: Thoughtful participation that adds value
  • πŸ’Ž Incredible Comments: Exceptional participation with high-quality content

Review Table

Contributor Reviews Received Approvals Received Rejections Received Approvals Rejections Given PRs Opened PRs Merged Issues Created
rimi11e 0 0 0 0 0 1 0 0
TodouWisiper 0 0 0 0 0 3 0 0
sandliu 0 0 0 0 0 1 0 0
Kidkrow12 0 0 0 0 0 3 0 0
dukunline-cyber 0 0 0 0 0 2 0 0
haocyan0723-code 0 0 0 0 0 2 0 0
js360000 0 0 0 0 0 7 0 0
imrishabh18 4 4 0 13 3 26 26 0
tscircuitbot 0 0 0 0 0 281 223 0
minhduytran 0 0 0 0 0 2 0 0
intagold561 1 0 0 0 0 8 0 0
seveibar 3 0 0 37 0 10 3 0
ma-moon 0 0 0 0 0 3 0 0
tungnguyentu 0 0 0 0 0 22 0 0
gwhthompson 1 0 0 0 0 1 0 0
mohan-bee 23 17 2 0 0 15 12 0
MustafaMulla29 15 14 0 10 1 25 23 0
techmannih 28 15 0 1 0 24 20 0
pxtung299-bot 0 0 0 0 0 3 0 0
rushabhcodes 18 6 1 1 0 6 6 0
AnasSarkiz 3 3 0 7 0 9 9 0
Abse2001 5 5 0 3 0 15 10 0
Sang-it 3 3 0 0 0 5 4 0
copperwisp 0 0 0 0 0 2 0 0
BossChaos 0 0 0 0 0 11 0 0
CodeForFee 0 0 0 0 0 8 0 0
ErguLan 0 0 0 0 0 1 0 0
zzhang82 0 0 0 0 0 2 0 0
jynbil1 3 0 0 0 0 4 0 0
UnlimitedxIQ 0 0 0 0 0 1 0 0
Guzzzzzzzz 0 0 0 0 0 3 0 0
mochammadfarkhan 0 0 0 0 0 1 0 0
watcharaponthod-code 0 0 0 0 0 1 0 0
newmattock 0 0 0 0 0 4 0 0
Jam-Ngai 0 0 0 0 0 1 0 0
iota3-cell 0 0 0 0 0 1 0 0
genson1808 0 0 0 0 0 2 0 0
fangzheli 0 0 0 0 0 1 0 0
sureshchouksey8 0 0 0 0 0 2 0 0
starburtMr 0 0 0 0 0 1 0 0
phungkaizen 1 0 0 0 0 6 0 0
isteelfelix 1 0 0 0 0 1 0 0
colorbank 0 0 0 0 0 10 0 0
MestreY0d4-Uninter 0 0 0 0 0 1 0 0
ShiboSoftwareDev 6 5 0 0 0 10 4 0
0hmX 10 0 0 1 0 12 5 0
tytkk2 0 0 0 0 0 2 0 0
singhvishalkr 1 0 1 0 0 5 0 0
Yang122333 0 0 0 0 0 1 0 0
william08190 0 0 0 0 0 2 0 0
pon024587-collab 0 0 0 0 0 11 0 0
ron1nrest 0 0 0 0 0 3 0 0
nikkkkj 0 0 0 0 0 2 0 0
kingzzoov-ctrl 0 0 0 0 0 1 0 0
gshaowei6 0 0 0 0 0 2 0 0
Gimyoonsoo 12 0 0 0 0 45 0 0
radiantjade 0 0 0 0 0 5 0 0
felixbeyer99-design 0 0 0 0 0 2 0 0
MAJINSI 0 0 0 0 0 1 0 0
Masihhedayati 0 0 0 0 0 2 0 0
Arthurescc 0 0 0 0 0 1 0 0
CalyxNZ 4 0 0 0 0 1 0 0
DomDigitalSimple 0 0 0 0 0 0 0 0
kodokushi444-commits 0 0 0 0 0 1 0 0
IbrahimLaeeq 4 0 0 0 0 4 0 0
haim1120 0 0 0 0 0 27 0 0
Minori016 0 0 0 0 0 1 0 0
Treasure520520 0 0 0 0 0 1 0 0
realkoreanbeef 1 0 0 0 0 5 0 0
Mira-Mjodheim 0 0 0 0 0 7 0 0
Adysekus 0 0 0 0 0 1 0 0
Donutking20 0 0 0 0 0 2 0 0
himanalot 0 0 0 0 0 1 0 0
ethever 0 0 0 0 0 1 0 0
johnsmith507 0 0 0 0 0 1 0 0
xXGoziXx 0 0 0 0 0 2 0 0
imaanmulji 0 0 0 0 0 1 0 0
richboyneedcash 0 0 0 0 0 1 0 0
Jahrome907 1 0 0 0 0 1 0 0
JimmiFriborg 0 0 0 0 0 1 0 0
partyplatter08-lab 0 0 0 0 0 2 0 0
dennywu2966 0 0 0 0 0 1 0 0
zaixincheng174-ai 1 0 0 0 0 1 0 0
raunaqsingh 0 0 0 0 0 2 0 0
jorgeschulz 0 0 0 0 0 3 0 0
lasgg 0 0 0 0 0 2 0 0
joel777rubio-web 0 0 0 0 0 1 0 0
qunqin219 0 0 0 0 0 2 0 0
mdp28 0 0 0 0 0 1 0 0
0xdungki 0 0 0 0 0 1 0 0
pnm03 0 0 0 0 0 2 0 0
jamilahmadzai 0 0 0 0 0 1 0 0
SkinnyFatBoy05 0 0 0 0 0 4 0 0
snidova1 0 0 0 0 0 1 0 0
SUNNY-Fu-ai 0 0 0 0 0 2 0 0
nicovaleops 1 0 0 0 0 2 0 0
Sparvovic 0 0 0 0 0 1 0 0
adminlip 0 0 0 0 0 5 0 0
thisismyburner 0 0 0 0 0 1 0 0
bmoh95 0 0 0 0 0 1 0 0
phanlehieu10 0 0 0 0 0 1 0 0
mercanet 0 0 0 0 0 1 0 0
8npyvz5bd8-lang 0 0 0 0 0 1 0 0
FJ-CX 0 0 0 0 0 1 0 0
zeppnyc 0 0 0 0 0 1 0 0
sagarmaurya64-ai 0 0 0 0 0 1 0 0
Bilal-Lodhi 6 0 0 0 0 4 0 0
authenticarc 0 0 0 0 0 1 0 0
jswagbo 0 0 0 0 0 1 0 0
time-turner42 0 0 0 0 0 1 0 0
yyswhsccc 0 0 0 0 0 2 0 0
lence773 0 0 0 0 0 1 0 0
siyrs 0 0 0 0 0 1 0 0
arias-hooks 0 0 0 0 0 1 0 0
vinaykrsinghal-stage 0 0 0 0 0 2 0 0
strongkeep-debug 0 0 0 0 0 1 0 0
JohnChen034 0 0 0 0 0 1 0 0
epowell40 0 0 0 0 0 1 0 0
lumenghz 0 0 0 0 0 1 0 0
siiferdiiii 0 0 0 0 0 1 0 0
dktran5105 0 0 0 0 0 1 0 0
21nak 0 0 0 0 0 1 0 0
digzrow-coder 0 0 0 0 0 3 0 0
FeeeeelixWong 0 0 0 0 0 2 0 0
foxhub2020 0 0 0 0 0 1 0 0
KarlZhu-ZXC 0 0 0 0 0 1 0 0
lyd123qw2008 0 0 0 0 0 1 0 0
albercr3 0 0 0 0 0 7 0 0
alan747271363-art 0 0 0 0 0 1 0 0
yusufdalbudak 0 0 0 0 0 2 0 0
ramrap 0 0 0 0 0 1 0 0
tmchang1258 0 0 0 0 0 1 0 0
serendipitous-syntax 0 0 0 0 0 1 0 0
kenproxx 0 0 0 0 0 1 0 0
MNgaminhhh 0 0 0 0 0 1 0 0
Mermaid-Man 0 0 0 0 0 1 0 0
TsukinowaRin 0 0 0 0 0 1 0 0
douglasflysuper01-cell 0 0 0 0 0 1 0 0
TheWaste11202 0 0 0 0 0 7 0 0
suhail-ak-2 0 0 0 0 0 6 0 0
Serve63 0 0 0 0 0 1 0 0
nam27062002 0 0 0 0 0 6 0 0
xlocalvn-svg 0 0 0 0 0 1 0 0
GabrielSotto 0 0 0 0 0 1 0 0
trucnhandeptrai2025-creator 0 0 0 0 0 1 0 0
andyphp 0 0 0 0 0 1 0 0
Vinzz2303 0 0 0 0 0 2 0 0
autochamchikim-pixel 0 0 0 0 0 3 0 0
masuda-so 0 0 0 0 0 1 0 0
qjly421 0 0 0 0 0 1 0 0
tarunag10 1 0 0 0 0 1 0 0
AmanKishore 1 0 0 0 0 1 0 0
Two-wood-three-soil 0 0 0 0 0 1 0 0
zp6 0 0 0 0 0 6 0 0
federicoschermi 0 0 0 0 0 1 0 0
mushfique-dgist 1 0 0 0 0 1 0 0
thisisharsh7 2 1 0 0 0 1 1 0
iamdinhthuan 0 0 0 0 0 1 0 0
WhiteEagle-12 0 0 0 0 0 1 0 0
prokesmic 0 0 0 0 0 1 0 0
RYB-404 0 0 0 0 0 1 0 0
Munirubenz 0 0 0 0 0 1 0 0
lezebomb 0 0 0 0 0 1 0 0
Havarry 0 0 0 0 0 1 0 0
BuckyQ 0 0 0 0 0 1 0 0
mithustar39 0 0 0 0 0 1 0 0
Sinceretoad 1 0 0 0 0 1 0 0
chenchong0215 0 0 0 0 0 1 0 0
Chaos-among-us 0 0 0 0 0 1 0 0
theRadicalSoftware 0 0 0 0 0 1 0 0
ArtemisMoysen 1 0 0 0 0 1 0 0
Dannier314 0 0 0 0 0 1 0 0
s53zo 1 0 0 0 0 1 0 0
IssacDanny 0 0 0 0 0 1 0 0

Changes by Repository

PR # Impact Rating Contributor Description
#864 🐳 Major ⭐⭐⭐ imrishabh18 Adds a new tool called Bounds that allows users to drag a rectangle around the view and select bounds, providing a callback with the selected coordinates.
🐌 Tiny Contributions (1)
PR # Impact Contributor Description
#865 🐌 Tiny tscircuitbot Automated package update
PR # Impact Rating Contributor Description
#3446 🐳 Major ⭐⭐⭐ imrishabh18 Passes the image and board specifications to the order dialog, allowing users to view detailed specifications and a preview image when ordering a package.
#3421 🐳 Major ⭐⭐⭐ mohan-bee Updates the KiCad project build path to use resolveAndLoadKicad3dModelFiles from circuit-json-to-kicad0.0.137, ensuring 3D model assets are included in project exports for a self-contained ZIP file.
#3445 πŸ™ Minor ⭐⭐ imrishabh18 Integrates the fake-stripe library for simulating Stripe checkout sessions in the development environment.
🐌 Tiny Contributions (40)
PR # Impact Contributor Description
#3438 🐌 Tiny imrishabh18 Applies CSS style fixes to the order dialog component, including background and z-index adjustments.
#3455 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1978 to 0.0.1979
#3454 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1978
#3453 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1976 to 0.0.1977
#3452 🐌 Tiny tscircuitbot Automated package update
#3451 🐌 Tiny tscircuitbot Automated package update
#3450 🐌 Tiny tscircuitbot Automated package update
#3449 🐌 Tiny tscircuitbot Automated package update
#3448 🐌 Tiny tscircuitbot Automated package update
#3444 🐌 Tiny tscircuitbot Automated package update
#3409 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.839 to 0.0.840
#3410 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1951
#3441 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970
#3443 🐌 Tiny tscircuitbot Automated package update
#3411 🐌 Tiny tscircuitbot Automated package update
#3432 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1966 in package.json
#3415 🐌 Tiny tscircuitbot Automated package update
#3418 🐌 Tiny tscircuitbot Automated package update
#3416 🐌 Tiny tscircuitbot Automated package update
#3434 🐌 Tiny tscircuitbot Automated package update
#3417 🐌 Tiny tscircuitbot Automated package update
#3428 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963
#3419 🐌 Tiny tscircuitbot Automated package update
#3440 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.850 in package.json
#3431 🐌 Tiny tscircuitbot Automated package update
#3424 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1959
#3429 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964
#3439 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1969
#3422 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1958 in package.json
#3437 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1967 to 0.0.1968
#3420 🐌 Tiny tscircuitbot Automated package update
#3425 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.846 in the package.json file.
#3423 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.845 in the package.json file.
#3413 🐌 Tiny tscircuitbot Automated package update
#3427 🐌 Tiny tscircuitbot Automated package update
#3436 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.849 in the package.json file.
#3433 🐌 Tiny tscircuitbot Automated package update
#3430 🐌 Tiny tscircuitbot Automated package update
#3442 🐌 Tiny tscircuitbot Automated package update for tscircuiteval from version 0.0.850 to 0.0.851
#3414 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953
PR # Impact Rating Contributor Description
#3019 🐳 Major ⭐⭐⭐ imrishabh18 Adds concurrency support for generating STEP files from circuit JSON, allowing multiple files to be processed simultaneously.
#3044 πŸ™ Minor ⭐⭐ mohan-bee Refactors the 3D model file handling in the KiCad project generation process to use a new utility function for improved loading and error handling.
#3058 πŸ™ Minor ⭐⭐ mohan-bee Refactors the handling of 3D model files by replacing manual fetching and copying with a centralized function for loading 3D models in KiCad libraries.
🐌 Tiny Contributions (54)
PR # Impact Contributor Description
#3028 🐌 Tiny imrishabh18 Updates the circuit-json-to-step dependency from version 0.0.28 to 0.0.30 in package.json
#3039 🐌 Tiny imrishabh18 Updates the circuit-json-to-step dependency to version 0.0.32, resulting in a reduction of the file size of the generated step.
#3073 🐌 Tiny tscircuitbot Automated package update
#3072 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1974 to 0.0.1975
#3070 🐌 Tiny tscircuitbot Automated package update
#3068 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1973 in package.json
#3067 🐌 Tiny tscircuitbot Automated package update
#3066 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1971 to 0.0.1972
#3065 🐌 Tiny tscircuitbot Automated package update
#3047 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1964 to 0.0.1965
#3020 🐌 Tiny tscircuitbot Automated package update
#3027 🐌 Tiny tscircuitbot Automated package update
#3037 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963
#3022 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package version from 0.0.1955 to 0.0.1957 in package.json
#3015 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1953 to 0.0.1954
#3030 🐌 Tiny tscircuitbot Automated package update
#3062 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package version from 0.0.1970 to 0.0.1971 in package.json
#3024 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1958
#3052 🐌 Tiny tscircuitbot Automated package update
#3017 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1954 to 0.0.1955
#3059 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970
#3036 🐌 Tiny tscircuitbot Automated package update
#3014 🐌 Tiny tscircuitbot Automated package update
#3054 🐌 Tiny tscircuitbot Automated package update
#3056 🐌 Tiny tscircuitbot Automated package update for tscircuitrunframe from version 0.0.1968 to 0.0.1969
#3010 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package to version 0.0.1951 in the package.json file.
#3013 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953
#3016 🐌 Tiny tscircuitbot Automated package update
#3043 🐌 Tiny tscircuitbot Automated package update
#3025 🐌 Tiny tscircuitbot Automated package update
#3057 🐌 Tiny tscircuitbot Automated package update
#3032 🐌 Tiny tscircuitbot Automated package update
#3033 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1959 to 0.0.1961
#3049 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1965 to 0.0.1966
#3018 🐌 Tiny tscircuitbot Automated package update
#3045 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964
#3051 🐌 Tiny tscircuitbot Updates the tscircuitrunframe package from version 0.0.1966 to 0.0.1967 in the package.json file.
#3038 🐌 Tiny tscircuitbot Automated package update
#3034 🐌 Tiny tscircuitbot Automated package update
#3060 🐌 Tiny tscircuitbot Automated package update
#3046 🐌 Tiny tscircuitbot Automated package update
#3023 🐌 Tiny tscircuitbot Automated package update
#3055 🐌 Tiny tscircuitbot Automated package update
#3061 🐌 Tiny tscircuitbot Automated package update
#3029 🐌 Tiny tscircuitbot Automated README update with latest CLI usage output.
#3042 🐌 Tiny tscircuitbot Automated README update with latest CLI usage output.
#3026 🐌 Tiny tscircuitbot Automated package update
#3063 🐌 Tiny tscircuitbot Automated package update
#3050 🐌 Tiny tscircuitbot Automated package update
#3048 🐌 Tiny tscircuitbot Automated package update
#3041 🐌 Tiny tscircuitbot Automated package update
#3035 🐌 Tiny tscircuitbot Automated package update
#3031 🐌 Tiny techmannih Updates the easyeda dependency version from 0.0.258 to 0.0.269 in package.json
#3064 🐌 Tiny Sang-it Updates the dependency version of tscircuitcircuit-json-schematic-placement-analysis in package.json
PR # Impact Rating Contributor Description
#1178 🐳 Major ⭐⭐⭐ imrishabh18 Fixes the issue where the stitch solver disconnects the bridge fragment of the same root net during autorouting.
#1173 🐳 Major ⭐⭐⭐ ShiboSoftwareDev Fixes reroute reachability for overlapping same-layer target nodes in the capacity mesh, ensuring reroute endpoints embedded in padtarget copper are reachable by the tiny-hypergraph pathing stage.
#1167 🐳 Major ⭐⭐⭐ ShiboSoftwareDev Repairs disconnected intra-node route fragments when a same-root MST sibling already contains the missing local bridge, preserving connectivity for cases like cmn_68 in repro117.
#1188 🐳 Major ⭐⭐⭐ seveibar Adds a new BusId type and updates the ConnectionPoint type to include an optional busId property.
#1175 🐳 Major ⭐⭐⭐ 0hmX Adds a new multigraph topology planner for the autorouting pipeline, enhancing the routing capabilities of the system.
#1192 🐳 Major ⭐⭐⭐ 0hmX Fixes the issue where the TinyHypergraphPortPointPathingSolver does not respect input solved routes during pathfinding operations.
#1174 🐳 Major ⭐⭐⭐ 0hmX Adds a BGA topology and component detection solver to enhance routing capabilities for BGA components.
#1163 🐳 Major ⭐⭐⭐ 0hmX Adds a solver that detects rectangular component areas and treats them as small SRJs for separate solving, enhancing the component detection process.
#1166 πŸ™ Minor ⭐⭐ Sang-it Adds functionality to annotate nominal trace widths in graphics based on connection specifications, enhancing visual representation in autorouting.
🐌 Tiny Contributions (8)
PR # Impact Contributor Description
#1195 🐌 Tiny tscircuitbot Automated package update
#1193 🐌 Tiny tscircuitbot Automated package update
#1190 🐌 Tiny tscircuitbot Automated package update
#1189 🐌 Tiny tscircuitbot Automated package update
#1180 🐌 Tiny tscircuitbot Automated package update
#1177 🐌 Tiny tscircuitbot Automated package update
#1170 🐌 Tiny tscircuitbot Automated package update
#1194 🐌 Tiny 0hmX Adds a reproduction test for the uniform port distribution path ordering issue in the autorouter.
PR # Impact Rating Contributor Description
#90 🐳 Major ⭐⭐⭐ imrishabh18 Implements shared hole geometry for top and bottom layers, reducing the file size by optimizing the representation of holes in the circuit design.
#92 🐳 Major ⭐⭐⭐ imrishabh18 Reduces file size by reusing pill boundary vertices at segment joins instead of creating duplicate vertices for each arc or line.
#88 πŸ™ Minor ⭐⭐ imrishabh18 Fixes the issue where the geometry is stored once and each component placement references it, leading to loss of face-level STYLED_ITEM colors in the test snapshot.
🐌 Tiny Contributions (2)
PR # Impact Contributor Description
#93 🐌 Tiny tscircuitbot Automated package update
#91 🐌 Tiny tscircuitbot Automated package update
PR # Impact Rating Contributor Description
#2 🐳 Major ⭐⭐⭐ imrishabh18 Removes the shipping and payment sections from the order dialog and refactors the code by splitting it into smaller components.
#3 🐳 Major ⭐⭐⭐ imrishabh18 This pull request integrates a fake Stripe server into the order checkout process, allowing for simulated payment processing during development. It adds a new script for running the fake Stripe server and modifies the order dialog to utilize this server for checkout sessions.
#4 πŸ™ Minor ⭐⭐ imrishabh18 Adds support for using fake-stripe with winterspec for local development, enabling mock Stripe API interactions.
🐌 Tiny Contributions (1)
PR # Impact Contributor Description
#5 🐌 Tiny imrishabh18 Removes unnecessary configuration files and scripts from the project, streamlining the build process.
PR # Impact Rating Contributor Description
#1 🐳 Major ⭐⭐⭐ imrishabh18 Adds functionality to upload a KiCad PCB file, allowing users to dynamically change the board being used in the application.
PR # Impact Rating Contributor Description
#4 🐳 Major ⭐⭐⭐ imrishabh18 Refactors routing logic to utilize the Winterspec framework, enhancing the structure and maintainability of the routing code.
#3 πŸ™ Minor ⭐⭐ imrishabh18 Adds a hosted checkout page for simulating Stripe checkout sessions, including routes for creating, retrieving, and completing sessions.
🐌 Tiny Contributions (2)
PR # Impact Contributor Description
#1 🐌 Tiny imrishabh18 Sets up a Bun-based server for a fake Stripe API, implementing checkout session functionalities including creation and retrieval of sessions.
#2 🐌 Tiny imrishabh18 Removes the use of crypto UUID for generating payment intent IDs and separates endpoint handling into distinct files for better organization.
PR # Impact Rating Contributor Description
#2665 πŸ™ Minor ⭐⭐ imrishabh18 Add a fallback mechanism for loading webworker entrypoints from an alternative CDN when the primary jsDelivr URL fails or returns a non-OK response.
#2674 πŸ™ Minor ⭐⭐ MustafaMulla29 Changes the primary CDN for loading npm packages from jsDelivr to jscdn, with jsDelivr as a fallback option.
#2699 πŸ™ Minor ⭐⭐ techmannih Adds CAD model extraction support for jlcpcb footprints in the eval platform, ensuring consistent behavior with kicad footprints by returning both footprintCircuitJson and cadModel.
#2655 πŸ™ Minor ⭐⭐ techmannih Adds support for fetching and rendering JLCPCB footprint data in the platform configuration.
🐌 Tiny Contributions (24)
PR # Impact Contributor Description
#2700 🐌 Tiny tscircuitbot Automated package update
#2698 🐌 Tiny tscircuitbot Automated package update to version 0.0.852
#2697 🐌 Tiny tscircuitbot Automated package update
#2678 🐌 Tiny tscircuitbot Automated package update
#2669 🐌 Tiny tscircuitbot Automated package update
#2677 🐌 Tiny tscircuitbot Automated package update
#2685 🐌 Tiny tscircuitbot Updates the version of the tscircuitcore package from 0.0.1251 to 0.0.1252 in package.json
#2682 🐌 Tiny tscircuitbot Updates package versions in package.json to the latest compatible versions.
#2686 🐌 Tiny tscircuitbot Automated package update
#2694 🐌 Tiny tscircuitbot Automated package update
#2689 🐌 Tiny tscircuitbot Automated package update
#2672 🐌 Tiny tscircuitbot Automated package update
#2668 🐌 Tiny tscircuitbot Automated package update
#2670 🐌 Tiny tscircuitbot Automated package update to version 0.0.842
#2693 🐌 Tiny tscircuitbot Updates various package dependencies in the project to their latest versions.
#2676 🐌 Tiny tscircuitbot Updates the version of the tscircuitcore package from 0.0.1248 to 0.0.1249 in package.json
#2666 🐌 Tiny tscircuitbot Automated package update
#2695 🐌 Tiny tscircuitbot Updates package versions for dependencies in the project.
#2696 🐌 Tiny tscircuitbot Automated package update
#2673 🐌 Tiny tscircuitbot Automated package update
#2691 🐌 Tiny tscircuitbot Automated package update
#2688 🐌 Tiny tscircuitbot Automated package update
#2683 🐌 Tiny tscircuitbot Automated package update
#2690 🐌 Tiny techmannih Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json
🐌 Tiny Contributions (50)
PR # Impact Contributor Description
#3197 🐌 Tiny imrishabh18 Fixes the missing dependency in the sync list that was causing the tscircuit to auto-update incorrectly.
#3191 🐌 Tiny imrishabh18 Updates the lockfile to ensure consistent dependency versions across environments.
#3189 🐌 Tiny imrishabh18 Updates CLI dependencies to newer versions in package.json
#3240 🐌 Tiny tscircuitbot Updates the package version from 0.0.1770 to 0.0.1771 in package.json
#3239 🐌 Tiny tscircuitbot Automated package update
#3238 🐌 Tiny tscircuitbot Automated package update
#3237 🐌 Tiny tscircuitbot Updates the tscircuitcli package from version 0.1.1396 to 0.1.1397 and the tscircuitrunframe package from version 0.0.1974 to 0.0.1975 in package.json
#3236 🐌 Tiny tscircuitbot Automated package update
#3235 🐌 Tiny tscircuitbot Automated package update
#3234 🐌 Tiny tscircuitbot Automated package update
#3233 🐌 Tiny tscircuitbot Automated package update
#3231 🐌 Tiny tscircuitbot Automated package update
#3230 🐌 Tiny tscircuitbot Updates the tscircuitcli package from version 0.1.1393 to 0.1.1394 and the tscircuitrunframe package from version 0.0.1971 to 0.0.1972 in package.json
#3228 🐌 Tiny tscircuitbot Updates the tscircuitcli package to version 0.1.1393 in the package.json file
#3229 🐌 Tiny tscircuitbot Automated package update
#3212 🐌 Tiny tscircuitbot Updates the tscircuitcli and tscircuiteval packages to their latest versions.
#3222 🐌 Tiny tscircuitbot Updates the tscircuitcli package from version 0.1.1390 to 0.1.1391
#3219 🐌 Tiny tscircuitbot Automated package update
#3218 🐌 Tiny tscircuitbot Updates the tscircuitcli package version from 0.1.1388 to 0.1.1389 and the tscircuitrunframe package version from 0.0.1968 to 0.0.1969, while downgrading the circuit-to-svg package version from 0.0.347 to 0.0.345.
#3223 🐌 Tiny tscircuitbot Automated package update
#3205 🐌 Tiny tscircuitbot Automated package update
#3200 🐌 Tiny tscircuitbot Automated package update
#3213 🐌 Tiny tscircuitbot Automated package update
#3203 🐌 Tiny tscircuitbot Updates the tscircuitcli package from version 0.1.1383 to 0.1.1384 and the tscircuitrunframe package from version 0.0.1964 to 0.0.1965.
#3198 🐌 Tiny tscircuitbot Automated package update
#3224 🐌 Tiny tscircuitbot Updates the version of the tscircuitchecks and tscircuitcore packages in package.json
#3199 🐌 Tiny tscircuitbot Updates the tscircuitcli package version from 0.1.1381 to 0.1.1382 and the tscircuitrunframe package version from 0.0.1959 to 0.0.1963 in package.json
#3186 🐌 Tiny tscircuitbot Automated package update to version 0.0.1747
#3196 🐌 Tiny tscircuitbot Automated package update
#3220 🐌 Tiny tscircuitbot Automated package update
#3215 🐌 Tiny tscircuitbot Automated package update
#3201 🐌 Tiny tscircuitbot Automated package update
#3209 🐌 Tiny tscircuitbot Automated package update
#3190 🐌 Tiny tscircuitbot Automated package version bump from 0.0.1747 to 0.0.1748
#3202 🐌 Tiny tscircuitbot Automated package update
#3210 🐌 Tiny tscircuitbot Automated package update
#3225 🐌 Tiny tscircuitbot Automated package update
#3214 🐌 Tiny tscircuitbot Automated package update
#3206 🐌 Tiny tscircuitbot Automated package update to version 0.0.1756
#3217 🐌 Tiny tscircuitbot Automated package update
#3204 🐌 Tiny tscircuitbot Automated package update to version 0.0.1755
#3192 🐌 Tiny tscircuitbot Automated package update
#3227 🐌 Tiny tscircuitbot Automated package update
#3226 🐌 Tiny tscircuitbot Automated package update
#3221 🐌 Tiny tscircuitbot Updates the package version from 0.0.1761 to 0.0.1762 in package.json
#3194 🐌 Tiny tscircuitbot Automated package update
#3184 🐌 Tiny mohan-bee Updates the versions of the CLI, eval, runframe, and core packages in the project dependencies.
#3193 🐌 Tiny MustafaMulla29 Updates the tscircuitcore dependency version from 0.0.1249 to 0.0.1251 in package.json
#3195 🐌 Tiny MustafaMulla29 Updates the tscircuiteval dependency version from 0.0.845 to 0.0.846 in package.json
#3216 🐌 Tiny techmannih Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json
PR # Impact Rating Contributor Description
#2303 🐳 Major ⭐⭐⭐ MustafaMulla29 Fixes autorouting failure when rerouting a subcircuit using the updated krt-wasm dependency
#2297 🐳 Major ⭐⭐⭐ MustafaMulla29 Fixes the default nominal trace width for krt autorouter routes to ensure proper routing behavior in PCB designs.
#2306 πŸ™ Minor ⭐⭐ techmannih Extracts CAD models from library footprint circuit JSON when the resolver does not return an explicit CAD model, preserving embedded CAD metadata for 3D rendering.
#2301 πŸ™ Minor ⭐⭐ techmannih Fixes the hint provided for invalid JLCPCB footprint properties to guide users on the correct prefix usage.
#2294 πŸ™ Minor ⭐⭐ Sang-it Fixes schematic trace solver by passing missing information for better trace rendering and net label placement.
#2295 πŸ™ Minor ⭐⭐ ShiboSoftwareDev Refactors the Arduino Uno reroute repro helpers, adds SVG-backed repro coverage for multiple reroute regions, and fixes stale imported trace geometry left behind after merged region reroutes by expanding merged reroute connection names back to all original source trace IDs before deletion.
#2296 πŸ™ Minor ⭐⭐ ShiboSoftwareDev Fixes invalid source trace IDs in reroute output by ensuring that source_trace_id is only assigned when it resolves to exactly one real source trace.
🐌 Tiny Contributions (3)
PR # Impact Contributor Description
#2302 🐌 Tiny imrishabh18 Adds a test to verify that the krt-wasm autorouter fails to re-route a subcircuit in a PCB design.
#2304 🐌 Tiny tscircuitbot Updates the tscircuitchecks package from version 0.0.129 to 0.0.130
#2299 🐌 Tiny tscircuitbot Updates the tscircuitchecks package from version 0.0.128 to 0.0.129
PR # Impact Rating Contributor Description
#3417 🐳 Major ⭐⭐⭐ mohan-bee Updates runframes KiCad project export to include referenced STEP files in the generated ZIP under 3dmodels, and enables local KIPRJMOD model paths in the exported .kicad_pcb.
#3447 🐳 Major ⭐⭐⭐ seveibar Fixes the autorouting report button functionality in the file menu of the CircuitJsonPreview component.
🐌 Tiny Contributions (55)
PR # Impact Contributor Description
#3415 🐌 Tiny imrishabh18 This pull request introduces a new feature that allows users to reroute a selected region of the PCB view to autoroute, enhancing the PCB design workflow.
#3463 🐌 Tiny tscircuitbot Automated package update
#3462 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.62 to 0.0.63
#3461 🐌 Tiny tscircuitbot Automated package update
#3460 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.60 to 0.0.62 in package.json
#3458 🐌 Tiny tscircuitbot Automated package update
#3457 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package to version 0.0.60 in package.json
#3456 🐌 Tiny tscircuitbot Automated package update
#3455 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.851 to 0.0.853 in the package.json file.
#3454 🐌 Tiny tscircuitbot Automated package update
#3453 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.58 to 0.0.59 in package.json
#3452 🐌 Tiny tscircuitbot Automated package update
#3451 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.57 to 0.0.58
#3450 🐌 Tiny tscircuitbot Automated package update
#3449 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.56 to 0.0.57
#3448 🐌 Tiny tscircuitbot Automated package update
#3444 🐌 Tiny tscircuitbot Automated package update
#3419 🐌 Tiny tscircuitbot Automated package update
#3407 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.842 in the package.json file.
#3421 🐌 Tiny tscircuitbot Updates the package version from 0.0.1958 to 0.0.1959 in package.json
#3434 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.847 in the package.json file.
#3435 🐌 Tiny tscircuitbot Automated package update
#3436 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.848 in the package.json file.
#3412 🐌 Tiny tscircuitbot Automated package update
#3442 🐌 Tiny tscircuitbot Automated package update
#3410 🐌 Tiny tscircuitbot Automated package update
#3424 🐌 Tiny tscircuitbot Automated package update
#3408 🐌 Tiny tscircuitbot Automated package update
#3411 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.844 in the package.json file.
#3420 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.844 to 0.0.845 in the package.json file.
#3432 🐌 Tiny tscircuitbot Automated package update
#3431 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.55 to 0.0.56
#3416 🐌 Tiny tscircuitbot Automated package update
#3409 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.842 to 0.0.843 in the package.json file.
#3403 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.839 to 0.0.840 in the project dependencies.
#3439 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.848 to 0.0.849 in the package.json file.
#3404 🐌 Tiny tscircuitbot Automated package update
#3427 🐌 Tiny tscircuitbot Updates the circuit-json-to-kicad package version from 0.0.136 to 0.0.137 in package.json
#3446 🐌 Tiny tscircuitbot Automated package update
#3413 🐌 Tiny tscircuitbot Updates the tscircuitpcb-viewer package from version 1.11.369 to 1.11.370
#3437 🐌 Tiny tscircuitbot Automated package update
#3433 🐌 Tiny tscircuitbot Automated package update
#3443 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.849 to 0.0.850
#3426 🐌 Tiny tscircuitbot Automated package update
#3425 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.846 in the package.json file.
#3429 🐌 Tiny tscircuitbot Updates the circuit-json-to-gerber package from version 0.0.54 to 0.0.55
#3428 🐌 Tiny tscircuitbot Automated package update
#3445 🐌 Tiny tscircuitbot Updates the tscircuiteval package to version 0.0.851 in the package.json file.
#3430 🐌 Tiny tscircuitbot Automated package update
#3405 🐌 Tiny tscircuitbot Updates the tscircuiteval package from version 0.0.840 to 0.0.841 in the package.json file.
#3440 🐌 Tiny tscircuitbot Automated package update
#3423 🐌 Tiny tscircuitbot Updates the circuit-json-to-kicad package from version 0.0.135 to 0.0.136 in package.json
#3414 🐌 Tiny tscircuitbot Automated package update
#3441 🐌 Tiny MustafaMulla29 Updates the tscircuitinternal-dynamic-import dependency from version 0.0.6 to 0.0.7 in package.json
#3418 🐌 Tiny techmannih Updates the easyeda dependency version from 0.0.266 to 0.0.269 in package.json
PR # Impact Rating Contributor Description
#264 πŸ™ Minor ⭐⭐ mohan-bee Adds functionality to export copper pours with correct geometry and net mapping in PCB designs.
#302 πŸ™ Minor ⭐⭐ mohan-bee This adds resolveAndLoadKicad3dModelFiles so circuit-json-to-kicad owns the KiCad 3D model output path convention while callers still control how files are fetched, read, and written. The helper supports builtin model CDN URLs, custom CAD URLs, local model files, and optional best-effort error handling for consumers like the CLI.
🐌 Tiny Contributions (2)
PR # Impact Contributor Description
#304 🐌 Tiny tscircuitbot Automated package update
#303 🐌 Tiny tscircuitbot Automated package update
PR # Impact Rating Contributor Description
#4 🐳 Major ⭐⭐⭐ MustafaMulla29 This fixes a KRT rerouting failure where the router reported no route for a valid reroute segment whose endpoints were exactly on the reroute region boundary. The issue showed up from cores autoroutingphase reroute flow. Core was passing a valid SimpleRouteJson: the reroute region was bounded, and the segment endpoints were placed on the clipped region edges. KRT failed because its clearance-margin check treated cells near those boundary endpoints like normal routing cells. Since the required clearance margin extended outside the reroute bounds, the router rejected the endpoint area and returned no route. The fix updates GridObstacleMap::is_blocked_with_margin to respect existing endpoint exemptions. Cells within the endpoint exemption radius now skip the normal margin expansion and only check whether the cell itself is blocked. Normal routing cells still use the full clearance-margin behavior. Also adds a visual snapshot test that reproduces the core-style reroute case with a subcircuit and autoroutingphase reroute .
🐌 Tiny Contributions (5)
PR # Impact Contributor Description
#8 🐌 Tiny tscircuitbot Automated package update
#3 🐌 Tiny MustafaMulla29 Adds a GitHub Actions workflow for testing using Bun, including setup, dependency installation, and test execution.
#5 🐌 Tiny MustafaMulla29 Adds a GitHub Actions workflow for publishing to npm, including version bumping and triggering updates for upstream repositories.
#6 🐌 Tiny MustafaMulla29 Installs wasm-pack as a prerequisite before executing the build command in the CI workflow.
#7 🐌 Tiny MustafaMulla29 Fixes the pver workflow and adds a new build workflow for the project.
🐌 Tiny Contributions (3)
PR # Impact Contributor Description
#4 🐌 Tiny tscircuitbot Automated package update
#3 🐌 Tiny rushabhcodes This pull request adds two new GitHub Actions workflows to automate package publishing and dependency checking for the repository.
#2 🐌 Tiny rushabhcodes Fixes a clean-install runtime dependency bug that caused bun test to fail in GitHub Actions by adding circuit-json-to-connectivity-map as a direct runtime dependency in package.json.
PR # Impact Rating Contributor Description
#279 🐳 Major ⭐⭐⭐ mohan-bee Adds support for the SparkFun RGB and Gesture Sensor APDS-9960 board by introducing new component definitions and updating the circuit layout.
#222 🐳 Major ⭐⭐⭐ rushabhcodes Adds the SparkFun DE9 Breakout - Male board schematic and layout, defines the connector footprint, and provides documentation.
PR # Impact Rating Contributor Description
#147 πŸ™ Minor ⭐⭐ mohan-bee Updates the PCB component overlap check to include component courtyards in footprint overlap checks against standalone PCB holes, ensuring DRC reports violations correctly.
#149 πŸ™ Minor ⭐⭐ mohan-bee Fixes duplicate courtyard grouping in the PCB component overlap check, ensuring courtyard elements are added only once to each component and preventing duplicate footprint overlap errors while maintaining existing DRC behavior.
PR # Impact Rating Contributor Description
#11 πŸ™ Minor ⭐⭐ mohan-bee Syncs generated type bundle declarations for circuit-json-to-kicad, adding new interfaces and properties for better type definitions.
#13 πŸ™ Minor ⭐⭐ MustafaMulla29 Changes the dynamic import mechanism to prioritize jscdn for module imports, falling back to esm.run if jscdn fails.
🐌 Tiny Contributions (1)
PR # Impact Contributor Description
#9 🐌 Tiny mohan-bee Updates the circuit-json-to-kicad package version from 0.0.91 to 0.0.137 in package.json
PR # Impact Rating Contributor Description
#95 🐳 Major ⭐⭐⭐ MustafaMulla29 Applies soldermask margins to SMT pads in Gerber output and ensures plated holes are correctly handled with respect to soldermask coverage.
#96 πŸ™ Minor ⭐⭐ MustafaMulla29 Fixes the soldermask margin calculation for circular PCB holes in Gerber file generation.
#94 πŸ™ Minor ⭐⭐ MustafaMulla29 Fixes missing soldermask openings for polygon SMT pads in Gerber output.
#93 πŸ™ Minor ⭐⭐ MustafaMulla29 Fixes missing copper pads and drill hits for route vias in the circuit JSON to Gerber conversion process.
#91 πŸ™ Minor ⭐⭐ MustafaMulla29 Fixes the issue where untented vias were not emitting soldermask openings in the Gerber output, ensuring proper representation in PCB designs.
#89 πŸ™ Minor ⭐⭐ MustafaMulla29 Fixes drill generation for boards with blind vias by separating drill outputs for blind and through vias, ensuring accurate drill files are created.
🐌 Tiny Contributions (4)
PR # Impact Contributor Description
#97 🐌 Tiny MustafaMulla29 Reproduces a bug where the plated hole soldermask margin is not applied to the mask opening in the Gerber output.
#92 🐌 Tiny MustafaMulla29 Adds a test to ensure that trace route vias do not emit via pads, drill hits, or following layer segments in the Gerber output.
#90 🐌 Tiny MustafaMulla29 Reproduces a bug where untented vias incorrectly emit soldermask openings in Gerber output.
#88 🐌 Tiny MustafaMulla29 Reproduces a bug where a blind via drill is incorrectly emitted on the bottom layer without a copper pad in the Gerber output.
PR # Impact Rating Contributor Description
#392 🐳 Major ⭐⭐⭐ techmannih Summary convert EasyEDA CIRCLE shapes on silkscreen layers into pcb_silkscreen_path output approximate silkscreen circles with 24 segments so they render in soup and generated TypeScript footprints update affected conversion tests and snapshots to cover the newly emitted silkscreen geometry Why Silkscreen circles were being dropped during conversion. That meant circular outline and marker graphics present in EasyEDA footprints did not make it into the generated soupTypeScript output or snapshots. Impact Generated footprints now preserve circular silkscreen details more faithfully, improving visual accuracy for downstream rendering and snapshot-based regression coverage. Root Cause The converter handled paths and arcs for silkscreen output, but it did not have a CIRCLE branch for silkscreen-layer shapes. Validation bun test --timeout 20000 testsconvert-to-soup-testsC265111.test.ts testsconvert-to-soup-testsc3178291-to-soup.test.ts testsconvert-to-soup-testsc46497.test.ts testsconvert-to-soup-testsc88224.test.ts testsconvert-to-soup-testsesp32-to-soup.test.ts testsconvert-to-tsC113367-to-ts.test.ts testsconvert-to-tsC12084-to-ts.test.ts testsconvert-to-tsC128415-to-ts.test.ts testsconvert-to-tsC19076967-to-ts.test.ts testsconvert-to-tsC2040-to-ts.test.ts testsconvert-to-tsC23689428-to-ts.test.ts testsconvert-to-tsC265111-to-ts.test.ts testsconvert-to-tsC2652953-to-ts.test.ts testsconvert-to-tsC2838502-to-ts.test.ts testsconvert-to-tsC2848306-to-ts.test.ts testsconvert-to-tsC2913206-to-ts.test.ts testsconvert-to-tsC2998002-to-ts.test.ts testsconvert-to-tsC3178291-to-ts.test.ts testsconvert-to-tsC393941-to-ts.test.ts testsconvert-to-tsC46497-to-ts.test.ts testsconvert-to-tsC51950748-to-ts.test.ts testsconvert-to-tsC7203002-to-ts.test.ts testsconvert-to-tsC88224-to-ts.test.ts bun test currently hits an unrelated timeout in browser bundle websafe guard
🐌 Tiny Contributions (1)
PR # Impact Contributor Description
#391 🐌 Tiny techmannih Add fixture-backed coverage for C51950748 in the convert-to-ts suite, including test assets and snapshots for 3D rendering and PCB SVG output.
PR # Impact Rating Contributor Description
#583 πŸ™ Minor ⭐⭐ techmannih Adds an optional ccw_rotation property to the PCB fabrication note text schema, allowing for counter-clockwise rotation specification.
PR # Impact Rating Contributor Description
#561 πŸ™ Minor ⭐⭐ techmannih Fixes knockout text placement so anchor_alignment is honored for knockout-rendered text in both silkscreen and copper rendering.
#560 πŸ™ Minor ⭐⭐ rushabhcodes Fixes pcb_trace.route handling for the new through_pad route-point variant from circuit-json, ensuring correct rendering and bounds calculation for through-pad traces in SVG output.
PR # Impact Rating Contributor Description
#33 πŸ™ Minor ⭐⭐ techmannih Expands circuit-json to tscircuit footprint generation to support the full PCB fabrication note family, including text, rectangles, and dimensions with preserved attributes.
PR # Impact Rating Contributor Description
#41 πŸ™ Minor ⭐⭐ techmannih Parses fill solid as a filled shape for fp_rect, fp_circle, gr_rect, and board gr_poly, ensuring filled graphics are correctly represented and preventing fill registration collisions.
PR # Impact Rating Contributor Description
#89 πŸ™ Minor ⭐⭐ techmannih Summary This PR fixes copper-pour generation by switching CollectZonesStage to the typed kicadts zone API and bumping kicadts to the release that includes the merged typed-zone work. Concretely, the zone-to-copper-pour path now reads: zone.fill zone.filledPolygons zone.polygons zone.layer zone.layers filled_polygon layer information pts arc segments via the shared arc approximation helper and this repo now depends on kicadts 0.0.37 instead of 0.0.33. Root Cause There were two separate mismatches: 1. CollectZonesStage in this repo was still manually reparsing zone._rawChildren instead of using the parsed Zone API. 2. The PR branch was still committed with kicadts 0.0.33, while the typed zone fields used by the downstream change are provided by the newer merged kicadts release. That combination caused copper pours to disappear and led to runtime failures like: TypeError: undefined is not an object (evaluating zone.filledPolygons.length) in CI when the older dependency version was installed. What Changed remove manual _rawChildren parsing from CollectZonesStage detect filled zones from typed zone.fill and zone.filledPolygons emit copper pours from typed filledPolygons first, then fall back to typed polygons resolve copper-pour layers from zone.layer, zone.layers, and per-filled_polygon layer data expand pts arc segments with the existing shared arc helper so polygon point extraction stays aligned with the rest of the PCB pipeline bump kicadts from 0.0.33 to 0.0.37 update the affected snapshots for via_grid_template and repro01-joule-thief Impact This keeps KiCad parsing responsibility in kicadts and removes the repo-local zone parser from kicad-to-circuit-json. It also restores copper pours for the fixtures that depend on zone output, including multi-layer zone cases such as layers F.Cu B.Cu, and makes CI install the kicadts version that actually exposes the typed zone fields used by this change. Validation bunx tsc --noEmit bun test .testsreprosrepro02-arduino-unoarduino-uno-trace-grouping.test.ts bun test .testsvia-grid-template.test.ts bun test .testsreprosrepro01-joule-thiefrepro01-joule-thief-pcb.test.ts
#87 πŸ™ Minor ⭐⭐ techmannih Summary Preserve KiCad board-level gr_text knockout semantics when converting silkscreen text into Circuit JSON. What changed detect KiCad knockout on board silkscreen gr_text in CollectGraphicsStage emit pcb_silkscreen_text.is_knockout true for those items add targeted Arduino Nano repro assertions for the board texts NANO and GND update the Arduino Nano PNG golden to reflect the rendered knockout behavior Why Board-level gr_text items with KiCad knockout were being emitted as ordinary pcb_silkscreen_text entries, so the knockout intent was lost in Circuit JSON and in downstream rendering. Impact preserves silkscreen knockout semantics for board text imports tightens regression coverage around the existing Arduino Nano repro keeps the change scoped to the board text conversion path Root cause CollectGraphicsStage converted board gr_text into pcb_silkscreen_text without checking whether the KiCad layer metadata included knockout. Validation bunx tsc --noEmit bun test testsreprosarduino-nanoarduino-nano-pcb.test.ts
#91 πŸ™ Minor ⭐⭐ techmannih Fixes the npm publish process by adding necessary properties for pcb fabrication notes in the CollectGraphicsStage class.
#90 πŸ™ Minor ⭐⭐ techmannih Preserves standalone board text rotation when collecting KiCad gr_text into Circuit JSON, ensuring rotated labels are correctly represented in the output.
PR # Impact Rating Contributor Description
#236 πŸ™ Minor ⭐⭐ techmannih Preserves the alignment of copper knockout text anchors in PCB drawings by allowing for various anchor alignments instead of defaulting to center alignment.
PR # Impact Rating Contributor Description
#669 🐳 Major ⭐⭐⭐ Sang-it Adds a nominalTraceWidth field to the Net interface to specify the width of traces in the circuit.
🐌 Tiny Contributions (2)
PR # Impact Contributor Description
#671 🐌 Tiny techmannih Adds a generator for JLCPCB footprint autocomplete using the public jlcsearch API, enabling type-safe autocomplete for jlcpcb: footprint references in footprint props and pcbSx selectors.
#672 🐌 Tiny rushabhcodes Updates the circuit-json dependency to version 0.0.425 to fix issues in Sparkfun boards.
PR # Impact Rating Contributor Description
#22 πŸ™ Minor ⭐⭐ rushabhcodes Fixes deployment-only issue where hero preview images fail to load by adding static fallbacks and resolving asset URLs for reliable rendering in production.
#19 πŸ™ Minor ⭐⭐ Abse2001 Adds navigation links to the Editor in the header and footer of the landing page for easier access.
🐌 Tiny Contributions (4)
PR # Impact Contributor Description
#21 🐌 Tiny Abse2001 Changes the navigation links from editor to quickstart to ensure consistent site navigation.
#20 🐌 Tiny Abse2001 Fixes the GitHub Actions workflow discovery by renaming workflow files to the correct directory structure.
#18 🐌 Tiny Abse2001 This pull request introduces two new GitHub Actions workflows for Continuous Integration (CI) in the repository. The first workflow is for building the project, and the second is for checking the formatting of the code. Both workflows are triggered on pushes and pull requests to the main branch. The build workflow installs dependencies using Bun and runs the build command, while the format-check workflow installs dependencies and runs a format check command.
#17 🐌 Tiny Abse2001 Adds a local development server setup using Vite for improved development workflow.
🐌 Tiny Contributions (1)
PR # Impact Contributor Description
#84 🐌 Tiny seveibar Adds a new page to demonstrate that two different nets cannot share a single-port chokepoint in the Tiny Hypergraph solver.
PR # Impact Rating Contributor Description
#554 πŸ™ Minor ⭐⭐ thisisharsh7 Fixes blank preview in the Building a Keyboard with tscircuit tutorial by disabling routing for the final 60 keyboard example.
PR # Impact Rating Contributor Description
#35 🐳 Major ⭐⭐⭐ AnasSarkiz Adds a new split-by-cut-setting utility that parses LightBurn project XML and generates separate .lbrn2 outputs for each cut setting, preserving relevant project metadata, filtering shapes by cut index, handling nested groups, producing safe unique filenames, and reporting shape counts per generated file. Also exports the new API from both root and lib entrypoints and adds a real-world LightBurn fixture for coverage.
PR # Impact Rating Contributor Description
#4 🐳 Major ⭐⭐⭐ AnasSarkiz Adds a new dashboard UI for managing PCB fabrication jobs, including job queue, upload functionality, and workspace layout.
#8 🐳 Major ⭐⭐⭐ AnasSarkiz Adds an interactive PCB fabrication workflow with deep-linking for job execution stages, allowing users to navigate through different fabrication stages directly from the dashboard.
🐌 Tiny Contributions (6)
PR # Impact Contributor Description
#5 🐌 Tiny AnasSarkiz Replaces static mock PCB illustrations with dynamically rendered PCB previews generated directly from real circuit JSON assets using circuit-to-svg.
#6 🐌 Tiny AnasSarkiz Adds a GitHub Actions workflow for building the project on push and pull request events to the main branch.
#7 🐌 Tiny AnasSarkiz Adds Anas as a code owner for the repository, indicating responsibility for code review and maintenance.
#2 🐌 Tiny AnasSarkiz Sets up a new frontend workspace using React Cosmos, Vite, Tailwind CSS, and TypeScript for improved development and styling capabilities.
#3 🐌 Tiny AnasSarkiz Adds CI workflows for automated formatting and TypeScript validation using Bun and GitHub Actions, ensuring code quality on every push and pull request to the main branch.
#1 🐌 Tiny AnasSarkiz Adds an MIT License file and a biome.json configuration file for code formatting and linting.
PR # Impact Rating Contributor Description
#20 🐳 Major ⭐⭐⭐ Abse2001 Enhances the Global DRC solver by improving route translation, broad-force recovery, and endpoint connection handling for better routing efficiency.
#18 🐳 Major ⭐⭐⭐ Abse2001 Add interactive DRC visualization tooling that allows users to visualize design rule check (DRC) errors with selectable error markers and layer-aware graphics, enhancing the debugging process for circuit designs.
#19 πŸ™ Minor ⭐⭐ Abse2001 Adds a summary table to log samples that have remaining DRC errors after benchmarking, displaying sample number, ID, DRC counts, iterations, and elapsed time.
PR # Impact Rating Contributor Description
#2 🐳 Major ⭐⭐⭐ Abse2001 Add visualization tooling using React Cosmos for SRJ16 BGA breakout development

Changes by Contributor

PRs # Impact Rating Description
#864 🐳 Major ⭐⭐⭐ Adds a new tool called Bounds that allows users to drag a rectangle around the view and select bounds, providing a callback with the selected coordinates.
#3446 🐳 Major ⭐⭐⭐ Passes the image and board specifications to the order dialog, allowing users to view detailed specifications and a preview image when ordering a package.
#3019 🐳 Major ⭐⭐⭐ Adds concurrency support for generating STEP files from circuit JSON, allowing multiple files to be processed simultaneously.
#1178 🐳 Major ⭐⭐⭐ Fixes the issue where the stitch solver disconnects the bridge fragment of the same root net during autorouting.
#90 🐳 Major ⭐⭐⭐ Implements shared hole geometry for top and bottom layers, reducing the file size by optimizing the representation of holes in the circuit design.
#92 🐳 Major ⭐⭐⭐ Reduces file size by reusing pill boundary vertices at segment joins instead of creating duplicate vertices for each arc or line.
#2 🐳 Major ⭐⭐⭐ Removes the shipping and payment sections from the order dialog and refactors the code by splitting it into smaller components.
#3 🐳 Major ⭐⭐⭐ This pull request integrates a fake Stripe server into the order checkout process, allowing for simulated payment processing during development. It adds a new script for running the fake Stripe server and modifies the order dialog to utilize this server for checkout sessions.
#1 🐳 Major ⭐⭐⭐ Adds functionality to upload a KiCad PCB file, allowing users to dynamically change the board being used in the application.
#4 🐳 Major ⭐⭐⭐ Refactors routing logic to utilize the Winterspec framework, enhancing the structure and maintainability of the routing code.
#3445 πŸ™ Minor ⭐⭐ Integrates the fake-stripe library for simulating Stripe checkout sessions in the development environment.
#2665 πŸ™ Minor ⭐⭐ Add a fallback mechanism for loading webworker entrypoints from an alternative CDN when the primary jsDelivr URL fails or returns a non-OK response.
#88 πŸ™ Minor ⭐⭐ Fixes the issue where the geometry is stored once and each component placement references it, leading to loss of face-level STYLED_ITEM colors in the test snapshot.
#4 πŸ™ Minor ⭐⭐ Adds support for using fake-stripe with winterspec for local development, enabling mock Stripe API interactions.
#3 πŸ™ Minor ⭐⭐ Adds a hosted checkout page for simulating Stripe checkout sessions, including routes for creating, retrieving, and completing sessions.
🐌 Tiny Contributions (11)
PR # Impact Description
#3197 🐌 Tiny Fixes the missing dependency in the sync list that was causing the tscircuit to auto-update incorrectly.
#3191 🐌 Tiny Updates the lockfile to ensure consistent dependency versions across environments.
#3189 🐌 Tiny Updates CLI dependencies to newer versions in package.json
#2302 🐌 Tiny Adds a test to verify that the krt-wasm autorouter fails to re-route a subcircuit in a PCB design.
#3438 🐌 Tiny Applies CSS style fixes to the order dialog component, including background and z-index adjustments.
#3415 🐌 Tiny This pull request introduces a new feature that allows users to reroute a selected region of the PCB view to autoroute, enhancing the PCB design workflow.
#3028 🐌 Tiny Updates the circuit-json-to-step dependency from version 0.0.28 to 0.0.30 in package.json
#3039 🐌 Tiny Updates the circuit-json-to-step dependency to version 0.0.32, resulting in a reduction of the file size of the generated step.
#5 🐌 Tiny Removes unnecessary configuration files and scripts from the project, streamlining the build process.
#1 🐌 Tiny Sets up a Bun-based server for a fake Stripe API, implementing checkout session functionalities including creation and retrieval of sessions.
#2 🐌 Tiny Removes the use of crypto UUID for generating payment intent IDs and separates endpoint handling into distinct files for better organization.
🐌 Tiny Contributions (223)
PR # Impact Description
#865 🐌 Tiny Automated package update
#3240 🐌 Tiny Updates the package version from 0.0.1770 to 0.0.1771 in package.json
#3239 🐌 Tiny Automated package update
#3238 🐌 Tiny Automated package update
#3237 🐌 Tiny Updates the tscircuitcli package from version 0.1.1396 to 0.1.1397 and the tscircuitrunframe package from version 0.0.1974 to 0.0.1975 in package.json
#3236 🐌 Tiny Automated package update
#3235 🐌 Tiny Automated package update
#3234 🐌 Tiny Automated package update
#3233 🐌 Tiny Automated package update
#3231 🐌 Tiny Automated package update
#3230 🐌 Tiny Updates the tscircuitcli package from version 0.1.1393 to 0.1.1394 and the tscircuitrunframe package from version 0.0.1971 to 0.0.1972 in package.json
#3228 🐌 Tiny Updates the tscircuitcli package to version 0.1.1393 in the package.json file
#3229 🐌 Tiny Automated package update
#3212 🐌 Tiny Updates the tscircuitcli and tscircuiteval packages to their latest versions.
#3222 🐌 Tiny Updates the tscircuitcli package from version 0.1.1390 to 0.1.1391
#3219 🐌 Tiny Automated package update
#3218 🐌 Tiny Updates the tscircuitcli package version from 0.1.1388 to 0.1.1389 and the tscircuitrunframe package version from 0.0.1968 to 0.0.1969, while downgrading the circuit-to-svg package version from 0.0.347 to 0.0.345.
#3223 🐌 Tiny Automated package update
#3205 🐌 Tiny Automated package update
#3200 🐌 Tiny Automated package update
#3213 🐌 Tiny Automated package update
#3203 🐌 Tiny Updates the tscircuitcli package from version 0.1.1383 to 0.1.1384 and the tscircuitrunframe package from version 0.0.1964 to 0.0.1965.
#3198 🐌 Tiny Automated package update
#3224 🐌 Tiny Updates the version of the tscircuitchecks and tscircuitcore packages in package.json
#3199 🐌 Tiny Updates the tscircuitcli package version from 0.1.1381 to 0.1.1382 and the tscircuitrunframe package version from 0.0.1959 to 0.0.1963 in package.json
#3186 🐌 Tiny Automated package update to version 0.0.1747
#3196 🐌 Tiny Automated package update
#3220 🐌 Tiny Automated package update
#3215 🐌 Tiny Automated package update
#3201 🐌 Tiny Automated package update
#3209 🐌 Tiny Automated package update
#3190 🐌 Tiny Automated package version bump from 0.0.1747 to 0.0.1748
#3202 🐌 Tiny Automated package update
#3210 🐌 Tiny Automated package update
#3225 🐌 Tiny Automated package update
#3214 🐌 Tiny Automated package update
#3206 🐌 Tiny Automated package update to version 0.0.1756
#3217 🐌 Tiny Automated package update
#3204 🐌 Tiny Automated package update to version 0.0.1755
#3192 🐌 Tiny Automated package update
#3227 🐌 Tiny Automated package update
#3226 🐌 Tiny Automated package update
#3221 🐌 Tiny Updates the package version from 0.0.1761 to 0.0.1762 in package.json
#3194 🐌 Tiny Automated package update
#2304 🐌 Tiny Updates the tscircuitchecks package from version 0.0.129 to 0.0.130
#2299 🐌 Tiny Updates the tscircuitchecks package from version 0.0.128 to 0.0.129
#3455 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1978 to 0.0.1979
#3454 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1978
#3453 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1976 to 0.0.1977
#3452 🐌 Tiny Automated package update
#3451 🐌 Tiny Automated package update
#3450 🐌 Tiny Automated package update
#3449 🐌 Tiny Automated package update
#3448 🐌 Tiny Automated package update
#3444 🐌 Tiny Automated package update
#3409 🐌 Tiny Updates the tscircuiteval package from version 0.0.839 to 0.0.840
#3410 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1951
#3441 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970
#3443 🐌 Tiny Automated package update
#3411 🐌 Tiny Automated package update
#3432 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1966 in package.json
#3415 🐌 Tiny Automated package update
#3418 🐌 Tiny Automated package update
#3416 🐌 Tiny Automated package update
#3434 🐌 Tiny Automated package update
#3417 🐌 Tiny Automated package update
#3428 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963
#3419 🐌 Tiny Automated package update
#3440 🐌 Tiny Updates the tscircuiteval package to version 0.0.850 in package.json
#3431 🐌 Tiny Automated package update
#3424 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1959
#3429 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964
#3439 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1969
#3422 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1958 in package.json
#3437 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1967 to 0.0.1968
#3420 🐌 Tiny Automated package update
#3425 🐌 Tiny Updates the tscircuiteval package to version 0.0.846 in the package.json file.
#3423 🐌 Tiny Updates the tscircuiteval package to version 0.0.845 in the package.json file.
#3413 🐌 Tiny Automated package update
#3427 🐌 Tiny Automated package update
#3436 🐌 Tiny Updates the tscircuiteval package to version 0.0.849 in the package.json file.
#3433 🐌 Tiny Automated package update
#3430 🐌 Tiny Automated package update
#3442 🐌 Tiny Automated package update for tscircuiteval from version 0.0.850 to 0.0.851
#3414 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953
#2700 🐌 Tiny Automated package update
#2698 🐌 Tiny Automated package update to version 0.0.852
#2697 🐌 Tiny Automated package update
#2678 🐌 Tiny Automated package update
#2669 🐌 Tiny Automated package update
#2677 🐌 Tiny Automated package update
#2685 🐌 Tiny Updates the version of the tscircuitcore package from 0.0.1251 to 0.0.1252 in package.json
#2682 🐌 Tiny Updates package versions in package.json to the latest compatible versions.
#2686 🐌 Tiny Automated package update
#2694 🐌 Tiny Automated package update
#2689 🐌 Tiny Automated package update
#2672 🐌 Tiny Automated package update
#2668 🐌 Tiny Automated package update
#2670 🐌 Tiny Automated package update to version 0.0.842
#2693 🐌 Tiny Updates various package dependencies in the project to their latest versions.
#2676 🐌 Tiny Updates the version of the tscircuitcore package from 0.0.1248 to 0.0.1249 in package.json
#2666 🐌 Tiny Automated package update
#2695 🐌 Tiny Updates package versions for dependencies in the project.
#2696 🐌 Tiny Automated package update
#2673 🐌 Tiny Automated package update
#2691 🐌 Tiny Automated package update
#2688 🐌 Tiny Automated package update
#2683 🐌 Tiny Automated package update
#3463 🐌 Tiny Automated package update
#3462 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.62 to 0.0.63
#3461 🐌 Tiny Automated package update
#3460 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.60 to 0.0.62 in package.json
#3458 🐌 Tiny Automated package update
#3457 🐌 Tiny Updates the circuit-json-to-gerber package to version 0.0.60 in package.json
#3456 🐌 Tiny Automated package update
#3455 🐌 Tiny Updates the tscircuiteval package from version 0.0.851 to 0.0.853 in the package.json file.
#3454 🐌 Tiny Automated package update
#3453 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.58 to 0.0.59 in package.json
#3452 🐌 Tiny Automated package update
#3451 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.57 to 0.0.58
#3450 🐌 Tiny Automated package update
#3449 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.56 to 0.0.57
#3448 🐌 Tiny Automated package update
#3444 🐌 Tiny Automated package update
#3419 🐌 Tiny Automated package update
#3407 🐌 Tiny Updates the tscircuiteval package to version 0.0.842 in the package.json file.
#3421 🐌 Tiny Updates the package version from 0.0.1958 to 0.0.1959 in package.json
#3434 🐌 Tiny Updates the tscircuiteval package to version 0.0.847 in the package.json file.
#3435 🐌 Tiny Automated package update
#3436 🐌 Tiny Updates the tscircuiteval package to version 0.0.848 in the package.json file.
#3412 🐌 Tiny Automated package update
#3442 🐌 Tiny Automated package update
#3410 🐌 Tiny Automated package update
#3424 🐌 Tiny Automated package update
#3408 🐌 Tiny Automated package update
#3411 🐌 Tiny Updates the tscircuiteval package to version 0.0.844 in the package.json file.
#3420 🐌 Tiny Updates the tscircuiteval package from version 0.0.844 to 0.0.845 in the package.json file.
#3432 🐌 Tiny Automated package update
#3431 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.55 to 0.0.56
#3416 🐌 Tiny Automated package update
#3409 🐌 Tiny Updates the tscircuiteval package from version 0.0.842 to 0.0.843 in the package.json file.
#3403 🐌 Tiny Updates the tscircuiteval package from version 0.0.839 to 0.0.840 in the project dependencies.
#3439 🐌 Tiny Updates the tscircuiteval package from version 0.0.848 to 0.0.849 in the package.json file.
#3404 🐌 Tiny Automated package update
#3427 🐌 Tiny Updates the circuit-json-to-kicad package version from 0.0.136 to 0.0.137 in package.json
#3446 🐌 Tiny Automated package update
#3413 🐌 Tiny Updates the tscircuitpcb-viewer package from version 1.11.369 to 1.11.370
#3437 🐌 Tiny Automated package update
#3433 🐌 Tiny Automated package update
#3443 🐌 Tiny Updates the tscircuiteval package from version 0.0.849 to 0.0.850
#3426 🐌 Tiny Automated package update
#3425 🐌 Tiny Updates the tscircuiteval package to version 0.0.846 in the package.json file.
#3429 🐌 Tiny Updates the circuit-json-to-gerber package from version 0.0.54 to 0.0.55
#3428 🐌 Tiny Automated package update
#3445 🐌 Tiny Updates the tscircuiteval package to version 0.0.851 in the package.json file.
#3430 🐌 Tiny Automated package update
#3405 🐌 Tiny Updates the tscircuiteval package from version 0.0.840 to 0.0.841 in the package.json file.
#3440 🐌 Tiny Automated package update
#3423 🐌 Tiny Updates the circuit-json-to-kicad package from version 0.0.135 to 0.0.136 in package.json
#3414 🐌 Tiny Automated package update
#3073 🐌 Tiny Automated package update
#3072 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1974 to 0.0.1975
#3070 🐌 Tiny Automated package update
#3068 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1973 in package.json
#3067 🐌 Tiny Automated package update
#3066 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1971 to 0.0.1972
#3065 🐌 Tiny Automated package update
#3047 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1964 to 0.0.1965
#3020 🐌 Tiny Automated package update
#3027 🐌 Tiny Automated package update
#3037 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963
#3022 🐌 Tiny Updates the tscircuitrunframe package version from 0.0.1955 to 0.0.1957 in package.json
#3015 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1953 to 0.0.1954
#3030 🐌 Tiny Automated package update
#3062 🐌 Tiny Updates the tscircuitrunframe package version from 0.0.1970 to 0.0.1971 in package.json
#3024 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1958
#3052 🐌 Tiny Automated package update
#3017 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1954 to 0.0.1955
#3059 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970
#3036 🐌 Tiny Automated package update
#3014 🐌 Tiny Automated package update
#3054 🐌 Tiny Automated package update
#3056 🐌 Tiny Automated package update for tscircuitrunframe from version 0.0.1968 to 0.0.1969
#3010 🐌 Tiny Updates the tscircuitrunframe package to version 0.0.1951 in the package.json file.
#3013 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953
#3016 🐌 Tiny Automated package update
#3043 🐌 Tiny Automated package update
#3025 🐌 Tiny Automated package update
#3057 🐌 Tiny Automated package update
#3032 🐌 Tiny Automated package update
#3033 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1959 to 0.0.1961
#3049 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1965 to 0.0.1966
#3018 🐌 Tiny Automated package update
#3045 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964
#3051 🐌 Tiny Updates the tscircuitrunframe package from version 0.0.1966 to 0.0.1967 in the package.json file.
#3038 🐌 Tiny Automated package update
#3034 🐌 Tiny Automated package update
#3060 🐌 Tiny Automated package update
#3046 🐌 Tiny Automated package update
#3023 🐌 Tiny Automated package update
#3055 🐌 Tiny Automated package update
#3061 🐌 Tiny Automated package update
#3029 🐌 Tiny Automated README update with latest CLI usage output.
#3042 🐌 Tiny Automated README update with latest CLI usage output.
#3026 🐌 Tiny Automated package update
#3063 🐌 Tiny Automated package update
#3050 🐌 Tiny Automated package update
#3048 🐌 Tiny Automated package update
#3041 🐌 Tiny Automated package update
#3035 🐌 Tiny Automated package update
#1195 🐌 Tiny Automated package update
#1193 🐌 Tiny Automated package update
#1190 🐌 Tiny Automated package update
#1189 🐌 Tiny Automated package update
#1180 🐌 Tiny Automated package update
#1177 🐌 Tiny Automated package update
#1170 🐌 Tiny Automated package update
#93 🐌 Tiny Automated package update
#91 🐌 Tiny Automated package update
#304 🐌 Tiny Automated package update
#303 🐌 Tiny Automated package update
#8 🐌 Tiny Automated package update
#4 🐌 Tiny Automated package update
PRs # Impact Rating Description
#3421 🐳 Major ⭐⭐⭐ Updates the KiCad project build path to use resolveAndLoadKicad3dModelFiles from circuit-json-to-kicad0.0.137, ensuring 3D model assets are included in project exports for a self-contained ZIP file.
#3417 🐳 Major ⭐⭐⭐ Updates runframes KiCad project export to include referenced STEP files in the generated ZIP under 3dmodels, and enables local KIPRJMOD model paths in the exported .kicad_pcb.
#279 🐳 Major ⭐⭐⭐ Adds support for the SparkFun RGB and Gesture Sensor APDS-9960 board by introducing new component definitions and updating the circuit layout.
#147 πŸ™ Minor ⭐⭐ Updates the PCB component overlap check to include component courtyards in footprint overlap checks against standalone PCB holes, ensuring DRC reports violations correctly.
#149 πŸ™ Minor ⭐⭐ Fixes duplicate courtyard grouping in the PCB component overlap check, ensuring courtyard elements are added only once to each component and preventing duplicate footprint overlap errors while maintaining existing DRC behavior.
#3044 πŸ™ Minor ⭐⭐ Refactors the 3D model file handling in the KiCad project generation process to use a new utility function for improved loading and error handling.
#3058 πŸ™ Minor ⭐⭐ Refactors the handling of 3D model files by replacing manual fetching and copying with a centralized function for loading 3D models in KiCad libraries.
#264 πŸ™ Minor ⭐⭐ Adds functionality to export copper pours with correct geometry and net mapping in PCB designs.
#302 πŸ™ Minor ⭐⭐ This adds resolveAndLoadKicad3dModelFiles so circuit-json-to-kicad owns the KiCad 3D model output path convention while callers still control how files are fetched, read, and written. The helper supports builtin model CDN URLs, custom CAD URLs, local model files, and optional best-effort error handling for consumers like the CLI.
#11 πŸ™ Minor ⭐⭐ Syncs generated type bundle declarations for circuit-json-to-kicad, adding new interfaces and properties for better type definitions.
🐌 Tiny Contributions (2)
PR # Impact Description
#3184 🐌 Tiny Updates the versions of the CLI, eval, runframe, and core packages in the project dependencies.
#9 🐌 Tiny Updates the circuit-json-to-kicad package version from 0.0.91 to 0.0.137 in package.json
PRs # Impact Rating Description
#2303 🐳 Major ⭐⭐⭐ Fixes autorouting failure when rerouting a subcircuit using the updated krt-wasm dependency
#2297 🐳 Major ⭐⭐⭐ Fixes the default nominal trace width for krt autorouter routes to ensure proper routing behavior in PCB designs.
#95 🐳 Major ⭐⭐⭐ Applies soldermask margins to SMT pads in Gerber output and ensures plated holes are correctly handled with respect to soldermask coverage.
#4 🐳 Major ⭐⭐⭐ This fixes a KRT rerouting failure where the router reported no route for a valid reroute segment whose endpoints were exactly on the reroute region boundary. The issue showed up from cores autoroutingphase reroute flow. Core was passing a valid SimpleRouteJson: the reroute region was bounded, and the segment endpoints were placed on the clipped region edges. KRT failed because its clearance-margin check treated cells near those boundary endpoints like normal routing cells. Since the required clearance margin extended outside the reroute bounds, the router rejected the endpoint area and returned no route. The fix updates GridObstacleMap::is_blocked_with_margin to respect existing endpoint exemptions. Cells within the endpoint exemption radius now skip the normal margin expansion and only check whether the cell itself is blocked. Normal routing cells still use the full clearance-margin behavior. Also adds a visual snapshot test that reproduces the core-style reroute case with a subcircuit and autoroutingphase reroute .
#96 πŸ™ Minor ⭐⭐ Fixes the soldermask margin calculation for circular PCB holes in Gerber file generation.
#94 πŸ™ Minor ⭐⭐ Fixes missing soldermask openings for polygon SMT pads in Gerber output.
#93 πŸ™ Minor ⭐⭐ Fixes missing copper pads and drill hits for route vias in the circuit JSON to Gerber conversion process.
#91 πŸ™ Minor ⭐⭐ Fixes the issue where untented vias were not emitting soldermask openings in the Gerber output, ensuring proper representation in PCB designs.
#89 πŸ™ Minor ⭐⭐ Fixes drill generation for boards with blind vias by separating drill outputs for blind and through vias, ensuring accurate drill files are created.
#2674 πŸ™ Minor ⭐⭐ Changes the primary CDN for loading npm packages from jsDelivr to jscdn, with jsDelivr as a fallback option.
#13 πŸ™ Minor ⭐⭐ Changes the dynamic import mechanism to prioritize jscdn for module imports, falling back to esm.run if jscdn fails.
🐌 Tiny Contributions (11)
PR # Impact Description
#3193 🐌 Tiny Updates the tscircuitcore dependency version from 0.0.1249 to 0.0.1251 in package.json
#3195 🐌 Tiny Updates the tscircuiteval dependency version from 0.0.845 to 0.0.846 in package.json
#97 🐌 Tiny Reproduces a bug where the plated hole soldermask margin is not applied to the mask opening in the Gerber output.
#92 🐌 Tiny Adds a test to ensure that trace route vias do not emit via pads, drill hits, or following layer segments in the Gerber output.
#90 🐌 Tiny Reproduces a bug where untented vias incorrectly emit soldermask openings in Gerber output.
#88 🐌 Tiny Reproduces a bug where a blind via drill is incorrectly emitted on the bottom layer without a copper pad in the Gerber output.
#3441 🐌 Tiny Updates the tscircuitinternal-dynamic-import dependency from version 0.0.6 to 0.0.7 in package.json
#3 🐌 Tiny Adds a GitHub Actions workflow for testing using Bun, including setup, dependency installation, and test execution.
#5 🐌 Tiny Adds a GitHub Actions workflow for publishing to npm, including version bumping and triggering updates for upstream repositories.
#6 🐌 Tiny Installs wasm-pack as a prerequisite before executing the build command in the CI workflow.
#7 🐌 Tiny Fixes the pver workflow and adds a new build workflow for the project.
PRs # Impact Rating Description
#392 🐳 Major ⭐⭐⭐ Summary convert EasyEDA CIRCLE shapes on silkscreen layers into pcb_silkscreen_path output approximate silkscreen circles with 24 segments so they render in soup and generated TypeScript footprints update affected conversion tests and snapshots to cover the newly emitted silkscreen geometry Why Silkscreen circles were being dropped during conversion. That meant circular outline and marker graphics present in EasyEDA footprints did not make it into the generated soupTypeScript output or snapshots. Impact Generated footprints now preserve circular silkscreen details more faithfully, improving visual accuracy for downstream rendering and snapshot-based regression coverage. Root Cause The converter handled paths and arcs for silkscreen output, but it did not have a CIRCLE branch for silkscreen-layer shapes. Validation bun test --timeout 20000 testsconvert-to-soup-testsC265111.test.ts testsconvert-to-soup-testsc3178291-to-soup.test.ts testsconvert-to-soup-testsc46497.test.ts testsconvert-to-soup-testsc88224.test.ts testsconvert-to-soup-testsesp32-to-soup.test.ts testsconvert-to-tsC113367-to-ts.test.ts testsconvert-to-tsC12084-to-ts.test.ts testsconvert-to-tsC128415-to-ts.test.ts testsconvert-to-tsC19076967-to-ts.test.ts testsconvert-to-tsC2040-to-ts.test.ts testsconvert-to-tsC23689428-to-ts.test.ts testsconvert-to-tsC265111-to-ts.test.ts testsconvert-to-tsC2652953-to-ts.test.ts testsconvert-to-tsC2838502-to-ts.test.ts testsconvert-to-tsC2848306-to-ts.test.ts testsconvert-to-tsC2913206-to-ts.test.ts testsconvert-to-tsC2998002-to-ts.test.ts testsconvert-to-tsC3178291-to-ts.test.ts testsconvert-to-tsC393941-to-ts.test.ts testsconvert-to-tsC46497-to-ts.test.ts testsconvert-to-tsC51950748-to-ts.test.ts testsconvert-to-tsC7203002-to-ts.test.ts testsconvert-to-tsC88224-to-ts.test.ts bun test currently hits an unrelated timeout in browser bundle websafe guard
#583 πŸ™ Minor ⭐⭐ Adds an optional ccw_rotation property to the PCB fabrication note text schema, allowing for counter-clockwise rotation specification.
#2306 πŸ™ Minor ⭐⭐ Extracts CAD models from library footprint circuit JSON when the resolver does not return an explicit CAD model, preserving embedded CAD metadata for 3D rendering.
#2301 πŸ™ Minor ⭐⭐ Fixes the hint provided for invalid JLCPCB footprint properties to guide users on the correct prefix usage.
#561 πŸ™ Minor ⭐⭐ Fixes knockout text placement so anchor_alignment is honored for knockout-rendered text in both silkscreen and copper rendering.
#2699 πŸ™ Minor ⭐⭐ Adds CAD model extraction support for jlcpcb footprints in the eval platform, ensuring consistent behavior with kicad footprints by returning both footprintCircuitJson and cadModel.
#2655 πŸ™ Minor ⭐⭐ Adds support for fetching and rendering JLCPCB footprint data in the platform configuration.
#33 πŸ™ Minor ⭐⭐ Expands circuit-json to tscircuit footprint generation to support the full PCB fabrication note family, including text, rectangles, and dimensions with preserved attributes.
#41 πŸ™ Minor ⭐⭐ Parses fill solid as a filled shape for fp_rect, fp_circle, gr_rect, and board gr_poly, ensuring filled graphics are correctly represented and preventing fill registration collisions.
#89 πŸ™ Minor ⭐⭐ Summary This PR fixes copper-pour generation by switching CollectZonesStage to the typed kicadts zone API and bumping kicadts to the release that includes the merged typed-zone work. Concretely, the zone-to-copper-pour path now reads: zone.fill zone.filledPolygons zone.polygons zone.layer zone.layers filled_polygon layer information pts arc segments via the shared arc approximation helper and this repo now depends on kicadts 0.0.37 instead of 0.0.33. Root Cause There were two separate mismatches: 1. CollectZonesStage in this repo was still manually reparsing zone._rawChildren instead of using the parsed Zone API. 2. The PR branch was still committed with kicadts 0.0.33, while the typed zone fields used by the downstream change are provided by the newer merged kicadts release. That combination caused copper pours to disappear and led to runtime failures like: TypeError: undefined is not an object (evaluating zone.filledPolygons.length) in CI when the older dependency version was installed. What Changed remove manual _rawChildren parsing from CollectZonesStage detect filled zones from typed zone.fill and zone.filledPolygons emit copper pours from typed filledPolygons first, then fall back to typed polygons resolve copper-pour layers from zone.layer, zone.layers, and per-filled_polygon layer data expand pts arc segments with the existing shared arc helper so polygon point extraction stays aligned with the rest of the PCB pipeline bump kicadts from 0.0.33 to 0.0.37 update the affected snapshots for via_grid_template and repro01-joule-thief Impact This keeps KiCad parsing responsibility in kicadts and removes the repo-local zone parser from kicad-to-circuit-json. It also restores copper pours for the fixtures that depend on zone output, including multi-layer zone cases such as layers F.Cu B.Cu, and makes CI install the kicadts version that actually exposes the typed zone fields used by this change. Validation bunx tsc --noEmit bun test .testsreprosrepro02-arduino-unoarduino-uno-trace-grouping.test.ts bun test .testsvia-grid-template.test.ts bun test .testsreprosrepro01-joule-thiefrepro01-joule-thief-pcb.test.ts
#87 πŸ™ Minor ⭐⭐ Summary Preserve KiCad board-level gr_text knockout semantics when converting silkscreen text into Circuit JSON. What changed detect KiCad knockout on board silkscreen gr_text in CollectGraphicsStage emit pcb_silkscreen_text.is_knockout true for those items add targeted Arduino Nano repro assertions for the board texts NANO and GND update the Arduino Nano PNG golden to reflect the rendered knockout behavior Why Board-level gr_text items with KiCad knockout were being emitted as ordinary pcb_silkscreen_text entries, so the knockout intent was lost in Circuit JSON and in downstream rendering. Impact preserves silkscreen knockout semantics for board text imports tightens regression coverage around the existing Arduino Nano repro keeps the change scoped to the board text conversion path Root cause CollectGraphicsStage converted board gr_text into pcb_silkscreen_text without checking whether the KiCad layer metadata included knockout. Validation bunx tsc --noEmit bun test testsreprosarduino-nanoarduino-nano-pcb.test.ts
#91 πŸ™ Minor ⭐⭐ Fixes the npm publish process by adding necessary properties for pcb fabrication notes in the CollectGraphicsStage class.
#90 πŸ™ Minor ⭐⭐ Preserves standalone board text rotation when collecting KiCad gr_text into Circuit JSON, ensuring rotated labels are correctly represented in the output.
#236 πŸ™ Minor ⭐⭐ Preserves the alignment of copper knockout text anchors in PCB drawings by allowing for various anchor alignments instead of defaulting to center alignment.
🐌 Tiny Contributions (6)
PR # Impact Description
#3216 🐌 Tiny Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json
#671 🐌 Tiny Adds a generator for JLCPCB footprint autocomplete using the public jlcsearch API, enabling type-safe autocomplete for jlcpcb: footprint references in footprint props and pcbSx selectors.
#391 🐌 Tiny Add fixture-backed coverage for C51950748 in the convert-to-ts suite, including test assets and snapshots for 3D rendering and PCB SVG output.
#2690 🐌 Tiny Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json
#3418 🐌 Tiny Updates the easyeda dependency version from 0.0.266 to 0.0.269 in package.json
#3031 🐌 Tiny Updates the easyeda dependency version from 0.0.258 to 0.0.269 in package.json
PRs # Impact Rating Description
#222 🐳 Major ⭐⭐⭐ Adds the SparkFun DE9 Breakout - Male board schematic and layout, defines the connector footprint, and provides documentation.
#560 πŸ™ Minor ⭐⭐ Fixes pcb_trace.route handling for the new through_pad route-point variant from circuit-json, ensuring correct rendering and bounds calculation for through-pad traces in SVG output.
#22 πŸ™ Minor ⭐⭐ Fixes deployment-only issue where hero preview images fail to load by adding static fallbacks and resolving asset URLs for reliable rendering in production.
🐌 Tiny Contributions (3)
PR # Impact Description
#672 🐌 Tiny Updates the circuit-json dependency to version 0.0.425 to fix issues in Sparkfun boards.
#3 🐌 Tiny This pull request adds two new GitHub Actions workflows to automate package publishing and dependency checking for the repository.
#2 🐌 Tiny Fixes a clean-install runtime dependency bug that caused bun test to fail in GitHub Actions by adding circuit-json-to-connectivity-map as a direct runtime dependency in package.json.
PRs # Impact Rating Description
#669 🐳 Major ⭐⭐⭐ Adds a nominalTraceWidth field to the Net interface to specify the width of traces in the circuit.
#2294 πŸ™ Minor ⭐⭐ Fixes schematic trace solver by passing missing information for better trace rendering and net label placement.
#1166 πŸ™ Minor ⭐⭐ Adds functionality to annotate nominal trace widths in graphics based on connection specifications, enhancing visual representation in autorouting.
🐌 Tiny Contributions (1)
PR # Impact Description
#3064 🐌 Tiny Updates the dependency version of tscircuitcircuit-json-schematic-placement-analysis in package.json
PRs # Impact Rating Description
#1173 🐳 Major ⭐⭐⭐ Fixes reroute reachability for overlapping same-layer target nodes in the capacity mesh, ensuring reroute endpoints embedded in padtarget copper are reachable by the tiny-hypergraph pathing stage.
#1167 🐳 Major ⭐⭐⭐ Repairs disconnected intra-node route fragments when a same-root MST sibling already contains the missing local bridge, preserving connectivity for cases like cmn_68 in repro117.
#2295 πŸ™ Minor ⭐⭐ Refactors the Arduino Uno reroute repro helpers, adds SVG-backed repro coverage for multiple reroute regions, and fixes stale imported trace geometry left behind after merged region reroutes by expanding merged reroute connection names back to all original source trace IDs before deletion.
#2296 πŸ™ Minor ⭐⭐ Fixes invalid source trace IDs in reroute output by ensuring that source_trace_id is only assigned when it resolves to exactly one real source trace.
PRs # Impact Rating Description
#3447 🐳 Major ⭐⭐⭐ Fixes the autorouting report button functionality in the file menu of the CircuitJsonPreview component.
#1188 🐳 Major ⭐⭐⭐ Adds a new BusId type and updates the ConnectionPoint type to include an optional busId property.
🐌 Tiny Contributions (1)
PR # Impact Description
#84 🐌 Tiny Adds a new page to demonstrate that two different nets cannot share a single-port chokepoint in the Tiny Hypergraph solver.
PRs # Impact Rating Description
#554 πŸ™ Minor ⭐⭐ Fixes blank preview in the Building a Keyboard with tscircuit tutorial by disabling routing for the final 60 keyboard example.
PRs # Impact Rating Description
#1175 🐳 Major ⭐⭐⭐ Adds a new multigraph topology planner for the autorouting pipeline, enhancing the routing capabilities of the system.
#1192 🐳 Major ⭐⭐⭐ Fixes the issue where the TinyHypergraphPortPointPathingSolver does not respect input solved routes during pathfinding operations.
#1174 🐳 Major ⭐⭐⭐ Adds a BGA topology and component detection solver to enhance routing capabilities for BGA components.
#1163 🐳 Major ⭐⭐⭐ Adds a solver that detects rectangular component areas and treats them as small SRJs for separate solving, enhancing the component detection process.
🐌 Tiny Contributions (1)
PR # Impact Description
#1194 🐌 Tiny Adds a reproduction test for the uniform port distribution path ordering issue in the autorouter.
PRs # Impact Rating Description
#35 🐳 Major ⭐⭐⭐ Adds a new split-by-cut-setting utility that parses LightBurn project XML and generates separate .lbrn2 outputs for each cut setting, preserving relevant project metadata, filtering shapes by cut index, handling nested groups, producing safe unique filenames, and reporting shape counts per generated file. Also exports the new API from both root and lib entrypoints and adds a real-world LightBurn fixture for coverage.
#4 🐳 Major ⭐⭐⭐ Adds a new dashboard UI for managing PCB fabrication jobs, including job queue, upload functionality, and workspace layout.
#8 🐳 Major ⭐⭐⭐ Adds an interactive PCB fabrication workflow with deep-linking for job execution stages, allowing users to navigate through different fabrication stages directly from the dashboard.
🐌 Tiny Contributions (6)
PR # Impact Description
#5 🐌 Tiny Replaces static mock PCB illustrations with dynamically rendered PCB previews generated directly from real circuit JSON assets using circuit-to-svg.
#6 🐌 Tiny Adds a GitHub Actions workflow for building the project on push and pull request events to the main branch.
#7 🐌 Tiny Adds Anas as a code owner for the repository, indicating responsibility for code review and maintenance.
#2 🐌 Tiny Sets up a new frontend workspace using React Cosmos, Vite, Tailwind CSS, and TypeScript for improved development and styling capabilities.
#3 🐌 Tiny Adds CI workflows for automated formatting and TypeScript validation using Bun and GitHub Actions, ensuring code quality on every push and pull request to the main branch.
#1 🐌 Tiny Adds an MIT License file and a biome.json configuration file for code formatting and linting.
PRs # Impact Rating Description
#20 🐳 Major ⭐⭐⭐ Enhances the Global DRC solver by improving route translation, broad-force recovery, and endpoint connection handling for better routing efficiency.
#18 🐳 Major ⭐⭐⭐ Add interactive DRC visualization tooling that allows users to visualize design rule check (DRC) errors with selectable error markers and layer-aware graphics, enhancing the debugging process for circuit designs.
#2 🐳 Major ⭐⭐⭐ Add visualization tooling using React Cosmos for SRJ16 BGA breakout development
#19 πŸ™ Minor ⭐⭐ Adds navigation links to the Editor in the header and footer of the landing page for easier access.
#19 πŸ™ Minor ⭐⭐ Adds a summary table to log samples that have remaining DRC errors after benchmarking, displaying sample number, ID, DRC counts, iterations, and elapsed time.
🐌 Tiny Contributions (4)
PR # Impact Description
#21 🐌 Tiny Changes the navigation links from editor to quickstart to ensure consistent site navigation.
#20 🐌 Tiny Fixes the GitHub Actions workflow discovery by renaming workflow files to the correct directory structure.
#18 🐌 Tiny This pull request introduces two new GitHub Actions workflows for Continuous Integration (CI) in the repository. The first workflow is for building the project, and the second is for checking the formatting of the code. Both workflows are triggered on pushes and pull requests to the main branch. The build workflow installs dependencies using Bun and runs the build command, while the format-check workflow installs dependencies and runs a format check command.
#17 🐌 Tiny Adds a local development server setup using Vite for improved development workflow.

Repository Owners

Repository Codeowners
builder seveibar
pcb-viewer seveibar, ShiboSoftwareDev, Abse2001
footprints-old seveibar
footprinter seveibar, techmannih
3d-viewer ShiboSoftwareDev, Abse2001
winterspec seveibar, ShiboSoftwareDev
jscad-electronics seveibar, techmannih, ShiboSoftwareDev, anas-sarkez
circuit-to-svg imrishabh18
schematic-symbols seveibar, imrishabh18, techmannih
circuit-json-to-gerber seveibar, ShiboSoftwareDev
tscircuit.com seveibar, imrishabh18
issue-roulette Anshgrover23
sparkfun-boards ShiboSoftwareDev, Abse2001, MustafaMulla29, Anshgrover23, techmannih
schematic-corpus Abse2001
copper-pour-solver seveibar, ShiboSoftwareDev
common seveibar, Abse2001
circuit-to-canvas ShiboSoftwareDev, Abse2001, techmannih
circuit-json-to-lbrn AnasSarkiz
pcbburn.com AnasSarkiz
high-density-repair03 Abse2001
fabrication-operator-ui AnasSarkiz

Repositories by Owner

User Repo
seveibar builder
pcb-viewer
footprints-old
footprinter
winterspec
jscad-electronics
schematic-symbols
circuit-json-to-gerber
tscircuit.com
copper-pour-solver
common
ShiboSoftwareDev pcb-viewer
3d-viewer
winterspec
jscad-electronics
circuit-json-to-gerber
sparkfun-boards
copper-pour-solver
circuit-to-canvas
Abse2001 pcb-viewer
3d-viewer
sparkfun-boards
schematic-corpus
common
circuit-to-canvas
high-density-repair03
techmannih footprinter
jscad-electronics
schematic-symbols
sparkfun-boards
circuit-to-canvas
anas-sarkez jscad-electronics
imrishabh18 circuit-to-svg
schematic-symbols
tscircuit.com
Anshgrover23 issue-roulette
sparkfun-boards
MustafaMulla29 sparkfun-boards
AnasSarkiz circuit-json-to-lbrn
pcbburn.com
fabrication-operator-ui

Development

Prerequisites

  • Bun runtime
  • .env file with required API keys:
    GITHUB_TOKEN=your_github_token
    OPENAI_API_KEY=your_openai_api_key
    DISCORD_TOKEN=your_discord_token (optional, for Discord integration)
    SLACK_BOT_TOKEN=your_slack_token (optional, for Slack integration)
    

Available Scripts

Core Generation Scripts

  • bun run generate:weekly - Generate current week's contribution overview
  • bun run generate:monthly - Generate current month's contribution overview
  • bun run generate:changelog - Generate monthly changelog from PRs

Analysis & Testing

  • bun run analyze-pr - Analyze a single PR (interactive prompt)
  • bun run test:github - Test GitHub API integration

Notifications & Sync

  • bun run notifications:issues - Send notifications for new issues
  • bun run notifications:pr - Send notifications for new PRs
  • bun run sync:discord - Sync contributor roles with Discord

Data Export

  • bun run export:sponsorship - Generate sponsorship data CSV

Development

  • bun run dev - Start development server for web UI
  • bun run build - Build for production
  • bun run format - Format code with Biome

Usage Examples

# Generate this week's contribution overview
bun run generate:weekly

# Generate current month's overview
bun run generate:monthly

# Analyze a specific PR
bun run analyze-pr

# Test your GitHub token setup
bun run test:github

About

Generate a contribution summary for your projects

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors