AzeMark 2 · AzeForge 0.6.3
Directive reference.
All 26 registered directives below come from buildGrammarDocument() in AzeForge 0.6.3. The generated body contracts include nested records, required fields, enums, and ceilings.
Normative data. Download grammar.json for machine use. This page renders the same document.
Directive index
equation · derivation · callout · mermaid · tex · table · plot · chart · geometry · formula · reaction · structure · circuit · timing · diagram · sequence · state · entity · class · control · free-body · figure · bibliography · algorithm · statement · example
equation
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
align | enum | optional | left, center, right |
syntax | enum | optional | readable, latex |
Limits
{
"maxSourceChars": 4000,
"maxTexChars": 4000
}
Complete generated body contract
{
"form": "scalar-lines",
"fields": [
{
"key": "expression",
"valueType": "expression",
"required": true
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.equation/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"expression"
],
"properties": {
"expression": {
"type": "string"
}
}
}
}
derivation
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
align | enum | optional | left, center, right |
Limits
{
"maxSourceChars": 4000,
"maxTexChars": 4000
}
Complete generated body contract
{
"form": "scalar-lines",
"fields": [],
"records": [
{
"kind": "expression",
"fields": [
{
"key": "expression",
"valueType": "expression",
"required": true
},
{
"key": "annotation",
"valueType": "prose",
"required": false
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.derivation/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"expression"
],
"properties": {
"expression": {
"type": "string"
},
"annotation": {
"type": "string"
}
}
}
]
}
}
}
callout
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
variant | enum | optional | note, tip, important, warning, caution |
title | prose | optional |
Limits
No directive-specific limits are published.
Complete generated body contract
{
"form": "keyed-sections",
"fields": [
{
"key": "children",
"valueType": "record-list",
"required": false
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.callout/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [],
"properties": {
"children": {
"type": "array"
}
}
}
}
mermaid
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
title | text | optional | |
description | text | optional |
Limits
{
"maxSourceChars": 8000,
"maxTextChars": 8000
}
Complete generated body contract
{
"form": "scalar-lines",
"fields": [
{
"key": "source",
"valueType": "text",
"required": true
},
{
"key": "diagramType",
"valueType": "enum",
"required": false,
"values": [
"flowchart",
"graph",
"sequencediagram",
"classdiagram",
"statediagram",
"statediagram-v2",
"erdiagram",
"pie",
"gantt",
"journey",
"mindmap"
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.mermaid/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"source"
],
"properties": {
"source": {
"type": "string"
},
"diagramType": {
"type": "string",
"enum": [
"flowchart",
"graph",
"sequencediagram",
"classdiagram",
"statediagram",
"statediagram-v2",
"erdiagram",
"pie",
"gantt",
"journey",
"mindmap"
]
}
}
}
}
tex
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
title | text | required | |
description | text | required | |
profile | enum | required | circuitikz, tikz, pgfplots, chemfig, tikz-cd |
Limits
{
"maxSourceChars": 50000
}
Complete generated body contract
{
"form": "scalar-lines",
"fields": [
{
"key": "body",
"valueType": "text",
"required": true
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.tex/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"body"
],
"properties": {
"body": {
"type": "string"
}
}
}
}
table
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
caption | prose | optional |
Limits
{
"maxColumns": 64,
"maxRows": 1000,
"maxGroups": 16,
"maxTextCellChars": 500,
"maxMathCellChars": 4000
}
Complete generated body contract
{
"form": "keyed-sections",
"fields": [
{
"key": "columns",
"valueType": "record-list",
"required": true
},
{
"key": "groups",
"valueType": "record-list",
"required": false
},
{
"key": "rows",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "columns",
"fields": [
{
"key": "key",
"valueType": "identifier",
"required": true
},
{
"key": "name",
"valueType": "text",
"required": false
},
{
"key": "type",
"valueType": "enum",
"required": true,
"values": [
"prose",
"text",
"integer",
"decimal",
"quantity",
"boolean",
"math"
]
},
{
"key": "unit",
"valueType": "text",
"required": false
},
{
"key": "align",
"valueType": "enum",
"required": false,
"values": [
"left",
"center",
"right"
]
}
]
},
{
"of": "groups",
"fields": [
{
"key": "name",
"valueType": "text",
"required": true
},
{
"key": "columns",
"valueType": "string-list",
"required": true
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.table/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"columns"
],
"properties": {
"columns": {
"type": "array"
},
"groups": {
"type": "array"
},
"rows": {
"type": "array"
}
}
}
}
plot
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
width | integer | optional | |
height | integer | optional | |
legend | boolean | optional | |
grid | boolean | optional | |
parameters | record | optional | |
x-axis | record | optional | |
y-axis | record | optional |
Limits
{
"maxSeries": 16,
"maxPointsPerSeries": 5000,
"maxSamples": 10000,
"maxParameters": 64,
"maxLabelChars": 500
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "function",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "variable",
"valueType": "identifier",
"required": false
},
{
"key": "expression",
"valueType": "expression",
"required": true
},
{
"key": "domain",
"valueType": "record",
"required": true
},
{
"key": "samples",
"valueType": "integer",
"required": false
}
],
"groups": [
{
"of": "domain",
"fields": [
{
"key": "min",
"valueType": "decimal",
"required": true
},
{
"key": "max",
"valueType": "decimal",
"required": true
}
]
}
]
},
{
"kind": "line",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "points",
"valueType": "point-list",
"required": true
}
],
"groups": [
{
"of": "points",
"fields": [
{
"key": "x",
"valueType": "decimal",
"required": true
},
{
"key": "y",
"valueType": "decimal",
"required": true
},
{
"key": "error",
"valueType": "decimal",
"required": false
},
{
"key": "error-low",
"valueType": "decimal",
"required": false
},
{
"key": "error-high",
"valueType": "decimal",
"required": false
}
]
}
]
},
{
"kind": "scatter",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "points",
"valueType": "point-list",
"required": true
}
],
"groups": [
{
"of": "points",
"fields": [
{
"key": "x",
"valueType": "decimal",
"required": true
},
{
"key": "y",
"valueType": "decimal",
"required": true
},
{
"key": "error",
"valueType": "decimal",
"required": false
},
{
"key": "error-low",
"valueType": "decimal",
"required": false
},
{
"key": "error-high",
"valueType": "decimal",
"required": false
}
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.plot/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"expression",
"domain"
],
"properties": {
"kind": {
"const": "function"
},
"label": {
"type": "string"
},
"variable": {
"type": "string"
},
"expression": {
"type": "string"
},
"domain": {
"type": "object"
},
"samples": {
"type": [
"string",
"integer"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"points"
],
"properties": {
"kind": {
"const": "line"
},
"label": {
"type": "string"
},
"points": {
"type": "array",
"items": {
"type": "object"
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"points"
],
"properties": {
"kind": {
"const": "scatter"
},
"label": {
"type": "string"
},
"points": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
]
}
}
}
chart
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
type | enum | required | bar, grouped-bar, stacked-bar, histogram |
width | integer | optional | |
height | integer | optional | |
legend | boolean | optional | |
grid | boolean | optional | |
x-label | text | optional | |
y-label | text | optional | |
y-min | decimal | optional | |
y-max | decimal | optional |
Limits
{
"maxSeries": 16,
"maxHistogramValues": 10000,
"maxBins": 256,
"maxBarCategories": 256,
"maxLabelChars": 500
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "bars",
"fields": [
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "bars",
"valueType": "record-list",
"required": true
},
{
"key": "min",
"valueType": "decimal",
"required": false
},
{
"key": "max",
"valueType": "decimal",
"required": false
}
],
"groups": [
{
"of": "bars",
"fields": [
{
"key": "category",
"valueType": "text",
"required": true
},
{
"key": "value",
"valueType": "decimal",
"required": true
},
{
"key": "error",
"valueType": "decimal",
"required": false
},
{
"key": "error-low",
"valueType": "decimal",
"required": false
},
{
"key": "error-high",
"valueType": "decimal",
"required": false
}
]
}
]
},
{
"kind": "histogram",
"fields": [
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "values",
"valueType": "string-list",
"required": true
},
{
"key": "edges",
"valueType": "string-list",
"required": false
},
{
"key": "bin-count",
"valueType": "integer",
"required": false
},
{
"key": "min",
"valueType": "decimal",
"required": false
},
{
"key": "max",
"valueType": "decimal",
"required": false
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.chart/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"bars"
],
"properties": {
"label": {
"type": "string"
},
"bars": {
"type": "array"
},
"min": {
"type": [
"string",
"number"
]
},
"max": {
"type": [
"string",
"number"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"values"
],
"properties": {
"label": {
"type": "string"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
},
"edges": {
"type": "array",
"items": {
"type": "string"
}
},
"bin-count": {
"type": [
"string",
"integer"
]
},
"min": {
"type": [
"string",
"number"
]
},
"max": {
"type": [
"string",
"number"
]
}
}
}
]
}
}
}
geometry
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
width | integer | optional | |
height | integer | optional | |
bounds | record | optional |
Limits
{
"maxDeclarations": 256,
"maxPolygonVertices": 64,
"maxEqualMarkSegments": 16,
"maxEqualMarkGroups": 16,
"maxLabelChars": 500,
"maxCoordinateMagnitude": 1000000,
"maxDimensionPx": 4096
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "point",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "x",
"valueType": "decimal",
"required": true
},
{
"key": "y",
"valueType": "decimal",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "segment",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "line",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "through-first",
"valueType": "name",
"required": true
},
{
"key": "through-second",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "ray",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "origin",
"valueType": "name",
"required": true
},
{
"key": "through",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "circle",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "center",
"valueType": "name",
"required": true
},
{
"key": "radius",
"valueType": "decimal",
"required": false
},
{
"key": "point",
"valueType": "name",
"required": false
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "arc",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "center",
"valueType": "name",
"required": true
},
{
"key": "radius",
"valueType": "decimal",
"required": true
},
{
"key": "start-angle",
"valueType": "decimal",
"required": true
},
{
"key": "end-angle",
"valueType": "decimal",
"required": true
},
{
"key": "direction",
"valueType": "enum",
"required": true,
"values": [
"cw",
"ccw"
]
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "polygon",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "vertices",
"valueType": "string-list",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "midpoint",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "intersection",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "first",
"valueType": "name",
"required": true
},
{
"key": "second",
"valueType": "name",
"required": true
},
{
"key": "pick",
"valueType": "integer",
"required": false
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "tangent-line",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "circle",
"valueType": "name",
"required": true
},
{
"key": "at",
"valueType": "name",
"required": false
},
{
"key": "from",
"valueType": "name",
"required": false
},
{
"key": "pick",
"valueType": "integer",
"required": false
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "perpendicular-foot",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "perpendicular-line",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "through",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "parallel-line",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "name",
"valueType": "identifier",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "through",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "angle-mark",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "first",
"valueType": "name",
"required": true
},
{
"key": "second",
"valueType": "name",
"required": true
},
{
"key": "third",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "measure",
"valueType": "enum",
"required": false,
"values": [
"angle"
]
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "length-mark",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "segment",
"valueType": "name",
"required": false
},
{
"key": "from",
"valueType": "name",
"required": false
},
{
"key": "to",
"valueType": "name",
"required": false
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "measure",
"valueType": "enum",
"required": false,
"values": [
"length"
]
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "equal-marks",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "group",
"valueType": "identifier",
"required": true
},
{
"key": "segments",
"valueType": "string-list",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "right-angle-mark",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"point",
"segment",
"line",
"ray",
"circle",
"arc",
"polygon",
"midpoint",
"intersection",
"tangent-line",
"perpendicular-foot",
"perpendicular-line",
"parallel-line",
"angle-mark",
"length-mark",
"equal-marks",
"right-angle-mark"
]
},
{
"key": "first",
"valueType": "name",
"required": true
},
{
"key": "second",
"valueType": "name",
"required": true
},
{
"key": "third",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.geometry/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"x",
"y"
],
"properties": {
"kind": {
"const": "point"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"x": {
"type": [
"string",
"number"
]
},
"y": {
"type": [
"string",
"number"
]
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"from",
"to"
],
"properties": {
"kind": {
"const": "segment"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"through-first",
"through-second"
],
"properties": {
"kind": {
"const": "line"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"through-first": {
"type": "string"
},
"through-second": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"origin",
"through"
],
"properties": {
"kind": {
"const": "ray"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"origin": {
"type": "string"
},
"through": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"center"
],
"properties": {
"kind": {
"const": "circle"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"center": {
"type": "string"
},
"radius": {
"type": [
"string",
"number"
]
},
"point": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"center",
"radius",
"start-angle",
"end-angle",
"direction"
],
"properties": {
"kind": {
"const": "arc"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"center": {
"type": "string"
},
"radius": {
"type": [
"string",
"number"
]
},
"start-angle": {
"type": [
"string",
"number"
]
},
"end-angle": {
"type": [
"string",
"number"
]
},
"direction": {
"type": "string",
"enum": [
"cw",
"ccw"
]
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"vertices"
],
"properties": {
"kind": {
"const": "polygon"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"vertices": {
"type": "array",
"items": {
"type": "string"
}
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"from",
"to"
],
"properties": {
"kind": {
"const": "midpoint"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"first",
"second"
],
"properties": {
"kind": {
"const": "intersection"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"first": {
"type": "string"
},
"second": {
"type": "string"
},
"pick": {
"type": [
"string",
"integer"
]
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"circle"
],
"properties": {
"kind": {
"const": "tangent-line"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"circle": {
"type": "string"
},
"at": {
"type": "string"
},
"from": {
"type": "string"
},
"pick": {
"type": [
"string",
"integer"
]
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"from",
"to"
],
"properties": {
"kind": {
"const": "perpendicular-foot"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"through",
"to"
],
"properties": {
"kind": {
"const": "perpendicular-line"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"through": {
"type": "string"
},
"to": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name",
"through",
"to"
],
"properties": {
"kind": {
"const": "parallel-line"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"through": {
"type": "string"
},
"to": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"first",
"second",
"third"
],
"properties": {
"kind": {
"const": "angle-mark"
},
"first": {
"type": "string"
},
"second": {
"type": "string"
},
"third": {
"type": "string"
},
"label": {
"type": "string"
},
"measure": {
"type": "string",
"enum": [
"angle"
]
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind"
],
"properties": {
"kind": {
"const": "length-mark"
},
"segment": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"label": {
"type": "string"
},
"measure": {
"type": "string",
"enum": [
"length"
]
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"group",
"segments"
],
"properties": {
"kind": {
"const": "equal-marks"
},
"group": {
"type": "string"
},
"segments": {
"type": "array",
"items": {
"type": "string"
}
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"first",
"second",
"third"
],
"properties": {
"kind": {
"const": "right-angle-mark"
},
"first": {
"type": "string"
},
"second": {
"type": "string"
},
"third": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
}
]
}
}
}
formula
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional |
Limits
{
"maxFormulaExpressionChars": 512,
"maxFormulaCharge": 8,
"maxSubscript": 999,
"maxGroupNesting": 3,
"maxIsotopeMass": 299
}
Complete generated body contract
{
"form": "scalar-lines",
"fields": [
{
"key": "expression",
"valueType": "expression",
"required": true
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.formula/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"expression"
],
"properties": {
"expression": {
"type": "string"
}
}
}
}
reaction
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
above | text | optional | |
below | text | optional | |
balance | enum | optional | none, check |
Limits
{
"maxReactionSpecies": 32,
"maxReactionSpeciesChars": 128,
"maxReactionConditionChars": 256
}
Complete generated body contract
{
"form": "scalar-lines",
"fields": [
{
"key": "equation",
"valueType": "expression",
"required": true
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.reaction/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"equation"
],
"properties": {
"equation": {
"type": "string"
}
}
}
}
structure
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
width | integer | optional | |
height | integer | optional |
Limits
{
"maxStructureAtoms": 512,
"maxStructureWidth": 4096,
"maxStructureHeight": 4096,
"maxStructureLabelChars": 500,
"maxFormulaCharge": 8,
"maxIsotopeMass": 299
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "atom",
"fields": [
{
"key": "element",
"valueType": "enum",
"required": false,
"values": [
"H",
"He",
"Li",
"Be",
"B",
"C",
"N",
"O",
"F",
"Ne",
"Na",
"Mg",
"Al",
"Si",
"P",
"S",
"Cl",
"Ar",
"K",
"Ca",
"Sc",
"Ti",
"V",
"Cr",
"Mn",
"Fe",
"Co",
"Ni",
"Cu",
"Zn",
"Ga",
"Ge",
"As",
"Se",
"Br",
"Kr",
"Rb",
"Sr",
"Y",
"Zr",
"Nb",
"Mo",
"Tc",
"Ru",
"Rh",
"Pd",
"Ag",
"Cd",
"In",
"Sn",
"Sb",
"Te",
"I",
"Xe",
"Cs",
"Ba",
"La",
"Ce",
"Pr",
"Nd",
"Pm",
"Sm",
"Eu",
"Gd",
"Tb",
"Dy",
"Ho",
"Er",
"Tm",
"Yb",
"Lu",
"Hf",
"Ta",
"W",
"Re",
"Os",
"Ir",
"Pt",
"Au",
"Hg",
"Tl",
"Pb",
"Bi",
"Po",
"At",
"Rn",
"Fr",
"Ra",
"Ac",
"Th",
"Pa",
"U",
"Np",
"Pu",
"Am",
"Cm",
"Bk",
"Cf",
"Es",
"Fm",
"Md",
"No",
"Lr",
"Rf",
"Db",
"Sg",
"Bh",
"Hs",
"Mt",
"Ds",
"Rg",
"Cn",
"Nh",
"Fl",
"Mc",
"Lv",
"Ts",
"Og"
]
},
{
"key": "attach",
"valueType": "text",
"required": false
},
{
"key": "charge",
"valueType": "integer",
"required": false
},
{
"key": "isotope",
"valueType": "integer",
"required": false
},
{
"key": "at",
"valueType": "point-list",
"required": true
},
{
"key": "stereo",
"valueType": "enum",
"required": false,
"values": [
"unspecified"
]
}
]
},
{
"kind": "bond",
"fields": [
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "order",
"valueType": "enum",
"required": true,
"values": [
"1",
"2",
"3",
"aromatic"
]
},
{
"key": "stereo",
"valueType": "enum",
"required": false,
"values": [
"wedge",
"hash"
]
}
]
},
{
"kind": "label",
"fields": [
{
"key": "text",
"valueType": "text",
"required": true
},
{
"key": "at",
"valueType": "point-list",
"required": true
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.structure/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"at"
],
"properties": {
"element": {
"type": "string",
"enum": [
"H",
"He",
"Li",
"Be",
"B",
"C",
"N",
"O",
"F",
"Ne",
"Na",
"Mg",
"Al",
"Si",
"P",
"S",
"Cl",
"Ar",
"K",
"Ca",
"Sc",
"Ti",
"V",
"Cr",
"Mn",
"Fe",
"Co",
"Ni",
"Cu",
"Zn",
"Ga",
"Ge",
"As",
"Se",
"Br",
"Kr",
"Rb",
"Sr",
"Y",
"Zr",
"Nb",
"Mo",
"Tc",
"Ru",
"Rh",
"Pd",
"Ag",
"Cd",
"In",
"Sn",
"Sb",
"Te",
"I",
"Xe",
"Cs",
"Ba",
"La",
"Ce",
"Pr",
"Nd",
"Pm",
"Sm",
"Eu",
"Gd",
"Tb",
"Dy",
"Ho",
"Er",
"Tm",
"Yb",
"Lu",
"Hf",
"Ta",
"W",
"Re",
"Os",
"Ir",
"Pt",
"Au",
"Hg",
"Tl",
"Pb",
"Bi",
"Po",
"At",
"Rn",
"Fr",
"Ra",
"Ac",
"Th",
"Pa",
"U",
"Np",
"Pu",
"Am",
"Cm",
"Bk",
"Cf",
"Es",
"Fm",
"Md",
"No",
"Lr",
"Rf",
"Db",
"Sg",
"Bh",
"Hs",
"Mt",
"Ds",
"Rg",
"Cn",
"Nh",
"Fl",
"Mc",
"Lv",
"Ts",
"Og"
]
},
"attach": {
"type": "string"
},
"charge": {
"type": [
"string",
"integer"
]
},
"isotope": {
"type": [
"string",
"integer"
]
},
"at": {
"type": "array",
"items": {
"type": "object"
}
},
"stereo": {
"type": "string",
"enum": [
"unspecified"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"from",
"to",
"order"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"order": {
"type": "string",
"enum": [
"1",
"2",
"3",
"aromatic"
]
},
"stereo": {
"type": "string",
"enum": [
"wedge",
"hash"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"text",
"at"
],
"properties": {
"text": {
"type": "string"
},
"at": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
]
}
}
}
circuit
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
title | text | required | |
description | text | optional | |
flow | enum | optional | left-to-right, top-to-bottom |
Limits
{
"maxComponents": 64,
"maxNodes": 128,
"maxRelations": 512,
"maxAnnotations": 128
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "node",
"fields": [
{
"key": "ref",
"valueType": "identifier",
"required": true
},
{
"key": "role",
"valueType": "enum",
"required": false,
"values": [
"signal",
"reference"
]
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
},
{
"kind": "connect",
"fields": [
{
"key": "terminal",
"valueType": "text",
"required": true
},
{
"key": "node",
"valueType": "identifier",
"required": true
}
]
},
{
"kind": "voltage-label",
"fields": [
{
"key": "positive",
"valueType": "identifier",
"required": true
},
{
"key": "negative",
"valueType": "identifier",
"required": true
}
]
},
{
"kind": "current-label",
"fields": [
{
"key": "terminal",
"valueType": "text",
"required": true
},
{
"key": "direction",
"valueType": "enum",
"required": true,
"values": [
"into",
"out"
]
}
]
},
{
"kind": "resistor",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "value",
"valueType": "quantity",
"required": true
}
]
},
{
"kind": "capacitor",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "value",
"valueType": "quantity",
"required": true
}
]
},
{
"kind": "inductor",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "value",
"valueType": "quantity",
"required": true
}
]
},
{
"kind": "voltage-source",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "value",
"valueType": "quantity",
"required": true
},
{
"key": "mode",
"valueType": "enum",
"required": false,
"values": [
"dc",
"ac"
]
}
]
},
{
"kind": "current-source",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "value",
"valueType": "quantity",
"required": true
},
{
"key": "mode",
"valueType": "enum",
"required": false,
"values": [
"dc",
"ac"
]
}
]
},
{
"kind": "diode",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": false
}
]
},
{
"kind": "led",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": false
}
]
},
{
"kind": "switch",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": false
},
{
"key": "mode",
"valueType": "enum",
"required": false,
"values": [
"normally-open",
"normally-closed"
]
}
]
},
{
"kind": "dependent-source",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "value",
"valueType": "quantity",
"required": true
},
{
"key": "mode",
"valueType": "enum",
"required": false,
"values": [
"VCVS",
"VCCS",
"CCVS",
"CCCS"
]
}
]
},
{
"kind": "op-amp",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": false
}
]
},
{
"kind": "bjt",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": false
},
{
"key": "mode",
"valueType": "enum",
"required": false,
"values": [
"npn",
"pnp"
]
}
]
},
{
"kind": "mosfet",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": false
},
{
"key": "mode",
"valueType": "enum",
"required": false,
"values": [
"nmos",
"pmos"
]
}
]
},
{
"kind": "and",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "inputs",
"valueType": "enum",
"required": false,
"values": [
"2",
"3",
"4"
]
}
]
},
{
"kind": "or",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "inputs",
"valueType": "enum",
"required": false,
"values": [
"2",
"3",
"4"
]
}
]
},
{
"kind": "nand",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "inputs",
"valueType": "enum",
"required": false,
"values": [
"2",
"3",
"4"
]
}
]
},
{
"kind": "nor",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "inputs",
"valueType": "enum",
"required": false,
"values": [
"2",
"3",
"4"
]
}
]
},
{
"kind": "xor",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "inputs",
"valueType": "enum",
"required": false,
"values": [
"2",
"3",
"4"
]
}
]
},
{
"kind": "xnor",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "inputs",
"valueType": "enum",
"required": false,
"values": [
"2",
"3",
"4"
]
}
]
},
{
"kind": "not",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
]
},
{
"kind": "buffer",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
]
},
{
"kind": "mux-2to1",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
]
},
{
"kind": "mux-4to1",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
]
},
{
"kind": "d-flip-flop",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
]
},
{
"kind": "digital-input",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": true
}
]
},
{
"kind": "digital-output",
"fields": [
{
"key": "ref",
"valueType": "name",
"required": true
},
{
"key": "orientation",
"valueType": "enum",
"required": false,
"values": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
{
"key": "name",
"valueType": "text",
"required": true
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.circuit/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"signal",
"reference"
]
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"terminal",
"node"
],
"properties": {
"terminal": {
"type": "string"
},
"node": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"positive",
"negative"
],
"properties": {
"positive": {
"type": "string"
},
"negative": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"terminal",
"direction"
],
"properties": {
"terminal": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"into",
"out"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"value"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"value": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"value"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"value": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"value"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"value": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"value"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"value": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"dc",
"ac"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"value"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"value": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"dc",
"ac"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"normally-open",
"normally-closed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"value"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"value": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"VCVS",
"VCCS",
"CCVS",
"CCCS"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"npn",
"pnp"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"nmos",
"pmos"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"inputs": {
"type": "string",
"enum": [
"2",
"3",
"4"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"inputs": {
"type": "string",
"enum": [
"2",
"3",
"4"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"inputs": {
"type": "string",
"enum": [
"2",
"3",
"4"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"inputs": {
"type": "string",
"enum": [
"2",
"3",
"4"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"inputs": {
"type": "string",
"enum": [
"2",
"3",
"4"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"inputs": {
"type": "string",
"enum": [
"2",
"3",
"4"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"name"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"ref",
"name"
],
"properties": {
"ref": {
"type": "string"
},
"orientation": {
"type": "string",
"enum": [
"left-to-right",
"right-to-left",
"top-to-bottom",
"bottom-to-top"
]
},
"name": {
"type": "string"
}
}
}
]
}
}
}
timing
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
title | text | required | |
description | text | optional | |
scale | enum | optional | cycles, time |
unit | enum | optional | ns, µs, ms, s |
Limits
{
"maxSignals": 32,
"maxIntervals": 256,
"maxTotalIntervals": 2048,
"maxGroups": 16,
"maxGroupDepth": 2,
"maxMarkers": 32,
"maxArrows": 32,
"maxTextCodePoints": 32,
"maxWaveChars": 1024,
"maxSpan": 512,
"maxWidth": 64
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "signal",
"fields": [
{
"key": "ref",
"valueType": "identifier",
"required": true
},
{
"key": "clock",
"valueType": "boolean",
"required": false
},
{
"key": "phase",
"valueType": "decimal",
"required": false
},
{
"key": "width",
"valueType": "integer",
"required": false
},
{
"key": "wave",
"valueType": "text",
"required": false
},
{
"key": "intervals",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "intervals",
"fields": [
{
"key": "state",
"valueType": "enum",
"required": true,
"values": [
"low",
"high",
"unknown",
"impedance",
"bus",
"continue",
"rise",
"fall"
]
},
{
"key": "duration",
"valueType": "decimal",
"required": true
},
{
"key": "value",
"valueType": "text",
"required": false
}
]
}
]
},
{
"kind": "group",
"fields": [
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "signals",
"valueType": "string-list",
"required": true
}
]
},
{
"kind": "marker",
"fields": [
{
"key": "at",
"valueType": "decimal",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
},
{
"kind": "arrow",
"fields": [
{
"key": "from",
"valueType": "text",
"required": true
},
{
"key": "to",
"valueType": "text",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.timing/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
},
"clock": {
"type": "boolean"
},
"phase": {
"type": [
"string",
"number"
]
},
"width": {
"type": [
"string",
"integer"
]
},
"wave": {
"type": "string"
},
"intervals": {
"type": "array"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"signals"
],
"properties": {
"label": {
"type": "string"
},
"signals": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"at"
],
"properties": {
"at": {
"type": [
"string",
"number"
]
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
]
}
}
}
diagram
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
title | text | optional | |
description | text | optional | |
mode | enum | required | flowchart, graph, tree, architecture |
flow | enum | optional | top-to-bottom, bottom-to-top, left-to-right, right-to-left |
Limits
{
"maxDeclarations": 512,
"maxNodes": 128,
"maxEdges": 256,
"maxGroups": 32,
"maxGroupDepth": 4,
"maxPortsPerNode": 12,
"maxPorts": 128,
"maxParallelEdges": 4,
"maxLabelCodePoints": 500,
"maxLabelLines": 8,
"maxTotalLabelCodePoints": 16384
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "node",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "shape",
"valueType": "enum",
"required": false,
"values": [
"rectangle",
"rounded",
"diamond",
"parallelogram",
"circle",
"hexagon",
"cylinder"
]
},
{
"key": "parent",
"valueType": "name",
"required": false
},
{
"key": "ports",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "ports",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "side",
"valueType": "enum",
"required": false,
"values": [
"left",
"right",
"top",
"bottom"
]
}
]
}
]
},
{
"kind": "group",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "parent",
"valueType": "name",
"required": false
}
]
},
{
"kind": "edge",
"fields": [
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "direction",
"valueType": "enum",
"required": false,
"values": [
"directed",
"undirected"
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.diagram/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"shape": {
"type": "string",
"enum": [
"rectangle",
"rounded",
"diamond",
"parallelogram",
"circle",
"hexagon",
"cylinder"
]
},
"parent": {
"type": "string"
},
"ports": {
"type": "array"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"parent": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"label": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"directed",
"undirected"
]
}
}
}
]
}
}
}
sequence
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
title | text | optional | |
description | text | optional |
Limits
{
"maxParticipants": 12,
"maxTimelineItems": 256,
"maxFragmentDepth": 4,
"maxAltDivisions": 8,
"maxNoteSpan": 2,
"maxNoteTextChars": 1000,
"maxNoteTextLines": 20
}
Complete generated body contract
{
"form": "keyed-sections",
"fields": [
{
"key": "participants",
"valueType": "record-list",
"required": true
},
{
"key": "timeline",
"valueType": "record-list",
"required": true
}
],
"groups": [
{
"of": "participants",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "kind",
"valueType": "enum",
"required": false,
"values": [
"participant",
"actor"
]
}
]
},
{
"of": "timeline",
"records": [
{
"kind": "message",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"message",
"alt",
"loop",
"note"
]
},
{
"key": "form",
"valueType": "enum",
"required": false,
"values": [
"sync",
"async",
"return"
]
},
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "text",
"valueType": "text",
"required": false
},
{
"key": "activate",
"valueType": "boolean",
"required": false
},
{
"key": "deactivate",
"valueType": "boolean",
"required": false
}
]
},
{
"kind": "alt",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"message",
"alt",
"loop",
"note"
]
},
{
"key": "divisions",
"valueType": "record-list",
"required": true
}
],
"groups": [
{
"of": "divisions",
"fields": [
{
"key": "condition",
"valueType": "text",
"required": false
},
{
"key": "body",
"valueType": "record-list",
"required": true
}
]
}
]
},
{
"kind": "loop",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"message",
"alt",
"loop",
"note"
]
},
{
"key": "condition",
"valueType": "text",
"required": false
},
{
"key": "body",
"valueType": "record-list",
"required": true
}
]
},
{
"kind": "note",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"message",
"alt",
"loop",
"note"
]
},
{
"key": "over",
"valueType": "string-list",
"required": true
},
{
"key": "text",
"valueType": "text",
"required": true
}
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.sequence/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"participants",
"timeline"
],
"properties": {
"participants": {
"type": "array"
},
"timeline": {
"type": "array"
}
}
}
}
state
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
title | text | optional | |
description | text | optional |
Limits
{
"maxStates": 64,
"maxDepth": 3,
"maxTransitions": 128
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "state",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"state",
"initial",
"final",
"transition"
]
},
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "states",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "states",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"state",
"initial",
"final"
]
},
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "states",
"valueType": "record-list",
"required": false
}
]
}
]
},
{
"kind": "initial",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"state",
"initial",
"final",
"transition"
]
},
{
"key": "name",
"valueType": "name",
"required": true
}
]
},
{
"kind": "final",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"state",
"initial",
"final",
"transition"
]
},
{
"key": "name",
"valueType": "name",
"required": true
}
]
},
{
"kind": "transition",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"state",
"initial",
"final",
"transition"
]
},
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "trigger",
"valueType": "text",
"required": false
},
{
"key": "guard",
"valueType": "text",
"required": false
},
{
"key": "action",
"valueType": "text",
"required": false
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.state/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"const": "state"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"states": {
"type": "array"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"const": "initial"
},
"name": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"const": "final"
},
"name": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"from",
"to"
],
"properties": {
"kind": {
"const": "transition"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"trigger": {
"type": "string"
},
"guard": {
"type": "string"
},
"action": {
"type": "string"
}
}
}
]
}
}
}
entity
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
title | text | optional | |
description | text | optional |
Limits
{
"maxEntities": 32,
"maxAttributesPerEntity": 64,
"maxRelationships": 64
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "entity",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"entity",
"relationship"
]
},
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "attributes",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "attributes",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "type",
"valueType": "text",
"required": false
},
{
"key": "keys",
"valueType": "string-list",
"required": false,
"values": [
"primary",
"foreign",
"unique"
]
},
{
"key": "optional",
"valueType": "boolean",
"required": false
},
{
"key": "references",
"valueType": "record",
"required": false
}
]
},
{
"of": "references",
"fields": [
{
"key": "entity",
"valueType": "name",
"required": true
},
{
"key": "attribute",
"valueType": "name",
"required": true
}
]
}
]
},
{
"kind": "relationship",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"entity",
"relationship"
]
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "first",
"valueType": "record",
"required": true
},
{
"key": "second",
"valueType": "record",
"required": true
}
],
"groups": [
{
"of": "first",
"fields": [
{
"key": "entity",
"valueType": "name",
"required": true
},
{
"key": "cardinality",
"valueType": "enum",
"required": true,
"values": [
"one",
"zero-or-one",
"many",
"one-or-many"
]
},
{
"key": "role",
"valueType": "text",
"required": false
}
]
},
{
"of": "second",
"fields": [
{
"key": "entity",
"valueType": "name",
"required": true
},
{
"key": "cardinality",
"valueType": "enum",
"required": true,
"values": [
"one",
"zero-or-one",
"many",
"one-or-many"
]
},
{
"key": "role",
"valueType": "text",
"required": false
}
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.entity/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"const": "entity"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"attributes": {
"type": "array"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"first",
"second"
],
"properties": {
"kind": {
"const": "relationship"
},
"label": {
"type": "string"
},
"first": {
"type": "object"
},
"second": {
"type": "object"
}
}
}
]
}
}
}
class
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
title | text | optional | |
description | text | optional |
Limits
{
"maxClassifiers": 32,
"maxAttributesPerClass": 64,
"maxOperationsPerClass": 64,
"maxParametersPerOperation": 16,
"maxRelationships": 64
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "class",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"class",
"interface",
"relationship"
]
},
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "abstract",
"valueType": "boolean",
"required": false
},
{
"key": "attributes",
"valueType": "record-list",
"required": false
},
{
"key": "operations",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "attributes",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "type",
"valueType": "text",
"required": false
},
{
"key": "visibility",
"valueType": "enum",
"required": false,
"values": [
"public",
"private",
"protected",
"package"
]
},
{
"key": "static",
"valueType": "boolean",
"required": false
}
]
},
{
"of": "operations",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "visibility",
"valueType": "enum",
"required": false,
"values": [
"public",
"private",
"protected",
"package"
]
},
{
"key": "static",
"valueType": "boolean",
"required": false
},
{
"key": "parameters",
"valueType": "record-list",
"required": false
},
{
"key": "return-type",
"valueType": "text",
"required": false
}
]
},
{
"of": "parameters",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "type",
"valueType": "text",
"required": false
}
]
}
]
},
{
"kind": "interface",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"class",
"interface",
"relationship"
]
},
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "operations",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "operations",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "visibility",
"valueType": "enum",
"required": false,
"values": [
"public",
"private",
"protected",
"package"
]
},
{
"key": "static",
"valueType": "boolean",
"required": false
},
{
"key": "parameters",
"valueType": "record-list",
"required": false
},
{
"key": "return-type",
"valueType": "text",
"required": false
}
]
},
{
"of": "parameters",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "type",
"valueType": "text",
"required": false
}
]
}
]
},
{
"kind": "relationship",
"fields": [
{
"key": "kind",
"valueType": "enum",
"required": true,
"values": [
"class",
"interface",
"relationship"
]
},
{
"key": "form",
"valueType": "enum",
"required": true,
"values": [
"inheritance",
"implementation",
"association",
"aggregation",
"composition"
]
},
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "from-multiplicity",
"valueType": "enum",
"required": false,
"values": [
"one",
"zero-or-one",
"many",
"one-or-many"
]
},
{
"key": "to-multiplicity",
"valueType": "enum",
"required": false,
"values": [
"one",
"zero-or-one",
"many",
"one-or-many"
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.class/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"const": "class"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"abstract": {
"type": "boolean"
},
"attributes": {
"type": "array"
},
"operations": {
"type": "array"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"name"
],
"properties": {
"kind": {
"const": "interface"
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"operations": {
"type": "array"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"form",
"from",
"to"
],
"properties": {
"kind": {
"const": "relationship"
},
"form": {
"type": "string",
"enum": [
"inheritance",
"implementation",
"association",
"aggregation",
"composition"
]
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"label": {
"type": "string"
},
"from-multiplicity": {
"type": "string",
"enum": [
"one",
"zero-or-one",
"many",
"one-or-many"
]
},
"to-multiplicity": {
"type": "string",
"enum": [
"one",
"zero-or-one",
"many",
"one-or-many"
]
}
}
}
]
}
}
}
control
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
flow | enum | optional | top-to-bottom, bottom-to-top, left-to-right, right-to-left |
id | identifier | optional | |
number | boolean | optional | |
title | text | optional | |
description | text | optional |
Limits
{
"maxDeclarations": 256,
"maxBlocks": 64,
"maxSums": 32,
"maxStubs": 32,
"maxEdges": 128,
"maxSignsPerSum": 8,
"maxLabelCodePoints": 500,
"maxTotalLabelCodePoints": 16384
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "block",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "tf",
"valueType": "text",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
},
{
"kind": "sum",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "signs",
"valueType": "string-list",
"required": true,
"values": [
"+",
"-"
]
}
]
},
{
"kind": "input",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": true
}
]
},
{
"kind": "output",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": true
}
]
},
{
"kind": "edge",
"fields": [
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.control/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"tf"
],
"properties": {
"name": {
"type": "string"
},
"tf": {
"type": "string"
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"signs"
],
"properties": {
"name": {
"type": "string"
},
"signs": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"label"
],
"properties": {
"name": {
"type": "string"
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"label"
],
"properties": {
"name": {
"type": "string"
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
]
}
}
}
free-body
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
scale | decimal | optional | |
id | identifier | optional | |
number | boolean | optional | |
title | text | optional | |
description | text | optional | |
width | integer | optional | |
height | integer | optional | |
bounds | record | optional |
Limits
{
"maxDeclarations": 256,
"maxPolygonVertices": 64,
"maxLabelChars": 500,
"maxCoordinateMagnitude": 1000000,
"maxDimensionPx": 4096
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "block",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "x",
"valueType": "decimal",
"required": true
},
{
"key": "y",
"valueType": "decimal",
"required": true
},
{
"key": "width",
"valueType": "decimal",
"required": true
},
{
"key": "height",
"valueType": "decimal",
"required": true
},
{
"key": "angle",
"valueType": "decimal",
"required": false
},
{
"key": "visible",
"valueType": "boolean",
"required": false
}
]
},
{
"kind": "circle",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "x",
"valueType": "decimal",
"required": true
},
{
"key": "y",
"valueType": "decimal",
"required": true
},
{
"key": "radius",
"valueType": "decimal",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
}
]
},
{
"kind": "polygon",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "vertices",
"valueType": "string-list",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
}
]
},
{
"kind": "particle",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "x",
"valueType": "decimal",
"required": true
},
{
"key": "y",
"valueType": "decimal",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
}
]
},
{
"kind": "point",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "x",
"valueType": "decimal",
"required": true
},
{
"key": "y",
"valueType": "decimal",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
},
{
"key": "visible",
"valueType": "boolean",
"required": false
}
]
},
{
"kind": "line",
"fields": [
{
"key": "name",
"valueType": "name",
"required": true
},
{
"key": "from",
"valueType": "name",
"required": true
},
{
"key": "to",
"valueType": "name",
"required": true
},
{
"key": "visible",
"valueType": "boolean",
"required": false
},
{
"key": "style",
"valueType": "enum",
"required": false,
"values": [
"solid",
"dashed"
]
}
]
},
{
"kind": "force",
"fields": [
{
"key": "at",
"valueType": "record",
"required": true
},
{
"key": "angle",
"valueType": "decimal",
"required": false
},
{
"key": "parallel-to",
"valueType": "name",
"required": false
},
{
"key": "perpendicular-to",
"valueType": "name",
"required": false
},
{
"key": "magnitude",
"valueType": "decimal",
"required": false
},
{
"key": "length",
"valueType": "decimal",
"required": false
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
},
{
"kind": "moment",
"fields": [
{
"key": "at",
"valueType": "record",
"required": true
},
{
"key": "direction",
"valueType": "enum",
"required": true,
"values": [
"cw",
"ccw"
]
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
},
{
"kind": "axes",
"fields": [
{
"key": "at",
"valueType": "record",
"required": true
},
{
"key": "angle",
"valueType": "decimal",
"required": false
},
{
"key": "x-label",
"valueType": "text",
"required": false
},
{
"key": "y-label",
"valueType": "text",
"required": false
}
]
},
{
"kind": "angle-mark",
"fields": [
{
"key": "first",
"valueType": "name",
"required": true
},
{
"key": "vertex",
"valueType": "name",
"required": true
},
{
"key": "third",
"valueType": "name",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": false
}
]
},
{
"kind": "dimension",
"fields": [
{
"key": "from",
"valueType": "record",
"required": true
},
{
"key": "to",
"valueType": "record",
"required": true
},
{
"key": "label",
"valueType": "text",
"required": true
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.free-body/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"x",
"y",
"width",
"height"
],
"properties": {
"name": {
"type": "string"
},
"x": {
"type": [
"string",
"number"
]
},
"y": {
"type": [
"string",
"number"
]
},
"width": {
"type": [
"string",
"number"
]
},
"height": {
"type": [
"string",
"number"
]
},
"angle": {
"type": [
"string",
"number"
]
},
"visible": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"x",
"y",
"radius"
],
"properties": {
"name": {
"type": "string"
},
"x": {
"type": [
"string",
"number"
]
},
"y": {
"type": [
"string",
"number"
]
},
"radius": {
"type": [
"string",
"number"
]
},
"visible": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"vertices"
],
"properties": {
"name": {
"type": "string"
},
"vertices": {
"type": "array",
"items": {
"type": "string"
}
},
"visible": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"x",
"y"
],
"properties": {
"name": {
"type": "string"
},
"x": {
"type": [
"string",
"number"
]
},
"y": {
"type": [
"string",
"number"
]
},
"visible": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"x",
"y"
],
"properties": {
"name": {
"type": "string"
},
"x": {
"type": [
"string",
"number"
]
},
"y": {
"type": [
"string",
"number"
]
},
"label": {
"type": "string"
},
"visible": {
"type": "boolean"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"from",
"to"
],
"properties": {
"name": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed"
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"at"
],
"properties": {
"at": {
"type": "object"
},
"angle": {
"type": [
"string",
"number"
]
},
"parallel-to": {
"type": "string"
},
"perpendicular-to": {
"type": "string"
},
"magnitude": {
"type": [
"string",
"number"
]
},
"length": {
"type": [
"string",
"number"
]
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"at",
"direction"
],
"properties": {
"at": {
"type": "object"
},
"direction": {
"type": "string",
"enum": [
"cw",
"ccw"
]
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"at"
],
"properties": {
"at": {
"type": "object"
},
"angle": {
"type": [
"string",
"number"
]
},
"x-label": {
"type": "string"
},
"y-label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"first",
"vertex",
"third"
],
"properties": {
"first": {
"type": "string"
},
"vertex": {
"type": "string"
},
"third": {
"type": "string"
},
"label": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"from",
"to",
"label"
],
"properties": {
"from": {
"type": "object"
},
"to": {
"type": "object"
},
"label": {
"type": "string"
}
}
}
]
}
}
}
figure
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
caption | prose | optional |
Limits
No directive-specific limits are published.
Complete generated body contract
{
"form": "keyed-sections",
"fields": [
{
"key": "children",
"valueType": "record-list",
"required": true
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.figure/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"children"
],
"properties": {
"children": {
"type": "array"
}
}
}
}
bibliography
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
caption | prose | optional |
Limits
{
"maxEntries": 512
}
Complete generated body contract
{
"form": "record-list",
"recordOpener": "-",
"records": [
{
"kind": "entry",
"fields": [
{
"key": "key",
"valueType": "identifier",
"required": true
},
{
"key": "type",
"valueType": "enum",
"required": true,
"values": [
"article",
"book",
"chapter",
"report",
"thesis",
"web",
"software",
"standard",
"other"
]
},
{
"key": "title",
"valueType": "text",
"required": true
},
{
"key": "authors",
"valueType": "record-list",
"required": false
},
{
"key": "year",
"valueType": "text",
"required": false
},
{
"key": "venue",
"valueType": "text",
"required": false
},
{
"key": "publisher",
"valueType": "text",
"required": false
},
{
"key": "edition",
"valueType": "text",
"required": false
},
{
"key": "pages",
"valueType": "text",
"required": false
},
{
"key": "url",
"valueType": "text",
"required": false
},
{
"key": "doi",
"valueType": "text",
"required": false
},
{
"key": "note",
"valueType": "text",
"required": false
}
],
"groups": [
{
"of": "authors",
"fields": [
{
"key": "name",
"valueType": "text",
"required": true
},
{
"key": "family",
"valueType": "text",
"required": false
}
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.bibliography/grammar/v1",
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"key",
"type",
"title"
],
"properties": {
"key": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"article",
"book",
"chapter",
"report",
"thesis",
"web",
"software",
"standard",
"other"
]
},
"title": {
"type": "string"
},
"authors": {
"type": "array"
},
"year": {
"type": "string"
},
"venue": {
"type": "string"
},
"publisher": {
"type": "string"
},
"edition": {
"type": "string"
},
"pages": {
"type": "string"
},
"url": {
"type": "string"
},
"doi": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}
}
}
algorithm
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
caption | prose | optional |
Limits
{
"maxStatements": 256,
"maxNestingDepth": 8,
"maxParameters": 32,
"maxExpressionChars": 200
}
Complete generated body contract
{
"form": "keyed-sections",
"fields": [
{
"key": "procedure",
"valueType": "name",
"required": true
},
{
"key": "parameters",
"valueType": "string-list",
"required": false
},
{
"key": "steps",
"valueType": "record-list",
"required": true
}
],
"groups": [
{
"of": "steps",
"records": [
{
"kind": "assign",
"fields": [
{
"key": "assign",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "if",
"fields": [
{
"key": "if",
"valueType": "expression",
"required": true
},
{
"key": "do",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "do",
"records": [
{
"kind": "assign",
"fields": [
{
"key": "assign",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "if",
"fields": [
{
"key": "if",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "for",
"fields": [
{
"key": "for",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "while",
"fields": [
{
"key": "while",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "return",
"fields": [
{
"key": "return",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "text",
"fields": [
{
"key": "text",
"valueType": "prose",
"required": true
}
]
}
]
}
]
},
{
"kind": "for",
"fields": [
{
"key": "for",
"valueType": "expression",
"required": true
},
{
"key": "do",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "do",
"records": [
{
"kind": "assign",
"fields": [
{
"key": "assign",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "if",
"fields": [
{
"key": "if",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "for",
"fields": [
{
"key": "for",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "while",
"fields": [
{
"key": "while",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "return",
"fields": [
{
"key": "return",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "text",
"fields": [
{
"key": "text",
"valueType": "prose",
"required": true
}
]
}
]
}
]
},
{
"kind": "while",
"fields": [
{
"key": "while",
"valueType": "expression",
"required": true
},
{
"key": "do",
"valueType": "record-list",
"required": false
}
],
"groups": [
{
"of": "do",
"records": [
{
"kind": "assign",
"fields": [
{
"key": "assign",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "if",
"fields": [
{
"key": "if",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "for",
"fields": [
{
"key": "for",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "while",
"fields": [
{
"key": "while",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "return",
"fields": [
{
"key": "return",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "text",
"fields": [
{
"key": "text",
"valueType": "prose",
"required": true
}
]
}
]
}
]
},
{
"kind": "return",
"fields": [
{
"key": "return",
"valueType": "expression",
"required": true
}
]
},
{
"kind": "text",
"fields": [
{
"key": "text",
"valueType": "prose",
"required": true
}
]
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.algorithm/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"procedure",
"steps"
],
"properties": {
"procedure": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"type": "string"
}
},
"steps": {
"type": "array"
}
}
}
}
statement
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
caption | prose | optional | |
kind | enum | required | theorem, definition, lemma, corollary, proposition, remark |
Limits
{
"maxMarkdownChars": 20000
}
Complete generated body contract
{
"form": "keyed-sections",
"fields": [
{
"key": "text",
"valueType": "prose",
"required": true
},
{
"key": "proof",
"valueType": "prose",
"required": false
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.statement/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
},
"proof": {
"type": "string"
}
}
}
}
example
Header fields
| Field | Type | Presence | Values |
|---|---|---|---|
id | identifier | optional | |
number | boolean | optional | |
caption | prose | optional |
Limits
{
"maxSteps": 64,
"maxGivens": 64,
"maxMarkdownChars": 20000
}
Complete generated body contract
{
"form": "keyed-sections",
"fields": [
{
"key": "problem",
"valueType": "prose",
"required": true
},
{
"key": "givens",
"valueType": "string-list",
"required": false
},
{
"key": "steps",
"valueType": "record-list",
"required": true
},
{
"key": "result",
"valueType": "prose",
"required": false
}
],
"groups": [
{
"of": "steps",
"fields": [
{
"key": "text",
"valueType": "prose",
"required": true
}
]
}
],
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "azeforge.example/grammar/v1",
"type": "object",
"additionalProperties": false,
"required": [
"problem",
"steps"
],
"properties": {
"problem": {
"type": "string"
},
"givens": {
"type": "array",
"items": {
"type": "string"
}
},
"steps": {
"type": "array"
},
"result": {
"type": "string"
}
}
}
}
