* Make progress in text tool
* Add line_width to gcore and gstd
* minor fix
* Dragging sets line_width correctly
* Get draw overlay to work
* Typo fix
* Make progress in text tool
* Add line_width to gcore and gstd
* minor fix
* Dragging sets line_width correctly
* Get draw overlay to work
* Typo fix
* Improve text bounding box
* Add toggle for editing line width
* Take absolute value of drag
* Fix optional properties
* Code review
* Attempt to add box height and abort with keys
* Attempt to add key modifiers and snap manager
* Use resize for improved dragging
* Refactor typesetting configuration into a struct
* Fix missing px unit in frontend
* Remove lines on rendered text
* Fix backwards compatibility
* Refactor lenient slection as an associate function in tool data
* Add dashed quad to text nodes
* Use correct names for max height and width
* Additional renames and reorder
* ReResolve conflict
* Code review and improvements
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* 2115 IP
* Initial implementation of Expression node
* Register Expression Node
* Add Expression DocumentNode Definition
* DocumentNodeImplementation::Expresssion in guess_type_from_node
* Move expression.rs to graphene-core
* WIP: Investigating 'exposed' & 'value_source' params for Expression property
* Node graph render debug IP
* Single input can change node properties; complex debug IP
* Fix epsilon in test
* Handle invalid expressions in expression_node by returning 0.0
* Run cargo fmt
* Set the default expression to "1 + 1"
* Hardcode the A and B inputs at Keavon's request
* Rename and clean up UX
* Move into ops.rs
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* 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>
* Add node button
* Improve css a bit
* Add layer renaming to the Properties panel and move New Layer to that, plus add unpinning to properties sections
* Add tooltip
* Re-add layer itself in listing
* Final code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add path-bool library
* Cleanup code
* Cargo format
* Integrate boolean ops into graphite
* Add test for editor crash
* Fix edge sort floating point instability
* Add unit test for red-dress failure
* Backport tests and aux functions
* Use curvature based sorting
* Convert linear cubic splines to line segments
* Deduplicate reversed path segments
* Fix epsilon for empty segments
* Remove parameter based intersection pruning
* Add support for reversed paths
* Add benchmark infrastructure
* Add intersection benchmark
* Add recursion bound
* Implement support for overlapping path segments
* Remove rouge prinln
* Fix sorting for bezier segments with one control point at the start of the segment
* Cleanup log statements
* Directly translate graphite paths to Path segments
* Round data before passing it to path_bool
* Fix flag_faces traversal order
* Add test for white dots in bottom right of painted dreams
* Make rounding configurable
* Update demo artwork to remove manual path modifications
* Convert from path segments to manipulator groups directly
* Remove dead code
* Fix clippy lints
* Replace functions in path segment with methods and add documentation
* Add more documentation
* Close subpaths
* Reorganize files and add README.md
* Add license information
* Code review
* Fix license info
* Adopt new node macro and fix demo artwork
* Close subpaths with Z
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>