Flubber is an SVG path morphing library and shape transition engine designed to calculate smooth interpolations between complex vector shapes. It functions as a vector shape interpolator that generates intermediate path states between two sets of coordinates based on a progress value.
The toolkit provides specialized capabilities for managing transitions between different shape quantities, including the ability to split a single shape into multiple pieces or merge multiple shapes into one. It also enables morphing between custom paths and geometric primitives, such as circles and rectangles, using specific dimensions and center points.
The library covers a broad surface of SVG path manipulation, including the decomposition of composite path strings, coordinate-to-string serialization, and point-distribution matching to ensure smooth transitions.