aboutsummaryrefslogtreecommitdiff
path: root/timeline.schema.json
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2021-05-12 21:05:11 +0200
committerlonkaars <loek@pipeframe.xyz>2021-05-12 21:05:11 +0200
commit0eee3ce6321990244ac18e0f7e3b1f901e78279d (patch)
tree62b38249641d897beba7e64dbe901e48f1ad02c8 /timeline.schema.json
parent9422fa9dc4d9ee213fb25a03e5e60d7e99e79458 (diff)
the big class thing
Diffstat (limited to 'timeline.schema.json')
-rw-r--r--timeline.schema.json62
1 files changed, 62 insertions, 0 deletions
diff --git a/timeline.schema.json b/timeline.schema.json
new file mode 100644
index 0000000..a044993
--- /dev/null
+++ b/timeline.schema.json
@@ -0,0 +1,62 @@
+{
+ "$ref": "#/definitions/timeline",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "definitions": {
+ "keyframeTypes": {
+ "enum": [
+ "default",
+ "delay",
+ "speedChange",
+ "loop"
+ ],
+ "type": "string"
+ },
+ "slide": {
+ "additionalProperties": false,
+ "properties": {
+ "clickThroughBehaviour": {
+ "enum": [
+ "ImmediatelySkip",
+ "PlayOut"
+ ],
+ "type": "string"
+ },
+ "frame": {
+ "type": "number"
+ },
+ "type": {
+ "$ref": "#/definitions/keyframeTypes"
+ }
+ },
+ "required": [
+ "frame",
+ "clickThroughBehaviour",
+ "type"
+ ],
+ "type": "object"
+ },
+ "timeline": {
+ "additionalProperties": false,
+ "properties": {
+ "framecount": {
+ "type": "number"
+ },
+ "framerate": {
+ "type": "number"
+ },
+ "slides": {
+ "items": {
+ "$ref": "#/definitions/slide"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "slides",
+ "framecount",
+ "framerate"
+ ],
+ "type": "object"
+ }
+ }
+} \ No newline at end of file