# Graphics APIs — Source Index (W0.2)
# Used by: M1-M4 module surveys (W1A, W1B) and W3.1 bibliography
# URL-type tags: standard | professional | encyclopedia
# Every Khronos URL counts toward the C1 "6+ Khronos citations" floor.
# Research date: 2026-04-20.

khronos_registries:
  - url: https://registry.khronos.org/OpenGL/
    type: standard
    scope: OpenGL + GLSL specifications, reference pages, extension registry
    applies_to: [M1, M2, M5]
  - url: https://registry.khronos.org/OpenGL-Refpages/gl4/
    type: standard
    scope: OpenGL 4 reference pages
    applies_to: [M1]
  - url: https://registry.khronos.org/OpenGL/specs/gl/glspec46.core.pdf
    type: standard
    scope: OpenGL 4.6 core profile specification (authoritative)
    applies_to: [M1]
  - url: https://registry.khronos.org/OpenGL/specs/gl/GLSLangSpec.4.60.pdf
    type: standard
    scope: GLSL 4.60 language specification
    applies_to: [M2]
  - url: https://registry.khronos.org/OpenGL/specs/es/3.2/es_spec_3.2.pdf
    type: standard
    scope: OpenGL ES 3.2 specification
    applies_to: [M1, M2]
  - url: https://registry.khronos.org/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.pdf
    type: standard
    scope: GLSL ES 3.20 specification
    applies_to: [M2]
  - url: https://registry.khronos.org/vulkan/
    type: standard
    scope: Vulkan specification, header files, reference pages
    applies_to: [M4, M5]
  - url: https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html
    type: standard
    scope: Vulkan 1.4 single-page HTML specification
    applies_to: [M4]
  - url: https://registry.khronos.org/webgl/
    type: standard
    scope: WebGL 1.0 + WebGL 2.0 specifications
    applies_to: [M3]
  - url: https://registry.khronos.org/webgl/specs/latest/1.0/
    type: standard
    scope: WebGL 1.0 specification
    applies_to: [M3]
  - url: https://registry.khronos.org/webgl/specs/latest/2.0/
    type: standard
    scope: WebGL 2.0 specification
    applies_to: [M3]
  - url: https://registry.khronos.org/SPIR-V/
    type: standard
    scope: SPIR-V specification (intermediate representation)
    applies_to: [M2, M4, M5]

khronos_wiki_and_landing:
  - url: https://www.khronos.org/opengl/wiki/History_of_OpenGL
    type: standard
    scope: Canonical OpenGL version timeline and key additions per version
    applies_to: [M1]
  - url: https://www.khronos.org/opengl/wiki/Core_Language_(GLSL)
    type: standard
    scope: GLSL core language wiki reference
    applies_to: [M2]
  - url: https://www.khronos.org/opengl/wiki/Shader
    type: standard
    scope: Shader stages, inputs, outputs
    applies_to: [M2, M5]
  - url: https://www.khronos.org/opengl/wiki/Rendering_Pipeline_Overview
    type: standard
    scope: Pipeline overview (stages, fixed-function vs programmable)
    applies_to: [M5]
  - url: https://www.khronos.org/opengl/wiki/OpenGL_Context
    type: standard
    scope: Core vs compatibility profiles, context creation
    applies_to: [M1]
  - url: https://www.khronos.org/opengl/wiki/OpenGL_Extension
    type: standard
    scope: Extension mechanism (vendor, EXT, ARB, core)
    applies_to: [M1]
  - url: https://www.khronos.org/opengles/
    type: standard
    scope: OpenGL ES landing page
    applies_to: [M1]
  - url: https://www.khronos.org/openglsc/
    type: standard
    scope: OpenGL SC (Safety Critical) landing page
    applies_to: [M1]
  - url: https://www.khronos.org/vulkan/
    type: standard
    scope: Vulkan landing, press releases, governance
    applies_to: [M4]
  - url: https://www.khronos.org/news/press/khronos-reveals-vulkan-api-for-high-efficiency-graphics-and-compute-on-gpus
    type: standard
    scope: Vulkan 1.0 release press release (Feb 16 2016)
    applies_to: [M4]
  - url: https://www.khronos.org/webgl/
    type: standard
    scope: WebGL landing page
    applies_to: [M3]
  - url: https://github.com/KhronosGroup
    type: standard
    scope: Khronos open-source repositories (headers, tools, tests)
    applies_to: [M1, M2, M3, M4]
  - url: https://github.com/KhronosGroup/glslang
    type: standard
    scope: glslang reference GLSL→SPIR-V compiler
    applies_to: [M2, M4]

vulkan_ecosystem:
  - url: https://docs.vulkan.org/
    type: professional
    scope: Vulkan Documentation Project — guide, spec, tutorial in one site
    applies_to: [M4, M5]
  - url: https://docs.vulkan.org/guide/latest/index.html
    type: professional
    scope: Vulkan Guide — architecture and best practices
    applies_to: [M4]
  - url: https://docs.vulkan.org/tutorial/latest/00_Introduction.html
    type: professional
    scope: Official Vulkan tutorial
    applies_to: [M4]
  - url: https://www.lunarg.com/vulkan-sdk/
    type: professional
    scope: LunarG Vulkan SDK + validation layers
    applies_to: [M4]
  - url: https://github.com/KhronosGroup/MoltenVK
    type: professional
    scope: Vulkan-on-Metal (macOS/iOS) translation layer
    applies_to: [M4]
  - url: https://github.com/KhronosGroup/SPIRV-Cross
    type: professional
    scope: SPIR-V to GLSL/HLSL/MSL translator
    applies_to: [M2, M4, M5]

webgl_mdn:
  - url: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API
    type: professional
    scope: MDN — WebGL API overview, browser support notes
    applies_to: [M3]
  - url: https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext
    type: professional
    scope: MDN — WebGL 2 rendering context
    applies_to: [M3]
  - url: https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext
    type: professional
    scope: MDN — WebGL 1 rendering context
    applies_to: [M3]
  - url: https://chromium.googlesource.com/angle/angle/
    type: professional
    scope: ANGLE — OpenGL ES / WebGL to Direct3D/Metal/Vulkan translation layer
    applies_to: [M3]

tooling:
  - url: https://renderdoc.org/
    type: professional
    scope: RenderDoc graphics debugger (OpenGL, Vulkan, D3D)
    applies_to: [M5]
  - url: https://developer.nvidia.com/nsight-graphics
    type: professional
    scope: NVIDIA Nsight Graphics profiler / debugger
    applies_to: [M5]
  - url: https://gpuopen.com/rgp/
    type: professional
    scope: Radeon GPU Profiler (Vulkan, D3D12)
    applies_to: [M5]
  - url: https://vulkan.lunarg.com/doc/view/latest/windows/khronos_validation_layer.html
    type: professional
    scope: Khronos validation layer usage
    applies_to: [M4, M5]

encyclopedia:
  - url: https://en.wikipedia.org/wiki/OpenGL
    type: encyclopedia
    scope: OpenGL article (history, versions, adoption)
    applies_to: [M1]
  - url: https://en.wikipedia.org/wiki/OpenGL_Shading_Language
    type: encyclopedia
    scope: GLSL article (version parallel to GL, stages)
    applies_to: [M2]
  - url: https://en.wikipedia.org/wiki/WebGL
    type: encyclopedia
    scope: WebGL article (1.0, 2.0, browser adoption)
    applies_to: [M3]
  - url: https://en.wikipedia.org/wiki/Vulkan
    type: encyclopedia
    scope: Vulkan article (origins, version timeline, adoption)
    applies_to: [M4]
  - url: https://en.wikipedia.org/wiki/SPIR-V
    type: encyclopedia
    scope: SPIR-V article
    applies_to: [M2, M4]
  - url: https://en.wikipedia.org/wiki/Khronos_Group
    type: encyclopedia
    scope: Khronos Group article (governance context)
    applies_to: [M1, M2, M3, M4]
  - url: https://en.wikipedia.org/wiki/Rendering_pipeline
    type: encyclopedia
    scope: Rendering pipeline general reference
    applies_to: [M5]
  - url: https://en.wikipedia.org/wiki/Shader
    type: encyclopedia
    scope: Shader concept (vertex/fragment/geometry/compute)
    applies_to: [M2, M5]
  - url: https://en.wikipedia.org/wiki/Mantle_(API)
    type: encyclopedia
    scope: AMD Mantle (Vulkan predecessor)
    applies_to: [M4]

count_summary:
  total: 46
  standards: 24        # khronos_registries (12) + khronos_wiki_and_landing (12)
  professional: 13     # vulkan_ecosystem (6) + webgl_mdn (4) + tooling (3) — note: gpuopen / lunarg docs split
  encyclopedia: 9      # wikipedia articles
  khronos_floor_ok: true   # ≥ 6 Khronos URLs per module for C1
