Closed
Description
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)
- Accept a primary inputAccept a vertical compositing (monadic) inputApply the monadic compositing operation and provide vertical compositing outputProvide 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.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Completed This Milestone
Relationships
Development
No branches or pull requests
Activity
[-]Implement layers and vertical compositing[/-][+]Backend support for layers and vertical compositing stacks[/+]