{
  "schema": "azeforge.capabilities/v2",
  "schemaVersion": 2,
  "tool": {
    "name": "azeforge",
    "version": "0.6.3"
  },
  "runtime": {
    "node": {
      "supported": [
        22,
        24
      ],
      "canonical": 24
    },
    "os": {
      "supported": [
        "ubuntu",
        "macos"
      ],
      "canonical": "ubuntu"
    },
    "canonical": {
      "os": "ubuntu",
      "arch": "x64",
      "node": 24
    }
  },
  "commands": [
    {
      "name": "render",
      "summary": "Compile Source into one deterministic Artifact.",
      "usage": "azeforge render <source> (--output <artifact> | --stdout --format <format>) [--format <format>] [--theme <theme>] [--allow-raw-latex] [--diagnostics json]"
    },
    {
      "name": "validate",
      "summary": "Check Source without writing an Artifact.",
      "usage": "azeforge validate <source> [--allow-raw-latex] [--diagnostics json]"
    },
    {
      "name": "watch",
      "summary": "Rebuild one Artifact on every Source change.",
      "usage": "azeforge watch <source> --output <artifact> [--format <format>] [--theme <theme>] [--allow-raw-latex] [--diagnostics json]"
    },
    {
      "name": "serve",
      "summary": "Preview Source through a loopback preview server.",
      "usage": "azeforge serve <source> [--port <port>] [--theme <theme>] [--allow-raw-latex] [--diagnostics json]"
    },
    {
      "name": "format",
      "summary": "Format Source deterministically.",
      "usage": "azeforge format <source> [--write | --check] | azeforge format --stdin [--check] [--diagnostics json]"
    },
    {
      "name": "capabilities",
      "summary": "Report supported versions, adapters, limits, and policy.",
      "usage": "azeforge capabilities [--probe] [--json]"
    },
    {
      "name": "grammar",
      "summary": "Describe every registered AzeMark 2 directive.",
      "usage": "azeforge grammar [--json] [--directive <type>]"
    },
    {
      "name": "version",
      "summary": "Report the CLI version and public schema versions.",
      "usage": "azeforge version [--json]"
    }
  ],
  "source": {
    "azemarkVersions": [
      2
    ],
    "extension": ".aze.md",
    "mimeType": "text/x-azemark"
  },
  "document": {
    "schemaVersions": [
      3
    ],
    "mimeType": "application/vnd.azeforge.document+json"
  },
  "plugins": [
    {
      "type": "algorithm",
      "version": "1.0.0",
      "title": "Algorithm",
      "namespace": "azeforge.algorithm",
      "bodySyntax": {
        "id": "azeforge.algorithm/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "bibliography",
      "version": "1.0.0",
      "title": "Bibliography",
      "namespace": "azeforge.citation",
      "bodySyntax": {
        "id": "azeforge.bibliography/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "callout",
      "version": "1.0.0",
      "title": "Callout",
      "namespace": "azeforge.callout",
      "bodySyntax": {
        "id": "azeforge.callout-markdown/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "chart",
      "version": "1.0.0",
      "title": "Chart",
      "namespace": "azeforge.chart",
      "bodySyntax": {
        "id": "azeforge.chart/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "circuit",
      "version": "1.0.0",
      "title": "Circuit",
      "namespace": "azeforge.circuit",
      "bodySyntax": {
        "id": "azeforge.circuit/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "class",
      "version": "1.0.0",
      "title": "Class",
      "namespace": "azeforge.class",
      "bodySyntax": {
        "id": "azeforge.class/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "control",
      "version": "1.0.0",
      "title": "Control signal-flow diagrams",
      "namespace": "azeforge.control",
      "bodySyntax": {
        "id": "azeforge.control/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "derivation",
      "version": "1.0.0",
      "title": "Derivation",
      "namespace": "azeforge.derivation",
      "bodySyntax": {
        "id": "azeforge.derivation/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "diagram",
      "version": "1.0.0",
      "title": "Diagram",
      "namespace": "azeforge.diagram",
      "bodySyntax": {
        "id": "azeforge.diagram/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "entity",
      "version": "1.0.0",
      "title": "Entity",
      "namespace": "azeforge.entity",
      "bodySyntax": {
        "id": "azeforge.entity/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "equation",
      "version": "2.0.0",
      "title": "Equation",
      "namespace": "azeforge.equation",
      "bodySyntax": {
        "id": "azeforge.native-equation/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "example",
      "version": "1.0.0",
      "title": "Worked example",
      "namespace": "azeforge.example",
      "bodySyntax": {
        "id": "azeforge.example/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "figure",
      "version": "1.0.0",
      "title": "Figure",
      "namespace": "azeforge.figure",
      "bodySyntax": {
        "id": "azeforge.figure/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "formula",
      "version": "1.0.0",
      "title": "Chemical formula",
      "namespace": "azeforge.chemistry.formula",
      "bodySyntax": {
        "id": "azeforge.formula/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "free-body",
      "version": "1.0.0",
      "title": "Free-body diagrams",
      "namespace": "azeforge.free-body",
      "bodySyntax": {
        "id": "azeforge.free-body/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "geometry",
      "version": "1.0.0",
      "title": "Geometry",
      "namespace": "azeforge.geometry",
      "bodySyntax": {
        "id": "azeforge.geometry/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "mermaid",
      "version": "1.0.0",
      "title": "Mermaid",
      "namespace": "azeforge.mermaid",
      "bodySyntax": {
        "id": "azeforge.mermaid/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "plot",
      "version": "1.0.0",
      "title": "Plot",
      "namespace": "azeforge.plot",
      "bodySyntax": {
        "id": "azeforge.plot/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "reaction",
      "version": "1.0.0",
      "title": "Chemical reaction",
      "namespace": "azeforge.chemistry.reaction",
      "bodySyntax": {
        "id": "azeforge.reaction/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "sequence",
      "version": "1.0.0",
      "title": "Sequence",
      "namespace": "azeforge.sequence",
      "bodySyntax": {
        "id": "azeforge.sequence/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "state",
      "version": "1.0.0",
      "title": "State",
      "namespace": "azeforge.state",
      "bodySyntax": {
        "id": "azeforge.state/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "statement",
      "version": "1.0.0",
      "title": "Statement",
      "namespace": "azeforge.statement",
      "bodySyntax": {
        "id": "azeforge.statement/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "structure",
      "version": "1.0.0",
      "title": "Molecular structure",
      "namespace": "azeforge.chemistry.structure",
      "bodySyntax": {
        "id": "azeforge.structure/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "table",
      "version": "2.0.0",
      "title": "Typed Table",
      "namespace": "azeforge.table",
      "bodySyntax": {
        "id": "azeforge.typed-table/v2",
        "version": "2.0.0"
      }
    },
    {
      "type": "tex",
      "version": "1.0.0",
      "title": "Curated TeX figure",
      "namespace": "azeforge.tex",
      "bodySyntax": {
        "id": "azeforge.tex/v1",
        "version": "1.0.0"
      }
    },
    {
      "type": "timing",
      "version": "1.0.0",
      "title": "Timing",
      "namespace": "azeforge.timing",
      "bodySyntax": {
        "id": "azeforge.timing/v1",
        "version": "1.0.0"
      }
    }
  ],
  "blockRenderers": [
    {
      "id": "azeforge.algorithm.html/v1",
      "version": "1.0.0",
      "blockType": "algorithm",
      "renderer": "html"
    },
    {
      "id": "azeforge.algorithm.pdf/v1",
      "version": "1.0.0",
      "blockType": "algorithm",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.algorithm.png/v1",
      "version": "1.0.0",
      "blockType": "algorithm",
      "renderer": "png"
    },
    {
      "id": "azeforge.algorithm.svg/v1",
      "version": "1.0.0",
      "blockType": "algorithm",
      "renderer": "svg"
    },
    {
      "id": "azeforge.bibliography.html/v1",
      "version": "1.0.0",
      "blockType": "bibliography",
      "renderer": "html"
    },
    {
      "id": "azeforge.bibliography.pdf/v1",
      "version": "1.0.0",
      "blockType": "bibliography",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.bibliography.png/v1",
      "version": "1.0.0",
      "blockType": "bibliography",
      "renderer": "png"
    },
    {
      "id": "azeforge.bibliography.svg/v1",
      "version": "1.0.0",
      "blockType": "bibliography",
      "renderer": "svg"
    },
    {
      "id": "azeforge.callout.html/v1",
      "version": "1.0.0",
      "blockType": "callout",
      "renderer": "html"
    },
    {
      "id": "azeforge.callout.pdf/v1",
      "version": "1.0.0",
      "blockType": "callout",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.callout.png/v1",
      "version": "1.0.0",
      "blockType": "callout",
      "renderer": "png"
    },
    {
      "id": "azeforge.callout.svg/v1",
      "version": "1.0.0",
      "blockType": "callout",
      "renderer": "svg"
    },
    {
      "id": "azeforge.chart.html/v1",
      "version": "1.0.0",
      "blockType": "chart",
      "renderer": "html"
    },
    {
      "id": "azeforge.chart.pdf/v1",
      "version": "1.0.0",
      "blockType": "chart",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.chart.png/v1",
      "version": "1.0.0",
      "blockType": "chart",
      "renderer": "png"
    },
    {
      "id": "azeforge.chart.svg/v1",
      "version": "1.0.0",
      "blockType": "chart",
      "renderer": "svg"
    },
    {
      "id": "azeforge.circuit.html/v1",
      "version": "1.0.0",
      "blockType": "circuit",
      "renderer": "html"
    },
    {
      "id": "azeforge.circuit.pdf/v1",
      "version": "1.0.0",
      "blockType": "circuit",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.circuit.png/v1",
      "version": "1.0.0",
      "blockType": "circuit",
      "renderer": "png"
    },
    {
      "id": "azeforge.circuit.svg/v1",
      "version": "1.0.0",
      "blockType": "circuit",
      "renderer": "svg"
    },
    {
      "id": "azeforge.class.html/v1",
      "version": "1.0.0",
      "blockType": "class",
      "renderer": "html"
    },
    {
      "id": "azeforge.class.pdf/v1",
      "version": "1.0.0",
      "blockType": "class",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.class.png/v1",
      "version": "1.0.0",
      "blockType": "class",
      "renderer": "png"
    },
    {
      "id": "azeforge.class.svg/v1",
      "version": "1.0.0",
      "blockType": "class",
      "renderer": "svg"
    },
    {
      "id": "azeforge.control.html/v1",
      "version": "1.0.0",
      "blockType": "control",
      "renderer": "html"
    },
    {
      "id": "azeforge.control.pdf/v1",
      "version": "1.0.0",
      "blockType": "control",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.control.png/v1",
      "version": "1.0.0",
      "blockType": "control",
      "renderer": "png"
    },
    {
      "id": "azeforge.control.svg/v1",
      "version": "1.0.0",
      "blockType": "control",
      "renderer": "svg"
    },
    {
      "id": "azeforge.derivation.html/v1",
      "version": "1.0.0",
      "blockType": "derivation",
      "renderer": "html"
    },
    {
      "id": "azeforge.derivation.pdf/v1",
      "version": "1.0.0",
      "blockType": "derivation",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.derivation.png/v1",
      "version": "1.0.0",
      "blockType": "derivation",
      "renderer": "png"
    },
    {
      "id": "azeforge.derivation.svg/v1",
      "version": "1.0.0",
      "blockType": "derivation",
      "renderer": "svg"
    },
    {
      "id": "azeforge.diagram.html/v1",
      "version": "1.0.0",
      "blockType": "diagram",
      "renderer": "html"
    },
    {
      "id": "azeforge.diagram.pdf/v1",
      "version": "1.0.0",
      "blockType": "diagram",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.diagram.png/v1",
      "version": "1.0.0",
      "blockType": "diagram",
      "renderer": "png"
    },
    {
      "id": "azeforge.diagram.svg/v1",
      "version": "1.0.0",
      "blockType": "diagram",
      "renderer": "svg"
    },
    {
      "id": "azeforge.entity.html/v1",
      "version": "1.0.0",
      "blockType": "entity",
      "renderer": "html"
    },
    {
      "id": "azeforge.entity.pdf/v1",
      "version": "1.0.0",
      "blockType": "entity",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.entity.png/v1",
      "version": "1.0.0",
      "blockType": "entity",
      "renderer": "png"
    },
    {
      "id": "azeforge.entity.svg/v1",
      "version": "1.0.0",
      "blockType": "entity",
      "renderer": "svg"
    },
    {
      "id": "azeforge.equation.html/v1",
      "version": "1.0.0",
      "blockType": "equation",
      "renderer": "html"
    },
    {
      "id": "azeforge.equation.pdf/v1",
      "version": "1.0.0",
      "blockType": "equation",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.equation.png/v1",
      "version": "1.0.0",
      "blockType": "equation",
      "renderer": "png"
    },
    {
      "id": "azeforge.equation.svg/v1",
      "version": "1.0.0",
      "blockType": "equation",
      "renderer": "svg"
    },
    {
      "id": "azeforge.example.html/v1",
      "version": "1.0.0",
      "blockType": "example",
      "renderer": "html"
    },
    {
      "id": "azeforge.example.pdf/v1",
      "version": "1.0.0",
      "blockType": "example",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.example.png/v1",
      "version": "1.0.0",
      "blockType": "example",
      "renderer": "png"
    },
    {
      "id": "azeforge.example.svg/v1",
      "version": "1.0.0",
      "blockType": "example",
      "renderer": "svg"
    },
    {
      "id": "azeforge.figure.html/v1",
      "version": "1.0.0",
      "blockType": "figure",
      "renderer": "html"
    },
    {
      "id": "azeforge.figure.pdf/v1",
      "version": "1.0.0",
      "blockType": "figure",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.figure.png/v1",
      "version": "1.0.0",
      "blockType": "figure",
      "renderer": "png"
    },
    {
      "id": "azeforge.figure.svg/v1",
      "version": "1.0.0",
      "blockType": "figure",
      "renderer": "svg"
    },
    {
      "id": "azeforge.formula.html/v1",
      "version": "1.2.0",
      "blockType": "formula",
      "renderer": "html"
    },
    {
      "id": "azeforge.formula.pdf/v1",
      "version": "1.2.0",
      "blockType": "formula",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.formula.png/v1",
      "version": "1.2.0",
      "blockType": "formula",
      "renderer": "png"
    },
    {
      "id": "azeforge.formula.svg/v1",
      "version": "1.2.0",
      "blockType": "formula",
      "renderer": "svg"
    },
    {
      "id": "azeforge.free-body.html/v1",
      "version": "1.0.0",
      "blockType": "free-body",
      "renderer": "html"
    },
    {
      "id": "azeforge.free-body.pdf/v1",
      "version": "1.0.0",
      "blockType": "free-body",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.free-body.png/v1",
      "version": "1.0.0",
      "blockType": "free-body",
      "renderer": "png"
    },
    {
      "id": "azeforge.free-body.svg/v1",
      "version": "1.0.0",
      "blockType": "free-body",
      "renderer": "svg"
    },
    {
      "id": "azeforge.geometry.html/v1",
      "version": "1.0.0",
      "blockType": "geometry",
      "renderer": "html"
    },
    {
      "id": "azeforge.geometry.pdf/v1",
      "version": "1.0.0",
      "blockType": "geometry",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.geometry.png/v1",
      "version": "1.0.0",
      "blockType": "geometry",
      "renderer": "png"
    },
    {
      "id": "azeforge.geometry.svg/v1",
      "version": "1.0.0",
      "blockType": "geometry",
      "renderer": "svg"
    },
    {
      "id": "azeforge.mermaid.html/v1",
      "version": "1.0.0",
      "blockType": "mermaid",
      "renderer": "html"
    },
    {
      "id": "azeforge.mermaid.pdf/v1",
      "version": "1.0.0",
      "blockType": "mermaid",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.mermaid.png/v1",
      "version": "1.0.0",
      "blockType": "mermaid",
      "renderer": "png"
    },
    {
      "id": "azeforge.mermaid.svg/v1",
      "version": "1.0.0",
      "blockType": "mermaid",
      "renderer": "svg"
    },
    {
      "id": "azeforge.plot.html/v1",
      "version": "1.0.0",
      "blockType": "plot",
      "renderer": "html"
    },
    {
      "id": "azeforge.plot.pdf/v1",
      "version": "1.0.0",
      "blockType": "plot",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.plot.png/v1",
      "version": "1.0.0",
      "blockType": "plot",
      "renderer": "png"
    },
    {
      "id": "azeforge.plot.svg/v1",
      "version": "1.0.0",
      "blockType": "plot",
      "renderer": "svg"
    },
    {
      "id": "azeforge.reaction.html/v1",
      "version": "1.2.0",
      "blockType": "reaction",
      "renderer": "html"
    },
    {
      "id": "azeforge.reaction.pdf/v1",
      "version": "1.2.0",
      "blockType": "reaction",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.reaction.png/v1",
      "version": "1.2.0",
      "blockType": "reaction",
      "renderer": "png"
    },
    {
      "id": "azeforge.reaction.svg/v1",
      "version": "1.2.0",
      "blockType": "reaction",
      "renderer": "svg"
    },
    {
      "id": "azeforge.sequence.html/v1",
      "version": "1.0.0",
      "blockType": "sequence",
      "renderer": "html"
    },
    {
      "id": "azeforge.sequence.pdf/v1",
      "version": "1.0.0",
      "blockType": "sequence",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.sequence.png/v1",
      "version": "1.0.0",
      "blockType": "sequence",
      "renderer": "png"
    },
    {
      "id": "azeforge.sequence.svg/v1",
      "version": "1.0.0",
      "blockType": "sequence",
      "renderer": "svg"
    },
    {
      "id": "azeforge.state.html/v1",
      "version": "1.0.0",
      "blockType": "state",
      "renderer": "html"
    },
    {
      "id": "azeforge.state.pdf/v1",
      "version": "1.0.0",
      "blockType": "state",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.state.png/v1",
      "version": "1.0.0",
      "blockType": "state",
      "renderer": "png"
    },
    {
      "id": "azeforge.state.svg/v1",
      "version": "1.0.0",
      "blockType": "state",
      "renderer": "svg"
    },
    {
      "id": "azeforge.statement.html/v1",
      "version": "1.0.0",
      "blockType": "statement",
      "renderer": "html"
    },
    {
      "id": "azeforge.statement.pdf/v1",
      "version": "1.0.0",
      "blockType": "statement",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.statement.png/v1",
      "version": "1.0.0",
      "blockType": "statement",
      "renderer": "png"
    },
    {
      "id": "azeforge.statement.svg/v1",
      "version": "1.0.0",
      "blockType": "statement",
      "renderer": "svg"
    },
    {
      "id": "azeforge.structure.html/v1",
      "version": "1.2.0",
      "blockType": "structure",
      "renderer": "html"
    },
    {
      "id": "azeforge.structure.pdf/v1",
      "version": "1.2.0",
      "blockType": "structure",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.structure.png/v1",
      "version": "1.2.0",
      "blockType": "structure",
      "renderer": "png"
    },
    {
      "id": "azeforge.structure.svg/v1",
      "version": "1.2.0",
      "blockType": "structure",
      "renderer": "svg"
    },
    {
      "id": "azeforge.table.html/v1",
      "version": "1.0.0",
      "blockType": "table",
      "renderer": "html"
    },
    {
      "id": "azeforge.table.pdf/v1",
      "version": "1.0.0",
      "blockType": "table",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.table.png/v1",
      "version": "1.0.0",
      "blockType": "table",
      "renderer": "png"
    },
    {
      "id": "azeforge.table.svg/v1",
      "version": "1.0.0",
      "blockType": "table",
      "renderer": "svg"
    },
    {
      "id": "azeforge.timing.html/v1",
      "version": "1.0.0",
      "blockType": "timing",
      "renderer": "html"
    },
    {
      "id": "azeforge.timing.pdf/v1",
      "version": "1.0.0",
      "blockType": "timing",
      "renderer": "pdf"
    },
    {
      "id": "azeforge.timing.png/v1",
      "version": "1.0.0",
      "blockType": "timing",
      "renderer": "png"
    },
    {
      "id": "azeforge.timing.svg/v1",
      "version": "1.0.0",
      "blockType": "timing",
      "renderer": "svg"
    }
  ],
  "renderers": [
    {
      "id": "html",
      "version": "1.0.0",
      "formats": [
        "html"
      ],
      "capabilities": []
    },
    {
      "id": "pdf",
      "version": "1.0.0",
      "formats": [
        "pdf"
      ],
      "capabilities": [
        "browser"
      ]
    },
    {
      "id": "png",
      "version": "1.0.0",
      "formats": [
        "png"
      ],
      "capabilities": [
        "browser"
      ]
    },
    {
      "id": "svg",
      "version": "1.0.0",
      "formats": [
        "svg"
      ],
      "capabilities": [
        "browser"
      ]
    }
  ],
  "themes": [
    {
      "id": "academic",
      "version": "1.0.0",
      "title": "Academic",
      "colorScheme": "light"
    },
    {
      "id": "dark-presentation",
      "version": "1.0.0",
      "title": "Dark Presentation",
      "colorScheme": "dark"
    },
    {
      "id": "default",
      "version": "1.0.0",
      "title": "Default",
      "colorScheme": "light"
    }
  ],
  "formats": [
    "html",
    "svg",
    "png",
    "pdf"
  ],
  "profiles": {
    "html": {
      "profile": "azeforge.html.self-contained/v1",
      "mimeType": "text/html; charset=utf-8",
      "serializer": "azeforge-html/v2",
      "maxBytes": 67108864
    },
    "svg": {
      "profile": "azeforge.svg.foreign-object/v1",
      "mimeType": "image/svg+xml",
      "serializer": "azeforge-svg/v1",
      "maxBytes": 67108864,
      "maxHeightPx": 100000
    },
    "png": {
      "profile": "azeforge.png.continuous/v1",
      "mimeType": "image/png",
      "serializer": "azeforge-png/v1",
      "maxBytes": 67108864,
      "maxCssHeightPx": 100000,
      "maxPixelDimension": 32768,
      "maxPixels": 50000000,
      "deviceScaleFactor": 2
    },
    "pdf": {
      "profile": "azeforge.pdf.paged/v1",
      "mimeType": "application/pdf",
      "serializer": "azeforge-pdf/v1",
      "maxBytes": 134217728,
      "maxPages": 200,
      "maxHtmlBytes": 67108864,
      "maxTempBytes": 536870912
    },
    "tex": {
      "profiles": [
        "circuitikz",
        "tikz",
        "pgfplots",
        "chemfig",
        "tikz-cd"
      ],
      "bodySyntax": "azeforge.tex/v1"
    }
  },
  "limits": {
    "diagnostics": {
      "perBlock": 20,
      "perDocument": 200,
      "policy": "lowerable-only"
    },
    "renderTimeoutMs": {
      "default": 5000,
      "policy": "lowerable-only"
    },
    "nesting": {
      "maxDepth": 8
    },
    "images": {
      "maxBytes": 8388608,
      "maxDimensionPx": 10000,
      "maxPixels": 25000000
    },
    "blocks": {
      "equation": {
        "maxSourceChars": 4000,
        "maxTexChars": 4000
      },
      "derivation": {
        "maxSourceChars": 4000,
        "maxTexChars": 4000
      },
      "mermaid": {
        "maxSourceChars": 8000,
        "maxTextChars": 8000
      },
      "tex": {
        "maxBodyChars": 50000
      },
      "plot": {
        "maxSeries": 16,
        "maxPointsPerSeries": 5000,
        "maxSamples": 10000,
        "maxParameters": 64,
        "maxLabelChars": 500
      },
      "chart": {
        "maxSeries": 16,
        "maxHistogramValues": 10000,
        "maxBins": 256,
        "maxBarCategories": 256,
        "maxLabelChars": 500
      },
      "geometry": {
        "maxDeclarations": 256,
        "maxPolygonVertices": 64,
        "maxEqualMarkSegments": 16,
        "maxEqualMarkGroups": 16,
        "maxLabelChars": 500,
        "maxCoordinateMagnitude": 1000000,
        "maxDimensionPx": 4096
      },
      "chemistry": {
        "maxFormulaExpressionChars": 512,
        "maxFormulaCharge": 8,
        "maxSubscript": 999,
        "maxGroupNesting": 3,
        "maxIsotopeMass": 299,
        "maxReactionSpecies": 32,
        "maxReactionSpeciesChars": 128,
        "maxReactionConditionChars": 256,
        "maxStructureAtoms": 512,
        "maxStructureWidth": 4096,
        "maxStructureHeight": 4096,
        "maxStructureLabelChars": 500
      },
      "circuit": {
        "maxComponents": 64,
        "maxNodes": 128,
        "maxRelations": 512,
        "maxAnnotations": 128
      },
      "diagram": {
        "maxDeclarations": 512,
        "maxNodes": 128,
        "maxEdges": 256,
        "maxGroups": 32,
        "maxGroupDepth": 4,
        "maxPortsPerNode": 12,
        "maxPorts": 128,
        "maxParallelEdges": 4,
        "maxLabelCodePoints": 500,
        "maxLabelLines": 8,
        "maxTotalLabelCodePoints": 16384
      },
      "models": {
        "sequence": {
          "maxParticipants": 12,
          "maxTimelineItems": 256,
          "maxFragmentDepth": 4,
          "maxAltDivisions": 8,
          "maxNoteSpan": 2,
          "maxNoteTextChars": 1000,
          "maxNoteTextLines": 20
        },
        "state": {
          "maxStates": 64,
          "maxDepth": 3,
          "maxTransitions": 128
        },
        "entity": {
          "maxEntities": 32,
          "maxAttributesPerEntity": 64,
          "maxRelationships": 64
        },
        "class": {
          "maxClassifiers": 32,
          "maxAttributesPerClass": 64,
          "maxOperationsPerClass": 64,
          "maxParametersPerOperation": 16,
          "maxRelationships": 64
        },
        "maxTextChars": 200,
        "maxNameChars": 64,
        "maxWidthPx": 4096,
        "maxHeightPx": 16384
      },
      "control": {
        "maxDeclarations": 256,
        "maxBlocks": 64,
        "maxSums": 32,
        "maxStubs": 32,
        "maxEdges": 128,
        "maxSignsPerSum": 8,
        "maxLabelCodePoints": 500,
        "maxTotalLabelCodePoints": 16384
      },
      "freeBody": {
        "maxDeclarations": 256,
        "maxPolygonVertices": 64,
        "maxLabelChars": 500,
        "maxCoordinateMagnitude": 1000000,
        "maxDimensionPx": 4096
      },
      "algorithm": {
        "maxStatements": 256,
        "maxNestingDepth": 8,
        "maxParameters": 32,
        "maxExpressionChars": 200
      },
      "statement": {
        "maxMarkdownChars": 20000
      },
      "example": {
        "maxSteps": 64,
        "maxGivens": 64,
        "maxMarkdownChars": 20000
      },
      "table": {
        "maxColumns": 64,
        "maxRows": 1000,
        "maxGroups": 16,
        "maxTextCellChars": 500,
        "maxMathCellChars": 4000
      },
      "bibliography": {
        "maxEntries": 512
      },
      "composition": {
        "maxFootnoteDefinitions": 256,
        "maxReferenceGroupTargets": 8,
        "maxReferenceTokens": 2048,
        "maxLocatorChars": 32
      },
      "timing": {
        "maxSignals": 32,
        "maxIntervals": 256,
        "maxTotalIntervals": 2048,
        "maxGroups": 16,
        "maxGroupDepth": 2,
        "maxMarkers": 32,
        "maxArrows": 32,
        "maxTextCodePoints": 32,
        "maxWaveChars": 1024,
        "maxSpan": 512,
        "maxWidth": 64
      }
    },
    "serve": {
      "bind": "127.0.0.1",
      "port": {
        "min": 0,
        "max": 65535,
        "default": 0
      }
    }
  },
  "security": {
    "sourceModel": "untrusted",
    "javascriptSandbox": false,
    "filesystem": "root-confined",
    "network": {
      "compile": "deny",
      "preview": "loopback-only"
    },
    "subprocess": "approved-argv-only",
    "browsers": "isolated-contexts",
    "temporaryStorage": "per-compile-cleanup",
    "sanitizers": "fail-closed",
    "partialArtifacts": "never-published"
  },
  "engines": {
    "browser": {
      "name": "chrome-headless-shell",
      "pinnedVersion": "152.0.7977.75",
      "availability": "unknown"
    },
    "katex": {
      "version": "0.18.5",
      "language": "katex-0.18.5",
      "availability": "unknown"
    },
    "mermaid": {
      "version": "11.17.2",
      "availability": "unknown"
    },
    "tex": {
      "profiles": [
        "circuitikz",
        "tikz",
        "pgfplots",
        "chemfig",
        "tikz-cd"
      ],
      "availability": "unknown"
    },
    "plot": {
      "emitter": "1.0.1",
      "eval": "plot-eval/v1",
      "d3array": "3.2.4",
      "d3scale": "4.0.2",
      "d3shape": "3.2.0",
      "availability": "unknown"
    },
    "geometry": {
      "emitter": "1.1.0",
      "eval": "geometry-eval/v1",
      "epsilon": 1e-9,
      "availability": "unknown"
    },
    "chemistry": {
      "emitter": "1.2.0",
      "advanceMetric": "1.0.0",
      "metricSource": [
        "@fontsource/inter@5.3.0",
        "@fontsource/jetbrains-mono@5.2.8"
      ],
      "availability": "unknown"
    },
    "timing": {
      "emitter": "1.0.0",
      "availability": "unknown"
    },
    "diagram": {
      "layout": "diagram-layout/v1",
      "elkjs": "0.12.0",
      "emitter": "1.0.0",
      "advanceMetric": "1.0.0",
      "metricSource": [
        "@fontsource/inter@5.3.0",
        "@fontsource/jetbrains-mono@5.2.8"
      ],
      "availability": "unknown"
    },
    "models": {
      "layout": "models-layout/v1",
      "wrap": "models-wrap/v1",
      "emitter": "1.0.0",
      "advanceMetric": "1.0.0",
      "metricSource": [
        "@fontsource/inter@5.3.0",
        "@fontsource/jetbrains-mono@5.2.8"
      ],
      "directiveTypes": [
        "sequence",
        "state",
        "entity",
        "class"
      ],
      "availability": "unknown"
    },
    "control": {
      "layout": "control-layout/v1",
      "elkjs": "0.12.0",
      "emitter": "1.0.0",
      "eval": "control-eval/v1",
      "advanceMetric": "1.0.0",
      "metricSource": [
        "@fontsource/inter@5.3.0",
        "@fontsource/jetbrains-mono@5.2.8"
      ],
      "availability": "unknown"
    },
    "freeBody": {
      "emitter": "1.0.0",
      "eval": "free-body-eval/v1",
      "scale": "free-body-scale/v1",
      "availability": "unknown"
    },
    "fonts": [
      {
        "family": "Inter",
        "weights": [
          400,
          700
        ]
      },
      {
        "family": "JetBrains Mono",
        "weights": [
          400
        ]
      }
    ]
  },
  "policy": {
    "active": {
      "disabledBlockRendererIds": [],
      "disabledRendererIds": [],
      "disabledThemeIds": [],
      "diagnosticLimits": {
        "perBlock": 20,
        "perDocument": 200
      },
      "renderTimeoutMs": 5000
    },
    "note": "Host policy may only lower limits and disable adapters; it cannot raise limits."
  },
  "schemas": [
    {
      "id": "azeforge.diagnostics/v1",
      "version": 1
    },
    {
      "id": "azeforge.capabilities/v2",
      "version": 1
    },
    {
      "id": "azeforge.version/v1",
      "version": 1
    },
    {
      "id": "azeforge.acceptance/v1",
      "version": 1
    },
    {
      "id": "azeforge.event/v1",
      "version": 1
    },
    {
      "id": "azeforge.grammar/v1",
      "version": 1
    },
    {
      "id": "azeforge.equation/source/v2",
      "version": "2.0.0"
    },
    {
      "id": "azeforge.equation/data/v2",
      "version": "2.0.0"
    },
    {
      "id": "azeforge.derivation/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.derivation/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.mermaid/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.mermaid/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.table/source/v2",
      "version": "2.0.0"
    },
    {
      "id": "azeforge.table/data/v2",
      "version": "2.0.0"
    },
    {
      "id": "azeforge.callout/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.callout/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.formula/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.formula/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.reaction/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.reaction/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.structure/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.structure/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.circuit/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.circuit/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.timing/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.timing/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.diagram/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.diagram/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.sequence/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.sequence/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.state/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.state/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.entity/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.entity/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.class/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.class/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.control/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.control/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.free-body/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.free-body/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.algorithm/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.algorithm/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.statement/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.statement/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.example/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.example/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.figure/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.figure/data/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.bibliography/source/v1",
      "version": "1.0.0"
    },
    {
      "id": "azeforge.bibliography/data/v1",
      "version": "1.0.0"
    }
  ]
}
