Keavon Chambers
e8ebcc2c21
Replace text-only tooltips with custom richly styled tooltips ( #3436 )
...
* Replace the title attribute with custom FloatingMenu tooltips
* Separate tooltip labels and descriptions into two styled blocks
* Move keyboard shortcut tooltips to a separate section at the bottom
* Update shortcut key styling in tooltips and hints bar
* Fix .to_string()
2025-11-30 13:32:58 -08:00
James Lindsay and Keavon Chambers
117ce301b0
Fix regressions with G/R/S ( #3355 )
...
* Better local grab
* Formatting
* Multiply by document_to_viewport.matrix2.y_axis.length()
* Fix logic errors
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-11-25 15:26:19 -08:00
Dennis Kobert
181c30bc0a
Fix assorted Clippy lints ( #3390 )
2025-11-17 07:58:31 +00:00
James Lindsay
4e65887b90
Fix the Artboard tool drawing the first artboard on an infinite canvas with layers present ( #3356 )
...
Improve creating the first artboard
2025-11-10 13:36:30 -08:00
Timon and Dennis Kobert
881ec0b193
Split out viewport handling into its own message handler ( #3331 )
...
* extract viewport handeling
* fix web overlays
* some cleanup
* remove some physical conversions
* fix resize snapping
* fixup
* apply some review feedback
* make viewport api more ergonomic
* fix
* fix web overlay canvas clear size
* clear workaround for canvas
* rename trigger message
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2025-11-08 08:59:38 +00:00
skearya
c4bbb7e880
Reduce editor message size by 67% and fix simple clippy warnings ( #3327 )
...
Reduce message size and fix some clippy issues
2025-11-02 08:50:29 +01:00
James Lindsay
d919dfe757
Fix crash when resizing a deleted artboard ( #3322 )
2025-11-01 09:26:26 +01:00
James Lindsay
40c6c6160b
Fix snapping when drawing an artboard ( #3312 )
...
* Fix snapping when drawing an artboard
* Fix typo in test
2025-10-29 22:41:39 +01:00
Trevor Paley
ca70fd8380
Add quick measurement between objects and artboards ( #3274 )
2025-10-12 18:14:02 +00:00
Dennis Kobert
4e47b5db93
Restructure gcore/text module and fix memory leak ( #3221 )
...
* Restructure gcore/text module and fix memory leak
* Remove unused import
* Fix default font fallback causing wrong caching and rename to TextContext
* Upgrade demo art
2025-09-25 15:29:07 +02:00
Adesh Gupta and Keavon Chambers
09ece9424d
Fix undo/redo history related issues with the Path tool ( #3111 )
...
* Fix transactions
* A little cleanup
* Fix bug in delete
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-11 05:02:45 +00:00
0SlowPoke0 and Keavon Chambers
485152bf8d
Add "Spiral" to the Shape tool and as a new node ( #2803 )
...
* 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
* updated the api
* changed the function_name
* [/] to update the turns widget in shape tool
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-08 14:37:43 -07:00
Priyanshu and Keavon Chambers
84470b6b6d
Fix a regression with duplicating or pasting vector geometry in the Path tool ( #3142 )
...
* fix path tool duplication
* fix copy and paste
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-08 05:11:15 +00:00
0SlowPoke0 and Keavon Chambers
3e50d177b7
Add "Grid" to the Shape tool along with row/column gizmos ( #2921 )
...
* integrated grid shape in shape-tool
* add overlays,detection,transform for gizmo
* fix compile issues
* handle negative correctly,fix undo redo and abort
* fix missed merge conflicts
* fixed mouse cursor,correctly translatiing
* cleanup
* fix click-target area inside rect and spacing
* add 10px closer to gizmo line
* resolved conflicts
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-07 17:53:37 -07:00
Adesh Gupta and Keavon Chambers
57111cff92
Fix undo history getting stuck when the Select tool clicks the background to deselect ( #3143 )
...
Remove unnecessary start transaction messages
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-07 19:55:12 +00:00
Meet Zalavadiya and Keavon Chambers
0a153150f5
Add quick measurement support to the Artboard tool for distances between artboard edges ( #3102 )
...
* logic added for artboard
* fixed measurement logic
* fix linting issues
* removed unused code
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-29 21:27:29 +00:00
Adam Gerhant and Keavon Chambers
f1a1275601
Add support for adding/removing a graph's primary imports/exports separately from the secondary ( #3089 )
...
* Primary Import/Export
* Primary Import/Export
* Complete import exports
* Final changes
* Improve line width
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-29 20:57:15 +00:00
Adesh Gupta and Keavon Chambers
34b52bcc54
Clean up Path tool related code and fix bugs in several cases ( #3070 )
...
* Fix regressions related to path tool
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-27 23:42:04 +00:00
Dennis Kobert
7377871106
Fix clippy warnings ( #3085 )
...
* Run clippy fix
* Clippy v2
* Make const item static
* Cargo fmt
2025-08-23 11:45:47 +02:00
Priyanshu and Keavon Chambers
615c035683
Fix a Path tool regression where selection depends on box winding direction ( #3062 )
...
fix path tool selection
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-19 04:36:18 +00:00
Mohd Mohsin and Keavon Chambers
17d70dc60e
Add struct field visualization to the editor message hierarchy tree visualization on the website ( #2917 )
...
* Fix Message Tree: Enforce Structure and Visibility
* Code review
* fix the erroreous ouputs
* error handling for MessageHandler
* Fix website visualization HTML generation
* error handling for tuple-style message enum variant
* cleanup
* Update messages
* Normalize BroadcastEvent
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-18 21:04:29 -07:00
Vineet Puranik and Keavon Chambers
0a4a822837
Fix Alt-based quick measurement to show document space coordinates instead of viewport space ( #2995 )
...
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-18 06:33:09 +00:00
Adesh Gupta and Keavon Chambers
52174fa4c2
Remap Path tool point sliding to G G ( #2913 )
...
* Feat: Point sliding on G G
* Code cleanup
* Fix gg sliding behaviour
* Fix build after merge conflict resolution
* Fix slide point and add hints
* Fix history in segment insertion
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-17 03:39:38 +00:00
Priyanshu and Keavon Chambers
d22b2ca927
Refactor the Centroid node and Subpath struct and methods to use Kurbo, eliminating all remaining usages of Bezier-rs ( #3036 )
...
* define Subpath struct in gcore and refactor node-graph
* Refactor few methods
* refactoring worked!
* refactor centoid area and length
* remove unused
* cleanup
* fix pathseg_points function
* fix tranforming segments
* fix segment intersection
* refactor to_path_segments fn in gpath-bool crate
* refactor gcraft
* add bezier-rs dep
* Code review the editor directory
* use path-bool for solving roots
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-16 13:39:25 -07:00
Adesh Gupta
99984fc2d6
Fix regression in shallow select ( #3050 )
...
* Add defer message for shallow select
* Fixed infinite loop
2025-08-15 12:55:05 +02:00
Keavon Chambers
bdc029c692
Add Table<Gradient> as a graphical type ( #3051 )
2025-08-13 01:42:51 -07:00
Dennis Kobert
ef2fab32a2
Track which document the deferred executions belong to ( #3010 )
...
* Track which document the deferred executions belong to
* Cleanup
* Fix tests
* Fix freehand tool
* Notify defer handler of graph execution updates asap
2025-08-06 21:16:02 +02:00
Keavon Chambers
0f638314dc
Rename the Group type to Graphic everywhere ( #3009 )
2025-08-05 20:55:15 -07:00
James Lindsay
23eb5998db
Fix pen tool ( #3002 )
2025-08-05 11:41:59 +00:00
Keavon Chambers
2e1396462c
Eliminate bare Graphic and Artboard graph data by making Merge and Artboard nodes internally use tables ( #2996 )
...
* Eliminate bare Graphic and Artboard graph data by making Merge and Artboard nodes internally use tables
* Make the Extend node user-facing
2025-08-05 02:24:12 -07:00
Keavon Chambers
c98477d8ed
Rename graphic subtypes to remove their "data" and "group" suffixes ( #2990 )
...
* Rename VectorData to Vector
* Rename other VectorData* types to Vector*
* Move assorted data types out of vector_data.rs into misc.rs
* Rename vector_data.rs to vector_types.rs and remove the vector_types module folder
* Rename other references to "vector data"
* Remove label widgets for raster/vector/group to use "-" instead
* Rename RasterData to Raster
* Rename GraphicGroup to Group
* Fix migrations and rename graphic_element.rs -> graphic.rs
* Rename TaggedValue::ArtboardGroup -> TaggedValue::Artboard
2025-08-04 04:53:25 -07:00
0SlowPoke0 and Keavon Chambers
fd66f29853
Fix Shape tools bugs with stars/polygons with negative radii and circle radius click detection when viewport is zoomed ( #2986 )
...
* fixed spacing,click detection in radius gizmo fix drag in start point radiius gizmo
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-04 01:14:28 +00:00
Timon and Keavon Chambers
8fad295e36
Make checkboxes not use interior mutability ( #2976 )
...
* Make checkboxes not use interior mutability
* Use copy instead of cloning
* Fix
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-03 15:16:21 -07:00
Dennis Kobert
7fcdad1f88
Remove message deferral for text creation ( #2978 )
...
* Remove message deferral for text creation
* Restructure Trigger Navigation ready to not hijack the PTZ Update
2025-08-03 16:06:30 +02:00
Keavon Chambers
a0ce56d9b6
Rename Instances<T> to Table<T> and the "instance" terminology to "TableRow" and "element" ( #2981 )
...
* Instances -> Table
* instances.rs -> table.rs
* Rename occurrances of the word "instances"
* .instance -> .element
* Instance* -> TableRow*
* Rename Table and TableRow methods to not say "instance"
* Remove presumed unused serde defaults now that tables default to length 0 not 1
* Rename occurences of the word "instance"
* Un-alias the RasterDataTable<Storage>, VectorDataTable, GraphicGroupTable, ArtboardGroupTable typedefs
* Move artboard type and node code out of graphic_element.rs to a new artboard.rs
* Organize the TaggedValues
* Fix tests
* Fix prior regression with Image Value node not upgrading
2025-08-03 04:12:18 -07:00
James Lindsay and Keavon Chambers
1e3c3da3fe
Fix the Path tool erroneously showing editable geometry overlays belonging to hidden Path nodes ( #2932 )
...
* Ignore hidden path nodes
* Use correct path node vector modification
* Break test
* Better fix for test
* Fix rustfmt
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-02 22:53:05 +00:00
Adesh Gupta and Keavon Chambers
c42011f8e2
Partly fix when the "Make Path Editable" button is shown as enabled ( #2968 )
...
* Fix add path node button enable
* Fix add path node button enable
* Refactor code
* Fix formatting
* Clean up logic
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-02 21:55:04 +00:00
Adesh Gupta and Keavon Chambers
b9a1b2e951
Add copy/cut/paste/duplicate functionality for path geometry ( #2812 )
...
* Copy and Paste for paths
* Fix merge
* Implement Copy, Cut and Duplicate
* Fix selection of segments
* Fix formatting
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-02 21:15:01 +00:00
Adesh Gupta and Keavon Chambers
668acd3c30
Improve the Path tool's segment editing mode and make hovering manipulators react contextually ( #2860 )
...
* Improve path editing mode
* Code review
* Tidy up UI
* Update path selection behaviour
* Fix linting
* Remove frozen flag
* Code review
* Fix segment split
* Fix deleting segments
* Add requred methods in vello overlay context
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-01 23:58:35 -07:00
0SlowPoke0 and Keavon Chambers
523132da17
Add 'Circle' to the Shape tool and its associated gizmos ( #2914 )
...
* merged with circle and impl inner radius gizmo for arc
* impl radius-gizmo for arc
* fix only one gizmo shown at a time
* Code review
* make hints update when changing shape,add default behaviour when dragging to make circle earlier fixed to from center
* fixed arc-radius hover threshold and show arc-endpoint when hover over arc-radius gizmo
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-01 22:23:21 -07:00
Dennis Kobert and Keavon Chambers
f15023ef58
Fix regression with double-click in the Path tool not working ( #2963 )
...
* Fix double click in path tool not working
* Remove debug line
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-07-31 21:53:28 +00:00
0SlowPoke0 and Keavon Chambers
7e0a274bd1
Fix Shape tool arc gizmo snap visualization and pointer cursor icon when hovering or dragging ( #2957 )
...
* fixed cursor,arc bugs
* Update cursor icon
* send pointer-move only when required
* make it compile
* Code review
* remove repeated modifier key
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-07-31 00:04:08 -07:00
Keavon Chambers
b348fabfd2
Remove the unsupported Brush tool warning dialog now that raster performance is improved
2025-07-28 17:03:48 -07:00
Dennis Kobert
35ab266bbb
Add handler for deferred execution of messages ( #2951 )
...
* Add Handler for defered execution of messages
* Cleanup
* Track graph execution id to associate messages with their corresponding execution id
* Rename ViewportReady -> NavigationReady
* Defer layer deselection
2025-07-29 01:57:11 +02:00
Adesh Gupta and Keavon Chambers
75614eb9d4
Fix vector mesh editing behavior in various edge cases ( #2943 )
...
* Fix colinear switch behaviour
* Fix Tab to switch handles
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-07-27 00:20:39 +00:00
0SlowPoke0 and Keavon Chambers
3a8c1b6f97
Add Arc drawing mode to the Shape tool and the associated angle gizmos ( #2757 )
...
* implement arc gizmo handler
* fixed wrapping need to fix snapping and overlays
* fixed all the issues
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-07-26 14:55:38 -07:00
Salman Abuhaimed and Keavon Chambers
85021fd9e0
Add text alignment to the Text node ( #2920 )
...
* Add text alignment to Text node
* Lots of renames and improvements
* Add text alignment to the Text tool
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-07-25 22:04:12 -07:00
Firestar99
4fec24893e
Shaders: add gcore-shaders and make graster-nodes no-std ( #2925 )
...
* gcore-shaders: add crate, move `color` and `blending` from gcore
* gcore-shaders: move `AsU32`
* gcore-shaders: move `ChoiceType`, switch `Cow` for `&str`, adjust node macro
* gcore-shaders: move `registry::types`
* gcore-shaders: move `context::Ctx`
* raster-nodes: make it `no_std` with `std` feature
* gcore-shaders: fix doctest
2025-07-25 17:53:26 +00:00
Szilveszter Ábrám and Keavon Chambers
0d43ad2ea0
Fix Path tool path drag ghost outline sticking to viewport, not moving with document while dragging ( #2912 )
...
* Added ghost outline clearing when moving outlines via Path Tool
* Fix ghost outline staying fixed during drag by storing it in document space
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-07-24 09:28:17 +00:00
Adesh Gupta and Keavon Chambers
4427e97f73
Add "Make Path Editable" buttons in the Path tool control bar and Layer menu ( #2900 )
...
* Add graph message for adding a path
* Disable options when adding path tool is not possible
* Move Layer menu entry location
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-07-18 12:22:40 +00:00