webdevcody / webdevcody/sketchlab.app
[FEATURE]: Drag-and-drop layer reordering in the Layers Panel
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 181
- Forks
- 47
- PR merge metrics
- No merged PRs in 30d
Description
Is your feature request related to a problem? Please describe.
Currently, when creating complex drawings on Sketchlab, there isn't a fluid way to change the z-index or stacking order of elements once they are added to the canvas. If a user needs to move a newly created background shape behind an existing foreground shape, it disrupts the workflow.
Describe the solution you'd like
I would like the ability to change the position of the layers by dragging and repositioning them directly within the Layers panel.
- Users should be able to click, hold, and drag a layer item up or down the list.
- Dropping the layer in a new position should immediately update the rendering order (z-index) of the elements on the canvas.
- A visual indicator (like a line between layers) while dragging would be a great UX addition to show exactly where the layer will be dropped.
Additional context
Layer reordering is a core expectation for design and sketching tools specially in 3D sketching. Adding this will significantly improve the user experience and make it much easier to build and edit complex sketches without having to delete and redraw elements in a specific sequence.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Layers panel and the canvas rendering logic in the TypeScript application. Trace how layers are represented and ordered, then implement and verify drag-and-drop reordering, immediate canvas stacking updates, and a visible drop-position indicator.
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
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100