#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> |
||
|---|---|---|
| .. | ||
| __pro_stub__ | ||
| __tests__ | ||
| assets | ||
| components | ||
| data | ||
| hooks | ||
| i18n | ||
| lib | ||
| pages | ||
| services | ||
| simulation | ||
| store | ||
| tokens | ||
| types | ||
| utils | ||
| velxio-elements | ||
| App.css | ||
| App.tsx | ||
| entry-server.tsx | ||
| index.css | ||
| main.tsx | ||
| seoRoutes.ts | ||
| vite-env.d.ts | ||