Estou trabalhando em um projeto envolvendo o WebGL e usando o WebStorm para fazer o desenvolvimento.
Um problema com o fluxo de desenvolvimento é que o WebStorm não é capaz de completar automaticamente coisas relacionadas ao WebGL. Em particular, se eu anotar um valor como sendo do tipoWebGLRenderingContext
/** @type {!WebGLRenderingContext} */
var gl;
O WebStorm reclama que WebGLRenderingContext é uma variável não resolvida. Também reclama sobre o uso de métodos gl
, avisando que não consegue encontrar esses métodos e, portanto, eles podem não existir.
Minha solução atual (além de desativar os avisos) é especificar um tipo de registro como este:
* @type {{
* texParameteri: function,
* TEXTURE_WRAP_T: *,
* ...
* }}
var gl;
Mas, obviamente, é um pouco tolo listar pessoalmente dezenas e dezenas de membros padronizados como esse toda vez que eu quero usar um contexto de renderização. Existe uma maneira mais fácil?