// 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 the HDL compiler entry points (static methods, * like `Routing`). */ export class Hdl { /** @internal */ get ffiValue(): pointer; /** @internal */ constructor(); /** * Compile combinational BLIF text into a redstone PLA schematic. * * `blif` is yosys `write_blif` output (`.latch`/`.subckt` are * rejected — combinational only). One floor lever per `.inputs` net * drives the build; every signal has a dust probe. `bake=true` * settles the build in the tick engine first and saves it at rest * (needs the `mc-tick` feature, else errors). * * Probe/lever coordinates and stats come from `compile_blif_report`. */ static compileBlif(blif: string, name: string, bake: boolean): Schematic; /** * Compile `blif` and write the JSON report: stats (`prims`, * `levels`, `peephole_removed`, `blocks`, `bounds`), `inputs` (= * lever drive order), `outputs` (each `{name, probe}` or `{name, * const}`), `levers` (`{signal, pos}`), and `probes` * (signal -> `[x, y, z]` dust cell, in the schematic's own * coordinates). */ static compileBlifReport(blif: string, name: string): string; /** * Compile `blif` and write its typed-cell contract as JSON — the * `CellContract` file format (name, `io` with typed ports/buses, * `physical` sidecar). Vector ports (`a[0..3]` or `a0..a3`) group * into word buses (LSB = index 0); single bits are boolean. Input * port positions are the drive levers, output positions the dust * probes, in the same schematic coordinates as `compile_blif`. * * The `physical.delays_rt` table is ESTIMATED from levelization * depth (2 redstone ticks per level), not measured; `paste_safe` * is false until proven. Pair with `compile_blif` for the * schematic: schematic + this contract = an executable typed cell. */ static compileBlifContract(blif: string, name: string): string; }