Timon
cd8ea1f554
Migrate fonts to be stored as resources ( #4165 )
...
* Good start
* Impl
* allow responses.add(async { Message::NoOp });
* Fix
* Cache font blob in text node
* Refactor font handling to use Font struct direcly
* Fix fmt
* Embedd Font Resources by default
* Review
* Review
* Cache font info based on ResourceHash
2026-06-05 13:27:25 -04:00
Timon
e32ff4b7f0
Make Resource aware of its own hash ( #4187 )
...
* Fix future message handler field name
* Add Resource::hash()
* Move all remaining resource types from core-types to graphene-resources
* Review
2026-05-31 23:08:01 +00:00
Timon
51427bef5f
Fix CI profiling compile failure ( #4184 )
2026-05-31 20:32:34 +00:00
Timon
a40e0d2887
Use ResourceId for referring to Resources ( #4176 )
...
* Use ResourceId for referring to Resources
* Use Doc
* use error for preprocessor ResourceId replacement failure
* Keep hashes in DocumentInfo
* Migrate with less mem copy
* Global ResourceMessage -> ResourceStorageMessage
* Add document ResourceMessage
* Move embedding logic
* Fix
* Cleanup
* Review
* Fix
2026-05-29 10:56:32 +00:00
Timon and Dennis Kobert
bbbe04903f
Define data types for ID-based resource handling ( #4168 )
...
* Add resource lib
* rename ResourceSource to ResourceInput
* Rename ResourceInput -> DataSource and improve API
* Review
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2026-05-25 10:50:57 +00:00
Timon
c3b0c87cfe
Antialias checkered artboard background edges ( #4163 )
...
* Antialias checkered artboard background edges
* Review
2026-05-22 16:48:05 +00:00
Timon
2770df7567
Implement content-addressed resource storage for raster images ( #4148 )
...
* Implement content-addressed resource storage
* Implement OPFS resource storage
* Remove ResourceStorage::read
* Review
2026-05-21 19:31:07 +00:00
Timon
d5f0140f26
Upgrade WGPU and Linebender dependencies ( #4154 )
2026-05-17 15:36:59 +00:00
Timon
98daa75c26
Desktop: Add support for opening files through the already-running instance via a local socket ( #4123 )
...
* Desktop: Forward file-open args from a second launch to the running instance
Also adds socket infrastructure that can be used in the future to allow dispatching actions from another process
* Use socket instead of ipc terminologie
* Fix
* Fix
* Better pipe name on windows
2026-05-09 18:11:44 +00:00
Timon
d97fe835b5
Desktop: Focus app window when loading a document ( #4124 )
2026-05-08 15:00:20 +00:00
Timon
1c2ac19b16
Desktop: Register the Graphite app as a file handler on Mac ( #4106 )
...
* Desktop: Implement native file open handler
* Desktop: Register file types on Mac
* Review
2026-05-06 13:05:30 +00:00
Timon
8ae8c47fe1
Fix the Fix > Close All action not resulting in the welcome screen being shown ( #4107 )
...
Fix missing welcome panel after closing all documents
Closing all documents left the Welcome panel as the only tab, but the old active document index could still point to a tab that no longer existed. The fix is to reset it to 0 when the document list becomes empty.
2026-05-06 12:03:14 +00:00
Timon
29f6e686ee
Reimplement checkered background rendering ( #4034 )
...
* Reimplement background checkerboard rendering
2026-05-01 17:02:10 +00:00
Timon
324b9e664c
Desktop: Update CEF ( #4048 )
...
* Update CEF to version 147
* Fix fmt
* Move CEF package
* Fix nix package
* Improve
* Cleanup
* Fix
2026-04-28 02:25:39 +02:00
Timon
6c5e3c97f8
Refactor persistence to combine document handling and workspace layout ( #4031 )
...
* Unify editor state persistence
* Review
* Fix
* Remove redundant DocumentDetails
* LoadDocumentContent indirection
2026-04-19 09:31:21 +00:00
Timon
2a2a60883d
Desktop: Use the OS temp directory for CEF caches ( #4030 )
...
* Desktop: Use the OS temp dir
* Review
2026-04-15 10:47:45 +00:00
Timon
661e8bc569
Remove surface and window from ApplicationIo ( #3941 )
...
* Remove surface and window from ApplicationIo
* Seperate Wasm and Native ApplicationIo
* Fix warnings
* Fix tests
* Remove redundant PlatformApplicationIo::new_offscreen
* Fixup
* Remove unused From implementaitions for ApplicationIo
2026-04-09 20:12:53 +00:00
Timon
0eb440db14
Desktop: Improve Nix build times with more caching ( #4007 )
2026-04-08 01:46:38 +02:00
Timon
211111a01f
Desktop: Fix document tab reorder not being persisted ( #4002 )
...
* Desktop: Fix reorder not beeing persisted
* Desktop: Use rfd fork to support starting_directory with zenity dialog backend
2026-04-08 01:13:30 +02:00
Timon
bf269d7693
Introduce development Nix binary cache ( #3911 )
...
* Desktop: Introduce development Nix binary cache
* Configure caches in CI
* Cache nix shell
* Fix
2026-04-04 11:12:57 +00:00
Timon
9727e14fe9
Add the re-labeled node display name to its Properties panel section header ( #3930 )
...
* Show nodes display name in properties panel if set
* Review
2026-03-22 20:20:32 -07:00
Timon
9a23b9908e
Add missing 'Copy to Points' migration ( #3922 )
...
Add Copy to Points migration
2026-03-23 01:48:39 +00:00
Timon
4a37ce4576
Desktop: Open file dialogs in the folder containing the document ( #3934 )
...
Desktop: Open save file dialogs in document parent folder
2026-03-23 01:36:25 +00:00
Timon
5b1e1cb2fb
Fix artboards not exporting with transparency using Vello ( #3921 )
...
* Fix hide artboard for raster render mode
* Desktop: Fix transparent viewport blending
* Fix vello render using wrong color space conversion for background
* Review
2026-03-23 01:20:54 +00:00
Timon and James Lindsay
0c7b5cd534
Desktop: Fix broken resizing affecting some Linux systems ( #3917 )
...
Desktop: Fix resizeing being broken on some Linux systems
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com >
2026-03-20 01:28:22 +00:00
Timon and Keavon Chambers
2e842cb425
Desktop: fix Mac restart dialog to show all changes to preferences requiring restart ( #3903 )
...
* Desktop: Fix restart dialog on Mac
* Fix
* Fix
* Fix
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-03-19 02:51:26 +00:00
Timon
4c45c88034
Desktop: Remove CEF CREDITS.html from Windows bundle ( #3889 )
2026-03-14 16:44:38 +00:00
Timon and Keavon Chambers
a18b7ff79d
Desktop: Add an 'Enable V-Sync' preference on Mac ( #3887 )
...
* add vsync pref
* account for physical scale in pixel preview passthru check
* change allow to expect attr
* Update user-facing v-sync text
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-03-11 21:32:37 +00:00
Timon and Keavon Chambers
095c2a6d47
Add the Pixel Preview render mode ( #3881 )
...
* Add pixel preview render mode
* Fix fmt
* Remove unused sampler
* Remove unnecessary mutex
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-03-11 02:44:00 +00:00
Timon
35b812ccfe
Desktop: Fix SVG Preview render mode ( #3877 )
...
Desktop: Fix svg preview mode
2026-03-10 12:16:34 +00:00
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