three-stdlib 2.5.10 → 2.6.2

Sign up to get free protection for your applications and to get access to all the features.
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.5.10",
3
+ "version": "2.6.2",
4
4
  "private": false,
5
5
  "description": "stand-alone library of threejs examples",
6
6
  "main": "index.cjs.js",