velxio/frontend/src
davidmonterocrespo24 33570d7690 feat(sim): Phase 1d #1 — gallery smoke test imports real examples + shared helper
Replaces the manual "open each example in browser" step from the
post-migration plan with an automated test that:

  • Imports `analogExamples` and `digitalExamples` from the real
    `data/examples-*.ts` modules — new gallery entries pick up the
    test automatically.
  • Uses the same `stripBrandPrefix` + board-filter logic that
    production `loadExample.ts` uses, via the new shared helper
    `utils/exampleToBuildNetlistInput.ts`.  Single source of truth:
    if the wokwi/velxio prefix rule ever changes, both production
    and the smoke test track it.
  • Runs each example through `solveInput` (Phase 1c F2 helper)
    against the same ngspice WASM production uses.

`loadExample.ts` refactored to call `stripBrandPrefix` instead of
inlining the regex (two call sites converged on the helper).

Result against the gallery:
  • 67/68 examples converge cleanly.
  • 1 known regression: `an-opamp-follower` (LM358 follower) — the
    same case `examples-analog-live.test.ts` already skips.  Item
    #2 (.op convergence helpers in NgSpiceWorkerAdapter) targets it.

The smoke test now serves as the safety net for the remaining
post-migration work — it'll flag if a future fix breaks examples
that converge today.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 22:11:28 +02:00
..
__pro_stub__ feat: add optional extension hooks for private overlays 2026-05-04 14:03:20 -03:00
__tests__ feat(sim): Phase 1d #1 — gallery smoke test imports real examples + shared helper 2026-05-15 22:11:28 +02:00
assets
components feat(sim): Phase 3 — logic families (TTL/CMOS-5V/LVCMOS33/AVR_HC/Schmitt) 2026-05-15 16:42:11 +02:00
data fix(examples/pico-doom): wire ILI9341 power + MISO 2026-05-14 23:22:31 -03:00
hooks refactor(oss-split): remove auth/admin/profile frontend from OSS 2026-05-14 15:31:12 -03:00
i18n i18n: admin.users keys for "Reset agent usage" button 2026-05-14 23:29:21 +02:00
lib feat(oss): portable .vlx project export/import for self-hosters 2026-05-14 16:33:00 -03:00
pages feat(sim): Phase 1c G+F3 — retire legacy CircuitScheduler / eecircuit-engine 2026-05-15 21:46:34 +02:00
services refactor(oss-split): remove auth/admin/profile frontend from OSS 2026-05-14 15:31:12 -03:00
simulation feat(sim): Phase 1c G+F3 — retire legacy CircuitScheduler / eecircuit-engine 2026-05-15 21:46:34 +02:00
store feat(sim): Phase 1c G+F3 — retire legacy CircuitScheduler / eecircuit-engine 2026-05-15 21:46:34 +02:00
tokens feat(landing+theme): multiplier pricing copy + softer canvas 2026-05-13 21:02:48 +02:00
types feat(components): pro_only flag + registry merge API + picker gate hook 2026-05-05 10:33:53 -03:00
utils feat(sim): Phase 1d #1 — gallery smoke test imports real examples + shared helper 2026-05-15 22:11:28 +02:00
velxio-elements
App.css feat(editor): view-mode toggle, agent-chat slot, toolbar polish 2026-05-08 00:56:51 -03:00
App.tsx feat(examples): /example/<id> route with pinned URL 2026-05-15 00:14:36 -03:00
entry-server.tsx
index.css feat(auth): welcome email on register + password reset via Odoo mail relay 2026-05-12 17:34:30 -03:00
main.tsx refactor(oss-split): remove auth/admin/profile frontend from OSS 2026-05-14 15:31:12 -03:00
seoRoutes.ts fix(docs): RISC-V emulation goes through QEMU, not a TypeScript browser core 2026-05-07 21:56:29 +02:00
vite-env.d.ts