0.15.0
Features
Readonly TGA support (#131)
The new TGA decoder library @lunapaint/tga-codec
is published on npm and open sourced. Much like @lunapaint/png-codec
, the goal was to build a fast and correct typescript-based library that runs in both browser or node contexts. It has a readable codebase and provides advanced insights into what went wrong when the file fails to decode.
This means Luna Paint can now open TGA files (not save yet) and also inspect them via the luna.file.inspectImageFile
command to view metadata, warnings, etc.
While building this library I noticed that the decoding of TGA files is somewhat inconsistent across image editors due to the specification not being clear on certain things, to combat this @lunapaint/tga-codec
uses what seems to be the most correct approach. One example of this is some images may open "correctly" in some editors but completely transparent in others, a novel feature I added was the ability to detect this "ambiguous alpha channel" and open it with a warning. The idea is if you have a warning in your image file you should probably re-save it in order to improve compatibility of the file.
The next steps for @lunapaint/tga-codec
is to write the encoder side of the library which will allow saving of TGA files as well as improving test coverage of the decoder by creating a comprehensive test suite.
Other enhancements
- luna.defaultTool setting (#91).
UX / Polish
- With the introduction of the new
luna.defaultTool
setting the default has changed to the selection tool which seems more appropriate. To get the old behavior add this to your settings:"luna.defaultTool": "pencil"
.
Bug fixes
- Fix left/right keys moving shapes/lines/etc. when a text input is focused (#89).
- Text inputs are now validated and corrected on focus out (#89).
- The
luna.file.inspectImageFile
command now works on the active file, thanks to a new vscode API.