OptionalfeaturesNarrows Counts and the feature partition sections to these features.
A reporting filter, not a query one. Partitioning by feature is what
ICellRange.getRegions is for and this does not duplicate it — it decides which of
those partitions a report bothers to print, which is why it lives on the renderer and not on
the range. --features fill,borders on a sheet with forty formatted regions is the
difference between an answer and a haystack.
The scalar kinds are accepted and reach Counts; they have no partition to list, so they
never produce a section.
OptionalmaxDistinct values listed for a categorical series before ….
OptionalmaxCap on rendered data cells; the report notes truncation when exceeded.
OptionalmaxCells scanned per region. Above this the profile is taken from a leading slice and says so — the alternative is a report whose cost is unbounded in the size of the sheet.
A scan budget, not a listing cap: it bounds what profiling reads, where every other max*
bounds what a report prints. The distinction is the reason for the name — spelled
maxCells it merged with RenderCellRangeOptions.maxCells on Renderer.Options, where one
value silently shrank the values table and put every profile on a leading slice.
OptionalmaxCap on regions profiled in the Contentful section — the rest list address and size only,
and the listing says how many went undescribed.
12 — deferred to appendRegionList.
OptionalmaxCap on regions listed per feature; the report notes truncation when exceeded.
200 — deferred to appendRegionList, the one place the default lives.
OptionalmaxSeries (columns, or rows on a wide block) described before the profile elides the rest.
OptionalmaxRows each tree prints before the rest of the graph is left to the flat call.
OptionalmodeHow much formatting cell text carries.
OptionalprofileCompute and print the Profile section — per-series counts, types and aggregates.
On by default here, unlike AppendFeatureOptions.profile (off by default for a sheet report's
Contentful section): a sheet report is scanning every block on the caller's behalf, while
this range was named directly, so the same budget reasoning argues the other way. Set false
to skip the scan — e.g. a caller only after the raw values, or one already holding a getStats()
result of its own.
Options for renderCellRange.