@tscircuit/autorouting-dataset-01 1.0.52 → 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.
Files changed (2) hide show
  1. package/README.md +77 -16
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,24 +1,85 @@
1
1
  # autorouting-dataset-01
2
2
 
3
- A set of tscircuit problems to benchmark autorouting (currently 16 circuits in `lib/`).
3
+ Benchmark dataset and tooling for evaluating autorouters against a shared set of `tscircuit` board layouts.
4
4
 
5
- ## Problems in this repo
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
- 1. Bootstrap `tsci init`
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
- ## Progression of stuff
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
- 1. Get 200 problems
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
- | Pipeline | Completed | DRC Pass | Avg Time per Circuit |
19
- | -------- | --------- | -------- | ----- |
20
- | `AutoroutingPipeline2` | 43% | 30% | 5s |
21
- | `AutoroutingPipeline4_HyperGraphPortPoint` | 50% | 30% | 4s |
18
+ ```bash
19
+ bun install
20
+ ```
22
21
 
23
- 4. Script for generating benchmark against all pipelines
24
- 5. Script for generating for a single pipeline (allows comparing)
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/autorouting-dataset-01",
3
- "version": "1.0.52",
3
+ "version": "1.0.53",
4
4
  "type": "module",
5
5
  "main": "lib/dataset/index.js",
6
6
  "bin": {