controls Report
Appends a full controls report section for export.
Always begins with a summary paragraph stating the model name, total control count, element count, and per-family breakdown. The body then follows one of two layouts controlled by groupByElement:
Flat family view (groupByElement = false, default): Three sub-sections in sequence — Numeric, String, JSON — each omitted entirely when the corresponding family list is empty.
Element-grouped view (groupByElement = true): One sub-section per model element (sorted alphabetically), each containing only the families that element contributes to. Table captions carry the element name (e.g. "Van_0 — Numeric") so content remains self-identifying when sections span multiple pages.
Parameters
the controls snapshot to report
true for element-grouped layout; false for flat family layout
passed through to stringControlsTable
passed through to jsonControlsTable
passed through to all three table methods