{
  "tags": null,
  "ignoreAlpha": false,
  "maxSimultaneousLights": 4,
  "mode": 0,
  "forceAlphaBlending": false,
  "id": "node",
  "name": "node",
  "checkReadyOnEveryCall": false,
  "checkReadyOnlyOnce": false,
  "state": "",
  "alpha": 1,
  "backFaceCulling": true,
  "cullBackFaces": true,
  "_alphaMode": [
    2
  ],
  "_needDepthPrePass": false,
  "disableDepthWrite": false,
  "disableColorWrite": false,
  "forceDepthWrite": false,
  "depthFunction": 0,
  "separateCullingPass": false,
  "fogEnabled": true,
  "pointSize": 1,
  "zOffset": 0,
  "zOffsetUnits": 0,
  "pointsCloud": false,
  "fillMode": 0,
  "_isVertexOutputInvariant": false,
  "editorData": {
    "locations": [
      {
        "blockId": 53,
        "x": 5520,
        "y": -1160,
        "isCollapsed": false
      },
      {
        "blockId": 54,
        "x": 5280,
        "y": -1180,
        "isCollapsed": false
      },
      {
        "blockId": 55,
        "x": 5020,
        "y": -1280,
        "isCollapsed": false
      },
      {
        "blockId": 56,
        "x": 260,
        "y": -1300,
        "isCollapsed": false
      },
      {
        "blockId": 57,
        "x": 4780,
        "y": -1160,
        "isCollapsed": false
      },
      {
        "blockId": 58,
        "x": 5020,
        "y": -1100,
        "isCollapsed": false
      },
      {
        "blockId": 59,
        "x": 8020,
        "y": 100,
        "isCollapsed": false
      },
      {
        "blockId": 60,
        "x": 7680,
        "y": -140,
        "isCollapsed": false
      },
      {
        "blockId": 61,
        "x": 6920,
        "y": -860,
        "isCollapsed": false
      },
      {
        "blockId": 62,
        "x": 7420,
        "y": -80,
        "isCollapsed": false
      },
      {
        "blockId": 63,
        "x": 7120,
        "y": 220,
        "isCollapsed": false
      },
      {
        "blockId": 64,
        "x": 6260,
        "y": -480,
        "isCollapsed": false
      },
      {
        "blockId": 65,
        "x": 6020,
        "y": -500,
        "isCollapsed": false
      },
      {
        "blockId": 66,
        "x": 5740,
        "y": -520,
        "isCollapsed": false
      },
      {
        "blockId": 67,
        "x": 5160,
        "y": -800,
        "isCollapsed": false
      },
      {
        "blockId": 68,
        "x": 2480,
        "y": 2700,
        "isCollapsed": false
      },
      {
        "blockId": 69,
        "x": 5360,
        "y": -560,
        "isCollapsed": false
      },
      {
        "blockId": 70,
        "x": 5420,
        "y": -320,
        "isCollapsed": false
      },
      {
        "blockId": 71,
        "x": 5420,
        "y": -220,
        "isCollapsed": false
      },
      {
        "blockId": 72,
        "x": 6820,
        "y": 240,
        "isCollapsed": false
      },
      {
        "blockId": 73,
        "x": 6480,
        "y": 260,
        "isCollapsed": false
      },
      {
        "blockId": 74,
        "x": 6580,
        "y": 1060,
        "isCollapsed": false
      },
      {
        "blockId": 75,
        "x": 6340,
        "y": 1000,
        "isCollapsed": false
      },
      {
        "blockId": 76,
        "x": 5940,
        "y": 700,
        "isCollapsed": false
      },
      {
        "blockId": 77,
        "x": 5700,
        "y": 700,
        "isCollapsed": false
      },
      {
        "blockId": 78,
        "x": 5460,
        "y": 620,
        "isCollapsed": false
      },
      {
        "blockId": 79,
        "x": 4900,
        "y": -280,
        "isCollapsed": false
      },
      {
        "blockId": 80,
        "x": 4400,
        "y": 40,
        "isCollapsed": false
      },
      {
        "blockId": 81,
        "x": 4120,
        "y": -360,
        "isCollapsed": false
      },
      {
        "blockId": 82,
        "x": 3880,
        "y": -500,
        "isCollapsed": false
      },
      {
        "blockId": 83,
        "x": 3640,
        "y": -580,
        "isCollapsed": false
      },
      {
        "blockId": 84,
        "x": 3440,
        "y": -920,
        "isCollapsed": false
      },
      {
        "blockId": 85,
        "x": 3640,
        "y": -380,
        "isCollapsed": false
      },
      {
        "blockId": 86,
        "x": 3400,
        "y": -380,
        "isCollapsed": false
      },
      {
        "blockId": 87,
        "x": 3140,
        "y": -380,
        "isCollapsed": false
      },
      {
        "blockId": 88,
        "x": 2900,
        "y": -460,
        "isCollapsed": false
      },
      {
        "blockId": 89,
        "x": 2140,
        "y": -920,
        "isCollapsed": false
      },
      {
        "blockId": 90,
        "x": 1860,
        "y": -860,
        "isCollapsed": false
      },
      {
        "blockId": 91,
        "x": 2680,
        "y": -400,
        "isCollapsed": false
      },
      {
        "blockId": 92,
        "x": 2420,
        "y": -400,
        "isCollapsed": false
      },
      {
        "blockId": 93,
        "x": 2160,
        "y": -540,
        "isCollapsed": false
      },
      {
        "blockId": 94,
        "x": 1080,
        "y": 500,
        "isCollapsed": false
      },
      {
        "blockId": 95,
        "x": 820,
        "y": 520,
        "isCollapsed": false
      },
      {
        "blockId": 96,
        "x": 580,
        "y": 480,
        "isCollapsed": false
      },
      {
        "blockId": 97,
        "x": 120,
        "y": 700,
        "isCollapsed": false
      },
      {
        "blockId": 98,
        "x": 580,
        "y": 600,
        "isCollapsed": false
      },
      {
        "blockId": 99,
        "x": 120,
        "y": 600,
        "isCollapsed": false
      },
      {
        "blockId": 100,
        "x": 2160,
        "y": -420,
        "isCollapsed": false
      },
      {
        "blockId": 101,
        "x": 2160,
        "y": -320,
        "isCollapsed": false
      },
      {
        "blockId": 102,
        "x": 1920,
        "y": -360,
        "isCollapsed": false
      },
      {
        "blockId": 103,
        "x": 1680,
        "y": -360,
        "isCollapsed": false
      },
      {
        "blockId": 104,
        "x": 3880,
        "y": -260,
        "isCollapsed": false
      },
      {
        "blockId": 105,
        "x": 3400,
        "y": -260,
        "isCollapsed": false
      },
      {
        "blockId": 106,
        "x": 3640,
        "y": -180,
        "isCollapsed": false
      },
      {
        "blockId": 107,
        "x": 3400,
        "y": -160,
        "isCollapsed": false
      },
      {
        "blockId": 108,
        "x": 3140,
        "y": -200,
        "isCollapsed": false
      },
      {
        "blockId": 109,
        "x": 2900,
        "y": -240,
        "isCollapsed": false
      },
      {
        "blockId": 110,
        "x": 2680,
        "y": -180,
        "isCollapsed": false
      },
      {
        "blockId": 111,
        "x": 2420,
        "y": -240,
        "isCollapsed": false
      },
      {
        "blockId": 112,
        "x": 2420,
        "y": -100,
        "isCollapsed": false
      },
      {
        "blockId": 113,
        "x": 2160,
        "y": -180,
        "isCollapsed": false
      },
      {
        "blockId": 114,
        "x": 1920,
        "y": -220,
        "isCollapsed": false
      },
      {
        "blockId": 115,
        "x": 2160,
        "y": -80,
        "isCollapsed": false
      },
      {
        "blockId": 116,
        "x": 1920,
        "y": -140,
        "isCollapsed": false
      },
      {
        "blockId": 117,
        "x": 1660,
        "y": -80,
        "isCollapsed": false
      },
      {
        "blockId": 118,
        "x": 2900,
        "y": -140,
        "isCollapsed": false
      },
      {
        "blockId": 119,
        "x": 3400,
        "y": 60,
        "isCollapsed": false
      },
      {
        "blockId": 120,
        "x": 3140,
        "y": 60,
        "isCollapsed": false
      },
      {
        "blockId": 121,
        "x": 2900,
        "y": 0,
        "isCollapsed": false
      },
      {
        "blockId": 122,
        "x": 2680,
        "y": 0,
        "isCollapsed": false
      },
      {
        "blockId": 123,
        "x": 2420,
        "y": 40,
        "isCollapsed": false
      },
      {
        "blockId": 124,
        "x": 2900,
        "y": 120,
        "isCollapsed": false
      },
      {
        "blockId": 125,
        "x": 2680,
        "y": 120,
        "isCollapsed": false
      },
      {
        "blockId": 126,
        "x": 4400,
        "y": 2280,
        "isCollapsed": false
      },
      {
        "blockId": 127,
        "x": 4160,
        "y": 2280,
        "isCollapsed": false
      },
      {
        "blockId": 128,
        "x": 3940,
        "y": 2220,
        "isCollapsed": false
      },
      {
        "blockId": 129,
        "x": 3940,
        "y": 2300,
        "isCollapsed": false
      },
      {
        "blockId": 130,
        "x": 3700,
        "y": 2300,
        "isCollapsed": false
      },
      {
        "blockId": 131,
        "x": 3700,
        "y": 2400,
        "isCollapsed": false
      },
      {
        "blockId": 132,
        "x": 3480,
        "y": 2400,
        "isCollapsed": false
      },
      {
        "blockId": 133,
        "x": 3240,
        "y": 2340,
        "isCollapsed": false
      },
      {
        "blockId": 134,
        "x": 2740,
        "y": 2680,
        "isCollapsed": false
      },
      {
        "blockId": 135,
        "x": 4920,
        "y": 620,
        "isCollapsed": false
      },
      {
        "blockId": 136,
        "x": 4400,
        "y": 980,
        "isCollapsed": false
      },
      {
        "blockId": 137,
        "x": 4120,
        "y": 580,
        "isCollapsed": false
      },
      {
        "blockId": 138,
        "x": 3880,
        "y": 460,
        "isCollapsed": false
      },
      {
        "blockId": 139,
        "x": 3640,
        "y": 380,
        "isCollapsed": false
      },
      {
        "blockId": 140,
        "x": 3640,
        "y": 560,
        "isCollapsed": false
      },
      {
        "blockId": 141,
        "x": 3400,
        "y": 560,
        "isCollapsed": false
      },
      {
        "blockId": 142,
        "x": 3140,
        "y": 560,
        "isCollapsed": false
      },
      {
        "blockId": 143,
        "x": 2900,
        "y": 500,
        "isCollapsed": false
      },
      {
        "blockId": 144,
        "x": 2680,
        "y": 540,
        "isCollapsed": false
      },
      {
        "blockId": 145,
        "x": 2420,
        "y": 540,
        "isCollapsed": false
      },
      {
        "blockId": 146,
        "x": 2160,
        "y": 400,
        "isCollapsed": false
      },
      {
        "blockId": 147,
        "x": 2160,
        "y": 520,
        "isCollapsed": false
      },
      {
        "blockId": 148,
        "x": 2160,
        "y": 640,
        "isCollapsed": false
      },
      {
        "blockId": 149,
        "x": 1920,
        "y": 600,
        "isCollapsed": false
      },
      {
        "blockId": 150,
        "x": 1660,
        "y": 600,
        "isCollapsed": false
      },
      {
        "blockId": 151,
        "x": 3880,
        "y": 680,
        "isCollapsed": false
      },
      {
        "blockId": 152,
        "x": 3400,
        "y": 680,
        "isCollapsed": false
      },
      {
        "blockId": 153,
        "x": 3640,
        "y": 760,
        "isCollapsed": false
      },
      {
        "blockId": 154,
        "x": 3400,
        "y": 800,
        "isCollapsed": false
      },
      {
        "blockId": 155,
        "x": 3140,
        "y": 760,
        "isCollapsed": false
      },
      {
        "blockId": 156,
        "x": 2900,
        "y": 720,
        "isCollapsed": false
      },
      {
        "blockId": 157,
        "x": 2680,
        "y": 760,
        "isCollapsed": false
      },
      {
        "blockId": 158,
        "x": 2420,
        "y": 700,
        "isCollapsed": false
      },
      {
        "blockId": 159,
        "x": 2420,
        "y": 840,
        "isCollapsed": false
      },
      {
        "blockId": 160,
        "x": 2160,
        "y": 760,
        "isCollapsed": false
      },
      {
        "blockId": 161,
        "x": 1920,
        "y": 720,
        "isCollapsed": false
      },
      {
        "blockId": 162,
        "x": 2160,
        "y": 860,
        "isCollapsed": false
      },
      {
        "blockId": 163,
        "x": 1920,
        "y": 820,
        "isCollapsed": false
      },
      {
        "blockId": 164,
        "x": 1660,
        "y": 700,
        "isCollapsed": false
      },
      {
        "blockId": 165,
        "x": 2900,
        "y": 820,
        "isCollapsed": false
      },
      {
        "blockId": 166,
        "x": 3400,
        "y": 1020,
        "isCollapsed": false
      },
      {
        "blockId": 167,
        "x": 3140,
        "y": 1020,
        "isCollapsed": false
      },
      {
        "blockId": 168,
        "x": 2900,
        "y": 960,
        "isCollapsed": false
      },
      {
        "blockId": 169,
        "x": 2680,
        "y": 960,
        "isCollapsed": false
      },
      {
        "blockId": 170,
        "x": 2420,
        "y": 1000,
        "isCollapsed": false
      },
      {
        "blockId": 171,
        "x": 2900,
        "y": 1060,
        "isCollapsed": false
      },
      {
        "blockId": 172,
        "x": 2680,
        "y": 1080,
        "isCollapsed": false
      },
      {
        "blockId": 173,
        "x": 4400,
        "y": 2680,
        "isCollapsed": false
      },
      {
        "blockId": 174,
        "x": 4160,
        "y": 2680,
        "isCollapsed": false
      },
      {
        "blockId": 175,
        "x": 3940,
        "y": 2620,
        "isCollapsed": false
      },
      {
        "blockId": 176,
        "x": 3940,
        "y": 2720,
        "isCollapsed": false
      },
      {
        "blockId": 177,
        "x": 3700,
        "y": 2720,
        "isCollapsed": false
      },
      {
        "blockId": 178,
        "x": 3700,
        "y": 2800,
        "isCollapsed": false
      },
      {
        "blockId": 179,
        "x": 3480,
        "y": 2800,
        "isCollapsed": false
      },
      {
        "blockId": 180,
        "x": 3240,
        "y": 2740,
        "isCollapsed": false
      },
      {
        "blockId": 181,
        "x": 4900,
        "y": 1520,
        "isCollapsed": false
      },
      {
        "blockId": 182,
        "x": 4400,
        "y": 1940,
        "isCollapsed": false
      },
      {
        "blockId": 183,
        "x": 4120,
        "y": 1540,
        "isCollapsed": false
      },
      {
        "blockId": 184,
        "x": 3880,
        "y": 1400,
        "isCollapsed": false
      },
      {
        "blockId": 185,
        "x": 3620,
        "y": 1320,
        "isCollapsed": false
      },
      {
        "blockId": 186,
        "x": 3640,
        "y": 1520,
        "isCollapsed": false
      },
      {
        "blockId": 187,
        "x": 3400,
        "y": 1520,
        "isCollapsed": false
      },
      {
        "blockId": 188,
        "x": 3140,
        "y": 1520,
        "isCollapsed": false
      },
      {
        "blockId": 189,
        "x": 2900,
        "y": 1440,
        "isCollapsed": false
      },
      {
        "blockId": 190,
        "x": 2680,
        "y": 1500,
        "isCollapsed": false
      },
      {
        "blockId": 191,
        "x": 2420,
        "y": 1500,
        "isCollapsed": false
      },
      {
        "blockId": 192,
        "x": 2160,
        "y": 1360,
        "isCollapsed": false
      },
      {
        "blockId": 193,
        "x": 2160,
        "y": 1480,
        "isCollapsed": false
      },
      {
        "blockId": 194,
        "x": 2160,
        "y": 1580,
        "isCollapsed": false
      },
      {
        "blockId": 195,
        "x": 1920,
        "y": 1540,
        "isCollapsed": false
      },
      {
        "blockId": 196,
        "x": 1660,
        "y": 1540,
        "isCollapsed": false
      },
      {
        "blockId": 197,
        "x": 3880,
        "y": 1640,
        "isCollapsed": false
      },
      {
        "blockId": 198,
        "x": 3400,
        "y": 1640,
        "isCollapsed": false
      },
      {
        "blockId": 199,
        "x": 3640,
        "y": 1720,
        "isCollapsed": false
      },
      {
        "blockId": 200,
        "x": 3400,
        "y": 1740,
        "isCollapsed": false
      },
      {
        "blockId": 201,
        "x": 3140,
        "y": 1700,
        "isCollapsed": false
      },
      {
        "blockId": 202,
        "x": 2900,
        "y": 1660,
        "isCollapsed": false
      },
      {
        "blockId": 203,
        "x": 2680,
        "y": 1720,
        "isCollapsed": false
      },
      {
        "blockId": 204,
        "x": 2420,
        "y": 1660,
        "isCollapsed": false
      },
      {
        "blockId": 205,
        "x": 2420,
        "y": 1800,
        "isCollapsed": false
      },
      {
        "blockId": 206,
        "x": 2160,
        "y": 1720,
        "isCollapsed": false
      },
      {
        "blockId": 207,
        "x": 1920,
        "y": 1680,
        "isCollapsed": false
      },
      {
        "blockId": 208,
        "x": 2160,
        "y": 1820,
        "isCollapsed": false
      },
      {
        "blockId": 209,
        "x": 1920,
        "y": 1760,
        "isCollapsed": false
      },
      {
        "blockId": 210,
        "x": 1660,
        "y": 1820,
        "isCollapsed": false
      },
      {
        "blockId": 211,
        "x": 2900,
        "y": 1760,
        "isCollapsed": false
      },
      {
        "blockId": 212,
        "x": 3400,
        "y": 1960,
        "isCollapsed": false
      },
      {
        "blockId": 213,
        "x": 3140,
        "y": 1960,
        "isCollapsed": false
      },
      {
        "blockId": 214,
        "x": 2900,
        "y": 1900,
        "isCollapsed": false
      },
      {
        "blockId": 215,
        "x": 2680,
        "y": 1900,
        "isCollapsed": false
      },
      {
        "blockId": 216,
        "x": 2420,
        "y": 1940,
        "isCollapsed": false
      },
      {
        "blockId": 217,
        "x": 2900,
        "y": 2020,
        "isCollapsed": false
      },
      {
        "blockId": 218,
        "x": 2680,
        "y": 2020,
        "isCollapsed": false
      },
      {
        "blockId": 219,
        "x": 4400,
        "y": 3080,
        "isCollapsed": false
      },
      {
        "blockId": 220,
        "x": 4160,
        "y": 3080,
        "isCollapsed": false
      },
      {
        "blockId": 221,
        "x": 3940,
        "y": 3020,
        "isCollapsed": false
      },
      {
        "blockId": 222,
        "x": 3940,
        "y": 3100,
        "isCollapsed": false
      },
      {
        "blockId": 223,
        "x": 3700,
        "y": 3100,
        "isCollapsed": false
      },
      {
        "blockId": 224,
        "x": 3700,
        "y": 3200,
        "isCollapsed": false
      },
      {
        "blockId": 225,
        "x": 3480,
        "y": 3200,
        "isCollapsed": false
      },
      {
        "blockId": 226,
        "x": 3240,
        "y": 3140,
        "isCollapsed": false
      },
      {
        "blockId": 227,
        "x": 6100,
        "y": 1080,
        "isCollapsed": false
      },
      {
        "blockId": 228,
        "x": 5820,
        "y": 1080,
        "isCollapsed": false
      },
      {
        "blockId": 229,
        "x": 6340,
        "y": 1120,
        "isCollapsed": false
      },
      {
        "blockId": 230,
        "x": 7140,
        "y": -20,
        "isCollapsed": false
      },
      {
        "blockId": 231,
        "x": 6840,
        "y": -160,
        "isCollapsed": false
      }
    ],
    "frames": [
      {
        "x": 520,
        "y": 440,
        "width": 533.455,
        "height": 280,
        "color": [
          0.2823529411764706,
          0.2823529411764706,
          0.2823529411764706
        ],
        "name": "gridPos",
        "isCollapsed": false,
        "blocks": [
          96,
          98,
          95
        ]
      },
      {
        "x": 1550,
        "y": -670,
        "width": 3077.37,
        "height": 920,
        "color": [
          0.1568627450980392,
          0.27450980392156865,
          0.5019607843137255
        ],
        "name": "contributionOnAxis X",
        "isCollapsed": false,
        "blocks": [
          117,
          116,
          115,
          113,
          114,
          112,
          102,
          103,
          101,
          111,
          109,
          104,
          118,
          107,
          106,
          108,
          105,
          93,
          110,
          92,
          100,
          91,
          88,
          87,
          86,
          85,
          82,
          83,
          81,
          125,
          123,
          122,
          121,
          124,
          120,
          119,
          80
        ]
      },
      {
        "x": 1550,
        "y": 280,
        "width": 3077.37,
        "height": 920,
        "color": [
          0.1568627450980392,
          0.27450980392156865,
          0.5019607843137255
        ],
        "name": "contributionOnAxis Y",
        "isCollapsed": false,
        "blocks": [
          164,
          163,
          162,
          160,
          161,
          159,
          149,
          150,
          148,
          158,
          156,
          151,
          165,
          154,
          153,
          155,
          152,
          146,
          157,
          145,
          147,
          144,
          143,
          142,
          141,
          140,
          138,
          139,
          137,
          172,
          170,
          169,
          168,
          171,
          167,
          166,
          136
        ]
      },
      {
        "x": 1550,
        "y": 1230,
        "width": 3077.37,
        "height": 920,
        "color": [
          0.1568627450980392,
          0.27450980392156865,
          0.5019607843137255
        ],
        "name": "contributionOnAxis Z",
        "isCollapsed": false,
        "blocks": [
          210,
          209,
          208,
          206,
          207,
          205,
          195,
          196,
          194,
          204,
          202,
          197,
          211,
          200,
          199,
          201,
          198,
          192,
          203,
          191,
          193,
          190,
          189,
          188,
          187,
          186,
          184,
          185,
          183,
          218,
          216,
          215,
          214,
          217,
          213,
          212,
          182
        ]
      },
      {
        "x": 3220,
        "y": 2180,
        "width": 1405.06,
        "height": 360,
        "color": [
          0.17647058823529413,
          0.5568627450980392,
          0.2196078431372549
        ],
        "name": "normalImpact X",
        "isCollapsed": false,
        "blocks": [
          131,
          128,
          130,
          133,
          132,
          129,
          126,
          127
        ]
      },
      {
        "x": 3220,
        "y": 2980,
        "width": 1405.06,
        "height": 360,
        "color": [
          0.17647058823529413,
          0.5568627450980392,
          0.2196078431372549
        ],
        "name": "normalImpact Z",
        "isCollapsed": false,
        "blocks": [
          224,
          221,
          223,
          226,
          225,
          222,
          219,
          220
        ]
      },
      {
        "x": 5780,
        "y": 940,
        "width": 1035.68,
        "height": 280,
        "color": [
          0.25882352941176473,
          0.592156862745098,
          0.8431372549019608
        ],
        "name": "Opacity",
        "isCollapsed": false,
        "blocks": [
          228,
          227,
          229,
          75,
          74
        ]
      },
      {
        "x": 4700,
        "y": -1330,
        "width": 1080.62,
        "height": 360,
        "color": [
          0.2823529411764706,
          0.2823529411764706,
          0.2823529411764706
        ],
        "name": "Vertex output",
        "isCollapsed": false,
        "blocks": [
          57,
          55,
          58,
          54,
          53
        ]
      },
      {
        "x": 5290,
        "y": -620,
        "width": 1214.37,
        "height": 500,
        "color": [
          0.9254901960784314,
          0.9490196078431372,
          0.30980392156862746
        ],
        "name": "Lights",
        "isCollapsed": false,
        "blocks": [
          69,
          66,
          70,
          71,
          65,
          64
        ]
      },
      {
        "x": 6440,
        "y": 150,
        "width": 920.767,
        "height": 280,
        "color": [
          0.7176470588235294,
          0.23137254901960785,
          0.23137254901960785
        ],
        "name": "Color",
        "isCollapsed": false,
        "blocks": [
          73,
          63,
          72
        ]
      },
      {
        "x": 5410,
        "y": 560,
        "width": 771.359,
        "height": 280,
        "color": [
          0.6274509803921569,
          0.23137254901960785,
          0.7176470588235294
        ],
        "name": "grid",
        "isCollapsed": false,
        "blocks": [
          78,
          77,
          76
        ]
      },
      {
        "x": 3220,
        "y": 2580,
        "width": 1408.81,
        "height": 380,
        "color": [
          0.17647058823529413,
          0.5568627450980392,
          0.2196078431372549
        ],
        "name": "normalImpact Y",
        "isCollapsed": false,
        "blocks": [
          175,
          177,
          180,
          179,
          178,
          176,
          174,
          173
        ]
      }
    ],
    "x": -5627.894028040197,
    "y": 311.00206327258377,
    "zoom": 0.8961691864526926
  },
  "customType": "BABYLON.NodeMaterial",
  "outputNodes": [
    53,
    59
  ],
  "blocks": [
    {
      "customType": "BABYLON.VertexOutputBlock",
      "id": 53,
      "name": "VertexOutput",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [
        {
          "name": "vector",
          "inputName": "vector",
          "targetBlockId": 54,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": []
    },
    {
      "customType": "BABYLON.TransformBlock",
      "id": 54,
      "name": "WorldPos * ViewProjectionTransform",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [
        {
          "name": "vector",
          "inputName": "vector",
          "targetBlockId": 55,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "transform",
          "inputName": "transform",
          "targetBlockId": 58,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        },
        {
          "name": "xyz"
        }
      ],
      "complementZ": 0,
      "complementW": 1
    },
    {
      "customType": "BABYLON.TransformBlock",
      "id": 55,
      "name": "WorldPos",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [
        {
          "name": "vector",
          "inputName": "vector",
          "targetBlockId": 56,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "transform",
          "inputName": "transform",
          "targetBlockId": 57,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        },
        {
          "name": "xyz"
        }
      ],
      "complementZ": 0,
      "complementW": 1
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 56,
      "name": "position",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 8,
      "mode": 1,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 57,
      "name": "World",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 128,
      "mode": 0,
      "systemValue": 1,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 58,
      "name": "ViewProjection",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 128,
      "mode": 0,
      "systemValue": 4,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false
    },
    {
      "customType": "BABYLON.FragmentOutputBlock",
      "id": 59,
      "name": "FragmentOutput",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 2,
      "inputs": [
        {
          "name": "rgba",
          "inputName": "rgba",
          "targetBlockId": 60,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "rgb"
        },
        {
          "name": "a"
        },
        {
          "name": "glow"
        }
      ],
      "outputs": [],
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "useLogarithmicDepth": false
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 60,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 61,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 62,
          "targetConnectionName": "xyzw",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 61,
      "name": "color",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 64,
      "mode": 1,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false
    },
    {
      "customType": "BABYLON.VectorMergerBlock",
      "id": 62,
      "name": "VectorMerger",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "xyzw "
        },
        {
          "name": "xyz ",
          "inputName": "xyz ",
          "targetBlockId": 63,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "xy "
        },
        {
          "name": "zw "
        },
        {
          "name": "x"
        },
        {
          "name": "y"
        },
        {
          "name": "z"
        },
        {
          "name": "w",
          "inputName": "w",
          "targetBlockId": 230,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "xyzw"
        },
        {
          "name": "xyz"
        },
        {
          "name": "xy"
        },
        {
          "name": "zw"
        }
      ],
      "xSwizzle": "x",
      "ySwizzle": "y",
      "zSwizzle": "z",
      "wSwizzle": "w"
    },
    {
      "customType": "BABYLON.LerpBlock",
      "id": 63,
      "name": "color",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 64,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 72,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "gradient",
          "inputName": "gradient",
          "targetBlockId": 76,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 64,
      "name": "Clamp",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 65,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 65,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 66,
          "targetConnectionName": "diffuseOutput",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 66,
          "targetConnectionName": "specularOutput",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.LightBlock",
      "id": 66,
      "name": "Lights",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 3,
      "inputs": [
        {
          "name": "worldPosition",
          "inputName": "worldPosition",
          "targetBlockId": 55,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "worldNormal",
          "inputName": "worldNormal",
          "targetBlockId": 67,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "cameraPosition",
          "inputName": "cameraPosition",
          "targetBlockId": 69,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "glossiness"
        },
        {
          "name": "glossPower"
        },
        {
          "name": "diffuseColor",
          "inputName": "diffuseColor",
          "targetBlockId": 70,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "specularColor",
          "inputName": "specularColor",
          "targetBlockId": 71,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "view"
        }
      ],
      "outputs": [
        {
          "name": "diffuseOutput"
        },
        {
          "name": "specularOutput"
        },
        {
          "name": "shadow"
        }
      ]
    },
    {
      "customType": "BABYLON.TransformBlock",
      "id": 67,
      "name": "World normal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [
        {
          "name": "vector",
          "inputName": "vector",
          "targetBlockId": 68,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "transform",
          "inputName": "transform",
          "targetBlockId": 57,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        },
        {
          "name": "xyz"
        }
      ],
      "complementZ": 0,
      "complementW": 0
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 68,
      "name": "normal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 8,
      "mode": 1,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 69,
      "name": "cameraPosition",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 8,
      "mode": 0,
      "systemValue": 7,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 70,
      "name": "Diffuse color",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 32,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "BABYLON.Color3",
      "value": [
        1,
        1,
        1
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 71,
      "name": "Specular color",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 32,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "BABYLON.Color3",
      "value": [
        1,
        1,
        1
      ]
    },
    {
      "customType": "BABYLON.LerpBlock",
      "id": 72,
      "name": "Lerp",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 64,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 73,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "gradient",
          "inputName": "gradient",
          "targetBlockId": 74,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 73,
      "name": "Line color",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 32,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "BABYLON.Color3",
      "value": [
        0.2980392156862745,
        0.30196078431372547,
        0.30196078431372547
      ]
    },
    {
      "customType": "BABYLON.MaxBlock",
      "id": 74,
      "name": "opacity",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 75,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 229,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MinBlock",
      "id": 75,
      "name": "Min",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 76,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 227,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 76,
      "name": "grid",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 77,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 77,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 78,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 181,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 78,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 79,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 135,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 79,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 80,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 126,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 80,
      "name": "contributionOnAxis",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 81,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 119,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 81,
      "name": "result * visibility",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 82,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 104,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.LerpBlock",
      "id": 82,
      "name": "visibility",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 83,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 84,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "gradient",
          "inputName": "gradient",
          "targetBlockId": 85,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 83,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 84,
      "name": "Minor unit visibility",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 1,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.3
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 85,
      "name": "Abs",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 86,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 2
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 86,
      "name": "Sign",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 87,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 15
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 87,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 88,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 101,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 88,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 89,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 91,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 89,
      "name": "Round",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 90,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 5
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 90,
      "name": "Major unit frequency",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 1,
      "max": 20,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 2
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 91,
      "name": "floor(position / majorGridFrequency + 0.5)",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 92,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 6
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 92,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 93,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 100,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.DivideBlock",
      "id": 93,
      "name": "position / majorGridFrequency",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 94,
          "targetConnectionName": "x",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 89,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.VectorSplitterBlock",
      "id": 94,
      "name": "VectorSplitter",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "xyzw"
        },
        {
          "name": "xyz ",
          "inputName": "xyz ",
          "targetBlockId": 95,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "xy "
        }
      ],
      "outputs": [
        {
          "name": "xyz"
        },
        {
          "name": "xy"
        },
        {
          "name": "zw"
        },
        {
          "name": "x"
        },
        {
          "name": "y"
        },
        {
          "name": "z"
        },
        {
          "name": "w"
        }
      ]
    },
    {
      "customType": "BABYLON.ScaleBlock",
      "id": 95,
      "name": "gridPos",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 96,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "factor",
          "inputName": "factor",
          "targetBlockId": 98,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 96,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 56,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 97,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 97,
      "name": "Grid offset",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 8,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "BABYLON.Vector3",
      "value": [
        0,
        0,
        0
      ]
    },
    {
      "customType": "BABYLON.ReciprocalBlock",
      "id": 98,
      "name": "Reciprocal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 99,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 99,
      "name": "Grid ratio",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 1,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 100,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 101,
      "name": "floor(position+0.5)",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 102,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 6
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 102,
      "name": "position+0.5",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 103,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 94,
          "targetConnectionName": "x",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 103,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 104,
      "name": "result",
      "comments": "Convert to 0-1 for antialiasing.",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 105,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 106,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 105,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 106,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 105,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 107,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 107,
      "name": "Cos",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 108,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 0
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 108,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 109,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 118,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 109,
      "name": "Clamp",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 110,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": -1,
      "maximum": 1
    },
    {
      "customType": "BABYLON.DivideBlock",
      "id": 110,
      "name": "fractionPartOfPosition /= differentialLength",
      "comments": "adapt to the screen space size it takes",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 111,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 112,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 111,
      "name": "fractionPartOfPosition",
      "comments": "fract part around unit [-0.5; 0.5]",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 94,
          "targetConnectionName": "x",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 101,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 112,
      "name": "diagonal length",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 113,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 115,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 113,
      "name": "Sqrt",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 114,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 8
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 114,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 2
    },
    {
      "customType": "BABYLON.LengthBlock",
      "id": 115,
      "name": "differentialLength",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 116,
          "targetConnectionName": "xy",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.VectorMergerBlock",
      "id": 116,
      "name": "VectorMerger",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "xyzw "
        },
        {
          "name": "xyz "
        },
        {
          "name": "xy "
        },
        {
          "name": "zw "
        },
        {
          "name": "x",
          "inputName": "x",
          "targetBlockId": 117,
          "targetConnectionName": "dx",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "y",
          "inputName": "y",
          "targetBlockId": 117,
          "targetConnectionName": "dy",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "z"
        },
        {
          "name": "w"
        }
      ],
      "outputs": [
        {
          "name": "xyzw"
        },
        {
          "name": "xyz"
        },
        {
          "name": "xy"
        },
        {
          "name": "zw"
        }
      ],
      "xSwizzle": "x",
      "ySwizzle": "y",
      "zSwizzle": "z",
      "wSwizzle": "w"
    },
    {
      "customType": "BABYLON.DerivativeBlock",
      "id": 117,
      "name": "Derivative",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 2,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 94,
          "targetConnectionName": "x",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "dx"
        },
        {
          "name": "dy"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 118,
      "name": "PI",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 3.14
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 119,
      "name": "anisotropicAttenuation",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 120,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 120,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 121,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 124,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ReciprocalBlock",
      "id": 121,
      "name": "Reciprocal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 122,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 122,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 112,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 123,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 123,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.ReciprocalBlock",
      "id": 124,
      "name": "Reciprocal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 125,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 125,
      "name": "maxNumberOfLines",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 10
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 126,
      "name": "normalImpact",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 127,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 127,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 128,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 129,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 128,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 129,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 130,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 131,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 130,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 3
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 131,
      "name": "Abs",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 132,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 2
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 132,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 133,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 134,
          "targetConnectionName": "x",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 133,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 134,
          "targetConnectionName": "x",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 134,
          "targetConnectionName": "x",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.VectorSplitterBlock",
      "id": 134,
      "name": "VectorSplitter",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "xyzw"
        },
        {
          "name": "xyz ",
          "inputName": "xyz ",
          "targetBlockId": 68,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "xy "
        }
      ],
      "outputs": [
        {
          "name": "xyz"
        },
        {
          "name": "xy"
        },
        {
          "name": "zw"
        },
        {
          "name": "x"
        },
        {
          "name": "y"
        },
        {
          "name": "z"
        },
        {
          "name": "w"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 135,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 136,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 173,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 136,
      "name": "contributionOnAxis",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 137,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 166,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 137,
      "name": "result * visibility",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 138,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 151,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.LerpBlock",
      "id": 138,
      "name": "visibility",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 139,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 84,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "gradient",
          "inputName": "gradient",
          "targetBlockId": 140,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 139,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 140,
      "name": "Abs",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 141,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 2
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 141,
      "name": "Sign",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 142,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 15
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 142,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 143,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 148,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 143,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 89,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 144,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 144,
      "name": "floor(position / majorGridFrequency + 0.5)",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 145,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 6
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 145,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 146,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 147,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.DivideBlock",
      "id": 146,
      "name": "position / majorGridFrequency",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 94,
          "targetConnectionName": "y",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 89,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 147,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 148,
      "name": "floor(position+0.5)",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 149,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 6
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 149,
      "name": "position+0.5",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 150,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 94,
          "targetConnectionName": "y",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 150,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 151,
      "name": "result",
      "comments": "Convert to 0-1 for antialiasing.",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 152,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 153,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 152,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 153,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 152,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 154,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 154,
      "name": "Cos",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 155,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 0
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 155,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 156,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 165,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 156,
      "name": "Clamp",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 157,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": -1,
      "maximum": 1
    },
    {
      "customType": "BABYLON.DivideBlock",
      "id": 157,
      "name": "fractionPartOfPosition /= differentialLength",
      "comments": "adapt to the screen space size it takes",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 158,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 159,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 158,
      "name": "fractionPartOfPosition",
      "comments": "fract part around unit [-0.5; 0.5]",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 94,
          "targetConnectionName": "y",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 148,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 159,
      "name": "diagonal length",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 160,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 162,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 160,
      "name": "Sqrt",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 161,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 8
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 161,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 2
    },
    {
      "customType": "BABYLON.LengthBlock",
      "id": 162,
      "name": "differentialLength",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 163,
          "targetConnectionName": "xy",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.VectorMergerBlock",
      "id": 163,
      "name": "VectorMerger",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "xyzw "
        },
        {
          "name": "xyz "
        },
        {
          "name": "xy "
        },
        {
          "name": "zw "
        },
        {
          "name": "x",
          "inputName": "x",
          "targetBlockId": 164,
          "targetConnectionName": "dx",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "y",
          "inputName": "y",
          "targetBlockId": 164,
          "targetConnectionName": "dy",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "z"
        },
        {
          "name": "w"
        }
      ],
      "outputs": [
        {
          "name": "xyzw"
        },
        {
          "name": "xyz"
        },
        {
          "name": "xy"
        },
        {
          "name": "zw"
        }
      ],
      "xSwizzle": "x",
      "ySwizzle": "y",
      "zSwizzle": "z",
      "wSwizzle": "w"
    },
    {
      "customType": "BABYLON.DerivativeBlock",
      "id": 164,
      "name": "Derivative",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 2,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 94,
          "targetConnectionName": "y",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "dx"
        },
        {
          "name": "dy"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 165,
      "name": "PI",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 3.14
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 166,
      "name": "anisotropicAttenuation",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 167,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 167,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 168,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 171,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ReciprocalBlock",
      "id": 168,
      "name": "Reciprocal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 169,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 169,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 159,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 170,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 170,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.ReciprocalBlock",
      "id": 171,
      "name": "Reciprocal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 172,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 172,
      "name": "maxNumberOfLines",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 10
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 173,
      "name": "normalImpact",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 174,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 174,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 175,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 176,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 175,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 176,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 177,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 178,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 177,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 3
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 178,
      "name": "Abs",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 179,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 2
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 179,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 180,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 134,
          "targetConnectionName": "y",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 180,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 134,
          "targetConnectionName": "y",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 134,
          "targetConnectionName": "y",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 181,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 182,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 219,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 182,
      "name": "contributionOnAxis",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 183,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 212,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 183,
      "name": "result * visibility",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 184,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 197,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.LerpBlock",
      "id": 184,
      "name": "visibility",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 185,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 84,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "gradient",
          "inputName": "gradient",
          "targetBlockId": 186,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 185,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 186,
      "name": "Abs",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 187,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 2
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 187,
      "name": "Sign",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 188,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 15
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 188,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 189,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 194,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 189,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 89,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 190,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 190,
      "name": "floor(position / majorGridFrequency + 0.5)",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 191,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 6
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 191,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 192,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 193,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.DivideBlock",
      "id": 192,
      "name": "position / majorGridFrequency",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 94,
          "targetConnectionName": "z",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 89,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 193,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 194,
      "name": "floor(position+0.5)",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 195,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 6
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 195,
      "name": "position+0.5",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 196,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 94,
          "targetConnectionName": "z",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 196,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 197,
      "name": "result",
      "comments": "Convert to 0-1 for antialiasing.",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 198,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 199,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 198,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.5
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 199,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 198,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 200,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 200,
      "name": "Cos",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 201,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 0
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 201,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 202,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 211,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 202,
      "name": "Clamp",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 203,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": -1,
      "maximum": 1
    },
    {
      "customType": "BABYLON.DivideBlock",
      "id": 203,
      "name": "fractionPartOfPosition /= differentialLength",
      "comments": "adapt to the screen space size it takes",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 204,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 205,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 204,
      "name": "fractionPartOfPosition",
      "comments": "fract part around unit [-0.5; 0.5]",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 94,
          "targetConnectionName": "z",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 194,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 205,
      "name": "diagonal length",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 206,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 208,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 206,
      "name": "Sqrt",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 207,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 8
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 207,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 2
    },
    {
      "customType": "BABYLON.LengthBlock",
      "id": 208,
      "name": "differentialLength",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 209,
          "targetConnectionName": "xy",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.VectorMergerBlock",
      "id": 209,
      "name": "VectorMerger",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "xyzw "
        },
        {
          "name": "xyz "
        },
        {
          "name": "xy "
        },
        {
          "name": "zw "
        },
        {
          "name": "x",
          "inputName": "x",
          "targetBlockId": 210,
          "targetConnectionName": "dx",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "y",
          "inputName": "y",
          "targetBlockId": 210,
          "targetConnectionName": "dy",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "z"
        },
        {
          "name": "w"
        }
      ],
      "outputs": [
        {
          "name": "xyzw"
        },
        {
          "name": "xyz"
        },
        {
          "name": "xy"
        },
        {
          "name": "zw"
        }
      ],
      "xSwizzle": "x",
      "ySwizzle": "y",
      "zSwizzle": "z",
      "wSwizzle": "w"
    },
    {
      "customType": "BABYLON.DerivativeBlock",
      "id": 210,
      "name": "Derivative",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 2,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 94,
          "targetConnectionName": "z",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "dx"
        },
        {
          "name": "dy"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 211,
      "name": "PI",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 3.14
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 212,
      "name": "anisotropicAttenuation",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 213,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 213,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 214,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 217,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.ReciprocalBlock",
      "id": 214,
      "name": "Reciprocal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 215,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 215,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 205,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 216,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 216,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.ReciprocalBlock",
      "id": 217,
      "name": "Reciprocal",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 218,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 218,
      "name": "maxNumberOfLines",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 10
    },
    {
      "customType": "BABYLON.ClampBlock",
      "id": 219,
      "name": "normalImpact",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "value",
          "inputName": "value",
          "targetBlockId": 220,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "minimum": 0,
      "maximum": 1
    },
    {
      "customType": "BABYLON.SubtractBlock",
      "id": 220,
      "name": "Subtract",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 221,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 222,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 221,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 222,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 223,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 224,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 223,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 3
    },
    {
      "customType": "BABYLON.TrigonometryBlock",
      "id": 224,
      "name": "Abs",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "input",
          "inputName": "input",
          "targetBlockId": 225,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "operation": 2
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 225,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 226,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 134,
          "targetConnectionName": "z",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 226,
      "name": "Multiply",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 134,
          "targetConnectionName": "z",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 134,
          "targetConnectionName": "z",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.MultiplyBlock",
      "id": 227,
      "name": "opacity * grid",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 76,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 228,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 228,
      "name": "Opacity",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 1,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 1
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 229,
      "name": "Float",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": true,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0
    },
    {
      "customType": "BABYLON.AddBlock",
      "id": 230,
      "name": "Add",
      "comments": "",
      "visibleInInspector": false,
      "visibleOnFrame": false,
      "target": 4,
      "inputs": [
        {
          "name": "left",
          "inputName": "left",
          "targetBlockId": 231,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        },
        {
          "name": "right",
          "inputName": "right",
          "targetBlockId": 76,
          "targetConnectionName": "output",
          "isExposedOnFrame": true,
          "exposedPortPosition": -1
        }
      ],
      "outputs": [
        {
          "name": "output"
        }
      ]
    },
    {
      "customType": "BABYLON.InputBlock",
      "id": 231,
      "name": "gridAlpha",
      "comments": "",
      "visibleInInspector": true,
      "visibleOnFrame": false,
      "target": 1,
      "inputs": [],
      "outputs": [
        {
          "name": "output"
        }
      ],
      "type": 1,
      "mode": 0,
      "animationType": 0,
      "min": 0,
      "max": 0,
      "isBoolean": false,
      "matrixMode": 0,
      "isConstant": false,
      "groupInInspector": "",
      "convertToGammaSpace": false,
      "convertToLinearSpace": false,
      "valueType": "number",
      "value": 0.1
    }
  ],
  "uniqueId": 5
}