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
Keavon Chambers
d9de1a1c73
Update the website's development roadmap
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Has been cancelled
2025-07-27 03:17:44 -07:00
Adesh Gupta
75614eb9d4
Fix vector mesh editing behavior in various edge cases ( #2943 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Fix colinear switch behaviour
* Fix Tab to switch handles
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-27 00:20:39 +00:00
0SlowPoke0
3a8c1b6f97
Add Arc drawing mode to the Shape tool and the associated angle gizmos ( #2757 )
...
* implement arc gizmo handler
* fixed wrapping need to fix snapping and overlays
* fixed all the issues
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-26 14:55:38 -07:00
James Lindsay
a1796dbc08
Fix a single layer twice selected hiding the properties ( #2911 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Fix a single layer twice selected hiding the properties
* Comment that the same node appears several times
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-26 05:28:02 +00: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
Timon
91156d295c
Desktop: Handle another instance is already running ( #2938 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Handle another instance is already running
2025-07-25 21:38:54 +00:00
Firestar99
4fec24893e
Shaders: add gcore-shaders and make graster-nodes no-std ( #2925 )
...
* gcore-shaders: add crate, move `color` and `blending` from gcore
* gcore-shaders: move `AsU32`
* gcore-shaders: move `ChoiceType`, switch `Cow` for `&str`, adjust node macro
* gcore-shaders: move `registry::types`
* gcore-shaders: move `context::Ctx`
* raster-nodes: make it `no_std` with `std` feature
* gcore-shaders: fix doctest
2025-07-25 17:53:26 +00:00
Firestar99
4d5a1a6ff1
remove inner enum from raster types ( #2929 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-25 16:15:21 +00:00
Dennis Kobert
a52ee70e4c
Desktop: Directly upload frame buffer ( #2930 )
...
* Upload frame buffer directly to gpu texture
* Disable cef GPU acceleration to prevent crashes
* Cleanup code
* Address review comments
---------
Co-authored-by: Timon Schelling <me@timon.zip>
2025-07-25 14:04:46 +02:00
Adam Gerhant
735d58a647
Desktop: Remove unnecessary dependencies in the desktop crate ( #2934 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* remove unnecessary dependencies
* Add start-desktop
2025-07-25 01:20:27 -07:00
mTvare
e6f1ad96b3
Fix inside stroke alignment not working in the Vello renderer ( #2936 )
...
* Fix inside stroke alignment not working in vello
* cargo: fmt
2025-07-25 00:15:05 -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
Timon
45bd031a36
Use flake compat to provide the nix flakes dev shell to non flake users ( #2926 )
...
* Use flake compat to provide the nix flakes dev shell to non flake users
* Move shell.nix to .nix sub folder
2025-07-24 21:48:57 +00:00
Dennis Kobert
f184e4aab2
Desktop: Refactor window state to not require locking ( #2928 )
...
* Replace window state with channels and improve resize performance
* Move Cef Handler into the cef module
* Reuse textures
* Test cef scheduling
* Schedule self render if texture is outdated
* Address review comments
2025-07-24 17:51:55 +00:00
Timon
9f4f3681c3
Desktop set cef data and cache directory ( #2927 )
2025-07-24 16:56:57 +00:00
Firestar99
e7b8b5a3b6
Shaders: graster-nodes no-std prep ( #2924 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* raster-nodes: remove commented out index node
* raster-nodes: move `CubicSplines` to separate mod
* raster-nodes: create `mod blending_nodes` and move assoc nodes
* raster-nodes: move node `gradient_map` to its own mod
2025-07-24 13:32:10 +00:00
Firestar99
59f3835c5d
Shaders: node macro ( #2923 )
...
* node_macro: cleanup attr parsing
* node_macro: add `cfg()` attr to feature gate node impl
* node_macro: add `shader_nodes` option
* node_macro: fixup tests
2025-07-24 12:58:30 +00:00
Firestar99
2d11d96b4a
Re-add upload texture ( #2915 )
...
* vello: code cleanup of resource overwrites
* upload_texture: upload cpu textures as SRGBA8
* vello: fix wgpu::Texture leak within vello's `context.resource_overrides` HashMap
* fix missing feature gate
2025-07-24 10:51:03 +00:00
Szilveszter Ábrám
0d43ad2ea0
Fix Path tool path drag ghost outline sticking to viewport, not moving with document while dragging ( #2912 )
...
* Added ghost outline clearing when moving outlines via Path Tool
* Fix ghost outline staying fixed during drag by storing it in document space
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-24 09:28:17 +00:00
Timon
30abc92900
Implement basic desktop app with chromium embeded framework ( #2874 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* 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>
2025-07-23 20:27:55 +02:00
Firestar99
890da6a3c3
Clean up code by using Iterator::collect() when constructing instance tables ( #2918 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* instances: `Iterator::collect()` instances
* instances: adjust nodes to use iterators
* fix warnings on master
* Bump MSRV
* Port the remaining usages
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-23 05:51:40 +00:00
mTvare
032f9bdf72
Upgrade vello to version 0.5.0 and wgpu to version 25 ( #2890 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* update: vello
* fix compile errors
* create target texture lazily
* fix TextureBlitter texture format mismatch
* use `futures:🔒 :Mutex` instead of std Mutex
---------
Co-authored-by: Firestar99 <firestar99@sydow.cloud>
2025-07-22 19:51:02 +02:00
Priyanshu
30e5567ff2
Fix collision detection for node drag-and-drop onto a wire ( #2910 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* refactor
* check if the wire is inside the node itself
2025-07-19 07:38:46 -07:00
Adesh Gupta
7ee0d9a724
Make the node chooser auto filter by layer input type when applicable ( #2841 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Fix showing only compatible nodes
* Implement search on Add Node button
* Fix add node behaviour
* Improve type identification logic
* Fix input type identification
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-19 09:39:39 +00: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
Adam Gerhant
e4ec67d852
Fix wires on document change and errors on hidden nodes ( #2897 )
...
* Fix wires on document change and errors on hidden nodes
* Code cleanup
2025-07-19 01:48:42 -07:00
Salman Abuhaimed
7ef9e5a3e8
Fix Text node glyph duplication and wrong tilt calculation with per-glyph instances ( #2907 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* fix: text node subpaths duplication
* fix: text node tilt calculation for per-glyph instaces
2025-07-18 11:00:24 -07:00
Adesh Gupta
4427e97f73
Add "Make Path Editable" buttons in the Path tool control bar and Layer menu ( #2900 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add graph message for adding a path
* Disable options when adding path tool is not possible
* Move Layer menu entry location
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-18 12:22:40 +00:00
Keavon Chambers
6f46f21e21
Improve the HTTP request nodes and add new related nodes ( #2896 )
...
* Improve the network request nodes and add new ones to process data
* Use Content-Type: application/octet-stream
* Add 'Gamma Correction' node
2025-07-18 05:03:50 -07:00
Keavon Chambers
561b671f8d
Add transform-related nodes to improve transformation abilities ( #2893 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Improve transformation abilities with transform-related nodes
* Fix Transform -> Merge and Transform -> Artboard connections
2025-07-17 11:58:57 -07:00
Keavon Chambers
8f26c5c2ad
Remove the UVec2 and IVec2 graph data types and have Artboard use DVec2 ( #2894 )
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-16 18:45:10 -07:00
Keavon Chambers
99966d848d
Fix text per-glyph instance overlays and click target issues
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
2025-07-14 14:47:01 -07:00
Keavon Chambers
112efe88c2
Add multi-level loop indexing with the 'Instance Repeat' node
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-14 02:55:44 -07:00
Keavon Chambers
be8378309d
Avoid crashing if an error occurs in the layout widget update handlers
2025-07-14 00:24:17 -07:00
Oliver Davies
74e35f026f
Fix regression with GRS cancellation being broken ( #2877 )
...
Fix for cancel regression in path tool
2025-07-13 22:03:51 -07:00
Keavon Chambers
88ac275e47
New nodes: 'Greatest Common Divisor' and 'Least Common Multiple'
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
2025-07-13 19:43:28 -07:00
Salman Abuhaimed
166eb00c9c
Separate the Text node's generated glyphs into separate vector table rows ( #2821 )
...
* Separate glyphs into Vector data rows
* Fix `String Length` node
- Properly count characters with
`str.chars().count()` instead of bytes `str.len()`
- Change `String Length` node's output to `u32`
* Apply transform on instance instead of applying it when drawing the glyph
* Add checkbox to enable/disable per-glyph instances
* Tooltips
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-13 18:06:41 -07:00
Mohd Mohsin
c5800aa96e
Fix the Bevel node so it applies a consistent bevel size regardless of angle ( #2293 )
...
* feat: update the bevel algorithm for same bevel length
* Fix: Resolves issue in bevel algorithm
* fix bevel algorithm
* Feat : update the bevel algorithm for bezier curve
* Feat: Add support for rounded and inward-rounded Bevel options
* fix bevel algo for curves
* Nits
* refactor area node
* refactor close path node
* small refactor of 'check_point_inside_shape' method
* copy is_linear function from bezier-rs lib
* refactor bevel node implementation
* cleanup
* refactor bevel implementation
* fix transformation
* cleanup
* update the bevel algorithm
* Code review
* Clean up setup logic for failing test
* update tests to reflect new algorithm
* Decimal integer nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: indierusty <indierusty@gmail.com>
2025-07-13 21:45:51 +00:00
Oliver Davies
e89cded4b8
Add selection cycle and gray pre-selection outlines to the Path tool, and Tab to swap Select/Path tools ( #2818 )
...
Editor: Dev & CI / cargo-deny (push) Waiting to run
Editor: Dev & CI / build (push) Waiting to run
Website / build (push) Has been cancelled
* Added initial version of this feature for the path tool
* Removed debug statements
* Thickened the overlay width
* Added hover highlighting for path tool
* Experimental switch to path tool at leaf layer
* Ghost outline initial implementation
* Added tab swap for select tool -> path tool
* Minor fix for Select Tool dbl click -> Path Tool
* Added support for ghosts when using GRS in the path tool
* Fixed GRS undo bug, vastly improved hover behavior and now clearly visualize next double click target
* Fixed unused import warnings
* Updated behavior to handle mouse movement cases, reverted line width to 1px
* Fixed merge behavioral issues
* Disabled Select Tool to Path Tool double click toggle, fixed single click drill through for special case
* Clean up of unused consts and comment
* Properly cancel the drill through state when the mouse moves
* Fix some stuff
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-13 08:26:36 +00:00
Keavon Chambers
d6d1bbb1e6
Add editor structure outline to the developer guide on the website
2025-07-12 23:09:29 -07:00
Keavon Chambers
765092fbe9
Rename the message system's 'data' argument to 'context' ( #2872 )
2025-07-12 22:50:59 -07:00
Firestar99
4c75ddf936
Refactor node migration to be less susceptible to forgetting outdated strings ( #2853 )
...
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
* migration: make document migration use ProtoNodeIdentifier
* migration: NodeReplacement struct for better formatting
* migration: test for duplicates and fix them
2025-07-10 17:40:54 -07:00
Adesh Gupta
912e6f61a9
Fix regression with inability to drag segments using the Path tool's segment mode ( #2850 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fix segment dragging
2025-07-10 08:51:25 +00:00
James Lindsay
13ad814639
Add a complexity limit on displaying layer thumbnails to improve performance ( #2828 )
...
* Skip complex layer thumbnails
* Set Raster<GPU> to have usize::MAX render complexity
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-10 07:57:45 +00:00
Keavon Chambers
ceffcfd8df
Update website deployment CI script to output auto-generated code docs artifacts ( #2849 )
2025-07-09 23:51:25 -07:00
Kavin
e02510303e
Add X and Y offset distance overlay while dragging with the Select tool ( #2814 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add offset overlay to select tool
* Add overlay to Dragging
* Add axis align behavior
* Style changes
* Add trim to string
* reduce code duplication
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-09 10:49:39 +00:00
mTvare
a40de58c7c
Fix brush bounding boxes by making BrushCacheImpl's hash not shared between different instances ( #2845 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* fix: add cache to each layer
* fix: warning
* fix: tests
* Clean up code
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-09 06:45:41 +00:00
Mohd Mohsin
00236c8136
Generate a visualization of the editor's hierarchical message system tree ( #2499 )
...
* Feat: implement the hierarchical tree for visualization
* rename HierarchicalTree trait function
* feat: change the HierarchicalTree from String to DebugMessageTree struct
* Nits
* feat: impliment proc macro to extract field from messagedata structs
* update the hierarchical-tree for hanlder data
* feat: added message handler struct to hierarchical tree
* feat: add the line number to message handler struct
* feat: added handler path to tree and NITS
* clean the white spaces in type string
* fixes some white spaces
* feat: added path to message enum in hierarchical tree
* feat: add file creation of hierarchical message system tree
* cleanup
* Code review
* Add todo comment for deferred change
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-08 19:13:51 -07:00
HWienhold
d0e1d8982f
Allow tooling to treat near-zero-length handles as zero-length when converting to colinear ( #2747 )
...
fix colinear handles on connected path
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-07-08 18:47:56 -07:00