@@ -24,10 +24,10 @@ This guide walks through designing for that workflow. You'll learn how to:
2424
2525## 1. Build a reusable via template
2626
27- Create a library subcircuit that contains every via location available on the
28- biscuit board. Mark each via with ` netIsAssignable ` so it becomes an assignable
29- obstacle when the router runs. The vias can optionally include default net names
30- to serve as documentation for repeated layouts.
27+ Create a component for your biscuit template that contains every via location
28+ available on the board. Mark each via with ` netIsAssignable ` so it is treated as
29+ an assignable via when the router runs. The vias can optionally include default
30+ net names to serve as documentation for repeated layouts.
3131
3232``` tsx title="src/biscuit-template.tsx"
3333import { Fragment } from " react"
@@ -44,9 +44,9 @@ export const BiscuitTemplate = () => (
4444)
4545```
4646
47- Keep the template focused on the vias themselves. Copper features such as fiducials or
48- alignment marks should live in their own subcircuits so you can swap templates
49- without affecting the mechanical stackup.
47+ Keep the template focused on the vias themselves. Copper features such as
48+ fiducials or alignment marks should live in their own components so you can swap
49+ templates without affecting the mechanical stackup.
5050
5151## 2. Place the biscuit template on your board
5252
@@ -73,10 +73,8 @@ rotating the template in a way that misaligns the coordinates.
7373) ` }
7474/>
7575
76- If your biscuit provides fiducials or tooling holes, align them with your CAD
77- origin so the panelization step can easily merge your routed copper with the
78- prefabricated template. Keep the board outline slightly inside the biscuit's
79- usable area so the laser can clear debris without hitting the rails.
76+ Keep the board outline slightly inside the biscuit's usable area so the laser
77+ can clear debris without hitting the rails.
8078
8179## 3. Route with ` autorouter="laser_prefab" `
8280
@@ -103,9 +101,9 @@ them provided both layers are available and no design rules are violated.
103101```
104102
105103During routing, tscircuit emits a ** simple route JSON** that marks each
106- ` netIsAssignable ` via as an obstacle with the ` netIsAssignable ` flag. The
107- ` laser_prefab ` preset looks for that flag, allowing it to reserve a via for any
108- trace that needs to change layers. The [ integration test in the core
104+ ` netIsAssignable ` via with the ` netIsAssignable ` flag. The ` laser_prefab ` preset
105+ looks for that flag, allowing it to reserve a via for any trace that needs to
106+ change layers. The [ integration test in the core
109107library] ( https://github.com/tscircuit/core/blob/main/tests/autorouting/laser-prefab.test.tsx )
110108verifies the behavior end to end.
111109
@@ -147,7 +145,7 @@ Gerber/ODB++ data to confirm that:
147145
148146If you need to adjust routing priorities, you can provide a custom autorouter
149147object instead of the preset. Just make sure the implementation understands the
150- ` netIsAssignable ` obstacles that tscircuit produces.
148+ ` netIsAssignable ` vias that tscircuit produces.
151149
152150## Additional tips
153151
0 commit comments