* Implement deselect on single-click and select all anchors on double-click
* fixed the single_click_behaviour
* fix flipSmoothSharp when doubleclick and drag
* Cleanup and Clippy fixes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* setup single edge crossing handling for quick measure tool
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects.
* setup single edge crossing handling for quick measure tool
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects.
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects.
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects.
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects. Add a dashed_line_with_pattern function that gives more granular control over dash_width and gap_width.
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects. Add a dashed_line_with_pattern function that gives more granular control over dash_width and gap_width.
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects. Add a dashed_line_with_pattern function that gives more granular control over dash_width and gap_width.
* Setup quick measure functionality for intersecting objects and handle centerline cases for non intersecting objects. Add a dashed_line_with_pattern function that gives more granular control over dash_width and gap_width.
* Nit picks
* Define wrapper for Overlay_context line method
* Comments and consolidating lines of code
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* place new layer from basic tools within an artboard bounds
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
* add for Text Tool
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
* use click_xray function
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
* support for freehand tool
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
* support spline tool
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
---------
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
* Selection history when creating a new layer
* fixed selection history
* cleaned up the code, removed duplicate network_metadata calls
* re: fixed selection history
Added a default value for selection_undo_history to make sure its never actually empty.
* 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>
* start of parser
* ops forgot
* reorder files and work on executer
* start of parser
* ops forgot
* reorder files and work on executer
* Cleanup and fix tests
* Integrate into the editor
* added unit checking at parse time
* fix tests
* fix issues
* fix editor intergration
* update pest grammer to support units
* units should be working, need to set up tests to know
* make unit type store exponants as i32
* remove scale, insted just multiply the literal by the scale
* unit now contains empty unit,remove options
* add more tests and implement almost all unary operators
* add evaluation context and variables
* function calling, api might be refined later
* add constants, change function call to not be as built into the parser
and add tests
* add function definitions
* remove meval
* remove raw-rs from workspace
* add support for numberless units
* fix unit handleing logic, add some "unit" tests(haha)
* make it so units cant do implcit mul with idents
* add bench and better tests
* fix editor api
* remove old test
* change hashmap context to use deref
* change constants to use hashmap instad of function
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* pen should always snap on last anchor
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
* snap anchor on every single connected points
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
---------
Signed-off-by: James Ryans <james.ryans2012@gmail.com>
* Append to a path with shift
* Fixup transforms
* Revert unnecessary transform change
* Fix delete node button transaction
* Prevent artboard from being selected after making a new document
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Modified Path tool Behaviour
* Make the code simpler and more self-descriptive
* Make it work for transformed layers
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add "Fade Artwork" slider and disable tools when graph is open
* Add navigation and layer/node management buttons to graph top bar
* Reduce code duplication
* Rename within files
* Rename in CI
* Rename the folder and file names
* Rename raw_rs to rawkit
* Add example to README
* Add initial documentation
* Small API changes and extra documentation
* Bump versions and stuff
* Readme improvements
* Merge proc-macro crates into one
* Add README to rawkit-proc-macros
* Remove keywords and categories
* Add licenses to rawkit-proc-macros
---------
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>