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
0HyperCube
2feef62f23
Fix the Eyedropper tool ( #1440 )
...
* Fix eyedropper
* Remove dead code
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-25 17:18:15 +01:00
0HyperCube
54745e210a
Fix the Path tool's smooth/sharp buttons ( #1439 )
...
* Fix select tool smooth button
* Nit
* Fix behavior when zero points are selected but the shape is active
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-25 09:26:24 +01:00
Keavon Chambers
c4bea2b400
Clean up code for optional node inputs/outputs
...
This removes the unused Split Channels node's primary output
2023-10-24 22:26:34 -07:00
Keavon Chambers
bafde43145
Add comments to help explain Graphene concepts
2023-10-24 22:26:08 -07:00
Keavon Chambers
ee08938bb0
Rename 'Grayscale' node to 'Black & White'
2023-10-24 21:22:22 -07:00
Keavon Chambers
1bab2affdb
Remove dead code from overlay graph view state tracking
2023-10-24 21:09:02 -07:00
0HyperCube
b8906f344e
Migrate the Text tool to the document graph ( #1435 )
...
* Update text tool to document graph
* Fix selection issue
* Log graph reruns and text node evals
* Hash to set node
* Fix let node crash
* Fix loading document with fonts
* Allow pressing enter to edit
* Cleanup
* Code review nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-24 12:55:13 -07:00
Yuri Astrakhan
3d4e3a74e5
A few minor lints and docs ( #1436 )
...
* A few minor lints and docs
* Added required packages to compile on Debian-style linux
* Inlined some format args, and removed some `&` in args (they cause about 6% slowdown that compiler cannot inline)
* a few spelling mistakes
* fix fmt
2023-10-18 23:33:10 -07:00
Rob Bertram
67edac4aca
Move DeleteLayer to come before SelectionChanged on DeletedSelectedLayers ( #1417 )
...
* ignore render subpaths overlays if layer no longer exists
* make selection change event added after delete layers
---------
Co-authored-by: 0HyperCube <78500760+0HyperCube@users.noreply.github.com>
2023-10-18 18:32:10 +01:00
0HyperCube
5827e989dc
Migrate the Select tool to the document graph ( #1433 )
...
* function for accessing document metadata
* Better select tool
* Fix render
* Fix transforms
* Fix loading saved documents
* Populate graph UI when loading autosave
* Multiple transform nodes
* Fix deep select
* Graph tooltips
* Fix flip axis icon
* Show disabled widgets
* Stop select tool from selecting artboards
* Disable (not hide) the pivot widget; remove Deep/Shallow select for now
* Code review changes
* Fix pivot position with select tool
* Fix incorrectly selected layers when shift clicking
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-10-17 11:09:32 -07:00
Dennis Kobert
e1cdb2242d
Lay Groundwork for Rust-based SVG rasterization ( #1422 )
...
* Add functions for constructing a usvg tree
* Actually encode the image in the usvg tree
* Implement path translation
* Render document using resvg
2023-10-17 11:02:07 -07:00
Dennis Kobert
34f2d61257
New node: Mandelbrot ( #1421 )
...
* Implement Mandelbrot node
* Make mandelbrot monochrome
* Remove log statements
2023-10-17 11:02:07 -07:00
Dennis Kobert
833f41bccb
Insert pasted images as layers in document graph ( #1418 )
...
Changes:
Graph is evaluated on every viewport change
move all navigation logic into the viewport
reduce the number of js roundtrips
add canvas rendering
enable image pasting
various cleanups
Fix cache nodes being reset every evaluation
2023-10-17 11:02:07 -07:00
Dennis Kobert
d82f133514
Lay groundwork for adaptive resolution system ( #1395 )
...
* Make transform node accept footprint as input and pass it along to its input
use f32 instead of f64 and add default to document node definition
* Add cull node
* Fix types for Transform and Cull Nodes
* Add render config struct
* Add Render Node skeleton
* Add Render Node to node_registry
* Make types macro use macro hygiene
* Place Render Node as output
* Start making DownresNode footprint aware
* Correctly calculate footprint in Transform Node
* Add cropping and resizing to downres node
* Fix Output node declaration
* Fix image transform
* Fix Vector Data rendering
* Add concept of ImageRenderMode
* Take base image size into account when calculating the final image size
* Supply viewport transform to the node graph
* Start adapting document graph to resolution agnosticism
* Make document node short circuting not shift the input index
* Apply clippy lints
2023-10-17 11:02:07 -07:00
0hypercube
239ca698e5
Fix navigate and rulers
2023-10-17 11:02:06 -07:00
0hypercube
b52f831b21
Fix artboard tool and remove old artboard code
2023-10-17 11:02:06 -07:00
0hypercube
9a39c4a0cc
Fix gradient tool
2023-10-17 11:02:06 -07:00
0hypercube
6173662a40
Fix freehand and spline tool
2023-10-17 11:02:06 -07:00
hypercube
76d7b6256d
Fix positioning of new layer nodes after rebase
2023-10-17 11:02:06 -07:00
hypercube
0d6bec837b
Fix path tool
2023-10-17 11:02:06 -07:00
0hypercube
4cd72edb64
Initial work migrating vector layers to document graph
...
* Fix pen tool (except overlays)
* Thumbnail of only the layer and not the composite
* Fix occasional transform breakages
* Constrain size of thumbnail
* Insert new layers at the top
* Broken layer tree
* Fix crash when drawing
* Reduce calls to send graph
* Reduce calls to updating properties
* Store cached transforms upon the document
* Fix missing node UI updates
* Fix fill tool and clean up imports and indentation
* Error on overide existing layer
* Fix pen tool (partially)
* Fix some lints
2023-10-17 11:02:06 -07:00
0hypercube
fc6cee372a
Fix warnings introduced by artboard nodes
2023-10-17 11:01:10 -07:00
0hypercube
f50909b887
Use GraphIdentifier instead of option
2023-10-17 11:01:10 -07:00
0hypercube
5b61a30c2a
Fix artboard thumbnails
2023-10-17 11:01:10 -07:00
Vlad Rakhmanin
b9027883a8
Make 'Close All Documents' not confirm if all open documents are already saved ( #1423 )
...
* Adding blank PortfolioMessage to close docs
* Connected new PortfolioMessage to Menu Bar
* Adding functionality to new PortfolioMessage
* Amending outdated tests in color.rs
2023-09-21 14:02:18 -07:00