Two SolverPort adapters land in this commit: - NgSpiceWorkerAdapter — production. Wraps the vendored NgSpiceInteractive client. Translates SolverPort calls into worker messages. Parallel readVec for every vectorOfInterest after each solve. .tran also reads the `time` vector for the axis. - FakeSolverAdapter — in-memory test double. Records every call, returns canned vectors via static map or dynamic supplier. Optional solveDelayMs for race-condition tests. Port surface refined: solve(analysis, options) now takes SolveOptions.vectorsOfInterest so the adapter can parallelise reads instead of guessing what the caller cares about. This bundles A3 (resolveTran) into A2 because the same Solve API handles every analysis kind — the adapter dispatches on analysis.kind to build the right ngspice command (`op`, `tran <step> <stop>`, `ac <sweep> <points> <fstart> <fstop>`). 11 SolverPort contract tests pass. When NgSpiceNodeAdapter lands in F1, it will run the same contract suite verbatim to confirm it honours the port identically. Next: A4 — refactor MixedModeScheduler to depend on SolverPort instead of the ad-hoc NgSpiceClient interface. 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 | ||