Repository navigation
circsim v0.2.7 — polarized parts, schematic-authoritative
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).