Commit graph

776 commits

Author SHA1 Message Date
Dennis Kobert
de17b576f4
Add missing implementation for context modification node 2025-12-21 22:53:12 +01:00
Dennis Kobert
6d29bfec91
Revert "Improve perf by initializing protonodes as non value"
This reverts commit 936bac0d1e.
2025-12-21 22:53:12 +01:00
Dennis Kobert
2424d0830a
Add implementations to node registry 2025-12-21 22:53:11 +01:00
Dennis Kobert
0393dd057a
Implement conversion to gpu for different renderable types 2025-12-21 22:53:11 +01:00
Dennis Kobert
aade019019
Only rasterize data within bounds 2025-12-21 22:53:10 +01:00
Dennis Kobert
397068b32b
Fix transform 2025-12-21 22:53:10 +01:00
Dennis Kobert
de8bdc7209
Make texture size not 1x1 2025-12-21 22:53:10 +01:00
Dennis Kobert
4a9fb5162b
Prototype vector to raster conversion 2025-12-21 22:53:09 +01:00
Dennis Kobert
1587ff164d
Improve perf by initializing protonodes as non value 2025-12-21 22:53:09 +01:00
Dennis Kobert
1b5443aabd
Cleanup 2025-12-21 22:53:08 +01:00
Dennis Kobert
d276e2a62a
Remove redundant stable id generation 2025-12-21 22:53:08 +01:00
Dennis Kobert
e176a0b812
Fix compilation for compile benchmarks 2025-12-21 22:53:07 +01:00
Dennis Kobert
7d3efffdac
Integrate type checking into context dependency analysis 2025-12-21 22:52:58 +01:00
Nicholas Liu
e73e524f3d
Implement proper fill rendering for vector meshes (#3474)
Some checks failed
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Library: Rawkit / build (push) Has been cancelled
* Implement branching mesh rendering for SVG

* Patch mesh fill for Vello renderer

* Patch tangent_at_start and tangent_at_end

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-12-21 02:59:37 +00:00
Keavon Chambers
3000519a10 New nodes: 'Reciprocal', 'Angle Between', and 'Angle To' 2025-12-20 02:36:43 -08:00
Keavon Chambers
f1e8ebefc5
Improve tooltip docs with Markdown styling and refined math node explanations (#3488) 2025-12-20 01:05:15 -08:00
Keavon Chambers
2d6d054359
Make font selection show a live preview on hover; move its code to the backend (#3487)
* Remove FontInput.svelte

* Move font picking to the backend

* Fix Text tool font choice style turning to "-" on font that doesn't support previous style
2025-12-19 22:17:28 -08:00
Adam Gerhant
6733a24e47
Use more specific node input indexing when displaying invalid input errors (#3415)
* Reduce displayed invalid inputs

* Correct error offset for convert node

* Apply suggestions from code review

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-12-18 10:48:25 +00:00
Dennis Kobert
a6f83291b4
We now use normal blending instead of using Mix::Clip / the clip_layer (#3454)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* We now use normal blending instead of using Mix::Clip / the clip_layer

* Revert the revert for the clip using SrcOver
2025-12-07 10:26:24 +00:00
Keavon Chambers
fb0fab0622 Update links from graphite.rs to graphite.art
Some checks failed
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Library: Rawkit / build (push) Has been cancelled
Website / build (push) Has been cancelled
2025-12-06 18:10:27 -08:00
Keavon Chambers
e8ebcc2c21
Replace text-only tooltips with custom richly styled tooltips (#3436)
* Replace the title attribute with custom FloatingMenu tooltips

* Separate tooltip labels and descriptions into two styled blocks

* Move keyboard shortcut tooltips to a separate section at the bottom

* Update shortcut key styling in tooltips and hints bar

* Fix .to_string()
2025-11-30 13:32:58 -08:00
Dennis Kobert
406f3d93f3
Add tool for visualizing crate hierarchy (#3315)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add tool for visualizing crate hierarchy

* Update crate structure

* Restructure crate viz and integrate crate into workspace

* Remove transitive dependency edges

* Move png / svg creation into the rust binary
2025-11-28 15:34:45 +00:00
James Lindsay
8383a3afac
New node: 'Extrude' (#3414)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add extrude node

* Code review

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-26 18:50:10 -08:00
James Lindsay
5ebf6d6bc0
Fix StrokePathIter missing some segments (#3413)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-26 07:03:28 +00:00
Keavon Chambers
9eb8835bd5
Add the 'Blend Shapes' and 'Origins to Polyline' nodes; generalize the 'Morph' node to >2 states (#3405)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* New nodes: 'Morph' and 'Multi-Morph'

* Blend Shapes node

* Add the 'Index Points' node

* Fix failing test
2025-11-25 22:17:55 -08:00
Keavon Chambers
d247b81966
Fix regression that reversed indexing of the Loop Level parameter of the 'Instance Index' node (#3421) 2025-11-25 21:32:56 -08:00
Keavon Chambers
eb0f019b15
New nodes: 'Reset Transform', 'Replace Transform', 'Count Points', 'Index Points' (#3420)
- Add the 'Reset Transform' and 'Replace Transform' nodes
- Add the 'Count Points' and 'Index Points' nodes
- Make the 'Index Elements' node support negative indexing from the end
- Make the 'Flatten Vector' node's implementation reusable
- Fix crash displaying 0x0 raster image in the Data panel
- Fix the 'Points to Polyline' node not working on two-point objects
2025-11-25 20:41:59 -08:00
Dennis Kobert
a932eaedcf
Render artwork at correct resolution when using vello on wasm (#3416)
Some checks are pending
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
* Work on fixing rendering for wasm+vello

* Render vello canvas in wasm at the correct resolution

* Cleanup unused surface rendering code

* Remove vector to raster conversion

* Remove desktop changes

* Revert window.rs changes

* Don't round logical coordinates

* Fix desktop compilation + don't round logical coordinates for svg rendering

* Further cleanup

* Compute logical size from acutal physical sizes
2025-11-24 14:23:27 +00:00
Keavon Chambers
6e66c79392
Fix 'Mask' node missing Properties widget; fix crash with 'Brightness/Contrast Classic' node (#3404)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Fix 'Mask' node missing Properties widget; fix crash with 'Brightness/Contrast Classic' node

Also clean up dead code and improve tooltip for the "-" Properties panel widget fallback.

* format type

---------

Co-authored-by: Adam <adamgerhant@gmail.com>
2025-11-24 09:21:07 +00:00
Timon
548e0df1a1
Desktop: Mac menu workaround (#3398)
Some checks failed
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
f61aebb777
Add a command to Graphene CLI for listing protonode identifiers (#3399)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add proto node name printing

* Add subcommand for printing proto node identifiers

* Address review comments

* Cargo fmt
2025-11-19 11:59:27 +01:00
Adam Gerhant
06484ef4e0
Show red connectors on a type-erroring node and accurate connector colors upstream of it (#3110)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Refactor TypeSource

* Add complete valid types

* Add invalid type

* Improve valid/complete types and disconnecting

* Code review

* Return types on error

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-19 03:00:32 +00:00
Timon
7d739c4542
Post refactor fixup (#3395)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* fixup

* fix feature deps for native
2025-11-18 15:48:45 +00:00
Keavon Chambers
6a3b098681
Add automatic type conversion from number to Vec2 by splatting (#3394)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-18 11:10:33 +00: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
Dennis Kobert
181c30bc0a
Fix assorted Clippy lints (#3390)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-17 07:58:31 +00:00
Keavon Chambers
ca5785bc8f
Show a "Ctrl +" label instead of "Ctrl =" for View > Zoom In (#3377)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-13 17:24:04 -08:00
Ashish Mohapatra
2835fbc73d
Fix Vello renderer crash when element has no stroke (#3373)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-13 00:01:02 -08:00
Keavon Chambers
ac74bd9903 Allow the Stroke node to receive "Dash Lengths" values from the node graph
Some checks are pending
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
2025-11-12 01:14:17 -08:00
Ashish Mohapatra
0298f9a5ad
Fix Vello rendering bug with stroke alignment cropped by parent transformations (#3329)
Some checks failed
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
Fix element transform for aligned stroke masks
2025-11-10 20:41:04 -08:00
Timon
9be207f4c5
Desktop: Update CEF to 141 (#3352)
update cef to 141
2025-11-08 11:59:02 +00:00
Timon
f02f834097
Desktop: Add support for UI scaling (#3310)
* desktop support ui scaling

* fix some warnings

* use browser zoom if needed

* fix infinite footprint size

* fix web canvas scale

* always set zoom

* use only zoom for scaling

* prevent user zoom

* remove mouse position scaling
2025-11-08 12:32:04 +01:00
Dennis Kobert
7254c470ef
Exclude procedural-string-lights from cached execution CI benchmarks (#3351)
Exclude procedural-string-lights from cached execution benchmarks

This benchmark seem to have been really flaky in our CI so we remove it
2025-11-08 10:44:22 +01:00
Timon
881ec0b193
Split out viewport handling into its own message handler (#3331)
* extract viewport handeling

* fix web overlays

* some cleanup

* remove some physical conversions

* fix resize snapping

* fixup

* apply some review feedback

* make viewport api more ergonomic

* fix

* fix web overlay canvas clear size

* clear workaround for canvas

* rename trigger message

---------

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2025-11-08 08:59:38 +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
Keavon Chambers
96d73a8570 Remove the application title from the header bar
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-06 09:20:51 -08:00
Keavon Chambers
6d669ad734
Add documentation to many nodes (#3338)
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-03 15:51:50 -08:00
Keavon Chambers
055d543117 Rename the 'Index' node to 'Index Elements'
Some checks are pending
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-03 13:35:56 -08:00
Keavon Chambers
0998abdaf3 Add support for visualizing Vec<String> in the Data panel 2025-11-03 13:13:54 -08:00