x_ite 8.6.18 → 8.6.19

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 (81) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +13 -13
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -33
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +18 -18
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +27 -27
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +24 -24
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +23 -25
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +19 -21
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +18 -18
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +30 -32
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +24 -24
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjector.js +14 -14
  34. package/dist/assets/components/TextureProjector.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +19 -19
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/example.html +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +172 -182
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +1 -1
  47. package/docs/_posts/getting-started.md +1 -1
  48. package/docs/_posts/setup-a-localhost-server.md +2 -2
  49. package/package.json +4 -4
  50. package/src/example.html +1 -1
  51. package/src/standard/Math/Algorithm.js +1 -1
  52. package/src/standard/Math/Algorithms/MergeSort.js +7 -5
  53. package/src/standard/Math/Algorithms/PartialSort.js +3 -1
  54. package/src/standard/Math/Algorithms/QuickSort.js +1 -3
  55. package/src/standard/Math/Geometry/Box2.js +1 -1
  56. package/src/standard/Math/Geometry/Box3.js +1 -1
  57. package/src/standard/Math/Numbers/Quaternion.js +4 -3
  58. package/src/standard/Math/Numbers/Rotation4.js +4 -3
  59. package/src/x_ite/Base/X3DBaseNode.js +1 -1
  60. package/src/x_ite/Base/X3DEventObject.js +3 -2
  61. package/src/x_ite/Base/X3DField.js +2 -2
  62. package/src/x_ite/Browser/Core/Context.js +1 -1
  63. package/src/x_ite/Browser/Navigation/ExamineViewer.js +1 -1
  64. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +10 -7
  65. package/src/x_ite/Browser/VERSION.js +1 -1
  66. package/src/x_ite/Browser/X3DBrowser.js +33 -44
  67. package/src/x_ite/Browser/X3DBrowserContext.js +3 -3
  68. package/src/x_ite/Components/Scripting/Script.js +2 -4
  69. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -1
  70. package/src/x_ite/Components/Sound/AudioClip.js +3 -3
  71. package/src/x_ite/Components/Sound/DynamicsCompressor.js +4 -4
  72. package/src/x_ite/Components/Texturing/MovieTexture.js +3 -3
  73. package/src/x_ite/Execution/Scene.js +1 -1
  74. package/src/x_ite/Fields/SFNode.js +5 -3
  75. package/src/x_ite/Fields/SFRotation.js +2 -4
  76. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +3 -3
  77. package/src/x_ite/InputOutput/FileLoader.js +3 -4
  78. package/src/x_ite/InputOutput/Generator.js +1 -1
  79. package/src/x_ite/Parser/X3DParser.js +4 -4
  80. package/src/x_ite/Parser/XMLParser.js +13 -19
  81. package/docs/_tabs/imprint.md +0 -52
package/dist/x_ite.zip CHANGED
Binary file
package/docs/_config.yml CHANGED
@@ -20,7 +20,7 @@ timezone:
20
20
  # ↓ --------------------------
21
21
 
22
22
  title: X_ITE X3D Browser # the main title
23
- version: 8.6.18 # x_ite latest version
23
+ version: 8.6.19 # x_ite latest version
24
24
  size: 290 # size in kb
25
25
  x3d_latest_version: 4.0 # x3d latest version
26
26
 
@@ -544,7 +544,7 @@ There is a ZIP archive available to locally install X_ITE on your server. Compre
544
544
 
545
545
  ### You can also get it on NPM
546
546
 
547
- ```sh
547
+ ```console
548
548
  $ npm install x_ite
549
549
  ```
550
550
 
@@ -29,14 +29,14 @@ If you have [Python](https://www.python.org){:target="_blank"} installed, then i
29
29
 
30
30
  Just open a Terminal and go to the directory you want to make available.
31
31
 
32
- ```sh
32
+ ```console
33
33
  # Let's make the Desktop directory available.
34
34
  $ cd Desktop
35
35
  ```
36
36
 
37
37
  Type in the following command to start the server.
38
38
 
39
- ```sh
39
+ ```console
40
40
  $ python3 -m http.server
41
41
  ```
42
42
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x_ite",
3
- "version": "8.6.18",
3
+ "version": "8.6.19",
4
4
  "description": "X_ITE X3D Browser, view and manipulate X3D and VRML scenes in HTML.",
5
5
  "homepage": "https://create3000.github.io/x_ite/",
6
6
  "author": "Holger Seelig <holger.seelig@gmail.com>",
@@ -71,13 +71,13 @@
71
71
  "opentype.js": "^1.3.4",
72
72
  "pako": "^2.1.0",
73
73
  "string-replace-webpack-plugin": "^0.1.3",
74
- "webpack": "^5.79.0",
75
- "webpack-cli": "^5.0.1",
74
+ "webpack": "^5.80.0",
75
+ "webpack-cli": "^5.0.2",
76
76
  "webpack-shell-plugin-next": "^2.3.1"
77
77
  },
78
78
  "scripts": {
79
79
  "test": "cd ../x_ite-tests && npm test",
80
- "lint": "jshint **",
80
+ "lint": "eslint src",
81
81
  "build": "make",
82
82
  "-prebuild:js": "npm run lint"
83
83
  }
package/src/example.html CHANGED
@@ -16,6 +16,6 @@ x3d-canvas {
16
16
  <x3d-canvas src="https://create3000.github.io/media/x_ite/info/info.x3d">
17
17
  <p>Your browser may not support all features required by X_ITE!</p>
18
18
  </x3d-canvas>
19
- <p>If local files are not loaded <a href="https://create3000.github.io/x_ite/#using-firefox-chrome-and-opera-with-local-files">consider setup a localhost server</a>.</p>
19
+ <a>If local files are not loaded <a href="https://create3000.github.io/x_ite/setup-a-localhost-server">consider setup a localhost server</a> or use <a href="https://create3000.github.io/x_ite/dom-integration">DOM Integration methods</a>.</p>
20
20
  </body>
21
21
  </html>
@@ -231,4 +231,4 @@ export default class Algorithm
231
231
 
232
232
  return first;
233
233
  }
234
- };
234
+ }
@@ -76,26 +76,28 @@ MergeSort .prototype =
76
76
  },
77
77
  merge: function (lo, m, hi)
78
78
  {
79
+ const { array, auxiliary, compare } = this;
80
+
79
81
  let i, j, k;
80
82
 
81
83
  i = 0, j = lo;
82
84
  // Copy first half of array a to auxiliary array b.
83
85
  while (j <= m)
84
- this .auxiliary [i++] = this .array [j++];
86
+ auxiliary [i++] = array [j++];
85
87
 
86
88
  i = 0; k = lo;
87
89
  // Copy back next-greatest element at each time.
88
90
  while (k < j && j <= hi)
89
91
  {
90
- if (this .compare (this .array [j], this .auxiliary [i]))
91
- this .array [k++] = this .array [j++];
92
+ if (compare (array [j], auxiliary [i]))
93
+ array [k++] = array [j++];
92
94
  else
93
- this .array [k++] = this .auxiliary [i++];
95
+ array [k++] = auxiliary [i++];
94
96
  }
95
97
 
96
98
  // Copy back remaining elements of first half (if any).
97
99
  while (k < j)
98
- this .array [k++] = this .auxiliary [i++];
100
+ array [k++] = auxiliary [i++];
99
101
  }
100
102
  };
101
103
 
@@ -68,6 +68,8 @@ PartialSort .prototype =
68
68
  },
69
69
  partialsort: function (lo, hi)
70
70
  {
71
+ const { array, compare } = this;
72
+
71
73
  let gap = this .last, i, last;
72
74
 
73
75
  if (gap > 1)
@@ -77,7 +79,7 @@ PartialSort .prototype =
77
79
  {
78
80
  const j = i + gap;
79
81
 
80
- if (this .compare (this .array [j], this .array [i]))
82
+ if (compare (array [j], array [i]))
81
83
  {
82
84
  const t = array [i];
83
85
  array [i] = array [j];
@@ -70,9 +70,7 @@ QuickSort .prototype =
70
70
  i = lo,
71
71
  j = hi;
72
72
 
73
- const
74
- array = this .array,
75
- compare = this .compare;
73
+ const { array, compare } = this;
76
74
 
77
75
  // Vergleichs­element x
78
76
  const x = array [(lo + hi) >>> 1];
@@ -48,7 +48,7 @@
48
48
  import Matrix3 from "../Numbers/Matrix3.js";
49
49
  import Vector2 from "../Numbers/Vector2.js";
50
50
 
51
- function Box2 (size, center)
51
+ function Box2 (/* size, center */)
52
52
  {
53
53
  this .matrix = new Matrix3 ();
54
54
 
@@ -50,7 +50,7 @@ import Matrix4 from "../Numbers/Matrix4.js";
50
50
  import Vector3 from "../Numbers/Vector3.js";
51
51
  import SAT from "../Algorithms/SAT.js";
52
52
 
53
- function Box3 (size, center)
53
+ function Box3 (/* size, center */)
54
54
  {
55
55
  this .matrix = new Matrix4 ();
56
56
 
@@ -46,6 +46,7 @@
46
46
  ******************************************************************************/
47
47
 
48
48
  import Vector3 from "./Vector3.js";
49
+ import Matrix3 from "./Matrix3.js";
49
50
  import Algorithm from "../Algorithm.js";
50
51
 
51
52
  function Quaternion (x, y, z, w)
@@ -137,7 +138,7 @@ Quaternion .prototype =
137
138
 
138
139
  return this;
139
140
  },
140
- getMatrix: function (matrix)
141
+ getMatrix: function (matrix = new Matrix3 ())
141
142
  {
142
143
  const { x, y, z, w } = this;
143
144
 
@@ -168,11 +169,11 @@ Quaternion .prototype =
168
169
  },
169
170
  isReal: function ()
170
171
  {
171
- return ! (this .x || this .y || this .z);
172
+ return !(this .x || this .y || this .z);
172
173
  },
173
174
  isImag: function ()
174
175
  {
175
- return ! this .w;
176
+ return !this .w;
176
177
  },
177
178
  equals: function (quat)
178
179
  {
@@ -48,6 +48,7 @@
48
48
  import Quaternion from "./Quaternion.js";
49
49
  import Vector3 from "./Vector3.js";
50
50
  import Vector4 from "./Vector4.js";
51
+ import Matrix3 from "./Matrix3.js";
51
52
  import Algorithm from "../Algorithm.js";
52
53
 
53
54
  const
@@ -280,7 +281,7 @@ Rotation4 .prototype =
280
281
  {
281
282
  this .set (vector .x, vector .y, vector .z, this [_angle]);
282
283
  },
283
- getAxis: function (axis)
284
+ getAxis: function (axis = new Vector3 (0, 0, 0))
284
285
  {
285
286
  return axis .set (this [_x], this [_y], this [_z]);
286
287
  },
@@ -290,7 +291,7 @@ Rotation4 .prototype =
290
291
  this .update ();
291
292
  return this;
292
293
  },
293
- getQuaternion: function (quaternion)
294
+ getQuaternion: function (quaternion = new Quaternion (0, 0, 0, 1))
294
295
  {
295
296
  return quaternion .assign (this [_quaternion]);
296
297
  },
@@ -300,7 +301,7 @@ Rotation4 .prototype =
300
301
  this .update ();
301
302
  return this;
302
303
  },
303
- getMatrix: function (matrix)
304
+ getMatrix: function (matrix = new Matrix3 ())
304
305
  {
305
306
  return this [_quaternion] .getMatrix (matrix);
306
307
  },
@@ -64,7 +64,7 @@ const
64
64
  _childObjects = Symbol (),
65
65
  _initialized = Symbol (),
66
66
  _live = Symbol (),
67
- _set_live__ = Symbol ("X3DBaseNode.set_live__"),
67
+ _set_live__ = Symbol (),
68
68
  _cloneCount = Symbol ();
69
69
 
70
70
  function X3DBaseNode (executionContext)
@@ -48,7 +48,7 @@
48
48
  import X3DChildObject from "./X3DChildObject.js";
49
49
  import Events from "./Events.js";
50
50
 
51
- const _browser = Symbol .for ("X3DEventObject.browser");
51
+ const _browser = Symbol .for ("X_ITE.X3DEventObject.browser");
52
52
 
53
53
  function X3DEventObject (browser)
54
54
  {
@@ -66,6 +66,7 @@ X3DEventObject .prototype = Object .assign (Object .create (X3DChildObject .prot
66
66
  },
67
67
  getExtendedEventHandling: function ()
68
68
  {
69
+ // Whether initializeOnly field are treated like inputOnly and inputOutput fields.
69
70
  return true;
70
71
  },
71
72
  addEvent: function (field)
@@ -91,7 +92,7 @@ X3DEventObject .prototype = Object .assign (Object .create (X3DChildObject .prot
91
92
  if (this .isTainted ())
92
93
  return;
93
94
 
94
- if (field .isInput () || (this .getExtendedEventHandling () && ! field .isOutput ()))
95
+ if (field .isInput () || (this .getExtendedEventHandling () && field .isInitializable ()))
95
96
  {
96
97
  this .addNodeEvent ();
97
98
  }
@@ -61,7 +61,7 @@ const
61
61
  _inputRoutes = Symbol (),
62
62
  _outputRoutes = Symbol (),
63
63
  _routeCallbacks = Symbol (),
64
- _uniformLocation = Symbol .for ("X3DField.uniformLocation");
64
+ _uniformLocation = Symbol .for ("X_ITE.X3DField.uniformLocation");
65
65
 
66
66
  function X3DField (value)
67
67
  {
@@ -76,7 +76,6 @@ X3DField .prototype = Object .assign (Object .create (X3DChildObject .prototype)
76
76
  [_value]: null,
77
77
  [_accessType]: X3DConstants .initializeOnly,
78
78
  [_unit]: null,
79
- [_uniformLocation]: null,
80
79
  [_references]: new Set (),
81
80
  [_referencesCallbacks]: new Map (),
82
81
  [_fieldInterests]: new Set (),
@@ -84,6 +83,7 @@ X3DField .prototype = Object .assign (Object .create (X3DChildObject .prototype)
84
83
  [_inputRoutes]: new Set (),
85
84
  [_outputRoutes]: new Set (),
86
85
  [_routeCallbacks]: new Map (),
86
+ [_uniformLocation]: null,
87
87
  create: function ()
88
88
  {
89
89
  return new (this .constructor) ();
@@ -227,7 +227,7 @@ const Context =
227
227
  }
228
228
  };
229
229
 
230
- setTimeout (check, 0);
230
+ setTimeout (check);
231
231
  });
232
232
  },
233
233
  getBufferSubDataAsync: async function (target, buffer, srcByteOffset, dstBuffer, /* optional */ dstOffset, /* optional */ length)
@@ -449,7 +449,7 @@ ExamineViewer .prototype = Object .assign (Object .create (X3DViewer .prototype)
449
449
  {
450
450
  this .tapedTwice = true;
451
451
 
452
- setTimeout (function () { this .tapedTwice = false; } .bind (this), 300);
452
+ setTimeout (() => this .tapedTwice = false, 300);
453
453
  }
454
454
 
455
455
  break;
@@ -102,7 +102,6 @@ X3DNetworkingContext .prototype =
102
102
 
103
103
  this [_defaultScene] .setPrivate (true);
104
104
  this [_defaultScene] .setLive (true);
105
- this [_defaultScene] .setup ();
106
105
 
107
106
  this .getDefaultScene = function () { return this [_defaultScene]; };
108
107
 
@@ -110,6 +109,10 @@ X3DNetworkingContext .prototype =
110
109
 
111
110
  return this [_defaultScene];
112
111
  },
112
+ getBrowserLoading: function ()
113
+ {
114
+ return this [_loading];
115
+ },
113
116
  setBrowserLoading: function (value)
114
117
  {
115
118
  this [_loading] = value;
@@ -137,13 +140,9 @@ X3DNetworkingContext .prototype =
137
140
  }
138
141
  }
139
142
  },
140
- getLoading: function ()
141
- {
142
- return this [_loading];
143
- },
144
- getDisplayLoadCount: function ()
143
+ getLoadingObjects: function ()
145
144
  {
146
- return [... this [_loadingObjects]] .reduce ((v, o) => v + !(o .isPrivate ?.() ?? true), 0);
145
+ return this [_loadingObjects];
147
146
  },
148
147
  addLoadingObject: function (object)
149
148
  {
@@ -167,6 +166,10 @@ X3DNetworkingContext .prototype =
167
166
  this .setLoadCount (this [_loadingObjects] .size);
168
167
  this .setCursor (this .getCursor ());
169
168
  },
169
+ getDisplayLoadCount: function ()
170
+ {
171
+ return [... this [_loadingObjects]] .reduce ((v, o) => v + !(o .isPrivate ?.() ?? true), 0);
172
+ },
170
173
  setLoadCount: function (value)
171
174
  {
172
175
  this ._loadCount = value;
@@ -45,4 +45,4 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- export default "8.6.18";
48
+ export default "8.6.19";
@@ -473,74 +473,56 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
473
473
  if (!(parameter instanceof Fields .MFString))
474
474
  throw new Error ("Browser.loadURL: parameter must be of type MFString.");
475
475
 
476
- // Cancel any loading.
477
-
478
- this ._loadCount .removeInterest ("checkLoadCount", this);
479
- this .prepareEvents () .removeInterest ("updateInitialized", this);
480
-
481
- this [_fileLoader] ?.abort ();
482
-
483
476
  // Start loading.
484
477
 
485
- const fileLoader = this [_fileLoader] = new FileLoader (this .getWorld ());
486
-
487
- this .setBrowserLoading (true);
488
- this .addLoadingObject (fileLoader);
478
+ const fileLoader = new FileLoader (this .getWorld ());
489
479
 
490
480
  fileLoader .createX3DFromURL (url, parameter, (scene) =>
491
481
  {
492
- if (fileLoader !== this [_fileLoader])
482
+ if (this [_fileLoader] !== fileLoader)
493
483
  {
494
484
  reject (new Error ("Loading of X3D file aborted."));
495
- return;
496
- }
497
-
498
- if (!this .getBrowserOption ("SplashScreen"))
499
- this .getCanvas () .show ();
500
-
501
- if (scene)
502
- {
503
- this .addLoadingObject (this); // Prevent resetLoadCount.
504
- this .replaceWorld (scene) .then (resolve) .catch (reject);
505
- this .removeLoadingObject (this);
506
- this .removeLoadingObject (fileLoader);
507
485
  }
508
486
  else
509
487
  {
510
- this .callBrowserCallbacks (X3DConstants .CONNECTION_ERROR);
511
- this .callBrowserEventHandler ("error");
488
+ if (!this .getBrowserOption ("SplashScreen"))
489
+ this .getCanvas () .show ();
512
490
 
513
- setTimeout (() =>
491
+ if (scene)
514
492
  {
515
- this .getSplashScreen ()
516
- .find (".x_ite-private-spinner-text")
517
- .text (_ ("Failed loading world."));
518
- });
493
+ this .addLoadingObject (this); // Prevent resetLoadCount.
494
+ this .replaceWorld (scene) .then (resolve) .catch (reject);
495
+ this .removeLoadingObject (this);
496
+ this .removeLoadingObject (fileLoader);
497
+ }
498
+ else
499
+ {
500
+ this .callBrowserCallbacks (X3DConstants .CONNECTION_ERROR);
501
+ this .callBrowserEventHandler ("error");
519
502
 
520
- reject (new Error ("Couldn't load X3D file."));
503
+ setTimeout (() =>
504
+ {
505
+ this .getSplashScreen ()
506
+ .find (".x_ite-private-spinner-text")
507
+ .text (_ ("Failed loading world."));
508
+ });
509
+
510
+ reject (new Error ("Couldn't load X3D file."));
511
+ }
521
512
  }
522
513
  },
523
514
  (fragment) =>
524
515
  {
525
- if (fileLoader !== this [_fileLoader])
526
- {
527
- reject (new Error ("Change viewpoint aborted."));
528
- return;
529
- }
516
+ fileLoader .ready = true;
530
517
 
531
518
  this .changeViewpoint (fragment);
532
519
  this .removeLoadingObject (fileLoader);
533
- this .setBrowserLoading (false);
534
520
 
535
521
  resolve ();
536
522
  },
537
523
  (url, target) =>
538
524
  {
539
- if (fileLoader !== this [_fileLoader])
540
- {
541
- reject (new Error ("Loading of file aborted."));
542
- return;
543
- }
525
+ fileLoader .ready = true;
544
526
 
545
527
  if (target)
546
528
  window .open (url, target);
@@ -548,10 +530,17 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
548
530
  location = url;
549
531
 
550
532
  this .removeLoadingObject (fileLoader);
551
- this .setBrowserLoading (false);
552
533
 
553
534
  resolve ();
554
535
  });
536
+
537
+ if (!fileLoader .ready)
538
+ {
539
+ this [_fileLoader] ?.abort ();
540
+
541
+ this .setBrowserLoading (true);
542
+ this .addLoadingObject (this [_fileLoader] = fileLoader);
543
+ }
555
544
  });
556
545
  },
557
546
  addBrowserListener: function (callback, object)
@@ -91,8 +91,8 @@ function X3DBrowserContext (element)
91
91
  {
92
92
  X3DBaseNode .call (this, this);
93
93
  X3DRoutingContext .call (this);
94
- X3DCoreContext .call (this, element);
95
94
  X3DScriptingContext .call (this);
95
+ X3DCoreContext .call (this, element);
96
96
  X3DNetworkingContext .call (this);
97
97
  X3DTexturingContext .call (this);
98
98
  X3DShadersContext .call (this);
@@ -157,8 +157,8 @@ X3DBrowserContext .prototype = Object .assign (Object .create (X3DBaseNode .prot
157
157
  {
158
158
  X3DBaseNode .prototype .initialize ?.call (this);
159
159
  X3DRoutingContext .prototype .initialize ?.call (this);
160
- X3DCoreContext .prototype .initialize ?.call (this);
161
160
  X3DScriptingContext .prototype .initialize ?.call (this);
161
+ X3DCoreContext .prototype .initialize ?.call (this);
162
162
  X3DNetworkingContext .prototype .initialize ?.call (this);
163
163
  X3DTexturingContext .prototype .initialize ?.call (this);
164
164
  X3DShadersContext .prototype .initialize ?.call (this);
@@ -365,8 +365,8 @@ X3DBrowserContext .prototype = Object .assign (Object .create (X3DBaseNode .prot
365
365
  X3DShadersContext .prototype .dispose ?.call (this);
366
366
  X3DTexturingContext .prototype .dispose ?.call (this);
367
367
  X3DNetworkingContext .prototype .dispose ?.call (this);
368
- X3DScriptingContext .prototype .dispose ?.call (this);
369
368
  X3DCoreContext .prototype .dispose ?.call (this);
369
+ X3DScriptingContext .prototype .dispose ?.call (this);
370
370
  X3DRoutingContext .prototype .dispose ?.call (this);
371
371
  X3DBaseNode .prototype .dispose ?.call (this);
372
372
  },
@@ -152,8 +152,7 @@ Script .prototype = Object .assign (Object .create (X3DScriptNode .prototype),
152
152
  },
153
153
  loadData: function ()
154
154
  {
155
- new FileLoader (this) .loadDocument (this ._url,
156
- (data) =>
155
+ new FileLoader (this) .loadDocument (this ._url, (data) =>
157
156
  {
158
157
  if (data === null)
159
158
  {
@@ -162,9 +161,8 @@ Script .prototype = Object .assign (Object .create (X3DScriptNode .prototype),
162
161
  }
163
162
  else
164
163
  {
165
- this .setLoadState (X3DConstants .COMPLETE_STATE);
166
-
167
164
  this .initialize__ ($.decodeText (data));
165
+ this .setLoadState (X3DConstants .COMPLETE_STATE);
168
166
  }
169
167
  });
170
168
  },
@@ -49,7 +49,7 @@ import X3DCast from "../../Base/X3DCast.js";
49
49
  import X3DConstants from "../../Base/X3DConstants.js";
50
50
  import Matrix3 from "../../../standard/Math/Numbers/Matrix3.js";
51
51
 
52
- const _uniformLocation = Symbol .for ("X3DField.uniformLocation");
52
+ const _uniformLocation = Symbol .for ("X_ITE.X3DField.uniformLocation");
53
53
 
54
54
  function X3DProgrammableShaderObject (executionContext)
55
55
  {
@@ -165,12 +165,12 @@ AudioClip .prototype = Object .assign (Object .create (X3DSoundSourceNode .proto
165
165
  },
166
166
  setTimeout: function (event)
167
167
  {
168
- setTimeout (function ()
168
+ setTimeout (() =>
169
169
  {
170
170
  if (this .checkLoadState () === X3DConstants .IN_PROGRESS_STATE)
171
171
  this .setError (event);
172
- }
173
- .bind (this), 3000);
172
+ },
173
+ 3000);
174
174
  },
175
175
  setError: function (event)
176
176
  {
@@ -62,12 +62,12 @@ DynamicsCompressor .prototype = Object .assign (Object .create (X3DSoundProcessi
62
62
  {
63
63
  constructor: DynamicsCompressor,
64
64
  [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
65
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
66
- new X3DFieldDefinition (X3DConstants .inputOutput, "description", new Fields .SFString ()),
67
- new X3DFieldDefinition (X3DConstants .inputOutput, "enabled", new Fields .SFBool (true)),
65
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
66
+ new X3DFieldDefinition (X3DConstants .inputOutput, "description", new Fields .SFString ()),
67
+ new X3DFieldDefinition (X3DConstants .inputOutput, "enabled", new Fields .SFBool (true)),
68
68
 
69
69
  new X3DFieldDefinition (X3DConstants .inputOutput, "gain", new Fields .SFFloat (1)),
70
- new X3DFieldDefinition (X3DConstants .inputOutput, "attack", new Fields .SFFloat (0.003)),
70
+ new X3DFieldDefinition (X3DConstants .inputOutput, "attack", new Fields .SFFloat (0.003)), // TODO: SFTime
71
71
  new X3DFieldDefinition (X3DConstants .inputOutput, "knee", new Fields .SFFloat (30)),
72
72
  new X3DFieldDefinition (X3DConstants .inputOutput, "ratio", new Fields .SFFloat (12)),
73
73
  new X3DFieldDefinition (X3DConstants .inputOutput, "reduction", new Fields .SFFloat ()),
@@ -188,12 +188,12 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
188
188
  },
189
189
  setTimeout: function (event)
190
190
  {
191
- setTimeout (function ()
191
+ setTimeout (() =>
192
192
  {
193
193
  if (this .checkLoadState () === X3DConstants .IN_PROGRESS_STATE)
194
194
  this .setError (event);
195
- }
196
- .bind (this), 3000);
195
+ },
196
+ 3000);
197
197
  },
198
198
  setError: function (event)
199
199
  {
@@ -49,7 +49,7 @@ import Fields from "../Fields.js";
49
49
  import X3DScene from "./X3DScene.js";
50
50
 
51
51
  const
52
- _browser = Symbol .for ("X3DEventObject.browser"),
52
+ _browser = Symbol .for ("X_ITE.X3DEventObject.browser"),
53
53
  _loadingObjects = Symbol ();
54
54
 
55
55
  function Scene (browser)
@@ -67,7 +67,8 @@ const handler =
67
67
  return value;
68
68
 
69
69
  const
70
- field = target .getValue () .getField (key),
70
+ node = target .getValue (),
71
+ field = node .getField (key),
71
72
  accessType = field .getAccessType ();
72
73
 
73
74
  // Specification conform would be: accessType & X3DConstants .outputOnly.
@@ -93,13 +94,14 @@ const handler =
93
94
  try
94
95
  {
95
96
  const
96
- field = target .getValue () .getField (key),
97
+ node = target .getValue (),
98
+ field = node .getField (key),
97
99
  accessType = field .getAccessType ();
98
100
 
99
101
  if (accessType !== X3DConstants .outputOnly)
100
102
  field .setValue (value);
101
103
 
102
- return true;
104
+ return true;
103
105
  }
104
106
  catch (error)
105
107
  {