ResidentCollection class

One rebuild's GPU-free product: what ResidentGeometry.create uploads, plus what the three frame-read triggers compare against.

Allocated at rebuild, read on the frame. data and texts are the collector's own copies (GeometryCollector.data and .texts each copy on access -- read once here, never per frame); tablesRevision, devicePixelRatio and collectionCamera are what ResidentRebuilder.noteFrame reads to decide whether the picture on screen was collected under the tables, the display and the scale the frame is drawn at.

Constructors

ResidentCollection({required Float32List data, required int instanceCount, required List<ResidentTextRecord> texts, required List<TextPatch> patches, required ViewportTransform collectionCamera, required Size collectionViewport, required double devicePixelRatio, required int tablesRevision, required int skippedOps, required int walkMicros, required int classifyMicros})
const

Properties

byteLength → int
The budget row's number, before upload: main buffer plus every patch sub-buffer, as ResidentGeometry.byteLength will report it.
no setter
classifyMicros → int
final
collectionCamera → ViewportTransform
The frame's camera (Ruling F2): the live camera's scale and rotation, translated so the extents sit at the origin. GpuDrawBackend maps out of this space every frame.
final
collectionViewport → Size
final
data → Float32List
final
devicePixelRatio → double
final
hashCode → int
The hash code for this object.
no setterinherited
instanceCount → int
final
patches → List<TextPatch>
final
patchInstanceCount → int
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
skippedOps → int
final
tablesRevision → int
document.tables.mutationRevision, read before the walk.
final
texts → List<ResidentTextRecord>
final
walkMicros → int
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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

Static Methods

collect({required DraftDocument document, required DraftPainter painter, required ViewportTransform live, required double devicePixelRatio, required double pixelsPerPaperMm, required double lineweightScale, required TextMeasurer? measurer, required TextStyleRecord textStyleOf(Handle)?, double bandLowerScale = kBandLowerScale}) → ResidentCollection
Walks document through painter under the frame collectionFrameFor gives for live, then classifies. Synchronous; the caller (the rebuilder's post-frame callback) is what keeps it off the frame path.