@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,121 @@
1
+ import { NormalizedLandmark } from '@mediapipe/tasks-vision';
2
+ import { TrackerPoint } from './common';
3
+ /** Which hands the holistic tracker publishes. Holistic is single-person: at most one left and one right hand. */
4
+ export type HolisticHandsOption = "both" | "left" | "right" | "none";
5
+ export type HolisticHandSide = "left" | "right";
6
+ export type HolisticTrackingStatus = "loading" | "ready" | "error";
7
+ /**
8
+ * Inference backend. `"auto"` (default) starts on the GPU and falls back to
9
+ * the CPU the first time the graph fails to run there: MediaPipe's holistic
10
+ * face-blendshape stage has no WebGL implementation, so with
11
+ * `outputFaceBlendshapes` the GPU path fails on the first frame.
12
+ */
13
+ export type HolisticDelegate = "auto" | "GPU" | "CPU";
14
+ /** The backend actually running inference. */
15
+ export type HolisticActiveDelegate = "GPU" | "CPU";
16
+ /**
17
+ * Options the first acquirer passes to `XRModel.HOLISTIC_TRACKER`. The
18
+ * model-creation options (`modelUrl`, confidences, `outputFaceBlendshapes`)
19
+ * are fixed for the model's lifetime; the runtime subset
20
+ * (`HolisticRuntimeOptions`) can be changed live through `node.setOptions`.
21
+ */
22
+ export type HolisticModelOptions = HolisticRuntimeOptions & {
23
+ /**
24
+ * Override the `.task` asset. Pre-release default: MediaPipe's published
25
+ * holistic landmarker on `storage.googleapis.com`, integrity-verified; the
26
+ * SDK CDN copy is not published yet and will become the default when it is.
27
+ * Set this to a self-hosted copy to drop the third-party dependency; a custom
28
+ * URL is fetched best-effort.
29
+ */
30
+ modelUrl?: string;
31
+ /** Face detector confidence, 0..1. MediaPipe default 0.5. */
32
+ minFaceDetectionConfidence?: number;
33
+ /** Face presence confidence for the landmark stage, 0..1. MediaPipe default 0.5. */
34
+ minFacePresenceConfidence?: number;
35
+ /** Pose detector confidence, 0..1. MediaPipe default 0.5. */
36
+ minPoseDetectionConfidence?: number;
37
+ /** Pose presence confidence for the landmark stage, 0..1. MediaPipe default 0.5. */
38
+ minPosePresenceConfidence?: number;
39
+ /** Hand landmark confidence, 0..1. MediaPipe default 0.5. */
40
+ minHandLandmarksConfidence?: number;
41
+ /** Emit the 52 face blendshape scores. Default `true`. */
42
+ outputFaceBlendshapes?: boolean;
43
+ /** Inference backend policy. Default `"auto"`. */
44
+ delegate?: HolisticDelegate;
45
+ /** Inference cap (fps). Read by the session at run time; overrides `perf.targetFps`. */
46
+ targetFps?: number;
47
+ };
48
+ /** Options that can change while the model is running (last writer wins). */
49
+ export type HolisticRuntimeOptions = {
50
+ /** Hands to publish. Default `"both"`. */
51
+ hands?: HolisticHandsOption;
52
+ /**
53
+ * Longest side (px) of the frame handed to MediaPipe. The feed is
54
+ * downscaled to this before inference; outputs are normalized so consumers
55
+ * never see it. Default 768.
56
+ */
57
+ analysisMaxDimension?: number;
58
+ /** Keep a lost face / hand / pose for this long (ms) before dropping it. Default 250. */
59
+ holdMs?: number;
60
+ /** While held, extrapolate along the last velocity for up to this long (ms). Default 0. */
61
+ predictMs?: number;
62
+ };
63
+ /** Live face stream: landmarks in MediaPipe image space, like `FaceTracker`'s `detectionResults`. */
64
+ export type HolisticFaceResult = {
65
+ /** 478 landmarks, normalized 0..1, top-left origin, Y down; `z` is tracker-relative depth. */
66
+ landmarks: NormalizedLandmark[];
67
+ /** Blendshape name → score (0..1). Empty when `outputFaceBlendshapes` is false. */
68
+ blendshapes: Record<string, number>;
69
+ /** 1 while detected; decays linearly to 0 over `holdMs` while held. */
70
+ confidence: number;
71
+ /** True when the stream is being replayed from memory after a dropout. */
72
+ held: boolean;
73
+ };
74
+ /** Live hand stream in SDK tracker coordinates, like `HandTracker`'s `coordinates`. */
75
+ export type HolisticHandResult = {
76
+ /**
77
+ * The person's anatomical side on every source. Holistic labels follow the
78
+ * image, so the SDK swaps them on the mirrored webcam feed; this matches
79
+ * what `HandTracker` reports on the same feed.
80
+ */
81
+ handedness: HolisticHandSide;
82
+ /** 21 joints, center origin, X right, Y up, Z toward the viewer. */
83
+ landmarks: TrackerPoint[];
84
+ /** 21 joints in MediaPipe's metric world space (metres, wrist-relative, Y down). Not converted. */
85
+ worldLandmarks: TrackerPoint[];
86
+ /** 1 while detected; decays linearly to 0 over `holdMs` while held. */
87
+ confidence: number;
88
+ held: boolean;
89
+ };
90
+ /**
91
+ * Live pose stream in SDK tracker coordinates, like `BodyTracker`'s
92
+ * `getLandmarks2D()`. Unlike `BodyTracker`, left/right indices are the
93
+ * person's anatomical sides on every source (swapped on the mirrored webcam
94
+ * feed), so they agree with `leftHand` / `rightHand`.
95
+ */
96
+ export type HolisticPoseResult = {
97
+ /** 33 landmarks, center origin, X right, Y up, Z toward the viewer. */
98
+ landmarks: TrackerPoint[];
99
+ /** 33 landmarks in MediaPipe's metric world space (metres, hip-relative, Y down). Not converted. */
100
+ worldLandmarks: TrackerPoint[];
101
+ /** Per-landmark visibility from MediaPipe (0..1), aligned with `landmarks`. */
102
+ visibility: number[];
103
+ /** Mean landmark visibility while detected; decays linearly to 0 over `holdMs` while held. */
104
+ confidence: number;
105
+ held: boolean;
106
+ };
107
+ /**
108
+ * The unified holistic result. One object per model instance, mutated in
109
+ * place every frame; read it inside `useFrame` and treat it as read-only.
110
+ * A stream is `null` when it is neither detected nor held.
111
+ */
112
+ export type HolisticResult = {
113
+ /** Bumped on every publish; `0` until the first inference. */
114
+ version: number;
115
+ /** `performance.now()` of the last publish. */
116
+ timestampMs: number;
117
+ face: HolisticFaceResult | null;
118
+ leftHand: HolisticHandResult | null;
119
+ rightHand: HolisticHandResult | null;
120
+ pose: HolisticPoseResult | null;
121
+ };
@@ -1,9 +1,9 @@
1
- export * from './client';
2
1
  export * from './nodes';
3
2
  export * from './session';
4
3
  export * from './body';
5
4
  export * from './face';
6
5
  export * from './headBinding';
6
+ export * from './holistic';
7
7
  export * from './model';
8
8
  export * from './segmentation';
9
9
  export * from './common';
@@ -1,4 +1,4 @@
1
- import { XRMediaSourceKind } from './compositor';
1
+ import { XRSessionSourceKind } from './compositor';
2
2
  /**
3
3
  * Session-level performance config, set via `<XRProvider perf={...}>`. Trades
4
4
  * tracking fidelity for lower GPU/CPU load and heat. Every field is optional;
@@ -29,12 +29,30 @@ export type XRPerfConfig = {
29
29
  * the tight native-selfie framing users expect; set `1` for the widest FOV.
30
30
  */
31
31
  cameraZoom?: number;
32
+ /**
33
+ * Multiplier (0.25..1) on every tracker's analysis resolution. Lower =
34
+ * cheaper inference, coarser landmarks. The adaptive-quality controller
35
+ * drives it per tier; set it directly only with `quality={false}`.
36
+ */
37
+ analysisScale?: number;
38
+ };
39
+ /**
40
+ * Session lifecycle behaviour, set via `<XRProvider lifecycle={...}>`.
41
+ */
42
+ export type XRLifecycleConfig = {
43
+ /**
44
+ * Pause the whole session (blit loop, every model, the video element) while
45
+ * the tab is hidden and resume it when it returns. Off by default: a hidden
46
+ * tab already throttles RAF, and some flows (recording, picture-in-picture)
47
+ * must keep running. Turn it on for battery-sensitive single-page apps.
48
+ */
49
+ pauseWhenHidden?: boolean;
32
50
  };
33
51
  export type RunModelParams = {
34
52
  sourceCanvas: OffscreenCanvas | HTMLCanvasElement;
35
53
  renderWidth: number;
36
54
  renderHeight: number;
37
- getSource?: () => "webcam" | XRMediaSourceKind | undefined;
55
+ getSource?: () => XRSessionSourceKind | undefined;
38
56
  /**
39
57
  * Cap the model's inference rate to this many frames per second. The model's
40
58
  * RAF loop still runs at display rate, but the (expensive) MediaPipe detect
@@ -43,4 +61,6 @@ export type RunModelParams = {
43
61
  * smoothness. See `session.perf.targetFps` and the per-tracker `targetFps`.
44
62
  */
45
63
  targetFps?: number;
64
+ /** Multiplier on the model's analysis resolution (0.25..1); default 1. */
65
+ analysisScale?: number;
46
66
  };
@@ -1,14 +1,24 @@
1
- import { FaceLandmarkerResult } from '@mediapipe/tasks-vision';
2
- import { Texture } from 'three';
3
- import { Coordinate } from './common';
1
+ import { FaceLandmarkerResult, HolisticLandmarkerResult } from '@mediapipe/tasks-vision';
2
+ import { Texture, Camera } from 'three';
3
+ import { TrackerPoint } from './common';
4
4
  import { Face, FaceRawTrackingData } from './face';
5
5
  import { GestureData } from './gesture-tracking';
6
- import { HandData } from './hand-tracking';
7
- import { SegmentationData } from './segmentation';
6
+ import { HandData, Handedness } from './hand-tracking';
7
+ import { TrackedBody } from '../body/bodyIdentity';
8
+ import { BodyPose } from '../body/bodyPose';
9
+ import { HandPose, HandPoses } from '../hand/handPose';
10
+ import { HolisticActiveDelegate, HolisticResult, HolisticRuntimeOptions, HolisticTrackingStatus } from './holistic';
11
+ import { SemanticMask } from '../segmentation2d/types';
12
+ import { SegmentationData, SemanticSegmentationStatus } from './segmentation';
8
13
  export type XRModelNodeSegmentation = {
9
14
  backgroundSegmentationMask?: Texture;
10
15
  getMaskCanvas: () => HTMLCanvasElement | null;
11
16
  getRawSegmentationData: () => SegmentationData | null;
17
+ /**
18
+ * `performance.now()` of the frame the current mask was made from (0 before
19
+ * the first), without reading the mask back. Optional for custom nodes.
20
+ */
21
+ getMaskTimestampMs?: () => number;
12
22
  /**
13
23
  * Supply a high-resolution input source (raw <video>/<img>) so segmentation
14
24
  * runs on native-resolution, uncropped frames instead of the small display-fit
@@ -16,12 +26,72 @@ export type XRModelNodeSegmentation = {
16
26
  */
17
27
  setInputSource: (source: CanvasImageSource | null | undefined) => void;
18
28
  };
29
+ /** Live state of `XRModel.SEMANTIC_SEGMENTATION`; functions read the model's current values. */
30
+ export type XRModelNodeSemanticSegmentation = {
31
+ /** Stable mask object in feed space, mutated in place; `version` 0 until the first inference. */
32
+ getMask: () => SemanticMask;
33
+ getStatus: () => SemanticSegmentationStatus;
34
+ getError: () => Error | null;
35
+ };
36
+ /**
37
+ * Live state of `XRModel.HOLISTIC_TRACKER`. One node object per model
38
+ * instance; every function reads the current value.
39
+ */
40
+ export type XRModelNodeHolisticTracking = {
41
+ /** Unified, dropout-bridged result. Stable object mutated in place; `version` 0 until the first inference. */
42
+ getResult: () => HolisticResult;
43
+ /** The last raw MediaPipe result, unbridged and unconverted. */
44
+ getRawResult: () => HolisticLandmarkerResult | undefined;
45
+ getStatus: () => HolisticTrackingStatus;
46
+ getError: () => Error | null;
47
+ /** The backend running inference; `"CPU"` after an automatic fallback. */
48
+ getDelegate: () => HolisticActiveDelegate;
49
+ /** Change the runtime-tunable options without re-initializing the model. */
50
+ setOptions: (options: HolisticRuntimeOptions) => void;
51
+ };
19
52
  export type XRModelNodeBodyTracking = {
20
- getLandmarks2D: (bodyIndex?: number) => Coordinate[] | undefined;
53
+ getLandmarks2D: (bodyIndex?: number) => TrackerPoint[] | undefined;
54
+ /**
55
+ * Per-landmark visibility (0..1, MediaPipe's estimate that the point is in
56
+ * frame and not occluded), in landmark order. Optional for custom nodes.
57
+ */
58
+ getVisibility?: (bodyIndex?: number) => number[] | undefined;
59
+ /**
60
+ * The body's 3D pose (metric world joints plus the image ones and
61
+ * visibility), sided as the person's own left / right on every feed — unlike
62
+ * `getLandmarks2D`, which keeps MediaPipe's image sides. `null` = no body at
63
+ * that index. Optional for custom nodes.
64
+ */
65
+ getBodyPose?: (bodyIndex?: number) => BodyPose | null;
66
+ /**
67
+ * Every tracked body with a stable `id` (spatial identity: it stays with the
68
+ * person through result-order changes and dropouts under 250 ms), by id.
69
+ * Optional for custom nodes.
70
+ */
71
+ getBodies?: () => readonly TrackedBody[];
72
+ /** The pose of the body with this `id`, or `null` when it is not tracked. */
73
+ getBodyPoseById?: (id: number) => BodyPose | null;
74
+ /**
75
+ * Ask the shared model to look for `count` bodies (capped at
76
+ * `XR_MAX_SUBJECTS.body.max`); it looks for the most any live request asks.
77
+ * Returns the release. Optional for custom nodes.
78
+ */
79
+ requestBodies?: (owner: string, count: number) => () => void;
80
+ /** How many bodies the model looks for now. */
81
+ readonly numBodies?: number;
21
82
  };
22
83
  export type XRModelNodeHandTracking = {
84
+ hands?: HandData[];
85
+ /**
86
+ * Both hands by anatomical side, with stable identity through label flips
87
+ * and short dropouts (`assignHandPoses`). `null` = that hand is not tracked.
88
+ */
89
+ poses?: HandPoses;
90
+ /** `poses[hand]`. */
91
+ getHandPose?: (hand: Handedness) => HandPose | null;
23
92
  coordinates?: HandData["coordinates"];
24
93
  gesture?: HandData["gesture"];
94
+ handedness?: HandData["handedness"];
25
95
  };
26
96
  export type XRModelNodeGestureTracking = {
27
97
  coordinates?: GestureData["coordinates"];
@@ -29,7 +99,14 @@ export type XRModelNodeGestureTracking = {
29
99
  };
30
100
  export type XRModelNodeFaceTracking = {
31
101
  detectionResults?: FaceLandmarkerResult;
102
+ /**
103
+ * How many faces the shared face model was started with (`numFaces` of the
104
+ * first consumer to start it; default 1). Read-only: the model reports at
105
+ * most this many faces until it is started again. Optional for custom nodes.
106
+ */
107
+ readonly numFaces?: number;
32
108
  getDetectionResults: () => FaceLandmarkerResult | undefined;
33
109
  getFace: (faceIndex?: number) => Face | undefined;
34
110
  getRawFaceTrackingData: (faceIndex?: number) => FaceRawTrackingData | undefined;
111
+ setCamera: (camera: Camera, faceIndex?: number) => void;
35
112
  };
@@ -18,6 +18,11 @@ export type SegmentationData = {
18
18
  maskData: Uint8Array | null;
19
19
  width: number;
20
20
  height: number;
21
+ /**
22
+ * `performance.now()` when the frame this mask comes from was segmented
23
+ * (the clock hand poses use): pair it with tracking from the same moment.
24
+ */
25
+ timestampMs?: number;
21
26
  };
22
27
  export type SegmentationQuality = "low" | "medium" | "high";
23
28
  export type SegmentationModelOptions = {
@@ -29,3 +34,24 @@ export type SegmentationModelOptions = {
29
34
  */
30
35
  quality?: SegmentationQuality;
31
36
  };
37
+ /**
38
+ * Category-segmentation presets served by `XRModel.SEMANTIC_SEGMENTATION`.
39
+ * `hair` runs MediaPipe's Hair Segmenter (`bg` / `hair`); `multiclass` runs
40
+ * the Selfie Multiclass model (`bg`, `hair`, `body_skin`, `face_skin`,
41
+ * `clothes`, `others`); `nails` runs the SDK's fingernail segmenter (`bg` /
42
+ * `nail`, a 1.9 M-parameter U-Net, best with the short edge near 128 px).
43
+ * One preset per session: the first acquirer decides.
44
+ */
45
+ export declare const SEMANTIC_SEGMENTATION_PRESETS: readonly ["hair", "multiclass", "nails"];
46
+ export type SemanticSegmentationPreset = (typeof SEMANTIC_SEGMENTATION_PRESETS)[number];
47
+ export type SemanticSegmentationModelOptions = {
48
+ preset?: SemanticSegmentationPreset;
49
+ /**
50
+ * Override the model asset URL. Defaults to the SDK CDN path for the
51
+ * preset, which is integrity-verified; a custom URL is fetched best-effort.
52
+ */
53
+ modelUrl?: string;
54
+ /** Process-canvas scale relative to the feed: low 0.5, medium 0.75, high 1. Default medium. */
55
+ quality?: SegmentationQuality;
56
+ };
57
+ export type SemanticSegmentationStatus = "loading" | "ready" | "error";
@@ -1,8 +1,9 @@
1
1
  import { XRMediaSource, XRModel } from '../constants';
2
- import { XRMediaSourceKind } from './compositor';
2
+ import { XRCameraFacing, XRCameraRequest, XRMediaSourceKind } from './compositor';
3
3
  import { BodyModelOptions } from './body';
4
4
  import { FaceModelOptions } from './face';
5
- import { SegmentationModelOptions } from './segmentation';
5
+ import { HolisticModelOptions } from './holistic';
6
+ import { SegmentationModelOptions, SemanticSegmentationModelOptions } from './segmentation';
6
7
  export declare enum SessionStatus {
7
8
  ACTIVE = "ACTIVE",
8
9
  DISABLED = "DISABLED"
@@ -18,6 +19,19 @@ export type Session = {
18
19
  type SetMediaSourceWebcamParams = {
19
20
  source: XRMediaSource.WEBCAM;
20
21
  sourceKind?: "webcam";
22
+ /**
23
+ * Which camera to open: `user` (front, default) or `environment` (rear).
24
+ * Binding again with a different facing swaps the camera mid-session.
25
+ */
26
+ facingMode?: XRCameraFacing;
27
+ /** A specific camera from `enumerateDevices()`; beats `facingMode` when set. */
28
+ deviceId?: string;
29
+ /**
30
+ * Mirror override. Default: the front camera is mirrored (`sourceKind`
31
+ * `"webcam"`), the rear camera is drawn straight (`sourceKind`
32
+ * `"rear-camera"`). Set explicitly for a camera whose facing is unknown.
33
+ */
34
+ mirrored?: boolean;
21
35
  };
22
36
  type SetMediaSourceStreamParams = {
23
37
  source: XRMediaSource.STREAM;
@@ -44,9 +58,15 @@ export type RegisterXRPipelineParams = Array<{
44
58
  } | {
45
59
  model: XRModel.FACE_TRACKER;
46
60
  options?: FaceModelOptions;
61
+ } | {
62
+ model: XRModel.HOLISTIC_TRACKER;
63
+ options?: HolisticModelOptions;
47
64
  } | {
48
65
  model: XRModel.BACKGROUND_SEGMENTATION;
49
66
  options?: SegmentationModelOptions;
67
+ } | {
68
+ model: XRModel.SEMANTIC_SEGMENTATION;
69
+ options?: SemanticSegmentationModelOptions;
50
70
  }>;
51
71
  /**
52
72
  * Public XR session surface. Returned by `useXRContext().session` and used
@@ -62,7 +82,10 @@ export type RegisterXRPipelineParams = Array<{
62
82
  * Lifecycle:
63
83
  *
64
84
  * idle ──setMediaSource──> media-bound ──start──> running ──stop──> stopped
65
- * ↑ │
85
+ * ↑ │ ↑ │
86
+ * │ pause │ │ resume │
87
+ * │ ▼ │ │
88
+ * │ paused ─┘ │
66
89
  * └────────────reset──────────────────────┘
67
90
  */
68
91
  export type XRSession = {
@@ -83,6 +106,21 @@ export type XRSession = {
83
106
  * `stop()` + clear the model registry. Returns the session to `idle`.
84
107
  */
85
108
  reset: () => Promise<void>;
109
+ /**
110
+ * Suspend a `running` session without releasing the camera: the feed loop
111
+ * stops, every model pauses, the video element pauses. No-op in any other
112
+ * state. `resume()` (or `start()`) continues with no rebind.
113
+ */
114
+ pause: () => void;
115
+ /** Continue a `paused` session. No-op in any other state. */
116
+ resume: () => Promise<void>;
117
+ /**
118
+ * Open another camera (`facingMode` / `deviceId`, optional `mirrored`
119
+ * override) and keep going: models, lifecycle and scene stay; a
120
+ * `media-bound` / `stopped` session is started. Resolves to the facing the
121
+ * session ended up with (a single-camera device answers with what it has).
122
+ */
123
+ switchCamera: (request?: XRCameraRequest) => Promise<XRCameraFacing>;
86
124
  /**
87
125
  * @deprecated Prefer `useXRModel(modelName, options)`. Kept as an
88
126
  * additive shim for backwards compatibility — multiple calls are
@@ -95,8 +133,16 @@ export type XRSession = {
95
133
  * dataURL. Use from a gesture or state callback (e.g. on capture trigger)
96
134
  * to grab the visible frame as a photo. Returns the dataURL string.
97
135
  *
98
- * Throws `XRError` if called before `<XRScene>` has mounted.
136
+ * Throws `XRError` if no active `<XRScene>` or `<XRMediaSurface>` capture
137
+ * target has mounted.
99
138
  */
100
139
  captureFrame: () => string;
140
+ /**
141
+ * Captures the same active XRScene or XRMediaSurface composition as a
142
+ * MediaStream for use with `useMediaRecorder`.
143
+ */
144
+ captureStream: (fps?: number) => MediaStream;
145
+ /** Current tracker-input frame. Read-only; reused and repainted by the session. */
146
+ getInputFrame: () => OffscreenCanvas | HTMLCanvasElement | null;
101
147
  };
102
148
  export {};
@@ -9,7 +9,13 @@
9
9
  * The lists below are the v1 enumeration. New entries can be added
10
10
  * non-breakingly as additional landmarks/joints become supported.
11
11
  */
12
- export type FaceTarget = "face.forehead" | "face.noseTip" | "face.chin" | "face.leftEyeOuter" | "face.rightEyeOuter" | "face.leftCheek" | "face.rightCheek" | "face.mouthCenter";
12
+ export type FaceTarget = "face.custom" | "face.center" | "face.forehead" | "face.noseTip" | "face.chin" | "face.leftEyeOuter" | "face.rightEyeOuter" | "face.leftCheek" | "face.rightCheek" | "face.mouthCenter" | "face.leftEye" | "face.rightEye" | "face.leftEarlobe" | "face.rightEarlobe";
13
+ /** Face-local point: X/Y are clamped to [-1, 1], origin is face center, and +Z points toward camera. */
14
+ export type FaceCustomAnchorPoint = {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ };
13
19
  export type HandTarget = "hand.wrist" | "hand.thumbTip" | "hand.indexTip" | "hand.middleTip" | "hand.ringTip" | "hand.pinkyTip" | "hand.indexBase" | "hand.middleBase" | "hand.ringBase" | "hand.pinkyBase";
14
20
  export type BodyTarget = "body.head" | "body.neck" | "body.leftShoulder" | "body.rightShoulder" | "body.leftElbow" | "body.rightElbow" | "body.leftWrist" | "body.rightWrist" | "body.leftHip" | "body.rightHip" | "body.leftKnee" | "body.rightKnee" | "body.leftAnkle" | "body.rightAnkle";
15
21
  /**
@@ -20,7 +26,7 @@ export type TrackingTarget = FaceTarget | HandTarget | BodyTarget;
20
26
  * Tracker type identifier exposed via tracker context.
21
27
  */
22
28
  export type TrackerType = "face" | "hand" | "body";
23
- export declare const FACE_TARGETS: readonly ["face.forehead", "face.noseTip", "face.chin", "face.leftEyeOuter", "face.rightEyeOuter", "face.leftCheek", "face.rightCheek", "face.mouthCenter"];
29
+ export declare const FACE_TARGETS: readonly ["face.center", "face.forehead", "face.noseTip", "face.chin", "face.leftEyeOuter", "face.rightEyeOuter", "face.leftCheek", "face.rightCheek", "face.mouthCenter", "face.leftEye", "face.rightEye", "face.leftEarlobe", "face.rightEarlobe", "face.custom"];
24
30
  export declare const HAND_TARGETS: readonly ["hand.wrist", "hand.thumbTip", "hand.indexTip", "hand.middleTip", "hand.ringTip", "hand.pinkyTip", "hand.indexBase", "hand.middleBase", "hand.ringBase", "hand.pinkyBase"];
25
31
  export declare const BODY_TARGETS: readonly ["body.head", "body.neck", "body.leftShoulder", "body.rightShoulder", "body.leftElbow", "body.rightElbow", "body.leftWrist", "body.rightWrist", "body.leftHip", "body.rightHip", "body.leftKnee", "body.rightKnee", "body.leftAnkle", "body.rightAnkle"];
26
32
  /**
@@ -1 +1 @@
1
- export type Class<T> = new (...args: any[]) => T;
1
+ export type Class<T> = new (...args: never[]) => T;
@@ -0,0 +1,75 @@
1
+ import { useFrame as S } from "@react-three/fiber";
2
+ import { useState as g, useRef as f, useCallback as M, useId as h, useEffect as j } from "react";
3
+ import { f as p, g as C, h as E, X as m, j as I } from "./index-CKRN-xJp.js";
4
+ import { u as v } from "./landmarks-DtCAFV_m.js";
5
+ const X = (t, o) => {
6
+ var r;
7
+ for (let n = 0; n < m.body.max; n += 1)
8
+ if (((r = t == null ? void 0 : t.getBodyPose) == null ? void 0 : r.call(t, n)) === o) return n;
9
+ return null;
10
+ }, _ = ({ bodyId: t, subject: o, numBodies: r }) => r ?? (t !== void 0 || o ? 2 : 1), T = (t, { bodyIndex: o = 0, bodyId: r, subject: n }, u = p) => {
11
+ var d, a;
12
+ const s = ((d = t == null ? void 0 : t.getBodies) == null ? void 0 : d.call(t)) ?? [], i = (e) => e ? { ...e, index: e.held ? null : X(t, e.pose) } : null;
13
+ if (r !== void 0)
14
+ return { body: i(s.find((e) => e.id === r)), memory: u };
15
+ if (n) {
16
+ const e = C(E(s), n, u);
17
+ return {
18
+ body: e.index === null ? null : i(s[e.index]),
19
+ memory: e.memory
20
+ };
21
+ }
22
+ const c = ((a = t == null ? void 0 : t.getBodyPose) == null ? void 0 : a.call(t, o)) ?? null;
23
+ if (!c) return { body: null, memory: u };
24
+ const l = s.find((e) => e.pose === c);
25
+ return { body: { pose: c, id: (l == null ? void 0 : l.id) ?? null, held: !1, index: o }, memory: u };
26
+ }, R = (t, o = !0, r) => {
27
+ const n = h(), { ready: u, node: s } = v(
28
+ I.BODY_TRACKER,
29
+ r,
30
+ o
31
+ ), i = Math.min(
32
+ m.body.max,
33
+ Math.max(1, Number.isFinite(t) ? Math.round(t) : 1)
34
+ );
35
+ return j(() => {
36
+ var c;
37
+ return (c = s == null ? void 0 : s.requestBodies) == null ? void 0 : c.call(s, n, i);
38
+ }, [s, n, i]), { ready: u, node: s };
39
+ }, Y = ({
40
+ numBodies: t = m.body.max,
41
+ active: o = !0
42
+ } = {}) => {
43
+ const { node: r } = R(t, o), [n, u] = g([]), s = f("");
44
+ return S(() => {
45
+ var l;
46
+ const i = (((l = r == null ? void 0 : r.getBodies) == null ? void 0 : l.call(r)) ?? []).map((d) => d.id), c = i.join(",");
47
+ c !== s.current && (s.current = c, u(i));
48
+ }), n;
49
+ }, w = ({
50
+ active: t = !0,
51
+ acquireOptions: o,
52
+ ...r
53
+ } = {}) => {
54
+ const { ready: n, node: u } = R(_(r), t, o), s = f(r);
55
+ s.current = r;
56
+ const i = f(p), c = f(null), l = M(() => {
57
+ var x, B;
58
+ const a = s.current, e = (x = u == null ? void 0 : u.getBodies) == null ? void 0 : x.call(u), b = JSON.stringify([a.bodyId, a.subject, a.bodyIndex]);
59
+ if (e && ((B = c.current) == null ? void 0 : B.bodies) === e && c.current.key === b)
60
+ return c.current.body;
61
+ const y = T(u, a, i.current);
62
+ return i.current = y.memory, c.current = e ? { bodies: e, key: b, body: y.body } : null, y.body;
63
+ }, [u]), d = M(() => {
64
+ var y;
65
+ const { bodyId: a, subject: e, bodyIndex: b = 0 } = s.current;
66
+ return a !== void 0 || e ? ((y = l()) == null ? void 0 : y.index) ?? null : b;
67
+ }, [l]);
68
+ return { ready: n, node: u, read: l, index: d };
69
+ };
70
+ export {
71
+ Y as a,
72
+ _ as b,
73
+ T as r,
74
+ w as u
75
+ };
@@ -0,0 +1 @@
1
+ "use strict";const C=require("@react-three/fiber"),y=require("react"),b=require("./index-Sho4F4it.cjs"),E=require("./landmarks-BEjJXcnE.cjs"),_=(e,o)=>{var t;for(let c=0;c<b.XR_MAX_SUBJECTS.body.max;c+=1)if(((t=e==null?void 0:e.getBodyPose)==null?void 0:t.call(e,c))===o)return c;return null},R=({bodyId:e,subject:o,numBodies:t})=>t??(e!==void 0||o?2:1),S=(e,{bodyIndex:o=0,bodyId:t,subject:c},u=b.EMPTY_SUBJECT_MEMORY)=>{var a,d;const s=((a=e==null?void 0:e.getBodies)==null?void 0:a.call(e))??[],i=r=>r?{...r,index:r.held?null:_(e,r.pose)}:null;if(t!==void 0)return{body:i(s.find(r=>r.id===t)),memory:u};if(c){const r=b.selectSubject(b.bodyCandidates(s),c,u);return{body:r.index===null?null:i(s[r.index]),memory:r.memory}}const n=((d=e==null?void 0:e.getBodyPose)==null?void 0:d.call(e,o))??null;if(!n)return{body:null,memory:u};const l=s.find(r=>r.pose===n);return{body:{pose:n,id:(l==null?void 0:l.id)??null,held:!1,index:o},memory:u}},m=(e,o=!0,t)=>{const c=y.useId(),{ready:u,node:s}=E.useXRModel(b.XRModel.BODY_TRACKER,t,o),i=Math.min(b.XR_MAX_SUBJECTS.body.max,Math.max(1,Number.isFinite(e)?Math.round(e):1));return y.useEffect(()=>{var n;return(n=s==null?void 0:s.requestBodies)==null?void 0:n.call(s,c,i)},[s,c,i]),{ready:u,node:s}},j=({numBodies:e=b.XR_MAX_SUBJECTS.body.max,active:o=!0}={})=>{const{node:t}=m(e,o),[c,u]=y.useState([]),s=y.useRef("");return C.useFrame(()=>{var l;const i=(((l=t==null?void 0:t.getBodies)==null?void 0:l.call(t))??[]).map(a=>a.id),n=i.join(",");n!==s.current&&(s.current=n,u(i))}),c},T=({active:e=!0,acquireOptions:o,...t}={})=>{const{ready:c,node:u}=m(R(t),e,o),s=y.useRef(t);s.current=t;const i=y.useRef(b.EMPTY_SUBJECT_MEMORY),n=y.useRef(null),l=y.useCallback(()=>{var x,M;const d=s.current,r=(x=u==null?void 0:u.getBodies)==null?void 0:x.call(u),B=JSON.stringify([d.bodyId,d.subject,d.bodyIndex]);if(r&&((M=n.current)==null?void 0:M.bodies)===r&&n.current.key===B)return n.current.body;const f=S(u,d,i.current);return i.current=f.memory,n.current=r?{bodies:r,key:B,body:f.body}:null,f.body},[u]),a=y.useCallback(()=>{var f;const{bodyId:d,subject:r,bodyIndex:B=0}=s.current;return d!==void 0||r?((f=l())==null?void 0:f.index)??null:B},[l]);return{ready:c,node:u,read:l,index:a}};exports.bodySubjectCount=R;exports.resolveBody=S;exports.useBodyIds=j;exports.useBodySubject=T;
@@ -0,0 +1,75 @@
1
+ import { useMemo as x, useEffect as h, useCallback as p, useRef as R } from "react";
2
+ import { X as E, j as C, f as N, g as _ } from "./index-CKRN-xJp.js";
3
+ import { useThree as b } from "@react-three/fiber";
4
+ import { g as y } from "./getFaceInfo-BafgGT27.js";
5
+ import { u as T } from "./useFaceResultReader-Cc4Qrutf.js";
6
+ import { u as S } from "./landmarks-DtCAFV_m.js";
7
+ const X = ({
8
+ active: i = !0,
9
+ holdMs: l = 250,
10
+ numFaces: r = 1,
11
+ targetFps: s,
12
+ throttleMs: o = 16
13
+ } = {}) => {
14
+ const { camera: t } = b(), u = Number.isFinite(r) ? Math.min(E.face.max, Math.max(1, Math.round(r))) : 1, m = s !== void 0 && Number.isFinite(s) && s > 0 ? s : void 0, e = x(
15
+ () => ({
16
+ numFaces: u,
17
+ ...m ? { targetFps: m } : {}
18
+ }),
19
+ [u, m]
20
+ ), { node: n, ready: c } = S(
21
+ C.FACE_TRACKER,
22
+ e,
23
+ i
24
+ );
25
+ h(() => {
26
+ if (n)
27
+ for (let a = 0; a < e.numFaces; a += 1)
28
+ n.setCamera(t, a);
29
+ }, [e.numFaces, t, n]);
30
+ const d = p(
31
+ (a) => {
32
+ if (!n) return [];
33
+ const F = [];
34
+ for (let f = 0; f < a.faceLandmarks.length; f += 1) {
35
+ const M = y(n, a, f);
36
+ M && F.push(M);
37
+ }
38
+ return F;
39
+ },
40
+ [n]
41
+ );
42
+ return T({
43
+ enabled: i && c,
44
+ holdMs: Number.isFinite(l) ? Math.max(0, l) : 250,
45
+ node: n,
46
+ prepare: d,
47
+ throttleMs: Number.isFinite(o) ? Math.max(0, o) : 16
48
+ });
49
+ }, A = 4, J = ({
50
+ faceIndex: i = 0,
51
+ numFaces: l,
52
+ subject: r,
53
+ ...s
54
+ } = {}) => {
55
+ const o = Number.isFinite(i) ? Math.max(0, Math.round(i)) : 0, t = X({
56
+ ...s,
57
+ numFaces: Math.max(l ?? (r ? A : o + 1), o + 1)
58
+ }), u = R(N), m = JSON.stringify(r ?? null), e = x(() => {
59
+ if (!r) return null;
60
+ const n = t.map((c, d) => ({
61
+ index: d,
62
+ center: { x: c.bounds.centerX, y: c.bounds.centerY },
63
+ size: c.bounds.width
64
+ }));
65
+ return _(n, r, u.current);
66
+ }, [t, m]);
67
+ return h(() => {
68
+ e && (u.current = e.memory);
69
+ }, [e]), r ? e && e.index !== null ? t[e.index] ?? null : null : t[o] ?? null;
70
+ };
71
+ export {
72
+ A as D,
73
+ J as a,
74
+ X as u
75
+ };
@@ -0,0 +1 @@
1
+ "use strict";const i=require("react"),f=require("./index-Sho4F4it.cjs"),_=require("@react-three/fiber"),C=require("./getFaceInfo-BzlwHMjX.cjs"),N=require("./useFaceResultReader-D3jOQNKz.cjs"),b=require("./landmarks-BEjJXcnE.cjs"),h=({active:c=!0,holdMs:d=250,numFaces:r=1,targetFps:t,throttleMs:u=16}={})=>{const{camera:s}=_.useThree(),a=Number.isFinite(r)?Math.min(f.XR_MAX_SUBJECTS.face.max,Math.max(1,Math.round(r))):1,l=t!==void 0&&Number.isFinite(t)&&t>0?t:void 0,e=i.useMemo(()=>({numFaces:a,...l?{targetFps:l}:{}}),[a,l]),{node:n,ready:m}=b.useXRModel(f.XRModel.FACE_TRACKER,e,c);i.useEffect(()=>{if(n)for(let o=0;o<e.numFaces;o+=1)n.setCamera(s,o)},[e.numFaces,s,n]);const F=i.useCallback(o=>{if(!n)return[];const x=[];for(let M=0;M<o.faceLandmarks.length;M+=1){const R=C.getFaceInfoFromResults(n,o,M);R&&x.push(R)}return x},[n]);return N.useFaceResultReader({enabled:c&&m,holdMs:Number.isFinite(d)?Math.max(0,d):250,node:n,prepare:F,throttleMs:Number.isFinite(u)?Math.max(0,u):16})},E=4,T=({faceIndex:c=0,numFaces:d,subject:r,...t}={})=>{const u=Number.isFinite(c)?Math.max(0,Math.round(c)):0,s=h({...t,numFaces:Math.max(d??(r?E:u+1),u+1)}),a=i.useRef(f.EMPTY_SUBJECT_MEMORY),l=JSON.stringify(r??null),e=i.useMemo(()=>{if(!r)return null;const n=s.map((m,F)=>({index:F,center:{x:m.bounds.centerX,y:m.bounds.centerY},size:m.bounds.width}));return f.selectSubject(n,r,a.current)},[s,l]);return i.useEffect(()=>{e&&(a.current=e.memory)},[e]),r?e&&e.index!==null?s[e.index]??null:null:s[u]??null};exports.DEFAULT_POLICY_NUM_FACES=E;exports.useFaceInfo=T;exports.useFaceInfos=h;