← Files TableauARCHIVED FILE
skills/tableau-dashboard-advisor/references/wireframe-contract.md
1.48 KB · Oct 3, 2026 · 06:23 UTC
# Wireframe renderer contract
The renderer accepts this JSON shape:
```json
{
"title": "Regional performance",
"subtitle": "Manager view · Data through 2026-08-31",
"width": 1400,
"height": 900,
"columns": 12,
"theme": {
"primary": "#2563EB",
"background": "#F8FAFC",
"surface": "#FFFFFF",
"text": "#172033"
},
"zones": [
{"id": "sales", "title": "Sales YTD", "kind": "kpi", "x": 1, "y": 1, "w": 4, "h": 1, "details": ["Placeholder: $1.2M", "vs target"]},
{"id": "trend", "title": "Monthly sales", "kind": "line", "x": 1, "y": 2, "w": 8, "h": 4, "details": ["MONTH(Order Date)", "SUM(Sales)"]}
],
"filters": ["Relative date", "Region"],
"notes": ["Click a region to filter the trend", "Mock values are placeholders"]
}
```
Required top-level keys: `title`, `width`, `height`, `columns`, and `zones`. Optional: `subtitle`, `theme`, `filters`, and `notes`.
Each zone requires `id`, `title`, `kind`, `x`, `y`, `w`, and `h`. Coordinates are one-based grid values. `x + w - 1` must not exceed `columns`; all dimensions must be positive. Zone IDs must be unique and rectangles must not overlap. Optional `details` is an array of short strings.
Theme values must be six-digit hex colors. The renderer validates structure, escapes all text, and produces one self-contained HTML file. It refuses to replace an existing output unless `--force` is supplied after authorization. It does not validate WCAG contrast or Tableau feasibility; those remain design/build checks.
SHA-256: 2c4f30b808928ef13175ecae1dafd7843267ade875beab8f4c7868ed897097bd