velxio/frontend/src
David Montero Crespo 2c08e84fc6 fix(useWebcamFrames): JPEG quality 0.35 → 0.28 — intermittent decode fails
User reported "JPG Decompression Failed! Data format error" hitting
intermittently with quality 0.35. Worker log showed actual JPEG
payloads at 7959-8123 bytes per frame — right at the QEMU emulator's
8192-byte deliverable budget (8 EOFs × 1024 bytes from cam_hal's
default 16-descriptor ring).

The webcam JPEG encoder produces variable-size output: simple uniform
scenes compress to ~6 KiB, complex/textured/moving frames bloat to
~9-10 KiB. Anything over 8192 gets truncated mid-Huffman-scan in the
firmware framebuffer, my walker injects FF D9 at byte 8190 to keep
cam_verify_jpeg_eoi happy, but the upstream jpg2rgb565 actually
parses the structure and chokes on the truncated stream.

Quality 0.28 keeps even the worst-case complex frame comfortably
under 8 KiB. Visual quality is still much better than the 0.25
fallback — fine for a 160×120 preview where the user cares about
"is my face there" not "did the JPEG quantization tables converge".

Real long-term fix would be to bump EOFS_PER_FRAME and lift the 8 KiB
ceiling — but that touches the QEMU walker (DLL rebuild cycle) and
risks breaking the descriptor-ring math. Doing this frontend tweak
first to unblock the demo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 00:32:46 -03:00
..
__tests__ fix(tests): restore Frontend Tests CI — patch stale RP2040 mocks + install-libraries 2026-05-02 22:46:32 -03:00
assets
components Merge pull request #137 from davidmonterocrespo24/esp32-cam 2026-05-02 22:40:06 -03:00
data perf(spi): batch SPI bytes per WS message — ~50× faster TFT in emulator 2026-05-03 00:25:06 -03:00
hooks fix(useWebcamFrames): JPEG quality 0.35 → 0.28 — intermittent decode fails 2026-05-03 00:32:46 -03:00
pages feat: persist multi-board projects + add auto-save 2026-05-01 13:43:33 -03:00
services feat: Add library version management and uninstall functionality 2026-05-02 12:54:09 +05:30
simulation perf(spi): batch SPI bytes per WS message — ~50× faster TFT in emulator 2026-05-03 00:25:06 -03:00
store Merge pull request #137 from davidmonterocrespo24/esp32-cam 2026-05-02 22:40:06 -03:00
types feat(multi-board): add wire-aware cross-board interconnect router 2026-04-25 19:47:40 -03:00
utils feat: persist multi-board projects + add auto-save 2026-05-01 13:43:33 -03:00
velxio-elements Add ESP32 chip demos and comprehensive tests for I2C, SPI, and UART interactions 2026-04-28 19:24:39 -03:00
App.css feat: persist multi-board projects + add auto-save 2026-05-01 13:43:33 -03:00
App.tsx SEO improvements 2026-04-30 00:27:39 -03:00
entry-server.tsx feat: add /v2-5 release landing page for Velxio 2.5 (SPICE) 2026-04-24 16:42:47 +02:00
index.css refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
main.tsx refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
seoRoutes.ts SEO improvements 2026-04-30 00:27:39 -03:00
vite-env.d.ts refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00