Graphite/website
Keavon Chambers 4360359d60
Finalize and unify the design of the 'Morph' and 'Blend' nodes (#3974)
* Fix Morph node transform interpolation and preservation in the table

* Fix click target positions for Morph's nested layers by pre-compensating upstream_data transforms

* Redesign Morph node (v3) with control path input and uniformly spaced progression, and fix Stroke::lerp interpolation weights

* Add migration from Morph node v2 to v3

* Redesign the 'Blend Shapes' node behavior and subgraph definition

* Add the Layer > Blend menu entry to easily set up a blend

* Optimize the Morph node

* Refactor the Morph node to remove the roundtrip through BezPath

* Fine-tune Morph node Bezier order promotion and handle interpolation

* Add the Layer > Morph menu bar entry

* Fix NaN and guard against other potential NaN bugs breaking the editor

* Add InterpolationDistribution parameter to Morph with weighted progression, swap parameter orders, and rename shear to skew

* Add the Reverse parameter to the Morph node

* Update the order of the inputs to Blend Shapes for consistency with Morph

* Make Layer > Morph create the Morph Path control layer

* Fix migrations

* Move 10 to a constant

* Avoid division by 0 in the Blend Shapes node internals

* Rename nodes 'Blend' -> 'Mix' and 'Blend Shapes' to 'Blend'

* Fix a crash encountered while testing

* Final code review

* Make domain push dupe checks debug-only and use push_unchecked in the Morph node

* Pre-allocate for pushes to the vector domains

* Add fast path at t=0

* Inline reserve()

* Set up the control path layer above not below, and starting collapsed

* Review fixes

---------

Co-authored-by: Timon <me@timon.zip>
2026-04-03 20:45:58 -07:00
..
.build-scripts Port website dev docs generated content scripts from JS to Rust to avoid intermediate parsing (#3909) 2026-03-17 15:02:15 -07:00
content Finalize and unify the design of the 'Morph' and 'Blend' nodes (#3974) 2026-04-03 20:45:58 -07:00
sass Add the crate dependency graph visualization to the contributor guide (#3907) 2026-03-17 01:35:56 -07:00
static/js Fix several cases of errors appearing in the console 2026-04-03 03:20:04 -07:00
templates Port website dev docs generated content scripts from JS to Rust to avoid intermediate parsing (#3909) 2026-03-17 15:02:15 -07:00
.gitignore Move contributor docs editor message structure tree generator from test to tools directory (#3663) 2026-01-20 23:53:15 -08:00
config.toml Update website to use Zola 0.22 with new code block syntax highlighting 2026-01-18 00:11:12 -08:00
eslint.config.js Refactor messages.ts by removing class-transformer and JS classes (#3858) 2026-03-05 01:43:21 -08:00
package-lock.json Update dependencies to resolve advisories (#3933) 2026-03-21 18:25:05 -07:00
package.json Update dependencies to resolve advisories (#3933) 2026-03-21 18:25:05 -07:00
tsconfig.json Simplify TS configuration 2026-03-21 19:45:57 -07:00