enhance decoding efficiency by determining the desired canvas format
during image loading. This allows loaders to preemptively decode
the image in the specified format, to not convert the format again.
Attempt to load a given file/data using candidate formats
when the desired loader fails. This approach will enhance
the compatibility with various file formats in unexpected scenarios.
Previously, we had removed this feature, but have since
recognized its necessity due to the impact on file data
in specific corner cases.
* add new render task to do stencil and cover rendering which is a
fallback rendering method to handle cases that trianglation tessellation
failed
* add a new tessellator to generate stencil and cover vertex mesh
Version 0.58 find missing libraries and causes an error.
(ex: libwebp 1.0).
There is no need to fix the current version, so always use the latest version.
Allow direct updates to the paint object without prior validation.
The verification process is deemed inefficient;
users are expected to ensure the paint is updated using a canvas
that contains it.
This might break the backward compatibility.
Adjusted the sampling position basis by -0.5 pixel
to enhance edge line interpolation quality.
This change addresses an issue with the image up-scaling process,
resulting in clearer and more accurate visuals.
issue: https://github.com/thorvg/thorvg/issues/1949
Previously, the logic was set to halt rendering when any part of the paints,
particularly bitmap-based images, failed to render.
This update modifies the behavior to continue drawing the scene,
allowing for the successful rendering of other elements.
issue: https://github.com/thorvg/thorvg/issues/1951
* merge vertices that are close enough before tessellation
* append return branch in tessellation to prevent dead loop caused by floating point precision
TVG picture binaries were maintained for compatibility checks.
These are generally not used by ThorVG developers.
Migrated those binaries to another repository to streamline
the ThorVG main repository.
dispose of the resources at the end of the paint deletion.
This will help retain the resources of the retained paints
and reuse them after reconstructing the next scene.
Previously, the Lottie parser expected a specific parsing order:
font followed by glyph, for optimal data processing.
However, since this order is not guaranteed,
we have revised the parsing logic to accommodate any order.
This update fixes an issue where duplicated overlapping curves/lines,
when introduced as a single line.
That case overlapping command operation is take account for
the trim path's path-building process.
We now skip such cases to ensure the trim path functions correctly.
issue: https://github.com/thorvg/thorvg/issues/1939
The three specifications below apply.
Specification: https://www.w3.org/TR/SVG/paths.html#ArcOutOfRangeParameters
-
If the endpoint (x, y) of the segment is identical to the current point
(e.g., the endpoint of the previous segment),
then this is equivalent to omitting the elliptical arc segment entirely.
-
If either rx or ry is 0, then this arc is treated
as a straight line segment(a "lineto") joining the endpoints.
-
If either rx or ry have negative signs, these are dropped;
the absolute value is used instead.
resolved a corner case where assets were being attached
multiple times during scene building. This issue was causing
a significant performence drop in image animation
in certain scenarios.
adjusted the starting position of the rounded rectangle to 90 degrees
to ensure compatibility with the Lottie trim path effect.
This modification follows the earlier circle correction applied to the rectangle.
issue: https://github.com/thorvg/thorvg/issues/1933