// generated by diplomat-tool import type { NucleationError } from "./NucleationError.mjs" import type { Schematic } from "./Schematic.mjs" import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; /** * Namespacing opaque for routing entry points (static methods taking * `&Schematic` explicitly, like `Autostack`). */ export class Routing { /** @internal */ get ffiValue(): pointer; /** @internal */ constructor(); /** * Route one net from `(sx, sy, sz)` to `(dx, dy, dz)` with default * rules (torch-ladder vias, stair cap 4, refresh 5) and write the * emitted geometry into the schematic. Writes the routed path as a * JSON array of `[x, y, z]` cells. */ static routeNet(schematic: Schematic, sx: number, sy: number, sz: number, dx: number, dy: number, dz: number, label: string): string; /** * Route every net in `nets_json` with negotiated congestion * (pnr-core PathFinder) in one labelled workspace, write the * geometry into the schematic, and write the JSON report * (`routes` with per-net `path`/`delay_rt`, `notes`, * `violations`). Supports per-net-class rule overrides * (`classes`: io_contract `NetClassRule`s, with `region` * resolving named route zones tagged on the schematic's * DefinitionRegions), plus `bounds`, `budget` and `congestion` * options — see `crate::routing::route_all_schematic` for the * exact request shape. */ static routeAll(schematic: Schematic, netsJson: string): string; /** * LVS v1: compare an intended netlist (`{"nets": [{"name", * "terminals": [[x,y,z], ...]}]}`) against the conduction * netlist extracted statically from the schematic (dust * adjacency incl. cut diagonals plus repeater/comparator/torch * through-component edges). Writes `{"clean", "matched", * "opens", "shorts", "cycles"}`. */ static lvs(schematic: Schematic, intentJson: string): string; /** * Run design-rule checks (support audit, repeater-cycle detection, * optional decay) over the schematic. Writes a JSON array; each * element has `kind` plus violation-specific fields. Label-aware * short checking needs a labelled workspace and stays native. */ static drc(schematic: Schematic, checkDecay: boolean): string; /** * Static timing over the schematic plus a gate netlist given as * JSON: `{"inputs": ["a", ...], "gates": [{"out": "y", * "ins": ["a", "b"], "delay_rt": 2}, ...]}`. Writes * `{"arrival_rt": {sig: rt}, "critical": [sig, ...]}`. */ static sta(schematic: Schematic, netlistJson: string): string; }