diff --git a/backend/app/main.py b/backend/app/main.py
index c046bd1..6e87520 100644
--- a/backend/app/main.py
+++ b/backend/app/main.py
@@ -1,4 +1,4 @@
-from contextlib import asynccontextmanager
+.0from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
diff --git a/build_qemu_dll.sh b/build_qemu_dll.sh
deleted file mode 100644
index b87ab89..0000000
--- a/build_qemu_dll.sh
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env bash
-# Build libqemu-xtensa.dll from lcgamboa QEMU (MSYS2 MINGW64)
-set -euo pipefail
-
-export PATH=/mingw64/bin:/usr/bin:$PATH
-export MINGW_PREFIX=/mingw64
-
-REPO="/e/Hardware/wokwi_clon/wokwi-libs/qemu-lcgamboa"
-OUT="/e/Hardware/wokwi_clon/backend/app/services"
-
-cd "$REPO"
-echo "=== Working dir: $(pwd) ==="
-echo "=== Step 1: Patch meson.build for libiconv ==="
-if grep -q "qemu_ldflags = \[\]" meson.build; then
- sed -z -i "s/qemu_ldflags = \[\]/qemu_ldflags = \['-liconv','-Wl,--allow-multiple-definition'\]/g" -- meson.build
- echo " Patched OK"
-else
- echo " Already patched or pattern not found"
-fi
-
-echo ""
-echo "=== Step 2: Configure ==="
-./configure \
- --target-list=xtensa-softmmu \
- --disable-werror \
- --disable-alsa \
- --enable-tcg \
- --enable-system \
- --enable-gcrypt \
- --enable-slirp \
- --enable-iconv \
- --enable-debug \
- --enable-debug-info \
- --without-default-features \
- 2>&1 || { echo "CONFIGURE FAILED"; cat meson-logs/meson-log.txt 2>/dev/null | tail -50; exit 1; }
-
-echo ""
-echo "=== Step 3: Build ($(nproc) cores) ==="
-make -j$(nproc) 2>&1
-
-echo ""
-echo "=== Step 4: Relink as DLL ==="
-cd build
-
-echo " Removing old qemu-system-xtensa to force ninja to output link command..."
-rm -f qemu-system-xtensa.exe qemu-system-xtensa.rsp qemu-system-xtensa_.rsp
-
-echo " Capturing ninja link command..."
-ninja -v -d keeprsp 2>&1 > qemu-system-xtensa_.rsp
-
-echo " Extracting last line (link command)..."
-sed -i -n '$p' qemu-system-xtensa_.rsp
-
-CMD=$(sed 's/-o .*//' qemu-system-xtensa_.rsp | sed 's/\[.\/.\] //g' | sed 's/@qemu-system-xtensa.rsp//g')
-
-if [ ! -f qemu-system-xtensa.rsp ]; then
- cp qemu-system-xtensa_.rsp qemu-system-xtensa.rsp
-fi
-sed -i 's/.*-o /-o /' qemu-system-xtensa.rsp
-
-# Remove main(), change output to DLL
-sed -i 's|qemu-system-xtensa.p/softmmu_main.c.o||g' qemu-system-xtensa.rsp
-sed -i 's|-o qemu-system-xtensa|-shared -Wl,--export-all-symbols -o libqemu-xtensa.dll|g' qemu-system-xtensa.rsp
-
-echo " Linking DLL..."
-eval "$CMD -ggdb @qemu-system-xtensa.rsp" 2>&1
-
-if [ -f libqemu-xtensa.dll ]; then
- echo ""
- echo "=== SUCCESS: libqemu-xtensa.dll created ==="
- ls -lh libqemu-xtensa.dll
-
- echo ""
- echo "=== Checking exports ==="
- objdump -p libqemu-xtensa.dll 2>/dev/null | grep -E "qemu_picsimlab|qemu_init|qemu_main" | head -20 || echo "objdump not available"
-
- echo ""
- echo "=== Copying to backend ==="
- cp libqemu-xtensa.dll "$OUT/"
- echo " Copied to $OUT/libqemu-xtensa.dll"
-else
- echo "FAILED: libqemu-xtensa.dll not produced"
- exit 1
-fi
diff --git a/build_qemu_step3.sh b/build_qemu_step3.sh
deleted file mode 100644
index 2d78cc1..0000000
--- a/build_qemu_step3.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-export PATH=/mingw64/bin:/usr/bin:$PATH
-
-cd /e/Hardware/wokwi_clon/wokwi-libs/qemu-lcgamboa/build
-echo "=== Building qemu-system-xtensa.exe only ==="
-ninja -j$(nproc) qemu-system-xtensa.exe 2>&1
-echo "=== Build exit code: $? ==="
-ls -lh qemu-system-xtensa.exe 2>/dev/null || echo "Binary not found"
diff --git a/check_tools.sh b/check_tools.sh
deleted file mode 100644
index 63f0ad3..0000000
--- a/check_tools.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env bash
-export PATH=/mingw64/bin:/usr/bin:$PATH
-cd /e/Hardware/wokwi_clon/wokwi-libs/qemu-lcgamboa
-echo "=== gcc ==="
-gcc --version 2>&1 | head -1
-echo "=== ninja ==="
-ninja --version 2>&1 | head -1
-echo "=== glib-2.0 ==="
-pkg-config --modversion glib-2.0 2>&1
-echo "=== slirp ==="
-pkg-config --modversion slirp 2>&1 | head -1
-echo "=== python ==="
-python3 --version 2>&1 | head -1
-echo "=== meson ==="
-meson --version 2>&1 | head -1
diff --git a/fix_distlib.sh b/fix_distlib.sh
deleted file mode 100644
index 016bbf1..0000000
--- a/fix_distlib.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-export PATH=/mingw64/bin:/usr/bin:$PATH
-# Install distlib into the system python so QEMU configure can find it
-python3 -m pip install distlib 2>&1
-echo "=== distlib installed ==="
-python3 -c "import distlib; print('distlib version:', distlib.__version__)"
diff --git a/fix_distlib2.sh b/fix_distlib2.sh
deleted file mode 100644
index abccf86..0000000
--- a/fix_distlib2.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-export PATH=/mingw64/bin:/usr/bin:$PATH
-# Install pip and distlib
-pacman -S --noconfirm mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-distlib 2>&1 || true
-# Check what python packages are available
-pacman -Ss python-distlib 2>&1 | head -10
-pacman -Ss python-pip 2>&1 | head -5
diff --git a/frontend/public/components-metadata.json b/frontend/public/components-metadata.json
index 4bf20a7..5ee7032 100644
--- a/frontend/public/components-metadata.json
+++ b/frontend/public/components-metadata.json
@@ -1,6 +1,6 @@
{
"version": "1.0.0",
- "generatedAt": "2026-03-06T13:12:51.254Z",
+ "generatedAt": "2026-03-14T15:29:57.121Z",
"components": [
{
"id": "arduino-mega",
@@ -223,40 +223,6 @@
"ili9341"
]
},
- {
- "id": "ili9341-cap-touch",
- "tagName": "wokwi-ili9341",
- "name": "ILI9341 Cap Touch",
- "category": "displays",
- "description": "ILI9341 TFT display with FT6206 capacitive touch controller",
- "thumbnail": "",
- "properties": [
- {
- "name": "flipHorizontal",
- "type": "string",
- "defaultValue": false,
- "control": "text"
- },
- {
- "name": "flipVertical",
- "type": "string",
- "defaultValue": false,
- "control": "text"
- }
- ],
- "defaultValues": {
- "flipHorizontal": false,
- "flipVertical": false
- },
- "pinCount": 0,
- "tags": [
- "ili9341",
- "ili9341-cap-touch",
- "tft",
- "capacitive",
- "touch"
- ]
- },
{
"id": "lcd2004",
"tagName": "wokwi-lcd2004",
@@ -734,51 +700,6 @@
"segment"
]
},
- {
- "id": "74hc595",
- "tagName": "wokwi-74hc595",
- "name": "74HC595 Shift Register",
- "category": "other",
- "thumbnail": "",
- "properties": [
- {
- "name": "values",
- "type": "number",
- "defaultValue": [
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ],
- "control": "range"
- }
- ],
- "defaultValues": {
- "values": [
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ]
- },
- "pinCount": 16,
- "tags": [
- "74hc595",
- "shift register",
- "ic",
- "chip",
- "74",
- "595"
- ]
- },
{
"id": "analog-joystick",
"tagName": "wokwi-analog-joystick",
@@ -1781,198 +1702,6 @@
"motion",
"sensor"
]
- },
- {
- "id": "lcd1602",
- "tagName": "wokwi-lcd1602",
- "name": "LCD 1602",
- "category": "displays",
- "thumbnail": "",
- "properties": [
- {
- "name": "color",
- "type": "string",
- "defaultValue": "black",
- "control": "text"
- },
- {
- "name": "background",
- "type": "string",
- "defaultValue": "green",
- "control": "text"
- },
- {
- "name": "pins",
- "type": "string",
- "defaultValue": "full",
- "control": "text"
- }
- ],
- "defaultValues": {
- "color": "black",
- "background": "green",
- "pins": "full"
- },
- "pinCount": 16,
- "tags": [
- "lcd1602",
- "lcd 1602",
- "lcd",
- "16x2",
- "1602",
- "display",
- "hd44780"
- ]
- },
- {
- "id": "stepper-motor",
- "tagName": "wokwi-stepper-motor",
- "name": "Stepper Motor",
- "category": "output",
- "thumbnail": "",
- "properties": [
- {
- "name": "angle",
- "type": "number",
- "defaultValue": 0,
- "control": "text"
- },
- {
- "name": "size",
- "type": "string",
- "defaultValue": "23",
- "control": "text"
- },
- {
- "name": "value",
- "type": "string",
- "defaultValue": "",
- "control": "text"
- },
- {
- "name": "units",
- "type": "string",
- "defaultValue": "",
- "control": "text"
- }
- ],
- "defaultValues": {
- "angle": 0,
- "size": "23",
- "value": "",
- "units": ""
- },
- "pinCount": 4,
- "tags": [
- "stepper-motor",
- "stepper motor",
- "stepper",
- "motor",
- "nema"
- ]
- },
- {
- "id": "logic-gate-and",
- "tagName": "wokwi-logic-and",
- "name": "AND Gate",
- "description": "2-input AND logic gate",
- "category": "logic-gates",
- "pinCount": 3,
- "width": 72,
- "height": 48,
- "defaultProperties": {},
- "properties": [],
- "keywords": [
- "logic",
- "gate",
- "and"
- ]
- },
- {
- "id": "logic-gate-nand",
- "tagName": "wokwi-logic-nand",
- "name": "NAND Gate",
- "description": "2-input NAND logic gate",
- "category": "logic-gates",
- "pinCount": 3,
- "width": 72,
- "height": 48,
- "defaultProperties": {},
- "properties": [],
- "keywords": [
- "logic",
- "gate",
- "nand"
- ]
- },
- {
- "id": "logic-gate-or",
- "tagName": "wokwi-logic-or",
- "name": "OR Gate",
- "description": "2-input OR logic gate",
- "category": "logic-gates",
- "pinCount": 3,
- "width": 72,
- "height": 48,
- "defaultProperties": {},
- "properties": [],
- "keywords": [
- "logic",
- "gate",
- "or"
- ]
- },
- {
- "id": "logic-gate-nor",
- "tagName": "wokwi-logic-nor",
- "name": "NOR Gate",
- "description": "2-input NOR logic gate",
- "category": "logic-gates",
- "pinCount": 3,
- "width": 72,
- "height": 48,
- "defaultProperties": {},
- "properties": [],
- "keywords": [
- "logic",
- "gate",
- "nor"
- ]
- },
- {
- "id": "logic-gate-xor",
- "tagName": "wokwi-logic-xor",
- "name": "XOR Gate",
- "description": "2-input XOR logic gate",
- "category": "logic-gates",
- "pinCount": 3,
- "width": 72,
- "height": 48,
- "defaultProperties": {},
- "properties": [],
- "keywords": [
- "logic",
- "gate",
- "xor"
- ]
- },
- {
- "id": "logic-gate-not",
- "tagName": "wokwi-logic-not",
- "name": "NOT Gate",
- "description": "Single-input NOT gate",
- "category": "logic-gates",
- "pinCount": 2,
- "width": 56,
- "height": 36,
- "defaultProperties": {},
- "properties": [],
- "keywords": [
- "logic",
- "gate",
- "not",
- "inverter"
- ]
}
]
}
\ No newline at end of file
diff --git a/install_git.sh b/install_git.sh
deleted file mode 100644
index 2b2108d..0000000
--- a/install_git.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-export PATH=/mingw64/bin:/usr/bin:$PATH
-pacman -S --noconfirm git mingw-w64-x86_64-git 2>&1 || pacman -S --noconfirm git 2>&1
-git --version 2>&1
diff --git a/install_meson.sh b/install_meson.sh
deleted file mode 100644
index 7c0b72c..0000000
--- a/install_meson.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-export PATH=/mingw64/bin:/usr/bin:$PATH
-pacman -S --noconfirm mingw-w64-x86_64-meson 2>&1
-echo "=== meson version ==="
-meson --version 2>&1