- Fix text tool: call updatePreview before confirmDraw so element is created
- Fix all DELETE requests: send Authorization only, no Content-Type body-less requests caused 400
- Add exhaustive Playwright test covering all 30 CAD tools on the actual canvas
- Verified: backend unit tests 254/254, frontend unit tests 380/380, browser tool tests 30/30
- Fix WebSocket URL to use ws:// for http development environments
- Make createLayer idempotent to prevent race-condition 500 under React StrictMode
- Add URL-based routing for /register so register page actually shows register form
- Add missing tool buttons to LeftSidebar: polygon, chair, extend, fillet
- Add Playwright browser test suite for exhaustive UI testing
- Update .gitignore for Playwright artifacts
Unit tests: backend 254/254, frontend 380/380