Timon
4c911f6aa0
Desktop: Stop compiling the editor into the wasm wrapper ( #4348 )
...
* Make wasm wrapper not depend on editor on native
* Introduce pkg-native
* Fix tests
* Fix fmt
* Correct span and make cargo fmt work inside editor_commands block
* Review
* Fix lint
2026-09-15 14:35:57 +02:00
Timon
eb50be844b
Remove now obsolete disable-registration special case from node macro ( #4375 )
2026-07-25 13:54:46 +00:00
Timon
f5b1fee85f
Fix node insertion crash caused by mismatched DefinitionIdentifier serialization ( #4353 )
2026-07-22 09:38:07 +00:00
Timon
6f8c4b2adb
Desktop: Stop compiling the editor into the wasm wrapper ( #4348 )
...
* Make wasm wrapper not depend on editor on native
* Introduce pkg-native
* Fix tests
* Fix fmt
* Correct span and make cargo fmt work inside editor_commands block
* Review
* Fix lint
2026-07-18 10:33:38 +00:00
Timon
a040362d4a
Change footprint to always be in physical instead of logical space ( #4280 )
...
* Fix footprint scale
* Footprint in physical pixels
* Move scale conversion to `create_context`
* Remove scale from render cache
* Review
2026-07-15 13:37:46 +00:00
Timon
dc813e35fc
More consistent document crate names ( #4323 )
...
* More consistent document crate names
* Fix fmt
* Fix ASCII art diagrams
* rename document-graph to document-graph-storage
2026-07-15 12:25:12 +00:00
Timon
f0bb2edb3d
Desktop: Handle keyboard shortcuts that are skipped by CEF on Mac ( #4322 )
...
* Fix text selection on Mac
* Review
2026-07-15 10:57:48 +00:00
Timon
7e29fe9a31
Fix lifetime of cached textures ( #4333 )
...
* Fix in-use textures being destroyed
* Remove ImageTexture refs
* Review
2026-07-14 14:51:33 -07:00
Timon
ba0a97aefe
Desktop: Isolate CEF-rendered UI into separate crate and process ( #4321 )
...
* Extract CEF rendered UI into a separate process and crate
* Review
* Review
* Review
* Review
* Remove necessary workarounds
* Block on frame copy ack
* Crop and resample frames correctly
* Skip blank frames
* Fix deps
* Fix fmt
* Fix clippy warning
* Review
* Fix todo
2026-07-14 14:51:20 -07:00
Timon
97f8113fe4
Desktop: Fix crash caused by submitting work mid surface-reconfigure ( #4317 )
...
Implement wgpu-sync
2026-07-09 12:09:01 +00:00
Timon
294952e152
Desktop: Use dirty rects for UI texture uploads ( #4305 )
2026-07-04 16:25:16 +00:00
Timon and Keavon Chambers
8a38af5be7
Rework clipboard handling to carry embedded resources across documents ( #4296 )
...
* Move clipboard code to its dedicated handler
* Adapt clipboard format to work with resources
* Restore visibility, lock, and collapse state when pasting layers
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-07-01 09:31:55 +00:00
Timon and Keavon Chambers
0882637801
Auto-recover from corrupt Wasm builds that emit undefined env imports ( #4287 )
...
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-06-30 22:07:17 +00:00
Timon
9626c047a4
Fix CI builds by pinning cargo-about for Windows and Mac
2026-06-30 21:40:18 +00:00
Timon
6ee0239b96
Desktop: Update CEF to 149 ( #4286 )
2026-06-29 15:25:30 +00:00
Timon
21bf290013
Hide node parameters connected to a NodeInput::Scope in the Properties panel ( #4284 )
...
Hide inputs connected to a scope in properties panel
2026-06-26 09:48:14 +00:00
Timon and James Lindsay
684496109a
Fix a previewed node's dashed output wire appearing at the wrong position ( #4282 )
...
* Fix node graph connection to export in wrong place
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com >
* Review
---------
Co-authored-by: James Lindsay <78500760+0HyperCube@users.noreply.github.com >
2026-06-26 09:43:00 +00:00
Timon
f3faefd460
Snap overlays to device instead of UI pixels on web ( #4281 )
...
Snap overlays to physical instead of logical pixels on web
2026-06-25 09:04:36 +00:00
Timon
6fb6e83d68
Desktop: Prefer Vulkan as the WGPU backend on Linux ( #4270 )
...
* Manual wgpu adapter selection
* Fall back to remaining adapters when the preferred one fails to initialize
2026-06-25 00:09:39 +00:00
Timon and Keavon Chambers
f798b48b83
Move branding and package install into cargo-run ( #4266 )
...
* Move branding asset fetch into cargo-run
* Move frontend npm install into cargo-run
* Rename branding::ensure to branding::setup
* Wording nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-06-22 20:21:46 +00:00
Timon
d753ce26f7
Make the cargo-run tool auto-install its wasm-opt build dependency ( #4256 )
...
* Allow auto downloading wasm-opt
* Fix for mac
* Review
2026-06-21 20:17:54 +00:00
Timon and Keavon Chambers
a72ac39059
Replace the dev server's wasm-pack, cargo-watch, and concurrently tools with custom cargo-run tooling ( #4254 )
...
Replace wasm-pack, cargo-watch and concurrently with custom build tooling
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2026-06-21 12:48:31 -07:00
Timon
674b3a213f
Extract pipelines from WgpuExecutor into scope-provided pipeline nodes ( #4210 )
...
* Implement generic pipeline caching
* Fix WIP
* Fix
* Fix
* Fix
* Fix bench
* Migrations
* Review
2026-06-19 21:20:25 +00:00
Timon
236ab7a11c
Move TaggedValue::ResourceHash to macro definition site ( #4232 )
2026-06-19 01:36:45 +00:00
Timon
077d11bdba
Resolve scopes before flattening network ( #4235 )
...
* Compiler changes
* Run preprocessor on wrapping network
* Remove test nodes
* FIx
* move generate_node_paths call to compiler
* Make it more obvious what input is set to
2026-06-15 11:19:21 -07:00
Timon and Dennis Kobert
e524dff1a7
Add node macro support for injecting nodes into global scope ( #4221 )
...
* Macro support
* Preprocessor support
* Allow Cow str as scope name
* Use Passthrough node to work around compiler auto wrapping the producer node and invalidating the node id
* Stable NodeIds
* Less hacky but with bad performace
* Remove Cow from RegistryValueSource::Scope
* Connect scope injections to the inner network export
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2026-06-11 18:14:58 +00:00
Timon
05d3d66587
Desktop: Block network requests in CEF that are not explicitly allowlisted ( #4225 )
2026-06-11 15:32:53 +00:00
Timon
9d2071ce6a
Desktop: Disable UI acceleration by default on Linux ( #4201 )
2026-06-05 22:16:37 +00:00
Timon
08c6d02e5b
Introduce network request handler ( #4194 )
...
* Impl NetworkMessageHandler
* Repalce Frontend fetch like messages with NetworkMessage
* Reimpl resource loading with NetworkMessage
* Fix wasm
* dedublicate resource requests
* Embedd font resources created by migration
* Fixup
* Fix tests
* Fix font catalog not loading
* Cleanup
* Fix layouts not updating when font catalog is loaded
* Review
* Review
* Cleanup
2026-06-05 13:27:45 -04:00
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