Я работаю над проектом с участием WebGL и использую WebStorm для разработки.
Одна из проблем, связанных с процессом разработки, заключается в том, что WebStorm не может автоматически завершать действия, связанные с WebGL. В частности, если я аннотирую значение как имеющее типWebGLRenderingContext
/** @type {!WebGLRenderingContext} */
var gl;
WebStorm жалуется, что WebGLRenderingContext является неразрешенной переменной. Также он жалуется на использование методов gl, предупреждая, что он не может найти эти методы, поэтому они могут не существовать.
Мой текущий обходной путь (помимо простого отключения предупреждений) - указать тип записи следующим образом:
* @type {{
* texParameteri: function,
* TEXTURE_WRAP_T: *,
* ...
* }}
var gl;
Но, очевидно, немного глупо лично перечислять десятки и десятки стандартизированных членов, подобных этому, каждый раз, когда я хочу использовать контекст рендеринга. Есть ли более простой способ?