Keavon Chambers
2f880fa035
Fix missing artboard layer icon
2025-12-23 14:43:13 -08:00
Keavon Chambers
415d4b578a
Fix markdown tooltips treating Rust type labels as HTML tags
...
Closes #3520 , a regression introduced in #3488 .
2025-12-22 15:23:40 -08:00
Keavon Chambers
9d26c040e9
Box the widget: Widget field of WidgetInstance ( #3506 )
...
Box the `pub widget: Box<Widget>` field of `WidgetInstance`
2025-12-22 04:18:33 -08:00
Keavon Chambers
64ed21f694
Clean up code with better naming
2025-12-21 23:35:00 -08:00
Keavon Chambers
123108c813
Promote vector meshes from experimental by removing it from preferences
2025-12-21 19:33:42 -08:00
Keavon Chambers
d441a02e72
Upgrade Rawkit library Rust dependencies ( #3124 )
...
* Upgrade Rawkit library Rust dependencies
* Continue on sccache failures
* Update again
2025-12-20 17:36:02 -08:00
Keavon Chambers
0a5e65bc9d
Fix the Brush tool being accessible while disabled in preferences
2025-12-20 03:48:41 -08:00
Keavon Chambers
3000519a10
New nodes: 'Reciprocal', 'Angle Between', and 'Angle To'
2025-12-20 02:36:43 -08:00
Keavon Chambers
f1e8ebefc5
Improve tooltip docs with Markdown styling and refined math node explanations ( #3488 )
2025-12-20 01:05:15 -08:00
Keavon Chambers
2c21e1a90b
Desktop: Clean up the UI scale setting in the Preferences dialog
2025-12-20 00:20:50 -08:00
Keavon Chambers
e99f30e633
Stop hover transfer working between rows of Properties panel dropdown menus
2025-12-19 23:45:07 -08:00
Keavon Chambers
2d6d054359
Make font selection show a live preview on hover; move its code to the backend ( #3487 )
...
* Remove FontInput.svelte
* Move font picking to the backend
* Fix Text tool font choice style turning to "-" on font that doesn't support previous style
2025-12-19 22:17:28 -08:00
Keavon Chambers
57055e373e
Add the Graphite Branding License to the website
2025-12-15 18:17:21 -08: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
Keavon Chambers
90c91db550
Disable the Brush tool by default and add it to preferences under experimental
2025-12-08 04:02:50 -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
Keavon Chambers
74d9c911bd
Fix ShortcutLabel drawing of consecutive key labels
2025-12-04 22:04:37 -08: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
Keavon Chambers and Timon Schelling
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
Keavon Chambers
221c2e9b47
Update the user manual's most outdated parts and improve its table styling
2025-11-28 03:00:32 -08:00
Keavon Chambers
8cebde76e2
Add support for RMB/Escape canceling layer drag reordering in the Layers panel ( #3426 )
...
* Add support for RMB/Escape canceling layer drag reordering in the Layers panel
* Disable hover effects on layers during drag; fix insertion line getting cut off at top of stack
2025-11-27 03:10:33 -08:00
Keavon Chambers
ab5c87f017
Hide cursor while dragging number inputs in Safari to approximate PointerLock, and disable it on desktop ( #3425 )
...
* Make pointerlock conditional and opt out on Safari and desktop
* Add Safari workaround
2025-11-27 00:12:58 -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
d247b81966
Fix regression that reversed indexing of the Loop Level parameter of the 'Instance Index' node ( #3421 )
2025-11-25 21:32:56 -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
Keavon Chambers and Adam
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
Keavon Chambers
6a3b098681
Add automatic type conversion from number to Vec2 by splatting ( #3394 )
2025-11-18 11:10:33 +00:00
Keavon Chambers
12453d2e61
Make the welcome screen not include Alt in Ctrl+Alt+N on desktop
2025-11-17 15:26:23 -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
Keavon Chambers
e42950b4be
Add support for middle-clicking (and double-clicking) the document tab bar to create a new document ( #3363 )
2025-11-10 00:54:30 -08:00
Keavon Chambers
f5ef1a94fe
Update the website with an evolved roadmap and new product screenshots/videos
2025-11-10 00:06:10 -08:00
Keavon Chambers
6b315c3b68
Modernize and fix website build tooling deps and utilize JS type checking ( #3348 )
...
* Modernize and fix website build tooling deps and utilize JS type checking
* Upgrade to the latest Node.js
2025-11-06 16:30:35 -08:00
Keavon Chambers
96d73a8570
Remove the application title from the header bar
2025-11-06 09:20:51 -08:00
Keavon Chambers
6d669ad734
Add documentation to many nodes ( #3338 )
2025-11-03 15:51:50 -08: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
Keavon Chambers
9dd715e4e9
Update community meetup blog post agenda details
2025-10-09 12:41:17 +02:00
Keavon Chambers
3364059e02
Add tooltip documentation to the graphic flattening nodes and string nodes ( #3269 )
2025-10-07 16:50:18 +02:00
Keavon Chambers
55a64064b0
Make the 'Decompose Rotation' node return degrees not radians; add tooltip documentation to transform nodes ( #3268 )
...
Make the 'Decompose Rotation' node return degrees not radians, and add tooltip documentation to transformation nodes
2025-10-07 09:36:35 +00:00
Keavon Chambers
91b08f4b4f
Add tooltip documentation for animation-focused nodes ( #3267 )
2025-10-07 07:00:27 +00:00
Keavon Chambers
fc9afce504
Add tooltip documentation for blending-focused nodes ( #3266 )
2025-10-07 00:23:50 +00:00
Keavon Chambers
6c033a2cd6
Tidy up tooltip documentation for several assorted nodes ( #3265 )
2025-10-07 01:28:03 +02:00
Keavon Chambers
593a89f2e2
Update content throughout the website ( #3252 )
2025-10-04 00:47:56 +00:00
Keavon Chambers
f4a0f272dd
Add note about the September 2025 release to the editor welcome screen
2025-09-20 05:20:20 -07:00
Keavon Chambers
ac4665683b
Blog post: Graphite community meetup in Germany
2025-09-20 01:59:05 -07:00
Keavon Chambers
9d15e56ce1
Fix and clean up typing-related flaws with the Math category of nodes
2025-09-18 16:37:01 -07:00
Keavon Chambers
7e3ab78ea4
Fix more flaws with 'Transform' node rad-to-deg migration; make 'Tangent on Path' also use degrees by default
2025-09-18 14:09:10 -07:00
Keavon Chambers
4662cbbbc1
Make the 'Count Elements' and 'String Length' nodes return f64 for consistency with 'Instance Index'
2025-09-16 16:08:03 -07:00
Keavon Chambers
a1df16bc9e
Switch infinite color/gradient rendering to a more robust approach
2025-09-13 14:03:11 -07:00
Keavon Chambers
50f06c886f
Fix crash from #3160 when migrating some old documents to use degrees not radians
2025-09-11 15:14:41 -07:00
Keavon Chambers
9a32e79853
Rename NodeInput::Network to NodeInput::Import ( #3163 )
2025-09-10 20:50:15 -07:00
Keavon Chambers
22aa8c1264
Update UI widget designs to improve color consistency and add a narrow height mode
2025-09-08 21:48:22 -07:00
Keavon Chambers
a2c0693038
Fix most known issues with migrations failing to open documents from the past year ( #3148 )
2025-09-07 11:10:03 -07:00
Keavon Chambers
89c9cf1352
Fix infinite recursion introduced in #2795 that occurs in old document migrations
2025-09-05 14:04:10 -07:00
Keavon Chambers
b5ebe78f5e
Update all frontend npm dependencies except Svelte and Vite ( #3120 )
...
* Upgrade node dependencies except Svelte 5 and its peer deps
* Fix lint errors
* Fix previous Rust deps upgrade breakage
* Fix demo artwork
* Allow profiling CI workflow to fail
2025-09-01 17:22:30 -07:00
Keavon Chambers
29684dde45
Update Rust dependencies ( #3112 )
...
* Update Rust dependencies
* Bump versions
* Try older ctor
2025-08-30 20:06:56 -07:00
Keavon Chambers
0e467907e2
Improve font import; replace Inconsolata with Source Code Pro; show third-party licenses in editor dialog ( #3079 )
...
* Improve font import; replace Inconsolata with Source Code Pro; show third-party licenses in editor dialog
* Code review
2025-08-21 11:57:04 -07:00
Keavon Chambers
3bcec37493
Remove the deprecated/archived Bezier-rs library from the repo ( #3058 )
...
Remove the Bezier-rs library from the repo
2025-08-16 17:29:00 -07:00
Keavon Chambers
bdc029c692
Add Table<Gradient> as a graphical type ( #3051 )
2025-08-13 01:42:51 -07:00
Keavon Chambers
1b351aca76
Replace the Color type with Table<Color> everywhere ( #3048 )
2025-08-12 00:38:23 -07:00
Keavon Chambers
2bb4509647
Replace the Spreadsheet panel with an improved Data panel ( #3037 )
...
* Improve the table data panel
* Add the "Window" menu bar section and polish everything
2025-08-10 07:46:42 -07:00
Keavon Chambers
2f4aef34e5
Add Table<Color> as a graphical type ( #3033 )
...
* Reduce code duplication in bounding box impls on Table
* Working Table<Color> rendering in the graph
* Implement color and fix other rendering with Vello and polish
2025-08-10 01:34:33 -07:00
Keavon Chambers
0f638314dc
Rename the Group type to Graphic everywhere ( #3009 )
2025-08-05 20:55:15 -07:00
Keavon Chambers
6dd17f76c1
Fix pointer offset from viewport position
2025-08-05 03:26:09 -07: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
4b11dced48
Make Table<T> implement the IntoIterator trait
2025-08-04 15:20:48 -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
Keavon Chambers
5637f01845
Rename GraphicElement -> Graphic and trait GraphicElementRendered -> Render ( #2987 )
2025-08-03 16:15:02 -07:00
Keavon Chambers
9a4a7dee80
Make auto-saving happen once per second
2025-08-03 15:20:30 -07: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
Keavon Chambers
07802204f2
Fix ~1 second delay opening new document in Chrome by correctly setting willReadFrequently ( #2962 )
...
* Fix ~1 second delay opening new document in Chrome by correctly setting willReadFrequently
* Use willReadFrequently in a couple more places
2025-07-31 02:49:16 -07:00
Keavon Chambers
abab145d65
Fix the Rasterize node to not ignore raster graphical data
2025-07-31 01:21:32 -07:00
Keavon Chambers
3cc9dd79fb
Rename the Coordinate data type to Vec2 ( #2959 )
2025-07-30 22:53:36 -07:00
Keavon Chambers
4391f88d03
Update references to the latest tech stack plans
2025-07-29 15:17:41 -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
Keavon Chambers
66cd7a3b76
Desktop: Add the transparent viewport hole punch and hook up window button plumbing ( #2949 )
2025-07-28 02:13:32 -07:00
Keavon Chambers
d9de1a1c73
Update the website's development roadmap
2025-07-27 03:17:44 -07:00
Keavon Chambers and Adam
f299497090
Add shaking input gesture to disconnect a node being dragged ( #2889 )
...
* Add shaking input gesture to disconnect a node being dragged
* Improve shake detection algorithm
* Fix reconnection
* Improve shake reconnect logic
* Fix history
---------
Co-authored-by: Adam <adamgerhant@gmail.com >
2025-07-19 02:11:52 -07:00
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 )
...
* 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 )
2025-07-16 18:45:10 -07:00
Keavon Chambers
99966d848d
Fix text per-glyph instance overlays and click target issues
2025-07-14 14:47:01 -07:00
Keavon Chambers
112efe88c2
Add multi-level loop indexing with the 'Instance Repeat' node
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
Keavon Chambers
88ac275e47
New nodes: 'Greatest Common Divisor' and 'Least Common Multiple'
2025-07-13 19:43:28 -07: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
Keavon Chambers
ceffcfd8df
Update website deployment CI script to output auto-generated code docs artifacts ( #2849 )
2025-07-09 23:51:25 -07:00
Keavon Chambers
d2f8c99744
Avoid panics during document migration
2025-07-08 18:13:05 -07:00
Keavon Chambers
a1d93da532
Fix 'Grid' node migrations breaking up-to-date documents
2025-07-07 18:39:04 -07:00
Keavon Chambers
c2f9a42a8e
Update allowed license signatures
2025-07-06 01:01:44 -07:00
Keavon Chambers
354a68911e
Improve hotkeys with canonical flag, more industry-standard mappings, and fix GRS menu bar labels ( #2827 )
2025-07-04 04:58:52 -07:00