Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ The visual convention followed by the standard schematic symbols.
_Avoid_: formal standards compliance claim, copied standard catalog

**Symbol Terminal Role**:
A named connection role expected by a **Schematic Symbol**, such as `anode`, `cathode`, `collector`, `base`, `emitter`, `positive`, or `negative`.
A named connection role expected by a **Schematic Symbol**, such as `anode`, `cathode`, `collector`, `base`, `emitter`, `positive`, `negative`, `wiper`, or `reference`.
_Avoid_: terminal name, instance ID

**Symbol Terminal Mapping**:
Expand Down
12 changes: 12 additions & 0 deletions docs/EXAMPLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,15 @@ Source: [examples/kitchen-sink.wire](../examples/kitchen-sink.wire)
Source: [examples/bus-rail.wire](../examples/bus-rail.wire)

![Bus-rail layout demo](./assets/bus-rail.svg)

## Potentiometer Voltage Divider

Source: [examples/pot-divider.wire](../examples/pot-divider.wire)

![Loaded potentiometer divider](./assets/pot-divider.svg)

## Diode Variants

Source: [examples/diode-variants.wire](../examples/diode-variants.wire)

![Diode variants](./assets/diode-variants.svg)
41 changes: 33 additions & 8 deletions docs/MVP.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,8 +275,13 @@ The MVP ships a small standard component library.
| `Capacitor` | `1`, `2` | recommended `capacitance: capacitance` | `id`, `capacitance` | `capacitor` |
| `PolarizedCapacitor` | `+`, `-` | recommended `capacitance: capacitance` | `id`, `capacitance` | `polarized-capacitor` |
| `Inductor` | `1`, `2` | recommended `inductance: inductance` | `id`, `inductance` | `inductor` |
| `Potentiometer` | `1`, `W`, `2` | recommended `value: resistance` | `id`, `value` | `potentiometer` |
| `Rheostat` | `1`, `2` | recommended `value: resistance` | `id`, `value` | `rheostat` |
| `Diode` | `A`, `C` | none | `id` | `diode` |
| `LED` | `A`, `C` | optional `color: enum(red, green, blue, yellow, white, amber)` | `id` | `led` |
| `ZenerDiode` | `A`, `C` | optional `voltage: voltage` | `id`, `voltage` | `zener-diode` |
| `SchottkyDiode` | `A`, `C` | none | `id` | `schottky-diode` |
| `Photodiode` | `A`, `C` | none | `id` | `photodiode` |
| `NPNTransistor` | `C`, `B`, `E` | none | `id` | `npn-transistor` |
| `PNPTransistor` | `C`, `B`, `E` | none | `id` | `pnp-transistor` |
| `Battery` | `+`, `-` | recommended `voltage: voltage` | `id`, `voltage` | `battery` |
Expand All @@ -293,14 +298,20 @@ The MVP ships a small standard component library.
| `PowerFlag` | `1` | recommended `name: string` | none | `power-flag` |
| `IC` | from `pins=[...]` | recommended `pins: ic-pin-list` | `id` | `ic` |

Designator prefixes: `FerriteBead` → `FB`/`L`, `TVSDiode` → `D`/`TVS`, `Speaker` →
`LS`/`SP`, `Antenna` → `ANT`/`E`, `TestPoint` → `TP`, `PTC` → `F`/`RT`,
`PowerFlag` → `PWR`/`PR`/`PF`, `IC` → `U`/`IC`.

`TVSDiode` maps `anode`→`A` and `cathode`→`C`; `Speaker` maps `positive`→`+` and
`negative`→`-`. `PowerFlag` draws its `name` (e.g. `VBAT`, `5V`, `3V3`, `VCC`)
inside the flag glyph; it is a visual rail flag only and does not create a hidden
global net.
Designator prefixes: `Potentiometer` → `R`/`RV`/`VR`, `Rheostat` →
`R`/`RV`/`VR`/`RH`, `ZenerDiode` → `D`/`ZD`, `SchottkyDiode` → `D`/`SD`,
`Photodiode` → `D`/`PD`, `FerriteBead` → `FB`/`L`, `TVSDiode` → `D`/`TVS`,
`Speaker` → `LS`/`SP`, `Antenna` → `ANT`/`E`, `TestPoint` → `TP`, `PTC` →
`F`/`RT`, `PowerFlag` → `PWR`/`PR`/`PF`, `IC` → `U`/`IC`.

`Potentiometer` maps `wiper`→`W` (the two track ends `1`/`2` are
interchangeable); `ZenerDiode`, `SchottkyDiode`, and `Photodiode` map `anode`→`A`
and `cathode`→`C` like `Diode`. Potentiometer labels sit opposite the wiper,
using final terminal coordinates so orientation and direction hints preserve
clearance from the terminal paths. The wiper arrow touches the track midpoint. `TVSDiode` maps `anode`→`A` and `cathode`→`C`;
`Speaker` maps `positive`→`+` and `negative`→`-`. `PowerFlag` draws its `name`
(e.g. `VBAT`, `5V`, `3V3`, `VCC`) inside the flag glyph; it is a visual rail flag
only and does not create a hidden global net.

MOSFETs and complex board modules such as Arduino boards are outside the MVP.

Expand Down Expand Up @@ -707,3 +718,17 @@ Later extensions:
- [ADR 0016](./adr/0016-browser-auto-render-post-mvp.md) records the browser auto-render scope decision.
- [ADR 0017](./adr/0017-esm-only-node-20.md) records the runtime and module-format decision.
- [ADR 0019](./adr/0019-build-time-markdown-integration.md) records the original static Markdown integration, superseded in part by ADR 0020.

### Discrete branch routing

In horizontal flows, vertical two-terminal parts can flip to put earlier
connections above later connections, with explicit power and ground symbols
taking priority. Potentiometers can mirror to face their connected load.
Adjacent facing terminals on the same axis connect directly when no component
lies between them. Ground connections routed to a lower rail first leave the
terminal outward and pass around the symbol bars.

The diode gallery uses a series resistor ahead of a Zener bias rail, a
reverse-biased photodiode, and one explicit shared GND net. `ZenerDiode` accepts
an optional `voltage` quantity and displays it. The divider gallery shows a
rheostat loading the wiper output, with ground connections represented by labels.
Binary file added docs/assets/diode-variants.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions docs/assets/diode-variants.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/pot-divider.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions docs/assets/pot-divider.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading