Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backend support for layers and vertical compositing stacks #1149

Closed
5 tasks done
Keavon opened this issue Apr 23, 2023 · 0 comments
Closed
5 tasks done

Backend support for layers and vertical compositing stacks #1149

Keavon opened this issue Apr 23, 2023 · 0 comments
Assignees
Milestone

Comments

@Keavon
Copy link
Member

Keavon commented Apr 23, 2023

Layers are a special type of node that:
- [ ] Have a lock icon (this could come after the MVP though)
- [ ] Hold a linear chain of input nodes (this could come after the MVP though)

  • Thumbnails for the layer node #1210
  • Accept a primary input
  • Accept a vertical compositing (monadic) input
  • Apply the monadic compositing operation and provide vertical compositing output
  • Provide a layout for configuring certain settings on a per-layer basis for vertical compositing (e.g. blend mode and opacity)

This is largely a form of (visual) syntax sugar over the existing node graph implementation. The internal graph doesn't have a concept of horizontal or vertical, or even positioning, so this is just a regular node that we store in a special way to provide the frontend with is unique UI. It requires an updated API for describing the changes to the UI for representing layers vs. regular nodes.

Vertical compositing works like so:

  • Each data type used in the node graph can define a vertical compositing monadic operation (a trait)
  • The bottom layer in a vertical compositing stack can be either the wrap/constructor for the compositing monad, or it can use a default value and the first layer becomes the first chained application of the operation
  • The top output unwraps the monadic compositing value and sends it out as horizontal output data

We need vertical compositing operations for both raster and vector, initially.

@github-project-automation github-project-automation bot moved this to Short-Term in Task Board Apr 23, 2023
@Keavon Keavon changed the title Implement layers and vertical compositing Backend support for layers and vertical compositing stacks Apr 26, 2023
@Keavon Keavon removed the Available label May 31, 2023
@Keavon Keavon moved this to Available in Task Board May 31, 2023
@Keavon Keavon moved this from Always Up for Grabs to Short-Term in Task Board May 31, 2023
@Keavon Keavon removed the P-Critical label May 31, 2023
@Keavon Keavon added this to the Sprint 26 milestone Sep 9, 2023
@Keavon Keavon closed this as completed Sep 9, 2023
@github-project-automation github-project-automation bot moved this from Short-Term to Completed This Sprint in Task Board Sep 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants