lini 0.9.0

Pretty diagrams from plain text, with fine-grained control. Compiles to clean, themeable SVG.
Documentation
// The development scene — every basic linking feature once, small enough to
// debug by eye. Expected: all four laws hold, ZERO crossings.
//
//   clear shot · duplicate rails · a detour around a node · a fan trunk
//   a self-loop · a bidirectional link · labels and markers

{
  layout: row; gap: 50; clearance: 10;
}

ant  |box| { width: 60; height: 60; } "Ant"
wall |box| { width: 60; height: 140; } "Wall"
bee  |box| "Bee"
owl  |oval| "Owl"

ant -> bee "over"
// detours around Wall
ant -> ant
// self-loop: out one side, back an adjacent one
bee -> owl
// clear shot
bee -> owl
// duplicate: adjacent parallel rail
// fan: shared port and stub, trunk, split
ant -> wall & owl { along: 0.2; } "fan"
bee <-> ant "chat"
// bidirectional, also detours around Wall