# Add rectangle drawing tool · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/df723d9f393d20b2ac067c37f44ad905bb1c868d)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: df723d9f393d20b2ac067c37f44ad905bb1c868d

Requested commit: df723d9f393d20b2ac067c37f44ad905bb1c868d

Commit: df723d9f393d20b2ac067c37f44ad905bb1c868d

Tree: e98a06e0ae44492b44b5493357a69dea2e9fba48

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Add rectangle drawing tool

Introduce RectangleDrawing and wire rectangle drawing through the app: add RectangleDrawing model with normalized rect helpers; implement start/update/finish flows in DrawingProvider; add erasing support for rectangle strokes via _isPointNearRectangleStroke; render rectangles (solid and dashed) in DrawingPainter for both existing elements and the current element. Update InteractivePainter to use a single pen state watch and branch on PenMode to start/update/finish rectangles vs free draw. Update Hive adapter metadata to remove the obsolete isRectangle field and adjust serialization indices. Minor cleanups: remove an unused import/field in drawing_painter and mark DeleteArea as const where applicable.

```

## Parents

- [98cc7cc62e84a480a3029ca62a707853ec84c116](https://git.cafe/dara/icarus/commit/98cc7cc62e84a480a3029ca62a707853ec84c116?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/df723d9f393d20b2ac067c37f44ad905bb1c868d?format=markdown)
