Drawly is a work-in-progress infinite whiteboard tool, which aims to be a replacement for the web-based Excalidraw.
I currently only work on this tool during the weekends. Development is slow, but consistent. I'm planning to release an alpha version during June 2025.
This project uses the GNU Lesser General Public Licence.
Started: 2025-01-02 04:40PM
Development is divided into phases.
The project will eventually be open sourced. However, I will work on the first few phases myself, to maximize learning.
The following is a list of features I'll be planning to add to it:
- A simple fixed size canvas to draw on using a black coloured stroke.
- Different shapes like rectangle, ellipse, arrow, line and stroke.
- An eraser to erase the strokes (deleting the strokes).
- Testing.
- Refactor to try to adhere to SOLID principles and utilize useful design patterns
- A custom Qt layout for toolbar and properties bar
- Make canvas infinite and add ability to move the viewport
- Use an LRU cache based uniform grid to optimize moving the canvas around (now 100% faster!!)
- A properties bar to change the following properties:
- Colour of strokes
- Stroke width
Phase 2 completed!!
- Buttons to zoom in/out
- Pressure senstivity for drawing tablets
- Selection tool to select items and do these actions:
- Translate items (move)
- Delete items (Low priority)
- Transform items (resize) (Low priority)
- Rotate items (Low priority)
- Undo/redo support
- Saving the drawings
- Exporting drawings to PNGs
- Shortcut keys (including pen buttons)
- Image support
- Text support
- Text formatting like bold, underline, italics, etc.
- Better freeform smoothing algorithms
- Allow snapping
- A "settings" page
- Better widgets
- UI overhaul
- Filling shapes with a background colour
- Collaboration
You are strictly prohibited from modifying, copying, or distributing this project in any form or to any party until further notice.