Skip to content

circsim v0.2.7 — polarized parts, schematic-authoritative

Choose a tag to compare

@github-actions github-actions released this 16 Jul 15:26
· 231 commits to master since this release

Highlights

A correctness release for polarized parts, driven by a real pre-fab board review (an LED lantern, rev B).

  • JLC/EasyEDA diode polarity fixed. circsim's footprint-name heuristics assumed every diode footprint follows the KiCad convention (pad 1 = cathode). JLC/EasyEDA libraries use the opposite (pad 1 = anode), so boards routed with JLC parts simulated every diode backwards. All 7 diode-family model cards (1N4148, 1N4001, 1N5819/SS14, SS54, both zeners, SMAJ24A TVS) now recognize the EasyEDA dimension-pattern footprint names and apply the anode-first pin map.
  • The schematic now outranks footprint guesswork. When a schematic is attached, diode/LED pin maps are derived from the symbol's own A/K pin names — the design file's ground truth — instead of trusting name-pattern beliefs about library conventions. Precedence is now: your Model Doctor override → schematic pin names → footprint-name heuristics → safe default. When the schematic contradicts a confident footprint match, circsim auto-corrects the simulation and posts an informational note in the warnings bar (ⓘ pin map corrected from schematic) — no false "board risk" alarms for what can only be a circsim-side belief error.
  • Convention guard tests. A new test corpus of real JLC and KiCad footprint names locks every polarized model card's pin-map behavior against the actual matcher, so a silently wrong convention belief (or an accidental reordering of match keys) fails CI instead of shipping.

As always, circsim never writes to your design files — corrections affect only the in-memory simulation model.

Quality

  • 1574 automated tests (82 files) plus the 6-scenario Electron E2E suite, all green.

Installers are unsigned (see the project notes on first-run prompts).