renderconfig controls layout and visual styling for a validated dashboard + data payload.

Core Fields

  • font: global font family.
  • layout: grid layout defaults.
  • palette: colors for text/background/links/charts.
  • chart_defaults: shared chart visual defaults (legend, grid/ticks, tooltip, animation, and style).
  • title_typeography: defaults for widget title text.
  • description_typeography: defaults for widget description text.
  • widget_type_defaults: optional defaults keyed by widget type (for example compact rows for title/description/metric).
  • overrides: optional per-widget layout/style overrides keyed by widget id.
  • locale: formatting locale (for example number/currency formatting).

Chart Defaults

chart_defaults controls renderer-level visual behavior for chart widgets:

  • show_legend, legend_position
  • show_grid, show_axis_ticks, tick_density
  • line_width, point_size, bar_gap, area_opacity
  • show_tooltip, shared_tooltip
  • animation, animation_duration

Layout Rules

  • layout.columns, layout.width, layout.widget_columns, layout.widget_rows are all >= 1.
  • layout.widget_columns cannot exceed layout.columns.
  • layout.align is one of left, center, right.

Color Rules

  • Palette and typography colors must be hex (#RGB or #RRGGBB) or transparent.
  • palette.chart_colors must contain at least one color.

Overrides

overrides lets you tune specific widgets without changing global defaults.

  • Keys must be non-empty widget IDs.
  • When overrides are used, dashboards should provide widget id values for all widgets.
  • Override IDs must match real widget IDs in the dashboard.

Widget Type Defaults

widget_type_defaults defines layout defaults by widget type and is applied before per-widget overrides.

Precedence:

  1. Layout defaults (layout.widget_columns, layout.widget_rows)
  2. widget_type_defaults
  3. overrides (highest priority)

Example

{
  "font": "Arial",
  "layout": {
    "columns": 24,
    "width": 1280,
    "align": "center",
    "widget_columns": 12,
    "widget_rows": 6,
    "spacing": 10
  },
  "palette": {
    "text_color": "#000000",
    "background_color": "#FFFFFF",
    "link_color": "#0000EE",
    "chart_colors": ["#5072A7", "#6AA84F", "#8E7C7C"]
  },
  "widget_type_defaults": {
    "title": { "columns": 24, "rows": 1 },
    "description": { "columns": 24, "rows": 1 },
    "metric": { "columns": 12, "rows": 2 }
  },
  "overrides": {
    "sales_chart": {"columns": 24},
    "orders_table": {"columns": 24, "rows": 8}
  }
}

Schema Packaging

The render configuration schema is distributed as a referenceable JSON Schema document set, allowing tooling to resolve related definitions and constraints across documents.