psychedelicious cdd8b60fd0 feat(ui): move ephemeral state into canvas classes
Things like `$lastCursorPos` are now created within the canvas drawing classes. Consumers in react access them via `useCanvasManager`.

For example:
```tsx
const canvasManager = useCanvasManager();
const lastCursorPos = useStore(canvasManager.stateApi.$lastCursorPos);
```
2024-08-26 19:14:56 +10:00
..
2024-08-23 19:46:03 +10:00
2024-08-24 12:20:35 +10:00
2024-08-23 19:47:51 +10:00
2024-01-12 08:02:59 +11:00
2023-07-28 09:46:44 -04:00
2024-05-15 14:09:44 +10:00
2024-04-15 07:54:36 +10:00
2024-08-23 19:47:01 +10:00
2024-03-13 22:43:20 +11:00
2024-03-01 10:42:33 +11:00