@tscircuit/autorouting-dataset-01 1.0.51 → 1.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -16
- package/lib/dataset/circuit200.simple-route.json +1104 -1851
- package/lib/dataset/circuit201.simple-route.json +1292 -1286
- package/lib/dataset/circuit202.simple-route.json +2777 -1354
- package/lib/dataset/circuit203.simple-route.json +1045 -2271
- package/lib/dataset/circuit204.simple-route.json +1463 -982
- package/lib/dataset/circuit205.simple-route.json +1476 -1705
- package/lib/dataset/circuit206.simple-route.json +1536 -1167
- package/lib/dataset/circuit207.simple-route.json +2678 -627
- package/lib/dataset/circuit208.simple-route.json +840 -1190
- package/lib/dataset/circuit209.simple-route.json +1033 -2868
- package/lib/dataset/circuit210.simple-route.json +3146 -485
- package/lib/dataset/circuit211.simple-route.json +1059 -1998
- package/lib/dataset/circuit212.simple-route.json +2523 -788
- package/lib/dataset/circuit213.simple-route.json +2673 -976
- package/lib/dataset/circuit214.simple-route.json +2632 -2422
- package/lib/dataset/circuit215.simple-route.json +960 -3420
- package/lib/dataset/circuit216.simple-route.json +2262 -592
- package/lib/dataset/circuit217.simple-route.json +805 -1504
- package/lib/dataset/circuit218.simple-route.json +832 -1480
- package/lib/dataset/circuit219.simple-route.json +3306 -143
- package/lib/dataset/circuit220.simple-route.json +1731 -2940
- package/lib/dataset/circuit221.simple-route.json +977 -786
- package/lib/dataset/circuit222.simple-route.json +1045 -1868
- package/lib/dataset/circuit223.simple-route.json +1293 -1600
- package/lib/dataset/circuit224.simple-route.json +3376 -829
- package/lib/dataset/circuit225.simple-route.json +2779 -1213
- package/lib/dataset/circuit226.simple-route.json +1281 -339
- package/lib/dataset/circuit227.simple-route.json +1459 -361
- package/lib/dataset/circuit228.simple-route.json +1069 -1258
- package/lib/dataset/circuit229.simple-route.json +2382 -332
- package/lib/dataset/circuit230.simple-route.json +1269 -65
- package/lib/dataset/circuit231.simple-route.json +3973 -409
- package/lib/dataset/circuit232.simple-route.json +2652 -437
- package/lib/dataset/circuit233.simple-route.json +3605 -402
- package/lib/dataset/circuit234.simple-route.json +834 -2984
- package/lib/dataset/circuit235.simple-route.json +1227 -658
- package/lib/dataset/circuit236.simple-route.json +1214 -375
- package/lib/dataset/circuit237.simple-route.json +3915 -1596
- package/lib/dataset/circuit238.simple-route.json +2358 -1914
- package/lib/dataset/circuit239.simple-route.json +1482 -2276
- package/lib/dataset/circuit240.simple-route.json +1082 -2116
- package/lib/dataset/circuit241.simple-route.json +1613 -1689
- package/lib/dataset/circuit242.simple-route.json +4775 -1620
- package/lib/dataset/circuit243.simple-route.json +1863 -2131
- package/lib/dataset/circuit244.simple-route.json +1070 -1211
- package/lib/dataset/circuit245.simple-route.json +1308 -1468
- package/lib/dataset/circuit246.simple-route.json +4411 -1843
- package/lib/dataset/circuit247.simple-route.json +1517 -179
- package/lib/dataset/circuit248.simple-route.json +1475 -784
- package/lib/dataset/circuit249.simple-route.json +1032 -1412
- package/lib/dataset/circuit250.simple-route.json +3693 -311
- package/lib/dataset/circuit251.simple-route.json +3294 -2584
- package/lib/dataset/circuit252.simple-route.json +1091 -2861
- package/lib/dataset/circuit253.simple-route.json +2386 -226
- package/lib/dataset/circuit254.simple-route.json +806 -1248
- package/lib/dataset/circuit255.simple-route.json +1283 -1394
- package/lib/dataset/circuit256.simple-route.json +1772 -2229
- package/lib/dataset/circuit257.simple-route.json +1305 -677
- package/lib/dataset/circuit258.simple-route.json +1195 -1375
- package/lib/dataset/circuit259.simple-route.json +1118 -2345
- package/lib/dataset/circuit260.simple-route.json +2180 -203
- package/lib/dataset/circuit261.simple-route.json +2370 -129
- package/lib/dataset/circuit262.simple-route.json +2156 -968
- package/lib/dataset/circuit263.simple-route.json +1049 -2638
- package/lib/dataset/circuit264.simple-route.json +3579 -2222
- package/lib/dataset/circuit265.simple-route.json +1439 -407
- package/lib/dataset/circuit266.simple-route.json +2304 -240
- package/lib/dataset/circuit267.simple-route.json +2499 -305
- package/lib/dataset/circuit268.simple-route.json +1902 -288
- package/lib/dataset/circuit269.simple-route.json +1619 -683
- package/lib/dataset/circuit270.simple-route.json +3233 -1863
- package/lib/dataset/circuit271.simple-route.json +790 -1315
- package/lib/dataset/circuit272.simple-route.json +1433 -344
- package/lib/dataset/circuit273.simple-route.json +1559 -2867
- package/lib/dataset/circuit274.simple-route.json +1643 -332
- package/lib/dataset/circuit275.simple-route.json +2741 -846
- package/lib/dataset/circuit276.simple-route.json +1002 -1495
- package/lib/dataset/circuit277.simple-route.json +2478 -582
- package/lib/dataset/circuit278.simple-route.json +769 -2963
- package/lib/dataset/circuit279.simple-route.json +1606 -1032
- package/lib/dataset/circuit280.simple-route.json +6263 -587
- package/lib/dataset/circuit281.simple-route.json +1815 -2230
- package/lib/dataset/circuit282.simple-route.json +1106 -248
- package/lib/dataset/circuit283.simple-route.json +3301 -546
- package/lib/dataset/circuit284.simple-route.json +1905 -2020
- package/lib/dataset/circuit285.simple-route.json +2939 -1901
- package/lib/dataset/circuit286.simple-route.json +1777 -303
- package/lib/dataset/circuit287.simple-route.json +1795 -280
- package/lib/dataset/circuit288.simple-route.json +2073 -1786
- package/lib/dataset/circuit289.simple-route.json +1151 -1943
- package/lib/dataset/circuit290.simple-route.json +930 -1122
- package/lib/dataset/circuit291.simple-route.json +1362 -1389
- package/lib/dataset/circuit292.simple-route.json +4265 -709
- package/lib/dataset/circuit293.simple-route.json +3428 -957
- package/lib/dataset/circuit294.simple-route.json +2088 -409
- package/lib/dataset/circuit295.simple-route.json +2486 -315
- package/lib/dataset/circuit296.simple-route.json +1485 -256
- package/lib/dataset/circuit297.simple-route.json +2816 -647
- package/lib/dataset/circuit298.simple-route.json +921 -1399
- package/lib/dataset/circuit299.simple-route.json +1107 -3000
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,85 @@
|
|
|
1
1
|
# autorouting-dataset-01
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Benchmark dataset and tooling for evaluating autorouters against a shared set of `tscircuit` board layouts.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The repository currently publishes 205 generated `SimpleRouteJson` scenarios from the `lib/dataset/` package entrypoint. Scenario IDs are intentionally sparse: source circuits are numbered, but some are ignored or do not produce dataset output.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
2. Generate TSX files use footprint strings (can have scripts to generate, problems just need to be varied) (No overlapping components etc.)
|
|
9
|
-
3. Script that generates sample001.srj.json, sample002.srj.json
|
|
10
|
-
4. Literally publish to npm, and use for benchmarks inside autorouter repo
|
|
7
|
+
## What is in this repo
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
- `lib/circuit/`: source TSX circuit definitions.
|
|
10
|
+
- `lib/dataset/`: generated `*.simple-route.json` benchmark scenarios and `index.js` exports.
|
|
11
|
+
- `fixtures/preview.fixture.tsx`: local preview page for browsing SRJ scenarios.
|
|
12
|
+
- `lib/cli/`: CLI for running an autorouter implementation against the dataset.
|
|
13
|
+
- `scripts/create-dataset/`: dataset generation from `lib/circuit/`.
|
|
14
|
+
- `scripts/run-benchmark/`: benchmark execution and HTML report generation.
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
2. Convert 200 problems to simple route json
|
|
16
|
-
3. Run against every pipeline, and report completion %, inside a file. Check for fatal DRC errors. (Completed 43%, DRC Pass 30%)
|
|
16
|
+
## Install
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| `AutoroutingPipeline4_HyperGraphPortPoint` | 50% | 30% | 4s |
|
|
18
|
+
```bash
|
|
19
|
+
bun install
|
|
20
|
+
```
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
## Local development
|
|
23
|
+
|
|
24
|
+
Run the preview/dev environment:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
bun run dev
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Open the preview fixture to inspect generated scenarios from `lib/dataset/`.
|
|
31
|
+
|
|
32
|
+
## Dataset generation
|
|
33
|
+
|
|
34
|
+
Generate the dataset from the circuit files listed in `tscircuit.config.json`:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
bun scripts/create-dataset/index.ts
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Generate a single circuit:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
bun scripts/create-dataset/index.ts lib/circuit/circuit001.tsx
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
This writes `*.simple-route.json` files into `lib/dataset/` and refreshes `lib/dataset/index.js`.
|
|
47
|
+
|
|
48
|
+
## Benchmark CLI
|
|
49
|
+
|
|
50
|
+
Build the CLI bundle:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
bun run build:cli
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Run a benchmark against an autorouter export:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
autorouting-dataset-runner <autorouter-path> [solver-name]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Useful options:
|
|
63
|
+
|
|
64
|
+
- `--scenario-limit <count>`: run only part of the dataset.
|
|
65
|
+
- `--output <path>`: write the HTML report to a custom location.
|
|
66
|
+
|
|
67
|
+
The CLI writes benchmark reports into `results/` by default.
|
|
68
|
+
|
|
69
|
+
## Quality checks
|
|
70
|
+
|
|
71
|
+
Run formatting/linting checks:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
bun run check
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Run tests:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
bun test
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Publishing
|
|
84
|
+
|
|
85
|
+
The published package entrypoint is `lib/dataset/index.js`, which re-exports every generated scenario for downstream benchmark consumers.
|