tldraw/packages
alex 719332d272
serve icons via a single merged .svg file (#4150)
We currently serve icons in the form of 141 separate svg files. This is
pretty inefficient: it results in 141 http requests each with its own
overheads and costs. Each one is generally less than 1kb of data.

This PR merges all of our icons into a single 44kb icon file. Each item
in the svg has an ID, and we use the ID in the asset url to target the
specific icon. This also fixes a lot of the icon preloading issues:
because the icon file is already loaded, there's no extra request needed
when panels open etc.

I was messing with this whilst killing time before a late meeting so
made a shitty overengineered code generator, dont at me

### Change type

- [x] `improvement`

### Release notes

- Serve icons more efficiently, and make sure they're still available if
tldraw goes offline.
2024-07-15 11:03:11 +00:00
..
assets serve icons via a single merged .svg file (#4150) 2024-07-15 11:03:11 +00:00
dotcom-shared license: show on dotcom dev mode (#4158) 2024-07-12 16:53:31 +00:00
editor [sdk] make EffectScheduler and useStateTracking public (#4155) 2024-07-14 10:54:27 +00:00
namespaced-tldraw Update CHANGELOG.md [skip ci] 2024-06-25 13:27:57 +00:00
state [sdk] make EffectScheduler and useStateTracking public (#4155) 2024-07-14 10:54:27 +00:00
store Update CHANGELOG.md [skip ci] 2024-06-25 13:27:57 +00:00
sync [bemo] allow special chars in roomId (#4153) 2024-07-12 14:01:34 +00:00
sync-core [5/5] Move bemo from dotcom to examples (#4135) 2024-07-12 10:36:31 +00:00
tldraw sdk: wires up tldraw to have licensing mechanisms (#4021) 2024-07-11 11:49:18 +00:00
tlschema [3/5] Automatically enable multiplayer UI when using demo sync (#4119) 2024-07-10 15:46:09 +00:00
utils Initial bemo worker setup (#4017) 2024-07-01 11:35:23 +00:00
validate Demo server bookmark unfurl endpoint (#4062) 2024-07-03 10:48:34 +00:00
worker-shared introduce images.tldraw.xyz image optimisation worker (#4069) 2024-07-08 16:25:53 +00:00