{
	"viewport": [1080, 1742],

    "_comment_sectionLength": "sectionLength should be multiple of tileHeight",
	"sectionLength": 5400,

    "laneWidth": 216,
    "tileHeight": 1080,
    "shapesSpacing": 540,
    "shapesScale": 1,

    "carOffsetY": 350,

    "laneSwitchDuration": 150,
    
    "_comment_grace": "length of road in which speed change due to an early or late lane switch is ignored to avoid speed jerks",
    "graceBeforeSectionChange": 600,
    "graceAfterSectionChange": 600,

    "countdown": {
        "delay": 200
    },
    
    "tutorial": {
        "delay": 650,
        "fadeDuration": 500,
        "crossFadeDelay": 0,
        "crossFadeDuration": 0,
        "anchoring": ["C", "C", "C", "T", "C", "T", "C", "C"]
    },

    "_comment_speeds": "In pixels per frame, @60fps. Speeds must be ordered ascending.",
    "speeds": [ 
        1, 
        1.6, 
        2.4, 
        4
    ],
    "speedMultiplier": 6,
    "acceleration": 2.1, 
    
    "_comment_start_offset": "Related to sectionLength",
    "start": {
        "laneIndex": 1,
        "offset": 4830
    },

    "finish": {
        "decelerationDuration": 90, 
        "cameraOffset": 3.8, 
        "delayPopup": 100,
        "delayBeforeEnd": 5000,
        "confetti": {
            "position": 1500,
            "duration": 8000,
            "offset": 3000
        }
    },    

    "savegame": {
        "offsetOnRestore": 450
    },
    
    "laneSkins": [
        "RoadTileGreen", 
        "RoadTileYellow", 
        "RoadTileBlue", 
        "RoadTileBrown", 
        "RoadTileDarkGrey", 
        "RoadTileGrey"
    ],

    "laneTileSkins": {
        "1": "RoadTileGreen",
        "2": "RoadTileYellow",
        "3": "RoadTileBlue",
        "4": "RoadTileBrown",

        "f": "RoadTileDarkGrey",
        "F": "RoadTileGrey",

        "a": "ShapeCircleSkin",
        "b": "ShapeStarSkin",
        "c": "ShapeDiamondSkin",
        "d": "ShapeTriangleSkin",

        "x": null
    },

    "_comment_sections": "The 'speeds' properties of the sections do not contain the actual speeds, but the indexes in the speeds array above.",
    "_comment_sections2":  "The 'lanes' properties of the sections are combinations of keys of laneTileSkins above.",

    "level": {
        "sections": [
            { "speeds": [1, 1, 1, 1], "lanes": "fx, Fx, fx, Fx", "roadDividers": true, "action": "tutorial"},          
            { "speeds": [1, 1, 1, 1], "lanes": "fx, Fx, fx, Fx", "marker": {"skin":"MarkerStart", "position": -120}, "action": "start"},          

            { "speeds": [1, 2, 3, 0], "lanes": "1a,2b,3c,4d", "action": "rulechange" },
            { "speeds": [0, 3, 2, 1], "lanes": "4b,3d,2a,1c" },
            { "speeds": [1, 2, 0, 3], "lanes": "1d,2b,4c,3a" },
            { "speeds": [2, 1, 3, 0], "lanes": "2c,1a,3b,4d" },
            { "speeds": [3, 0, 1, 2], "lanes": "3d,4b,1c,2a" },
            { "speeds": [2, 1, 0, 3], "lanes": "1b,3a,2d,4c", "action": "rulechange" },
            { "speeds": [1, 2, 3, 0], "lanes": "3c,1d,4a,2b" },
            { "speeds": [2, 1, 0, 3], "lanes": "1a,3b,2c,4d" },
            { "speeds": [1, 3, 2, 0], "lanes": "3c,4a,1d,2b" },
            { "speeds": [0, 2, 1, 3], "lanes": "2a,1c,3b,4d" },
            { "speeds": [1, 3, 0, 2], "lanes": "1d,3a,4c,2b", "action": "rulechange" },
            { "speeds": [0, 1, 2, 3], "lanes": "3c,2d,1b,4a" },
            { "speeds": [3, 0, 1, 2], "lanes": "2a,1c,4d,3b" },
            { "speeds": [2, 3, 0, 1], "lanes": "1b,4a,3c,2d" },
            { "speeds": [1, 0, 3, 2], "lanes": "3a,2b,4d,1c", "action": "rulechange" },
            { "speeds": [3, 2, 1, 0], "lanes": "2d,4c,1a,3b" },
            { "speeds": [0, 1, 2, 3], "lanes": "1b,3a,2c,4d" },
            { "speeds": [2, 3, 1, 0], "lanes": "3c,1d,4a,2b" },
            { "speeds": [3, 0, 2, 1], "lanes": "4d,3b,2c,1a" },
            { "speeds": [0, 3, 1, 2], "lanes": "1b,2d,4a,3c" },
            { "speeds": [2, 0, 3, 1], "lanes": "2a,1c,3d,4b", "action": "rulechange" },
            { "speeds": [1, 3, 2, 0], "lanes": "4c,3a,2b,1d" },
            { "speeds": [2, 0, 3, 1], "lanes": "2a,1c,3d,4b" },
            { "speeds": [0, 1, 2, 3], "lanes": "1d,4a,2b,3c" },
            { "speeds": [1, 2, 3, 0], "lanes": "4b,2c,3d,1a" },
            { "speeds": [2, 3, 0, 1], "lanes": "2d,3a,1b,4c", "action": "rulechange" },
            { "speeds": [3, 1, 2, 0], "lanes": "1a,2c,4d,3b" },
            { "speeds": [2, 0, 1, 3], "lanes": "3d,4b,1c,2a" },
            { "speeds": [1, 3, 2, 0], "lanes": "4c,3a,2d,1b", "marker": {"skin":"FinishTile", "position": -30}, "action": "pre-finish" },

            { "speeds": [0, 0, 0, 0], "lanes": "fx, Fx, fx, Fx", "action": "finish"},
            { "speeds": [0, 0, 0, 0], "lanes": "fx, Fx, fx, Fx" },
            { "speeds": [0, 0, 0, 0], "lanes": "fx, Fx, fx, Fx" }
        ]
    }


}