Timon
e97d5520e8
Desktop: Support receiving double click inputs ( #3168 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* input support double clicks and clean up
* Review improvements
2025-09-13 12:40:31 +00:00
Salman Abuhaimed
3cc2aa8d89
Fix text node thread locals not being updated ( #3173 )
2025-09-13 11:33:00 +00:00
0SlowPoke0
75ad8d4abd
Fix a regression where G/R/S stayed active after switching from Pen or Shape tool ( #3166 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* Fix: cancel active G/R/S transform when switching from Pen or Shape tool
* Fix typo
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-11 22:59:19 +00: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
0SlowPoke0
929dbdb14c
Fix a regression with G/R/S in the Path tool applying to the whole object instead of the selected points ( #3164 )
...
unify Shape Tool and Select Tool pivot handling
2025-09-11 12:53:30 -07:00
Timon
2483832227
Mark new documents as saved ( #3165 )
...
* clean up new document message handling
* Mark new documents as saved
2025-09-11 12:09:15 -07:00
Dennis Kobert
5836416632
Optimize editor performance for node selection, click target bounds, and batched messages ( #3162 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Don't clone messages during batch processing
* Improve selected nodes perf and memoize network hash computation
* Reuse click target bounding boxes for document bounds
* Early terminate computing the connected count
* Cleanup
2025-09-11 10:08:26 +00:00
Dennis Kobert
ad5d8fcd37
Optimize rendering by caching intermediate render results when panning/zooming ( #3147 )
...
* Add svg render node
WIP
Fix error in context nullificaton node insertion
Correctly translate metadata
Fix warning
* Cleanup
* Remove color / gradient check and fix svg defs
* Implement viewport filling transform modification for vello
* Cleanup and comments
* Code review
2025-09-11 11:35:33 +02:00
Adesh Gupta
09ece9424d
Fix undo/redo history related issues with the Path tool ( #3111 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* 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
Keavon Chambers
9a32e79853
Rename NodeInput::Network to NodeInput::Import ( #3163 )
2025-09-10 20:50:15 -07:00
Adam Gerhant
332088bce1
Make the Transform node use angles in degrees instead of radians for Rotation and Skew ( #3160 )
...
* Make the Transform node use degrees not radians
* Migration script
* Migrate skew value input to store degrees
* Add comments
* Fix migrations to account for the old deprecated "Pivot" parameter
* Fix tooling interactions with degrees-based transforms
* Upgrade demo art
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-11 00:19:10 +00:00
Timon
c51967384f
Desktop: Fix keyboard shortcuts on windows ( #3139 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Try to fix shortcuts on windows
* Fix
2025-09-10 10:51:15 +00:00
Timon
9411612d7f
Move shader entrypoints to separate crate ( #3157 )
2025-09-10 10:20:45 +00:00
Timon
50be13522b
Desktop: Move preferences persistence to native ( #3138 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Move preference persistence to native
* Pass preferences as struct instead of serialized to string
2025-09-09 16:22:25 +00:00
Timon
4261b7dad1
Desktop: Move autosave persistence to native ( #3134 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Move autosave persistence to native 1
* Move autosave persistence to native 2
* Reimplement quirky behavior of the web frontend
* Code revew
* Use select_after_open
* fix fmt
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-09 11:27:54 +00:00
Dennis Kobert
1808bea2cf
Fix editor build script always being rerun ( #3156 )
2025-09-09 10:21:58 +00:00
Keavon Chambers
22aa8c1264
Update UI widget designs to improve color consistency and add a narrow height mode
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Has been cancelled
2025-09-08 21:48:22 -07:00
0SlowPoke0
485152bf8d
Add "Spiral" to the Shape tool and as a new node ( #2803 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Waiting to run
* 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
Dennis Kobert
ee586be381
Fix exporting an image failing because it is ignored while playing an animation ( #3151 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fix export not working while playing an animation
2025-09-08 09:32:07 +00:00
Dennis Kobert
a1e05754e5
Revert real time playback being enabled by default ( #3150 )
2025-09-08 02:15:59 -07:00
Priyanshu
84470b6b6d
Fix a regression with duplicating or pasting vector geometry in the Path tool ( #3142 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* fix path tool duplication
* fix copy and paste
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-08 05:11:15 +00:00
Priyanshu
c384175910
Improve stability of the 'Sample Points' node ( #3119 )
...
improve perimeter calculation of the path bezier segments when it is very close to linear bezier curve
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-08 04:20:46 +00:00
Flo
cf2e525ea9
Fix the ellipses of a long document name causing the tab's unsaved asterisk to be hidden ( #3146 )
...
* Fix unsaved indicator
* Change isSaved to isUnsaved to prevent showing star on tabs like Properties
* Fix CSS
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-08 03:40:49 +00:00
0SlowPoke0
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
Priyanshu
65171a5b8e
Fix Path tool box selection not selecting enclosed segments, only intersected ( #3141 )
...
fix path tool box selection not selecting the enclosed segment
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-07 22:08:56 +00:00
Adam Gerhant
7686edd47b
Add a cancel transaction message to the history system ( #3121 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Add cancel transaction
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-07 14:00:42 -07:00
Adesh Gupta
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
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
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
2025-09-05 14:04:10 -07:00
Firestar99
ad99c14b29
Shaders: Provide WgpuExecutor via Scope ( #3144 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
shaders: automatically connect wgpu-executor
2025-09-05 18:51:17 +00:00
Firestar99
f12b4da549
Shaders: add BufferStruct to support bool and enums ( #3109 )
...
* node-macro: modernize `node` macro
* node-macro: add `CrateIdent` struct containing resolved crate paths
* shaders: add trait `BufferStruct` and derive macro
* shaders: `gamma_correction` and `channel_mixer` gpu nodes
* shaders: `selective_color` gpu node
* shaders: `brightness_contrast_classic` gpu node
* shaders: append GPU to display name
* node-macro: fixup doc links
* shaders: consistently append " GPU" to all shader node names
2025-09-05 16:32:41 +00:00
Dennis Kobert
acd7ba38cc
Graphene: Fine-grained context caching ( #2500 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* RFC: Fine Grained Context Caching
* Fix typos
* Fix label
* Add description of inject traits
* Explicitly support context modification
* Start implementation of context invalidation
* Add inject trait variants
* Route Extract / Inject traits to the proto nodes
* Implement context dependency analysis
* Implement context modification node insertion
* Fix erronous force graph run message
* Fix Extract* Inject* annotations in the nodes
* Require Hash implementation for VarArgs
* Fix nullification node insertion
* Cross of done items unresolved questions section
* Update Cargo.lock
* Fix context features propagation
* Update demo artwork
* Remove BondlessFootprint and FreezeRealTime nodes
* Fix migration
* Add migrations for adding context features to old networks
* Always update real time regardless of animation state
* Cargo fmt
* Fix tests
* Readd sed command to hopefully fix profile result parsing
* Add debug output to profiling pr
* Use new totals instead of summaries for for iai results
* Even more debugging
* Use correct debug metrics (hopefully)
* Add more MemoNode implementations
* Add context features annotation to shader node macro
* Cleanup
* Time -> RealTime
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-05 11:44:26 +00:00
Timon
c081d0a9de
Allow the release info build script to work without requiring Git to be installed ( #3105 )
...
* Prevent panic if env GRAPHITE_GIT_COMMIT_HASH is less than 8 chars long
* Improve release info build script
* Nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-05 09:09:29 +00:00
Firestar99
5d441c2e18
Shaders: runtime and shader node codegen ( #2985 )
...
* shader-rt: initial
* shader-rt: fix recursion when generating shader node
* shader-rt: replace gpu node's args and ret types with `Raster<GPU>`
* shader-rt: properly cfg out the gpu node
* shader-rt: fix `impl Context` in the wrong places
* shader-rt: disable gpu blend node, needs two images
* shader-rt: connect shader runtime
* shader-rt: pass WgpuExecutor by reference
* shader-rt: correct bindings with derpy arg buffer
* shader-rt: manual pipeline layout, fixing errors when bindings got DCE'd
* shader-rt: correct RT format, working invert gpu node
* shader-rt: cleanup codegen with common sym struct
* shader-rt: correct arg buffer handling
* shader-nodes feature: put shader nodes behind feature gate
* shader-nodes feature: rename any `gpu_node` to `shader-node`
* shaders-rt: fix wgpu label name
* shaders-rt: explain fullscreen_vertex coordinates with a drawing
2025-09-05 08:33:53 +02:00
Dennis Kobert
7dc86b36ca
Fix profiling CI action by avoiding command line length limits ( #3136 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fix profiling ci by avoiding comand line length limits
2025-09-04 12:22:17 +02:00
Firestar99
a10103311e
Shaders: rust-gpu integration to compile shader nodes to WGSL ( #3097 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* shaders: shader compilation setup
* nix: use rustc_codegen_spirv.so from nix
* shaders: codegen for per_pixel_adjust shader nodes
* shaders: disable nodes needing bool
* shaders: `#[repr(u32)]` some enums
* shaders: add lint ignores from rust-gpu
* shaders: fix node-macro tests
* gcore-shaders: toml cleanup
* shader-nodes feature: put rust-gpu to wgsl compile behind feature gate
* shaders: fix use TokenStream2
* shaders: allow providing shader externally
* Update iai runner in workflow
---------
Co-authored-by: Timon Schelling <me@timon.zip>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2025-09-02 14:10:32 +00:00
Timon
083dfa5f49
Clean up autosave persistence ( #3115 )
...
* Set auto save state to false on document rename
* Update open document list on transaction commit and aboard
* Use current network to compute hash
Was using the last element in undo
Before artworks where not auto saved when the had no undo history
* Refactor persistence
2025-09-02 13:27:38 +00:00
Keavon Chambers
b5ebe78f5e
Update all frontend npm dependencies except Svelte and Vite ( #3120 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* 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
Firestar99
be3de511f2
Desktop: Pin CEF version ( #3113 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
Fixed CEF cargo dependency so `cargo update` does not update it
2025-08-31 10:22:34 +00:00
Keavon Chambers
29684dde45
Update Rust dependencies ( #3112 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Update Rust dependencies
* Bump versions
* Try older ctor
2025-08-30 20:06:56 -07:00
Timon
101ae6d000
Add nix configuration for the rust-gpu toolchain ( #3027 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* nix: Try providing cargo-rust-gpu to nix devs, naga branch
* nix: Try providing cargo-rust-gpu to nix devs 2
* nix: Add exec with rust-gpu env script to flake
* nix: override Path for rust gpu
* nix: rust-gpu with `use-compiled-tools` to fix differences
* nix: remove spirv-tools
---------
Co-authored-by: firestar99 <firestar99@sydow.cloud>
2025-08-30 16:42:07 +00:00
Meet Zalavadiya
0a153150f5
Add quick measurement support to the Artboard tool for distances between artboard edges ( #3102 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* 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
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
Firestar99
ce1cd1706b
Disable proc-macros crate from being tested due to cargo bug ( #3103 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* cargo: remove unused `editor/ron` feature
* cargo: add wgpu-executor as a member, sort list
* cargo: test every crate by default
* cargo: disable testing of `graphite-proc-macros`
2025-08-29 12:25:35 +02:00
mTvare
c14e67ec28
Fix outside stroke alignment not using masks when transparent ( #3060 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Fix outside stroke alignment not using masks when transparent
* Fix for vello
* fix fixes
* cargo fmt
* scale stroke by align type
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-28 13:28:51 -07:00
Timon
1d4d1026d4
Desktop: Make embedded resources optional ( #3094 )
...
* Make embedding resources optional
* Move remaining cef rc to internal module
* Move embedded resources to separate crate
* Review fixup
* Fix
* Fix read
* Add read error
2025-08-28 17:18:18 +00:00
Firestar99
95ef8a5343
Change Table<Color> node inputs to Color where only one value is used so GPU nodes work ( #3096 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* graster-nodes: change `Table<Color>` params to `Color` where only one value is used
* Re-add support for Color and Option<Color>
* Add warning when a default value isn't parsed
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
2025-08-28 15:16:56 +02:00
Priyanshu
9987112cc9
New node: 'Separate Subpaths' to break subpaths into individual vector table rows ( #3069 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* impl separate paths node
* rename
* refactor
* Rename nodes 'Split Segments' -> 'Cut Segments' and 'Split Path' -> 'Cut Path'
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-28 06:07:09 +00:00
Timon
ad59e1c622
Desktop: Add window control buttons for Linux ( #3081 )
...
* Add window buttons for linux
* Code and design review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-28 03:53:43 +00:00
Firestar99
82784b46a0
Add node input type support for f32 to enable usage on GPU ( #3095 )
...
* update Cargo.lock
* f32: switch to f32 params
* f32: more f32 params, remove f32 casts
* f32: property support for f32
* f32: fix test `stable_node_id_generation`
* Fix f32 properties
* Fix f32 frontend data types
* Rename TaggedValue::Vec2 to ::FVec2 and ::Affine2 to ::FAffine2
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-27 20:08:45 -07:00