Commit Graph

3 Commits (e0f97d460bbcbe23dd95d048cfdd89bfee33eaa7)

Author SHA1 Message Date
Sipho Mokoena e0f97d460b feat: update devcontainer setup and add new submodule for qemu 2026-03-27 04:18:50 +00:00
Sipho Mokoena c1b9244341 feat: add VS Code devcontainer configuration with optimized setup
- Add .devcontainer/devcontainer.json with Python 3.12 + Node 20 base image
  - Added remoteUser: vscode to avoid running as root
  - Configured named volumes for node_modules (frontend + 3 wokwi-libs) to improve I/O performance on non-Linux hosts
  - Added volume for arduino-cli cache at /home/vscode/.arduino15
  - Added remoteEnv PATH to include node_modules/.bin and venv/bin
  - Configured port forwarding for 5173 (Vite) and 8001 (FastAPI)

- Add .devcontainer/post-create.sh for initial container setup
  - Fix ownership of node_modules volumes with chown vscode:vscode
  - Install arduino-cli with sudo to /usr/local/bin
  - Install Arduino cores (arduino:avr, rp2040:rp2040) with duplicate guards
  - Set up Python venv with base deps (wheel, setuptools) before requirements.txt
  - Install npm deps with HUSKY=0 to disable git hooks in container environment
  - Build wokwi-libs (avr8js, rp2040js, wokwi-elements) in parallel
  - All installs run in parallel background jobs with wait for optimal performance

- Add .devcontainer/post-start.sh for incremental updates on container restart
  - Lightweight sync of Python and npm dependencies
  - Runs on every container start for drift detection

- Add wokwi-boards submodule for ESP32/Pico board SVG assets
  - Code imports board.svg files from wokwi-libs/wokwi-boards/boards/
  - Submodule was referenced but not initialized, causing Vite import errors

- Configure Vite to bind to 0.0.0.0:5173 for devcontainer port forwarding
  - Default 127.0.0.1 binding is not accessible from outside container
  - Explicit host/port config enables VS Code port forwarding to work
2026-03-27 01:59:48 +00:00
David Montero Crespo 426c7ab35f feat: establish initial simulator and editor environment with component rendering, wiring, library management, and backend services. 2026-03-04 22:05:23 -03:00