@needle-tools/engine 3.7.7-beta → 3.9.0-alpha

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 (116) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/needle-engine.js +473 -87019
  3. package/dist/needle-engine.light.js +473 -84478
  4. package/dist/needle-engine.light.min.js +1 -5805
  5. package/dist/needle-engine.light.umd.cjs +1 -5805
  6. package/dist/needle-engine.min.js +1 -5818
  7. package/dist/needle-engine.umd.cjs +1 -5818
  8. package/lib/engine/codegen/register_types.js +2 -0
  9. package/lib/engine/codegen/register_types.js.map +1 -1
  10. package/lib/engine/debug/debug.d.ts +1 -1
  11. package/lib/engine/engine_context.d.ts +3 -1
  12. package/lib/engine/engine_context.js +18 -13
  13. package/lib/engine/engine_context.js.map +1 -1
  14. package/lib/engine/engine_element.js +15 -8
  15. package/lib/engine/engine_element.js.map +1 -1
  16. package/lib/engine/engine_element_overlay.d.ts +2 -1
  17. package/lib/engine/engine_element_overlay.js +38 -55
  18. package/lib/engine/engine_element_overlay.js.map +1 -1
  19. package/lib/engine/engine_lightdata.js +6 -7
  20. package/lib/engine/engine_lightdata.js.map +1 -1
  21. package/lib/engine/engine_networking_utils.d.ts +1 -1
  22. package/lib/engine/engine_networking_utils.js.map +1 -1
  23. package/lib/engine/engine_scenelighting.js +5 -5
  24. package/lib/engine/engine_scenelighting.js.map +1 -1
  25. package/lib/engine/extensions/NEEDLE_lightmaps.js +3 -3
  26. package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
  27. package/lib/engine/extensions/NEEDLE_render_objects.js +1 -1
  28. package/lib/engine/extensions/NEEDLE_render_objects.js.map +1 -1
  29. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +4 -1
  30. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  31. package/lib/engine/extensions/extensions.d.ts +1 -1
  32. package/lib/engine/extensions/extensions.js +17 -3
  33. package/lib/engine/extensions/extensions.js.map +1 -1
  34. package/lib/engine-components/Camera.js +3 -3
  35. package/lib/engine-components/Camera.js.map +1 -1
  36. package/lib/engine-components/GroundProjection.js +1 -1
  37. package/lib/engine-components/GroundProjection.js.map +1 -1
  38. package/lib/engine-components/Light.js +58 -50
  39. package/lib/engine-components/Light.js.map +1 -1
  40. package/lib/engine-components/Networking.d.ts +1 -1
  41. package/lib/engine-components/OrbitControls.js +4 -3
  42. package/lib/engine-components/OrbitControls.js.map +1 -1
  43. package/lib/engine-components/ParticleSystem.d.ts +2 -1
  44. package/lib/engine-components/ParticleSystem.js +11 -1
  45. package/lib/engine-components/ParticleSystem.js.map +1 -1
  46. package/lib/engine-components/ReflectionProbe.js +3 -3
  47. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  48. package/lib/engine-components/Renderer.d.ts +1 -1
  49. package/lib/engine-components/Renderer.js +16 -13
  50. package/lib/engine-components/Renderer.js.map +1 -1
  51. package/lib/engine-components/RendererLightmap.d.ts +5 -8
  52. package/lib/engine-components/RendererLightmap.js +50 -39
  53. package/lib/engine-components/RendererLightmap.js.map +1 -1
  54. package/lib/engine-components/codegen/components.d.ts +1 -0
  55. package/lib/engine-components/codegen/components.js +1 -0
  56. package/lib/engine-components/codegen/components.js.map +1 -1
  57. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +1 -1
  58. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +34 -30
  59. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  60. package/lib/engine-components/export/usdz/USDZExporter.js +2 -0
  61. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  62. package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +2 -1
  63. package/lib/engine-components/export/usdz/extensions/USDZText.js +40 -3
  64. package/lib/engine-components/export/usdz/extensions/USDZText.js.map +1 -1
  65. package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -0
  66. package/lib/engine-components/export/usdz/extensions/USDZUI.js +101 -0
  67. package/lib/engine-components/export/usdz/extensions/USDZUI.js.map +1 -0
  68. package/lib/engine-components/ui/BaseUIComponent.js +4 -0
  69. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  70. package/lib/engine-components/ui/Button.d.ts +1 -1
  71. package/lib/engine-components/ui/Button.js +4 -1
  72. package/lib/engine-components/ui/Button.js.map +1 -1
  73. package/lib/engine-components/ui/Canvas.js +9 -1
  74. package/lib/engine-components/ui/Canvas.js.map +1 -1
  75. package/lib/engine-components/ui/EventSystem.js +2 -0
  76. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  77. package/lib/engine-components/ui/Graphic.js +3 -3
  78. package/lib/engine-components/ui/Graphic.js.map +1 -1
  79. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -1
  80. package/lib/engine-components/webxr/WebARCameraBackground.js +2 -2
  81. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  82. package/lib/engine-components/webxr/WebXR.js +7 -6
  83. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  84. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
  85. package/package.json +5 -5
  86. package/src/engine/codegen/register_types.js +2 -0
  87. package/src/engine/engine_context.ts +21 -14
  88. package/src/engine/engine_element.ts +15 -8
  89. package/src/engine/engine_element_overlay.ts +41 -52
  90. package/src/engine/engine_lightdata.ts +6 -8
  91. package/src/engine/engine_networking_utils.ts +1 -1
  92. package/src/engine/engine_scenelighting.ts +5 -5
  93. package/src/engine/extensions/NEEDLE_lightmaps.ts +3 -3
  94. package/src/engine/extensions/NEEDLE_render_objects.ts +10 -8
  95. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +5 -1
  96. package/src/engine/extensions/extensions.ts +19 -4
  97. package/src/engine-components/Camera.ts +3 -3
  98. package/src/engine-components/GroundProjection.ts +1 -1
  99. package/src/engine-components/Light.ts +62 -57
  100. package/src/engine-components/OrbitControls.ts +4 -3
  101. package/src/engine-components/ParticleSystem.ts +14 -0
  102. package/src/engine-components/ReflectionProbe.ts +3 -3
  103. package/src/engine-components/Renderer.ts +21 -17
  104. package/src/engine-components/RendererLightmap.ts +55 -49
  105. package/src/engine-components/codegen/components.ts +1 -0
  106. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +43 -37
  107. package/src/engine-components/export/usdz/USDZExporter.ts +2 -0
  108. package/src/engine-components/export/usdz/extensions/USDZText.ts +41 -1
  109. package/src/engine-components/export/usdz/extensions/USDZUI.ts +120 -0
  110. package/src/engine-components/ui/BaseUIComponent.ts +5 -0
  111. package/src/engine-components/ui/Button.ts +3 -1
  112. package/src/engine-components/ui/Canvas.ts +7 -1
  113. package/src/engine-components/ui/EventSystem.ts +3 -1
  114. package/src/engine-components/ui/Graphic.ts +3 -3
  115. package/src/engine-components/webxr/WebARCameraBackground.ts +3 -3
  116. package/src/engine-components/webxr/WebXR.ts +7 -7
@@ -8,7 +8,7 @@ import { Behaviour } from "../Component";
8
8
  import { serializable } from "../../engine/engine_serialization_decorator";
9
9
  import { RGBAColor } from "../js-extensions/RGBAColor";
10
10
  import { WebXR } from "./WebXR";
11
- import { Camera as ThreeCamera, Scene, Texture, Mesh, MeshBasicMaterial, UniformsUtils, PlaneGeometry, ShaderLib, ShaderMaterial, DoubleSide } from "three";
11
+ import { Scene, Texture, Mesh, MeshBasicMaterial, UniformsUtils, PlaneGeometry, ShaderLib, ShaderMaterial, DoubleSide, PerspectiveCamera } from "three";
12
12
  export class WebARCameraBackground extends Behaviour {
13
13
  awake() {
14
14
  WebXR.OptionalFeatures_AR.push('camera-access');
@@ -38,7 +38,7 @@ export class WebARCameraBackground extends Behaviour {
38
38
  const geometry = new PlaneGeometry();
39
39
  const scene = new Scene();
40
40
  scene.add(new Mesh(geometry, material));
41
- const camera = new ThreeCamera();
41
+ const camera = new PerspectiveCamera();
42
42
  return function forceTextureInitialization(renderer, texture) {
43
43
  material.map = texture;
44
44
  renderer.render(scene, camera);
@@ -1 +1 @@
1
- {"version":3,"file":"WebARCameraBackground.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebARCameraBackground.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebARCameraBackground.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebARCameraBackground.ts"],"names":[],"mappings":"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"}
@@ -316,7 +316,7 @@ export class WebXR extends Behaviour {
316
316
  if (xrRig) {
317
317
  // make it match unity forward
318
318
  this.rig = xrRig.gameObject;
319
- // this.rig.rotateY(Math.PI);
319
+ this.rig.rotateY(Math.PI);
320
320
  // this.rig.position.copy(existing.worldPosition);
321
321
  // this.rig.quaternion.premultiply(existing.worldQuaternion);
322
322
  }
@@ -335,7 +335,7 @@ export class WebXR extends Behaviour {
335
335
  _originalXRRigPosition = new Vector3();
336
336
  _originalXRRigRotation = new Quaternion();
337
337
  onEnterXR(session, frame) {
338
- console.log("[XR] session begin", session);
338
+ console.log("[XR] session begin", session, frame);
339
339
  WebXR._isInXr = true;
340
340
  this.ensureRig();
341
341
  const space = this.context.renderer.xr.getReferenceSpace();
@@ -353,16 +353,17 @@ export class WebXR extends Behaviour {
353
353
  // we set layers to sync raycasting and have a similar behaviour to unity
354
354
  const xr = this.context.renderer.xr;
355
355
  if (this.context.mainCamera) {
356
- //@ts-ignore
357
- const cam = xr.getCamera(this.context.mainCamera);
356
+ const cam = xr.getCamera();
357
+ if (debugWebXR)
358
+ console.log("WebXRCamera", cam);
358
359
  const cull = this.context.mainCameraComponent?.cullingMask;
359
- if (cull !== undefined) {
360
+ if (cam && cull !== undefined) {
360
361
  for (const c of cam.cameras) {
361
362
  c.layers.mask = cull;
362
363
  }
363
364
  cam.layers.mask = cull;
364
365
  }
365
- else {
366
+ else if (cam) {
366
367
  for (const c of cam.cameras) {
367
368
  c.layers.enableAll();
368
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXR.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXR.ts"],"names":[],"mappings":"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"}
@@ -27,5 +27,5 @@ export declare class WebXRPlaneTracking extends Behaviour {
27
27
  private readonly _allPlanes;
28
28
  private firstTimeNoPlanesDetected;
29
29
  private processPlanes;
30
- createGeometry(polygon: Vec3[]): BufferGeometry;
30
+ createGeometry(polygon: Vec3[]): BufferGeometry<import("three").NormalBufferAttributes>;
31
31
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "3.7.7-beta",
3
+ "version": "3.9.0-alpha",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in",
5
5
  "main": "dist/needle-engine.umd.cjs",
6
6
  "type": "module",
@@ -60,11 +60,11 @@
60
60
  "md5": "^2.3.0",
61
61
  "n8ao": "^1.4.2",
62
62
  "peerjs": "1.4.7",
63
- "postprocessing": "^6.30.1",
63
+ "postprocessing": "^6.32.1",
64
64
  "simplex-noise": "^4.0.1",
65
65
  "stats.js": "^0.17.0",
66
- "three": "npm:@needle-tools/three@^0.146.9",
67
- "three-mesh-ui": "npm:@needle-tools/three-mesh-ui@^7.1.4",
66
+ "three": "npm:@needle-tools/three@^0.154.1",
67
+ "three-mesh-ui": "npm:@needle-tools/three-mesh-ui@^7.1.5-alpha.3",
68
68
  "three.quarks": "^0.7.3",
69
69
  "uuid": "^9.0.0",
70
70
  "websocket-ts": "^1.1.1"
@@ -74,7 +74,7 @@
74
74
  "@luncheon/esbuild-plugin-gzip": "^0.1.0",
75
75
  "@needle-tools/helper": "^0.4.5",
76
76
  "@needle-tools/needle-component-compiler": "1.9.3",
77
- "@types/three": "0.146.0",
77
+ "@types/three": "0.153.0",
78
78
  "esbuild": "^0.15.10",
79
79
  "esbuild-node-externals": "^1.5.0",
80
80
  "fs-extra": "^11.1.1",
@@ -189,6 +189,7 @@ import { UIRootComponent } from "../../engine-components/ui/BaseUIComponent";
189
189
  import { UsageMarker } from "../../engine-components/Interactable";
190
190
  import { USDZExporter } from "../../engine-components/export/usdz/USDZExporter";
191
191
  import { USDZText } from "../../engine-components/export/usdz/extensions/USDZText";
192
+ import { USDZUIExtension } from "../../engine-components/export/usdz/extensions/USDZUI";
192
193
  import { VariantAction } from "../../engine-components/export/usdz/extensions/behavior/Actions";
193
194
  import { VelocityOverLifetimeModule } from "../../engine-components/ParticleSystemModules";
194
195
  import { VerticalLayoutGroup } from "../../engine-components/ui/Layout";
@@ -406,6 +407,7 @@ TypeStore.add("UIRootComponent", UIRootComponent);
406
407
  TypeStore.add("UsageMarker", UsageMarker);
407
408
  TypeStore.add("USDZExporter", USDZExporter);
408
409
  TypeStore.add("USDZText", USDZText);
410
+ TypeStore.add("USDZUIExtension", USDZUIExtension);
409
411
  TypeStore.add("VariantAction", VariantAction);
410
412
  TypeStore.add("VelocityOverLifetimeModule", VelocityOverLifetimeModule);
411
413
  TypeStore.add("VerticalLayoutGroup", VerticalLayoutGroup);
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  BufferGeometry, Cache, Camera, Clock, Color, DepthTexture, Group,
3
3
  Material, NearestFilter, NoToneMapping, Object3D, PCFSoftShadowMap,
4
- PerspectiveCamera, RGBAFormat, Scene, sRGBEncoding,
5
- Texture, WebGLRenderer, WebGLRendererParameters, WebGLRenderTarget
4
+ PerspectiveCamera, RGBAFormat, Scene, SRGBColorSpace,
5
+ Texture, WebGLRenderer, WebGLRendererParameters, WebGLRenderTarget, WebXRArrayCamera
6
6
  } from 'three'
7
7
  import { Input } from './engine_input';
8
8
  import { Physics } from './engine_physics';
@@ -28,7 +28,7 @@ import { PlayerViewManager } from './engine_playerview';
28
28
  import { CoroutineData, GLTF, ICamera, IComponent, IContext, ILight } from "./engine_types"
29
29
  import { destroy, foreachComponent } from './engine_gameobject';
30
30
  import { ContextEvent, ContextRegistry } from './engine_context_registry';
31
- import { delay } from './engine_utils';
31
+ import { delay, getParam } from './engine_utils';
32
32
  import { VERSION } from './engine_constants';
33
33
  import { isDevEnvironment, LogType, showBalloonMessage } from './debug';
34
34
 
@@ -202,6 +202,7 @@ export class Context implements IContext {
202
202
  get isInAR() { return this.xrSessionMode === XRSessionMode.ImmersiveAR; }
203
203
  get xrSession() { return this.renderer.xr?.getSession(); }
204
204
  get xrFrame() { return this._xrFrame }
205
+ get xrCamera() : WebXRArrayCamera | undefined { return this.renderer.xr?.getCamera(); }
205
206
  private _xrFrame: XRFrame | null = null;
206
207
  get arOverlayElement(): HTMLElement {
207
208
  const el = this.domElement as any;
@@ -276,7 +277,7 @@ export class Context implements IContext {
276
277
  private _isCreating: boolean = false;
277
278
  private _isVisible: boolean = false;
278
279
 
279
- private _stats: Stats.default | null = stats ? Stats.default() : null;
280
+ private _stats = stats ? new Stats.default() : null;
280
281
 
281
282
  constructor(args?: ContextArgs) {
282
283
  this.name = args?.name || "";
@@ -323,9 +324,7 @@ export class Context implements IContext {
323
324
  private createRenderer() {
324
325
  this.renderer?.dispose();
325
326
 
326
- const params: WebGLRendererParameters = {
327
- antialias: true,
328
- };
327
+ const params = this.getWebGLRendererParameters();
329
328
 
330
329
  // get canvas already configured in the Needle Engine Web Component
331
330
  const canvas = this.domElement?.shadowRoot?.querySelector("canvas");
@@ -333,20 +332,28 @@ export class Context implements IContext {
333
332
 
334
333
  this.renderer = new WebGLRenderer(params);
335
334
 
335
+ this.renderer.debug.checkShaderErrors = isDevEnvironment() || getParam("checkshadererrors") === true;
336
+
336
337
  // some tonemapping other than "NONE" is required for adjusting exposure with EXR environments
337
338
  this.renderer.toneMappingExposure = 1; // range [0...inf] instead of the usual -15..15
338
339
  this.renderer.toneMapping = NoToneMapping; // could also set to LinearToneMapping, ACESFilmicToneMapping
339
340
 
340
341
  this.renderer.setClearColor(new Color('lightgrey'), 0);
341
- // @ts-ignore
342
- this.renderer.antialias = true;
343
- // @ts-ignore
344
- this.renderer.alpha = false;
342
+ // // @ts-ignore
343
+ // this.renderer.alpha = false;
345
344
  this.renderer.shadowMap.enabled = true;
346
345
  this.renderer.shadowMap.type = PCFSoftShadowMap;
347
346
  this.renderer.setSize(this.domWidth, this.domHeight);
348
- this.renderer.outputEncoding = sRGBEncoding;
349
- this.renderer.physicallyCorrectLights = true;
347
+ this.renderer.outputColorSpace = SRGBColorSpace;
348
+ // https://github.com/mrdoob/three.js/pull/25556
349
+ this.renderer.useLegacyLights = false;
350
+ }
351
+
352
+ private getWebGLRendererParameters(): WebGLRendererParameters {
353
+ return {
354
+ antialias: true,
355
+ alpha: false,
356
+ };
350
357
  }
351
358
 
352
359
 
@@ -531,7 +538,7 @@ export class Context implements IContext {
531
538
  this._onBeforeRenderListeners.set(target.uuid, []);
532
539
  target.onBeforeRender = this._createRenderCallbackWrapper(target, this._onBeforeRenderListeners);
533
540
  }
534
- this._onBeforeRenderListeners.get(target.uuid)?.push(callback);
541
+ this._onBeforeRenderListeners.get(target.uuid)!.push(callback);
535
542
  }
536
543
  removeBeforeRenderListener(target: Object3D, callback: OnRenderCallback) {
537
544
  if (this._onBeforeRenderListeners.has(target.uuid)) {
@@ -109,6 +109,17 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
109
109
  user-select: none;
110
110
  touch-action: none;
111
111
  }
112
+ :host .content {
113
+ position: fixed;
114
+ visibility: visible;
115
+ z-index: 500; /* < must be less than the webxr buttons element */
116
+ pointer-events: none;
117
+ }
118
+ :host .overlay-content {
119
+ position: absolute;
120
+ user-select: auto;
121
+ pointer-events: all;
122
+ }
112
123
  :host slot[name="quit-ar"]:hover {
113
124
  cursor: pointer;
114
125
  }
@@ -120,6 +131,9 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
120
131
  }
121
132
  </style>
122
133
  <canvas></canvas>
134
+ <div class="content">
135
+ <slot class="overlay-content"></slot>
136
+ </div>
123
137
  `;
124
138
 
125
139
  if (this.shadowRoot)
@@ -407,7 +421,7 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
407
421
  }
408
422
 
409
423
  getAROverlayContainer(): HTMLElement {
410
- return this._overlay_ar.findOrCreateARContainer(this);
424
+ return this._overlay_ar.createOverlayContainer(this);
411
425
  }
412
426
 
413
427
  getVROverlayContainer(): HTMLElement | null {
@@ -473,13 +487,6 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
473
487
  private setupElementsForMode(el: HTMLElement, currentSessionType: string, _session: XRSession | null = null) {
474
488
  if (el === this._context?.renderer.domElement) return;
475
489
  if (el.id === "VRButton" || el.id === "ARButton") return;
476
- el.style.position = "absolute";
477
- // el.style.zIndex = "100";
478
- // ch.style.width = "100hv";
479
- // ch.style.height = "100hv";
480
- // set pointer events to none by default (if not explicitly declared)
481
- // if (!el.style.pointerEvents)
482
- // el.style.pointerEvents = "none";
483
490
 
484
491
  const classList = el.classList;
485
492
  if (classList.contains(currentSessionType)) {
@@ -1,5 +1,5 @@
1
1
  import { Context } from "./engine_setup";
2
- import { getParam, isMozillaXR } from "./engine_utils";
2
+ import { getParam, isMobileDevice, isMozillaXR } from "./engine_utils";
3
3
 
4
4
  const debug = getParam("debugaroverlay");
5
5
  export const arContainerClassName = "ar";
@@ -21,6 +21,7 @@ export class AROverlayHandler {
21
21
 
22
22
  private _createdAROnlyElements: Array<any> = [];
23
23
  private _reparentedObjects: Array<{ el: Element, previousParent: HTMLElement | null }> = [];
24
+ private contentElement: HTMLElement | null = null;
24
25
 
25
26
  requestEndAR() {
26
27
  this.onRequestedEndAR();
@@ -30,13 +31,16 @@ export class AROverlayHandler {
30
31
  this.currentSession = session;
31
32
  this.arContainer = overlayContainer;
32
33
 
33
- const arElements = context.domElement.shadowRoot!.querySelectorAll(`.${arContainerClassName}`);
34
- arElements.forEach(el => {
35
- if (!el) return;
36
- if (el === this.arContainer) return;
37
- this._reparentedObjects.push({ el: el, previousParent: el.parentElement });
38
- this.arContainer?.appendChild(el);
39
- });
34
+ if (isMozillaXR()) {
35
+ const arElements = context.domElement!.children;
36
+ for (let i = 0; i < arElements?.length; i++) {
37
+ const el = arElements[i];
38
+ if (!el) return;
39
+ if (el === this.arContainer) return;
40
+ this._reparentedObjects.push({ el: el, previousParent: el.parentElement });
41
+ this.arContainer?.appendChild(el);
42
+ }
43
+ }
40
44
 
41
45
  const quit_Elements = overlayContainer.getElementsByClassName(quitARClassName);
42
46
  if (!quit_Elements || quit_Elements.length <= 0) {
@@ -91,46 +95,20 @@ export class AROverlayHandler {
91
95
  }
92
96
  }
93
97
 
94
- findOrCreateARContainer(element: HTMLElement): HTMLElement {
95
- if(debug) console.log("findOrCreateARContainer");
96
- // search in the needle-engine element
97
- if (element.classList.contains(arContainerClassName)) {
98
- if(debug) console.log("Found overlay container in needle-engine element");
99
- return element;
100
- }
101
- if (element.shadowRoot) {
102
- const el = element.shadowRoot!.querySelector(`.${arContainerClassName}`);
103
- if (el) {
104
- if(debug) console.log("Found overlay container in needle-engine element");
105
- return el as HTMLElement;
106
- };
107
- }
108
98
 
109
- // search in document as well; "ar" element could live outside needle-engine element
110
- const arElements = document.getElementsByClassName(arContainerClassName);
111
- if (arElements && arElements.length > 0){
112
- if(debug) console.log("Found overlay container in document");
113
- return arElements[0] as HTMLElement;
114
- }
99
+ createOverlayContainer(needleEngineElement: HTMLElement): HTMLElement {
100
+ if (this.contentElement) return this.contentElement;
115
101
 
116
102
  if (debug)
117
- console.log("No overlay container found in document - generating new ony");
118
- const el = document.createElement("div");
119
- el.classList.add(arContainerClassName);
120
- el.style.cssText = `
121
- position: fixed;
122
- top: 0;
123
- left: 0;
124
- width: 100%;
125
- height: 100%;
126
- display: flex;
127
- visibility: visible;
128
- z-index: 9999;
129
- pointer-events: none;
130
- // background: rgba(0,0,0,1);
131
- `;
132
- if(debug) this.createFallbackCloseARButton(element);
133
- return this.appendElement(el, element) as HTMLElement;
103
+ console.log("Setup overlay container");
104
+
105
+ const contentElement = needleEngineElement.shadowRoot!.querySelector(".content") as HTMLElement;
106
+ this.contentElement = contentElement;
107
+
108
+ const overlaySlot = needleEngineElement.shadowRoot!.querySelector(".overlay-content");
109
+ if (overlaySlot) contentElement.appendChild(overlaySlot);
110
+ if (debug && !isMobileDevice()) this.createFallbackCloseARButton(contentElement);
111
+ return contentElement;
134
112
  }
135
113
 
136
114
  private onRequestedEndAR() {
@@ -147,30 +125,41 @@ export class AROverlayHandler {
147
125
  private createFallbackCloseARButton(element: HTMLElement) {
148
126
  const quitARSlot = document.createElement("slot");
149
127
  quitARSlot.setAttribute("name", "quit-ar");
150
- this.appendElement(quitARSlot, element);
151
- if(debug) quitARSlot.addEventListener('click', () => console.log("Clicked fallback close button"));
152
- quitARSlot.addEventListener('click', this.closeARCallback);
128
+ this.appendElement(quitARSlot, element);
129
+ if (debug) quitARSlot.addEventListener('click', () => console.log("Clicked fallback close button"));
130
+ quitARSlot.addEventListener('click', this.closeARCallback);
153
131
  this._createdAROnlyElements.push(quitARSlot);
154
132
  // for mozilla XR reparenting we have to make sure the close button is clickable so we set it on the element directly
155
133
  // it's in general perhaps more safe to set it on the element to ensure it's clickable
156
134
  quitARSlot.style.pointerEvents = "auto";
157
135
 
136
+ // we need another container to make sure the button is always on top
137
+ const fixedButtonContainer = document.createElement("div");
138
+ fixedButtonContainer.style.cssText = `
139
+ position: fixed;
140
+ top: 0;
141
+ right: 0;
142
+ z-index: 600;
143
+ pointer-events: all;
144
+ `;
145
+ this.appendElement(fixedButtonContainer, quitARSlot);
146
+
158
147
  var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
159
148
  svg.classList.add("quit-ar-button");
160
149
  svg.setAttribute('width', "38px");
161
150
  svg.setAttribute('height', "38px");
162
- quitARSlot.appendChild(svg);
151
+ fixedButtonContainer.appendChild(svg);
163
152
 
164
153
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
165
154
  path.setAttribute('d', 'M 12,12 L 28,28 M 28,12 12,28');
166
- path.setAttribute('stroke', '#ddd');
155
+ path.setAttribute('stroke', '#aaa');
167
156
  path.setAttribute('stroke-width', "3px");
168
157
  svg.appendChild(path);
169
- if(debug) console.log("Created fallback close button", svg, element);
158
+ if (debug) console.log("Created fallback close button", svg, element);
170
159
  }
171
160
 
172
161
  private appendElement(element: Element, parent: HTMLElement) {
173
- if(parent.shadowRoot) return parent.shadowRoot.appendChild(element);
162
+ if (parent.shadowRoot) return parent.shadowRoot.appendChild(element);
174
163
  return parent.appendChild(element);
175
164
  }
176
165
 
@@ -1,7 +1,6 @@
1
1
  import { LightmapType } from "./extensions/NEEDLE_lightmaps";
2
- import { Texture } from "three";
2
+ import { Texture, ShaderChunk, UniformsLib, Vector4 } from "three";
3
3
  import { Context } from "./engine_setup";
4
- import * as THREE from "three";
5
4
  import { getParam } from "./engine_utils";
6
5
  import { SourceIdentifier } from "./engine_types";
7
6
 
@@ -78,9 +77,8 @@ export class LightDataRegistry implements ILightDataRegistry {
78
77
  // all the chunks we can patch
79
78
  // console.log(THREE.ShaderChunk);
80
79
  // Unity: ambientOrLightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; ambientOrLightmapUV.zw = 0;
81
- THREE.ShaderChunk.lights_fragment_maps = THREE.ShaderChunk.lights_fragment_maps.replace("vec4 lightMapTexel = texture2D( lightMap, vUv2 );", `
82
-
83
- vec2 lUv = vUv2.xy * lightmapScaleOffset.xy + vec2(lightmapScaleOffset.z, (1. - (lightmapScaleOffset.y + lightmapScaleOffset.w)));
80
+ ShaderChunk.lights_fragment_maps = ShaderChunk.lights_fragment_maps.replace("vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );", `
81
+ vec2 lUv = vLightMapUv.xy * lightmapScaleOffset.xy + vec2(lightmapScaleOffset.z, (1. - (lightmapScaleOffset.y + lightmapScaleOffset.w)));
84
82
  vec4 lightMapTexel = texture2D( lightMap, lUv);
85
83
  // The range of RGBM lightmaps goes from 0 to 34.49 (5^2.2) in linear space, and from 0 to 5 in gamma space.
86
84
  lightMapTexel.rgb *= lightMapTexel.a * 8.; // no idea where that "8" comes from... heuristically derived
@@ -88,7 +86,7 @@ THREE.ShaderChunk.lights_fragment_maps = THREE.ShaderChunk.lights_fragment_maps.
88
86
  lightMapTexel = conv_sRGBToLinear(lightMapTexel);
89
87
  `);
90
88
 
91
- THREE.ShaderChunk.lightmap_pars_fragment = `
89
+ ShaderChunk.lightmap_pars_fragment = `
92
90
  #ifdef USE_LIGHTMAP
93
91
  uniform sampler2D lightMap;
94
92
  uniform float lightMapIntensity;
@@ -105,7 +103,7 @@ THREE.ShaderChunk.lightmap_pars_fragment = `
105
103
  // so they shouldn't receive light probe lighting.
106
104
  // TODO: this gets difficult if there are additional real-time lightprobes added; we would need to exclude
107
105
  // exactly those that were active when lighting was baked... that's complicated!
108
- THREE.ShaderChunk.lights_fragment_begin = THREE.ShaderChunk.lights_fragment_begin.replace(
106
+ ShaderChunk.lights_fragment_begin = ShaderChunk.lights_fragment_begin.replace(
109
107
  "irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );", `
110
108
  #if defined(USE_LIGHTMAP)
111
109
  irradiance += 0.;
@@ -113,4 +111,4 @@ irradiance += 0.;
113
111
  irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );
114
112
  #endif`);
115
113
 
116
- THREE.UniformsLib.lightmap["lightmapScaleOffset"] = { value: new THREE.Vector4(1, 1, 0, 0) };
114
+ UniformsLib.lightmap["lightmapScaleOffset"] = { value: new Vector4(1, 1, 0, 0) };
@@ -7,7 +7,7 @@
7
7
  const localNetworkResults = new Map<string, boolean>();
8
8
 
9
9
  export function isLocalNetwork(hostname = window.location.hostname) {
10
- if(localNetworkResults.has(hostname)) return localNetworkResults.get(hostname);
10
+ if(localNetworkResults.has(hostname)) return localNetworkResults.get(hostname)!;
11
11
  const isLocalNetwork = new RegExp("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|localhost", "gm").test(hostname);
12
12
  localNetworkResults.set(hostname, isLocalNetwork);
13
13
  if (isLocalNetwork === true) return true;
@@ -1,4 +1,4 @@
1
- import { Vector4, EquirectangularReflectionMapping, sRGBEncoding, WebGLCubeRenderTarget, Texture, LightProbe, Color, SphericalHarmonics3 } from "three";
1
+ import { Vector4, EquirectangularReflectionMapping, sRGBEncoding, WebGLCubeRenderTarget, Texture, LightProbe, Color, SphericalHarmonics3, SRGBColorSpace } from "three";
2
2
  import { LightProbeGenerator } from "three/examples/jsm/lights/LightProbeGenerator.js"
3
3
  import { Context } from "./engine_setup";
4
4
  import { SceneLightSettings } from "./extensions/NEEDLE_lighting_settings";
@@ -164,7 +164,7 @@ export class RendererData {
164
164
  if (debug) console.log("Setting environment reflection", existing);
165
165
  const scene = this.context.scene;
166
166
  const tex = existing.Source;
167
- tex.encoding = sRGBEncoding;
167
+ tex.colorSpace = SRGBColorSpace;
168
168
  tex.mapping = EquirectangularReflectionMapping;
169
169
  scene.environment = tex;
170
170
  return;
@@ -179,7 +179,7 @@ export class RendererData {
179
179
  if (settings.ambientTrilight) {
180
180
  const colors = settings.ambientTrilight;
181
181
  const tex = createTrilightTexture(colors[0], colors[1], colors[2], 64, 64);
182
- tex.encoding = sRGBEncoding;
182
+ tex.colorSpace = SRGBColorSpace;
183
183
  tex.mapping = EquirectangularReflectionMapping;
184
184
  this.context.scene.environment = tex;
185
185
  }
@@ -188,7 +188,7 @@ export class RendererData {
188
188
  case AmbientMode.Flat:
189
189
  if (settings.ambientLight) {
190
190
  const tex = createFlatTexture(settings.ambientLight, 64);
191
- tex.encoding = sRGBEncoding;
191
+ tex.colorSpace = SRGBColorSpace;
192
192
  tex.mapping = EquirectangularReflectionMapping;
193
193
  this.context.scene.environment = tex;
194
194
  }
@@ -259,7 +259,7 @@ export class LightData {
259
259
  this._source = tex;
260
260
  this._ambientScale = ambientScale;
261
261
  tex.mapping = EquirectangularReflectionMapping;
262
- tex.encoding = sRGBEncoding;
262
+ tex.colorSpace = SRGBColorSpace;
263
263
  }
264
264
 
265
265
  getSphericalHarmonicsArray(intensityFactor: number = 1): SphericalHarmonicsData | null {