Skip to content

Limitations

Daniel Imms edited this page Jan 15, 2022 · 1 revision

Loading and Saving Files

The loading and saving of png, jpg and bmp images is currently handled by Electron/Chromium, as such the options for tweaking/optimizing how the images get encoded is limited. This also means that while the editor does support layers, saving an image that supports layer is not currently possible. More options for file formats and encoding options is planned for the future.

Layers causing rendering issues

On some machines (eg. my macbook), rendering messes up when there are more than 2 layers.

VS Code Custom Editors

Luna Paint is built on VS Code's custom editor's API. Below are some of the limitations in the API.

  • The tab may lock up when doing busy work (filling, resizing, saving, updating minimap, etc.), the editor was built to support workers in order to keep the UI thread responsive, but it needed to be turned off until microsoft/vscode#87282 is done.
  • Large images can take a while to load, this is because of the slow transfer speed and lack of ArrayBuffer support of postMessage, see microsoft/vscode#79257.
  • Hot exit is only enabled by default for relatively small images, this is largely due to the slow transfer speed and lack of workers mentioned above.
  • Hot exit will prevent closing with an error about dirty custom editors if you make a change and switch away from the tab. "retainContextWhenHidden": true works around this, the proper fix is microsoft/vscode#113507.
  • Auto save has problems with custom editors and large files microsoft/vscode#115404.
Clone this wiki locally