That replaces the ad-hoc helpers for convert path content from
plain with encapsulated type that implements the appropriate
clojure protocols and interfaces that helps interacting with
binary encoded path data
It is very convenient to be able to export WEBP right from penpot.
Otherwise users have to first download to PNG then convert it locally.
---
Playwright only supports JPEG and PNG. So in order to support WEBP I had
to first generate a PNG and then convert it afterwards.
Signed-off-by: Dalai Felinto <dalai@blender.org>
* ♻️ Add set token theme method schema
* ♻️ Add `:set-token-theme` dispatcher for `process-change` multimenthod
* ♻️ Add `set-token-theme` to the changes builder
* ♻️ Use new method on the frontend
* ♻️ Remove unused token theme methods
* ♻️ Add tests
* ♻️ Add library data to changes
* ♻️ Add new test case
* ♻️ Remove unused binding
* ♻️ Add set removal methods to tokens library
* ♻️ Add `set-token-set` method to changes
* ♻️ Add `set-token-set` to changes builder
* ♻️ Use new method in the token set creation
* ♻️ Use `set-token-set` in frontend events
* ♻️ Remove unused binding
* ♻️ Add tests
* ♻️ Remove old API methods
* ♻️ Remove unused parts of schema and multimethods
* ♻️ Make `:tokens` key optional in schema
* ♻️ Add `with-library-data` calls before `set-token-set`
* ♻️ Fix DOM properties error
* ✨ Use reduce-kv for creating tokens tree
Instead of reduce
* ⚡ Avoid double iteration on spliting text shapes from shapes
On processing color changes
* ♻️ Move the undo transaction out of transform-fill
The undo transaction is a high level construct and it should
be called from the first level events. Low level impl should
not handle transactions at all
* ⚡ Use low-level primitives for update-fill token event
* 📎 Add performance logging for style dictionary resolution
* 📎 Replace inline code with a helper
* ♻️ Refactor how fill and stroke color is applied on tokens
* 💄 Fix call convention for component-item-thumbnail component
* ✨ Clean component thumbnail when frame change received
* 📎 Fix tests
---------
Co-authored-by: Eva Marco <evamarcod@gmail.com>