anim_svg 0.0.5
anim_svg: ^0.0.5 copied to clipboard
Flutter widget for animated SVG. Transpiles SMIL, CSS @keyframes, and Svgator animations to Lottie JSON, rendered by the native thorvg engine.
0.0.5 #
- Fixed: Android 15+ 16 KB page size compatibility. The native
libanim_svg_core.so(Rust) andlibthorvg.so(C++, viathorvg_plus 1.1.1) now ship withLOADsegments aligned to 16384 bytes, so they load directly on devices using 16 KB memory pages instead of falling back to page-size-compat mode. Required for Play Console submissions targetingtargetSdk >= 35after Nov 2025 (developer.android.com/16kb-page-size). - Bumped
thorvg_plusconstraint to^1.1.1. - Pinned plugin
ndkVersionto r27 (27.0.12077973) — the lowest NDK whose C/C++ toolchain defaults to 16 KB alignment.
0.0.4 #
- Breaking: minimum Flutter is now
>=3.24.0(was>=3.3.0). Required for theTextureRegistry.SurfaceProducerAPI used bythorvg_plus 1.1.0. - Fixed: long fast-scroll sessions on Android no longer crash the raster
thread inside
SurfaceTexture.updateTexImagewitherror dup'ing fence fd(flutter/flutter#94916, flutter-webrtc/flutter-webrtc#1948). The fix lives inthorvg_plus 1.1.0's migration fromTextureRegistry.createSurfaceTexturetoTextureRegistry.createSurfaceProducer— on API 28+ the engine now selects anImageReader/HardwareBuffer-backed implementation that sidesteps the legacyBufferQueuefence-FD pipeline. API < 28 transparently falls back toSurfaceTexture(no regression). - Bumped
thorvg_plusconstraint to^1.1.0.
0.0.3 #
- Render optimisation for lists with multiple concurrent animations:
- New
startDelayparameter onAnimSvgView.asset/.string/.network. While the delay is pending the widget renders itsloadingBuilder; this lets callers stagger the initialtvg.load(synchronousSwCanvassetup + first software rasterisation) across frames instead of colliding them in a single frame. Stagger byindex * 20msin aListView.itemBuilderto smooth the initial mount. AnimSvgViewnow wraps its rendered output inRepaintBoundary, so the per-framesetStatethat thorvg_plus issues from its frame callback no longer invalidates the surrounding list/scroll subtree.
- New
0.0.2 #
- Switch runtime renderer from
thorvg: ^1.0.0to our own source-built forkthorvg_plus: ^1.0.0. Fixes the iOS simulator linker error hit by pub.dev consumers (upstream thorvg.flutter#22). No API changes toAnimSvgView/AnimSvgController.
0.0.1 #
- Initial experimental release.
- Pure-Dart SVG → Lottie JSON transpiler; rendering delegated to
package:thorvg(native C++ renderer). - Supported animation sources: SMIL (
<animate>,<animateTransform>,<animateMotion>), CSS@keyframes(with motion path), and the Svgator<script>payload. - Shape primitives (
<path>,<rect>,<circle>,<ellipse>,<line>,<polygon>,<polyline>), gradients (linear/radial with animated stops), and Gaussian blur filter. AnimSvgView.asset/AnimSvgView.stringwidgets withAnimSvgController.- Inline data-URI images; on-the-fly WebP → PNG transcode for thorvg compatibility.