Gulshan1-3
79b4f4df7b
Add dot product node ( #2126 )
...
* dot product node
* dot product node
* cross product node
* formatting n deleted comments
* name changed
* name changed
* cross product removed
* Minor code style changes
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
2024-12-16 20:17:51 +00:00
Paul Fornage
287ef26f64
Fix SVG `viewBox` capitalization in renderer ( #2131 )
...
fix `viewBox` capitalization
2024-12-12 20:42:41 +00:00
James Lindsay
fc0cf604df
Update some dependencies ( #2134 )
...
* Update some dependencies
* Update to action v2
* Fix for v2
2024-12-12 18:28:49 +00:00
James Lindsay
99ac7238fc
Fix bitmap bounding box ( #2122 )
2024-12-04 21:28:40 +00:00
James Lindsay
e3bb11ec1b
Fix clippy lints ( #2119 )
2024-11-29 22:58:49 +00:00
Keavon Chambers
d649052255
Upgrade and document the math operation nodes
2024-11-09 23:23:25 -08:00
Keavon Chambers
de366f9514
Add Brush tool warning; move font list loading to document creation time
2024-11-09 12:27:09 -08:00
Keavon Chambers
457619794b
Improve nudging when tilted and add Artboard tool nudge resizing; disable menu bar entries when no layer is selected ( #2098 )
...
* Make nudging follow a tilted viewport
* Add artboard nudge resizing
2024-11-08 16:16:20 -08:00
James Lindsay
320d030c08
Fix the spline node algorithm to be continuous across start/end points ( #2092 )
...
* Simplify spline node implementation using stroke_bezier_paths
* Improve closed splines
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-11-07 00:46:45 -08:00
James Lindsay
c3b526a46f
Fix Bevel node crash with zero-length segments ( #2096 )
...
Fix bevel with zero length segment
2024-11-07 00:08:09 -08:00
Dennis Kobert
35f7cfac80
Parse description from node doc comments ( #2089 )
...
* Parse description from node doc comments
* Add node description tooltips
* Code review
---------
Co-authored-by: Adam G <adamgerhant@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-11-03 14:57:20 -08:00
Keavon Chambers
7d86bf4abf
New node: Jitter Points
2024-11-02 16:37:27 -07:00
Keavon Chambers
4c9ab2d50b
New nodes: "Clamp", "To U32", and "To U64" ( #2087 )
...
* New nodes: "Clamp", "To U32", and "To U64"
* Add name
2024-11-02 03:20:02 -07:00
Keavon Chambers
3f17e83e80
Improve Sample Points, Scatter Points, and Splines from Points to include segments and work with subpaths ( #2085 )
2024-11-01 12:44:05 -07:00
Daragh
018e9839f8
Add Path tool support for the Tab key swapping to dragging the opposite handle ( #2058 )
...
* feat: tab alternates between handles
* fix: handle hints, remove anchor to handle switch
Added specific handle hints,
Can no longer switch to handle if just anchor is selected
typo fix
* fix: no longer deselect on esc/rclick
* feat: hides cursor when switching
A pointerlock implementation would be ideal in the future to keep the screen from panning,
* fix: tidy up dynamic tool hints
switch colinear to V
* fix: can no longer hide cursor if anchor selected
remove debug statement
* fix: clippy
* Solve some issues and remap V to C to toggle colinear
* Cleanup + change equidistant key from Shift to Alt
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-10-30 02:48:20 -07:00
adamgerhant
ff8fec6eca
Allow the Path tool to edit an upstream path even if there's a type conversion midway ( #2055 )
...
Remove type check when iterating upstream
Convert to doc comment
2024-10-26 18:39:48 +00:00
Mohamed Osama
3c839ffd2b
Clean up old usages of `NodeId(generate_uuid())` by replacing it with `NodeId::new()` ( #2009 )
...
Replace all `NodeId(generate_uuid())` with `NodeId::new()`
2024-10-25 19:43:46 -07:00
James Lindsay
dae6b2f239
New node: Bevel ( #2067 )
...
* Bevel node
* Fix clippy lints
* Prevent negative values
* Rename flipped() -> reversed()
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-10-25 19:25:41 -07:00
James Lindsay
7fc0a593c8
Fix gradient render transforms with Vello ( #2059 )
...
Fix vello gradient transform
2024-10-26 00:12:24 +00:00
Dennis Kobert
3e0178a032
Add switch node and fix log to console node ( #2064 )
...
* Add switch node and fix log to console node
* Formatting
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-10-25 16:30:02 -07:00
adamgerhant
6b1356fe13
Allow multiple top output wires to come from layers ( #2049 )
...
* Allow multiple outputs from layer
* Stable Ids for Flatten Vector Elements
* Clippy
2024-10-25 22:32:31 +00:00
Keavon Chambers
a395fbf063
Fix/suppress new Clippy warnings introduced in Rust 1.82
2024-10-25 11:14:51 -07:00
James Lindsay
c3a3c4c907
Allow the Fill and Stroke nodes to work on groups ( #2046 )
...
* Add the apply style trait for generalised application of styles
* Fix Clippy warn
* Use existing trait
* Remove unnecessary lifetimes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-10-16 16:06:53 -07:00
adamgerhant
e09f5ecaec
Make Copy to Points and (Circular) Repeat and nodes output group data, and add flattening nodes ( #2011 )
...
* Output group from repeat, add flatten vector elements
* Fix tests
* Fix demo artwork
* Output group from copy to points, add repeat for graphic groups, fix editor freeze on render fail
* Restore painted dreams
* WIP: Fix demo artwork
* Fix demo artwork, add ungroup node
* Incorrect scaling
* fix test
* Fix demo art
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-10-14 12:39:28 -07:00
James Lindsay
d6f46f73da
Factor in artboard clipping to the click target x-ray function ( #2028 )
...
* Add clipping to the click xray function
* Clip area rays as well
* Code review nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-10-12 23:38:17 +00:00
James Lindsay
3b0e9587eb
Update Wasm dependencies to fix WebGPU spec change crash in Firefox with Vello ( #2027 )
...
* Update wasm deps
* Bump wasm-bindgen and fix the depricated methods
2024-10-12 14:28:39 -07:00
Keavon Chambers
f7d83d2632
New node: Offset Path ( #2030 )
...
* New node: Offset Path
* Fix CI
2024-10-11 14:50:54 -07:00
Dennis Kobert
d2f791cfb3
Make Upload Texture node resolution-aware ( #2018 )
...
* Make UploadTextureNode resolution aware
* Add TextureFrame implementations for MonitorNode
* Add TextureFrame implementation to TransformNode
2024-10-03 10:32:34 -07:00
Keavon Chambers
2d86fb24ab
Add line height and character spacing to the Text node ( #2016 )
2024-10-01 12:28:27 -07:00
Keavon Chambers
904cf09c79
Add drag-and-drop and copy-paste file importing/opening throughout the UI ( #2012 )
...
* Add file importing by dragging and dropping throughout the UI
* Disable comment-profiling-changes.yaml
* Fix CI
2024-09-28 00:19:43 -07:00
adamgerhant
20470b566b
Fix many regressions introduced mostly in #1946 ( #1986 )
...
* Fix text tool
* Implement buffering to fix freehand tool
* Fix tools
* Fix clippy lints
* Small fixes
* Move vector modify back to Monitor nodes
* Code review
* Fix abort
* Fix svg import
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-26 15:37:03 -07:00
Keavon Chambers
c738b4a1f9
Replace terminology "primary" with "call argument" and "parameter" with "secondary input"
2024-09-25 20:05:00 -07:00
Dennis Kobert
8a1089938e
Path Bool library code cleanup ( #2000 )
...
* Remove log statements
* Add feature gates to functions in path.rs
* Fix infinite parsing loop and add new test
* License tweaks
* Remove trailing zero in whole number floats
* Flatten visual-tests directory
* Code review
* Clean up printlines
* Add error handling to path parsing
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-23 12:16:31 +02:00
Keavon Chambers
3ddc052538
Improve type compatibility and clean up new node macro usages ( #2002 )
...
* Improve type compatibility
* More
2024-09-22 01:44:18 -07:00
Dennis Kobert
cd4124a596
Improve node macro and add more diagnostics ( #1999 )
...
* Improve node macro ergonomics
* Fix type error in stub import
* Fix wasm nodes
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-21 19:57:45 +00:00
James Lindsay
0d33a1ae3f
Use overlays to draw artboard names ( #1981 )
...
* Artboard label overlay
* Finish artboard overlays
* cargo fmt
* Update font styling
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-20 22:04:31 +00:00
Dennis Kobert
32da545a49
Fix blend modes and opacity on raster data ( #1996 )
...
* Apply alpha blending to images when using vello
* Fix bounds for image layer
* Fix rendering for non vello images
2024-09-20 20:42:39 +00:00
Dennis Kobert
768ca0c535
Box TaggedValue::VectorModification ( #1995 )
2024-09-20 12:39:35 -07:00
Dennis Kobert
e352c7fa71
Refactor the node macro and simply most of the node implementations ( #1942 )
...
* Add support structure for new node macro to gcore
* Fix compile issues and code generation
* Implement new node_fn macro
* Implement property translation
* Fix NodeIO type generation
* Start translating math nodes
* Move node implementation to outer scope to allow usage of local imports
* Add expose attribute to allow controlling the parameter exposure
* Add rust analyzer support for #[implementations] attribute
* Migrate logic nodes
* Handle where clause properly
* Implement argument ident pattern preservation
* Implement adjustment layer mapping
* Fix node registry types
* Fix module paths
* Improve demo artwork comptibility
* Improve macro error reporting
* Fix handling of impl node implementations
* Fix nodeio type computation
* Fix opacity node and graph type resolution
* Fix loading of demo artworks
* Fix eslint
* Fix typo in macro test
* Remove node definitions for Adjustment Nodes
* Fix type alias property generation and make adjustments footprint aware
* Convert vector nodes
* Implement path overrides
* Fix stroke node
* Fix painted dreams
* Implement experimental type level specialization
* Fix poisson disk sampling -> all demo artworks should work again
* Port text node + make node macro more robust by implementing lifetime substitution
* Fix vector node tests
* Fix red dress demo + ci
* Fix clippy warnings
* Code review
* Fix primary input issues
* Improve math nodes and audit others
* Set no_properties when no automatic properties are derived
* Port vector generator nodes (could not derive all definitions yet)
* Various QA changes and add min/max/mode_range to number parameters
* Add min and max for f64 and u32
* Convert gpu nodes and clean up unused nodes
* Partially port transform node
* Allow implementations on call arg
* Port path modify node
* Start porting graphic element nodes
* Transform nodes in graphic_element.rs
* Port brush node
* Port nodes in wasm_executior
* Rename node macro
* Fix formatting
* Fix Mandelbrot node
* Formatting
* Fix Load Image and Load Resource nodes, add scope input to node macro
* Remove unnecessary underscores
* Begin attemping to make nodes resolution-aware
* Infer a generic manual compositon type on generic call arg
* Various fixes and work towards merging
* Final changes for merge!
* Fix tests, probably
* More free line removals!
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-20 03:50:30 -07:00
adamgerhant
ca0d102296
Fix click targets (in, e.g., the boolean node) by resolving footprints from render output ( #1946 )
...
* add NodeId (u64) and Footprint to Graphic Group
* Render Output footprints
* Small bug fixes
* Commented out render output click targets/footprints
* Run graph when deleting
* Switch to node path
* Add upstream clicktargets for boolean operation
* Fix boolean operations
* Fix grouped layers
* Add click targets to vello render
* Add cache to artwork
* Fix demo artwork
* Improve recursion
* Code review
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-16 01:26:59 +00:00
James Lindsay
dd4a97b09f
Correctly apply transforms to vector data and strokes ( #1977 )
...
* Fix adding a layer to a transformed group
* Fix assorted transform issues
* Default stroke transform
* Fix bench
* Transform gradient
* Gradient fix
* Add gradient reversal buttons to Fill node in the Properties panel
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-15 22:26:11 +00:00
Bruce Mitchener
507210b961
Fix some typos in the node graph code ( #1970 )
2024-09-11 02:36:34 -07:00
James Lindsay
06e11b6f46
Fix invalid segment crash when disolving point loop ( #1959 )
...
* Fix invalid segment crash
* Further improve robustness
2024-09-05 11:45:14 -07:00
James Lindsay
9524835a30
Switch attribute-based vector data from referencing PointIds to indexes in the points table ( #1949 )
...
* Index for points
* Code review
* Add todo comment about a possible perf optimization
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-04 08:59:55 +00:00
James Lindsay
444929adbf
Fix crash from gradients with bounds of zero ( #1950 )
...
Fix zero bound gradient
2024-09-01 16:12:02 -07:00
Keavon Chambers
d7546fb183
New nodes: Blend Colors, Percentage Value
2024-08-17 07:42:09 -07:00
Keavon Chambers
c39032ab54
Add seed parameters to all nodes with RNG
2024-08-17 07:40:02 -07:00
Keavon Chambers
e647ca9f91
Recategorize the node catalog
2024-08-16 04:24:25 -07:00
Keavon Chambers
fa981a0897
New node: Assign Colors ( #1938 )
...
* New node: Assign Colors
* Simplify the Procedural String Lights demo artwork
* Add "Group" node to the node catalog
* Better comment styling in profiling action
2024-08-15 12:52:46 +00:00
Keavon Chambers
15d125d8e7
Fix all Clippy warnings ( #1936 )
...
* Fix all Clippy warnings
* More fixes
* Bump criterion version
---------
Co-authored-by: dennis@kobert.dev <dennis@kobert.dev>
2024-08-14 17:05:08 +00:00