* 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
* 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
* 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
* 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
* 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
* 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
* 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>
* 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
* Prototyping desktop wrapper api
* Separate into multiple modules
* Some fixup
* Reimplement most functionality with editor api
* Fix texture life time crashes
* Fix scale
* Implement editor wrapper message queue
* Improve performance
* Handle native messages directly without submitting to event loop
* Fix overlay latency
* Move editor message execution to executor allows no shared state in editor wrapper
* Small clean up
* Small cleanup
* Some renames
* Cleaning up desktop wrapper interface
* Fix formatting
* Fix naming
* Move node graph execution result handling to app
* Fix FrontendMessage RenderOverlays usage
* Reimplement file drop and clean up file import and open messages
* Remove dbg
* Post merge fix
* Review changes
* Make file name and document name identical
* Add save as action
* Fix test errors
* Add missing save as action
* Desktop fix drop file open document file message
* Address review comments
* Replace file save suffix with file extension
* Add comment specifying that the upload function takes a html input accept string
* Fix remove file extension in web
* Use let
* Don't show save as menu entry in web
* Don't add SaveDocumentAs in web
* Remove file extension on all open document file calls
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Tell the GPU that the UI texture is in sRGB format so that it is converted to linear before sampling
* Do blending in srgb
* Revert "Tell the GPU that the UI texture is in sRGB format so that it is converted to linear before sampling"
* Remove unnecessary srgb linear conversions
* Blend overlays and viewport in linear and return early when ui is fully transparent
* Make viewport element transparent when hole punch is enabled
Instead of removing the viewport element completely we make it transparent
Allows the text tool to work
* Fix formatting
* Render overlays with vello
* Fix nix flake comments
* Rendering refactor with better names and code location
* Remove unnecessary overlay renders
* Post rebase fix
* Rename CEF implementations to match the process they are called in
* Rename CEF implementations to match the process they are called in
* Implement ipc abstraction
* Call js function `receiveNativeMessage` for all SendToJS ipc messages
* Allow js to call `sendNativeMessage` for sending messages to the browser process
Co-authored-by: Adam <adamgerhant@gmail.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Fix missing safety consideration
---------
Co-authored-by: Adam <adamgerhant@gmail.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Remove tauri based desktop app
* Allow bzip-1.0.6 license
* Implement basic cef based desktop app
* Cleanup build setup
* Use wait until and execute cef loop more frequently
* Remove custom do browser work event
* Move WinitApp into its own module
* Cleanup event handling
* Cleanup + Scheudule cef message loop work
* Fix cpu overheating on idle: https://xkcd.com/1172/
* Use tracing crate for logging instead of println
* Rebase to main
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
frontend/vite.config.ts formatThirdPartyLicenses needs cargo-about to be in path.
This adds cargo-about as a build dependency for both nix shells.
Co-authored-by: Keavon Chambers <keavon@keavon.com>