x_ite 16.1.2 → 16.2.0

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.
Files changed (57) hide show
  1. package/README.md +6 -6
  2. package/dist/X3DUOM.xml +10 -0
  3. package/dist/assets/components/AnnotationComponent.js +17 -38
  4. package/dist/assets/components/AnnotationComponent.min.js +2 -2
  5. package/dist/assets/components/CADGeometryComponent.js +17 -38
  6. package/dist/assets/components/CADGeometryComponent.min.js +2 -2
  7. package/dist/assets/components/CubeMapTexturingComponent.js +17 -38
  8. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
  9. package/dist/assets/components/DISComponent.js +17 -38
  10. package/dist/assets/components/DISComponent.min.js +2 -2
  11. package/dist/assets/components/EventUtilitiesComponent.js +17 -38
  12. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
  13. package/dist/assets/components/GaussianSplatsComponent.js +17 -38
  14. package/dist/assets/components/GaussianSplatsComponent.min.js +2 -2
  15. package/dist/assets/components/Geometry2DComponent.js +17 -38
  16. package/dist/assets/components/Geometry2DComponent.min.js +2 -2
  17. package/dist/assets/components/Geometry3DComponent.js +17 -38
  18. package/dist/assets/components/Geometry3DComponent.min.js +2 -2
  19. package/dist/assets/components/GeospatialComponent.js +17 -38
  20. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  21. package/dist/assets/components/HAnimComponent.js +17 -38
  22. package/dist/assets/components/HAnimComponent.min.js +2 -2
  23. package/dist/assets/components/KeyDeviceSensorComponent.js +17 -38
  24. package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
  25. package/dist/assets/components/LayoutComponent.js +17 -38
  26. package/dist/assets/components/LayoutComponent.min.js +2 -2
  27. package/dist/assets/components/NURBSComponent.js +18 -39
  28. package/dist/assets/components/NURBSComponent.min.js +2 -2
  29. package/dist/assets/components/ParticleSystemsComponent.js +17 -38
  30. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
  31. package/dist/assets/components/PickingComponent.js +17 -38
  32. package/dist/assets/components/PickingComponent.min.js +2 -2
  33. package/dist/assets/components/RigidBodyPhysicsComponent.js +28 -39
  34. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
  35. package/dist/assets/components/ScriptingComponent.js +17 -38
  36. package/dist/assets/components/ScriptingComponent.min.js +2 -2
  37. package/dist/assets/components/TextComponent.js +17 -38
  38. package/dist/assets/components/TextComponent.min.js +2 -2
  39. package/dist/assets/components/TextureProjectionComponent.js +17 -38
  40. package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
  41. package/dist/assets/components/Texturing3DComponent.js +27 -46
  42. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  43. package/dist/assets/components/VolumeRenderingComponent.js +17 -38
  44. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
  45. package/dist/assets/components/WebXRComponent.js +17 -38
  46. package/dist/assets/components/WebXRComponent.min.js +2 -2
  47. package/dist/assets/components/X_ITEComponent.js +22 -39
  48. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  49. package/dist/example.html +1 -1
  50. package/dist/x_ite.css +1 -1
  51. package/dist/x_ite.d.ts +129 -8
  52. package/dist/x_ite.js +443 -264
  53. package/dist/x_ite.min.js +2 -2
  54. package/dist/x_ite.min.mjs +2 -2
  55. package/dist/x_ite.mjs +443 -264
  56. package/dist/x_ite.zip +0 -0
  57. package/package.json +8 -8
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # [X_ITE](https://create3000.github.io/x_ite/) X3D Browser
2
2
 
3
3
  [![npm Version](https://badgen.net/npm/v/x_ite)](https://www.npmjs.com/package/x_ite)
4
- [![Build Size](https://badgen.net/bundlephobia/minzip/x_ite)](https://bundlephobia.com/package/x_ite)
4
+ [![Build Size](https://badgen.net/static/minified%20size%20(Brotli)/272.4%20kB/blue)](https://bundlephobia.com/package/x_ite)
5
5
  [![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/x_ite/badge?style=rounded)](https://create3000.github.io/jsdelivr-download-stats/?username=create3000&repository=x_ite)
6
6
  [![npm Downloads](https://badgen.net/npm/dm/x_ite)](https://npmtrends.com/x_ite)
7
7
  [![DeepScan grade](https://deepscan.io/api/teams/23540/projects/26814/branches/855447/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=23540&pid=26814&bid=855447)
@@ -37,10 +37,10 @@ If you are going to use X_ITE in a production environment, you should use a fixe
37
37
  jsDelivr is an open-source content delivery network (CDN) renowned for its no-cost access, swift performance, and reliable service.
38
38
 
39
39
  ```html
40
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.1.2/dist/x_ite.min.js"></script>
40
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.2.0/dist/x_ite.min.js"></script>
41
41
  <!-- or as ES module for use in scripts -->
42
42
  <script type="module">
43
- import X3D from "https://cdn.jsdelivr.net/npm/x_ite@16.1.2/dist/x_ite.min.mjs";
43
+ import X3D from "https://cdn.jsdelivr.net/npm/x_ite@16.2.0/dist/x_ite.min.mjs";
44
44
  </script>
45
45
  ```
46
46
 
@@ -71,7 +71,7 @@ The following code examples initialize an X3D canvas within an HTML page, config
71
71
  You can include an external file:
72
72
 
73
73
  ```html
74
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.1.2/dist/x_ite.min.js"></script>
74
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.2.0/dist/x_ite.min.js"></script>
75
75
  <x3d-canvas
76
76
  src="box.x3d"
77
77
  contentScale="auto"
@@ -83,7 +83,7 @@ You can include an external file:
83
83
  However, you can also include and manipulate the XML directly:
84
84
 
85
85
  ```html
86
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.1.2/dist/x_ite.min.js"></script>
86
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.2.0/dist/x_ite.min.js"></script>
87
87
  <x3d-canvas contentScale="auto" update="auto">
88
88
  <X3D profile='Interchange' version='4.1'>
89
89
  <head>
@@ -122,7 +122,7 @@ The same scene can also be created using pure JavaScript:
122
122
 
123
123
  ```html
124
124
  <script type="module">
125
- import X3D from "https://cdn.jsdelivr.net/npm/x_ite@16.1.2/dist/x_ite.min.mjs";
125
+ import X3D from "https://cdn.jsdelivr.net/npm/x_ite@16.2.0/dist/x_ite.min.mjs";
126
126
 
127
127
  const
128
128
  canvas = document .createElement ("x3d-canvas"), // Or get an already inserted <x3d-canvas> element.
package/dist/X3DUOM.xml CHANGED
@@ -1229,5 +1229,15 @@
1229
1229
  </InterfaceDefinition>
1230
1230
  </ConcreteNode>
1231
1231
 
1232
+ <ConcreteNode name="ImageTexture">
1233
+ <InterfaceDefinition>
1234
+ <field name="colorSpaceConversion"
1235
+ type="SFBool"
1236
+ accessType="inputOutput"
1237
+ default="true"
1238
+ description="If true, the texture is converted to the color space of the display."/>
1239
+ </InterfaceDefinition>
1240
+ </ConcreteNode>
1241
+
1232
1242
  </ConcreteNodes>
1233
1243
  </X3dUnifiedObjectModel>
@@ -1,4 +1,4 @@
1
- /* X_ITE v16.1.2 */
1
+ /* X_ITE v16.2.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -7,48 +7,27 @@ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
7
7
  /******/
8
8
  /************************************************************************/
9
9
  /******/ /* webpack/runtime/compat get default export */
10
- /******/ (() => {
11
- /******/ // getDefaultExport function for compatibility with non-harmony modules
12
- /******/ __webpack_require__.n = (module) => {
13
- /******/ const getter = module && module.__esModule ?
14
- /******/ () => (module['default']) :
15
- /******/ () => (module);
16
- /******/ __webpack_require__.d(getter, { a: getter });
17
- /******/ return getter;
18
- /******/ };
19
- /******/ })();
10
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
11
+ /******/ __webpack_require__.n = (module) => {
12
+ /******/ const getter = module && module.__esModule ?
13
+ /******/ () => (module['default']) :
14
+ /******/ () => (module);
15
+ /******/ __webpack_require__.d(getter, { a: getter });
16
+ /******/ return getter;
17
+ /******/ };
20
18
  /******/
21
19
  /******/ /* webpack/runtime/define property getters */
22
- /******/ (() => {
23
- /******/ // define getter/value functions for harmony exports
24
- /******/ __webpack_require__.d = (exports, definition) => {
25
- /******/ if(Array.isArray(definition)) {
26
- /******/ var i = 0;
27
- /******/ while(i < definition.length) {
28
- /******/ var key = definition[i++];
29
- /******/ var binding = definition[i++];
30
- /******/ if(!__webpack_require__.o(exports, key)) {
31
- /******/ if(binding === 0) {
32
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
33
- /******/ } else {
34
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
35
- /******/ }
36
- /******/ } else if(binding === 0) { i++; }
37
- /******/ }
38
- /******/ } else {
39
- /******/ for(var key in definition) {
40
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
41
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
42
- /******/ }
43
- /******/ }
20
+ /******/ // define getter/value functions for harmony exports
21
+ /******/ __webpack_require__.d = (exports, definition) => {
22
+ /******/ for(var key in definition) {
23
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
24
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
44
25
  /******/ }
45
- /******/ };
46
- /******/ })();
26
+ /******/ }
27
+ /******/ };
47
28
  /******/
48
29
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
49
- /******/ (() => {
50
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
51
- /******/ })();
30
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
52
31
  /******/
53
32
  /************************************************************************/
54
33
 
@@ -1,2 +1,2 @@
1
- /* X_ITE v16.1.2 */
2
- const t=window[Symbol.for("X_ITE.X3D")];(()=>{const e={n:t=>{const n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{if(Array.isArray(n))for(var i=0;i<n.length;){var o=n[i++],a=n[i++];e.o(t,o)?0===a&&i++:0===a?Object.defineProperty(t,o,{enumerable:!0,value:n[i++]}):Object.defineProperty(t,o,{enumerable:!0,get:a})}else for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},n=t.Components;var i=e.n(n);const o=t.Fields;var a=e.n(o);const p=t.X3DFieldDefinition;var r=e.n(p);const u=t.FieldDefinitionArray;var l=e.n(u);const s=t.X3DNode;var d=e.n(s);const c=t.X3DLayerNode;var w=e.n(c);const y=t.Viewpoint;var O=e.n(y);const S=t.Group;var b=e.n(S);const f=t.X3DConstants;var h=e.n(f);const F=t.Namespace;var g=e.n(F);function A(t){w().call(this,t,new(O())(t),new(b())(t)),this.addType(h().AnnotationLayer)}Object.assign(Object.setPrototypeOf(A.prototype,w().prototype),{initialize(){w().prototype.initialize.call(this)}}),Object.defineProperties(A,{...d().getStaticProperties("AnnotationLayer","Annotation",1,"layers","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"isPickable",new(a().SFBool)(!0)),new(r())(h().inputOutput,"layoutPolicy",new(a().MFString)),new(r())(h().inputOutput,"shownGroupID",new(a().MFString)),new(r())(h().inputOutput,"viewport",new(a().SFNode))]),enumerable:!0}});const P=A,m=g().add("AnnotationLayer",P),v=t.X3DChildNode;var N=e.n(v);function j(t){N().call(this,t),this.addType(h().AnnotationTarget)}Object.assign(Object.setPrototypeOf(j.prototype,N().prototype),{initialize(){N().prototype.initialize.call(this)}}),Object.defineProperties(j,{...d().getStaticProperties("AnnotationTarget","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"referencePoint",new(a().SFVec3f)),new(r())(h().inputOutput,"leadLineStyle",new(a().SFNode)),new(r())(h().inputOutput,"marker",new(a().SFNode)),new(r())(h().inputOutput,"annotations",new(a().MFNode))]),enumerable:!0}});const D=j,z=g().add("AnnotationTarget",D),T=t.X3DGroupingNode;var X=e.n(T);function G(t){N().call(this,t),this.addType(h().X3DAnnotationNode)}Object.assign(Object.setPrototypeOf(G.prototype,N().prototype),{initialize(){N().prototype.initialize.call(this)}}),Object.defineProperties(G,d().getStaticProperties("X3DAnnotationNode","Annotation",1));const I=G,L=g().add("X3DAnnotationNode",I);function E(t){X().call(this,t),L.call(this,t),this.addType(h().GroupAnnotation)}Object.assign(Object.setPrototypeOf(E.prototype,X().prototype),L.prototype,{initialize(){X().prototype.initialize.call(this),L.prototype.initialize.call(this)},dispose(){L.prototype.dispose.call(this),X().prototype.dispose.call(this)}}),Object.defineProperties(E,{...d().getStaticProperties("GroupAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"visible",new(a().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(a().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(a().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(a().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(a().MFNode)),new(r())(h().inputOnly,"removeChildren",new(a().MFNode)),new(r())(h().inputOutput,"children",new(a().MFNode))]),enumerable:!0}});const M=E,R=g().add("GroupAnnotation",M),x=t.X3DUrlObject;var V=e.n(x);function B(t){L.call(this,t),V().call(this,t),this.addType(h().IconAnnotation)}Object.assign(Object.setPrototypeOf(B.prototype,L.prototype),V().prototype,{initialize(){L.prototype.initialize.call(this),V().prototype.initialize.call(this)},async requestImmediateLoad(t=!0){},dispose(){V().prototype.dispose.call(this),L.prototype.dispose.call(this)}}),Object.defineProperties(B,{...d().getStaticProperties("IconAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString)),new(r())(h().inputOutput,"autoRefresh",new(a().SFTime)(0)),new(r())(h().inputOutput,"autoRefreshTimeLimit",new(a().SFTime)(3600))]),enumerable:!0}});const C=B,U=g().add("IconAnnotation",C);function _(t){L.call(this,t),this.addType(h().TextAnnotation)}Object.assign(Object.setPrototypeOf(_.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(_,{...d().getStaticProperties("TextAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"contentType",new(a().SFString)("text/plain")),new(r())(h().inputOutput,"text",new(a().SFString))]),enumerable:!0}});const k=_,q=g().add("TextAnnotation",k);function H(t){L.call(this,t),this.addType(h().URLAnnotation)}Object.assign(Object.setPrototypeOf(H.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(H,{...d().getStaticProperties("URLAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString))]),enumerable:!0}});const J=H,K=g().add("URLAnnotation",J);i().add({name:"Annotation",concreteNodes:[m,z,R,U,q,K],abstractNodes:[L]});g().add("AnnotationComponent",void 0)})();
1
+ /* X_ITE v16.2.0 */
2
+ const t=window[Symbol.for("X_ITE.X3D")];(()=>{const n={n:t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},d:(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)},e=t.Components;var i=n.n(e);const o=t.Fields;var a=n.n(o);const p=t.X3DFieldDefinition;var r=n.n(p);const u=t.FieldDefinitionArray;var l=n.n(u);const s=t.X3DNode;var d=n.n(s);const c=t.X3DLayerNode;var w=n.n(c);const y=t.Viewpoint;var O=n.n(y);const S=t.Group;var b=n.n(S);const f=t.X3DConstants;var h=n.n(f);const F=t.Namespace;var g=n.n(F);function A(t){w().call(this,t,new(O())(t),new(b())(t)),this.addType(h().AnnotationLayer)}Object.assign(Object.setPrototypeOf(A.prototype,w().prototype),{initialize(){w().prototype.initialize.call(this)}}),Object.defineProperties(A,{...d().getStaticProperties("AnnotationLayer","Annotation",1,"layers","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"isPickable",new(a().SFBool)(!0)),new(r())(h().inputOutput,"layoutPolicy",new(a().MFString)),new(r())(h().inputOutput,"shownGroupID",new(a().MFString)),new(r())(h().inputOutput,"viewport",new(a().SFNode))]),enumerable:!0}});const P=A,N=g().add("AnnotationLayer",P),m=t.X3DChildNode;var D=n.n(m);function j(t){D().call(this,t),this.addType(h().AnnotationTarget)}Object.assign(Object.setPrototypeOf(j.prototype,D().prototype),{initialize(){D().prototype.initialize.call(this)}}),Object.defineProperties(j,{...d().getStaticProperties("AnnotationTarget","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"referencePoint",new(a().SFVec3f)),new(r())(h().inputOutput,"leadLineStyle",new(a().SFNode)),new(r())(h().inputOutput,"marker",new(a().SFNode)),new(r())(h().inputOutput,"annotations",new(a().MFNode))]),enumerable:!0}});const v=j,z=g().add("AnnotationTarget",v),T=t.X3DGroupingNode;var X=n.n(T);function G(t){D().call(this,t),this.addType(h().X3DAnnotationNode)}Object.assign(Object.setPrototypeOf(G.prototype,D().prototype),{initialize(){D().prototype.initialize.call(this)}}),Object.defineProperties(G,d().getStaticProperties("X3DAnnotationNode","Annotation",1));const I=G,L=g().add("X3DAnnotationNode",I);function E(t){X().call(this,t),L.call(this,t),this.addType(h().GroupAnnotation)}Object.assign(Object.setPrototypeOf(E.prototype,X().prototype),L.prototype,{initialize(){X().prototype.initialize.call(this),L.prototype.initialize.call(this)},dispose(){L.prototype.dispose.call(this),X().prototype.dispose.call(this)}}),Object.defineProperties(E,{...d().getStaticProperties("GroupAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"visible",new(a().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(a().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(a().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(a().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(a().MFNode)),new(r())(h().inputOnly,"removeChildren",new(a().MFNode)),new(r())(h().inputOutput,"children",new(a().MFNode))]),enumerable:!0}});const M=E,R=g().add("GroupAnnotation",M),x=t.X3DUrlObject;var V=n.n(x);function B(t){L.call(this,t),V().call(this,t),this.addType(h().IconAnnotation)}Object.assign(Object.setPrototypeOf(B.prototype,L.prototype),V().prototype,{initialize(){L.prototype.initialize.call(this),V().prototype.initialize.call(this)},async requestImmediateLoad(t=!0){},dispose(){V().prototype.dispose.call(this),L.prototype.dispose.call(this)}}),Object.defineProperties(B,{...d().getStaticProperties("IconAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString)),new(r())(h().inputOutput,"autoRefresh",new(a().SFTime)(0)),new(r())(h().inputOutput,"autoRefreshTimeLimit",new(a().SFTime)(3600))]),enumerable:!0}});const C=B,U=g().add("IconAnnotation",C);function _(t){L.call(this,t),this.addType(h().TextAnnotation)}Object.assign(Object.setPrototypeOf(_.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(_,{...d().getStaticProperties("TextAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"contentType",new(a().SFString)("text/plain")),new(r())(h().inputOutput,"text",new(a().SFString))]),enumerable:!0}});const k=_,q=g().add("TextAnnotation",k);function H(t){L.call(this,t),this.addType(h().URLAnnotation)}Object.assign(Object.setPrototypeOf(H.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(H,{...d().getStaticProperties("URLAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString))]),enumerable:!0}});const J=H,K=g().add("URLAnnotation",J);i().add({name:"Annotation",concreteNodes:[N,z,R,U,q,K],abstractNodes:[L]});g().add("AnnotationComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v16.1.2 */
1
+ /* X_ITE v16.2.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -7,48 +7,27 @@ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
7
7
  /******/
8
8
  /************************************************************************/
9
9
  /******/ /* webpack/runtime/compat get default export */
10
- /******/ (() => {
11
- /******/ // getDefaultExport function for compatibility with non-harmony modules
12
- /******/ __webpack_require__.n = (module) => {
13
- /******/ const getter = module && module.__esModule ?
14
- /******/ () => (module['default']) :
15
- /******/ () => (module);
16
- /******/ __webpack_require__.d(getter, { a: getter });
17
- /******/ return getter;
18
- /******/ };
19
- /******/ })();
10
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
11
+ /******/ __webpack_require__.n = (module) => {
12
+ /******/ const getter = module && module.__esModule ?
13
+ /******/ () => (module['default']) :
14
+ /******/ () => (module);
15
+ /******/ __webpack_require__.d(getter, { a: getter });
16
+ /******/ return getter;
17
+ /******/ };
20
18
  /******/
21
19
  /******/ /* webpack/runtime/define property getters */
22
- /******/ (() => {
23
- /******/ // define getter/value functions for harmony exports
24
- /******/ __webpack_require__.d = (exports, definition) => {
25
- /******/ if(Array.isArray(definition)) {
26
- /******/ var i = 0;
27
- /******/ while(i < definition.length) {
28
- /******/ var key = definition[i++];
29
- /******/ var binding = definition[i++];
30
- /******/ if(!__webpack_require__.o(exports, key)) {
31
- /******/ if(binding === 0) {
32
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
33
- /******/ } else {
34
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
35
- /******/ }
36
- /******/ } else if(binding === 0) { i++; }
37
- /******/ }
38
- /******/ } else {
39
- /******/ for(var key in definition) {
40
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
41
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
42
- /******/ }
43
- /******/ }
20
+ /******/ // define getter/value functions for harmony exports
21
+ /******/ __webpack_require__.d = (exports, definition) => {
22
+ /******/ for(var key in definition) {
23
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
24
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
44
25
  /******/ }
45
- /******/ };
46
- /******/ })();
26
+ /******/ }
27
+ /******/ };
47
28
  /******/
48
29
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
49
- /******/ (() => {
50
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
51
- /******/ })();
30
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
52
31
  /******/
53
32
  /************************************************************************/
54
33
 
@@ -1,2 +1,2 @@
1
- /* X_ITE v16.1.2 */
2
- const e=window[Symbol.for("X_ITE.X3D")];(()=>{const t={n:e=>{const i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{if(Array.isArray(i))for(var n=0;n<i.length;){var s=i[n++],o=i[n++];t.o(e,s)?0===o&&n++:0===o?Object.defineProperty(e,s,{enumerable:!0,value:i[n++]}):Object.defineProperty(e,s,{enumerable:!0,get:o})}else for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},i=e.Components;var n=t.n(i);const s=e.Fields;var o=t.n(s);const r=e.X3DFieldDefinition;var l=t.n(r);const d=e.FieldDefinitionArray;var a=t.n(d);const u=e.X3DNode;var c=t.n(u);const b=e.X3DGroupingNode;var p=t.n(b);const O=e.X3DChildNode;var h=t.n(O);const w=e.X3DConstants;var j=t.n(w);const y=e.Namespace;var S=t.n(y);function _(e){h().call(this,e),this.addType(j().X3DProductStructureChildNode)}Object.setPrototypeOf(_.prototype,h().prototype),Object.defineProperties(_,c().getStaticProperties("X3DProductStructureChildNode","CADGeometry",2));const m=_,f=S().add("X3DProductStructureChildNode",m);function F(e){p().call(this,e),f.call(this,e),this.addType(j().CADAssembly)}Object.setPrototypeOf(F.prototype,p().prototype),Object.defineProperties(F,{...c().getStaticProperties("CADAssembly","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(a())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const g=F,v=S().add("CADAssembly",g),C=e.X3DBoundedObject;var D=t.n(C);const N=e.TraverseType;var P=t.n(N);const x=e.X3DCast;var B=t.n(x);function I(e){f.call(this,e),D().call(this,e),this.addType(j().CADFace),this.addChildObjects(j().outputOnly,"rebuild",new(o().SFTime)),this.setBoundedObject(!0),this.setPointingObject(!0),this.setCollisionObject(!0),this.setShadowObject(!0),this.setVisibleObject(!0),this.visibleObjects=[]}Object.assign(Object.setPrototypeOf(I.prototype,f.prototype),D().prototype,{initialize(){f.prototype.initialize.call(this),D().prototype.initialize.call(this),this._rebuild.addInterest("set_children__",this),this._bboxSize.addInterest("set_boundedObjects__",this),this._shape.addInterest("requestRebuild",this),this.set_children__()},getBBox(e,t){return this.isDefaultBBoxSize()?this.boundedObject?.getBBox(e,t)??e.set():e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},getShapes(e,t){for(const i of this.visibleObjects)i.getShapes(e,t);return e},requestRebuild(){this._rebuild.addEvent()},set_children__(){this.setChild(B()(j().X3DChildNode,this._shape))},setChild(e){if(this.childNode){const e=this.childNode;e._isBoundedObject.removeInterest("requestRebuild",this),e._isPointingObject.removeInterest("requestRebuild",this),e._isCameraObject.removeInterest("requestRebuild",this),e._isPickableObject.removeInterest("requestRebuild",this),e._isCollisionObject.removeInterest("requestRebuild",this),e._isShadowObject.removeInterest("requestRebuild",this),e._isVisibleObject.removeInterest("requestRebuild",this),B()(j().X3DBoundedObject,e)&&(e._display.removeInterest("requestRebuild",this),e._bboxDisplay.removeInterest("requestRebuild",this))}if(this.childNode=null,this.boundedObject=null,this.pointingObject=null,this.cameraObject=null,this.pickableObject=null,this.collisionObject=null,this.shadowObject=null,this.visibleObjects.length=0,e){const t=e.getType();for(let i=t.length-1;i>=0;--i){switch(t[i]){case j().LOD:case j().Transform:case j().X3DShapeNode:e._isBoundedObject.addInterest("requestRebuild",this),e._isPointingObject.addInterest("requestRebuild",this),e._isCameraObject.addInterest("requestRebuild",this),e._isPickableObject.addInterest("requestRebuild",this),e._isCollisionObject.addInterest("requestRebuild",this),e._isShadowObject.addInterest("requestRebuild",this),e._isVisibleObject.addInterest("requestRebuild",this),this.childNode=e,e.isVisible()&&(e.isBoundedObject()&&(this.boundedObject=e),e.isPointingObject()&&(this.pointingObject=e),e.isCameraObject()&&(this.cameraObject=e),e.isPickableObject()&&(this.pickableObject=e),e.isCollisionObject()&&(this.collisionObject=e),e.isShadowObject()&&(this.shadowObject=e),e.isVisibleObject()&&this.visibleObjects.push(e)),B()(j().X3DBoundedObject,e)&&(e._display.addInterest("requestRebuild",this),e._bboxDisplay.addInterest("requestRebuild",this),e.isBBoxVisible()&&this.visibleObjects.push(e.getBBoxNode()));break;default:continue}break}}this.set_pointingObjects__(),this.set_cameraObjects__(),this.set_pickableObjects__(),this.set_collisionObjects__(),this.set_shadowObjects__(),this.set_visibleObjects__(),this.set_boundedObjects__()},set_boundedObjects__(){this.setBoundedObject(this.boundedObject||!this.isDefaultBBoxSize())},set_pointingObjects__(){this.setPointingObject(this.pointingObject)},set_cameraObjects__(){this.setCameraObject(this.cameraObject)},set_pickableObjects__(){this.setPickableObject(this.getTransformSensors().size||this.pickableObject)},set_collisionObjects__(){this.setCollisionObject(this.collisionObject)},set_shadowObjects__(){this.setShadowObject(this.shadowObject)},set_visibleObjects__(){this.setVisibleObject(this.visibleObjects.length)},traverse(e,t){switch(e){case P().POINTER:return void this.pointingObject?.traverse(e,t);case P().CAMERA:return void this.cameraObject?.traverse(e,t);case P().PICKING:if(this.getBrowser().getPickable().at(-1))for(const i of this.visibleObjects)i.traverse(e,t);else this.pickableObject?.traverse(e,t);return;case P().COLLISION:return void this.collisionObject?.traverse(e,t);case P().DEPTH:case P().SHADOW:return void this.shadowObject?.traverse(e,t);case P().DISPLAY:for(const i of this.visibleObjects)i.traverse(e,t);return}},dispose(){D().prototype.dispose.call(this),f.prototype.dispose.call(this)}}),Object.defineProperties(I,{...c().getStaticProperties("CADFace","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(a())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOutput,"shape",new(o().SFNode))]),enumerable:!0}});const z=I,V=S().add("CADFace",z);function A(e){p().call(this,e),this.addType(j().CADLayer)}Object.setPrototypeOf(A.prototype,p().prototype),Object.defineProperties(A,{...c().getStaticProperties("CADLayer","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(a())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const R=A,q=S().add("CADLayer",R),T=e.X3DTransformNode;var X=t.n(T);function k(e){X().call(this,e),f.call(this,e),this.addType(j().CADPart)}Object.setPrototypeOf(k.prototype,X().prototype),Object.defineProperties(k,{...c().getStaticProperties("CADPart","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(a())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"translation",new(o().SFVec3f)),new(l())(j().inputOutput,"rotation",new(o().SFRotation)),new(l())(j().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(l())(j().inputOutput,"scaleOrientation",new(o().SFRotation)),new(l())(j().inputOutput,"center",new(o().SFVec3f)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const M=k,G=S().add("CADPart",M),L=e.X3DComposedGeometryNode;var Q=t.n(L);function E(e){Q().call(this,e),this.addType(j().IndexedQuadSet)}Object.assign(Object.setPrototypeOf(E.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._set_index.addFieldInterest(this._index)},getTriangleIndex:(()=>{const e=[0,1,2,0,2,3];return function(t){const i=t%6;return(t-i)/6*4+e[i]}})(),getPolygonIndex(e){return this._index[e]},getVerticesPerPolygon:()=>4,getNumVertices(){return this.checkVertexCount(this._index.length,4)},build(){const e=this.getNumVertices();Q().prototype.build.call(this,4,e,6,e/4*6)}}),Object.defineProperties(E,{...c().getStaticProperties("IndexedQuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(a())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOnly,"set_index",new(o().MFInt32)),new(l())(j().initializeOnly,"solid",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"ccw",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"index",new(o().MFInt32)),new(l())(j().inputOutput,"attrib",new(o().MFNode)),new(l())(j().inputOutput,"fogCoord",new(o().SFNode)),new(l())(j().inputOutput,"color",new(o().SFNode)),new(l())(j().inputOutput,"texCoord",new(o().SFNode)),new(l())(j().inputOutput,"tangent",new(o().SFNode)),new(l())(j().inputOutput,"normal",new(o().SFNode)),new(l())(j().inputOutput,"coord",new(o().SFNode))]),enumerable:!0}});const H=E,K=S().add("IndexedQuadSet",H);function W(e){Q().call(this,e),this.addType(j().QuadSet)}Object.assign(Object.setPrototypeOf(W.prototype,Q().prototype),{getTriangleIndex:(()=>{const e=[0,1,2,0,2,3];return function(t){const i=t%6;return(t-i)/6*4+e[i]}})(),getVerticesPerPolygon:()=>4,getNumVertices(){return this.checkVertexCount(this.getCoord()?.getSize()??0,4)},build(){const e=this.getNumVertices();Q().prototype.build.call(this,4,e,6,e/4*6)},createNormals(e,t,i){return this.createFaceNormals(e,t,i)}}),Object.defineProperties(W,{...c().getStaticProperties("QuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(a())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().initializeOnly,"solid",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"ccw",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(l())(j().inputOutput,"attrib",new(o().MFNode)),new(l())(j().inputOutput,"fogCoord",new(o().SFNode)),new(l())(j().inputOutput,"color",new(o().SFNode)),new(l())(j().inputOutput,"texCoord",new(o().SFNode)),new(l())(j().inputOutput,"tangent",new(o().SFNode)),new(l())(j().inputOutput,"normal",new(o().SFNode)),new(l())(j().inputOutput,"coord",new(o().SFNode))]),enumerable:!0}});const Y=W,J=S().add("QuadSet",Y);n().add({name:"CADGeometry",concreteNodes:[v,V,q,G,K,J],abstractNodes:[f]});S().add("CADGeometryComponent",void 0)})();
1
+ /* X_ITE v16.2.0 */
2
+ const e=window[Symbol.for("X_ITE.X3D")];(()=>{const t={n:e=>{const i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},i=e.Components;var n=t.n(i);const s=e.Fields;var o=t.n(s);const r=e.X3DFieldDefinition;var l=t.n(r);const d=e.FieldDefinitionArray;var u=t.n(d);const a=e.X3DNode;var c=t.n(a);const b=e.X3DGroupingNode;var p=t.n(b);const O=e.X3DChildNode;var h=t.n(O);const w=e.X3DConstants;var j=t.n(w);const y=e.Namespace;var S=t.n(y);function _(e){h().call(this,e),this.addType(j().X3DProductStructureChildNode)}Object.setPrototypeOf(_.prototype,h().prototype),Object.defineProperties(_,c().getStaticProperties("X3DProductStructureChildNode","CADGeometry",2));const m=_,F=S().add("X3DProductStructureChildNode",m);function f(e){p().call(this,e),F.call(this,e),this.addType(j().CADAssembly)}Object.setPrototypeOf(f.prototype,p().prototype),Object.defineProperties(f,{...c().getStaticProperties("CADAssembly","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const g=f,C=S().add("CADAssembly",g),v=e.X3DBoundedObject;var D=t.n(v);const N=e.TraverseType;var P=t.n(N);const x=e.X3DCast;var B=t.n(x);function I(e){F.call(this,e),D().call(this,e),this.addType(j().CADFace),this.addChildObjects(j().outputOnly,"rebuild",new(o().SFTime)),this.setBoundedObject(!0),this.setPointingObject(!0),this.setCollisionObject(!0),this.setShadowObject(!0),this.setVisibleObject(!0),this.visibleObjects=[]}Object.assign(Object.setPrototypeOf(I.prototype,F.prototype),D().prototype,{initialize(){F.prototype.initialize.call(this),D().prototype.initialize.call(this),this._rebuild.addInterest("set_children__",this),this._bboxSize.addInterest("set_boundedObjects__",this),this._shape.addInterest("requestRebuild",this),this.set_children__()},getBBox(e,t){return this.isDefaultBBoxSize()?this.boundedObject?.getBBox(e,t)??e.set():e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},getShapes(e,t){for(const i of this.visibleObjects)i.getShapes(e,t);return e},requestRebuild(){this._rebuild.addEvent()},set_children__(){this.setChild(B()(j().X3DChildNode,this._shape))},setChild(e){if(this.childNode){const e=this.childNode;e._isBoundedObject.removeInterest("requestRebuild",this),e._isPointingObject.removeInterest("requestRebuild",this),e._isCameraObject.removeInterest("requestRebuild",this),e._isPickableObject.removeInterest("requestRebuild",this),e._isCollisionObject.removeInterest("requestRebuild",this),e._isShadowObject.removeInterest("requestRebuild",this),e._isVisibleObject.removeInterest("requestRebuild",this),B()(j().X3DBoundedObject,e)&&(e._display.removeInterest("requestRebuild",this),e._bboxDisplay.removeInterest("requestRebuild",this))}if(this.childNode=null,this.boundedObject=null,this.pointingObject=null,this.cameraObject=null,this.pickableObject=null,this.collisionObject=null,this.shadowObject=null,this.visibleObjects.length=0,e){const t=e.getType();for(let i=t.length-1;i>=0;--i){switch(t[i]){case j().LOD:case j().Transform:case j().X3DShapeNode:e._isBoundedObject.addInterest("requestRebuild",this),e._isPointingObject.addInterest("requestRebuild",this),e._isCameraObject.addInterest("requestRebuild",this),e._isPickableObject.addInterest("requestRebuild",this),e._isCollisionObject.addInterest("requestRebuild",this),e._isShadowObject.addInterest("requestRebuild",this),e._isVisibleObject.addInterest("requestRebuild",this),this.childNode=e,e.isVisible()&&(e.isBoundedObject()&&(this.boundedObject=e),e.isPointingObject()&&(this.pointingObject=e),e.isCameraObject()&&(this.cameraObject=e),e.isPickableObject()&&(this.pickableObject=e),e.isCollisionObject()&&(this.collisionObject=e),e.isShadowObject()&&(this.shadowObject=e),e.isVisibleObject()&&this.visibleObjects.push(e)),B()(j().X3DBoundedObject,e)&&(e._display.addInterest("requestRebuild",this),e._bboxDisplay.addInterest("requestRebuild",this),e.isBBoxVisible()&&this.visibleObjects.push(e.getBBoxNode()));break;default:continue}break}}this.set_pointingObjects__(),this.set_cameraObjects__(),this.set_pickableObjects__(),this.set_collisionObjects__(),this.set_shadowObjects__(),this.set_visibleObjects__(),this.set_boundedObjects__()},set_boundedObjects__(){this.setBoundedObject(this.boundedObject||!this.isDefaultBBoxSize())},set_pointingObjects__(){this.setPointingObject(this.pointingObject)},set_cameraObjects__(){this.setCameraObject(this.cameraObject)},set_pickableObjects__(){this.setPickableObject(this.getTransformSensors().size||this.pickableObject)},set_collisionObjects__(){this.setCollisionObject(this.collisionObject)},set_shadowObjects__(){this.setShadowObject(this.shadowObject)},set_visibleObjects__(){this.setVisibleObject(this.visibleObjects.length)},traverse(e,t){switch(e){case P().POINTER:return void this.pointingObject?.traverse(e,t);case P().CAMERA:return void this.cameraObject?.traverse(e,t);case P().PICKING:if(this.getBrowser().getPickable().at(-1))for(const i of this.visibleObjects)i.traverse(e,t);else this.pickableObject?.traverse(e,t);return;case P().COLLISION:return void this.collisionObject?.traverse(e,t);case P().DEPTH:case P().SHADOW:return void this.shadowObject?.traverse(e,t);case P().DISPLAY:for(const i of this.visibleObjects)i.traverse(e,t);return}},dispose(){D().prototype.dispose.call(this),F.prototype.dispose.call(this)}}),Object.defineProperties(I,{...c().getStaticProperties("CADFace","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOutput,"shape",new(o().SFNode))]),enumerable:!0}});const z=I,V=S().add("CADFace",z);function A(e){p().call(this,e),this.addType(j().CADLayer)}Object.setPrototypeOf(A.prototype,p().prototype),Object.defineProperties(A,{...c().getStaticProperties("CADLayer","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const R=A,q=S().add("CADLayer",R),T=e.X3DTransformNode;var X=t.n(T);function k(e){X().call(this,e),F.call(this,e),this.addType(j().CADPart)}Object.setPrototypeOf(k.prototype,X().prototype),Object.defineProperties(k,{...c().getStaticProperties("CADPart","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"translation",new(o().SFVec3f)),new(l())(j().inputOutput,"rotation",new(o().SFRotation)),new(l())(j().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(l())(j().inputOutput,"scaleOrientation",new(o().SFRotation)),new(l())(j().inputOutput,"center",new(o().SFVec3f)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const M=k,G=S().add("CADPart",M),L=e.X3DComposedGeometryNode;var Q=t.n(L);function E(e){Q().call(this,e),this.addType(j().IndexedQuadSet)}Object.assign(Object.setPrototypeOf(E.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._set_index.addFieldInterest(this._index)},getTriangleIndex:(()=>{const e=[0,1,2,0,2,3];return function(t){const i=t%6;return(t-i)/6*4+e[i]}})(),getPolygonIndex(e){return this._index[e]},getVerticesPerPolygon:()=>4,getNumVertices(){return this.checkVertexCount(this._index.length,4)},build(){const e=this.getNumVertices();Q().prototype.build.call(this,4,e,6,e/4*6)}}),Object.defineProperties(E,{...c().getStaticProperties("IndexedQuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOnly,"set_index",new(o().MFInt32)),new(l())(j().initializeOnly,"solid",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"ccw",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"index",new(o().MFInt32)),new(l())(j().inputOutput,"attrib",new(o().MFNode)),new(l())(j().inputOutput,"fogCoord",new(o().SFNode)),new(l())(j().inputOutput,"color",new(o().SFNode)),new(l())(j().inputOutput,"texCoord",new(o().SFNode)),new(l())(j().inputOutput,"tangent",new(o().SFNode)),new(l())(j().inputOutput,"normal",new(o().SFNode)),new(l())(j().inputOutput,"coord",new(o().SFNode))]),enumerable:!0}});const H=E,K=S().add("IndexedQuadSet",H);function W(e){Q().call(this,e),this.addType(j().QuadSet)}Object.assign(Object.setPrototypeOf(W.prototype,Q().prototype),{getTriangleIndex:(()=>{const e=[0,1,2,0,2,3];return function(t){const i=t%6;return(t-i)/6*4+e[i]}})(),getVerticesPerPolygon:()=>4,getNumVertices(){return this.checkVertexCount(this.getCoord()?.getSize()??0,4)},build(){const e=this.getNumVertices();Q().prototype.build.call(this,4,e,6,e/4*6)},createNormals(e,t,i){return this.createFaceNormals(e,t,i)}}),Object.defineProperties(W,{...c().getStaticProperties("QuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().initializeOnly,"solid",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"ccw",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(l())(j().inputOutput,"attrib",new(o().MFNode)),new(l())(j().inputOutput,"fogCoord",new(o().SFNode)),new(l())(j().inputOutput,"color",new(o().SFNode)),new(l())(j().inputOutput,"texCoord",new(o().SFNode)),new(l())(j().inputOutput,"tangent",new(o().SFNode)),new(l())(j().inputOutput,"normal",new(o().SFNode)),new(l())(j().inputOutput,"coord",new(o().SFNode))]),enumerable:!0}});const Y=W,J=S().add("QuadSet",Y);n().add({name:"CADGeometry",concreteNodes:[C,V,q,G,K,J],abstractNodes:[F]});S().add("CADGeometryComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v16.1.2 */
1
+ /* X_ITE v16.2.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -7,48 +7,27 @@ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
7
7
  /******/
8
8
  /************************************************************************/
9
9
  /******/ /* webpack/runtime/compat get default export */
10
- /******/ (() => {
11
- /******/ // getDefaultExport function for compatibility with non-harmony modules
12
- /******/ __webpack_require__.n = (module) => {
13
- /******/ const getter = module && module.__esModule ?
14
- /******/ () => (module['default']) :
15
- /******/ () => (module);
16
- /******/ __webpack_require__.d(getter, { a: getter });
17
- /******/ return getter;
18
- /******/ };
19
- /******/ })();
10
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
11
+ /******/ __webpack_require__.n = (module) => {
12
+ /******/ const getter = module && module.__esModule ?
13
+ /******/ () => (module['default']) :
14
+ /******/ () => (module);
15
+ /******/ __webpack_require__.d(getter, { a: getter });
16
+ /******/ return getter;
17
+ /******/ };
20
18
  /******/
21
19
  /******/ /* webpack/runtime/define property getters */
22
- /******/ (() => {
23
- /******/ // define getter/value functions for harmony exports
24
- /******/ __webpack_require__.d = (exports, definition) => {
25
- /******/ if(Array.isArray(definition)) {
26
- /******/ var i = 0;
27
- /******/ while(i < definition.length) {
28
- /******/ var key = definition[i++];
29
- /******/ var binding = definition[i++];
30
- /******/ if(!__webpack_require__.o(exports, key)) {
31
- /******/ if(binding === 0) {
32
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
33
- /******/ } else {
34
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
35
- /******/ }
36
- /******/ } else if(binding === 0) { i++; }
37
- /******/ }
38
- /******/ } else {
39
- /******/ for(var key in definition) {
40
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
41
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
42
- /******/ }
43
- /******/ }
20
+ /******/ // define getter/value functions for harmony exports
21
+ /******/ __webpack_require__.d = (exports, definition) => {
22
+ /******/ for(var key in definition) {
23
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
24
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
44
25
  /******/ }
45
- /******/ };
46
- /******/ })();
26
+ /******/ }
27
+ /******/ };
47
28
  /******/
48
29
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
49
- /******/ (() => {
50
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
51
- /******/ })();
30
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
52
31
  /******/
53
32
  /************************************************************************/
54
33
 
@@ -1,2 +1,2 @@
1
- /* X_ITE v16.1.2 */
2
- const e=window[Symbol.for("X_ITE.X3D")];(()=>{const t={n:e=>{const r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},d:(e,r)=>{if(Array.isArray(r))for(var i=0;i<r.length;){var a=r[i++],s=r[i++];t.o(e,a)?0===s&&i++:0===s?Object.defineProperty(e,a,{enumerable:!0,value:r[i++]}):Object.defineProperty(e,a,{enumerable:!0,get:s})}else for(var a in r)t.o(r,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},r=e.Components;var i=t.n(r);const a=e.Namespace;var s=t.n(a);const n=s().add("Panorama2.fs","#version 300 es\nprecision highp float;precision highp int;precision highp sampler2D;const float M_PI=3.141592653589793;in vec2 texCoord;out vec4 x3d_FragColor;uniform sampler2D x3d_PanoramaTextureEXT;uniform int x3d_CurrentFaceEXT;vec3 uvToXYZ(const in int face,const in vec2 uv){switch(face){case 0:return vec3(1.,uv.y,uv.x);case 1:return vec3(-1.,uv.y,-uv.x);case 2:return vec3(uv.x,uv.y,-1.);case 3:return vec3(-uv.x,uv.y,1.);case 4:return vec3(uv.y,-1.,uv.x);default:return vec3(-uv.y,1.,uv.x);}}vec2 dirToUV(const in vec3 dir){return vec2(.5+.5*atan(dir.z,dir.x)/M_PI,1.-acos(dir.y)/M_PI);}vec3 panoramaToCubeMap(const in int face,const in vec2 texCoord){vec3 scan=uvToXYZ(face,texCoord);vec3 direction=normalize(scan);vec2 src=dirToUV(direction);return texture(x3d_PanoramaTextureEXT,src).rgb;}void main(){x3d_FragColor=vec4(panoramaToCubeMap(x3d_CurrentFaceEXT,texCoord),1.);}"),o=Symbol();function u(){}Object.assign(u.prototype,{getPanoramaShader(){return this[o]??=this.createShader({name:"Panorama",vertexShader:"FullScreen",fragmentShader:`data:x-shader/x-fragment,${n}`,uniforms:["x3d_PanoramaTextureEXT","x3d_CurrentFaceEXT"]})}});const T=u,d=s().add("X3DCubeMapTexturingContext",T),h=e.Fields;var p=t.n(h);const c=e.X3DFieldDefinition;var x=t.n(c);const l=e.FieldDefinitionArray;var g=t.n(l);const _=e.X3DNode;var E=t.n(_);const f=e.X3DSingleTextureNode;var m=t.n(f);const w=e.X3DConstants;var b=t.n(w);function R(e){m().call(this,e),this.addType(b().X3DEnvironmentTextureNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_CUBE_MAP,this.targets=[t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y]}Object.assign(Object.setPrototypeOf(R.prototype,m().prototype),{initialize(){m().prototype.initialize.call(this),this.clearTexture()},getTarget(){return this.target},getTargets(){return this.targets},getTextureType:()=>4,getSize(){return this.size},setSize(e){this.size=e,this.levels=Math.floor(Math.log2(Math.max(e,1)))},getLevels(){return this.levels},clearTexture:(()=>{const e=new Uint8Array([255,255,255,255]);return function(){const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(const r of this.getTargets())t.texImage2D(r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,e);this.setSize(1),this.setTransparent(!1),this.updateTextureParameters(),this.addNodeEvent()}})(),updateTextureParameters(){m().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.size,this.size,!1,!1,!1)},setShaderUniforms(e,t){const r=this.getBrowser().popTextureUnit();e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_CUBE_MAP,this.getTexture()),e.uniform1i(t.textureCube,r)}}),Object.defineProperties(R,E().getStaticProperties("X3DEnvironmentTextureNode","CubeMapTexturing",1));const S=R,M=s().add("X3DEnvironmentTextureNode",S),C=e.X3DCast;var v=t.n(C);const A=e.BitSet;var I=t.n(A);function P(e){M.call(this,e),this.addType(b().ComposedCubeMapTexture),this.addChildObjects(b().outputOnly,"update",new(p().SFTime)),e.getSpecificationVersion()<=3.3&&(this.addAlias("front",this._frontTexture),this.addAlias("back",this._backTexture),this.addAlias("left",this._leftTexture),this.addAlias("right",this._rightTexture),this.addAlias("top",this._topTexture),this.addAlias("bottom",this._bottomTexture)),this.textureNodes=[null,null,null,null,null,null],this.textureBits=new(I())}Object.assign(Object.setPrototypeOf(P.prototype,M.prototype),{initialize(){M.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.frameBuffer=e.createFramebuffer(),this._frontTexture.addInterest("set_texture__",this,0),this._backTexture.addInterest("set_texture__",this,1),this._leftTexture.addInterest("set_texture__",this,2),this._rightTexture.addInterest("set_texture__",this,3),this._topTexture.addInterest("set_texture__",this,5),this._bottomTexture.addInterest("set_texture__",this,4),this._update.addInterest("update",this),this.set_texture__(0,this._frontTexture),this.set_texture__(1,this._backTexture),this.set_texture__(2,this._leftTexture),this.set_texture__(3,this._rightTexture),this.set_texture__(4,this._topTexture),this.set_texture__(5,this._bottomTexture)},set_texture__(e,t){let r=this.textureNodes[e];r?.removeInterest("set_loadState__",this),r=this.textureNodes[e]=v()(b().X3DTexture2DNode,t),r?.addInterest("set_loadState__",this,e,r),this.set_loadState__(e,r)},set_loadState__(e,t){this.setTextureBit(e,t?.checkLoadState()),this._update.addEvent()},setTextureBit(e,t){this.textureBits.set(e,t===b().COMPLETE_STATE)},isComplete(){if(63!==+this.textureBits)return!1;const e=this.textureNodes,t=e[0].getWidth();for(const r of e){if(r.getWidth()!==t)return!1;if(r.getHeight()!==t)return!1}return!0},update(){if(this.isComplete()){const e=this.getBrowser().getContext(),t=this.textureNodes,r=t[0].getWidth();if(r!==this.getSize()){const t=new Uint8Array(r*r*4);e.bindTexture(this.getTarget(),this.getTexture());for(let i=0;i<6;++i)e.texImage2D(this.getTargets()[i],0,e.RGBA,r,r,0,e.RGBA,e.UNSIGNED_BYTE,t);this.setSize(r),this.updateTextureParameters()}e.bindFramebuffer(e.FRAMEBUFFER,this.frameBuffer);for(let i=0;i<6;++i){const a=t[i];if(e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,a.getTexture(),0),e.bindTexture(this.getTarget(),this.getTexture()),1===a.getTextureType())e.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,r,r);else for(let t=0;t<r;++t)e.copyTexSubImage2D(this.getTargets()[i],0,0,r-t-1,0,t,r,1)}this.setTransparent(t.some(e=>e.isTransparent())),this.setLinear(t.some(e=>e.isLinear())),this.setMipMaps(t.every(e=>e.canMipMaps())),this.updateTextureParameters(),this.addNodeEvent()}else this.clearTexture()},getRenderedTextures(e){for(const t of this.textureNodes)t?.getRenderedTextures(e)}}),Object.defineProperties(P,{...E().getStaticProperties("ComposedCubeMapTexture","CubeMapTexturing",1,"texture","3.1"),fieldDefinitions:{value:new(g())([new(x())(b().inputOutput,"metadata",new(p().SFNode)),new(x())(b().inputOutput,"description",new(p().SFString)),new(x())(b().inputOutput,"frontTexture",new(p().SFNode)),new(x())(b().inputOutput,"backTexture",new(p().SFNode)),new(x())(b().inputOutput,"leftTexture",new(p().SFNode)),new(x())(b().inputOutput,"rightTexture",new(p().SFNode)),new(x())(b().inputOutput,"topTexture",new(p().SFNode)),new(x())(b().inputOutput,"bottomTexture",new(p().SFNode)),new(x())(b().initializeOnly,"textureProperties",new(p().SFNode))]),enumerable:!0}});const U=P,y=s().add("ComposedCubeMapTexture",U),N=e.DependentRenderer;var X=t.n(N);const B=e.TextureBuffer;var F=t.n(B);const O=e.TraverseType;var D=t.n(O);const L=e.Camera;var V=t.n(L);const G=e.ViewVolume;var z=t.n(G);const j=e.Rotation4;var k=t.n(j);const Y=e.Vector3;var Z=t.n(Y);const W=e.Vector4;var H=t.n(W);const $=e.Matrix4;var K=t.n($);const q=e.Algorithm;var J=t.n(q);function Q(e){M.call(this,e),this.addType(b().GeneratedCubeMapTexture),this.dependentRenderers=new WeakMap,this.projectionMatrix=new(K()),this.modelMatrix=new(K()),this.updateCallbacks=new Map}Object.assign(Object.setPrototypeOf(Q.prototype,M.prototype),{initialize(){M.prototype.initialize.call(this),this._size.addInterest("set_size__",this),this.set_size__()},isRenderedTexture:()=>!0,getRenderedTextures(e){e.add(this)},addUpdateCallback(e,t){this.updateCallbacks.set(e,t)},removeUpdateCallback(e){this.updateCallbacks.delete(e)},set_size__(){const e=this._size.getValue();if(this.frameBuffer?.dispose(),e>0){const t=this.getBrowser(),r=t.getContext(),i=new Uint8Array(e*e*4);r.bindTexture(this.getTarget(),this.getTexture());for(const t of this.getTargets())r.texImage2D(t,0,r.RGBA,e,e,0,r.RGBA,r.UNSIGNED_BYTE,i);this.updateTextureParameters(),this.viewport=new(H())(0,0,e,e),this.frameBuffer=new(F())({browser:t,width:e,height:e}),this.setSize(e)}else this.frameBuffer=null,this.clearTexture()},traverse(e,t){t.isIndependent()&&this.frameBuffer&&"NONE"!==this._update.getValue()&&(t.getRenderedTextures().add(this),this.modelMatrix.assign(t.getModelViewMatrix().get()).multRight(t.getCameraSpaceMatrix().get()))},renderTexture:(()=>{const e=[k().fromVectors(Z().Z_AXIS,Z().NEGATIVE_Z_AXIS),k().fromVectors(Z().Z_AXIS,Z().Z_AXIS),k().fromVectors(Z().Z_AXIS,Z().X_AXIS),k().fromVectors(Z().Z_AXIS,Z().NEGATIVE_X_AXIS),k().fromVectors(Z().Z_AXIS,Z().NEGATIVE_Y_AXIS),k().fromVectors(Z().Z_AXIS,Z().Y_AXIS)],t=[new(Z())(-1,-1,1),new(Z())(-1,-1,1),new(Z())(-1,-1,1),new(Z())(-1,-1,1),new(Z())(1,1,1),new(Z())(1,1,1)],r=new(K()),i=new(z());return function(a){this.textureRenderingPass=!0,this.dependentRenderers.has(a)||this.dependentRenderers.set(a,new(X())(this.getExecutionContext(),a));const s=this.dependentRenderers.get(a),n=this.getBrowser(),o=n.getContext(),u=this.viewport,T=s.getBackground(),d=s.getNavigationInfo(),h=s.getViewpoint(),p=n.getHeadlight(),c=d._headlight.getValue(),x=h.getNearDistance(d),l=h.getFarDistance(d),g=V().perspective(J().radians(90),x,l,1,1,this.projectionMatrix),_=this.frameBuffer.getWidth(),E=this.frameBuffer.getHeight();this.setTransparent(T.isTransparent()),s.setFramebuffer(this.frameBuffer),s.getViewVolumes().push(i.set(g,u)),s.getProjectionMatrix().push(g),o.bindTexture(this.getTarget(),this.getTexture()),this.frameBuffer.bind();for(let i=0;i<6;++i)o.viewport(...u),o.scissor(...u),o.clearColor(0,0,0,0),o.clear(o.COLOR_BUFFER_BIT),s.getCameraSpaceMatrix().push(this.modelMatrix),s.getCameraSpaceMatrix().rotate(e[i]),s.getCameraSpaceMatrix().scale(t[i]),r.assign(s.getCameraSpaceMatrix().get()).inverse(),s.getViewMatrix().push(r),s.getModelViewMatrix().push(r),c&&(p.modelViewMatrix.push(r),p.modelViewMatrix.multLeft(h.getCameraSpaceMatrix())),a.getLayer().traverse(D().DISPLAY,s),c&&p.modelViewMatrix.pop(),s.getModelViewMatrix().pop(),s.getCameraSpaceMatrix().pop(),s.getViewMatrix().pop(),o.bindTexture(this.getTarget(),this.getTexture()),o.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,_,E);this.updateTextureParameters(),s.getProjectionMatrix().pop(),s.getViewVolumes().pop(),this._update.equals("NEXT_FRAME_ONLY")&&(this._update="NONE");for(const e of this.updateCallbacks.values())e();this.textureRenderingPass=!1}})(),setShaderUniforms(e,t){M.prototype.setShaderUniforms.call(this,e,t),this.textureRenderingPass&&e.scissor(0,0,0,0)}}),Object.defineProperties(Q,{...E().getStaticProperties("GeneratedCubeMapTexture","CubeMapTexturing",3,"texture","3.0"),fieldDefinitions:{value:new(g())([new(x())(b().inputOutput,"metadata",new(p().SFNode)),new(x())(b().inputOutput,"description",new(p().SFString)),new(x())(b().inputOutput,"update",new(p().SFString)("NONE")),new(x())(b().initializeOnly,"size",new(p().SFInt32)(128)),new(x())(b().initializeOnly,"textureProperties",new(p().SFNode))]),enumerable:!0}});const ee=Q,te=s().add("GeneratedCubeMapTexture",ee),re=e.X3DUrlObject;var ie=t.n(re);const ae=e.FileLoader;var se=t.n(ae);const ne=e.Vector2;var oe=t.n(ne);const ue=e.DEVELOPMENT;var Te=t.n(ue);function de(e){M.call(this,e),ie().call(this,e),this.addType(b().ImageCubeMapTexture)}Object.assign(Object.setPrototypeOf(de.prototype,M.prototype),ie().prototype,{initialize(){M.prototype.initialize.call(this),ie().prototype.initialize.call(this),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){new(se())(this,{dataAsString:!1}).loadDocument(this._url,async(e,t)=>{if(null===e)this.clearTexture(),this.setLoadState(b().FAILED_STATE);else{if(!(e instanceof ArrayBuffer))throw new Error(`${this.getTypeName()}: No suitable file handler found.`);if((t=new URL(t)).pathname.match(/\.ktx2?(?:\.gz)?$/)||t.href.match(/^\s*data:image\/ktx2[;,]/s)){this.setLinear(!0),this.setMipMaps(!1);const r=await this.getBrowser().getKTXDecoder(),i=await r.loadKTXFromBuffer(e);this.setKTXTexture(i,t)}else{this.setLinear(!1),this.setMipMaps(!0);const r=URL.createObjectURL(new Blob([e]));try{this.setImage(await this.loadImage(r),t)}finally{URL.revokeObjectURL(r)}}}})},setKTXTexture(e,t){if(e.target!==this.getTarget())throw new Error("Invalid KTX texture target, must be 'TEXTURE_CUBE_MAP'.");Te()&&"data:"!==t.protocol&&console.info(`Done loading ${this.getTypeName()} '${decodeURI(t)}'.`),this.setTexture(e),this.setTransparent(!1),this.setSize(e.baseWidth),this.updateTextureParameters(),this.setLoadState(b().COMPLETE_STATE)},setImage(e,t){Te()&&"data:"!==t.protocol&&console.info(`Done loading ${this.getTypeName()} '${decodeURI(t)}'.`);const r=this.getBrowser().getContext(),i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),this.imageToCubeMap(i,e.width,e.height,!1),this.setLoadState(b().COMPLETE_STATE),this.addNodeEvent()},imageToCubeMap(e,t,r){const i=t/r;Math.abs(i-4/3)<.01&&this.skyBoxToCubeMap(e,t,r),Math.abs(i-2)<.01&&this.panoramaToCubeMap(e,t,r),this.updateTextureParameters()},skyBoxToCubeMap:(()=>{const e=[new(oe())(1,1),new(oe())(3,1),new(oe())(0,1),new(oe())(2,1),new(oe())(1,0),new(oe())(1,2)];return function(t,r,i){const a=this.getBrowser().getContext(),s=a.createFramebuffer(),n=Math.floor(r/4),o=Math.floor(i/3),u=new Uint8Array(n*o*4);a.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)a.texImage2D(this.getTargets()[e],0,a.RGBA,n,o,0,a.RGBA,a.UNSIGNED_BYTE,u);a.bindFramebuffer(a.FRAMEBUFFER,s),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,t,0);let T=!1;a.bindTexture(this.getTarget(),this.getTexture());for(let t=0;t<6;++t)a.copyTexSubImage2D(this.getTargets()[t],0,0,0,e[t].x*n,e[t].y*o,n,o),T||(a.readPixels(e[t].x*n,e[t].y*o,n,o,a.RGBA,a.UNSIGNED_BYTE,u),T=this.isImageTransparent(u));a.deleteFramebuffer(s),a.deleteTexture(t),this.setTransparent(T),this.setSize(n)}})(),panoramaToCubeMap(e,t,r){const i=this.getBrowser(),a=i.getContext(),s=i.getPanoramaShader(),n=a.createFramebuffer(),o=Math.floor(r/2),u=new Uint8Array(o*o*4);a.bindTexture(a.TEXTURE_2D,e),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.MIRRORED_REPEAT),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.MIRRORED_REPEAT),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)a.texImage2D(this.getTargets()[e],0,a.RGBA,o,o,0,a.RGBA,a.UNSIGNED_BYTE,u);a.useProgram(s.getProgram()),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e),a.uniform1i(s.x3d_PanoramaTextureEXT,0),a.bindFramebuffer(a.FRAMEBUFFER,n),a.viewport(0,0,o,o),a.scissor(0,0,o,o),a.disable(a.DEPTH_TEST),a.enable(a.CULL_FACE),a.frontFace(a.CCW),a.clearColor(0,0,0,0),a.bindVertexArray(i.getFullscreenVertexArrayObject());let T=!1;for(let e=0;e<6;++e)a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,this.getTargets()[e],this.getTexture(),0),a.clear(a.COLOR_BUFFER_BIT),a.uniform1i(s.x3d_CurrentFaceEXT,e),a.drawArrays(a.TRIANGLES,0,6),T||(a.readPixels(0,0,o,o,a.RGBA,a.UNSIGNED_BYTE,u),T=this.isImageTransparent(u));a.enable(a.DEPTH_TEST),a.deleteFramebuffer(n),a.deleteTexture(e),this.setTransparent(T),this.setSize(o)},dispose(){ie().prototype.dispose.call(this),M.prototype.dispose.call(this)}}),Object.defineProperties(de,{...E().getStaticProperties("ImageCubeMapTexture","CubeMapTexturing",2,"texture","3.0"),fieldDefinitions:{value:new(g())([new(x())(b().inputOutput,"metadata",new(p().SFNode)),new(x())(b().inputOutput,"description",new(p().SFString)),new(x())(b().inputOutput,"load",new(p().SFBool)(!0)),new(x())(b().inputOutput,"url",new(p().MFString)),new(x())(b().inputOutput,"autoRefresh",new(p().SFTime)(0)),new(x())(b().inputOutput,"autoRefreshTimeLimit",new(p().SFTime)(3600)),new(x())(b().initializeOnly,"textureProperties",new(p().SFNode))]),enumerable:!0}});const he=de,pe=s().add("ImageCubeMapTexture",he);i().add({name:"CubeMapTexturing",concreteNodes:[y,te,pe],abstractNodes:[M],browserContext:d});s().add("CubeMapTexturingComponent",void 0)})();
1
+ /* X_ITE v16.2.0 */
2
+ const e=window[Symbol.for("X_ITE.X3D")];(()=>{const t={n:e=>{const r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},d:(e,r)=>{for(var i in r)t.o(r,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:r[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},r=e.Components;var i=t.n(r);const a=e.Namespace;var s=t.n(a);const n=s().add("Panorama2.fs","#version 300 es\nprecision highp float;precision highp int;precision highp sampler2D;const float M_PI=3.141592653589793;in vec2 texCoord;out vec4 x3d_FragColor;uniform sampler2D x3d_PanoramaTextureEXT;uniform int x3d_CurrentFaceEXT;vec3 uvToXYZ(const in int face,const in vec2 uv){switch(face){case 0:return vec3(1.,uv.y,uv.x);case 1:return vec3(-1.,uv.y,-uv.x);case 2:return vec3(uv.x,uv.y,-1.);case 3:return vec3(-uv.x,uv.y,1.);case 4:return vec3(uv.y,-1.,uv.x);default:return vec3(-uv.y,1.,uv.x);}}vec2 dirToUV(const in vec3 dir){return vec2(.5+.5*atan(dir.z,dir.x)/M_PI,1.-acos(dir.y)/M_PI);}vec3 panoramaToCubeMap(const in int face,const in vec2 texCoord){vec3 scan=uvToXYZ(face,texCoord);vec3 direction=normalize(scan);vec2 src=dirToUV(direction);return texture(x3d_PanoramaTextureEXT,src).rgb;}void main(){x3d_FragColor=vec4(panoramaToCubeMap(x3d_CurrentFaceEXT,texCoord),1.);}"),o=Symbol();function u(){}Object.assign(u.prototype,{getPanoramaShader(){return this[o]??=this.createShader({name:"Panorama",vertexShader:"FullScreen",fragmentShader:`data:x-shader/x-fragment,${n}`,uniforms:["x3d_PanoramaTextureEXT","x3d_CurrentFaceEXT"]})}});const T=u,d=s().add("X3DCubeMapTexturingContext",T),h=e.Fields;var p=t.n(h);const c=e.X3DFieldDefinition;var x=t.n(c);const l=e.FieldDefinitionArray;var g=t.n(l);const _=e.X3DNode;var E=t.n(_);const f=e.X3DSingleTextureNode;var m=t.n(f);const w=e.X3DConstants;var b=t.n(w);function R(e){m().call(this,e),this.addType(b().X3DEnvironmentTextureNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_CUBE_MAP,this.targets=[t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y]}Object.assign(Object.setPrototypeOf(R.prototype,m().prototype),{initialize(){m().prototype.initialize.call(this),this.clearTexture()},getTarget(){return this.target},getTargets(){return this.targets},getTextureType:()=>4,getSize(){return this.size},setSize(e){this.size=e,this.levels=Math.floor(Math.log2(Math.max(e,1)))},getLevels(){return this.levels},clearTexture:(()=>{const e=new Uint8Array([255,255,255,255]);return function(){const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(const r of this.getTargets())t.texImage2D(r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,e);this.setSize(1),this.setTransparent(!1),this.updateTextureParameters(),this.addNodeEvent()}})(),updateTextureParameters(){m().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.size,this.size,!1,!1,!1)},setShaderUniforms(e,t){const r=this.getBrowser().popTextureUnit();e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_CUBE_MAP,this.getTexture()),e.uniform1i(t.textureCube,r)}}),Object.defineProperties(R,E().getStaticProperties("X3DEnvironmentTextureNode","CubeMapTexturing",1));const S=R,M=s().add("X3DEnvironmentTextureNode",S),C=e.X3DCast;var v=t.n(C);const A=e.BitSet;var I=t.n(A);function P(e){M.call(this,e),this.addType(b().ComposedCubeMapTexture),this.addChildObjects(b().outputOnly,"update",new(p().SFTime)),e.getSpecificationVersion()<=3.3&&(this.addAlias("front",this._frontTexture),this.addAlias("back",this._backTexture),this.addAlias("left",this._leftTexture),this.addAlias("right",this._rightTexture),this.addAlias("top",this._topTexture),this.addAlias("bottom",this._bottomTexture)),this.textureNodes=[null,null,null,null,null,null],this.textureBits=new(I())}Object.assign(Object.setPrototypeOf(P.prototype,M.prototype),{initialize(){M.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.frameBuffer=e.createFramebuffer(),this._frontTexture.addInterest("set_texture__",this,0),this._backTexture.addInterest("set_texture__",this,1),this._leftTexture.addInterest("set_texture__",this,2),this._rightTexture.addInterest("set_texture__",this,3),this._topTexture.addInterest("set_texture__",this,5),this._bottomTexture.addInterest("set_texture__",this,4),this._update.addInterest("update",this),this.set_texture__(0,this._frontTexture),this.set_texture__(1,this._backTexture),this.set_texture__(2,this._leftTexture),this.set_texture__(3,this._rightTexture),this.set_texture__(4,this._topTexture),this.set_texture__(5,this._bottomTexture)},set_texture__(e,t){let r=this.textureNodes[e];r?.removeInterest("set_loadState__",this),r=this.textureNodes[e]=v()(b().X3DTexture2DNode,t),r?.addInterest("set_loadState__",this,e,r),this.set_loadState__(e,r)},set_loadState__(e,t){this.setTextureBit(e,t?.checkLoadState()),this._update.addEvent()},setTextureBit(e,t){this.textureBits.set(e,t===b().COMPLETE_STATE)},isComplete(){if(63!==+this.textureBits)return!1;const e=this.textureNodes,t=e[0].getWidth();for(const r of e){if(r.getWidth()!==t)return!1;if(r.getHeight()!==t)return!1}return!0},update(){if(this.isComplete()){const e=this.getBrowser().getContext(),t=this.textureNodes,r=t[0].getWidth();if(r!==this.getSize()){const t=new Uint8Array(r*r*4);e.bindTexture(this.getTarget(),this.getTexture());for(let i=0;i<6;++i)e.texImage2D(this.getTargets()[i],0,e.RGBA,r,r,0,e.RGBA,e.UNSIGNED_BYTE,t);this.setSize(r),this.updateTextureParameters()}e.bindFramebuffer(e.FRAMEBUFFER,this.frameBuffer);for(let i=0;i<6;++i){const a=t[i];if(e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,a.getTexture(),0),e.bindTexture(this.getTarget(),this.getTexture()),1===a.getTextureType())e.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,r,r);else for(let t=0;t<r;++t)e.copyTexSubImage2D(this.getTargets()[i],0,0,r-t-1,0,t,r,1)}this.setTransparent(t.some(e=>e.isTransparent())),this.setLinear(t.some(e=>e.isLinear())),this.setMipMaps(t.every(e=>e.canMipMaps())),this.updateTextureParameters(),this.addNodeEvent()}else this.clearTexture()},getRenderedTextures(e){for(const t of this.textureNodes)t?.getRenderedTextures(e)}}),Object.defineProperties(P,{...E().getStaticProperties("ComposedCubeMapTexture","CubeMapTexturing",1,"texture","3.1"),fieldDefinitions:{value:new(g())([new(x())(b().inputOutput,"metadata",new(p().SFNode)),new(x())(b().inputOutput,"description",new(p().SFString)),new(x())(b().inputOutput,"frontTexture",new(p().SFNode)),new(x())(b().inputOutput,"backTexture",new(p().SFNode)),new(x())(b().inputOutput,"leftTexture",new(p().SFNode)),new(x())(b().inputOutput,"rightTexture",new(p().SFNode)),new(x())(b().inputOutput,"topTexture",new(p().SFNode)),new(x())(b().inputOutput,"bottomTexture",new(p().SFNode)),new(x())(b().initializeOnly,"textureProperties",new(p().SFNode))]),enumerable:!0}});const U=P,N=s().add("ComposedCubeMapTexture",U),X=e.DependentRenderer;var B=t.n(X);const F=e.TextureBuffer;var y=t.n(F);const D=e.TraverseType;var O=t.n(D);const L=e.Camera;var V=t.n(L);const G=e.ViewVolume;var z=t.n(G);const j=e.Rotation4;var k=t.n(j);const Y=e.Vector3;var Z=t.n(Y);const W=e.Vector4;var H=t.n(W);const $=e.Matrix4;var K=t.n($);const q=e.Algorithm;var J=t.n(q);function Q(e){M.call(this,e),this.addType(b().GeneratedCubeMapTexture),this.dependentRenderers=new WeakMap,this.projectionMatrix=new(K()),this.modelMatrix=new(K()),this.updateCallbacks=new Map}Object.assign(Object.setPrototypeOf(Q.prototype,M.prototype),{initialize(){M.prototype.initialize.call(this),this._size.addInterest("set_size__",this),this.set_size__()},isRenderedTexture:()=>!0,getRenderedTextures(e){e.add(this)},addUpdateCallback(e,t){this.updateCallbacks.set(e,t)},removeUpdateCallback(e){this.updateCallbacks.delete(e)},set_size__(){const e=this._size.getValue();if(this.frameBuffer?.dispose(),e>0){const t=this.getBrowser(),r=t.getContext(),i=new Uint8Array(e*e*4);r.bindTexture(this.getTarget(),this.getTexture());for(const t of this.getTargets())r.texImage2D(t,0,r.RGBA,e,e,0,r.RGBA,r.UNSIGNED_BYTE,i);this.updateTextureParameters(),this.viewport=new(H())(0,0,e,e),this.frameBuffer=new(y())({browser:t,width:e,height:e}),this.setSize(e)}else this.frameBuffer=null,this.clearTexture()},traverse(e,t){t.isIndependent()&&this.frameBuffer&&"NONE"!==this._update.getValue()&&(t.getRenderedTextures().add(this),this.modelMatrix.assign(t.getModelViewMatrix().get()).multRight(t.getCameraSpaceMatrix().get()))},renderTexture:(()=>{const e=[k().fromVectors(Z().Z_AXIS,Z().NEGATIVE_Z_AXIS),k().fromVectors(Z().Z_AXIS,Z().Z_AXIS),k().fromVectors(Z().Z_AXIS,Z().X_AXIS),k().fromVectors(Z().Z_AXIS,Z().NEGATIVE_X_AXIS),k().fromVectors(Z().Z_AXIS,Z().NEGATIVE_Y_AXIS),k().fromVectors(Z().Z_AXIS,Z().Y_AXIS)],t=[new(Z())(-1,-1,1),new(Z())(-1,-1,1),new(Z())(-1,-1,1),new(Z())(-1,-1,1),new(Z())(1,1,1),new(Z())(1,1,1)],r=new(K()),i=new(z());return function(a){this.textureRenderingPass=!0,this.dependentRenderers.has(a)||this.dependentRenderers.set(a,new(B())(this.getExecutionContext(),a));const s=this.dependentRenderers.get(a),n=this.getBrowser(),o=n.getContext(),u=this.viewport,T=s.getBackground(),d=s.getNavigationInfo(),h=s.getViewpoint(),p=n.getHeadlight(),c=d._headlight.getValue(),x=h.getNearDistance(d),l=h.getFarDistance(d),g=V().perspective(J().radians(90),x,l,1,1,this.projectionMatrix),_=this.frameBuffer.getWidth(),E=this.frameBuffer.getHeight();this.setTransparent(T.isTransparent()),s.setFramebuffer(this.frameBuffer),s.getViewVolumes().push(i.set(g,u)),s.getProjectionMatrix().push(g),o.bindTexture(this.getTarget(),this.getTexture()),this.frameBuffer.bind();for(let i=0;i<6;++i)o.viewport(...u),o.scissor(...u),o.clearColor(0,0,0,0),o.clear(o.COLOR_BUFFER_BIT),s.getCameraSpaceMatrix().push(this.modelMatrix),s.getCameraSpaceMatrix().rotate(e[i]),s.getCameraSpaceMatrix().scale(t[i]),r.assign(s.getCameraSpaceMatrix().get()).inverse(),s.getViewMatrix().push(r),s.getModelViewMatrix().push(r),c&&(p.modelViewMatrix.push(r),p.modelViewMatrix.multLeft(h.getCameraSpaceMatrix())),a.getLayer().traverse(O().DISPLAY,s),c&&p.modelViewMatrix.pop(),s.getModelViewMatrix().pop(),s.getCameraSpaceMatrix().pop(),s.getViewMatrix().pop(),o.bindTexture(this.getTarget(),this.getTexture()),o.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,_,E);this.updateTextureParameters(),s.getProjectionMatrix().pop(),s.getViewVolumes().pop(),this._update.equals("NEXT_FRAME_ONLY")&&(this._update="NONE");for(const e of this.updateCallbacks.values())e();this.textureRenderingPass=!1}})(),setShaderUniforms(e,t){M.prototype.setShaderUniforms.call(this,e,t),this.textureRenderingPass&&e.scissor(0,0,0,0)}}),Object.defineProperties(Q,{...E().getStaticProperties("GeneratedCubeMapTexture","CubeMapTexturing",3,"texture","3.0"),fieldDefinitions:{value:new(g())([new(x())(b().inputOutput,"metadata",new(p().SFNode)),new(x())(b().inputOutput,"description",new(p().SFString)),new(x())(b().inputOutput,"update",new(p().SFString)("NONE")),new(x())(b().initializeOnly,"size",new(p().SFInt32)(128)),new(x())(b().initializeOnly,"textureProperties",new(p().SFNode))]),enumerable:!0}});const ee=Q,te=s().add("GeneratedCubeMapTexture",ee),re=e.X3DUrlObject;var ie=t.n(re);const ae=e.FileLoader;var se=t.n(ae);const ne=e.Vector2;var oe=t.n(ne);const ue=e.DEVELOPMENT;var Te=t.n(ue);function de(e){M.call(this,e),ie().call(this,e),this.addType(b().ImageCubeMapTexture)}Object.assign(Object.setPrototypeOf(de.prototype,M.prototype),ie().prototype,{initialize(){M.prototype.initialize.call(this),ie().prototype.initialize.call(this),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){new(se())(this,{dataAsString:!1}).loadDocument(this._url,async(e,t)=>{if(null===e)this.clearTexture(),this.setLoadState(b().FAILED_STATE);else{if(!(e instanceof ArrayBuffer))throw new Error(`${this.getTypeName()}: No suitable file handler found.`);if((t=new URL(t)).pathname.match(/\.ktx2?(?:\.gz)?$/)||t.href.match(/^\s*data:image\/ktx2[;,]/s)){this.setLinear(!0),this.setMipMaps(!1);const r=await this.getBrowser().getKTXDecoder(),i=await r.loadKTXFromBuffer(e);this.setKTXTexture(i,t)}else{this.setLinear(!1),this.setMipMaps(!0);const r=URL.createObjectURL(new Blob([e]));try{this.setImage(await this.loadImage(r),t)}finally{URL.revokeObjectURL(r)}}}})},setKTXTexture(e,t){if(e.target!==this.getTarget())throw new Error("Invalid KTX texture target, must be 'TEXTURE_CUBE_MAP'.");Te()&&"data:"!==t.protocol&&console.info(`Done loading ${this.getTypeName()} '${decodeURI(t)}'.`),this.setTexture(e),this.setTransparent(!1),this.setSize(e.baseWidth),this.updateTextureParameters(),this.setLoadState(b().COMPLETE_STATE)},setImage(e,t){Te()&&"data:"!==t.protocol&&console.info(`Done loading ${this.getTypeName()} '${decodeURI(t)}'.`);const r=this.getBrowser().getContext(),i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),this.imageToCubeMap(i,e.width,e.height,!1),this.setLoadState(b().COMPLETE_STATE),this.addNodeEvent()},imageToCubeMap(e,t,r){const i=t/r;Math.abs(i-4/3)<.01&&this.skyBoxToCubeMap(e,t,r),Math.abs(i-2)<.01&&this.panoramaToCubeMap(e,t,r),this.updateTextureParameters()},skyBoxToCubeMap:(()=>{const e=[new(oe())(1,1),new(oe())(3,1),new(oe())(0,1),new(oe())(2,1),new(oe())(1,0),new(oe())(1,2)];return function(t,r,i){const a=this.getBrowser().getContext(),s=a.createFramebuffer(),n=Math.floor(r/4),o=Math.floor(i/3),u=new Uint8Array(n*o*4);a.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)a.texImage2D(this.getTargets()[e],0,a.RGBA,n,o,0,a.RGBA,a.UNSIGNED_BYTE,u);a.bindFramebuffer(a.FRAMEBUFFER,s),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,t,0);let T=!1;a.bindTexture(this.getTarget(),this.getTexture());for(let t=0;t<6;++t)a.copyTexSubImage2D(this.getTargets()[t],0,0,0,e[t].x*n,e[t].y*o,n,o),T||(a.readPixels(e[t].x*n,e[t].y*o,n,o,a.RGBA,a.UNSIGNED_BYTE,u),T=this.isImageTransparent(u));a.deleteFramebuffer(s),a.deleteTexture(t),this.setTransparent(T),this.setSize(n)}})(),panoramaToCubeMap(e,t,r){const i=this.getBrowser(),a=i.getContext(),s=i.getPanoramaShader(),n=a.createFramebuffer(),o=Math.floor(r/2),u=new Uint8Array(o*o*4);a.bindTexture(a.TEXTURE_2D,e),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.MIRRORED_REPEAT),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.MIRRORED_REPEAT),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)a.texImage2D(this.getTargets()[e],0,a.RGBA,o,o,0,a.RGBA,a.UNSIGNED_BYTE,u);a.useProgram(s.getProgram()),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e),a.uniform1i(s.x3d_PanoramaTextureEXT,0),a.bindFramebuffer(a.FRAMEBUFFER,n),a.viewport(0,0,o,o),a.scissor(0,0,o,o),a.disable(a.DEPTH_TEST),a.enable(a.CULL_FACE),a.frontFace(a.CCW),a.clearColor(0,0,0,0),a.bindVertexArray(i.getFullscreenVertexArrayObject());let T=!1;for(let e=0;e<6;++e)a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,this.getTargets()[e],this.getTexture(),0),a.clear(a.COLOR_BUFFER_BIT),a.uniform1i(s.x3d_CurrentFaceEXT,e),a.drawArrays(a.TRIANGLES,0,6),T||(a.readPixels(0,0,o,o,a.RGBA,a.UNSIGNED_BYTE,u),T=this.isImageTransparent(u));a.enable(a.DEPTH_TEST),a.deleteFramebuffer(n),a.deleteTexture(e),this.setTransparent(T),this.setSize(o)},dispose(){ie().prototype.dispose.call(this),M.prototype.dispose.call(this)}}),Object.defineProperties(de,{...E().getStaticProperties("ImageCubeMapTexture","CubeMapTexturing",2,"texture","3.0"),fieldDefinitions:{value:new(g())([new(x())(b().inputOutput,"metadata",new(p().SFNode)),new(x())(b().inputOutput,"description",new(p().SFString)),new(x())(b().inputOutput,"load",new(p().SFBool)(!0)),new(x())(b().inputOutput,"url",new(p().MFString)),new(x())(b().inputOutput,"autoRefresh",new(p().SFTime)(0)),new(x())(b().inputOutput,"autoRefreshTimeLimit",new(p().SFTime)(3600)),new(x())(b().initializeOnly,"textureProperties",new(p().SFNode))]),enumerable:!0}});const he=de,pe=s().add("ImageCubeMapTexture",he);i().add({name:"CubeMapTexturing",concreteNodes:[N,te,pe],abstractNodes:[M],browserContext:d});s().add("CubeMapTexturingComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v16.1.2 */
1
+ /* X_ITE v16.2.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -7,48 +7,27 @@ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
7
7
  /******/
8
8
  /************************************************************************/
9
9
  /******/ /* webpack/runtime/compat get default export */
10
- /******/ (() => {
11
- /******/ // getDefaultExport function for compatibility with non-harmony modules
12
- /******/ __webpack_require__.n = (module) => {
13
- /******/ const getter = module && module.__esModule ?
14
- /******/ () => (module['default']) :
15
- /******/ () => (module);
16
- /******/ __webpack_require__.d(getter, { a: getter });
17
- /******/ return getter;
18
- /******/ };
19
- /******/ })();
10
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
11
+ /******/ __webpack_require__.n = (module) => {
12
+ /******/ const getter = module && module.__esModule ?
13
+ /******/ () => (module['default']) :
14
+ /******/ () => (module);
15
+ /******/ __webpack_require__.d(getter, { a: getter });
16
+ /******/ return getter;
17
+ /******/ };
20
18
  /******/
21
19
  /******/ /* webpack/runtime/define property getters */
22
- /******/ (() => {
23
- /******/ // define getter/value functions for harmony exports
24
- /******/ __webpack_require__.d = (exports, definition) => {
25
- /******/ if(Array.isArray(definition)) {
26
- /******/ var i = 0;
27
- /******/ while(i < definition.length) {
28
- /******/ var key = definition[i++];
29
- /******/ var binding = definition[i++];
30
- /******/ if(!__webpack_require__.o(exports, key)) {
31
- /******/ if(binding === 0) {
32
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
33
- /******/ } else {
34
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
35
- /******/ }
36
- /******/ } else if(binding === 0) { i++; }
37
- /******/ }
38
- /******/ } else {
39
- /******/ for(var key in definition) {
40
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
41
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
42
- /******/ }
43
- /******/ }
20
+ /******/ // define getter/value functions for harmony exports
21
+ /******/ __webpack_require__.d = (exports, definition) => {
22
+ /******/ for(var key in definition) {
23
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
24
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
44
25
  /******/ }
45
- /******/ };
46
- /******/ })();
26
+ /******/ }
27
+ /******/ };
47
28
  /******/
48
29
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
49
- /******/ (() => {
50
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
51
- /******/ })();
30
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
52
31
  /******/
53
32
  /************************************************************************/
54
33