{
  "version": "1.0.0",
  "name": "deckhost Language Specification",
  "fragments": {
    ">>": {
      "type": "fade-in",
      "category": "basic"
    },
    "^^^": {
      "type": "fade-up",
      "category": "directional"
    },
    "vvv": {
      "type": "fade-down",
      "category": "directional"
    },
    "--->": {
      "type": "fade-right",
      "category": "directional"
    },
    "<---": {
      "type": "fade-left",
      "category": "directional"
    },
    "+++": {
      "type": "grow",
      "category": "transform"
    },
    "...": {
      "type": "shrink",
      "category": "transform"
    },
    "~~~": {
      "type": "strike",
      "category": "transform"
    },
    ">>red": {
      "type": "highlight-red",
      "category": "highlight"
    },
    ">>green": {
      "type": "highlight-green",
      "category": "highlight"
    },
    ">>blue": {
      "type": "highlight-blue",
      "category": "highlight"
    }
  },
  "inline_fragments": {
    "pattern": "SYMBOL text SYMBOL",
    "supported": [
      "^^^",
      "vvv",
      "--->",
      "<---",
      "+++",
      "...",
      "~~~"
    ]
  },
  "directives": {
    ":::": {
      "description": "Slide-level directives for backgrounds and modifiers",
      "backgrounds": [
        "hex",
        "rgb",
        "hsl",
        "gradient",
        "image-url"
      ],
      "modifiers": [
        "opacity"
      ]
    }
  },
  "separators": {
    "horizontal": "---",
    "vertical": "--"
  },
  "features": {
    "math": {
      "inline": "$...$",
      "block": "$$...$$",
      "engine": "katex"
    },
    "syntaxHighlighting": {
      "engine": "highlight.js"
    },
    "tableOfContents": true,
    "codeBlocks": true,
    "images": true,
    "tables": true
  },
  "config": {
    "file": "deckhost.config.json",
    "schema": {
      "version": "2.0",
      "branding": {
        "logo": "string",
        "logoPosition": "string",
        "logoSize": "string"
      },
      "defaults": {
        "background": "string|null",
        "transition": "string",
        "fragmentAnimation": "string"
      },
      "theme": {
        "colors": {
          "primary": "string",
          "secondary": "string",
          "accent": "string"
        },
        "fonts": {
          "heading": "string",
          "body": "string",
          "code": "string"
        }
      },
      "features": {
        "fragments": "boolean",
        "math": "boolean",
        "syntaxHighlighting": "boolean",
        "tableOfContents": "boolean",
        "mouseWheelNavigation": "boolean"
      }
    }
  }
}