Commit graph

135 commits

Author SHA1 Message Date
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
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
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
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
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
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
Dennis
cb337fd338 Replace GAT with lifetime on trait in node graph 2022-04-03 10:44:02 +02:00
Dennis
3243b80cf2 Try and fail to make nodes object-safe in node graph 2022-04-02 20:50:53 +02:00
Dennis
800fb4dbc1 Restructure node graph project layout 2022-04-02 14:50:00 +02:00