Timon
b4fc3d0580
Desktop: Fix pivot and axis constraint overlays ( #3463 )
...
* fix pivot gizmo native dowel_pin overlay
* fix native snapping overlay
2025-12-15 14:53:43 +00:00
Timon
6d852f11af
Desktop: Text clipboard support ( #3461 )
...
* gray background for viewport texture
* cust copy paste support
* connect clipboard read on web
* fix eyedropper bounds
* cleanup
* add missing char events for some named keys like enter
2025-12-12 00:16:35 +00:00
Keavon Chambers
d6c06da878
Move the MenuBarMessage up from within PortfolioMessage to the root Message ( #3459 )
...
Move the MenuBarMessage up from within PortfolioMessage
2025-12-08 20:49:35 -08:00
Adam Gerhant
bba771bd08
Add mitigation for inability to connect graph import directly to export by auto-inserting a Passthrough node ( #3449 )
...
insert passthrough
2025-12-07 19:19:55 +00:00
Adam Gerhant
9fc98cf03f
Desktop: Remove web_sys text measuring to fix node graph layer widths ( #3455 )
...
* Remove web_sys text measuring
* Improve export
* Fix top of layer stack
2025-12-07 12:11:42 +00:00
Adam Gerhant
3926337b44
Fix traversal when deleting nodes ( #3358 )
...
* Fix deletion
* Fix traversal over primary
2025-12-07 03:41:23 -08:00
Keavon Chambers
fb0fab0622
Update links from graphite.rs to graphite.art
2025-12-06 18:10:27 -08:00
Keavon Chambers
5b472a64b2
Remove the "coming soon" dialog and hide not-yet-ready features/tools
2025-12-05 04:17:44 -08:00
Yuxiang Huang
8ca546c164
Fix using Esc to abort box selection and wire dragging causing the graph to close ( #3409 )
...
* Implement proper node graph interaction aborting when pressing Escape
* Fixes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-12-05 01:42:00 +00:00
Keavon Chambers
2ee8e56cef
Fix sending platform-specific shortcut keys to frontend before editor is initialized with the platform set
2025-12-04 15:35:30 -08:00
Keavon Chambers
783ea0b437
Unwrap the Layout enum to replace it with the WidgetLayout struct now called Layout ( #3448 )
2025-12-04 15:24:40 -08:00
Keavon Chambers
3c4ad8b720
Refactor the WidgetLayout struct to remove SubLayout and avoid sending LayoutTarget to frontend
2025-12-04 02:44:54 -08:00
Keavon Chambers
4581689d9c
Rename WidgetHolder to WidgetInstance
2025-12-04 01:10:22 -08:00
Keavon Chambers
810ce40e9b
Restyle and refactor shortcut labels to send hints bar and welcome screen layouts from Rust ( #3447 )
...
* Restyle UserInputLabel and refactor its usages to have all input its data sent from Rust
* Replace the welcome screen quick buttons with ones sent by backend
* Add the ShortcutLabel widget to the backend
* Replace hints bar with a backend-controlled layout; show mouse icons in place of mouse labels
2025-12-04 01:04:14 -08:00
Keavon Chambers
6ed42d06bb
Fix horizontal scrolling on Mac when holding Shift ( #3446 )
2025-12-03 20:06:00 -08:00
Timon
39b5229df7
Desktop: Limit application to a single instance ( #3441 )
...
* only allow single instance
* more reliable CEF cache cleanup
* some cleanup
* fix lock file location
* add simple signal handling
* fix skew handles on desktop
* mac remove unused helpers
2025-12-03 19:13:15 +01:00
Keavon Chambers
600fb5c28f
Refactor the old menu bar plumbing to use standard TextButtons ( #3444 )
...
* Refactor the old menu bar plumbing to use standard TextButtons
* WIP: Fix Mac native menu bar
* WIP: fix desktop menu bar mac
* Refactor menu bar definitions to use the builder pattern
* WIP: fixup desktop
* cleanup
* fix linux
* Remove dead code that was failing to lint
---------
Co-authored-by: Timon Schelling <me@timon.zip>
2025-12-03 12:41:54 +00:00
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
Timon
bb4516e377
Desktop: Add app menu for Mac ( #3428 )
...
* add mac app menu
* review fixup
* Remove "About Graphite" ellipsis, add "Show All", make it say "Quit Graphite"
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-28 23:42:14 +00:00
Keavon Chambers
221c2e9b47
Update the user manual's most outdated parts and improve its table styling
2025-11-28 03:00:32 -08:00
James Lindsay
8383a3afac
New node: 'Extrude' ( #3414 )
...
* Add extrude node
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-26 18:50:10 -08:00
Keavon Chambers
9eb8835bd5
Add the 'Blend Shapes' and 'Origins to Polyline' nodes; generalize the 'Morph' node to >2 states ( #3405 )
...
* New nodes: 'Morph' and 'Multi-Morph'
* Blend Shapes node
* Add the 'Index Points' node
* Fix failing test
2025-11-25 22:17:55 -08:00
Keavon Chambers
eb0f019b15
New nodes: 'Reset Transform', 'Replace Transform', 'Count Points', 'Index Points' ( #3420 )
...
- Add the 'Reset Transform' and 'Replace Transform' nodes
- Add the 'Count Points' and 'Index Points' nodes
- Make the 'Index Elements' node support negative indexing from the end
- Make the 'Flatten Vector' node's implementation reusable
- Fix crash displaying 0x0 raster image in the Data panel
- Fix the 'Points to Polyline' node not working on two-point objects
2025-11-25 20:41:59 -08:00
James Lindsay
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
a932eaedcf
Render artwork at correct resolution when using vello on wasm ( #3416 )
...
* Work on fixing rendering for wasm+vello
* Render vello canvas in wasm at the correct resolution
* Cleanup unused surface rendering code
* Remove vector to raster conversion
* Remove desktop changes
* Revert window.rs changes
* Don't round logical coordinates
* Fix desktop compilation + don't round logical coordinates for svg rendering
* Further cleanup
* Compute logical size from acutal physical sizes
2025-11-24 14:23:27 +00:00
Keavon Chambers
6e66c79392
Fix 'Mask' node missing Properties widget; fix crash with 'Brightness/Contrast Classic' node ( #3404 )
...
* Fix 'Mask' node missing Properties widget; fix crash with 'Brightness/Contrast Classic' node
Also clean up dead code and improve tooltip for the "-" Properties panel widget fallback.
* format type
---------
Co-authored-by: Adam <adamgerhant@gmail.com>
2025-11-24 09:21:07 +00:00
Adam Gerhant
7afbeaa1f9
Separate graph error diagnostics from frontend node metadata ( #3385 )
...
* Separate error popup from node
* Improve context menu data
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-24 08:55:30 +00:00
Adam Gerhant
06484ef4e0
Show red connectors on a type-erroring node and accurate connector colors upstream of it ( #3110 )
...
* Refactor TypeSource
* Add complete valid types
* Add invalid type
* Improve valid/complete types and disconnecting
* Code review
* Return types on error
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-19 03:00:32 +00:00
Dennis Kobert
57b0b9c7ed
Restructure node crates ( #3384 )
...
* Restructure node-graph folder
* Fix wasm compilation
* Move node definitions out of *-types crates
* Cleanup
* Fix warnings
* Fix warnings
* Start adding migrations
* Add migrations and move memo nodes to gcore
* Move nodes/gsvg-render -> rendering
* Replace some hard coded identifiers and fix automatic conversion
* Fix Vec2Value node migration
* Fix formatting
* Add more migrations
* Cleanup features
* Fix core_types::raster import
* Update demo artwork (to make profile ci work)
* Move *-types to node-graph/libraries folder
* Add missing node migrations
* Migrate more nodes
* Remove impure memo node
* More fixes and remove warning
* Migrate context and add a few missing migrations
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-18 10:21:54 +00:00
Adam Gerhant
85965c8b6a
Fix export edge distance ( #3386 )
2025-11-17 17:22:05 +00:00
Dennis Kobert
181c30bc0a
Fix assorted Clippy lints ( #3390 )
2025-11-17 07:58:31 +00:00
Wade Cheng
94414adaf8
Add selection subtracting to the node graph view ( #3290 )
...
Add selection subtracting for node graph
2025-11-14 20:09:43 +00:00
Timon
3871b6c4cf
Fix graph UI culling on-screen nodes ( #3380 )
...
* fix
* review fixup
2025-11-13 21:25:27 -08:00
Keavon Chambers
ca5785bc8f
Show a "Ctrl +" label instead of "Ctrl =" for View > Zoom In ( #3377 )
2025-11-13 17:24:04 -08:00
Keavon Chambers
ac74bd9903
Allow the Stroke node to receive "Dash Lengths" values from the node graph
2025-11-12 01:14:17 -08: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
James Lindsay
7f10a4258e
Fix copying nodes sometimes failing when no OutputConnector exists ( #3365 )
...
* Fix copy nodes sometimes failing when no OutputConnector exists
* Add test for copying a node
2025-11-10 20:26:25 +00:00
Timon
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
Dennis Kobert
68e67055d8
Update Linebender-related dependencies ( #3349 )
...
* Updates crates from linebender ecosystem
* Remove usages of decprecated Clip mix mode
2025-11-08 08:59:00 +01:00
Keavon Chambers
055d543117
Rename the 'Index' node to 'Index Elements'
2025-11-03 13:35:56 -08:00
Keavon Chambers
0998abdaf3
Add support for visualizing Vec<String> in the Data panel
2025-11-03 13:13:54 -08: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
1b9a492a74
Fix crash when creating cyclic nodes ( #3313 )
...
* Fix crash when creating cyclic nodes
* Re-add the recursive set_input call
2025-10-30 13:01:45 +01:00
Dennis Kobert
e8f18b0ac0
Cache calculation of bounding boxes with transforms ( #3287 )
...
* Cache calculation of bounding boxes with transforms
* Reuse bounding boxes across for the same rotation
* Cleanup code and add documentation
* Add tests
2025-10-17 10:20:55 +00:00
Timon
3509f0b035
Desktop: Persist document path ( #3272 )
...
* persist document path
* persist data cleanup
2025-10-15 10:30:47 +00:00
Sambhram
591096a817
Exit sub-network via Escape key ( #3285 )
...
"Escape key in sub-network"
Co-authored-by: Timon <me@timon.zip>
2025-10-15 00:08:04 +00:00
Mateo
497758c273
Desktop: Add simple cli interface ( #3059 )
...
* Open document from cli and add some files to .gitignore
* Revert .gitignore
* Revert .gitignore
* Implement cli properly
* Add ui-accelerated-painting option
* Format code
* Revert changes in .vscode folder
* Don't use global variables for cli
* Apply suggested changes
* Make ready for merge
* Improve names
* remove comment
---------
Co-authored-by: Timon <me@timon.zip>
2025-10-13 21:09:40 +00:00
Trevor Paley
ca70fd8380
Add quick measurement between objects and artboards ( #3274 )
2025-10-12 18:14:02 +00:00
Timon
48ac24da14
Desktop: Fix frontend message response dispatch ( #3247 )
...
* One annoying debugging session later
Discovered that the editor handles frontend messages differently from other messages.
It requires all frontend messages to be fully processed before dispatching any resulting messages.
In the web frontend, this behavior happened implicitly because message dispatch is queued at the current end of the JavaScript execution queue.
For the desktop frontend, I added a vector to collect all responses until the entire batch of frontend messages is handled, and then dispatch them afterwards.
* Fix double click travel
2025-10-06 20:04:24 +00:00
Dennis Kobert
bc66148d2b
Reset the overlay context for each draw request and use global font cache ( #3231 )
2025-09-28 15:36:08 +00:00