Skip to content

Conversation

0HyperCube
Copy link
Contributor

Closes #992

The bulk of this PR involves allowing nodes to have multiple outputs. This required some frontend Vue modifications as well as some work with the backend, ensuring all node inputs and network outputs have an index. A document graph rewriting step called duplicate_outputs was added to flatten the multiple outputs.

The node graph now outputs an ImageFrame struct that contains the image data and a transform. Further information can be easily added. The transform is the local transform of the layer, and the resulting transform is applied to the layer. This means that if you disconnect the transform, the layer will resize to have an identity transform.

Modifications to the imaginate tool have not yet been added.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 30, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5cf2b8d
Status:⚡️  Build in progress...

View logs

@Keavon Keavon requested review from Keavon and TrueDoctor January 30, 2023 22:46
@Keavon
Copy link
Member

Keavon commented Jan 30, 2023

This seems to be crashing when I import an image (dragging in a PNG file to the viewport). Are you seeing that on your end?

@Keavon Keavon force-pushed the image-wrapper-node branch 2 times, most recently from 584bd1c to 37dcd3f Compare February 9, 2023 20:06
@Keavon Keavon force-pushed the image-wrapper-node branch from 2d97fed to bcc1a51 Compare February 11, 2023 06:49
@Keavon Keavon changed the title Image wrapper node Update Imaginate to output bitmap data to the graph via Image Frame node Feb 11, 2023
@Keavon Keavon merged commit e14618b into master Feb 11, 2023
@Keavon Keavon deleted the image-wrapper-node branch February 11, 2023 08:56
Keavon added a commit that referenced this pull request Jul 30, 2023
…ode (#1001)

* Multiple node outputs

* Add new nodes

* gcore use std by default to allow for testing

* Allow multiple node outputs

* Multiple outputs to frontend

* Add ImageFrameNode to node registry

* Minor cleanup

* Basic transform implementation

* Add some logging to image encoding

* Fix ImageFrameNode

* Add transform input to Imaginate node (#1014)

* Add transform input to imaginate node

* Force the resolution to be edited with no transform

* Add transform to imaginate generation

* Fix compilation

---------

Co-authored-by: Keavon Chambers <[email protected]>

* Add labels to node outputs

* Fix seed; disable mask when transform is disconnected; add Imaginate tooltips

* Rename 'Input Multiple' node to 'Input'

* Code review

* Replicate to Svelte

* Show only the primary input chain in the Properties panel

---------

Co-authored-by: Dennis Kobert <[email protected]>
Co-authored-by: Keavon Chambers <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an Image Frame node and make the graph output vector data

3 participants