* Include single connected points as extrema in the extrude node
* Update styling of loading indicator
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add blue layer origin cross overlay
* Apply suggestion from @Keavon
* Skip layers without local transforms
* Disable the Custom Pivot by default
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add tooltip documentation to web request, text, and brush nodes
- Add descriptive tooltips to web request nodes (GET/POST, string/image conversion, resource loading, image decoding)
- Add tooltip to GPU rasterization node explaining footprint usage
- Improve text node tooltip with clearer per_glyph_instances parameter explanation
- Add tooltips to brush stamp generator and blit operations explaining their internal roles
- Fix typos in tooltip and variable names (it's→its, perview→preview, instnace→instance)
* Fixed 2 issues with previous changes. Reversed order of documentation about per_glyph_instances. Can it be 3 lines?
* Improve post_request node documentation
Change doc comment to describe the node's purpose rather than focusing
only on the "Discard Result" parameter. Now clearly states this is an
HTTP POST operation with optional async behavior.
* Fix post_request documentation error
Corrected doc comment to say "HTTP POST" instead of "HTTP GET" since
this function performs POST requests with binary data.
* Review changes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* add arrow shape feature in editor
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* fix the arrow tool to show arrow in viewport space
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* fix the direction of arrow and make the new arrow node
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* updated arrow tool to hae start and end points
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* fixed calculate point bug
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* fixed some bugs of arrow positioning
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* fixed formatting in whole codebase and added fill to arrow
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
* fix
---------
Signed-off-by: krVatsal <kumarvatsal34@gmail.com>
Co-authored-by: Timon <me@timon.zip>
* Add median filter option to blur node:
- Add median parameter to blur function for noise reduction
- Implement median_filter_algorithm with efficient quickselect
- Support gamma space calculations for median filtering
- Preserve edges while removing noise, complementing existing blur options
Feature in Issue: #912
* Optimize median filter algorithm by reusing buffers and improving pixel neighborhood collection
* Add median filter option to blur node:
- Add median parameter to blur function for noise reduction
- Implement median_filter_algorithm with efficient quickselect
- Support gamma space calculations for median filtering
- Preserve edges while removing noise, complementing existing blur options
Feature in Issue: #912
* Optimize median filter algorithm by reusing buffers and improving pixel neighborhood collection
* Improve median filter's NaN handling by using total_cmp for safe comparisons
* Add median filter node for noise reduction
- Create dedicated median_filter node separate from blur functionality
- Implement median_filter_algorithm with efficient quickselect
- Support gamma space calculations for consistency
- Use safe NaN handling with f32::total_cmp to prevent panics
- Optimize performance with memory reuse and O(n) median selection
* Refactor median filter to remove gamma handling and simplify algorithm
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Exclude node registry functions from desktop frontend builds
This reduces compile times and file sizes
* Use early return
* Fix branch name in build-linux pipeline
* Add #[data] and #[serialize] attributes to node macro
- Add #[data] attribute for struct fields that aren't node parameters
- Data fields are initialized with Default::default()
- Passed as references to the underlying function
- Excluded from registry metadata (internal state)
- Generic types in data fields allowed without #[implementations]
- Add #[serialize] attribute for custom Node::serialize() implementation
- Receives references to all data fields
- Generates serialize() method in Node trait impl
- Conditional derives based on data field presence
- With data fields: Debug, Clone only
- Without data fields: Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash
* Refactor Memo and Monitor Node to use node macro
* Move Complex type into type alias
* Fix format
* Update node-graph/nodes/gcore/src/memo.rs
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Update node-graph/nodes/gcore/src/memo.rs
Co-authored-by: Keavon Chambers <keavon@keavon.com>
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* fix: rasterize node document leakage with hashmap and eq check
* Use single Hashmap and ignore source id
* use or_insert_with instead of Entry match
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Implement branching mesh rendering for SVG
* Patch mesh fill for Vello renderer
* Patch tangent_at_start and tangent_at_end
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Remove FontInput.svelte
* Move font picking to the backend
* Fix Text tool font choice style turning to "-" on font that doesn't support previous style
* Replace the title attribute with custom FloatingMenu tooltips
* Separate tooltip labels and descriptions into two styled blocks
* Move keyboard shortcut tooltips to a separate section at the bottom
* Update shortcut key styling in tooltips and hints bar
* Fix .to_string()
- Add the 'Reset Transform' and 'Replace Transform' nodes
- Add the 'Count Points' and 'Index Points' nodes
- Make the 'Index Elements' node support negative indexing from the end
- Make the 'Flatten Vector' node's implementation reusable
- Fix crash displaying 0x0 raster image in the Data panel
- Fix the 'Points to Polyline' node not working on two-point objects
* Fix 'Mask' node missing Properties widget; fix crash with 'Brightness/Contrast Classic' node
Also clean up dead code and improve tooltip for the "-" Properties panel widget fallback.
* format type
---------
Co-authored-by: Adam <adamgerhant@gmail.com>