Top-level JSON structure for a CAR-TER remote.

{
  "name": "My Remote",
  "headerTitle": "CAR-TER",
  "version": 1,
  "accentColor": "#667eea",
  "appearance": {
    "colorScheme": "system",
    "showHeader": true,
    "statusBarStyle": "auto",
    "backgroundImage": { ... }
  },
  "theme": {
    "fontFamily": "Times New Roman",
    "accentColor": "#667eea",
    "cornerRadius": 12
  },
  "connection": { "url": "...", "identity": {...} },
  "tabs": [ ... ],
  "pollGroups": { ... },
  "dynamicTabs": [ ... ]
}

Appearance

Controls the app shell — color scheme, header visibility, status bar, and background image.

Field Type Default Description
colorScheme "dark" / "light" / "system" "system" Color scheme. "system" follows the device setting.
showHeader bool true Show/hide the header bar
statusBarStyle "auto" / "light" / "dark" "auto" Status bar content color. "auto" derives from colorScheme.
header object transparent Header bar style (transparent / material / color) — see Appearance
backgroundImage object Background image config (see below)

Background Image

Field Type Default Description
url string Remote image URL (loaded async)
asset string Bundled image asset name
contentMode "fill" / "fit" "fill" Image scaling mode
blur number Gaussian blur radius
opacity number 1.0 Image opacity (0.0–1.0)
overlay string Hex color overlay for readability (e.g. "#00000080")

Theme

Controls visual styling — colors, fonts, spacing, and per-control type themes.

Field Type Default Description
fontFamily string Custom font name (e.g. "Times New Roman", "Courier New", "Helvetica")
fontDesign string "default" Font design: "default", "rounded", "serif", "monospaced"
labelFontSize number 12 Label text size
valueFontSize number 14 Value text size
valueFontWeight string "semibold" Value text weight
accentColor string "#667eea" Primary accent color
accentGradient string[] Accent gradient (2+ hex colors)
foregroundColor string white/black Primary text color
secondaryColor string Secondary text color
tertiaryColor string Tertiary text color
surfacePrimary string Primary surface/card color
surfaceSecondary string Secondary surface color
surfaceTertiary string Tertiary surface color
pageBackground string Page background color
pageBackgroundGradient string[] Page background gradient
headerBackground string Header bar background color
headerBackgroundGradient string[] Header bar gradient
tabBarBackground string Tab bar background color
tabBarTint string Tab bar icon tint
cornerRadius number 12 Control corner radius
controlPadding number 8 Inner control padding
cardPadding number 12 Group card padding
borderWidth number 1 Border stroke width
borderColor string Border color
blurEnabled bool true Glass material blur

Fonts set at the theme level propagate to all controls. Per-control overrides are supported via the theme field on any control definition.

For light/dark variants (light / dark sub-objects), per-type sub-themes (toggle, slider, stepper, segmented, progressBar), and a live theme builder, see Theming.