Skip to content

question_item

One converted item by its id: the composer’s view, never shown to a child.

Returns the family step a lesson file’s question takes (family, data, key, help), the say line, the credit and based_on (khan:<id>). The key and help are in it, so use it to draft a lesson and never paste it where a child reads. language is the item’s language (pl by default); an item in another language is an error.

Name Type Required Default Description
item_id string yes
language string no "pl"

One item, the composer’s view: id, language, family, problem_type, question_type, the say line, the question (its family’s data and key, and the item’s help), the credit, based_on (khan:<id>) and the course titles it sits under. It carries the key, so never show it to a child.

The JSON Schema of FamilyQuestion, the shape of question without its help
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"family": {
"type": "string",
"const": "choose"
},
"data": {
"type": "object",
"properties": {
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"content": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "text"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number"
},
"number": {
"type": "number"
}
},
"required": [
"kind",
"number"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "bool"
},
"bool": {
"type": "boolean"
}
},
"required": [
"kind",
"bool"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "array"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
}
},
"required": [
"kind",
"rows",
"cols"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "image"
},
"image": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"kind",
"image",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "pictures"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
}
},
"required": [
"kind",
"pictures"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "none"
}
},
"required": [
"kind"
],
"additionalProperties": false
}
]
},
"letter": {
"type": "string"
}
},
"required": [
"id",
"content"
],
"additionalProperties": false
}
},
"select": {
"type": "string",
"enum": [
"one",
"many"
]
},
"layout": {
"type": "string",
"enum": [
"list",
"grid",
"binary",
"lettered",
"inline"
]
},
"tokens": {
"type": "string",
"enum": [
"marked",
"words"
]
},
"line": {
"type": "string"
},
"boost": {
"type": "string"
}
},
"required": [
"options",
"select",
"layout"
],
"additionalProperties": false
},
"key": {
"type": "object",
"properties": {
"correct": {
"type": "array",
"items": {
"type": "string"
}
},
"near": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"worked_solution": {
"type": "array",
"items": {
"type": "string"
}
},
"why": {
"type": "string"
}
},
"required": [
"correct"
],
"additionalProperties": false
}
},
"required": [
"family",
"data",
"key"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"family": {
"type": "string",
"const": "enter"
},
"data": {
"type": "object",
"properties": {
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"input": {
"type": "string",
"enum": [
"number",
"text",
"expression",
"fraction"
]
},
"entry": {
"type": "string",
"enum": [
"keypad",
"keyboard"
]
},
"voice": {
"type": "boolean"
},
"code": {
"type": "boolean"
},
"max_length": {
"type": "number"
},
"decimal": {
"type": "boolean"
},
"equation": {
"type": "boolean"
},
"whole": {
"type": "boolean"
},
"simplify": {
"type": "string",
"enum": [
"required",
"enforced"
]
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"letters": {
"type": "string",
"enum": [
"pl",
"none"
]
},
"capitals": {
"type": "boolean"
}
},
"required": [
"input",
"entry"
],
"additionalProperties": false
},
"key": {
"type": "object",
"properties": {
"accept": {
"type": "array",
"items": {
"type": "string"
}
},
"form": {
"type": "string",
"enum": [
"sum",
"difference",
"product",
"quotient",
"any"
]
},
"forms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"integer",
"proper",
"improper",
"mixed",
"decimal"
]
}
},
"exact_terms": {
"type": "boolean"
},
"sides": {
"type": "string",
"enum": [
"either",
"kept"
]
},
"case": {
"type": "string",
"enum": [
"exact",
"ignore"
]
},
"accents": {
"type": "string",
"enum": [
"exact",
"ignore"
]
},
"typo": {
"type": "string",
"enum": [
"miss",
"accept"
]
},
"near": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"tolerance": {
"type": "number"
},
"rule": {
"oneOf": [
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "times_table"
},
"a": {
"type": "number"
},
"b": {
"type": "number"
},
"recent": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"rule",
"a",
"b",
"recent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "fill_blank"
},
"template": {
"type": "string"
},
"operands": {
"type": "array",
"items": {
"type": "number"
}
},
"op": {
"type": "string",
"enum": [
"add",
"sub",
"mul",
"div"
]
},
"recent": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"rule",
"template",
"operands",
"op",
"recent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "number_line"
},
"mode": {
"type": "string",
"enum": [
"place",
"read"
]
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
}
},
"required": [
"rule",
"mode",
"min",
"max",
"step"
],
"additionalProperties": false
}
]
}
},
"required": [
"accept"
],
"additionalProperties": false
}
},
"required": [
"family",
"data",
"key"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"family": {
"type": "string",
"const": "slots"
},
"data": {
"type": "object",
"properties": {
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"template": {
"type": "string"
},
"table": {
"type": "object",
"properties": {
"header": {
"type": "array",
"items": {
"type": "string"
}
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"header",
"rows"
],
"additionalProperties": false
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"gaps": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"const": "enter"
},
"input": {
"type": "string",
"enum": [
"number",
"text",
"fraction"
]
},
"max_length": {
"type": "number"
},
"range": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"at": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"letters": {
"type": "string",
"enum": [
"pl",
"none"
]
},
"decimal": {
"type": "boolean"
},
"whole": {
"type": "boolean"
},
"simplify": {
"type": "string",
"enum": [
"required",
"enforced"
]
}
},
"required": [
"id",
"kind",
"input"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"const": "choose"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
},
"at": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
}
},
"required": [
"id",
"kind",
"options"
],
"additionalProperties": false
}
]
}
},
"code": {
"type": "boolean"
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"column": {
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"add",
"sub",
"mul"
]
},
"operands": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"given_steps": {
"type": "number"
},
"carry_row": {
"type": "boolean"
}
},
"required": [
"op",
"operands",
"given_steps",
"carry_row"
],
"additionalProperties": false
},
"pyramid": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": [
"number",
"string"
]
}
}
},
"fill_order": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"template",
"gaps"
],
"additionalProperties": false
},
"key": {
"type": "object",
"properties": {
"gaps": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"oneOf": [
{
"type": "object",
"properties": {
"accept": {
"type": "array",
"items": {
"type": "string"
}
},
"form": {
"type": "string",
"enum": [
"sum",
"difference",
"product",
"quotient",
"any"
]
},
"forms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"integer",
"proper",
"improper",
"mixed",
"decimal"
]
}
},
"exact_terms": {
"type": "boolean"
},
"sides": {
"type": "string",
"enum": [
"either",
"kept"
]
},
"case": {
"type": "string",
"enum": [
"exact",
"ignore"
]
},
"accents": {
"type": "string",
"enum": [
"exact",
"ignore"
]
},
"typo": {
"type": "string",
"enum": [
"miss",
"accept"
]
},
"near": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"tolerance": {
"type": "number"
},
"rule": {
"oneOf": [
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "times_table"
},
"a": {
"type": "number"
},
"b": {
"type": "number"
},
"recent": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"rule",
"a",
"b",
"recent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "fill_blank"
},
"template": {
"type": "string"
},
"operands": {
"type": "array",
"items": {
"type": "number"
}
},
"op": {
"type": "string",
"enum": [
"add",
"sub",
"mul",
"div"
]
},
"recent": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"rule",
"template",
"operands",
"op",
"recent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "number_line"
},
"mode": {
"type": "string",
"enum": [
"place",
"read"
]
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
}
},
"required": [
"rule",
"mode",
"min",
"max",
"step"
],
"additionalProperties": false
}
]
},
"kind": {
"type": "string",
"const": "enter"
}
},
"required": [
"accept",
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"correct": {
"type": "array",
"items": {
"type": "string"
}
},
"near": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"kind": {
"type": "string",
"const": "choose"
}
},
"required": [
"correct",
"kind"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"gaps"
],
"additionalProperties": false
}
},
"required": [
"family",
"data",
"key"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"family": {
"type": "string",
"const": "sequence"
},
"data": {
"type": "object",
"properties": {
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
}
},
"first_label": {
"type": "string"
},
"last_label": {
"type": "string"
},
"tiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
}
},
"slots": {
"type": "number"
}
},
"required": [
"items",
"first_label",
"last_label"
],
"additionalProperties": false
},
"key": {
"type": "object",
"properties": {
"orders": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"orders"
],
"additionalProperties": false
}
},
"required": [
"family",
"data",
"key"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"family": {
"type": "string",
"const": "group"
},
"data": {
"type": "object",
"properties": {
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"capacity": {
"type": "number"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
},
"each_item": {
"type": "string",
"enum": [
"one",
"many"
]
},
"layout": {
"type": "string",
"enum": [
"columns",
"zones"
]
}
},
"required": [
"groups",
"items",
"each_item"
],
"additionalProperties": false
},
"key": {
"type": "object",
"properties": {
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"near": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
}
},
"required": [
"items"
],
"additionalProperties": false
}
},
"required": [
"family",
"data",
"key"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"family": {
"type": "string",
"const": "place"
},
"data": {
"oneOf": [
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"target_label": {
"type": [
"number",
"string",
"null"
]
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
},
"snap": {
"type": "number"
},
"divisions": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"required": [
"surface",
"min",
"max",
"step",
"labelled"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "image"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"taps": {
"type": "number"
},
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"required": [
"surface",
"image",
"image_alt",
"taps"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "grid"
},
"size": {
"type": "number"
},
"label": {
"type": "string"
},
"split": {
"type": "string",
"const": "one"
},
"cells": {
"type": "string",
"enum": [
"dots",
"squares",
"open"
]
},
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"required": [
"surface",
"size",
"label"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "bars"
},
"kind": {
"type": "string",
"enum": [
"bar",
"picture",
"line_plot",
"dot_plot",
"line",
"histogram"
]
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"picture": {
"anyOf": [
{
"type": "object",
"properties": {
"icon": {
"type": "string",
"enum": [
"apple",
"banana",
"cherry",
"grape",
"candy",
"cookie",
"ice_cream",
"pizza",
"egg",
"sun",
"cloud",
"rain",
"snow",
"flower",
"leaf",
"dog",
"cat",
"fish",
"bird",
"star",
"heart",
"smile",
"book",
"pencil",
"car",
"bus",
"square"
]
}
},
"required": [
"icon"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"src",
"alt"
],
"additionalProperties": false
}
]
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"tick": {
"type": "number"
},
"unit_label": {
"type": "string"
},
"category_label": {
"type": "string"
},
"starting": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"bins": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"surface",
"kind",
"categories",
"max",
"step"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "clock"
},
"target_label": {
"type": "string"
},
"minute_step": {
"anyOf": [
{
"type": "number",
"const": 5
},
{
"type": "number",
"const": 15
},
{
"type": "number",
"const": 30
}
]
},
"hands": {
"type": "string",
"enum": [
"geared",
"free"
]
},
"starting": {
"type": "object",
"properties": {
"hour_at": {
"type": "number"
},
"m": {
"type": "number"
}
},
"required": [
"hour_at",
"m"
],
"additionalProperties": false
},
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"required": [
"surface",
"target_label",
"minute_step",
"hands"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "coins"
},
"bank": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"amount_label": {
"type": "string"
},
"slots": {
"type": "number"
},
"total": {
"type": "string",
"enum": [
"hidden",
"shown"
]
},
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"required": [
"surface",
"bank",
"amount_label",
"slots"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "fraction"
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle",
"rect"
]
},
"parts": {
"type": "number"
},
"rows": {
"type": "number"
},
"label": {
"type": "string"
},
"contiguous": {
"type": "boolean"
},
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"required": [
"surface",
"shape",
"parts",
"label"
],
"additionalProperties": false
}
]
},
"key": {
"oneOf": [
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "number_line"
},
"value": {
"type": "number"
},
"tolerance": {
"type": "number"
},
"rule": {
"oneOf": [
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "times_table"
},
"a": {
"type": "number"
},
"b": {
"type": "number"
},
"recent": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"rule",
"a",
"b",
"recent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "fill_blank"
},
"template": {
"type": "string"
},
"operands": {
"type": "array",
"items": {
"type": "number"
}
},
"op": {
"type": "string",
"enum": [
"add",
"sub",
"mul",
"div"
]
},
"recent": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"rule",
"template",
"operands",
"op",
"recent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"const": "number_line"
},
"mode": {
"type": "string",
"enum": [
"place",
"read"
]
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
}
},
"required": [
"rule",
"mode",
"min",
"max",
"step"
],
"additionalProperties": false
}
]
}
},
"required": [
"surface",
"value",
"tolerance"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "image"
},
"targets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"polygon": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"polygon"
],
"additionalProperties": false
}
},
"near": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"polygon": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
}
},
"mistake_class": {
"type": "string"
}
},
"required": [
"id",
"polygon",
"mistake_class"
],
"additionalProperties": false
}
},
"require_all": {
"type": "boolean"
}
},
"required": [
"surface",
"targets",
"require_all"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "grid"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"either_order": {
"type": "boolean"
},
"off_by_one": {
"type": "boolean"
},
"split": {
"type": "object",
"properties": {
"accept_at": {
"type": "array",
"items": {
"type": "number"
}
}
},
"additionalProperties": false
}
},
"required": [
"surface",
"rows",
"cols",
"either_order"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "bars"
},
"heights": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"tolerance": {
"type": "number"
}
},
"required": [
"surface",
"heights"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
}
},
"required": [
"surface",
"h",
"m"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "coins"
},
"amount_gr": {
"type": "number"
},
"fewest": {
"type": "boolean"
}
},
"required": [
"surface",
"amount_gr"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"const": "fraction"
},
"count": {
"type": "number"
}
},
"required": [
"surface",
"count"
],
"additionalProperties": false
}
]
}
},
"required": [
"family",
"data",
"key"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"family": {
"type": "string",
"const": "explain"
},
"data": {
"type": "object",
"properties": {
"stem": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"image": {
"type": "string"
},
"image_alt": {
"type": "string"
},
"text_replaces_say": {
"type": "boolean"
},
"pictures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
}
},
"terminal": {
"type": "object",
"properties": {
"lang": {
"type": "string",
"const": "bash"
},
"copy": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"cmd": {
"type": "string"
},
"out": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"required": [
"cmd",
"out"
],
"additionalProperties": false
}
}
},
"required": [
"lang",
"copy",
"lines"
],
"additionalProperties": false
},
"figure": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "expression"
},
"text": {
"type": "string"
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "number_line"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
},
"labelled": {
"type": "array",
"items": {
"type": "number"
}
},
"marker": {
"type": "number"
},
"tick_label": {
"type": "string",
"enum": [
"decimal",
"fraction",
"mixed",
"non-reduced"
]
}
},
"required": [
"kind",
"min",
"max",
"step",
"labelled",
"marker"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dots"
},
"rows": {
"type": "number"
},
"cols": {
"type": "number"
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"rows",
"cols",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "groups"
},
"groups": {
"type": "number"
},
"each": {
"type": "number"
},
"icon": {
"type": "string",
"enum": [
"apple",
"star",
"heart",
"fish",
"flower",
"cherry"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"groups",
"each",
"icon",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "ruler"
},
"picture": {
"type": "object",
"properties": {
"src": {
"type": "string"
},
"alt": {
"type": "string"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"decorative": {
"type": "boolean",
"const": true
},
"labels": {
"type": "object",
"properties": {
"range": {
"type": "array",
"prefixItems": [
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
{
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"coordinates": {
"type": "array",
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
}
],
"items": false,
"minItems": 2,
"maxItems": 2
},
"alignment": {
"type": "string"
},
"math": {
"type": "boolean",
"const": false
}
},
"required": [
"content",
"coordinates",
"alignment"
],
"additionalProperties": false
}
}
},
"required": [
"range",
"items"
],
"additionalProperties": false
}
},
"required": [
"src",
"alt",
"width",
"height"
],
"additionalProperties": false
},
"unit": {
"type": "string",
"enum": [
"cm",
"mm"
]
},
"length": {
"type": "number"
},
"pixels_per_unit": {
"type": "number"
},
"ticks": {
"type": "number"
},
"start": {
"type": "number"
}
},
"required": [
"kind",
"picture",
"unit",
"length",
"pixels_per_unit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "clock"
},
"h": {
"type": "number"
},
"m": {
"type": "number"
},
"numbers": {
"type": "string",
"enum": [
"arabic",
"none"
]
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"h",
"m",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "coins"
},
"items": {
"type": "array",
"items": {
"type": "string",
"enum": [
"gr1",
"gr2",
"gr5",
"gr10",
"gr20",
"gr50",
"zl1",
"zl2",
"zl5",
"zl10",
"zl20",
"zl50",
"zl100",
"zl200"
]
}
},
"alt": {
"type": "string"
}
},
"required": [
"kind",
"items",
"alt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "fraction_bars"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "number"
},
"d": {
"type": "number"
}
},
"required": [
"n",
"d"
],
"additionalProperties": false
}
},
"shape": {
"type": "string",
"enum": [
"bar",
"circle"
]
},
"alt": {
"type": "string"
},
"labels": {
"type": "string",
"enum": [
"shown",
"none"
]
}
},
"required": [
"kind",
"items",
"shape",
"alt"
],
"additionalProperties": false
}
]
},
"reference": {
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"prompt",
"text"
],
"additionalProperties": false
},
"audio": {
"type": "object",
"properties": {
"clip": {
"type": "string"
},
"slow": {
"type": "string"
}
},
"required": [
"clip"
],
"additionalProperties": false
},
"audio_text": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
},
"slow": {
"type": "boolean",
"const": true
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"input": {
"type": "string",
"enum": [
"voice",
"text",
"both"
]
},
"prompt": {
"type": "string"
},
"min_words": {
"type": "number"
}
},
"required": [
"input"
],
"additionalProperties": false
},
"key": {
"type": "object",
"properties": {
"criteria": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"cite": {
"type": "string"
}
},
"required": [
"id",
"text",
"cite"
],
"additionalProperties": false
}
},
"criteria_version": {
"type": "string"
}
},
"required": [
"criteria",
"criteria_version"
],
"additionalProperties": false
}
},
"required": [
"family",
"data",
"key"
],
"additionalProperties": false
}
]
}