#2: NgSpiceWorkerAdapter.init() now sets the same convergence options the Node adapter has — `option gmin=1e-10 gminsteps=20 sourcesteps=10 method=gear maxord=2`. Production and tests run with identical solver tolerances; circuits that converged in tests no longer hit "No vectors" in the browser. Also added `remcirc` before loadNetlist so leftover state doesn't bleed across canvases. #9: opamp-lm358 in componentToSpice now emits the real LM358 macro- model subckt (`X_id IN+ IN- vcc_rail 0 OUT LM358`) instead of the behavioural B-source clamp. The subckt was vendored as an asset in Phase 2.2 and has been waiting for #2 to land — now active. Smoke-test side effect: 67/68 → 68/68 examples converge. The opamp follower (`an-opamp-follower`) was the last one that didn't. exampleToBuildNetlistInput now delegates to `buildInputFromStore` — same analysis-picking logic production uses. A signal-generator circuit gets `.tran`, an MCU-driven RC step gets `.tran` with the right τ window, plain DC gets `.op`. No more inline analysis guess. examples-analog.test.ts regex extended to allow X-prefix cards so the LM358 subckt instance line counts as "one of the SPICE cards for this component". 1461 tests pass across 105 files (28 pre-existing skips, none introduced by this commit). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| customChips | ||
| cyw43 | ||
| displays | ||
| parts | ||
| spice | ||
| verify | ||
| AVRSimulator.ts | ||
| Esp32Bridge.ts | ||
| Esp32C3Simulator.ts | ||
| Esp32MicroPythonLoader.ts | ||
| HD44780Decoder.ts | ||
| I2CBusManager.ts | ||
| Interconnect.ts | ||
| LogicFamilies.ts | ||
| MicroPythonLoader.ts | ||
| PinManager.ts | ||
| PinResolver.ts | ||
| RP2040Simulator.ts | ||
| RaspberryPi3Bridge.ts | ||
| RiscVCore.ts | ||
| RiscVSimulator.ts | ||
| SensorUpdateRegistry.ts | ||
| SpiBus.ts | ||
| rp2040-bootrom.ts | ||
| sensorControlConfig.ts | ||