- 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
- Added tracking for simulation events: start, stop, and reset.
- Implemented tracking for library manager interactions, including library installations.
- Enhanced project management tracking with save and create project events.
- Integrated tracking for user authentication events: sign-up and login.
- Added tracking for CTA clicks on landing and SEO pages.
- Updated analytics utility functions to support new tracking events.
- Improved GitHub and Discord link tracking in the app header.
- Refactored existing components to utilize new tracking functions for better user engagement insights.
- Created Esp32S3SimulatorPage.tsx with SEO content and FAQ section.
- Created Esp32SimulatorPage.tsx with SEO content and FAQ section.
- Created RaspberryPiPicoSimulatorPage.tsx with SEO content and FAQ section.
- Created RaspberryPiSimulatorPage.tsx with SEO content and FAQ section.
- Each page includes structured data for better search engine visibility.
fix: improve session ID handling in Esp32Bridge and update WebSocket close logging
chore: mark subprojects as dirty in QEMU, RP2040, and Wokwi elements libraries
- Implemented ArduinoMegaSimulatorPage with detailed specifications, FAQs, and JSON-LD for SEO.
- Created ArduinoSimulatorPage featuring interactive components and a comprehensive FAQ section.
- Developed AtmegaSimulatorPage to simulate ATmega328P with full AVR8 emulation and included relevant FAQs.
- Introduced shared SEOPage.css for consistent styling across all simulator pages.
- Added useSEO utility for managing SEO metadata dynamically across pages.
- Created arduino-nano.svg with detailed PCB, MCU, pins, and components.
- Created arduino-uno.svg with comprehensive design including USB connector, power jack, and pin headers.
- Added board-agnostic sensor registration methods in RP2040Simulator.
- Enhanced ComplexParts to handle LEDC PWM duty updates for ESP32.
- Updated ProtocolParts to check if the simulator handles sensor protocols natively, delegating to backend if applicable.
- Introduced pre-registration of sensors in useSimulatorStore for ESP32 to prevent race conditions.
- Added tests for ESP32 DHT22 sensor registration flow, ensuring proper delegation and fallback mechanisms.
- Created tests for ESP32 Servo and Potentiometer interactions, verifying PWM subscriptions and ADC handling.
- Implemented SensorControlPanel component to allow real-time adjustments of sensor values during simulation.
- Introduced SensorUpdateRegistry for communication between UI and simulation.
- Added configuration for various sensors including sliders and buttons for user interaction.
- Enhanced existing sensor parts to support updates from SensorControlPanel.
- Created CSS styles for the SensorControlPanel layout and controls.
- Introduced a new script `generate_examples.py` to catalog board and sensor combinations, generating TypeScript example stubs for the frontend.
- Updated subproject commit references for `qemu-lcgamboa`, `rp2040js`, and `wokwi-elements` to indicate they are in a dirty state.
- Updated components-metadata.json with new generated timestamp.
- Refactored Esp32C3Simulator.ts to remove unnecessary debug variables and logging, and added support for additional ROM functions.
- Modified useSimulatorStore.ts to clarify bridge usage for ESP32 boards.
- Updated submodules for QEMU and other libraries to indicate dirty state.
- Added test_esp32c3_emulation.py for end-to-end testing of ESP32-C3 emulation, including compilation, flash image merging, and GPIO event checking.