Keavon Chambers
49b9b8cfec
Rename the legacy Graphene crate to document-legacy ( #899 )
...
* Rename /graphene to /document-legacy
* Update names in code
2022-12-22 02:12:05 -08:00
0HyperCube
5b3c015f71
Better downcast panics ( #898 )
2022-12-22 09:27:55 +00:00
0HyperCube
951c49a979
Node code cleanup for vector data, and add node creation guide ( #895 )
...
* Cleanup Vector Nodes
* Add the creating nodes guide
* Rename guide as readme so GitHub shows it by default
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2022-12-21 19:50:40 +00:00
0HyperCube
3a4a0eaf68
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
2732492307
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 22:51:38 +00:00
0HyperCube
9d40539dc7
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
7d8f94462a
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-07 12:49:34 +01:00
0HyperCube
9a4af4f87a
Fix inability to expose the Add node's parameter ( #877 )
...
* Fix add node
* Simplify document node input defenitions
2022-12-10 23:54:14 +00:00
TrueDoctor
57a1f653e1
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
33d5db76c0
Improve naming of nodes and 'add' menu styling
2022-12-03 23:29:55 -08:00
0HyperCube
eb9848365f
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 22:29:45 +00:00
0HyperCube
3dd9e88655
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
0a78ebda25
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 17:36:19 +00:00
0HyperCube
2994afa6b8
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 23:36:23 +00:00
0HyperCube
504136b61b
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 21:23:28 +00:00
Keavon Chambers
3f98d1c896
Add rotation custom cursor icon for the transform cage
2022-11-05 23:02:21 -07:00
0HyperCube
18507b78ac
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 21:38:14 +00:00
TrueDoctor
ae7affda74
Implement Upcasting without nightly support ( #825 )
2022-10-26 01:37:18 +02:00
TrueDoctor
4ec600957c
Node graph dynamic execution ( #824 )
...
Restructure document node implementation
* Implement topological sort
* Enforce the usage of type annotations
* Add complete test case
2022-10-26 00:45:42 +02:00
0hypercube
d142a9092c
Add some raster protonodes
2022-10-21 17:22:06 +01:00
TrueDoctor
b2a90ddc2c
Relax borrow stack lifetimes ( #823 )
...
Relax lifetimes for borrow_stack
2022-10-26 00:35:30 +02:00
TrueDoctor
11c6413251
Implement node registry ( #822 )
2022-10-26 00:32:50 +02:00
TrueDoctor
562217015d
Rework DynAnyNode design to work with the borrow stack ( #796 )
2022-10-15 03:02:58 +02:00
0hypercube
cef58b16c2
Some initial testing on dynamic nodes and composition
...
* Test use of borrow stack
2022-09-28 18:47:34 +01:00
TrueDoctor
2ced9a57c4
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
f5e8c48dfb
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 20:52:46 +01:00
Keavon Chambers
3a84de32ac
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-25 14:41:16 -07:00
Dennis
71f12db1e6
Impl DynNode
2022-08-22 17:18:26 +02:00
Keavon Chambers
f73836b838
Add grayscale sample image for its node graph test
2022-08-20 23:59:37 -07:00
Dennis
bdad7aca47
Make node trait consume self
2022-08-19 18:58:17 +02:00
Dennis
12b33da083
Implement image loding test
2022-08-13 19:15:48 +02:00
Dennis
8a0eb0e266
Add tests for op nodes
2022-08-13 18:21:46 +02:00
Dennis
b06e00ce61
Implement cons node
2022-08-13 14:54:12 +02:00
Dennis
7f415febed
Add test for gray scale node
...
# Conflicts:
# node-graph/gcore/src/raster.rs
2022-08-10 13:10:14 +02:00
Dennis
ef08c27e9c
Reintroduce input for the node trait
...
# Conflicts:
# node-graph/gcore/src/raster.rs
2022-08-10 13:05:57 +02:00
Dennis
1ed7562b90
Add raster module to graphene_core
2022-08-04 12:34:05 +02:00
Dennis
78f07439db
Add license information for node_graph crates
2022-08-04 11:47:38 +02:00
Keavon Chambers
0c2dbd411b
Fix formatting of previous commit
2022-08-04 00:18:42 -07:00
Dennis
d09f023618
Bump dyn-any version + format code
2022-08-04 09:08:48 +02:00
Dennis
c44e9d22e3
Integrate dyn-any into the main graphite repo
2022-08-04 08:52:24 +02:00
Dennis
fa461f3157
Temporarily remove pretty printing for token streams
2022-08-02 11:53:35 +02:00
Dennis
20f4271e91
Add dyn-any as a submodule
2022-08-02 11:52:08 +02:00
Dennis
e84b9bd5bd
Compile node graph description to GPU code
2022-06-08 09:52:58 +02:00
Dennis
998f37d1b0
Add Unit and Id nodes to node graph
2022-06-05 22:58:12 +02:00
Dennis
a2703c0fb1
Don't force nodes to store references to other nodes
2022-06-05 15:25:07 +02:00
Dennis
fa5345d33f
Remove input from the node definition
2022-06-05 01:15:22 +02:00
Dennis
f6e4dbf3e3
Add GPU support for node graph
2022-04-24 11:58:31 +02:00
Dennis
49c171b419
Implement borrow stack for node graph
2022-04-22 19:58:13 +02:00
Dennis
09deee0c4d
Make graphene_core no_std
2022-04-22 15:15:39 +02:00
Dennis
90e465b35c
Restructure node graph proxy architecture
2022-04-03 19:25:07 +02:00