Skip to content
CircuitKitBy Crafter Lab
EditorGalleryLesson
← Back to collection
Example / bridge-rectifier / geist-lightExpectation matched

Author-named graph

Four oriented diodes connect two separate AC terminals to DC output/return rails. A resistor and filter capacitor are parallel output branches. Short author component/port IDs and a slash/tilde net name exercise role resolution and JSON pointer escaping, without changing topology.

bridgepolarityparallelbranchsharedgrounddrawing-onlyIDsjson-pointer
Actual core output / SVGbridge-rectifier/author-ids/geist-light
Author-named graphAuthor-named graph. X1: diode, Diode. X2: diode, Diode. X3: diode, Diode. X4: diode, Diode. X5: resistor, 1 kΩ. X6: capacitor, 1 mF. node/one~: X1.anode connected to X3.cathode connected to X7. node2: X2.anode connected to X4.cathode connected to X8. node3: X1.cathode connected to X2.cathode connected to X5.a connected to X6.a connected to X9. node4: X10 connected to X3.anode connected to X4.anode connected to X5.b connected to X6.b. Topology illustration, not a device simulation. AC terminals A/B, full-wave diode bridge, parallel load and filter. No ripple or diode-drop simulation.. 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
Full-wave bridge rectifiergeist-light
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
6
Electrical nodes / nets
4
Component pins
12
External ports
4
Connected endpoints
16
Electrical nodes from normalized circuit.nets
Net / electrical nodeEndpointsConnected component pins and ports
node/one~3
  • X1.anode
  • X3.cathode
  • X7
node23
  • X2.anode
  • X4.cathode
  • X8
node35
  • X1.cathode
  • X2.cathode
  • X5.a
  • X6.a
  • X9
node45
  • X10
  • X3.anode
  • X4.anode
  • X5.b
  • X6.b
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": "diode"
      },
      "X2": {
        "type": "diode"
      },
      "X3": {
        "type": "diode"
      },
      "X4": {
        "type": "diode"
      },
      "X5": {
        "type": "resistor",
        "resistance": 1000
      },
      "X6": {
        "type": "capacitor",
        "capacitance": 0.001
      }
    },
    "ports": {
      "X7": {
        "kind": "terminal"
      },
      "X8": {
        "kind": "terminal"
      },
      "X9": {
        "kind": "terminal"
      },
      "X10": {
        "kind": "ground"
      }
    },
    "nets": {
      "node/one~": [
        "X7",
        "X1.anode",
        "X3.cathode"
      ],
      "node2": [
        "X8",
        "X2.anode",
        "X4.cathode"
      ],
      "node3": [
        "X1.cathode",
        "X2.cathode",
        "X5.a",
        "X6.a",
        "X9"
      ],
      "node4": [
        "X3.anode",
        "X4.anode",
        "X5.b",
        "X6.b",
        "X10"
      ]
    }
  },
  "layout": {
    "preset": "bridge-rectifier",
    "roles": {
      "positiveA": "X1",
      "positiveB": "X2",
      "negativeA": "X3",
      "negativeB": "X4",
      "load": "X5",
      "filter": "X6",
      "inputA": "X7",
      "inputB": "X8",
      "output": "X9",
      "ground": "X10"
    }
  },
  "presentation": {
    "title": "Author-named graph",
    "theme": {
      "preset": "geist-light"
    },
    "highlight": {
      "components": [],
      "nets": []
    }
  }
}
Expected outcome & actual diagnostics · JSON
{
  "id": "bridge-rectifier/author-ids/geist-light",
  "expectation": {
    "kind": "render"
  },
  "actual": {
    "ok": true,
    "diagnostics": []
  },
  "passed": true
}
Rendered bounds & renderer version · JSON
{
  "rendererVersion": "0.1.0",
  "bounds": {
    "x": 0,
    "y": 0,
    "width": 1700,
    "height": 1120,
    "labels": {
      "title": {
        "x": 64.68,
        "y": 57.86,
        "width": 319.124,
        "height": 29.647999999999996
      },
      "subtitle": {
        "x": 65.38,
        "y": 104.33500000000001,
        "width": 168.49499999999995,
        "height": 13.094999999999999
      },
      "formula": {
        "x": 64.8,
        "y": 1040.78,
        "width": 549.5200000000001,
        "height": 17.460000000000036
      },
      "assumption": {
        "x": 64.28,
        "y": 1075.5,
        "width": 631.6660000000005,
        "height": 12.768000000000029
      },
      "X7:port": {
        "x": 169,
        "y": 511.8,
        "width": 21.80000000000001,
        "height": 14.199999999999989
      },
      "X8:port": {
        "x": 1039,
        "y": 511.48,
        "width": 22,
        "height": 14.840000000000032
      },
      "X9:port": {
        "x": 1489,
        "y": 211.48,
        "width": 22,
        "height": 14.840000000000003
      },
      "X1:id": {
        "x": 510.9,
        "y": 393.22,
        "width": 19.620000000000005,
        "height": 12.779999999999973
      },
      "X1:value": {
        "x": 512.16,
        "y": 416.936,
        "width": 68.32800000000009,
        "height": 17.352000000000032
      },
      "X2:id": {
        "x": 860.9,
        "y": 392.932,
        "width": 19.799999999999955,
        "height": 13.067999999999984
      },
      "X2:value": {
        "x": 862.16,
        "y": 416.936,
        "width": 68.32800000000009,
        "height": 17.352000000000032
      },
      "X3:id": {
        "x": 510.9,
        "y": 692.932,
        "width": 19.799999999999955,
        "height": 13.355999999999995
      },
      "X3:value": {
        "x": 512.16,
        "y": 716.936,
        "width": 68.32800000000009,
        "height": 17.351999999999975
      },
      "X4:id": {
        "x": 860.9,
        "y": 693.22,
        "width": 19.980000000000018,
        "height": 12.779999999999973
      },
      "X4:value": {
        "x": 862.16,
        "y": 716.936,
        "width": 68.32800000000009,
        "height": 17.351999999999975
      },
      "X5:id": {
        "x": 1210.9,
        "y": 673.22,
        "width": 19.61999999999989,
        "height": 13.067999999999984
      },
      "X5:value": {
        "x": 1211.44,
        "y": 696.576,
        "width": 55.94399999999996,
        "height": 17.423999999999978
      },
      "X6:id": {
        "x": 1460.9,
        "y": 672.932,
        "width": 19.799999999999955,
        "height": 13.355999999999995
      },
      "X6:value": {
        "x": 1461.44,
        "y": 696.96,
        "width": 54.72000000000003,
        "height": 17.039999999999964
      },
      "X10:port": {
        "x": 1200.85,
        "y": 957.658,
        "width": 28.90000000000009,
        "height": 12.614000000000033
      }
    },
    "symbols": {
      "X1": {
        "x": 424.5,
        "y": 358.5,
        "width": 51,
        "height": 123
      },
      "X2": {
        "x": 774.5,
        "y": 358.5,
        "width": 51,
        "height": 123
      },
      "X3": {
        "x": 424.5,
        "y": 658.5,
        "width": 51,
        "height": 123
      },
      "X4": {
        "x": 774.5,
        "y": 658.5,
        "width": 51,
        "height": 123
      },
      "X5": {
        "x": 1134.5,
        "y": 638.5,
        "width": 31,
        "height": 123
      },
      "X6": {
        "x": 1374.5,
        "y": 638.5,
        "width": 51,
        "height": 123
      },
      "X10": {
        "x": 1129.5,
        "y": 948.5,
        "width": 41,
        "height": 31
      }
    },
    "routes": {
      "node/one~": [
        {
          "x": 448.5,
          "y": 478.5,
          "width": 3,
          "height": 183
        },
        {
          "x": 178.5,
          "y": 558.5,
          "width": 273,
          "height": 3
        }
      ],
      "node2": [
        {
          "x": 798.5,
          "y": 478.5,
          "width": 3,
          "height": 183
        },
        {
          "x": 798.5,
          "y": 558.5,
          "width": 253,
          "height": 3
        }
      ],
      "node3": [
        {
          "x": 448.5,
          "y": 258.5,
          "width": 3,
          "height": 103
        },
        {
          "x": 448.5,
          "y": 258.5,
          "width": 1053,
          "height": 3
        },
        {
          "x": 798.5,
          "y": 258.5,
          "width": 3,
          "height": 103
        },
        {
          "x": 1148.5,
          "y": 258.5,
          "width": 3,
          "height": 383
        },
        {
          "x": 1398.5,
          "y": 258.5,
          "width": 3,
          "height": 383
        }
      ],
      "node4": [
        {
          "x": 448.5,
          "y": 778.5,
          "width": 3,
          "height": 123
        },
        {
          "x": 448.5,
          "y": 898.5,
          "width": 953,
          "height": 3
        },
        {
          "x": 1398.5,
          "y": 758.5,
          "width": 3,
          "height": 143
        },
        {
          "x": 798.5,
          "y": 778.5,
          "width": 3,
          "height": 123
        },
        {
          "x": 1148.5,
          "y": 758.5,
          "width": 3,
          "height": 143
        },
        {
          "x": 1148.5,
          "y": 898.5,
          "width": 3,
          "height": 53
        }
      ]
    }
  }
}
← Previous exampleFocus groundgeist-printNext example →Author-named graphgeist-dark
CircuitKit · By Crafter Lab

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

Apache-2.0Source on GitHub ↗