Timon
4300a885dc
Fix raster export scale factor ( #3870 )
...
* fix export scale factor
* export scale increment step 0.5
* fix svg to raster export on web
2026-03-10 01:23:42 +00:00
Timon
5d22292072
Replace npm build script with new cargo run tool ( #3832 )
...
* move nix flake to root
* cargo run tool
* use thiserror in third-party-licenses tool
* prefere panic over exit
* Add automatic dependency check to cargo run tool
* Skip dependecies that are not needed for the current task
* Fixup
* Fixup
* fix windows
* Fixup
* improve usage text
* Fix linux bundle
* add graphen-cli
* fix build profile
* fix
* release profile should not include debug infos
* Review
* remove profiling profile
was redundent with release
* rename to cargo-run tool
* improve consistency
* rename deps to requirements
* fix
* return success when showing usage
2026-03-07 13:26:19 +00:00
Timon
da7437c023
Reimplement notice file generation for third-party licenses through Rust, now with CEF credits ( #3808 )
2026-02-26 11:12:28 +00:00
Timon
a2d3b3f410
Desktop: Make shutdown more robust and fix panic caused by invalid viewport scale ( #3783 )
...
* Fix panic caused by invalid viewport scale
* Make shutdown more robust
2026-02-22 17:28:35 +00:00
Timon and Keavon Chambers
3f999bf231
Desktop: Add "Disable UI Acceleration" to preferences ( #3774 )
...
* Deskltop: Add Disable UI Accelaration preference
* Fixup
* Fix typo
* Code review and update strings
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-02-19 01:54:01 +00:00
Timon
3571c0d577
Fix Vello canvas on web not being transparent by using premultiplied alpha mode ( #3770 )
...
Fix canvas not being transparent by using Premultiplied alpha mode
2026-02-17 20:48:16 +00:00
Timon
8b67840f0c
Desktop: Fix Eyedropper tool ( #3764 )
2026-02-14 16:44:52 +00:00
Timon
d2eaa03498
Desktop: Disable more CEF optional features ( #3747 )
2026-02-11 23:36:34 +00:00
Timon
4cdfbb22e8
Desktop: Fix new document offset on first startup ( #3738 )
...
Desktop: Fix new document offset
2026-02-11 13:08:17 -08:00
Timon
9633de5929
Desktop: Push builds to Nix binary cache in CI ( #3740 )
...
Desktop: Add Nix Cache
2026-02-09 19:17:14 +00:00
Timon
0f10c242e2
Desktop: Enable manual trigger for Mac and Windows builds ( #3736 )
2026-02-08 23:39:23 +00:00
Timon
2f5ccad5ea
Desktop: Reduce Nix package closure size ( #3737 )
2026-02-08 21:31:38 +00:00
Timon
acab171bc5
Desktop: Build and Sign Mac and Windows Bundles in CI ( #3728 )
...
* Desktop: Build and Sign Mac and Windows Bundles in CI
* Desktop: Remove unnecessary CEF files from Windows Bundle
* Desktop: Use a temp file for license generation on Windows to avoid PowerShell modifying stdout
2026-02-06 13:37:07 +00:00
Timon
9c56c852ca
Desktop: Snap overlays to physical instead of logical pixels ( #3493 )
...
WIP
2026-02-04 07:24:16 +00:00
Timon
c7e3d01e2b
Improve font loading ( #3705 )
...
Fix fonts not loading
2026-02-04 07:23:50 +00:00
Timon
d04def886d
Ensure non-negative lengths for stroke dash pattern ( #3710 )
...
Caused Vello rendering to fail
2026-02-03 17:19:31 +00:00
Timon
910fb54c15
Add quantize time nodes ( #3703 )
...
add quantize time nodes
2026-02-02 12:55:53 +00:00
Timon
5ace2c9660
Desktop: Use tokio async runtime ( #3704 )
...
Use tokio because hyper needs it
2026-02-02 12:49:15 +01:00
5fd1a24f16
Desktop: Add Eyedropper tool support with native Vello ( #3684 )
...
* mostly done
* fix
* kinda works but tilt and flip broken
* fix footprint
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com >
* Code review
* fix cursor hiding
* Remove console.log
---------
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com >
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-01-27 01:24:09 +00:00
Timon
5e61d59e50
Desktop: Restart without UI acceleration when it fails on Linux ( #3668 )
...
* Desktop: Restart without UI Acceleration when it fails on Linux
* fix spelling
2026-01-26 14:33:09 +00:00
Timon
b4e9d7b9eb
Desktop: Fix bitmap file export not preserving alpha ( #3673 )
...
Fix Export not preserving alpha
2026-01-26 13:51:48 +00:00
Timon
7a5790744f
Add focus document toggle ( #3672 )
2026-01-23 15:28:02 +00:00
Timon and Keavon Chambers
2be7790d4d
Improve UX of importing vs. opening files ( #3661 )
...
* wip
* fix drag and drop
* fix
* fix tests
* fix tests
* fix warning
* Partial code review
* add dialog
* fix web
* fix web
* push back release candidate expiry
* Code review
* Reduce code duplication for pasting files in frontend
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-01-22 01:37:49 -08:00
Timon and Keavon Chambers
95d3556204
Replace globals with editor environment ( #3656 )
...
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-01-19 17:06:02 +00:00
Timon
07fbcd489c
Desktop: Add fullscreen window mode ( #3625 )
2026-01-19 16:32:03 +00:00
Timon and Keavon Chambers
00718c5b61
Remove the need for Nix npm dependency hash ( #3652 )
...
* Remove the need for nix npmDeps hash
* Use 2.x
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-01-17 22:22:59 +00:00
Timon
73682b482b
Desktop: Implement pointer lock for NumberInput ( #3638 )
...
* Desktop: Implement pointer lock for NumberInput
* add shift and ctrl modifiers
* fixup
2026-01-15 11:27:31 +00:00
Timon
6616d1bfb1
Desktop: Add commit info to binaries build with Nix ( #3635 )
2026-01-15 10:34:01 +00:00
Timon
654a05bb41
Desktop: Build Flatpak in CI ( #3633 )
2026-01-13 23:46:36 +00:00
Timon
a42cad8bfb
Desktop: Pin the muda crate to commit that includes a necessary dependency update
2026-01-06 04:25:29 +01:00
Timon Schelling
2a59bd50bd
Desktop: Capitalize the app directory name on Mac and Windows
2026-01-06 00:46:35 +00:00
Timon
cf85ec736f
Desktop: Bundle for Linux with Nix ( #3569 )
...
bundle for linux with nix
2026-01-06 00:32:55 +00:00
Timon
c2a29470c3
Desktop: Fix serde-based document migrations not being applied in non-Wasm environments ( #3580 )
...
Desktop: Fix serde based migrations not beeing applied
2026-01-05 23:45:31 +00:00
Timon
bd1f7eefdb
Desktop: Fix resize helper window Z-order and attach to parent console on Windows ( #3572 )
...
* Desktop: Fix helper window zorder on Windows
* Attach to parent console if launched from a terminal
* Workaround for a Windows-specific exception that occurs when `app` is dropped
2026-01-05 23:02:41 +00:00
Timon
8f25eb6ca4
Desktop: Fix crash during shutdown caused by clipboard being dropped after the window ( #3578 )
...
Desktop: Fix crash during shutdown that was caused by clipboard
2026-01-05 15:38:52 +00:00
Timon
ee2e61f38f
Provide shaders via artifact repo ( #3250 )
...
* raster_nodes_shaders_entrypoint.wgsl upload
2026-01-02 17:17:56 +00:00
Timon and Keavon Chambers
11e2882cb2
Desktop: Fix Windows build ( #3522 )
...
* fix win build
* fix mac
* Change window button colors to match Windows colors
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-12-22 14:48:13 -08:00
Timon
f705d0080d
Desktop: Switch to immediate frame present mode on Mac ( #3495 )
...
* mac immediate render mode
* fix key modifier flags on mac
2025-12-21 20:14:47 -08:00
Timon
6f087eb981
Desktop: Fix minimize/restore animations on Windows ( #3492 )
...
fix minimize animation on win
2025-12-18 15:53:36 +00:00
Timon
14b8cdf4cb
Desktop: Fix missing taskbar icon on Windows ( #3490 )
...
* fix missing taskbar icon
* focus window after init
2025-12-18 12:51:01 +00:00
Timon
b97978e91d
Fix regression where Ctrl+X is copying not cutting ( #3486 )
...
fix nodegraph cut regression
2025-12-18 00:40:54 -08:00
Timon
b4fc3d0580
Desktop: Fix pivot and axis constraint overlays ( #3463 )
...
* fix pivot gizmo native dowel_pin overlay
* fix native snapping overlay
2025-12-15 14:53:43 +00:00
Timon
820865389c
Desktop: UI scale preference ( #3475 )
...
* ui scale preference
* cleanup
* add update ui scale message to SIDE_EFFECT_FREE_MESSAGES
* fix mac title bar height
* hide UI preference section on web
* set % as unit of ui scale
2025-12-15 14:11:43 +00:00
Timon
e44f993095
Desktop: Forward and Backward mouse button support ( #3472 )
...
forward and backward mouse button support
2025-12-15 11:45:26 +00:00
Timon
7532bd7260
Desktop: Hide menu bar in fullscreen mode on Mac ( #3464 )
...
hide menu bar in fullscreen mode on mac
2025-12-12 13:09:31 +00:00
Timon
6d852f11af
Desktop: Text clipboard support ( #3461 )
...
* gray background for viewport texture
* cust copy paste support
* connect clipboard read on web
* fix eyedropper bounds
* cleanup
* add missing char events for some named keys like enter
2025-12-12 00:16:35 +00:00
Timon and Keavon Chambers
68a9bbced0
Desktop: Update metadata for compiled application binaries ( #3453 )
...
* change bin names
* set win product name
* Update Windows metadata
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-12-08 01:57:55 +00:00
Timon
a5cf62a90b
Desktop: Custom cursor support ( #3452 )
...
custom cursors with caching
2025-12-06 16:16:14 -08:00
Timon and Keavon Chambers
2e4481880e
Desktop: Fix missing resize events causing all-gray window on Mac after launch ( #3445 )
...
* okayish solution
should be improved at some point but for now it works well enough.
* do leftover renames
* better solution
* less weird resize frames
* move surface reconfiguration
* fix recent desktop mac breakages
* better looking resize on mac
* fix background color
* Fix blank screen on window initialization
* cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-12-06 23:11:47 +00:00
Timon
39b5229df7
Desktop: Limit application to a single instance ( #3441 )
...
* only allow single instance
* more reliable CEF cache cleanup
* some cleanup
* fix lock file location
* add simple signal handling
* fix skew handles on desktop
* mac remove unused helpers
2025-12-03 19:13:15 +01:00
Timon
3fd0460d03
Desktop: Update CEF to 142 ( #3431 )
...
* update CEF to 142
* fix win
* fixup
* post merge fix
* use getter instead
2025-11-30 23:23:31 +00:00
Timon
94e5c8fc05
Desktop: Prevent CEF context menu to fix crashing by right-clicking a text field ( #3429 )
...
* add dummy context menu handler to prevent some crashes
* some cleanup
correcting cef handler impl names
using std::ffi::c_int
2025-11-29 00:08:43 +00:00
Timon and Keavon Chambers
bb4516e377
Desktop: Add app menu for Mac ( #3428 )
...
* add mac app menu
* review fixup
* Remove "About Graphite" ellipsis, add "Show All", make it say "Quit Graphite"
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-11-28 23:42:14 +00:00
Timon
f4608a6e40
Desktop: Resize issue mitigation, scroll speed adjustment and duplicate pointer move event filtering ( #3424 )
...
* mitigate resizing issue on mac and windows
* adjust scroll speed for mac and win
* fixup
* filter out duplicate mouse move events
2025-11-27 16:18:52 +00:00
Timon
5ff399d3f2
Desktop: Display taskbar icon on Windows ( #3376 )
...
* task bar icon
* limit cef render processes to 1
* disable more chrome features
2025-11-25 14:16:59 +00:00
Timon
96c5e3ec18
Desktop: Add Icon for Mac ( #3401 )
...
Add icon
2025-11-25 11:02:21 +00:00
Timon
3f532e478c
Separate branded assets from monorepo ( #3406 )
...
* remove branded files
* use branding repo
* include favicons
* nixpkg fixup
* win fix ico path
* fix fmt
* skip licensenses for dev builds
* review fixup
* test
* test
* ci test
* ci test
* ci test
* fix ci
2025-11-25 02:42:27 +00:00
Timon
548e0df1a1
Desktop: Mac menu workaround ( #3398 )
2025-11-19 17:13:35 +00:00
Timon
7d739c4542
Post refactor fixup ( #3395 )
...
* fixup
* fix feature deps for native
2025-11-18 15:48:45 +00:00
Timon and csmoe
e751979e5c
Desktop: Mac fix keyboard input ( #3371 )
...
* add browser debug port env
* mac use option as alt
* fix cef texture double sRGB conversion by using cef-rs fork with fix
* fix keyboard input on mac
* add missing frontend messages
* fixup
* fix keyboard input mac
* dbg
* re implement keyboard mapping
Co-authored-by: csmoe <csmoe@msn.com >
* Fix double arrow keys
* try fix for non mac
* test
* Revert "test"
This reverts commit c7cde9c597 .
* fix mac
* some cleanup
* fix zoom in shortcut on mac introduced in #3377
* disable menu shortcut display
* fixup
2025-11-17 11:51:59 +00:00
Timon
ebb434692a
Desktop: Enable GPU nodes ( #3364 )
...
* desktop simple nix ci
* make workflow manual
* fixup
* fix nix shell
* nix fmt
* fix shell
2025-11-16 22:37:02 +00:00
Timon
3871b6c4cf
Fix graph UI culling on-screen nodes ( #3380 )
...
* fix
* review fixup
2025-11-13 21:25:27 -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
Timon and Dennis Kobert
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
Timon
0d76ffd66d
Desktop: Mac remove menubar flicker ( #3335 )
...
* remove unnecessary folders from bundling for mac
* mac remove menu bar flicker
* clean up implementation
2025-11-04 09:26:08 +00:00
Timon
5be9b1fabc
Desktop: Mac native menu bar ( #3301 )
...
* macos native menu bar
* fix nix build
* Add shortcut symbols to menu
* fix fmt
* fix vendoring
* cleanup intercept frontend message
* accept into editor message in queue function
2025-10-27 14:11:24 +00:00
Timon
52e98ea8a3
Desktop: Remove winit fork, fix nix package, and improve rendering ( #3307 )
...
* reduce triangle count
* switch to winit repo after changes where upstreamed
* fix nix pkg
2025-10-25 00:47:36 +00:00
Timon
c4f6a2c9c1
Desktop: Add window abstraction layer ( #3302 )
...
* add bundle for mac os and windows
* Fix bundle name
This name gets used as the display name of the app on mac os, shorter name looks better and is more consistent.
* preserve std out by running bin directly
* bundle placeholder on linux
* fix linux
* window abstraction
* fix linux
* fix windows
* fix fmt
* remove windows file that was left
* use self
2025-10-23 11:33:32 +00:00
Timon
7fbe440e73
Desktop: Bundle for Mac and Windows ( #3297 )
...
* add bundle for mac os and windows
* Fix bundle name
This name gets used as the display name of the app on mac os, shorter name looks better and is more consistent.
* preserve std out by running bin directly
* bundle placeholder on linux
* fix linux
2025-10-23 10:39:08 +00:00
Timon and Dennis Kobert
39f4ccf8e0
Desktop: Fixup MacOS build ( #3295 )
...
desktop mac os fixup
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2025-10-20 13:31:36 +00:00
Timon and firestar99
8d3a8c2c11
Desktop: Add nix package to flake ( #3258 )
...
* update cargo-gpu, remove legacy-target-specs to fix nix builds
* add nix package to flake
* update cargo hash
* fix merge
---------
Co-authored-by: firestar99 <firestar99@sydow.cloud >
2025-10-15 11:01:20 +00:00
Timon
3509f0b035
Desktop: Persist document path ( #3272 )
...
* persist document path
* persist data cleanup
2025-10-15 10:30:47 +00:00
Timon
717defb2bb
Desktop: Trackpad pinch to zoom ( #3271 )
...
* prototype pinch gesture
* pinch to zoom
* fix
2025-10-14 22:27:27 +00:00
Timon
e366e4d64e
Desktop: Update CEF to v140 ( #3277 )
...
* update cef to v140
* fix build
* update flake
2025-10-13 04:56:56 +00:00
Timon and Dennis Kobert
e39fbb8903
Desktop: Fix non-Vello render mode ( #3259 )
...
* fix non vello render mode
* move export overide desision from reneder node to node runtime
* fix
* cleanup
* Fix typo and cleanup export logic
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2025-10-09 11:31:35 +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
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
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 and Dennis Kobert
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
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
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
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
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
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
Timon
c51967384f
Desktop: Fix keyboard shortcuts on windows ( #3139 )
...
* Try to fix shortcuts on windows
* Fix
2025-09-10 10:51:15 +00:00
Timon
9411612d7f
Move shader entrypoints to separate crate ( #3157 )
2025-09-10 10:20:45 +00:00
Timon
50be13522b
Desktop: Move preferences persistence to native ( #3138 )
...
* Move preference persistence to native
* Pass preferences as struct instead of serialized to string
2025-09-09 16:22:25 +00:00
Timon and Keavon Chambers
4261b7dad1
Desktop: Move autosave persistence to native ( #3134 )
...
* Move autosave persistence to native 1
* Move autosave persistence to native 2
* Reimplement quirky behavior of the web frontend
* Code revew
* Use select_after_open
* fix fmt
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-09 11:27:54 +00:00
Timon and Keavon Chambers
c081d0a9de
Allow the release info build script to work without requiring Git to be installed ( #3105 )
...
* Prevent panic if env GRAPHITE_GIT_COMMIT_HASH is less than 8 chars long
* Improve release info build script
* Nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2025-09-05 09:09:29 +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