Timon
548e0df1a1
Desktop: Mac menu workaround ( #3398 )
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
2025-11-19 17:13:35 +00:00
Dennis Kobert
788e82a7d0
Add export command to Graphene CLI ( #3400 )
...
* Add export command to cli
* Fix format
2025-11-19 17:39:48 +01: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
Timon
e751979e5c
Desktop: Mac fix keyboard input ( #3371 )
...
* add browser debug port env
* mac use option as alt
* fix cef texture double sRGB conversion by using cef-rs fork with fix
* fix keyboard input on mac
* add missing frontend messages
* fixup
* fix keyboard input mac
* dbg
* re implement keyboard mapping
Co-authored-by: csmoe <csmoe@msn.com>
* Fix double arrow keys
* try fix for non mac
* test
* Revert "test"
This reverts commit c7cde9c597 .
* fix mac
* some cleanup
* fix zoom in shortcut on mac introduced in #3377
* disable menu shortcut display
* fixup
2025-11-17 11:51:59 +00:00
Timon
9be207f4c5
Desktop: Update CEF to 141 ( #3352 )
...
update cef to 141
2025-11-08 11:59:02 +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
Timon
5be9b1fabc
Desktop: Mac native menu bar ( #3301 )
...
* macos native menu bar
* fix nix build
* Add shortcut symbols to menu
* fix fmt
* fix vendoring
* cleanup intercept frontend message
* accept into editor message in queue function
2025-10-27 14:11:24 +00:00
Timon
52e98ea8a3
Desktop: Remove winit fork, fix nix package, and improve rendering ( #3307 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* reduce triangle count
* switch to winit repo after changes where upstreamed
* fix nix pkg
2025-10-25 00:47:36 +00:00
jneem
3a80560a68
Move from poly-cool to polycool ( #3309 )
2025-10-24 22:12:01 +00:00
Timon
7fbe440e73
Desktop: Bundle for Mac and Windows ( #3297 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* add bundle for mac os and windows
* Fix bundle name
This name gets used as the display name of the app on mac os, shorter name looks better and is more consistent.
* preserve std out by running bin directly
* bundle placeholder on linux
* fix linux
2025-10-23 10:39:08 +00:00
Timon
39f4ccf8e0
Desktop: Fixup MacOS build ( #3295 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
desktop mac os fixup
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2025-10-20 13:31:36 +00:00
blue linden
5acf50c1ef
Reduce Nix flake maintanace by eliminating need for cargoHash bumps ( #3292 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* prepare nix for hashless cargo builds, update rust-gpu to non-orphaned
commit
* match commit hashes to repos, update packages to make nix flake build
properly
* add nix build dir to gitignore
* Add npm TODO to flake.nix
* Update Cargo.lock
* Update TODO comment
2025-10-18 22:56:26 +00:00
Mateo
497758c273
Desktop: Add simple cli interface ( #3059 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* 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
Timon
e366e4d64e
Desktop: Update CEF to v140 ( #3277 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* update cef to v140
* fix build
* update flake
2025-10-13 04:56:56 +00:00
Firestar99
5df3196b58
Update cargo-gpu, Increase resilience towards partial cache clears ( #3270 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-10-08 16:18:20 +00:00
Firestar99
bfba632100
Update cargo-gpu, remove legacy-target-specs to fix nix builds ( #3257 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
update cargo-gpu, remove legacy-target-specs to fix nix builds
2025-10-06 08:56:56 +00:00
Firestar99
074a33f58f
Enable debug logging for cargo-gpu ( #3207 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
debug cargo-gpu: debug logging
2025-10-05 11:19:21 +00:00
Timon
7e8c6cc432
Desktop: Native export ( #3188 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* Testing native export with raster convert implementation
* Jpg export
* Fix transparent export
* move texture conversion to runtime
* fixup
* move image encoding into editor export function
* remove unused frontend message
* remove unused type
2025-10-01 21:13:40 +02:00
Dennis Kobert
84e44810d2
Run preprocessing on benchmarks and fix deadlock ( #3230 )
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
2025-09-27 12:36:29 +02:00
Timon
4bb1d05fc3
Desktop: Add taskbar icon on Windows ( #3225 )
...
* include icon as resource on windows
* load icon
2025-09-26 14:30:01 +02:00
Timon
21f34ab19a
Desktop: Enable window resize controls on Wayland compositors ( #3183 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
wayland client side decorations
2025-09-21 12:17:05 +00:00
Timon
3fe7c477e9
Desktop: Switch to the latest unreleased version of Winit ( #3177 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* Use unstable winit
* Improve
* Remove unnecessary heap indirection
2025-09-17 16:40:43 +02:00
Timon
da330b6dd0
Desktop: Run CEF in incognito mode and delete root cache path on exit ( #3137 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* Try
* Run cef in non persistence mode
2025-09-13 22:19:45 +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
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
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
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
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
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
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
Adesh Gupta
34b52bcc54
Clean up Path tool related code and fix bugs in several cases ( #3070 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Fix regressions related to path tool
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-27 23:42:04 +00:00
Firestar99
a744499f4f
Shaders: more graster-nodes no-std fixups ( #3090 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* gcore-shaders: fix missing `num-traits/libm` features
* graster-nodes: fix missing cfg on use statements
* shaders: use unchecked Color constructors
* graster-nodes: remove async from shader nodes not needing it
* gcore-shaders: remove explicit fn pointer
* graster-nodes: make kurbo std-only
* graster-nodes: replace glam reexport with normal dep
* gcore: impl Display for ProtoNodeIdentifier
* unify glam workspace dep
2025-08-26 18:25:05 +00:00
Dennis Kobert
a4ec50d8ba
Improve robustness and performance of the boolean operation algorithm ( #2191 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Improve perf of path bool lib
* Use swap remove
* Use outer/inner bounding box for inclusion testing
* Reuse allocations for hit testing
* Use direct root finding for inclusion testing
* Reuse bounding box
* Use faster hash and specify capacities
* Use hashmap based approach for find vertices
* Unroll find_vertecies loop and use 32 bit positions
* Tune initial vec capacities
* Remove unused bounding boxes
* Use smallvec for storing outgoing edges
* Improve allocations for compute_minor
* Use approximate bounding box for edge finding
* Transition aabb to use glam vecs
* Make find vertecies use 64 bit again this is slower but less likely to cause issues
* Improve intersection candidate finding
* Remove loop check in bit vec iter
* Special case cubic line intersections
* Optimize grid rounding and add debug output
* Remove file write
* Remove faulty line intersection
* Fix grid rounding
* Improve robustness and cleanaup code
* Make elided lifetime explicit
* Fix tests
* Fix a boolean ops crash
* Add comment
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-21 23:15:36 +00:00
Dennis Kobert
e56f858ced
Desktop: Implement GPU accelerated offscreen rendering and improve rendering efficency ( #3056 )
...
* WIP accelerade offscreen canvas implementation
* Implement vulkan dmabuf import
* Add fps printing
* Add feature gates
* Forgot to add file
* Experimental windows support
* Cast ptr to isize
* Remove testing chrome://flags url
* Experimental macos support for texture import
* Cleanup code and improve latency / frame pacing
* Add path for importing textures on windows through dx12
* Update doc comment
* Import textures through metal on macos
* Review cleanup
---------
Co-authored-by: Timon Schelling <me@timon.zip>
2025-08-21 10:09:38 -07:00
Timon
2c8913416d
Desktop: Move wrapper to separate crate ( #3073 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Move desktop wrapper to separate crate
2025-08-20 15:41:34 +00:00
Dennis Kobert
a70c48f69a
Use lyon_geom for intersection calculation of bezier segments ( #3071 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add lyon_geom for cubic cubic intersections in he path bool crate
* Remove cubic line intersection for now
2025-08-20 13:59:11 +02:00
Dennis Kobert
7c30f6168b
Improve snapping performance ( #3067 )
...
* Use lyon_geom for intersection calculation of bezier segments
* Implement approximate nearest point calculation and loosen bounding boxes
* Add algorithm explanation
* Update editor/src/messages/tool/common_functionality/snapping/layer_snapper.rs
Co-authored-by: Keavon Chambers <keavon@keavon.com>
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-20 10:47:58 +02:00
Firestar99
0a53eae4e0
Remove unused cargo dependencies ( #3063 )
...
* cargo shear
* fix warnings on master
* fix docs needing dev-dependency
2025-08-18 11:26:44 -07:00
Keavon Chambers
3bcec37493
Remove the deprecated/archived Bezier-rs library from the repo ( #3058 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Has been cancelled
Remove the Bezier-rs library from the repo
2025-08-16 17:29:00 -07:00
Priyanshu
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
Timon
2995113b39
Desktop: Update CEF to 139.0.1 ( #3046 )
...
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
Update cef to 139.0.1
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-13 12:55:42 -07:00
jneem
6c3b7b23c5
Simplify Bezier-rs using poly-cool as the root finder ( #3031 )
...
* Convert tangents_to_point
* Convert normals_to_point
* Port over roots and project
* Remove symmetrical_basis
* Code style nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-13 19:10:10 +00:00
Timon
fa2167dd7f
Desktop: Drag and drop file to open/import functionality ( #3035 )
...
* Desktop app add drop file functionality
* Add x11 libs to flake
* Restructure extension matching to remove nesting
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2025-08-11 11:48:10 +00:00
Keavon Chambers
2bb4509647
Replace the Spreadsheet panel with an improved Data panel ( #3037 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* Improve the table data panel
* Add the "Window" menu bar section and polish everything
2025-08-10 07:46:42 -07:00
Dennis Kobert
9b8935d201
Add iai versions of the runtime benchmarks ( #3016 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Include graph runtime benchmarks in ci regression run
* Update benchmarking workflow
* Remove ci script changes
2025-08-07 00:48:25 +02:00