OpenCut-app / OpenCut-app/OpenCut

Timeline Layers: Fix random ordering bug and add layer management controls

Open
#330 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
89.8k
Forks
8.9k
PR merge metrics
No merged PRs in 30d

Description

Bug Description

When users add new timeline layers, they get added in random/unpredictable order instead of being placed on top of existing layers. This creates confusion and inconsistent behavior.

Current Behavior

  • New layers appear in seemingly random positions in the timeline
  • Layer ordering is unpredictable and inconsistent
  • Users cannot control or predict where new layers will appear

Expected Behavior

  • New layers should always be added on top of all existing layers
  • Layer ordering should be predictable and consistent
  • Users should have control over layer ordering

Feature Enhancement: Layer Management Controls

Extend the fix with a comprehensive layer ordering system similar to Photoshop/Figma:

Core Features
  • Bring to Front: Move layer to the top of the stack
  • Send to Back: Move layer to the bottom of the stack
  • Bring Forward: Move layer up one position
  • Send Backward: Move layer down one position
UI Implementation Options
  1. Right-click context menu on timeline layers with options:

    • Bring to Front
    • Send to Back
    • Bring Forward
    • Send Backward
  2. Action buttons in timeline toolbar or layer controls:

    • Up/Down arrow buttons
    • Layer ordering dropdown menu
Implementation Notes
  • Follow established patterns from Photoshop/Figma for familiarity
  • Keep the implementation simple but functional
  • Ensure layer indices are properly maintained
  • Update rendering order to reflect layer positioning

Steps to Reproduce Bug

  1. Create a new project
  2. Add multiple timeline layers
  3. Observe the order in which layers appear
  4. Notice inconsistent/random positioning

Reference

Priority

Medium - Affects user workflow and layer management experience

Acceptance Criteria

  • New layers are consistently added on top
  • Layer ordering is predictable and maintained
  • Users can manually reorder layers using UI controls
  • Layer indices are properly tracked and updated
  • Rendering order matches visual layer order

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing PR #324 and its linked discussion, then trace timeline layer creation, ordering state, and rendering in the TypeScript frontend. Confirm how new layers are inserted before choosing the UI entry point for ordering controls. Done means new layers reliably appear on top, manual reordering works, indices stay consistent, and rendering matches the layer order.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.