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,236 @@
1
+ export const relaxedHandPose = {
2
+ jointTransforms: {
3
+ wrist: {
4
+ offsetMatrix: [
5
+ 0.9616971015930176, -0.13805118203163147, 0.2368120402097702, 0,
6
+ 0.0005348679260350764, 0.8648636937141418, 0.5020061135292053, 0,
7
+ -0.2741127610206604, -0.48265108466148376, 0.8318111300468445, 0,
8
+ -0.04913589730858803, 0.0021463718730956316, 0.11701996624469757, 1,
9
+ ],
10
+ radius: 0.021460847929120064,
11
+ },
12
+ 'thumb-metacarpal': {
13
+ offsetMatrix: [
14
+ -0.07536252588033676, -0.9959676265716553, -0.04867160692811012, 0,
15
+ 0.5877083539962769, -0.08379616588354111, 0.8047218918800354, 0,
16
+ -0.8055551648139954, 0.032041035592556, 0.5916536450386047, 0,
17
+ -0.010643752291798592, 0.0006936835707165301, 0.08736639469861984, 1,
18
+ ],
19
+ radius: 0.019382517784833908,
20
+ },
21
+ 'thumb-phalanx-proximal': {
22
+ offsetMatrix: [
23
+ 0.1374533325433731, -0.9904957413673401, 0.004982374142855406, 0,
24
+ 0.5534393787384033, 0.08097179979085922, 0.8289443850517273, 0,
25
+ -0.8214688897132874, -0.11118389666080475, 0.559309184551239, 0,
26
+ 0.015547193586826324, -0.0003480653394944966, 0.0681300163269043, 1,
27
+ ],
28
+ radius: 0.01228295173496008,
29
+ },
30
+ 'thumb-phalanx-distal': {
31
+ offsetMatrix: [
32
+ -0.04659227654337883, -0.9974699020385742, -0.05369402840733528, 0,
33
+ 0.6812446117401123, -0.07104194164276123, 0.728600800037384, 0,
34
+ -0.7305715084075928, -0.002631746232509613, 0.6828309893608093, 0,
35
+ 0.04330715537071228, 0.003409178927540779, 0.0492292083799839, 1,
36
+ ],
37
+ radius: 0.009768804535269737,
38
+ },
39
+ 'thumb-tip': {
40
+ offsetMatrix: [
41
+ -0.04659227654337883, -0.9974699020385742, -0.05369402840733528, 0,
42
+ 0.6812446117401123, -0.07104194164276123, 0.728600800037384, 0,
43
+ -0.7305715084075928, -0.002631746232509613, 0.6828309893608093, 0,
44
+ 0.062003348022699356, 0.004069602582603693, 0.03322213143110275, 1,
45
+ ],
46
+ radius: 0.008768804371356964,
47
+ },
48
+ 'index-finger-metacarpal': {
49
+ offsetMatrix: [
50
+ 0.9616971015930176, -0.13805118203163147, 0.2368120402097702, 0,
51
+ 0.0005348679260350764, 0.8648636937141418, 0.5020061135292053, 0,
52
+ -0.2741127610206604, -0.48265108466148376, 0.8318111300468445, 0,
53
+ -0.02009812369942665, 0.008770795539021492, 0.08660387247800827, 1,
54
+ ],
55
+ radius: 0.021228281781077385,
56
+ },
57
+ 'index-finger-phalanx-proximal': {
58
+ offsetMatrix: [
59
+ 0.9001791477203369, -0.2598813474178314, 0.3494834005832672, 0,
60
+ 0.06073702871799469, 0.8695210218429565, 0.490146666765213, 0,
61
+ -0.4312632381916046, -0.41999316215515137, 0.7985095381736755, 0,
62
+ -0.00017739279428496957, 0.03890012577176094, 0.039073407649993896, 1,
63
+ ],
64
+ radius: 0.010295259766280651,
65
+ },
66
+ 'index-finger-phalanx-intermediate': {
67
+ offsetMatrix: [
68
+ 0.9082008600234985, -0.20898112654685974, 0.36262574791908264, 0,
69
+ 0.11045389622449875, 0.9553793668746948, 0.27395179867744446, 0,
70
+ -0.40369608998298645, -0.20874978601932526, 0.8907597661018372, 0,
71
+ 0.01617925800383091, 0.05482936650514603, 0.008788082748651505, 1,
72
+ ],
73
+ radius: 0.00853810179978609,
74
+ },
75
+ 'index-finger-phalanx-distal': {
76
+ offsetMatrix: [
77
+ 0.9309692978858948, -0.16783711314201355, 0.32423174381256104, 0,
78
+ 0.1080828532576561, 0.9749603867530823, 0.1943446695804596, 0,
79
+ -0.34873148798942566, -0.14588497579097748, 0.9257990717887878, 0,
80
+ 0.02599053829908371, 0.059902746230363846, -0.012860597111284733, 1,
81
+ ],
82
+ radius: 0.007636196445673704,
83
+ },
84
+ 'index-finger-tip': {
85
+ offsetMatrix: [
86
+ 0.9309692978858948, -0.16783711314201355, 0.32423174381256104, 0,
87
+ 0.1080828532576561, 0.9749603867530823, 0.1943446695804596, 0,
88
+ -0.34873148798942566, -0.14588497579097748, 0.9257990717887878, 0,
89
+ 0.03362493962049484, 0.06421422213315964, -0.033461250364780426, 1,
90
+ ],
91
+ radius: 0.006636196281760931,
92
+ },
93
+ 'middle-finger-metacarpal': {
94
+ offsetMatrix: [
95
+ 0.9616971015930176, -0.13805118203163147, 0.2368120402097702, 0,
96
+ 0.0005348679260350764, 0.8648636937141418, 0.5020061135292053, 0,
97
+ -0.2741127610206604, -0.48265108466148376, 0.8318111300468445, 0,
98
+ -0.03627845644950867, 0.011579737067222595, 0.08550142496824265, 1,
99
+ ],
100
+ radius: 0.021231964230537415,
101
+ },
102
+ 'middle-finger-phalanx-proximal': {
103
+ offsetMatrix: [
104
+ 0.9876697659492493, -0.06786545366048813, 0.1410750150680542, 0,
105
+ -0.015095947310328484, 0.855663537979126, 0.5173118710517883, 0,
106
+ -0.15582047402858734, -0.5130629539489746, 0.8440889716148376, 0,
107
+ -0.021259509027004242, 0.04587256908416748, 0.03659208118915558, 1,
108
+ ],
109
+ radius: 0.01117393933236599,
110
+ },
111
+ 'middle-finger-phalanx-intermediate': {
112
+ offsetMatrix: [
113
+ 0.988391637802124, -0.04354291781783104, 0.14555205404758453, 0,
114
+ 0.008894841186702251, 0.9729899168014526, 0.23067504167556763, 0,
115
+ -0.15166506171226501, -0.22670257091522217, 0.9620829224586487, 0,
116
+ -0.014570588245987892, 0.06789684295654297, 0.0003578895702958107, 1,
117
+ ],
118
+ radius: 0.008030958473682404,
119
+ },
120
+ 'middle-finger-phalanx-distal': {
121
+ offsetMatrix: [
122
+ 0.9853697419166565, 0.044260796159505844, 0.16458062827587128, 0,
123
+ -0.0757969319820404, 0.9787378311157227, 0.19059516489505768, 0,
124
+ -0.1526455283164978, -0.20028135180473328, 0.9677740931510925, 0,
125
+ -0.010392282158136368, 0.07414241135120392, -0.026147106662392616, 1,
126
+ ],
127
+ radius: 0.007629410829395056,
128
+ },
129
+ 'middle-finger-tip': {
130
+ offsetMatrix: [
131
+ 0.9853697419166565, 0.044260796159505844, 0.16458062827587128, 0,
132
+ -0.0757969319820404, 0.9787378311157227, 0.19059516489505768, 0,
133
+ -0.1526455283164978, -0.20028135180473328, 0.9677740931510925, 0,
134
+ -0.0069718430750072, 0.08024183660745621, -0.05014154314994812, 1,
135
+ ],
136
+ radius: 0.006629410665482283,
137
+ },
138
+ 'ring-finger-metacarpal': {
139
+ offsetMatrix: [
140
+ 0.9616971015930176, -0.13805118203163147, 0.2368120402097702, 0,
141
+ 0.0005348679260350764, 0.8648636937141418, 0.5020061135292053, 0,
142
+ -0.2741127610206604, -0.48265108466148376, 0.8318111300468445, 0,
143
+ -0.05402477830648422, 0.015797706320881844, 0.08152295649051666, 1,
144
+ ],
145
+ radius: 0.019088275730609894,
146
+ },
147
+ 'ring-finger-phalanx-proximal': {
148
+ offsetMatrix: [
149
+ 0.9940828680992126, 0.05735103040933609, 0.09224652498960495, 0,
150
+ -0.10022822767496109, 0.8116500377655029, 0.5754809379577637, 0,
151
+ -0.041867565363645554, -0.5813214182853699, 0.8125960826873779, 0,
152
+ -0.041623555123806, 0.04171867296099663, 0.03582974523305893, 1,
153
+ ],
154
+ radius: 0.00992213748395443,
155
+ },
156
+ 'ring-finger-phalanx-intermediate': {
157
+ offsetMatrix: [
158
+ 0.9843675494194031, 0.12044742703437805, 0.12850022315979004, 0,
159
+ -0.15629759430885315, 0.9337108135223389, 0.3221098482608795, 0,
160
+ -0.08118485659360886, -0.3371586799621582, 0.937940776348114, 0,
161
+ -0.039990875869989395, 0.06438793987035751, 0.004141641780734062, 1,
162
+ ],
163
+ radius: 0.007611672393977642,
164
+ },
165
+ 'ring-finger-phalanx-distal': {
166
+ offsetMatrix: [
167
+ 0.9748351573944092, 0.11857274919748306, 0.18877571821212769, 0,
168
+ -0.15575434267520905, 0.9681083559989929, 0.19623035192489624, 0,
169
+ -0.15948788821697235, -0.22069483995437622, 0.9622148275375366, 0,
170
+ -0.03783353418111801, 0.07334739714860916, -0.020782606676220894, 1,
171
+ ],
172
+ radius: 0.007231088820844889,
173
+ },
174
+ 'ring-finger-tip': {
175
+ offsetMatrix: [
176
+ 0.9748351573944092, 0.11857274919748306, 0.18877571821212769, 0,
177
+ -0.15575434267520905, 0.9681083559989929, 0.19623035192489624, 0,
178
+ -0.15948788821697235, -0.22069483995437622, 0.9622148275375366, 0,
179
+ -0.03445569798350334, 0.0802423357963562, -0.04392268508672714, 1,
180
+ ],
181
+ radius: 0.0062310886569321156,
182
+ },
183
+ 'pinky-finger-metacarpal': {
184
+ offsetMatrix: [
185
+ 0.9181402921676636, 0.35625091195106506, 0.17350243031978607, 0,
186
+ -0.39615097641944885, 0.8352503180503845, 0.38134080171585083, 0,
187
+ -0.009065053425729275, -0.41885748505592346, 0.9080066680908203, 0,
188
+ -0.06191859766840935, 0.013620133511722088, 0.07850203663110733, 1,
189
+ ],
190
+ radius: 0.01808827556669712,
191
+ },
192
+ 'pinky-finger-phalanx-proximal': {
193
+ offsetMatrix: [
194
+ 0.9714386463165283, 0.236698180437088, -0.016745081171393394, 0,
195
+ -0.18462024629116058, 0.7982627749443054, 0.5733163952827454, 0,
196
+ 0.14906984567642212, -0.5538501739501953, 0.8191629648208618, 0,
197
+ -0.061502378433942795, 0.032741155475378036, 0.03705105185508728, 1,
198
+ ],
199
+ radius: 0.008483353070914745,
200
+ },
201
+ 'pinky-finger-phalanx-intermediate': {
202
+ offsetMatrix: [
203
+ 0.9337416291236877, 0.35620439052581787, -0.03527557849884033, 0,
204
+ -0.33203884959220886, 0.8987522721290588, 0.28634607791900635, 0,
205
+ 0.13370157778263092, -0.2556603252887726, 0.9574766755104065, 0,
206
+ -0.06608185172080994, 0.049755651503801346, 0.011886020191013813, 1,
207
+ ],
208
+ radius: 0.0067641944624483585,
209
+ },
210
+ 'pinky-finger-phalanx-distal': {
211
+ offsetMatrix: [
212
+ 0.9419984817504883, 0.3303581774234772, 0.059175245463848114, 0,
213
+ -0.33483216166496277, 0.9130291938781738, 0.23294763267040253, 0,
214
+ 0.02292730286717415, -0.2392500638961792, 0.970687210559845, 0,
215
+ -0.0687975287437439, 0.054948460310697556, -0.007561664097011089, 1,
216
+ ],
217
+ radius: 0.0064259846694767475,
218
+ },
219
+ 'pinky-finger-tip': {
220
+ offsetMatrix: [
221
+ 0.9419984817504883, 0.3303581774234772, 0.059175245463848114, 0,
222
+ -0.33483216166496277, 0.9130291938781738, 0.23294763267040253, 0,
223
+ 0.02292730286717415, -0.2392500638961792, 0.970687210559845, 0,
224
+ -0.06947512179613113, 0.0613851435482502, -0.028543535619974136, 1,
225
+ ],
226
+ radius: 0.005425984505563974,
227
+ },
228
+ },
229
+ gripOffsetMatrix: [
230
+ -0.0005348679260350764, -0.8648636937141418, -0.5020061135292053, 0,
231
+ -0.2741127908229828, -0.48265108466148376, 0.8318111896514893, 0,
232
+ -0.9616971015930176, 0.13805119693279266, -0.2368120402097702, 0,
233
+ -0.02878567762672901, 0.0017147823236882687, 0.04536811262369156, 1,
234
+ ],
235
+ };
236
+ //# sourceMappingURL=relaxed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relaxed.js","sourceRoot":"","sources":["../../../../src/device/configs/hand/relaxed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { XRDeviceConfig } from '../../XRDevice';
2
+ export declare const oculusQuest1: XRDeviceConfig;
3
+ export declare const metaQuest2: XRDeviceConfig;
4
+ export declare const metaQuestPro: XRDeviceConfig;
5
+ export declare const metaQuest3: XRDeviceConfig;
6
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/device/configs/headset/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAU/D,eAAO,MAAM,YAAY,EAAE,cAqB1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAuBxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAuB1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAwBxB,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { WebXRFeatures } from '../../XRDevice';
2
+ import { metaQuestTouchPlus, metaQuestTouchPro, oculusTouchV2, oculusTouchV3, } from '../controller/meta';
3
+ import { XRSessionMode } from '../../../session/XRSession';
4
+ export const oculusQuest1 = {
5
+ name: 'Oculus Quest 1',
6
+ controllerConfig: oculusTouchV2,
7
+ supportedSessionModes: [
8
+ XRSessionMode.Inline,
9
+ XRSessionMode.ImmersiveVR,
10
+ XRSessionMode.ImmersiveAR,
11
+ ],
12
+ supportedFeatures: [
13
+ WebXRFeatures.Viewer,
14
+ WebXRFeatures.Local,
15
+ WebXRFeatures.LocalFloor,
16
+ WebXRFeatures.BoundedFloor,
17
+ WebXRFeatures.Unbounded,
18
+ WebXRFeatures.Anchors,
19
+ WebXRFeatures.PlaneDetection,
20
+ WebXRFeatures.HandTracking,
21
+ ],
22
+ supportedFrameRates: [72, 80, 90],
23
+ isSystemKeyboardSupported: true,
24
+ internalNominalFrameRate: 72,
25
+ };
26
+ export const metaQuest2 = {
27
+ name: 'Meta Quest 2',
28
+ controllerConfig: oculusTouchV3,
29
+ supportedSessionModes: [
30
+ XRSessionMode.Inline,
31
+ XRSessionMode.ImmersiveVR,
32
+ XRSessionMode.ImmersiveAR,
33
+ ],
34
+ supportedFeatures: [
35
+ WebXRFeatures.Viewer,
36
+ WebXRFeatures.Local,
37
+ WebXRFeatures.LocalFloor,
38
+ WebXRFeatures.BoundedFloor,
39
+ WebXRFeatures.Unbounded,
40
+ WebXRFeatures.Anchors,
41
+ WebXRFeatures.PlaneDetection,
42
+ WebXRFeatures.MeshDetection,
43
+ WebXRFeatures.HitTest,
44
+ WebXRFeatures.HandTracking,
45
+ ],
46
+ supportedFrameRates: [72, 80, 90, 120],
47
+ isSystemKeyboardSupported: true,
48
+ internalNominalFrameRate: 72,
49
+ };
50
+ export const metaQuestPro = {
51
+ name: 'Meta Quest Pro',
52
+ controllerConfig: metaQuestTouchPro,
53
+ supportedSessionModes: [
54
+ XRSessionMode.Inline,
55
+ XRSessionMode.ImmersiveVR,
56
+ XRSessionMode.ImmersiveAR,
57
+ ],
58
+ supportedFeatures: [
59
+ WebXRFeatures.Viewer,
60
+ WebXRFeatures.Local,
61
+ WebXRFeatures.LocalFloor,
62
+ WebXRFeatures.BoundedFloor,
63
+ WebXRFeatures.Unbounded,
64
+ WebXRFeatures.Anchors,
65
+ WebXRFeatures.PlaneDetection,
66
+ WebXRFeatures.MeshDetection,
67
+ WebXRFeatures.HitTest,
68
+ WebXRFeatures.HandTracking,
69
+ ],
70
+ supportedFrameRates: [72, 80, 90, 120],
71
+ isSystemKeyboardSupported: true,
72
+ internalNominalFrameRate: 90,
73
+ };
74
+ export const metaQuest3 = {
75
+ name: 'Meta Quest 3',
76
+ controllerConfig: metaQuestTouchPlus,
77
+ supportedSessionModes: [
78
+ XRSessionMode.Inline,
79
+ XRSessionMode.ImmersiveVR,
80
+ XRSessionMode.ImmersiveAR,
81
+ ],
82
+ supportedFeatures: [
83
+ WebXRFeatures.Viewer,
84
+ WebXRFeatures.Local,
85
+ WebXRFeatures.LocalFloor,
86
+ WebXRFeatures.BoundedFloor,
87
+ WebXRFeatures.Unbounded,
88
+ WebXRFeatures.Anchors,
89
+ WebXRFeatures.PlaneDetection,
90
+ WebXRFeatures.MeshDetection,
91
+ WebXRFeatures.HitTest,
92
+ WebXRFeatures.HandTracking,
93
+ WebXRFeatures.DepthSensing,
94
+ ],
95
+ supportedFrameRates: [72, 80, 90, 120],
96
+ isSystemKeyboardSupported: true,
97
+ internalNominalFrameRate: 90,
98
+ };
99
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../../src/device/configs/headset/meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { mat4 } from 'gl-matrix';
2
+ interface Button {
3
+ id: string;
4
+ type: 'binary' | 'analog';
5
+ eventTrigger?: 'select' | 'squeeze';
6
+ }
7
+ interface Axis {
8
+ id: string;
9
+ type: 'x-axis' | 'y-axis';
10
+ }
11
+ export interface GamepadConfig {
12
+ mapping: 'xr-standard' | '';
13
+ buttons: (Button | null)[];
14
+ axes: (Axis | null)[];
15
+ }
16
+ export interface XRControllerConfig {
17
+ profileId: string;
18
+ fallbackProfileIds: string[];
19
+ layout: {
20
+ [handedness: string]: {
21
+ gamepad: GamepadConfig;
22
+ gripOffsetMatrix: mat4 | undefined;
23
+ numHapticActuators: number;
24
+ };
25
+ };
26
+ }
27
+ export declare const ControllerConfigs: {
28
+ [controllerId: string]: XRControllerConfig;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=controllers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/device/controllers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,UAAU,MAAM;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACpC;AAED,UAAU,IAAI;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,aAAa,GAAG,EAAE,CAAC;IAC5B,OAAO,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3B,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE;QACP,CAAC,UAAU,EAAE,MAAM,GAAG;YACrB,OAAO,EAAE,aAAa,CAAC;YACvB,gBAAgB,EAAE,IAAI,GAAG,SAAS,CAAC;YACnC,kBAAkB,EAAE,MAAM,CAAC;SAC3B,CAAC;KACF,CAAC;CACF;AAED,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAM1E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { metaQuestTouchPlus, metaQuestTouchPro, oculusTouchV2, oculusTouchV3, } from './configs/controller/meta';
2
+ export const ControllerConfigs = {
3
+ 'oculus-touch-v2': oculusTouchV2,
4
+ 'oculus-touch-v3': oculusTouchV3,
5
+ 'meta-quest-touch-pro': metaQuestTouchPro,
6
+ 'meta-quest-touch-plus': metaQuestTouchPlus,
7
+ };
8
+ //# sourceMappingURL=controllers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/device/controllers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACb,MAAM,2BAA2B,CAAC;AAiCnC,MAAM,CAAC,MAAM,iBAAiB,GAC7B;IACC,iBAAiB,EAAE,aAAa;IAChC,iBAAiB,EAAE,aAAa;IAChC,sBAAsB,EAAE,iBAAiB;IACzC,uBAAuB,EAAE,kBAAkB;CAC3C,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { XRFrame } from '../frameloop/XRFrame';
2
+ import { XRInputSource } from '../input/XRInputSource';
3
+ interface XRInputSourceEventInit extends EventInit {
4
+ frame: XRFrame;
5
+ inputSource: XRInputSource;
6
+ }
7
+ export declare class XRInputSourceEvent extends Event {
8
+ readonly frame: XRFrame;
9
+ readonly inputSource: XRInputSource;
10
+ constructor(type: string, eventInitDict: XRInputSourceEventInit);
11
+ }
12
+ export interface XRInputSourceEventHandler {
13
+ (evt: XRInputSourceEvent): any;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=XRInputSourceEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRInputSourceEvent.d.ts","sourceRoot":"","sources":["../../src/events/XRInputSourceEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,UAAU,sBAAuB,SAAQ,SAAS;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,aAAa,CAAC;CAC3B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,SAAgB,KAAK,EAAE,OAAO,CAAC;IAC/B,SAAgB,WAAW,EAAE,aAAa,CAAC;gBAE/B,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,sBAAsB;CAW/D;AAED,MAAM,WAAW,yBAAyB;IACzC,CAAC,GAAG,EAAE,kBAAkB,GAAG,GAAG,CAAC;CAC/B"}
@@ -0,0 +1,14 @@
1
+ export class XRInputSourceEvent extends Event {
2
+ constructor(type, eventInitDict) {
3
+ super(type, eventInitDict);
4
+ if (!eventInitDict.frame) {
5
+ throw new Error('XRInputSourceEventInit.frame is required');
6
+ }
7
+ if (!eventInitDict.inputSource) {
8
+ throw new Error('XRInputSourceEventInit.inputSource is required');
9
+ }
10
+ this.frame = eventInitDict.frame;
11
+ this.inputSource = eventInitDict.inputSource;
12
+ }
13
+ }
14
+ //# sourceMappingURL=XRInputSourceEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRInputSourceEvent.js","sourceRoot":"","sources":["../../src/events/XRInputSourceEvent.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAI5C,YAAY,IAAY,EAAE,aAAqC;QAC9D,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SAClE;QACD,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IAC9C,CAAC;CACD"}
@@ -0,0 +1,18 @@
1
+ import { XRInputSource } from '../input/XRInputSource';
2
+ import { XRSession } from '../session/XRSession';
3
+ interface XRInputSourcesChangeEventInit extends EventInit {
4
+ session: XRSession;
5
+ added: XRInputSource[];
6
+ removed: XRInputSource[];
7
+ }
8
+ export declare class XRInputSourcesChangeEvent extends Event {
9
+ readonly session: XRSession;
10
+ readonly added: XRInputSource[];
11
+ readonly removed: XRInputSource[];
12
+ constructor(type: string, eventInitDict: XRInputSourcesChangeEventInit);
13
+ }
14
+ export interface XRInputSourcesChangeEventHandler {
15
+ (evt: XRInputSourcesChangeEvent): any;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=XRInputSourcesChangeEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRInputSourcesChangeEvent.d.ts","sourceRoot":"","sources":["../../src/events/XRInputSourcesChangeEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,UAAU,6BAA8B,SAAQ,SAAS;IACxD,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IACnD,SAAgB,OAAO,EAAE,SAAS,CAAC;IACnC,SAAgB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvC,SAAgB,OAAO,EAAE,aAAa,EAAE,CAAC;gBAE7B,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,6BAA6B;CAetE;AAED,MAAM,WAAW,gCAAgC;IAChD,CAAC,GAAG,EAAE,yBAAyB,GAAG,GAAG,CAAC;CACtC"}
@@ -0,0 +1,18 @@
1
+ export class XRInputSourcesChangeEvent extends Event {
2
+ constructor(type, eventInitDict) {
3
+ super(type, eventInitDict);
4
+ if (!eventInitDict.session) {
5
+ throw new Error('XRInputSourcesChangeEventInit.session is required');
6
+ }
7
+ if (!eventInitDict.added) {
8
+ throw new Error('XRInputSourcesChangeEventInit.added is required');
9
+ }
10
+ if (!eventInitDict.removed) {
11
+ throw new Error('XRInputSourcesChangeEventInit.removed is required');
12
+ }
13
+ this.session = eventInitDict.session;
14
+ this.added = eventInitDict.added;
15
+ this.removed = eventInitDict.removed;
16
+ }
17
+ }
18
+ //# sourceMappingURL=XRInputSourcesChangeEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRInputSourcesChangeEvent.js","sourceRoot":"","sources":["../../src/events/XRInputSourcesChangeEvent.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAKnD,YAAY,IAAY,EAAE,aAA4C;QACrE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACnE;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,CAAC;CACD"}
@@ -0,0 +1,16 @@
1
+ import { XRReferenceSpace } from '../spaces/XRReferenceSpace';
2
+ import { XRRigidTransform } from '../primitives/XRRigidTransform';
3
+ interface XRReferenceSpaceEventInit extends EventInit {
4
+ referenceSpace: XRReferenceSpace;
5
+ transform?: XRRigidTransform;
6
+ }
7
+ export declare class XRReferenceSpaceEvent extends Event {
8
+ readonly referenceSpace: XRReferenceSpace;
9
+ readonly transform?: XRRigidTransform;
10
+ constructor(type: string, eventInitDict: XRReferenceSpaceEventInit);
11
+ }
12
+ export interface XRReferenceSpaceEventHandler {
13
+ (evt: XRReferenceSpaceEvent): any;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=XRReferenceSpaceEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRReferenceSpaceEvent.d.ts","sourceRoot":"","sources":["../../src/events/XRReferenceSpaceEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,UAAU,yBAA0B,SAAQ,SAAS;IACpD,cAAc,EAAE,gBAAgB,CAAC;IACjC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC/C,SAAgB,cAAc,EAAE,gBAAgB,CAAC;IACjD,SAAgB,SAAS,CAAC,EAAE,gBAAgB,CAAC;gBAEjC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,yBAAyB;CAQlE;AAED,MAAM,WAAW,4BAA4B;IAC5C,CAAC,GAAG,EAAE,qBAAqB,GAAG,GAAG,CAAC;CAClC"}
@@ -0,0 +1,11 @@
1
+ export class XRReferenceSpaceEvent extends Event {
2
+ constructor(type, eventInitDict) {
3
+ super(type, eventInitDict);
4
+ if (!eventInitDict.referenceSpace) {
5
+ throw new Error('XRReferenceSpaceEventInit.referenceSpace is required');
6
+ }
7
+ this.referenceSpace = eventInitDict.referenceSpace;
8
+ this.transform = eventInitDict.transform;
9
+ }
10
+ }
11
+ //# sourceMappingURL=XRReferenceSpaceEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRReferenceSpaceEvent.js","sourceRoot":"","sources":["../../src/events/XRReferenceSpaceEvent.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAI/C,YAAY,IAAY,EAAE,aAAwC;QACjE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;IAC1C,CAAC;CACD"}
@@ -0,0 +1,13 @@
1
+ import { XRSession } from '../session/XRSession';
2
+ interface XRSessionEventInit extends EventInit {
3
+ session: XRSession;
4
+ }
5
+ export declare class XRSessionEvent extends Event {
6
+ readonly session: XRSession;
7
+ constructor(type: string, eventInitDict: XRSessionEventInit);
8
+ }
9
+ export interface XRSessionEventHandler {
10
+ (evt: XRSessionEvent): any;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=XRSessionEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRSessionEvent.d.ts","sourceRoot":"","sources":["../../src/events/XRSessionEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,UAAU,kBAAmB,SAAQ,SAAS;IAC7C,OAAO,EAAE,SAAS,CAAC;CACnB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACxC,SAAgB,OAAO,EAAE,SAAS,CAAC;gBAEvB,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB;CAO3D;AAED,MAAM,WAAW,qBAAqB;IACrC,CAAC,GAAG,EAAE,cAAc,GAAG,GAAG,CAAC;CAC3B"}
@@ -0,0 +1,10 @@
1
+ export class XRSessionEvent extends Event {
2
+ constructor(type, eventInitDict) {
3
+ super(type, eventInitDict);
4
+ if (!eventInitDict.session) {
5
+ throw new Error('XRSessionEventInit.session is required');
6
+ }
7
+ this.session = eventInitDict.session;
8
+ }
9
+ }
10
+ //# sourceMappingURL=XRSessionEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRSessionEvent.js","sourceRoot":"","sources":["../../src/events/XRSessionEvent.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAGxC,YAAY,IAAY,EAAE,aAAiC;QAC1D,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,CAAC;CACD"}
@@ -0,0 +1,28 @@
1
+ import { XRJointSpace } from '../spaces/XRJointSpace';
2
+ import { XRSession } from '../session/XRSession';
3
+ import { XRSpace } from '../spaces/XRSpace';
4
+ import { mat4 } from 'gl-matrix';
5
+ import { XRJointPose } from '../pose/XRJointPose';
6
+ import { XRPose } from '../pose/XRPose';
7
+ import { XRReferenceSpace } from '../spaces/XRReferenceSpace';
8
+ import { XRViewerPose } from '../pose/XRViewerPose';
9
+ export declare const PRIVATE: unique symbol;
10
+ export declare class XRFrame {
11
+ [PRIVATE]: {
12
+ session: XRSession;
13
+ id: number;
14
+ active: boolean;
15
+ animationFrame: boolean;
16
+ predictedDisplayTime: number;
17
+ tempMat4: mat4;
18
+ };
19
+ constructor(session: XRSession, id: number, active: boolean, animationFrame: boolean, predictedDisplayTime: number);
20
+ get session(): XRSession;
21
+ get predictedDisplayTime(): number;
22
+ getPose(space: XRSpace, baseSpace: XRSpace): XRPose;
23
+ getViewerPose(referenceSpace: XRReferenceSpace): XRViewerPose;
24
+ getJointPose(joint: XRJointSpace, baseSpace: XRSpace): XRJointPose;
25
+ fillJointRadii(jointSpaces: XRJointSpace[], radii: Float32Array): boolean;
26
+ fillPoses(spaces: XRSpace[], baseSpace: XRSpace, transforms: Float32Array): boolean;
27
+ }
28
+ //# sourceMappingURL=XRFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XRFrame.d.ts","sourceRoot":"","sources":["../../src/frameloop/XRFrame.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,YAAY,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEN,SAAS,EAET,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEN,OAAO,EAEP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAc,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,OAAO,eAAsD,CAAC;AAiB3E,qBAAa,OAAO;IACnB,CAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,SAAS,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,EAAE,OAAO,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,QAAQ,EAAE,IAAI,CAAC;KACf,CAAC;gBAGD,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,EACf,cAAc,EAAE,OAAO,EACvB,oBAAoB,EAAE,MAAM;IAY7B,IAAI,OAAO,cAEV;IAED,IAAI,oBAAoB,WAEvB;IAED,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO;IA0B1C,aAAa,CAAC,cAAc,EAAE,gBAAgB;IAiC9C,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO;IAMpD,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY;IA2B/D,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY;CAuBzE"}