QuiltFaucet<T> class

The core engine for generating and managing quilts from tile data in Carpet layouts.

QuiltFaucet handles tile sizing, placement optimization, and buffer management using algorithms for variance-minimized arrangements. It prefetches via QuiltTileFaucet, caches sizes, and builds StaggeredGrid widgets with MeasureSize for height tracking. Integrates with CarpetStyle for responsive rules and Refresher for pull-to-refresh in infinite feeds.

Constructors

QuiltFaucet({required QuiltTileBuilder<T> tileBuilder, required QuiltTileFaucet<T> tileFaucet, required CarpetStyle style})
Constructs a QuiltFaucet with style, tile source, and builder.

Properties

averageQuiltHeight → double
Computes the average height of known quilts.
no setter
estimateCarpetExtent → double
Estimates the total carpet height including unknowns.
no setter
futureEdge ↔ DateTime?
getter/setter pair
hashCode → int
The hash code for this object.
no setterinherited
pastEdge ↔ DateTime?
getter/setter pair
qSizeCache ↔ Map<String, List<QSize>>
getter/setter pair
quiltBuffer ↔ List<Widget>
getter/setter pair
quiltHeights ↔ List<double>
getter/setter pair
quiltPostCounts ↔ List<int>
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
style → CarpetStyle
final
tileBuilder ↔ QuiltTileBuilder<T>
getter/setter pair
tileFaucet → QuiltTileFaucet<T>
final
unknownExtent → double
Estimates the unknown extent of unloaded content in screen heights.
no setter
unseenFuture → Iterable<T>
Getter for unseen future tiles based on edge timestamp.
no setter
unseenPast → Iterable<T>
Getter for unseen past tiles based on edge timestamp.
no setter
unseenPastQuiltCount → int
Counts consecutive unknown quilts from the past end.
no setter

Methods

buildFuture() → Future<void>
Asynchronously builds future-direction quilts, pulling if needed.
buildPast({bool allowPull = true}) → Future<void>
Asynchronously builds past-direction quilts, optionally pulling data.
buildQuilt(int start, {int? maxPosts}) → QuiltResult
Builds a quilt from a range of tiles, optimizing placement for minimal variance.
buildQuilts(QuiltDirection direction, {bool allowPull = true}) → Future<void>
Builds quilts in the specified direction, handling pulls and insertions.
buildSinglePostQuilt(T post) → QuiltResult
Builds a single-post fallback quilt when multi-tile placement fails.
buildTile(T post) → StaggeredGridTile
Builds a single-tile quilt as fallback for unplaceable content.
createGrid(List<StaggeredGridTile> tiles) → Widget
Wraps tiles in a measurable StaggeredGrid for height tracking.
createTile(T post, int w, int h) → StaggeredGridTile
Creates a StaggeredGridTile for the given tile data and dimensions.
getQSizeList(T post, int nMax) → List<QSize>
Retrieves or computes size options for a tile, sorted by area and aspect deviation.
getStaggeredGrid(Widget widget) → StaggeredGrid
Recursively extracts the inner StaggeredGrid from wrapped widgets.
hasHoles(Widget widget) → bool
Detects holes (gaps) in a quilt's layout by simulating placement.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
placeTile(List<int> heights, int tileW, int tileH, int targetH) → List<int>?
Attempts to place a tile of given dimensions in the height map, returning updated heights or null.
toString() → String
A string representation of this object.
inherited
transplant({CarpetStyle? style, QuiltTileFaucet<T>? buffer}) → QuiltFaucet<T>
Creates a new QuiltFaucet by transplanting style or buffer.

Operators

operator ==(Object other) → bool
The equality operator.
inherited