Skip to content

1.0.0-beta.11 Public Beta

Pre-release
Pre-release

Choose a tag to compare

@potatobeanradio potatobeanradio released this 05 Sep 02:09
· 71 commits to main since this release

Eleventh public beta.

Dramatic Speed Improvements for Layout Rendering of Complex Designs

Measured on a real 20-layer board — 3,284 shapes, 764,110 vertices:

  • Panning that board goes from 4 fps to about 70 fps (248 ms a frame → 14 ms). Nine tenths of the frame
    was spent stroking outlines at a scale where they were not drawing edges at all — they were painting
    solid colour over every layer beneath.
  • A panel of placements is dramatically faster. A 10×10 array of that board took 1,500 ms a frame,
    with a first frame of 36.7 seconds; it now runs at 1.5 ms a frame with a first frame of 72 ms.
  • Clicking, or starting a marquee, in a complex design that arrays a complex cell: 1,063 ms → 0.7 ms. Every
    cell of the array was descended into and every shape inside it tested individually, so clicking
    empty canvas — the gesture that starts a marquee — was the worst case rather than the cheapest.
  • The workspace window UI elements are now responsive even when large complex designs are loaded

Gerber Import Improvements

  • A board that declares its unit on the same line as its coordinate format now imports. One
    %...% block may hold several commands; circuitRF read only the first, so %FSLAX45Y45*MOMM*% had
    its format read and its unit dropped — and then refused the file for declaring no unit. On the
    reported board that was twenty artwork files, twenty refusals, and only the drill data getting
    through.
  • Vias are recovered from composited copper. Any board with a ground plane paints its copper in
    clear polarity, which merges each via pad into the pour around it. Via pairing looked for a discrete
    pad, found none, and imported zero vias from 1,555 holes — so the board went on to simulate with
    no vias in it. 1,475 vias are now recovered on that board; the remaining 80 are mounting and tooling
    holes with no copper pad. The pad size is the file's own aperture — nothing is invented, and the
    copper area is conserved.
  • Inner copper layers are identified as copper. A set naming its layers Top Layer, Layer 2
    Layer 5, Bottom Layer had the four inner ones identified as nothing at all. Only conductors enter
    the stackup, so two thirds of that board never reached the EM path.
  • Drill files with seven-digit millimetre coordinates read correctly instead of falling back to a
    3:3 format that put every hole ten times too far out. A rout file of routed slots and no plain hits is
    now checked against the artwork extent — it used to count zero hits, agree with itself, and skip the
    retry. A drill drawing is no longer mistaken for drill hits.
  • The drill-format prompt has Apply to all and says how many files are left; a CLI --drill-*
    flag now answers it for the whole run.
  • The layer-mapping dialog names the format you are importing — it said GDSII for Gerber, DXF and
    board imports alike — and its Map to column is reachable, having opened off the right-hand edge with
    horizontal scrolling disabled.
  • Importing a large Gerber set shows a cancellable progress bar in the Messages panel.
  • Loading a complex Gerber is now in the background and is 4× faster.
  • Opening a workspace no longer sits on a blank window. Its layouts are read ahead on a background
    thread; the longest freeze over a workspace open drops from 1,256 ms to 469 ms. A progress row
    appears only if the work actually proves slow, so an ordinary open still looks exactly as it did.

Layout Editor

  • A rounded rectangle has a corner-radius grip on all four corners, not just the top-left — and the
    right-hand pair now follow the cursor instead of fleeing it at twice the speed.
  • Drawing tools snap to geometry, with the snap glyphs, from the moment the tool is armed. Only
    Select, Ruler, Port and Instance ever asked for geometry snapping; a drawn point landed on the grid
    even when its ghost sat on the geometry.
  • A hole's centre is snappable.
  • Opening the technology pane no longer changes the layout's zoom, and closing it no longer changes
    it back.
  • Pasting a layout into a slide sizes the page from what is visible. A hidden layer far from your
    selection used to make the visible shape arrive too small to read.
  • Change Technology lists every technology in the workspace, not just those directly in tech/
    which is what Browse could already reach.

Technology files

  • A technology imported from a Gerber set no longer opens onto a wall of warnings, repeated on every
    load: 22 problems became 2 on the reported file, and 1 on a fresh import. Nineteen named a layer alias
    that could never have worked, and a via in a stackup with no conductors reported three unanswerable
    problems instead of the one that matters. The banner now shows the visible tab's problems, its text is
    selectable, and the Messages panel gets one line per technology rather than the whole list every time.

Verilog-A and compiled models

  • Compiled Verilog-A models now run on Windows. The helper that hosts them was never built there at
    all, so every Windows installer shipped without it — and the refusal you got said you needed a C
    compiler, which was not true on the platform you were reading it on. Both Windows architectures ship,
    and the model's own build decides which is used.
  • A freshly placed model no longer warns that OpVars is undeclared. It is circuitRF's own
    operating-point read-back switch, and was never sent to the model in the first place.

Updates and installers

  • An update now takes effect on the launch that installs it, on Windows and Linux, instead of the
    one after it. Reverting a bad update had the same defect and the same fix. macOS was never affected.
  • Linux packages carry a helper built for the architecture they target. Both the x64 and the ARM
    packages could ship the build machine's own binary — plainly present, and refusing to run.
  • The About dialog names the build you are running, and its text is selectable.