{
  "width": 256,
  "height": 128,
  "command": {
    "vert": [
      "precision highp float;",
      "#pragma lines: attribute vec2 xy",
      "#pragma lines: attribute float t",
      "#pragma lines: position = getPosition(xy)",
      "#pragma lines: width = getWidth()",
      "#pragma lines: extrapolate varying float t = getT(t)",
      "uniform float width;",
      "float getWidth() { return width; }",
      "vec4 getPosition(vec2 xy) { return vec4(xy, 0, 1); }",
      "float getT(float t) { return t; }"
    ],
    "frag": [
      "precision highp float;",
      "varying float t;",
      "uniform float width;",
      "void main () {",
      "  gl_FragColor = vec4(vec3(fract(t) > 0.5 ? 1.0 : 0.0), 0.5);",
      "}"
    ],
    "uniforms": {
      "width": 15
    },
    "blend": {
      "enable": true,
      "func": {
        "srcRGB": "src alpha",
        "srcAlpha": 1,
        "dstRGB": "one minus src alpha",
        "dstAlpha": 1
      }
    },
    "depth": {
      "enable": false
    }
  },
  "vertexAttributes": {
    "xy": [
      [-0.8, 0.0],
      [-0.5, 0.0],
      [0.3, 0.7],
      [0.8, 0.7],
      [-0.8, -0.7],
      [-0.3, -0.7],
      [0.5, 0.0],
      [0.8, 0.0]
    ],
    "t": [0, 4, 16, 22, 46, 52, 64, 68]
  },
  "endpointAttributes": {
    "xy": [
      [
        [-0.8, 0.0],
        [-0.5, 0.0],
        [0.3, 0.7]
      ], [
        [0.8, 0.0],
        [0.5, 0.0],
        [-0.3, -0.7]
      ]
    ],
    "t": [
      [ 0, 4, 16 ],
      [ 68, 34, 52 ]
    ]
  },
  "data": {
    "join": "round",
    "cap": "round"
  }
}
