ReadonlynameReadonlycolumnsColumns in view order, exactly as getSummaryColumnsInfoAsync gave them.
ReadonlyrowsEvery row, already remapped into view order.
Optional ReadonlyspecPresent only when the host exposes getVisualSpecificationAsync.
Optional ReadonlygeometryWhere this worksheet sits on the dashboard.
Present only when the active sheet is a dashboard whose objects reported usable geometry — so absence covers an older Embedding library, a lone worksheet sheet, a story, and a worksheet no dashboard object named. The extractor needs it on every surviving worksheet before it will lay the figure out as a grid; one gap and the whole figure is a column again.
Everything one worksheet contributes, read once and then never awaited again.
This is the boundary between the async half of the adapter (
reader.ts) and the pure half (fields.ts,extractor.ts): the extractor is handed snapshots and produces a figure with no I/O of its own.