tldraw/packages
Mitja Bezenšek 7e61e448ab
Perf: Improve perf of getCurrentPageShapesSorted (#3453)
This significantly improves performance. Here's a comparison with 2k
shapes. Top is the new logic, bottom the old one.


![image](https://github.com/tldraw/tldraw/assets/2523721/e17b3733-dfd1-4aec-a427-31537bb9d159)

One place where this does make a significant difference is when you have
a lot of shapes on the page and you start [creating a new
arrow](https://github.com/orgs/tldraw/projects/40?pane=issue&itemId=59296136):

Before:

![image](https://github.com/tldraw/tldraw/assets/2523721/e4550197-c2be-480e-8f9a-090cebe1c8e4)

![image](https://github.com/tldraw/tldraw/assets/2523721/7559fe14-ad08-4ee0-9c9e-de0b60d401b2)


After:

![image](https://github.com/tldraw/tldraw/assets/2523721/4c6a1df6-732f-48b4-a7ea-6ce0894cf46e)

![image](https://github.com/tldraw/tldraw/assets/2523721/1cd5f2aa-919c-4271-af9a-227e8babf458)


### Change Type

<!--  Please select a 'Scope' label ️ -->

- [ ] `sdk` — Changes the tldraw SDK
- [ ] `dotcom` — Changes the tldraw.com web app
- [ ] `docs` — Changes to the documentation, examples, or templates.
- [ ] `vs code` — Changes to the vscode plugin
- [x] `internal` — Does not affect user-facing stuff

<!--  Please select a 'Type' label ️ -->

- [ ] `bugfix` — Bug fix
- [ ] `feature` — New feature
- [x] `improvement` — Improving existing features
- [ ] `chore` — Updating dependencies, other boring stuff
- [ ] `galaxy brain` — Architectural changes
- [ ] `tests` — Changes to any test code
- [ ] `tools` — Changes to infrastructure, CI, internal scripts,
debugging tools, etc.
- [ ] `dunno` — I don't know

---------

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2024-04-13 21:04:19 +00:00
..
assets ui: make toasts look more toasty (#2988) 2024-03-27 09:41:13 +00:00
editor Perf: Improve perf of getCurrentPageShapesSorted (#3453) 2024-04-13 21:04:19 +00:00
namespaced-tldraw use native structuredClone on node, cloudflare workers, and in tests (#3166) 2024-03-18 17:16:09 +00:00
state Add white migration (#3334) 2024-04-04 18:16:17 +00:00
store Improve hand dragging with long press (#3432) 2024-04-10 12:02:50 +00:00
tldraw Don't show edit link for locked shapes. (#3457) 2024-04-13 19:46:50 +00:00
tlschema Display none for culled shapes (#3291) 2024-04-05 13:23:02 +00:00
tlsync Revert "squish sync data events before sending them out" (#3331) 2024-04-03 10:31:28 +01:00
utils Perf: slightly faster getShapeAtPoint (#3416) 2024-04-09 12:57:46 +00:00
validate React-powered SVG exports (#3117) 2024-03-25 14:16:55 +00:00