The directory grew well beyond Wokwi-only contents: it now hosts
lcgamboa's QEMU fork (qemu-lcgamboa), Espressif's esp32-camera, the
ngspice WASM build, fritzing-parts, picowi, an alternative QEMU
(qemu-esp32), the 100_Days_100_IoT_Projects examples repo, and
Wokwi's own avr8js/rp2040js/wokwi-elements/wokwi-features/wokwi-boards.
"wokwi-libs" was misleading — half the contents have nothing to do
with Wokwi. "third-party/" is the standard convention for vendored
external dependencies.
Mechanical changes:
Path rename:
wokwi-libs/ → third-party/
update-wokwi-libs.bat → update-third-party.bat
docs/WOKWI_LIBS.md → docs/THIRD_PARTY.md
Submodule reconfiguration:
.gitmodules — 4 path= and section names updated
.git/modules/wokwi-libs/ → .git/modules/third-party/
each submodule's .git file rewired to ../../.git/modules/third-party/<name>
Reference updates (~80 files): vite.config.ts aliases, Dockerfile
COPY paths, GH Actions workflow steps, build_qemu_*.sh, all
docs/* and test/*/autosearch/* entries that mention the path,
package-lock.json file: dependencies, .gitignore patterns,
sitemap.xml + index.html SEO blurbs, scripts/generate-component-*,
.dockerignore, .idea/vcs.xml. Bulk replaced both `wokwi-libs/`
(path) and bare `wokwi-libs` (textual mentions in docs/comments).
Verified:
- npx tsc -b --noEmit produces no new errors related to these paths
- vite.config.ts aliases now point at ../third-party/avr8js etc.
- All 4 git submodules (avr8js, rp2040js, wokwi-elements,
wokwi-features) are linked under third-party/ with their
worktrees re-populated and config files referencing the new path
- `grep -r wokwi-libs` returns zero hits outside node_modules,
.vite, frontend/dist, third-party/ (upstream submodule contents),
*.pyc caches, and *.dll.pre-camera rollback binaries
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| autosearch | ||
| fixtures | ||
| plan | ||
| src | ||
| test | ||
| README.md | ||
| package-lock.json | ||
| package.json | ||
README.md
test_circuit — sandbox de emulación de circuitos
Sandbox para validar la emulación de circuitos analógicos + digitales + Arduino en JS puro antes de tocar Velxio.
Estructura
test_circuit/
├── plan/ # Documentos de planificación (fases 0–7)
├── src/
│ ├── solver/ # MNA hand-rolled (legacy, baseline)
│ ├── components/ # Modelos JS (legacy, baseline)
│ ├── avr/ # AVRHarness (avr8js estilo Velxio)
│ └── spice/ # SpiceEngine (ngspice-WASM) + AVRSpiceBridge
├── test/ # Vitest tests
│ ├── passive.test.js # baseline JS
│ ├── transient_rc.test.js # baseline JS
│ ├── diodes.test.js # baseline JS
│ ├── avr_blink.test.js # avr8js con blink.hex
│ ├── e2e_pot_pwm_led.test.js # baseline JS + avr8js
│ ├── e2e_thermistor.test.js # baseline JS + avr8js
│ ├── ngspice_smoke.test.js # ngspice boot
│ ├── spice_passive.test.js # ngspice DC
│ ├── spice_transient.test.js # ngspice .tran
│ ├── spice_ac.test.js # ngspice .ac Bode
│ ├── spice_active.test.js # diodo, BJT, MOSFET, op-amp
│ ├── spice_digital.test.js # lógica behavioral
│ ├── spice_555_astable.test.js # oscilador relajación
│ └── spice_avr_mixed.test.js # co-simulación avr8js ↔ ngspice
├── fixtures/ # .hex pre-compilados / ensamblados a mano
├── autosearch/ # Hallazgos, métricas, propuestas
└── package.json
Correr las pruebas
cd test/test_circuit
npm install
npm test
Por fase:
npm run test:phase3 # pasivos
npm run test:phase4 # activos (diodos)
npm run test:avr # integración avr8js
npm run test:e2e # end-to-end Arduino + circuito