Keavon Chambers
6f46f21e21
Improve the HTTP request nodes and add new related nodes ( #2896 )
...
* Improve the network request nodes and add new ones to process data
* Use Content-Type: application/octet-stream
* Add 'Gamma Correction' node
2025-07-18 05:03:50 -07:00
Keavon Chambers
561b671f8d
Add transform-related nodes to improve transformation abilities ( #2893 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Improve transformation abilities with transform-related nodes
* Fix Transform -> Merge and Transform -> Artboard connections
2025-07-17 11:58:57 -07:00
Keavon Chambers
8f26c5c2ad
Remove the UVec2 and IVec2 graph data types and have Artboard use DVec2 ( #2894 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-16 18:45:10 -07:00
Keavon Chambers
99966d848d
Fix text per-glyph instance overlays and click target issues
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
2025-07-14 14:47:01 -07:00
Keavon Chambers
112efe88c2
Add multi-level loop indexing with the 'Instance Repeat' node
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-14 02:55:44 -07:00
Keavon Chambers
be8378309d
Avoid crashing if an error occurs in the layout widget update handlers
2025-07-14 00:24:17 -07:00
Oliver Davies
74e35f026f
Fix regression with GRS cancellation being broken ( #2877 )
...
Fix for cancel regression in path tool
2025-07-13 22:03:51 -07:00
Keavon Chambers
88ac275e47
New nodes: 'Greatest Common Divisor' and 'Least Common Multiple'
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-13 19:43:28 -07:00
Salman Abuhaimed
166eb00c9c
Separate the Text node's generated glyphs into separate vector table rows ( #2821 )
...
* Separate glyphs into Vector data rows
* Fix `String Length` node
- Properly count characters with
`str.chars().count()` instead of bytes `str.len()`
- Change `String Length` node's output to `u32`
* Apply transform on instance instead of applying it when drawing the glyph
* Add checkbox to enable/disable per-glyph instances
* Tooltips
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-13 18:06:41 -07:00
Mohd Mohsin
c5800aa96e
Fix the Bevel node so it applies a consistent bevel size regardless of angle ( #2293 )
...
* feat: update the bevel algorithm for same bevel length
* Fix: Resolves issue in bevel algorithm
* fix bevel algorithm
* Feat : update the bevel algorithm for bezier curve
* Feat: Add support for rounded and inward-rounded Bevel options
* fix bevel algo for curves
* Nits
* refactor area node
* refactor close path node
* small refactor of 'check_point_inside_shape' method
* copy is_linear function from bezier-rs lib
* refactor bevel node implementation
* cleanup
* refactor bevel implementation
* fix transformation
* cleanup
* update the bevel algorithm
* Code review
* Clean up setup logic for failing test
* update tests to reflect new algorithm
* Decimal integer nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: indierusty <indierusty@gmail.com>
2025-07-13 21:45:51 +00:00
Oliver Davies
e89cded4b8
Add selection cycle and gray pre-selection outlines to the Path tool, and Tab to swap Select/Path tools ( #2818 )
...
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
Website / build (push) Has been cancelled
* Added initial version of this feature for the path tool
* Removed debug statements
* Thickened the overlay width
* Added hover highlighting for path tool
* Experimental switch to path tool at leaf layer
* Ghost outline initial implementation
* Added tab swap for select tool -> path tool
* Minor fix for Select Tool dbl click -> Path Tool
* Added support for ghosts when using GRS in the path tool
* Fixed GRS undo bug, vastly improved hover behavior and now clearly visualize next double click target
* Fixed unused import warnings
* Updated behavior to handle mouse movement cases, reverted line width to 1px
* Fixed merge behavioral issues
* Disabled Select Tool to Path Tool double click toggle, fixed single click drill through for special case
* Clean up of unused consts and comment
* Properly cancel the drill through state when the mouse moves
* Fix some stuff
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-13 08:26:36 +00:00
Keavon Chambers
d6d1bbb1e6
Add editor structure outline to the developer guide on the website
2025-07-12 23:09:29 -07:00
Keavon Chambers
765092fbe9
Rename the message system's 'data' argument to 'context' ( #2872 )
2025-07-12 22:50:59 -07:00
mTvare
a3a85c86ec
Merge branch 'master' into fix-range
2025-07-12 05:03:02 +05:30
mtvare6
6aee1e6fb9
fix: make hard controls also limit range movement
2025-07-12 05:02:00 +05:30
Firestar99
4c75ddf936
Refactor node migration to be less susceptible to forgetting outdated strings ( #2853 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* migration: make document migration use ProtoNodeIdentifier
* migration: NodeReplacement struct for better formatting
* migration: test for duplicates and fix them
2025-07-10 17:40:54 -07:00
Adesh Gupta
912e6f61a9
Fix regression with inability to drag segments using the Path tool's segment mode ( #2850 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fix segment dragging
2025-07-10 08:51:25 +00:00
James Lindsay
13ad814639
Add a complexity limit on displaying layer thumbnails to improve performance ( #2828 )
...
* Skip complex layer thumbnails
* Set Raster<GPU> to have usize::MAX render complexity
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-10 07:57:45 +00:00
Keavon Chambers
ceffcfd8df
Update website deployment CI script to output auto-generated code docs artifacts ( #2849 )
2025-07-09 23:51:25 -07:00
Kavin
e02510303e
Add X and Y offset distance overlay while dragging with the Select tool ( #2814 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add offset overlay to select tool
* Add overlay to Dragging
* Add axis align behavior
* Style changes
* Add trim to string
* reduce code duplication
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-09 10:49:39 +00:00
mTvare
a40de58c7c
Fix brush bounding boxes by making BrushCacheImpl's hash not shared between different instances ( #2845 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* fix: add cache to each layer
* fix: warning
* fix: tests
* Clean up code
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-09 06:45:41 +00:00
Mohd Mohsin
00236c8136
Generate a visualization of the editor's hierarchical message system tree ( #2499 )
...
* Feat: implement the hierarchical tree for visualization
* rename HierarchicalTree trait function
* feat: change the HierarchicalTree from String to DebugMessageTree struct
* Nits
* feat: impliment proc macro to extract field from messagedata structs
* update the hierarchical-tree for hanlder data
* feat: added message handler struct to hierarchical tree
* feat: add the line number to message handler struct
* feat: added handler path to tree and NITS
* clean the white spaces in type string
* fixes some white spaces
* feat: added path to message enum in hierarchical tree
* feat: add file creation of hierarchical message system tree
* cleanup
* Code review
* Add todo comment for deferred change
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-08 19:13:51 -07:00
HWienhold
d0e1d8982f
Allow tooling to treat near-zero-length handles as zero-length when converting to colinear ( #2747 )
...
fix colinear handles on connected path
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-08 18:47:56 -07:00
Keavon Chambers
6780626768
Merge branch 'master' into fix-range
2025-07-08 18:23:21 -07:00
Keavon Chambers
d2f8c99744
Avoid panics during document migration
2025-07-08 18:13:05 -07:00
mTvare
8a68683a93
Add pivot type selection with Custom Pivot, Origin (Average Point), and Origin (Active Object) to the Select tool ( #2730 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* add origin
* cleanup pivot
* a lot of stuff
* reset pivot
* fix transform with pivot issues
* fixes
* some more cleanup
* fixes
* finally works
* origin fixes
* fix spaces
* fix using dragged_layers
* simplify pivot logic
* fix bugs
* fix the final bug
* fix in select_tool
* fix updates
* some more refactors to fix misunderstanding and refactor
* add checkboxes
* fix labels
* fix stuff which broke at merge
* update
* cargo fmt
* fix serde crash
* fix pivot not updating on move
* fix pivot not becoming last active refernce
* fix redraw issues
* add: active pivot
* cargo fmt
* fix pivot showing up in default mode
* add: pivot pin
* fix: use pin icons
* cargo: cargo lock update?
* fix: use checkbox instead of Overlays
* refactor: add dot to path_tool
* add: active origins
* UI tweaks
* add: add all of the stuff for path tool
* remove: unused layer
* fix: pivot pinning and origin angle
* fix: pin only if moved in first place
* cargo: fmt
* fix: pivot use disabled method
* fix: remove redudant NoOp
* fix: 3 stuff
* fix: select from elsewhere
* fix: compass rose wobbling around
* add: move pivot on grab
* add: move pivot on nudge
* add: move pivot on Grab
* Code review and tooltips
* fixes
* fixes
* fixes
* fix: skipping artboard on bounds calculation
* fix: by default have origin
* Fix prior fix
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-08 09:24:54 +00:00
Keavon Chambers
a1d93da532
Fix 'Grid' node migrations breaking up-to-date documents
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
2025-07-07 18:39:04 -07:00
Firestar99
69ed80b79b
Add ::IDENTITY
to node macro to return a ProtoNodeIdentifier
that is always a &'static str
( #2842 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* fix warnings on master
* make the `ProtoNodeIdentifier` of a Node be accessible and always a borrowed `&'static str`
* always generate `node_name::identifier()`, even with `skip_impl`
* make `FrontendNodeType` use Cow
* remove broken `DocumentNodeDefinition`s for old GPU nodes
* don't reexport `graphic_element` in it's entirety, only data structures
* adjust everything to use the new `node_name::identifier()`
* fixup imports for wasm
* turn identifier fn into a constant
2025-07-07 16:29:59 -07:00
James Lindsay
4a83067081
Fix Path tool's Path node transform calculation by skipping local transform based on first instance source ID ( #2843 )
...
* First instance source id
* Set source node id and migrations
2025-07-07 22:09:21 +00:00
celyk
88c059a607
Add Normalize and Length nodes ( #2837 )
...
* Add vector length node
* Add normalize node
* Add comments
* Make normalize node safer for the user
2025-07-07 21:48:22 +00:00
Adam Gerhant
24c6281644
Fix regression with migration code changed in node UI wire refactor ( #2840 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fixes
2025-07-06 14:34:43 -07:00
Adesh Gupta
ce605acf3a
Make the Path tool's segment drag molding work with linear segments ( #2838 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fix path tool molding
2025-07-06 04:20:06 -07:00
mTvare
3afe25964f
Merge branch 'master' into fix-range
2025-07-06 14:34:34 +05:30
Firestar99
2b380cec3a
Fix more node migrations that lost their implementations ( #2836 )
...
* fix migration for `SampleGradientNode`
* fix `BrushNode` unadjusted path
* fix `NoisePatternNode` unadjusted path
2025-07-06 02:00:07 -07:00
Keavon Chambers
c2f9a42a8e
Update allowed license signatures
2025-07-06 01:01:44 -07:00
Adesh Gupta
8b0a27939e
Clean up the Path tool's FSM to move segment molding state into the dragging state ( #2835 )
...
Cleanup molding segments state
2025-07-06 00:39:47 -07:00
Adesh Gupta
49db963ce1
Improve Path tool layer selection behavior using double-click instead of single-click ( #2794 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Improve path tool layer selection behaviour
* Fix layer selection behaviour
* Fix layer double click selection behaviour
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-05 14:17:30 -07:00
Ezbaze
5b5b369dcd
Make selected Text category nodes show a multi-line text area instead of one-line text field ( #2816 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Make String Value node input a TextArea
Signed-off-by: ezbaze <68749104+Ezbaze@users.noreply.github.com>
* Replace link to Tauri
Signed-off-by: ezbaze <68749104+Ezbaze@users.noreply.github.com>
* Make String Concatenate node & Replace String node inputs into a TextArea
Signed-off-by: ezbaze <68749104+Ezbaze@users.noreply.github.com>
---------
Signed-off-by: ezbaze <68749104+Ezbaze@users.noreply.github.com>
2025-07-05 11:34:35 +00:00
Adam Gerhant
f57163c795
Port node graph wires to the backend and improve graph UI performance ( #2795 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Improve node graph performance
* Fix wire bugs, add type default for properties.
* Grid aligned wire paths
* remove type source
* node from exposed input
* Refresh wires on preference change
* merge fixes
* Code review
* Fix names
* Code review
* Fix wires on redo/undo
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-04 22:53:37 -07:00
Keavon Chambers
354a68911e
Improve hotkeys with canonical flag, more industry-standard mappings, and fix GRS menu bar labels ( #2827 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-04 04:58:52 -07:00
Firestar99
8a0241f0fa
Fix running tests locally; fix migrations for relocated nodes ( #2805 )
...
* fix `BoundingBox for Raster<GPU>` when `wgpu` feature is disabled
* fix `tinyvec` crate not being `std` by default
* fixup migration for `CoordinateValueNode`
* fixup migration for raster nodes
2025-07-04 02:56:22 -07:00
Firestar99
a182a7347e
Extract gbrush
( #2784 )
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
2025-07-01 18:38:47 +00:00
Firestar99
602d7e8bd1
Extract graster-nodes
( #2783 )
2025-07-01 18:12:12 +00:00
Firestar99
8e2c206a01
node macro: copy visibility from node function ( #2782 )
2025-07-01 15:29:00 +00:00
Keavon Chambers
8c5accc069
Clean up node catalog by adding missing units, more tooltips; fix 'Line' node missing parameters ( #2813 )
...
* Fix unit usages
* Add node and parameter doc comments
* Fix the parameters panel for the 'Line' node when added from the graph
* Clean up nodes
* Fix tests
* Update the demo artwork
2025-07-01 07:47:54 -07:00
Keavon Chambers
0febfaf142
Make the node graph unrenderable message less scary
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-01 05:29:09 -07:00
Keavon Chambers
c671705945
New node: 'Index'
2025-07-01 05:25:33 -07:00
Salman Abuhaimed
83773baa00
Replace Rustybuzz with Parley for text layout, and add text tilt parameter ( #2739 )
...
* replace rustybuzz with parley for text layout handling
change text input direction based on text direction
* Code review
* change default character spacing to 0
* add shear to text node
this also adds migration code for documents that don't have shear
* shear migration for text node
- add shear property
- set character spacing to 0
* use old max_width and max_height in text migration if available
* Final code review pass
* Add units to the parameters
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-01 02:23:17 -07:00
mTvare
de80a05c72
Merge branch 'master' into fix-range
2025-07-01 07:57:00 +05:30
mtvare6
6ec8b4441d
fix increment ranges not drawing back immediately
2025-07-01 07:52:57 +05:30