Bug fix release. There was a major (yet silly) bug in the high level API, which caused FLIF decoding to fail for all files that were loaded through the high-level API!
- The low level API now has an extra parameter to enable/disable previews. Disabling previews in PolyFLIF is useful, for example, when another library is already providing previews. For example, leaflet.js provides the previews in this demo when zooming in.
- Merged upstream FLIF code until commit c17459b
The API docs have been updated.
A major release that brings support for
- When web-worker support is available in the browser, PolyFLIF now decodes in a separate worker thread, one for each image. This frees up the main browser thread, preventing UI lock ups. It also improves throughput when multiple CPU cores are available in the system.
- When web-workers are being used, the image is decoded progressively and previews are shown whenever more than 0.6 seconds have elapsed. (A lot of this will be configurable in the next release.)
- Lots of fixes and optimisations were done to the preview generation code in upstream repository and merged into PolyFLIF. Some changes are waiting to be merged in upstream FLIF code, but have been merged into this PolyFLIF release.
The next release will be focussed on configurability.
- The static-only variant now has a smaller heap; 20MB v/s 100MB for the full version. The 20MB heap is sufficient for images of geometry upto
~2000 x ~2000. It is also feasible to change this in run-time, but I need to bring it out to the API. #36
- Major bug fix #32.
The IO code was reporting EOF a bit pre-maturely. Typically, just one byte was lost. But since FLIF is densely packed, this loss of one byte could affect a whole row of pixels.
- The low level API was slightly changed to improve precision and clarity. If you don't use the low-level API this change has no impact for you. The truncation parameter had a percentage unit. Now there are two APIs: one which retrains the percentage unit, and another which uses a byte count. The API doc has been updated accordingly.
Merge with upstream FLIF code. Fixes some issues, such as #30
Improved scaling. The library now tries to match the specified size exactly. See #28
Scaling will be improved further, in a future release. See #31