Warning, /graphics/glaxnimate/docs/json_reference.in.md is written in an unsupported language. File is not indexed.
0001 Authors: Mattia Basaglia
0002
0003 # Glaxnimate file format
0004
0005 Glaxnimate files are stored as JSON.
0006
0007 The top-level object represents the document, it has the following fields:
0008
0009 | name | type | required | description |
0010 | --- | --- | --- | --- |
0011 | `format` | [Format Metadata](#format-metadata) | yes | Describes the format used |
0012 | `metadata` | `object` | no | Can contain anything |
0013 | `defs` | [Defs](#defs) | no | Defines assets |
0014 | `animation` | [MainComposition](#maincomposition) | yes | Animation object |
0015
0016
0017 ## Basic Types
0018
0019 ### Format Metadata
0020
0021 Object describing the file format.
0022
0023 | name | type | required | description |
0024 | --------------------- | -------- | --- | ---------------------------------------------- |
0025 | `generator` | `string` | no | Program used to create the file |
0026 | `generator_version` | `string` | no | Version of the program used to create the file |
0027 | `format_version` | `int` | yes | Version of the format specs, currently `2` |
0028
0029 ### Point
0030
0031 Represents a point in 2D space
0032
0033 | name | type | required | description |
0034 | ----- | --------- | --------- | ------------- |
0035 | `x` | `float` | yes | X coordinate |
0036 | `y` | `float` | yes | Y coordinate |
0037
0038
0039 ### Size
0040
0041 Represents a size
0042
0043 | name | type | required | description |
0044 | ----- | --------- | --------- | ------------- |
0045 | `width` | `float` | yes | |
0046 | `height` | `float` | yes | |
0047
0048
0049 ### Bezier
0050
0051 A polybezier.
0052
0053 | name | type | required | description |
0054 | ----- | --------- | --------- | ------------- |
0055 | `closed` | `bool` | no | Whether the bezier is closed |
0056 | `points` | array of [Bezier Points](#bezier-point) | yes | |
0057
0058 ### Bezier Point
0059
0060 | name | type | required | description |
0061 | --------- | ----------------- | --------- | ------------- |
0062 | `pos` | [Point](#point) | yes | Vertex Position |
0063 | `tan_in` | [Point](#point) | yes | Incoming tangent (absolute) |
0064 | `tan_out` | [Point](#point) | yes | Outgoing tangent (absolute) |
0065 | `type` | `int` | yes | See below for possible values |
0066
0067 Point Types:
0068
0069 | value | name | description |
0070 | ----- | ------------- | ------------------------------------------------------------------------- |
0071 | `0` | Corner | The two tangents are independent |
0072 | `1` | Smooth | The two tangents are on the same line but their length can be different |
0073 | `2` | Symmetrical | The two tangents are on the same line and have the same length |
0074
0075
0076 ### Gradient Stop
0077
0078
0079 | name | type | required | description |
0080 | --------- | ----------------- | --------- | ------------- |
0081 | `offset` | `float` | yes | Value in [0, 1] determining the offset of this stop |
0082 | `color` | [Color](#color) | yes | Color of the stop |
0083
0084
0085 ### Color
0086
0087 A string representing color values, it starts with `#` and is followed by
0088 2 hexadecimal digits per color component (Red, Green, Blue).
0089
0090 With an optional 2 extra hexadecimal digits to represent transparency.
0091
0092
0093 ### UUID
0094
0095 String representing a unique identifier, in the form
0096
0097 {00000000-0000-0000-0000-000000000000}
0098
0099 ## Object Types
0100
0101 Most objects fall in this category, their type is represented by the `__type__` attribute.
0102
0103 Each type inherits properties from its parent type.
0104
0105 If a specific property requires a given `__type__`, you can use one of its sub-types.