three-stdlib 2.6.1 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -5,7 +5,7 @@ export { GPUComputationRenderer } from './misc/GPUComputationRenderer.js';
5
5
  export { Gyroscope } from './misc/Gyroscope.js';
6
6
  export { MorphAnimMesh } from './misc/MorphAnimMesh.js';
7
7
  export { RollerCoasterGeometry, RollerCoasterLiftersGeometry, RollerCoasterShadowGeometry, SkyGeometry, TreesGeometry } from './misc/RollerCoaster.js';
8
- export { WEBGL } from './misc/WebGL.js';
8
+ export { getErrorMessage, getWebGL2ErrorMessage, getWebGLErrorMessage, isWebGL2Available, isWebGLAvailable } from './misc/WebGL.js';
9
9
  export { MD2Character } from './misc/MD2Character.js';
10
10
  export { VolumeSlice } from './misc/VolumeSlice.js';
11
11
  export { TubePainter } from './misc/TubePainter.js';
package/misc/WebGL.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e={isWebGLAvailable:function(){try{const e=document.createElement("canvas");return!(!window.WebGLRenderingContext||!e.getContext("webgl")&&!e.getContext("experimental-webgl"))}catch(e){return!1}},isWebGL2Available:function(){try{const e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(e){return!1}},getWebGLErrorMessage:function(){return this.getErrorMessage(1)},getWebGL2ErrorMessage:function(){return this.getErrorMessage(2)},getErrorMessage:function(e){const t={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},n=document.createElement("div");n.id="webglmessage",n.style.fontFamily="monospace",n.style.fontSize="13px",n.style.fontWeight="normal",n.style.textAlign="center",n.style.background="#fff",n.style.color="#000",n.style.padding="1.5em",n.style.width="400px",n.style.margin="5em auto 0";let r='Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>';return r=t[e]?r.replace("$0","graphics card"):r.replace("$0","browser"),r=r.replace("$1",{1:"WebGL",2:"WebGL 2"}[e]),n.innerHTML=r,n}};exports.WEBGL=e;
1
+ "use strict";let e,t;Object.defineProperty(exports,"__esModule",{value:!0}),exports.getErrorMessage=function(e){const t={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},n=document.createElement("div");n.id="webglmessage",n.style.fontFamily="monospace",n.style.fontSize="13px",n.style.fontWeight="normal",n.style.textAlign="center",n.style.background="#fff",n.style.color="#000",n.style.padding="1.5em",n.style.width="400px",n.style.margin="5em auto 0";let r='Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>';return r=t[e]?r.replace("$0","graphics card"):r.replace("$0","browser"),r=r.replace("$1",{1:"WebGL",2:"WebGL 2"}[e]),n.innerHTML=r,n},exports.getWebGL2ErrorMessage=function(){return this.getErrorMessage(2)},exports.getWebGLErrorMessage=function(){return this.getErrorMessage(1)},exports.isWebGL2Available=function(){if(void 0!==t)return t;try{var e;let n;const r=document.createElement("canvas");return t=!(!window.WebGL2RenderingContext||!(n=r.getContext("webgl2"))),n&&(null===(e=n.getExtension("WEBGL_lose_context"))||void 0===e||e.loseContext()),t}catch(e){return t=!1}},exports.isWebGLAvailable=function(){if(void 0!==e)return e;try{var t;let n;const r=document.createElement("canvas");return e=!(!window.WebGLRenderingContext||!(n=r.getContext("webgl"))),n&&(null===(t=n.getExtension("WEBGL_lose_context"))||void 0===t||t.loseContext()),e}catch(t){return e=!1}};
package/misc/WebGL.d.ts CHANGED
@@ -1,7 +1,5 @@
1
- export declare const WEBGL: {
2
- isWebGLAvailable: () => boolean;
3
- isWebGL2Available: () => boolean;
4
- getWebGLErrorMessage: () => HTMLDivElement;
5
- getWebGL2ErrorMessage: () => HTMLDivElement;
6
- getErrorMessage: (version: 1 | 2) => HTMLDivElement;
7
- };
1
+ export declare function isWebGLAvailable(): boolean;
2
+ export declare function isWebGL2Available(): boolean;
3
+ export declare function getWebGLErrorMessage(): HTMLDivElement;
4
+ export declare function getWebGL2ErrorMessage(): HTMLDivElement;
5
+ export declare function getErrorMessage(version: 1 | 2): HTMLDivElement;
package/misc/WebGL.js CHANGED
@@ -1,58 +1,71 @@
1
- const WEBGL = {
2
- isWebGLAvailable: function () {
3
- try {
4
- const canvas = document.createElement('canvas');
5
- return !!(window.WebGLRenderingContext && (canvas.getContext('webgl') || canvas.getContext('experimental-webgl')));
6
- } catch (e) {
7
- return false;
8
- }
9
- },
10
- isWebGL2Available: function () {
11
- try {
12
- const canvas = document.createElement('canvas');
13
- return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2'));
14
- } catch (e) {
15
- return false;
16
- }
17
- },
18
- getWebGLErrorMessage: function () {
19
- return this.getErrorMessage(1);
20
- },
21
- getWebGL2ErrorMessage: function () {
22
- return this.getErrorMessage(2);
23
- },
24
- getErrorMessage: function (version) {
25
- const names = {
26
- 1: 'WebGL',
27
- 2: 'WebGL 2'
28
- };
29
- const contexts = {
30
- 1: window.WebGLRenderingContext,
31
- 2: window.WebGL2RenderingContext
32
- };
33
- const element = document.createElement('div');
34
- element.id = 'webglmessage';
35
- element.style.fontFamily = 'monospace';
36
- element.style.fontSize = '13px';
37
- element.style.fontWeight = 'normal';
38
- element.style.textAlign = 'center';
39
- element.style.background = '#fff';
40
- element.style.color = '#000';
41
- element.style.padding = '1.5em';
42
- element.style.width = '400px';
43
- element.style.margin = '5em auto 0';
44
- let message = 'Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>';
1
+ let webGLAvailable, webGL2Available;
2
+ function isWebGLAvailable() {
3
+ if (webGLAvailable !== undefined) return webGLAvailable;
45
4
 
46
- if (contexts[version]) {
47
- message = message.replace('$0', 'graphics card');
48
- } else {
49
- message = message.replace('$0', 'browser');
50
- }
5
+ try {
6
+ var _gl$getExtension;
51
7
 
52
- message = message.replace('$1', names[version]);
53
- element.innerHTML = message;
54
- return element;
8
+ let gl;
9
+ const canvas = document.createElement('canvas');
10
+ webGLAvailable = !!(window.WebGLRenderingContext && (gl = canvas.getContext('webgl')));
11
+ if (gl) (_gl$getExtension = gl.getExtension('WEBGL_lose_context')) === null || _gl$getExtension === void 0 ? void 0 : _gl$getExtension.loseContext();
12
+ return webGLAvailable;
13
+ } catch (e) {
14
+ return webGLAvailable = false;
55
15
  }
56
- };
16
+ }
17
+ function isWebGL2Available() {
18
+ if (webGL2Available !== undefined) return webGL2Available;
57
19
 
58
- export { WEBGL };
20
+ try {
21
+ var _gl$getExtension2;
22
+
23
+ let gl;
24
+ const canvas = document.createElement('canvas');
25
+ webGL2Available = !!(window.WebGL2RenderingContext && (gl = canvas.getContext('webgl2')));
26
+ if (gl) (_gl$getExtension2 = gl.getExtension('WEBGL_lose_context')) === null || _gl$getExtension2 === void 0 ? void 0 : _gl$getExtension2.loseContext();
27
+ return webGL2Available;
28
+ } catch (e) {
29
+ return webGL2Available = false;
30
+ }
31
+ }
32
+ function getWebGLErrorMessage() {
33
+ return this.getErrorMessage(1);
34
+ }
35
+ function getWebGL2ErrorMessage() {
36
+ return this.getErrorMessage(2);
37
+ }
38
+ function getErrorMessage(version) {
39
+ const names = {
40
+ 1: 'WebGL',
41
+ 2: 'WebGL 2'
42
+ };
43
+ const contexts = {
44
+ 1: window.WebGLRenderingContext,
45
+ 2: window.WebGL2RenderingContext
46
+ };
47
+ const element = document.createElement('div');
48
+ element.id = 'webglmessage';
49
+ element.style.fontFamily = 'monospace';
50
+ element.style.fontSize = '13px';
51
+ element.style.fontWeight = 'normal';
52
+ element.style.textAlign = 'center';
53
+ element.style.background = '#fff';
54
+ element.style.color = '#000';
55
+ element.style.padding = '1.5em';
56
+ element.style.width = '400px';
57
+ element.style.margin = '5em auto 0';
58
+ let message = 'Your $0 does not seem to support <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">$1</a>';
59
+
60
+ if (contexts[version]) {
61
+ message = message.replace('$0', 'graphics card');
62
+ } else {
63
+ message = message.replace('$0', 'browser');
64
+ }
65
+
66
+ message = message.replace('$1', names[version]);
67
+ element.innerHTML = message;
68
+ return element;
69
+ }
70
+
71
+ export { getErrorMessage, getWebGL2ErrorMessage, getWebGLErrorMessage, isWebGL2Available, isWebGLAvailable };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-stdlib",
3
- "version": "2.6.1",
3
+ "version": "2.6.2",
4
4
  "private": false,
5
5
  "description": "stand-alone library of threejs examples",
6
6
  "main": "index.cjs.js",