smemon819/circuit-copilot
Fix runSchematic stacking and input corruption bugs
Robust dropdown and schematic visibility fixes
Fix dropdown hover gap and schematic visibility issues
Sync root index.html with static/index.html
Fix breadboard state key mismatch and restore generation visibility
Fix schematic loop, add source selection to all modules, and extend breadboard logic
Hackathon Final Polish: category restructuring, context-aware actions, UX glow effects, and participant badge
fix(pdf): sanitize electrical symbols and add debug blocks to report generator
fix: harden PDF generation logic against data type crashes and layout overflows
fix: resolve silent JSON parsing crash on consecutive generations by refactoring AI Persona and Circuit Refinement hooks to inject text via LLM system message history instead of corrupting the frontend DOM input box
feat: implement load balancer to rotate requests across up to 5 GROQ API keys via environment variables (GROQ_API_KEY, GROQ_API_KEY_2...5) to exponentially increase the free-tier rate limit floor
fix: resolve critical hoisting bug in index.html where runSchematic was defined twice as a global function, causing an infinite Promise loop that silently froze generation requests on custom prompts
fix: remove asyncio.to_thread wrappers from matplotlib schematic generation. schemdraw implicitly imports stateful pyplot which deadlocks the entire asyncio worker pool indefinitely, causing generation requests to stall forever without throwing a 500 error.
fix: replace thread-unsafe matplotlib.pyplot with object-oriented FigureCanvasAgg to completely eliminate asyncio.to_thread GUI deadlocks causing generation to hang
fix: enforce Groq timeout and disable retries to expose API failures instead of hanging
fix: switch to llama-3.3-70b-versatile to avoid free tier rate limit hang and add try/except
fix: correctly init AsyncGroq client
fix: make Groq client fully async and wrap matplotlib in to_thread to prevent event loop blocking on single-worker HF Space
feat: add Colab one-click notebook
perf: limit uvicorn to 1 worker to prevent OOM on HF Space free tier
perf: lazy load heavy scientific libs to prevent OOM on HF Free Tier
fix: chmod 777 on /tmp/matplotlib so non-root user can write
fix: upgrade websockets to 13.1 for supabase compat, fix matplotlib config dir
fix: remove root-level HF files (in static/), track html/js with LFS
Merge branch 'main' of https://huggingface.co/spaces/smemon819/circuit-copilot
fix: sync README frontmatter with HF Space (colorTo indigo, updated description)
Update README.md
Create app.py
Create gallery.html
Create index.html
Create landing.html
Create manifest.json
Create sw.js
Create requirements.txt
initial commit
v4.2: compound-beta agentic model, WebSocket viewer counter, Falstad iframe embed, complexity score badge, 4 demo circuits, first-gen confetti, hackathon badge
v4.1: faster model specdec, fix learn/stream bug, fix KiCad import, QR share, TTS explain, safety banner, prompt history, localStorage restore, mobile tabs, rate limit countdown
feat: implement WebSerial Arduino flashing and hardware bridge
feat: implement Iron Man Voice-to-Circuit auto-submit feature
feat: Add Copy Share Link buttons to easily share circuits via deep linking
docs: add AI Breadboard Router feature to README and walkthrough
feat: implement AI Breadboard Router over realistic grid coordinates
docs: Comprehensive README update for v3.0 features and architecture
fix(db): isolate saved circuits to the current user's device id
feat(security): implement slowapi rate limiting for LLM endpoints
feat(db): migrate to Supabase and update instructions
feat(ui): implement 'More Tools' mega menu for tabs
fix(ui): resolve text encoding and duplicate chat history bugs
UI polish: apply glassmorphism, stagger animations, and scrollbar refinements to index.html
Implement Round 8: Pro-Grade Ecosystem (WebSerial, KiCad, WebSockets, AI Personas)
