Skip to content
CircuitKitBy Crafter Lab
EditorGalleryLesson
← Back to collection
Example / loaded-divider / geist-darkExpectation matched

Author-named graph

Three resistors: a top series leg feeds the bottom resistor and a separate parallel load, sharing output and ground nodes. Short author component/port IDs and a slash/tilde net name exercise role resolution and JSON pointer escaping, without changing topology.

parallelbranchsharedgroundloadingthree-resistorsIDsjson-pointer
Actual core output / SVGloaded-divider/author-ids/geist-dark
Author-named graphAuthor-named graph. X1: resistor, 10 kΩ. X2: resistor, 10 kΩ. X3: resistor, 10 kΩ. node/one~: X1.a connected to X4. node2: X1.b connected to X2.a connected to X3.a connected to X5. node3: X2.b connected to X3.b connected to X6. VOUT/VIN = (Rbottom || Rload)/(Rtop + (Rbottom || Rload)). Ideal resistors with an explicit parallel load; not an unloaded divider.. Focus components: none. Focus nets: none.

Scroll horizontally on smaller screens to inspect legible nodes and labels. No simulation is performed.

The original input stays intact, including invalid fields.

Open in editorDownload JSONDownload SVG ↓
Expected vs. actual

An inspectable result.

These checks compare the renderer outcome with the declared case expectation. The stress test also checks determinism, geometry, and connectivity.

Expected
Successful SVG render
Actual
SVG rendered0 diagnostics
Case check
Passed
Recipe / theme
Loaded voltage dividergeist-dark
The circuit graph, not its drawing

Electrical nodes & connectivity

Each net is one electrical node: the named endpoints below are connected. Component pins and external ports are endpoints. These counts are not the number of geometric junction dots or wire bends. No voltages, currents, or simulation results are inferred.

Components
3
Electrical nodes / nets
3
Component pins
6
External ports
3
Connected endpoints
9
Electrical nodes from normalized circuit.nets
Net / electrical nodeEndpointsConnected component pins and ports
node/one~2
  • X1.a
  • X4
node24
  • X1.b
  • X2.a
  • X3.a
  • X5
node33
  • X2.b
  • X3.b
  • X6
Structured feedback

Diagnostics / 0

No diagnostics. The renderer accepted this source and produced the figure above.

Original figure document · JSON
{
  "version": 1,
  "circuit": {
    "components": {
      "X1": {
        "type": "resistor",
        "resistance": 10000
      },
      "X2": {
        "type": "resistor",
        "resistance": 10000
      },
      "X3": {
        "type": "resistor",
        "resistance": 10000
      }
    },
    "ports": {
      "X4": {
        "kind": "terminal"
      },
      "X5": {
        "kind": "terminal"
      },
      "X6": {
        "kind": "ground"
      }
    },
    "nets": {
      "node/one~": [
        "X4",
        "X1.a"
      ],
      "node2": [
        "X1.b",
        "X2.a",
        "X3.a",
        "X5"
      ],
      "node3": [
        "X2.b",
        "X3.b",
        "X6"
      ]
    }
  },
  "layout": {
    "preset": "loaded-divider",
    "roles": {
      "top": "X1",
      "bottom": "X2",
      "load": "X3",
      "input": "X4",
      "output": "X5",
      "ground": "X6"
    }
  },
  "presentation": {
    "title": "Author-named graph",
    "theme": {
      "preset": "geist-dark"
    },
    "highlight": {
      "components": [],
      "nets": []
    }
  }
}
Expected outcome & actual diagnostics · JSON
{
  "id": "loaded-divider/author-ids/geist-dark",
  "expectation": {
    "kind": "render"
  },
  "actual": {
    "ok": true,
    "diagnostics": []
  },
  "passed": true
}
Rendered bounds & renderer version · JSON
{
  "rendererVersion": "0.1.0",
  "bounds": {
    "x": 0,
    "y": 0,
    "width": 1400,
    "height": 1000,
    "labels": {
      "title": {
        "x": 64.68,
        "y": 57.86,
        "width": 319.124,
        "height": 29.647999999999996
      },
      "subtitle": {
        "x": 65.38,
        "y": 104.33500000000001,
        "width": 153.13499999999993,
        "height": 13.094999999999999
      },
      "formula": {
        "x": 64.6,
        "y": 920,
        "width": 680.1999999999999,
        "height": 18
      },
      "assumption": {
        "x": 65.288,
        "y": 956.046,
        "width": 428.75000000000017,
        "height": 12.13799999999992
      },
      "X4:port": {
        "x": 169,
        "y": 251.8,
        "width": 22.19999999999999,
        "height": 14.199999999999989
      },
      "X5:port": {
        "x": 1089,
        "y": 251.8,
        "width": 21.799999999999955,
        "height": 14.519999999999982
      },
      "X1:id": {
        "x": 390.09999999999997,
        "y": 222.22,
        "width": 19.62000000000006,
        "height": 12.780000000000001
      },
      "X1:value": {
        "x": 365.44,
        "y": 245.576,
        "width": 70.34400000000005,
        "height": 17.80800000000002
      },
      "X2:id": {
        "x": 650.9,
        "y": 492.932,
        "width": 19.799999999999955,
        "height": 13.067999999999984
      },
      "X2:value": {
        "x": 651.44,
        "y": 516.576,
        "width": 70.34399999999994,
        "height": 17.807999999999993
      },
      "X3:id": {
        "x": 950.9,
        "y": 492.932,
        "width": 19.799999999999955,
        "height": 13.355999999999995
      },
      "X3:value": {
        "x": 951.44,
        "y": 516.576,
        "width": 70.34399999999994,
        "height": 17.807999999999993
      },
      "X6:port": {
        "x": 800.85,
        "y": 767.658,
        "width": 18.700000000000045,
        "height": 12.614000000000033
      }
    },
    "symbols": {
      "X1": {
        "x": 338.5,
        "y": 284.5,
        "width": 123,
        "height": 31
      },
      "X2": {
        "x": 584.5,
        "y": 458.5,
        "width": 31,
        "height": 123
      },
      "X3": {
        "x": 884.5,
        "y": 458.5,
        "width": 31,
        "height": 123
      },
      "X6": {
        "x": 729.5,
        "y": 758.5,
        "width": 41,
        "height": 31
      }
    },
    "routes": {
      "node/one~": [
        {
          "x": 178.5,
          "y": 298.5,
          "width": 163,
          "height": 3
        }
      ],
      "node2": [
        {
          "x": 458.5,
          "y": 298.5,
          "width": 643,
          "height": 3
        },
        {
          "x": 598.5,
          "y": 298.5,
          "width": 3,
          "height": 163
        },
        {
          "x": 898.5,
          "y": 298.5,
          "width": 3,
          "height": 163
        }
      ],
      "node3": [
        {
          "x": 598.5,
          "y": 578.5,
          "width": 3,
          "height": 143
        },
        {
          "x": 598.5,
          "y": 718.5,
          "width": 303,
          "height": 3
        },
        {
          "x": 898.5,
          "y": 578.5,
          "width": 3,
          "height": 143
        },
        {
          "x": 748.5,
          "y": 718.5,
          "width": 3,
          "height": 43
        }
      ]
    }
  }
}
← Previous exampleAuthor-named graphgeist-lightNext example →Author-named graphgeist-print
CircuitKit · By Crafter Lab

A drawing tool, not simulation, electrical-safety approval, or a fabrication system.

Apache-2.0Source on GitHub ↗