10 Commits

Author SHA1 Message Date
Igor Zinken
abc5c7f1a3 When dragging a Layer with an active Selection, the Selection content should be cut and dragged as a new Layer (#94)
When the DRAG tool is active while there is an active selection, when dragging starts, the contents of the selection should be cut from the currently active Layer and be pasted as a new Layer, which will continue the drag.
2026-04-22 18:24:07 +02:00
Igor Zinken
b205a553d9 Restructure document model, factories and actions (#93)
Split `definitions/document.ts` into unique files per actor type.
Create `model` folder to store the above types, their factories and the state changing actions.
2026-04-19 20:34:06 +02:00
Igor Zinken
3999c018e9 Unified crisp pixel rendering across rendering pipelines 2026-03-27 18:12:28 +01:00
Igor Zinken
712c7abd71 Add layer preview thumbnails to layers panel (#84)
### Motivation

It'd be great if we could see a small thumbnail preview in the layers panel to more easily distinguish between layers visually.

In this changeset we introduce the thumbnail cache. When enabled, each layer is represented by a thumbnail which can be requested from multiple subscribed consumers (currently only the layer panel).

Thumbnail updates are deferred to keep CPU usage low and performance high.
2026-03-21 14:57:28 +01:00
Igor Zinken
bca9aa9145 When erasing content from a drawable layer, underlying layers are now preserved correctly during draw 2025-04-06 09:26:34 +02:00
Igor Zinken
d64ec1ae3e Refactor Layer effects and introduce duotone filter (#64)
* Added Duotone filter to effects
* Renamed Effects actor to Transform
2025-04-04 20:55:34 +02:00
Igor Zinken
e8eb11fd06 Improve performance of dragging Masks on blended, effected Layers 2025-04-02 21:26:28 +02:00
Igor Zinken
b765404704 Update to clipping context while drawing 2025-03-16 12:17:59 +01:00
Igor Zinken
dbafae9984 Clip brush lines while drawing on an offset or transformed Layer 2025-03-16 12:14:31 +01:00
Igor Zinken
630ba35b40 Restructure and rename actor/renderers (#57)
* Restructure and rename actor/renderers
* Rename cache flushing functions to reflect their scope
* Move canvas instance management to dedicated service
* Type resize-canvas-window Vue file
2025-03-16 11:32:42 +01:00