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

Author-named graph

Two series resistors and two shunt capacitors form distinct interstage/output nodes with a shared return. Short author component/port IDs and a slash/tilde net name exercise role resolution and JSON pointer escaping, without changing topology.

2stagesharedgroundinterstageunbufferedIDsjson-pointer
Actual core output / SVGrc-ladder/author-ids/geist-light
Author-named graphAuthor-named graph. X1: resistor, 10 kΩ. X2: capacitor, 100 nF. X3: resistor, 10 kΩ. X4: capacitor, 100 nF. node/one~: X1.a connected to X5. node2: X1.b connected to X2.a connected to X3.a. node3: X3.b connected to X4.a connected to X6. node4: X2.b connected to X4.b connected to X7. H(s) = 1/[1 + s(R1 C1 + R1 C2 + R2 C2) + s² R1 R2 C1 C2]. Unbuffered stages interact. Ideal source and unloaded output; no independent cutoff product.. 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
Two-stage RC laddergeist-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
4
Electrical nodes / nets
4
Component pins
8
External ports
3
Connected endpoints
11
Electrical nodes from normalized circuit.nets
Net / electrical nodeEndpointsConnected component pins and ports
node/one~2
  • X1.a
  • X5
node23
  • X1.b
  • X2.a
  • X3.a
node33
  • X3.b
  • X4.a
  • X6
node43
  • X2.b
  • X4.b
  • X7
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": "capacitor",
        "capacitance": 1e-7
      },
      "X3": {
        "type": "resistor",
        "resistance": 10000
      },
      "X4": {
        "type": "capacitor",
        "capacitance": 1e-7
      }
    },
    "ports": {
      "X5": {
        "kind": "terminal"
      },
      "X6": {
        "kind": "terminal"
      },
      "X7": {
        "kind": "ground"
      }
    },
    "nets": {
      "node/one~": [
        "X5",
        "X1.a"
      ],
      "node2": [
        "X1.b",
        "X2.a",
        "X3.a"
      ],
      "node3": [
        "X3.b",
        "X4.a",
        "X6"
      ],
      "node4": [
        "X2.b",
        "X4.b",
        "X7"
      ]
    }
  },
  "layout": {
    "preset": "rc-ladder",
    "roles": {
      "first": "X1",
      "firstShunt": "X2",
      "second": "X3",
      "secondShunt": "X4",
      "input": "X5",
      "output": "X6",
      "ground": "X7"
    }
  },
  "presentation": {
    "title": "Author-named graph",
    "theme": {
      "preset": "geist-light"
    },
    "highlight": {
      "components": [],
      "nets": []
    }
  }
}
Expected outcome & actual diagnostics · JSON
{
  "id": "rc-ladder/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": 1400,
    "height": 1000,
    "labels": {
      "title": {
        "x": 64.68,
        "y": 57.86,
        "width": 319.124,
        "height": 29.647999999999996
      },
      "subtitle": {
        "x": 64.18,
        "y": 104.11,
        "width": 143.47499999999997,
        "height": 13.320000000000007
      },
      "formula": {
        "x": 65.2,
        "y": 920,
        "width": 668,
        "height": 17.200000000000045
      },
      "assumption": {
        "x": 65.078,
        "y": 956.046,
        "width": 595.3920000000006,
        "height": 12.22199999999998
      },
      "X5:port": {
        "x": 139,
        "y": 271.8,
        "width": 21.80000000000001,
        "height": 14.519999999999982
      },
      "X6:port": {
        "x": 1139,
        "y": 271.48,
        "width": 22,
        "height": 14.839999999999975
      },
      "X1:id": {
        "x": 320.09999999999997,
        "y": 242.22,
        "width": 19.62000000000006,
        "height": 12.780000000000001
      },
      "X1:value": {
        "x": 295.44,
        "y": 265.576,
        "width": 70.34400000000005,
        "height": 17.807999999999993
      },
      "X3:id": {
        "x": 740.1,
        "y": 241.932,
        "width": 19.799999999999955,
        "height": 13.356000000000023
      },
      "X3:value": {
        "x": 715.44,
        "y": 265.576,
        "width": 70.34399999999994,
        "height": 17.807999999999993
      },
      "X2:id": {
        "x": 560.9,
        "y": 492.932,
        "width": 19.799999999999955,
        "height": 13.067999999999984
      },
      "X2:value": {
        "x": 561.44,
        "y": 516.576,
        "width": 83.51999999999998,
        "height": 17.807999999999993
      },
      "X4:id": {
        "x": 1010.9,
        "y": 493.22,
        "width": 19.979999999999905,
        "height": 12.779999999999973
      },
      "X4:value": {
        "x": 1011.44,
        "y": 516.576,
        "width": 83.51999999999998,
        "height": 17.807999999999993
      },
      "X7:port": {
        "x": 800.85,
        "y": 767.93,
        "width": 18.529999999999973,
        "height": 12.07000000000005
      }
    },
    "symbols": {
      "X1": {
        "x": 268.5,
        "y": 304.5,
        "width": 123,
        "height": 31
      },
      "X3": {
        "x": 688.5,
        "y": 304.5,
        "width": 123,
        "height": 31
      },
      "X2": {
        "x": 474.5,
        "y": 458.5,
        "width": 51,
        "height": 123
      },
      "X4": {
        "x": 924.5,
        "y": 458.5,
        "width": 51,
        "height": 123
      },
      "X7": {
        "x": 729.5,
        "y": 758.5,
        "width": 41,
        "height": 31
      }
    },
    "routes": {
      "node/one~": [
        {
          "x": 148.5,
          "y": 318.5,
          "width": 123,
          "height": 3
        }
      ],
      "node2": [
        {
          "x": 388.5,
          "y": 318.5,
          "width": 303,
          "height": 3
        },
        {
          "x": 498.5,
          "y": 318.5,
          "width": 3,
          "height": 143
        }
      ],
      "node3": [
        {
          "x": 808.5,
          "y": 318.5,
          "width": 343,
          "height": 3
        },
        {
          "x": 948.5,
          "y": 318.5,
          "width": 3,
          "height": 143
        }
      ],
      "node4": [
        {
          "x": 498.5,
          "y": 578.5,
          "width": 3,
          "height": 143
        },
        {
          "x": 498.5,
          "y": 718.5,
          "width": 453,
          "height": 3
        },
        {
          "x": 948.5,
          "y": 578.5,
          "width": 3,
          "height": 143
        },
        {
          "x": 748.5,
          "y": 718.5,
          "width": 3,
          "height": 43
        }
      ]
    }
  }
}
← 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 ↗