Commit Graph

20 Commits

Author SHA1 Message Date
Dennis Kobert
d8de17b96f Downscale Images to document resolution (#1077)
* Add DownscaleNode

* Add lambda (call argument) input type + fix caching

* Add comment explaining Lambda input

* Automatically insert cache node after downscale node

* Implement sparse hashing of images
2023-03-15 11:49:56 +00:00
Dennis Kobert
625ddc23df Replace hashing algorithm and disable debug logging for improved performance 2023-03-09 18:49:13 +01:00
Dennis Kobert
b5a4fe7315 Invalidate Caches based on the received input (#1067)
* Invalidate Caches based on the received input

* Add comments

* Fix missing *
2023-03-03 20:35:28 +01:00
Dennis Kobert
9dcabc053b Introduce scopes (#1053)
* Implement let binding

* Add lambda inputs

* Fix tests

* Fix proto network formatting

* Generate a template Scoped network by default

* Add comment to explain the lambda parameter

* Move binding wrapping out of the template

* Fix errors cause by image frames
2023-03-02 17:13:28 +01:00
Dennis Kobert
004e87ca3e Incremental compilation and stable node IDs (#977)
* Generate stable node ids

* checkpoint

* Implement borrow tree

* Add eval function on borrow tree

* Refactor Node trait to fix lifetime issues

* Compiler infinite loop

* Impl compose pair

* Transition to double lifetime on trait

* Change node trait to use a generic arg for the input

* Start adapting node_macro

* Migrate more nodes to new macro

* Fix raster tests

* Port vector nodes

* Make Node trait object safe

* Fix FlatMapResultNode

* Translate most of gstd

* Fix DowncastBothNode

* Refactor node trait once again to allow for HRTB for type erased nodes

* Start working on type erased nodes

* Try getting DowncastBothNode to work

* Introduce Upcasting node + work on BorrowTree

* Make enough 'static to get the code to compile

* Transition DynamicExecutor to use borrow tree

* Make Compose Node use HRTB's

* Fix MapResultNode

* Disable blur test

* Add workaround for Composing type erased nodes

* Convert more nodes in the node_registry

* Convert more of the node_registry

* Add update tree fn and hook up to frontend

* Fix blur node

* Implement CacheNode

* Make frontend use graph compiler

* Fix document_node_types type declaration for most nodes

* Remove unused imports

* Move comment down

* Reuse nodes via borrow tree

* Deprecate trait based value in favor of TaggedValue

* Remove unsafe code in buffer creation

* Fix blur node

* Fix stable node id generation

* Fix types for Image adjustment document nodes

* Fix Imaginate Node

* Remove unused imports

* Remove log

* Fix off by one error

* Remove macro generated imaginate node entry

* Create parameterized add node

* Fix test case

* Remove link from layer_panel.rs

* Fix formatting
2023-02-07 20:06:24 +01:00
Keavon Chambers
6eafeaaecc Apply lints and cleanup to Rust code 2023-01-29 03:01:57 -08:00
Dennis Kobert
bf39a1dbe0 Implement the Gaussian Blur node (#933) 2022-12-31 17:30:22 -08: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
Dennis
d566ba852d Impl DynNode 2022-08-23 14:02:50 -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
Keavon Chambers
0c7870c5b0 Fix formatting of previous commit 2022-08-04 00:18:42 -07:00
Dennis
089a3f5684 Compile node graph description to GPU code 2022-08-01 23:44:25 -07:00
Dennis
09f550bcd4 Don't force nodes to store references to other nodes 2022-08-01 23:44:22 -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
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