Merge branch '74_json_schema' into 73_new_json_format
diff --git a/docs/json/animation.json b/docs/json/animation.json
index 61227bf..530ee84 100644
--- a/docs/json/animation.json
+++ b/docs/json/animation.json
@@ -22,6 +22,12 @@
"description": "Composition Width",
"type": "number"
},
+ "ddd": {
+ "title": "3-D",
+ "description": "Composition has 3-D layers",
+ "enum": [0, 1],
+ "type": "number"
+ },
"h": {
"title": "Height",
"description": "Composition Height",
@@ -32,6 +38,11 @@
"description": "Bodymovin Version",
"type": "string"
},
+ "nm": {
+ "title": "Name",
+ "description": "Composition name",
+ "type": "string"
+ },
"layers": {
"title": "Layers",
"description": "List of Composition Layers",
diff --git a/docs/json/effects/angle.json b/docs/json/effects/angle.json
index 7adc798..4d28023 100644
--- a/docs/json/effects/angle.json
+++ b/docs/json/effects/angle.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:0.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 1
},
"v": {
"title": "Value",
diff --git a/docs/json/effects/checkBox.json b/docs/json/effects/checkBox.json
index 30268e7..a7e9039 100644
--- a/docs/json/effects/checkBox.json
+++ b/docs/json/effects/checkBox.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:7.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 7
},
"v": {
"title": "Value",
diff --git a/docs/json/effects/color.json b/docs/json/effects/color.json
index c3368a1..8c7e84b 100644
--- a/docs/json/effects/color.json
+++ b/docs/json/effects/color.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:2.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 2
},
"v": {
"title": "Value",
diff --git a/docs/json/effects/dropDown.json b/docs/json/effects/dropDown.json
index 30268e7..a7e9039 100644
--- a/docs/json/effects/dropDown.json
+++ b/docs/json/effects/dropDown.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:7.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 7
},
"v": {
"title": "Value",
diff --git a/docs/json/effects/fill.json b/docs/json/effects/fill.json
index ec1bbae..8f0aa8f 100644
--- a/docs/json/effects/fill.json
+++ b/docs/json/effects/fill.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:21.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 21
},
"ef": {
"title": "Effects",
diff --git a/docs/json/effects/group.json b/docs/json/effects/group.json
index 15ebe6b..80170fb 100644
--- a/docs/json/effects/group.json
+++ b/docs/json/effects/group.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:5.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 5
},
"ef": {
"title": "Effects",
diff --git a/docs/json/effects/index.json b/docs/json/effects/index.json
index 9f8d990..e09da06 100644
--- a/docs/json/effects/index.json
+++ b/docs/json/effects/index.json
@@ -3,64 +3,49 @@
"type": "object",
"oneOf": [
{
- "$ref": "#/effects/slider",
- "value": 0
+ "$ref": "#/effects/slider"
},
{
- "$ref": "#/effects/angle",
- "value": 1
+ "$ref": "#/effects/angle"
},
{
- "$ref": "#/effects/color",
- "value": 2
+ "$ref": "#/effects/color"
},
{
- "$ref": "#/effects/point",
- "value": 3
+ "$ref": "#/effects/point"
},
{
- "$ref": "#/effects/checkbox",
- "value": 4
+ "$ref": "#/effects/checkbox"
},
{
- "$ref": "#/effects/group",
- "value": 5
+ "$ref": "#/effects/group"
},
{
- "$ref": "#/effects/noValue",
- "value": 6
+ "$ref": "#/effects/noValue"
},
{
- "$ref": "#/effects/dropDown",
- "value": 7
+ "$ref": "#/effects/dropDown"
},
{
- "$ref": "#/effects/customValue",
- "value": 9
+ "$ref": "#/effects/customValue"
},
{
- "$ref": "#/effects/layerIndex",
- "value": 10
+ "$ref": "#/effects/layerIndex"
},
{
- "$ref": "#/effects/tint",
- "value": 20
+ "$ref": "#/effects/tint"
},
{
- "$ref": "#/effects/fill",
- "value": 21
+ "$ref": "#/effects/fill"
},
{
- "$ref": "#/effects/stroke",
- "value": 22
+ "$ref": "#/effects/stroke"
},
{
- "$ref": "#/effects/tritone",
- "value": 23
+ "$ref": "#/effects/tritone"
},
{
- "$ref": "#/effects/proLevels",
- "value": 24
+ "$ref": "#/effects/proLevels"
}
]
}
diff --git a/docs/json/effects/layer.json b/docs/json/effects/layer.json
index f6fb605..238d4e9 100644
--- a/docs/json/effects/layer.json
+++ b/docs/json/effects/layer.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:0.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 0
},
"v": {
"title": "Value",
diff --git a/docs/json/effects/point.json b/docs/json/effects/point.json
index f502964..07cd9cb 100644
--- a/docs/json/effects/point.json
+++ b/docs/json/effects/point.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:2.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 2
},
"v": {
"title": "Value",
diff --git a/docs/json/effects/proLevels.json b/docs/json/effects/proLevels.json
index 404da67..76abc5e 100644
--- a/docs/json/effects/proLevels.json
+++ b/docs/json/effects/proLevels.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:23.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 23
},
"ef": {
"title": "Effects",
diff --git a/docs/json/effects/slider.json b/docs/json/effects/slider.json
index fe0d9a2..6896b5d 100644
--- a/docs/json/effects/slider.json
+++ b/docs/json/effects/slider.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:0.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 0
},
"v": {
"title": "Value",
diff --git a/docs/json/effects/stroke.json b/docs/json/effects/stroke.json
index 062c71d..d525ff1 100644
--- a/docs/json/effects/stroke.json
+++ b/docs/json/effects/stroke.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:22.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 22
},
"ef": {
"title": "Effects",
diff --git a/docs/json/effects/tint.json b/docs/json/effects/tint.json
index 2c642d1..522a1d9 100644
--- a/docs/json/effects/tint.json
+++ b/docs/json/effects/tint.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:20.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 20
},
"ef": {
"title": "Effects",
diff --git a/docs/json/effects/tritone.json b/docs/json/effects/tritone.json
index c05fae0..064e4b3 100644
--- a/docs/json/effects/tritone.json
+++ b/docs/json/effects/tritone.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Effect type. Value:23.",
- "type": "number"
+ "description": "Effect type.",
+ "type": "number",
+ "const": 23
},
"ef": {
"title": "Effects",
diff --git a/docs/json/helpers/blendMode.json b/docs/json/helpers/blendMode.json
index 3b962f3..519dec9 100644
--- a/docs/json/helpers/blendMode.json
+++ b/docs/json/helpers/blendMode.json
@@ -1,70 +1,71 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
+ "type": "number",
"oneOf": [
{
"standsFor": "normal",
- "value": 0
+ "const": 0
},
{
"standsFor": "multiply",
- "value": 1
+ "const": 1
},
{
"standsFor": "screen",
- "value": 2
+ "const": 2
},
{
"standsFor": "overlay",
- "value": 3
+ "const": 3
},
{
"standsFor": "darken",
- "value": 4
+ "const": 4
},
{
"standsFor": "lighten",
- "value": 5
+ "const": 5
},
{
"standsFor": "colorDodge",
- "value": 6
+ "const": 6
},
{
"standsFor": "colorBurn",
- "value": 7
+ "const": 7
},
{
"standsFor": "hardLight",
- "value": 8
+ "const": 8
},
{
"standsFor": "softLight",
- "value": 9
+ "const": 9
},
{
"standsFor": "difference",
- "value": 10
+ "const": 10
},
{
"standsFor": "exclusion",
- "value": 11
+ "const": 11
},
{
"standsFor": "hue",
- "value": 12
+ "const": 12
},
{
"standsFor": "saturation",
- "value": 13
+ "const": 13
},
{
"standsFor": "color",
- "value": 14
+ "const": 14
},
{
"standsFor": "luminosity",
- "value": 15
+ "const": 15
}
- ]
+ ],
+ "default": 0
}
diff --git a/docs/json/helpers/boolean.json b/docs/json/helpers/boolean.json
index 614ab91..3a72e80 100644
--- a/docs/json/helpers/boolean.json
+++ b/docs/json/helpers/boolean.json
@@ -1,14 +1,14 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
+ "type": "number",
"oneOf": [
{
"standsFor": false,
- "value": 0
+ "const": 0
},
{
"standsFor": true,
- "value": 1
+ "const": 1
}
]
}
diff --git a/docs/json/helpers/composite.json b/docs/json/helpers/composite.json
new file mode 100644
index 0000000..b24c2ff
--- /dev/null
+++ b/docs/json/helpers/composite.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "number",
+ "oneOf": [
+ {
+ "standsFor": "Above",
+ "const": 1
+ },
+ {
+ "standsFor": "Below",
+ "const": 2
+ }
+ ],
+ "default": 1
+}
diff --git a/docs/json/helpers/lineCap.json b/docs/json/helpers/lineCap.json
index 9f60edb..11727a9 100644
--- a/docs/json/helpers/lineCap.json
+++ b/docs/json/helpers/lineCap.json
@@ -1,18 +1,19 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
+ "type": "number",
"oneOf": [
{
"standsFor": "butt",
- "value": 1
+ "const": 1
},
{
"standsFor": "round",
- "value": 2
+ "const": 2
},
{
"standsFor": "square",
- "value": 3
+ "const": 3
}
- ]
+ ],
+ "default": 2
}
diff --git a/docs/json/helpers/lineJoin.json b/docs/json/helpers/lineJoin.json
index 0e074c2..8ce38eb 100644
--- a/docs/json/helpers/lineJoin.json
+++ b/docs/json/helpers/lineJoin.json
@@ -1,18 +1,19 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
+ "type": "number",
"oneOf": [
{
"standsFor": "miter",
- "value": 1
+ "const": 1
},
{
"standsFor": "round",
- "value": 2
+ "const": 2
},
{
"standsFor": "bevel",
- "value": 3
+ "const": 3
}
- ]
+ ],
+ "default": 2
}
diff --git a/docs/json/helpers/mask.json b/docs/json/helpers/mask.json
index 904988f..105067d 100644
--- a/docs/json/helpers/mask.json
+++ b/docs/json/helpers/mask.json
@@ -5,7 +5,8 @@
"inv": {
"title": "Inverted",
"description": "Inverted Mask flag",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
},
"nm": {
"title": "Name",
@@ -34,12 +35,13 @@
"type": "object",
"oneOf": [
{
- "$ref": "#/properties/value"
+ "$ref": "#/properties/const"
},
{
- "$ref": "#/properties/valueKeyframed"
+ "$ref": "#/properties/constKeyframed"
}
- ]
+ ],
+ "default": {"a":0, "k":100}
},
"mode": {
"title": "Mode",
@@ -48,33 +50,34 @@
"oneOf": [
{
"standsFor": "None",
- "value": "n"
+ "const": "n"
},
{
"standsFor": "Additive",
- "value": "a"
+ "const": "a"
},
{
"standsFor": "Subtract",
- "value": "s"
+ "const": "s"
},
{
"standsFor": "Intersect",
- "value": "i"
+ "const": "i"
},
{
"standsFor": "Lighten",
- "value": "l"
+ "const": "l"
},
{
"standsFor": "Darken",
- "value": "d"
+ "const": "d"
},
{
"standsFor": "Difference",
- "value": "f"
+ "const": "f"
}
- ]
+ ],
+ "default": "a",
}
}
}
diff --git a/docs/json/helpers/testBased.json b/docs/json/helpers/testBased.json
index f3b0fe8..7c5c995 100644
--- a/docs/json/helpers/testBased.json
+++ b/docs/json/helpers/testBased.json
@@ -1,22 +1,23 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
+ "type": "number",
"oneOf": [
{
"standsFor": "Characters",
- "value": 1
+ "const": 1
},
{
"standsFor": "Character Excluding Spaces",
- "value": 2
+ "const": 2
},
{
"standsFor": "Words",
- "value": 3
+ "const": 3
},
{
"standsFor": "Lines",
- "value": 4
+ "const": 4
}
- ]
+ ],
+ "default": 1
}
diff --git a/docs/json/helpers/textGrouping.json b/docs/json/helpers/textGrouping.json
index 8186ada..00cff14 100644
--- a/docs/json/helpers/textGrouping.json
+++ b/docs/json/helpers/textGrouping.json
@@ -1,22 +1,23 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
+ "type": "number",
"oneOf": [
{
"standsFor": "Characters",
- "value": 1
+ "const": 1
},
{
"standsFor": "Word",
- "value": 2
+ "const": 2
},
{
"standsFor": "Line",
- "value": 3
+ "const": 3
},
{
"standsFor": "All",
- "value": 4
+ "const": 4
}
- ]
+ ],
+ "default": 1
}
diff --git a/docs/json/helpers/textShape.json b/docs/json/helpers/textShape.json
index 606ba3a..12ae19b 100644
--- a/docs/json/helpers/textShape.json
+++ b/docs/json/helpers/textShape.json
@@ -1,30 +1,31 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
+ "type": "number",
"oneOf": [
{
"standsFor": "Square",
- "value": 1
+ "const": 1
},
{
"standsFor": "Ramp Up",
- "value": 2
+ "const": 2
},
{
"standsFor": "Ramp Down",
- "value": 3
+ "const": 3
},
{
"standsFor": "Triangle",
- "value": 4
+ "const": 4
},
{
"standsFor": "Round",
- "value": 5
+ "const": 5
},
{
"standsFor": "Smooth",
- "value": 6
+ "const": 6
}
- ]
+ ],
+ "default": 1
}
diff --git a/docs/json/helpers/transform.json b/docs/json/helpers/transform.json
index 8fbe2ae..6de8a14 100644
--- a/docs/json/helpers/transform.json
+++ b/docs/json/helpers/transform.json
@@ -11,8 +11,9 @@
},
{
"$ref": "#/properties/multiDimensionalKeyframed"
- }
+ },
],
+ "default": {"a":0, "k":[0, 0, 0]},
"type": "object"
},
"p": {
@@ -26,6 +27,7 @@
"$ref": "#/properties/multiDimensionalKeyframed"
}
],
+ "default": {"a":0, "k":[0, 0, 0]},
"type": "object"
},
"s": {
@@ -39,6 +41,7 @@
"$ref": "#/properties/multiDimensionalKeyframed"
}
],
+ "default": {"a":0, "k":[100, 100, 100]},
"type": "object"
},
"r": {
@@ -52,6 +55,7 @@
"$ref": "#/properties/valueKeyframed"
}
],
+ "default": {"a":0, "k":0},
"type": "object"
},
"o": {
@@ -65,6 +69,7 @@
"$ref": "#/properties/valueKeyframed"
}
],
+ "default": {"a":0, "k":0},
"type": "object"
},
"px": {
@@ -78,6 +83,7 @@
"$ref": "#/properties/valueKeyframed"
}
],
+ "default": {"a":0, "k":0},
"type": "object"
},
"py": {
@@ -91,6 +97,49 @@
"$ref": "#/properties/valueKeyframed"
}
],
+ "default": {"a":0, "k":0},
+ "type": "object"
+ },
+ "pz": {
+ "title": "Position Z",
+ "description": "Transform Position Z",
+ "oneOf": [
+ {
+ "$ref": "#/properties/value"
+ },
+ {
+ "$ref": "#/properties/valueKeyframed"
+ }
+ ],
+ "default": {"a":0, "k":0},
+ "type": "object"
+ },
+ "sk": {
+ "title": "Skew",
+ "description": "Transform Skew",
+ "oneOf": [
+ {
+ "$ref": "#/properties/value"
+ },
+ {
+ "$ref": "#/properties/valueKeyframed"
+ }
+ ],
+ "default": {"a":0, "k":0},
+ "type": "object"
+ },
+ "sa": {
+ "title": "Skew Axis",
+ "description": "Transform Skew Axis",
+ "oneOf": [
+ {
+ "$ref": "#/properties/value"
+ },
+ {
+ "$ref": "#/properties/valueKeyframed"
+ }
+ ],
+ "default": {"a":0, "k":0},
"type": "object"
}
}
diff --git a/docs/json/layers/image.json b/docs/json/layers/image.json
index 51b1c6e..208f0a1 100644
--- a/docs/json/layers/image.json
+++ b/docs/json/layers/image.json
@@ -4,8 +4,9 @@
"properties": {
"ty": {
"title": "Type",
- "description": "Type of layer: Image. Value 2.",
- "type": "number"
+ "description": "Type of layer: Image.",
+ "type": "number",
+ "const": 2
},
"ks": {
"title": "Transform",
@@ -25,7 +26,8 @@
{
"$ref": "#/helpers/boolean"
}
- ]
+ ],
+ "default": 0
},
"bm": {
"title": "Blend Mode",
@@ -35,7 +37,8 @@
{
"$ref": "#/helpers/blendMode"
}
- ]
+ ],
+ "default": 0
},
"ddd": {
"title": "3d Layer",
@@ -45,7 +48,8 @@
{
"$ref": "#/helpers/boolean"
}
- ]
+ ],
+ "default": 0
},
"ind": {
"title": "Index",
@@ -116,7 +120,8 @@
"sr": {
"title": "Stretch",
"description": "Layer Time Stretching",
- "type": "number"
+ "type": "number",
+ "default": 1
},
"parent": {
"title": "Parent",
diff --git a/docs/json/layers/null.json b/docs/json/layers/null.json
index 58b9285..7a1f5b6 100644
--- a/docs/json/layers/null.json
+++ b/docs/json/layers/null.json
@@ -4,8 +4,9 @@
"properties": {
"ty": {
"title": "Type",
- "description": "Type of layer: Null. Value 3.",
- "type": "number"
+ "description": "Type of layer: Null.",
+ "type": "number",
+ "const": 3
},
"ks": {
"title": "Transform",
@@ -25,7 +26,8 @@
{
"$ref": "#/helpers/boolean"
}
- ]
+ ],
+ "default": 0
},
"ddd": {
"title": "3d Layer",
@@ -35,7 +37,8 @@
{
"$ref": "#/helpers/boolean"
}
- ]
+ ],
+ "default": 0
},
"ind": {
"title": "Index",
@@ -88,7 +91,8 @@
"sr": {
"title": "Stretch",
"description": "Layer Time Stretching",
- "type": "number"
+ "type": "number",
+ "default": 1
},
"parent": {
"title": "Parent",
diff --git a/docs/json/layers/preComp.json b/docs/json/layers/preComp.json
index 6119b7c..5e2a9b5 100644
--- a/docs/json/layers/preComp.json
+++ b/docs/json/layers/preComp.json
@@ -4,8 +4,9 @@
"properties": {
"ty": {
"title": "Type",
- "description": "Type of layer: Precomp. Value 0.",
- "type": "number"
+ "description": "Type of layer: Precomp.",
+ "type": "number",
+ "const": 0
},
"ks": {
"title": "Transform",
@@ -35,7 +36,8 @@
{
"$ref": "#/helpers/blendMode"
}
- ]
+ ],
+ "default": 0
},
"ddd": {
"title": "3d Layer",
@@ -45,7 +47,8 @@
{
"$ref": "#/helpers/boolean"
}
- ]
+ ],
+ "default": 0
},
"ind": {
"title": "Index",
@@ -116,7 +119,8 @@
"sr": {
"title": "Stretch",
"description": "Layer Time Stretching",
- "type": "number"
+ "type": "number",
+ "default": 1
},
"parent": {
"title": "Parent",
diff --git a/docs/json/layers/shape.json b/docs/json/layers/shape.json
index 57b13e8..b08c62a 100644
--- a/docs/json/layers/shape.json
+++ b/docs/json/layers/shape.json
@@ -4,8 +4,9 @@
"properties": {
"ty": {
"title": "Type",
- "description": "Type of layer: Shape. Value 4.",
- "type": "number"
+ "description": "Type of layer: Shape.",
+ "type": "number",
+ "const": 4
},
"ks": {
"title": "Transform",
@@ -25,7 +26,8 @@
"$ref": "#/helpers/boolean"
}
],
- "type": "number"
+ "type": "number",
+ "default": 0
},
"bm": {
"title": "Blend Mode",
@@ -35,7 +37,8 @@
"$ref": "#/helpers/blendMode"
}
],
- "type": "number"
+ "type": "number",
+ "default": 0
},
"ddd": {
"title": "3d Layer",
@@ -45,7 +48,8 @@
"$ref": "#/helpers/boolean"
}
],
- "type": "number"
+ "type": "number",
+ "default": 0
},
"ind": {
"title": "Index",
@@ -116,7 +120,8 @@
"sr": {
"title": "Stretch",
"description": "Layer Time Stretching",
- "type": "number"
+ "type": "number",
+ "default": 1
},
"parent": {
"title": "Parent",
@@ -129,52 +134,43 @@
"items": {
"oneOf": [
{
- "$ref": "#/shapes/shape",
- "value": "sh"
+ "$ref": "#/shapes/shape"
},
{
- "$ref": "#/shapes/rect",
- "value": "rc"
+ "$ref": "#/shapes/rect"
},
{
- "$ref": "#/shapes/ellipse",
- "value": "el"
+ "$ref": "#/shapes/ellipse"
},
{
- "$ref": "#/shapes/star",
- "value": "sr"
+ "$ref": "#/shapes/star"
},
{
- "$ref": "#/shapes/fill",
- "value": "fl"
+ "$ref": "#/shapes/fill"
},
{
- "$ref": "#/shapes/gFill",
- "value": "gf"
+ "$ref": "#/shapes/gFill"
},
{
- "$ref": "#/shapes/gStroke",
- "value": "gs"
+ "$ref": "#/shapes/gStroke"
},
{
- "$ref": "#/shapes/stroke",
- "value": "st"
+ "$ref": "#/shapes/stroke"
},
{
- "$ref": "#/shapes/merge",
- "value": "mm"
+ "$ref": "#/shapes/merge"
},
{
- "$ref": "#/shapes/trim",
- "value": "tm"
+ "$ref": "#/shapes/trim"
},
{
- "$ref": "#/shapes/group",
- "value": "gr"
+ "$ref": "#/shapes/group"
},
{
- "$ref": "#/shapes/roundedCorners",
- "value": "rd"
+ "$ref": "#/shapes/roundedCorners"
+ },
+ {
+ "$ref": "#/shapes/repeater"
}
],
"type": "object"
diff --git a/docs/json/layers/solid.json b/docs/json/layers/solid.json
index f3dc33f..5567ece 100644
--- a/docs/json/layers/solid.json
+++ b/docs/json/layers/solid.json
@@ -4,8 +4,9 @@
"properties": {
"ty": {
"title": "Type",
- "description": "Type of layer: Solid. Value 1.",
- "type": "number"
+ "description": "Type of layer: Solid.",
+ "type": "number",
+ "value": 1
},
"ks": {
"title": "Transform",
@@ -25,7 +26,8 @@
{
"$ref": "#/helpers/boolean"
}
- ]
+ ],
+ "default": 0
},
"bm": {
"title": "Blend Mode",
@@ -35,7 +37,8 @@
"$ref": "#/helpers/blendMode"
}
],
- "type": "number"
+ "type": "number",
+ "default": 0
},
"ddd": {
"title": "3d Layer",
@@ -45,7 +48,8 @@
{
"$ref": "#/helpers/boolean"
}
- ]
+ ],
+ "default": 0
},
"ind": {
"title": "Index",
@@ -113,7 +117,8 @@
"sr": {
"title": "Stretch",
"description": "Layer Time Stretching",
- "type": "number"
+ "type": "number",
+ "default": 1
},
"parent": {
"title": "Parent",
diff --git a/docs/json/layers/text.json b/docs/json/layers/text.json
index 8d62b89..34d8a42 100644
--- a/docs/json/layers/text.json
+++ b/docs/json/layers/text.json
@@ -4,8 +4,9 @@
"properties": {
"ty": {
"title": "Type",
- "description": "Type of layer: Text. Value 5.",
- "type": "number"
+ "description": "Type of layer: Text.",
+ "type": "number",
+ "value": 5
},
"ks": {
"title": "Transform",
@@ -25,7 +26,8 @@
"$ref": "#/helpers/boolean"
}
],
- "type": "number"
+ "type": "number",
+ "default": 0
},
"bm": {
"title": "Blend Mode",
@@ -35,7 +37,8 @@
"$ref": "#/helpers/blendMode"
}
],
- "type": "number"
+ "type": "number",
+ "default": 0
},
"ddd": {
"title": "3d Layer",
@@ -45,7 +48,8 @@
"$ref": "#/helpers/boolean"
}
],
- "type": "number"
+ "type": "number",
+ "default": 0
},
"ind": {
"title": "Index",
@@ -113,7 +117,8 @@
"sr": {
"title": "Stretch",
"description": "Layer Time Stretching",
- "type": "number"
+ "type": "number",
+ "default": 1
},
"parent": {
"title": "Parent",
diff --git a/docs/json/shapes/ellipse.json b/docs/json/shapes/ellipse.json
index b3ae616..414f0a0 100644
--- a/docs/json/shapes/ellipse.json
+++ b/docs/json/shapes/ellipse.json
@@ -15,12 +15,14 @@
"d": {
"title": "Direction",
"description": "After Effect's Direction. Direction how the shape is drawn. Used for trim path for example.",
- "type": "number"
+ "type": "number",
+ "default": 1
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: el",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "el"
},
"p": {
"title": "Position",
diff --git a/docs/json/shapes/fill.json b/docs/json/shapes/fill.json
index 15daed4..cbb9d31 100644
--- a/docs/json/shapes/fill.json
+++ b/docs/json/shapes/fill.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: fl",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "fl"
},
"o": {
"title": "Opacity",
diff --git a/docs/json/shapes/gFill.json b/docs/json/shapes/gFill.json
index e543b19..4a8893d 100644
--- a/docs/json/shapes/gFill.json
+++ b/docs/json/shapes/gFill.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: gf",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "gf"
},
"o": {
"title": "Opacity",
diff --git a/docs/json/shapes/gStroke.json b/docs/json/shapes/gStroke.json
index 12833fd..0f4ef4e 100644
--- a/docs/json/shapes/gStroke.json
+++ b/docs/json/shapes/gStroke.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: gs",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "gs"
},
"o": {
"title": "Opacity",
diff --git a/docs/json/shapes/group.json b/docs/json/shapes/group.json
index cc8b0c2..4e09d97 100644
--- a/docs/json/shapes/group.json
+++ b/docs/json/shapes/group.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: gr",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "gr"
},
"np": {
"title": "Number of Properties",
diff --git a/docs/json/shapes/merge.json b/docs/json/shapes/merge.json
index 9fbe91e..56e82a7 100644
--- a/docs/json/shapes/merge.json
+++ b/docs/json/shapes/merge.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: tm. THIS FEATURE IS NOT SUPPORTED. It's exported because if you export it, they will come.",
- "type": "string"
+ "description": "Shape content type. THIS FEATURE IS NOT SUPPORTED. It's exported because if you export it, they will come.",
+ "type": "string",
+ "const": "mm"
},
"mm": {
"title": "Merge Mode",
diff --git a/docs/json/shapes/rect.json b/docs/json/shapes/rect.json
index 1bb87a2..1a13199 100644
--- a/docs/json/shapes/rect.json
+++ b/docs/json/shapes/rect.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: rc",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "rc"
},
"p": {
"title": "Position",
diff --git a/docs/json/shapes/repeater.json b/docs/json/shapes/repeater.json
new file mode 100644
index 0000000..ae42c5a
--- /dev/null
+++ b/docs/json/shapes/repeater.json
@@ -0,0 +1,71 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "mn": {
+ "title": "Match Name",
+ "description": "After Effect's Match Name. Used for expressions.",
+ "type": "string"
+ },
+ "nm": {
+ "title": "Name",
+ "description": "After Effect's Name. Used for expressions.",
+ "type": "string"
+ },
+ "ty": {
+ "title": "Type",
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "rp"
+ },
+ "c": {
+ "title": "Copies",
+ "description": "Number of Copies",
+ "oneOf": [
+ {
+ "$ref": "#/properties/Value"
+ },
+ {
+ "$ref": "#/properties/valueKeyframed"
+ }
+ ],
+ "type": "object",
+ "default": {"a": 0, "k": 1}
+ },
+ "o": {
+ "title": "Offset",
+ "description": "Offset of Copies",
+ "oneOf": [
+ {
+ "$ref": "#/properties/Value"
+ },
+ {
+ "$ref": "#/properties/valueKeyframed"
+ }
+ ],
+ "type": "object",
+ "default": {"a": 0, "k": 0}
+ },
+ "m": {
+ "title": "Composite",
+ "description": "Composite of copies",
+ "oneOf": [
+ {
+ "$ref": "#/helpers/composite"
+ }
+ ],
+ "type": "number",
+ "default": 1
+ },
+ "tr": {
+ "title": "Transform",
+ "description": "Transform values for each repeater copy",
+ "oneOf": [
+ {
+ "$ref": "#/helpers/transform"
+ }
+ ],
+ "type": "object"
+ }
+ }
+}
diff --git a/docs/json/shapes/round.json b/docs/json/shapes/round.json
index 4cb1502..c359c0a 100644
--- a/docs/json/shapes/round.json
+++ b/docs/json/shapes/round.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: rd",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "rd"
},
"r": {
"title": "Radius",
diff --git a/docs/json/shapes/shape.json b/docs/json/shapes/shape.json
index bbf9f38..1083ebb 100644
--- a/docs/json/shapes/shape.json
+++ b/docs/json/shapes/shape.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: sh",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "sh"
},
"ks": {
"title": "Vertices",
diff --git a/docs/json/shapes/star.json b/docs/json/shapes/star.json
index 8b0d50d..4e236fc 100644
--- a/docs/json/shapes/star.json
+++ b/docs/json/shapes/star.json
@@ -19,8 +19,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: sr",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "sr"
},
"p": {
"title": "Position",
diff --git a/docs/json/shapes/stroke.json b/docs/json/shapes/stroke.json
index 99b22e8..ac8a7b8 100644
--- a/docs/json/shapes/stroke.json
+++ b/docs/json/shapes/stroke.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: st",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "st"
},
"lc": {
"title": "Line Cap",
diff --git a/docs/json/shapes/trim.json b/docs/json/shapes/trim.json
index b46ccd7..afc5a35 100644
--- a/docs/json/shapes/trim.json
+++ b/docs/json/shapes/trim.json
@@ -14,8 +14,9 @@
},
"ty": {
"title": "Type",
- "description": "Shape content type. Value: tm",
- "type": "string"
+ "description": "Shape content type.",
+ "type": "string",
+ "const": "tm"
},
"s": {
"title": "Start",