Igor Zinken
5b2992b616
Initial implementation
2025-03-25 21:24:43 +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
dependabot[bot]
750fba382c
Bump vue-i18n from 11.1.0 to 11.1.2 ( #51 )
...
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n ) from 11.1.0 to 11.1.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases )
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md )
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.1.2/packages/vue-i18n )
---
updated-dependencies:
- dependency-name: vue-i18n
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-03-08 08:55:20 +01:00
Igor Zinken
a39f7d41a4
Only show page unload warning when there is an opened document
2025-03-05 21:16:00 +01:00
Igor Zinken
cba9ba1f52
Restore active tool when unsetting interaction pane mode using keyboard shortcuts
2025-03-05 21:08:41 +01:00
Igor Zinken
b2cdc3ad22
Update ContactJS dependency version. Migrate untyped decorators to TypeScript
2025-03-05 14:22:07 +01:00
Igor Zinken
822c6b5cd1
Use crosshair icon while drawing selection
2025-03-05 13:15:25 +01:00
Igor Zinken
d856b5b6bf
Align title in dimensions formatter
2025-03-04 13:49:16 +01:00
Igor Zinken
71ed911b08
Layer filters should be scrollable on small screens
2025-03-04 13:44:50 +01:00
Igor Zinken
a8f965e363
Simplify drawing preparation code
2025-03-04 12:26:06 +01:00
Igor Zinken
d79974c75f
Delete rudimentary service worker setup file
2025-03-04 10:58:59 +01:00
Igor Zinken
398b8d806e
Show close notification warning in production build
2025-03-04 10:58:17 +01:00
Igor Zinken
2c4e1759d4
Address issue where stepping through state history for mask drawing is not restoring state correctly
2025-03-04 10:27:29 +01:00
Igor Zinken
f63619ddd8
Change modifier key for layer selection from ctrl to alt
2025-03-03 18:24:17 +01:00
Igor Zinken
ea59169646
Use native modifiers when supported with fallback to alt modifier for non-conflicting keyboard shortcuts
2025-03-03 18:16:16 +01:00
Igor Zinken
fd4158c7a9
Restructure shortcuts to handle conflicts in Windows environments
2025-03-03 17:47:30 +01:00
Igor Zinken
bbcacad883
Address cropping issue when drawing on a wide screen ratio
2025-03-03 17:42:52 +01:00
Igor Zinken
d08fa7c685
Improve performance of brushed draw operations ( #50 )
...
* Make drawing instantaneous by drawing directly onto destination layer
* Draw onto temporary, untranslated full size Canvas omitting the need to translate while drawing until drawing completes
* Improve math operations
2025-03-03 17:05:37 +01:00
Igor Zinken
aad2edf5c5
Add center and reset buttons to drag panel
2025-03-03 17:02:42 +01:00
Igor Zinken
7ca13ce0e4
Animate selection outlines
2025-03-03 16:44:48 +01:00