Text → schematic · v1.0.2 · MIT

Write the circuit. Get the drawing.

schemd pronounced like skemd /skɛmd/

A few lines of plain text become a routed, deterministic SVG schematic — electrical, digital, quantum and UML — on a server, in a build, or in a browser worker, with no dependencies.

npm i @schemd/core
filter.schemd
Active low-pass filter11 components and 12 connections.VINVinR110 kΩN1VcC11 nFU1OPA192FBVfbRF100 kΩRG10 kΩVOUTVoutG0 VG20 V
Active low-pass filter
  1. Parse
  2. Place
  3. Route by net
  4. Emit
compile
2.17 ms
parts
11
nets
6
svg
28.4 KB

C4 · Routing

Routed the way a draughtsman would route it.

Every net is grown as one tree on an integer lattice, contention is negotiated away, and the same source gives the same bytes on every engine.

0.8
R1aN1VxR2bC1c
1.0.2
Wires meet at the junction4 components and 3 connections.R1aN1VxR2bC1c
Wires meet at the junction

Trees, not detours

Wires meet where you put the junction

Three wires written to N1 run straight into it. 0.8 pulled each one out through a stub on the left first.

Bridges and dots8 components and 4 connections.AABBCCDDTTUUSSZZ
Bridges and dots

Contact is meaning

Bridges where nets cross, dots where they join

Separate nets never touch: the vertical run hops. Wires of one net that cross are one node, so the crossing gets a dot.

Negotiated, then exact

Contention priced away, in integers

Nets that fight for a channel are torn up and rerouted with the price raised. Every coordinate is an integer milli-unit, so nothing drifts.

D2 · Vocabulary

One language, four families.

The same declarations draw a filter, a flip-flop, a Bell pair or a class diagram. Every kind comes from the compiler's registry, so these pages never fall behind it.

Electrical

Passives, sources, amplifiers, switches and junctions — drawn on the sheet above.

amplifier:U1 "OPA192" at (560, 173) #purple [type=opamp]
Registered inverter5 components and 4 connections.DDCLKCLKCLKDFFD-FFINVNOTQQ
Registered inverter

Digital

flipflop:FF "D-FF" at (260, 140) #purple [type=d]
Bell pair6 components and 5 connections.Q0|0⟩Q1|0⟩HHHCXCXM0MM1M
Bell pair

Quantum

prepare:Q0 "|0\rangle" at (70, 90) #blue
Compiler and netlist2 components and 1 connection.builds«entry»Compiler- limits: Limits+ compile(src): Svg+ diagnose(src): ListNetlist- nets: Net[]- nodes: Node[]+ verify(): Report
Compiler and netlist

UML

API.right -> NET.left #slate [ortho association label="builds"]

E6 · Evidence

Proof, not promises.

Every figure here is measured from the compiler this page runs, or read from the evidence pages.

component kinds
114
language coverage →
documentation diagrams pass every design rule
49/52
conformance →
to compile the filter at the top
2.17ms
of SVG for it, byte-identical on every engine
28.4KB
runtime dependencies; no DOM, canvas or fonts
0
releases tracked
22
changelog →

F3 · The site

One sheet, five modes.

Every page shares the frame: zone rulers to find your place, a title block for state, copper for motion. The frame adapts to the work.