- Understanding of JavaScript, HTML5 canvas for interactive graphics.
- Implementation of color conversion function, translating hex color codes to RGB.
- Event-driven development, handling events like mouse movements, clicks, and window resizing.
- User interface manipulation with dynamic elements like color selection, brush thickness, and opacity.
- Responsive design ensuring the drawing area adapts to window resizing.
- File generation in the browser, allowing users to download their artwork.
- Effective use of regular expressions for input validation and transformation.
TODO:
- Mobile-Friendliness 🫶
- Undo/Redo buttons
- Eraser tool
- Portrait/Landscape orientation button
- A gradient builder/brush for 3D painting
- Confirmation dialog for Masterpiece deletion
- Abilty for users to name their downloaded Masterpiece
- Continuous drawing, even if cursor leaves canvas area
- Address the fact that circles appear when brushOpacity is low + user's drawing speed is fast
- General styling