firestar99
aba44eb676
shaders-rt: explain fullscreen_vertex coordinates with a drawing
2025-09-05 00:23:23 +02:00
firestar99
7c7fea2e32
shaders-rt: fix wgpu label name
2025-09-05 00:18:10 +02:00
firestar99
e3e0fbe75c
shader-nodes feature: rename any gpu_node to shader-node
2025-09-05 00:16:04 +02:00
firestar99
676aea33fe
shader-nodes feature: put shader nodes behind feature gate
2025-09-05 00:16:04 +02:00
firestar99
1128271b41
shader-rt: correct arg buffer handling
2025-09-05 00:16:04 +02:00
firestar99
16c67ecc68
shader-rt: cleanup codegen with common sym struct
2025-09-05 00:16:04 +02:00
firestar99
8fc9eb7e57
shader-rt: correct RT format, working invert gpu node
2025-09-05 00:16:04 +02:00
firestar99
2495421990
shader-rt: manual pipeline layout, fixing errors when bindings got DCE'd
2025-09-05 00:16:04 +02:00
firestar99
1c89d7a5f3
shader-rt: correct bindings with derpy arg buffer
2025-09-05 00:16:04 +02:00
firestar99
6a116fdb2b
shader-rt: pass WgpuExecutor by reference
2025-09-05 00:16:04 +02:00
firestar99
b25b059b5f
shader-rt: connect shader runtime
2025-09-05 00:16:04 +02:00
firestar99
e9ae52d952
shader-rt: disable gpu blend node, needs two images
2025-09-05 00:16:04 +02:00
firestar99
716dcba996
shader-rt: fix impl Context in the wrong places
2025-09-05 00:16:04 +02:00
firestar99
2e660be093
shader-rt: properly cfg out the gpu node
2025-09-05 00:16:04 +02:00
firestar99
17f2da0c59
shader-rt: replace gpu node's args and ret types with Raster<GPU>
2025-09-05 00:16:04 +02:00
firestar99
5981022549
shader-rt: fix recursion when generating shader node
2025-09-05 00:16:04 +02:00
firestar99
6a0c07ab3e
shader-rt: initial
2025-09-05 00:16:04 +02:00
Dennis Kobert
7dc86b36ca
Fix profiling CI action by avoiding command line length limits ( #3136 )
...
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 )
...
* 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 )
...
* 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 )
...
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 )
...
* 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 )
...
* 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 )
...
* 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 )
...
* 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 )
...
* 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 )
...
* 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 )
...
* 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
Firestar99
a199a5fd64
Make CI reject an out-of-date Cargo.lock manifest ( #3101 )
...
* ci: detect out of date Cargo.lock
* update Cargo.lock
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-27 17:51:33 -07:00
Adesh Gupta
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
Priyanshu
57853f755b
Fix box selection regression where only intersected, not contained, objects get selected ( #3093 )
...
* fix insideness checking
* fix selection insideness checking
* Revert changes to comments
* Revert unneed rename
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-08-27 21:22:13 +00:00
Firestar99
a744499f4f
Shaders: more graster-nodes no-std fixups ( #3090 )
...
* 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
Timon
c5991c6f61
Desktop: show platform specific window buttons ( #3078 )
...
Implement app window button functionality and set platform
2025-08-25 14:15:31 +00:00
Timon
508606cdba
Desktop: add missing txt file mime type mapping ( #3091 )
...
add missing txt file extension to mime type mapping
missing mapping caused license dialog that loads txt file to fail and report no network connection
2025-08-25 15:51:59 +02:00
Dennis Kobert
d9cbf975ff
Deprecate automatic composition ( #3088 )
...
* Make manual_compositon non optional and rename to call_argument
* Fix clippy warnings
* Remove automatic composition compiler infrastructure
* Implement document migration
* Fix tests
* Fix compilation on web
* Fix doble number test
* Remove extra parens
* Cleanup
* Update demo artwork
* Remove last compose node mention
* Remove last mention of manual composition
2025-08-24 08:34:59 +00:00
Dennis Kobert
bb364c92ad
Fix automatic Into node insertion ( #3087 )
...
Fix automatic into node insertion
2025-08-23 18:21:54 +02:00
Dennis Kobert
354bf93364
Store document node inputs in Arc to reduce memory consumption ( #3086 )
...
Store values in memo hash contanier in arc
2025-08-23 17:24:41 +02:00
Dennis Kobert
469f0a6c30
Remove lambda node inputs since they are no longer used ( #3084 )
...
* Remove lambda node inputs as they are now unused
* Fix warnings
* Fix tests
* Fix clippy warning
2025-08-23 12:16:49 +02: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
Timon
c6ec3a27ca
Desktop: Buffer web messages until connection is initialized ( #3082 )
...
Buffer web messages until connection is initialized
2025-08-22 15:15:17 +00:00
Dennis Kobert
a4ec50d8ba
Improve robustness and performance of the boolean operation algorithm ( #2191 )
...
* 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
e4dd3ce806
Desktop: Use multithreaded CEF event loop on Windows and Linux ( #3076 )
...
* Prototype multi threaded event loop
* Fix input event dispatch
* Remove dead code
* Reenable do_message_loop_work for macos targets
* Cleanup
* Review cleanup
* Remove outdated comment
* Attempt to fix texture import errors
---------
Co-authored-by: Timon Schelling <me@timon.zip >
2025-08-21 19:46:13 +00: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
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
Dennis Kobert
97978c2491
Desktop: Change feature guard to Linux instead of Unix for Wayland
2025-08-21 10:08:29 -07:00