Adam Gerhant
06484ef4e0
Show red connectors on a type-erroring node and accurate connector colors upstream of it ( #3110 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Refactor TypeSource
* Add complete valid types
* Add invalid type
* Improve valid/complete types and disconnecting
* Code review
* Return types on error
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-11-19 03:00:32 +00:00
Keavon Chambers
12453d2e61
Make the welcome screen not include Alt in Ctrl+Alt+N on desktop
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-17 15:26:23 -08:00
Adam Gerhant
85965c8b6a
Fix export edge distance ( #3386 )
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
2025-11-17 17:22:05 +00:00
Timon
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
Keavon Chambers
e42950b4be
Add support for middle-clicking (and double-clicking) the document tab bar to create a new document ( #3363 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Has been cancelled
2025-11-10 00:54:30 -08: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
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
Keavon Chambers
96d73a8570
Remove the application title from the header bar
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-11-06 09:20:51 -08:00
Keavon Chambers
0998abdaf3
Add support for visualizing Vec<String> in the Data panel
2025-11-03 13:13:54 -08: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
d15f63f4fd
Ensure the LoadPreferences message is dispatched with None when no preferences exist ( #3198 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* preference load message on default load
* review fixup
2025-09-23 20:19:16 +00:00
Timon
46d5928724
Desktop: Fix window maximize and minimize ( #3200 )
...
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
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
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-09-20 05:20:20 -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
Keavon Chambers
22aa8c1264
Update UI widget designs to improve color consistency and add a narrow height mode
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Has been cancelled
2025-09-08 21:48:22 -07:00
Flo
cf2e525ea9
Fix the ellipses of a long document name causing the tab's unsaved asterisk to be hidden ( #3146 )
...
* Fix unsaved indicator
* Change isSaved to isUnsaved to prevent showing star on tabs like Properties
* Fix CSS
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-08 03:40:49 +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
Keavon Chambers
b5ebe78f5e
Update all frontend npm dependencies except Svelte and Vite ( #3120 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Upgrade node dependencies except Svelte 5 and its peer deps
* Fix lint errors
* Fix previous Rust deps upgrade breakage
* Fix demo artwork
* Allow profiling CI workflow to fail
2025-09-01 17:22:30 -07:00
Adam Gerhant
f1a1275601
Add support for adding/removing a graph's primary imports/exports separately from the secondary ( #3089 )
...
* Primary Import/Export
* Primary Import/Export
* Complete import exports
* Final changes
* Improve line width
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-29 20:57:15 +00:00
Timon
ad59e1c622
Desktop: Add window control buttons for Linux ( #3081 )
...
* Add window buttons for linux
* Code and design review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-28 03:53:43 +00:00
Timon
c5991c6f61
Desktop: show platform specific window buttons ( #3078 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
Implement app window button functionality and set platform
2025-08-25 14:15:31 +00:00
Keavon Chambers
0e467907e2
Improve font import; replace Inconsolata with Source Code Pro; show third-party licenses in editor dialog ( #3079 )
...
* Improve font import; replace Inconsolata with Source Code Pro; show third-party licenses in editor dialog
* Code review
2025-08-21 11:57:04 -07:00
Timon
e70862b399
Desktop: Add File > Save As… ( #3034 )
...
* 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>
2025-08-20 10:09:01 +00:00
Ciftci
36a1453d03
Add workaround for a Safari bug where our number input fields can't be released from click-and-drag ( #3053 )
...
Added fallback for Safari to trigger a pointerLockChange in case it doesnt fire automatically
Co-authored-by: seabeeberry <seri@Mac.fritz.box>
2025-08-18 22:30:18 -07:00
Keavon Chambers
bdc029c692
Add Table<Gradient> as a graphical type ( #3051 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-08-13 01:42:51 -07:00
Keavon Chambers
1b351aca76
Replace the Color type with Table<Color> everywhere ( #3048 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-08-12 00:38:23 -07:00
Keavon Chambers
2bb4509647
Replace the Spreadsheet panel with an improved Data panel ( #3037 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* Improve the table data panel
* Add the "Window" menu bar section and polish everything
2025-08-10 07:46:42 -07:00
Keavon Chambers
2f4aef34e5
Add Table<Color> as a graphical type ( #3033 )
...
* Reduce code duplication in bounding box impls on Table
* Working Table<Color> rendering in the graph
* Implement color and fix other rendering with Vello and polish
2025-08-10 01:34:33 -07:00
Timon
b491cfcd2b
Desktop: Fix the Text tool not working with the hole punch ( #3012 )
...
* 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
2025-08-07 13:49:03 +02:00
Timon
5d17f5dcce
Fix broken SVG file export regression ( #3021 )
...
Js is a joke
2025-08-07 11:23:31 +00:00
Timon
96a1b12a05
Desktop: Unify save file handling and add file dialog for export ( #3008 )
...
* Prepare save file unification
* Desktop add save file dialog
2025-08-06 16:07:53 +00:00
Keavon Chambers
0f638314dc
Rename the Group type to Graphic everywhere ( #3009 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-08-05 20:55:15 -07:00
Keavon Chambers
6dd17f76c1
Fix pointer offset from viewport position
2025-08-05 03:26:09 -07:00
Keavon Chambers
2e1396462c
Eliminate bare Graphic and Artboard graph data by making Merge and Artboard nodes internally use tables ( #2996 )
...
* Eliminate bare Graphic and Artboard graph data by making Merge and Artboard nodes internally use tables
* Make the Extend node user-facing
2025-08-05 02:24:12 -07:00
Timon
7cb42b9523
Desktop: Add native file dialogs ( #2939 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add native open file dialog
* Add native save file dialog
* Fix integer underflow in defer message handler
* Update nix flake
* Cleanup
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2025-08-04 13:58:33 +00:00
Keavon Chambers
c98477d8ed
Rename graphic subtypes to remove their "data" and "group" suffixes ( #2990 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Rename VectorData to Vector
* Rename other VectorData* types to Vector*
* Move assorted data types out of vector_data.rs into misc.rs
* Rename vector_data.rs to vector_types.rs and remove the vector_types module folder
* Rename other references to "vector data"
* Remove label widgets for raster/vector/group to use "-" instead
* Rename RasterData to Raster
* Rename GraphicGroup to Group
* Fix migrations and rename graphic_element.rs -> graphic.rs
* Rename TaggedValue::ArtboardGroup -> TaggedValue::Artboard
2025-08-04 04:53:25 -07:00
Timon
853c26cbc1
Desktop: Viewport bounds from viewport container ( #2989 )
...
* Remove build script because it created more issues that it solved
* Get viewport bounds from viewport container
2025-08-04 11:14:34 +00:00
Timon
8fad295e36
Make checkboxes not use interior mutability ( #2976 )
...
* Make checkboxes not use interior mutability
* Use copy instead of cloning
* Fix
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-03 15:16:21 -07:00
Adesh Gupta
b9a1b2e951
Add copy/cut/paste/duplicate functionality for path geometry ( #2812 )
...
* Copy and Paste for paths
* Fix merge
* Implement Copy, Cut and Duplicate
* Fix selection of segments
* Fix formatting
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-08-02 21:15:01 +00:00
Dennis Kobert
08ec1d08f6
Desktop: Execute editor and node graph natively ( #2955 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Desktop: Execute editor and node graph natively
* Remove decouple execution feature
* Disable feature gate for native communication functions
* Avoid ininite message loop on an infinite canvas
* Add any lint exception
* Build evaluation loop
* Fix texture passing message
* Cleanup
* More cleanup
---------
Co-authored-by: Timon Schelling <me@timon.zip>
2025-07-31 10:26:36 +00:00
Keavon Chambers
07802204f2
Fix ~1 second delay opening new document in Chrome by correctly setting willReadFrequently ( #2962 )
...
* Fix ~1 second delay opening new document in Chrome by correctly setting willReadFrequently
* Use willReadFrequently in a couple more places
2025-07-31 02:49:16 -07:00
Keavon Chambers
4391f88d03
Update references to the latest tech stack plans
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
Website / build (push) Has been cancelled
2025-07-29 15:17:41 -07:00
Dennis Kobert
35ab266bbb
Add handler for deferred execution of messages ( #2951 )
...
* Add Handler for defered execution of messages
* Cleanup
* Track graph execution id to associate messages with their corresponding execution id
* Rename ViewportReady -> NavigationReady
* Defer layer deselection
2025-07-29 01:57:11 +02:00
Keavon Chambers
66cd7a3b76
Desktop: Add the transparent viewport hole punch and hook up window button plumbing ( #2949 )
2025-07-28 02:13:32 -07:00
Salman Abuhaimed
85021fd9e0
Add text alignment to the Text node ( #2920 )
...
* Add text alignment to Text node
* Lots of renames and improvements
* Add text alignment to the Text tool
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-25 22:04:12 -07:00
mTvare
72f1047a27
Display images in the SVG viewport renderer via canvases instead of base64 PNGs ( #2903 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* add: move images as rendered canvases to node_graph_executor
* add: added the frontend message
* fix: bytemuck stuff
* fix: canvas element breaking
* fix: width issues
* fix: remove the old message
* npm: run lint-fix
* fix
* works finally
* fix transforms
* Fix self closing tag
* fix: reuse id
* fix: have it working with repeat instance
* cargo: fmt
* fix
* Avoid "canvas" prefix to IDs
* fix
* fix: vello issue from 6111440
* fix: gpu stuff
* fix: vello bbox
* Code review
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-24 17:14:38 -07:00
Keavon Chambers
f299497090
Add shaking input gesture to disconnect a node being dragged ( #2889 )
...
* Add shaking input gesture to disconnect a node being dragged
* Improve shake detection algorithm
* Fix reconnection
* Improve shake reconnect logic
* Fix history
---------
Co-authored-by: Adam <adamgerhant@gmail.com>
2025-07-19 02:11:52 -07:00
mTvare
8a68683a93
Add pivot type selection with Custom Pivot, Origin (Average Point), and Origin (Active Object) to the Select tool ( #2730 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* add origin
* cleanup pivot
* a lot of stuff
* reset pivot
* fix transform with pivot issues
* fixes
* some more cleanup
* fixes
* finally works
* origin fixes
* fix spaces
* fix using dragged_layers
* simplify pivot logic
* fix bugs
* fix the final bug
* fix in select_tool
* fix updates
* some more refactors to fix misunderstanding and refactor
* add checkboxes
* fix labels
* fix stuff which broke at merge
* update
* cargo fmt
* fix serde crash
* fix pivot not updating on move
* fix pivot not becoming last active refernce
* fix redraw issues
* add: active pivot
* cargo fmt
* fix pivot showing up in default mode
* add: pivot pin
* fix: use pin icons
* cargo: cargo lock update?
* fix: use checkbox instead of Overlays
* refactor: add dot to path_tool
* add: active origins
* UI tweaks
* add: add all of the stuff for path tool
* remove: unused layer
* fix: pivot pinning and origin angle
* fix: pin only if moved in first place
* cargo: fmt
* fix: pivot use disabled method
* fix: remove redudant NoOp
* fix: 3 stuff
* fix: select from elsewhere
* fix: compass rose wobbling around
* add: move pivot on grab
* add: move pivot on nudge
* add: move pivot on Grab
* Code review and tooltips
* fixes
* fixes
* fixes
* fix: skipping artboard on bounds calculation
* fix: by default have origin
* Fix prior fix
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-08 09:24:54 +00:00
Adam Gerhant
f57163c795
Port node graph wires to the backend and improve graph UI performance ( #2795 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Improve node graph performance
* Fix wire bugs, add type default for properties.
* Grid aligned wire paths
* remove type source
* node from exposed input
* Refresh wires on preference change
* merge fixes
* Code review
* Fix names
* Code review
* Fix wires on redo/undo
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-04 22:53:37 -07:00
Keavon Chambers
0febfaf142
Make the node graph unrenderable message less scary
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-01 05:29:09 -07:00