velxio/frontend/src/pages
davidmonterocrespo24 ed9911dcc3 feat: electrical simulation via ngspice-WASM (eecircuit-engine)
Adds full SPICE-accurate electrical simulation to Velxio, behind a lazy-
loaded  toolbar toggle. Arduino / ESP32 / RP2040 sketches now co-simulate
with real analog behaviour: correct voltages on wires, real I–V curves on
LEDs, working potentiometers, NTC thermistors read by analogRead(), PWM
driving RC filters, transistors, op-amps, diodes, MOSFETs, etc.

Engine: eecircuit-engine (ngspice compiled to WebAssembly). Main bundle
stays at 2.4 MB; the 20 MB SPICE chunk only loads when the user activates
electrical mode. Disabled at build time via VITE_ELECTRICAL_SIM=false.

Frontend additions:
- simulation/spice/: SpiceEngine wrapper + lazy entry, NetlistBuilder with
  UnionFind over wires, componentToSpice mapping (24 metadataIds incl.
  real part numbers: 2N2222, 2N3055, BC547, IRF540, 2N7000, 1N4148,
  1N4007, 1N4733, LEDs, NTC, op-amp ideal), CircuitScheduler with
  debounced coalescing, AVRSpiceBridge for quasi-static co-simulation.
- store/useElectricalStore: Zustand slice, feature-flag aware.
- components/analog-ui/:  toolbar toggle + SVG voltage overlay.
- components/components-instruments/: Voltmeter, Ammeter probes.
- 62 tests (spice-*, netlist-builder, component-to-spice, instruments).

Sandbox (test/test_circuit/): 47-test validation sandbox that proved
the approach (hand-rolled MNA baseline + ngspice pipeline) before
porting to the app. Kept as reference.

Docs: docs/wiki/circuit-emulation-*.md (13 engineering pages covering
architecture, solvers, components, AVR bridge, gotchas, performance,
integration plan, API reference, appendix) + electrical-simulation-
user-guide.md (end-user facing).

Reference plan: test/test_circuit/plan/phase_8_velxio_implementation.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 12:11:54 +00:00
..
AboutPage.css feat: add About page with content and styling; update routing and SEO metadata 2026-03-28 16:26:29 -03:00
AboutPage.tsx feat: update AboutPage with new external links and improve press section 2026-03-28 23:11:57 -03:00
AdminPage.tsx feat: update SEO handling across various pages, enhance mobile tab navigation, and improve .gitignore for sensitive files 2026-03-23 17:15:29 -03:00
ArduinoEmulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
ArduinoMegaSimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
ArduinoSimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
AtmegaSimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
DocsPage.css feat: add board gallery and supported boards sections to documentation 2026-03-16 14:39:18 -03:00
DocsPage.tsx Refactor code structure for improved readability and maintainability 2026-03-16 18:31:46 -03:00
EditorPage.tsx feat: electrical simulation via ngspice-WASM (eecircuit-engine) 2026-04-15 12:11:54 +00:00
Esp32C3SimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
Esp32S3SimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
Esp32SimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
ExampleDetailPage.tsx feat: add BMP280 sensor component and circuit preview 2026-04-14 17:27:30 -03:00
ExampleLoaderPage.tsx feat: add share functionality for projects and examples 2026-03-30 19:00:33 -03:00
ExamplesPage.tsx feat: add share functionality for projects and examples 2026-03-30 19:00:33 -03:00
LandingPage.css feat: add Arduino Mega 2560, Arduino, and ATmega328P simulator pages with SEO optimization 2026-03-23 13:32:15 -03:00
LandingPage.tsx perf: optimize hero image for faster load times 2026-03-28 20:33:40 +01:00
LoginPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
ProjectByIdPage.tsx feat: add example detail pages and SEO improvements 2026-04-13 15:22:08 -03:00
ProjectPage.tsx
RaspberryPiPicoSimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
RaspberryPiSimulatorPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
RegisterPage.tsx Enhance analytics tracking across the application 2026-03-25 03:06:38 -03:00
SEOPage.css feat: add Arduino Mega 2560, Arduino, and ATmega328P simulator pages with SEO optimization 2026-03-23 13:32:15 -03:00
UserProfilePage.css feat: add share functionality for projects and examples 2026-03-30 19:00:33 -03:00
UserProfilePage.tsx feat: add share functionality for projects and examples 2026-03-30 19:00:33 -03:00
Velxio2Page.css feat: add multi-board support section to Velxio 2.0 landing page and update sitemap generation script 2026-03-23 19:01:11 -03:00
Velxio2Page.tsx feat: add About link to navigation in index.html and Velxio2Page 2026-03-28 22:43:53 -03:00