schemd engineering vectors

11 / 11

Help shape Schemd

Pick a known limit, agree on the approach, and help move the compiler forward.

01 / Now · P1

Build the topology and routing foundation

Open in playground

These items affect correctness. They come first.

  • P1-02 · Net and junction semantics. Split explicit nets at junctions, render one junction dot, and bridge only separate nets. Claim P1-02
  • P1-04 · Document-level routing index. Reuse an interval index or visibility graph instead of rescanning every obstacle. Depends on P1-02. Claim P1-04
  • P1-03 · Line and Bézier collision rules. Define manual opt-outs or validate straight and cubic paths against components and crossings. Depends on P1-02. Claim P1-03
  • P1-08 · Component overlap validation. Reject accidental overlap in O(V log V) while allowing explicit semantic containers. Claim P1-08

02 / Next · P1

Make every rendered detail deliberate

Open in playground

These items turn valid output into dependable, professional output.

  • P1-05 · Wire and label occupancy. Add soft route costs and route around unrelated external labels. Depends on P1-04. Claim P1-05
  • P1-06 · Dense bridge clusters. Preserve a tangent gap, merge close crossings, or report a diagnostic. Depends on P1-02. Claim P1-06
  • P1-07 · Background-independent UML markers. Trim paths, use transparent interiors, and include marker bounds in collision checks. Claim P1-07
  • P1-09 · Deterministic typography. Publish the font contract and wrap or reject overflowing UML rows clearly. Claim P1-09
  • P1-10 · Visual and adversarial test gates. Add browser goldens, route properties, bounded fuzzing, and mutation checks. Claim P1-10

03 / Later · P1 + P2

Grow the language without growing the runtime

Open in playground

These items expand the language or reduce repeated work. Correctness work can change their final shape.

  • P1-01 · Built-in symbol registry. Move parsing, ports, bounds, and primitives behind typed entries and publish a support matrix. Claim P1-01
  • P2-01 · Serializer byte result. Reuse one internal { svg, bytes } result and benchmark memory at the 2 MiB limit. Claim P2-01
  • P2-02 · Incremental document IDs. Avoid allocating a full JSON signature and document unique prefixes for repeated diagrams. Claim P2-02
  • P2-03 · Grammar delimiter escapes. Support bounded \\, \", and \; escapes with a small lexer. Claim P2-03
  • P2-04 · Shared external styling. Let controlled hosts reuse one style asset while preserving self-contained SVG. Claim P2-04

Lifecycle: this is an active queue, not a changelog. The PR that finishes an item removes it here and from the GitHub roadmap . The issue, merged PR, and Git history keep the record.