719332d272
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. |
||
---|---|---|
.. | ||
api-extractor.json | ||
CHANGELOG.md | ||
imports.d.ts | ||
imports.js | ||
imports.vite.d.ts | ||
imports.vite.js | ||
LICENSE.md | ||
modules.d.ts | ||
package.json | ||
README.md | ||
selfHosted.d.ts | ||
selfHosted.js | ||
tsconfig.json | ||
types.d.ts | ||
urls.d.ts | ||
urls.js | ||
utils.d.ts | ||
utils.js |
@tldraw/assets
This package contains assets that are used by tldraw, including icons and fonts.
Distributions
You can find tldraw on npm here.
Contribution
Please see our contributing guide. Found a bug? Please submit an issue.
License
The tldraw source code and its distributions are provided under the tldraw license. This license does not permit commercial use. To purchase a commercial license or learn more, please fill out this form.
Trademarks
Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our trademark guidelines for info on acceptable usage.
Contact
Find us on Twitter/X at @tldraw.
Community
Have questions, comments or feedback? Join our discord or start a discussion. For the latest news and release notes, check out our Substack.