0HyperCube
80d39c2be7
Fix Imaginate flicker during generation ( #891 )
...
Fix imaginate flicker
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-12-21 10:09:01 +00:00
0HyperCube
7a752b93f9
Make Imaginate into a node ( #878 )
...
* Simplify document node input defenitions
* Remove imaginate layer
* Imaginate node properties
* Fix serde feature gate
* Add Proc Macro for Protonode implementation
* Fix incorrect type
* Add cargo.toml metadata
* Send imaginate params to frontend
* Fix image_creativity range
* Finish imaginate implementation
* Fix the imaginate draw tool
* Remove node-graph/rpco-macro
* Cargo fmt
* Fix missing workspace member
* Changes to the resolution
* Add checkbox for Imaginate auto resolution; improve Properties panel layouts
And fix bugs in panel resizing
* Implement the Rescale button
* Reorder imports
* Update Rust deps
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-12-20 14:51:38 -08:00
0HyperCube
11b6147719
Nested networks UI ( #885 )
...
* Initial UI for nested nodes
* Clean up deleting nodes
* Print address of nested network
* Add exiting network message
* Implement the breadcrumb trail
* Remove whitespace
* Fix double click not registering in Chromium
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-12-17 15:38:29 +00:00
TrueDoctor
f1b7abede7
Bundle Graphite using Tauri ( #873 )
...
* Setup tauri component for graphite editor
Integrate graphite into tauri app
Split interpreted-executor out of graph-craft
* Add gpu execution node
* General Cleanup
2022-12-11 12:46:55 -08:00
0HyperCube
cb3cb991e3
Fix inability to expose the Add node's parameter ( #877 )
...
* Fix add node
* Simplify document node input defenitions
2022-12-10 20:39:54 -08:00
TrueDoctor
6cc364b029
Implement node graph gpu execution via vulkano and rust gpu ( #870 )
...
* Add Executor abstraction
* Resolve inputs for proto nodes by adding compose nodes
* Add infrastructure for compiling gpu code
* Integrate nodegraph gpu execution into graph-crafter
* Extract graphene core path from env vars
* Make Color struct usable for gpu code
2022-12-05 12:56:36 +01:00
Keavon Chambers
951c4b665f
Improve naming of nodes and 'add' menu styling
2022-12-03 23:29:55 -08:00
0HyperCube
f9d772070b
Add some additional image effect nodes ( #869 )
...
* Move the Subpath type to graphene-std
* Add the transform subpath node
* Delete selected nodes
* Inserting node list on right click
* Add several bitmap manipulator nodes
* Convert add node to use f64
* Add posterize node
* Rename names randomly
* Fix naming
* Exposure node
* Fix typo
* Adjust exposure node range
* Comment out vector nodes
* Adjust exposure range again
* Posterise as ints
* Rename input
* Use >= in the to hsl function
2022-12-03 14:29:45 -08:00
0HyperCube
007afd53f6
Add support for exposing node parameter inputs ( #866 )
...
* Add exposing inputs to graph
* Use uuids and better node positioning
* Fix accidentally refering to the wrong grid spacing
* Secondary input without primary input
* Cleanup document node types
* Rename to input and addend
2022-11-22 19:57:08 +00:00
0HyperCube
47e2275e55
Add secondary inputs to nodes UI ( #863 )
...
* Add secondary inputs to UI
* Fix add node
* Dragging nodes
* Add ParameterExposeButton component
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-11-22 09:36:19 -08:00
0HyperCube
6cd0dbdcd0
Node graph improvements ( #855 )
...
* Selecting multiple nodes
* Improve logs
* Log bad types in dyn any
* Add (broken) node links
* New topological sort
* Fix reorder ids function
* Input and output node
* Add nodes that operate on images
* Fixups
* Show node parameters together with layer properties
* New nodes don't crash editor
* Fix tests
* Node positions backend
* Generate node graph on value change
* Add expose input message
* Fix tests
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-11-17 15:36:23 -08:00
0HyperCube
d9177f5f4d
Add a basic API and rudimentary frontend for node graph layers ( #846 )
...
* Node graph API stub
* Rename and fix SetInputValue
* Get list of links from network
* Test populating node graph UI
* Node properties
* Fix viewport bounds
* Slightly change promise usage
* A tiny bit of cleanup I did while reading code
* Cleanup and work towards hooking up node links in Vue template
* Add the brighten colour node
* Run cargo fmt
* Add to and from hsla
* GrayscaleImage node with small perf improvement
* Fix gutter panel resizing
* Display node links from backend
* Add support for connecting node links
* Use existing message
* Fix formatting error
* Add a (currently crashing) brighten node
* Replace brighten node with proto node implementation
* Add support for connecting node links
* Update watch dirs
* Add hue shift node
* Add create_node function to editor api
* Basic insert node UI
* Fix broken names
* Add log
* Fix positioning
* Set connector index to 0
* Add properties for Heu shift / brighten
* Allow deselecting nodes
* Redesign Properties panel collapsible sections
Co-authored-by: Keavon Chambers <keavon@keavon.com >
Co-authored-by: Dennis Kobert <dennis@kobert.dev >
2022-11-12 13:23:28 -08:00
Keavon Chambers
265f11a751
Add rotation custom cursor icon for the transform cage
2022-11-05 23:02:21 -07:00
0HyperCube
9cdebfb1f0
Integrate the node graph as a Node Graph Frame layer type ( #812 )
...
* Add node graph frame tool
* Add a brighten
* Use the node graph
* Fix topological_sort
* Update UI
* Add icons for the tool and layer type
* Avoid serde & use bitmaps to improve performance
* Allow serialising a node graph
* Fix missing ..Default::default()
* Fix incorrect comments
* Cache node graph output image
* Suppress no-cycle import warning
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-11-05 14:38:14 -07:00
TrueDoctor
52048cb0d2
Implement Upcasting without nightly support ( #825 )
2022-10-25 16:37:18 -07:00
TrueDoctor
a65ac7ddfd
Node graph dynamic execution ( #824 )
...
Restructure document node implementation
* Implement topological sort
* Enforce the usage of type annotations
* Add complete test case
2022-10-25 15:45:42 -07:00
0hypercube
1a4a0db7e8
Add some raster protonodes
2022-10-26 00:37:05 +02:00
TrueDoctor
2873c8fb00
Relax borrow stack lifetimes ( #823 )
...
Relax lifetimes for borrow_stack
2022-10-25 15:35:30 -07:00
TrueDoctor
097899611f
Implement node registry ( #822 )
2022-10-25 15:32:50 -07:00
TrueDoctor
06acd45a81
Rework DynAnyNode design to work with the borrow stack ( #796 )
2022-10-15 03:02:58 +02:00
0hypercube
99d92ef887
Some initial testing on dynamic nodes and composition
...
* Test use of borrow stack
2022-10-15 02:45:02 +02:00
TrueDoctor
e3237b2c4e
Implement the initial Document Nodes system ( #795 )
...
* Add testcase for flattening graph
* Implement equality for Values
* Implement input resolution
2022-10-15 02:02:50 +02:00
0HyperCube
7ca45c25e1
Use .then() instead of .after() for sequencing nodes ( #760 )
...
* Add .then() for sequencing nodes
* Remove all uses af after
Co-authored-by: Keavon Chambers <keavon@keavon.com >
2022-08-28 12:52:46 -07:00
Keavon Chambers
7848391f6e
Clean up MenuList types and fix many Vue and Clippy warnings
...
Also remove hard-coded-in-Vue Graphite logo in the menu bar in favor of a Rust definition.
2022-08-26 00:10:41 -07:00
Dennis
d566ba852d
Impl DynNode
2022-08-23 14:02:50 -07:00
Keavon Chambers
5531fc690f
Add grayscale sample image for its node graph test
2022-08-23 14:00:17 -07:00
Dennis
ce9e02f36d
Make node trait consume self
2022-08-23 14:00:17 -07:00
Dennis
fa0b896825
Implement image loding test
2022-08-23 14:00:17 -07:00
Dennis
7eb050092c
Add tests for op nodes
2022-08-23 14:00:17 -07:00
Dennis
abf04753e2
Implement cons node
2022-08-23 14:00:17 -07:00
Dennis
a6a41c4b97
Add test for gray scale node
...
# Conflicts:
# node-graph/gcore/src/raster.rs
2022-08-23 14:00:17 -07:00
Dennis
6b45927a60
Reintroduce input for the node trait
...
# Conflicts:
# node-graph/gcore/src/raster.rs
2022-08-23 14:00:17 -07:00
Dennis
83ff548596
Add raster module to graphene_core
2022-08-05 17:43:49 -07:00
Dennis
9e1f4eb46d
Add license information for node_graph crates
2022-08-04 11:47:38 +02:00
Keavon Chambers
0c7870c5b0
Fix formatting of previous commit
2022-08-04 00:18:42 -07:00
Dennis
5e9545322e
Bump dyn-any version + format code
2022-08-04 09:08:48 +02:00
Dennis
30af1ba8db
Integrate dyn-any into the main graphite repo
2022-08-04 09:05:19 +02:00
Dennis
4fd0042f9b
Temporarily remove pretty printing for token streams
2022-08-02 11:53:35 +02:00
Dennis
a348804908
Add dyn-any as a submodule
2022-08-02 11:52:08 +02:00
Dennis
089a3f5684
Compile node graph description to GPU code
2022-08-01 23:44:25 -07:00
Dennis
41a602bba9
Add Unit and Id nodes to node graph
2022-08-01 23:44:24 -07:00
Dennis
09f550bcd4
Don't force nodes to store references to other nodes
2022-08-01 23:44:22 -07:00
Dennis
4b8c0ec4e1
Remove input from the node definition
2022-08-01 23:44:19 -07:00
Dennis
aa5e6f43f6
Add GPU support for node graph
2022-08-01 23:44:18 -07:00
Dennis
bfe21cb179
Implement borrow stack for node graph
2022-08-01 23:44:16 -07:00
Dennis
1ae1fd5704
Make graphene_core no_std
2022-08-01 23:44:14 -07:00
Dennis
119e865007
Restructure node graph proxy architecture
2022-08-01 23:44:13 -07:00
Dennis
6349edfeb3
Replace GAT with lifetime on trait in node graph
2022-08-01 23:44:11 -07:00
Dennis
7384514b87
Try and fail to make nodes object-safe in node graph
2022-08-01 23:44:10 -07:00
Dennis
fef173d3fe
Restructure node graph project layout
2022-08-01 23:44:08 -07:00