{
  "#1": {
    "current": {
      "number": "1",
      "spec": "WebGL",
      "text": "Introduction",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#1"
    }
  },
  "#1.1": {
    "current": {
      "number": "1.1",
      "spec": "WebGL",
      "text": "Conventions",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#1.1"
    }
  },
  "#2": {
    "current": {
      "number": "2",
      "spec": "WebGL",
      "text": "Context Creation and Drawing Buffer Presentation",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2"
    }
  },
  "#2.1": {
    "current": {
      "number": "2.1",
      "spec": "WebGL",
      "text": "Context Creation",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2.1"
    }
  },
  "#2.2": {
    "current": {
      "number": "2.2",
      "spec": "WebGL",
      "text": "The Drawing Buffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2.2"
    }
  },
  "#2.3": {
    "current": {
      "number": "2.3",
      "spec": "WebGL",
      "text": "The WebGL Viewport",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2.3"
    }
  },
  "#2.4": {
    "current": {
      "number": "2.4",
      "spec": "WebGL",
      "text": "Premultiplied Alpha, Canvas APIs and texImage2D",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2.4"
    }
  },
  "#3": {
    "current": {
      "number": "3",
      "spec": "WebGL",
      "text": "WebGL Resources",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#3"
    }
  },
  "#4": {
    "current": {
      "number": "4",
      "spec": "WebGL",
      "text": "Security",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4"
    }
  },
  "#4.1": {
    "current": {
      "number": "4.1",
      "spec": "WebGL",
      "text": "Resource Restrictions",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.1"
    }
  },
  "#4.2": {
    "current": {
      "number": "4.2",
      "spec": "WebGL",
      "text": "Origin Restrictions",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.2"
    }
  },
  "#4.3": {
    "current": {
      "number": "4.3",
      "spec": "WebGL",
      "text": "Supported GLSL Constructs",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.3"
    }
  },
  "#4.4": {
    "current": {
      "number": "4.4",
      "spec": "WebGL",
      "text": "Defense Against Denial of Service",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.4"
    }
  },
  "#4.5": {
    "current": {
      "number": "4.5",
      "spec": "WebGL",
      "text": "Out-of-Range Array Accesses",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.5"
    }
  },
  "#5": {
    "current": {
      "number": "5",
      "spec": "WebGL",
      "text": "DOM Interfaces",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5"
    }
  },
  "#5.1": {
    "current": {
      "number": "5.1",
      "spec": "WebGL",
      "text": "Types",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.1"
    }
  },
  "#5.10": {
    "current": {
      "number": "5.10",
      "spec": "WebGL",
      "text": "WebGLUniformLocation",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.10"
    }
  },
  "#5.11": {
    "current": {
      "number": "5.11",
      "spec": "WebGL",
      "text": "WebGLActiveInfo",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.11"
    }
  },
  "#5.11.1": {
    "current": {
      "number": "5.11.1",
      "spec": "WebGL",
      "text": "Attributes",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.11.1"
    }
  },
  "#5.12": {
    "current": {
      "number": "5.12",
      "spec": "WebGL",
      "text": "WebGLShaderPrecisionFormat",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.12"
    }
  },
  "#5.12.1": {
    "current": {
      "number": "5.12.1",
      "spec": "WebGL",
      "text": "Attributes",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.12.1"
    }
  },
  "#5.13": {
    "current": {
      "number": "5.13",
      "spec": "WebGL",
      "text": "ArrayBuffer and Typed Arrays",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.13"
    }
  },
  "#5.14": {
    "current": {
      "number": "5.14",
      "spec": "WebGL",
      "text": "The WebGL context",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14"
    }
  },
  "#5.14.1": {
    "current": {
      "number": "5.14.1",
      "spec": "WebGL",
      "text": "Attributes",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.1"
    }
  },
  "#5.14.10": {
    "current": {
      "number": "5.14.10",
      "spec": "WebGL",
      "text": "Uniforms and attributes",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.10"
    }
  },
  "#5.14.11": {
    "current": {
      "number": "5.14.11",
      "spec": "WebGL",
      "text": "Draw Operations",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.11"
    }
  },
  "#5.14.12": {
    "current": {
      "number": "5.14.12",
      "spec": "WebGL",
      "text": "Read Operations",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.12"
    }
  },
  "#5.14.13": {
    "current": {
      "number": "5.14.13",
      "spec": "WebGL",
      "text": "Detecting context lost events",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.13"
    }
  },
  "#5.14.14": {
    "current": {
      "number": "5.14.14",
      "spec": "WebGL",
      "text": "Detecting and enabling extensions",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.14"
    }
  },
  "#5.14.2": {
    "current": {
      "number": "5.14.2",
      "spec": "WebGL",
      "text": "Getting information about the context",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.2"
    }
  },
  "#5.14.3": {
    "current": {
      "number": "5.14.3",
      "spec": "WebGL",
      "text": "Setting and getting state",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.3"
    }
  },
  "#5.14.4": {
    "current": {
      "number": "5.14.4",
      "spec": "WebGL",
      "text": "Viewing and clipping",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.4"
    }
  },
  "#5.14.5": {
    "current": {
      "number": "5.14.5",
      "spec": "WebGL",
      "text": "Buffer objects",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.5"
    }
  },
  "#5.14.6": {
    "current": {
      "number": "5.14.6",
      "spec": "WebGL",
      "text": "Framebuffer objects",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.6"
    }
  },
  "#5.14.7": {
    "current": {
      "number": "5.14.7",
      "spec": "WebGL",
      "text": "Renderbuffer objects",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.7"
    }
  },
  "#5.14.8": {
    "current": {
      "number": "5.14.8",
      "spec": "WebGL",
      "text": "Texture objects",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.8"
    }
  },
  "#5.14.9": {
    "current": {
      "number": "5.14.9",
      "spec": "WebGL",
      "text": "Programs and Shaders",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14.9"
    }
  },
  "#5.15": {
    "current": {
      "number": "5.15",
      "spec": "WebGL",
      "text": "WebGLContextEvent",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15"
    }
  },
  "#5.15.1": {
    "current": {
      "number": "5.15.1",
      "spec": "WebGL",
      "text": "Attributes",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.1"
    }
  },
  "#5.15.2": {
    "current": {
      "number": "5.15.2",
      "spec": "WebGL",
      "text": "The Context Lost Event",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.2"
    }
  },
  "#5.15.3": {
    "current": {
      "number": "5.15.3",
      "spec": "WebGL",
      "text": "The Context Restored Event",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.3"
    }
  },
  "#5.15.4": {
    "current": {
      "number": "5.15.4",
      "spec": "WebGL",
      "text": "The Context Creation Error Event",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.4"
    }
  },
  "#5.2": {
    "current": {
      "number": "5.2",
      "spec": "WebGL",
      "text": "WebGLContextAttributes",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.2"
    }
  },
  "#5.2.1": {
    "current": {
      "number": "5.2.1",
      "spec": "WebGL",
      "text": "Context creation parameters",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.2.1"
    }
  },
  "#5.3": {
    "current": {
      "number": "5.3",
      "spec": "WebGL",
      "text": "WebGLObject",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.3"
    }
  },
  "#5.4": {
    "current": {
      "number": "5.4",
      "spec": "WebGL",
      "text": "WebGLBuffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.4"
    }
  },
  "#5.5": {
    "current": {
      "number": "5.5",
      "spec": "WebGL",
      "text": "WebGLFramebuffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.5"
    }
  },
  "#5.6": {
    "current": {
      "number": "5.6",
      "spec": "WebGL",
      "text": "WebGLProgram",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.6"
    }
  },
  "#5.7": {
    "current": {
      "number": "5.7",
      "spec": "WebGL",
      "text": "WebGLRenderbuffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.7"
    }
  },
  "#5.8": {
    "current": {
      "number": "5.8",
      "spec": "WebGL",
      "text": "WebGLShader",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.8"
    }
  },
  "#5.9": {
    "current": {
      "number": "5.9",
      "spec": "WebGL",
      "text": "WebGLTexture",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.9"
    }
  },
  "#6": {
    "current": {
      "number": "6",
      "spec": "WebGL",
      "text": "Differences Between WebGL and OpenGL ES 2.0",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6"
    }
  },
  "#6.1": {
    "current": {
      "number": "6.1",
      "spec": "WebGL",
      "text": "Buffer Object Binding",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.1"
    }
  },
  "#6.10": {
    "current": {
      "number": "6.10",
      "spec": "WebGL",
      "text": "Pixel Storage Parameters",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.10"
    }
  },
  "#6.11": {
    "current": {
      "number": "6.11",
      "spec": "WebGL",
      "text": "Reading Pixels Outside the Framebuffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.11"
    }
  },
  "#6.12": {
    "current": {
      "number": "6.12",
      "spec": "WebGL",
      "text": "Stencil Separate Mask and Reference Value",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.12"
    }
  },
  "#6.13": {
    "current": {
      "number": "6.13",
      "spec": "WebGL",
      "text": "Vertex Attribute Data Stride",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.13"
    }
  },
  "#6.14": {
    "current": {
      "number": "6.14",
      "spec": "WebGL",
      "text": "Viewport Depth Range",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.14"
    }
  },
  "#6.15": {
    "current": {
      "number": "6.15",
      "spec": "WebGL",
      "text": "Blending With Constant Color",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.15"
    }
  },
  "#6.16": {
    "current": {
      "number": "6.16",
      "spec": "WebGL",
      "text": "Fixed point support",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.16"
    }
  },
  "#6.17": {
    "current": {
      "number": "6.17",
      "spec": "WebGL",
      "text": "GLSL Constructs",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.17"
    }
  },
  "#6.18": {
    "current": {
      "number": "6.18",
      "spec": "WebGL",
      "text": "Extension Queries",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.18"
    }
  },
  "#6.19": {
    "current": {
      "number": "6.19",
      "spec": "WebGL",
      "text": "Compressed Texture Support",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.19"
    }
  },
  "#6.2": {
    "current": {
      "number": "6.2",
      "spec": "WebGL",
      "text": "No Client Side Arrays",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.2"
    }
  },
  "#6.20": {
    "current": {
      "number": "6.20",
      "spec": "WebGL",
      "text": "Maximum GLSL Token Size",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.20"
    }
  },
  "#6.21": {
    "current": {
      "number": "6.21",
      "spec": "WebGL",
      "text": "Characters Outside the GLSL Source Character Set",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.21"
    }
  },
  "#6.22": {
    "current": {
      "number": "6.22",
      "spec": "WebGL",
      "text": "Maximum Nesting of Structures in GLSL Shaders",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.22"
    }
  },
  "#6.23": {
    "current": {
      "number": "6.23",
      "spec": "WebGL",
      "text": "Maximum Uniform and Attribute Location Lengths",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.23"
    }
  },
  "#6.24": {
    "current": {
      "number": "6.24",
      "spec": "WebGL",
      "text": "String Length Queries",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.24"
    }
  },
  "#6.25": {
    "current": {
      "number": "6.25",
      "spec": "WebGL",
      "text": "Texture Type in TexSubImage2D Calls",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.25"
    }
  },
  "#6.26": {
    "current": {
      "number": "6.26",
      "spec": "WebGL",
      "text": "Packing Restrictions for Uniforms and Varyings",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.26"
    }
  },
  "#6.27": {
    "current": {
      "number": "6.27",
      "spec": "WebGL",
      "text": "Feedback Loops Between Textures and the Framebuffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.27"
    }
  },
  "#6.28": {
    "current": {
      "number": "6.28",
      "spec": "WebGL",
      "text": "Reading From a Missing Attachment",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.28"
    }
  },
  "#6.29": {
    "current": {
      "number": "6.29",
      "spec": "WebGL",
      "text": "Drawing To a Missing Attachment",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.29"
    }
  },
  "#6.3": {
    "current": {
      "number": "6.3",
      "spec": "WebGL",
      "text": "No Default Textures",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.3"
    }
  },
  "#6.30": {
    "current": {
      "number": "6.30",
      "spec": "WebGL",
      "text": "NaN Line Width",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.30"
    }
  },
  "#6.31": {
    "current": {
      "number": "6.31",
      "spec": "WebGL",
      "text": "Attribute Aliasing",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.31"
    }
  },
  "#6.32": {
    "current": {
      "number": "6.32",
      "spec": "WebGL",
      "text": "Initial value for gl_Position",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.32"
    }
  },
  "#6.33": {
    "current": {
      "number": "6.33",
      "spec": "WebGL",
      "text": "GLSL ES Global Variable Initialization",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.33"
    }
  },
  "#6.34": {
    "current": {
      "number": "6.34",
      "spec": "WebGL",
      "text": "GLSL ES Preprocessor \"defined\" Operator",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.34"
    }
  },
  "#6.35": {
    "current": {
      "number": "6.35",
      "spec": "WebGL",
      "text": "GLSL ES #extension directive location",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.35"
    }
  },
  "#6.36": {
    "current": {
      "number": "6.36",
      "spec": "WebGL",
      "text": "Completeness of Cube Map Framebuffer Attachments",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.36"
    }
  },
  "#6.37": {
    "current": {
      "number": "6.37",
      "spec": "WebGL",
      "text": "Transferring vertices when current program is null",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.37"
    }
  },
  "#6.38": {
    "current": {
      "number": "6.38",
      "spec": "WebGL",
      "text": "Fragment shader output",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.38"
    }
  },
  "#6.39": {
    "current": {
      "number": "6.39",
      "spec": "WebGL",
      "text": "Initial values for GLSL local and global variables",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.39"
    }
  },
  "#6.4": {
    "current": {
      "number": "6.4",
      "spec": "WebGL",
      "text": "No Shader Binaries",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.4"
    }
  },
  "#6.40": {
    "current": {
      "number": "6.40",
      "spec": "WebGL",
      "text": "Vertex attribute conversions from normalized signed integers to floating point",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.40"
    }
  },
  "#6.41": {
    "current": {
      "number": "6.41",
      "spec": "WebGL",
      "text": "Uniform and attribute name collisions",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.41"
    }
  },
  "#6.42": {
    "current": {
      "number": "6.42",
      "spec": "WebGL",
      "text": "Wide point primitive clipping",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.42"
    }
  },
  "#6.43": {
    "current": {
      "number": "6.43",
      "spec": "WebGL",
      "text": "Current program invalidated upon unsuccessful link",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.43"
    }
  },
  "#6.5": {
    "current": {
      "number": "6.5",
      "spec": "WebGL",
      "text": "Buffer Offset and Stride Requirements",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.5"
    }
  },
  "#6.6": {
    "current": {
      "number": "6.6",
      "spec": "WebGL",
      "text": "Enabled Vertex Attributes and Range Checking",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.6"
    }
  },
  "#6.7": {
    "current": {
      "number": "6.7",
      "spec": "WebGL",
      "text": "Out-of-bounds fetches from the index buffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.7"
    }
  },
  "#6.8": {
    "current": {
      "number": "6.8",
      "spec": "WebGL",
      "text": "Framebuffer Object Attachments",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.8"
    }
  },
  "#6.9": {
    "current": {
      "number": "6.9",
      "spec": "WebGL",
      "text": "Texture Upload Width and Height",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.9"
    }
  },
  "#7": {
    "current": {
      "number": "7",
      "spec": "WebGL",
      "text": "References",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#7"
    }
  },
  "#8": {
    "current": {
      "number": "8",
      "spec": "WebGL",
      "text": "Acknowledgments",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#8"
    }
  },
  "#ARRAYBUFFER": {
    "current": {
      "number": "5.13",
      "spec": "WebGL",
      "text": "ArrayBuffer and Typed Arrays",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.13"
    }
  },
  "#ATTRIBS_AND_RANGE_CHECKING": {
    "current": {
      "number": "6.6",
      "spec": "WebGL",
      "text": "Enabled Vertex Attributes and Range Checking",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.6"
    }
  },
  "#ATTRIBUTE_ALIASING": {
    "current": {
      "number": "6.31",
      "spec": "WebGL",
      "text": "Attribute Aliasing",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.31"
    }
  },
  "#BUFFER_OBJECT_BINDING": {
    "current": {
      "number": "6.1",
      "spec": "WebGL",
      "text": "Buffer Object Binding",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.1"
    }
  },
  "#BUFFER_OFFSET_AND_STRIDE": {
    "current": {
      "number": "6.5",
      "spec": "WebGL",
      "text": "Buffer Offset and Stride Requirements",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.5"
    }
  },
  "#CHARACTERS_OUTSIDE_VALID_SET": {
    "current": {
      "number": "6.21",
      "spec": "WebGL",
      "text": "Characters Outside the GLSL Source Character Set",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.21"
    }
  },
  "#COMPRESSED_TEXTURE_SUPPORT": {
    "current": {
      "number": "6.19",
      "spec": "WebGL",
      "text": "Compressed Texture Support",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.19"
    }
  },
  "#CONSTANT_COLOR_BLEND": {
    "current": {
      "number": "6.15",
      "spec": "WebGL",
      "text": "Blending With Constant Color",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.15"
    }
  },
  "#CONTEXT_CREATION_ERROR": {
    "current": {
      "number": "5.15.4",
      "spec": "WebGL",
      "text": "The Context Creation Error Event",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.4"
    }
  },
  "#CONTEXT_LOST": {
    "current": {
      "number": "5.15.2",
      "spec": "WebGL",
      "text": "The Context Lost Event",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.2"
    }
  },
  "#CONTEXT_RESTORED": {
    "current": {
      "number": "5.15.3",
      "spec": "WebGL",
      "text": "The Context Restored Event",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15.3"
    }
  },
  "#CURRENT_PROGRAM_INVALIDATED": {
    "current": {
      "number": "6.43",
      "spec": "WebGL",
      "text": "Current program invalidated upon unsuccessful link",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.43"
    }
  },
  "#DRAWING_TO_MISSING_ATTACHMENT": {
    "current": {
      "number": "6.29",
      "spec": "WebGL",
      "text": "Drawing To a Missing Attachment",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.29"
    }
  },
  "#EXTENSION_DIRECTIVE_LOCATION": {
    "current": {
      "number": "6.35",
      "spec": "WebGL",
      "text": "GLSL ES #extension directive location",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.35"
    }
  },
  "#EXTENSION_QUERIES": {
    "current": {
      "number": "6.18",
      "spec": "WebGL",
      "text": "Extension Queries",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.18"
    }
  },
  "#FBO_ATTACHMENTS": {
    "current": {
      "number": "6.8",
      "spec": "WebGL",
      "text": "Framebuffer Object Attachments",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.8"
    }
  },
  "#GLSL_CONSTRUCTS": {
    "current": {
      "number": "6.17",
      "spec": "WebGL",
      "text": "GLSL Constructs",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.17"
    }
  },
  "#INITIAL_VALUE_GL_POSITION": {
    "current": {
      "number": "6.32",
      "spec": "WebGL",
      "text": "Initial value for gl_Position",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.32"
    }
  },
  "#MAX_GLSL_TOKEN_SIZE": {
    "current": {
      "number": "6.20",
      "spec": "WebGL",
      "text": "Maximum GLSL Token Size",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.20"
    }
  },
  "#MAX_LOCATION_LENGTHS": {
    "current": {
      "number": "6.23",
      "spec": "WebGL",
      "text": "Maximum Uniform and Attribute Location Lengths",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.23"
    }
  },
  "#MAX_STRUCT_NESTING": {
    "current": {
      "number": "6.22",
      "spec": "WebGL",
      "text": "Maximum Nesting of Structures in GLSL Shaders",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.22"
    }
  },
  "#NAN_LINE_WIDTH": {
    "current": {
      "number": "6.30",
      "spec": "WebGL",
      "text": "NaN Line Width",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.30"
    }
  },
  "#ORIGIN_RESTRICTIONS": {
    "current": {
      "number": "4.2",
      "spec": "WebGL",
      "text": "Origin Restrictions",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.2"
    }
  },
  "#OUT_OF_RANGE_ARRAY_ACCESSES": {
    "current": {
      "number": "4.5",
      "spec": "WebGL",
      "text": "Out-of-Range Array Accesses",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.5"
    }
  },
  "#PACKING_RESTRICTIONS": {
    "current": {
      "number": "6.26",
      "spec": "WebGL",
      "text": "Packing Restrictions for Uniforms and Varyings",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.26"
    }
  },
  "#PIXEL_STORAGE_PARAMETERS": {
    "current": {
      "number": "6.10",
      "spec": "WebGL",
      "text": "Pixel Storage Parameters",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.10"
    }
  },
  "#PREMULTIPLIED_ALPHA": {
    "current": {
      "number": "2.4",
      "spec": "WebGL",
      "text": "Premultiplied Alpha, Canvas APIs and texImage2D",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2.4"
    }
  },
  "#PREPROCESSOR_DEFINED_IN_MACRO": {
    "current": {
      "number": "6.34",
      "spec": "WebGL",
      "text": "GLSL ES Preprocessor \"defined\" Operator",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.34"
    }
  },
  "#READING_FROM_MISSING_ATTACHMENT": {
    "current": {
      "number": "6.28",
      "spec": "WebGL",
      "text": "Reading From a Missing Attachment",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.28"
    }
  },
  "#READS_OUTSIDE_FRAMEBUFFER": {
    "current": {
      "number": "6.11",
      "spec": "WebGL",
      "text": "Reading Pixels Outside the Framebuffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.11"
    }
  },
  "#STENCIL_SEPARATE_LIMIT": {
    "current": {
      "number": "6.12",
      "spec": "WebGL",
      "text": "Stencil Separate Mask and Reference Value",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.12"
    }
  },
  "#STRING_LENGTH_QUERIES": {
    "current": {
      "number": "6.24",
      "spec": "WebGL",
      "text": "String Length Queries",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.24"
    }
  },
  "#SUPPORTED_GLSL_CONSTRUCTS": {
    "current": {
      "number": "4.3",
      "spec": "WebGL",
      "text": "Supported GLSL Constructs",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#4.3"
    }
  },
  "#TEXTURE_UPLOAD_SIZE": {
    "current": {
      "number": "6.9",
      "spec": "WebGL",
      "text": "Texture Upload Width and Height",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.9"
    }
  },
  "#THE_DRAWING_BUFFER": {
    "current": {
      "number": "2.2",
      "spec": "WebGL",
      "text": "The Drawing Buffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2.2"
    }
  },
  "#VERTEX_STRIDE": {
    "current": {
      "number": "6.13",
      "spec": "WebGL",
      "text": "Vertex Attribute Data Stride",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.13"
    }
  },
  "#VIEWPORT_DEPTH_RANGE": {
    "current": {
      "number": "6.14",
      "spec": "WebGL",
      "text": "Viewport Depth Range",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6.14"
    }
  },
  "#WEBGLCONTEXTATTRIBUTES": {
    "current": {
      "number": "5.2",
      "spec": "WebGL",
      "text": "WebGLContextAttributes",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.2"
    }
  },
  "#WEBGLCONTEXTEVENT": {
    "current": {
      "number": "5.15",
      "spec": "WebGL",
      "text": "WebGLContextEvent",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.15"
    }
  },
  "#WEBGLRENDERINGCONTEXT": {
    "current": {
      "number": "5.14",
      "spec": "WebGL",
      "text": "The WebGL context",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.14"
    }
  },
  "#WEBGL_FRAMEBUFFER": {
    "current": {
      "number": "5.5",
      "spec": "WebGL",
      "text": "WebGLFramebuffer",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#5.5"
    }
  },
  "#WEBGL_VIEWPORT": {
    "current": {
      "number": "2.3",
      "spec": "WebGL",
      "text": "The WebGL Viewport",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#2.3"
    }
  },
  "#webgl_gl_differences": {
    "current": {
      "number": "6",
      "spec": "WebGL",
      "text": "Differences Between WebGL and OpenGL ES 2.0",
      "url": "https://registry.khronos.org/webgl/specs/latest/1.0/#6"
    }
  }
}