Commit graph

2249 commits

Author SHA1 Message Date
firestar99
b0f7895464 shader-rt: correct arg buffer handling 2025-08-21 10:16:34 -07:00
firestar99
4eaeb8aa2a shader-rt: cleanup codegen with common sym struct 2025-08-21 10:16:34 -07:00
firestar99
661282328d shader-rt: correct RT format, working invert gpu node 2025-08-21 10:16:34 -07:00
firestar99
99d1e1c9df shader-rt: manual pipeline layout, fixing errors when bindings got DCE'd 2025-08-21 10:16:34 -07:00
firestar99
9a9b246c55 shader-rt: correct bindings with derpy arg buffer 2025-08-21 10:16:34 -07:00
firestar99
4442f3cc9b shader-rt: pass WgpuExecutor by reference 2025-08-21 10:16:34 -07:00
firestar99
fe18f11be4 shader-rt: connect shader runtime 2025-08-21 10:16:34 -07:00
firestar99
0b8eeaf2de shader-rt: disable gpu blend node, needs two images 2025-08-21 10:16:34 -07:00
firestar99
bab28fc3d7 shader-rt: fix impl Context in the wrong places 2025-08-21 10:16:34 -07:00
firestar99
190944a0f1 shader-rt: properly cfg out the gpu node 2025-08-21 10:16:34 -07:00
firestar99
61b4017398 shader-rt: replace gpu node's args and ret types with Raster<GPU> 2025-08-21 10:16:34 -07:00
firestar99
35d7896450 shader-rt: fix recursion when generating shader node 2025-08-21 10:16:34 -07:00
firestar99
7c33485b40 shader-rt: initial 2025-08-21 10:16:34 -07:00
firestar99
8a9e7c8b3d shaders: fix node-macro tests 2025-08-21 10:16:34 -07:00
firestar99
e0eab2557c shaders: add lint ignores from rust-gpu 2025-08-21 10:16:34 -07:00
firestar99
36b5953fc0 shaders: #[repr(u32)] some enums 2025-08-21 10:16:34 -07:00
firestar99
0ad0dcbb53 HACK shaders: switch to f32 params 2025-08-21 10:16:34 -07:00
firestar99
199927b8fc shaders: disable nodes needing bool 2025-08-21 10:16:34 -07:00
firestar99
2e6a818c6f shaders: codegen for per_pixel_adjust shader nodes 2025-08-21 10:16:34 -07:00
Timon Schelling
f9e1046e8a nix: use rustc_codegen_spirv.so from nix 2025-08-21 10:16:34 -07:00
firestar99
9dd6471293 shaders: shader compilation setup 2025-08-21 10:16:34 -07:00
Timon Schelling
431a7d1ca4 Add exec with rust-gpu env script to flake 2025-08-21 10:16:34 -07:00
Timon Schelling
691413f2da Try providing cargo-rust-gpu to nix devs 2025-08-21 10:16:34 -07:00
Timon Schelling
89bf226ece Try providing cargo-rust-gpu to nix devs 2025-08-21 10:16:33 -07:00
firestar99
8ae5641d70 graster-nodes: replace glam reexport with normal dep 2025-08-21 10:16:33 -07:00
firestar99
52b485e31f graster-nodes: make kurbo std-only 2025-08-21 10:16:33 -07:00
firestar99
cd4e08cb1c gcore-shaders: remove explicit fn pointer 2025-08-21 10:16:33 -07:00
firestar99
7dad2480f1 graster-nodes: remove async from shader nodes not needing it 2025-08-21 10:16:33 -07:00
firestar99
0277806507 shaders: use unchecked Color constructors 2025-08-21 10:16:33 -07:00
firestar99
33758f9fa6 graster-nodes: change Table<Color> params to Color, nodes color_overlay and black_and_white 2025-08-21 10:16:33 -07:00
firestar99
66aa582a9c graster-nodes: fix missing cfg on use statements 2025-08-21 10:16:33 -07:00
firestar99
eab726f803 gcore-shaders: fix missing num-traits/libm features 2025-08-21 10:16:33 -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
Timon
2c8913416d
Desktop: Move wrapper to separate crate (#3073)
Some checks are pending
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
Timon
30e5d66105
Desktop: Implement desktop wrapper module (#3039)
* Prototyping desktop wrapper api

* Separate into multiple modules

* Some fixup

* Reimplement most functionality with editor api

* Fix texture life time crashes

* Fix scale

* Implement editor wrapper message queue

* Improve performance

* Handle native messages directly without submitting to event loop

* Fix overlay latency

* Move editor message execution to executor allows no shared state in editor wrapper

* Small clean up

* Small cleanup

* Some renames

* Cleaning up desktop wrapper interface

* Fix formatting

* Fix naming

* Move node graph execution result handling to app

* Fix FrontendMessage RenderOverlays usage

* Reimplement file drop and clean up file import and open messages

* Remove dbg

* Post merge fix

* Review changes
2025-08-20 13:27:36 +00:00
Dennis Kobert
a70c48f69a
Use lyon_geom for intersection calculation of bezier segments (#3071)
Some checks are pending
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
Timon
e70862b399
Desktop: Add File > Save As… (#3034)
* Make file name and document name identical

* Add save as action

* Fix test errors

* Add missing save as action

* Desktop fix drop file open document file message

* Address review comments

* Replace file save suffix with file extension

* Add comment specifying that the upload function takes a html input accept string

* Fix remove file extension in web

* Use let

* Don't show save as menu entry in web

* Don't add SaveDocumentAs in web

* Remove file extension on all open document file calls

---------

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2025-08-20 10:09:01 +00: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
b44a4fba1e
node-macro: cleanup ParsedField struct (#3064)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* node-macro: cleanup `ParsedField` struct

* node-macro: fixup tests
2025-08-19 09:25:58 +00:00
Ciftci
36a1453d03
Add workaround for a Safari bug where our number input fields can't be released from click-and-drag (#3053)
Added fallback for Safari to trigger a pointerLockChange in case it doesnt fire automatically

Co-authored-by: seabeeberry <seri@Mac.fritz.box>
2025-08-18 22:30:18 -07:00
Priyanshu
615c035683
Fix a Path tool regression where selection depends on box winding direction (#3062)
fix path tool selection

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-19 04:36:18 +00:00
Mohd Mohsin
17d70dc60e
Add struct field visualization to the editor message hierarchy tree visualization on the website (#2917)
Some checks failed
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Has been cancelled
* Fix Message Tree: Enforce Structure and Visibility

* Code review

* fix the erroreous ouputs

* error handling for MessageHandler

* Fix website visualization HTML generation

* error handling for tuple-style message enum variant

* cleanup

* Update messages

* Normalize BroadcastEvent

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-18 21:04:29 -07:00
mTvare
5ed45ead6f
Fix click target not extending to correct limit for aligned strokes (#3065)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fixes #3047
2025-08-18 12:30:57 -07: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
Vineet Puranik
0a4a822837
Fix Alt-based quick measurement to show document space coordinates instead of viewport space (#2995)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-18 06:33:09 +00:00
Meet Zalavadiya
4da732dcc3
Fix artboard labels not reappearing once the node graph is closed to return to the viewport (#3061)
Closes #3045
2025-08-18 05:49:21 +00:00
Adesh Gupta
52174fa4c2
Remap Path tool point sliding to G G (#2913)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Feat: Point sliding on G G

* Code cleanup

* Fix gg sliding behaviour

* Fix build after merge conflict resolution

* Fix slide point and add hints

* Fix history in segment insertion

* Code review

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-17 03:39:38 +00:00
Keavon Chambers
3bcec37493
Remove the deprecated/archived Bezier-rs library from the repo (#3058)
Some checks failed
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