Keavon Chambers
7ca6470656
Rename the repeat nodes to replace "Instance" terminology with "Repeat" ( #3794 )
...
* WIP
* Move the Mirror node from the module 'vector' to 'graphic'
* Update demo art
* Fix failing tests
Fix tests
2026-02-20 22:10:59 -08:00
Dennis Kobert
ba177c4c5d
Generalize the 'Map Vector' node as 'Map' with support for all graphical types ( #3793 )
...
* Rename Map Vector to Map
* Fix compilation errors
* Move to the Graphic module and add Read {Graphic, Raster, Color} nodes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-20 21:33:02 +00:00
Keavon Chambers
bd1c54907d
Rename nodes from "Instance ___" -> "Read ___" and "Instance Map" -> "Map Vector" ( #3792 )
...
* Rename nodes from "Instance ___" -> "Read ___" and "Instance Map" -> "Map Vector"
* Update leftover references and demo artwork
* Simplify logic
* Fix test
2026-02-20 08:52:36 +00:00
Keavon Chambers
da278e0264
New node: Map Points
...
Also resolves #3217
2026-02-19 14:37:35 -08:00
Keavon Chambers
258748ec51
Swap the default placement order of Fill and Stroke nodes in layers ( #3789 )
2026-02-19 13:15:11 -08:00
Timon
3f999bf231
Desktop: Add "Disable UI Acceleration" to preferences ( #3774 )
...
* Deskltop: Add Disable UI Accelaration preference
* Fixup
* Fix typo
* Code review and update strings
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-19 01:54:01 +00:00
Kulcode
b433ddd007
Add button in Properties panel to select the node connected to an exposed parameter ( #3720 )
...
* Navigation-Shortcut
* Fix as rec
* cleanup
* Update labels
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-18 10:25:02 +00:00
Jatin Bharti
e5827f2b81
Fix crash opening File > Export if it previously was set to the bounds of a now-deleted artboard ( #3577 )
...
fix : Crash loading export dialogue
2026-02-17 23:24:13 -08:00
Aniket giri
f801ed72bb
Clean up DocumentMessageHandler by breaking out several lengthy handlers into helper functions ( #3568 )
...
refactor(document): extract large match arms into helper methods
Part of #2740 - Code quality refactors.
This commit addresses the 'Match statements' section of the tracking
issue by extracting three large match arms from process_message() into
dedicated helper methods:
- handle_group_selected_layers: Handles layer grouping in both artboard
and non-artboard workflows (~50 lines extracted)
- handle_move_selected_layers_to: Handles layer movement with proper
transform preservation (~85 lines extracted)
- handle_nudge_selected_layers: Handles keyboard nudging with optional
resize mode (~75 lines extracted)
The main match statement in DocumentMessageHandler is now ~210 lines
shorter and more readable. Logic and behavior remain unchanged.
2026-02-17 22:01:32 +00:00
Timon
3571c0d577
Fix Vello canvas on web not being transparent by using premultiplied alpha mode ( #3770 )
...
Fix canvas not being transparent by using Premultiplied alpha mode
2026-02-17 20:48:16 +00:00
Kulcode
2fe0cf7a4c
Fix holding Ctrl in the graph not allowing for selecting nodes unless some are in a layer ( #3778 )
...
* Fix
* Fix-2
* Formatting
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-17 20:20:57 +00:00
Ashish Mohapatra
723f7b14ea
Respect artboard clipping when computing canvas scrollbars ( #3387 )
2026-02-17 00:32:33 +00:00
Oliver Davies
20e12edd45
New node: Pack Strips ( #3246 )
...
* Added basic pack by bounds node
Apply suggestion from @Keavon
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add support for choosing rows/columns strip direction
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-16 09:07:03 +00:00
Austin Henlotter
5b92901715
Fix Path tool not displaying its hints during G/R/S modes ( #3222 )
...
* Path tool no longer overrides other hints
* Related cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-16 04:23:47 +00:00
Austin Henlotter
f186465220
Fix Spline tool aborting after placing only 1 point so it removes the incomplete layer ( #3220 )
...
* right click now correctly cancels spline extend
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-16 01:01:11 +00:00
Mohd Mohsin
b697cc8131
Add line numbers to file paths in the website editor structure docs ( #3130 )
...
* added the line number to existing path
* Update JS parser to use line numbers
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-15 23:59:27 +00:00
Vatsal Kumar
82f7dc7062
Improve the Shape tool's arrow drawing controls ( #3650 )
...
* fixed the arrow's parameters
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* shifted the arrow's origin to its tail
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* modified arrow shapetype fucntion to be like other shapes
* fixed rust formatting
* Remove misleading part of comment referencing the origin
---------
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-15 21:35:20 +00:00
Keavon Chambers
c574f58ecd
Fix debug assert failure from selecting zero-sized objects
2026-02-15 00:01:09 -08:00
Keavon Chambers
8738e59c21
Improve the QR Code node ( #3765 )
2026-02-14 20:53:29 +00:00
Timon
8b67840f0c
Desktop: Fix Eyedropper tool ( #3764 )
2026-02-14 16:44:52 +00:00
Adam Gerhant
1b1400b989
Fix insertion or creation of layers at top of a stack with multiple top output wires ( #3680 )
...
Fix layer insertion
2026-02-13 20:45:36 -08:00
Adam Gerhant
011bd724bc
Fix node shaking not working correctly when connected to graph imports ( #3678 )
...
Fix shaking node
2026-02-14 00:49:54 +00:00
Kulcode
b5b896f89f
Add SVG import support for gradients with gradientUnits="userSpaceOnUse" ( #3741 )
...
* fix
* error corrected
* Cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-13 15:28:17 -08:00
Ayush Amawate
119a554260
Fix the Path tool adding a Path node but not applying the change until a second attempt due to wrong segment IDs ( #3727 )
...
* Fix SegmentIds lost when no Path node exists
* fix import order
* Use Arc<Vector> in vector_data for regression
2026-02-13 14:40:38 -08:00
Kulcode
e606efd008
Improve the Gradient tool by visualizing color stops ( #3698 )
...
* Gradient
* improvement
* removed unnecessary code
* corrected error
* Partical changes
* Improveded
* remove from advertised actions
* Mousedown
* Partial code review
* changes as per recommendation
* corrected error
* corrected error -2
* changes as per recommendation
* error corrected
* changes as suggested
* Bug Fix
* Fix hints
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-13 00:25:15 +00:00
0SlowPoke0
ea68d62ec4
Add gizmos for interacting with the Spiral node ( #2851 )
...
* made spiral node
* number of turns in decimal and arc-angle implementation
* logarithmic spiral
* unified log and arc spiral into spiral node
* add spiral shape in shape tool
* fix min value and degree unit
* make it compile
* impl turns handle gizmo
* chore : Refactoring PR #2851 for current code base with some fixes
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Annonnymmousss <jatin02012006@gmail.com>
2026-02-12 22:33:40 +00:00
Ayush Amawate
cd241095a2
Fix history steps not being given to Line tool endpoint movements ( #3739 )
...
start transaction when dragging line endpoints to enable abort
2026-02-12 20:33:19 +00:00
Ayush Amawate
9ae13634d0
Simplify the Layers panel tree structure Rust -> JS encoding ( #3744 )
...
* replace custom layer structure encoding with simple JSON tree
* add leftover files
* Renames
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-12 20:06:58 +00:00
Jatin Bharti
bb6fea95e4
Fix regression preventing the selection of other pivot modes ( #3751 )
...
fix : custom pivot's origin selection not updating
2026-02-12 19:10:49 +00:00
Jatin Bharti
a1a9abd6a2
Fix the Gradient tool's linear/radial type toggle resetting the gradient color stops ( #3499 )
...
* fix : sync the linear/radial option in menu bar and property panal
* fix : fmt
* Promote vector meshes from experimental by removing it from preferences
* fix : change reverting bug
* chore : refactor
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-11 13:49:23 -08:00
Timon
4cdfbb22e8
Desktop: Fix new document offset on first startup ( #3738 )
...
Desktop: Fix new document offset
2026-02-11 13:08:17 -08:00
Dennis Kobert
5efa81df85
Store click targets in Arc ( #3726 )
2026-02-06 12:35:32 +00:00
Timon
9c56c852ca
Desktop: Snap overlays to physical instead of logical pixels ( #3493 )
...
WIP
2026-02-04 07:24:16 +00:00
Timon
c7e3d01e2b
Improve font loading ( #3705 )
...
Fix fonts not loading
2026-02-04 07:23:50 +00:00
Kulcode
ba361cdd6a
Add "Exclude Layers" Ctrl modifier when dragging to box select in the node graph ( #3665 )
...
* Added Ctrl modifier that filters selection to include only child nodes
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-02-02 14:19:43 -08:00
Jatin Bharti
da518857ad
Fix selection jumping back to previously selected node after its drag abort, upon clicking to select a new node ( #3696 )
...
* fix : Selection jumps back to previously selected node after its drag abort, upon clicking to select new node
* fix : Selection jumps back to previously selected node after its drag abort via esc key, upon clicking to select new node
2026-01-28 14:36:17 -08:00
Keavon Chambers
390004897b
Add "Loop Level" to the Position context reader node ( #3679 )
...
* Add "Loop Level" to the Position context reader node
* Remove InjectPosition
2026-01-28 10:52:39 +00:00
Keavon Chambers
84e9d8c192
Prep for the RC3 release of the desktop app
2026-01-26 17:32:58 -08:00
Timon
5fd1a24f16
Desktop: Add Eyedropper tool support with native Vello ( #3684 )
...
* mostly done
* fix
* kinda works but tilt and flip broken
* fix footprint
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com>
* Code review
* fix cursor hiding
* Remove console.log
---------
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-27 01:24:09 +00:00
Keavon Chambers
a88342b8da
Add the "Rate" multiplier parameter to the Animation Time node ( #3685 )
2026-01-26 00:37:15 -08:00
Keavon Chambers
568831bd2f
Fix regression breaking Into/Convert node type coercion ( #3681 )
2026-01-25 16:26:05 -08:00
Timon
7a5790744f
Add focus document toggle ( #3672 )
2026-01-23 15:28:02 +00:00
Timon
2be7790d4d
Improve UX of importing vs. opening files ( #3661 )
...
* wip
* fix drag and drop
* fix
* fix tests
* fix tests
* fix warning
* Partial code review
* add dialog
* fix web
* fix web
* push back release candidate expiry
* Code review
* Reduce code duplication for pasting files in frontend
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-22 01:37:49 -08:00
Keavon Chambers
781fa7ae95
Move contributor docs editor message structure tree generator from test to tools directory ( #3663 )
2026-01-20 23:53:15 -08:00
Keavon Chambers
7af60e02a3
Add the auto-generated node catalog to the website's user manual ( #3662 )
...
* Generate the MVP node catalog in the manual (with some placeholders)
* Implement nearly the rest of everything
* Move to the tools directory and make it generate nicer default values
* Add category descriptions
* Organize file structure and improve type naming
* Improve book table of contents code
* Add collapsing chapter navigation to the book template
* Add to build workflow
* Clean up site structure
2026-01-20 22:52:03 -08:00
Timon
95d3556204
Replace globals with editor environment ( #3656 )
...
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-19 17:06:02 +00:00
Timon
07fbcd489c
Desktop: Add fullscreen window mode ( #3625 )
2026-01-19 16:32:03 +00:00
Keavon Chambers
3b55064f44
Add tooltip documentation to the Text node and tidy up node catalog categorization ( #3645 )
...
* Add more node doc comments
* Tidy up node categories
2026-01-16 01:27:56 -08:00
Adam Gerhant
c13647aef4
Fix regression where tooltip node descriptions in the graph stopped showing ( #3639 )
...
* Fix tooltips
* Convert DefinitionIdentifier to string in JavaScript
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-15 23:30:16 -08:00
Adam Gerhant
c60ddcf875
Fix the Text node's Max Width/Height parameters with OptionalF64 losing the value when unticked ( #3643 )
...
* WIP
* Fix widget
* Fix migration
* Remove OptionalF64
* Custom attributes for optional f64 widget
* Code review
* Move comments to another PR
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-01-16 06:13:32 +00:00