Commit Graph

2325 Commits

Author SHA1 Message Date
Timon Schelling
a03632337a export persistence ideas 2025-10-10 23:06:16 +00:00
Timon Schelling
3564c2a090 persist data cleanup 2025-10-10 22:52:38 +00:00
Timon Schelling
de6f0463a2 persist document path 2025-10-10 22:49:16 +00:00
Firestar99
5df3196b58 Update cargo-gpu, Increase resilience towards partial cache clears (#3270) 2025-10-08 16:18:20 +00:00
Keavon Chambers
3364059e02 Add tooltip documentation to the graphic flattening nodes and string nodes (#3269) 2025-10-07 16:50:18 +02:00
Keavon Chambers
55a64064b0 Make the 'Decompose Rotation' node return degrees not radians; add tooltip documentation to transform nodes (#3268)
Make the 'Decompose Rotation' node return degrees not radians, and add tooltip documentation to transformation nodes
2025-10-07 09:36:35 +00:00
Keavon Chambers
91b08f4b4f Add tooltip documentation for animation-focused nodes (#3267) 2025-10-07 07:00:27 +00:00
Keavon Chambers
fc9afce504 Add tooltip documentation for blending-focused nodes (#3266) 2025-10-07 00:23:50 +00:00
Keavon Chambers
6c033a2cd6 Tidy up tooltip documentation for several assorted nodes (#3265) 2025-10-07 01:28:03 +02:00
Timon
48ac24da14 Desktop: Fix frontend message response dispatch (#3247)
* One annoying debugging session later

Discovered that the editor handles frontend messages differently from other messages.
It requires all frontend messages to be fully processed before dispatching any resulting messages.

In the web frontend, this behavior happened implicitly because message dispatch is queued at the current end of the JavaScript execution queue.
For the desktop frontend, I added a vector to collect all responses until the entire batch of frontend messages is handled, and then dispatch them afterwards.

* Fix double click travel
2025-10-06 20:04:24 +00:00
Firestar99
bfba632100 Update cargo-gpu, remove legacy-target-specs to fix nix builds (#3257)
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)
debug cargo-gpu: debug logging
2025-10-05 11:19:21 +00:00
Keavon Chambers
593a89f2e2 Update content throughout the website (#3252) 2025-10-04 00:47:56 +00:00
Oliver Davies
3cfacccc61 New node: Remap (#3245)
* Added Remap node

* Addressed feedback for mapping range

* Removed extra defaults

* Apply suggestion from @Keavon

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-10-03 05:51:01 +00:00
Timon
7e8c6cc432 Desktop: Native export (#3188)
* 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
c697b61a7e Clean up execution context for skipped node graph submissions (#3233) 2025-10-01 10:13:59 +00:00
Dennis Kobert
bc66148d2b Reset the overlay context for each draw request and use global font cache (#3231) 2025-09-28 15:36:08 +00:00
Dennis Kobert
84e44810d2 Run preprocessing on benchmarks and fix deadlock (#3230) 2025-09-27 12:36:29 +02:00
Dennis Kobert
ffc74273cc Implement Convert trait to convert between CPU and GPU images (#3194)
* Add upload texture trait

* Make convert trait use explicit converter

* Add gpu texture download implementation

* Add footprint to convert trait

* Cleanup texture upload / download

* Download wgpu textures aligned

* abstract texture download into converter helper

* rename module

not only doing uploads anymore
conversion looks like a ok name

* Remove into_iter call and intermediate vector allocation

---------

Co-authored-by: Timon Schelling <me@timon.zip>
2025-09-26 14:30:01 +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
d06c8164e1 Desktop: Forward multi-clicks (double/triple/etc.-clicks) to CEF correctly (#3224)
* fix multiclick

* Revert "fix multiclick"

This reverts commit c4130d12ee.

* try another way

* use copy

* Use struct initializer syntax fror click tracker (#3226)

---------

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2025-09-26 14:29:56 +02:00
Timon
ed22e6a63d Desktop: Add rudimentary support for custom WGPU adapter selection (#3201)
* rudimentary custom wgpu adapter selection

* WgpuContextBuilder

* wasm fix

* fix wasm warnings

* Clean up

* Review suggestions

* fix
2025-09-25 14:38:26 +00:00
Dennis Kobert
4e47b5db93 Restructure gcore/text module and fix memory leak (#3221)
* Restructure gcore/text module and fix memory leak

* Remove unused import

* Fix default font fallback causing wrong caching and rename to TextContext

* Upgrade demo art
2025-09-25 15:29:07 +02:00
Timon
d595089bb0 Desktop: Fix maximized window extending outside the screen on Windows (#3210)
Desktop: Fix window extending outside the screen on windows when maximized
2025-09-25 15:22:05 +02:00
Timon
04a2452333 Desktop: Support cursor icon change (#3223)
* browser console message forwarding

* replace target to make it easy to identify browser console messages

* use warn as per review comment

* cursor icon change

* fix win build
2025-09-25 11:23:19 +00:00
Timon
b4be616de0 Desktop: Browser console message forwarding (#3193)
* browser console message forwarding

* replace target to make it easy to identify browser console messages

* use warn as per review comment
2025-09-25 10:42:07 +00:00
Timon
d15f63f4fd Ensure the LoadPreferences message is dispatched with None when no preferences exist (#3198)
* preference load message on default load

* review fixup
2025-09-23 20:19:16 +00:00
Timon
21f34ab19a Desktop: Enable window resize controls on Wayland compositors (#3183)
wayland client side decorations
2025-09-21 12:17:05 +00:00
Timon
09bc891ab2 Desktop: Forward the pointer leave event to CEF (#3197)
* pointer leave

* make one-liner
2025-09-21 10:23:51 +00:00
Timon
46d5928724 Desktop: Fix window maximize and minimize (#3200)
Fix window maximize and minimize state
2025-09-20 23:48:47 +00:00
Keavon Chambers
f4a0f272dd Add note about the September 2025 release to the editor welcome screen 2025-09-20 05:20:20 -07:00
Keavon Chambers
ac4665683b Blog post: Graphite community meetup in Germany 2025-09-20 01:59:05 -07:00
Salman Abuhaimed
edc018d7b4 Fix Text node regression where font styles within a family are not being applied (#3186)
Fix text node styles not being applied
2025-09-18 19:11:50 -07:00
Keavon Chambers
9d15e56ce1 Fix and clean up typing-related flaws with the Math category of nodes 2025-09-18 16:37:01 -07:00
Keavon Chambers
7e3ab78ea4 Fix more flaws with 'Transform' node rad-to-deg migration; make 'Tangent on Path' also use degrees by default 2025-09-18 14:09:10 -07:00
Timon
3fe7c477e9 Desktop: Switch to the latest unreleased version of Winit (#3177)
* Use unstable winit

* Improve

* Remove unnecessary heap indirection
2025-09-17 16:40:43 +02:00
Keavon Chambers
4662cbbbc1 Make the 'Count Elements' and 'String Length' nodes return f64 for consistency with 'Instance Index' 2025-09-16 16:08:03 -07:00
Dennis Kobert
e4d2805115 Add workaround for cache context nullification breaking nested loop indexes (#3178)
* Disable caching for the instance repeat etc. nodes

* Add usize implementation for caching and monitor nodes

* Change return type of instance index node back to f64

* Cleanup while loop

* Remove stray usize changes

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-16 21:59:43 +00:00
Dennis Kobert
390ce023ea Fix regression when rotating a group, resulting in an incorrect transform cage bounding box (#3184)
Revert "Reuse click target bounding boxes for document bounds"

This reverts commit d9e8a71cd0.
2025-09-16 13:41:44 -07:00
Timon
ab55b3225d Desktop: Window resize handling on Windows (#3167)
* Native window resize on windows

* Fix linux build

* Fix windows build

* try clean up

* clean up

* Add module comment

* FIx

* Review improvements

* Improve
2025-09-15 12:15:31 +00:00
Timon
da330b6dd0 Desktop: Run CEF in incognito mode and delete root cache path on exit (#3137)
* Try

* Run cef in non persistence mode
2025-09-13 22:19:45 +00:00
Keavon Chambers
a1df16bc9e Switch infinite color/gradient rendering to a more robust approach 2025-09-13 14:03:11 -07:00
Timon
944a6eeea2 Desktop: Hook up native window controls (#3161)
* Implement window controls

* Fix drag target size

* Maximize with drag area double click
2025-09-13 20:15:52 +00:00
Timon
e97d5520e8 Desktop: Support receiving double click inputs (#3168)
* input support double clicks and clean up

* Review improvements
2025-09-13 12:40:31 +00:00
Salman Abuhaimed
3cc2aa8d89 Fix text node thread locals not being updated (#3173) 2025-09-13 11:33:00 +00:00
0SlowPoke0
75ad8d4abd Fix a regression where G/R/S stayed active after switching from Pen or Shape tool (#3166)
* Fix: cancel active G/R/S transform when switching from Pen or Shape tool

* Fix typo

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-11 22:59:19 +00:00
Keavon Chambers
50f06c886f Fix crash from #3160 when migrating some old documents to use degrees not radians 2025-09-11 15:14:41 -07:00
0SlowPoke0
929dbdb14c Fix a regression with G/R/S in the Path tool applying to the whole object instead of the selected points (#3164)
unify Shape Tool and Select Tool pivot handling
2025-09-11 12:53:30 -07:00
Timon
2483832227 Mark new documents as saved (#3165)
* clean up new document message handling

* Mark new documents as saved
2025-09-11 12:09:15 -07:00
Dennis Kobert
5836416632 Optimize editor performance for node selection, click target bounds, and batched messages (#3162)
* Don't clone messages during batch processing

* Improve selected nodes perf and memoize network hash computation

* Reuse click target bounding boxes for document bounds

* Early terminate computing the connected count

* Cleanup
2025-09-11 10:08:26 +00:00