Mateo
3d37ef79ac
Add shape fill overlays when closing a path (Pen tool) or filling it (Fill tool) ( #2521 )
...
* Make the Pen tool show a path being closed by drawing a filled overlay when hovering the endpoint
* Add to_css to color.rs
* Check before unwrapping layer
* Close if in the right place
* Fix typo
* Format code
* Support discontinuous paths for closing preview
* Code review
* Denser fill lines
* Fill tool preview with strip lines only and revert pen shape-closing opacity
* Small adjustments to fill preview
* Fix line width of fill preview
* Use a pattern to preview the fill tool and fix canvas clearing
* Update pattern
* Simplify code
* Format code
* Use secondary color to preview fill if shift is pressed
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-23 18:33:08 -07:00
0SlowPoke0
a4a0e110d7
Improve Pen tool behavior to less aggressively delete single-point layers ( #2605 )
...
* add single-anchor-place
* clippy_changes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-23 11:45:51 +00:00
Keavon Chambers
ac9fb2b02d
Improve instancing nodes (make them output group data, add 'Instance Repeat', fix Flatten Vector Elements click targets, and more) ( #2610 )
...
* Improve instancing nodes (make them output group data, add 'Instance Repeat', fix Flatten Vector Elements click targets, and more)
* Fix test?
* Fix more tests?
* Fix moar test??
* Clean up instance method naming
2025-04-22 17:55:57 -07:00
Priyanshu
a29802de36
Refactor the Solidify Stroke node implementation to use the Kurbo API ( #2608 )
...
* impl append_bezpath method to push a kurbo bezier path to vector data.
* refactor stroke_bezier_paths method and StrokePathIter iterator implementation
* refactor
* impl VectorData method to get strokes iterator of kurbo bezpath
* impl solidify stroke node
* refactor
* use StrokeOptLevel::Optimized for generation stroke fill
* add miter limit and dashes
* fix naming
---------
Co-authored-by: indierusty <priyaayadav@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-22 08:32:58 +00:00
Keavon Chambers
5e0e11b4c1
Update the UI colors of the node graph data types
2025-04-20 17:37:21 -07:00
James Lindsay
704dad4f76
Fix angle logic in the Grid node to allow slanted isometric grids ( #2602 )
...
* Fix angles
* Fix hardcoded index
* More information on monitor nodes
2025-04-20 14:16:27 -07:00
Priyanshu
dd1feee734
Replace Bezier-rs use in the 'Offset Path' node with a Kurbo algorithm ( #2596 )
...
* minimally replace bezier-rs use in Offset Path node implementation with kurbo's API
* fix kurbo import
* refactor
* Code review
---------
Co-authored-by: indierusty <priyaayadav@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-20 04:04:28 +00:00
Keavon Chambers
a376832480
Fix and improve robustness of node/parameter tooltip plumbing; simplify properties row widget boilerplate ( #2600 )
...
* WIP
* WIP2
* Further cleanup
2025-04-19 20:25:36 -07:00
Sidharth-Singh10
6196dbff95
Add Gradient tool test for select and delete removes a stop ( #2571 )
...
* Add Gradient tool test for select and delete removes a stop
* refactor fills and double click into functions
* refactor
2025-04-19 16:00:59 -07:00
Rahat
b45f7ef0c7
Add Line tool tests for drawing within a transformed artboard ( #2572 )
...
* Adding tests for artboard with transform
* Hypercube changes suggested
2025-04-19 17:44:27 +01:00
Rahat
1a5bef1d13
Add layer tree tests for moving layers with transform ( #2585 )
...
testing layer tree 5th checkpoint implementation
2025-04-19 00:43:17 -07:00
Sidharth-Singh10
73d12bcb82
Add tests for Spline tool to support continuing a previously drawn spline ( #2591 )
...
* Add tests for Spline tool to support continuing a previously drawn spline
* refactor
2025-04-18 22:24:35 +00:00
Rahat
0877c75959
Add layer tree tests for folder movement checking into child ( #2580 )
...
* testing parent child folder
* changes
2025-04-18 14:41:48 -07:00
ilya sheprut
adfcff7599
New node: Arc ( #2470 )
...
* init
* add closed and slice options
* Make it work beyond -360 to 360 degrees
* Switch "closed" and "slice" to ArcType enum
* Update default ranges
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-18 09:42:07 +00:00
0SlowPoke0
33de539d6d
Fix Pen tool unable to combine multiple selected paths by extending their endpoints or mesh points ( #2570 )
...
* fixed issue
* merge-layers
* node-graph-autopanning-wire
* store the layer whne created instead of querying
* fix layers temporarily geting deselected while exteneding path
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-18 00:18:39 -07:00
mTvare
29e8e8bdac
Fix Shift-drag axis color inconsistency and pivot not being draggable with a zero-width bounding box ( #2593 )
...
* Fix axis colors not being consistent and pivot not being draggable with zero width boxes
Fixes #2311
* Even for path
2025-04-17 13:45:08 -07:00
Keavon Chambers
41fe46591a
Update the parameter expose button in the Properties panel and fix undo history when it's clicked
2025-04-17 06:29:38 -07:00
Utsav Singh
7cb16a8bec
Fix Path tool behavior with Shift-dragging an already selected point, where it wrongly got deselected ( #2395 )
...
* Send path tool FSM to Dragging state on MouseDown if clicking selected point
* Cleanup
* Store selected point state before new selection is made and setup deselect logic
* update previously saved point data on every point selection
* Decide whether to deselect or select on extended_select if node not already selected, when DragStop state is reached instead of inside the mouse_down function.
* Fix broken merge and remove leftover debug statements
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-17 02:57:56 -07:00
Rahat
bd1c0ff287
Add layer tree tests for folder self movement checking ( #2579 )
...
* Testing folder movement to self
* changes
* unnecessary code line removed
2025-04-17 08:17:43 +00:00
Keavon Chambers
eca5d0d105
Add node description tooltips in the Properties panel and on secondary inputs in the graph ( #2590 )
...
Add tooltips to secondary inputs in graph/Properties panel, and to nodes in Properties panel
2025-04-17 00:59:46 -07:00
Adesh Gupta
ab39f3f837
Add Path tool support for Alt-dragging an anchor to pull out a fresh equidistant handle pair ( #2496 )
...
* Added initial logic for dragging
* Alt drag stop makes opposite handle back to its position
* Implement new requested behaviour
* Fix sharp point bug
* Apply suggestions from code review
* Add hints
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-17 06:05:45 +00:00
Keavon Chambers
fa21385d2c
New nodes: 'Position on Path' and 'Tangent on Path' ( #2588 )
2025-04-16 22:50:50 -07:00
Rahat
c4484cb6cd
Add layer tree tests for layer arrangement ( #2578 )
...
* layer arrangement testing
* changes
2025-04-16 15:05:03 -07:00
Rahat
bcab75f3c5
Add layer tree tests for layer selection ( #2577 )
...
* layer selection testing
* changes
2025-04-16 13:57:14 +00:00
Sidharth-Singh10
9acc23d0cc
Add Gradient tool test for dragging the stop rearranges the ordering ( #2565 )
2025-04-16 13:38:26 +00:00
Mohamed Osama
af4f57ef38
Add "Perpendicular to Endpoint" snapping target ( #2581 )
...
* Perpendicular snap for line's endpoints
* move comment
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-16 12:23:45 +00:00
James Lindsay
435a6daf25
Add the first field-based nodes: 'Instance on Points', 'Instance Position', 'Instance Index', as well as 'Grid' ( #2574 )
...
* Basic fields
* Add 'Extract XY' and 'Split Vector2' nodes
* Add 'Instance Index' node
* Fix test again
* Improve grid generator to support rectangular as well
* Avoid crashing
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-16 11:58:59 +00:00
Keavon Chambers
184c009f17
Add memoization to instancer nodes
2025-04-16 04:43:47 -07:00
Adam Gerhant
ee6a842a6b
Fix dragging a node onto a secondary input's wire not working ( #2583 )
...
Fix dragging onto wire
2025-04-16 01:52:15 -07:00
kythyria
a94354df04
New node: Dimensions ( #2576 )
...
* Add node for size of bounding box
* Keep rustfmt happy
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-16 01:07:34 +00:00
Dennis Kobert
9a62c1c089
Fix Poisson-disk sampling with negative space from nested subpaths ( #2569 )
...
* Fix poisson disk sampling with nested subpaths
Previously all subpaths were considered independently for the poisson disk sampling evaluation. We now check agains all subpaths which might contain the point to fix shapes with holes such as fonts with letters with holes in them
* Fix wasm demo
* Fix counting overlapping areas twice
* Rename shape variables to subpath variants
2025-04-15 13:37:20 +00:00
Sidharth-Singh10
98558c74f4
Add Gradient tool test for dragging an endpoint setting the correct point in the viewport ( #2564 )
...
* Add Gradient tool test for dragging an endpoint sets the correct point in the viewport
* add canvas_zoom and transformset to verify correct viewport-space behavior
2025-04-14 19:25:07 +00:00
Dennis Kobert
9b23c7e2db
Update Tauri to v2 and execute only the node graph in native ( #2362 )
...
* Migrate tauri app to v2
* Move flake files to sub directory
* Remove unused plugins
* Backport some of the tauri code
* Implement async node graph execution
Only move node runtime to native code
* Always use gpu feature for tauri
* Fix serialization
* Add logging filters
* Enable native window rendering with vello
* Cleanup
* Remove unused editor instance
* Remove changes from vite config
* Remove warnings
* Remove unused files
* Fix most tests
* Cleanup
* Apply frontend lint
* Readd flake.nix
* Fix tests using --all-features
* Code review
* Enable all backends
* Fix monitor node downcast types
* Change debug log to a warning
* Disable shader passthrough
* Cleanup unused imports
* Remove warning
* Update project setup instructions
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-14 11:43:15 +00:00
Keavon Chambers
29479f6e3e
Update Cargo dependencies in Cargo.lock
2025-04-13 21:20:55 -07:00
0SlowPoke0
d194c784be
Prevent auto-panning in Pen/Spline tools while drawing without dragging ( #2463 )
...
don't autopann when mouse up
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-13 18:21:59 -07:00
Mateo
c2a36ce981
Restore auto-panning that #2443 had broken ( #2562 )
...
* Fix auto panning
* Clean up comments
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-13 22:19:08 +00:00
Rahat
b3d6be9618
Add tests for Line tool with PTZ ( #2559 )
...
* cli failing
* cli failing
* Adding tests for line tool with zoom pann and tilt
2025-04-13 20:13:59 +00:00
Mateo
6bc12c8ede
Invalidate cache when unexposing input ( #2512 )
2025-04-13 19:33:37 +00:00
Rahat
272a5ce0df
Add GRS tests for different types of nested layer multi-selections ( #2518 )
...
* cli failing
* cli failing
* test_transform_with_different_selections and groups
* merge conflict
* Use abs_diff_eq in assertions
* Added test 4
* Added test 4
* removed unnecessary changes
2025-04-13 20:06:11 +01:00
mTvare
3e6021fb8f
Fix inability to drag axis-aligned lines ( #2561 )
...
* Fix 1 and 3
* Fix 2
* Shape tools refactor
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-13 03:51:40 -07:00
Ellen Gu
fdff5d4e5e
Disallow the Gradient tool from applying to raster images ( #2456 )
...
* fix gradient on raster graph error
* Remove should panic from gradient ignore raster tag
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-12 18:42:59 -07:00
Adesh Gupta
550ffc3f7f
Fix box selection erroneously including zero-length handles; fix GRS failing on sharp points ( #2550 )
...
* Fixed box selection selecting zero length handles
* Fix GRS for sharp points
* Apply suggestions from code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-13 01:21:36 +00:00
Keavon Chambers
e759e62291
Comment out all remaining active Imaginate code
2025-04-12 17:32:24 -07:00
Keavon Chambers
a11f9b36c3
Add the menu bar command: Help > Debug > Reset Node Definitions on Open
2025-04-12 16:56:55 -07:00
Keavon Chambers
100df9a81d
Remove 'Memoize Impure' from document node definitions
2025-04-12 05:15:05 -07:00
Keavon Chambers
a8a5a1f3fd
New node: Sample Gradient
2025-04-12 04:19:46 -07:00
0SlowPoke0
c156c0a4ce
Improve Pen tool segment drawing confirm/cancel behavior ( #2555 )
...
* implement enter to end path
* fixed_abort
* added_hints
* edge-case
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-04-12 09:50:35 +00:00
Keavon Chambers
69069ef723
Fix the 'Repeat', 'Circular Repeat', and 'Mirror' nodes to work on point cloud vector data ( #2553 )
...
* Include points in bounding box calculations
* Fix unrelated crash from debug assert when reordering root-level folders
* Fix another unrelated crash from debug assert when GRS scaling to size 0
* Fix several vector nodes to respect and propagate local transform space
2025-04-12 02:18:31 -07:00
Sidharth-Singh10
e4d998a400
Add test for double clicking to insert a gradient stop ( #2527 )
...
gradient tool test: Double click to insert a gradient stop
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com>
2025-04-11 14:26:07 +00:00
Keavon Chambers
0d10ad2161
Revert double-click to open node catalog from #2423 because it occurs even outside the graph
2025-04-10 14:55:35 -07:00