velxio/frontend/public/examples-thumbs
davidmonterocrespo24 37fbc502d1 chore(examples): drop PNG thumbnails, ship WebP only (-80% asset size)
The PNG fallbacks were carrying 80% of the gallery's bundled weight
(16 MB of 20 MB) and serving virtually no traffic — WebP is supported
on ~97% of in-use browsers, and the few hold-outs (very old Safari)
fall through to the CircuitPreview SVG mock via the existing onError
handler. No visual regression for modern browsers.

Numbers:
- before: 258 files, ~20 MB total
- after:  129 files, ~3.6 MB total (avg 28.6 KB / WebP)

ExampleThumbnail simplified: drops the <picture>/<source> wrap around
the WebP <source> + PNG fallback, just renders the WebP <img> directly
with onError → CircuitPreview.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 22:54:33 +02:00
..
and-gate-alarm.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
attiny85-blink.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
attiny85-button-led.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
attiny85-ntc-sensor.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
attiny85-pwm-fade.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
battery-voltage-monitor.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
binary-counter-leds.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
bjt-common-emitter.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
blink-led.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
button-led.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-blink.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-button.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-dht22.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-hcsr04.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-pir.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-rgb.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-serial-echo.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
c3-serial.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
c3-servo.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
capacitor-charge-curve.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
darlington-high-current.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
diode-rectifier.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
dual-pico-bidirectional-handshake.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
dual-pico-digital-mirror.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
dual-pico-serial1-passthrough.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-7segment.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-ble-advertise.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-blink-led.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
esp32-bmp280.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-dht22.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-dual-adc.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
esp32-hcsr04.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-http-server.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-joystick.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-mpu6050.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
esp32-oled.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-pir.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-pwm-led-rgb.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
esp32-serial-echo.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
esp32-servo.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-wifi-connect.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32-wifi-scan.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32c3-ble-advertise.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32c3-http-server.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32c3-wifi-connect.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32c3-wifi-scan.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32cam-lcd-preview.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
esp32cam-webcam-demo.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
fade-led.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
full-adder.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
i2c-eeprom-rw.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
i2c-rtc-read.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
i2c-scanner.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
l293d-motor-control.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
l293d-speed-pwm.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
lcd-hello.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
led-current-limiting.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
lm317-adjustable-psu.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
logic-probe.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
mega-blink.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
mega-led-chase.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
mega-multi-led.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
mega-serial-control.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
mega-serial.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
mosfet-pwm-led.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
multi-led-bar.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
multi-protocol.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
nand-sr-latch.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
nano-blink.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
nano-button-led.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
nano-fade.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
nano-sensor-station.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
nano-serial.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
npn-led-switch.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
ntc-temperature.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
opamp-comparator.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
opamp-difference.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
opamp-inverting.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
opamp-schmitt-trigger.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
opamp-voltage-follower.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
optocoupler-signal.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
parallel-resistors.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
photoresistor-light.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pi-to-arduino-led-control.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-7segment.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-adc-read.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-blink.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-button-led.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-dht22.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-hcsr04.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-i2c-eeprom-rw.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-i2c-rtc-read.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-i2c-scanner.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-joystick.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-multi-protocol.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
pico-ntc.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-pir.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-rgb.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-serial-echo.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-serial-led-control.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-servo.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pico-spi-loopback.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pnp-high-side-switch.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
pot-adc-reader.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
power-supply-7805.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
rc-low-pass-filter.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
relay-led-switch.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
rgb-led.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
schottky-reverse-protection.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
serial-echo.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
serial-hello.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
serial-led-control.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
simon-says.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
spi-loopback.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
tft-display.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
traffic-light.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-7segment.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-dht22.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-hcsr04.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-ntc.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-photoresistor.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-pir.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-potentiometer.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-rgb-cycle.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
uno-servo.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
voltage-divider.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
wheatstone-bridge.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00
xor-toggle-detector.webp feat(examples): backfill remaining 27 example thumbnails 2026-05-07 22:48:29 +02:00
zener-regulator.webp feat(examples): real canvas screenshots as gallery thumbnails 2026-05-07 22:44:10 +02:00