tldraw/assets/icons/icon/size-extra-large.svg
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

4 lines
411 B
XML

<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.44434 5.7915L8.07422 11.9263H8.21484L11.8623 5.7915H16.1602L10.667 14.7915L16.2832 23.7915H11.9063L8.21484 17.6479H8.07422L4.38281 23.7915H0.0234375L5.65723 14.7915L0.128906 5.7915H4.44434Z" fill="black"/>
<path d="M18.4469 23.7915V5.7915H22.2526V20.6538H29.9694V23.7915H18.4469Z" fill="black"/>
</svg>