* Basic logic for layer effects
* Add an FX button and the ability to add effects, no way to remove or change properties of effects yet
* Basic and ugly UI for adding and removing effects, no property changing yet
* Swap effects
* Fix preload shader paths
* Change parameters for layer effects
* Change gradient parameter in layer effect shaders, and other fixes
* Use CollapsibleContainers for the shader properties
* Set the correct gradient interpolation mode and color space in the UI
* Make effects of group layers apply to children
* Change `apply_fx` to `apply_effects`, formatting, some extra doc comments
* Apply effects to other canvases, when merging layers and when exporting
* Display humanized names of the shader unifrms
* Some UI improvements to the LayerEffectsSettings
* Add an Enabled button in the layer effects window, and change checkboxes to checkbuttons
* Change BaseLayer.apply_effects() to take a cel as a parameter instead
* Make layer effect buttons be affected by the modulate icon color
* Add option in the View menu whether layer effects are displayed in the canvas or not
* Rename `apply_effects()` to `display_effects()`
* Add translation strings
* Add nearest filter to the gradient map
* Don't change Main.tscn
* Fix more translations
* Change the default cursor shape of the generated UI elements of the layer effects
* Add undo/redo and effect application (apply effect destructively)
There are some errors due to the usage of anonymous lambda methods in undo/redo, but it seems to be working well regardless.
* Make layer effect application work on all cels
* cloned frames only keep original selected cels as selected
* Fixed PasteTagPopup dialog, fixed tag created immediately after starting pixelorama not placed correctly
* formatting
* typo
Instead of storing copies of entire images. This is a bit slower on the CPU side, mostly on larger canvases, but it is a massive RAM optimization. Perhaps it could be move optimal to use a shader here.
* added some docs to global
* more docs
* completed preference docs
* removing typos
* added more docs
* some more docs
* some doc revisions
* typo
* removed typos
* added more docs
* completed global doc
* fix typos
* changed some stuff
* replaced (Preference Variable) with "Found in preferences"
* ExtensionsAPI.gd to ExtensionsApi.gd
* added docs to outer Api
* added empty line
* added docs to GeneralAPI
* added docs to MenuAPI
* added docs to DialogAPI
* added docs to PanelAPI
* added docs to ThemeAPI
* added docs to ToolAPI
* added docs to SelectionAPI
* added docs to the remaining APIs
* fix typo
* formatting
* linting
* linting
* documented AnimationTag class
* documented BaseCel class
* more accurate instructions to generate api
* improve/clean docs a bit
* documented BaseLayer class
* linting
* added some more docs
* Update BaseLayer.gd
* typo
* added some more info
This is both an optimization and it restores live changes of the canvas preview when the user is drawing, without any extra performance cost, since the material is the same.
The only case when the canvas preview is using a different material is when its animation preview is being played, so it can show a different frame than the main canvas.