MAIDR Documentation - v4.4.0
    Preparing search index...

    Interface TableauVisualSpecification

    A worksheet's visual specification: the shelves and the marks cards behind what was drawn.

    Mirrors VisualSpecification in ExternalContract/Shared/VisualModelInterface.d.ts. Every member is required, and reader.ts still feature-detects the call that returns it — see TableauWorksheet.getVisualSpecificationAsync for why those two facts sit together.

    When it is present it is the only direct evidence of what chart the author drew; without it the extractor falls back to its heuristic ladder.

    activeMarksSpecificationIndex is declared as a bare number with no documentation at all: nothing says it is integral, non-negative, or less than marksSpecifications.length. The extractor range-checks it rather than indexing with it.

    interface TableauVisualSpecification {
        rowFields: readonly TableauFieldInstance[];
        columnFields: readonly TableauFieldInstance[];
        activeMarksSpecificationIndex: number;
        marksSpecifications: readonly TableauMarksSpecification[];
    }
    Index

    Properties

    rowFields: readonly TableauFieldInstance[]

    Fields on the Rows shelf, in shelf order.

    columnFields: readonly TableauFieldInstance[]

    Fields on the Columns shelf, in shelf order.

    activeMarksSpecificationIndex: number
    marksSpecifications: readonly TableauMarksSpecification[]

    One entry per marks card. A dual-axis worksheet has more than one, and nothing in the contract says which axis a card belongs to, whether the axes are synchronized, or how the cards are ordered.