diff --git a/docs/JSON_DOC.md b/docs/JSON_DOC.md
index 9ce491651..58abb2150 100644
--- a/docs/JSON_DOC.md
+++ b/docs/JSON_DOC.md
@@ -41,13 +41,12 @@ Value | Type | Description
`flags`
*Only used by editor*
 | Array of Enum | An array containing various advanced flags (ie. options or other states).
Possible values: `DiscardPreCsvIntGrid`, `ExportOldTableOfContentData`, `ExportPreCsvIntGridFormat`, `IgnoreBackupSuggest`, `PrependIndexToLevelFileNames`, `MultiWorlds`, `UseMultilinesType`
`identifierStyle`
*Only used by editor*
 | Enum | Naming convention for Identifiers (first-letter uppercase, full uppercase etc.)
Possible values: `Capitalize`, `Uppercase`, `Lowercase`, `Free`
`imageExportMode`
*Only used by editor*
 | Enum | "Image export" option when saving project.
Possible values: `None`, `OneImagePerLayer`, `OneImagePerLevel`, `LayersAndLevels`
-`jsonStyle`
*Only used by editor* | Enum | JSON style
Possible values: `Minified`, `Compact`, `Full`
`levelNamePattern`
*Only used by editor*
 | String | The default naming convention for level identifiers.
+`minifyJson`
*Only used by editor* | Bool | If TRUE, the Json is partially minified (no indentation, nor line breaks, default is FALSE)
`nextUid`
*Only used by editor* | Int | Next Unique integer ID available
`pngFilePattern`
*Only used by editor*
 | String *(can be `null`)* | File naming pattern for exported PNGs
`simplifiedExport`
*Only used by editor*
 | Bool | If TRUE, a very simplified will be generated on saving, for quicker & easier engine integration.
`tutorialDesc`
*Only used by editor*
 | String *(can be `null`)* | This optional description is used by LDtk Samples to show up some informations and instructions.
-~~`minifyJson`~~
*Only used by editor*
*DEPRECATED!*
| Bool | **WARNING**: this deprecated value will be *removed* completely on version 1.7.0+
Replaced by: `jsonStyle`
~~`exportPng`~~
*Only used by editor*
*DEPRECATED!*
 | Bool *(can be `null`)* | **WARNING**: this deprecated value is no longer exported since version 0.9.3
Replaced by: `imageExportMode`
@@ -89,7 +88,7 @@ Value | Type | Description
`layerInstances`
 | Array of [Layer instance](#ldtk-LayerInstanceJson) *(can be `null`)* | An array containing all Layer instances. **IMPORTANT**: if the project option "*Save levels separately*" is enabled, this field will be `null`.
This array is **sorted in display order**: the 1st layer is the top-most and the last is behind.
`pxHei` | Int | Height of the level in pixels
`pxWid` | Int | Width of the level in pixels
-`uid` | Int | Unique Int identifier
This UID is refered from:
↖ [levelUid](#ldtk-NeighbourLevel;levelUid) (Neighbour level)
↖ [levelId](#ldtk-LayerInstanceJson;levelId) (Layer instance)
+`uid` | Int | Unique Int identifier
`worldDepth`
 | Int | Index that represents the "depth" of the level in the world. Default is 0, greater means "above", lower means "below".
This value is mostly used for display only and is intended to make stacking of levels easier to manage.
`worldX`
  | Int | World X coordinate in pixels.
Only relevant for world layouts where level spatial positioning is manual (ie. GridVania, Free). For Horizontal and Vertical layouts, the value is always -1 here.
`worldY`
  | Int | World Y coordinate in pixels.
Only relevant for world layouts where level spatial positioning is manual (ie. GridVania, Free). For Horizontal and Vertical layouts, the value is always -1 here.
@@ -119,13 +118,13 @@ Value | Type | Description
`gridTiles`
Only *Tile layers* | Array of [Tile instance](#ldtk-Tile) |
`iid` | String | Unique layer instance identifier
`intGridCsv`
Only *IntGrid layers*
 | Array of Int | A list of all values in the IntGrid layer, stored in CSV format (Comma Separated Values).
Order is from left to right, and top to bottom (ie. first row from left to right, followed by second row, etc).
`0` means "empty cell" and IntGrid values start at 1.
The array size is `__cWid` x `__cHei` cells.
-`layerDefUid`
UID ref to [Layer definition](#ldtk-LayerDefJson) | Int | Reference the Layer definition UID
-`levelId`
UID ref to [Level](#ldtk-LevelJson) | Int | Reference to the UID of the level containing this layer instance
-`overrideTilesetUid`
Only *Tile layers*
UID ref to [Tileset definition](#ldtk-TilesetDefJson) | Int *(can be `null`)* | This layer can use another tileset by overriding the tileset UID here.
+`layerDefUid` | Int | Reference the Layer definition UID
+`levelId` | Int | Reference to the UID of the level containing this layer instance
+`overrideTilesetUid`
Only *Tile layers* | Int *(can be `null`)* | This layer can use another tileset by overriding the tileset UID here.
`pxOffsetX`
 | Int | X offset in pixels to render this layer, usually 0 (IMPORTANT: this should be added to the `LayerDef` optional offset, so you should probably prefer using `__pxTotalOffsetX` which contains the total offset value)
`pxOffsetY`
 | Int | Y offset in pixels to render this layer, usually 0 (IMPORTANT: this should be added to the `LayerDef` optional offset, so you should probably prefer using `__pxTotalOffsetX` which contains the total offset value)
`visible`
 | Bool | Layer instance visibility
-`optionalRules`
UID ref to [Auto-layer rule definition](#ldtk-AutoRuleDef)
*Only used by editor*
 | Array of Int | An Array containing the UIDs of optional rules that were enabled in this specific layer instance.
+`optionalRules`
*Only used by editor*
 | Array of Int | An Array containing the UIDs of optional rules that were enabled in this specific layer instance.
`seed`
Only *Auto-layers*
*Only used by editor* | Int | Random seed used for Auto-Layers rendering
~~`intGrid`~~
Only *IntGrid layers*
*DEPRECATED!*
 | Array of Object *(can be `null`)* | **WARNING**: this deprecated value is no longer exported since version 1.0.0
Replaced by: `intGridCsv`
@@ -154,7 +153,7 @@ Value | Type | Description
`__tile`
  | [Tileset rectangle](#ldtk-TilesetRect) *(can be `null`)* | Optional TilesetRect used to display this entity (it could either be the default Entity tile, or some tile provided by a field value, like an Enum).
`__worldX`
  | Int *(can be `null`)* | X world coordinate in pixels. Only available in GridVania or Free world layouts.
`__worldY`
  | Int *(can be `null`)* | Y world coordinate in pixels Only available in GridVania or Free world layouts.
-`defUid`
UID ref to [Entity definition](#ldtk-EntityDefJson) | Int | Reference of the **Entity definition** UID
+`defUid` | Int | Reference of the **Entity definition** UID
`fieldInstances` | Array of [Field instance](#ldtk-FieldInstanceJson) | An array of all custom fields and their values.
`height`
 | Int | Entity height in pixels. For non-resizable entities, it will be the same as Entity definition.
`iid`
 | String | Unique instance identifier
@@ -169,7 +168,7 @@ Value | Type | Description
`__tile`
 | [Tileset rectangle](#ldtk-TilesetRect) *(can be `null`)* | Optional TilesetRect used to display this field (this can be the field own Tile, or some other Tile guessed from the value, like an Enum).
`__type` | String | Type of the field, such as `Int`, `Float`, `String`, `Enum(my_enum_name)`, `Bool`, etc.
NOTE: if you enable the advanced option **Use Multilines type**, you will have "*Multilines*" instead of "*String*" when relevant.
`__value` | Various possible types | Actual value of the field instance. The value type varies, depending on `__type`:
- For **classic types** (ie. Integer, Float, Boolean, String, Text and FilePath), you just get the actual value with the expected type.
- For **Color**, the value is an hexadecimal string using "#rrggbb" format.
- For **Enum**, the value is a String representing the selected enum value.
- For **Point**, the value is a [GridPoint](#ldtk-GridPoint) object.
- For **Tile**, the value is a [TilesetRect](#ldtk-TilesetRect) object.
- For **EntityRef**, the value is an [EntityReferenceInfos](#ldtk-EntityReferenceInfos) object.
If the field is an array, then this `__value` will also be a JSON array.
-`defUid`
UID ref to [Field definition](#ldtk-FieldDefJson) | Int | Reference of the **Field definition** UID
+`defUid` | Int | Reference of the **Field definition** UID
`realEditorValues`
*Only used by editor* | Array of Enum *(can be `null`)* | Editor internal raw values
@@ -212,7 +211,7 @@ Value | Type | Description
Value | Type | Description
-- | -- | --
`__type` | String | Type of the layer (*IntGrid, Entities, Tiles or AutoLayer*)
-`autoSourceLayerDefUid`
Only *Auto-layers*
UID ref to [Layer definition](#ldtk-LayerDefJson) | Int *(can be `null`)* |
+`autoSourceLayerDefUid`
Only *Auto-layers* | Int *(can be `null`)* |
`displayOpacity` | Float | Opacity of the layer (0 to 1.0)
`gridSize` | Int | Width and height of the grid in pixels
`identifier` | String | User defined unique identifier
@@ -223,11 +222,11 @@ Value | Type | Description
`parallaxScaling`
 | Bool | If true (default), a layer with a parallax factor will also be scaled up/down accordingly.
`pxOffsetX`
 | Int | X offset of the layer, in pixels (IMPORTANT: this should be added to the `LayerInstance` optional offset)
`pxOffsetY`
 | Int | Y offset of the layer, in pixels (IMPORTANT: this should be added to the `LayerInstance` optional offset)
-`tilesetDefUid`
Only *Tile layers, Auto-layers*
UID ref to [Tileset definition](#ldtk-TilesetDefJson)
 | Int *(can be `null`)* | Reference to the default Tileset UID being used by this layer definition.
**WARNING**: some layer *instances* might use a different tileset. So most of the time, you should probably use the `__tilesetDefUid` value found in layer instances.
Note: since version 1.0.0, the old `autoTilesetDefUid` was removed and merged into this value.
-`uid` | Int | Unique Int identifier
This UID is refered from:
↖ [layerDefUid](#ldtk-LayerInstanceJson;layerDefUid) (Layer instance)
↖ [autoSourceLayerDefUid](#ldtk-LayerDefJson;autoSourceLayerDefUid) (Layer definition)
↖ [autoTilesKilledByOtherLayerUid](#ldtk-LayerDefJson;autoTilesKilledByOtherLayerUid) (Layer definition)
+`tilesetDefUid`
Only *Tile layers, Auto-layers*
 | Int *(can be `null`)* | Reference to the default Tileset UID being used by this layer definition.
**WARNING**: some layer *instances* might use a different tileset. So most of the time, you should probably use the `__tilesetDefUid` value found in layer instances.
Note: since version 1.0.0, the old `autoTilesetDefUid` was removed and merged into this value.
+`uid` | Int | Unique Int identifier
`autoRuleGroups`
Only *Auto-layers*
*Only used by editor* | Array of Object | Contains all the auto-layer rule definitions.
This array contains objects with the following fields:
- **`active`** **(Bool**)
- **`biomeRequirementMode`** **(Int**) 
- ~~collapsed~~ **(Bool**) *This field was removed in 1.0.0 and should no longer be used.*
- **`color`** **(String *(can be `null`)***) 
- **`icon`** **([Tileset rectangle](#ldtk-TilesetRect) *(can be `null`)***) 
- **`isOptional`** **(Bool**) 
- **`name`** **(String**)
- **`requiredBiomeValues`** **(Array of String**) 
- **`rules`** **(Array of [Auto-layer rule definition](#ldtk-AutoRuleDef)**)
- **`uid`** **(Int**)
- **`usesWizard`** **(Bool**) 
-`autoTilesKilledByOtherLayerUid`
Only *Auto layers*
UID ref to [Layer definition](#ldtk-LayerDefJson)
*Only used by editor*
 | Int *(can be `null`)* |
-`biomeFieldUid`
UID ref to [Field definition](#ldtk-FieldDefJson)
*Only used by editor*
 | Int *(can be `null`)* |
+`autoTilesKilledByOtherLayerUid`
Only *Auto layers*
*Only used by editor*
 | Int *(can be `null`)* |
+`biomeFieldUid`
*Only used by editor*
 | Int *(can be `null`)* |
`canSelectWhenInactive`
*Only used by editor*
 | Bool | Allow editor selections when the layer is not currently active.
`doc`
*Only used by editor*
 | String *(can be `null`)* | User defined documentation for this element to provide help/tips to level designers.
`excludedTags`
Only *Entity layer*
*Only used by editor*
 | Array of String | An array of tags to forbid some Entities in this layer
@@ -244,7 +243,7 @@ Value | Type | Description
`uiColor`
*Only used by editor*
 | String *(can be `null`)* | User defined color for the UI
`uiFilterTags`
*Only used by editor*
 | Array of String | Display tags
`useAsyncRender`
Only *Tile layers, Auto-layers*
*Only used by editor*
 | Bool | Asynchronous rendering option for large/complex layers
-~~`autoTilesetDefUid`~~
Only *Auto-layers*
UID ref to [Tileset definition](#ldtk-TilesetDefJson)
*DEPRECATED!*
 | Int *(can be `null`)* | **WARNING**: this deprecated value is no longer exported since version 1.2.0
Replaced by: `tilesetDefUid`
+~~`autoTilesetDefUid`~~
Only *Auto-layers*
*DEPRECATED!*
 | Int *(can be `null`)* | **WARNING**: this deprecated value is no longer exported since version 1.2.0
Replaced by: `tilesetDefUid`
## 3.1.1. Auto-layer rule definition
@@ -277,7 +276,7 @@ Value | Type | Description
`tileRectsIds`
*Only used by editor* | Array of Array of Int | Array containing all the possible tile IDs rectangles (picked randomly).
`tileXOffset`
*Only used by editor*
 | Int | Tile X offset
`tileYOffset`
*Only used by editor*
 | Int | Tile Y offset
-`uid`
*Only used by editor* | Int | Unique Int identifier
This UID is refered from:
↖ [optionalRules](#ldtk-LayerInstanceJson;optionalRules) (Layer instance)
+`uid`
*Only used by editor* | Int | Unique Int identifier
`xModulo`
*Only used by editor* | Int | X cell coord modulo
`xOffset`
*Only used by editor* | Int | X cell start offset
`yModulo`
*Only used by editor* | Int | Y cell coord modulo
@@ -298,7 +297,7 @@ Value | Type | Description
`tileRenderMode`
 | Enum | An enum describing how the Entity tile is rendered inside the Entity bounds.
Possible values: `Cover`, `FitInside`, `Repeat`, `Stretch`, `FullSizeCropped`, `FullSizeUncropped`, `NineSlice`
`tilesetId` | Int *(can be `null`)* | Tileset ID used for optional tile display
`uiTileRect`
 | [Tileset rectangle](#ldtk-TilesetRect) *(can be `null`)* | This tile overrides the one defined in `tileRect` in the UI
-`uid` | Int | Unique Int identifier
This UID is refered from:
↖ [defUid](#ldtk-EntityInstanceJson;defUid) (Entity instance)
↖ [allowedRefsEntityUid](#ldtk-FieldDefJson;allowedRefsEntityUid) (Field definition)
+`uid` | Int | Unique Int identifier
`width` | Int | Pixel width
`allowOutOfBounds`
*Only used by editor*
 | Bool | If enabled, this entity is allowed to stay outside of the current level bounds
`doc`
*Only used by editor*
 | String *(can be `null`)* | User defined documentation for this element to provide help/tips to level designers.
@@ -342,11 +341,11 @@ Value | Type | Description
`min`
Only *Int, Float*
*Only used by editor* | Float *(can be `null`)* | Min limit for value, if applicable
`regex`
Only *String*
*Only used by editor*
 | String *(can be `null`)* | Optional regular expression that needs to be matched to accept values. Expected format: `/some_reg_ex/g`, with optional "i" flag.
`type`
*Only used by editor* | String | Internal enum representing the possible field types. Possible values: F_Int, F_Float, F_String, F_Text, F_Bool, F_Color, F_Enum(...), F_Point, F_Path, F_EntityRef, F_Tile
-`uid`
*Only used by editor* | Int | Unique Int identifier
This UID is refered from:
↖ [defUid](#ldtk-FieldInstanceJson;defUid) (Field instance)
↖ [biomeFieldUid](#ldtk-LayerDefJson;biomeFieldUid) (Layer definition)
+`uid`
*Only used by editor* | Int | Unique Int identifier
`allowOutOfLevelRef`
*Only used by editor*
 | Bool |
`allowedRefTags`
*Only used by editor*
 | Array of String |
`allowedRefs`
*Only used by editor*
 | Enum | Possible values: `Any`, `OnlySame`, `OnlyTags`, `OnlySpecificEntity`
-`allowedRefsEntityUid`
UID ref to [Entity definition](#ldtk-EntityDefJson)
*Only used by editor*
 | Int *(can be `null`)* |
+`allowedRefsEntityUid`
*Only used by editor*
 | Int *(can be `null`)* |
`autoChainRef`
*Only used by editor*
 | Bool |
`editorAlwaysShow`
*Only used by editor* | Bool |
`editorCutLongValues`
*Only used by editor*
 | Bool |
@@ -362,7 +361,7 @@ Value | Type | Description
`searchable`
*Only used by editor*
 | Bool | If enabled, this field will be searchable through LDtk command palette
`symmetricalRef`
*Only used by editor*
 | Bool |
`textLanguageMode`
*Only used by editor*
 | Enum *(can be `null`)* | Possible values: <`null`>, `LangPython`, `LangRuby`, `LangJS`, `LangLua`, `LangC`, `LangHaxe`, `LangMarkdown`, `LangJson`, `LangXml`, `LangLog`
-`tilesetUid`
Only *Tile*
UID ref to [Tileset definition](#ldtk-TilesetDefJson)
*Only used by editor*
 | Int *(can be `null`)* | UID of the tileset used for a Tile
+`tilesetUid`
Only *Tile*
*Only used by editor*
 | Int *(can be `null`)* | UID of the tileset used for a Tile
`useForSmartColor`
*Only used by editor*
 | Bool | If TRUE, the color associated with this field will override the Entity or Level default color in the editor UI. For Enum fields, this would be the color associated to their values.
@@ -383,9 +382,9 @@ Value | Type | Description
`relPath` | String *(can be `null`)* | Path to the source file, relative to the current project JSON file
It can be null if no image was provided, or when using an embed atlas.
`spacing` | Int | Space in pixels between all tiles
`tags`
 | Array of String | An array of user-defined tags to organize the Tilesets
-`tagsSourceEnumUid`
UID ref to [Enum definition](#ldtk-EnumDefJson)
 | Int *(can be `null`)* | Optional Enum definition UID used for this tileset meta-data
+`tagsSourceEnumUid`
 | Int *(can be `null`)* | Optional Enum definition UID used for this tileset meta-data
`tileGridSize` | Int |
-`uid` | Int | Unique Intidentifier
This UID is refered from:
↖ [overrideTilesetUid](#ldtk-LayerInstanceJson;overrideTilesetUid) (Layer instance)
↖ [tilesetDefUid](#ldtk-LayerDefJson;tilesetDefUid) (Layer definition)
↖ [autoTilesetDefUid](#ldtk-LayerDefJson;autoTilesetDefUid) (Layer definition)
↖ [tilesetUid](#ldtk-FieldDefJson;tilesetUid) (Field definition)
↖ [tilesetUid](#ldtk-TilesetRect;tilesetUid) (Tileset rectangle)
↖ [iconTilesetUid](#ldtk-EnumDefJson;iconTilesetUid) (Enum definition)
+`uid` | Int | Unique Intidentifier
`cachedPixelData`
*Only used by editor*
 | Object *(can be `null`)* | The following data is used internally for various optimizations. It's always synced with source image changes.
This object contains the following fields:
- **`averageColors`** **(String *(can be `null`)***)  : *Average color codes for each tileset tile (ARGB format)*
- **`opaqueTiles`** **(String**)  : *An array of 0/1 bytes, encoded in Base64, that tells if a specific TileID is fully opaque (1) or not (0)*
`savedSelections`
*Only used by editor* | Array of Object | Array of group of tiles selections, only meant to be used in the editor
This array contains objects with the following fields:
- **`ids`** **(Array of Int**)
- **`mode`** **(Enum**)
@@ -396,7 +395,7 @@ This object represents a custom sub rectangle in a Tileset image.
Value | Type | Description
-- | -- | --
`h`
 | Int | Height in pixels
-`tilesetUid`
UID ref to [Tileset definition](#ldtk-TilesetDefJson)
 | Int | UID of the tileset
+`tilesetUid`
 | Int | UID of the tileset
`w`
 | Int | Width in pixels
`x`
 | Int | X pixels coordinate of the top-left corner in the Tileset image
`y`
 | Int | Y pixels coordinate of the top-left corner in the Tileset image
@@ -406,10 +405,10 @@ Value | Type | Description
Value | Type | Description
-- | -- | --
`externalRelPath` | String *(can be `null`)* | Relative path to the external file providing this Enum
-`iconTilesetUid`
UID ref to [Tileset definition](#ldtk-TilesetDefJson) | Int *(can be `null`)* | Tileset UID if provided
+`iconTilesetUid` | Int *(can be `null`)* | Tileset UID if provided
`identifier` | String | User defined unique identifier
`tags`
 | Array of String | An array of user-defined tags to organize the Enums
-`uid` | Int | Unique Int identifier
This UID is refered from:
↖ [tagsSourceEnumUid](#ldtk-TilesetDefJson;tagsSourceEnumUid) (Tileset definition)
+`uid` | Int | Unique Int identifier
`values` | Array of [Enum value definition](#ldtk-EnumDefValues) | All possible enum values, with their optional Tile infos.
`externalFileChecksum`
*Only used by editor* | String *(can be `null`)* |
diff --git a/docs/JSON_SCHEMA.json b/docs/JSON_SCHEMA.json
index 0689b13c4..ed03ea6c6 100644
--- a/docs/JSON_SCHEMA.json
+++ b/docs/JSON_SCHEMA.json
@@ -32,8 +32,8 @@
"flags",
"identifierStyle",
"imageExportMode",
- "jsonStyle",
"levelNamePattern",
+ "minifyJson",
"nextUid",
"simplifiedExport"
],
@@ -328,14 +328,6 @@
"array"
]
},
- "jsonStyle": {
- "description": "JSON style Possible values: `Minified`, `Compact`, `Full`",
- "enum": [
- "Minified",
- "Compact",
- "Full"
- ]
- },
"jsonVersion": {
"description": "File format version",
"type": [
@@ -381,7 +373,7 @@
]
},
"minifyJson": {
- "description": "**WARNING**: this deprecated value will be *removed* completely on version 1.7.0+ Replaced by: `jsonStyle`",
+ "description": "If TRUE, the Json is partially minified (no indentation, nor line breaks, default is FALSE)",
"type": [
"boolean"
]