x_ite 4.7.6 → 4.7.10

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 (148) hide show
  1. package/.vscode/settings.json +1 -2
  2. package/Makefile +1 -0
  3. package/build/components/annotation.build.js +2 -2
  4. package/build/components/cad-geometry.build.js +2 -2
  5. package/build/components/cube-map-texturing.build.js +2 -2
  6. package/build/components/dis.build.js +2 -2
  7. package/build/components/event-utilities.build.js +2 -2
  8. package/build/components/geometry2d.build.js +2 -2
  9. package/build/components/geospatial.build.js +2 -2
  10. package/build/components/h-anim.build.js +2 -2
  11. package/build/components/key-device-sensor.build.js +2 -2
  12. package/build/components/layout.build.js +2 -2
  13. package/build/components/nurbs.build.js +2 -2
  14. package/build/components/particle-systems.build.js +2 -2
  15. package/build/components/picking.build.js +2 -2
  16. package/build/components/projective-texture-mapping.build.js +2 -2
  17. package/build/components/rigid-body-physics.build.js +2 -2
  18. package/build/components/scripting.build.js +2 -2
  19. package/build/components/texturing-3d.build.js +2 -2
  20. package/build/components/volume-rendering.build.js +2 -2
  21. package/build/components/x_ite.build.js +2 -2
  22. package/build/parts/default.end.frag.js +2 -0
  23. package/build/parts/default.start.frag.js +8 -0
  24. package/build/parts/{x_ite.end.frag → x_ite.end.frag.js} +2 -8
  25. package/build/parts/x_ite.start.frag.js +11 -0
  26. package/build/x_ite.build.js +2 -2
  27. package/dist/assets/components/annotation.js +9 -7
  28. package/dist/assets/components/annotation.min.js +1 -1
  29. package/dist/assets/components/cad-geometry.js +9 -7
  30. package/dist/assets/components/cad-geometry.min.js +1 -1
  31. package/dist/assets/components/cube-map-texturing.js +9 -7
  32. package/dist/assets/components/cube-map-texturing.min.js +1 -1
  33. package/dist/assets/components/dis.js +9 -7
  34. package/dist/assets/components/dis.min.js +1 -1
  35. package/dist/assets/components/event-utilities.js +9 -7
  36. package/dist/assets/components/event-utilities.min.js +1 -1
  37. package/dist/assets/components/geometry2d.js +9 -7
  38. package/dist/assets/components/geometry2d.min.js +1 -1
  39. package/dist/assets/components/geospatial.js +9 -7
  40. package/dist/assets/components/geospatial.min.js +2 -2
  41. package/dist/assets/components/h-anim.js +9 -7
  42. package/dist/assets/components/h-anim.min.js +1 -1
  43. package/dist/assets/components/key-device-sensor.js +9 -7
  44. package/dist/assets/components/key-device-sensor.min.js +1 -1
  45. package/dist/assets/components/layout.js +9 -7
  46. package/dist/assets/components/layout.min.js +1 -1
  47. package/dist/assets/components/nurbs.js +9 -7
  48. package/dist/assets/components/nurbs.min.js +2 -2
  49. package/dist/assets/components/particle-systems.js +9 -7
  50. package/dist/assets/components/particle-systems.min.js +2 -2
  51. package/dist/assets/components/picking.js +13 -11
  52. package/dist/assets/components/picking.min.js +1 -1
  53. package/dist/assets/components/projective-texture-mapping.js +9 -7
  54. package/dist/assets/components/projective-texture-mapping.min.js +1 -1
  55. package/dist/assets/components/rigid-body-physics.js +9 -7
  56. package/dist/assets/components/rigid-body-physics.min.js +17 -17
  57. package/dist/assets/components/scripting.js +16 -9
  58. package/dist/assets/components/scripting.min.js +1 -1
  59. package/dist/assets/components/texturing-3d.js +9 -7
  60. package/dist/assets/components/texturing-3d.min.js +3 -3
  61. package/dist/assets/components/volume-rendering.js +11 -9
  62. package/dist/assets/components/volume-rendering.min.js +3 -3
  63. package/dist/assets/components/x_ite.js +9 -7
  64. package/dist/assets/components/x_ite.min.js +1 -1
  65. package/dist/assets/shaders/webgl1/FallbackUnlit.fs +3 -4
  66. package/dist/assets/shaders/webgl1/Gouraud.vs +0 -1
  67. package/dist/assets/shaders/webgl1/Phong.fs +0 -1
  68. package/dist/assets/shaders/webgl1/Unlit.fs +0 -3
  69. package/dist/assets/shaders/webgl2/Gouraud.vs +0 -1
  70. package/dist/assets/shaders/webgl2/Phong.fs +0 -1
  71. package/dist/assets/shaders/webgl2/Unlit.fs +0 -3
  72. package/dist/example.html +2 -2
  73. package/dist/x_ite.css +14 -9
  74. package/dist/x_ite.js +29499 -28932
  75. package/dist/x_ite.min.js +41 -41
  76. package/dist/x_ite.zip +0 -0
  77. package/docs/Accessing-the-External-Browser.md +19 -4
  78. package/docs/What's-New.md +23 -0
  79. package/docs/_config.yml +1 -1
  80. package/docs/index.md +42 -14
  81. package/docs/reference/Browser-Services.md +38 -10
  82. package/docs/reference/Script-Node-Authoring-Interface.md +12 -4
  83. package/package.json +6 -5
  84. package/src/assets/components/picking.js +2 -2
  85. package/src/assets/components/volume-rendering.js +2 -2
  86. package/src/assets/shaders/webgl1/FallbackUnlit.fs +3 -4
  87. package/src/assets/shaders/webgl1/Gouraud.vs +0 -1
  88. package/src/assets/shaders/webgl1/Phong.fs +0 -1
  89. package/src/assets/shaders/webgl1/Unlit.fs +0 -3
  90. package/src/assets/shaders/webgl2/Gouraud.vs +0 -1
  91. package/src/assets/shaders/webgl2/Phong.fs +0 -1
  92. package/src/assets/shaders/webgl2/Unlit.fs +0 -3
  93. package/src/bookmarks.js +8 -11
  94. package/src/examples.js +1 -1
  95. package/src/locale/de.po +19 -75
  96. package/src/locale/fr.po +18 -75
  97. package/src/standard/Time/MicroTime.js +3 -1
  98. package/src/standard/Utility/DataStorage.js +23 -12
  99. package/src/tests.js +1 -1
  100. package/src/x_ite/Browser/Core/BrowserOptions.js +40 -28
  101. package/src/x_ite/Browser/Core/BrowserTimings.js +13 -24
  102. package/src/x_ite/Browser/Core/ContextMenu.js +94 -16
  103. package/src/x_ite/Browser/Core/X3DCoreContext.js +95 -42
  104. package/src/x_ite/Browser/Navigation/ExamineViewer.js +3 -0
  105. package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -0
  106. package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -0
  107. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +3 -0
  108. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +1 -3
  109. package/src/x_ite/Browser/Picking/VolumePicker.js +1 -1
  110. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +4 -1
  111. package/src/x_ite/Browser/Shaders/ShaderTest.js +3 -3
  112. package/src/x_ite/Browser/VERSION.js +1 -1
  113. package/src/x_ite/Browser/X3DBrowser.js +70 -50
  114. package/src/x_ite/Components/Picking/PointPickSensor.js +1 -1
  115. package/src/x_ite/Components/Scripting/Script.js +7 -2
  116. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +10 -12
  117. package/src/x_ite/Components/Shaders.js +9 -9
  118. package/src/x_ite/Execution/X3DExecutionContext.js +9 -11
  119. package/src/x_ite/Fields/SFColor.js +20 -7
  120. package/src/x_ite/Fields/SFColorRGBA.js +6 -6
  121. package/src/x_ite/Fields/SFDouble.js +2 -2
  122. package/src/x_ite/Fields/SFFloat.js +2 -2
  123. package/src/x_ite/Fields/SFImage.js +13 -13
  124. package/src/x_ite/Fields/SFMatrix3.js +5 -5
  125. package/src/x_ite/Fields/SFMatrix4.js +6 -6
  126. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +14 -3
  127. package/src/x_ite/Fields/SFNode.js +23 -19
  128. package/src/x_ite/Fields/SFNodeCache.js +14 -10
  129. package/src/x_ite/Fields/SFRotation.js +10 -10
  130. package/src/x_ite/Fields/SFString.js +1 -1
  131. package/src/x_ite/Fields/SFTime.js +1 -1
  132. package/src/x_ite/Fields/SFVec2.js +6 -6
  133. package/src/x_ite/Fields/SFVec3.js +7 -7
  134. package/src/x_ite/Fields/SFVec4.js +8 -8
  135. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +7 -6
  136. package/src/x_ite/InputOutput/Generator.js +85 -65
  137. package/src/x_ite/Parser/X3DParser.js +6 -0
  138. package/src/x_ite/Parser/XMLParser.js +1 -1
  139. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +1 -1
  140. package/src/x_ite/X3D.js +8 -2
  141. package/src/x_ite.config.js +0 -5
  142. package/src/x_ite.css +14 -8
  143. package/src/x_ite.html +3 -3
  144. package/src/x_ite.js +21 -12
  145. package/x_ite.min.html +3 -3
  146. package/build/parts/default.end.frag +0 -2
  147. package/build/parts/default.start.frag +0 -6
  148. package/build/parts/x_ite.start.frag +0 -8
@@ -56,7 +56,7 @@ function (X3DField,
56
56
  {
57
57
  "use strict";
58
58
 
59
- return function (Type)
59
+ return function (Type, double)
60
60
  {
61
61
  return Object .assign (Object .create (X3DField .prototype),
62
62
  {
@@ -126,18 +126,19 @@ function (X3DField,
126
126
  },
127
127
  toStream: function (stream)
128
128
  {
129
- var
129
+ const
130
130
  generator = Generator .Get (stream),
131
131
  value = this .getValue (),
132
- category = generator .Unit (this .getUnit ());
132
+ category = generator .Unit (this .getUnit ()),
133
+ last = value .length - 1;
133
134
 
134
- for (var i = 0, l = value .length - 1; i < l; ++ i)
135
+ for (let i = 0; i < last; ++ i)
135
136
  {
136
- stream .string += String (generator .ToUnit (category, value [i]));
137
+ stream .string += double ? generator .DoublePrecision (generator .ToUnit (category, value [i])) : generator .Precision (generator .ToUnit (category, value [i]));
137
138
  stream .string += " ";
138
139
  }
139
140
 
140
- stream .string += String (generator .ToUnit (category, value [i]));
141
+ stream .string += double ? generator .DoublePrecision (generator .ToUnit (category, value [last])) : generator .Precision (generator .ToUnit (category, value [last]));
141
142
  },
142
143
  toVRMLStream: function (stream)
143
144
  {
@@ -47,7 +47,6 @@
47
47
  ******************************************************************************/
48
48
 
49
49
 
50
-
51
50
  define ([
52
51
  "x_ite/Bits/X3DConstants",
53
52
  ],
@@ -57,8 +56,12 @@ function (X3DConstants)
57
56
 
58
57
  function Generator ()
59
58
  {
60
- this .indent = "";
61
- this .indentChar = " ";
59
+ this .indent = "";
60
+ this .indentChar = " ";
61
+ this .precision = 6;
62
+ this .doublePrecision = 14;
63
+ this .removeTrailingZeros = /\.?0*(?=$|[eE])/;
64
+
62
65
  this .executionContextStack = [ null ];
63
66
  this .importedNodesIndex = new Map ();
64
67
  this .exportedNodesIndex = new Map ();
@@ -93,11 +96,19 @@ function (X3DConstants)
93
96
  },
94
97
  PadRight: function (string, pad)
95
98
  {
96
- for (var i = 0, length = pad - string .length; i < length; ++ i)
99
+ for (let i = 0, length = pad - string .length; i < length; ++ i)
97
100
  string += " ";
98
101
 
99
102
  return string;
100
103
  },
104
+ Precision: function (value)
105
+ {
106
+ return Math .fround (value) .toPrecision (this .precision) .replace (this .removeTrailingZeros, "");
107
+ },
108
+ DoublePrecision: function (value)
109
+ {
110
+ return value .toPrecision (this .doublePrecision) .replace (this .removeTrailingZeros, "");
111
+ },
101
112
  PushExecutionContext: function (executionContext)
102
113
  {
103
114
  this .executionContextStack .push (executionContext);
@@ -145,7 +156,7 @@ function (X3DConstants)
145
156
  },
146
157
  ExportedNodes: function (exportedNodes)
147
158
  {
148
- var index = this .exportedNodesIndex .get (this .ExecutionContext ());
159
+ const index = this .exportedNodesIndex .get (this .ExecutionContext ());
149
160
 
150
161
  exportedNodes .forEach (function (exportedNode)
151
162
  {
@@ -159,7 +170,7 @@ function (X3DConstants)
159
170
  },
160
171
  ImportedNodes: function (importedNodes)
161
172
  {
162
- var index = this .importedNodesIndex .get (this .ExecutionContext ());
173
+ const index = this .importedNodesIndex .get (this .ExecutionContext ());
163
174
 
164
175
  importedNodes .forEach (function (importedNode)
165
176
  {
@@ -197,72 +208,79 @@ function (X3DConstants)
197
208
  {
198
209
  return this .nodes .has (baseNode);
199
210
  },
200
- Name: function (baseNode)
211
+ Name: (function ()
201
212
  {
202
- // Is the node already in index
203
-
204
- var name = this .namesByNode .get (baseNode);
205
-
206
- if (name !== undefined)
207
- return name;
208
-
209
- var names = this .names .get (this .ExecutionContext ());
210
-
211
- // The node has no name
213
+ const _TrailingNumbers = /(_\d+$)/;
212
214
 
213
- if (baseNode .getName () .length === 0)
215
+ return function (baseNode)
214
216
  {
215
- if (this .NeedsName (baseNode))
216
- {
217
- var name = this .UniqueName ();
217
+ // Is the node already in index
218
218
 
219
- names .set (name, baseNode);
220
- this .namesByNode .set (baseNode, name);
219
+ const name = this .namesByNode .get (baseNode);
221
220
 
221
+ if (name !== undefined)
222
+ {
222
223
  return name;
223
224
  }
225
+ else
226
+ {
227
+ const names = this .names .get (this .ExecutionContext ());
224
228
 
225
- // The node doesn't need a name
229
+ // The node has no name
226
230
 
227
- return baseNode .getName ();
228
- }
231
+ if (baseNode .getName () .length === 0)
232
+ {
233
+ if (this .NeedsName (baseNode))
234
+ {
235
+ const name = this .UniqueName ();
229
236
 
230
- // The node has a name
237
+ names .set (name, baseNode);
238
+ this .namesByNode .set (baseNode, name);
231
239
 
232
- var _TrailingNumbers = /(_\d+$)/;
240
+ return name;
241
+ }
233
242
 
234
- var name = baseNode .getName ();
235
- var hasNumber = name .match (_TrailingNumbers) !== null;
243
+ // The node doesn't need a name
236
244
 
237
- name = name .replace (_TrailingNumbers, "");
245
+ return baseNode .getName ();
246
+ }
238
247
 
239
- if (name .length === 0)
240
- {
241
- if (this .NeedsName (baseNode))
242
- name = this .UniqueName ();
248
+ // The node has a name
243
249
 
244
- else
245
- return "";
246
- }
247
- else
248
- {
249
- var
250
- i = 0,
251
- newName = hasNumber ? name + '_' + (++ i) : name;
250
+ let name = baseNode .getName ();
251
+ const hasNumber = name .match (_TrailingNumbers) !== null;
252
252
 
253
- while (names .has (newName))
254
- {
255
- newName = name + '_' + (++ i);
256
- }
253
+ name = name .replace (_TrailingNumbers, "");
257
254
 
258
- name = newName;
259
- }
255
+ if (name .length === 0)
256
+ {
257
+ if (this .NeedsName (baseNode))
258
+ name = this .UniqueName ();
260
259
 
261
- names .set (name, baseNode);
262
- this .namesByNode .set (baseNode, name);
260
+ else
261
+ return "";
262
+ }
263
+ else
264
+ {
265
+ let
266
+ i = 0,
267
+ newName = hasNumber ? name + '_' + (++ i) : name;
263
268
 
264
- return name;
265
- },
269
+ while (names .has (newName))
270
+ {
271
+ newName = name + '_' + (++ i);
272
+ }
273
+
274
+ name = newName;
275
+ }
276
+
277
+ names .set (name, baseNode);
278
+ this .namesByNode .set (baseNode, name);
279
+
280
+ return name;
281
+ }
282
+ };
283
+ })(),
266
284
  NeedsName: function (baseNode)
267
285
  {
268
286
  if (baseNode .getCloneCount () > 1)
@@ -271,7 +289,7 @@ function (X3DConstants)
271
289
  if (baseNode .hasRoutes ())
272
290
  return true;
273
291
 
274
- var
292
+ const
275
293
  executionContext = baseNode .getExecutionContext (),
276
294
  index = this .importedNodesIndex .get (executionContext);
277
295
 
@@ -280,24 +298,26 @@ function (X3DConstants)
280
298
  if (index .has (baseNode))
281
299
  return true;
282
300
  }
301
+ else
302
+ {
303
+ const index = this .exportedNodesIndex .get (executionContext);
283
304
 
284
- var index = this .exportedNodesIndex .get (executionContext);
305
+ if (index)
306
+ {
307
+ if (index .has (baseNode))
308
+ return true;
309
+ }
285
310
 
286
- if (index)
287
- {
288
- if (index .has (baseNode))
289
- return true;
311
+ return false;
290
312
  }
291
-
292
- return false;
293
313
  },
294
314
  UniqueName: function ()
295
315
  {
296
- var names = this .names .get (this .ExecutionContext ());
316
+ const names = this .names .get (this .ExecutionContext ());
297
317
 
298
318
  for (; ;)
299
319
  {
300
- var name = '_' + (++ this .newName);
320
+ const name = '_' + (++ this .newName);
301
321
 
302
322
  if (names .has (name))
303
323
  continue;
@@ -307,7 +327,7 @@ function (X3DConstants)
307
327
  },
308
328
  LocalName: function (baseNode)
309
329
  {
310
- var importedName = this .importedNames .get (baseNode);
330
+ const importedName = this .importedNames .get (baseNode);
311
331
 
312
332
  if (importedName !== undefined)
313
333
  return importedName;
@@ -373,7 +393,7 @@ function (X3DConstants)
373
393
  {
374
394
  if (this .units)
375
395
  {
376
- var executionContext = this .ExecutionContext ();
396
+ const executionContext = this .ExecutionContext ();
377
397
 
378
398
  if (executionContext)
379
399
  return executionContext .toUnit (category, value);
@@ -130,6 +130,12 @@ define (function ()
130
130
  providerUrls .add (providerUrl);
131
131
  }
132
132
 
133
+ if (typeof globalRequire === "function" && typeof __filename === "string")
134
+ {
135
+ for (const url of providerUrls)
136
+ globalRequire (globalRequire ("url") .fileURLToPath (url));
137
+ }
138
+
133
139
  return Array .from (providerUrls);
134
140
  };
135
141
  })(),
@@ -995,7 +995,7 @@ function ($,
995
995
  }
996
996
  catch (error)
997
997
  {
998
- //console .warn (error .message);
998
+ //console .warn (error);
999
999
  }
1000
1000
  },
1001
1001
  fieldValue: function (field, value)
@@ -164,7 +164,7 @@ function ($,
164
164
  this .setInternalScene (value);
165
165
 
166
166
  else
167
- this .setError ();
167
+ this .setError (new Error ("File could not be loaded."));
168
168
 
169
169
  this .getScene () .removeInitLoadCount (this);
170
170
  },
package/src/x_ite/X3D.js CHANGED
@@ -106,7 +106,12 @@ function ($,
106
106
 
107
107
  function getComponentUrl (name)
108
108
  {
109
- return urls .getProviderUrl (name);
109
+ const url = urls .getProviderUrl (name);
110
+
111
+ if (typeof globalRequire === "function" && typeof __filename === "string")
112
+ globalRequire (globalRequire ("url") .fileURLToPath (url));
113
+
114
+ return url;
110
115
  }
111
116
 
112
117
  function createBrowser (url, parameter)
@@ -180,11 +185,12 @@ function ($,
180
185
  });
181
186
  }
182
187
 
188
+ require .getComponentUrl = getComponentUrl;
189
+
183
190
  Object .assign (X3D,
184
191
  {
185
192
  require: require,
186
193
  define: define,
187
- getComponentUrl: getComponentUrl,
188
194
 
189
195
  getBrowser: getBrowser,
190
196
  createBrowser: createBrowser,
@@ -36,11 +36,6 @@ require .config ({
36
36
  "location": "../node_modules/opentype.js",
37
37
  "main": "dist/opentype.js"
38
38
  },
39
- {
40
- "name": "sprintf",
41
- "location": "../node_modules/sprintf-js",
42
- "main": "dist/sprintf.min.js"
43
- },
44
39
  {
45
40
  "name": "contextMenu",
46
41
  "location": "../node_modules/jquery-contextmenu",
package/src/x_ite.css CHANGED
@@ -93,7 +93,7 @@ X3DCanvas .x_ite-private-notification {
93
93
 
94
94
  X3DCanvas .x_ite-private-notification span {
95
95
  padding: 0px 24px 0px 20px;
96
- background: url(assets/images/icon.bw.png) no-repeat 0px 3px;
96
+ background: url(assets/images/icon.bw.png) no-repeat 0px 2px;
97
97
  }
98
98
 
99
99
  X3DCanvas .x_ite-private-browser-timings {
@@ -335,11 +335,6 @@ X3DCanvas #context-menu-layer {
335
335
  letter-spacing: unset;
336
336
  }
337
337
 
338
- .x_ite-private-menu .context-menu-separator {
339
- padding-bottom: 0;
340
- border-bottom: 1px solid #111;
341
- }
342
-
343
338
  .x_ite-private-menu .context-menu-item > label > input,
344
339
  .x_ite-private-menu .context-menu-item > label > textarea {
345
340
  all: revert;
@@ -359,13 +354,24 @@ X3DCanvas #context-menu-layer {
359
354
  -moz-appearance: radio;
360
355
  }
361
356
 
362
- .x_ite-private-menu .context-menu-hover {
357
+ .x_ite-private-menu .context-menu-item:hover {
363
358
  cursor: pointer;
364
359
  background-color: #444;
365
360
  border-top: 1px solid #eee;
366
361
  border-bottom: 1px solid #eee;
367
362
  }
368
363
 
364
+ .x_ite-private-menu .context-menu-item.context-menu-separator {
365
+ padding-top: 0;
366
+ padding-bottom: 0;
367
+ border-top: 0;
368
+ border-bottom: 1px solid #111;
369
+ }
370
+
371
+ .x_ite-private-menu .context-menu-separator + .context-menu-separator {
372
+ display: none !important;
373
+ }
374
+
369
375
  .x_ite-private-menu .context-menu-disabled {
370
376
  color: #666;
371
377
  }
@@ -444,7 +450,7 @@ X3DCanvas #context-menu-layer {
444
450
  }
445
451
 
446
452
  .x_ite-private-menu .context-menu-item > .context-menu-list {
447
- top: 5px;
453
+ top: -9px;
448
454
  /* re-positioned by js */
449
455
  right: -5px;
450
456
  display: none;
package/src/x_ite.html CHANGED
@@ -34,7 +34,7 @@ body {
34
34
  padding-bottom: 100px;
35
35
  background: black;
36
36
  color: white;
37
- font-family: PT Sans, sans;
37
+ font-family: PT Sans, sans-serif;
38
38
  line-height: 1.3;
39
39
  }
40
40
 
@@ -114,7 +114,7 @@ main.color-management .browser {
114
114
  background: #313131;
115
115
  color: white;
116
116
  vertical-align: middle;
117
- font-family: PT Sans;
117
+ font-family: PT Sans, sans-serif;
118
118
  font-size: 10pt;
119
119
  }
120
120
 
@@ -130,7 +130,7 @@ main.color-management .browser {
130
130
  background: #313131;
131
131
  color: white;
132
132
  vertical-align: middle;
133
- font-family: PT Sans;
133
+ font-family: PT Sans, sans-serif;
134
134
  font-size: 10pt;
135
135
  }
136
136
 
package/src/x_ite.js CHANGED
@@ -46,9 +46,6 @@
46
46
  *
47
47
  ******************************************************************************/
48
48
 
49
- if (typeof module === 'undefined')
50
- var module = { };
51
-
52
49
  require .config ({
53
50
  "waitSeconds": 0,
54
51
  });
@@ -71,7 +68,10 @@ define .hide = function ()
71
68
 
72
69
  const getScriptURL = (function ()
73
70
  {
74
- const src = document .currentScript .src;
71
+ if (document .currentScript)
72
+ var src = document .currentScript .src;
73
+ else if (typeof globalRequire === "function" && typeof __filename === "string")
74
+ var src = globalRequire ("url") .pathToFileURL (__filename) .href;
75
75
 
76
76
  return function ()
77
77
  {
@@ -85,15 +85,21 @@ const getScriptURL = (function ()
85
85
 
86
86
  function X_ITE (callback, fallback)
87
87
  {
88
- if (PrivateX3D)
89
- {
90
- PrivateX3D (callback, fallback);
91
- }
92
- else
88
+ const promise = new Promise (function (resolve, reject)
93
89
  {
94
- callbacks .push (callback);
95
- fallbacks .push (fallback);
96
- }
90
+ if (PrivateX3D)
91
+ {
92
+ PrivateX3D (resolve, reject);
93
+ PrivateX3D (callback, fallback);
94
+ }
95
+ else
96
+ {
97
+ callbacks .push (resolve, callback);
98
+ fallbacks .push (reject, fallback);
99
+ }
100
+ });
101
+
102
+ return promise;
97
103
  }
98
104
 
99
105
  function fallback (error)
@@ -129,6 +135,9 @@ const getScriptURL = (function ()
129
135
  // Now assign temporary X3D.
130
136
  window .X3D = X_ITE;
131
137
 
138
+ if (typeof globalModule === "object" && typeof globalModule .exports === "object")
139
+ globalModule .exports = X_ITE;
140
+
132
141
  // IE fix.
133
142
  document .createElement ("X3DCanvas");
134
143
 
package/x_ite.min.html CHANGED
@@ -32,7 +32,7 @@ body {
32
32
  padding-bottom: 100px;
33
33
  background: black;
34
34
  color: white;
35
- font-family: PT Sans, sans;
35
+ font-family: PT Sans, sans-serif;
36
36
  line-height: 1.3;
37
37
  }
38
38
 
@@ -112,7 +112,7 @@ main.color-management .browser {
112
112
  background: #313131;
113
113
  color: white;
114
114
  vertical-align: middle;
115
- font-family: PT Sans;
115
+ font-family: PT Sans, sans-serif;
116
116
  font-size: 10pt;
117
117
  }
118
118
 
@@ -128,7 +128,7 @@ main.color-management .browser {
128
128
  background: #313131;
129
129
  color: white;
130
130
  vertical-align: middle;
131
- font-family: PT Sans;
131
+ font-family: PT Sans, sans-serif;
132
132
  font-size: 10pt;
133
133
  }
134
134
 
@@ -1,2 +0,0 @@
1
-
2
- }());
@@ -1,6 +0,0 @@
1
- (function () {
2
-
3
- var
4
- define = X3D .define,
5
- require = X3D .require,
6
- module = { };
@@ -1,8 +0,0 @@
1
- (function () {
2
-
3
- var x_iteNoConfict = {
4
- sprintf: window .sprintf,
5
- vsprintf: window .vsprintf,
6
- };
7
-
8
- var module = { };