# Add custom ability shapes feature \(circle, rectangle\) · dara/icarus

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

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

Visibility: public

Requested revision: b646639a751a30f378e66eeb8bdda5fba90f4c5f

Requested commit: b646639a751a30f378e66eeb8bdda5fba90f4c5f

Commit: b646639a751a30f378e66eeb8bdda5fba90f4c5f

Tree: 49e824e16ca74d2b911ac1abc722f65770181744

Author: Cursor Agent

Committer: Cursor Agent

## Message

```
Add custom ability shapes feature (circle, rectangle)

- Add customCircle and customRectangle to UtilityType enum
- Create CustomShapeUtility class with configurable width/height in meters
- Create CustomAbilityToolData for drag-and-drop placement data
- Add CustomShapeWidget for rendering shapes on the map
- Add customAbility InteractionState for sidebar context bar
- Create CustomAbilityTools sidebar widget with shape picker, color
  selector, and size sliders (Valorant meters)
- Store custom shape dimensions and color in PlacedUtility fields
  (customWidthMeters, customHeightMeters, customColorValue)
- Add _CustomShapeUtilityList to PlacedWidgetBuilder for rendering
- Shapes are unmodifiable after placement
- Support both drag-to-place and click-to-place workflows

Co-authored-by: Dara Adedeji <SunkenInTime@users.noreply.github.com>

```

## Parents

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

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