* Replace the title attribute with custom FloatingMenu tooltips
* Separate tooltip labels and descriptions into two styled blocks
* Move keyboard shortcut tooltips to a separate section at the bottom
* Update shortcut key styling in tooltips and hints bar
* Fix .to_string()
* Make the Transform node use degrees not radians
* Migration script
* Migrate skew value input to store degrees
* Add comments
* Fix migrations to account for the old deprecated "Pivot" parameter
* Fix tooling interactions with degrees-based transforms
* Upgrade demo art
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* made spiral node
* number of turns in decimal and arc-angle implementation
* logarithmic spiral
* unified log and arc spiral into spiral node
* add spiral shape in shape tool
* fix min value and degree unit
* make it compile
* updated the api
* changed the function_name
* [/] to update the turns widget in shape tool
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Make manual_compositon non optional and rename to call_argument
* Fix clippy warnings
* Remove automatic composition compiler infrastructure
* Implement document migration
* Fix tests
* Fix compilation on web
* Fix doble number test
* Remove extra parens
* Cleanup
* Update demo artwork
* Remove last compose node mention
* Remove last mention of manual composition
* Rename VectorData to Vector
* Rename other VectorData* types to Vector*
* Move assorted data types out of vector_data.rs into misc.rs
* Rename vector_data.rs to vector_types.rs and remove the vector_types module folder
* Rename other references to "vector data"
* Remove label widgets for raster/vector/group to use "-" instead
* Rename RasterData to Raster
* Rename GraphicGroup to Group
* Fix migrations and rename graphic_element.rs -> graphic.rs
* Rename TaggedValue::ArtboardGroup -> TaggedValue::Artboard
* Instances -> Table
* instances.rs -> table.rs
* Rename occurrances of the word "instances"
* .instance -> .element
* Instance* -> TableRow*
* Rename Table and TableRow methods to not say "instance"
* Remove presumed unused serde defaults now that tables default to length 0 not 1
* Rename occurences of the word "instance"
* Un-alias the RasterDataTable<Storage>, VectorDataTable, GraphicGroupTable, ArtboardGroupTable typedefs
* Move artboard type and node code out of graphic_element.rs to a new artboard.rs
* Organize the TaggedValues
* Fix tests
* Fix prior regression with Image Value node not upgrading
* merged with circle and impl inner radius gizmo for arc
* impl radius-gizmo for arc
* fix only one gizmo shown at a time
* Code review
* make hints update when changing shape,add default behaviour when dragging to make circle earlier fixed to from center
* fixed arc-radius hover threshold and show arc-endpoint when hover over arc-radius gizmo
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add Handler for defered execution of messages
* Cleanup
* Track graph execution id to associate messages with their corresponding execution id
* Rename ViewportReady -> NavigationReady
* Defer layer deselection
* Add text alignment to Text node
* Lots of renames and improvements
* Add text alignment to the Text tool
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Added initial version of this feature for the path tool
* Removed debug statements
* Thickened the overlay width
* Added hover highlighting for path tool
* Experimental switch to path tool at leaf layer
* Ghost outline initial implementation
* Added tab swap for select tool -> path tool
* Minor fix for Select Tool dbl click -> Path Tool
* Added support for ghosts when using GRS in the path tool
* Fixed GRS undo bug, vastly improved hover behavior and now clearly visualize next double click target
* Fixed unused import warnings
* Updated behavior to handle mouse movement cases, reverted line width to 1px
* Fixed merge behavioral issues
* Disabled Select Tool to Path Tool double click toggle, fixed single click drill through for special case
* Clean up of unused consts and comment
* Properly cancel the drill through state when the mouse moves
* Fix some stuff
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* fix warnings on master
* make the `ProtoNodeIdentifier` of a Node be accessible and always a borrowed `&'static str`
* always generate `node_name::identifier()`, even with `skip_impl`
* make `FrontendNodeType` use Cow
* remove broken `DocumentNodeDefinition`s for old GPU nodes
* don't reexport `graphic_element` in it's entirety, only data structures
* adjust everything to use the new `node_name::identifier()`
* fixup imports for wasm
* turn identifier fn into a constant
* replace rustybuzz with parley for text layout handling
change text input direction based on text direction
* Code review
* change default character spacing to 0
* add shear to text node
this also adds migration code for documents that don't have shear
* shear migration for text node
- add shear property
- set character spacing to 0
* use old max_width and max_height in text migration if available
* Final code review pass
* Add units to the parameters
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* fixed double-click on anchor connected to linear segments
* fix when scaling when anchor
* Nit
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>