A major update bringing full mobile and tablet support, comprehensive test coverage, and improved code quality with JSDoc annotations throughout.
Added
- Mobile and tablet responsive design for all screen sizes
- Touch support for grid resize handles with larger touch targets (20px)
- Visual feedback when resizing grid on touch devices
- Full-screen overlay panels on mobile with close buttons
- Optimized canvas sizing for mobile portrait and landscape modes
- Larger touch targets throughout mobile UI (44px minimum)
- Comprehensive JSDoc type annotations across entire codebase for better IDE support and AI assistance
- History size limit (50 states max) to prevent unbounded memory growth
- Browser feature detection with user-friendly error messages (Canvas API, localStorage, FileReader)
- Content Security Policy on all HTML pages to improve security posture
- Self-hosted fonts for offline capability and privacy (Google Fonts downloaded locally)
- Comprehensive unit test suite (140 tests across storage, grid, export, validation, feature detection, history)
- Code coverage reporting configuration
- Dependabot configuration for automated dependency updates
- Inline documentation for complex algorithms and edge cases
- Application state structure documentation in CONTRIBUTING.md
Changed
- Canvas headings hidden in landscape mode to save vertical space
- Navbar layout optimized for mobile with reduced spacing
- Side panels now overlay content on mobile instead of pushing it
- Improved canvas space utilization on all mobile devices
- Refactored main.js into focused UI modules (palette.js, panels.js, keyboard.js, interactions.js)
- Extracted magic numbers to CONFIG constants with documentation
- All configuration constants now documented in config.js
- Browser no longer loads external Google Fonts (CSP updated accordingly)
Fixed
- Canvas size now remains stable when browser address bar appears/disappears on mobile
- Grid resize handles now work properly with touch input