design_layout_schematic
Compute schematic layout geometry as pure data from a DesignPlan to inspect placements, wires, and scores offline without touching Altium.
Instructions
Compute the schematic layout for a DesignPlan, as pure data.
THE ONE SCHEMATIC ENGINE. Every schematic tool now runs the same
canvas pipeline, so whenever you are asked to draw or lay out a
schematic, reach for this family and nothing else: this tool for
the geometry as data, design_preview_plan for the same layout
rendered to SVG, design_execute_plan to place it in Altium.
There is no longer a second engine to choose between.
It used to run a second, standalone engine whose placements and score described a layout nobody would ever see. That engine is no longer reachable: measured over ten held-out corpus sheets it lost the shared objective on seven and produced four pairs of OVERLAPPING BODIES where this pipeline produced none, so the shorter wire it appeared to draw was partly bought by stacking parts on top of one another.
Runs OFFLINE and never reaches Altium, so it works on every
backend. That costs one thing and the result says which: symbol
geometry is synthesised from the plan's pin lists rather than
read from a library, so symbols comes back "synthetic"
and execution_accurate is False. The placement and routing
RULES are the ones that execute. When you need the exact
geometry, use design_preview_plan (same pipeline, real
symbols, renders SVG) or design_execute_plan to emit.
Args:
plan_json: A DesignPlan as a JSON string or a JSON object/dict.
sheet: Sheet name to report (default "main").
grid_mils: Accepted for compatibility; the canvas pipeline
snaps to its own 100-mil grid.
fr_iterations: Accepted for compatibility; the pipeline sweeps
its own force-directed budget and scores the results.
placement_hints: Optional {refdes: {"x", "y", "rotation"}}
pinned positions, same as design_execute_plan.
render_png: Optional path for a preview image of the layout.
Returns:
Dict with ok / sheet / engine ("canvas") /
execution_accurate (True) / summary / placements /
net_representation / wires / net_labels /
power_ports / junctions / score / notes /
failures. On a bad plan: {"ok": False, "errors": [...]}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sheet | No | main | |
| grid_mils | No | ||
| plan_json | Yes | ||
| render_png | No | ||
| fr_iterations | No | ||
| placement_hints | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||