tldraw/apps
Mitja Bezenšek 987b1ac0b9
Perf: Incremental culled shapes calculation. (#3411)
Reworks our culling logic:
- No longer show the gray rectangles for culled shapes. 
- Don't use `renderingBoundExpanded`, instead we now use
`viewportPageBounds`. I've removed `renderingBoundsExpanded`, but we
might want to deprecate it?
- There's now a incremental computation of non visible shapes, which are
shapes outside of `viewportPageBounds` and shapes that outside of their
parents' clipping bounds.
- There's also a new `getCulledShapes` function in `Editor`, which uses
the non visible shapes computation as a part of the culled shape
computation.
- Also moved some of the `getRenderingShapes` tests to newly created
`getCullingShapes` tests.

Feels much better on my old, 2017 ipad (first tab is this PR, second is
current prod, third is staging).


https://github.com/tldraw/tldraw/assets/2523721/327a7313-9273-4350-89a0-617a30fc01a2

### Change Type

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

- [x] `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
- [ ] `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


### Test Plan

1. Regular culling shapes tests. Pan / zoom around. Use minimap. Change
pages.

- [x] Unit Tests
- [ ] End to end tests

---------

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2024-04-10 10:29:11 +00:00
..
docs styling: make dotcom and examples site have consistent font styling (#3271) 2024-03-27 09:44:22 +00:00
dotcom Update useFileSystem.tsx (#3371) 2024-04-05 11:40:28 +00:00
dotcom-asset-upload Bump the npm_and_yarn group group with 7 updates (#2982) 2024-03-04 12:20:23 +00:00
dotcom-bookmark-extractor bump typescript / api-extractor (#2949) 2024-02-25 11:43:17 +00:00
dotcom-worker log message size in worker analytics (#3274) 2024-03-27 11:33:47 +00:00
examples Perf: Incremental culled shapes calculation. (#3411) 2024-04-10 10:29:11 +00:00
health-worker [dx] Allow vscode to search inside md files by default (#3105) 2024-03-11 14:08:04 +00:00
huppy [DX] PR labels revamp (#3112) 2024-03-12 14:53:57 +00:00
vscode styling: make dotcom and examples site have consistent font styling (#3271) 2024-03-27 09:44:22 +00:00