iwer 0.0.1

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 (161) hide show
  1. package/build/iwer.js +4628 -0
  2. package/build/iwer.min.js +1 -0
  3. package/build/iwer.module.js +4591 -0
  4. package/build/iwer.module.min.js +1 -0
  5. package/lib/action/ActionPlayer.d.ts +75 -0
  6. package/lib/action/ActionPlayer.d.ts.map +1 -0
  7. package/lib/action/ActionPlayer.js +206 -0
  8. package/lib/action/ActionPlayer.js.map +1 -0
  9. package/lib/action/ActionRecorder.d.ts +59 -0
  10. package/lib/action/ActionRecorder.d.ts.map +1 -0
  11. package/lib/action/ActionRecorder.js +162 -0
  12. package/lib/action/ActionRecorder.js.map +1 -0
  13. package/lib/action/Capture.d.ts +3 -0
  14. package/lib/action/Capture.d.ts.map +1 -0
  15. package/lib/action/Capture.js +26907 -0
  16. package/lib/action/Capture.js.map +1 -0
  17. package/lib/device/XRController.d.ts +24 -0
  18. package/lib/device/XRController.d.ts.map +1 -0
  19. package/lib/device/XRController.js +82 -0
  20. package/lib/device/XRController.js.map +1 -0
  21. package/lib/device/XRDevice.d.ts +142 -0
  22. package/lib/device/XRDevice.d.ts.map +1 -0
  23. package/lib/device/XRDevice.js +370 -0
  24. package/lib/device/XRDevice.js.map +1 -0
  25. package/lib/device/XRHandInput.d.ts +44 -0
  26. package/lib/device/XRHandInput.d.ts.map +1 -0
  27. package/lib/device/XRHandInput.js +133 -0
  28. package/lib/device/XRHandInput.js.map +1 -0
  29. package/lib/device/XRTrackedInput.d.ts +22 -0
  30. package/lib/device/XRTrackedInput.d.ts.map +1 -0
  31. package/lib/device/XRTrackedInput.js +89 -0
  32. package/lib/device/XRTrackedInput.js.map +1 -0
  33. package/lib/device/configs/controller/meta.d.ts +6 -0
  34. package/lib/device/configs/controller/meta.d.ts.map +1 -0
  35. package/lib/device/configs/controller/meta.js +152 -0
  36. package/lib/device/configs/controller/meta.js.map +1 -0
  37. package/lib/device/configs/hand/pinch.d.ts +3 -0
  38. package/lib/device/configs/hand/pinch.d.ts.map +1 -0
  39. package/lib/device/configs/hand/pinch.js +237 -0
  40. package/lib/device/configs/hand/pinch.js.map +1 -0
  41. package/lib/device/configs/hand/point.d.ts +3 -0
  42. package/lib/device/configs/hand/point.d.ts.map +1 -0
  43. package/lib/device/configs/hand/point.js +236 -0
  44. package/lib/device/configs/hand/point.js.map +1 -0
  45. package/lib/device/configs/hand/relaxed.d.ts +3 -0
  46. package/lib/device/configs/hand/relaxed.d.ts.map +1 -0
  47. package/lib/device/configs/hand/relaxed.js +236 -0
  48. package/lib/device/configs/hand/relaxed.js.map +1 -0
  49. package/lib/device/configs/headset/meta.d.ts +6 -0
  50. package/lib/device/configs/headset/meta.d.ts.map +1 -0
  51. package/lib/device/configs/headset/meta.js +99 -0
  52. package/lib/device/configs/headset/meta.js.map +1 -0
  53. package/lib/device/controllers.d.ts +31 -0
  54. package/lib/device/controllers.d.ts.map +1 -0
  55. package/lib/device/controllers.js +8 -0
  56. package/lib/device/controllers.js.map +1 -0
  57. package/lib/events/XRInputSourceEvent.d.ts +16 -0
  58. package/lib/events/XRInputSourceEvent.d.ts.map +1 -0
  59. package/lib/events/XRInputSourceEvent.js +14 -0
  60. package/lib/events/XRInputSourceEvent.js.map +1 -0
  61. package/lib/events/XRInputSourcesChangeEvent.d.ts +18 -0
  62. package/lib/events/XRInputSourcesChangeEvent.d.ts.map +1 -0
  63. package/lib/events/XRInputSourcesChangeEvent.js +18 -0
  64. package/lib/events/XRInputSourcesChangeEvent.js.map +1 -0
  65. package/lib/events/XRReferenceSpaceEvent.d.ts +16 -0
  66. package/lib/events/XRReferenceSpaceEvent.d.ts.map +1 -0
  67. package/lib/events/XRReferenceSpaceEvent.js +11 -0
  68. package/lib/events/XRReferenceSpaceEvent.js.map +1 -0
  69. package/lib/events/XRSessionEvent.d.ts +13 -0
  70. package/lib/events/XRSessionEvent.d.ts.map +1 -0
  71. package/lib/events/XRSessionEvent.js +10 -0
  72. package/lib/events/XRSessionEvent.js.map +1 -0
  73. package/lib/frameloop/XRFrame.d.ts +28 -0
  74. package/lib/frameloop/XRFrame.d.ts.map +1 -0
  75. package/lib/frameloop/XRFrame.js +117 -0
  76. package/lib/frameloop/XRFrame.js.map +1 -0
  77. package/lib/gamepad/Gamepad.d.ts +72 -0
  78. package/lib/gamepad/Gamepad.d.ts.map +1 -0
  79. package/lib/gamepad/Gamepad.js +126 -0
  80. package/lib/gamepad/Gamepad.js.map +1 -0
  81. package/lib/index.d.ts +24 -0
  82. package/lib/index.d.ts.map +1 -0
  83. package/lib/index.js +36 -0
  84. package/lib/index.js.map +1 -0
  85. package/lib/initialization/XRSystem.d.ts +13 -0
  86. package/lib/initialization/XRSystem.d.ts.map +1 -0
  87. package/lib/initialization/XRSystem.js +65 -0
  88. package/lib/initialization/XRSystem.js.map +1 -0
  89. package/lib/input/XRHand.d.ts +31 -0
  90. package/lib/input/XRHand.d.ts.map +1 -0
  91. package/lib/input/XRHand.js +31 -0
  92. package/lib/input/XRHand.js.map +1 -0
  93. package/lib/input/XRInputSource.d.ts +37 -0
  94. package/lib/input/XRInputSource.d.ts.map +1 -0
  95. package/lib/input/XRInputSource.js +51 -0
  96. package/lib/input/XRInputSource.js.map +1 -0
  97. package/lib/input/XRInputSourceArray.d.ts +11 -0
  98. package/lib/input/XRInputSourceArray.d.ts.map +1 -0
  99. package/lib/input/XRInputSourceArray.js +17 -0
  100. package/lib/input/XRInputSourceArray.js.map +1 -0
  101. package/lib/layers/XRWebGLLayer.d.ts +31 -0
  102. package/lib/layers/XRWebGLLayer.d.ts.map +1 -0
  103. package/lib/layers/XRWebGLLayer.js +67 -0
  104. package/lib/layers/XRWebGLLayer.js.map +1 -0
  105. package/lib/pose/XRJointPose.d.ts +11 -0
  106. package/lib/pose/XRJointPose.d.ts.map +1 -0
  107. package/lib/pose/XRJointPose.js +12 -0
  108. package/lib/pose/XRJointPose.js.map +1 -0
  109. package/lib/pose/XRPose.d.ts +16 -0
  110. package/lib/pose/XRPose.d.ts.map +1 -0
  111. package/lib/pose/XRPose.js +24 -0
  112. package/lib/pose/XRPose.js.map +1 -0
  113. package/lib/pose/XRViewerPose.d.ts +12 -0
  114. package/lib/pose/XRViewerPose.d.ts.map +1 -0
  115. package/lib/pose/XRViewerPose.js +14 -0
  116. package/lib/pose/XRViewerPose.js.map +1 -0
  117. package/lib/primitives/XRRigidTransform.d.ts +17 -0
  118. package/lib/primitives/XRRigidTransform.d.ts.map +1 -0
  119. package/lib/primitives/XRRigidTransform.js +54 -0
  120. package/lib/primitives/XRRigidTransform.js.map +1 -0
  121. package/lib/session/XRRenderState.d.ts +22 -0
  122. package/lib/session/XRRenderState.d.ts.map +1 -0
  123. package/lib/session/XRRenderState.js +26 -0
  124. package/lib/session/XRRenderState.js.map +1 -0
  125. package/lib/session/XRSession.d.ts +103 -0
  126. package/lib/session/XRSession.d.ts.map +1 -0
  127. package/lib/session/XRSession.js +459 -0
  128. package/lib/session/XRSession.js.map +1 -0
  129. package/lib/spaces/XRJointSpace.d.ts +13 -0
  130. package/lib/spaces/XRJointSpace.d.ts.map +1 -0
  131. package/lib/spaces/XRJointSpace.js +12 -0
  132. package/lib/spaces/XRJointSpace.js.map +1 -0
  133. package/lib/spaces/XRReferenceSpace.d.ts +22 -0
  134. package/lib/spaces/XRReferenceSpace.d.ts.map +1 -0
  135. package/lib/spaces/XRReferenceSpace.js +42 -0
  136. package/lib/spaces/XRReferenceSpace.js.map +1 -0
  137. package/lib/spaces/XRSpace.d.ts +20 -0
  138. package/lib/spaces/XRSpace.d.ts.map +1 -0
  139. package/lib/spaces/XRSpace.js +45 -0
  140. package/lib/spaces/XRSpace.js.map +1 -0
  141. package/lib/utils/DOMPointReadOnly.d.ts +17 -0
  142. package/lib/utils/DOMPointReadOnly.d.ts.map +1 -0
  143. package/lib/utils/DOMPointReadOnly.js +26 -0
  144. package/lib/utils/DOMPointReadOnly.js.map +1 -0
  145. package/lib/utils/Math.d.ts +49 -0
  146. package/lib/utils/Math.d.ts.map +1 -0
  147. package/lib/utils/Math.js +129 -0
  148. package/lib/utils/Math.js.map +1 -0
  149. package/lib/version.d.ts +2 -0
  150. package/lib/version.d.ts.map +1 -0
  151. package/lib/version.js +2 -0
  152. package/lib/version.js.map +1 -0
  153. package/lib/views/XRView.d.ts +25 -0
  154. package/lib/views/XRView.d.ts.map +1 -0
  155. package/lib/views/XRView.js +39 -0
  156. package/lib/views/XRView.js.map +1 -0
  157. package/lib/views/XRViewport.d.ts +15 -0
  158. package/lib/views/XRViewport.d.ts.map +1 -0
  159. package/lib/views/XRViewport.js +19 -0
  160. package/lib/views/XRViewport.js.map +1 -0
  161. package/package.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRDevice.js","sourceRoot":"","sources":["../../src/device/XRDevice.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,EACX,OAAO,IAAI,eAAe,EAC1B,OAAO,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACN,YAAY,EACZ,aAAa,EACb,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACN,OAAO,IAAI,wBAAwB,EACnC,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,OAAO,IAAI,iBAAiB,EAC5B,SAAS,EAET,iBAAiB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAN,IAAY,aAaX;AAbD,WAAY,aAAa;IACxB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IACf,2CAA0B,CAAA;IAC1B,+CAA8B,CAAA;IAC9B,wCAAuB,CAAA;IACvB,2CAA0B,CAAA;IAC1B,oCAAmB,CAAA;IACnB,mDAAkC,CAAA;IAClC,iDAAgC,CAAA;IAChC,qCAAoB,CAAA;IACpB,+CAA8B,CAAA;IAC9B,+CAA8B,CAAA;AAC/B,CAAC,EAbW,aAAa,KAAb,aAAa,QAaxB;AAqBD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,4CAA4C,CAAC,CAAC;AAE5E,MAAM,QAAQ,GAAG;IAChB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,iBAAiB,EAAE,IAAI,UAAU,EAAE;IACnC,aAAa,EAAE,KAAK;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,QAAQ;IA8CpB,YACC,YAA4B,EAC5B,gBAA0C,EAAE;;QAE5C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,gBAAgB,CACvC,oBAAoB,CAAC,MAAM,EAC3B,WAAW,CACX,CAAC;QACF,MAAM,UAAU,GAAgC;YAC/C,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC;YACtC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC;YACvC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC;SACtC,CAAC;QACF,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;QACvD,MAAM,WAAW,GAA6C,EAAE,CAAC;QACjE,IAAI,gBAAgB,EAAE;YACrB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAClD,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBACxC,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI,YAAY,CACzC,gBAAgB,EAChB,UAAU,EACV,WAAW,CACX,CAAC;iBACF;YACF,CAAC,CAAC,CAAC;SACH;QACD,MAAM,KAAK,GAAG;YACb,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,WAAW,CACnC,gBAAgB,EAChB,YAAY,CAAC,IAAI,EACjB,WAAW,CACX;YACD,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,WAAW,CACpC,gBAAgB,EAChB,YAAY,CAAC,KAAK,EAClB,WAAW,CACX;SACD,CAAC;QACF,MAAM,eAAe,GACpB,MAAA,aAAa,CAAC,eAAe,mCAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChE,eAAe,CAAC,OAAO,CAAC,aAAa,GAAG,oCAAoC,OAAO,EAAE,CAAC;QACtF,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QACzC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACrC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QACjC,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACvC,eAAe,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;QAChD,eAAe,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC5C,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,GAAG;YACf,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;YACzD,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;YACjD,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;YACrD,yBAAyB,EAAE,YAAY,CAAC,yBAAyB;YACjE,wBAAwB,EAAE,YAAY,CAAC,wBAAwB;YAE/D,QAAQ,EACP,MAAA,aAAa,CAAC,eAAe,mCAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE;YAClE,UAAU,EACT,MAAA,aAAa,CAAC,iBAAiB,mCAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE;YACtE,aAAa,EAAE,MAAA,aAAa,CAAC,aAAa,mCAAI,QAAQ,CAAC,aAAa;YACpE,GAAG,EAAE,MAAA,aAAa,CAAC,GAAG,mCAAI,QAAQ,CAAC,GAAG;YACtC,IAAI,EAAE,MAAA,aAAa,CAAC,IAAI,mCAAI,QAAQ,CAAC,IAAI;YACzC,WAAW;YACX,KAAK;YACL,gBAAgB,EAAE,YAAY;YAC9B,0BAA0B,EAAE,KAAK;YACjC,eAAe,EAAE,iBAAiB,CAAC,OAAO;YAC1C,sBAAsB,EAAE,IAAI;YAE5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,WAAW;YACX,WAAW;YACX,UAAU;YACV,eAAe;YAEf,WAAW,EAAE,CAAC,KAAmB,EAAE,IAAY,EAAE,EAAE;gBAClD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACpC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;gBACjC,QAAQ,IAAI,CAAC,GAAG,EAAE;oBACjB,KAAK,KAAK,CAAC,IAAI;wBACd,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC5C,KAAK,KAAK,CAAC,IAAI;wBACd,OAAO,IAAI,UAAU,CACpB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAC/C,MAAM,CACN,CAAC;oBACH,KAAK,KAAK,CAAC,KAAK;wBACf,OAAO,IAAI,UAAU,CACpB,KAAK,GAAG,CAAC,EACT,CAAC,EACD,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3C,MAAM,CACN,CAAC;iBACH;YACF,CAAC;YACD,WAAW,EAAE,GAAG,EAAE;gBACjB,qBAAqB;gBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;gBAC9C,IAAI,CAAC,uBAAuB,CAC3B,WAAW,CAAC,eAAe,CAAC,CAAC,YAAY,EACzC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAC3B,CAAC;gBAEF,oBAAoB;gBACpB,IAAI,CAAC,eAAe,CACnB,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,YAAY,EAClE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC7C,CAAC;gBACF,IAAI,CAAC,eAAe,CACnB,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,YAAY,EACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC5C,CAAC;YACH,CAAC;YACD,cAAc,EAAE,CAAC,SAA8B,EAAE,EAAE;gBAClD,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,qBAAqB;gBACrB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAA2B,CAAC;gBAC7D,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE;oBAC3D,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG;wBAC1B,MAAM;wBACN,MAAM,EAAE,MAAM,CAAC,aAAa;wBAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;qBACrB,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAClD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC;iBACzD;gBAED,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;gBACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;YACpC,CAAC;YACD,YAAY,EAAE,GAAG,EAAE;gBAClB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE;oBAC7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;oBACnE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;oBACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,IAAI,MAAM,EAAE;wBACX,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;qBAC3B;yBAAM;wBACN,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;qBAClD;oBACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC;oBACzD,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAC1C;YACF,CAAC;YACD,YAAY,EAAE,CAAC,KAAc,EAAE,EAAE;;gBAChC,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,0CAAE,OAAO,EAAE;oBACxC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;iBACvC;qBAAM;oBACN,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;oBAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE;wBACzC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe;4BAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC;wBACtC,IAAI,CAAC,OAAO,CAAC,CAAC,sBAAsB,GAAG,IAAI,CAAC;wBAC5C,OAAO,CAAC,aAAa,CACpB,IAAI,cAAc,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC;qBACF;oBACD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,KAAK,iBAAiB,CAAC,OAAO,EAAE;wBAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;4BACzC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACjC,CAAC,CAAC,CAAC;qBACH;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B,EAAE;wBAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,OAAO,CACjD,CAAC,cAAc,EAAE,EAAE;4BAClB,QAAQ,cAAc,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAE;gCACtD,KAAK,oBAAoB,CAAC,KAAK,CAAC;gCAChC,KAAK,oBAAoB,CAAC,UAAU,CAAC;gCACrC,KAAK,oBAAoB,CAAC,YAAY,CAAC;gCACvC,KAAK,oBAAoB,CAAC,SAAS;oCAClC,cAAc,CAAC,aAAa,CAC3B,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CACtD,CAAC;oCACF,MAAM;6BACP;wBACF,CAAC,CACD,CAAC;wBACF,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B,GAAG,KAAK,CAAC;qBACjD;iBACD;gBAED,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC;SACD,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,UAAU,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,eAAoB,UAAU;QAC5C,MAAM,CAAC,cAAc,CACpB,sBAAsB,CAAC,SAAS,EAChC,kBAAkB,EAClB;YACC,KAAK,EAAE;gBACN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,YAAY,EAAE,IAAI;SAClB,CACD,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE;YACjD,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC;YACzB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,YAAY,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QACpC,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;QACtC,YAAY,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;QAC9C,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QAClC,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QAClC,YAAY,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;QACpD,YAAY,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;QAC5C,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAChC,YAAY,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;QACxC,YAAY,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;QACpD,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAChC,YAAY,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;QAC5C,YAAY,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;QAC1C,YAAY,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;QAC9C,YAAY,CAAC,oBAAoB,CAAC,GAAG,kBAAkB,CAAC;QACxD,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAChC,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QAClC,YAAY,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;QAC5C,YAAY,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;QAChD,YAAY,CAAC,oBAAoB,CAAC,GAAG,kBAAkB,CAAC;QACxD,YAAY,CAAC,2BAA2B,CAAC,GAAG,yBAAyB,CAAC;QACtE,YAAY,CAAC,uBAAuB,CAAC,GAAG,qBAAqB,CAAC;IAC/D,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC;IAC5C,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC;IACxC,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;IAC1C,CAAC;IAED,IAAI,yBAAyB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC;IAChD,CAAC;IAED,IAAI,wBAAwB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAAC;IAC/C,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;IACpC,CAAC;IAED,IAAI,aAAa,CAAC,KAAc;QAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;;QACd,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,0CAAE,OAAO,EAAE;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC;SAC9C;aAAM;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;SACjC;IACF,CAAC;IAED,IAAI,UAAU;;QACb,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,0CAAE,OAAO,EAAE;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;SAC7C;aAAM;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;SAChC;IACF,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED,IAAI,gBAAgB,CAAC,IAA2B;QAC/C,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,MAAM,EAAE;YAC7C,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACtE,OAAO;SACP;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,KAAK,iBAAiB,CAAC,OAAO,EAAE;YAChE,OAAO,EAAE,CAAC;SACV;QACD,MAAM,YAAY,GACjB,IAAI,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,YAAY;YAC9C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;YAC1C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,YAAY;;QACf,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,0CAAE,OAAO,EAAE;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;SAC/C;aAAM;YACN,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC3D;IACF,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC;IACtC,CAAC;IAED,QAAQ;QACP,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC,gBAAgB,CAClD,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,KAAK,CACL,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEpC;YACC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;YAC3C,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;SACrC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACzB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3C,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACjD,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC;IACtC,CAAC;IAED,0EAA0E;IAC1E,qBAAqB,CAAC,KAAwB;QAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACtD,MAAM,IAAI,YAAY,CACrB,iCAAiC,EACjC,mBAAmB,CACnB,CAAC;SACF;QACD,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,sBAAsB,GAAG,KAAK,CAAC;SAC7C;IACF,CAAC;IAED,kBAAkB,CACjB,QAA0B,EAC1B,SAMC;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,GAAG,IAAI,YAAY,CAC5C,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CACjB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;IACnC,CAAC;CACD"}
@@ -0,0 +1,44 @@
1
+ import { GlobalSpace } from '../spaces/XRSpace';
2
+ import { XRHandJoint } from '../input/XRHand';
3
+ import { XRHandedness } from '../input/XRInputSource';
4
+ import { XRTrackedInput } from './XRTrackedInput';
5
+ import { mat4 } from 'gl-matrix';
6
+ import { XRFrame } from '../frameloop/XRFrame';
7
+ export interface HandPose {
8
+ jointTransforms: {
9
+ [joint in XRHandJoint]: {
10
+ offsetMatrix: mat4;
11
+ radius: number;
12
+ };
13
+ };
14
+ gripOffsetMatrix?: mat4;
15
+ }
16
+ export interface XRHandInputConfig {
17
+ profileId: string;
18
+ fallbackProfileIds: string[];
19
+ poses: {
20
+ default: HandPose;
21
+ pinch: HandPose;
22
+ [poseId: string]: HandPose;
23
+ };
24
+ }
25
+ export declare const oculusHandConfig: XRHandInputConfig;
26
+ export declare const PRIVATE: unique symbol;
27
+ export declare class XRHandInput extends XRTrackedInput {
28
+ [PRIVATE]: {
29
+ poseId: string;
30
+ poses: {
31
+ default: HandPose;
32
+ pinch: HandPose;
33
+ [poseId: string]: HandPose;
34
+ };
35
+ };
36
+ constructor(handInputConfig: XRHandInputConfig, handedness: XRHandedness, globalSpace: GlobalSpace);
37
+ get poseId(): string;
38
+ set poseId(poseId: string);
39
+ updateHandPose(): void;
40
+ get pinchValue(): number;
41
+ updatePinchValue(value: number): void;
42
+ onFrameStart(frame: XRFrame): void;
43
+ }
44
+ //# sourceMappingURL=XRHandInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRHandInput.d.ts","sourceRoot":"","sources":["../../src/device/XRHandInput.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,WAAW,EAGX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAU,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACN,YAAY,EAGZ,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAEN,cAAc,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK/C,MAAM,WAAW,QAAQ;IACxB,eAAe,EAAE;SACf,KAAK,IAAI,WAAW,GAAG;YACvB,YAAY,EAAE,IAAI,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC;SACf;KACD,CAAC;IACF,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B,KAAK,EAAE;QACN,OAAO,EAAE,QAAQ,CAAC;QAClB,KAAK,EAAE,QAAQ,CAAC;QAEhB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC3B,CAAC;CACF;AAED,eAAO,MAAM,gBAAgB,EAAE,iBAY9B,CAAC;AAkDF,eAAO,MAAM,OAAO,eAA2D,CAAC;AAEhF,qBAAa,WAAY,SAAQ,cAAc;IAC9C,CAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE;YACN,OAAO,EAAE,QAAQ,CAAC;YAClB,KAAK,EAAE,QAAQ,CAAC;YAEhB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;SAC3B,CAAC;KACF,CAAC;gBAGD,eAAe,EAAE,iBAAiB,EAClC,UAAU,EAAE,YAAY,EACxB,WAAW,EAAE,WAAW;IA4CzB,IAAI,MAAM,IAIS,MAAM,CAFxB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAMxB;IAED,cAAc;IAgCd,IAAI,UAAU,WAGb;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAW9B,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAIlC"}
@@ -0,0 +1,133 @@
1
+ import { PRIVATE as GAMEPAD_PRIVATE, Gamepad, GamepadMappingType, } from '../gamepad/Gamepad';
2
+ import { PRIVATE as XRSPACE_PRIVATE, XRSpace, } from '../spaces/XRSpace';
3
+ import { XRHand, XRHandJoint } from '../input/XRHand';
4
+ import { XRHandedness, XRInputSource, XRTargetRayMode, } from '../input/XRInputSource';
5
+ import { PRIVATE as XRJOINTSPACE_PRIVATE, XRJointSpace, } from '../spaces/XRJointSpace';
6
+ import { PRIVATE as XRTRACKEDINPUT_PRIVATE, XRTrackedInput, } from './XRTrackedInput';
7
+ import { mat4, quat, vec3 } from 'gl-matrix';
8
+ import { pinchHandPose } from './configs/hand/pinch';
9
+ import { pointHandPose } from './configs/hand/point';
10
+ import { relaxedHandPose } from './configs/hand/relaxed';
11
+ export const oculusHandConfig = {
12
+ profileId: 'oculus-hand',
13
+ fallbackProfileIds: [
14
+ 'generic-hand',
15
+ 'generic-hand-select',
16
+ 'generic-trigger',
17
+ ],
18
+ poses: {
19
+ default: relaxedHandPose,
20
+ pinch: pinchHandPose,
21
+ point: pointHandPose,
22
+ },
23
+ };
24
+ const XRHandGamepadConfig = {
25
+ mapping: GamepadMappingType.None,
26
+ buttons: [{ id: 'pinch', type: 'analog', eventTrigger: 'select' }],
27
+ axes: [],
28
+ };
29
+ const fromPosition = vec3.create();
30
+ const fromQuaternion = quat.create();
31
+ const fromScale = vec3.create();
32
+ const toPosition = vec3.create();
33
+ const toQuaternion = quat.create();
34
+ const toScale = vec3.create();
35
+ const interpolatedPosition = vec3.create();
36
+ const interpolatedQuaternion = quat.create();
37
+ const interpolatedScale = vec3.create();
38
+ const interpolateMatrix = (out, fromMatrix, toMatrix, alpha) => {
39
+ mat4.getTranslation(fromPosition, fromMatrix);
40
+ mat4.getRotation(fromQuaternion, fromMatrix);
41
+ mat4.getScaling(fromScale, fromMatrix);
42
+ mat4.getTranslation(toPosition, toMatrix);
43
+ mat4.getRotation(toQuaternion, toMatrix);
44
+ mat4.getScaling(toScale, toMatrix);
45
+ vec3.lerp(interpolatedPosition, fromPosition, toPosition, alpha);
46
+ quat.slerp(interpolatedQuaternion, fromQuaternion, toQuaternion, alpha);
47
+ vec3.lerp(interpolatedScale, fromScale, toScale, alpha);
48
+ mat4.fromRotationTranslationScale(out, interpolatedQuaternion, interpolatedPosition, interpolatedScale);
49
+ return out;
50
+ };
51
+ const mirrorMultiplierMatrix = [
52
+ 1, -1, -1, 0, -1, 1, 1, 0, -1, 1, 1, 0, -1, 1, 1, 1,
53
+ ];
54
+ const mirrorMatrixToRight = (matrixLeft) => {
55
+ for (let i = 0; i < 16; i++) {
56
+ matrixLeft[i] *= mirrorMultiplierMatrix[i];
57
+ }
58
+ };
59
+ export const PRIVATE = Symbol('@immersive-web-emulation-runtime/xr-hand-input');
60
+ export class XRHandInput extends XRTrackedInput {
61
+ constructor(handInputConfig, handedness, globalSpace) {
62
+ if (handedness !== XRHandedness.Left && handedness !== XRHandedness.Right) {
63
+ throw new DOMException('handedness for XRHandInput must be either "left" or "right"', 'InvalidStateError');
64
+ }
65
+ if (!handInputConfig.poses.default || !handInputConfig.poses.pinch) {
66
+ throw new DOMException('"default" and "pinch" hand pose configs are required', 'InvalidStateError');
67
+ }
68
+ const targetRaySpace = new XRSpace(globalSpace);
69
+ const gripSpace = new XRSpace(targetRaySpace);
70
+ const profiles = [
71
+ handInputConfig.profileId,
72
+ ...handInputConfig.fallbackProfileIds,
73
+ ];
74
+ const hand = new XRHand();
75
+ Object.values(XRHandJoint).forEach((jointName) => {
76
+ hand.set(jointName, new XRJointSpace(jointName, targetRaySpace));
77
+ });
78
+ const inputSource = new XRInputSource(handedness, XRTargetRayMode.TrackedPointer, profiles, targetRaySpace, new Gamepad(XRHandGamepadConfig), gripSpace, hand);
79
+ super(inputSource);
80
+ this[PRIVATE] = {
81
+ poseId: 'default',
82
+ poses: handInputConfig.poses,
83
+ };
84
+ this.updateHandPose();
85
+ }
86
+ get poseId() {
87
+ return this[PRIVATE].poseId;
88
+ }
89
+ set poseId(poseId) {
90
+ if (!this[PRIVATE].poses[poseId]) {
91
+ console.warn(`Pose config ${poseId} not found`);
92
+ return;
93
+ }
94
+ this[PRIVATE].poseId = poseId;
95
+ }
96
+ updateHandPose() {
97
+ const targetPose = this[PRIVATE].poses[this[PRIVATE].poseId];
98
+ const pinchPose = this[PRIVATE].poses.pinch;
99
+ Object.values(XRHandJoint).forEach((jointName) => {
100
+ const targetJointMatrix = targetPose.jointTransforms[jointName].offsetMatrix;
101
+ const pinchJointMatrix = pinchPose.jointTransforms[jointName].offsetMatrix;
102
+ const jointSpace = this.inputSource.hand.get(jointName);
103
+ interpolateMatrix(jointSpace[XRSPACE_PRIVATE].offsetMatrix, targetJointMatrix, pinchJointMatrix, this.pinchValue);
104
+ if (this.inputSource.handedness === XRHandedness.Right) {
105
+ mirrorMatrixToRight(jointSpace[XRSPACE_PRIVATE].offsetMatrix);
106
+ }
107
+ jointSpace[XRJOINTSPACE_PRIVATE].radius =
108
+ (1 - this.pinchValue) * targetPose.jointTransforms[jointName].radius +
109
+ this.pinchValue * pinchPose.jointTransforms[jointName].radius;
110
+ });
111
+ if (targetPose.gripOffsetMatrix && pinchPose.gripOffsetMatrix) {
112
+ interpolateMatrix(this.inputSource.gripSpace[XRSPACE_PRIVATE].offsetMatrix, targetPose.gripOffsetMatrix, pinchPose.gripOffsetMatrix, this.pinchValue);
113
+ }
114
+ }
115
+ get pinchValue() {
116
+ return this[XRTRACKEDINPUT_PRIVATE].inputSource.gamepad[GAMEPAD_PRIVATE]
117
+ .buttonsMap['pinch'].value;
118
+ }
119
+ updatePinchValue(value) {
120
+ if (value > 1 || value < 0) {
121
+ console.warn(`Out-of-range value ${value} provided for pinch`);
122
+ return;
123
+ }
124
+ const gamepadButton = this[XRTRACKEDINPUT_PRIVATE].inputSource.gamepad[GAMEPAD_PRIVATE]
125
+ .buttonsMap['pinch'];
126
+ gamepadButton[GAMEPAD_PRIVATE].pendingValue = value;
127
+ }
128
+ onFrameStart(frame) {
129
+ super.onFrameStart(frame);
130
+ this.updateHandPose();
131
+ }
132
+ }
133
+ //# sourceMappingURL=XRHandInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRHandInput.js","sourceRoot":"","sources":["../../src/device/XRHandInput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Quaternion, Vector3 } from '../utils/Math';
2
+ import { XRInputSource } from '../input/XRInputSource';
3
+ import { XRFrame } from '../frameloop/XRFrame';
4
+ export declare const PRIVATE: unique symbol;
5
+ export declare class XRTrackedInput {
6
+ [PRIVATE]: {
7
+ inputSource: XRInputSource;
8
+ position: Vector3;
9
+ quaternion: Quaternion;
10
+ connected: boolean;
11
+ lastFrameConnected: boolean;
12
+ inputSourceChanged: boolean;
13
+ };
14
+ constructor(inputSource: XRInputSource);
15
+ get position(): Vector3;
16
+ get quaternion(): Quaternion;
17
+ get inputSource(): XRInputSource;
18
+ get connected(): boolean;
19
+ set connected(value: boolean);
20
+ onFrameStart(frame: XRFrame): void;
21
+ }
22
+ //# sourceMappingURL=XRTrackedInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRTrackedInput.d.ts","sourceRoot":"","sources":["../../src/device/XRTrackedInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAgB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAK/C,eAAO,MAAM,OAAO,eAEnB,CAAC;AAiBF,qBAAa,cAAc;IAC1B,CAAC,OAAO,CAAC,EAAE;QACV,WAAW,EAAE,aAAa,CAAC;QAE3B,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,kBAAkB,EAAE,OAAO,CAAC;KAC5B,CAAC;gBAEU,WAAW,EAAE,aAAa;IAWtC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,WAAW,IAAI,aAAa,CAE/B;IAED,IAAI,SAAS,IAIQ,OAAO,CAF3B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAG3B;IAED,YAAY,CAAC,KAAK,EAAE,OAAO;CA4D3B"}
@@ -0,0 +1,89 @@
1
+ import { PRIVATE as GAMEPAD_PRIVATE, GamepadButton } from '../gamepad/Gamepad';
2
+ import { Quaternion, Vector3 } from '../utils/Math';
3
+ import { XRHandedness } from '../input/XRInputSource';
4
+ import { XRInputSourceEvent } from '../events/XRInputSourceEvent';
5
+ import { PRIVATE as XRSPACE_PRIVATE } from '../spaces/XRSpace';
6
+ import { mat4 } from 'gl-matrix';
7
+ export const PRIVATE = Symbol('@immersive-web-emulation-runtime/xr-tracked-input');
8
+ const DEFAULT_TRANSFORM = {
9
+ [XRHandedness.Left]: {
10
+ position: new Vector3(-0.25, 1.5, -0.4),
11
+ quaternion: new Quaternion(),
12
+ },
13
+ [XRHandedness.Right]: {
14
+ position: new Vector3(0.25, 1.5, -0.4),
15
+ quaternion: new Quaternion(),
16
+ },
17
+ [XRHandedness.None]: {
18
+ position: new Vector3(0.25, 1.5, -0.4),
19
+ quaternion: new Quaternion(),
20
+ },
21
+ };
22
+ export class XRTrackedInput {
23
+ constructor(inputSource) {
24
+ this[PRIVATE] = {
25
+ inputSource,
26
+ position: DEFAULT_TRANSFORM[inputSource.handedness].position.clone(),
27
+ quaternion: DEFAULT_TRANSFORM[inputSource.handedness].quaternion.clone(),
28
+ connected: true,
29
+ lastFrameConnected: false,
30
+ inputSourceChanged: true,
31
+ };
32
+ }
33
+ get position() {
34
+ return this[PRIVATE].position;
35
+ }
36
+ get quaternion() {
37
+ return this[PRIVATE].quaternion;
38
+ }
39
+ get inputSource() {
40
+ return this[PRIVATE].inputSource;
41
+ }
42
+ get connected() {
43
+ return this[PRIVATE].connected;
44
+ }
45
+ set connected(value) {
46
+ this[PRIVATE].connected = value;
47
+ this[PRIVATE].inputSource.gamepad[GAMEPAD_PRIVATE].connected = value;
48
+ }
49
+ onFrameStart(frame) {
50
+ const targetRaySpace = this[PRIVATE].inputSource.targetRaySpace;
51
+ mat4.fromRotationTranslation(targetRaySpace[XRSPACE_PRIVATE].offsetMatrix, this[PRIVATE].quaternion.quat, this[PRIVATE].position.vec3);
52
+ const session = frame.session;
53
+ this[PRIVATE].inputSource.gamepad.buttons.forEach((button) => {
54
+ if (button instanceof GamepadButton) {
55
+ // apply pending values and record last frame values
56
+ button[GAMEPAD_PRIVATE].lastFrameValue = button[GAMEPAD_PRIVATE].value;
57
+ if (button[GAMEPAD_PRIVATE].pendingValue != null) {
58
+ button[GAMEPAD_PRIVATE].value = button[GAMEPAD_PRIVATE].pendingValue;
59
+ button[GAMEPAD_PRIVATE].pendingValue = null;
60
+ }
61
+ // trigger input source events
62
+ if (button[GAMEPAD_PRIVATE].eventTrigger != null) {
63
+ if (button[GAMEPAD_PRIVATE].lastFrameValue === 0 &&
64
+ button[GAMEPAD_PRIVATE].value > 0) {
65
+ session.dispatchEvent(new XRInputSourceEvent(button[GAMEPAD_PRIVATE].eventTrigger, {
66
+ frame,
67
+ inputSource: this[PRIVATE].inputSource,
68
+ }));
69
+ session.dispatchEvent(new XRInputSourceEvent(button[GAMEPAD_PRIVATE].eventTrigger + 'start', {
70
+ frame,
71
+ inputSource: this[PRIVATE].inputSource,
72
+ }));
73
+ }
74
+ else if (button[GAMEPAD_PRIVATE].lastFrameValue > 0 &&
75
+ button[GAMEPAD_PRIVATE].value === 0) {
76
+ session.dispatchEvent(new XRInputSourceEvent(button[GAMEPAD_PRIVATE].eventTrigger + 'end', {
77
+ frame,
78
+ inputSource: this[PRIVATE].inputSource,
79
+ }));
80
+ }
81
+ }
82
+ }
83
+ });
84
+ this[PRIVATE].inputSourceChanged =
85
+ this.connected !== this[PRIVATE].lastFrameConnected;
86
+ this[PRIVATE].lastFrameConnected = this.connected;
87
+ }
88
+ }
89
+ //# sourceMappingURL=XRTrackedInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRTrackedInput.js","sourceRoot":"","sources":["../../src/device/XRTrackedInput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { XRControllerConfig } from '../../XRController';
2
+ export declare const oculusTouchV2: XRControllerConfig;
3
+ export declare const oculusTouchV3: XRControllerConfig;
4
+ export declare const metaQuestTouchPro: XRControllerConfig;
5
+ export declare const metaQuestTouchPlus: XRControllerConfig;
6
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/device/configs/controller/meta.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAwCxD,eAAO,MAAM,aAAa,EAAE,kBAyB3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAyB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBA6B/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBA6BhC,CAAC"}
@@ -0,0 +1,152 @@
1
+ // value pulled from https://felixtrz.github.io/webxr-device-config/
2
+ // on Oculus Quest 1, Meta Quest 2, Meta Quest Pro, Meta Quest 3
3
+ import { GamepadMappingType } from '../../../gamepad/Gamepad';
4
+ const gamepadConfigLeft = {
5
+ mapping: GamepadMappingType.XRStandard,
6
+ buttons: [
7
+ { id: 'trigger', type: 'analog', eventTrigger: 'select' },
8
+ { id: 'squeeze', type: 'analog', eventTrigger: 'squeeze' },
9
+ null,
10
+ { id: 'thumbstick', type: 'binary' },
11
+ { id: 'x-button', type: 'binary' },
12
+ { id: 'y-button', type: 'binary' },
13
+ { id: 'thumbrest', type: 'binary' },
14
+ ],
15
+ axes: [
16
+ null,
17
+ null,
18
+ { id: 'thumbstick', type: 'x-axis' },
19
+ { id: 'thumbstick', type: 'y-axis' },
20
+ ],
21
+ };
22
+ const gamepadConfigRight = {
23
+ mapping: GamepadMappingType.XRStandard,
24
+ buttons: [
25
+ { id: 'trigger', type: 'analog', eventTrigger: 'select' },
26
+ { id: 'squeeze', type: 'analog', eventTrigger: 'squeeze' },
27
+ null,
28
+ { id: 'thumbstick', type: 'binary' },
29
+ { id: 'a-button', type: 'binary' },
30
+ { id: 'b-button', type: 'binary' },
31
+ { id: 'thumbrest', type: 'binary' },
32
+ ],
33
+ axes: [
34
+ null,
35
+ null,
36
+ { id: 'thumbstick', type: 'x-axis' },
37
+ { id: 'thumbstick', type: 'y-axis' },
38
+ ],
39
+ };
40
+ export const oculusTouchV2 = {
41
+ profileId: 'oculus-touch-v2',
42
+ fallbackProfileIds: ['oculus-touch', 'generic-trigger-squeeze-thumbstick'],
43
+ layout: {
44
+ left: {
45
+ gamepad: gamepadConfigLeft,
46
+ gripOffsetMatrix: [
47
+ 0.9925461411476135, 4.673031295254759e-9, -0.12186938524246216, 0,
48
+ 0.08617470413446426, 0.7071065306663513, 0.7018362283706665, 0,
49
+ 0.0861746296286583, -0.70710688829422, 0.7018358707427979, 0,
50
+ -0.003979847766458988, -0.01585787907242775, 0.04964185878634453, 1,
51
+ ],
52
+ numHapticActuators: 1,
53
+ },
54
+ right: {
55
+ gamepad: gamepadConfigRight,
56
+ gripOffsetMatrix: [
57
+ 0.9925461411476135, 3.688163374704345e-8, 0.12186937034130096, 0,
58
+ -0.08617469668388367, 0.7071066498756409, 0.7018361687660217, 0,
59
+ -0.0861746147274971, -0.7071068286895752, 0.7018359899520874, 0,
60
+ 0.003979853354394436, -0.01585787907242775, 0.04964182525873184, 1,
61
+ ],
62
+ numHapticActuators: 1,
63
+ },
64
+ },
65
+ };
66
+ export const oculusTouchV3 = {
67
+ profileId: 'oculus-touch-v3',
68
+ fallbackProfileIds: ['oculus-touch', 'generic-trigger-squeeze-thumbstick'],
69
+ layout: {
70
+ left: {
71
+ gamepad: gamepadConfigLeft,
72
+ gripOffsetMatrix: [
73
+ 0.9925461411476135, 2.0823669899527886e-8, -0.12186937034130096, 0,
74
+ 0.08617465198040009, 0.7071067094802856, 0.701836109161377, 0,
75
+ 0.08617466688156128, -0.7071067690849304, 0.7018360495567322, 0,
76
+ -0.003979838453233242, -0.015857907012104988, 0.04964181408286095, 1,
77
+ ],
78
+ numHapticActuators: 1,
79
+ },
80
+ right: {
81
+ gamepad: gamepadConfigRight,
82
+ gripOffsetMatrix: [
83
+ 0.9925461411476135, -8.329467959811154e-8, 0.12186941504478455, 0,
84
+ -0.08617465943098068, 0.7071066498756409, 0.7018361687660217, 0,
85
+ -0.08617471158504486, -0.7071068286895752, 0.7018359303474426, 0,
86
+ 0.003979798872023821, -0.015857888385653496, 0.049641866236925125, 1,
87
+ ],
88
+ numHapticActuators: 1,
89
+ },
90
+ },
91
+ };
92
+ export const metaQuestTouchPro = {
93
+ profileId: 'meta-quest-touch-pro',
94
+ fallbackProfileIds: [
95
+ 'oculus-touch-v2',
96
+ 'oculus-touch',
97
+ 'generic-trigger-squeeze-thumbstick',
98
+ ],
99
+ layout: {
100
+ left: {
101
+ gamepad: gamepadConfigLeft,
102
+ gripOffsetMatrix: [
103
+ 0.9925461411476135, -1.5779937356796836e-8, -0.12186935544013977, 0,
104
+ 0.08617467433214188, 0.7071067094802856, 0.701836109161377, 0,
105
+ 0.0861746296286583, -0.7071067690849304, 0.7018360495567322, 0,
106
+ -0.003979836590588093, -0.015857847407460213, 0.049641840159893036, 1,
107
+ ],
108
+ numHapticActuators: 3,
109
+ },
110
+ right: {
111
+ gamepad: gamepadConfigRight,
112
+ gripOffsetMatrix: [
113
+ 0.9925461411476135, 9.267653311439972e-11, 0.12186937034130096, 0,
114
+ -0.08617467433214188, 0.7071067094802856, 0.7018361687660217, 0,
115
+ -0.08617464452981949, -0.7071067690849304, 0.7018360495567322, 0,
116
+ 0.003979847766458988, -0.01585782691836357, 0.04964186251163483, 1,
117
+ ],
118
+ numHapticActuators: 3,
119
+ },
120
+ },
121
+ };
122
+ export const metaQuestTouchPlus = {
123
+ profileId: 'meta-quest-touch-plus',
124
+ fallbackProfileIds: [
125
+ 'oculus-touch-v3',
126
+ 'oculus-touch',
127
+ 'generic-trigger-squeeze-thumbstick',
128
+ ],
129
+ layout: {
130
+ left: {
131
+ gamepad: gamepadConfigLeft,
132
+ gripOffsetMatrix: [
133
+ 0.9925461411476135, 1.0736208366779465e-8, -0.12186933308839798, 0,
134
+ 0.08617459982633591, 0.70710688829422, 0.7018360495567322, 0,
135
+ 0.08617466688156128, -0.7071067094802856, 0.7018362283706665, 0,
136
+ -0.003979803062975407, -0.015857873484492302, 0.04964187368750572, 1,
137
+ ],
138
+ numHapticActuators: 1,
139
+ },
140
+ right: {
141
+ gamepad: gamepadConfigRight,
142
+ gripOffsetMatrix: [
143
+ 0.9925461411476135, -2.6238110351073374e-8, 0.12186934053897858, 0,
144
+ -0.0861746147274971, 0.7071067690849304, 0.7018360495567322, 0,
145
+ -0.08617465943098068, -0.7071067094802856, 0.701836109161377, 0,
146
+ 0.003979838453233242, -0.015857869759202003, 0.04964182525873184, 1,
147
+ ],
148
+ numHapticActuators: 1,
149
+ },
150
+ },
151
+ };
152
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../../src/device/configs/controller/meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { HandPose } from '../../XRHandInput';
2
+ export declare const pinchHandPose: HandPose;
3
+ //# sourceMappingURL=pinch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinch.d.ts","sourceRoot":"","sources":["../../../../src/device/configs/hand/pinch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,QA2O3B,CAAC"}