* Send path tool FSM to Dragging state on MouseDown if clicking selected point
* Cleanup
* Store selected point state before new selection is made and setup deselect logic
* update previously saved point data on every point selection
* Decide whether to deselect or select on extended_select if node not already selected, when DragStop state is reached instead of inside the mouse_down function.
* Fix broken merge and remove leftover debug statements
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add InputType based filtering capabilites to NodeCatalog.
Send InputTypes through SendUiMetadata under
odeTypes.
Update NodeCatalog.svelte component to support ype based filtering.
Update ContextMenuData to support compatibleType as an input to the searchTerm for the NodeCatalog.
Update Graph.svelte component to support new ContextMenuData enum types.
Send CompatibleType data from rust backend on wire drag and release to NodeCatalog to already show filtered data.
* Add InputType based filtering capabilites to NodeCatalog.
Send InputTypes through SendUiMetadata under
odeTypes.
Update NodeCatalog.svelte component to support ype based filtering.
Update ContextMenuData to support compatibleType as an input to the searchTerm for the NodeCatalog.
Update Graph.svelte component to support new ContextMenuData enum types.
Send CompatibleType data from rust backend on wire drag and release to NodeCatalog to already show filtered data.
* Open NodeCatalog on DoubleClick in empty node graph area
* Capture Node implementations and filter out uncatogrised nodes before sending metadata.
Update NodeCatalog Search filter to support single type search alongside name and category search
* Take union of DocumentNodeTypes and registered node implementations, Update missing categories and make sure to remove nodes with empty categories
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Make sure that quick measure overlays are based on AABBs drawn in the viewport local space
* Draw overlays to visualise AABBs of selected and hovered shapes
* use pre-existing functions to render dashed lines
* Redraw selected bounds using existing BoundingBoxManager
* remove unused variables
* Render transform cage after overlay is drawn
* Bring overlay and transform cage render calls above(before) other gizmos
* Add line length tolerance and render single line for singal edge alignment with one axis overlap
* Comments
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* make Fsm update_hints function borrow tool_data and update individual tool implementations accordingly, use tool_data in select_tool update_hints function as well as add a UpdateHints response when the pointer moves after the change from DragStart to Dragging state
* Also add for selection box drawing
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Tidy up number text alignment and decimal precision for quick measurement overlays
* Formatting changes
---------
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>
* Add constraint_bounds function to Quad implementation
* Respect Clip property when exporting All Artworks and centering document using the ctrl + 0 hotkey.
Calculate artboard_clip_bounds and then constraint the all_layer_bounds to respect the bounds of the Clipped Artboards.
* Use parent_artboard to find ancestor artboards of each layer and constrain bounds if artboard is clipped
* Remove redundant comments