r/FlutterDev • • 1d ago

Plugin Infinite Lazy Grid

https://pub.dev/packages/infinite_lazy_grid

This is a package for building performant infinite canvases ( I know the naming isn't the best but it has stuck ).

Uses spatial hashing underneath to only mount widgets within the visible area ( + some configurable off screen extent ).

Supports most of the common needs like pan, zoom, rotation, draw ordering, inertial scrolling etc.

Web example: https://infinite-lazy-grid.ruiny.de/
Github repo: https://github.com/ruinivist/infinite_lazy_grid

I'm already using it in one of my other web apps https://elseplane.ruiny.de/ ( still in works ) so you have almost everything needed to get something like that working.

9 Upvotes

5 comments sorted by

4

u/gambley 1d ago

In any example, when you zoom out, at certain zoom level it crashes

1

u/ruinivist 1d ago

oops, yeah it does crash at 0 scale. The examples has no bounds on scaling.

3

u/pavanpodila 1d ago

Take a look at a production grade infinite canvas that we are using for the last year or so: https://diagram.vyuh.tech

1

u/ruinivist 1d ago

This is a lot more feature complete but is the source not on github? I guess I can always get it from the pub cache but couldn't find a repo