Keavon Chambers
40fd4473a7
Revamp the website more
2024-08-20 04:05:34 -07:00
Keavon Chambers
c39032ab54
Add seed parameters to all nodes with RNG
2024-08-17 07:40:02 -07:00
Keavon Chambers
e647ca9f91
Recategorize the node catalog
2024-08-16 04:24:25 -07:00
adamgerhant
33739b9ad4
Separate the Merge node from the Boolean Operation node ( #1933 )
...
* Rework boolean operation node
* Set Boolean Operation name for layer
* Remove memoize
* Update both demo artworks that use booleans
* Delete dead code, rename input connectors
* Remove more dead code
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-08-16 00:36:07 +00:00
Keavon Chambers
fa981a0897
New node: Assign Colors ( #1938 )
...
* New node: Assign Colors
* Simplify the Procedural String Lights demo artwork
* Add "Group" node to the node catalog
* Better comment styling in profiling action
2024-08-15 12:52:46 +00:00
Keavon Chambers
e28e841e3b
Format demo artwork's nodes in layer chains
2024-08-11 16:22:40 -07:00
adamgerhant
8041b1237c
Fix regressions from network interface PR ( #1906 )
...
* Fix regressions
* Remove unnecessary graph render in box selection
* Improve stack positioning
* Store layer stacks as absolute position
* Improve automatically creating chains
* Improve group selection
* Increase horizontal layer spacing by 1
* Fix export crash and demo artwork
* Improve inserting node onto wire, fix spline crash
* Remove comment
2024-08-07 01:03:12 -07:00
adamgerhant
0dbbabe73e
Add layer node chains, import/export edge connectors, and refactor graph editing to go thru a NodeNetworkInterface ( #1794 )
...
* WIP: NodeNetworkInterface
* Organize ModifyInputsContext to use network interface
* Improve ClickTarget and Position state
* Rework ClickTarget state
* Continue fixing NodeGraphMessageHandler
* Restructure network_metadata
* Final(?) NodeNetworkInterface struct
* Final(??) NodeNetworkInterface
* Final(???) NodeNetworkInterface. Separated persistent and transient data
* Final NodeNetworkInterface data structure. Implemented all basic getters
* Continue migrating functionality to network interface
* Migrate all NodeGraphMessage's to use network interface
* Fix all helper functions in NodeGraphMessageHandler
* Move document metadata to network interface, remove various cached fields
* Move all editor only NodeNetwork implementations to NodeNetworkInterface
* Fix all DocumentNodeDefinitions
* Rework and migrate GraphOperationMessages to network interface
* Continue migration to NodeNetworkInterface
* Save point before merging master
* Fix all errors in network_interface
* 850 -> 160 errors
* Fix all errors :D
* Render default document
* Visualize click targets
* merge conflicts
* Cache transient metadata separately, store entire interface in document history
* Start migration to storing selected nodes for each network
* Remove selected nodes from document message handler
* Move outward wires and all nodes bounding box to transient metadata
* Fix connecting/disconnecting nodes
* Layer stack organization for disconnecting/connecting nodes
* Basic chain locking
* Improve chain positioning
* Add copy/pasting
* Move upstream nodes on shift+drag
* merge conflict fixes
* Improve Graph.svelte code quality
* Final improvements to Graph.svelte
* Fix layer panel
* Performance optimizations
* Bug fixes and derived PTZ
* Chain organization improvement and bug fixes
* Bug fixes, remove all warnings
* Automatic file upgrade
* Final code review
* Fix editor tests
* Fix compile errors
* Remove select tool intersection check when panning
* WIP: Import/Exports
* Fix JS issues
* Finish simplified import/export UI
* Import/Export viewport edge UI
* Remove minimum y bound on import/export ports
* Improve performance while panning graph
* cargo fmt
* Fix CI code build
* Format the demo artwork graph with chains
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: dennis@kobert.dev <dennis@kobert.dev>
2024-08-04 06:47:13 -07:00
James Lindsay
32f5fba3e3
Blog post: Graphite progress report (Q2 2024) ( #1805 )
...
* Q2 blogpost
* WIP
* WIP 2
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-08-02 06:14:29 -07:00
Keavon Chambers
80cf486790
Add "Painted Dreams" demo artwork (and retire Just a Potted Cactus)
2024-08-02 05:20:01 -07:00
Keavon Chambers
44ffb635e9
Improve rendered SVG output syntax for better compatibility and terseness ( #1880 )
...
* Improve rendered SVG output syntax for better compatibility and terseness
* Fix CI failing on boolean operations without wasm32?
* Attempt 2
2024-07-30 08:28:49 -07:00
James Lindsay
dba0433100
Fix snapping bug where snapped-together shapes couldn't be moved ( #1818 )
...
* Fixup dragging snap
* Reenable snapping by default on some demo art files
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-07-12 15:04:14 -07:00
Keavon Chambers
a17ed68008
Disable snapping by default as a bug mitigation, and assorted cleanup
2024-07-10 02:34:37 -07:00
James Lindsay
1652c713a6
Add nondestructive vector editing ( #1676 )
...
* Initial vector modify node
* Initial extraction of data from monitor nodes
* Migrate to point id
* Start converting to modify node
* Non destructive spline tool (tout le reste est cassé)
* Fix unconnected modify node
* Fix freehand tool
* Pen tool
* Migrate demo art
* Select points
* Fix the demo artwork
* Fix the X and Y inputs for path tool
* G1 continous toggle
* Delete points
* Fix test
* Insert point
* Improve robustness of handles
* Fix GRS shortcuts on path
* Dragging points
* Fix build
* Preserve opposing handle lengths
* Update demo art and snapping
* Fix polygon tool
* Double click end anchor
* Improve dragging
* Fix text shifting
* Select only connected verts
* Colinear alt
* Cleanup
* Fix imports
* Improve pen tool avoiding handle placement
* Improve disolve
* Remove pivot widget from Transform node properties
* Fix demo art
* Fix bugs
* Re-save demo artwork
* Code review
* Serialize hashmap as tuple vec to enable deserialize_inputs
* Fix migrate
* Add document upgrade function to editor_api.rs
* Finalize document upgrading
* Rename to the Path node
* Remove smoothing from Freehand tool
* Upgrade demo artwork
* Propertly disable raw-rs tests
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: Adam <adamgerhant@gmail.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
2024-07-05 13:42:40 -07:00
Keavon Chambers
a9a4b5cd19
Move gradient picking into the color picker ( #1778 )
...
* Gradient picker
* Fix up color picker layout CSS problems
* Begin hooking up SpectrumInput for gradient in the ColorPicker
* Working gradient picking on the frontend only
* Plumb FillColorChoice into the backend
* Hook everything else up, just with a weird bug remaining
* Fix some svelty reactivity issues
* Add and remove stops
* Cleanup
* Rename type
* Fill node document format upgrading
* Fix lint
* Polish the color picker UX and fix a bug
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
2024-06-09 22:55:13 -07:00
adamgerhant
6d74abb4de
Node network subgraph editing ( #1750 )
...
* Breadcrumb visualization, nested network consistency, create definitions for Merge internal nodes
* Add index to network inputs, remove imports usage from flatten network
* Replace NodeOutput with NodeInput::Node
* Fully remove imports field, remove unnecessary identity nodes, move Output node to encapsulating network
* Replace previous_outputs with root_node, fix adding artboard/layer to empty network
* Import/Export UI nodes
* Display input/output types dynamically from compiled network
* Add LayerNodeIdentifer::ROOT_PARENT
* Prevent .to_node() on ROOT_PARENT
* Separate NodeGraphMessage and GraphOperationMessage
* General bug fixes with nested networks
* Change layer color, various bug fixes and improvements
* Fix disconnect and set node input for proto nodes and UI export node
* Dashed line to export for previewed node
* Fix deleting proto nodes and nodes that feed into export
* Allow modifications to nodes outside of nested network
* Get network from Node Id parameter
* Change root_node to previous_root_node
* Get TaggedValue from proto node implementation type when disconnecting
* Improve preview functionality and state
* Artboard position and delete children fix
* Name inputs/outputs based on DocumentNodeDefinition or type, fix new artboard/layer insertion
* replace "Link" with "Wire", adjust previewing
* Various bug fixes and improvements
* Modify Sample and Poisson-Disk points, fix incorrect input index and deleting currently viewed node
* Open demo artwork
* Fix opening already upgraded documents and refactor FrontendGraphDataType usages
* Fix deleting within network and other bugs
* Get default node input from compiled network when copying, fix previews, tests, demo artwork
* Code cleanup
* Hide EditorApi and add a comment describing unresolved Import node input types
* Code review
* Replace placeholder ROOT_PARENT NodeId with std::u64::MAX
* Breadcrumb padding
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-06-02 08:01:56 +00:00
Keavon Chambers
6b0822d318
Add Isometric Fountain demo artwork
2024-05-08 19:00:31 -07:00
adamgerhant
8d83fa7079
Generalize layers as merge nodes to enable adjustment layers ( #1712 )
...
* WIP, backward traversal issues
* Fix some tool issues
* Remove debugging
* Change some indices
* WIP: new artboard node
* WIP: add artboard node
* WIP: Artboard node and create_artboard
* WIP: Artboard node implementation complete
* WIP: Artboards input for output node
* Complete Artboard node
* Generalize LayerNodeIdentifier, monitor_nodes support for Artboard node, adjust ResizeArtboard/ClearArtboards, move alias validation to Rust
* Fix misaligned artboard click targets
* Generalize/clarify create_layer and insert_between
* non-negative dimensions for resize_artboard
* Show artboards in layer panel
* Generalize create_layer for layer output node
* Generalize delete_layer/delete_artboard to NodeGraphMessage::DeleteNodes. Fixed upstream flow Iter
* remove old primary_input function
* Vertical node visuals, remove is_layer function, rename Layer node to Merge node, toggle display as layer
exposed_value_count type fix
Vertical node visuals, remove is_layer function, rename Layer node to Merge node, toggle display as layer
* Fix demo artwork
* Layer display context menu
* Automatically select artboard, fix warnings
* Improvements to context menu and layer invariant enforcement
* Remove display_as_layer and update load_structure
* Improve load_structure to show more layers, improve FlowIter, improve layer naming, layer rearrangement validation.
* Clean up demo artwork using generalized layers
* Improve design of Layers panel and graph nodes
* MoveSelectedLayersTo rewrite to support generalized layer nodes
* Include artboards in deepest_common_ancestor, fix resize_artboard/delete_artboard, sync artboard tool to layer panel
* MoveSelectedLayersTo adjustments
* Sync non layer node visibility with metadata
* Include non layer nodes when moving/creating layer
* Fix group layers and get_post_node_with_index
* Include non layer nodes in UngroupSelectedLayers
* GroupSelected for all selected nodes, UnGroupSelected position adjustments
* Add grouping for layers in different folders
* Fix hidden layers
* Prevent node from connecting to itself, fix undo automatic node insertion,
* Fix undo CreateEmptyFolder, fix grouping nested layer nodes
* Formatting
* Remove test and check if node is layer from network
* Fix undo group layers
* Check off roadmap
* MoveUpstreamSiblingsToChild adjustments
* Replace tabs with spaces, remove mut from argument
* Final code review pass
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-04-30 23:03:42 -07:00
Keavon Chambers
fd54cda445
Rename NodeNetwork inputs/outputs to imports/exports
2024-03-11 00:13:01 -07: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
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
Keavon Chambers
15931d06b1
Hacky performance fix for caching slow nodes in demo artwork until #1607 is done
2024-02-15 16:33:04 -08:00
Keavon Chambers
12e16b9a4e
Add Red Dress demo artwork
2024-02-05 14:41:07 -08:00
Keavon Chambers
7e5069f638
Copy to Points node: Add "Random Scale Bias" parameter
2024-02-05 05:31:28 -08: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
51d6d4d30e
Remove Cull node from demo artwork, follow-on to #1538
2024-01-28 23:52:01 -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
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
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
5c7e04a725
Additional clean up and bug fixes after migrating document-legacy
2023-12-20 18:43:32 -08: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
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
f58aa73edc
Bump the document version
2023-12-12 01:29:31 -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
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
3e35abd377
Clean up .graphite file serde encoding
2023-12-06 01:51:48 -08: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
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
mobile-bungalow
b29acbd784
Rework navigation tool hints and navigation shortcuts ( #1419 )
...
* Added Pan,Tilt,Zoom to View menu + Tilt shortcut changes
* formating
* fixed menus, added action for when dispatch happens from menu
* set key mappings to spec
* fix labels for navigation tool
* fix some spacing
* add action that locks spacebar for navigation when using it as a modifier so the node overlay does not toggle
* escape from the node-graph-overlay, set toggle to ctrl+space, fix demo art
* move all transform state into an enum
* rename confusing flag
* fix demo art and tests
---------
Co-authored-by: Ezbaze <rybitwamateusz3@gmail.com>
2023-09-10 23:42:27 +01:00
0HyperCube
579723ae3e
Fix deleting the Path node in "Just a Potted Cactus" demo art ( #1413 )
...
Fix cactus again
2023-09-02 14:54:23 -07:00
0HyperCube
9d27bf49cf
Fix demo art shape node ( #1401 )
2023-08-26 18:43:27 +00:00
Keavon Chambers
0dcfafbf64
Add demo artwork
2023-08-22 03:26:59 -07:00