@vincentt-xr/sdk 2.0.0-alpha.7 → 2.0.0-alpha.8

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 (275) hide show
  1. package/GROUNDING.md +1109 -13
  2. package/dist/{DebuggerUI-BjOMr8q_.js → DebuggerUI-C-ldiozL.js} +1 -1
  3. package/dist/{DebuggerUI-B6bP6P9r.cjs → DebuggerUI-CWX5EtQv.cjs} +1 -1
  4. package/dist/FaceMeshRenderer-BEEXZwS6.cjs +158 -0
  5. package/dist/FaceMeshRenderer-UuH5sTXG.js +1322 -0
  6. package/dist/FaceRetouch-C7h7x9kd.js +683 -0
  7. package/dist/FaceRetouch-DqftT26Y.cjs +134 -0
  8. package/dist/GLTFLoader-C5q63sKO.js +1633 -0
  9. package/dist/GLTFLoader-Cb_CRwmG.cjs +1 -0
  10. package/dist/SegmentationOverlay-DQuW3dsc.js +133 -0
  11. package/dist/SegmentationOverlay-aWVod8Kl.cjs +1 -0
  12. package/dist/assets/cache.d.ts +99 -0
  13. package/dist/assets/estimate.d.ts +11 -0
  14. package/dist/assets/index.d.ts +7 -0
  15. package/dist/assets/loaders.d.ts +28 -0
  16. package/dist/assets/react.d.ts +33 -0
  17. package/dist/calibration/calibration.d.ts +70 -0
  18. package/dist/calibration/index.d.ts +6 -0
  19. package/dist/calibration/storage.d.ts +13 -0
  20. package/dist/calibration/types.d.ts +53 -0
  21. package/dist/calibration/useXRCalibration.d.ts +46 -0
  22. package/dist/camera/CameraPermissionGate.d.ts +26 -0
  23. package/dist/camera/devices.d.ts +26 -0
  24. package/dist/camera/index.d.ts +8 -0
  25. package/dist/camera/permission.d.ts +86 -0
  26. package/dist/camera/useCameraPermission.d.ts +35 -0
  27. package/dist/capabilities/detect.d.ts +45 -0
  28. package/dist/capabilities/index.d.ts +5 -0
  29. package/dist/capabilities/types.d.ts +120 -0
  30. package/dist/capabilities/useXRCapabilities.d.ts +18 -0
  31. package/dist/compat/environment.d.ts +5 -0
  32. package/dist/compat/index.d.ts +4 -0
  33. package/dist/compat/run.d.ts +18 -0
  34. package/dist/compat/scenarios.d.ts +10 -0
  35. package/dist/compat/types.d.ts +101 -0
  36. package/dist/components/BodyTracker/index.d.ts +9 -0
  37. package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +33 -3
  38. package/dist/components/FaceMesh/canonical/parseCanonicalFaceModel.d.ts +12 -0
  39. package/dist/components/FaceMesh/canonical/shaders.d.ts +1 -1
  40. package/dist/components/FaceMesh/index.d.ts +1 -1
  41. package/dist/components/GestureListener/index.d.ts +11 -0
  42. package/dist/components/HandTracker/index.d.ts +10 -0
  43. package/dist/components/HolisticTracker/index.d.ts +69 -0
  44. package/dist/components/HolisticTracker/settings.d.ts +58 -0
  45. package/dist/components/HolisticTracker/signals.d.ts +49 -0
  46. package/dist/components/IrisEffect/IrisMaterial.d.ts +73 -0
  47. package/dist/components/IrisEffect/index.d.ts +51 -0
  48. package/dist/components/IrisEffect/settings.d.ts +117 -0
  49. package/dist/components/LipEffect/LipEffect.d.ts +7 -1
  50. package/dist/components/LipEffect/LipEffectMaterial.d.ts +43 -7
  51. package/dist/components/LipEffect/LipEffects.d.ts +9 -0
  52. package/dist/components/LipEffect/defaults.d.ts +27 -4
  53. package/dist/components/LipEffect/index.d.ts +11 -3
  54. package/dist/components/LipEffect/settings.d.ts +271 -0
  55. package/dist/components/LipEffect/types.d.ts +56 -9
  56. package/dist/components/LipEffect/useLipDesignTextures.d.ts +11 -0
  57. package/dist/components/LipEffect/uvGuide.d.ts +59 -0
  58. package/dist/components/PersonCutout/index.d.ts +50 -0
  59. package/dist/components/PersonCutout/personCutout.d.ts +16 -0
  60. package/dist/components/ScreenImage/components/ScreenImageBody.d.ts +1 -1
  61. package/dist/components/ScreenImage/index.d.ts +3 -1
  62. package/dist/components/ScreenImage/materials/ScreenImageBlendMaterial.d.ts +1 -1
  63. package/dist/components/ScreenImage/materials/ScreenImageMaskMaterial.d.ts +11 -0
  64. package/dist/components/ScreenImage/source.d.ts +6 -0
  65. package/dist/components/ScreenImage/types.d.ts +18 -0
  66. package/dist/components/SegmentationOverlay/SegmentationOverlay.d.ts +37 -0
  67. package/dist/components/SegmentationOverlay/SegmentationOverlayMaterial.d.ts +31 -0
  68. package/dist/components/SegmentationOverlay/index.d.ts +9 -0
  69. package/dist/components/SegmentationOverlay/maskTexture.d.ts +23 -0
  70. package/dist/components/SegmentationOverlay/providers.d.ts +72 -0
  71. package/dist/components/SegmentationOverlay/settings.d.ts +65 -0
  72. package/dist/components/XRProvider/index.d.ts +16 -2
  73. package/dist/components/XRViewport/hooks/useViewportExternalFaces.d.ts +1 -1
  74. package/dist/components/XRViewport/hooks/useViewportMediaSource.d.ts +1 -1
  75. package/dist/components/XRViewport/hooks/useViewportPipeline.d.ts +1 -1
  76. package/dist/components/index.d.ts +3 -0
  77. package/dist/constants/index.d.ts +4 -1
  78. package/dist/contexts-CO0sd4JQ.cjs +1 -0
  79. package/dist/{contexts-ByhzppYl.js → contexts-FzlnnMYD.js} +252 -246
  80. package/dist/coordinates/feed.d.ts +52 -0
  81. package/dist/coordinates/index.d.ts +5 -0
  82. package/dist/coordinates/spaces.d.ts +49 -0
  83. package/dist/coordinates/viewport.d.ts +22 -0
  84. package/dist/coordinates/world.d.ts +15 -0
  85. package/dist/debug-ui/gesture-settings/index.d.ts +14 -0
  86. package/dist/debug-ui/holistic-tracker-settings/index.d.ts +16 -0
  87. package/dist/debug-ui/index.d.ts +14 -0
  88. package/dist/debug-ui/iris-effect-settings/index.d.ts +12 -0
  89. package/dist/debug-ui/lip-effect-settings/index.d.ts +15 -0
  90. package/dist/debug-ui/media-source.cjs +1 -1
  91. package/dist/debug-ui/media-source.js +1 -1
  92. package/dist/debug-ui/product-hotspots/index.d.ts +24 -0
  93. package/dist/debug-ui/segmentation-overlay-settings/index.d.ts +12 -0
  94. package/dist/debug-ui/xr-diagnostics/index.d.ts +25 -0
  95. package/dist/debug-ui.cjs +3 -3
  96. package/dist/debug-ui.js +2057 -1687
  97. package/dist/detector-K8aej4MB.js +59 -0
  98. package/dist/detector-ijypGtse.cjs +1 -0
  99. package/dist/entries/core.d.ts +18 -1
  100. package/dist/entries/face-effects.d.ts +11 -3
  101. package/dist/entries/low-level.d.ts +22 -3
  102. package/dist/entries/product.d.ts +11 -0
  103. package/dist/entries/tracking.d.ts +24 -1
  104. package/dist/face-effects.cjs +155 -1
  105. package/dist/face-effects.js +1134 -2197
  106. package/dist/gestures/definitions.d.ts +85 -0
  107. package/dist/gestures/detector.d.ts +87 -0
  108. package/dist/gestures/index.d.ts +8 -0
  109. package/dist/gestures/measures.d.ts +101 -0
  110. package/dist/gestures/settings.d.ts +49 -0
  111. package/dist/{getFaceInfo-C4QpCQIY.js → getFaceInfo-BkZfaQs-.js} +5 -5
  112. package/dist/{getFaceInfo-fA1bFBub.cjs → getFaceInfo-ahPxQFGu.cjs} +1 -1
  113. package/dist/hooks/selectors.d.ts +68 -1
  114. package/dist/hooks/useCalibrationFaceTracker.d.ts +1 -1
  115. package/dist/hooks/useFaceInfo.d.ts +13 -1
  116. package/dist/hooks/useFaceInfos.d.ts +1 -1
  117. package/dist/hooks/useGesture.d.ts +32 -0
  118. package/dist/hooks/useIrisTracking.d.ts +45 -0
  119. package/dist/hooks/useXRDiagnostics.d.ts +81 -0
  120. package/dist/hooks/useXRModel.d.ts +7 -0
  121. package/dist/hooks/useXRSession/facade.d.ts +42 -2
  122. package/dist/hooks/useXRSession/index.d.ts +2 -2
  123. package/dist/hooks/useXRSession/reason.d.ts +3 -1
  124. package/dist/hooks/useXRSession/registry.d.ts +14 -0
  125. package/dist/hooks/useXRSession/store.d.ts +52 -3
  126. package/dist/index--RgGzZ6X.cjs +47 -0
  127. package/dist/{index-VJ0SJwmG.js → index-CHVbH0hz.js} +4 -4
  128. package/dist/index-CeVkgsag.cjs +1 -0
  129. package/dist/index-CnGox6Xr.js +3054 -0
  130. package/dist/{index-ByoNj0QP.js → index-CsUdQ-pn.js} +113 -111
  131. package/dist/{index-BjmTe9eM.cjs → index-DKBAh6hV.cjs} +1 -1
  132. package/dist/index-DsZwTfG0.cjs +1 -0
  133. package/dist/index-Dw6tj2Mi.js +144 -0
  134. package/dist/index-OCPjOaeP.cjs +1 -0
  135. package/dist/{index-DXT3WccE.js → index-s9pF4zkG.js} +1065 -1101
  136. package/dist/internal-BYza1h8_.cjs +1 -0
  137. package/dist/{internal-Dmk1cTXq.js → internal-vsfNQycj.js} +15 -16
  138. package/dist/internal.cjs +1 -1
  139. package/dist/internal.js +2 -2
  140. package/dist/iris/compute.d.ts +25 -0
  141. package/dist/iris/index.d.ts +4 -0
  142. package/dist/iris/lead.d.ts +19 -0
  143. package/dist/iris/types.d.ts +87 -0
  144. package/dist/landmarkMask-CbTFzBYG.js +224 -0
  145. package/dist/landmarkMask-u7es2k4X.cjs +1 -0
  146. package/dist/low-level.cjs +1 -1
  147. package/dist/low-level.js +1085 -634
  148. package/dist/main.cjs +1 -1
  149. package/dist/main.js +1519 -465
  150. package/dist/measures-9dQPdw96.js +154 -0
  151. package/dist/measures-KfJzpvod.cjs +1 -0
  152. package/dist/models/Base/index.d.ts +49 -0
  153. package/dist/models/Body/index.d.ts +1 -1
  154. package/dist/models/Face/index.d.ts +1 -1
  155. package/dist/models/Hand/GestureTracking.d.ts +1 -1
  156. package/dist/models/Hand/HandTracking.d.ts +1 -1
  157. package/dist/models/Holistic/index.d.ts +49 -0
  158. package/dist/models/Holistic/result.d.ts +68 -0
  159. package/dist/models/SemanticSegmentation/index.d.ts +31 -0
  160. package/dist/models/SemanticSegmentation/presets.d.ts +28 -0
  161. package/dist/models/index.d.ts +2 -0
  162. package/dist/product/ProductDimensions.d.ts +16 -0
  163. package/dist/product/ProductHotspot.d.ts +16 -0
  164. package/dist/product/ProductViewer.d.ts +9 -0
  165. package/dist/product/details.d.ts +53 -0
  166. package/dist/product/index.d.ts +14 -0
  167. package/dist/product/loadModelViewer.d.ts +4 -0
  168. package/dist/product/types.d.ts +71 -0
  169. package/dist/product/useProductAr.d.ts +37 -0
  170. package/dist/product/useProductDetails.d.ts +60 -0
  171. package/dist/product.cjs +1 -0
  172. package/dist/product.js +414 -0
  173. package/dist/providers-C0Dlhh9Z.js +365 -0
  174. package/dist/providers-YNwkmNeK.cjs +62 -0
  175. package/dist/quality/XRQualityController.d.ts +25 -0
  176. package/dist/quality/controller.d.ts +33 -0
  177. package/dist/quality/index.d.ts +6 -0
  178. package/dist/quality/types.d.ts +100 -0
  179. package/dist/quality/useXRQuality.d.ts +28 -0
  180. package/dist/{renderGroups-KZk6eRiY.js → renderGroups-CN1cGFUo.js} +1 -1
  181. package/dist/{renderGroups-80H3DpTl.cjs → renderGroups-O4KmaMl9.cjs} +1 -1
  182. package/dist/renderPasses-Cg-zqmEz.cjs +21 -0
  183. package/dist/renderPasses-NnKZVfBy.js +1460 -0
  184. package/dist/scene-object.cjs +1 -1
  185. package/dist/scene-object.js +2 -2
  186. package/dist/screenTransform-BenfCtZt.js +44 -0
  187. package/dist/screenTransform-BiXdpVf0.cjs +1 -0
  188. package/dist/segmentation-9PhSvc-R.cjs +1 -0
  189. package/dist/segmentation-CeOTKemr.js +5 -0
  190. package/dist/segmentation2d/faceMemory.d.ts +28 -0
  191. package/dist/segmentation2d/faceRegions.d.ts +24 -0
  192. package/dist/segmentation2d/index.d.ts +9 -0
  193. package/dist/segmentation2d/maskUv.d.ts +23 -0
  194. package/dist/segmentation2d/rasterize.d.ts +14 -0
  195. package/dist/segmentation2d/types.d.ts +46 -0
  196. package/dist/selectors-C5G1PMYL.js +195 -0
  197. package/dist/selectors-Du_PsVnW.cjs +1 -0
  198. package/dist/{session-CpkiK5YA.cjs → session-BBr0yN8h.cjs} +7 -7
  199. package/dist/{session-DLFN_VII.js → session-Cy0m7l7-.js} +76 -76
  200. package/dist/settings-DRR7-snV.cjs +1 -0
  201. package/dist/settings-aQk845NJ.js +73 -0
  202. package/dist/subjects/index.d.ts +2 -0
  203. package/dist/subjects/select.d.ts +62 -0
  204. package/dist/subjects/types.d.ts +55 -0
  205. package/dist/tracking-config/apply.d.ts +57 -0
  206. package/dist/tracking-config/index.d.ts +7 -0
  207. package/dist/tracking-config/resolve.d.ts +25 -0
  208. package/dist/tracking-config/storage.d.ts +8 -0
  209. package/dist/tracking-config/types.d.ts +106 -0
  210. package/dist/tracking-config/useXRTrackingConfig.d.ts +38 -0
  211. package/dist/tracking.cjs +1 -1
  212. package/dist/tracking.js +1056 -383
  213. package/dist/types/compositor.d.ts +21 -0
  214. package/dist/types/holistic.d.ts +121 -0
  215. package/dist/types/index.d.ts +1 -0
  216. package/dist/types/model.d.ts +22 -2
  217. package/dist/types/nodes.d.ts +27 -2
  218. package/dist/types/segmentation.d.ts +19 -0
  219. package/dist/types/session.d.ts +41 -3
  220. package/dist/useFaceInfo-Blf7FCu3.js +303 -0
  221. package/dist/useFaceInfo-C5mO8NQY.cjs +1 -0
  222. package/dist/useXRCapabilities-B1R2ghy-.cjs +1 -0
  223. package/dist/useXRCapabilities-C68v__wB.js +30 -0
  224. package/dist/utils/fns.d.ts +6 -3
  225. package/dist/utils/integrity.d.ts +4 -1
  226. package/dist/utils/updateThrottle.d.ts +2 -0
  227. package/dist/utils/useStableUniforms.d.ts +18 -0
  228. package/docs/api/adaptive-quality.mdx +104 -0
  229. package/docs/api/asset-lifecycle.mdx +78 -0
  230. package/docs/api/camera-permission.mdx +142 -0
  231. package/docs/api/coordinate-spaces.mdx +165 -0
  232. package/docs/api/cross-camera.mdx +88 -0
  233. package/docs/api/diagnostics-calibration.mdx +97 -0
  234. package/docs/api/face-effects.mdx +6 -0
  235. package/docs/api/face-mesh.mdx +4 -2
  236. package/docs/api/gestures.mdx +173 -0
  237. package/docs/api/holistic-tracker.mdx +159 -0
  238. package/docs/api/iris-tracking.mdx +242 -0
  239. package/docs/api/multi-subject.mdx +95 -0
  240. package/docs/api/person-cutout.mdx +136 -0
  241. package/docs/api/product-ar.mdx +111 -0
  242. package/docs/api/product-details.mdx +78 -0
  243. package/docs/api/screen-space-coordinates.mdx +4 -1
  244. package/docs/api/segmentation-overlay.mdx +301 -0
  245. package/docs/api/session-lifecycle.mdx +136 -0
  246. package/docs/api/trackers.mdx +5 -0
  247. package/docs/api/tracking-config.mdx +108 -0
  248. package/docs/docs.json +23 -1
  249. package/docs/examples/lip-shaders.mdx +224 -0
  250. package/docs/guides/lip-effect-textures.mdx +292 -0
  251. package/docs/guides/lip-uv-template.png +0 -0
  252. package/docs/guides/lip-uv-template.svg +1 -0
  253. package/package.json +13 -1
  254. package/dist/FaceMeshRenderer-C5l6VLdO.cjs +0 -155
  255. package/dist/FaceMeshRenderer-wjAHrJzP.js +0 -1270
  256. package/dist/FaceRetouch-BkJzoA79.cjs +0 -134
  257. package/dist/FaceRetouch-DwbKQJAN.js +0 -551
  258. package/dist/contexts-Dr62It_K.cjs +0 -1
  259. package/dist/index-9dlAQAhy.js +0 -1462
  260. package/dist/index-BpEf2BBb.cjs +0 -1
  261. package/dist/index-CyUUurQT.cjs +0 -1
  262. package/dist/index-DCiMbxC3.cjs +0 -1
  263. package/dist/index-DpI-qo5X.cjs +0 -17
  264. package/dist/index-DyVF4vEW.js +0 -111
  265. package/dist/internal-Cq-TEQ5Y.cjs +0 -1
  266. package/dist/renderLayers-lDtL0_43.cjs +0 -1
  267. package/dist/renderLayers-zrK2pv5O.js +0 -13
  268. package/dist/renderPasses-BOoBSr8z.cjs +0 -21
  269. package/dist/renderPasses-BcquyVtu.js +0 -1500
  270. package/dist/selectors-B8H97CKA.js +0 -59
  271. package/dist/selectors-CZLKT2Iv.cjs +0 -1
  272. package/dist/useFaceInfo-BJ8-_MOs.cjs +0 -1
  273. package/dist/useFaceInfo-Dk426LTu.js +0 -62
  274. package/dist/useFaceResults-CtetsO9M.js +0 -19
  275. package/dist/useFaceResults-wBJF3zyp.cjs +0 -1
@@ -1,15 +1,14 @@
1
- var ge = Object.defineProperty;
2
- var we = (e, t, n) => t in e ? ge(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var z = (e, t, n) => we(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { jsx as X, jsxs as oe } from "react/jsx-runtime";
5
- import { Canvas as ye, useThree as _e, useFrame as Se } from "@react-three/fiber";
6
- import { useRef as J, useState as Ee, useEffect as Q, useMemo as ne, useContext as fe, createContext as ve } from "react";
7
- import * as D from "three";
8
- import { R as pe } from "./renderLayers-zrK2pv5O.js";
9
- import { a as Re, b as Te } from "./selectors-B8H97CKA.js";
10
- import { u as xe } from "./index-9dlAQAhy.js";
11
- import { u as ke, S as Fe } from "./index-VJ0SJwmG.js";
12
- const ue = {
1
+ var we = Object.defineProperty;
2
+ var ye = (e, t, n) => t in e ? we(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var z = (e, t, n) => ye(e, typeof t != "symbol" ? t + "" : t, n);
4
+ import { jsx as L, jsxs as oe } from "react/jsx-runtime";
5
+ import { Canvas as Se, useThree as fe, useFrame as _e } from "@react-three/fiber";
6
+ import { useRef as J, useState as Ee, useEffect as K, useMemo as ne, useContext as ve, createContext as pe } from "react";
7
+ import * as X from "three";
8
+ import { b as Re, c as Te, R as xe, d as Me, e as ke } from "./selectors-C5G1PMYL.js";
9
+ import { u as ue } from "./index-CnGox6Xr.js";
10
+ import { u as Ae, S as Ce } from "./index-CHVbH0hz.js";
11
+ const ge = {
13
12
  display: "flex",
14
13
  alignItems: "center",
15
14
  justifyContent: "center",
@@ -17,7 +16,7 @@ const ue = {
17
16
  background: "#363636",
18
17
  color: "white",
19
18
  fontFamily: "monospace"
20
- }, Me = () => /* @__PURE__ */ X("div", { style: ue, children: "Loading..." }), Ae = (e) => /* @__PURE__ */ X("div", { style: ue, children: e.error }), ie = {
19
+ }, Fe = () => /* @__PURE__ */ L("div", { style: ge, children: "Loading..." }), Ie = (e) => /* @__PURE__ */ L("div", { style: ge, children: e.error }), Le = (e) => typeof e == "number" ? e : Array.isArray(e) ? e[1] : 3, ie = {
21
20
  position: "absolute",
22
21
  top: 0,
23
22
  left: 0,
@@ -27,21 +26,27 @@ const ue = {
27
26
  }, se = {
28
27
  sceneColorTexture: null,
29
28
  sceneDepthTexture: null
30
- }, Ce = ({
29
+ }, Be = ({ cap: e }) => {
30
+ const t = fe((o) => o.setDpr), n = Me(), r = ke() ? (n == null ? void 0 : n.decision.tier.renderScale) ?? 1 : 1;
31
+ return K(() => {
32
+ const o = Math.min(typeof window < "u" && window.devicePixelRatio || 1, e);
33
+ t(Math.max(0.5, o * r));
34
+ }, [t, e, r]), null;
35
+ }, Ge = ({
31
36
  onRenderOutputs: e,
32
37
  renderOutputs: t,
33
38
  size: n
34
39
  }) => {
35
- const { gl: a, scene: r, size: s } = _e(), { session: c } = xe(), i = Math.max(1, Math.round((n == null ? void 0 : n.width) ?? s.width)), d = Math.max(1, Math.round((n == null ? void 0 : n.height) ?? s.height)), f = !!(t.sceneColor || t.sceneDepth), l = ne(() => {
40
+ const { gl: a, scene: r, size: o } = fe(), { session: c } = ue(), s = Math.max(1, Math.round((n == null ? void 0 : n.width) ?? o.width)), d = Math.max(1, Math.round((n == null ? void 0 : n.height) ?? o.height)), f = !!(t.sceneColor || t.sceneDepth), l = ne(() => {
36
41
  if (!f) return null;
37
- const o = new D.WebGLRenderTarget(i, d, {
38
- colorSpace: D.SRGBColorSpace,
42
+ const i = new X.WebGLRenderTarget(s, d, {
43
+ colorSpace: X.SRGBColorSpace,
39
44
  depthBuffer: !0,
40
45
  stencilBuffer: !1
41
46
  });
42
- return t.sceneDepth && (o.depthTexture = new D.DepthTexture(i, d), o.depthTexture.format = D.DepthFormat, o.depthTexture.type = D.UnsignedShortType), o;
43
- }, [f, d, t.sceneDepth, i]);
44
- return Q(() => {
47
+ return t.sceneDepth && (i.depthTexture = new X.DepthTexture(s, d), i.depthTexture.format = X.DepthFormat, i.depthTexture.type = X.UnsignedShortType), i;
48
+ }, [f, d, t.sceneDepth, s]);
49
+ return K(() => {
45
50
  if (!l) {
46
51
  e == null || e(se);
47
52
  return;
@@ -50,33 +55,33 @@ const ue = {
50
55
  sceneColorTexture: t.sceneColor ? l.texture : null,
51
56
  sceneDepthTexture: t.sceneDepth && l.depthTexture ? l.depthTexture : null
52
57
  }), () => {
53
- var o;
54
- l.dispose(), (o = l.depthTexture) == null || o.dispose(), e == null || e(se);
58
+ var i;
59
+ l.dispose(), (i = l.depthTexture) == null || i.dispose(), e == null || e(se);
55
60
  };
56
- }, [e, t.sceneColor, t.sceneDepth, l]), Se(() => {
61
+ }, [e, t.sceneColor, t.sceneDepth, l]), _e(() => {
57
62
  if (!l) return;
58
- const o = [];
63
+ const i = [];
59
64
  t.excludeScreenUI !== !1 && r.traverse((p) => {
60
- p.visible && p.renderOrder >= pe.SCREEN_UI && (o.push(p), p.visible = !1);
65
+ p.visible && p.renderOrder >= xe.SCREEN_UI && (i.push(p), p.visible = !1);
61
66
  });
62
67
  const u = a.getRenderTarget(), x = a.xr.enabled;
63
- a.xr.enabled = !1, a.setRenderTarget(l), a.clear(), c._renderFrame(), a.setRenderTarget(u), a.xr.enabled = x, o.forEach((p) => {
68
+ a.xr.enabled = !1, a.setRenderTarget(l), a.clear(), c._renderFrame(), a.setRenderTarget(u), a.xr.enabled = x, i.forEach((p) => {
64
69
  p.visible = !0;
65
70
  });
66
71
  }, -100), null;
67
- }, at = ({
72
+ }, st = ({
68
73
  style: e,
69
74
  canvasProps: t,
70
75
  children: n,
71
76
  loadingComponent: a,
72
77
  loadingTransitionDuration: r,
73
- errorComponent: s,
78
+ errorComponent: o,
74
79
  renderTargetSize: c,
75
- renderOutputs: i = {},
80
+ renderOutputs: s = {},
76
81
  onRenderOutputs: d
77
82
  }) => {
78
- const f = J(null), l = J(null), o = J(null), u = J(!1), { session: x } = xe(), p = Re(), v = Te(), [h, m] = Ee(!0);
79
- return Q(() => {
83
+ const f = J(null), l = J(null), i = J(null), u = J(!1), { session: x } = ue(), p = Re(), v = Te(), [h, g] = Ee(!0);
84
+ return K(() => {
80
85
  if (c) {
81
86
  x._setRenderSize(
82
87
  Math.round(c.width),
@@ -86,25 +91,25 @@ const ue = {
86
91
  }
87
92
  const y = (w, R) => {
88
93
  w <= 0 || R <= 0 || x._setRenderSize(Math.round(w), Math.round(R));
89
- }, g = () => {
94
+ }, m = () => {
90
95
  !l.current || u.current || (u.current = !0, x._setRenderTarget(l.current));
91
- }, F = (w, R) => {
92
- o.current !== null && cancelAnimationFrame(o.current), o.current = requestAnimationFrame(() => {
93
- o.current = null, y(w, R);
96
+ }, k = (w, R) => {
97
+ i.current !== null && cancelAnimationFrame(i.current), i.current = requestAnimationFrame(() => {
98
+ i.current = null, y(w, R);
94
99
  });
95
- }, _ = new ResizeObserver((w) => {
100
+ }, S = new ResizeObserver((w) => {
96
101
  const R = w[0];
97
102
  if (!R) return;
98
- const { width: L, height: C } = R.contentRect;
99
- g(), F(L, C);
103
+ const { width: B, height: F } = R.contentRect;
104
+ m(), k(B, F);
100
105
  });
101
- return f.current && _.observe(f.current), g(), () => {
102
- _.disconnect(), o.current !== null && (cancelAnimationFrame(o.current), o.current = null), u.current = !1;
106
+ return f.current && S.observe(f.current), m(), () => {
107
+ S.disconnect(), i.current !== null && (cancelAnimationFrame(i.current), i.current = null), u.current = !1;
103
108
  };
104
- }, [c, x]), Q(() => {
109
+ }, [c, x]), K(() => {
105
110
  p && (r ? setTimeout(() => {
106
- m(!1);
107
- }, r) : m(!1));
111
+ g(!1);
112
+ }, r) : g(!1));
108
113
  }, [p, r]), /* @__PURE__ */ oe(
109
114
  "div",
110
115
  {
@@ -117,10 +122,10 @@ const ue = {
117
122
  position: "relative"
118
123
  },
119
124
  children: [
120
- h && /* @__PURE__ */ X("div", { style: ie, children: a || /* @__PURE__ */ X(Me, {}) }),
121
- v && /* @__PURE__ */ X("div", { style: ie, children: s || /* @__PURE__ */ X(Ae, { error: v.message }) }),
125
+ h && /* @__PURE__ */ L("div", { style: ie, children: a || /* @__PURE__ */ L(Fe, {}) }),
126
+ v && /* @__PURE__ */ L("div", { style: ie, children: o || /* @__PURE__ */ L(Ie, { error: v.message }) }),
122
127
  /* @__PURE__ */ oe(
123
- ye,
128
+ Se,
124
129
  {
125
130
  id: "vincentt-xr-canvas",
126
131
  ref: l,
@@ -137,7 +142,7 @@ const ue = {
137
142
  stencil: !0,
138
143
  premultipliedAlpha: !1,
139
144
  // Disable alpha premultiplication
140
- toneMapping: D.NoToneMapping
145
+ toneMapping: X.NoToneMapping
141
146
  // Disable tone mapping for accurate video colors
142
147
  },
143
148
  ...t,
@@ -149,17 +154,18 @@ const ue = {
149
154
  renderer: y.gl,
150
155
  scene: y.scene,
151
156
  camera: y.camera
152
- }), y.gl.outputColorSpace = D.SRGBColorSpace, t != null && t.onCreated && t.onCreated(y);
157
+ }), y.gl.outputColorSpace = X.SRGBColorSpace, t != null && t.onCreated && t.onCreated(y);
153
158
  },
154
159
  children: [
155
- /* @__PURE__ */ X(
156
- Ce,
160
+ /* @__PURE__ */ L(
161
+ Ge,
157
162
  {
158
163
  onRenderOutputs: d,
159
- renderOutputs: i,
164
+ renderOutputs: s,
160
165
  size: c
161
166
  }
162
167
  ),
168
+ /* @__PURE__ */ L(Be, { cap: Le(t == null ? void 0 : t.dpr) }),
163
169
  n
164
170
  ]
165
171
  }
@@ -167,49 +173,49 @@ const ue = {
167
173
  ]
168
174
  }
169
175
  );
170
- }, Ie = (e, t, n, a, r) => {
171
- const s = e / 2, c = t / 2, i = n.left * s + a.left, d = n.right * s - a.right, f = n.bottom * c + a.bottom, l = n.top * c - a.top, o = d - i, u = l - f, x = (i + d) / 2, p = (f + l) / 2, v = r[0] * o / 2, h = r[1] * u / 2;
172
- return { centerX: x, centerY: p, width: o, height: u, pivotX: v, pivotY: h };
173
- }, Le = { left: 0, right: 0, top: 0, bottom: 0 }, Be = { left: 0, right: 0, top: 0, bottom: 0 }, Ge = [0, 0], ot = ({
176
+ }, De = (e, t, n, a, r) => {
177
+ const o = e / 2, c = t / 2, s = n.left * o + a.left, d = n.right * o - a.right, f = n.bottom * c + a.bottom, l = n.top * c - a.top, i = d - s, u = l - f, x = (s + d) / 2, p = (f + l) / 2, v = r[0] * i / 2, h = r[1] * u / 2;
178
+ return { centerX: x, centerY: p, width: i, height: u, pivotX: v, pivotY: h };
179
+ }, Xe = { left: 0, right: 0, top: 0, bottom: 0 }, Ue = { left: 0, right: 0, top: 0, bottom: 0 }, $e = [0, 0], lt = ({
174
180
  anchors: e,
175
181
  offsets: t,
176
- pivot: n = Ge,
182
+ pivot: n = $e,
177
183
  children: a
178
184
  }) => {
179
- const { width: r, height: s } = ke(), c = ne(
185
+ const { width: r, height: o } = Ae(), c = ne(
180
186
  () => ({
181
- anchors: { ...Le, ...e ?? {} },
182
- offsets: { ...Be, ...t ?? {} }
187
+ anchors: { ...Xe, ...e ?? {} },
188
+ offsets: { ...Ue, ...t ?? {} }
183
189
  }),
184
190
  [e, t]
185
- ), i = ne(
186
- () => Ie(r, s, c.anchors, c.offsets, n),
187
- [r, s, c, n]
191
+ ), s = ne(
192
+ () => De(r, o, c.anchors, c.offsets, n),
193
+ [r, o, c, n]
188
194
  );
189
- Q(() => {
190
- const o = c.anchors;
191
- o.left > o.right && console.warn(
192
- `[ScreenTransform] inverted X axis: anchors.left (${o.left}) > anchors.right (${o.right})`
193
- ), o.bottom > o.top && console.warn(
194
- `[ScreenTransform] inverted Y axis: anchors.bottom (${o.bottom}) > anchors.top (${o.top})`
195
- ), i.width <= 0 && console.warn(
196
- `[ScreenTransform] zero or negative width (${i.width.toFixed(3)}) — anchors + offsets collapse the X extent`
197
- ), i.height <= 0 && console.warn(
198
- `[ScreenTransform] zero or negative height (${i.height.toFixed(3)}) — anchors + offsets collapse the Y extent`
195
+ K(() => {
196
+ const i = c.anchors;
197
+ i.left > i.right && console.warn(
198
+ `[ScreenTransform] inverted X axis: anchors.left (${i.left}) > anchors.right (${i.right})`
199
+ ), i.bottom > i.top && console.warn(
200
+ `[ScreenTransform] inverted Y axis: anchors.bottom (${i.bottom}) > anchors.top (${i.top})`
201
+ ), s.width <= 0 && console.warn(
202
+ `[ScreenTransform] zero or negative width (${s.width.toFixed(3)}) — anchors + offsets collapse the X extent`
203
+ ), s.height <= 0 && console.warn(
204
+ `[ScreenTransform] zero or negative height (${s.height.toFixed(3)}) — anchors + offsets collapse the Y extent`
199
205
  );
200
- }, [c, i.width, i.height]);
201
- const d = n[0] !== 0 || n[1] !== 0, f = d ? [1, 1, 1] : [i.width, i.height, 1], l = !d && i.width > 0 && i.height > 0 ? i.width / i.height : null;
202
- return /* @__PURE__ */ X(
206
+ }, [c, s.width, s.height]);
207
+ const d = n[0] !== 0 || n[1] !== 0, f = d ? [1, 1, 1] : [s.width, s.height, 1], l = !d && s.width > 0 && s.height > 0 ? s.width / s.height : null;
208
+ return /* @__PURE__ */ L(
203
209
  "group",
204
210
  {
205
- position: [i.centerX - i.pivotX, i.centerY - i.pivotY, 0],
211
+ position: [s.centerX - s.pivotX, s.centerY - s.pivotY, 0],
206
212
  scale: f,
207
- renderOrder: pe.SCREEN_UI,
208
- children: /* @__PURE__ */ X(Fe.Provider, { value: l, children: a })
213
+ renderOrder: xe.SCREEN_UI,
214
+ children: /* @__PURE__ */ L(Ce.Provider, { value: l, children: a })
209
215
  }
210
216
  );
211
217
  };
212
- class Xe {
218
+ class We {
213
219
  constructor(t, n) {
214
220
  z(this, "capabilities");
215
221
  z(this, "snapshot");
@@ -272,41 +278,41 @@ class Xe {
272
278
  this.snapshot = { ...this.snapshot, ...t }, this.listeners.forEach((n) => n(this.snapshot));
273
279
  }
274
280
  }
275
- const De = (e, t, n, a, r) => {
276
- const s = Math.max(1, Math.floor(t)), c = Math.max(0, Math.floor(e)), i = n === "ping-pong" && s > 1 ? s * 2 - 2 : s, d = Math.floor(c / i), f = r > 0 ? d >= r : !a && c >= i, l = f ? i - 1 : c % i;
277
- return { frame: n === "reverse" ? s - 1 - l % s : n === "random" ? l * 7919 % s : n === "ping-pong" && l >= s ? i - l : l, ended: f, loop: d };
278
- }, it = (e, t, n) => {
281
+ const Ne = (e, t, n, a, r) => {
282
+ const o = Math.max(1, Math.floor(t)), c = Math.max(0, Math.floor(e)), s = n === "ping-pong" && o > 1 ? o * 2 - 2 : o, d = Math.floor(c / s), f = r > 0 ? d >= r : !a && c >= s, l = f ? s - 1 : c % s;
283
+ return { frame: n === "reverse" ? o - 1 - l % o : n === "random" ? l * 7919 % o : n === "ping-pong" && l >= o ? s - l : l, ended: f, loop: d };
284
+ }, ct = (e, t, n) => {
279
285
  const a = Math.max(1, Math.floor(n));
280
286
  return Math.floor(Math.max(0, e) * Math.max(0, t)) % a;
281
287
  };
282
- var le = {}, me, Ue;
283
- function $e(e, t, n, s) {
284
- var r = 0, s = s === void 0 ? {} : s, c = s.loop === void 0 ? null : s.loop, i = s.palette === void 0 ? null : s.palette;
288
+ var le = {}, me, Ye;
289
+ function He(e, t, n, o) {
290
+ var r = 0, o = o === void 0 ? {} : o, c = o.loop === void 0 ? null : o.loop, s = o.palette === void 0 ? null : o.palette;
285
291
  if (t <= 0 || n <= 0 || t > 65535 || n > 65535)
286
292
  throw new Error("Width/Height invalid.");
287
293
  function d(h) {
288
- var m = h.length;
289
- if (m < 2 || m > 256 || m & m - 1)
294
+ var g = h.length;
295
+ if (g < 2 || g > 256 || g & g - 1)
290
296
  throw new Error(
291
297
  "Invalid code/color length, must be power of 2 and 2 .. 256."
292
298
  );
293
- return m;
299
+ return g;
294
300
  }
295
301
  e[r++] = 71, e[r++] = 73, e[r++] = 70, e[r++] = 56, e[r++] = 57, e[r++] = 97;
296
302
  var f = 0, l = 0;
297
- if (i !== null) {
298
- for (var o = d(i); o >>= 1; ) ++f;
299
- if (o = 1 << f, --f, s.background !== void 0) {
300
- if (l = s.background, l >= o)
303
+ if (s !== null) {
304
+ for (var i = d(s); i >>= 1; ) ++f;
305
+ if (i = 1 << f, --f, o.background !== void 0) {
306
+ if (l = o.background, l >= i)
301
307
  throw new Error("Background index out of range.");
302
308
  if (l === 0)
303
309
  throw new Error("Background index explicitly passed as 0.");
304
310
  }
305
311
  }
306
- if (e[r++] = t & 255, e[r++] = t >> 8 & 255, e[r++] = n & 255, e[r++] = n >> 8 & 255, e[r++] = (i !== null ? 128 : 0) | // Global Color Table Flag.
307
- f, e[r++] = l, e[r++] = 0, i !== null)
308
- for (var u = 0, x = i.length; u < x; ++u) {
309
- var p = i[u];
312
+ if (e[r++] = t & 255, e[r++] = t >> 8 & 255, e[r++] = n & 255, e[r++] = n >> 8 & 255, e[r++] = (s !== null ? 128 : 0) | // Global Color Table Flag.
313
+ f, e[r++] = l, e[r++] = 0, s !== null)
314
+ for (var u = 0, x = s.length; u < x; ++u) {
315
+ var p = s[u];
310
316
  e[r++] = p >> 16 & 255, e[r++] = p >> 8 & 255, e[r++] = p & 255;
311
317
  }
312
318
  if (c !== null) {
@@ -315,34 +321,34 @@ function $e(e, t, n, s) {
315
321
  e[r++] = 33, e[r++] = 255, e[r++] = 11, e[r++] = 78, e[r++] = 69, e[r++] = 84, e[r++] = 83, e[r++] = 67, e[r++] = 65, e[r++] = 80, e[r++] = 69, e[r++] = 50, e[r++] = 46, e[r++] = 48, e[r++] = 3, e[r++] = 1, e[r++] = c & 255, e[r++] = c >> 8 & 255, e[r++] = 0;
316
322
  }
317
323
  var v = !1;
318
- this.addFrame = function(h, m, y, g, F, _) {
319
- if (v === !0 && (--r, v = !1), _ = _ === void 0 ? {} : _, h < 0 || m < 0 || h > 65535 || m > 65535)
324
+ this.addFrame = function(h, g, y, m, k, S) {
325
+ if (v === !0 && (--r, v = !1), S = S === void 0 ? {} : S, h < 0 || g < 0 || h > 65535 || g > 65535)
320
326
  throw new Error("x/y invalid.");
321
- if (y <= 0 || g <= 0 || y > 65535 || g > 65535)
327
+ if (y <= 0 || m <= 0 || y > 65535 || m > 65535)
322
328
  throw new Error("Width/Height invalid.");
323
- if (F.length < y * g)
329
+ if (k.length < y * m)
324
330
  throw new Error("Not enough pixels for the frame size.");
325
- var w = !0, R = _.palette;
326
- if (R == null && (w = !1, R = i), R == null)
331
+ var w = !0, R = S.palette;
332
+ if (R == null && (w = !1, R = s), R == null)
327
333
  throw new Error("Must supply either a local or global palette.");
328
- for (var L = d(R), C = 0; L >>= 1; ) ++C;
329
- L = 1 << C;
330
- var U = _.delay === void 0 ? 0 : _.delay, E = _.disposal === void 0 ? 0 : _.disposal;
334
+ for (var B = d(R), F = 0; B >>= 1; ) ++F;
335
+ B = 1 << F;
336
+ var U = S.delay === void 0 ? 0 : S.delay, E = S.disposal === void 0 ? 0 : S.disposal;
331
337
  if (E < 0 || E > 3)
332
338
  throw new Error("Disposal out of range.");
333
- var T = !1, A = 0;
334
- if (_.transparent !== void 0 && _.transparent !== null && (T = !0, A = _.transparent, A < 0 || A >= L))
339
+ var T = !1, C = 0;
340
+ if (S.transparent !== void 0 && S.transparent !== null && (T = !0, C = S.transparent, C < 0 || C >= B))
335
341
  throw new Error("Transparent color index.");
336
- if ((E !== 0 || T || U !== 0) && (e[r++] = 33, e[r++] = 249, e[r++] = 4, e[r++] = E << 2 | (T === !0 ? 1 : 0), e[r++] = U & 255, e[r++] = U >> 8 & 255, e[r++] = A, e[r++] = 0), e[r++] = 44, e[r++] = h & 255, e[r++] = h >> 8 & 255, e[r++] = m & 255, e[r++] = m >> 8 & 255, e[r++] = y & 255, e[r++] = y >> 8 & 255, e[r++] = g & 255, e[r++] = g >> 8 & 255, e[r++] = w === !0 ? 128 | C - 1 : 0, w === !0)
342
+ if ((E !== 0 || T || U !== 0) && (e[r++] = 33, e[r++] = 249, e[r++] = 4, e[r++] = E << 2 | (T === !0 ? 1 : 0), e[r++] = U & 255, e[r++] = U >> 8 & 255, e[r++] = C, e[r++] = 0), e[r++] = 44, e[r++] = h & 255, e[r++] = h >> 8 & 255, e[r++] = g & 255, e[r++] = g >> 8 & 255, e[r++] = y & 255, e[r++] = y >> 8 & 255, e[r++] = m & 255, e[r++] = m >> 8 & 255, e[r++] = w === !0 ? 128 | F - 1 : 0, w === !0)
337
343
  for (var $ = 0, I = R.length; $ < I; ++$) {
338
- var M = R[$];
339
- e[r++] = M >> 16 & 255, e[r++] = M >> 8 & 255, e[r++] = M & 255;
344
+ var A = R[$];
345
+ e[r++] = A >> 16 & 255, e[r++] = A >> 8 & 255, e[r++] = A & 255;
340
346
  }
341
- return r = We(
347
+ return r = Pe(
342
348
  e,
343
349
  r,
344
- C < 2 ? 2 : C,
345
- F
350
+ F < 2 ? 2 : F,
351
+ k
346
352
  ), r;
347
353
  }, this.end = function() {
348
354
  return v === !1 && (e[r++] = 59, v = !0), r;
@@ -356,38 +362,38 @@ function $e(e, t, n, s) {
356
362
  r = h;
357
363
  };
358
364
  }
359
- function We(e, t, n, a) {
365
+ function Pe(e, t, n, a) {
360
366
  e[t++] = n;
361
- var r = t++, s = 1 << n, c = s - 1, i = s + 1, d = i + 1, f = n + 1, l = 0, o = 0;
362
- function u(_) {
363
- for (; l >= _; )
364
- e[t++] = o & 255, o >>= 8, l -= 8, t === r + 256 && (e[r] = 255, r = t++);
367
+ var r = t++, o = 1 << n, c = o - 1, s = o + 1, d = s + 1, f = n + 1, l = 0, i = 0;
368
+ function u(S) {
369
+ for (; l >= S; )
370
+ e[t++] = i & 255, i >>= 8, l -= 8, t === r + 256 && (e[r] = 255, r = t++);
365
371
  }
366
- function x(_) {
367
- o |= _ << l, l += f, u(8);
372
+ function x(S) {
373
+ i |= S << l, l += f, u(8);
368
374
  }
369
375
  var p = a[0] & c, v = {};
370
- x(s);
371
- for (var h = 1, m = a.length; h < m; ++h) {
372
- var y = a[h] & c, g = p << 8 | y, F = v[g];
373
- if (F === void 0) {
374
- for (o |= p << l, l += f; l >= 8; )
375
- e[t++] = o & 255, o >>= 8, l -= 8, t === r + 256 && (e[r] = 255, r = t++);
376
- d === 4096 ? (x(s), d = i + 1, f = n + 1, v = {}) : (d >= 1 << f && ++f, v[g] = d++), p = y;
376
+ x(o);
377
+ for (var h = 1, g = a.length; h < g; ++h) {
378
+ var y = a[h] & c, m = p << 8 | y, k = v[m];
379
+ if (k === void 0) {
380
+ for (i |= p << l, l += f; l >= 8; )
381
+ e[t++] = i & 255, i >>= 8, l -= 8, t === r + 256 && (e[r] = 255, r = t++);
382
+ d === 4096 ? (x(o), d = s + 1, f = n + 1, v = {}) : (d >= 1 << f && ++f, v[m] = d++), p = y;
377
383
  } else
378
- p = F;
384
+ p = k;
379
385
  }
380
- return x(p), x(i), u(1), r + 1 === t ? e[r] = 0 : (e[r] = t - r - 1, e[t++] = 0), t;
386
+ return x(p), x(s), u(1), r + 1 === t ? e[r] = 0 : (e[r] = t - r - 1, e[t++] = 0), t;
381
387
  }
382
- function Pe(e) {
388
+ function je(e) {
383
389
  var t = 0;
384
390
  if (e[t++] !== 71 || e[t++] !== 73 || e[t++] !== 70 || e[t++] !== 56 || (e[t++] + 1 & 253) !== 56 || e[t++] !== 97)
385
391
  throw new Error("Invalid GIF 87a/89a header.");
386
- var n = e[t++] | e[t++] << 8, a = e[t++] | e[t++] << 8, r = e[t++], s = r >> 7, c = r & 7, i = 1 << c + 1;
392
+ var n = e[t++] | e[t++] << 8, a = e[t++] | e[t++] << 8, r = e[t++], o = r >> 7, c = r & 7, s = 1 << c + 1;
387
393
  e[t++], e[t++];
388
394
  var d = null, f = null;
389
- s && (d = t, f = i, t += i * 3);
390
- var l = !0, o = [], u = 0, x = null, p = 0, v = null;
395
+ o && (d = t, f = s, t += s * 3);
396
+ var l = !0, i = [], u = 0, x = null, p = 0, v = null;
391
397
  for (this.width = n, this.height = a; l && t < e.length; )
392
398
  switch (e[t++]) {
393
399
  case 33:
@@ -409,8 +415,8 @@ function Pe(e) {
409
415
  case 249:
410
416
  if (e[t++] !== 4 || e[t + 4] !== 0)
411
417
  throw new Error("Invalid graphics extension block.");
412
- var m = e[t++];
413
- u = e[t++] | e[t++] << 8, x = e[t++], m & 1 || (x = null), p = m >> 2 & 7, t++;
418
+ var g = e[t++];
419
+ u = e[t++] | e[t++] << 8, x = e[t++], g & 1 || (x = null), p = g >> 2 & 7, t++;
414
420
  break;
415
421
  case 254:
416
422
  for (; ; ) {
@@ -427,9 +433,9 @@ function Pe(e) {
427
433
  }
428
434
  break;
429
435
  case 44:
430
- var y = e[t++] | e[t++] << 8, g = e[t++] | e[t++] << 8, F = e[t++] | e[t++] << 8, _ = e[t++] | e[t++] << 8, w = e[t++], R = w >> 7, L = w >> 6 & 1, C = w & 7, U = 1 << C + 1, E = d, T = f, A = !1;
436
+ var y = e[t++] | e[t++] << 8, m = e[t++] | e[t++] << 8, k = e[t++] | e[t++] << 8, S = e[t++] | e[t++] << 8, w = e[t++], R = w >> 7, B = w >> 6 & 1, F = w & 7, U = 1 << F + 1, E = d, T = f, C = !1;
431
437
  if (R) {
432
- var A = !0;
438
+ var C = !0;
433
439
  E = t, T = U, t += U * 3;
434
440
  }
435
441
  var $ = t;
@@ -439,18 +445,18 @@ function Pe(e) {
439
445
  if (h === 0) break;
440
446
  t += h;
441
447
  }
442
- o.push({
448
+ i.push({
443
449
  x: y,
444
- y: g,
445
- width: F,
446
- height: _,
447
- has_local_palette: A,
450
+ y: m,
451
+ width: k,
452
+ height: S,
453
+ has_local_palette: C,
448
454
  palette_offset: E,
449
455
  palette_size: T,
450
456
  data_offset: $,
451
457
  data_length: t - $,
452
458
  transparent_index: x,
453
- interlaced: !!L,
459
+ interlaced: !!B,
454
460
  delay: u,
455
461
  disposal: p
456
462
  });
@@ -462,99 +468,99 @@ function Pe(e) {
462
468
  throw new Error("Unknown gif block: 0x" + e[t - 1].toString(16));
463
469
  }
464
470
  this.numFrames = function() {
465
- return o.length;
471
+ return i.length;
466
472
  }, this.loopCount = function() {
467
473
  return v;
468
474
  }, this.frameInfo = function(I) {
469
- if (I < 0 || I >= o.length)
475
+ if (I < 0 || I >= i.length)
470
476
  throw new Error("Frame index out of range.");
471
- return o[I];
472
- }, this.decodeAndBlitFrameBGRA = function(I, M) {
473
- var S = this.frameInfo(I), Z = S.width * S.height, W = new Uint8Array(Z);
477
+ return i[I];
478
+ }, this.decodeAndBlitFrameBGRA = function(I, A) {
479
+ var _ = this.frameInfo(I), Q = _.width * _.height, W = new Uint8Array(Q);
474
480
  ce(
475
481
  e,
476
- S.data_offset,
482
+ _.data_offset,
477
483
  W,
478
- Z
484
+ Q
479
485
  );
480
- var P = S.palette_offset, N = S.transparent_index;
481
- N === null && (N = 256);
482
- var B = S.width, Y = n - B, H = B, K = (S.y * n + S.x) * 4, O = ((S.y + S.height) * n + S.x) * 4, k = K, j = Y * 4;
483
- S.interlaced === !0 && (j += n * 4 * 7);
484
- for (var q = 8, V = 0, b = W.length; V < b; ++V) {
485
- var G = W[V];
486
- if (H === 0 && (k += j, H = B, k >= O && (j = Y * 4 + n * 4 * (q - 1), k = K + (B + Y) * (q << 1), q >>= 1)), G === N)
487
- k += 4;
486
+ var N = _.palette_offset, Y = _.transparent_index;
487
+ Y === null && (Y = 256);
488
+ var G = _.width, H = n - G, P = G, Z = (_.y * n + _.x) * 4, O = ((_.y + _.height) * n + _.x) * 4, M = Z, j = H * 4;
489
+ _.interlaced === !0 && (j += n * 4 * 7);
490
+ for (var V = 8, q = 0, b = W.length; q < b; ++q) {
491
+ var D = W[q];
492
+ if (P === 0 && (M += j, P = G, M >= O && (j = H * 4 + n * 4 * (V - 1), M = Z + (G + H) * (V << 1), V >>= 1)), D === Y)
493
+ M += 4;
488
494
  else {
489
- var ee = e[P + G * 3], te = e[P + G * 3 + 1], re = e[P + G * 3 + 2];
490
- M[k++] = re, M[k++] = te, M[k++] = ee, M[k++] = 255;
495
+ var ee = e[N + D * 3], te = e[N + D * 3 + 1], re = e[N + D * 3 + 2];
496
+ A[M++] = re, A[M++] = te, A[M++] = ee, A[M++] = 255;
491
497
  }
492
- --H;
498
+ --P;
493
499
  }
494
- }, this.decodeAndBlitFrameRGBA = function(I, M) {
495
- var S = this.frameInfo(I), Z = S.width * S.height, W = new Uint8Array(Z);
500
+ }, this.decodeAndBlitFrameRGBA = function(I, A) {
501
+ var _ = this.frameInfo(I), Q = _.width * _.height, W = new Uint8Array(Q);
496
502
  ce(
497
503
  e,
498
- S.data_offset,
504
+ _.data_offset,
499
505
  W,
500
- Z
506
+ Q
501
507
  );
502
- var P = S.palette_offset, N = S.transparent_index;
503
- N === null && (N = 256);
504
- var B = S.width, Y = n - B, H = B, K = (S.y * n + S.x) * 4, O = ((S.y + S.height) * n + S.x) * 4, k = K, j = Y * 4;
505
- S.interlaced === !0 && (j += n * 4 * 7);
506
- for (var q = 8, V = 0, b = W.length; V < b; ++V) {
507
- var G = W[V];
508
- if (H === 0 && (k += j, H = B, k >= O && (j = Y * 4 + n * 4 * (q - 1), k = K + (B + Y) * (q << 1), q >>= 1)), G === N)
509
- k += 4;
508
+ var N = _.palette_offset, Y = _.transparent_index;
509
+ Y === null && (Y = 256);
510
+ var G = _.width, H = n - G, P = G, Z = (_.y * n + _.x) * 4, O = ((_.y + _.height) * n + _.x) * 4, M = Z, j = H * 4;
511
+ _.interlaced === !0 && (j += n * 4 * 7);
512
+ for (var V = 8, q = 0, b = W.length; q < b; ++q) {
513
+ var D = W[q];
514
+ if (P === 0 && (M += j, P = G, M >= O && (j = H * 4 + n * 4 * (V - 1), M = Z + (G + H) * (V << 1), V >>= 1)), D === Y)
515
+ M += 4;
510
516
  else {
511
- var ee = e[P + G * 3], te = e[P + G * 3 + 1], re = e[P + G * 3 + 2];
512
- M[k++] = ee, M[k++] = te, M[k++] = re, M[k++] = 255;
517
+ var ee = e[N + D * 3], te = e[N + D * 3 + 1], re = e[N + D * 3 + 2];
518
+ A[M++] = ee, A[M++] = te, A[M++] = re, A[M++] = 255;
513
519
  }
514
- --H;
520
+ --P;
515
521
  }
516
522
  };
517
523
  }
518
524
  function ce(e, t, n, a) {
519
- for (var r = e[t++], s = 1 << r, c = s + 1, i = c + 1, d = r + 1, f = (1 << d) - 1, l = 0, o = 0, u = 0, x = e[t++], p = new Int32Array(4096), v = null; ; ) {
525
+ for (var r = e[t++], o = 1 << r, c = o + 1, s = c + 1, d = r + 1, f = (1 << d) - 1, l = 0, i = 0, u = 0, x = e[t++], p = new Int32Array(4096), v = null; ; ) {
520
526
  for (; l < 16 && x !== 0; )
521
- o |= e[t++] << l, l += 8, x === 1 ? x = e[t++] : --x;
527
+ i |= e[t++] << l, l += 8, x === 1 ? x = e[t++] : --x;
522
528
  if (l < d)
523
529
  break;
524
- var h = o & f;
525
- if (o >>= d, l -= d, h === s) {
526
- i = c + 1, d = r + 1, f = (1 << d) - 1, v = null;
530
+ var h = i & f;
531
+ if (i >>= d, l -= d, h === o) {
532
+ s = c + 1, d = r + 1, f = (1 << d) - 1, v = null;
527
533
  continue;
528
534
  } else if (h === c)
529
535
  break;
530
- for (var m = h < i ? h : v, y = 0, g = m; g > s; )
531
- g = p[g] >> 8, ++y;
532
- var F = g, _ = u + y + (m !== h ? 1 : 0);
533
- if (_ > a) {
536
+ for (var g = h < s ? h : v, y = 0, m = g; m > o; )
537
+ m = p[m] >> 8, ++y;
538
+ var k = m, S = u + y + (g !== h ? 1 : 0);
539
+ if (S > a) {
534
540
  console.log("Warning, gif stream longer than expected.");
535
541
  return;
536
542
  }
537
- n[u++] = F, u += y;
543
+ n[u++] = k, u += y;
538
544
  var w = u;
539
- for (m !== h && (n[u++] = F), g = m; y--; )
540
- g = p[g], n[--w] = g & 255, g >>= 8;
541
- v !== null && i < 4096 && (p[i++] = v << 8 | F, i >= f + 1 && d < 12 && (++d, f = f << 1 | 1)), v = h;
545
+ for (g !== h && (n[u++] = k), m = g; y--; )
546
+ m = p[m], n[--w] = m & 255, m >>= 8;
547
+ v !== null && s < 4096 && (p[s++] = v << 8 | k, s >= f + 1 && d < 12 && (++d, f = f << 1 | 1)), v = h;
542
548
  }
543
549
  return u !== a && console.log("Warning, gif stream shorter than expected."), n;
544
550
  }
545
551
  try {
546
- Ue = le.GifWriter = $e, me = le.GifReader = Pe;
552
+ Ye = le.GifWriter = He, me = le.GifReader = je;
547
553
  } catch {
548
554
  }
549
- const Ne = me;
550
- function st(e) {
555
+ const Ve = me;
556
+ function ht(e) {
551
557
  return async (t, n) => {
552
558
  const a = e.find((r) => r.canResolve(t));
553
- if (!a) throw new Ye("No texture provider matched source", t);
554
- return He(a.resolve.bind(a), t, n);
559
+ if (!a) throw new qe("No texture provider matched source", t);
560
+ return ze(a.resolve.bind(a), t, n);
555
561
  };
556
562
  }
557
- class Ye extends Error {
563
+ class qe extends Error {
558
564
  constructor(n, a) {
559
565
  super(n);
560
566
  z(this, "source");
@@ -565,57 +571,57 @@ function ae(e) {
565
571
  if (e.aborted)
566
572
  throw new DOMException("Texture source load aborted", "AbortError");
567
573
  }
568
- async function He(e, t, n) {
574
+ async function ze(e, t, n) {
569
575
  ae(n);
570
576
  const a = await e(t, n);
571
577
  return n.aborted && (a.dispose(), ae(n)), a;
572
578
  }
573
- function lt(e) {
579
+ function dt(e) {
574
580
  e == null || e.dispose();
575
581
  }
576
- const je = 5 * 1024 * 1024, he = 1e6, de = 180, qe = (e, t, n) => {
582
+ const Qe = 5 * 1024 * 1024, he = 1e6, de = 180, Ze = (e, t, n) => {
577
583
  for (let a = n.y; a < n.y + n.height; a += 1)
578
584
  e.fill(0, (a * t + n.x) * 4, (a * t + n.x + n.width) * 4);
579
- }, Ve = (e, t, n, a, r) => t.byteLength > je ? `file is ${(t.byteLength / 1024 / 1024).toFixed(1)} MB; max is 5 MB` : n * a > he ? `canvas is ${n}x${a}; max area is ${he}` : r > de ? `frame count is ${r}; max is ${de}` : r === 0 ? "frame count is 0" : e ? null : "source URL is empty", ze = (e) => typeof e == "string" ? e : e.src, ct = {
585
+ }, Ke = (e, t, n, a, r) => t.byteLength > Qe ? `file is ${(t.byteLength / 1024 / 1024).toFixed(1)} MB; max is 5 MB` : n * a > he ? `canvas is ${n}x${a}; max area is ${he}` : r > de ? `frame count is ${r}; max is ${de}` : r === 0 ? "frame count is 0" : e ? null : "source URL is empty", Je = (e) => typeof e == "string" ? e : e.src, ft = {
580
586
  canResolve: (e) => typeof e == "string" ? /\.gif(?:[?#].*)?$/i.test(e) : e.kind === "gif",
581
587
  async resolve(e, t) {
582
- const n = ze(e), a = await fetch(n, { signal: t });
588
+ const n = Je(e), a = await fetch(n, { signal: t });
583
589
  if (!a.ok) throw new Error(`GIF request failed with ${a.status}`);
584
590
  const r = new Uint8Array(await a.arrayBuffer());
585
591
  ae(t);
586
- const s = new Ne(r), c = s.numFrames(), i = Ve(n, r, s.width, s.height, c);
587
- if (i)
588
- throw console.warn(`[xr-sdk] GIF ScreenImage source rejected: ${i}`, n), new Error(`GIF source rejected: ${i}`);
592
+ const o = new Ve(r), c = o.numFrames(), s = Ke(n, r, o.width, o.height, c);
593
+ if (s)
594
+ throw console.warn(`[xr-sdk] GIF ScreenImage source rejected: ${s}`, n), new Error(`GIF source rejected: ${s}`);
589
595
  const d = document.createElement("canvas");
590
- d.width = s.width, d.height = s.height;
596
+ d.width = o.width, d.height = o.height;
591
597
  const f = d.getContext("2d");
592
598
  if (!f) throw new Error("Could not create GIF canvas context");
593
- const l = new D.CanvasTexture(d);
594
- l.colorSpace = D.SRGBColorSpace;
595
- const o = new Uint8Array(s.width * s.height * 4), u = new ImageData(
596
- new Uint8ClampedArray(o.buffer),
597
- s.width,
598
- s.height
599
- ), x = Array.from({ length: c }, (E, T) => s.frameInfo(T)), p = x.reduce((E, T) => E + Math.max(20, T.delay * 10), 0) / 1e3, v = new Xe(
599
+ const l = new X.CanvasTexture(d);
600
+ l.colorSpace = X.SRGBColorSpace;
601
+ const i = new Uint8Array(o.width * o.height * 4), u = new ImageData(
602
+ new Uint8ClampedArray(i.buffer),
603
+ o.width,
604
+ o.height
605
+ ), x = Array.from({ length: c }, (E, T) => o.frameInfo(T)), p = x.reduce((E, T) => E + Math.max(20, T.delay * 10), 0) / 1e3, v = new We(
600
606
  { canSeek: !1, canReverse: !1, supportsLoopCount: !0 },
601
607
  { state: "ready", duration: p, frameCount: c }
602
608
  );
603
- let h = 0, m = 0, y = !1, g = !1, F = 0, _ = 0, w = null;
609
+ let h = 0, g = 0, y = !1, m = !1, k = 0, S = 0, w = null;
604
610
  const R = (E, T = !1) => {
605
- T && (o.fill(0), w = null), (w == null ? void 0 : w.info.disposal) === 2 ? qe(o, s.width, w.info) : w != null && w.restorePixels && o.set(w.restorePixels);
606
- const A = x[E], $ = A.disposal === 3 ? new Uint8Array(o) : null;
607
- return s.decodeAndBlitFrameRGBA(E, o), f.putImageData(u, 0, 0), l.needsUpdate = !0, w = { info: A, restorePixels: $ }, g = !0, v.updateSnapshot({
611
+ T && (i.fill(0), w = null), (w == null ? void 0 : w.info.disposal) === 2 ? Ze(i, o.width, w.info) : w != null && w.restorePixels && i.set(w.restorePixels);
612
+ const C = x[E], $ = C.disposal === 3 ? new Uint8Array(i) : null;
613
+ return o.decodeAndBlitFrameRGBA(E, i), f.putImageData(u, 0, 0), l.needsUpdate = !0, w = { info: C, restorePixels: $ }, m = !0, v.updateSnapshot({
608
614
  frame: E,
609
- time: x.slice(0, E).reduce((I, M) => I + Math.max(20, M.delay * 10), 0) / 1e3
610
- }), g = !1, v.emit("KeyFrameInSecond"), Math.max(20, A.delay * 10);
611
- }, L = (E) => {
612
- m = window.setTimeout(() => {
613
- h = requestAnimationFrame(C);
615
+ time: x.slice(0, E).reduce((I, A) => I + Math.max(20, A.delay * 10), 0) / 1e3
616
+ }), m = !1, v.emit("KeyFrameInSecond"), Math.max(20, C.delay * 10);
617
+ }, B = (E) => {
618
+ g = window.setTimeout(() => {
619
+ h = requestAnimationFrame(F);
614
620
  }, E);
615
- }, C = () => {
621
+ }, F = () => {
616
622
  if (y || v.getSnapshot().state !== "playing") return;
617
- const E = v.getSnapshot(), T = De(
618
- F,
623
+ const E = v.getSnapshot(), T = Ne(
624
+ k,
619
625
  c,
620
626
  E.playMode,
621
627
  E.loop,
@@ -625,39 +631,39 @@ const je = 5 * 1024 * 1024, he = 1e6, de = 180, qe = (e, t, n) => {
625
631
  v.updateSnapshot({ state: "ended", frame: T.frame, time: p }), v.emit("PlayEnd");
626
632
  return;
627
633
  }
628
- const A = T.loop !== _;
629
- _ = T.loop, F += 1, L(R(T.frame, A));
634
+ const C = T.loop !== S;
635
+ S = T.loop, k += 1, B(R(T.frame, C));
630
636
  }, U = v.subscribe((E) => {
631
- g || (clearTimeout(m), cancelAnimationFrame(h), E.state === "playing" && (h = requestAnimationFrame(C)));
637
+ m || (clearTimeout(g), cancelAnimationFrame(h), E.state === "playing" && (h = requestAnimationFrame(F)));
632
638
  });
633
639
  return R(0), v.play(), {
634
640
  texture: l,
635
641
  controller: v,
636
- metadata: { width: s.width, height: s.height, duration: p, frameCount: c },
642
+ metadata: { width: o.width, height: o.height, duration: p, frameCount: c },
637
643
  dispose() {
638
- y = !0, U(), clearTimeout(m), cancelAnimationFrame(h), v.dispose(), l.dispose();
644
+ y = !0, U(), clearTimeout(g), cancelAnimationFrame(h), v.dispose(), l.dispose();
639
645
  }
640
646
  };
641
647
  }
642
- }, Ze = ve(null), Ke = ve(null), ht = () => fe(Ze), dt = () => fe(Ke);
648
+ }, Oe = pe(null), be = pe(null), vt = () => ve(Oe), pt = () => ve(be);
643
649
  export {
644
- Xe as B,
645
- je as M,
646
- ot as S,
647
- Ye as T,
648
- at as X,
649
- Ze as a,
650
- Ke as b,
651
- Ie as c,
652
- dt as d,
653
- it as e,
654
- ct as f,
655
- De as g,
650
+ We as B,
651
+ Qe as M,
652
+ lt as S,
653
+ qe as T,
654
+ st as X,
655
+ Oe as a,
656
+ be as b,
657
+ De as c,
658
+ pt as d,
659
+ ct as e,
660
+ ft as f,
661
+ Ne as g,
656
662
  de as h,
657
663
  he as i,
658
- st as j,
659
- lt as k,
660
- He as r,
664
+ ht as j,
665
+ dt as k,
666
+ ze as r,
661
667
  ae as t,
662
- ht as u
668
+ vt as u
663
669
  };