Karthik Prakash
8bc389a3b4
Fix artboard deletion ( #1651 )
...
* Fix `Document > Clear Artboards`
* Fix `Artboard Tool > Delete`
* fix graph disconnection when deleting artboard
* fix empty artboard deletion
* Code readability improvements
* fix `Clear Artboards`
* add comments
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-16 01:56:39 -07:00
Keavon Chambers
1a2a0e8757
Minor code cleanup and spelling fix
2024-03-16 00:30:29 -07:00
Mohamed Osama
6630e2b964
Place new folders in the correct stack order relative to other selected layers ( #1678 )
...
* New folder placed directly above the topmost selected layer in the hierarchy (at the level of the least nested layer)
* fix bug
* Replace `.collect().contains()` with `.any()` and `if` statement with `.then_some()`
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-16 07:26:46 +00:00
Elbert Ronnie
42c822020e
Make auto-panning speed uniform ( #1690 )
...
* Make auto-panning speed uniform
* Abstract time-delta calculation to `TimeInfo`
* Update docs and add additional check
* Apply code review changes
2024-03-16 06:36:22 +00:00
shipp02
56f8ecacc9
Refresh graph view overlay if it's open when switching documents ( #1691 )
...
* Update Graph View Overlay if it is open when switching documents
* Resolve comments
2024-03-15 19:52:20 -07:00
Keavon Chambers
5bca931813
Rename handle mirroring to colinear
2024-03-14 07:44:55 -07:00
Elbert Ronnie
ea4f3d8bba
Add auto-panning to all remaining tools ( #1682 )
...
* Add auto-panning to Gradient tool
* Add auto-panning to Path tool
* Add auto-panning to Pen tool
* Add auto-panning to Spline tool
* Add auto-panning to Line tool
* Add auto-panning to Rectangle tool
* Add auto-panning to Ellipse tool
* Add auto-panning to Polygon tool
* Hide `PointerOutsideViewport` in debug messages
* cargo fmt
* Code review cleanup
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-14 06:05:33 +00:00
milan-sedivy
9ac10cdcf8
Comprehensively polish up the input hints across all tools and states ( #1670 )
...
* Add missing keyhints to most tools
* Standardize hints further
* Improve GRS numerical display values
* Additional hints improvements
* Improve Path tool hints; add Ctrl+Shift+A point deselection
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-12 20:20:25 -07:00
Roshan P
2263b0ab89
New node: Solidify Stroke ( #1650 )
...
* added struct and registered fill from stroke node. not functional yet.
* properly registered new node
* finished fill-from-stroke feature. works on both closed and open shapes. supports line caps and line joins.
* fixed import issues and miter limit handling
* fix outline function. use both subpaths for solid shapes now
* code quality improvements
* use radius instead of diameter, functionality not yet working for shapes as transform is not properly applied before calculating new shapes.
* Updated to follow new VectorData structure. Fully functional.
* fix repeat node
* remove comment
* add a test, remove unused code.
2024-03-11 17:19:29 -07:00
milan-sedivy
c3a886116a
Block the undo shortcut while dragging with a tool ( #1675 )
...
Add NOOP message and bind it to CTRL + Z + LMB
2024-03-11 16:03:08 -07:00
milan-sedivy
01da53eba0
Make the Fill tool's fill click operation cancellable ( #1666 )
...
* Make FillTool a draggable tool with abortable fills
* Unify keyhints across tools
* Apply suggestions from code review
* Formatting
* Fix FillTool when draged outside of shape's layer and add toolswitch abort
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-11 14:18:49 -07:00
milan-sedivy
343523ab34
Improve the Select tool's input hints ( #1667 )
...
* Refactor hints in SelectTool
* Unify Keyhints and fix DrawingBox state so that it holds nested behaviour info
* Code review cleanup; rename hints
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-11 02:11:17 -07:00
milan-sedivy
dcce519426
Fix switch to/from Artboard tool firing an undo ( #1668 )
...
* Fix tool switch causing abort of ArtboardTool transaction when it shouldn't
* Add cancellation keyhints
* Unify the cancel keyhints with other tools
* Consolidate hints
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-11 00:46:38 -07:00
Keavon Chambers
fd54cda445
Rename NodeNetwork inputs/outputs to imports/exports
2024-03-11 00:13:01 -07:00
milan-sedivy
d714166c69
Don't save undo/redo history when aborting transactions ( #1660 )
...
* Create a forgetable undo/redo function used by AbortTransaction
* Rework and fix new undo/redo functions
* Add space before comments
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-10 18:39:33 -07:00
milan-sedivy
aa9a3e648a
Fix cancellation of drag actions in all tools where it's missing ( #1664 )
...
* Change message sent from DocumentMessage::Undo to DocumentMessage::AbortTransaction while aborting select tool
* Fix NavigationTool not aborting
* Fix NavigationTool tilt
* Make gradient tool abortable
* Make PathTool drag actions abortable
* Make FreeHand Tool abortable
* Make BrushTool abortable
* Fix filename typo
* Make artboards also abortable
* Rearrange key bindings for consistency
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-09 16:19:56 -08:00
0HyperCube
218e9675fd
Attribute-based vector format refactor ( #1624 )
...
* Initial vector format structure
* Click targets
* Code review pass
* Remove subpaths from vector data
* Morph node & vector node tests
* Insignificant change
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-09 10:27:30 -08:00
Haikal
c8ea9e05a6
Fix orphaned child layers left behind when a group is ungrouped or deleted ( #1655 )
...
* Fix Incomplete Deletion of Children Nodes in delete_layer Function
* delete debug message
* change variable name on iterator of child_layers
2024-03-09 17:09:30 +00:00
0HyperCube
b31e8f7b6d
Make menu lists searchable ( #1499 )
...
* Searchable font list
* Bug fixes and UX polish for edge cases
* More work, still more bugs to fix
* Don't update highlight when not open
* Bug fixes
* Additional bug fixes and code review
* Fix keyboard input being sent to backend
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-09 10:58:13 +00:00
milan-sedivy
4cbba3d92b
Allow cancellation of pivot drag in Select tool ( #1658 )
...
* Add Abort to SelectToolFsmState::DragginPivot state
* Remove trailing whitespace (rustfmt error)
2024-03-09 00:22:20 -08:00
Mohamed Osama
69c6f44373
Fix internal consistency of layer ordering when grouping ( #1645 )
...
* Internal consistency: Grouping layers preserve the order that they were sorted once those layers end up in the new group
* optimizations
2024-03-09 05:18:37 +00:00
Keavon Chambers
9f84661fac
Switch Eyedropper/Fill tools from Rmb to Shift+Lmb
2024-03-08 20:33:53 -08:00
Elbert Ronnie
d780602ecd
Add auto-panning to the Artboard tool ( #1652 )
...
* Move panning functionality to auto_panning.rs
* Add auto-panning to Artboard tool
* Hide debug messages containing AnimationFrame
2024-03-08 20:32:46 -08:00
milan-sedivy
ea3f834b64
Create a history step when importing SVG files ( #1656 )
...
* Create a history step when importing SVG files
* Removed additional usvg::Tree::from_str call based on feedback, used DocumentHistoryBackward in case it fails
2024-03-08 14:44:49 -08:00
Karthik Prakash
0c60fd95fa
Remove `remain` alphabetical sorting enforcement macros ( #1647 )
...
remove `remain`
Co-authored-by: 0HyperCube <78500760+0HyperCube@users.noreply.github.com>
2024-03-06 16:43:51 +00:00
Elbert Ronnie
2f44b156d1
Fix regression from #1630 for Layers panel blend modes missing labels ( #1649 )
...
Specify label instead of value
2024-03-05 04:10:57 +00:00
Elbert Ronnie
9479abe114
Fix dropdown keyboard movement bug ( #1630 )
...
* Add a value to all `MenuListEntry`
* cargo fmt
* Make `value` as constructor in `MenuListEntry`
* Make `value` as constructor in `RadioEntryData`
2024-03-02 17:06:08 -08:00
Mohamed Osama
a1f2a2b256
Fix layers losing their names upon being grouped ( #1637 )
...
* no message
* no message
* no message
* Make layers reserve their names when grouped
* remove redundancy
* replace String::from("") with String::new()
* Fix test
* Restore unrequested line break changes
* Avoid unwraps
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-03-02 23:34:25 +00:00
Haikal
128f76af7e
Add clear artboards button to undo history ( #1643 )
2024-03-02 16:39:41 +00:00
Keavon Chambers
f02dd5c0f6
Launch the Alpha 3 release series
2024-02-29 23:47:11 -08:00
zhiyuan
5cf0b8893a
Fix Freehand tool extending after transforming the path ( #1623 )
...
Fix extending after transforming
2024-02-29 19:50:02 -08:00
Keavon Chambers
70dce1c230
Resolve most Clippy lint issues
2024-02-29 00:48:28 -08:00
Elbert Ronnie
8e769e37f6
Add auto-panning when pointer goes beyond viewport edge with Select tool ( #1625 )
...
* Add code to shift viewport if mouse is beyond edge
* Allow shifting viewport if mouse is stationary too
* Group all modifier keys into SelectToolPointerKeys
* Cleanup message ordering to remove shifting during resize
* Slow down shifting by half
* Clamp speed; code review cleanup
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-28 23:52:36 -08:00
Keavon Chambers
4405e01f55
Fix displayed ordering of keyboard shortcuts
2024-02-28 21:51:49 -08:00
Mohamed Osama
96e52c18eb
Fix external consistency of grouping layers so they don't jump to the top of the hierarchy ( #1627 )
...
* Calculate insert_index when grouping multiple layers
* no message
* Fix wrong commits
* no message
* restore frontend/package-lock.json
* Fix formatting matches
* Code review to make it idiomatic
* remove wrong line
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-28 15:01:23 -08:00
Elbert Ronnie
39401f0be0
Fix point translation bug in Path tool ( #1626 )
...
Fix point translation bug
2024-02-25 14:50:30 +00:00
Keavon Chambers
a02b162e30
Consolidate and rename Graphene data types, and add many comments ( #1620 )
...
* Document ProtoNodeInput
* More comments
* Comment improvements
* Comment and split ProtoNodeInput::NodeLambda from ProtoNodeInput::Node
* Combine NodeImplementation into DocumentNodeImplementation
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2024-02-20 17:53:04 -08:00
Comeza
dc7de4d973
Save work periodically to reduce loss from crashes ( #1580 )
...
* Add auto saving
* Fix autosave dispatching message but not saving document
* Clamp set_timeout delay
* Auto save all documents instead of only the active
* Add with_editor to simplify code
* Update consts
* Simplify some more
* Fix typo
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-20 03:23:25 +00:00
0HyperCube
229b5dbb20
Use f64 not f32 throughout graph; add Vector2 value node ( #1618 )
...
* Use doubles in graph
* Format .graphite files onto one line
* Rename new node to Vector2
* No primary input
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-18 22:16:37 +00:00
0HyperCube
6f6fb3bcd4
Upgrade several Rust dependencies ( #1613 )
...
`specta` from Hypercube's fork commit to latest upstream commit
`wasm-bindgen` 0.2.87 -> 0.2.91
`spirv-std` from 0.9 to not-yet-merged commit in https://github.com/EmbarkStudios/rust-gpu/pull/1115
`wgpu` 0.17 -> 0.19
`winit` 0.28.6 -> 0.29
`vello` and `vello_svg` from latest upstream commit to not-yet-merged commit in https://github.com/linebender/vello/pull/427
`resvg` 0.36.0 -> 0.39
`glam` 0.24 -> 0.25
`rustybuzz` 0.8.0 -> 0.10.0
`js-sys` and `web-sys` 0.3.55 -> 0.3.67
`usvg` 0.36.0 -> 0.39
`spirv` 0.2.0 -> 0.3
* Update a couple of dependencies
* More test fixing…
* Use upstream Specta instead of fork
* Update comments in Cargo.toml
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-17 15:02:41 -08:00
Ezbaze
a50b6b0a09
Fix Subtract Node from adding instead of subtracting ( #1614 )
2024-02-17 03:06:21 +00:00
Keavon Chambers
fc8b41914b
Fix anti-aliasing in overlays by aligning everything with the pixel grid ( #1603 )
2024-02-13 20:47:16 -08:00
Keavon Chambers
1bf62d92c2
Automatically include all demo artwork in test
2024-02-08 01:15:32 -08:00
Keavon Chambers
12e16b9a4e
Add Red Dress demo artwork
2024-02-05 14:41:07 -08:00
zhiyuan
e1735ddf84
Fix Select tool's broken undo ( #1597 )
...
Fix select tool undo
2024-02-05 14:40:27 -08:00
Keavon Chambers
7e5069f638
Copy to Points node: Add "Random Scale Bias" parameter
2024-02-05 05:31:28 -08:00
zhiyuan
9530e55ace
Split widget callbacks into update and commit so only the latter adds a history state ( #1584 )
...
* feat: split commit and update layout
* feat: add on_commit callback
* Code review
* fix: refactor
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-05 01:32:15 -08:00
Nikita-str
f25038067e
Path tool: sliding point insertion ( #1581 )
...
* #1578 sliding point works(1st approx)
TODO:
* don't move too close to the side points
* double click works incorrect?
* do we need to jump from segment to segment?
* #1578 disallow move slide point too close to side points
* fix double click + ctrl insertion
* #1578 select insertion point (except `ctrl` case)
* #1578 far depends on line width & more accurate seg finding
* #1578 insert point on most top suitable selected layer
* #1581 draw insertion point by overlay + `Esc` abort
* #1581 sharp stay unchanged on double click
* #1581 fix incorrect handle of scaling
* #1581 `square` selection point & too close in px(instead of magic)
* #1581 bug fix: insertion point on unselection
* #1581 use `color: Option` instead of `SelectionType`
* Some code review, still need to review shape_editor.rs
* #1581 insert sharp point on a straight segment
Also correct insertion on quadratic segments
`ManipulatorGroup::have_handle` have such form because `handle = Some(self.anchor)` often used instead of `handle = None`
* Final code review pass
* Code review pass
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-05 08:45:25 +00:00
zhiyuan
a412a77062
Support for deleting points to break path ( #1593 )
...
* feat: break closed curve
* feat: update hotkeys and handles
* feat: break an open path
* feat: elegantly handle breaking at multi points in a subpath
* feat: handle break at end points
* feat: ctrl+delete to remove segments and break path
* fix: rm unused
* First code review pass
* fix: closed eclipse handles after breaking path
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-04 21:02:09 -08:00
zhiyuan
a4a2680ac4
Freehand tool: Allow extension of existing paths ( #1594 )
...
* feat: extend freehand path
* fix: rm logs
* fix: rename variable
2024-02-04 13:36:25 -08:00
zhiyuan
05b4582cd7
Properly handle pen tool undo and redo ( #1587 )
...
feat: properly handle pen tool undo and redo
2024-02-04 19:23:48 +00:00
Dennis Kobert
349ec5da72
Add MemoizeImpure node and cache image base64 in graph ( #1595 )
...
* Cache base64 representation of images when converting to graphic group
* Fix build
* Fix build again
* Actually fix it this time
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-02-03 23:16:03 +01:00
Keavon Chambers
8fa46ba63a
Copy to Points node: add scale/rotation randomization parameters ( #1592 )
...
* WIP, transforms broken with rot/scale
* Transform around bounding box centre
* Add units and tooltips
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
2024-02-01 12:20:35 -08:00
Keavon Chambers
6b6accfb91
Add Poisson-disk sampling node and Bezier-rs 0.4 release ( #1586 )
...
* Add Poisson-disk sampling node and Bezier-rs 0.4 release
* Additional optimizations
* More performance optimizations with help from 0Hypercube
* Add comments
2024-01-28 02:25:46 -08:00
Keavon Chambers
a7bf6e2459
Fix triple graph evaluation on Windows by removing hash-based ExecutionRequest dedupe
2024-01-27 16:58:15 -08:00
0HyperCube
208e907fa4
Restore select tool functionality and shallow select mode ( #1583 )
...
* Restore select tool functionality
* UI tweak
* Change all of the things
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-18 22:28:45 +00:00
Keavon Chambers
5c9d3c5d75
UI refinements for radio buttons and the Snapping/Grid popovers
2024-01-18 05:03:43 -08:00
Keavon Chambers
3f76526d6d
Update dependencies and reuse the same usvg version
2024-01-17 20:33:07 -08:00
Keavon Chambers
b4dccb8655
Add a workaround for a Safari rendering bug with floating menus
2024-01-17 00:58:07 -08:00
0HyperCube
002151d9c0
SVG import ( #1579 )
...
* SVG import
* Fix error
* Transforms
* Code review nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-16 17:42:48 -08:00
Keavon Chambers
8eef96511e
Improve document tilt and reset
2024-01-15 04:05:36 -08:00
Keavon Chambers
d602603d46
Remove unused DocumentIsDirty
2024-01-15 02:51:40 -08:00
0HyperCube
8df59be1d5
Display graph errors in the viewport ( #1577 )
...
* Display graph errors in the viewport
* Polish up the styling
* Clear click targets while graph can't be rendered
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-15 06:18:08 +00:00
0HyperCube
484acbcde3
New node: Morph ( #1576 )
...
* Add morph node
* Range slider time parameter, better lerping
* Lerp more fill and stroke parameters
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-13 23:35:40 -08:00
0HyperCube
c777d4d430
Work around the weird treatment of the primary input ( #1575 )
...
* Work around the weird treatment of the primary input
* take2
2024-01-14 00:35:45 +00:00
0HyperCube
e868bf9532
Fix path tool neighbours for normal snapping ( #1570 )
2024-01-13 16:08:34 -08:00
0HyperCube
47b3355950
Remove FillType::None for the fill node ( #1572 )
...
* Remove FillType::None for the fill node
* Fix demo art
2024-01-13 15:52:10 -08:00
0HyperCube
e0adf1040f
Fix graph UI not rerendering ( #1568 )
2024-01-13 16:25:08 +00:00
0HyperCube
bf0ec2c9c8
Snapping improvements ( #1567 )
2024-01-13 08:10:24 -08:00
0HyperCube
456ca170a4
Layer and grid snapping systems ( #1521 )
...
* Grid overlays
* Rectangle tool basic snapping
* Fix bezier demos
* Fix bézier crate tests
* Constrained snapping for circle & shape tool
* Line tool snapping
* Pen tool snapping
* Path tool snapping
* Snapping whilst dragging layers (not constrained)
* Constrained drag
* Resize snapping
* Normal and tangent
* Cleanup
* Grid snapping
* Grid snapping
* Fix imports
* Fix bug in artboard tool
* Fix hang on 0 size grid spacing
* Fix NaN when scaling
* Polishing
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-01-13 14:32:10 +00:00
Keavon Chambers
78a1bb17cd
Move selected node list from DocumentMetadata to the document ( #1565 )
2024-01-13 04:52:47 -08:00
Keavon Chambers
aab0fcf84c
Update graph UI and improve simplicity and robustness of sending graph and layer panel updates ( #1564 )
...
* WIP
* Fix loading the structure of layers
* Fix broken indents
* Remove debugging stuff
* Fix displaying errors and node graph UI fixes/improvements
* Fix compilation failure
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
2024-01-13 04:15:36 -08:00
0HyperCube
c14c6fbe93
Fix text tool broken by #1543 ( #1555 )
...
Text tool setting font as f32
2024-01-07 13:45:32 +00:00
0hypercube
cd61daf869
Fix issue with pasting an image in the centre
2024-01-07 05:16:01 -08:00
Keavon Chambers
7998947202
Remove GRAPHITE_DOCUMENT_VERSION
2024-01-06 17:25:05 -08:00
Keavon Chambers
121c1d2b9d
Sample Points node: employ caching and deduplication ( #1546 )
...
Sample Points node: split out expensive computation so it can be deduped
2024-01-06 16:07:45 -08:00
Keavon Chambers
c7fd9cfc21
New demo artwork: Procedural String Lights
2024-01-05 15:16:48 -08:00
Keavon Chambers
b3e4caec1a
Rename 'Resample Points' to 'Sample Points'
2024-01-05 05:24:16 -08:00
Dennis Kobert
6bfb2bf344
Change number inputs to be f32 instead of f64 for most nodes ( #1543 )
2024-01-05 13:13:26 +00:00
Keavon Chambers
ed82c5f20f
Copy to Points node: add Start/Stop Offset and Adaptive Spacing parameters
2024-01-03 06:11:42 -08:00
Keavon Chambers
1af6252f2d
Redesign the pivot overlay to a yellow crosshair
2023-12-30 18:34:51 -08:00
Keavon Chambers
134c10b543
Change default Text tool font to Cabin
2023-12-30 14:51:20 -08:00
Keavon Chambers
1cc23320a5
Hide the Cull node by integrating it into all generator nodes ( #1538 )
...
* Hide the Cull node by integrating it into all generator nodes
* Remove internal Cull node from Mandelbrot
2023-12-30 12:28:06 -08:00
Dennis Kobert
0e49388312
Make CopyToPoints node resolution aware ( #1536 )
...
* Make CopyToPoints node resolution aware
* Add unfinished code review as todo comment
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-30 11:56:50 +00:00
0HyperCube
947a131a4b
Add graph type error diagnostics to the UI ( #1535 )
...
* Fontend input types
* Fix index of errors / types
* Bug fixes, styling improvements, and code review
* Improvements to the error box
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-29 08:38:45 +00:00
Keavon Chambers
96b5d7b520
Many subtle improvements to the UI design system ( #1537 )
2023-12-28 04:35:20 -08:00
Keavon Chambers
34f952bad1
Convert u64 IDs to newtypes ( #1532 )
2023-12-22 03:24:13 -08:00
Keavon Chambers
7bfe0ce55b
Retire layer paths used throughout the code ( #1531 )
...
* Part 1
* Part 2
* Part 3
* Part 4
* Part 5
* Part 6
* Part 7
* Part 8
2023-12-21 19:32:46 -08:00
Keavon Chambers
5c7e04a725
Additional clean up and bug fixes after migrating document-legacy
2023-12-20 18:43:32 -08:00
0HyperCube
4733134b22
Fix serialising document ( #1526 )
...
* Fix serialising document
* Remove unused import
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-20 22:58:04 +00:00
Keavon Chambers
92203f3576
Remove the whole document-legacy crate ( #1524 )
...
Remove the whole document-legacy crate
Closes #1520
2023-12-20 05:45:54 -08:00
Keavon Chambers
dcd38f2e4c
Remove all references to legacy layers ( #1523 )
...
* Remove visible field from LegacyLayer
* Remove LegacyLayer wrapper around LegacyLayerType
* Remove FolderLegacyLayer and LayerLegacyLayer wrappers around their data
* Remove legacy layers
2023-12-19 20:50:45 -08:00
Keavon Chambers
9a7d7de8fa
Remove most of document-legacy ( #1519 )
...
* Remove boolean ops and unused doc-legacy Operations
* Remove Shape legacy layers
* Remove legacy layer Properties panel code
* Remove additional unused doc-legacy Operations
* Removed unused rendering-related legacy-layer code
* Upgrade dep so CI builds
* Remove various additional unused functions and messages
* Remove the LayerData trait
* Remove RenderData struct and usages
* Banish the Operations system
* Further removals
2023-12-19 04:36:19 -08:00
0HyperCube
c42d030f18
New overlay system ( #1516 )
...
* Port gradient tool overlays
* Fix tests
* Text tool
* Artboard tool and some of select tool
* Port select tool drawing box
* Pen and path tool
* Remove overlays document
* Show the overlay refactor as done on the website roadmap
* Select tool bounds in layer space (first layer)
* Code review and fixes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-18 11:17:43 +00:00
Keavon Chambers
9e06e70aa2
New node: Copy to Points ( #1513 )
...
* New node: Copy to Points
* Remove dead code
2023-12-17 04:17:17 -08:00
Keavon Chambers
9f0ea35d9b
New node: Noise Pattern ( #1518 )
...
Add the Noise Pattern node
Closes #1517
2023-12-17 02:06:25 -08:00
Keavon Chambers
9d3344808f
Add the user manual to the website ( #1390 )
2023-12-14 05:29:19 -08:00
Keavon Chambers
4d9e76063d
Update website for the unified document graph release
...
Closes #1394
2023-12-14 05:01:54 -08:00
Keavon Chambers
d5b161e7d1
Clean up some document-legacy code
2023-12-12 22:40:04 -08:00
Keavon Chambers
83af879a7c
Fix the Imaginate node from crashing ( #1512 )
...
* Allow generic node input for type inference
* Make imaginate resolution picking depend on the image resolution instead of the transform
* Remove dead code
* Fix console spam after crash
* Fix crash when disconnecting Imaginate node input
* Update Imaginate tool tooltip
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2023-12-12 22:39:33 -08:00
Keavon Chambers
f58aa73edc
Bump the document version
2023-12-12 01:29:31 -08:00
0HyperCube
29222700f4
Fix the blend mode and opacity widgets of the Layers panel ( #1506 )
...
* Fix blend mode and opacity
* Cleanup and bug fixes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-12 09:27:23 +00:00
0HyperCube
6bce72dccd
Fix document becoming unsaved (*) when clicking with Select tool ( #1509 )
...
Fix star on select tool
2023-12-11 22:14:20 +00:00
0HyperCube
421e7c025f
Fix deleting all artboards without crashing ( #1502 )
...
* Fix delete all artboards
* Remove unused import causing warning
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-11 13:46:08 -08:00
0HyperCube
bfee09fe75
Fix nudge resizing to also work in document space ( #1504 )
...
Fix nudge resizing 2
2023-12-11 13:04:04 -08:00
0HyperCube
27960f3f9f
Fix nudging and nudge resizing ( #1501 )
2023-12-11 01:25:40 -08:00
0HyperCube
af4c793f43
Serve the demo artwork in each build ( #1494 )
...
* Serve local demo artwork
* Disable restricted import lint
* Revert
* Switch approach to vite-multiple-assets plugin
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-11 01:06:00 -08:00
0HyperCube
b60736c2c6
Fixes for removing artboards; white infinite canvas background ( #1497 )
...
* Fix crash when drawing on a deleted artboard
* Fix clear artboards button
* White background on no artboards
* Re-disable Clear Artboards since it still crashes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-10 00:17:18 +00:00
0HyperCube
33845707db
Support for previewing the layer node ( #1496 )
2023-12-09 15:54:37 -08:00
Henry Barreto
cbda811480
Add the Image Color Palette node ( #1311 )
...
* Add image color palette node
* Add max size of palette
* Code review cleanup
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-09 15:21:41 -08:00
0HyperCube
fe4b9ef8bb
Exporting ( #1495 )
2023-12-09 17:11:06 +00:00
Keavon Chambers
bd9647eb54
Temporarily disable the Imaginate tool
2023-12-09 05:09:12 -08:00
0HyperCube
10863acd83
Fix crash when reordering layers ( #1492 )
2023-12-09 13:08:46 +00:00
Keavon Chambers
c33ba1b315
Fix Properties panel to show selected layers/nodes
2023-12-09 04:08:07 -08:00
Keavon Chambers
e459e599b4
Wrap opacity/blend_mode in alpha_blending struct for graphic elements
2023-12-08 22:42:45 -08:00
Keavon Chambers
10f2fa92e5
Eliminate GraphicElementData wrapper around GraphicElement
2023-12-08 20:22:37 -08:00
Keavon Chambers
5a6815dd91
Rename Raster to Bitmap
2023-12-08 16:18:56 -08:00
Keavon Chambers
c5ed54cbd2
Rename several node graph structs/fields
2023-12-08 15:30:00 -08:00
Keavon Chambers
d082b15abb
Improve naming of several proto nodes
2023-12-08 15:29:46 -08:00
Keavon Chambers
60a9c27bf1
Add viewing/editing layer names, add Blend Mode node, and clean up Layer node ( #1489 )
2023-12-07 15:10:47 -08:00
Keavon Chambers
165c747d62
Stop Ctrl+A from selecting artboards
2023-12-06 14:39:43 -08:00
Keavon Chambers
01499de8e7
Make the tool shelf adapt to multiple columns and improve panel scrollbars
...
Closes #176
2023-12-06 02:10:40 -08:00
Keavon Chambers
3e35abd377
Clean up .graphite file serde encoding
2023-12-06 01:51:48 -08:00
Keavon Chambers
8f9371dad0
Improve navigation footer bar hints
2023-12-06 01:51:30 -08:00
0HyperCube
f8b9c5db6d
Improve text transforms ( #1487 )
2023-12-04 14:57:44 -08:00
Dennis Kobert
d2450b4d61
Refactor Graphite dependency management ( #1455 )
...
* Refactor Graphite dependency management
* Remove deprecated future executor
* Code review nits
* Remove unused dependencies
* Update dependencies and make compile with all features
* Replace use of future_executor with wasm-bindgen-futures
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-04 12:39:55 +01:00
Dennis Kobert
b7fe38cf31
Fix how transforms work with footprints and remove a redundant transforms field ( #1484 )
...
* Prune unused thumbnails in node graph executor
* Fix transform downcasting failure for GraphicElementData
* Remove more warnings
* Revert upstream transform calculation change
* Use footprint to calculate layer transforms
* Fix artboards
* Move artwork with artboard
* Remove Keavon's warnings
* Prevent misordered FrontendMessages failing to reach JS handlers
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-03 14:17:28 -08:00
Keavon Chambers
9224ed9ec6
Fix missing menu bar from prev commit; fix menu bar items not graying out after closing all docs
2023-11-28 04:50:38 -08:00
Bijay Shrestha
4fead6e7ec
Add option to toggle ruler visibility ( #1479 )
...
* Sending Toggle Ruler message and setting visibility. Text and markers not working
* Added resize on mount for Ruler Input
* Set default for rulers_visible to pass test
* Ruler Visibility portfolio wide instead of document
* Sending Toggle Ruler message and setting visibility. Text and markers not working
* Ruler Visibility portfolio wide instead of document
* Cleanup
* Reorganize the View menu bar; add toggle rulers hotkey
* Remove non-working redundant bools, and make rulers set per-document
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-28 03:34:23 -08:00
Keavon Chambers
32fb142b62
Redesign the ColorButton widget style
2023-11-27 04:48:16 -08:00
0HyperCube
b2ca643e6e
Fix transforms, Brush tool, and G/R/S ( #1473 )
...
* Transform fixes
* Fix the desert artwork
* Change artboard icon
* Better handling when transforming brush strokes
* Code review pass
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-26 20:54:06 -08:00
0HyperCube
5ee79031ab
Fix hiding and collapsing layers ( #1481 )
...
* Hide and collapse layers
* Reorder imports
* Fix Ctrl+H shortcut advertized action and hotkey tooltip; improve graph top right of options bar
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-27 02:27:11 +00:00
Dennis Kobert
661f61348e
Fix viewport navigation performance by caching graph compilations ( #1477 )
...
Only recompile the graph and update thumbnails if the graph has actually changed. (Future work: only send just the thumbnails that actually changed instead of resending all of them.)
* Cache graph compilations
* Only update thumbnails if the graph has changed
* Remove debug statement and fix warnings
2023-11-26 14:21:17 +00:00
0HyperCube
94fcd295c5
Avoid unnecessary graph sends to the frontend ( #1476 )
2023-11-25 23:45:30 +00:00
Keavon Chambers
ab3410cffe
Consolidate MenuListButton into TextButton ( #1470 )
2023-11-25 01:56:05 -08:00
Keavon Chambers
34c6c0431b
Improve NumberInput with dragging to change value and escape/right-click to abort ( #1469 )
...
* Improve NumberInput with dragging to change value and escape to abort
Closes #1468
* Fix slowing with Shift and integer mode
2023-11-21 17:26:28 -08:00
0hypercube
da4d95fa7b
Fix spline tool deleting layer
2023-11-19 23:09:42 -08:00
0HyperCube
8a1cf3ad5d
Migrate demo artwork and fix all failing CI tests ( #1459 )
...
* Initial work on fixing tests
* Fix formatting
* Remove dead code to satisfy rustc warnings
* Insert into an artboard
* Load updated artwork in editor
* Remove popup when importing image
* Fix up demo art
* Change transform app[lication method
* Reduce number of enums called BlendMode
* Finalize the demo artwork upgrade
* Code review pass
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-19 23:06:21 -08:00
Keavon Chambers
719c96ecd8
Rename and reorganize several widgets ( #1462 )
...
* Rename SwatchPairInput -> WorkingColorsButton
* Remove unnecessary Svelte each-loop keys
* Rename (and migrate) MenuBarInput -> MenuListButton
* Rename PivotAssist -> PivotInput
* Rename PersistentScrollbar -> ScrollbarInput and CanvasRuler -> RulerInput
* Rename DIalogModal -> Dialog
* Rename WidgetRow -> WidgetSpan
2023-11-18 04:34:30 -08:00
Keavon Chambers
e3f5e7001f
Redesign ColorInput widget and rename it to ColorButton
2023-11-16 18:38:39 -08:00
0HyperCube
8a816cd701
Fix crash on deleting all subpaths ( #1460 )
...
* Fix crash on deleting all subpaths
* Delete layer if no manipulators exist
2023-11-16 15:42:21 -08:00
Dennis Kobert
9784d31edb
Fix test compilation and allow the ci to run ( #1456 )
...
* Fix test compilation
* Don't fail if .wasm-pack dir does not exist
2023-11-14 23:01:40 +01:00
Dennis Kobert
81519601ae
Store Input for Monitor Nodes ( #1454 )
...
* Add input storage to monitor_node
* Return input via serialize function
2023-11-14 21:17:50 +01:00
0HyperCube
58660f5548
Allow groups to work with the node graph ( #1452 )
...
* Initial groups
* Improve graph arangement
* Fix selecting nested layers
* Code review pass
* Change log
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-14 17:17:14 +00:00
Keavon Chambers
605c0de392
Fix Rust code lints ( #1448 )
...
* Fix Rust lints to satisfy Clippy
* Remove some unused commented out code
2023-11-05 13:52:00 -08:00
Keavon Chambers
09743dcdc4
Rename DocumentNodeType to DocumentNodeBlueprint for clarity
2023-11-05 01:24:53 -08:00
Keavon Chambers
e54a2e2fc6
Remove the Frame tool
2023-11-04 03:04:26 -07:00
0HyperCube
e0ac073805
Improve previewing node data ( #1446 )
...
* Improve preview
* Improve contrast
* Restructure in order to duplicate code
* Code review nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-11-04 02:52:26 -07:00
0HyperCube
380bc19b09
Remove explicit empty stack nodes ( #1445 )
...
* Remove explicit empty stack nodes
* Code review stylistic simplifications
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-28 20:41:31 -07:00
0HyperCube
9b034a5194
Fix deleting layers ( #1441 )
...
* Fix deleting layers
* Code review comments
2023-10-25 15:20:55 -07:00