* Don't include the document node path in the stable node id by default
Make the inclusion of the document path for the stable node id optional
and only enable it for the MonitorNode for now
* Fix tests
* Create ValueMapperNode and use it for brightness/contrast
* move spline code into seperate module
* Add GenerateCurvesNode
* add a `LuminanceMut`-trait
* add `lerp` to `Channel`
* Add frontend code to handle the curves widget's inputs
* Rename spline module to curve
* Make messages in CurveInput pass
* Improve curves widget design and fix sizing issue
* Implement proper bezier handling
* Use bezier_rs's intersections function instead of own cubic root solver
* Debounce CurveInput events and change how debouncer works
the first event issued to the debouncer was unneccessarily delayed.
Instead now the debouncer fires it instantaneously but blocks events
that come in until a timeout was reached.
* Make curve editing more user friendly
* Change code to use project terminology
* sample -> manipulator group or manipulator
* marker -> handle
* Fix small documentation mistake in bezier-rs
* Add find_tvalues_for_x function to bezier-rs
also integrate the function into curves node
* Add tests for find_tvalues_for_x in bezier-rs
* Fix formatting
* Revert BrightnessContrastNode changes
* Frontend cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Add bounding box node
Generates a rectangle based on the bounding box of the input vector data
* Remove redundant <>
* Fix formatting
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Add Circular Repeat Node
Repeats a given set of Vector Data in a circular pattern a specified
amount of times.
* Remove debug statement from RepeatNode
* Add Input Nodes and additional Math Nodes
* Add add node to node registry
* Update node-graph/gcore/src/ops.rs
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Fix Color Input Node
Wrong input type
* Remove non Parameter variants
* Remove non Parameter variants
* Remove non Parameter variants
* Apply suggestions from code review
* mod to modulo
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Add config for nix-shell
This adds a development environment for Nix users, which automatically installs all libraries needed for building and fixes some nix stuff.
* Add Mold
This adds the Mold-Linker to improve build times. I also added an alias,
so cargo is run through mold.
ci: Update GitHub-supplied actions.
These are generating warnings in the GitHub Actions UI as they
are being forced to use a more current node.
Co-authored-by: Bruce Mitchener <bruce.mitchener@configura.com>
* Embed git commit hash in the document file
* Bump version in test document file
* Fixes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Create artboard nodes
* Update node when resizing artboard
* Render clipped artboards
* More stable feature
* Do not render old artboards
* Fix some issues with transforms
* Fix crash when drawing rectangle
* Format
* Allow renaming document from Properties panel
* Adjust artboard label styling
* Fix document graph refresh so artboards show up
* Make "Clear Artboards" coming soon
* Fix displaying an infinite canvas
* Show document name in node graph options bar
* info!() to debug!()
* Fix Properties panel not being cleared when all docs closed
* Remove dead code
* Remove debug logs added in this branch
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>