let _webglSupported: boolean | null = null; export function isWebGLSupported(): boolean { if (_webglSupported !== null) return _webglSupported; try { const canvas = document.createElement('canvas'); const gl = canvas.getContext('webgl2') ?? canvas.getContext('webgl') ?? canvas.getContext('experimental-webgl'); _webglSupported = gl !== null; } catch { _webglSupported = false; } return _webglSupported; }