@needle-tools/engine 4.12.1 → 4.12.3-next.a27c12e
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.
- package/CHANGELOG.md +13 -1
- package/dist/{needle-engine.bundle-BPNuWGjI.min.js → needle-engine.bundle-BHCgy9h1.min.js} +138 -139
- package/dist/{needle-engine.bundle-BV9DUnnS.umd.cjs → needle-engine.bundle-CLfNhYon.umd.cjs} +127 -128
- package/dist/{needle-engine.bundle-C4PyE3dQ.js → needle-engine.bundle-URbCchz5.js} +3531 -3470
- package/dist/needle-engine.d.ts +15 -5
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/asap/needle-asap.js +1 -1
- package/lib/asap/needle-asap.js.map +1 -1
- package/lib/engine/debug/debug_overlay.js +6 -2
- package/lib/engine/debug/debug_overlay.js.map +1 -1
- package/lib/engine/engine_components.d.ts +2 -1
- package/lib/engine/engine_components.js +4 -3
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine/engine_input.d.ts +4 -1
- package/lib/engine/engine_input.js +24 -20
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/js-extensions/Object3D.d.ts +6 -2
- package/lib/engine/js-extensions/Object3D.js +6 -4
- package/lib/engine/js-extensions/Object3D.js.map +1 -1
- package/lib/engine/webcomponents/buttons.d.ts +3 -1
- package/lib/engine/webcomponents/buttons.js +2 -2
- package/lib/engine/webcomponents/buttons.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +13 -11
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.js +21 -16
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +7 -5
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.js +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.js +20 -0
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine/xr/TempXRContext.d.ts +7 -2
- package/lib/engine/xr/TempXRContext.js +143 -44
- package/lib/engine/xr/TempXRContext.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.js +3 -2
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/ui/InputField.js +5 -2
- package/lib/engine-components/ui/InputField.js.map +1 -1
- package/package.json +2 -2
- package/src/asap/needle-asap.ts +1 -1
- package/src/engine/debug/debug_overlay.ts +6 -2
- package/src/engine/engine_components.ts +5 -4
- package/src/engine/engine_input.ts +26 -19
- package/src/engine/js-extensions/Object3D.ts +14 -7
- package/src/engine/webcomponents/buttons.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +15 -13
- package/src/engine/webcomponents/needle-button.ts +23 -19
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +10 -9
- package/src/engine/webcomponents/needle-engine.loading.ts +1 -1
- package/src/engine/webcomponents/needle-engine.ts +1 -1
- package/src/engine/xr/NeedleXRSession.ts +22 -0
- package/src/engine/xr/TempXRContext.ts +155 -47
- package/src/engine-components/SpectatorCamera.ts +2 -1
- package/src/engine-components/ui/InputField.ts +11 -6
|
@@ -3,7 +3,7 @@ import { FrameEvent } from "../../engine/engine_setup.js";
|
|
|
3
3
|
import { DeviceUtilities, getParam } from "../../engine/engine_utils.js";
|
|
4
4
|
import { Behaviour, GameObject } from "../Component.js";
|
|
5
5
|
import { EventList } from "../EventList.js";
|
|
6
|
-
import { type IPointerEventHandler,PointerEventData } from "./PointerEvents.js";
|
|
6
|
+
import { type IPointerEventHandler, PointerEventData } from "./PointerEvents.js";
|
|
7
7
|
import { Text } from "./Text.js";
|
|
8
8
|
import { tryGetUIComponent } from "./Utils.js";
|
|
9
9
|
|
|
@@ -111,8 +111,8 @@ export class InputField extends Behaviour implements IPointerEventHandler {
|
|
|
111
111
|
this.setTextFromInputField();
|
|
112
112
|
}
|
|
113
113
|
else {
|
|
114
|
-
if(this.textComponent) this.textComponent.text = "";
|
|
115
|
-
if(this.placeholder) GameObject.setActive(this.placeholder.gameObject, true);
|
|
114
|
+
if (this.textComponent) this.textComponent.text = "";
|
|
115
|
+
if (this.placeholder) GameObject.setActive(this.placeholder.gameObject, true);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
|
|
@@ -128,7 +128,7 @@ export class InputField extends Behaviour implements IPointerEventHandler {
|
|
|
128
128
|
|
|
129
129
|
onPointerEnter(_args: PointerEventData) {
|
|
130
130
|
const canSetCursor = _args.event.pointerType === "mouse" && _args.button === 0;
|
|
131
|
-
if(canSetCursor) this.context.input.setCursor("text");
|
|
131
|
+
if (canSetCursor) this.context.input.setCursor("text");
|
|
132
132
|
}
|
|
133
133
|
onPointerExit(_args: PointerEventData) {
|
|
134
134
|
this.context.input.unsetCursor("text")
|
|
@@ -256,10 +256,15 @@ export class InputField extends Behaviour implements IPointerEventHandler {
|
|
|
256
256
|
|
|
257
257
|
private selectInputField() {
|
|
258
258
|
if (InputField.htmlField) {
|
|
259
|
-
if (debug) console.log("Focus Inputfield", InputField.htmlFieldFocused)
|
|
259
|
+
if (debug) console.log("Focus Inputfield", InputField.htmlFieldFocused, InputField.htmlField);
|
|
260
|
+
|
|
260
261
|
InputField.htmlField.setSelectionRange(InputField.htmlField.value.length, InputField.htmlField.value.length);
|
|
261
|
-
|
|
262
|
+
|
|
263
|
+
if (DeviceUtilities.isiOS()) {
|
|
264
|
+
// in WebXR (iOS AR Safari) display can not be none to focus input it seems
|
|
265
|
+
InputField.htmlField.style.display = "block";
|
|
262
266
|
InputField.htmlField.focus({ preventScroll: true });
|
|
267
|
+
}
|
|
263
268
|
else {
|
|
264
269
|
// on Andoid if we don't focus in a timeout the keyboard will close the second time we click the InputField
|
|
265
270
|
setTimeout(() => InputField.htmlField?.focus(), 1);
|