@PolygonalSun
I made slightly updated recording with attached playground so now we can see that pointer down is being somewhat understood (ball goes transparent) but movement does not work as intended (though when pointer goes out of the ball it moves the camera in 5.0):
Here are logs from this recording, I expanded pointerdown and pointermove event in each of them:
5.0
Babylon.js v5.0.0-beta.7 - WebGL2
babylon.js:17 getGamepad will now require Secure Context. Please update your application accordingly. For more information see https://github.com/w3c/gamepad/pull/120
e._checkForConnectedDevices @ babylon.js:17
e._configureEvents @ babylon.js:17
e @ babylon.js:17
e @ babylon.js:17
e._Create @ babylon.js:17
_ @ babylon.js:17
e.attachControl @ babylon.js:17
t.attachControl @ babylon.js:17
t @ babylon.js:17
createScene @ VM46:5
window.initFunction @ VM46:97
hammerhead.js:15 scene rdy: true
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}currentState: 1deviceSlot: 0deviceType: 2inputIndex: 2isTrusted: falsepreviousState: 0altKey: falsealtitudeAngle: 1.5707963267948966azimuthAngle: 0bubbles: truebutton: 0buttons: 1cancelBubble: falsecancelable: trueclientX: 931clientY: 353composed: truectrlKey: falsecurrentTarget: nulldefaultPrevented: truedetail: 1eventPhase: 0fromElement: nullheight: 1isPrimary: truelayerX: 209layerY: 298metaKey: falsemovementX: 0movementY: 0offsetX: 209offsetY: 298pageX: 931pageY: 353path: (10) [canvas#renderCanvas, div, div#canvasZone.pg-split-part.canvasZone, div#pg-split, div#pg-root, div#host-element, body, html, document, Window]pointerId: 1pointerType: "mouse"pressure: 0relatedTarget: bodyreturnValue: falsescreenX: 0screenY: 0shiftKey: falsesourceCapabilities: nullsrcElement: canvas#renderCanvastangentialPressure: 0target: canvas#renderCanvastiltX: 0tiltY: 0timeStamp: 26129.19999998808toElement: nulltwist: 0type: "pointerdown"view: Window {window: Window, self: Window, document: document, name: '', location: Location, …}which: 1width: 1x: 931y: 353[[Prototype]]: PointerEvent
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}currentState: 0deviceSlot: 0deviceType: 2inputIndex: 2isTrusted: falsepreviousState: 1altKey: falsealtitudeAngle: 1.5707963267948966azimuthAngle: 0bubbles: truebutton: 0buttons: 1cancelBubble: falsecancelable: trueclientX: 932clientY: 352composed: truectrlKey: falsecurrentTarget: nulldefaultPrevented: truedetail: 0eventPhase: 0fromElement: nullheight: 1isPrimary: truelayerX: 210layerY: 297metaKey: falsemovementX: 0movementY: 0offsetX: 210offsetY: 297pageX: 932pageY: 352path: (10) [canvas#renderCanvas, div, div#canvasZone.pg-split-part.canvasZone, div#pg-split, div#pg-root, div#host-element, body, html, document, Window]pointerId: 1pointerType: "mouse"pressure: 0relatedTarget: bodyreturnValue: falsescreenX: 932screenY: 352shiftKey: falsesourceCapabilities: nullsrcElement: canvas#renderCanvastangentialPressure: 0target: canvas#renderCanvastiltX: 0tiltY: 0timeStamp: 26457.399999976158toElement: nulltwist: 0type: "pointermove"view: Window {window: Window, self: Window, document: document, name: '', location: Location, …}which: 1width: 1x: 932y: 352[[Prototype]]: PointerEvent
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER DOUBLE-TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER DOUBLE-TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER DOUBLE-TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER DOUBLE-TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 12, pointerId: 1, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, deviceType: 2, deviceSlot: 0, inputIndex: 2, previousState: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
4.2
Babylon.js v4.2.1 - WebGL2
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 POINTER PICK
hammerhead.js:15 POINTER TAP
hammerhead.js:15 POINTER UP
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}isTrusted: falsealtKey: falsealtitudeAngle: 1.5707963267948966azimuthAngle: 0bubbles: truebutton: 0buttons: 1cancelBubble: falsecancelable: trueclientX: 931clientY: 353composed: truectrlKey: falsecurrentTarget: nulldefaultPrevented: truedetail: 1eventPhase: 0fromElement: nullheight: 1isPrimary: truelayerX: 209layerY: 298metaKey: falsemovementX: 0movementY: 0offsetX: 209offsetY: 298pageX: 931pageY: 353path: (10) [canvas#renderCanvas, div, div#canvasZone.pg-split-part.canvasZone, div#pg-split, div#pg-root, div#host-element, body, html, document, Window]pointerId: 1pointerType: "mouse"pressure: 0relatedTarget: bodyreturnValue: falsescreenX: 0screenY: 0shiftKey: falsesourceCapabilities: nullsrcElement: canvas#renderCanvastangentialPressure: 0target: canvas#renderCanvastiltX: 0tiltY: 0timeStamp: 16160.5toElement: nulltwist: 0type: "pointerdown"view: Window {window: Window, self: Window, document: document, name: '', location: Location, …}which: 1width: 1x: 931y: 353[[Prototype]]: PointerEvent
hammerhead.js:15 POINTER DOWN
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}isTrusted: falsealtKey: falsealtitudeAngle: 1.5707963267948966azimuthAngle: 0bubbles: truebutton: 0buttons: 1cancelBubble: falsecancelable: trueclientX: 932clientY: 352composed: truectrlKey: falsecurrentTarget: nulldefaultPrevented: falsedetail: 0eventPhase: 0fromElement: nullheight: 1isPrimary: truelayerX: 210layerY: 297metaKey: falsemovementX: 0movementY: 0offsetX: 210offsetY: 297pageX: 932pageY: 352path: (10) [canvas#renderCanvas, div, div#canvasZone.pg-split-part.canvasZone, div#pg-split, div#pg-root, div#host-element, body, html, document, Window]pointerId: 1pointerType: "mouse"pressure: 0relatedTarget: bodyreturnValue: truescreenX: 932screenY: 352shiftKey: falsesourceCapabilities: nullsrcElement: canvas#renderCanvastangentialPressure: 0target: canvas#renderCanvastiltX: 0tiltY: 0timeStamp: 16492.100000023842toElement: nulltwist: 0type: "pointermove"view: Window {window: Window, self: Window, document: document, name: '', location: Location, …}which: 1width: 1x: 932y: 352[[Prototype]]: PointerEvent
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 PointerEvent {isTrusted: false, pointerId: 1, width: 1, height: 1, pressure: 0, …}
hammerhead.js:15 POINTER MOVE
hammerhead.js:15 POINTER UP
Main difference i see for now are these parameters in 5.0 PointerEvent, they are absent in 4.2:
currentState: 0
deviceSlot: 0
deviceType: 2
inputIndex: 2
previousState: 1
In 5.0 example “true” mouse movement has this params like this:
deviceSlot: 0
deviceType: 2
inputIndex: 12
Aha, it’s all recorded on Chrome, but I tried with FF and it looks the same.