Igor Zinken
bca9aa9145
When erasing content from a drawable layer, underlying layers are now preserved correctly during draw
1.1.0
2025-04-06 09:26:34 +02:00
dependabot[bot]
c06156165f
Bump vite from 6.2.3 to 6.2.5 ( #65 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.2.3 to 6.2.5.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.5/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.2.5/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.2.5
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-06 06:42:32 +02:00
Igor Zinken
0285fc53bf
Fix bug where scrollable windows would not respond to mousewheel event
2025-04-05 11:53:53 +02:00
Igor Zinken
f930d43078
Restructure UI, maximize layers panel when filters & effects view is opened ( #66 )
...
* Some sizing shenanigans
* Cleanups in ZoomableSprite and inheritance chain
* Ongoing
* Done
2025-04-05 11:50:08 +02:00
Igor Zinken
304e08d9d0
Touchpads on laptops now zoom the canvas, not the page
2025-04-05 11:10:28 +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
6056e6301e
Fix bug where opacity compositing was not supported when using a blend mode
2025-04-03 21:48:07 +02:00
Igor Zinken
e8eb11fd06
Improve performance of dragging Masks on blended, effected Layers
2025-04-02 21:26:28 +02:00
Igor Zinken
00e0b7549a
Allow committing effects and filters to a Layer source, control zoom level using pointer, move state changing actions to separate files. ( #63 )
...
* Implemented new commit layer effects and transforms action
* Moved all actions out of the application menu component
* Grid to layer slicing moved out of component
* Unified all layer filter toggling into single action
* Moved all layer panel history interactions to separate action files
* Moved mirror, rotation, later addition and document resize state actions to separate files
* Adjust behaviour of layer addition action
* Moved canvas resizing history action to separate file
* Move interaction pane selection logic into separate files
* Move layer positioning utilities to separate actions
* Use correct event variable in ZoomableCanvas
* Zoom tool now responds to clicks and alt+clicks when zoom is selected
2025-04-02 19:21:28 +02:00
Igor Zinken
b7c6698da8
Fix bug where cutting a selection would not correctly render the cut pixels
2025-03-29 17:32:26 +01:00
Igor Zinken
641828c035
Move history management functions out of layer renderer and into history utility ( #61 )
2025-03-29 07:43:47 +01:00
Igor Zinken
26d7fe6593
Fix issue where dragging masks on transformed layers would not respond correctly ( #60 )
2025-03-28 21:57:09 +01:00
Igor Zinken
32e308bb6b
When drawing on a mask using the eraser tool, the live preview will now correctly show the result of the operation
2025-03-27 21:22:59 +01:00
Igor Zinken
f74df9098e
Selection close outline now works zoom level independent
2025-03-27 15:31:32 +01:00
Igor Zinken
8dc5e715f3
Added support for freeform lasso selections
2025-03-27 12:12:56 +01:00
Igor Zinken
466da80f1c
Fix bug where any non-double tap using the TouchDecorator would lock the canvas' interactivity
2025-03-27 12:00:08 +01:00
Igor Zinken
5a6abc8e70
Remove unused dependency, update vitest
2025-03-27 09:45:02 +01:00
Igor Zinken
e47c0dc297
Fixed bug where cropping would not update Layer dimensions appropriately
2025-03-25 22:08:26 +01:00
Igor Zinken
94cd300259
When reordering or deleting Layers in a Document using blend caching, the cache should be flushed
2025-03-25 21:52:06 +01:00
Igor Zinken
d4dac30a6c
Document resize can now be undone in state history. Document crop now cuts pixels of source content
2025-03-23 11:26:55 +01:00
Igor Zinken
2b7bcb924d
Auto select dragged layer on drag end
2025-03-22 11:54:22 +01: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
9182be6555
Move render operations to separate sub folders
2025-03-16 11:37:21 +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
Igor Zinken
3aa929f704
Separate brush outline rendering routines into separate cursor rendering file
2025-03-16 07:47:24 +01:00
Igor Zinken
5b79291faf
Moving some functions out of class instances to more logical utilities
2025-03-16 07:18:18 +01:00
Igor Zinken
cc2ace1719
Restructure test mocks
2025-03-15 22:09:07 +01:00
Igor Zinken
e39317e47a
Fix issue where eyedropper tool would lose accuracy on HDPI screens
2025-03-15 22:04:27 +01:00
Igor Zinken
cfbfbfae1f
Show result during direct-to-mask drawing operations
2025-03-15 21:31:24 +01:00
Igor Zinken
5f191cf9cc
Fix issue where bounding box was not correct when selecting the outline of a vertically flipped Layer
2025-03-15 19:28:41 +01:00
Igor Zinken
8c99aa2e41
Life restriction that prevents drawing inside a selection on mirrored Layers
2025-03-15 19:20:03 +01:00
Igor Zinken
c8b8826216
Guides and selection lines now render at equal thickness across zoom levels
2025-03-15 11:49:56 +01:00
Igor Zinken
b9843c3b43
Fix bug where copying offset, cropped Layers would not correctly copy selection content
2025-03-15 11:37:16 +01:00
Igor Zinken
875edf0d10
Improved performance of selection copying
2025-03-15 11:31:17 +01:00
Igor Zinken
201ddbd9e5
Select all now selects full Document size more logically. Alt + clicking on a Layer selects the Layer outline, respecting transformations
2025-03-15 11:06:05 +01:00
Igor Zinken
83d8e7af4d
Address issue where drawing operations on offset, cropped Layers would not use correct coordinate space
2025-03-15 10:19:27 +01:00
Igor Zinken
9ca9bbb732
Copying selection content onto new Layers reuses the original selections Layer type
2025-03-15 09:53:07 +01:00
Igor Zinken
1d37781855
Prevent drawing outside of the mask on non-graphic Layer types
2025-03-15 09:21:26 +01:00
Igor Zinken
12b51efffa
Updates to layer and mask position management
2025-03-15 08:16:02 +01:00
Igor Zinken
535a192db3
Added more clear distinction between editing Layer source or Layer mask
2025-03-15 07:17:49 +01:00
Igor Zinken
a94f27153d
Fix issue affecting snap & align of transformed Layers
2025-03-15 07:04:16 +01:00
Igor Zinken
c2c3389f84
More appropriate calculation for rendering blended layer bitmaps
2025-03-15 06:43:41 +01:00
Igor Zinken
9d2e89bde1
Create blended layer cache minimising rendering overhead on Documents with blended content ( #55 )
...
* Create cache for blended layers to speed up rendering on Documents with blended content
* Manage blend mode caching state through layer changes in Document canvas
* Comments updated
* Moving files around
* Omit invisible layers in snapshot rendering
* Add pausing to blend layer cache
* Cleanups and tests for LayerSprite
* Remove logs
* Use actual LayerSprite in test
* Simplify pending check
* Omit flush calls on (un)pausing of cache
* Extend tests for LayerSprite
* Update modifier key tooltip
* Create reusable function for invalidating blend cache
* Updated tests
* Allow partial cache flushes
* Ensure blended layer cache is flushed appropriately on undo
* Pause blend caching while rotating or scaling
* Fix for Safari rendering issues
2025-03-14 22:54:25 +01:00
Igor Zinken
85692f3896
Style updates: font size and backgrounds
2025-03-14 19:18:55 +01:00
Igor Zinken
bb64219006
Optimise clone source performance
2025-03-10 21:07:35 +01:00
Igor Zinken
6afd0e1f96
Fixed issue affecting magic wand tool on HDPI screens
2025-03-09 21:41:24 +01:00
Igor Zinken
20f438be84
Updated README
2025-03-09 17:57:26 +01:00
Igor Zinken
12a1a0710a
Refactor clone brush routine ( #54 )
...
* Improve performance of clone brush while drawing
* Reuse same cached paint canvas mechanism as used by all other brushed-based drawing mechanisms
2025-03-09 17:36:36 +01:00
Igor Zinken
75ff95725e
Declutter paint routines and fill mode bugs ( #52 )
...
* Simplify temporary canvas setup in layer-sprite's `paint()` routine
* Ensure fill, clear and stroke operations work the same like brushed painting by using a temporary canvas and apply transformations at the end
2025-03-09 11:28:23 +01:00