registry synced Oct 21, 2026

Changelog

The server returns a deterministic snapshot immediately, then refreshes npm and GitHub in the background. npm’s latest tag identifies the public release after a live refresh; the installed engine version is read independently from its package manifest. Unpublished local builds and cold-start seeds remain explicitly marked as publication-unconfirmed.

v1.0.2
npm latest
v1.0.2
installed engine
22
releases tracked
1.023 ms
median compile
5,543 B
workload output
474.3 KiB
latest install
unpacked install footprint by release
v0.1.0 — 153.1 KiBv0.1.0v0.1.1 — 125.8 KiBv0.1.2 — 169.5 KiBv0.2.0 — 166.9 KiBv0.2.0v0.2.1 — 173.2 KiBv0.3.0 — 252.4 KiBv0.3.1 — 254.5 KiBv0.3.1v0.3.2 — 292.4 KiBv0.3.3 — 294.0 KiBv0.3.4 — 312.8 KiBv0.3.4v0.3.5 — 316.8 KiBv0.3.6 — 323.2 KiBv0.3.7 — 324.1 KiBv0.3.7v0.3.8 — 331.5 KiBv0.4.0 — 343.2 KiBv0.5.0 — 371.5 KiBv0.5.0v0.6.0 — 388.3 KiBv0.7.0 — 414.0 KiBv0.8.0 — 444.6 KiBv0.8.0v1.0.0 — 470.9 KiBv1.0.1 — 471.1 KiBv1.0.2 — 474.3 KiBv1.0.2474.3 KiB
engine processing speed
1.023 ms
median of 9 passes over an 11-declaration workload, measured live on this server against the installed compiler (v1.0.2)
workload output weight
5,543 B
exact UTF-8 bytes reported by the compiler's own metrics
  1. v1.0.2 npm latest

    Oct 18, 2026 · d0a1f112c877
    install
    474.3 KiB
    files
    52

    ### Fixed - **A part placed against a declaration that failed is no longer told that declaration does not exist.** When a declaration's own line failed — an unknown option, say — anything placed relative to it was reported as referencing a part "the document never declares", which sent the author to a line that was fine. It is now left unplaced without a second diagnostic, as 1.0 already did for

  2. v1.0.1

    Oct 18, 2026 · cfaf64dc9ea2
    install
    471.1 KiB
    files
    52

    No changes from 1.0.0. This version was tagged before the fixes meant for it were merged, so its package is 1.0.0's code under a new version number; those fixes shipped as 1.0.2. Upgrading from 1.0.0 to 1.0.1 changes nothing.

  3. v1.0.0

    Oct 17, 2026 · 3d746644206f
    install
    470.9 KiB
    files
    52

    1.0 is a rebuild of the compiler's core behind the same language and the same API. The language is read exactly as before — the 0.8 declaration patterns are the front end — and of the corpus's 54 rejections under 0.8, 52 are byte-identical in 1.0. Drawings change, because the router is new, and three corpus documents change outcome; each is listed under Changed. Wires are routed by net, and a mult

  4. v0.8.0

    Oct 16, 2026 · 290560809eb7
    install
    444.6 KiB
    files
    34

    ### Added - **`trunk` draws a multi-terminal net as a tree.** A net reaching four terminals used to be three wires that each ran back to the shared pin — stacked on one another where the router reused a channel, and meeting at T-junctions with no dot, which a reader cannot tell from a crossing. Mark a connection `[ortho trunk]` and it leaves the nearest copper its net already has instead of its o

  5. v0.7.0

    Aug 1, 2026 · 5a72e5ca951d
    install
    414.0 KiB
    files
    34

    ### Added - **A reversal bus routes at thirty-two wires, up from twelve.** When rip-up spends its whole budget the traces are no longer retried again in a different order — the bundle is laid out as a set. Every trace takes the same five-segment dogleg and they differ only in where each turns: rank decides an outbound column stepping inward from the source, an inbound column stepping inward from

  6. v0.6.0

    Jul 31, 2026 · 191857dfd8db
    install
    388.3 KiB
    files
    34

    ### Added - **`snapshotSchematic` — a text digest of a diagram's geometry**, at `@schemd/core/snapshot`. Every component rectangle and every trace vertex, rounded to the three decimals the SVG writer emits, in source order, behind a `schemd-snapshot 1` version line. Committed as a fixture, a routing change now shows up in a pull request as the handful of coordinates that moved rather than as a re

  7. v0.5.0

    Jul 30, 2026 · fa917e02b424
    install
    371.5 KiB
    files
    30

    ### Added - **Relative placement.** A declaration can state where it sits instead of computing it: `resistor:R1 "1 kΩ" right-of VIN by 190 #amber`. Six relations — `right-of`, `left-of`, `above`, `below`, `aligned-x with`, `aligned-y with` — each taking a component or one of its terminals, and the four directions taking an optional `by` distance. `at (x, y)` is untouched, the two forms mix freely

  8. v0.4.0

    Jul 27, 2026 · eede717a2485
    install
    343.2 KiB
    files
    28

    Every connection that declares a closed endpoint marker paints one. SVG resolves marker-start at the first vertex of a path element and marker-end at its last — not once per subpath — so the compound trace that default and embedded-css output emit showed a single arrowhead however many wires shared a batch. Three [arrow] connections in one colour produced three lines and one arrow. Connections car

  9. v0.3.8

    Jul 26, 2026 · 0510102cfb97
    install
    331.5 KiB
    files
    28

    Geometry diagnostics say how to fix the diagram, not only what is wrong with it. An overlap now reports the amount and a coordinate that clears it — R2 overlaps R1 by 44 units horizontally; move R2 to x = 284, or use a UML container — expressed in the at (x, y) origin the author types rather than the derived body rectangle. The advice follows the axis the author already used to separate the pair,

  10. v0.3.7

    Jul 26, 2026 · 566521c362dd
    install
    324.1 KiB
    files
    28

    @schemd/core/netlist and @schemd/core/describe are importable. Both modules shipped in the tarball with no entry in the package exports map, so import '@schemd/core/netlist' failed with ERRPACKAGEPATHNOTEXPORTED while dist/netlist.js sat there unused — the netlist subpath since it was announced in 0.3.4, the describe subpath since 0.3.6. Nothing caught either, because every test imports from src,

  11. v0.3.6

    Jul 26, 2026 · 0af6e903a564
    install
    323.2 KiB
    files
    28

    Diagrams can describe themselves. describeSchematic and describeNetlist derive a deterministic account of a document from its connectivity — scale and signal domain in one sentence fit for an alt attribute, an inventory grouped by kind, and one sentence per net naming the terminals it ties. Labels are flattened through the same mathLabelText the renderer uses, so V{in} is spoken as Vin and 1 k\Ome

  12. v0.3.5

    Jul 25, 2026 · ef593aeb75f2
    install
    316.8 KiB
    files
    26

    The router's spatial hash addresses both axes. Cells were keyed on x alone, so a single column held every obstacle stacked along it and a short segment paid the participation predicate and a slab test once per row — the quadratic term in routing a tall document. Obstacle and wire cells are now keyed on column and row, with a y-span rejection ahead of the exact predicates. Dense 16x16 routing drops

  13. v0.3.4

    Jul 25, 2026 · 7d59c818c653
    install
    312.8 KiB
    files
    26

    Connectivity is now a first-class artifact. buildNetlist returns the nodes, nets, and edges behind a validated document, verifyNetlist runs deterministic design rules over that model, and inspectSchematic does both in one call. Seven rules ship: shorted supply rails, conflicting bus widths, mixed signal domains, unconnected components, duplicate connections, contended digital drivers, and disconne

  14. v0.3.3

    Jul 22, 2026 · 6e3427f63275
    install
    294.0 KiB
    files
    24

    cnot is now an intrinsic two-track controlled-X with continuous control and target rails. Canonical in1/out1 and in2/out2 ports compose directly with quantum wires; legacy in, out, control, and target endpoint spellings remain valid. A Chromium golden locks the two-rail CNOT geometry and its reversed horizontal orientation.

  15. v0.3.2

    Jul 21, 2026 · 308e325eee12
    install
    292.4 KiB
    files
    24

    Signal connections now resolve to first-class net topology. Exact shared terminals and junction branches join implicitly, net=NAME joins disconnected segments explicitly, unnamed nets receive deterministic $N identities, and every net enforces one signal-domain/width contract. Straight, cubic Bézier, and orthogonal routes now share one collision policy across component bodies, transformed endpoint

  16. v0.3.1

    Jul 20, 2026 · 82465acf75e8
    install
    254.5 KiB
    files
    24

    Orthogonal routing no longer fails diagrams whose components sit closer than twice the 12-unit clearance margin. The post-routing guard now rejects only physical body clips; escape stubs may legitimately pass through a neighbor's clearance ring, so densely packed parallel wires route as straight traces instead of throwing Orthogonal route intersects … after routing. Empty qgate detail rows (parame

  17. v0.3.0

    Jul 20, 2026 · 8dc5dd1ac8c1
    install
    252.4 KiB
    files
    24

    Exact quarter-turn component orientation through orientation=right|down|left|up, including rotated ports, outward normals, AABBs, text extents, obstacle routing, and four-turn identity. Electrical sources, native junctions/test points/connectors, power symbols, switch and protection families, amplifiers, resonators, meters, loads, expanded passive/diode/transistor variants, and side-aware IC orien

  18. v0.2.1

    Jul 18, 2026 · 5b2b68213a46
    install
    173.2 KiB
    files
    26

    Last 0.2.x release. Historical documentation remains at the official 0.2.1 route.

  19. v0.2.0

    Jul 17, 2026 · 31cd0daab849
    install
    166.9 KiB
    files
    19
  20. v0.1.2

    Jul 17, 2026 · ddfc9fb674cf
    install
    169.5 KiB
    files
    19
  21. v0.1.1

    Jul 16, 2026 · d74e29fa33f4
    install
    125.8 KiB
    files
    19
  22. v0.1.0

    Jul 16, 2026 · 203258bed98c
    install
    153.1 KiB
    files
    19