Commit graph

700 commits

Author SHA1 Message Date
firestar99
376361d46e shader-rt: correct arg buffer handling 2025-08-25 11:49:27 +02:00
firestar99
689e35ad4e shader-rt: cleanup codegen with common sym struct 2025-08-25 11:49:27 +02:00
firestar99
12c0806110 shader-rt: correct RT format, working invert gpu node 2025-08-25 11:49:27 +02:00
firestar99
cfa2238ef3 shader-rt: manual pipeline layout, fixing errors when bindings got DCE'd 2025-08-25 11:49:27 +02:00
firestar99
5414f647cb shader-rt: correct bindings with derpy arg buffer 2025-08-25 11:49:27 +02:00
firestar99
e883da5a83 shader-rt: pass WgpuExecutor by reference 2025-08-25 11:49:27 +02:00
firestar99
2a4cdc16b4 shader-rt: connect shader runtime 2025-08-25 11:49:27 +02:00
firestar99
f02ecd7831 shader-rt: disable gpu blend node, needs two images 2025-08-25 11:49:27 +02:00
firestar99
d68c33479a shader-rt: fix impl Context in the wrong places 2025-08-25 11:49:27 +02:00
firestar99
f82f3e6484 shader-rt: properly cfg out the gpu node 2025-08-25 11:49:27 +02:00
firestar99
5fc325acbd shader-rt: replace gpu node's args and ret types with Raster<GPU> 2025-08-25 11:49:27 +02:00
firestar99
802db70d5b shader-rt: fix recursion when generating shader node 2025-08-25 11:49:27 +02:00
firestar99
5a34d62048 shader-rt: initial 2025-08-25 11:49:27 +02:00
firestar99
236dbf8f2b shaders: fix node-macro tests 2025-08-25 11:49:27 +02:00
firestar99
e4561f44d0 shaders: add lint ignores from rust-gpu 2025-08-25 11:49:27 +02:00
firestar99
1ed33dcc80 shaders: #[repr(u32)] some enums 2025-08-25 11:49:27 +02:00
firestar99
7f6a7d0995 HACK shaders: switch to f32 params 2025-08-25 11:49:27 +02:00
firestar99
800922e6f2 shaders: disable nodes needing bool 2025-08-25 11:49:27 +02:00
firestar99
23a5a57ba5 shaders: codegen for per_pixel_adjust shader nodes 2025-08-25 11:49:27 +02:00
Timon Schelling
bc8c146212 nix: use rustc_codegen_spirv.so from nix 2025-08-25 11:49:27 +02:00
firestar99
7fb04b7ddd shaders: shader compilation setup 2025-08-25 11:49:27 +02:00
firestar99
3f5d3ca302 graster-nodes: replace glam reexport with normal dep 2025-08-25 11:48:20 +02:00
firestar99
cc6b637a57 graster-nodes: make kurbo std-only 2025-08-25 11:48:20 +02:00
firestar99
ef51034b49 gcore-shaders: remove explicit fn pointer 2025-08-25 11:48:20 +02:00
firestar99
b74aef6f57 graster-nodes: remove async from shader nodes not needing it 2025-08-25 11:48:20 +02:00
firestar99
2ab80804b6 shaders: use unchecked Color constructors 2025-08-25 11:48:20 +02:00
firestar99
47747e6a0a graster-nodes: change Table<Color> params to Color, nodes color_overlay and black_and_white 2025-08-25 11:48:20 +02:00
firestar99
95ee3858dc graster-nodes: fix missing cfg on use statements 2025-08-25 11:48:19 +02:00
firestar99
c568540bf9 gcore-shaders: fix missing num-traits/libm features 2025-08-25 11:48:19 +02:00
Dennis Kobert
d9cbf975ff
Deprecate automatic composition (#3088)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Waiting to run
* 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)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
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)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* 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
Dennis Kobert
a4ec50d8ba
Improve robustness and performance of the boolean operation algorithm (#2191)
Some checks are pending
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
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
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
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
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
Keavon Chambers
bdc029c692
Add Table<Gradient> as a graphical type (#3051)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-08-13 01:42:51 -07:00
Keavon Chambers
1b351aca76
Replace the Color type with Table<Color> everywhere (#3048)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-08-12 00:38:23 -07:00
Keavon Chambers
2bb4509647
Replace the Spreadsheet panel with an improved Data panel (#3037)
Some checks failed
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
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
Dennis Kobert
d2ddf94bd0
Include graph runtime benchmarks in CI perf regression runs (#2780)
Some checks are pending
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

* Add render slowdown

* Fix baseline cache

* Remove benchmark compilation validation run

* Include render node in runtime benchmarks

* Collapse sections without changes

* Readd rulers between the sections

* Add review suggestions

* Rulers rule

* Fix whitespace
2025-08-07 14:32:19 +02:00
Dennis Kobert
9b8935d201
Add iai versions of the runtime benchmarks (#3016)
Some checks are pending
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
Firestar99
caa228a1ec
Shaders: graster-nodes no-std fixups (#2984)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* wgpu-executor: remove useless features

* wgpu-executor: cleanup copy-pasted code

* gcore-shaders: no_std fixups
2025-08-06 14:10:08 +00:00