@vincentt-xr/sdk 2.0.0-alpha.0 → 2.0.0-alpha.10

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 (879) hide show
  1. package/GROUNDING.md +8193 -111
  2. package/README.md +86 -52
  3. package/dist/CanonicalHeadFrame-D_0OzdB9.cjs +1 -0
  4. package/dist/CanonicalHeadFrame-DdUqF6Fv.js +1506 -0
  5. package/dist/DebuggerUI-CVuV-VJ5.cjs +1 -0
  6. package/dist/DebuggerUI-D-rcPa54.js +275 -0
  7. package/dist/FaceRetouch-C1AxBNex.js +1071 -0
  8. package/dist/FaceRetouch-D7kryDE6.cjs +134 -0
  9. package/dist/FaceSurface-CHAMEeG1.cjs +1 -0
  10. package/dist/FaceSurface-DmP9AEeC.js +27 -0
  11. package/dist/SkeletonUtils-C2r90MtN.js +21 -0
  12. package/dist/SkeletonUtils-CddIup1F.cjs +1 -0
  13. package/dist/TextLabel-XE0rQSDn.cjs +2 -0
  14. package/dist/TextLabel-c9BCucOI.js +961 -0
  15. package/dist/assets/cache.d.ts +99 -0
  16. package/dist/assets/estimate.d.ts +11 -0
  17. package/dist/assets/gltfLoader.d.ts +16 -0
  18. package/dist/assets/index.d.ts +7 -0
  19. package/dist/assets/loaders.d.ts +43 -0
  20. package/dist/assets/react.d.ts +33 -0
  21. package/dist/assets/sdkModels.d.ts +22 -0
  22. package/dist/audio/AudioEngine.d.ts +3 -1
  23. package/dist/audio/AudioPlayer.d.ts +29 -0
  24. package/dist/audio/AudioPlayerLogic.d.ts +4 -0
  25. package/dist/audio/index.d.ts +2 -0
  26. package/dist/body/__fixtures__/syntheticRig.d.ts +21 -0
  27. package/dist/body/bodyFlipGuard.d.ts +39 -0
  28. package/dist/body/bodyIdentity.d.ts +72 -0
  29. package/dist/body/bodyMask.d.ts +79 -0
  30. package/dist/body/bodyMaskMaterial.d.ts +15 -0
  31. package/dist/body/bodyPose.d.ts +58 -0
  32. package/dist/body/bodyRigFit.d.ts +148 -0
  33. package/dist/body/bodyRigSolver.d.ts +114 -0
  34. package/dist/body/bodySubject.d.ts +46 -0
  35. package/dist/body-pose/index.d.ts +521 -0
  36. package/dist/body-trigger/__fixtures__/syntheticBody.d.ts +83 -0
  37. package/dist/body-trigger/frame.d.ts +88 -0
  38. package/dist/body-trigger/index.d.ts +6 -0
  39. package/dist/body-trigger/moves.d.ts +235 -0
  40. package/dist/body-trigger/trigger.d.ts +75 -0
  41. package/dist/bodyMaskMaterial-CBWub5t_.cjs +68 -0
  42. package/dist/bodyMaskMaterial-Cs2awskk.js +207 -0
  43. package/dist/cache-2x3CUJuY.js +212 -0
  44. package/dist/cache-DL1Dbz6k.cjs +1 -0
  45. package/dist/calibration/calibration.d.ts +75 -0
  46. package/dist/calibration/index.d.ts +6 -0
  47. package/dist/calibration/storage.d.ts +13 -0
  48. package/dist/calibration/types.d.ts +53 -0
  49. package/dist/calibration/useXRCalibration.d.ts +46 -0
  50. package/dist/camera/CameraPermissionGate.d.ts +26 -0
  51. package/dist/camera/devices.d.ts +26 -0
  52. package/dist/camera/index.d.ts +8 -0
  53. package/dist/camera/permission.d.ts +86 -0
  54. package/dist/camera/useCameraPermission.d.ts +35 -0
  55. package/dist/canonicalFace-BHwyCx1c.js +9 -0
  56. package/dist/canonicalFace-C83I225R.cjs +1 -0
  57. package/dist/capabilities/detect.d.ts +45 -0
  58. package/dist/capabilities/index.d.ts +5 -0
  59. package/dist/capabilities/types.d.ts +120 -0
  60. package/dist/capabilities/useXRCapabilities.d.ts +18 -0
  61. package/dist/compat/environment.d.ts +5 -0
  62. package/dist/compat/index.d.ts +4 -0
  63. package/dist/compat/run.d.ts +18 -0
  64. package/dist/compat/scenarios.d.ts +10 -0
  65. package/dist/compat/types.d.ts +101 -0
  66. package/dist/components/Axes/index.d.ts +6 -0
  67. package/dist/components/BodyInstruction/BodyPoseHint.d.ts +63 -0
  68. package/dist/components/BodyInstruction/index.d.ts +76 -0
  69. package/dist/components/BodyInstruction/useBodyPose.d.ts +30 -0
  70. package/dist/components/BodyRig/BodyAttachment.d.ts +28 -0
  71. package/dist/components/BodyRig/BodyOccluder.d.ts +27 -0
  72. package/dist/components/BodyRig/bodyDepth.d.ts +57 -0
  73. package/dist/components/BodyRig/index.d.ts +129 -0
  74. package/dist/components/BodyRig/useBodyDepthTexture.d.ts +40 -0
  75. package/dist/components/BodyTracker/index.d.ts +26 -1
  76. package/dist/components/BodyTrigger/index.d.ts +56 -0
  77. package/dist/components/Debugger/DebuggerProvider.d.ts +14 -1
  78. package/dist/components/Debugger/DebuggerUI.d.ts +3 -1
  79. package/dist/components/FaceAtlas/FaceAtlasLayer.d.ts +114 -0
  80. package/dist/components/FaceAtlas/MadeUpCamera.d.ts +80 -0
  81. package/dist/components/FaceAtlas/constants.d.ts +8 -0
  82. package/dist/components/FaceAtlas/index.d.ts +7 -0
  83. package/dist/components/FaceAtlas/useFaceAtlasSurface.d.ts +84 -0
  84. package/dist/components/FaceAtlas/useFaceSkin.d.ts +84 -0
  85. package/dist/components/FaceCharacter/ExternalFaceMesh.d.ts +109 -0
  86. package/dist/components/FaceCharacter/FaceExpressionController.d.ts +53 -0
  87. package/dist/components/FaceCharacter/FaceMorph.d.ts +71 -0
  88. package/dist/components/FaceCharacter/FacePiercing.d.ts +65 -0
  89. package/dist/components/FaceCharacter/FaceReprojection.d.ts +85 -0
  90. package/dist/components/FaceCharacter/FaceRig.d.ts +38 -0
  91. package/dist/components/FaceCharacter/FaceSurface.d.ts +49 -0
  92. package/dist/components/FaceCharacter/FaceSurfaceOccluder.d.ts +39 -0
  93. package/dist/components/FaceCharacter/PinToFaceMesh.d.ts +68 -0
  94. package/dist/components/FaceCharacter/index.d.ts +18 -0
  95. package/dist/components/FaceCharacter/useFaceReprojector.d.ts +10 -0
  96. package/dist/components/FaceInset/FaceInset.d.ts +68 -0
  97. package/dist/components/FaceInset/frame.d.ts +94 -0
  98. package/dist/components/FaceInset/index.d.ts +6 -0
  99. package/dist/components/FaceInset/material.d.ts +40 -0
  100. package/dist/components/FaceInset/useFaceInsetTexture.d.ts +37 -0
  101. package/dist/components/FaceInstruction/FaceExpressionHint.d.ts +43 -0
  102. package/dist/components/FaceInstruction/index.d.ts +56 -0
  103. package/dist/components/FaceInstruction/useFaceExpression.d.ts +20 -0
  104. package/dist/components/FaceLiquify/FaceLiquify.d.ts +49 -0
  105. package/dist/components/FaceLiquify/debug.d.ts +37 -0
  106. package/dist/components/FaceLiquify/frame.d.ts +55 -0
  107. package/dist/components/FaceLiquify/index.d.ts +10 -0
  108. package/dist/components/FaceLiquify/material.d.ts +39 -0
  109. package/dist/components/FaceLiquify/pass.d.ts +49 -0
  110. package/dist/components/FaceLiquify/presence.d.ts +25 -0
  111. package/dist/components/FaceLiquify/presets.d.ts +82 -0
  112. package/dist/components/FaceLiquify/selfTest.d.ts +66 -0
  113. package/dist/components/FaceLiquify/target.d.ts +85 -0
  114. package/dist/components/FaceLiquify/warp.d.ts +72 -0
  115. package/dist/components/FaceMesh/FaceMeshRenderer.d.ts +25 -0
  116. package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +70 -1
  117. package/dist/components/FaceMesh/canonical/FaceMeshMaterial.d.ts +25 -0
  118. package/dist/components/FaceMesh/canonical/assets.d.ts +3 -0
  119. package/dist/components/FaceMesh/canonical/geometryGroups.d.ts +30 -0
  120. package/dist/components/FaceMesh/canonical/parseCanonicalFaceModel.d.ts +24 -0
  121. package/dist/components/FaceMesh/canonical/shaders.d.ts +2 -0
  122. package/dist/components/FaceMesh/deform.d.ts +3 -0
  123. package/dist/components/FaceMesh/index.d.ts +6 -1
  124. package/dist/components/FaceMesh/material/defaults.d.ts +74 -0
  125. package/dist/components/FaceMesh/material/index.d.ts +1 -0
  126. package/dist/components/FaceMesh/material/options.d.ts +5 -1
  127. package/dist/components/FaceMesh/material/support.d.ts +7 -2
  128. package/dist/components/FaceMesh/material/textures.d.ts +4 -0
  129. package/dist/components/FaceMesh/material/types.d.ts +4 -2
  130. package/dist/components/FaceRetouch/Background.d.ts +11 -5
  131. package/dist/components/FaceRetouch/FaceRetouch.d.ts +52 -0
  132. package/dist/components/FaceRetouch/index.d.ts +2 -6
  133. package/dist/components/FaceRetouch/landmarkMask.d.ts +4 -6
  134. package/dist/components/FaceRetouch/renderState.d.ts +19 -0
  135. package/dist/components/FaceRetouch/useFaceRetouchMask.d.ts +4 -7
  136. package/dist/components/FaceSwap/FaceMirror.d.ts +46 -0
  137. package/dist/components/FaceSwap/FaceSwap.d.ts +58 -0
  138. package/dist/components/FaceSwap/FaceTextureLayer.d.ts +72 -0
  139. package/dist/components/FaceSwap/faceSwapPlan.d.ts +91 -0
  140. package/dist/components/FaceSwap/index.d.ts +13 -0
  141. package/dist/components/FaceSwap/settings.d.ts +300 -0
  142. package/dist/components/FaceSwap/useFaceTexture.d.ts +35 -0
  143. package/dist/components/FaceSwap/useLiveFace.d.ts +38 -0
  144. package/dist/components/FaceSwap/useLiveFaceTexture.d.ts +31 -0
  145. package/dist/components/FaceTracker/index.d.ts +5 -3
  146. package/dist/components/FaceWarp3D/FaceWarp3D.d.ts +50 -0
  147. package/dist/components/FaceWarp3D/index.d.ts +2 -0
  148. package/dist/components/Faceless/Faceless.d.ts +51 -0
  149. package/dist/components/Faceless/index.d.ts +2 -0
  150. package/dist/components/GestureListener/index.d.ts +11 -0
  151. package/dist/components/HairLock/HairLock.d.ts +39 -0
  152. package/dist/components/HairLock/index.d.ts +2 -0
  153. package/dist/components/HairLock/lockGeometry.d.ts +15 -0
  154. package/dist/components/HandCutout/index.d.ts +35 -0
  155. package/dist/components/HandEffect/index.d.ts +36 -0
  156. package/dist/components/HandInstruction/HandGestureHint.d.ts +70 -0
  157. package/dist/components/HandInstruction/index.d.ts +74 -0
  158. package/dist/components/HandInstruction/useHandGesture.d.ts +22 -0
  159. package/dist/components/HandJoints2D/index.d.ts +6 -0
  160. package/dist/components/HandRig/ForearmOccluder.d.ts +29 -0
  161. package/dist/components/HandRig/HandAttachment.d.ts +34 -0
  162. package/dist/components/HandRig/HandNails.d.ts +61 -0
  163. package/dist/components/HandRig/HandOccluder.d.ts +45 -0
  164. package/dist/components/HandRig/HandTattoo.d.ts +61 -0
  165. package/dist/components/HandRig/WristAttachment.d.ts +34 -0
  166. package/dist/components/HandRig/index.d.ts +127 -0
  167. package/dist/components/HandRig/useArmMask.d.ts +29 -0
  168. package/dist/components/HandRig/wristSolve.d.ts +96 -0
  169. package/dist/components/HandTouch/HandTouch.d.ts +62 -0
  170. package/dist/components/HandTouch/Touchable.d.ts +36 -0
  171. package/dist/components/HandTouch/index.d.ts +2 -0
  172. package/dist/components/HandTracker/index.d.ts +12 -2
  173. package/dist/components/HandTracking2D/HandVisual.d.ts +12 -0
  174. package/dist/components/HandTracking2D/index.d.ts +5 -0
  175. package/dist/components/HandTracking2DController/index.d.ts +5 -0
  176. package/dist/components/HandTracking3D/index.d.ts +6 -0
  177. package/dist/components/HeadBinding/index.d.ts +14 -0
  178. package/dist/components/HeadOccluder/CanonicalHeadFrame.d.ts +22 -0
  179. package/dist/components/HeadOccluder/Earrings.d.ts +55 -0
  180. package/dist/components/HeadOccluder/HeadAttachment.d.ts +38 -0
  181. package/dist/components/HeadOccluder/NeckOccluder.d.ts +67 -0
  182. package/dist/components/HeadOccluder/earringPlacement.d.ts +31 -0
  183. package/dist/components/HeadOccluder/headAttachmentPoints.d.ts +69 -0
  184. package/dist/components/HeadOccluder/index.d.ts +57 -3
  185. package/dist/components/HeadOccluder/useCanonicalHeadFit.d.ts +36 -0
  186. package/dist/components/HeadOccluder/useLandmarkPoseFit.d.ts +80 -0
  187. package/dist/components/HolisticTracker/index.d.ts +69 -0
  188. package/dist/components/HolisticTracker/settings.d.ts +58 -0
  189. package/dist/components/HolisticTracker/signals.d.ts +49 -0
  190. package/dist/components/Instruction/HintStage.d.ts +29 -0
  191. package/dist/components/Instruction/InstructionCue.d.ts +126 -0
  192. package/dist/components/Instruction/gestureHold.d.ts +20 -0
  193. package/dist/components/Instruction/ghost.d.ts +129 -0
  194. package/dist/components/Instruction/hintBlend.d.ts +19 -0
  195. package/dist/components/Instruction/hintLook.d.ts +81 -0
  196. package/dist/components/Instruction/hintLoop.d.ts +36 -0
  197. package/dist/components/Instruction/index.d.ts +41 -0
  198. package/dist/components/Instruction/useGhostModel.d.ts +33 -0
  199. package/dist/components/Instruction/useInstructionHold.d.ts +72 -0
  200. package/dist/components/IrisEffect/IrisMaterial.d.ts +73 -0
  201. package/dist/components/IrisEffect/index.d.ts +51 -0
  202. package/dist/components/IrisEffect/settings.d.ts +117 -0
  203. package/dist/components/LightObject/index.d.ts +20 -0
  204. package/dist/components/LipEffect/LipEffect.d.ts +28 -0
  205. package/dist/components/LipEffect/LipEffectMaterial.d.ts +98 -0
  206. package/dist/components/LipEffect/LipEffects.d.ts +12 -0
  207. package/dist/components/LipEffect/defaults.d.ts +51 -0
  208. package/dist/components/LipEffect/index.d.ts +12 -0
  209. package/dist/components/LipEffect/lipShading.d.ts +73 -0
  210. package/dist/components/LipEffect/settings.d.ts +375 -0
  211. package/dist/components/LipEffect/shader.d.ts +39 -0
  212. package/dist/components/LipEffect/types.d.ts +141 -0
  213. package/dist/components/LipEffect/useLipDesignTextures.d.ts +17 -0
  214. package/dist/components/LipEffect/uvGuide.d.ts +74 -0
  215. package/dist/components/LookAt/index.d.ts +23 -0
  216. package/dist/components/Makeup/Blush.d.ts +18 -0
  217. package/dist/components/Makeup/Brows.d.ts +20 -0
  218. package/dist/components/Makeup/Contour.d.ts +17 -0
  219. package/dist/components/Makeup/Eyeliner.d.ts +20 -0
  220. package/dist/components/Makeup/Eyeshadow.d.ts +20 -0
  221. package/dist/components/Makeup/Highlighter.d.ts +18 -0
  222. package/dist/components/Makeup/MakeupDesign.d.ts +37 -0
  223. package/dist/components/Makeup/MakeupRegion.d.ts +132 -0
  224. package/dist/components/Makeup/constants.d.ts +44 -0
  225. package/dist/components/Makeup/design.d.ts +106 -0
  226. package/dist/components/Makeup/designSamples.d.ts +42 -0
  227. package/dist/components/Makeup/eyes.d.ts +114 -0
  228. package/dist/components/Makeup/fields.d.ts +10 -0
  229. package/dist/components/Makeup/geometry.d.ts +106 -0
  230. package/dist/components/Makeup/index.d.ts +26 -0
  231. package/dist/components/Makeup/looks.d.ts +28 -0
  232. package/dist/components/Makeup/material.d.ts +239 -0
  233. package/dist/components/Makeup/settings.d.ts +54 -0
  234. package/dist/components/Makeup/shades.d.ts +143 -0
  235. package/dist/components/Makeup/shapes.d.ts +27 -0
  236. package/dist/components/Makeup/skinTone.d.ts +135 -0
  237. package/dist/components/Makeup/types.d.ts +110 -0
  238. package/dist/components/Makeup/useMakeupSkinTone.d.ts +40 -0
  239. package/dist/components/MeshRenderer/index.d.ts +59 -0
  240. package/dist/components/Necklace/Necklace.d.ts +44 -0
  241. package/dist/components/Necklace/index.d.ts +1 -0
  242. package/dist/components/ParticleEmitter/ParticleEmitter.d.ts +69 -0
  243. package/dist/components/ParticleEmitter/index.d.ts +1 -0
  244. package/dist/components/PersonCutout/index.d.ts +46 -0
  245. package/dist/components/PersonCutout/personCutout.d.ts +16 -0
  246. package/dist/components/PersonCutout/personMask.d.ts +19 -0
  247. package/dist/components/PersonCutout/useBodyMaskTexture.d.ts +35 -0
  248. package/dist/components/PerspectiveCamera/index.d.ts +2 -8
  249. package/dist/components/PinToMesh/index.d.ts +47 -0
  250. package/dist/components/RenderGroupLayer/index.d.ts +6 -0
  251. package/dist/components/SceneObjectRenderer/index.d.ts +23 -0
  252. package/dist/components/Screen2D/ScreenTransformFrame.d.ts +11 -0
  253. package/dist/components/Screen2D/ScreenTransformHelpers.d.ts +19 -0
  254. package/dist/components/Screen2D/ScreenTransformInteraction.d.ts +18 -0
  255. package/dist/components/Screen2D/index.d.ts +5 -0
  256. package/dist/components/ScreenGlass/defaults.d.ts +3 -0
  257. package/dist/components/ScreenGlass/index.d.ts +5 -0
  258. package/dist/components/ScreenGlass/shaders.d.ts +2 -0
  259. package/dist/components/ScreenGlass/types.d.ts +10 -0
  260. package/dist/components/ScreenGradient/defaults.d.ts +5 -0
  261. package/dist/components/ScreenGradient/index.d.ts +5 -0
  262. package/dist/components/ScreenGradient/shaders.d.ts +2 -0
  263. package/dist/components/ScreenGradient/types.d.ts +19 -0
  264. package/dist/components/ScreenImage/ScreenImage.d.ts +4 -0
  265. package/dist/components/ScreenImage/components/DynamicTextureSync.d.ts +9 -0
  266. package/dist/components/ScreenImage/components/ScreenImageBody.d.ts +9 -0
  267. package/dist/components/ScreenImage/components/ScreenImageFrame.d.ts +9 -0
  268. package/dist/components/ScreenImage/components/ScreenImageTransformFrame.d.ts +9 -0
  269. package/dist/components/ScreenImage/fit.d.ts +52 -0
  270. package/dist/components/ScreenImage/index.d.ts +10 -0
  271. package/dist/components/ScreenImage/materials/ScreenImageBlendMaterial.d.ts +9 -0
  272. package/dist/components/ScreenImage/materials/ScreenImageMaskMaterial.d.ts +11 -0
  273. package/dist/components/ScreenImage/materials/ScreenImageMatcap.d.ts +3 -0
  274. package/dist/components/ScreenImage/source.d.ts +25 -0
  275. package/dist/components/ScreenImage/types.d.ts +64 -0
  276. package/dist/components/ScreenImage/utils/ScreenImageConstants.d.ts +9 -0
  277. package/dist/components/ScreenImage/utils/ScreenImageHelpers.d.ts +4 -0
  278. package/dist/components/ScreenShape/geometry.d.ts +5 -0
  279. package/dist/components/ScreenShape/index.d.ts +5 -0
  280. package/dist/components/ScreenShape/types.d.ts +54 -0
  281. package/dist/components/ScreenSpaceUI/ScreenTransformGuide.d.ts +15 -0
  282. package/dist/components/ScreenSpaceUI/ScreenTransformOverlayGuide.d.ts +9 -0
  283. package/dist/components/ScreenSpaceUI/index.d.ts +3 -0
  284. package/dist/components/ScreenText/components/ScreenTextBody.d.ts +2 -0
  285. package/dist/components/ScreenText/components/ScreenTextTransformFrame.d.ts +9 -0
  286. package/dist/components/ScreenText/constants.d.ts +5 -0
  287. package/dist/components/ScreenText/index.d.ts +6 -0
  288. package/dist/components/ScreenText/types.d.ts +31 -0
  289. package/dist/components/ScreenText/utils/ScreenTextHelpers.d.ts +14 -0
  290. package/dist/components/ScreenText/utils/ScreenTextMappings.d.ts +17 -0
  291. package/dist/components/SegmentationOverlay/SegmentationOverlay.d.ts +37 -0
  292. package/dist/components/SegmentationOverlay/SegmentationOverlayMaterial.d.ts +31 -0
  293. package/dist/components/SegmentationOverlay/index.d.ts +9 -0
  294. package/dist/components/SegmentationOverlay/maskTexture.d.ts +23 -0
  295. package/dist/components/SegmentationOverlay/providers.d.ts +72 -0
  296. package/dist/components/SegmentationOverlay/settings.d.ts +65 -0
  297. package/dist/components/SequentialRenderPasses/index.d.ts +6 -0
  298. package/dist/components/ShoulderOccluder/index.d.ts +46 -0
  299. package/dist/components/ShoulderOccluder/useCanonicalTorsoFit.d.ts +27 -0
  300. package/dist/components/SpringSwing/SpringSwing.d.ts +22 -0
  301. package/dist/components/SpringSwing/index.d.ts +1 -0
  302. package/dist/components/TextLabel/TextLabel.d.ts +5 -0
  303. package/dist/components/TextLabel/alignment.d.ts +4 -0
  304. package/dist/components/TextLabel/bend.d.ts +9 -0
  305. package/dist/components/TextLabel/canvas/buildTextLabelTexture.d.ts +4 -0
  306. package/dist/components/TextLabel/canvas/canvasTypography.d.ts +13 -0
  307. package/dist/components/TextLabel/canvas/drawBackground.d.ts +21 -0
  308. package/dist/components/TextLabel/canvas/drawEffects.d.ts +34 -0
  309. package/dist/components/TextLabel/canvas/drawText.d.ts +19 -0
  310. package/dist/components/TextLabel/components/TextLabelMesh.d.ts +13 -0
  311. package/dist/components/TextLabel/constants.d.ts +2 -0
  312. package/dist/components/TextLabel/hooks/useTextLabelTexture.d.ts +7 -0
  313. package/dist/components/TextLabel/index.d.ts +2 -62
  314. package/dist/components/TextLabel/layout/measurement.d.ts +8 -0
  315. package/dist/components/TextLabel/layout/resolveTextLayout.d.ts +25 -0
  316. package/dist/components/TextLabel/layout/wrapText.d.ts +6 -0
  317. package/dist/components/TextLabel/types.d.ts +337 -0
  318. package/dist/components/TrackingAnchor/index.d.ts +18 -2
  319. package/dist/components/Transform3D/index.d.ts +30 -0
  320. package/dist/components/XRMediaSurface/index.d.ts +8 -7
  321. package/dist/components/XRProvider/index.d.ts +16 -2
  322. package/dist/components/XRScene/index.d.ts +14 -3
  323. package/dist/components/XRScene/renderOutputTarget.d.ts +12 -0
  324. package/dist/components/XRViewport/XRViewport.d.ts +11 -0
  325. package/dist/components/XRViewport/components/HiddenMedia.d.ts +7 -0
  326. package/dist/components/XRViewport/components/MediaAssetPicker.d.ts +8 -0
  327. package/dist/components/XRViewport/components/MediaControlStack.d.ts +13 -0
  328. package/dist/components/XRViewport/components/XRViewportLayers.d.ts +30 -0
  329. package/dist/components/XRViewport/constants.d.ts +24 -0
  330. package/dist/components/XRViewport/contexts.d.ts +6 -0
  331. package/dist/components/XRViewport/hooks/useViewportExternalFaces.d.ts +13 -0
  332. package/dist/components/XRViewport/hooks/useViewportMediaSource.d.ts +16 -0
  333. package/dist/components/XRViewport/hooks/useViewportMediaTexture.d.ts +10 -0
  334. package/dist/components/XRViewport/hooks/useViewportPipeline.d.ts +41 -0
  335. package/dist/components/XRViewport/hooks/useViewportRenderState.d.ts +47 -0
  336. package/dist/components/XRViewport/index.d.ts +3 -101
  337. package/dist/components/XRViewport/layout.d.ts +16 -0
  338. package/dist/components/XRViewport/slots.d.ts +16 -0
  339. package/dist/components/XRViewport/types.d.ts +89 -0
  340. package/dist/components/XRViewport/useViewportSize.d.ts +3 -0
  341. package/dist/components/index.d.ts +31 -0
  342. package/dist/components/occluder/skinnedOccluder.d.ts +39 -0
  343. package/dist/config/index.d.ts +1 -1
  344. package/dist/constants/index.d.ts +4 -1
  345. package/dist/context-DTxSQvp4.js +13 -0
  346. package/dist/context-hA0Rb2Xa.cjs +1 -0
  347. package/dist/contexts-DQc7zyqT.cjs +1 -0
  348. package/dist/contexts-Y_FhdnIv.js +667 -0
  349. package/dist/coordinates/feed.d.ts +52 -0
  350. package/dist/coordinates/index.d.ts +7 -0
  351. package/dist/coordinates/side.d.ts +40 -0
  352. package/dist/coordinates/spaces.d.ts +49 -0
  353. package/dist/coordinates/viewport.d.ts +22 -0
  354. package/dist/coordinates/world.d.ts +15 -0
  355. package/dist/debug-ui/component-editor/index.d.ts +19 -0
  356. package/dist/debug-ui/default-setting/index.d.ts +37 -0
  357. package/dist/debug-ui/default-setting.cjs +21 -0
  358. package/dist/debug-ui/default-setting.js +777 -0
  359. package/dist/debug-ui/face-mesh-renderer-settings/index.d.ts +8 -0
  360. package/dist/debug-ui/face-retouch/index.d.ts +11 -0
  361. package/dist/debug-ui/face-swap-settings/index.d.ts +22 -0
  362. package/dist/debug-ui/gesture-settings/index.d.ts +14 -0
  363. package/dist/debug-ui/hand-joints-2d/index.d.ts +6 -0
  364. package/dist/debug-ui/hand-tracking-2d/index.d.ts +6 -0
  365. package/dist/debug-ui/hand-tracking-2d-controller/index.d.ts +6 -0
  366. package/dist/debug-ui/hand-tracking-3d/index.d.ts +6 -0
  367. package/dist/debug-ui/hierarchy-panel/index.d.ts +30 -0
  368. package/dist/debug-ui/holistic-tracker-settings/index.d.ts +16 -0
  369. package/dist/debug-ui/index.d.ts +61 -0
  370. package/dist/debug-ui/iris-effect-settings/index.d.ts +12 -0
  371. package/dist/debug-ui/layer-panel/index.d.ts +18 -0
  372. package/dist/debug-ui/lip-effect-settings/index.d.ts +15 -0
  373. package/dist/debug-ui/media-source/MediaSourceSwitcher.d.ts +10 -0
  374. package/dist/debug-ui/media-source/index.d.ts +6 -0
  375. package/dist/debug-ui/media-source/media-preset.d.ts +21 -0
  376. package/dist/debug-ui/media-source/session.d.ts +40 -0
  377. package/dist/debug-ui/media-source.cjs +1 -0
  378. package/dist/debug-ui/media-source.js +11 -0
  379. package/dist/debug-ui/mesh-renderer-settings/index.d.ts +6 -0
  380. package/dist/debug-ui/object-inspector-panel/index.d.ts +26 -0
  381. package/dist/debug-ui/pin-to-mesh-settings/index.d.ts +10 -0
  382. package/dist/debug-ui/product-hotspots/index.d.ts +25 -0
  383. package/dist/debug-ui/scene-editor/context.d.ts +38 -0
  384. package/dist/debug-ui/scene-editor/hierarchy-panel.d.ts +11 -0
  385. package/dist/debug-ui/scene-editor/index.d.ts +11 -0
  386. package/dist/debug-ui/scene-editor/inspector-panel.d.ts +9 -0
  387. package/dist/debug-ui/scene-editor/store-utils.d.ts +2 -0
  388. package/dist/debug-ui/scene-editor/viewport-toolbar.d.ts +4 -0
  389. package/dist/debug-ui/scene-editor/viewport.d.ts +21 -0
  390. package/dist/debug-ui/screen-glass-settings/index.d.ts +6 -0
  391. package/dist/debug-ui/screen-gradient-settings/GradientStopsEditor.d.ts +5 -0
  392. package/dist/debug-ui/screen-gradient-settings/index.d.ts +6 -0
  393. package/dist/debug-ui/screen-gradient-settings/styles.d.ts +3 -0
  394. package/dist/debug-ui/screen-image-settings/index.d.ts +11 -0
  395. package/dist/debug-ui/screen-shape-settings/index.d.ts +6 -0
  396. package/dist/debug-ui/screen-text-settings/NumberField.d.ts +9 -0
  397. package/dist/debug-ui/screen-text-settings/ScreenTextSettingsPanel.d.ts +3 -0
  398. package/dist/debug-ui/screen-text-settings/controls/NestedSection.d.ts +7 -0
  399. package/dist/debug-ui/screen-text-settings/controls/Section.d.ts +8 -0
  400. package/dist/debug-ui/screen-text-settings/controls/icons.d.ts +4 -0
  401. package/dist/debug-ui/screen-text-settings/index.d.ts +2 -0
  402. package/dist/debug-ui/screen-text-settings/sections/BackgroundSection.d.ts +8 -0
  403. package/dist/debug-ui/screen-text-settings/sections/ContentSection.d.ts +5 -0
  404. package/dist/debug-ui/screen-text-settings/sections/EffectsSection.d.ts +25 -0
  405. package/dist/debug-ui/screen-text-settings/sections/StyleSection.d.ts +5 -0
  406. package/dist/debug-ui/screen-text-settings/sections/TransformSection.d.ts +5 -0
  407. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundFillControls.d.ts +2 -0
  408. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundSizeControls.d.ts +2 -0
  409. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundStrokeControls.d.ts +2 -0
  410. package/dist/debug-ui/screen-text-settings/sections/background/types.d.ts +7 -0
  411. package/dist/debug-ui/screen-text-settings/sections/effects/BendEffectSection.d.ts +4 -0
  412. package/dist/debug-ui/screen-text-settings/sections/effects/EffectChrome.d.ts +21 -0
  413. package/dist/debug-ui/screen-text-settings/sections/effects/GlowEffectSection.d.ts +4 -0
  414. package/dist/debug-ui/screen-text-settings/sections/effects/InnerShadowEffectSection.d.ts +4 -0
  415. package/dist/debug-ui/screen-text-settings/sections/effects/OutlineEffectSection.d.ts +4 -0
  416. package/dist/debug-ui/screen-text-settings/sections/effects/ShadowEffectSection.d.ts +4 -0
  417. package/dist/debug-ui/screen-text-settings/sections/effects/types.d.ts +14 -0
  418. package/dist/debug-ui/screen-text-settings/settings.d.ts +90 -0
  419. package/dist/debug-ui/screen-text-settings/styles.d.ts +26 -0
  420. package/dist/debug-ui/screen-text-settings/transform.d.ts +6 -0
  421. package/dist/debug-ui/screen-text-settings/types.d.ts +11 -0
  422. package/dist/debug-ui/segmentation-overlay-settings/index.d.ts +12 -0
  423. package/dist/debug-ui/settings-panel/index.d.ts +43 -0
  424. package/dist/debug-ui/shared/MaterialSection.d.ts +13 -0
  425. package/dist/debug-ui/shared/ScreenTransformSection.d.ts +32 -0
  426. package/dist/debug-ui/shared/debugWindow.d.ts +51 -0
  427. package/dist/debug-ui/transform-3d-settings/index.d.ts +11 -0
  428. package/dist/debug-ui/xr-diagnostics/index.d.ts +26 -0
  429. package/dist/debug-ui.cjs +10 -0
  430. package/dist/debug-ui.js +9051 -0
  431. package/dist/detector-K8aej4MB.js +59 -0
  432. package/dist/detector-ijypGtse.cjs +1 -0
  433. package/dist/drawNormalizedCrop-C4KFaRne.cjs +1 -0
  434. package/dist/drawNormalizedCrop-DG3gtJxf.js +135 -0
  435. package/dist/entries/all.d.ts +4 -1
  436. package/dist/entries/core.d.ts +76 -6
  437. package/dist/entries/face-effects.d.ts +130 -10
  438. package/dist/entries/instructions.d.ts +48 -0
  439. package/dist/entries/internal.d.ts +5 -2
  440. package/dist/entries/low-level.d.ts +104 -6
  441. package/dist/entries/particles.d.ts +15 -0
  442. package/dist/entries/product.d.ts +11 -0
  443. package/dist/entries/scene-object.d.ts +10 -0
  444. package/dist/entries/tracking.d.ts +110 -2
  445. package/dist/face-action/index.d.ts +34 -0
  446. package/dist/face-atlas/attributes.d.ts +30 -0
  447. package/dist/face-atlas/eyes.d.ts +272 -0
  448. package/dist/face-atlas/faceAtlas.generated.d.ts +46 -0
  449. package/dist/face-atlas/glsl/atlasVertex.d.ts +46 -0
  450. package/dist/face-atlas/glsl/common.d.ts +55 -0
  451. package/dist/face-atlas/glsl/design.d.ts +49 -0
  452. package/dist/face-atlas/glsl/eyes.d.ts +73 -0
  453. package/dist/face-atlas/glsl/finish.d.ts +24 -0
  454. package/dist/face-atlas/glsl/format.d.ts +4 -0
  455. package/dist/face-atlas/glsl/index.d.ts +59 -0
  456. package/dist/face-atlas/glsl/shading.d.ts +15 -0
  457. package/dist/face-atlas/glsl/shapes.d.ts +66 -0
  458. package/dist/face-atlas/glsl/sparkle.d.ts +19 -0
  459. package/dist/face-atlas/glsl/uniforms.d.ts +106 -0
  460. package/dist/face-atlas/guide.d.ts +51 -0
  461. package/dist/face-atlas/index.d.ts +25 -0
  462. package/dist/face-atlas/lead.d.ts +117 -0
  463. package/dist/face-atlas/madeUpCamera.d.ts +125 -0
  464. package/dist/face-atlas/masks.d.ts +53 -0
  465. package/dist/face-atlas/obj.d.ts +69 -0
  466. package/dist/face-atlas/polylines.d.ts +63 -0
  467. package/dist/face-atlas/probe/FaceSkinProbe.d.ts +208 -0
  468. package/dist/face-atlas/probe/__fixtures__/emulate.d.ts +9 -0
  469. package/dist/face-atlas/probe/__fixtures__/face.d.ts +24 -0
  470. package/dist/face-atlas/probe/constants.d.ts +137 -0
  471. package/dist/face-atlas/probe/glsl.d.ts +43 -0
  472. package/dist/face-atlas/probe/lightFit.d.ts +108 -0
  473. package/dist/face-atlas/probe/schedule.d.ts +44 -0
  474. package/dist/face-atlas/probe/selfTest.d.ts +87 -0
  475. package/dist/face-atlas/probe/stats.d.ts +143 -0
  476. package/dist/face-atlas/probe/targets.d.ts +70 -0
  477. package/dist/face-atlas/probe/unwrap.d.ts +76 -0
  478. package/dist/face-atlas/quality.d.ts +28 -0
  479. package/dist/face-atlas/regions.d.ts +31 -0
  480. package/dist/face-atlas/registry.d.ts +252 -0
  481. package/dist/face-atlas/renderState.d.ts +86 -0
  482. package/dist/face-atlas/selfOcclusion.d.ts +62 -0
  483. package/dist/face-atlas/shading.d.ts +406 -0
  484. package/dist/face-atlas/shapes.d.ts +86 -0
  485. package/dist/face-atlas/sides.d.ts +41 -0
  486. package/dist/face-atlas/skinMask.d.ts +35 -0
  487. package/dist/face-atlas/surface.d.ts +155 -0
  488. package/dist/face-atlas/topology.d.ts +44 -0
  489. package/dist/face-attribute-expression/index.d.ts +10 -0
  490. package/dist/face-character/__fixtures__/faceImageDetections.d.ts +25 -0
  491. package/dist/face-character/__fixtures__/faceNode.d.ts +22 -0
  492. package/dist/face-character/bindFaceModel.d.ts +106 -0
  493. package/dist/face-character/canonicalFace.d.ts +17 -0
  494. package/dist/face-character/canonicalFaceGeometry.d.ts +11 -0
  495. package/dist/face-character/canonicalFacePositions.d.ts +7 -0
  496. package/dist/face-character/driveFaceModel.d.ts +57 -0
  497. package/dist/face-character/expressionOutputs.d.ts +45 -0
  498. package/dist/face-character/faceExpressions.d.ts +104 -0
  499. package/dist/face-character/faceImageLandmarker.d.ts +93 -0
  500. package/dist/face-character/faceMeshBinding.d.ts +62 -0
  501. package/dist/face-character/faceMorph.d.ts +77 -0
  502. package/dist/face-character/faceMorphs.d.ts +46 -0
  503. package/dist/face-character/facePhoto.d.ts +138 -0
  504. package/dist/face-character/facePiercings.d.ts +116 -0
  505. package/dist/face-character/facePin.d.ts +131 -0
  506. package/dist/face-character/faceReprojection.d.ts +273 -0
  507. package/dist/face-character/faceReprojector.d.ts +171 -0
  508. package/dist/face-character/faceRig.d.ts +176 -0
  509. package/dist/face-character/faceSwapPresence.d.ts +85 -0
  510. package/dist/face-character/faceTexture.d.ts +169 -0
  511. package/dist/face-character/faceTextureBaker.d.ts +86 -0
  512. package/dist/face-character/faceTextureGuide.d.ts +106 -0
  513. package/dist/face-character/faceTextureStats.d.ts +298 -0
  514. package/dist/face-character/faceTransfer.d.ts +396 -0
  515. package/dist/face-character/faceTransferGeometry.d.ts +109 -0
  516. package/dist/face-character/faceTransferSelfTest.d.ts +94 -0
  517. package/dist/face-character/faceWarp3D.d.ts +101 -0
  518. package/dist/face-character/faceless.d.ts +79 -0
  519. package/dist/face-character/featureWarp.d.ts +28 -0
  520. package/dist/face-character/liveFaceRegistry.d.ts +370 -0
  521. package/dist/face-character/liveValue.d.ts +12 -0
  522. package/dist/face-character/memo.d.ts +15 -0
  523. package/dist/face-effects.cjs +2267 -195
  524. package/dist/face-effects.js +14191 -3346
  525. package/dist/face-expression/index.d.ts +182 -0
  526. package/dist/face-info/blendshapes.d.ts +3 -0
  527. package/dist/face-info/derive.d.ts +8 -0
  528. package/dist/face-info/drawFaceCrop.d.ts +10 -0
  529. package/dist/face-info/getFaceInfo.d.ts +8 -0
  530. package/dist/face-info/index.d.ts +8 -0
  531. package/dist/face-info/landmarks.d.ts +35 -0
  532. package/dist/face-info/types.d.ts +69 -0
  533. package/dist/gestures/definitions.d.ts +98 -0
  534. package/dist/gestures/detector.d.ts +87 -0
  535. package/dist/gestures/index.d.ts +8 -0
  536. package/dist/gestures/measures.d.ts +114 -0
  537. package/dist/gestures/settings.d.ts +49 -0
  538. package/dist/getFaceInfo-BafgGT27.js +62 -0
  539. package/dist/getFaceInfo-BzlwHMjX.cjs +1 -0
  540. package/dist/hand/armFit.d.ts +46 -0
  541. package/dist/hand/armMask.d.ts +190 -0
  542. package/dist/hand/forearm.d.ts +114 -0
  543. package/dist/hand/handCutout.d.ts +23 -0
  544. package/dist/hand/handCutoutRegistry.d.ts +7 -0
  545. package/dist/hand/handEffect.d.ts +38 -0
  546. package/dist/hand/handGestures.d.ts +524 -0
  547. package/dist/hand/handJoints2d.d.ts +49 -0
  548. package/dist/hand/handNail.d.ts +73 -0
  549. package/dist/hand/handPose.d.ts +98 -0
  550. package/dist/hand/handRigSolver.d.ts +159 -0
  551. package/dist/hand/handTattoo.d.ts +81 -0
  552. package/dist/hand/handTouch.d.ts +240 -0
  553. package/dist/hand/handTracking2d.d.ts +33 -0
  554. package/dist/hand/handTracking2dController.d.ts +65 -0
  555. package/dist/hand/handTracking3d.d.ts +52 -0
  556. package/dist/hand/nailImageMask.d.ts +40 -0
  557. package/dist/hand/nailMaskFingers.d.ts +23 -0
  558. package/dist/hand/nailTipRefine.d.ts +37 -0
  559. package/dist/hand/wrist.d.ts +44 -0
  560. package/dist/hand/wristFilter.d.ts +44 -0
  561. package/dist/hooks/faceResults.d.ts +1 -1
  562. package/dist/hooks/selectors.d.ts +77 -4
  563. package/dist/hooks/useBodies.d.ts +39 -0
  564. package/dist/hooks/useCalibrationFaceTracker.d.ts +1 -1
  565. package/dist/hooks/useFaceAction.d.ts +3 -0
  566. package/dist/hooks/useFaceAttributeExpression.d.ts +16 -0
  567. package/dist/hooks/useFaceDetection.d.ts +18 -0
  568. package/dist/hooks/useFaceInfo.d.ts +19 -0
  569. package/dist/hooks/useFaceInfos.d.ts +15 -0
  570. package/dist/hooks/useFaceModelAcquisition.d.ts +38 -0
  571. package/dist/hooks/useFaceResultReader.d.ts +10 -0
  572. package/dist/hooks/useFrameCapture.d.ts +18 -0
  573. package/dist/hooks/useGesture.d.ts +39 -0
  574. package/dist/hooks/useIrisTracking.d.ts +45 -0
  575. package/dist/hooks/useMediaRecorder.d.ts +14 -2
  576. package/dist/hooks/useOwnedTexture.d.ts +6 -0
  577. package/dist/hooks/useTrackerContext.d.ts +14 -2
  578. package/dist/hooks/useXRDiagnostics.d.ts +81 -0
  579. package/dist/hooks/useXRModel.d.ts +12 -0
  580. package/dist/hooks/useXRSession/facade.d.ts +47 -2
  581. package/dist/hooks/useXRSession/index.d.ts +2 -2
  582. package/dist/hooks/useXRSession/reason.d.ts +21 -0
  583. package/dist/hooks/useXRSession/registry.d.ts +23 -0
  584. package/dist/hooks/useXRSession/store.d.ts +64 -7
  585. package/dist/index-BZoBxyLn.js +1103 -0
  586. package/dist/index-By_LCo2V.cjs +1 -0
  587. package/dist/index-C-Mryx_u.cjs +21 -0
  588. package/dist/index-CKRN-xJp.js +3740 -0
  589. package/dist/index-CUldCMRl.js +188 -0
  590. package/dist/index-Cyk_VIZE.js +1432 -0
  591. package/dist/index-D-4w34GO.cjs +1 -0
  592. package/dist/index-DiIoHK_4.js +442 -0
  593. package/dist/index-Dv3WnY9n.cjs +46 -0
  594. package/dist/index-ItufYyHH.cjs +1 -0
  595. package/dist/index-S3gqudT6.cjs +1 -0
  596. package/dist/index-Sho4F4it.cjs +1 -0
  597. package/dist/index-iIQ9jBDb.js +240 -0
  598. package/dist/index-vr2ichWQ.js +190 -0
  599. package/dist/instructions.cjs +30 -0
  600. package/dist/instructions.js +1528 -0
  601. package/dist/internal-Bb9ZXbpr.cjs +1 -0
  602. package/dist/{internal-KOKJDxCG.js → internal-Gt1wn6Z3.js} +152 -127
  603. package/dist/internal.cjs +1 -1
  604. package/dist/internal.js +16 -9
  605. package/dist/iris/compute.d.ts +27 -0
  606. package/dist/iris/index.d.ts +4 -0
  607. package/dist/iris/lead.d.ts +19 -0
  608. package/dist/iris/types.d.ts +89 -0
  609. package/dist/landmarkMask-CvN-L5NT.cjs +1 -0
  610. package/dist/landmarkMask-DHivVjJm.js +225 -0
  611. package/dist/landmarks-BEjJXcnE.cjs +1 -0
  612. package/dist/landmarks-DtCAFV_m.js +76 -0
  613. package/dist/low-level.cjs +1 -1
  614. package/dist/low-level.js +1494 -629
  615. package/dist/main.cjs +1 -1
  616. package/dist/main.js +1306 -475
  617. package/dist/material/MaterialFill.d.ts +20 -0
  618. package/dist/material/MeshMaterial.d.ts +14 -0
  619. package/dist/material/index.d.ts +2 -0
  620. package/dist/models/Base/index.d.ts +49 -0
  621. package/dist/models/Body/index.d.ts +30 -1
  622. package/dist/models/Face/constants.d.ts +8 -0
  623. package/dist/models/Face/index.d.ts +5 -12
  624. package/dist/models/Face/rotation.d.ts +18 -0
  625. package/dist/models/Hand/GestureTracking.d.ts +1 -1
  626. package/dist/models/Hand/HandTracking.d.ts +19 -1
  627. package/dist/models/Holistic/index.d.ts +49 -0
  628. package/dist/models/Holistic/result.d.ts +68 -0
  629. package/dist/models/Segmentation/index.d.ts +6 -3
  630. package/dist/models/SemanticSegmentation/index.d.ts +31 -0
  631. package/dist/models/SemanticSegmentation/presets.d.ts +28 -0
  632. package/dist/models/index.d.ts +2 -0
  633. package/dist/models/nodeSource.d.ts +9 -0
  634. package/dist/particles/emission.d.ts +24 -0
  635. package/dist/particles/eyes.d.ts +24 -0
  636. package/dist/particles/glsl.d.ts +14 -0
  637. package/dist/particles/index.d.ts +10 -0
  638. package/dist/particles/motion.d.ts +42 -0
  639. package/dist/particles/presets.d.ts +12 -0
  640. package/dist/particles/ring.d.ts +58 -0
  641. package/dist/particles/selfTest.d.ts +53 -0
  642. package/dist/particles/settings.d.ts +127 -0
  643. package/dist/particles/shapes.d.ts +29 -0
  644. package/dist/particles/spawner.d.ts +71 -0
  645. package/dist/particles/system.d.ts +66 -0
  646. package/dist/particles.cjs +122 -0
  647. package/dist/particles.js +999 -0
  648. package/dist/product/ProductDimensions.d.ts +16 -0
  649. package/dist/product/ProductHotspot.d.ts +16 -0
  650. package/dist/product/ProductViewer.d.ts +9 -0
  651. package/dist/product/details.d.ts +53 -0
  652. package/dist/product/index.d.ts +14 -0
  653. package/dist/product/loadModelViewer.d.ts +4 -0
  654. package/dist/product/types.d.ts +71 -0
  655. package/dist/product/useProductAr.d.ts +37 -0
  656. package/dist/product/useProductDetails.d.ts +60 -0
  657. package/dist/product.cjs +1 -0
  658. package/dist/product.js +414 -0
  659. package/dist/providers-CEZQgz2s.cjs +62 -0
  660. package/dist/providers-CRuaD8bi.js +424 -0
  661. package/dist/quality/XRQualityController.d.ts +25 -0
  662. package/dist/quality/controller.d.ts +33 -0
  663. package/dist/quality/index.d.ts +6 -0
  664. package/dist/quality/types.d.ts +100 -0
  665. package/dist/quality/useXRQuality.d.ts +28 -0
  666. package/dist/render/layerStack.d.ts +29 -0
  667. package/dist/render/renderGroups.d.ts +47 -0
  668. package/dist/render/renderPasses.d.ts +26 -0
  669. package/dist/render/sceneBeforeRender.d.ts +12 -0
  670. package/dist/renderGroups-BADrepA1.cjs +1 -0
  671. package/dist/renderGroups-CNB99dZ2.js +152 -0
  672. package/dist/renderPasses-DgxUKn9b.cjs +158 -0
  673. package/dist/renderPasses-DuapJA6V.js +1290 -0
  674. package/dist/renderState-CJNmj5jz.js +39 -0
  675. package/dist/renderState-apSfg4eR.cjs +1 -0
  676. package/dist/scene-object/index.d.ts +146 -0
  677. package/dist/scene-object/runtimeRegistry.d.ts +14 -0
  678. package/dist/scene-object.cjs +1 -0
  679. package/dist/scene-object.js +40 -0
  680. package/dist/screen-image/screenImagePresets.d.ts +13 -0
  681. package/dist/screen-image/screenImageSettings.d.ts +57 -0
  682. package/dist/screen-text/screenTextPresets.d.ts +6 -0
  683. package/dist/screen-text/screenTextSettings.d.ts +147 -0
  684. package/dist/screen2d/coordinates.d.ts +107 -0
  685. package/dist/screen2d/index.d.ts +7 -0
  686. package/dist/screen2d/material-runtime.d.ts +32 -0
  687. package/dist/screen2d/screenTransform.d.ts +60 -0
  688. package/dist/screen2d/smoothing.d.ts +5 -0
  689. package/dist/screen2d/texture.d.ts +10 -0
  690. package/dist/screen2d/transform.d.ts +25 -0
  691. package/dist/screen2d/types.d.ts +90 -0
  692. package/dist/segmentation-BOZJdWFC.js +1911 -0
  693. package/dist/segmentation-J8GoNBvP.cjs +1 -0
  694. package/dist/segmentation2d/faceMemory.d.ts +28 -0
  695. package/dist/segmentation2d/faceRegions.d.ts +24 -0
  696. package/dist/segmentation2d/index.d.ts +9 -0
  697. package/dist/segmentation2d/maskUv.d.ts +23 -0
  698. package/dist/segmentation2d/rasterize.d.ts +14 -0
  699. package/dist/segmentation2d/types.d.ts +52 -0
  700. package/dist/selectors-BvJepq6H.js +196 -0
  701. package/dist/selectors-QB2qsaxy.cjs +1 -0
  702. package/dist/services/MetricsCollector/index.d.ts +7 -1
  703. package/dist/services/MetricsCollector/utils.d.ts +1 -1
  704. package/dist/session-BVX859as.cjs +31 -0
  705. package/dist/session-Cz8aie4K.js +493 -0
  706. package/dist/settings-BJ7FMBsO.js +111 -0
  707. package/dist/settings-C63FMBlF.cjs +1 -0
  708. package/dist/similarityFit-BFqHND2e.cjs +1 -0
  709. package/dist/similarityFit-Bbz-R8AY.js +91 -0
  710. package/dist/spring/index.d.ts +2 -0
  711. package/dist/spring/spring.d.ts +69 -0
  712. package/dist/spring/swing.d.ts +54 -0
  713. package/dist/subjects/index.d.ts +2 -0
  714. package/dist/subjects/select.d.ts +70 -0
  715. package/dist/subjects/types.d.ts +59 -0
  716. package/dist/texture/animatedTexture.d.ts +63 -0
  717. package/dist/texture/animationMath.d.ts +8 -0
  718. package/dist/texture/gifReader.d.ts +17 -0
  719. package/dist/texture/gifTextureSource.d.ts +16 -0
  720. package/dist/texture/sourceResolver.d.ts +30 -0
  721. package/dist/textures-BVwo9Z7z.js +38 -0
  722. package/dist/textures-DAfc61zz.cjs +1 -0
  723. package/dist/tracking/coordinates.d.ts +5 -0
  724. package/dist/tracking-config/apply.d.ts +57 -0
  725. package/dist/tracking-config/index.d.ts +7 -0
  726. package/dist/tracking-config/resolve.d.ts +25 -0
  727. package/dist/tracking-config/storage.d.ts +8 -0
  728. package/dist/tracking-config/types.d.ts +106 -0
  729. package/dist/tracking-config/useXRTrackingConfig.d.ts +38 -0
  730. package/dist/tracking.cjs +10 -1
  731. package/dist/tracking.js +1531 -294
  732. package/dist/trigger-D9L4GPmQ.js +3726 -0
  733. package/dist/trigger-DZ9vU7jo.cjs +147 -0
  734. package/dist/types/common.d.ts +11 -1
  735. package/dist/types/compositor.d.ts +21 -0
  736. package/dist/types/face.d.ts +21 -14
  737. package/dist/types/gesture-tracking.d.ts +2 -2
  738. package/dist/types/hand-tracking.d.ts +19 -2
  739. package/dist/types/holistic.d.ts +121 -0
  740. package/dist/types/index.d.ts +1 -1
  741. package/dist/types/model.d.ts +22 -2
  742. package/dist/types/nodes.d.ts +83 -6
  743. package/dist/types/segmentation.d.ts +26 -0
  744. package/dist/types/session.d.ts +50 -4
  745. package/dist/types/tracking.d.ts +8 -2
  746. package/dist/types/util-types.d.ts +1 -1
  747. package/dist/useBodies-BYzJpQ4L.js +75 -0
  748. package/dist/useBodies-Cxpmx6Bb.cjs +1 -0
  749. package/dist/useFaceInfo-BzEUj2OI.js +75 -0
  750. package/dist/useFaceInfo-DlLRAVNw.cjs +1 -0
  751. package/dist/useFaceResultReader-Cc4Qrutf.js +61 -0
  752. package/dist/useFaceResultReader-D3jOQNKz.cjs +1 -0
  753. package/dist/useInstructionHold-DOu-RpCM.js +53 -0
  754. package/dist/useInstructionHold-DwJY1Alr.cjs +1 -0
  755. package/dist/useIrisTracking-Bz4uLDa7.js +6190 -0
  756. package/dist/useIrisTracking-DRGWgoNy.cjs +35 -0
  757. package/dist/useLandmarkPoseFit-Bg-h9BPb.cjs +1 -0
  758. package/dist/useLandmarkPoseFit-Bmb3h6Mw.js +87 -0
  759. package/dist/useXRCapabilities-B1KLckqw.js +30 -0
  760. package/dist/useXRCapabilities-CZlPUBjF.cjs +1 -0
  761. package/dist/utils/canonicalRigidLandmarks.d.ts +8 -0
  762. package/dist/utils/drawNormalizedCrop.d.ts +22 -0
  763. package/dist/utils/fns.d.ts +6 -3
  764. package/dist/utils/headOccluderFit.d.ts +42 -0
  765. package/dist/utils/integrity.d.ts +25 -26
  766. package/dist/utils/landmarkBounds.d.ts +1 -1
  767. package/dist/utils/logger.d.ts +2 -2
  768. package/dist/utils/resolveNumFaces.d.ts +13 -0
  769. package/dist/utils/shoulderOccluderFit.d.ts +38 -0
  770. package/dist/utils/similarityFit.d.ts +23 -0
  771. package/dist/utils/updateThrottle.d.ts +2 -0
  772. package/dist/utils/useStableUniforms.d.ts +18 -0
  773. package/dist/utils/visionWasm.d.ts +18 -0
  774. package/dist/uv-BMFt19bg.cjs +1 -0
  775. package/dist/{index-BD-JWMjE.js → uv-DJU_XfmN.js} +15 -180
  776. package/dist/x-Co8jPhP0.js +127 -0
  777. package/dist/x-KC8E4Gaj.cjs +41 -0
  778. package/docs/MIGRATION_GUIDE.md +589 -0
  779. package/docs/SDK_DOCUMENTATION.md +1157 -0
  780. package/docs/api/adaptive-quality.mdx +104 -0
  781. package/docs/api/asset-lifecycle.mdx +78 -0
  782. package/docs/api/audio.mdx +36 -0
  783. package/docs/api/behavior-components.mdx +164 -0
  784. package/docs/api/body-instructions.mdx +287 -0
  785. package/docs/api/body-rig.mdx +384 -0
  786. package/docs/api/body-triggers.mdx +235 -0
  787. package/docs/api/camera-permission.mdx +142 -0
  788. package/docs/api/capture-recording.mdx +111 -0
  789. package/docs/api/coordinate-spaces.mdx +168 -0
  790. package/docs/api/cross-camera.mdx +89 -0
  791. package/docs/api/debug-ui-scene-editor.mdx +270 -0
  792. package/docs/api/diagnostics-calibration.mdx +97 -0
  793. package/docs/api/external-face-mesh.mdx +231 -0
  794. package/docs/api/face-actions.mdx +108 -0
  795. package/docs/api/face-attribute-expression.mdx +87 -0
  796. package/docs/api/face-binding-anchors.mdx +55 -0
  797. package/docs/api/face-character.mdx +157 -0
  798. package/docs/api/face-effects.mdx +28 -0
  799. package/docs/api/face-expression-controller.mdx +153 -0
  800. package/docs/api/face-info.mdx +118 -0
  801. package/docs/api/face-inset.mdx +204 -0
  802. package/docs/api/face-instructions.mdx +183 -0
  803. package/docs/api/face-liquify.mdx +196 -0
  804. package/docs/api/face-mesh.mdx +130 -0
  805. package/docs/api/face-morph.mdx +117 -0
  806. package/docs/api/face-painting.mdx +40 -0
  807. package/docs/api/face-reprojection.mdx +154 -0
  808. package/docs/api/face-retouching.mdx +81 -0
  809. package/docs/api/face-swap.mdx +350 -0
  810. package/docs/api/face-warp-3d.mdx +166 -0
  811. package/docs/api/faceless.mdx +143 -0
  812. package/docs/api/gestures.mdx +210 -0
  813. package/docs/api/hair.mdx +97 -0
  814. package/docs/api/hand-instructions.mdx +222 -0
  815. package/docs/api/hand-rig.mdx +661 -0
  816. package/docs/api/hand-touch.mdx +162 -0
  817. package/docs/api/head-occluder.mdx +563 -0
  818. package/docs/api/holistic-tracker.mdx +164 -0
  819. package/docs/api/instructions.mdx +323 -0
  820. package/docs/api/iris-tracking.mdx +247 -0
  821. package/docs/api/made-up-camera.mdx +131 -0
  822. package/docs/api/makeup-skin-tone.mdx +135 -0
  823. package/docs/api/makeup.mdx +353 -0
  824. package/docs/api/material-render-state.mdx +132 -0
  825. package/docs/api/multi-subject.mdx +185 -0
  826. package/docs/api/particles.mdx +183 -0
  827. package/docs/api/person-cutout.mdx +171 -0
  828. package/docs/api/pin-to-face-mesh.mdx +274 -0
  829. package/docs/api/product-ar.mdx +114 -0
  830. package/docs/api/product-details.mdx +78 -0
  831. package/docs/api/runtime-3d.mdx +316 -0
  832. package/docs/api/scene-object-store.mdx +213 -0
  833. package/docs/api/screen-image.mdx +67 -0
  834. package/docs/api/screen-shape.mdx +64 -0
  835. package/docs/api/screen-space-coordinates.mdx +75 -0
  836. package/docs/api/screen-text.mdx +39 -0
  837. package/docs/api/segmentation-overlay.mdx +301 -0
  838. package/docs/api/session-lifecycle.mdx +136 -0
  839. package/docs/api/texture-sources.mdx +74 -0
  840. package/docs/api/trackers.mdx +65 -0
  841. package/docs/api/tracking-config.mdx +108 -0
  842. package/docs/docs.json +121 -0
  843. package/docs/examples/lip-shaders.mdx +273 -0
  844. package/docs/examples/scene-object-recipes.mdx +194 -0
  845. package/docs/guides/face-atlas-template.svg +1 -0
  846. package/docs/guides/face-atlas-textures.mdx +186 -0
  847. package/docs/guides/face-texture-template.svg +1 -0
  848. package/docs/guides/harness-debug-ui.mdx +139 -0
  849. package/docs/guides/lip-effect-textures.mdx +368 -0
  850. package/docs/guides/lip-uv-template.png +0 -0
  851. package/docs/guides/lip-uv-template.svg +1 -0
  852. package/docs/guides/makeup-design-textures.mdx +109 -0
  853. package/docs/inspector/hierarchy-panel.mdx +51 -0
  854. package/docs/inspector/object-inspector-panel.mdx +51 -0
  855. package/docs/introduction.mdx +120 -0
  856. package/docs/scene-objects/overview.mdx +127 -0
  857. package/docs/scene-objects/render-groups.mdx +77 -0
  858. package/docs/scene-objects/runtime-rendering.mdx +75 -0
  859. package/docs/texture-api-consumer.md +84 -0
  860. package/package.json +86 -8
  861. package/settings.json +1998 -0
  862. package/dist/DebuggerUI-CEfdddkZ.cjs +0 -1
  863. package/dist/DebuggerUI-Dgop6Q6o.js +0 -269
  864. package/dist/components/FaceRetouch/retouchRegions.d.ts +0 -23
  865. package/dist/components/FaceRetouch/useFaceRetouchRegions.d.ts +0 -12
  866. package/dist/index-B5J4gzn2.cjs +0 -1
  867. package/dist/index-BVBVg96G.cjs +0 -1
  868. package/dist/index-CYMj26Ej.js +0 -1331
  869. package/dist/index-DtwHElmG.js +0 -157
  870. package/dist/index-PtFmD6B8.cjs +0 -1
  871. package/dist/internal-DH5d1Xnq.cjs +0 -1
  872. package/dist/modules/XRClient/index.d.ts +0 -9
  873. package/dist/modules/index.d.ts +0 -1
  874. package/dist/selectors-BHO6TnoC.js +0 -59
  875. package/dist/selectors-Bub0o3qy.cjs +0 -1
  876. package/dist/services/ApiService.d.ts +0 -12
  877. package/dist/types/client.d.ts +0 -3
  878. package/dist/useFaceResults-cpsSmKKc.js +0 -81
  879. package/dist/useFaceResults-hVUJYSEY.cjs +0 -1
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Refcounted, deduplicating asset cache with a byte budget.
3
+ *
4
+ * One entry per `key`. The first `acquire` starts the load; concurrent
5
+ * acquires share the in-flight promise; owners are tracked by id so a
6
+ * re-render or a StrictMode double mount never double-counts. When the last
7
+ * owner releases, the value stays cached (unreferenced) until the budget
8
+ * needs room, `disposeUnreferenced()`, or `disposeAll()`. Only unreferenced
9
+ * entries are ever evicted, least recently used first, and each value is
10
+ * disposed exactly once.
11
+ */
12
+ export type XRAssetDefinition<T> = {
13
+ /** Cache identity (usually the URL plus any option that changes the bytes). */
14
+ key: string;
15
+ /** Produce the value. Honour `signal` to stop a load nobody wants any more. */
16
+ load: (signal: AbortSignal) => Promise<T>;
17
+ /** Release GPU / media resources. Called exactly once per loaded value. */
18
+ dispose?: (value: T) => void;
19
+ /** Estimated resident bytes (GPU + CPU) for the budget; default 0. */
20
+ bytes?: (value: T) => number;
21
+ };
22
+ export type XRAssetStatus = "idle" | "loading" | "ready" | "error";
23
+ export type XRAssetEntryInfo = {
24
+ key: string;
25
+ status: XRAssetStatus;
26
+ bytes: number;
27
+ owners: number;
28
+ /** `performance.now()` of the last acquire / release. */
29
+ lastUsed: number;
30
+ error: Error | null;
31
+ };
32
+ export type XRAssetStats = {
33
+ assets: number;
34
+ referencedAssets: number;
35
+ loadingAssets: number;
36
+ erroredAssets: number;
37
+ /** Bytes of every loaded value, referenced or not. */
38
+ usageBytes: number;
39
+ /** Bytes held by unreferenced values (what eviction can reclaim). */
40
+ reclaimableBytes: number;
41
+ budgetBytes: number;
42
+ overBudget: boolean;
43
+ /** Values disposed by `evict()` — budget pressure or an explicit call — since creation. `disposeUnreferenced` / `disposeAll` do not count. */
44
+ evictions: number;
45
+ /** Loads served from an existing entry (hit) vs started (miss). */
46
+ hits: number;
47
+ misses: number;
48
+ };
49
+ export type XRAssetCacheOptions = {
50
+ /** Byte budget; eviction of unreferenced values starts above it. Default 256 MiB. `Infinity` disables. */
51
+ budgetBytes?: number;
52
+ /** Clock for `lastUsed` (tests). */
53
+ now?: () => number;
54
+ };
55
+ export declare const DEFAULT_ASSET_BUDGET_BYTES: number;
56
+ export declare class XRAssetCache {
57
+ private entries;
58
+ private listeners;
59
+ private budget;
60
+ private readonly now;
61
+ private evictions;
62
+ private hits;
63
+ private misses;
64
+ /** Memoised `getStats()` result; cleared on every change so `useSyncExternalStore` sees a stable snapshot. */
65
+ private statsSnapshot;
66
+ constructor(options?: XRAssetCacheOptions);
67
+ /** Acquire `asset` on behalf of `ownerId`; shares an in-flight or loaded value. */
68
+ acquire<T>(asset: XRAssetDefinition<T>, ownerId: string): Promise<T>;
69
+ /** Start loading without holding a reference (warm the cache). */
70
+ preload<T>(asset: XRAssetDefinition<T>): Promise<T>;
71
+ /** Drop `ownerId`'s reference. The value stays cached until evicted or disposed. */
72
+ release(key: string, ownerId: string): void;
73
+ /** Synchronous read of a loaded value (or `undefined`). Does not take a reference. */
74
+ get<T>(key: string): T | undefined;
75
+ has(key: string): boolean;
76
+ entry(key: string): XRAssetEntryInfo | undefined;
77
+ list(): XRAssetEntryInfo[];
78
+ setBudget(bytes: number): void;
79
+ /**
80
+ * Dispose unreferenced values, least recently used first, until usage is
81
+ * within the budget (or `bytesToFree` is reclaimed). Referenced values are
82
+ * never touched. Returns the bytes reclaimed.
83
+ */
84
+ evict(bytesToFree?: number): number;
85
+ /** Dispose every unreferenced value (route change, scene teardown). Returns the bytes freed. */
86
+ disposeUnreferenced(): number;
87
+ /** Dispose everything, referenced or not (app / session shutdown). Owners are forgotten. */
88
+ disposeAll(): void;
89
+ /** Current statistics. The object is reused until the cache changes, so it is safe as a store snapshot. */
90
+ getStats(): XRAssetStats;
91
+ subscribe(listener: () => void): () => void;
92
+ private usage;
93
+ private enforceBudget;
94
+ private disposeEntry;
95
+ private notify;
96
+ }
97
+ export declare const createAssetCache: (options?: XRAssetCacheOptions) => XRAssetCache;
98
+ /** The app-wide cache `useXRAsset` uses when no `<XRAssetCacheProvider>` is mounted. */
99
+ export declare const getDefaultAssetCache: () => XRAssetCache;
@@ -0,0 +1,11 @@
1
+ import * as THREE from "three";
2
+ /** Resident bytes of a texture (RGBA, mip chain included when generated); 0 for an unloaded image. */
3
+ export declare const estimateTextureBytes: (texture: THREE.Texture | null | undefined) => number;
4
+ /** Bytes of every attribute buffer (and the index) of a geometry. */
5
+ export declare const estimateGeometryBytes: (geometry: THREE.BufferGeometry | null | undefined) => number;
6
+ /** Textures a material references (de-duplicated by the caller). */
7
+ export declare const materialTextures: (material: THREE.Material) => THREE.Texture[];
8
+ /** Sum of the geometries and textures reachable from an object, each counted once. */
9
+ export declare const estimateObjectBytes: (object: THREE.Object3D | null | undefined) => number;
10
+ /** Dispose every geometry, material and texture reachable from an object, each once. */
11
+ export declare const disposeObject3D: (object: THREE.Object3D | null | undefined) => void;
@@ -0,0 +1,16 @@
1
+ import { GLTFLoader, GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
2
+ /**
3
+ * The one GLTFLoader setup for every SDK-owned model path. The meshopt decoder
4
+ * ships inside three (wasm inlined) and fetches nothing. Draco and KTX2 are
5
+ * deliberately left unconfigured: their decoders would be fetched from a
6
+ * third-party CDN at view time, so such a model rejects instead.
7
+ */
8
+ export declare const createGltfLoader: () => GLTFLoader;
9
+ /** Parses GLB / glTF bytes with {@link createGltfLoader}; an unsupported compression rejects with an actionable error. */
10
+ export declare const parseGltf: (buffer: ArrayBuffer, path?: string, label?: string) => Promise<GLTF>;
11
+ /**
12
+ * A cached `url -> GLTF` loader over {@link fetchAndVerify}: SDK CDN models are
13
+ * hash-checked, a custom URL passes through. A failed load is evicted so the
14
+ * next call refetches.
15
+ */
16
+ export declare const createVerifiedGltfLoader: () => (url: string) => Promise<GLTF>;
@@ -0,0 +1,7 @@
1
+ export { DEFAULT_ASSET_BUDGET_BYTES, XRAssetCache, createAssetCache, getDefaultAssetCache, } from './cache';
2
+ export type { XRAssetCacheOptions, XRAssetDefinition, XRAssetEntryInfo, XRAssetStats, XRAssetStatus, } from './cache';
3
+ export { disposeObject3D, estimateGeometryBytes, estimateObjectBytes, estimateTextureBytes, materialTextures, } from './estimate';
4
+ export { defineGltfAsset, defineTextureAsset, defineVideoAsset } from './loaders';
5
+ export type { TextureAssetOptions, VideoAsset, VideoAssetOptions } from './loaders';
6
+ export { XRAssetCacheProvider, useXRAsset, useXRAssetCache, useXRAssetStats } from './react';
7
+ export type { UseXRAssetResult, XRAssetCacheProviderProps } from './react';
@@ -0,0 +1,43 @@
1
+ import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
2
+ import { XRAssetDefinition } from './cache';
3
+ import * as THREE from "three";
4
+ /**
5
+ * An asset's bytes could not be fetched: a network or CORS failure, an HTTP
6
+ * error status, or a failed integrity check. Decoding failures are not
7
+ * this (they keep their own error). Internal: lets loaders' callers tell a
8
+ * download failure from a decode failure.
9
+ */
10
+ export declare class AssetFetchError extends Error {
11
+ /** The underlying error, when there was one. */
12
+ readonly cause: unknown;
13
+ constructor(message: string, cause?: unknown);
14
+ }
15
+ export type TextureAssetOptions = {
16
+ colorSpace?: THREE.ColorSpace;
17
+ generateMipmaps?: boolean;
18
+ flipY?: boolean;
19
+ /** Extra key suffix when the same URL is loaded with different options. */
20
+ variant?: string;
21
+ };
22
+ /**
23
+ * An image texture. Loaded with the SDK's verifying fetch (CDN assets are
24
+ * hash-checked), decoded off the main thread, disposed on eviction.
25
+ */
26
+ export declare const defineTextureAsset: (url: string, options?: TextureAssetOptions) => XRAssetDefinition<THREE.Texture>;
27
+ /**
28
+ * A glTF / GLB scene via three's GLTFLoader over the verifying fetch. Loads
29
+ * meshopt geometry and WebP textures; a Draco or KTX2 model rejects. Disposes
30
+ * geometries, materials and textures.
31
+ */
32
+ export declare const defineGltfAsset: (url: string) => XRAssetDefinition<GLTF>;
33
+ export type VideoAssetOptions = {
34
+ loop?: boolean;
35
+ muted?: boolean;
36
+ crossOrigin?: string;
37
+ };
38
+ export type VideoAsset = {
39
+ video: HTMLVideoElement;
40
+ texture: THREE.VideoTexture;
41
+ };
42
+ /** A looping, muted video element with its `VideoTexture`. Playback is the consumer's call. */
43
+ export declare const defineVideoAsset: (url: string, options?: VideoAssetOptions) => XRAssetDefinition<VideoAsset>;
@@ -0,0 +1,33 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { XRAssetCache, XRAssetDefinition, XRAssetStats, XRAssetStatus } from './cache';
3
+ export type XRAssetCacheProviderProps = PropsWithChildren<{
4
+ /** The cache to use below; default the app-wide cache. */
5
+ cache?: XRAssetCache;
6
+ /**
7
+ * On unmount (a route change away from the AR screen) dispose every value
8
+ * nobody references any more. Default `true`. Referenced values are never
9
+ * touched; their owners release them as they unmount.
10
+ */
11
+ disposeUnreferencedOnUnmount?: boolean;
12
+ }>;
13
+ /** Scope a cache to a subtree and release unreferenced assets when it unmounts. */
14
+ export declare const XRAssetCacheProvider: ({ cache, disposeUnreferencedOnUnmount, children, }: XRAssetCacheProviderProps) => import("react/jsx-runtime").JSX.Element;
15
+ /** The cache in scope (provider or the app-wide default). */
16
+ export declare const useXRAssetCache: () => XRAssetCache;
17
+ export type UseXRAssetResult<T> = {
18
+ value: T | null;
19
+ status: XRAssetStatus;
20
+ error: Error | null;
21
+ };
22
+ /**
23
+ * Hold a reference to an asset while mounted. Two components asking for the
24
+ * same key share one load and one value; the reference is released on
25
+ * unmount (and when `enabled` turns false), after which the budget decides
26
+ * when the value is disposed. `asset.key` is the identity: build definitions
27
+ * with `defineTextureAsset` / `defineGltfAsset` / `defineVideoAsset` or your own.
28
+ */
29
+ export declare const useXRAsset: <T>(asset: XRAssetDefinition<T> | null | undefined, options?: {
30
+ enabled?: boolean;
31
+ }) => UseXRAssetResult<T>;
32
+ /** Live cache statistics (re-renders on every cache change). */
33
+ export declare const useXRAssetStats: (cache?: XRAssetCache) => XRAssetStats;
@@ -0,0 +1,22 @@
1
+ import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
2
+ import { XRAssetDefinition } from './cache';
3
+ /**
4
+ * The SDK-hosted rig models, by name, as CDN paths (hash-checked: each path
5
+ * has an entry in `INTEGRITY_MANIFEST`):
6
+ * - `hand`: a right hand on the `HandRig` contract (21 joints named as
7
+ * `HAND_JOINT_NAMES`, a `forearm` bone, 11 gesture poses), centimetres.
8
+ * - `glove`: a knit glove on the same rig (`knit` and `rib` materials).
9
+ * - `body`: the Y Bot, a Mixamo-rig humanoid for `BodyRig` / `BodyOccluder`
10
+ * (16 poses, `idle` among them), centimetres, meshopt-compressed.
11
+ * Credits are in each GLB's `asset.copyright` and in `assets-src/`.
12
+ */
13
+ export declare const SDK_MODEL_PATHS: {
14
+ readonly hand: "/assets/xr/3d-models/hand-v1.glb";
15
+ readonly glove: "/assets/xr/3d-models/glove-v1.glb";
16
+ readonly body: "/assets/xr/3d-models/ybot-v1.glb";
17
+ };
18
+ export type SdkModel = keyof typeof SDK_MODEL_PATHS;
19
+ /** The model's URL on the SDK CDN. */
20
+ export declare const sdkModelUrl: (model: SdkModel) => string;
21
+ /** The model as an asset for `useXRAsset` (verified fetch, shared, disposed by the cache). */
22
+ export declare const sdkModelAsset: (model: SdkModel) => XRAssetDefinition<GLTF>;
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * 1. Gesture-started audio is BLOCKED. Audio kicked off from a camera-detected
6
6
  * gesture (a peace sign to start) is not a user-input event, so iOS autoplay
7
- * policy blocks it. The fix is IG/Snap-style: run muted by default (muted
7
+ * policy blocks it. The fix is app-style: run muted by default (muted
8
8
  * autoplay is allowed un-gestured) and let the tap that unmutes be the real
9
9
  * gesture that unlocks the pipeline (prime each element with a muted
10
10
  * play->pause on that tap).
@@ -52,6 +52,8 @@ export declare class AudioEngine {
52
52
  private muted;
53
53
  private readonly listeners;
54
54
  private music;
55
+ private musicUrl;
56
+ private musicReady;
55
57
  private musicWanted;
56
58
  private readonly pools;
57
59
  /** Last play time per SFX URL, for the coalesce window. */
@@ -0,0 +1,29 @@
1
+ export type AudioPlayMode = "once" | "loop" | "infinite";
2
+ export interface AudioPlayerHandle {
3
+ play: () => Promise<void>;
4
+ pause: () => void;
5
+ stop: () => void;
6
+ readonly current: HTMLAudioElement | null;
7
+ }
8
+ export interface AudioPlayerProps {
9
+ src: string;
10
+ playMode?: AudioPlayMode;
11
+ /** Total number of plays in `loop` mode. Values below 1 become 1. */
12
+ loopCount?: number;
13
+ autoplay?: boolean;
14
+ muted?: boolean;
15
+ /** Volume from 0 through 100. Values are clamped. */
16
+ volume?: number;
17
+ preload?: "none" | "metadata" | "auto";
18
+ onReady?: () => void;
19
+ onPlay?: () => void;
20
+ onPause?: () => void;
21
+ onEnded?: () => void;
22
+ onError?: (error: Error) => void;
23
+ }
24
+ /**
25
+ * Headless, declarative audio player with timeline-friendly playback
26
+ * properties. It renders only a hidden HTML audio element; build any visible
27
+ * controls with the imperative ref or application state.
28
+ */
29
+ export declare const AudioPlayer: import('react').ForwardRefExoticComponent<AudioPlayerProps & import('react').RefAttributes<AudioPlayerHandle>>;
@@ -0,0 +1,4 @@
1
+ import { AudioPlayMode } from './AudioPlayer';
2
+ export type AudioEndedAction = "replay" | "ended";
3
+ export declare const resolveAudioEndedAction: (playMode: AudioPlayMode, completedPlays: number, loopCount: number) => AudioEndedAction;
4
+ export declare const shouldAutoplaySource: (autoplay: boolean, autoplayedSrc: string | null, src: string) => boolean;
@@ -1,6 +1,8 @@
1
1
  import { AudioEngine } from './AudioEngine';
2
2
  export { AudioEngine } from './AudioEngine';
3
3
  export type { AudioEngineOptions } from './AudioEngine';
4
+ export { AudioPlayer } from './AudioPlayer';
5
+ export type { AudioPlayerHandle, AudioPlayerProps, AudioPlayMode } from './AudioPlayer';
4
6
  /** The process-wide default engine the free functions target. */
5
7
  export declare const audio: AudioEngine;
6
8
  /** Create + buffer the looping music element. Await in the loading gate so the
@@ -0,0 +1,21 @@
1
+ import { BodyPose } from '../bodyPose';
2
+ import * as THREE from "three";
3
+ /**
4
+ * A synthetic humanoid rig shaped like the example Y Bot (T-pose, cm, facing
5
+ * +Z, its left at +X) with face and heel points, for the body rig tests.
6
+ */
7
+ /** Rest joints in root space (cm), the example Y Bot's T-pose: facing +Z, its left at +X. */
8
+ export declare const REST: Array<[name: string, parent: string | null, x: number, y: number, z: number]>;
9
+ /** Builds the rig; with a `seed`, every node gets its own rest roll (positions unchanged). */
10
+ export declare const makeRig: (seed?: number) => {
11
+ root: THREE.Group<THREE.Object3DEventMap>;
12
+ nodes: Map<string, THREE.Object3D<THREE.Object3DEventMap>>;
13
+ };
14
+ export declare const worldQuaternion: (node: THREE.Object3D) => THREE.Quaternion;
15
+ export declare const worldPosition: (node: THREE.Object3D) => THREE.Vector3;
16
+ /** Rotates `name`'s subtree by `degrees` about a root-space `axis` through its joint. */
17
+ export declare const turn: (rig: ReturnType<typeof makeRig>, name: string, axis: [number, number, number], degrees: number) => void;
18
+ /** The tracked pose a camera would see of `rig` (world joints relative to the hips; all visible). */
19
+ export declare const poseOf: (rig: ReturnType<typeof makeRig>, visibility?: number) => BodyPose;
20
+ export type SyntheticRig = ReturnType<typeof makeRig>;
21
+ export declare const direction: (rig: ReturnType<typeof makeRig>, from: string, to: string) => THREE.Vector3;
@@ -0,0 +1,39 @@
1
+ import * as THREE from "three";
2
+ /**
3
+ * Holds a tracked body through a facing it misreads for a moment.
4
+ *
5
+ * The pose tracker sometimes turns the whole torso 60–140° for 50–250 ms and
6
+ * back (a side view, a fast move), and its own temporal filter spreads that
7
+ * over several detections, each a small step. So the guard compares each
8
+ * detection's hips rotation with the one it accepted `windowMs` earlier, not
9
+ * with the previous detection: a turn of more than `jump` within that window
10
+ * is held (the last accepted pose stays) until it has lasted `confirmMs` over
11
+ * `confirmSamples` detections — a real turn stays — and then taken. Turns
12
+ * faster than `jump / windowMs` (a dance spin) wait `confirmMs` too.
13
+ */
14
+ export type BodyFlipGuardSettings = {
15
+ /** Degrees within `windowMs` that count as a possible flip. Default 35. */
16
+ jump: number;
17
+ /** How far back the comparison looks, ms. Default 120. */
18
+ windowMs: number;
19
+ /** A held turn is taken once it has lasted this long, ms. Default 200. */
20
+ confirmMs: number;
21
+ /** …and shown up in this many detections. Default 4. */
22
+ confirmSamples: number;
23
+ };
24
+ export declare const BODY_FLIP_GUARD_DEFAULTS: Readonly<BodyFlipGuardSettings>;
25
+ export declare class BodyFlipGuard {
26
+ settings: BodyFlipGuardSettings;
27
+ /** Accepted detections, oldest first, kept for `windowMs`. */
28
+ private accepted;
29
+ private pending;
30
+ constructor(settings?: Partial<BodyFlipGuardSettings>);
31
+ /**
32
+ * Checks one detection's hips rotation at `nowMs` (its timestamp); `true` =
33
+ * hold it (keep the last accepted pose), `false` = take it.
34
+ */
35
+ hold(hips: THREE.Quaternion, nowMs: number): boolean;
36
+ /** Forget the body (it was lost): the next detection is taken as it is. */
37
+ reset(): void;
38
+ private take;
39
+ }
@@ -0,0 +1,72 @@
1
+ import { BodyPose } from './bodyPose';
2
+ /**
3
+ * A tracked body with a stable identity: `id` stays with the person from
4
+ * detection to detection, whatever position MediaPipe gives them in its
5
+ * result array, and through dropouts shorter than `holdMs`.
6
+ */
7
+ export type TrackedBody = {
8
+ /** 1, 2, 3 … in order of first appearance; never reused within a session. */
9
+ id: number;
10
+ /** The latest pose; while `held`, the last one seen. */
11
+ pose: BodyPose;
12
+ /** `true` while the body is missing but still within the hold. */
13
+ held: boolean;
14
+ };
15
+ export type BodyIdentitySettings = {
16
+ /** How long a missing body keeps its id (and its last pose is reported), ms. Default 250. */
17
+ holdMs: number;
18
+ /**
19
+ * The farthest a body may be from where it was predicted to be and still
20
+ * be the same person, in torso lengths. Default 1.
21
+ */
22
+ maxJump: number;
23
+ /**
24
+ * Two detections closer than this (torso lengths, within 10 % in size) are
25
+ * one person seen twice: the less visible one is dropped. Two people side by
26
+ * side stand farther apart than this. Default 0.1.
27
+ */
28
+ duplicate: number;
29
+ /**
30
+ * Detections in a row a newcomer needs before it gets an id (the tracker
31
+ * reports a part of a person as another body for a frame or two, e.g. the
32
+ * legs of someone crouching). The first person into an empty scene gets one
33
+ * at once. Default 3.
34
+ */
35
+ confirm: number;
36
+ /**
37
+ * …spanning at least this long, ms: inference can run faster than the
38
+ * camera and detect one frame twice. Default 100 (three camera frames).
39
+ */
40
+ confirmMs: number;
41
+ };
42
+ export declare const BODY_IDENTITY_DEFAULTS: Readonly<BodyIdentitySettings>;
43
+ /**
44
+ * Gives each tracked body a stable id across detections. MediaPipe returns
45
+ * bodies in no particular order, so each detection is matched to the bodies
46
+ * already tracked by where their torso is (predicted from its motion, so two
47
+ * people crossing keep their ids) and how big it is (a person nearer the
48
+ * camera looks bigger). Identity is spatial only: nothing about the person
49
+ * is recognised, and someone who leaves for longer than `holdMs` comes back
50
+ * with a new id.
51
+ */
52
+ export declare class BodyIdentity {
53
+ settings: BodyIdentitySettings;
54
+ private tracks;
55
+ private nextId;
56
+ constructor(settings?: Partial<BodyIdentitySettings>);
57
+ /**
58
+ * One detection's bodies (any order) at `nowMs`; `aspect` is the analysed
59
+ * frame's width / height. Returns every tracked body, by id.
60
+ */
61
+ update(poses: readonly BodyPose[], nowMs: number, aspect?: number): TrackedBody[];
62
+ private confirm;
63
+ /** Forget every body; ids keep counting up. */
64
+ reset(): void;
65
+ /** One person detected twice (overlapping tracking regions): keep the more visible. */
66
+ private dedupe;
67
+ }
68
+ /**
69
+ * How many bodies the shared model looks for: the most any live consumer
70
+ * asks for, at least 1 and at most `max`.
71
+ */
72
+ export declare const resolveNumBodies: (requests: Iterable<number>, max: number) => number;
@@ -0,0 +1,79 @@
1
+ import { TrackedBody } from './bodyIdentity';
2
+ import { BodyPose } from './bodyPose';
3
+ /**
4
+ * The joint pairs a person's mask is split by: the torso (its outline and
5
+ * both diagonals, so its middle counts as near), the head, arms and legs.
6
+ */
7
+ export declare const BODY_MASK_BONES: ReadonlyArray<readonly [number, number]>;
8
+ /** A bone counts when both its joints are at least this visible. */
9
+ export declare const BODY_MASK_MIN_VISIBILITY = 0.3;
10
+ /**
11
+ * One person's skeleton for the split, in feed units with the frame's aspect
12
+ * applied (x right from 0 to `aspect`, y down from 0 to 1), so distances are
13
+ * proportional to pixels.
14
+ */
15
+ export type BodyMaskPerson = {
16
+ /** `ax, ay, bx, by` per bone. */
17
+ bones: Float32Array;
18
+ /** Bones in `bones`. */
19
+ count: number;
20
+ /** The torso's length (shoulders' to hips' midpoint), feed units: distances are measured in it. */
21
+ scale: number;
22
+ };
23
+ /**
24
+ * A pose's visible bones for the split (`aspect` = the feed's width / height),
25
+ * or `null` without a measurable torso.
26
+ */
27
+ export declare const bodyMaskPerson: (pose: BodyPose, aspect: number, minVisibility?: number) => BodyMaskPerson | null;
28
+ export type BodyMaskSplitOptions = {
29
+ /**
30
+ * Beyond this distance from every skeleton, in that person's torso
31
+ * lengths, a mask pixel belongs to nobody (someone the pose tracker
32
+ * misses). Default 1.
33
+ */
34
+ nobody: number;
35
+ /** Width of the soft band where two people meet, and of the edge at `nobody`, in torso lengths. Default 0.1. */
36
+ feather: number;
37
+ };
38
+ export declare const BODY_MASK_SPLIT_DEFAULTS: Readonly<BodyMaskSplitOptions>;
39
+ /** Distance from (x, y) to the nearest of a person's bones, in their torso lengths. */
40
+ export declare const bodyMaskDistance: (x: number, y: number, person: BodyMaskPerson) => number;
41
+ /**
42
+ * How much of a mask pixel at (x, y) (feed units with aspect) belongs to each
43
+ * person: the nearest skeleton (in each person's own torso lengths, so someone
44
+ * nearer the camera keeps their wider body) takes it, blended across a
45
+ * `feather`-wide band where two people meet, and fading out at `nobody`.
46
+ * Weights are 0..1 and sum to at most 1. The GPU split computes the same.
47
+ */
48
+ export declare const bodyMaskWeights: (x: number, y: number, people: readonly BodyMaskPerson[], options?: Partial<BodyMaskSplitOptions>, out?: number[]) => number[];
49
+ /**
50
+ * CPU reference of the split: each person's share of a person mask
51
+ * (`mask[i]`, 0..1 or 0..255 with `max`), `width × height` in feed space.
52
+ * For tests and offline use; the live split runs on the GPU.
53
+ */
54
+ export declare const splitBodyMask: (mask: ArrayLike<number>, width: number, height: number, people: readonly BodyMaskPerson[], options?: Partial<BodyMaskSplitOptions> & {
55
+ max?: number;
56
+ }) => Float32Array[];
57
+ /** People the GPU split takes (the body model's maximum). */
58
+ export declare const BODY_MASK_MAX_PEOPLE: number;
59
+ /** The split's people packed for the shader: `BODY_MASK_MAX_PEOPLE` slots of `BODY_MASK_BONES.length` bones. */
60
+ export type BodyMaskUniforms = {
61
+ /** `ax, ay, bx, by` per bone, person after person. */
62
+ bones: Float32Array;
63
+ counts: number[];
64
+ scales: number[];
65
+ people: number;
66
+ };
67
+ /** Packs up to `BODY_MASK_MAX_PEOPLE` people for the GPU split (extra people are left out). */
68
+ export declare const packBodyMaskUniforms: (people: readonly BodyMaskPerson[], out?: BodyMaskUniforms) => BodyMaskUniforms;
69
+ /** One detection's bodies, at the detection's time. */
70
+ export type BodyMaskSnapshot = {
71
+ ms: number;
72
+ bodies: readonly TrackedBody[];
73
+ };
74
+ /**
75
+ * The snapshot nearest in time to `ms` (a person mask lags the frame it shows,
76
+ * by a different amount than the pose): split a mask by where the people were
77
+ * when it was made. The latest without a time (`ms` 0) or snapshots.
78
+ */
79
+ export declare const closestBodies: (history: readonly BodyMaskSnapshot[], ms: number) => BodyMaskSnapshot | null;
@@ -0,0 +1,15 @@
1
+ import { BodyMaskSplitOptions, BodyMaskUniforms } from './bodyMask';
2
+ import * as THREE from "three";
3
+ /**
4
+ * The GPU split: draws one person's share of a person mask (`uMask`, feed
5
+ * space, white on people) on a full-screen quad, white on that person and
6
+ * black elsewhere — the same convention as the mask, so the result drops in
7
+ * wherever the person mask does. Set the people with
8
+ * `setBodyMaskSplitUniforms`.
9
+ */
10
+ export declare const createBodyMaskSplitMaterial: () => THREE.ShaderMaterial;
11
+ /**
12
+ * Sets the split's inputs: the mask, its aspect (width / height), the packed
13
+ * people, which of them to draw (`target`, `-1` = nobody) and the options.
14
+ */
15
+ export declare const setBodyMaskSplitUniforms: (material: THREE.ShaderMaterial, mask: THREE.Texture | null, aspect: number, people: BodyMaskUniforms, target: number, options?: Partial<BodyMaskSplitOptions>) => void;
@@ -0,0 +1,58 @@
1
+ import { TrackerPoint } from '../types/common';
2
+ /**
3
+ * The 33 MediaPipe pose landmarks, in landmark order (index = MediaPipe
4
+ * index). Sided names are the PERSON's own side in a `BodyPose`; MediaPipe's
5
+ * raw arrays name them as the image shows them (see `anatomicalBodyPose`).
6
+ * `…Pinky`, `…Index` and `…Thumb` are MediaPipe's rough hand points: the
7
+ * pinky and index knuckles and the thumb's second knuckle.
8
+ */
9
+ export declare const BODY_JOINT_NAMES: readonly ["nose", "leftEyeInner", "leftEye", "leftEyeOuter", "rightEyeInner", "rightEye", "rightEyeOuter", "leftEar", "rightEar", "mouthLeft", "mouthRight", "leftShoulder", "rightShoulder", "leftElbow", "rightElbow", "leftWrist", "rightWrist", "leftPinky", "rightPinky", "leftIndex", "rightIndex", "leftThumb", "rightThumb", "leftHip", "rightHip", "leftKnee", "rightKnee", "leftAnkle", "rightAnkle", "leftHeel", "rightHeel", "leftFootIndex", "rightFootIndex"];
10
+ export type BodyJointName = (typeof BODY_JOINT_NAMES)[number];
11
+ export declare const BODY_JOINT_INDEX: Readonly<Record<BodyJointName, number>>;
12
+ /** For each landmark, the index of the same joint on the other side (`nose` is its own). */
13
+ export declare const BODY_JOINT_OTHER_SIDE: readonly number[];
14
+ /**
15
+ * One tracked body, both spaces, sided as the person's own left and right on
16
+ * every source (mirrored webcam or not).
17
+ *
18
+ * - `world`: 33 joints in the body's own metric frame — CENTIMETRES, origin
19
+ * between the hips, three.js axes for the feed as displayed: +X screen
20
+ * right, +Y up, +Z toward the viewer. The true 3D shape (limb bend, which
21
+ * way the body faces), independent of distance. On a mirrored feed it is
22
+ * the mirrored shape, as displayed.
23
+ * - `image`: the same joints in tracker space (centre origin, ±1, Y up; `z`
24
+ * is MediaPipe's relative depth). Unproject with `trackerToWorld` to place
25
+ * things on screen.
26
+ * - `visibility`: MediaPipe's 0..1 estimate that each joint is in frame and
27
+ * not hidden.
28
+ */
29
+ export type BodyPose = {
30
+ world: TrackerPoint[];
31
+ image: TrackerPoint[];
32
+ visibility: number[];
33
+ /** `performance.now()` of the detection this pose came from. */
34
+ timestampMs: number;
35
+ };
36
+ /** One body as MediaPipe returns it, sided as the image shows it, in SDK units. */
37
+ export type BodyDetection = {
38
+ world: TrackerPoint[];
39
+ image: TrackerPoint[];
40
+ visibility: number[];
41
+ };
42
+ /**
43
+ * A MediaPipe pose world landmark (metres, origin between the hips, image
44
+ * axes: +y down, +z away from the camera) → a `BodyPose.world` joint.
45
+ */
46
+ export declare const bodyWorldLandmarkToJoint: (landmark: {
47
+ x: number;
48
+ y: number;
49
+ z: number;
50
+ }, target?: TrackerPoint) => TrackerPoint;
51
+ /**
52
+ * Names a detection's joints by the person's own side. MediaPipe labels each
53
+ * side as an unmirrored image shows it (a person facing the camera has their
54
+ * left on the image's right), so on the mirrored webcam feed its "left
55
+ * shoulder" is the person's right: there every sided joint swaps with its
56
+ * other-side twin. Positions are untouched.
57
+ */
58
+ export declare const anatomicalBodyPose: (detection: BodyDetection, feedMirrored: boolean, timestampMs: number) => BodyPose;