x_ite 8.6.20 → 8.6.22

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 (100) hide show
  1. package/Makefile +1 -4
  2. package/build/bin/components.js +45 -0
  3. package/dist/assets/components/Annotation.js +13 -13
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +13 -13
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +25 -25
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +13 -13
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +9 -9
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +19 -19
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +33 -33
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +18 -18
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +27 -27
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +24 -24
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +22 -22
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +18 -18
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +18 -18
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +28 -28
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +24 -24
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +14 -14
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +30 -30
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +19 -19
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +9 -9
  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 +746 -613
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.zip +0 -0
  47. package/docs/_config.yml +2 -2
  48. package/docs/_posts/dom-integration.md +14 -12
  49. package/docs/_posts/getting-started.md +13 -11
  50. package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +1 -1
  51. package/docs/_posts/reference/scene-services.md +6 -3
  52. package/docs/_posts/report-a-bug.md +5 -3
  53. package/docs/_posts/setup-a-localhost-server.md +7 -7
  54. package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +1 -1
  55. package/docs/_tabs/playground.html +8 -12
  56. package/package.json +1 -1
  57. package/src/locale/de.po.js +9 -0
  58. package/src/locale/fr.po.js +31 -25
  59. package/src/tests.js +1 -0
  60. package/src/x_ite/Base/X3DBaseNode.js +2 -12
  61. package/src/x_ite/Base/X3DInfoArray.js +0 -2
  62. package/src/x_ite/Base/X3DObjectArrayField.js +0 -2
  63. package/src/x_ite/Base/X3DTypedArrayField.js +0 -2
  64. package/src/x_ite/Browser/Core/BrowserTimings.js +147 -67
  65. package/src/x_ite/Browser/Core/ContextMenu.js +2 -2
  66. package/src/x_ite/Browser/Core/X3DCoreContext.js +6 -2
  67. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +7 -3
  68. package/src/x_ite/Browser/VERSION.js +1 -1
  69. package/src/x_ite/Browser/X3DBrowser.js +0 -10
  70. package/src/x_ite/Browser/X3DBrowserContext.js +0 -1
  71. package/src/x_ite/Components/Core/X3DNode.js +40 -9
  72. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +5 -5
  73. package/src/x_ite/Configuration/ComponentInfo.js +2 -1
  74. package/src/x_ite/Configuration/ProfileInfo.js +1 -0
  75. package/src/x_ite/Configuration/UnitInfo.js +3 -5
  76. package/src/x_ite/Execution/BindableList.js +34 -27
  77. package/src/x_ite/Execution/BindableStack.js +15 -17
  78. package/src/x_ite/Execution/X3DExecutionContext.js +7 -17
  79. package/src/x_ite/Execution/X3DExportedNode.js +1 -3
  80. package/src/x_ite/Execution/X3DImportedNode.js +2 -6
  81. package/src/x_ite/Execution/X3DScene.js +30 -28
  82. package/src/x_ite/Fields/ArrayFields.js +4 -4
  83. package/src/x_ite/Fields/SFColor.js +0 -3
  84. package/src/x_ite/Fields/SFColorRGBA.js +0 -4
  85. package/src/x_ite/Fields/SFImage.js +0 -4
  86. package/src/x_ite/Fields/SFMatrix3.js +0 -1
  87. package/src/x_ite/Fields/SFMatrix4.js +0 -1
  88. package/src/x_ite/Fields/SFRotation.js +0 -4
  89. package/src/x_ite/Fields/SFString.js +7 -4
  90. package/src/x_ite/Fields/SFVec2.js +0 -2
  91. package/src/x_ite/Fields/SFVec3.js +0 -3
  92. package/src/x_ite/Fields/SFVec4.js +0 -4
  93. package/src/x_ite/InputOutput/Generator.js +86 -16
  94. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -8
  95. package/src/x_ite/Prototype/X3DProtoDeclaration.js +2 -6
  96. package/src/x_ite/Routing/X3DRoute.js +1 -5
  97. package/src/x_ite/X3DCanvasElement.js +2 -0
  98. package/src/x_ite.css +5 -1
  99. package/src/x_ite.html +4 -36
  100. package/x_ite.min.html +4 -36
@@ -118,7 +118,6 @@ function SFMatrix3Template (TypeName, Type, SFVec2, double)
118
118
  this .addEvent ();
119
119
  },
120
120
  enumerable: true,
121
- configurable: false,
122
121
  });
123
122
  }
124
123
 
@@ -112,7 +112,6 @@ function SFMatrix4Template (TypeName, Type, SFVec3, double)
112
112
  this .addEvent ();
113
113
  },
114
114
  enumerable: true,
115
- configurable: false,
116
115
  });
117
116
  }
118
117
 
@@ -212,7 +212,6 @@ const x = {
212
212
  this .addEvent ();
213
213
  },
214
214
  enumerable: true,
215
- configurable: false
216
215
  };
217
216
 
218
217
  const y = {
@@ -226,7 +225,6 @@ const y = {
226
225
  this .addEvent ();
227
226
  },
228
227
  enumerable: true,
229
- configurable: false
230
228
  };
231
229
 
232
230
  const z = {
@@ -240,7 +238,6 @@ const z = {
240
238
  this .addEvent ();
241
239
  },
242
240
  enumerable: true,
243
- configurable: false
244
241
  };
245
242
 
246
243
  const angle = {
@@ -254,7 +251,6 @@ const angle = {
254
251
  this .addEvent ();
255
252
  },
256
253
  enumerable: true,
257
- configurable: false
258
254
  };
259
255
 
260
256
  Object .defineProperty (SFRotation .prototype, "x", x);
@@ -95,15 +95,19 @@ SFString .prototype = Object .assign (Object .create (X3DField .prototype),
95
95
  valueOf: X3DField .prototype .getValue,
96
96
  toStream: function (generator)
97
97
  {
98
- generator .string += '"' + SFString .escape (this .getValue ()) + '"';
98
+ generator .string += '"';
99
+ generator .string += SFString .escape (this .getValue ());
100
+ generator .string += '"';
99
101
  },
100
102
  toVRMLStream: function (generator)
101
103
  {
102
104
  this .toStream (generator);
103
105
  },
104
- toXMLStream: function (generator)
106
+ toXMLStream: function (generator, sourceText)
105
107
  {
106
- generator .string += generator .XMLEncode (this .getValue ());
108
+ generator .string += sourceText
109
+ ? generator .XMLEncodeSourceText (this .getValue ())
110
+ : generator .XMLEncode (this .getValue ());
107
111
  },
108
112
  toJSONStream: function (generator)
109
113
  {
@@ -127,7 +131,6 @@ Object .defineProperty (SFString .prototype, "length",
127
131
  return this .getValue () .length;
128
132
  },
129
133
  enumerable: true,
130
- configurable: false
131
134
  });
132
135
 
133
136
  export default SFString;
@@ -89,7 +89,6 @@ function SFVec2Template (TypeName, Type, double)
89
89
  this .addEvent ();
90
90
  },
91
91
  enumerable: true,
92
- configurable: false
93
92
  };
94
93
 
95
94
  const y = {
@@ -103,7 +102,6 @@ function SFVec2Template (TypeName, Type, double)
103
102
  this .addEvent ();
104
103
  },
105
104
  enumerable: true,
106
- configurable: false
107
105
  };
108
106
 
109
107
  Object .defineProperty (SFVec2 .prototype, "x", x);
@@ -93,7 +93,6 @@ function SFVec3Template (TypeName, Type, double)
93
93
  this .addEvent ();
94
94
  },
95
95
  enumerable: true,
96
- configurable: false
97
96
  };
98
97
 
99
98
  const y = {
@@ -107,7 +106,6 @@ function SFVec3Template (TypeName, Type, double)
107
106
  this .addEvent ();
108
107
  },
109
108
  enumerable: true,
110
- configurable: false
111
109
  };
112
110
 
113
111
  const z = {
@@ -121,7 +119,6 @@ function SFVec3Template (TypeName, Type, double)
121
119
  this .addEvent ();
122
120
  },
123
121
  enumerable: true,
124
- configurable: false
125
122
  };
126
123
 
127
124
  Object .defineProperty (SFVec3 .prototype, "x", x);
@@ -89,7 +89,6 @@ function SFVec4Template (TypeName, Type, double)
89
89
  this .addEvent ();
90
90
  },
91
91
  enumerable: true,
92
- configurable: false
93
92
  };
94
93
 
95
94
  const y = {
@@ -103,7 +102,6 @@ function SFVec4Template (TypeName, Type, double)
103
102
  this .addEvent ();
104
103
  },
105
104
  enumerable: true,
106
- configurable: false
107
105
  };
108
106
 
109
107
  const z = {
@@ -117,7 +115,6 @@ function SFVec4Template (TypeName, Type, double)
117
115
  this .addEvent ();
118
116
  },
119
117
  enumerable: true,
120
- configurable: false
121
118
  };
122
119
 
123
120
  const w = {
@@ -131,7 +128,6 @@ function SFVec4Template (TypeName, Type, double)
131
128
  this .addEvent ();
132
129
  },
133
130
  enumerable: true,
134
- configurable: false
135
131
  };
136
132
 
137
133
  Object .defineProperty (SFVec4 .prototype, "x", x);
@@ -47,17 +47,43 @@
47
47
 
48
48
  import X3DConstants from "../Base/X3DConstants.js";
49
49
  import { getUniqueName } from "../Execution/NamedNodesHandling.js";
50
+ import Algorithm from "../../standard/Math/Algorithm.js";
50
51
 
51
- function Generator ({ style = "TIDY", precision = 7, doublePrecision = 15 })
52
+ function Generator ({ style = "TIDY", indent = "", precision = 7, doublePrecision = 15, html = false, closingTags = false })
52
53
  {
53
- this .Style (style);
54
+ this .string = "";
55
+ this .indent = indent;
56
+ this .listIndent = indent;
57
+ this .precision = Algorithm .clamp (precision, 1, 21);
58
+ this .doublePrecision = Algorithm .clamp (doublePrecision, 1, 21);
59
+ this .html = html;
60
+ this .closingTags = html || closingTags;
61
+
62
+ this .floatFormat = new Intl .NumberFormat ("en", {
63
+ notation: "standard",
64
+ maximumSignificantDigits: this .precision,
65
+ useGrouping: false,
66
+ }) .format;
67
+
68
+ this .floatExponentialFormat = new Intl .NumberFormat ("en", {
69
+ notation: "scientific",
70
+ maximumSignificantDigits: this .precision,
71
+ useGrouping: false,
72
+ }) .format;
73
+
74
+ this .doubleFormat = new Intl .NumberFormat ("en", {
75
+ notation: "standard",
76
+ maximumSignificantDigits: this .doublePrecision,
77
+ useGrouping: false,
78
+ }) .format;
79
+
80
+ this .doubleExponentialFormat = new Intl .NumberFormat ("en", {
81
+ notation: "scientific",
82
+ maximumSignificantDigits: this .doublePrecision,
83
+ useGrouping: false,
84
+ }) .format;
54
85
 
55
- this .string = "";
56
- this .indent = "";
57
- this .listIndent = "";
58
- this .precision = precision;
59
- this .doublePrecision = doublePrecision;
60
- this .removeTrailingZeros = /(?:\.|(\.[0-9]*?))0*(?=[eE]|$)/;
86
+ this .Style (style);
61
87
 
62
88
  this .executionContextStack = [ null ];
63
89
  this .importedNodesIndex = new Map ();
@@ -84,6 +110,8 @@ Generator .prototype =
84
110
  {
85
111
  case "CLEAN":
86
112
  {
113
+ this .listIndent = "";
114
+
87
115
  this .comma = " ";
88
116
  this .break = " ";
89
117
  this .tidyBreak = "";
@@ -97,6 +125,8 @@ Generator .prototype =
97
125
  }
98
126
  case "SMALL":
99
127
  {
128
+ this .listIndent = "";
129
+
100
130
  this .comma = ",";
101
131
  this .break = "\n";
102
132
  this .tidyBreak = "\n";
@@ -110,6 +140,8 @@ Generator .prototype =
110
140
  }
111
141
  case "COMPACT":
112
142
  {
143
+ this .listIndent = "";
144
+
113
145
  this .comma = ",";
114
146
  this .break = "\n";
115
147
  this .tidyBreak = "\n";
@@ -194,18 +226,42 @@ Generator .prototype =
194
226
  },
195
227
  DecIndent: function ()
196
228
  {
197
- this .indent = this .indent .slice (0, this .indent .length - this .indentChar .length);
229
+ this .indent = this .indent .slice (0, this .indent .length - this .indentChar .length);
198
230
  this .listIndent = this .listIndent .slice (0, this .listIndent .length - this .listIndentChar .length);
199
231
 
200
232
  return "";
201
233
  },
202
- Precision: function (value)
234
+ Precision: function (value)
203
235
  {
204
- return Math .fround (value) .toPrecision (this .precision) .replace (this .removeTrailingZeros, "$1");
236
+ if (Number .isFinite (value))
237
+ {
238
+ const exponent = Math .log10 (Math .abs (value));
239
+
240
+ if ((this .precision > exponent && exponent >= -4) || value === 0)
241
+ return this .floatFormat (Math .fround (value));
242
+
243
+ return this .floatExponentialFormat (Math .fround (value)) .toLowerCase ();
244
+ }
245
+ else
246
+ {
247
+ return String (value);
248
+ }
205
249
  },
206
- DoublePrecision: function (value)
250
+ DoublePrecision: function (value)
207
251
  {
208
- return value .toPrecision (this .doublePrecision) .replace (this .removeTrailingZeros, "$1");
252
+ if (Number .isFinite (value))
253
+ {
254
+ const exponent = Math .log10 (Math .abs (value));
255
+
256
+ if ((this .doublePrecision > exponent && exponent >= -4) || value === 0)
257
+ return this .doubleFormat (value);
258
+
259
+ return this .doubleExponentialFormat (value) .toLowerCase ();
260
+ }
261
+ else
262
+ {
263
+ return String (value);
264
+ }
209
265
  },
210
266
  PushExecutionContext: function (executionContext)
211
267
  {
@@ -471,10 +527,24 @@ Generator .prototype =
471
527
  return string .replace (regex, char => map [char]);
472
528
  };
473
529
  })(),
474
- escapeCDATA: function (string)
530
+ XMLEncodeSourceText: (function ()
475
531
  {
476
- return string .replace (/\]\]\>/g, "\\]\\]\\>");
477
- },
532
+ const map = {
533
+ "\\": "\\\\",
534
+ "\"": "\\\"",
535
+ "'": "'",
536
+ "<": "&lt;",
537
+ ">": "&gt;",
538
+ "&": "&amp;",
539
+ };
540
+
541
+ const regex = /([\\"'<>&])/g;
542
+
543
+ return function (string)
544
+ {
545
+ return string .replace (regex, char => map [char]);
546
+ };
547
+ })(),
478
548
  JSONEncode: (function ()
479
549
  {
480
550
  const map = {
@@ -165,7 +165,7 @@ X3DExternProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoD
165
165
  },
166
166
  setError: function (error)
167
167
  {
168
- console .error ("Error loading extern prototype:", error);
168
+ console .error (`Error loading extern prototype '${this .getName ()}':`, error);
169
169
 
170
170
  this [_scene] = this .getBrowser () .getPrivateScene ();
171
171
 
@@ -267,7 +267,7 @@ X3DExternProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoD
267
267
  generator .string += "name='";
268
268
  generator .string += generator .XMLEncode (field .getName ());
269
269
  generator .string += "'";
270
- generator .string += "/>";
270
+ generator .string += generator .closingTags ? "></field>" : "/>";
271
271
  generator .string += generator .TidyBreak ();
272
272
  }
273
273
 
@@ -412,36 +412,30 @@ Object .defineProperty (X3DExternProtoDeclaration .prototype, "name",
412
412
  {
413
413
  get: X3DExternProtoDeclaration .prototype .getName,
414
414
  enumerable: true,
415
- configurable: false
416
415
  });
417
416
 
418
417
  Object .defineProperty (X3DExternProtoDeclaration .prototype, "fields",
419
418
  {
420
419
  get: X3DExternProtoDeclaration .prototype .getFieldDefinitions,
421
420
  enumerable: true,
422
- configurable: false
423
421
  });
424
422
 
425
423
  Object .defineProperty (X3DExternProtoDeclaration .prototype, "isExternProto",
426
424
  {
427
425
  value: true,
428
- writable: false,
429
426
  enumerable: true,
430
- configurable: false
431
427
  });
432
428
 
433
429
  Object .defineProperty (X3DExternProtoDeclaration .prototype, "urls",
434
430
  {
435
431
  get: function () { return this ._url; },
436
432
  enumerable: true,
437
- configurable: false
438
433
  });
439
434
 
440
435
  Object .defineProperty (X3DExternProtoDeclaration .prototype, "loadState",
441
436
  {
442
437
  get: X3DExternProtoDeclaration .prototype .checkLoadState,
443
438
  enumerable: true,
444
- configurable: false
445
439
  });
446
440
 
447
441
  export default X3DExternProtoDeclaration;
@@ -222,7 +222,7 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
222
222
 
223
223
  if (field .isDefaultValue ())
224
224
  {
225
- generator .string += "/>";
225
+ generator .string += generator .closingTags ? "></field>" : "/>";
226
226
  generator .string += generator .TidyBreak ();
227
227
  }
228
228
  else
@@ -259,7 +259,7 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
259
259
  field .toXMLStream (generator);
260
260
 
261
261
  generator .string += "'";
262
- generator .string += "/>";
262
+ generator .string += generator .closingTags ? "></field>" : "/>";
263
263
  generator .string += generator .TidyBreak ();
264
264
  break;
265
265
  }
@@ -546,22 +546,18 @@ Object .defineProperty (X3DProtoDeclaration .prototype, "name",
546
546
  {
547
547
  get: X3DProtoDeclaration .prototype .getName,
548
548
  enumerable: true,
549
- configurable: false
550
549
  });
551
550
 
552
551
  Object .defineProperty (X3DProtoDeclaration .prototype, "fields",
553
552
  {
554
553
  get: X3DProtoDeclaration .prototype .getFieldDefinitions,
555
554
  enumerable: true,
556
- configurable: false
557
555
  });
558
556
 
559
557
  Object .defineProperty (X3DProtoDeclaration .prototype, "isExternProto",
560
558
  {
561
559
  value: false,
562
- writable: false,
563
560
  enumerable: true,
564
- configurable: false
565
561
  });
566
562
 
567
563
  export default X3DProtoDeclaration;
@@ -170,7 +170,7 @@ X3DRoute .prototype = Object .assign (Object .create (X3DObject .prototype),
170
170
 
171
171
  generator .string += generator .XMLEncode (this [_destinationField] .getName ());
172
172
  generator .string += "'";
173
- generator .string += "/>";
173
+ generator .string += generator .closingTags ? "></ROUTE>" : "/>";
174
174
  },
175
175
  toJSONStream: function (generator)
176
176
  {
@@ -267,7 +267,6 @@ Object .defineProperty (X3DRoute .prototype, "sourceNode",
267
267
  return SFNodeCache .get (this [_sourceNode]);
268
268
  },
269
269
  enumerable: true,
270
- configurable: false
271
270
  });
272
271
 
273
272
  Object .defineProperty (X3DRoute .prototype, "sourceField",
@@ -277,7 +276,6 @@ Object .defineProperty (X3DRoute .prototype, "sourceField",
277
276
  return this [_sourceField] .getName ();
278
277
  },
279
278
  enumerable: true,
280
- configurable: false
281
279
  });
282
280
 
283
281
  Object .defineProperty (X3DRoute .prototype, "destinationNode",
@@ -287,7 +285,6 @@ Object .defineProperty (X3DRoute .prototype, "destinationNode",
287
285
  return SFNodeCache .get (this [_destinationNode]);
288
286
  },
289
287
  enumerable: true,
290
- configurable: false
291
288
  });
292
289
 
293
290
  Object .defineProperty (X3DRoute .prototype, "destinationField",
@@ -297,7 +294,6 @@ Object .defineProperty (X3DRoute .prototype, "destinationField",
297
294
  return this [_destinationField] .getName ();
298
295
  },
299
296
  enumerable: true,
300
- configurable: false
301
297
  });
302
298
 
303
299
  export default X3DRoute;
@@ -91,6 +91,8 @@ class X3DCanvasElement extends HTMLElement
91
91
  {
92
92
  return [
93
93
  "antialiased",
94
+ "baseURL",
95
+ "baseurl",
94
96
  "cache",
95
97
  "contentScale",
96
98
  "contentscale",
package/src/x_ite.css CHANGED
@@ -166,10 +166,14 @@ X3DCanvas > :not(.x_ite-private-browser, .x_ite-private-menu) {
166
166
  padding-right: 10px;
167
167
  }
168
168
 
169
- .x_ite-private-browser-timings tr.x_ite-private-more td {
169
+ .x_ite-private-browser-timings table.more tr.x_ite-private-more td {
170
170
  padding-bottom: 5px;
171
171
  }
172
172
 
173
+ .x_ite-private-browser-timings table.less tr.x_ite-private-more ~ tr {
174
+ display: none;
175
+ }
176
+
173
177
  .x_ite-private-browser-timings td {
174
178
  padding-bottom: 2px;
175
179
  }
package/src/x_ite.html CHANGED
@@ -149,39 +149,7 @@ X3D (function ()
149
149
  }
150
150
  });
151
151
 
152
- function sleep (duration)
153
- {
154
- return new Promise (function (resolve, reject)
155
- {
156
- setTimeout (resolve, duration);
157
- });
158
- }
159
-
160
- $("#bug") .on ("click", async () =>
161
- {
162
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/CubeMapTexturing/GeneratedCubeMapTexture/GeneratedCubeMapTexture.x3d"));
163
- await sleep (1000);
164
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Lighting/DirectionalLight/DirectionalLight.x3d"));
165
- await sleep (1000);
166
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Lighting/Shadows/Shadows.x3d"));
167
- await sleep (1000);
168
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Navigation/NavigationInfo/NavigationInfo.x3d"));
169
- await sleep (1000);
170
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/ParticleSystems/ParticleSystem/ParticleSystem.x3d"));
171
- await sleep (1000);
172
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/RigidBodyPhysics/CollidableShape/CollidableShape.x3d"));
173
- await sleep (1000);
174
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/RigidBodyPhysics/RigidBody/RigidBody.x3d"));
175
- await sleep (1000);
176
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/RigidBodyPhysics/RigidBodyCollection/RigidBodyCollection.x3d"));
177
- await sleep (1000);
178
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/TextureProjector/TextureProjector/TextureProjector.x3d"));
179
- await sleep (1000);
180
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Texturing/MultiTexture/MultiTexture.x3d"));
181
- await sleep (1000);
182
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/X3D/NYC/NYC.x3d"));
183
- await sleep (1000);
184
- });
152
+ $("#website") .attr ("href", location .origin + ":4000/x_ite/")
185
153
  });
186
154
  </script>
187
155
  <style>
@@ -434,7 +402,7 @@ main.color-management #browser {
434
402
  <main>
435
403
  <div>
436
404
  <form action="javascript:alert('form submitted')">
437
- <x3d-canvas id="browser" splashScreen="true" contextMenu="true" cache="false" debug="true" preserveDrawingBuffer="false" onload="$('#file') .addClass ('loaded')" x-url='"tests/empty.x3dv"'>
405
+ <x3d-canvas id="browser" splashScreen="true" contextMenu="true" cache="false" debug="true" preserveDrawingBuffer="false" onload="$('#file') .addClass ('loaded')" x-baseURL="tests/" x-src="lines.x3d">
438
406
  <p class="fallback">
439
407
  Sorry,<br/>
440
408
  it wasn't me!<br/>
@@ -450,10 +418,10 @@ main.color-management #browser {
450
418
  <button id="location-go" type="button">Load URL</button>
451
419
  </div>
452
420
  <div id="buttons">
453
- <a href="#" id="view-all">▣</a><a id="print-xml" href="#">XML</a><a id="print-vrml" href="#">VRML</a><a id="print-json" href="#">JSON</a><a href="../dist/example.html">example page</a><a href="tests/d3-x3d/">d3-x3d</a><a href="tests/dom-integration/">dom-integration</a><a href="tests/legacy/">legacy</a><a href="#" id="bug">▣</a>
421
+ <a href="#" id="view-all">▣</a><a id="print-xml" href="#">XML</a><a id="print-vrml" href="#">VRML</a><a id="print-json" href="#">JSON</a><a href="../dist/example.html">example page</a><a href="tests/d3-x3d/">d3-x3d</a><a href="tests/dom-integration/">dom-integration</a><a href="tests/legacy/">legacy</a>
454
422
  </div>
455
423
  <div id="links">
456
- <a href="../x_ite.min.html">x_ite.min.html</a><a href="https://rawgit.com/create3000/x_ite/main/x_ite.min.html">github</a>
424
+ <a href="../x_ite.min.html">x_ite.min.html</a><a href="https://rawgit.com/create3000/x_ite/main/x_ite.min.html">github</a><a id="website" target="_blank">website</a>
457
425
  </div>
458
426
  <div id="examples-box"></div>
459
427
  </div>
package/x_ite.min.html CHANGED
@@ -130,39 +130,7 @@ X3D (function ()
130
130
  }
131
131
  });
132
132
 
133
- function sleep (duration)
134
- {
135
- return new Promise (function (resolve, reject)
136
- {
137
- setTimeout (resolve, duration);
138
- });
139
- }
140
-
141
- $("#bug") .on ("click", async () =>
142
- {
143
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/CubeMapTexturing/GeneratedCubeMapTexture/GeneratedCubeMapTexture.x3d"));
144
- await sleep (1000);
145
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Lighting/DirectionalLight/DirectionalLight.x3d"));
146
- await sleep (1000);
147
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Lighting/Shadows/Shadows.x3d"));
148
- await sleep (1000);
149
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Navigation/NavigationInfo/NavigationInfo.x3d"));
150
- await sleep (1000);
151
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/ParticleSystems/ParticleSystem/ParticleSystem.x3d"));
152
- await sleep (1000);
153
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/RigidBodyPhysics/CollidableShape/CollidableShape.x3d"));
154
- await sleep (1000);
155
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/RigidBodyPhysics/RigidBody/RigidBody.x3d"));
156
- await sleep (1000);
157
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/RigidBodyPhysics/RigidBodyCollection/RigidBodyCollection.x3d"));
158
- await sleep (1000);
159
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/TextureProjector/TextureProjector/TextureProjector.x3d"));
160
- await sleep (1000);
161
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/Texturing/MultiTexture/MultiTexture.x3d"));
162
- await sleep (1000);
163
- await Browser .loadURL (new X3D .MFString ("https://create3000.github.io/media/examples/X3D/NYC/NYC.x3d"));
164
- await sleep (1000);
165
- });
133
+ $("#website") .attr ("href", location .origin + ":4000/x_ite/")
166
134
  });
167
135
  </script>
168
136
  <style>
@@ -415,7 +383,7 @@ main.color-management #browser {
415
383
  <main>
416
384
  <div>
417
385
  <form action="javascript:alert('form submitted')">
418
- <x3d-canvas id="browser" splashScreen="true" contextMenu="true" cache="false" debug="true" preserveDrawingBuffer="false" onload="$('#file') .addClass ('loaded')" x-url='"src/tests/empty.x3dv"'>
386
+ <x3d-canvas id="browser" splashScreen="true" contextMenu="true" cache="false" debug="true" preserveDrawingBuffer="false" onload="$('#file') .addClass ('loaded')" x-baseURL="src/tests/" x-src="lines.x3d">
419
387
  <p class="fallback">
420
388
  Sorry,<br/>
421
389
  it wasn't me!<br/>
@@ -431,10 +399,10 @@ main.color-management #browser {
431
399
  <button id="location-go" type="button">Load URL</button>
432
400
  </div>
433
401
  <div id="buttons">
434
- <a href="#" id="view-all">▣</a><a id="print-xml" href="#">XML</a><a id="print-vrml" href="#">VRML</a><a id="print-json" href="#">JSON</a><a href="dist/example.html">example page</a><a href="src/tests/d3-x3d/">d3-x3d</a><a href="src/tests/dom-integration/">dom-integration</a><a href="src/tests/legacy/">legacy</a><a href="#" id="bug">▣</a>
402
+ <a href="#" id="view-all">▣</a><a id="print-xml" href="#">XML</a><a id="print-vrml" href="#">VRML</a><a id="print-json" href="#">JSON</a><a href="dist/example.html">example page</a><a href="src/tests/d3-x3d/">d3-x3d</a><a href="src/tests/dom-integration/">dom-integration</a><a href="src/tests/legacy/">legacy</a>
435
403
  </div>
436
404
  <div id="links" class="min-links">
437
- <a href="src/x_ite.html">src/x_ite.html</a><a href="https://rawgit.com/create3000/x_ite/main/x_ite.min.html">github</a>
405
+ <a href="src/x_ite.html">src/x_ite.html</a><a href="https://rawgit.com/create3000/x_ite/main/x_ite.min.html">github</a><a id="website" target="_blank">website</a>
438
406
  </div>
439
407
  <div id="examples-box"></div>
440
408
  </div>