docs: function initialize() {
    var scene = ds = exports.ds = {
      "time": 0,
      "song": null,
      "graph": null,
      "shaders": {},
      "textures": {},
      "texturesToLoad": 0,
      "audio": { "loaded": false, "playing": false },
      "isLoaded": function() {
        return this.graph !== null && this.texturesToLoad === 0 && this.audio.loaded === true;
      },
      "next": null
    };
    scene.gl = initializeWebGL();
    initAudio(scene.audio);
    initUI(scene);
  
    scene.shaders.sprite = createGlslProgram(scene.gl, "vertexShaderSprite", "fragmentShaderSprite");
    scene.shaders.particle = createGlslProgram(scene.gl, "vertexShaderParticle", "fragmentShaderParticle");
  
    window.requestAnimationFrame(animationFrame.bind(null, scene));
  }