sangit/dataset-srj11-45-degree
This code defines a PCB layout with test points, obstacles, and routed traces, including components like rotated and twin pads for physical hardware design.
- Version
- 0.1.0
- License
- unset
- Stars
- 0
dist/circuits/sample001/schematic.svg
PCB
Schematic
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="600" style="background-color: rgb(245, 241, 237)" data-real-to-screen-transform="matrix(90.6344410876,0,0,-90.6344410876,622.6586102719,90.6344410876)"><style>
.boundary { fill: rgb(245, 241, 237); }
.schematic-boundary { fill: none; stroke: #fff; }
.component { fill: none; stroke: rgb(132, 0, 0); }
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
/* Basic per-trace hover fallback */
.trace:hover {
filter: invert(1);
}
.trace:hover .trace-crossing-outline {
opacity: 0;
}
.trace:hover .trace-junction {
filter: invert(1);
}
/* Net-hover highlighting: when a trace or its overlays are hovered,
invert color for all traces (base + overlays) sharing the same
subcircuit connectivity key. Also hide crossing outline during hover. */
svg:has(:is(g.trace[data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"], g.trace-overlays[data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"]):hover) :is(g.trace[data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"], g.trace-overlays[data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"]) { filter: invert(1); }
svg:has(:is(g.trace[data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"], g.trace-overlays[data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"]):hover) g.trace-overlays[data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"] .trace-crossing-outline { opacity: 0; }
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
.pin-number { fill: rgb(169, 0, 0); }
.port-label { fill: rgb(0, 100, 100); }
.component-name { fill: rgb(0, 100, 100); }
</style><rect class="boundary" x="0" y="0" width="1200" height="600"/><g class="trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0" data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"><path d="M 604.53172205438 126.88821752263999 L 586.40483383686 126.88821752263999 L 586.40483383686 54.38066465256 L 604.53172205438 54.38066465256" class="trace-invisible-hover-outline" stroke="rgb(0, 150, 0)" fill="none" stroke-width="14.501510574015999px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path d="M 604.53172205438 126.88821752263999 L 586.40483383686 126.88821752263999 L 586.40483383686 54.38066465256 L 604.53172205438 54.38066465256" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8126888217519999px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0" data-subcircuit-connectivity-map-key="unnamedsubcircuit17_connectivity_net0"/><g data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0"><rect class="component-overlay" x="604.53172205438" y="117.82477341388" width="27.190332326279986" height="18.12688821751999" fill="transparent"/><path d="M 604.53172205438 126.88821752263999 L 622.6586102719 126.88821752263999" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8126888217519999px" stroke-linecap="round"/><path d="M 631.72205438066 117.82477341388 L 627.7895733614682 118.72233654467364 L 624.6359684368421 121.23725255111151 L 622.8858497385299 124.87141147469787 L 622.8858497385299 128.90502357058213 L 624.6359684368421 132.53918249416847 L 627.7895733614682 135.05409850060633 L 631.72205438066 135.9516616314" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8126888217519999px" stroke-linecap="round"/><text x="633.98791540785" y="126.88821752263999" stroke="rgb(245, 241, 237)" stroke-width="1.8126888217519999px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.314199395768px">TP1</text></g><g data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1"><rect class="component-overlay" x="604.53172205438" y="45.3172205438" width="27.190332326279986" height="18.126888217520005" fill="transparent"/><path d="M 604.53172205438 54.38066465256 L 622.6586102719 54.38066465256" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8126888217519999px" stroke-linecap="round"/><path d="M 631.72205438066 45.3172205438 L 627.7895733614682 46.214783674593654 L 624.6359684368421 48.72969968103152 L 622.8858497385299 52.36385860461787 L 622.8858497385299 56.39747070050213 L 624.6359684368421 60.03162962408848 L 627.7895733614682 62.546545630526346 L 631.72205438066 63.44410876132" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8126888217519999px" stroke-linecap="round"/><text x="633.98791540785" y="54.38066465256" stroke="rgb(245, 241, 237)" stroke-width="1.8126888217519999px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.314199395768px">TP2</text></g><g data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2"><rect class="component chip" x="536.55589123868" y="280.96676737155997" width="172.2054380664399" height="36.25377643504004" stroke-width="1.8126888217519999px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay" x="536.55589123868" y="280.96676737155997" width="172.2054380664399" height="36.25377643504004" fill="transparent"/><text x="536.55589123868" y="329.003021147988" fill="#006464" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="16.314199395768px" transform="rotate(0, 536.55589123868, 329.003021147988)"></text><text x="536.55589123868" y="269.184290030172" fill="#006464" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="16.314199395768px" transform="rotate(0, 536.55589123868, 269.184290030172)">OBS1</text><line class="component-pin" x1="536.55589123868" y1="299.09365558908" x2="502.11480362539197" y2="299.09365558908" stroke-width="1.8126888217519999px"/><g data-schematic-port-id="source_port_2"><circle class="component-pin" cx="500.30211480364" cy="299.09365558908" r="1.8126888217519999" stroke-width="1.8126888217519999px"/><rect x="498.489425981888" y="297.28096676732804" width="3.6253776435039997" height="3.6253776435039997" opacity="0"/></g><text class="pin-number" x="518.42900302116" y="297.280966767328" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.595166163139998px" transform="">1</text><text class="pin-number" x="545.61933534744" y="299.09365558908" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.595166163139998px" transform="">OBSTACLE</text></g><g data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3"><rect class="component chip" x="536.55589123868" y="498.4894259818001" width="172.2054380664399" height="36.25377643503998" stroke-width="1.8126888217519999px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay" x="536.55589123868" y="498.4894259818001" width="172.2054380664399" height="36.25377643503998" fill="transparent"/><text x="536.55589123868" y="546.5256797582281" fill="#006464" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="16.314199395768px" transform="rotate(0, 536.55589123868, 546.5256797582281)"></text><text x="536.55589123868" y="486.70694864041207" fill="#006464" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="16.314199395768px" transform="rotate(0, 536.55589123868, 486.70694864041207)">OBS2</text><line class="component-pin" x1="536.55589123868" y1="516.6163141993201" x2="502.11480362539197" y2="516.6163141993201" stroke-width="1.8126888217519999px"/><g data-schematic-port-id="source_port_3"><circle class="component-pin" cx="500.30211480364" cy="516.6163141993201" r="1.8126888217519999" stroke-width="1.8126888217519999px"/><rect x="498.489425981888" y="514.8036253775681" width="3.6253776435039997" height="3.6253776435039997" opacity="0"/></g><text class="pin-number" x="518.42900302116" y="514.8036253775681" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.595166163139998px" transform="">1</text><text class="pin-number" x="545.61933534744" y="516.6163141993201" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="13.595166163139998px" transform="">OBSTACLE</text></g><g class="schematic-port-hover" data-schematic-port-id="source_port_0"><circle cx="604.53172205438" cy="126.88821752263999" r="3.6253776435039997" fill="red" opacity="0"/></g><g class="schematic-port-hover" data-schematic-port-id="source_port_1"><circle cx="604.53172205438" cy="54.38066465256" r="3.6253776435039997" fill="red" opacity="0"/></g><g class="schematic-port-hover" data-schematic-port-id="source_port_2"><circle cx="500.30211480364" cy="299.09365558908" r="3.6253776435039997" fill="red" opacity="0"/></g><g class="schematic-port-hover" data-schematic-port-id="source_port_3"><circle cx="500.30211480364" cy="516.6163141993201" r="3.6253776435039997" fill="red" opacity="0"/></g></svg>