x_ite 8.11.16 → 8.12.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 (49) hide show
  1. package/README.md +5 -3
  2. package/dist/LICENSE.md +2 -2
  3. package/dist/assets/components/Annotation.js +21 -21
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +38 -36
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +31 -31
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +20 -20
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +19 -19
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +34 -34
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +86 -85
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +30 -32
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +13 -13
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +46 -42
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +65 -65
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +46 -46
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +31 -31
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +48 -48
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +108 -101
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +44 -44
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +18 -18
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +74 -92
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +39 -40
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +11 -11
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +3153 -2347
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.min.mjs +1 -0
  47. package/dist/x_ite.mjs +121582 -0
  48. package/dist/x_ite.zip +0 -0
  49. package/package.json +9 -2
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.11.16 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.12.0 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ // The require scope
4
4
  /******/ var __webpack_require__ = {};
@@ -39,13 +39,13 @@ var __webpack_exports__ = {};
39
39
  // UNUSED EXPORTS: default
40
40
 
41
41
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
42
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components");
42
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components");
43
43
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
44
44
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
45
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Fields");
45
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Fields");
46
46
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
47
47
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
48
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Namespace");
48
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Namespace");
49
49
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
50
50
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js
51
51
  /*******************************************************************************
@@ -147,19 +147,19 @@ Object .assign (X3DKeyDeviceSensorContext .prototype,
147
147
  const __default__ = X3DKeyDeviceSensorContext;
148
148
  ;
149
149
 
150
- Namespace_default().set ("x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext", __default__);
150
+ Namespace_default().add ("X3DKeyDeviceSensorContext", "x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext", __default__);
151
151
  /* harmony default export */ const KeyDeviceSensor_X3DKeyDeviceSensorContext = (__default__);
152
152
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
153
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Base/X3DFieldDefinition");
153
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Base/X3DFieldDefinition");
154
154
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
155
155
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
156
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Base/FieldDefinitionArray");
156
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Base/FieldDefinitionArray");
157
157
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
158
158
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DSensorNode\")"
159
- const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Core/X3DSensorNode");
159
+ const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Core/X3DSensorNode");
160
160
  var X3DSensorNode_default = /*#__PURE__*/__webpack_require__.n(X3DSensorNode_namespaceObject);
161
161
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
162
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Base/X3DConstants");
162
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Base/X3DConstants");
163
163
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
164
164
  ;// CONCATENATED MODULE: ./src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js
165
165
  /*******************************************************************************
@@ -284,7 +284,7 @@ Object .defineProperties (X3DKeyDeviceSensorNode,
284
284
  const X3DKeyDeviceSensorNode_default_ = X3DKeyDeviceSensorNode;
285
285
  ;
286
286
 
287
- Namespace_default().set ("x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode", X3DKeyDeviceSensorNode_default_);
287
+ Namespace_default().add ("X3DKeyDeviceSensorNode", "x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode", X3DKeyDeviceSensorNode_default_);
288
288
  /* harmony default export */ const KeyDeviceSensor_X3DKeyDeviceSensorNode = (X3DKeyDeviceSensorNode_default_);
289
289
  ;// CONCATENATED MODULE: ./src/x_ite/Components/KeyDeviceSensor/KeySensor.js
290
290
  /*******************************************************************************
@@ -668,7 +668,7 @@ Object .defineProperties (KeySensor,
668
668
  const KeySensor_default_ = KeySensor;
669
669
  ;
670
670
 
671
- Namespace_default().set ("x_ite/Components/KeyDeviceSensor/KeySensor", KeySensor_default_);
671
+ Namespace_default().add ("KeySensor", "x_ite/Components/KeyDeviceSensor/KeySensor", KeySensor_default_);
672
672
  /* harmony default export */ const KeyDeviceSensor_KeySensor = (KeySensor_default_);
673
673
  ;// CONCATENATED MODULE: ./src/x_ite/Components/KeyDeviceSensor/StringSensor.js
674
674
  /*******************************************************************************
@@ -837,7 +837,7 @@ Object .defineProperties (StringSensor,
837
837
  const StringSensor_default_ = StringSensor;
838
838
  ;
839
839
 
840
- Namespace_default().set ("x_ite/Components/KeyDeviceSensor/StringSensor", StringSensor_default_);
840
+ Namespace_default().add ("StringSensor", "x_ite/Components/KeyDeviceSensor/StringSensor", StringSensor_default_);
841
841
  /* harmony default export */ const KeyDeviceSensor_StringSensor = (StringSensor_default_);
842
842
  ;// CONCATENATED MODULE: ./src/assets/components/KeyDeviceSensor.js
843
843
  /*******************************************************************************
@@ -910,7 +910,7 @@ Components_default().add ({
910
910
  const KeyDeviceSensor_default_ = undefined;
911
911
  ;
912
912
 
913
- Namespace_default().set ("assets/components/KeyDeviceSensor", KeyDeviceSensor_default_);
913
+ Namespace_default().add ("KeyDeviceSensor", "assets/components/KeyDeviceSensor", KeyDeviceSensor_default_);
914
914
  /* harmony default export */ const KeyDeviceSensor = ((/* unused pure expression or super */ null && (KeyDeviceSensor_default_)));
915
915
  /******/ })()
916
916
  ;
@@ -1 +1 @@
1
- /* X_ITE v8.11.16 */(()=>{"use strict";var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var a in s)e.o(s,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:s[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components");var s=e.n(t);const a=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Fields");var i=e.n(a);const n=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Namespace");var o=e.n(n);const r=Symbol(),c=Symbol(),l=Symbol();function y(){this[r]=new Set}Object.assign(y.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[c].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[l].bind(this))},addKeyDeviceSensorNode(e){this[r].add(e)},removeKeyDeviceSensorNode(e){this[r].delete(e)},getKeyDeviceSensorNodes(){return this[r]},[c](e){for(const t of this[r])t.keydown(e)},[l](e){for(const t of this[r])t.keyup(e)}});const h=y;o().set("x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext",h);const _=h,b=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Base/X3DFieldDefinition");var d=e.n(b);const u=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Base/FieldDefinitionArray");var k=e.n(u);const p=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Core/X3DSensorNode");var K=e.n(p);const w=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Base/X3DConstants");var v=e.n(w);function S(e){K().call(this,e),this.addType(v().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(S.prototype,K().prototype),{initialize(){K().prototype.initialize.call(this),this.getLive().addInterest("set_live__",this),this.set_live__()},set_live__(){this.getLive().getValue()?(this._enabled.addInterest("set_enabled__",this),this._enabled.getValue()&&this.enable()):(this._enabled.removeInterest("set_enabled__",this),this.disable())},set_enabled__(){this._enabled.getValue()?this.enable():this.disable()},enable(){this.getBrowser().addKeyDeviceSensorNode(this)},disable(){this.getBrowser().removeKeyDeviceSensorNode(this),this.release()},keydown(){},keyup(){},release(){}}),Object.defineProperties(S,{typeName:{value:"X3DKeyDeviceSensorNode",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0}});const f=S;o().set("x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode",f);const m=f;function g(e){m.call(this,e),this.addType(v().KeySensor)}Object.assign(Object.setPrototypeOf(g.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),this._isActive.getValue()||(this._isActive=!0),e.which){case 16:this._shiftKey=!0;break;case 17:this._controlKey=!0;break;case 18:this._altKey=!0;break;case 112:this._actionKeyPress=1;break;case 113:this._actionKeyPress=2;break;case 114:this._actionKeyPress=3;break;case 115:this._actionKeyPress=4;break;case 116:this._actionKeyPress=5;break;case 117:this._actionKeyPress=6;break;case 118:this._actionKeyPress=7;break;case 119:this._actionKeyPress=8;break;case 120:this._actionKeyPress=9;break;case 121:this._actionKeyPress=10;break;case 122:this._actionKeyPress=11;break;case 123:this._actionKeyPress=12;break;case 36:this._actionKeyPress=13;break;case 35:this._actionKeyPress=14;break;case 33:this._actionKeyPress=15;break;case 34:this._actionKeyPress=16;break;case 38:this._actionKeyPress=17;break;case 40:this._actionKeyPress=18;break;case 37:this._actionKeyPress=19;break;case 39:this._actionKeyPress=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyPress=String.fromCharCode(8);break;case"Delete":this._keyPress=String.fromCharCode(127);break;case"Enter":this._keyPress="\n";break;case"Escape":this._keyPress=String.fromCharCode(27);break;case"Tab":this._keyPress="\t";break;default:1===e.key.length&&(this._keyPress=e.key)}}},keyup(e){switch(e.preventDefault(),e.which){case 16:this._shiftKey=!1;break;case 17:this._controlKey=!1;break;case 18:this._altKey=!1;break;case 112:this._actionKeyRelease=1;break;case 113:this._actionKeyRelease=2;break;case 114:this._actionKeyRelease=3;break;case 115:this._actionKeyRelease=4;break;case 116:this._actionKeyRelease=5;break;case 117:this._actionKeyRelease=6;break;case 118:this._actionKeyRelease=7;break;case 119:this._actionKeyRelease=8;break;case 120:this._actionKeyRelease=9;break;case 121:this._actionKeyRelease=10;break;case 122:this._actionKeyRelease=11;break;case 123:this._actionKeyRelease=12;break;case 36:this._actionKeyRelease=13;break;case 35:this._actionKeyRelease=14;break;case 33:this._actionKeyRelease=15;break;case 34:this._actionKeyRelease=16;break;case 38:this._actionKeyRelease=17;break;case 40:this._actionKeyRelease=18;break;case 37:this._actionKeyRelease=19;break;case 39:this._actionKeyRelease=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyRelease=String.fromCharCode(8);break;case"Delete":this._keyRelease=String.fromCharCode(127);break;case"Enter":this._keyRelease="\n";break;case"Escape":this._keyRelease=String.fromCharCode(27);break;case"Tab":this._keyRelease="\t";break;default:1===e.key.length&&(this._keyRelease=e.key)}}this._isActive.getValue()&&(this._isActive=!1)},release(){this._shiftKey.getValue()&&(this._shiftKey=!1),this._controlKey.getValue()&&(this._controlKey=!1),this._altKey.getValue()&&(this._altKey=!1)}}),Object.defineProperties(g,{typeName:{value:"KeySensor",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().outputOnly,"controlKey",new(i().SFBool)),new(d())(v().outputOnly,"shiftKey",new(i().SFBool)),new(d())(v().outputOnly,"altKey",new(i().SFBool)),new(d())(v().outputOnly,"actionKeyPress",new(i().SFInt32)),new(d())(v().outputOnly,"actionKeyRelease",new(i().SFInt32)),new(d())(v().outputOnly,"keyPress",new(i().SFString)),new(d())(v().outputOnly,"keyRelease",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const D=g;o().set("x_ite/Components/KeyDeviceSensor/KeySensor",D);const P=D;function O(e){m.call(this,e),this.addType(v().StringSensor)}Object.assign(Object.setPrototypeOf(O.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),e.key){case"Backspace":this._isActive.getValue()&&this._deletionAllowed.getValue()&&this._enteredText.length&&(this._enteredText=this._enteredText.getValue().substr(0,this._enteredText.length-1));break;case"Enter":this._finalText=this._enteredText,this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Escape":this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Tab":break;default:(e.charCode||e.keyCode)&&1===e.key.length&&(this._isActive.getValue()||(this._isActive=!0,this._enteredText=""),this._enteredText=this._enteredText.getValue()+e.key)}}}),Object.defineProperties(O,{typeName:{value:"StringSensor",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().inputOutput,"deletionAllowed",new(i().SFBool)(!0)),new(d())(v().outputOnly,"enteredText",new(i().SFString)),new(d())(v().outputOnly,"finalText",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const C=O;o().set("x_ite/Components/KeyDeviceSensor/StringSensor",C);const R=C;s().add({name:"KeyDeviceSensor",concreteNodes:[P,R],abstractNodes:[m],browserContext:_});const x=void 0;o().set("assets/components/KeyDeviceSensor",x)})();
1
+ /* X_ITE v8.12.0 */(()=>{"use strict";var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var a in s)e.o(s,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:s[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components");var s=e.n(t);const a=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Fields");var i=e.n(a);const n=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Namespace");var o=e.n(n);const r=Symbol(),c=Symbol(),l=Symbol();function y(){this[r]=new Set}Object.assign(y.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[c].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[l].bind(this))},addKeyDeviceSensorNode(e){this[r].add(e)},removeKeyDeviceSensorNode(e){this[r].delete(e)},getKeyDeviceSensorNodes(){return this[r]},[c](e){for(const t of this[r])t.keydown(e)},[l](e){for(const t of this[r])t.keyup(e)}});const h=y;o().add("X3DKeyDeviceSensorContext","x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext",h);const _=h,b=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Base/X3DFieldDefinition");var d=e.n(b);const u=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Base/FieldDefinitionArray");var k=e.n(u);const K=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Core/X3DSensorNode");var p=e.n(K);const S=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Base/X3DConstants");var v=e.n(S);function w(e){p().call(this,e),this.addType(v().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(w.prototype,p().prototype),{initialize(){p().prototype.initialize.call(this),this.getLive().addInterest("set_live__",this),this.set_live__()},set_live__(){this.getLive().getValue()?(this._enabled.addInterest("set_enabled__",this),this._enabled.getValue()&&this.enable()):(this._enabled.removeInterest("set_enabled__",this),this.disable())},set_enabled__(){this._enabled.getValue()?this.enable():this.disable()},enable(){this.getBrowser().addKeyDeviceSensorNode(this)},disable(){this.getBrowser().removeKeyDeviceSensorNode(this),this.release()},keydown(){},keyup(){},release(){}}),Object.defineProperties(w,{typeName:{value:"X3DKeyDeviceSensorNode",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0}});const f=w;o().add("X3DKeyDeviceSensorNode","x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode",f);const m=f;function D(e){m.call(this,e),this.addType(v().KeySensor)}Object.assign(Object.setPrototypeOf(D.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),this._isActive.getValue()||(this._isActive=!0),e.which){case 16:this._shiftKey=!0;break;case 17:this._controlKey=!0;break;case 18:this._altKey=!0;break;case 112:this._actionKeyPress=1;break;case 113:this._actionKeyPress=2;break;case 114:this._actionKeyPress=3;break;case 115:this._actionKeyPress=4;break;case 116:this._actionKeyPress=5;break;case 117:this._actionKeyPress=6;break;case 118:this._actionKeyPress=7;break;case 119:this._actionKeyPress=8;break;case 120:this._actionKeyPress=9;break;case 121:this._actionKeyPress=10;break;case 122:this._actionKeyPress=11;break;case 123:this._actionKeyPress=12;break;case 36:this._actionKeyPress=13;break;case 35:this._actionKeyPress=14;break;case 33:this._actionKeyPress=15;break;case 34:this._actionKeyPress=16;break;case 38:this._actionKeyPress=17;break;case 40:this._actionKeyPress=18;break;case 37:this._actionKeyPress=19;break;case 39:this._actionKeyPress=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyPress=String.fromCharCode(8);break;case"Delete":this._keyPress=String.fromCharCode(127);break;case"Enter":this._keyPress="\n";break;case"Escape":this._keyPress=String.fromCharCode(27);break;case"Tab":this._keyPress="\t";break;default:1===e.key.length&&(this._keyPress=e.key)}}},keyup(e){switch(e.preventDefault(),e.which){case 16:this._shiftKey=!1;break;case 17:this._controlKey=!1;break;case 18:this._altKey=!1;break;case 112:this._actionKeyRelease=1;break;case 113:this._actionKeyRelease=2;break;case 114:this._actionKeyRelease=3;break;case 115:this._actionKeyRelease=4;break;case 116:this._actionKeyRelease=5;break;case 117:this._actionKeyRelease=6;break;case 118:this._actionKeyRelease=7;break;case 119:this._actionKeyRelease=8;break;case 120:this._actionKeyRelease=9;break;case 121:this._actionKeyRelease=10;break;case 122:this._actionKeyRelease=11;break;case 123:this._actionKeyRelease=12;break;case 36:this._actionKeyRelease=13;break;case 35:this._actionKeyRelease=14;break;case 33:this._actionKeyRelease=15;break;case 34:this._actionKeyRelease=16;break;case 38:this._actionKeyRelease=17;break;case 40:this._actionKeyRelease=18;break;case 37:this._actionKeyRelease=19;break;case 39:this._actionKeyRelease=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyRelease=String.fromCharCode(8);break;case"Delete":this._keyRelease=String.fromCharCode(127);break;case"Enter":this._keyRelease="\n";break;case"Escape":this._keyRelease=String.fromCharCode(27);break;case"Tab":this._keyRelease="\t";break;default:1===e.key.length&&(this._keyRelease=e.key)}}this._isActive.getValue()&&(this._isActive=!1)},release(){this._shiftKey.getValue()&&(this._shiftKey=!1),this._controlKey.getValue()&&(this._controlKey=!1),this._altKey.getValue()&&(this._altKey=!1)}}),Object.defineProperties(D,{typeName:{value:"KeySensor",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().outputOnly,"controlKey",new(i().SFBool)),new(d())(v().outputOnly,"shiftKey",new(i().SFBool)),new(d())(v().outputOnly,"altKey",new(i().SFBool)),new(d())(v().outputOnly,"actionKeyPress",new(i().SFInt32)),new(d())(v().outputOnly,"actionKeyRelease",new(i().SFInt32)),new(d())(v().outputOnly,"keyPress",new(i().SFString)),new(d())(v().outputOnly,"keyRelease",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const g=D;o().add("KeySensor","x_ite/Components/KeyDeviceSensor/KeySensor",g);const P=g;function O(e){m.call(this,e),this.addType(v().StringSensor)}Object.assign(Object.setPrototypeOf(O.prototype,m.prototype),{keydown(e){switch(e.preventDefault(),e.key){case"Backspace":this._isActive.getValue()&&this._deletionAllowed.getValue()&&this._enteredText.length&&(this._enteredText=this._enteredText.getValue().substr(0,this._enteredText.length-1));break;case"Enter":this._finalText=this._enteredText,this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Escape":this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Tab":break;default:(e.charCode||e.keyCode)&&1===e.key.length&&(this._isActive.getValue()||(this._isActive=!0,this._enteredText=""),this._enteredText=this._enteredText.getValue()+e.key)}}}),Object.defineProperties(O,{typeName:{value:"StringSensor",enumerable:!0},componentName:{value:"KeyDeviceSensor",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.0","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(k())([new(d())(v().inputOutput,"metadata",new(i().SFNode)),new(d())(v().inputOutput,"enabled",new(i().SFBool)(!0)),new(d())(v().inputOutput,"deletionAllowed",new(i().SFBool)(!0)),new(d())(v().outputOnly,"enteredText",new(i().SFString)),new(d())(v().outputOnly,"finalText",new(i().SFString)),new(d())(v().outputOnly,"isActive",new(i().SFBool))]),enumerable:!0}});const C=O;o().add("StringSensor","x_ite/Components/KeyDeviceSensor/StringSensor",C);const R=C;s().add({name:"KeyDeviceSensor",concreteNodes:[P,R],abstractNodes:[m],browserContext:_});const x=void 0;o().add("KeyDeviceSensor","assets/components/KeyDeviceSensor",x)})();
@@ -1,11 +1,11 @@
1
- /* X_ITE v8.11.16 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.12.0 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ var __webpack_modules__ = ({
4
4
 
5
5
  /***/ 355:
6
6
  /***/ ((module) => {
7
7
 
8
- module.exports = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("lib/jquery");
8
+ module.exports = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("lib/jquery");
9
9
 
10
10
  /***/ })
11
11
 
@@ -73,22 +73,22 @@ var __webpack_exports__ = {};
73
73
  // UNUSED EXPORTS: default
74
74
 
75
75
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
76
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components");
76
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components");
77
77
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
78
78
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Texturing/TextureProperties\")"
79
- const TextureProperties_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Texturing/TextureProperties");
79
+ const TextureProperties_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Texturing/TextureProperties");
80
80
  var TextureProperties_default = /*#__PURE__*/__webpack_require__.n(TextureProperties_namespaceObject);
81
81
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector3\")"
82
- const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("standard/Math/Numbers/Vector3");
82
+ const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("standard/Math/Numbers/Vector3");
83
83
  var Vector3_default = /*#__PURE__*/__webpack_require__.n(Vector3_namespaceObject);
84
84
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Matrix4\")"
85
- const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("standard/Math/Numbers/Matrix4");
85
+ const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("standard/Math/Numbers/Matrix4");
86
86
  var Matrix4_default = /*#__PURE__*/__webpack_require__.n(Matrix4_namespaceObject);
87
87
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/ViewVolume\")"
88
- const ViewVolume_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("standard/Math/Geometry/ViewVolume");
88
+ const ViewVolume_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("standard/Math/Geometry/ViewVolume");
89
89
  var ViewVolume_default = /*#__PURE__*/__webpack_require__.n(ViewVolume_namespaceObject);
90
90
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
91
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Namespace");
91
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Namespace");
92
92
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
93
93
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Layout/X3DLayoutContext.js
94
94
  /*******************************************************************************
@@ -178,7 +178,7 @@ Object .assign (X3DLayoutContext .prototype,
178
178
  screenPoint = new (Vector3_default()) (0, 0, 0),
179
179
  screenMatrix = new (Matrix4_default()) ();
180
180
 
181
- return function (renderObject, matrix)
181
+ return function (renderObject, matrix, contentScale)
182
182
  {
183
183
  // throws domain error
184
184
 
@@ -193,9 +193,9 @@ Object .assign (X3DLayoutContext .prototype,
193
193
  renderObject .getViewpoint () .getScreenScale (modelViewMatrix .origin, viewport, screenScale); // in meter/pixel
194
194
 
195
195
  const
196
- x = modelViewMatrix .xAxis .normalize () .multiply (screenScale .x),
197
- y = modelViewMatrix .yAxis .normalize () .multiply (screenScale .y),
198
- z = modelViewMatrix .zAxis .normalize () .multiply (screenScale .x);
196
+ x = modelViewMatrix .xAxis .normalize () .multiply (screenScale .x * contentScale),
197
+ y = modelViewMatrix .yAxis .normalize () .multiply (screenScale .y * contentScale),
198
+ z = modelViewMatrix .zAxis .normalize () .multiply (screenScale .x * contentScale);
199
199
 
200
200
  screenMatrix .set (x .x, x .y, x .z, 0,
201
201
  y .x, y .y, y .z, 0,
@@ -224,22 +224,22 @@ Object .assign (X3DLayoutContext .prototype,
224
224
  const __default__ = X3DLayoutContext;
225
225
  ;
226
226
 
227
- Namespace_default().set ("x_ite/Browser/Layout/X3DLayoutContext", __default__);
227
+ Namespace_default().add ("X3DLayoutContext", "x_ite/Browser/Layout/X3DLayoutContext", __default__);
228
228
  /* harmony default export */ const Layout_X3DLayoutContext = (__default__);
229
229
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
230
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Fields");
230
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Fields");
231
231
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
232
232
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
233
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Base/X3DFieldDefinition");
233
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Base/X3DFieldDefinition");
234
234
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
235
235
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
236
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Base/FieldDefinitionArray");
236
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Base/FieldDefinitionArray");
237
237
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
238
238
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DChildNode\")"
239
- const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Core/X3DChildNode");
239
+ const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Core/X3DChildNode");
240
240
  var X3DChildNode_default = /*#__PURE__*/__webpack_require__.n(X3DChildNode_namespaceObject);
241
241
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
242
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Base/X3DConstants");
242
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Base/X3DConstants");
243
243
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
244
244
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/X3DLayoutNode.js
245
245
  /*******************************************************************************
@@ -318,16 +318,16 @@ Object .defineProperties (X3DLayoutNode,
318
318
  const X3DLayoutNode_default_ = X3DLayoutNode;
319
319
  ;
320
320
 
321
- Namespace_default().set ("x_ite/Components/Layout/X3DLayoutNode", X3DLayoutNode_default_);
321
+ Namespace_default().add ("X3DLayoutNode", "x_ite/Components/Layout/X3DLayoutNode", X3DLayoutNode_default_);
322
322
  /* harmony default export */ const Layout_X3DLayoutNode = (X3DLayoutNode_default_);
323
323
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DCast\")"
324
- const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Base/X3DCast");
324
+ const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Base/X3DCast");
325
325
  var X3DCast_default = /*#__PURE__*/__webpack_require__.n(X3DCast_namespaceObject);
326
326
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector2\")"
327
- const Vector2_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("standard/Math/Numbers/Vector2");
327
+ const Vector2_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("standard/Math/Numbers/Vector2");
328
328
  var Vector2_default = /*#__PURE__*/__webpack_require__.n(Vector2_namespaceObject);
329
329
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Rotation4\")"
330
- const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("standard/Math/Numbers/Rotation4");
330
+ const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("standard/Math/Numbers/Rotation4");
331
331
  var Rotation4_default = /*#__PURE__*/__webpack_require__.n(Rotation4_namespaceObject);
332
332
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/Layout.js
333
333
  /*******************************************************************************
@@ -974,13 +974,13 @@ Object .defineProperties (Layout,
974
974
  const Layout_default_ = Layout;
975
975
  ;
976
976
 
977
- Namespace_default().set ("x_ite/Components/Layout/Layout", Layout_default_);
977
+ Namespace_default().add ("Layout", "x_ite/Components/Layout/Layout", Layout_default_);
978
978
  /* harmony default export */ const Layout_Layout = (Layout_default_);
979
979
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DGroupingNode\")"
980
- const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
980
+ const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
981
981
  var X3DGroupingNode_default = /*#__PURE__*/__webpack_require__.n(X3DGroupingNode_namespaceObject);
982
982
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Rendering/TraverseType\")"
983
- const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Rendering/TraverseType");
983
+ const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Rendering/TraverseType");
984
984
  var TraverseType_default = /*#__PURE__*/__webpack_require__.n(TraverseType_namespaceObject);
985
985
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/LayoutGroup.js
986
986
  /*******************************************************************************
@@ -1173,13 +1173,13 @@ Object .defineProperties (LayoutGroup,
1173
1173
  const LayoutGroup_default_ = LayoutGroup;
1174
1174
  ;
1175
1175
 
1176
- Namespace_default().set ("x_ite/Components/Layout/LayoutGroup", LayoutGroup_default_);
1176
+ Namespace_default().add ("LayoutGroup", "x_ite/Components/Layout/LayoutGroup", LayoutGroup_default_);
1177
1177
  /* harmony default export */ const Layout_LayoutGroup = (LayoutGroup_default_);
1178
1178
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Layering/X3DLayerNode\")"
1179
- const X3DLayerNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Layering/X3DLayerNode");
1179
+ const X3DLayerNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Layering/X3DLayerNode");
1180
1180
  var X3DLayerNode_default = /*#__PURE__*/__webpack_require__.n(X3DLayerNode_namespaceObject);
1181
1181
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Navigation/OrthoViewpoint\")"
1182
- const OrthoViewpoint_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Navigation/OrthoViewpoint");
1182
+ const OrthoViewpoint_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Navigation/OrthoViewpoint");
1183
1183
  var OrthoViewpoint_default = /*#__PURE__*/__webpack_require__.n(OrthoViewpoint_namespaceObject);
1184
1184
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/LayoutLayer.js
1185
1185
  /*******************************************************************************
@@ -1308,25 +1308,25 @@ Object .defineProperties (LayoutLayer,
1308
1308
  const LayoutLayer_default_ = LayoutLayer;
1309
1309
  ;
1310
1310
 
1311
- Namespace_default().set ("x_ite/Components/Layout/LayoutLayer", LayoutLayer_default_);
1311
+ Namespace_default().add ("LayoutLayer", "x_ite/Components/Layout/LayoutLayer", LayoutLayer_default_);
1312
1312
  /* harmony default export */ const Layout_LayoutLayer = (LayoutLayer_default_);
1313
1313
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Text/X3DFontStyleNode\")"
1314
- const X3DFontStyleNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Text/X3DFontStyleNode");
1314
+ const X3DFontStyleNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Text/X3DFontStyleNode");
1315
1315
  var X3DFontStyleNode_default = /*#__PURE__*/__webpack_require__.n(X3DFontStyleNode_namespaceObject);
1316
1316
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Browser/Text/X3DTextGeometry\")"
1317
- const X3DTextGeometry_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Browser/Text/X3DTextGeometry");
1317
+ const X3DTextGeometry_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Browser/Text/X3DTextGeometry");
1318
1318
  var X3DTextGeometry_default = /*#__PURE__*/__webpack_require__.n(X3DTextGeometry_namespaceObject);
1319
1319
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Browser/Text/TextAlignment\")"
1320
- const TextAlignment_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Browser/Text/TextAlignment");
1320
+ const TextAlignment_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Browser/Text/TextAlignment");
1321
1321
  var TextAlignment_default = /*#__PURE__*/__webpack_require__.n(TextAlignment_namespaceObject);
1322
1322
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Texturing/PixelTexture\")"
1323
- const PixelTexture_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("x_ite/Components/Texturing/PixelTexture");
1323
+ const PixelTexture_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("x_ite/Components/Texturing/PixelTexture");
1324
1324
  var PixelTexture_default = /*#__PURE__*/__webpack_require__.n(PixelTexture_namespaceObject);
1325
1325
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/Box3\")"
1326
- const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("standard/Math/Geometry/Box3");
1326
+ const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("standard/Math/Geometry/Box3");
1327
1327
  var Box3_default = /*#__PURE__*/__webpack_require__.n(Box3_namespaceObject);
1328
1328
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Algorithm\")"
1329
- const Algorithm_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.11.16")] .require ("standard/Math/Algorithm");
1329
+ const Algorithm_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.12.0")] .require ("standard/Math/Algorithm");
1330
1330
  var Algorithm_default = /*#__PURE__*/__webpack_require__.n(Algorithm_namespaceObject);
1331
1331
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Layout/ScreenText.js
1332
1332
  /* provided dependency */ var $ = __webpack_require__(355);
@@ -1709,7 +1709,7 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1709
1709
 
1710
1710
  return function (type, renderObject)
1711
1711
  {
1712
- this .getBrowser () .getScreenScaleMatrix (renderObject, this .matrix);
1712
+ this .getBrowser () .getScreenScaleMatrix (renderObject, this .matrix, 1);
1713
1713
 
1714
1714
  // Update Text bbox.
1715
1715
 
@@ -1744,7 +1744,7 @@ Object .assign (Object .setPrototypeOf (ScreenText .prototype, (X3DTextGeometry_
1744
1744
  const ScreenText_default_ = ScreenText;
1745
1745
  ;
1746
1746
 
1747
- Namespace_default().set ("x_ite/Browser/Layout/ScreenText", ScreenText_default_);
1747
+ Namespace_default().add ("ScreenText", "x_ite/Browser/Layout/ScreenText", ScreenText_default_);
1748
1748
  /* harmony default export */ const Layout_ScreenText = (ScreenText_default_);
1749
1749
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/ScreenFontStyle.js
1750
1750
  /*******************************************************************************
@@ -1869,7 +1869,7 @@ Object .defineProperties (ScreenFontStyle,
1869
1869
  const ScreenFontStyle_default_ = ScreenFontStyle;
1870
1870
  ;
1871
1871
 
1872
- Namespace_default().set ("x_ite/Components/Layout/ScreenFontStyle", ScreenFontStyle_default_);
1872
+ Namespace_default().add ("ScreenFontStyle", "x_ite/Components/Layout/ScreenFontStyle", ScreenFontStyle_default_);
1873
1873
  /* harmony default export */ const Layout_ScreenFontStyle = (ScreenFontStyle_default_);
1874
1874
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Layout/ScreenGroup.js
1875
1875
  /*******************************************************************************
@@ -1933,7 +1933,7 @@ function ScreenGroup (executionContext)
1933
1933
 
1934
1934
  this .addType ((X3DConstants_default()).ScreenGroup);
1935
1935
 
1936
- this .matrix = new (Matrix4_default()) ();
1936
+ this .matrix = new (Matrix4_default()) (0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1);
1937
1937
  }
1938
1938
 
1939
1939
  Object .assign (Object .setPrototypeOf (ScreenGroup .prototype, (X3DGroupingNode_default()).prototype),
@@ -1956,8 +1956,12 @@ Object .assign (Object .setPrototypeOf (ScreenGroup .prototype, (X3DGroupingNode
1956
1956
  // No clone support for shadows, generated cube map texture and bbox
1957
1957
  break;
1958
1958
  default:
1959
- this .getBrowser () .getScreenScaleMatrix (renderObject, this .matrix);
1959
+ {
1960
+ const browser = this .getBrowser ();
1961
+
1962
+ browser .getScreenScaleMatrix (renderObject, this .matrix, browser .getRenderingProperty ("ContentScale"));
1960
1963
  break;
1964
+ }
1961
1965
  }
1962
1966
 
1963
1967
  const modelViewMatrix = renderObject .getModelViewMatrix ();
@@ -2012,7 +2016,7 @@ Object .defineProperties (ScreenGroup,
2012
2016
  const ScreenGroup_default_ = ScreenGroup;
2013
2017
  ;
2014
2018
 
2015
- Namespace_default().set ("x_ite/Components/Layout/ScreenGroup", ScreenGroup_default_);
2019
+ Namespace_default().add ("ScreenGroup", "x_ite/Components/Layout/ScreenGroup", ScreenGroup_default_);
2016
2020
  /* harmony default export */ const Layout_ScreenGroup = (ScreenGroup_default_);
2017
2021
  ;// CONCATENATED MODULE: ./src/assets/components/Layout.js
2018
2022
  /*******************************************************************************
@@ -2091,7 +2095,7 @@ Components_default().add ({
2091
2095
  const components_Layout_default_ = undefined;
2092
2096
  ;
2093
2097
 
2094
- Namespace_default().set ("assets/components/Layout", components_Layout_default_);
2098
+ Namespace_default().add ("Layout", "assets/components/Layout", components_Layout_default_);
2095
2099
  /* harmony default export */ const components_Layout = ((/* unused pure expression or super */ null && (components_Layout_default_)));
2096
2100
  })();
2097
2101
 
@@ -1 +1 @@
1
- /* X_ITE v8.11.16 */(()=>{"use strict";var e={355:e=>{e.exports=window[Symbol.for("X_ITE.X3D-8.11.16")].require("lib/jquery")}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components");var t=i.n(e);const n=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Texturing/TextureProperties");var s=i.n(n);const o=window[Symbol.for("X_ITE.X3D-8.11.16")].require("standard/Math/Numbers/Vector3");var r=i.n(o);const a=window[Symbol.for("X_ITE.X3D-8.11.16")].require("standard/Math/Numbers/Matrix4");var l=i.n(a);const h=window[Symbol.for("X_ITE.X3D-8.11.16")].require("standard/Math/Geometry/ViewVolume");var u=i.n(h);const c=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Namespace");var d=i.n(c);const p=Symbol();function y(){}Object.assign(y.prototype,{getScreenTextureProperties(){return this[p]=new(s())(this.getPrivateScene()),this[p]._boundaryModeS="CLAMP_TO_EDGE",this[p]._boundaryModeT="CLAMP_TO_EDGE",this[p]._boundaryModeR="CLAMP_TO_EDGE",this[p]._minificationFilter="NEAREST_PIXEL",this[p]._magnificationFilter="NEAREST_PIXEL",this[p]._generateMipMaps=!1,this[p]._textureCompression="DEFAULT",this[p].setup(),this.getScreenTextureProperties=function(){return this[p]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[p]},getScreenScaleMatrix:(()=>{const e=new(r())(0,0,0),t=new(r())(0,0,0),i=new(l());return function(n,s){const o=n.getModelViewMatrix().get(),a=n.getProjectionMatrix().get(),l=n.getViewVolume().getViewport();n.getViewpoint().getScreenScale(o.origin,l,e);const h=o.xAxis.normalize().multiply(e.x),c=o.yAxis.normalize().multiply(e.y),d=o.zAxis.normalize().multiply(e.x);i.set(h.x,h.y,h.z,0,c.x,c.y,c.z,0,d.x,d.y,d.z,0,o[12],o[13],o[14],1),u().projectPoint(r().Zero,i,a,l,t),t.x=Math.round(t.x),t.y=Math.round(t.y),u().unProjectPoint(t.x,t.y,t.z,i,a,l,t),t.z=0,i.translate(t),s.assign(o).inverse().multLeft(i)}})()});const g=y;d().set("x_ite/Browser/Layout/X3DLayoutContext",g);const w=g,f=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Fields");var x=i.n(f);const _=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Base/X3DFieldDefinition");var m=i.n(_);const S=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Base/FieldDefinitionArray");var b=i.n(S);const X=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Core/X3DChildNode");var M=i.n(X);const O=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Base/X3DConstants");var v=i.n(O);function z(e){M().call(this,e),this.addType(v().X3DLayoutNode)}Object.setPrototypeOf(z.prototype,M().prototype),Object.defineProperties(z,{typeName:{value:"X3DLayoutNode",enumerable:!0},componentName:{value:"Layout",enumerable:!0}});const T=z;d().set("x_ite/Components/Layout/X3DLayoutNode",T);const N=T,F=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Base/X3DCast");var I=i.n(F);const L=window[Symbol.for("X_ITE.X3D-8.11.16")].require("standard/Math/Numbers/Vector2");var E=i.n(L);const U=window[Symbol.for("X_ITE.X3D-8.11.16")].require("standard/Math/Numbers/Rotation4");var C=i.n(U);let D=0;const B=D++,Y=D++,P=D++,R=D++,V=D++,j=D++,A=D++,G=D++,q=D++,k=D++;function W(e){N.call(this,e),this.addType(v().Layout),this.alignX=Y,this.alignY=Y,this.offsetUnitX=j,this.offsetUnitY=j,this.offsetX=0,this.offsetY=0,this.sizeUnitX=j,this.sizeUnitY=j,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(E())(0,0),this.rectangleSize=new(E())(0,0),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(W.prototype,N.prototype),{viewportPixel:new(E())(0,0),pixelSize:new(E())(0,0),translation:new(r())(0,0,0),offset:new(r())(0,0,0),scale:new(r())(1,1,1),currentTranslation:new(r())(0,0,0),currentRotation:new(C()),currentScale:new(r())(0,0,0),modelViewMatrix:new(l()),initialize(){N.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=B:"RIGHT"===this._align[0]?this.alignX=P:this.alignX=Y:this.alignX=Y,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=R:"TOP"===this._align[1]?this.alignY=V:this.alignY=Y:this.alignY=Y},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=A:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=G:this.offsetUnitX=j,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=A:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=G:this.offsetUnitY=j:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=j,this.offsetUnitY=j)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=A:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=G:this.sizeUnitX=j,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=A:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=G:this.sizeUnitY=j:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=j,this.sizeUnitY=j)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=A:"PIXEL"===this._scaleMode[0]?this.scaleModeX=G:"STRETCH"===this._scaleMode[0]?this.scaleModeX=k:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=A:"PIXEL"===this._scaleMode[1]?this.scaleModeY=G:"STRETCH"===this._scaleMode[1]?this.scaleModeY=k:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===j?this.parent?this.parent.getOffsetUnitX():A:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===j?this.parent?this.parent.getOffsetUnitY():A:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===j?this.parent?this.parent.getSizeUnitX():A:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===j?this.parent?this.parent.getSizeUnitY():A:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?A:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?A:this.scaleModeY},transform(e,t){const i=this.parent=t.getParentLayout(),n=this.getBrowser().getRenderingProperty("ContentScale"),s=this.matrix,o=t.getViewpoint(),r=t.getNavigationInfo().getNearValue(),a=t.getViewVolume().getScissor(),l=o.getViewportSize(a,r),h=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():l,d=this.rectangleSize,p=this.rectangleCenter;switch(h.set(a[2],a[3]).divide(n),u.assign(l).divVec(h),this.getSizeUnitX()){case A:d.x=this.sizeX*c.x;break;case G:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case A:d.y=this.sizeY*c.y;break;case G:d.y=this.sizeY*u.y}const y=this.translation.set(0,0,0);switch(this.getAlignX()){case B:y.x=-(c.x-d.x)/2;break;case Y:this.getSizeUnitX()===G&&1&h.x&&(y.x=-u.x/2);break;case P:y.x=(c.x-d.x)/2}switch(this.getAlignY()){case R:y.y=-(c.y-d.y)/2;break;case Y:this.getSizeUnitX===G&&1&h.y&&(y.y=-u.y/2);break;case V:y.y=(c.y-d.y)/2}const g=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case A:g.x=this.offsetX*c.x;break;case G:g.x=this.offsetX*l.x/h.x}switch(this.getOffsetUnitY()){case A:g.y=this.offsetY*c.y;break;case G:g.y=this.offsetY*l.y/h.y}const w=this.scale.set(1,1,1),f=this.currentTranslation,x=this.currentRotation,_=this.currentScale;switch(t.getModelViewMatrix().get().get(f,x,_),this.getScaleModeX()){case q:w.x=_.x;break;case A:w.x=d.x;break;case k:break;case G:w.x=l.x/h.x}switch(this.getScaleModeY()){case q:w.y=_.y;break;case A:w.y=d.y;break;case k:break;case G:w.y=l.y/h.y}return this.getScaleModeX()===k?this.getScaleModeY()===k?d.x>d.y?(w.x=d.x,w.y=w.x):(w.y=d.y,w.x=w.y):w.x=w.y:this.getScaleModeY()===k&&(w.y=w.x),p.assign(y.add(g)),s.set(f,x),s.translate(y),s.scale(w),s}}),Object.defineProperties(W,{typeName:{value:"Layout",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layout",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"align",new(x().MFString)("CENTER","CENTER")),new(m())(v().inputOutput,"offsetUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"offset",new(x().MFFloat)(0,0)),new(m())(v().inputOutput,"sizeUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"size",new(x().MFFloat)(1,1)),new(m())(v().inputOutput,"scaleMode",new(x().MFString)("NONE","NONE"))]),enumerable:!0}});const H=W;d().set("x_ite/Components/Layout/Layout",H);const K=H,Z=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Grouping/X3DGroupingNode");var Q=i.n(Z);const J=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Rendering/TraverseType");var $=i.n(J);function ee(e){Q().call(this,e),this.addType(v().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(l()),this.modelViewMatrix=new(l()),this.screenMatrix=new(l())}Object.assign(Object.setPrototypeOf(ee.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=I()(v().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=I()(v().X3DLayoutNode,this._layout)},getBBox(e,t){return Q().prototype.getBBox.call(this,e,t).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(e,t){if(e!==$().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=t.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(e,t)),i.pushMatrix(this.screenMatrix),t.getLayouts().push(this.layoutNode),Q().prototype.traverse.call(this,e,t),t.getLayouts().pop(),i.pop()}else Q().prototype.traverse.call(this,e,t);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ee,{typeName:{value:"LayoutGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const te=ee;d().set("x_ite/Components/Layout/LayoutGroup",te);const ie=te,ne=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Layering/X3DLayerNode");var se=i.n(ne);const oe=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Navigation/OrthoViewpoint");var re=i.n(oe);function ae(e){se().call(this,e,new(re())(e),new ie(e)),this.addType(v().LayoutLayer)}Object.assign(Object.setPrototypeOf(ae.prototype,se().prototype),{initialize(){se().prototype.initialize.call(this),this._layout.addFieldInterest(this.getGroup()._layout),this._addChildren.addFieldInterest(this.getGroup()._addChildren),this._removeChildren.addFieldInterest(this.getGroup()._removeChildren),this._children.addFieldInterest(this.getGroup()._children),this.getGroup()._layout=this._layout,this.getGroup()._children=this._children,this.getGroup().setPrivate(!0),this.getGroup().setup()}}),Object.defineProperties(ae,{typeName:{value:"LayoutLayer",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layers",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"pickable",new(x().SFBool)(!0)),new(m())(v().inputOutput,"objectType",new(x().MFString)("ALL")),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const le=ae;d().set("x_ite/Components/Layout/LayoutLayer",le);const he=le,ue=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Text/X3DFontStyleNode");var ce=i.n(ue);const de=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Browser/Text/X3DTextGeometry");var pe=i.n(de);const ye=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Browser/Text/TextAlignment");var ge=i.n(ye);const we=window[Symbol.for("X_ITE.X3D-8.11.16")].require("x_ite/Components/Texturing/PixelTexture");var fe=i.n(we);const xe=window[Symbol.for("X_ITE.X3D-8.11.16")].require("standard/Math/Geometry/Box3");var _e=i.n(xe);const me=window[Symbol.for("X_ITE.X3D-8.11.16")].require("standard/Math/Algorithm");var Se=i.n(me),be=i(355);function Xe(e,t){pe().call(this,e,t),e.setTransparent(!0),this.texCoordArray=new(x().MFFloat),this.textureNode=new(fe())(e.getExecutionContext()),this.canvas=be("<canvas></canvas>"),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(l()),this.textureNode._textureProperties=t.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Xe.prototype,pe().prototype),{modelViewMatrix:new(l()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){pe().prototype.update.call(this);const i=this.getFontStyle(),n=this.getText();switch(n._textBounds.x=Math.ceil(n._textBounds.x)+1,n._textBounds.y=Math.ceil(n._textBounds.y)+1,this.getBBox().getExtents(e,t),e.x-=1,e.y-=1,i.getMajorAlignment()){case ge().BEGIN:case ge().FIRST:e.x=Math.floor(e.x),t.x=e.x+n._textBounds.x;break;case ge().MIDDLE:e.x=Math.round(e.x),t.x=e.x+n._textBounds.x;break;case ge().END:t.x=Math.ceil(t.x),e.x=t.x-n._textBounds.x}switch(i.getMinorAlignment()){case ge().BEGIN:case ge().FIRST:t.y=Math.ceil(t.y),e.y=t.y-n._textBounds.y;break;case ge().MIDDLE:t.y=Math.round(t.y),e.y=t.y-n._textBounds.y;break;case ge().END:e.y=Math.floor(e.y),t.y=e.y+n._textBounds.y}n._origin.x=e.x,n._origin.y=t.y,this.getBBox().setExtents(e,t)}})(),build:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){const i=this.getFontStyle(),n=i.getFont();if(!n)return;const s=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),l=this.getCharSpacings(),h=i.getScale(),u=h/n.unitsPerEm,c=this.texCoordArray,d=s.getNormals(),p=s.getVertices(),y=this.canvas[0],g=this.context;c.length=0,s.getMultiTexCoords().push(c),this.getBBox().getExtents(e,t),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),p.push(e.x,e.y,0,1,t.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,t.y,0,1);const w=s._textBounds.x,f=s._textBounds.y;y.width=Se().nextPowerOfTwo(w),y.height=Se().nextPowerOfTwo(f);const x=w/y.width,_=1-f/y.height;if(c.push(0,_,0,1,x,_,0,1,x,1,0,1,0,_,0,1,x,1,0,1,0,1,0,1),g.fillStyle="rgba(255,255,255,0)",g.fillRect(0,0,y.width,y.height),g.fillStyle="rgba(255,255,255,1)",g.save(),g.translate(0,y.height),g.scale(1,-1),i._horizontal.getValue())for(let i=0,s=o.length;i<s;++i){const s=o[i],c=l[i],d=a[i];let p=0;for(let i=0,o=s.length;i<o;++i){const o=s[i],a=r.x+d.x+p+i*c-e.x,l=r.y+d.y-t.y;this.drawGlyph(g,n,o,a,l,h);let y=0;i+1<s.length&&(y=n.getKerningValue(o,s[i+1])),p+=(o.advanceWidth+y)*u}}else{const l=i._leftToRight.getValue(),u=i._topToBottom.getValue(),c=l?0:s._string.length-1,d=l?s._string.length:-1,p=l?1:-1;for(let i=c,s=0;i!==d;i+=p){const l=o[i],c=l.length,d=u?c:-1,p=u?1:-1;for(let i=u?0:c-1;i!==d;i+=p,++s){const o=a[s],u=r.x+o.x-e.x,c=r.y+o.y-t.y;this.drawGlyph(g,n,l[i],u,c,h)}}}g.restore();const m=g.getImageData(0,0,y.width,y.height);m?this.textureNode.setTexture(y.width,y.height,!0,new Uint8Array(m.data.buffer),!1):this.textureNode.clear()}})(),drawGlyph(e,t,i,n,s,o){const r=i.getPath(n,-s,o),a=r.commands;e.beginPath();for(let t=0,i=a.length;t<i;++t){const i=a[t];switch(i.type){case"M":e.moveTo(i.x,i.y);continue;case"Z":e.closePath();continue;case"L":e.lineTo(i.x,i.y);continue;case"Q":e.quadraticCurveTo(i.x1,i.y1,i.x,i.y);continue;case"C":e.bezierCurveTo(i.x1,i.y1,i.x2,i.y2,i.x,i.y);continue}}r.fill&&e.fill(),r.stroke&&(e.lineWidth=r.strokeWidth,e.stroke())},getGlyphExtents(e,t,i,n,s){const o=e.unitsPerEm;n.set((t.xMin||0)/o,(t.yMin||0)/o,0),s.set((t.xMax||0)/o,(t.yMax||0)/o,0)},traverse:(()=>{const e=new(_e());return function(t,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix),e.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(e)}})(),display(e,t){l().prototype.multLeft.call(t.modelViewMatrix,this.matrix),t.textureNode=this.textureNode},transformLine:(()=>{const e=new(l());return function(t){return t.multLineMatrix(e.assign(this.matrix).inverse())}})(),transformMatrix(e){return e.multLeft(this.matrix)}});const Me=Xe;d().set("x_ite/Browser/Layout/ScreenText",Me);const Oe=Me;function ve(e){ce().call(this,e),this.addType(v().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(ve.prototype,ce().prototype),{initialize(){ce().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(e){return new Oe(e,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelPerPoint()}}),Object.defineProperties(ve,{typeName:{value:"ScreenFontStyle",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"fontStyle",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"language",new(x().SFString)),new(m())(v().inputOutput,"family",new(x().MFString)("SERIF")),new(m())(v().inputOutput,"style",new(x().SFString)("PLAIN")),new(m())(v().inputOutput,"pointSize",new(x().SFFloat)(12)),new(m())(v().inputOutput,"spacing",new(x().SFFloat)(1)),new(m())(v().inputOutput,"horizontal",new(x().SFBool)(!0)),new(m())(v().inputOutput,"leftToRight",new(x().SFBool)(!0)),new(m())(v().inputOutput,"topToBottom",new(x().SFBool)(!0)),new(m())(v().inputOutput,"justify",new(x().MFString)("BEGIN"))]),enumerable:!0}});const ze=ve;d().set("x_ite/Components/Layout/ScreenFontStyle",ze);const Te=ze;function Ne(e){Q().call(this,e),this.addType(v().ScreenGroup),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(Ne.prototype,Q().prototype),{getBBox(e,t){return this.getSubBBox(e,t).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(e,t){switch(e){case $().CAMERA:case $().PICKING:case $().SHADOW:break;default:this.getBrowser().getScreenScaleMatrix(t,this.matrix)}const i=t.getModelViewMatrix();i.push(),i.multLeft(this.matrix),Q().prototype.traverse.call(this,e,t),i.pop()}}),Object.defineProperties(Ne,{typeName:{value:"ScreenGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const Fe=Ne;d().set("x_ite/Components/Layout/ScreenGroup",Fe);const Ie=Fe;t().add({name:"Layout",concreteNodes:[K,ie,he,Te,Ie],abstractNodes:[N],browserContext:w});const Le=void 0;d().set("assets/components/Layout",Le)})()})();
1
+ /* X_ITE v8.12.0 */(()=>{"use strict";var e={355:e=>{e.exports=window[Symbol.for("X_ITE.X3D-8.12.0")].require("lib/jquery")}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components");var t=i.n(e);const n=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Texturing/TextureProperties");var s=i.n(n);const o=window[Symbol.for("X_ITE.X3D-8.12.0")].require("standard/Math/Numbers/Vector3");var r=i.n(o);const a=window[Symbol.for("X_ITE.X3D-8.12.0")].require("standard/Math/Numbers/Matrix4");var l=i.n(a);const h=window[Symbol.for("X_ITE.X3D-8.12.0")].require("standard/Math/Geometry/ViewVolume");var u=i.n(h);const c=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Namespace");var d=i.n(c);const p=Symbol();function y(){}Object.assign(y.prototype,{getScreenTextureProperties(){return this[p]=new(s())(this.getPrivateScene()),this[p]._boundaryModeS="CLAMP_TO_EDGE",this[p]._boundaryModeT="CLAMP_TO_EDGE",this[p]._boundaryModeR="CLAMP_TO_EDGE",this[p]._minificationFilter="NEAREST_PIXEL",this[p]._magnificationFilter="NEAREST_PIXEL",this[p]._generateMipMaps=!1,this[p]._textureCompression="DEFAULT",this[p].setup(),this.getScreenTextureProperties=function(){return this[p]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[p]},getScreenScaleMatrix:(()=>{const e=new(r())(0,0,0),t=new(r())(0,0,0),i=new(l());return function(n,s,o){const a=n.getModelViewMatrix().get(),l=n.getProjectionMatrix().get(),h=n.getViewVolume().getViewport();n.getViewpoint().getScreenScale(a.origin,h,e);const c=a.xAxis.normalize().multiply(e.x*o),d=a.yAxis.normalize().multiply(e.y*o),p=a.zAxis.normalize().multiply(e.x*o);i.set(c.x,c.y,c.z,0,d.x,d.y,d.z,0,p.x,p.y,p.z,0,a[12],a[13],a[14],1),u().projectPoint(r().Zero,i,l,h,t),t.x=Math.round(t.x),t.y=Math.round(t.y),u().unProjectPoint(t.x,t.y,t.z,i,l,h,t),t.z=0,i.translate(t),s.assign(a).inverse().multLeft(i)}})()});const g=y;d().add("X3DLayoutContext","x_ite/Browser/Layout/X3DLayoutContext",g);const w=g,f=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Fields");var x=i.n(f);const _=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Base/X3DFieldDefinition");var m=i.n(_);const S=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Base/FieldDefinitionArray");var b=i.n(S);const X=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Core/X3DChildNode");var M=i.n(X);const O=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Base/X3DConstants");var v=i.n(O);function z(e){M().call(this,e),this.addType(v().X3DLayoutNode)}Object.setPrototypeOf(z.prototype,M().prototype),Object.defineProperties(z,{typeName:{value:"X3DLayoutNode",enumerable:!0},componentName:{value:"Layout",enumerable:!0}});const T=z;d().add("X3DLayoutNode","x_ite/Components/Layout/X3DLayoutNode",T);const N=T,F=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Base/X3DCast");var L=i.n(F);const I=window[Symbol.for("X_ITE.X3D-8.12.0")].require("standard/Math/Numbers/Vector2");var E=i.n(I);const U=window[Symbol.for("X_ITE.X3D-8.12.0")].require("standard/Math/Numbers/Rotation4");var C=i.n(U);let D=0;const B=D++,Y=D++,P=D++,R=D++,V=D++,j=D++,G=D++,A=D++,q=D++,k=D++;function W(e){N.call(this,e),this.addType(v().Layout),this.alignX=Y,this.alignY=Y,this.offsetUnitX=j,this.offsetUnitY=j,this.offsetX=0,this.offsetY=0,this.sizeUnitX=j,this.sizeUnitY=j,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(E())(0,0),this.rectangleSize=new(E())(0,0),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(W.prototype,N.prototype),{viewportPixel:new(E())(0,0),pixelSize:new(E())(0,0),translation:new(r())(0,0,0),offset:new(r())(0,0,0),scale:new(r())(1,1,1),currentTranslation:new(r())(0,0,0),currentRotation:new(C()),currentScale:new(r())(0,0,0),modelViewMatrix:new(l()),initialize(){N.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=B:"RIGHT"===this._align[0]?this.alignX=P:this.alignX=Y:this.alignX=Y,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=R:"TOP"===this._align[1]?this.alignY=V:this.alignY=Y:this.alignY=Y},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=G:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=A:this.offsetUnitX=j,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=G:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=A:this.offsetUnitY=j:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=j,this.offsetUnitY=j)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=G:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=A:this.sizeUnitX=j,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=G:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=A:this.sizeUnitY=j:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=j,this.sizeUnitY=j)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=G:"PIXEL"===this._scaleMode[0]?this.scaleModeX=A:"STRETCH"===this._scaleMode[0]?this.scaleModeX=k:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=G:"PIXEL"===this._scaleMode[1]?this.scaleModeY=A:"STRETCH"===this._scaleMode[1]?this.scaleModeY=k:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===j?this.parent?this.parent.getOffsetUnitX():G:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===j?this.parent?this.parent.getOffsetUnitY():G:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===j?this.parent?this.parent.getSizeUnitX():G:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===j?this.parent?this.parent.getSizeUnitY():G:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?G:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?G:this.scaleModeY},transform(e,t){const i=this.parent=t.getParentLayout(),n=this.getBrowser().getRenderingProperty("ContentScale"),s=this.matrix,o=t.getViewpoint(),r=t.getNavigationInfo().getNearValue(),a=t.getViewVolume().getScissor(),l=o.getViewportSize(a,r),h=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():l,d=this.rectangleSize,p=this.rectangleCenter;switch(h.set(a[2],a[3]).divide(n),u.assign(l).divVec(h),this.getSizeUnitX()){case G:d.x=this.sizeX*c.x;break;case A:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case G:d.y=this.sizeY*c.y;break;case A:d.y=this.sizeY*u.y}const y=this.translation.set(0,0,0);switch(this.getAlignX()){case B:y.x=-(c.x-d.x)/2;break;case Y:this.getSizeUnitX()===A&&1&h.x&&(y.x=-u.x/2);break;case P:y.x=(c.x-d.x)/2}switch(this.getAlignY()){case R:y.y=-(c.y-d.y)/2;break;case Y:this.getSizeUnitX===A&&1&h.y&&(y.y=-u.y/2);break;case V:y.y=(c.y-d.y)/2}const g=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case G:g.x=this.offsetX*c.x;break;case A:g.x=this.offsetX*l.x/h.x}switch(this.getOffsetUnitY()){case G:g.y=this.offsetY*c.y;break;case A:g.y=this.offsetY*l.y/h.y}const w=this.scale.set(1,1,1),f=this.currentTranslation,x=this.currentRotation,_=this.currentScale;switch(t.getModelViewMatrix().get().get(f,x,_),this.getScaleModeX()){case q:w.x=_.x;break;case G:w.x=d.x;break;case k:break;case A:w.x=l.x/h.x}switch(this.getScaleModeY()){case q:w.y=_.y;break;case G:w.y=d.y;break;case k:break;case A:w.y=l.y/h.y}return this.getScaleModeX()===k?this.getScaleModeY()===k?d.x>d.y?(w.x=d.x,w.y=w.x):(w.y=d.y,w.x=w.y):w.x=w.y:this.getScaleModeY()===k&&(w.y=w.x),p.assign(y.add(g)),s.set(f,x),s.translate(y),s.scale(w),s}}),Object.defineProperties(W,{typeName:{value:"Layout",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layout",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"align",new(x().MFString)("CENTER","CENTER")),new(m())(v().inputOutput,"offsetUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"offset",new(x().MFFloat)(0,0)),new(m())(v().inputOutput,"sizeUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"size",new(x().MFFloat)(1,1)),new(m())(v().inputOutput,"scaleMode",new(x().MFString)("NONE","NONE"))]),enumerable:!0}});const H=W;d().add("Layout","x_ite/Components/Layout/Layout",H);const K=H,Z=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Grouping/X3DGroupingNode");var Q=i.n(Z);const J=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Rendering/TraverseType");var $=i.n(J);function ee(e){Q().call(this,e),this.addType(v().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(l()),this.modelViewMatrix=new(l()),this.screenMatrix=new(l())}Object.assign(Object.setPrototypeOf(ee.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=L()(v().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=L()(v().X3DLayoutNode,this._layout)},getBBox(e,t){return Q().prototype.getBBox.call(this,e,t).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(e,t){if(e!==$().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=t.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(e,t)),i.pushMatrix(this.screenMatrix),t.getLayouts().push(this.layoutNode),Q().prototype.traverse.call(this,e,t),t.getLayouts().pop(),i.pop()}else Q().prototype.traverse.call(this,e,t);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ee,{typeName:{value:"LayoutGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const te=ee;d().add("LayoutGroup","x_ite/Components/Layout/LayoutGroup",te);const ie=te,ne=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Layering/X3DLayerNode");var se=i.n(ne);const oe=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Navigation/OrthoViewpoint");var re=i.n(oe);function ae(e){se().call(this,e,new(re())(e),new ie(e)),this.addType(v().LayoutLayer)}Object.assign(Object.setPrototypeOf(ae.prototype,se().prototype),{initialize(){se().prototype.initialize.call(this),this._layout.addFieldInterest(this.getGroup()._layout),this._addChildren.addFieldInterest(this.getGroup()._addChildren),this._removeChildren.addFieldInterest(this.getGroup()._removeChildren),this._children.addFieldInterest(this.getGroup()._children),this.getGroup()._layout=this._layout,this.getGroup()._children=this._children,this.getGroup().setPrivate(!0),this.getGroup().setup()}}),Object.defineProperties(ae,{typeName:{value:"LayoutLayer",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layers",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"pickable",new(x().SFBool)(!0)),new(m())(v().inputOutput,"objectType",new(x().MFString)("ALL")),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const le=ae;d().add("LayoutLayer","x_ite/Components/Layout/LayoutLayer",le);const he=le,ue=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Text/X3DFontStyleNode");var ce=i.n(ue);const de=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Browser/Text/X3DTextGeometry");var pe=i.n(de);const ye=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Browser/Text/TextAlignment");var ge=i.n(ye);const we=window[Symbol.for("X_ITE.X3D-8.12.0")].require("x_ite/Components/Texturing/PixelTexture");var fe=i.n(we);const xe=window[Symbol.for("X_ITE.X3D-8.12.0")].require("standard/Math/Geometry/Box3");var _e=i.n(xe);const me=window[Symbol.for("X_ITE.X3D-8.12.0")].require("standard/Math/Algorithm");var Se=i.n(me),be=i(355);function Xe(e,t){pe().call(this,e,t),e.setTransparent(!0),this.texCoordArray=new(x().MFFloat),this.textureNode=new(fe())(e.getExecutionContext()),this.canvas=be("<canvas></canvas>"),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(l()),this.textureNode._textureProperties=t.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Xe.prototype,pe().prototype),{modelViewMatrix:new(l()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){pe().prototype.update.call(this);const i=this.getFontStyle(),n=this.getText();switch(n._textBounds.x=Math.ceil(n._textBounds.x)+1,n._textBounds.y=Math.ceil(n._textBounds.y)+1,this.getBBox().getExtents(e,t),e.x-=1,e.y-=1,i.getMajorAlignment()){case ge().BEGIN:case ge().FIRST:e.x=Math.floor(e.x),t.x=e.x+n._textBounds.x;break;case ge().MIDDLE:e.x=Math.round(e.x),t.x=e.x+n._textBounds.x;break;case ge().END:t.x=Math.ceil(t.x),e.x=t.x-n._textBounds.x}switch(i.getMinorAlignment()){case ge().BEGIN:case ge().FIRST:t.y=Math.ceil(t.y),e.y=t.y-n._textBounds.y;break;case ge().MIDDLE:t.y=Math.round(t.y),e.y=t.y-n._textBounds.y;break;case ge().END:e.y=Math.floor(e.y),t.y=e.y+n._textBounds.y}n._origin.x=e.x,n._origin.y=t.y,this.getBBox().setExtents(e,t)}})(),build:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){const i=this.getFontStyle(),n=i.getFont();if(!n)return;const s=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),l=this.getCharSpacings(),h=i.getScale(),u=h/n.unitsPerEm,c=this.texCoordArray,d=s.getNormals(),p=s.getVertices(),y=this.canvas[0],g=this.context;c.length=0,s.getMultiTexCoords().push(c),this.getBBox().getExtents(e,t),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),p.push(e.x,e.y,0,1,t.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,t.y,0,1);const w=s._textBounds.x,f=s._textBounds.y;y.width=Se().nextPowerOfTwo(w),y.height=Se().nextPowerOfTwo(f);const x=w/y.width,_=1-f/y.height;if(c.push(0,_,0,1,x,_,0,1,x,1,0,1,0,_,0,1,x,1,0,1,0,1,0,1),g.fillStyle="rgba(255,255,255,0)",g.fillRect(0,0,y.width,y.height),g.fillStyle="rgba(255,255,255,1)",g.save(),g.translate(0,y.height),g.scale(1,-1),i._horizontal.getValue())for(let i=0,s=o.length;i<s;++i){const s=o[i],c=l[i],d=a[i];let p=0;for(let i=0,o=s.length;i<o;++i){const o=s[i],a=r.x+d.x+p+i*c-e.x,l=r.y+d.y-t.y;this.drawGlyph(g,n,o,a,l,h);let y=0;i+1<s.length&&(y=n.getKerningValue(o,s[i+1])),p+=(o.advanceWidth+y)*u}}else{const l=i._leftToRight.getValue(),u=i._topToBottom.getValue(),c=l?0:s._string.length-1,d=l?s._string.length:-1,p=l?1:-1;for(let i=c,s=0;i!==d;i+=p){const l=o[i],c=l.length,d=u?c:-1,p=u?1:-1;for(let i=u?0:c-1;i!==d;i+=p,++s){const o=a[s],u=r.x+o.x-e.x,c=r.y+o.y-t.y;this.drawGlyph(g,n,l[i],u,c,h)}}}g.restore();const m=g.getImageData(0,0,y.width,y.height);m?this.textureNode.setTexture(y.width,y.height,!0,new Uint8Array(m.data.buffer),!1):this.textureNode.clear()}})(),drawGlyph(e,t,i,n,s,o){const r=i.getPath(n,-s,o),a=r.commands;e.beginPath();for(let t=0,i=a.length;t<i;++t){const i=a[t];switch(i.type){case"M":e.moveTo(i.x,i.y);continue;case"Z":e.closePath();continue;case"L":e.lineTo(i.x,i.y);continue;case"Q":e.quadraticCurveTo(i.x1,i.y1,i.x,i.y);continue;case"C":e.bezierCurveTo(i.x1,i.y1,i.x2,i.y2,i.x,i.y);continue}}r.fill&&e.fill(),r.stroke&&(e.lineWidth=r.strokeWidth,e.stroke())},getGlyphExtents(e,t,i,n,s){const o=e.unitsPerEm;n.set((t.xMin||0)/o,(t.yMin||0)/o,0),s.set((t.xMax||0)/o,(t.yMax||0)/o,0)},traverse:(()=>{const e=new(_e());return function(t,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix,1),e.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(e)}})(),display(e,t){l().prototype.multLeft.call(t.modelViewMatrix,this.matrix),t.textureNode=this.textureNode},transformLine:(()=>{const e=new(l());return function(t){return t.multLineMatrix(e.assign(this.matrix).inverse())}})(),transformMatrix(e){return e.multLeft(this.matrix)}});const Me=Xe;d().add("ScreenText","x_ite/Browser/Layout/ScreenText",Me);const Oe=Me;function ve(e){ce().call(this,e),this.addType(v().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(ve.prototype,ce().prototype),{initialize(){ce().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(e){return new Oe(e,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelPerPoint()}}),Object.defineProperties(ve,{typeName:{value:"ScreenFontStyle",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"fontStyle",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"language",new(x().SFString)),new(m())(v().inputOutput,"family",new(x().MFString)("SERIF")),new(m())(v().inputOutput,"style",new(x().SFString)("PLAIN")),new(m())(v().inputOutput,"pointSize",new(x().SFFloat)(12)),new(m())(v().inputOutput,"spacing",new(x().SFFloat)(1)),new(m())(v().inputOutput,"horizontal",new(x().SFBool)(!0)),new(m())(v().inputOutput,"leftToRight",new(x().SFBool)(!0)),new(m())(v().inputOutput,"topToBottom",new(x().SFBool)(!0)),new(m())(v().inputOutput,"justify",new(x().MFString)("BEGIN"))]),enumerable:!0}});const ze=ve;d().add("ScreenFontStyle","x_ite/Components/Layout/ScreenFontStyle",ze);const Te=ze;function Ne(e){Q().call(this,e),this.addType(v().ScreenGroup),this.matrix=new(l())(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1)}Object.assign(Object.setPrototypeOf(Ne.prototype,Q().prototype),{getBBox(e,t){return this.getSubBBox(e,t).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(e,t){switch(e){case $().CAMERA:case $().PICKING:case $().SHADOW:break;default:{const e=this.getBrowser();e.getScreenScaleMatrix(t,this.matrix,e.getRenderingProperty("ContentScale"));break}}const i=t.getModelViewMatrix();i.push(),i.multLeft(this.matrix),Q().prototype.traverse.call(this,e,t),i.pop()}}),Object.defineProperties(Ne,{typeName:{value:"ScreenGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const Fe=Ne;d().add("ScreenGroup","x_ite/Components/Layout/ScreenGroup",Fe);const Le=Fe;t().add({name:"Layout",concreteNodes:[K,ie,he,Te,Le],abstractNodes:[N],browserContext:w});const Ie=void 0;d().add("Layout","assets/components/Layout",Ie)})()})();