Skip to content

[WIP] Add layer groups to the layer system and compositing pipeline#59

Closed
Copilot wants to merge 1 commit intomasterfrom
copilot/add-layer-groups
Closed

[WIP] Add layer groups to the layer system and compositing pipeline#59
Copilot wants to merge 1 commit intomasterfrom
copilot/add-layer-groups

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 20, 2026

Coding agent has begun work on Add Layer Groups to the Layer System and Compositing Pipeline and will update this pull request as work progresses.

Original prompt

I would like to add "groups" to layers. Can you add that?
So basically layers can be organized in group. a group can be collapsed/exapnded, toggled visibility, changed namen, set alpha and blend modes, dragged to reorder, ...
When compositing. first compose all layers in the a group, and thread that as merged layer for the rest of the compositing.

TITLE: Add Layer Groups to the Layer System and Compositing Pipeline

USER INTENT:
The user wants to introduce “groups” into the layer system so layers can be organized hierarchically and manipulated as grouped units in both the UI and compositing logic.

TASK DESCRIPTION:
Implement support for layer groups with behavior similar to common image-editing tools. The user’s required capabilities include:

  • Layers can be placed into a group.
  • A group supports:
    • Collapse/expand in the layer panel
    • Visibility toggle
    • Rename
    • Alpha/opacity control
    • Blend mode selection
    • Drag-and-drop reordering
  • Compositing behavior must change:
    • First, composite all layers within a group.
    • Then treat that result as a single merged layer in the parent/root compositing stack.

EXISTING:

  • No implementation details, code changes, or file-level updates were provided in the conversation.
  • The conversation currently contains only the high-level feature request and expected behavior.

PENDING:
Everything is pending implementation, including:

  1. Data model changes

    • Add a group entity/type in the layer model (likely tree/hierarchy instead of flat list).
    • Store group properties: name, expanded/collapsed state, visibility, alpha, blend mode, children ordering.
  2. Layer panel / UI behavior

    • Render groups and nested layers.
    • Support collapse/expand interactions.
    • Enable group-level controls (visibility, name, alpha, blend mode).
    • Enable drag-and-drop reordering for groups and items in/out of groups.
  3. Compositor update

    • Recursive/stack-based compositing where each group is precomposited internally.
    • Apply group alpha/blend mode when inserting merged group result into parent stack.
    • Ensure visibility handling at both group and layer level.
  4. Interaction rules / edge cases

    • Define behavior for hidden groups, empty groups, nested groups, locked states (if applicable), and clipping/masks (if applicable).
    • Clarify reorder constraints and drop targets.
  5. Persistence / serialization

    • Save/load group hierarchy and properties.
  6. Testing

    • Unit and integration tests for hierarchy operations and compositing correctness.
    • UI tests for expand/collapse, rename, drag/reorder, visibility, and blend/alpha effects.

CODE STATE:
No files were discussed or modified in the provided conversation.
No snippets or diffs are available yet.

RELEVANT CODE/DOCUMENTATION SNIPPETS:
No existing code or documentation excerpts were provided.
Only requirement-level statement from user:

  • “layers can be organized in group”
  • group supports “collapsed/expanded, toggled visibility, changed name, set alpha and blend modes, dragged to reorder”
  • compositing rule: “first compose all layers in a group, and treat that as merged layer for the rest of compositing”

OTHER NOTES:

  • The user’s final compositing requirement implies a hierarchical compositing graph (or recursive pass), not a simple flat layer loop.
  • A robust implementation should likely support nested groups, even if not explicitly stated, since grouping semantics and precompose behavior naturally extend recursively.
  • “thread that as merged layer” appears to mean “treat as merged/precomposed layer” in the parent composition order.

📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI requested a review from steffest March 20, 2026 09:50
Copilot stopped work on behalf of steffest due to an error March 20, 2026 09:50
@steffest steffest closed this Mar 20, 2026
@steffest steffest deleted the copilot/add-layer-groups branch March 20, 2026 09:53
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.

2 participants