Tldraw/packages/editor/src/lib/app/statechart
alex 674a829d1f
[1/3] initial highlighter shape/tool (#1401)
This diff adds an initial version of the highlighter shape. At this
stage, it's a complete copy of the draw tool minus the following
features:
* Fills
* Stroke types
* Closed shapes

I've created a new shape util (a copy-paste of the draw one with stuff
renamed/deleted) but reused the state chart nodes for the draw shape.
Currently this new tool looks exactly like the draw tool, but that'll be
changing soon!

![Kapture 2023-05-17 at 15 37
33](https://github.com/tldraw/tldraw/assets/1489520/982e78f4-6495-4a68-aa51-c8f7b5bcdd01)

The UI here is extremely WIP. The highlighter tool is behind a feature
flag, but once enabled is accessible through the tool bar. There's a
first-draft highlighter icon (i didn't spend much time on this, it's not
super legible on non-retina displays yet imo), and the tool is bound to
the `i` key (any better suggestions? `h` is taken by the hand tool)

### The plan
1. initial highlighter shape/tool #1401 **>you are here<**
2. sandwich rendering for highlighter shapes #1418  
3. shape styling - new colours and sizes, lightweight perfect freehand
changes

### Change Type
- [x] `minor` — New Feature

### Test Plan
(not yet)

### Release Notes

[internal only change layout ground work for highlighter]
2023-06-01 12:46:13 +00:00
..
TLArrowTool [refactor] restore createTLSchema (#1444) 2023-05-24 10:48:31 +00:00
TLBoxTool [refactor] Remove `TLShapeDef`, `getShapeUtilByType`. (#1432) 2023-05-23 12:32:42 +00:00
TLDrawTool [1/3] initial highlighter shape/tool (#1401) 2023-06-01 12:46:13 +00:00
TLEraserTool [feature] add laser pointer (#1412) 2023-05-19 11:09:13 +00:00
TLFrameTool transfer-out: transfer out 2023-04-25 12:01:25 +01:00
TLGeoTool transfer-out: transfer out 2023-04-25 12:01:25 +01:00
TLHandTool transfer-out: transfer out 2023-04-25 12:01:25 +01:00
TLLaserTool [feature] add laser pointer (#1412) 2023-05-19 11:09:13 +00:00
TLLineTool [refactor] restore createTLSchema (#1444) 2023-05-24 10:48:31 +00:00
TLNoteTool [refactor] Remove `TLShapeDef`, `getShapeUtilByType`. (#1432) 2023-05-23 12:32:42 +00:00
TLSelectTool [tiny] add isPageId (#1482) 2023-05-27 17:53:18 +00:00
TLTextTool transfer-out: transfer out 2023-04-25 12:01:25 +01:00
TLZoomTool transfer-out: transfer out 2023-04-25 12:01:25 +01:00
RootState.ts [1/3] initial highlighter shape/tool (#1401) 2023-06-01 12:46:13 +00:00
StateNode.ts transfer-out: transfer out 2023-04-25 12:01:25 +01:00