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

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 (639) hide show
  1. package/GROUNDING.md +5651 -82
  2. package/README.md +1 -0
  3. package/dist/CanonicalHeadFrame-BHcWyaiK.js +1506 -0
  4. package/dist/CanonicalHeadFrame-D-_T1OMU.cjs +1 -0
  5. package/dist/DebuggerUI-7ngnJsBe.js +275 -0
  6. package/dist/DebuggerUI-CoglgKdO.cjs +1 -0
  7. package/dist/FaceRetouch-CLoTfrcs.js +1071 -0
  8. package/dist/FaceRetouch-J1lC1WbS.cjs +134 -0
  9. package/dist/FaceSurface-CHAMEeG1.cjs +1 -0
  10. package/dist/FaceSurface-DmP9AEeC.js +27 -0
  11. package/dist/SegmentationOverlay-D_FWkcyP.cjs +35 -0
  12. package/dist/SegmentationOverlay-vn5x_knv.js +6237 -0
  13. package/dist/SkeletonUtils-C2r90MtN.js +21 -0
  14. package/dist/SkeletonUtils-CddIup1F.cjs +1 -0
  15. package/dist/TextLabel-XE0rQSDn.cjs +2 -0
  16. package/dist/TextLabel-c9BCucOI.js +961 -0
  17. package/dist/assets/cache.d.ts +99 -0
  18. package/dist/assets/estimate.d.ts +11 -0
  19. package/dist/assets/gltfLoader.d.ts +16 -0
  20. package/dist/assets/index.d.ts +7 -0
  21. package/dist/assets/loaders.d.ts +43 -0
  22. package/dist/assets/react.d.ts +33 -0
  23. package/dist/body-pose/index.d.ts +521 -0
  24. package/dist/body-trigger/__fixtures__/syntheticBody.d.ts +83 -0
  25. package/dist/body-trigger/frame.d.ts +88 -0
  26. package/dist/body-trigger/index.d.ts +6 -0
  27. package/dist/body-trigger/moves.d.ts +235 -0
  28. package/dist/body-trigger/trigger.d.ts +75 -0
  29. package/dist/calibration/calibration.d.ts +75 -0
  30. package/dist/calibration/index.d.ts +6 -0
  31. package/dist/calibration/storage.d.ts +13 -0
  32. package/dist/calibration/types.d.ts +53 -0
  33. package/dist/calibration/useXRCalibration.d.ts +46 -0
  34. package/dist/camera/CameraPermissionGate.d.ts +26 -0
  35. package/dist/camera/devices.d.ts +26 -0
  36. package/dist/camera/index.d.ts +8 -0
  37. package/dist/camera/permission.d.ts +86 -0
  38. package/dist/camera/useCameraPermission.d.ts +35 -0
  39. package/dist/canonicalFace-BHwyCx1c.js +9 -0
  40. package/dist/canonicalFace-C83I225R.cjs +1 -0
  41. package/dist/capabilities/detect.d.ts +45 -0
  42. package/dist/capabilities/index.d.ts +5 -0
  43. package/dist/capabilities/types.d.ts +120 -0
  44. package/dist/capabilities/useXRCapabilities.d.ts +18 -0
  45. package/dist/compat/environment.d.ts +5 -0
  46. package/dist/compat/index.d.ts +4 -0
  47. package/dist/compat/run.d.ts +18 -0
  48. package/dist/compat/scenarios.d.ts +10 -0
  49. package/dist/compat/types.d.ts +101 -0
  50. package/dist/components/BodyInstruction/BodyPoseHint.d.ts +63 -0
  51. package/dist/components/BodyInstruction/index.d.ts +69 -0
  52. package/dist/components/BodyInstruction/useBodyPose.d.ts +23 -0
  53. package/dist/components/BodyTracker/index.d.ts +17 -0
  54. package/dist/components/BodyTrigger/index.d.ts +49 -0
  55. package/dist/components/Debugger/DebuggerProvider.d.ts +14 -1
  56. package/dist/components/Debugger/DebuggerUI.d.ts +3 -1
  57. package/dist/components/FaceAtlas/FaceAtlasLayer.d.ts +114 -0
  58. package/dist/components/FaceAtlas/MadeUpCamera.d.ts +80 -0
  59. package/dist/components/FaceAtlas/constants.d.ts +8 -0
  60. package/dist/components/FaceAtlas/index.d.ts +7 -0
  61. package/dist/components/FaceAtlas/useFaceAtlasSurface.d.ts +84 -0
  62. package/dist/components/FaceAtlas/useFaceSkin.d.ts +84 -0
  63. package/dist/components/FaceCharacter/ExternalFaceMesh.d.ts +109 -0
  64. package/dist/components/FaceCharacter/FaceExpressionController.d.ts +53 -0
  65. package/dist/components/FaceCharacter/FaceMorph.d.ts +71 -0
  66. package/dist/components/FaceCharacter/FacePiercing.d.ts +65 -0
  67. package/dist/components/FaceCharacter/FaceReprojection.d.ts +85 -0
  68. package/dist/components/FaceCharacter/FaceRig.d.ts +38 -0
  69. package/dist/components/FaceCharacter/FaceSurface.d.ts +49 -0
  70. package/dist/components/FaceCharacter/FaceSurfaceOccluder.d.ts +39 -0
  71. package/dist/components/FaceCharacter/PinToFaceMesh.d.ts +68 -0
  72. package/dist/components/FaceCharacter/index.d.ts +18 -0
  73. package/dist/components/FaceCharacter/useFaceReprojector.d.ts +10 -0
  74. package/dist/components/FaceInset/FaceInset.d.ts +68 -0
  75. package/dist/components/FaceInset/frame.d.ts +94 -0
  76. package/dist/components/FaceInset/index.d.ts +6 -0
  77. package/dist/components/FaceInset/material.d.ts +40 -0
  78. package/dist/components/FaceInset/useFaceInsetTexture.d.ts +37 -0
  79. package/dist/components/FaceInstruction/FaceExpressionHint.d.ts +43 -0
  80. package/dist/components/FaceInstruction/index.d.ts +56 -0
  81. package/dist/components/FaceInstruction/useFaceExpression.d.ts +20 -0
  82. package/dist/components/FaceLiquify/FaceLiquify.d.ts +49 -0
  83. package/dist/components/FaceLiquify/debug.d.ts +37 -0
  84. package/dist/components/FaceLiquify/frame.d.ts +55 -0
  85. package/dist/components/FaceLiquify/index.d.ts +10 -0
  86. package/dist/components/FaceLiquify/material.d.ts +39 -0
  87. package/dist/components/FaceLiquify/pass.d.ts +49 -0
  88. package/dist/components/FaceLiquify/presence.d.ts +25 -0
  89. package/dist/components/FaceLiquify/presets.d.ts +82 -0
  90. package/dist/components/FaceLiquify/selfTest.d.ts +66 -0
  91. package/dist/components/FaceLiquify/target.d.ts +85 -0
  92. package/dist/components/FaceLiquify/warp.d.ts +72 -0
  93. package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +37 -5
  94. package/dist/components/FaceMesh/canonical/geometryGroups.d.ts +21 -0
  95. package/dist/components/FaceMesh/canonical/parseCanonicalFaceModel.d.ts +21 -0
  96. package/dist/components/FaceMesh/canonical/shaders.d.ts +1 -1
  97. package/dist/components/FaceMesh/index.d.ts +2 -2
  98. package/dist/components/FaceRetouch/Background.d.ts +3 -1
  99. package/dist/components/FaceRetouch/FaceRetouch.d.ts +5 -0
  100. package/dist/components/FaceRetouch/renderState.d.ts +19 -0
  101. package/dist/components/FaceSwap/FaceMirror.d.ts +46 -0
  102. package/dist/components/FaceSwap/FaceSwap.d.ts +58 -0
  103. package/dist/components/FaceSwap/FaceTextureLayer.d.ts +72 -0
  104. package/dist/components/FaceSwap/faceSwapPlan.d.ts +91 -0
  105. package/dist/components/FaceSwap/index.d.ts +13 -0
  106. package/dist/components/FaceSwap/settings.d.ts +300 -0
  107. package/dist/components/FaceSwap/useFaceTexture.d.ts +35 -0
  108. package/dist/components/FaceSwap/useLiveFace.d.ts +38 -0
  109. package/dist/components/FaceSwap/useLiveFaceTexture.d.ts +31 -0
  110. package/dist/components/FaceWarp3D/FaceWarp3D.d.ts +50 -0
  111. package/dist/components/FaceWarp3D/index.d.ts +2 -3
  112. package/dist/components/Faceless/Faceless.d.ts +51 -0
  113. package/dist/components/Faceless/index.d.ts +2 -0
  114. package/dist/components/GestureListener/index.d.ts +11 -0
  115. package/dist/components/HairLock/HairLock.d.ts +39 -0
  116. package/dist/components/HairLock/index.d.ts +2 -0
  117. package/dist/components/HairLock/lockGeometry.d.ts +15 -0
  118. package/dist/components/HandCutout/index.d.ts +35 -0
  119. package/dist/components/HandInstruction/HandGestureHint.d.ts +70 -0
  120. package/dist/components/HandInstruction/index.d.ts +74 -0
  121. package/dist/components/HandInstruction/useHandGesture.d.ts +22 -0
  122. package/dist/components/HandRig/ForearmOccluder.d.ts +29 -0
  123. package/dist/components/HandRig/HandAttachment.d.ts +34 -0
  124. package/dist/components/HandRig/HandOccluder.d.ts +55 -0
  125. package/dist/components/HandRig/HandTattoo.d.ts +61 -0
  126. package/dist/components/HandRig/WristAttachment.d.ts +34 -0
  127. package/dist/components/HandRig/index.d.ts +101 -0
  128. package/dist/components/HandRig/useArmMask.d.ts +29 -0
  129. package/dist/components/HandRig/wristSolve.d.ts +69 -0
  130. package/dist/components/HandTouch/HandTouch.d.ts +62 -0
  131. package/dist/components/HandTouch/Touchable.d.ts +36 -0
  132. package/dist/components/HandTouch/index.d.ts +2 -0
  133. package/dist/components/HandTracker/index.d.ts +10 -0
  134. package/dist/components/HeadBinding/index.d.ts +14 -0
  135. package/dist/components/HeadOccluder/CanonicalHeadFrame.d.ts +22 -0
  136. package/dist/components/HeadOccluder/Earrings.d.ts +55 -0
  137. package/dist/components/HeadOccluder/HeadAttachment.d.ts +38 -0
  138. package/dist/components/HeadOccluder/NeckOccluder.d.ts +64 -0
  139. package/dist/components/HeadOccluder/earringPlacement.d.ts +31 -0
  140. package/dist/components/HeadOccluder/headAttachmentPoints.d.ts +69 -0
  141. package/dist/components/HeadOccluder/index.d.ts +57 -3
  142. package/dist/components/HeadOccluder/useCanonicalHeadFit.d.ts +36 -0
  143. package/dist/components/HeadOccluder/useLandmarkPoseFit.d.ts +80 -0
  144. package/dist/components/HolisticTracker/index.d.ts +69 -0
  145. package/dist/components/HolisticTracker/settings.d.ts +58 -0
  146. package/dist/components/HolisticTracker/signals.d.ts +49 -0
  147. package/dist/components/Instruction/HintStage.d.ts +29 -0
  148. package/dist/components/Instruction/InstructionCue.d.ts +126 -0
  149. package/dist/components/Instruction/gestureHold.d.ts +20 -0
  150. package/dist/components/Instruction/ghost.d.ts +129 -0
  151. package/dist/components/Instruction/hintBlend.d.ts +19 -0
  152. package/dist/components/Instruction/hintLook.d.ts +81 -0
  153. package/dist/components/Instruction/hintLoop.d.ts +36 -0
  154. package/dist/components/Instruction/index.d.ts +41 -0
  155. package/dist/components/Instruction/useGhostModel.d.ts +33 -0
  156. package/dist/components/Instruction/useInstructionHold.d.ts +72 -0
  157. package/dist/components/IrisEffect/IrisMaterial.d.ts +73 -0
  158. package/dist/components/IrisEffect/index.d.ts +51 -0
  159. package/dist/components/IrisEffect/settings.d.ts +117 -0
  160. package/dist/components/LipEffect/LipEffect.d.ts +27 -1
  161. package/dist/components/LipEffect/LipEffectMaterial.d.ts +95 -7
  162. package/dist/components/LipEffect/LipEffects.d.ts +12 -0
  163. package/dist/components/LipEffect/defaults.d.ts +46 -4
  164. package/dist/components/LipEffect/index.d.ts +11 -3
  165. package/dist/components/LipEffect/lipShading.d.ts +73 -0
  166. package/dist/components/LipEffect/settings.d.ts +375 -0
  167. package/dist/components/LipEffect/shader.d.ts +39 -0
  168. package/dist/components/LipEffect/types.d.ts +128 -9
  169. package/dist/components/LipEffect/useLipDesignTextures.d.ts +17 -0
  170. package/dist/components/LipEffect/uvGuide.d.ts +74 -0
  171. package/dist/components/Makeup/Blush.d.ts +18 -0
  172. package/dist/components/Makeup/Brows.d.ts +20 -0
  173. package/dist/components/Makeup/Contour.d.ts +17 -0
  174. package/dist/components/Makeup/Eyeliner.d.ts +20 -0
  175. package/dist/components/Makeup/Eyeshadow.d.ts +20 -0
  176. package/dist/components/Makeup/Highlighter.d.ts +18 -0
  177. package/dist/components/Makeup/MakeupDesign.d.ts +37 -0
  178. package/dist/components/Makeup/MakeupRegion.d.ts +132 -0
  179. package/dist/components/Makeup/constants.d.ts +44 -0
  180. package/dist/components/Makeup/design.d.ts +106 -0
  181. package/dist/components/Makeup/designSamples.d.ts +42 -0
  182. package/dist/components/Makeup/eyes.d.ts +114 -0
  183. package/dist/components/Makeup/fields.d.ts +10 -0
  184. package/dist/components/Makeup/geometry.d.ts +106 -0
  185. package/dist/components/Makeup/index.d.ts +26 -0
  186. package/dist/components/Makeup/looks.d.ts +28 -0
  187. package/dist/components/Makeup/material.d.ts +239 -0
  188. package/dist/components/Makeup/settings.d.ts +54 -0
  189. package/dist/components/Makeup/shades.d.ts +143 -0
  190. package/dist/components/Makeup/shapes.d.ts +27 -0
  191. package/dist/components/Makeup/skinTone.d.ts +135 -0
  192. package/dist/components/Makeup/types.d.ts +110 -0
  193. package/dist/components/Makeup/useMakeupSkinTone.d.ts +40 -0
  194. package/dist/components/Necklace/Necklace.d.ts +44 -0
  195. package/dist/components/Necklace/index.d.ts +1 -0
  196. package/dist/components/ParticleEmitter/ParticleEmitter.d.ts +69 -0
  197. package/dist/components/ParticleEmitter/index.d.ts +1 -0
  198. package/dist/components/PersonCutout/index.d.ts +50 -0
  199. package/dist/components/PersonCutout/personCutout.d.ts +16 -0
  200. package/dist/components/ScreenImage/components/ScreenImageBody.d.ts +1 -1
  201. package/dist/components/ScreenImage/index.d.ts +3 -1
  202. package/dist/components/ScreenImage/materials/ScreenImageBlendMaterial.d.ts +1 -1
  203. package/dist/components/ScreenImage/materials/ScreenImageMaskMaterial.d.ts +11 -0
  204. package/dist/components/ScreenImage/source.d.ts +6 -0
  205. package/dist/components/ScreenImage/types.d.ts +18 -0
  206. package/dist/components/SegmentationOverlay/SegmentationOverlay.d.ts +37 -0
  207. package/dist/components/SegmentationOverlay/SegmentationOverlayMaterial.d.ts +31 -0
  208. package/dist/components/SegmentationOverlay/index.d.ts +9 -0
  209. package/dist/components/SegmentationOverlay/maskTexture.d.ts +23 -0
  210. package/dist/components/SegmentationOverlay/providers.d.ts +72 -0
  211. package/dist/components/SegmentationOverlay/settings.d.ts +65 -0
  212. package/dist/components/ShoulderOccluder/index.d.ts +43 -0
  213. package/dist/components/ShoulderOccluder/useCanonicalTorsoFit.d.ts +24 -0
  214. package/dist/components/SpringSwing/SpringSwing.d.ts +22 -0
  215. package/dist/components/SpringSwing/index.d.ts +1 -0
  216. package/dist/components/XRProvider/index.d.ts +16 -2
  217. package/dist/components/XRScene/renderOutputTarget.d.ts +12 -0
  218. package/dist/components/XRViewport/hooks/useViewportExternalFaces.d.ts +1 -1
  219. package/dist/components/XRViewport/hooks/useViewportMediaSource.d.ts +1 -1
  220. package/dist/components/XRViewport/hooks/useViewportPipeline.d.ts +1 -1
  221. package/dist/components/index.d.ts +11 -0
  222. package/dist/config/index.d.ts +0 -1
  223. package/dist/constants/index.d.ts +4 -1
  224. package/dist/context-DTxSQvp4.js +13 -0
  225. package/dist/context-hA0Rb2Xa.cjs +1 -0
  226. package/dist/contexts-BH7PdKFS.cjs +1 -0
  227. package/dist/contexts-jak8-tND.js +667 -0
  228. package/dist/coordinates/feed.d.ts +52 -0
  229. package/dist/coordinates/index.d.ts +7 -0
  230. package/dist/coordinates/side.d.ts +40 -0
  231. package/dist/coordinates/spaces.d.ts +49 -0
  232. package/dist/coordinates/viewport.d.ts +22 -0
  233. package/dist/coordinates/world.d.ts +15 -0
  234. package/dist/debug-ui/default-setting.cjs +2 -2
  235. package/dist/debug-ui/face-swap-settings/index.d.ts +22 -0
  236. package/dist/debug-ui/gesture-settings/index.d.ts +14 -0
  237. package/dist/debug-ui/hierarchy-panel/index.d.ts +3 -2
  238. package/dist/debug-ui/holistic-tracker-settings/index.d.ts +16 -0
  239. package/dist/debug-ui/index.d.ts +18 -3
  240. package/dist/debug-ui/iris-effect-settings/index.d.ts +12 -0
  241. package/dist/debug-ui/lip-effect-settings/index.d.ts +15 -0
  242. package/dist/debug-ui/media-source/index.d.ts +1 -1
  243. package/dist/debug-ui/media-source/session.d.ts +30 -2
  244. package/dist/debug-ui/media-source.cjs +1 -1
  245. package/dist/debug-ui/media-source.js +1 -1
  246. package/dist/debug-ui/object-inspector-panel/index.d.ts +3 -2
  247. package/dist/debug-ui/product-hotspots/index.d.ts +25 -0
  248. package/dist/debug-ui/scene-editor/hierarchy-panel.d.ts +3 -1
  249. package/dist/debug-ui/scene-editor/inspector-panel.d.ts +3 -1
  250. package/dist/debug-ui/screen-image-settings/index.d.ts +3 -1
  251. package/dist/debug-ui/screen-text-settings/ScreenTextSettingsPanel.d.ts +1 -1
  252. package/dist/debug-ui/screen-text-settings/types.d.ts +2 -0
  253. package/dist/debug-ui/segmentation-overlay-settings/index.d.ts +12 -0
  254. package/dist/debug-ui/settings-panel/index.d.ts +6 -1
  255. package/dist/debug-ui/shared/debugWindow.d.ts +51 -0
  256. package/dist/debug-ui/xr-diagnostics/index.d.ts +26 -0
  257. package/dist/debug-ui.cjs +3 -3
  258. package/dist/debug-ui.js +2695 -2547
  259. package/dist/detector-K8aej4MB.js +59 -0
  260. package/dist/detector-ijypGtse.cjs +1 -0
  261. package/dist/entries/all.d.ts +3 -1
  262. package/dist/entries/core.d.ts +20 -2
  263. package/dist/entries/face-effects.d.ts +123 -9
  264. package/dist/entries/instructions.d.ts +48 -0
  265. package/dist/entries/internal.d.ts +2 -1
  266. package/dist/entries/low-level.d.ts +49 -3
  267. package/dist/entries/particles.d.ts +11 -0
  268. package/dist/entries/product.d.ts +11 -0
  269. package/dist/entries/tracking.d.ts +60 -2
  270. package/dist/face-atlas/attributes.d.ts +30 -0
  271. package/dist/face-atlas/eyes.d.ts +272 -0
  272. package/dist/face-atlas/faceAtlas.generated.d.ts +46 -0
  273. package/dist/face-atlas/glsl/atlasVertex.d.ts +46 -0
  274. package/dist/face-atlas/glsl/common.d.ts +55 -0
  275. package/dist/face-atlas/glsl/design.d.ts +49 -0
  276. package/dist/face-atlas/glsl/eyes.d.ts +73 -0
  277. package/dist/face-atlas/glsl/finish.d.ts +24 -0
  278. package/dist/face-atlas/glsl/format.d.ts +4 -0
  279. package/dist/face-atlas/glsl/index.d.ts +59 -0
  280. package/dist/face-atlas/glsl/shading.d.ts +15 -0
  281. package/dist/face-atlas/glsl/shapes.d.ts +66 -0
  282. package/dist/face-atlas/glsl/sparkle.d.ts +19 -0
  283. package/dist/face-atlas/glsl/uniforms.d.ts +106 -0
  284. package/dist/face-atlas/guide.d.ts +51 -0
  285. package/dist/face-atlas/index.d.ts +25 -0
  286. package/dist/face-atlas/lead.d.ts +117 -0
  287. package/dist/face-atlas/madeUpCamera.d.ts +125 -0
  288. package/dist/face-atlas/masks.d.ts +53 -0
  289. package/dist/face-atlas/obj.d.ts +69 -0
  290. package/dist/face-atlas/polylines.d.ts +63 -0
  291. package/dist/face-atlas/probe/FaceSkinProbe.d.ts +208 -0
  292. package/dist/face-atlas/probe/__fixtures__/emulate.d.ts +9 -0
  293. package/dist/face-atlas/probe/__fixtures__/face.d.ts +24 -0
  294. package/dist/face-atlas/probe/constants.d.ts +137 -0
  295. package/dist/face-atlas/probe/glsl.d.ts +43 -0
  296. package/dist/face-atlas/probe/lightFit.d.ts +108 -0
  297. package/dist/face-atlas/probe/schedule.d.ts +44 -0
  298. package/dist/face-atlas/probe/selfTest.d.ts +87 -0
  299. package/dist/face-atlas/probe/stats.d.ts +143 -0
  300. package/dist/face-atlas/probe/targets.d.ts +70 -0
  301. package/dist/face-atlas/probe/unwrap.d.ts +76 -0
  302. package/dist/face-atlas/quality.d.ts +28 -0
  303. package/dist/face-atlas/regions.d.ts +31 -0
  304. package/dist/face-atlas/registry.d.ts +252 -0
  305. package/dist/face-atlas/renderState.d.ts +86 -0
  306. package/dist/face-atlas/selfOcclusion.d.ts +62 -0
  307. package/dist/face-atlas/shading.d.ts +406 -0
  308. package/dist/face-atlas/shapes.d.ts +86 -0
  309. package/dist/face-atlas/sides.d.ts +41 -0
  310. package/dist/face-atlas/skinMask.d.ts +35 -0
  311. package/dist/face-atlas/surface.d.ts +155 -0
  312. package/dist/face-atlas/topology.d.ts +44 -0
  313. package/dist/face-character/__fixtures__/faceImageDetections.d.ts +25 -0
  314. package/dist/face-character/__fixtures__/faceNode.d.ts +22 -0
  315. package/dist/face-character/bindFaceModel.d.ts +106 -0
  316. package/dist/face-character/canonicalFace.d.ts +17 -0
  317. package/dist/face-character/canonicalFaceGeometry.d.ts +11 -0
  318. package/dist/face-character/canonicalFacePositions.d.ts +7 -0
  319. package/dist/face-character/driveFaceModel.d.ts +57 -0
  320. package/dist/face-character/expressionOutputs.d.ts +45 -0
  321. package/dist/face-character/faceExpressions.d.ts +104 -0
  322. package/dist/face-character/faceImageLandmarker.d.ts +93 -0
  323. package/dist/face-character/faceMeshBinding.d.ts +62 -0
  324. package/dist/face-character/faceMorph.d.ts +77 -0
  325. package/dist/face-character/faceMorphs.d.ts +46 -0
  326. package/dist/face-character/facePhoto.d.ts +138 -0
  327. package/dist/face-character/facePiercings.d.ts +116 -0
  328. package/dist/face-character/facePin.d.ts +131 -0
  329. package/dist/face-character/faceReprojection.d.ts +273 -0
  330. package/dist/face-character/faceReprojector.d.ts +171 -0
  331. package/dist/face-character/faceRig.d.ts +176 -0
  332. package/dist/face-character/faceSwapPresence.d.ts +85 -0
  333. package/dist/face-character/faceTexture.d.ts +169 -0
  334. package/dist/face-character/faceTextureBaker.d.ts +86 -0
  335. package/dist/face-character/faceTextureGuide.d.ts +106 -0
  336. package/dist/face-character/faceTextureStats.d.ts +298 -0
  337. package/dist/face-character/faceTransfer.d.ts +396 -0
  338. package/dist/face-character/faceTransferGeometry.d.ts +109 -0
  339. package/dist/face-character/faceTransferSelfTest.d.ts +94 -0
  340. package/dist/face-character/faceWarp3D.d.ts +101 -0
  341. package/dist/face-character/faceless.d.ts +79 -0
  342. package/dist/face-character/featureWarp.d.ts +28 -0
  343. package/dist/face-character/liveFaceRegistry.d.ts +370 -0
  344. package/dist/face-character/liveValue.d.ts +12 -0
  345. package/dist/face-character/memo.d.ts +15 -0
  346. package/dist/face-effects.cjs +2324 -1
  347. package/dist/face-effects.js +14208 -2268
  348. package/dist/face-expression/index.d.ts +182 -0
  349. package/dist/face-info/landmarks.d.ts +17 -3
  350. package/dist/face-info/types.d.ts +20 -3
  351. package/dist/gestures/definitions.d.ts +98 -0
  352. package/dist/gestures/detector.d.ts +87 -0
  353. package/dist/gestures/index.d.ts +8 -0
  354. package/dist/gestures/measures.d.ts +114 -0
  355. package/dist/gestures/settings.d.ts +49 -0
  356. package/dist/getFaceInfo-B1otSDMX.cjs +1 -0
  357. package/dist/getFaceInfo-Cu4xDWiL.js +62 -0
  358. package/dist/hand/armFit.d.ts +46 -0
  359. package/dist/hand/armMask.d.ts +178 -0
  360. package/dist/hand/handCutout.d.ts +23 -0
  361. package/dist/hand/handCutoutRegistry.d.ts +7 -0
  362. package/dist/hand/handGestures.d.ts +524 -0
  363. package/dist/hand/handPose.d.ts +98 -0
  364. package/dist/hand/handRigSolver.d.ts +159 -0
  365. package/dist/hand/handTattoo.d.ts +81 -0
  366. package/dist/hand/handTouch.d.ts +240 -0
  367. package/dist/hand/wrist.d.ts +44 -0
  368. package/dist/hand/wristFilter.d.ts +44 -0
  369. package/dist/hooks/selectors.d.ts +76 -1
  370. package/dist/hooks/useCalibrationFaceTracker.d.ts +1 -1
  371. package/dist/hooks/useFaceInfo.d.ts +13 -1
  372. package/dist/hooks/useFaceInfos.d.ts +1 -1
  373. package/dist/hooks/useFaceModelAcquisition.d.ts +38 -0
  374. package/dist/hooks/useGesture.d.ts +32 -0
  375. package/dist/hooks/useIrisTracking.d.ts +45 -0
  376. package/dist/hooks/useTrackerContext.d.ts +6 -0
  377. package/dist/hooks/useXRDiagnostics.d.ts +81 -0
  378. package/dist/hooks/useXRModel.d.ts +7 -0
  379. package/dist/hooks/useXRSession/facade.d.ts +42 -2
  380. package/dist/hooks/useXRSession/index.d.ts +2 -2
  381. package/dist/hooks/useXRSession/reason.d.ts +3 -1
  382. package/dist/hooks/useXRSession/registry.d.ts +14 -0
  383. package/dist/hooks/useXRSession/store.d.ts +52 -3
  384. package/dist/index-B1_TzJaI.js +1104 -0
  385. package/dist/index-BavF06C6.js +190 -0
  386. package/dist/index-BfFmpddl.cjs +21 -0
  387. package/dist/index-BuBzneeW.cjs +46 -0
  388. package/dist/index-CGsQWodV.cjs +1 -0
  389. package/dist/index-CIe7eCMH.js +3200 -0
  390. package/dist/index-CfSF8LXa.cjs +1 -0
  391. package/dist/index-D5GTzOzD.cjs +1 -0
  392. package/dist/index-DBhQzvVa.js +314 -0
  393. package/dist/index-DE17y0ZI.cjs +1 -0
  394. package/dist/index-JII7huPk.js +442 -0
  395. package/dist/index-tpCr9CLj.cjs +1 -0
  396. package/dist/index-w1S7fI2B.js +1432 -0
  397. package/dist/index-zGaqrz_K.js +188 -0
  398. package/dist/instructions.cjs +30 -0
  399. package/dist/instructions.js +1507 -0
  400. package/dist/{internal-Dmk1cTXq.js → internal-B90P-clC.js} +138 -119
  401. package/dist/internal-Cjinca64.cjs +1 -0
  402. package/dist/internal.cjs +1 -1
  403. package/dist/internal.js +15 -10
  404. package/dist/iris/compute.d.ts +27 -0
  405. package/dist/iris/index.d.ts +4 -0
  406. package/dist/iris/lead.d.ts +19 -0
  407. package/dist/iris/types.d.ts +89 -0
  408. package/dist/landmarkMask-BFDyBnKM.js +224 -0
  409. package/dist/landmarkMask-u7es2k4X.cjs +1 -0
  410. package/dist/landmarks-BlUqf5MZ.cjs +1 -0
  411. package/dist/landmarks-bftdwq6Z.js +76 -0
  412. package/dist/loaders-BGAUACsd.js +363 -0
  413. package/dist/loaders-BJ1_QCHt.cjs +1 -0
  414. package/dist/low-level.cjs +1 -1
  415. package/dist/low-level.js +1190 -675
  416. package/dist/main.cjs +1 -1
  417. package/dist/main.js +1190 -452
  418. package/dist/models/Base/index.d.ts +49 -0
  419. package/dist/models/Body/index.d.ts +3 -1
  420. package/dist/models/Face/constants.d.ts +8 -0
  421. package/dist/models/Face/index.d.ts +4 -12
  422. package/dist/models/Face/rotation.d.ts +18 -3
  423. package/dist/models/Hand/GestureTracking.d.ts +1 -1
  424. package/dist/models/Hand/HandTracking.d.ts +17 -1
  425. package/dist/models/Holistic/index.d.ts +49 -0
  426. package/dist/models/Holistic/result.d.ts +68 -0
  427. package/dist/models/Segmentation/index.d.ts +2 -0
  428. package/dist/models/SemanticSegmentation/index.d.ts +31 -0
  429. package/dist/models/SemanticSegmentation/presets.d.ts +28 -0
  430. package/dist/models/index.d.ts +2 -0
  431. package/dist/models/nodeSource.d.ts +9 -0
  432. package/dist/particles/emission.d.ts +24 -0
  433. package/dist/particles/eyes.d.ts +24 -0
  434. package/dist/particles/glsl.d.ts +14 -0
  435. package/dist/particles/index.d.ts +10 -0
  436. package/dist/particles/motion.d.ts +42 -0
  437. package/dist/particles/presets.d.ts +12 -0
  438. package/dist/particles/ring.d.ts +58 -0
  439. package/dist/particles/selfTest.d.ts +53 -0
  440. package/dist/particles/settings.d.ts +127 -0
  441. package/dist/particles/shapes.d.ts +29 -0
  442. package/dist/particles/spawner.d.ts +60 -0
  443. package/dist/particles/system.d.ts +64 -0
  444. package/dist/particles.cjs +122 -0
  445. package/dist/particles.js +774 -0
  446. package/dist/product/ProductDimensions.d.ts +16 -0
  447. package/dist/product/ProductHotspot.d.ts +16 -0
  448. package/dist/product/ProductViewer.d.ts +9 -0
  449. package/dist/product/details.d.ts +53 -0
  450. package/dist/product/index.d.ts +14 -0
  451. package/dist/product/loadModelViewer.d.ts +4 -0
  452. package/dist/product/types.d.ts +71 -0
  453. package/dist/product/useProductAr.d.ts +37 -0
  454. package/dist/product/useProductDetails.d.ts +60 -0
  455. package/dist/product.cjs +1 -0
  456. package/dist/product.js +414 -0
  457. package/dist/providers-C8rE26Uf.js +366 -0
  458. package/dist/providers-DHsrhDI2.cjs +62 -0
  459. package/dist/quality/XRQualityController.d.ts +25 -0
  460. package/dist/quality/controller.d.ts +33 -0
  461. package/dist/quality/index.d.ts +6 -0
  462. package/dist/quality/types.d.ts +100 -0
  463. package/dist/quality/useXRQuality.d.ts +28 -0
  464. package/dist/render/renderPasses.d.ts +8 -0
  465. package/dist/render/sceneBeforeRender.d.ts +12 -0
  466. package/dist/{renderGroups-KZk6eRiY.js → renderGroups-B38pUaX2.js} +1 -1
  467. package/dist/{renderGroups-80H3DpTl.cjs → renderGroups-Cb_4Ar1Q.cjs} +1 -1
  468. package/dist/renderPasses-B6l8IpJv.js +1290 -0
  469. package/dist/renderPasses-dqmkft4P.cjs +158 -0
  470. package/dist/renderState-CJNmj5jz.js +39 -0
  471. package/dist/renderState-apSfg4eR.cjs +1 -0
  472. package/dist/scene-object.cjs +1 -1
  473. package/dist/scene-object.js +2 -2
  474. package/dist/segmentation-Cb3ouK6Z.js +1758 -0
  475. package/dist/segmentation-D9pYO6aR.cjs +1 -0
  476. package/dist/segmentation2d/faceMemory.d.ts +28 -0
  477. package/dist/segmentation2d/faceRegions.d.ts +24 -0
  478. package/dist/segmentation2d/index.d.ts +9 -0
  479. package/dist/segmentation2d/maskUv.d.ts +23 -0
  480. package/dist/segmentation2d/rasterize.d.ts +14 -0
  481. package/dist/segmentation2d/types.d.ts +52 -0
  482. package/dist/select-Ck5LGz-J.cjs +1 -0
  483. package/dist/select-pYRo_win.js +233 -0
  484. package/dist/selectors-C4X71aoD.cjs +1 -0
  485. package/dist/selectors-DmNaKIwE.js +196 -0
  486. package/dist/session-BrH8G7iJ.cjs +31 -0
  487. package/dist/session-DgA_z6O1.js +418 -0
  488. package/dist/settings-BJ7FMBsO.js +111 -0
  489. package/dist/settings-C63FMBlF.cjs +1 -0
  490. package/dist/similarityFit-BFqHND2e.cjs +1 -0
  491. package/dist/similarityFit-Bbz-R8AY.js +91 -0
  492. package/dist/spring/index.d.ts +2 -0
  493. package/dist/spring/spring.d.ts +69 -0
  494. package/dist/spring/swing.d.ts +54 -0
  495. package/dist/subjects/index.d.ts +2 -0
  496. package/dist/subjects/select.d.ts +62 -0
  497. package/dist/subjects/types.d.ts +55 -0
  498. package/dist/tracking-config/apply.d.ts +57 -0
  499. package/dist/tracking-config/index.d.ts +7 -0
  500. package/dist/tracking-config/resolve.d.ts +25 -0
  501. package/dist/tracking-config/storage.d.ts +8 -0
  502. package/dist/tracking-config/types.d.ts +106 -0
  503. package/dist/tracking-config/useXRTrackingConfig.d.ts +38 -0
  504. package/dist/tracking.cjs +10 -1
  505. package/dist/tracking.js +1326 -506
  506. package/dist/trigger-D0Pm9noT.cjs +49 -0
  507. package/dist/trigger-IQeys0oS.js +2128 -0
  508. package/dist/types/compositor.d.ts +21 -0
  509. package/dist/types/face.d.ts +20 -1
  510. package/dist/types/hand-tracking.d.ts +9 -0
  511. package/dist/types/holistic.d.ts +121 -0
  512. package/dist/types/index.d.ts +1 -0
  513. package/dist/types/model.d.ts +22 -2
  514. package/dist/types/nodes.d.ts +47 -3
  515. package/dist/types/segmentation.d.ts +24 -0
  516. package/dist/types/session.d.ts +41 -3
  517. package/dist/updateThrottle-BseecYag.js +4 -0
  518. package/dist/updateThrottle-Of5Y4SVa.cjs +1 -0
  519. package/dist/useFaceInfo-BHDNCvsJ.cjs +1 -0
  520. package/dist/useFaceInfo-J4x7LsqL.js +76 -0
  521. package/dist/useFaceResultReader-BvEo5REG.js +61 -0
  522. package/dist/useFaceResultReader-DuaL1KJG.cjs +1 -0
  523. package/dist/useInstructionHold-DOu-RpCM.js +53 -0
  524. package/dist/useInstructionHold-DwJY1Alr.cjs +1 -0
  525. package/dist/useLandmarkPoseFit-Bg-h9BPb.cjs +1 -0
  526. package/dist/useLandmarkPoseFit-Bmb3h6Mw.js +87 -0
  527. package/dist/useXRCapabilities-Cr3RzuAW.cjs +1 -0
  528. package/dist/useXRCapabilities-Cxmlmpbd.js +30 -0
  529. package/dist/utils/canonicalRigidLandmarks.d.ts +8 -0
  530. package/dist/utils/fns.d.ts +6 -3
  531. package/dist/utils/headOccluderFit.d.ts +42 -0
  532. package/dist/utils/integrity.d.ts +21 -1
  533. package/dist/utils/resolveNumFaces.d.ts +13 -0
  534. package/dist/utils/shoulderOccluderFit.d.ts +38 -0
  535. package/dist/utils/similarityFit.d.ts +23 -0
  536. package/dist/utils/updateThrottle.d.ts +2 -0
  537. package/dist/utils/useStableUniforms.d.ts +18 -0
  538. package/dist/uv-BMFt19bg.cjs +1 -0
  539. package/dist/{index-ByoNj0QP.js → uv-DJU_XfmN.js} +15 -247
  540. package/docs/SDK_DOCUMENTATION.md +1 -2
  541. package/docs/api/adaptive-quality.mdx +104 -0
  542. package/docs/api/asset-lifecycle.mdx +78 -0
  543. package/docs/api/body-instructions.mdx +285 -0
  544. package/docs/api/body-triggers.mdx +234 -0
  545. package/docs/api/camera-permission.mdx +142 -0
  546. package/docs/api/coordinate-spaces.mdx +168 -0
  547. package/docs/api/cross-camera.mdx +89 -0
  548. package/docs/api/debug-ui-scene-editor.mdx +23 -2
  549. package/docs/api/diagnostics-calibration.mdx +97 -0
  550. package/docs/api/external-face-mesh.mdx +231 -0
  551. package/docs/api/face-actions.mdx +20 -16
  552. package/docs/api/face-attribute-expression.mdx +1 -1
  553. package/docs/api/face-binding-anchors.mdx +4 -2
  554. package/docs/api/face-character.mdx +157 -0
  555. package/docs/api/face-effects.mdx +9 -0
  556. package/docs/api/face-expression-controller.mdx +153 -0
  557. package/docs/api/face-info.mdx +17 -11
  558. package/docs/api/face-inset.mdx +204 -0
  559. package/docs/api/face-instructions.mdx +183 -0
  560. package/docs/api/face-liquify.mdx +196 -0
  561. package/docs/api/face-mesh.mdx +8 -9
  562. package/docs/api/face-morph.mdx +117 -0
  563. package/docs/api/face-painting.mdx +7 -0
  564. package/docs/api/face-reprojection.mdx +154 -0
  565. package/docs/api/face-retouching.mdx +18 -10
  566. package/docs/api/face-swap.mdx +350 -0
  567. package/docs/api/face-warp-3d.mdx +166 -0
  568. package/docs/api/faceless.mdx +143 -0
  569. package/docs/api/gestures.mdx +209 -0
  570. package/docs/api/hair.mdx +97 -0
  571. package/docs/api/hand-instructions.mdx +222 -0
  572. package/docs/api/hand-rig.mdx +535 -0
  573. package/docs/api/hand-touch.mdx +162 -0
  574. package/docs/api/head-occluder.mdx +563 -0
  575. package/docs/api/holistic-tracker.mdx +164 -0
  576. package/docs/api/instructions.mdx +323 -0
  577. package/docs/api/iris-tracking.mdx +247 -0
  578. package/docs/api/made-up-camera.mdx +131 -0
  579. package/docs/api/makeup-skin-tone.mdx +135 -0
  580. package/docs/api/makeup.mdx +353 -0
  581. package/docs/api/multi-subject.mdx +98 -0
  582. package/docs/api/particles.mdx +155 -0
  583. package/docs/api/person-cutout.mdx +136 -0
  584. package/docs/api/pin-to-face-mesh.mdx +274 -0
  585. package/docs/api/product-ar.mdx +114 -0
  586. package/docs/api/product-details.mdx +78 -0
  587. package/docs/api/screen-space-coordinates.mdx +4 -1
  588. package/docs/api/segmentation-overlay.mdx +301 -0
  589. package/docs/api/session-lifecycle.mdx +136 -0
  590. package/docs/api/trackers.mdx +5 -0
  591. package/docs/api/tracking-config.mdx +108 -0
  592. package/docs/docs.json +51 -1
  593. package/docs/examples/lip-shaders.mdx +273 -0
  594. package/docs/guides/face-atlas-template.svg +1 -0
  595. package/docs/guides/face-atlas-textures.mdx +186 -0
  596. package/docs/guides/face-texture-template.svg +1 -0
  597. package/docs/guides/harness-debug-ui.mdx +4 -4
  598. package/docs/guides/lip-effect-textures.mdx +368 -0
  599. package/docs/guides/lip-uv-template.png +0 -0
  600. package/docs/guides/lip-uv-template.svg +1 -0
  601. package/docs/guides/makeup-design-textures.mdx +109 -0
  602. package/docs/introduction.mdx +1 -2
  603. package/package.json +23 -1
  604. package/dist/DebuggerUI-B6bP6P9r.cjs +0 -1
  605. package/dist/DebuggerUI-BjOMr8q_.js +0 -269
  606. package/dist/FaceMeshRenderer-C5l6VLdO.cjs +0 -155
  607. package/dist/FaceMeshRenderer-wjAHrJzP.js +0 -1270
  608. package/dist/FaceRetouch-BkJzoA79.cjs +0 -134
  609. package/dist/FaceRetouch-DwbKQJAN.js +0 -551
  610. package/dist/components/FaceWarp3D/FaceWarp3DHead.d.ts +0 -15
  611. package/dist/components/FaceWarp3D/defaults.d.ts +0 -37
  612. package/dist/components/FaceWarp3D/warp.d.ts +0 -13
  613. package/dist/contexts-ByhzppYl.js +0 -663
  614. package/dist/contexts-Dr62It_K.cjs +0 -1
  615. package/dist/debug-ui/face-warp-3d/index.d.ts +0 -6
  616. package/dist/getFaceInfo-C4QpCQIY.js +0 -118
  617. package/dist/getFaceInfo-fA1bFBub.cjs +0 -1
  618. package/dist/index-9dlAQAhy.js +0 -1462
  619. package/dist/index-BjmTe9eM.cjs +0 -1
  620. package/dist/index-BpEf2BBb.cjs +0 -1
  621. package/dist/index-CyUUurQT.cjs +0 -1
  622. package/dist/index-DCiMbxC3.cjs +0 -1
  623. package/dist/index-DXT3WccE.js +0 -2089
  624. package/dist/index-DpI-qo5X.cjs +0 -17
  625. package/dist/index-DyVF4vEW.js +0 -111
  626. package/dist/index-VJ0SJwmG.js +0 -214
  627. package/dist/internal-Cq-TEQ5Y.cjs +0 -1
  628. package/dist/renderLayers-lDtL0_43.cjs +0 -1
  629. package/dist/renderLayers-zrK2pv5O.js +0 -13
  630. package/dist/renderPasses-BOoBSr8z.cjs +0 -21
  631. package/dist/renderPasses-BcquyVtu.js +0 -1500
  632. package/dist/selectors-B8H97CKA.js +0 -59
  633. package/dist/selectors-CZLKT2Iv.cjs +0 -1
  634. package/dist/session-CpkiK5YA.cjs +0 -31
  635. package/dist/session-DLFN_VII.js +0 -363
  636. package/dist/useFaceInfo-BJ8-_MOs.cjs +0 -1
  637. package/dist/useFaceInfo-Dk426LTu.js +0 -62
  638. package/dist/useFaceResults-CtetsO9M.js +0 -19
  639. package/dist/useFaceResults-wBJF3zyp.cjs +0 -1
@@ -0,0 +1,59 @@
1
+ const u = {
2
+ enterThreshold: 0.5,
3
+ exitThreshold: 0.35,
4
+ holdMs: 0,
5
+ cooldownMs: 0,
6
+ minConfidence: 0.5,
7
+ lostGraceMs: 250
8
+ }, r = (e, n) => e !== void 0 && Number.isFinite(e) ? e : n, i = (e = {}, n = u) => {
9
+ const d = Math.max(0, r(e.enterThreshold, n.enterThreshold)), l = e.enterThreshold !== void 0 && e.exitThreshold === void 0 ? Math.max(0, d - 0.15) : n.exitThreshold;
10
+ return {
11
+ enterThreshold: d,
12
+ exitThreshold: Math.min(
13
+ d,
14
+ Math.max(0, r(e.exitThreshold, l))
15
+ ),
16
+ holdMs: Math.max(0, r(e.holdMs, n.holdMs)),
17
+ cooldownMs: Math.max(0, r(e.cooldownMs, n.cooldownMs)),
18
+ minConfidence: Math.min(
19
+ 1,
20
+ Math.max(0, r(e.minConfidence, n.minConfidence))
21
+ ),
22
+ lostGraceMs: Math.max(0, r(e.lostGraceMs, n.lostGraceMs))
23
+ };
24
+ }, t = (e) => ({
25
+ name: e,
26
+ active: !1,
27
+ value: 0,
28
+ confidence: 0,
29
+ tracked: !1,
30
+ phase: "none",
31
+ justBegan: !1,
32
+ justEnded: !1,
33
+ endReason: null,
34
+ startedAtMs: null,
35
+ durationMs: 0,
36
+ count: 0,
37
+ holdStartedAtMs: null,
38
+ lostSinceMs: null,
39
+ cooldownUntilMs: -1 / 0,
40
+ beganLastStep: !1
41
+ }), c = (e, n, d, l) => {
42
+ e.active = !1, e.justEnded = !0, e.phase = "end", e.endReason = d, e.durationMs = e.startedAtMs === null ? 0 : n - e.startedAtMs, e.startedAtMs = null, e.lostSinceMs = null, e.holdStartedAtMs = null, e.cooldownUntilMs = n + l.cooldownMs;
43
+ }, h = (e, n, d, l) => {
44
+ const s = e.beganLastStep;
45
+ e.beganLastStep = !1, e.justBegan = !1, e.justEnded = !1, e.phase = e.active ? "stay" : "none";
46
+ const o = n !== null && n.confidence >= l.minConfidence;
47
+ return e.tracked = o, e.confidence = n ? n.confidence : 0, o ? (e.lostSinceMs = null, e.value = n.value, e.active ? (e.startedAtMs !== null && (e.durationMs = d - e.startedAtMs), n.value <= l.exitThreshold && !s && c(e, d, "released", l), e) : n.value < l.enterThreshold || d < e.cooldownUntilMs ? (e.holdStartedAtMs = null, e) : (e.holdStartedAtMs === null && (e.holdStartedAtMs = d), d - e.holdStartedAtMs < l.holdMs || (e.active = !0, e.justBegan = !0, e.beganLastStep = !0, e.phase = "begin", e.endReason = null, e.startedAtMs = d, e.durationMs = 0, e.count += 1, e.holdStartedAtMs = null), e)) : (e.holdStartedAtMs = null, e.active && (e.lostSinceMs === null && (e.lostSinceMs = d), d - e.lostSinceMs >= l.lostGraceMs ? c(e, d, "lost", l) : e.startedAtMs !== null && (e.durationMs = d - e.startedAtMs)), e);
48
+ }, M = (e, n) => {
49
+ const d = n ?? {};
50
+ return d.name = e.name, d.active = e.active, d.value = e.value, d.confidence = e.confidence, d.tracked = e.tracked, d.phase = e.phase, d.justBegan = e.justBegan, d.justEnded = e.justEnded, d.endReason = e.endReason, d.startedAtMs = e.startedAtMs, d.durationMs = e.durationMs, d.count = e.count, d;
51
+ }, a = (e, n) => e.name === n.name && e.active === n.active && e.value === n.value && e.confidence === n.confidence && e.tracked === n.tracked && e.phase === n.phase && e.justBegan === n.justBegan && e.justEnded === n.justEnded && e.endReason === n.endReason && e.startedAtMs === n.startedAtMs && e.count === n.count;
52
+ export {
53
+ u as D,
54
+ h as a,
55
+ t as c,
56
+ a as g,
57
+ i as r,
58
+ M as s
59
+ };
@@ -0,0 +1 @@
1
+ "use strict";const t={enterThreshold:.5,exitThreshold:.35,holdMs:0,cooldownMs:0,minConfidence:.5,lostGraceMs:250},l=(e,n)=>e!==void 0&&Number.isFinite(e)?e:n,u=(e={},n=t)=>{const d=Math.max(0,l(e.enterThreshold,n.enterThreshold)),r=e.enterThreshold!==void 0&&e.exitThreshold===void 0?Math.max(0,d-.15):n.exitThreshold;return{enterThreshold:d,exitThreshold:Math.min(d,Math.max(0,l(e.exitThreshold,r))),holdMs:Math.max(0,l(e.holdMs,n.holdMs)),cooldownMs:Math.max(0,l(e.cooldownMs,n.cooldownMs)),minConfidence:Math.min(1,Math.max(0,l(e.minConfidence,n.minConfidence))),lostGraceMs:Math.max(0,l(e.lostGraceMs,n.lostGraceMs))}},i=e=>({name:e,active:!1,value:0,confidence:0,tracked:!1,phase:"none",justBegan:!1,justEnded:!1,endReason:null,startedAtMs:null,durationMs:0,count:0,holdStartedAtMs:null,lostSinceMs:null,cooldownUntilMs:-1/0,beganLastStep:!1}),c=(e,n,d,r)=>{e.active=!1,e.justEnded=!0,e.phase="end",e.endReason=d,e.durationMs=e.startedAtMs===null?0:n-e.startedAtMs,e.startedAtMs=null,e.lostSinceMs=null,e.holdStartedAtMs=null,e.cooldownUntilMs=n+r.cooldownMs},h=(e,n,d,r)=>{const s=e.beganLastStep;e.beganLastStep=!1,e.justBegan=!1,e.justEnded=!1,e.phase=e.active?"stay":"none";const o=n!==null&&n.confidence>=r.minConfidence;return e.tracked=o,e.confidence=n?n.confidence:0,o?(e.lostSinceMs=null,e.value=n.value,e.active?(e.startedAtMs!==null&&(e.durationMs=d-e.startedAtMs),n.value<=r.exitThreshold&&!s&&c(e,d,"released",r),e):n.value<r.enterThreshold||d<e.cooldownUntilMs?(e.holdStartedAtMs=null,e):(e.holdStartedAtMs===null&&(e.holdStartedAtMs=d),d-e.holdStartedAtMs<r.holdMs||(e.active=!0,e.justBegan=!0,e.beganLastStep=!0,e.phase="begin",e.endReason=null,e.startedAtMs=d,e.durationMs=0,e.count+=1,e.holdStartedAtMs=null),e)):(e.holdStartedAtMs=null,e.active&&(e.lostSinceMs===null&&(e.lostSinceMs=d),d-e.lostSinceMs>=r.lostGraceMs?c(e,d,"lost",r):e.startedAtMs!==null&&(e.durationMs=d-e.startedAtMs)),e)},M=(e,n)=>{const d=n??{};return d.name=e.name,d.active=e.active,d.value=e.value,d.confidence=e.confidence,d.tracked=e.tracked,d.phase=e.phase,d.justBegan=e.justBegan,d.justEnded=e.justEnded,d.endReason=e.endReason,d.startedAtMs=e.startedAtMs,d.durationMs=e.durationMs,d.count=e.count,d},a=(e,n)=>e.name===n.name&&e.active===n.active&&e.value===n.value&&e.confidence===n.confidence&&e.tracked===n.tracked&&e.phase===n.phase&&e.justBegan===n.justBegan&&e.justEnded===n.justEnded&&e.endReason===n.endReason&&e.startedAtMs===n.startedAtMs&&e.count===n.count;exports.DEFAULT_GESTURE_DETECTOR_OPTIONS=t;exports.createGestureDetectorState=i;exports.gestureStatesEqual=a;exports.resolveGestureDetectorOptions=u;exports.snapshotGestureState=M;exports.stepGestureDetector=h;
@@ -4,13 +4,15 @@
4
4
  * This exists only so the internal example playground can keep resolving a
5
5
  * flat `@vincentt-xr/sdk` alias without editing its demo files. It is
6
6
  * never listed in `package.json` `exports`; real apps import from the split
7
- * subpaths (`.`, `/tracking`, `/face-effects`, `/low-level`). `/internal` is
7
+ * subpaths (`.`, `/tracking`, `/instructions`, `/face-effects`, `/particles`, `/low-level`). `/internal` is
8
8
  * included here because the playground demos the debugger — which is exactly
9
9
  * why this aggregate is example-only and never shipped.
10
10
  */
11
11
  export * from './core';
12
12
  export * from './tracking';
13
+ export * from './instructions';
13
14
  export * from './face-effects';
15
+ export * from './particles';
14
16
  export * from './low-level';
15
17
  export * from './internal';
16
18
  export * from './scene-object';
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Session root, scene, screen-space layout, and content primitives — the
5
5
  * frame every AR app has, with no tracker and no effect. Task-specific
6
- * surface lives behind subpaths: `/tracking`, `/face-effects`, `/low-level`.
6
+ * surface lives behind subpaths: `/tracking`, `/instructions`, `/face-effects`, `/low-level`.
7
7
  */
8
8
  export { XRProvider } from '../components/XRProvider';
9
9
  export { XRScene } from '../components/XRScene';
@@ -12,10 +12,14 @@ export { TextLabel } from '../components/TextLabel';
12
12
  export { Panel } from '../components/Panel';
13
13
  export { PinToMesh } from '../components/PinToMesh';
14
14
  export { VideoBackground } from '../components/VideoBackground';
15
+ export { PersonCutout, FULL_SCREEN_ANCHORS, resolvePersonCutoutStatus, shouldDrawFallback, usePersonMaskTexture, } from '../components/PersonCutout';
16
+ export type { PersonCutoutFallback, PersonCutoutProps, PersonCutoutStatus, PersonMaskTextureResult, } from '../components/PersonCutout';
15
17
  export { AspectRatioContainer } from '../components/AspectRatioContainer';
16
18
  export { Axes } from '../components/Axes';
17
19
  export { SpriteAnimation } from '../components/SpriteAnimation';
18
20
  export { ScreenImage } from '../components/ScreenImage';
21
+ export { SCREEN_IMAGE_MASK_CHANNELS } from '../components/ScreenImage';
22
+ export type { ScreenImageMaskChannel } from '../components/ScreenImage';
19
23
  export { DEFAULT_SCREEN_GRADIENT, normalizeScreenGradient, ScreenGradientMaterial, } from '../components/ScreenGradient';
20
24
  export type { ScreenGradientMaterialProps, ScreenGradientSettings, } from '../components/ScreenGradient';
21
25
  export { DEFAULT_SCREEN_GLASS, normalizeScreenGlass, ScreenGlassMaterial, } from '../components/ScreenGlass';
@@ -62,6 +66,9 @@ export { useFrameCapture } from '../hooks/useFrameCapture';
62
66
  export type { CaptureStatus, FrameCaptureEvents, UseFrameCaptureOptions, } from '../hooks/useFrameCapture';
63
67
  export { dataURLtoFile } from '../utils/dataURL';
64
68
  export { drawNormalizedCrop, resolveNormalizedCrop } from '../utils/drawNormalizedCrop';
69
+ export { computeFeedCrop, computeFitLayout, feedToScreenPixels, feedToSource, feedToTracker, feedToViewport, feedToWorld, isFeedPointInSource, isMirroredSourceKind, mirrorFeedX, orientSourcePoint, orientedSize, screenPixelsToFeed, sourceToFeed, trackerToFeed, trackerToWorld, viewportToFeed, worldToFeed, worldToTracker, } from '../coordinates';
70
+ export { feedSidedName, otherSide, personLeftSign, personSide, swapSidedName, } from '../coordinates';
71
+ export type { FeedCrop, FeedPoint, FeedSourceKind, FitLayout, PersonSide, PixelSize, SourceOrientation, SourcePoint, ViewportPoint, } from '../coordinates';
65
72
  export type { CropOutputSize, DrawNormalizedCropOptions, NormalizedCropBounds, } from '../utils/drawNormalizedCrop';
66
73
  export { AudioEngine, AudioPlayer, audio, prefetchMusic, registerSound, startMusic, stopMusic, playOneShot, setMuted, toggleMuted, isMuted, onMuteChange, useMuted, } from '../audio';
67
74
  export type { AudioEngineOptions, AudioPlayerHandle, AudioPlayerProps, AudioPlayMode, } from '../audio';
@@ -69,5 +76,16 @@ export type { PinToMeshOrientation, PinToMeshSettings, PinToMeshVector3, } from
69
76
  export type { LightObjectProps, LightSettings, LightType } from '../components/LightObject';
70
77
  export type { LookAtProps, LookAtSettings } from '../components/LookAt';
71
78
  export { XRMediaSource, XRModel } from '../constants';
79
+ export { XR_FALLBACK_MESSAGES, XR_MODEL_ASSET_URLS, createFallbackReason, detectXRCapabilities, resolveModelAssetUrl, resolveTrackerSupport, useXRCapabilities, } from '../capabilities';
80
+ export type { UseXRCapabilitiesResult, XRCameraCapability, XRCapabilities, XRCapabilityCheckOptions, XRCapabilityCheckStatus, XRCapabilityStatus, XRFallbackCode, XRFallbackReason, XRModelCapability, XRPlacementCapability, XRRenderingCapability, XRTrackerSupport, } from '../capabilities';
81
+ export { CAMERA_PERMISSION_MESSAGES, CameraPermissionGate, canPromptForCamera, queryCameraPermission, requestCameraAccess, subscribeCameraPermission, useCameraPermission, findCameraByFacing, listCameras, } from '../camera';
82
+ export type { CameraPermissionGateProps, UseCameraPermissionOptions, UseCameraPermissionResult, XRCameraAccessOptions, XRCameraAccessResult, XRCameraDevice, XRCameraPermissionQuery, XRCameraPermissionState, } from '../camera';
83
+ export { DEFAULT_PERFORMANCE_BUDGET, DEFAULT_QUALITY_TIERS, XRQualityController, resolveQualityConfig, useXRQuality, } from '../quality';
84
+ export type { UseXRQualityResult, XRPerformanceBudget, XRQualityConfig, XRQualityConfigInput, XRQualityControllerProps, XRQualityDecision, XRQualityReason, XRQualitySignals, XRQualityState, XRQualityTier, } from '../quality';
85
+ export { DEFAULT_ASSET_BUDGET_BYTES, XRAssetCache, XRAssetCacheProvider, createAssetCache, defineGltfAsset, defineTextureAsset, defineVideoAsset, disposeObject3D, estimateGeometryBytes, estimateObjectBytes, estimateTextureBytes, getDefaultAssetCache, useXRAsset, useXRAssetCache, useXRAssetStats, } from '../assets';
86
+ export type { TextureAssetOptions, UseXRAssetResult, VideoAsset, VideoAssetOptions, XRAssetCacheOptions, XRAssetCacheProviderProps, XRAssetDefinition, XRAssetEntryInfo, XRAssetStats, XRAssetStatus, } from '../assets';
87
+ export { DEFAULT_TRACKING_CONFIG, TRACKER_KINDS, TRACKING_CONFIG_STORAGE_KEY, TRACKING_CONFIG_VERSION, clearTrackingConfig, enabledModels, loadTrackingConfig, mergeTrackingConfig, parseTrackingConfig, resolveTrackingConfig, saveTrackingConfig, serializeTrackingConfig, toCameraRequest, toModelOptions, toProviderProps, toTrackerProps, useXRTrackingConfig, } from '../tracking-config';
88
+ export type { TrackingConfigStorage, UseXRTrackingConfigOptions, UseXRTrackingConfigResult, XRTrackerKind, XRTrackingConfig, XRTrackingConfigInput, XRTrackingConfigParseResult, } from '../tracking-config';
72
89
  export type { XRSession } from '../types';
73
- export type { XRPerfConfig } from '../types/model';
90
+ export type { XRLifecycleConfig, XRPerfConfig } from '../types/model';
91
+ export type { XRCameraFacing, XRCameraRequest, XROrientation } from '../types/compositor';
@@ -1,25 +1,139 @@
1
1
  /**
2
2
  * `@vincentt-xr/sdk/face-effects` — face-filter power-user surface.
3
3
  *
4
- * FaceMesh material configuration, landmark-driven retouch, the canonical
5
- * face mesh, and the head-binding solver + occluders. The bare
4
+ * FaceMesh material configuration, landmark-driven retouch, lip and iris
5
+ * effects, face insets, 2D segmentation overlays, the canonical face mesh, and the
6
+ * head-binding solver + occluders. The bare
6
7
  * `<FaceMesh appearance={{ map }} />` is in `/tracking`; this is its deep
7
8
  * configuration.
8
9
  */
10
+ export { IrisEffect, DEFAULT_IRIS_EFFECT_RENDER_ORDER, DEFAULT_IRIS_EFFECT_SETTINGS, IRIS_EFFECT_EYES, IRIS_EFFECT_MODES, IRIS_EFFECT_SETTINGS_FIELDS, IRIS_IMAGE_FRAGMENT, IRIS_SHADER_FRAGMENT, IRIS_VERTEX_SHADER, createIrisImageMaterial, createIrisShaderMaterial, createIrisUniforms, updateIrisUniforms, patchIrisEffectSettings, resolveIrisEffectSettings, } from '../components/IrisEffect';
11
+ export type { IrisEffectEye, IrisEffectMode, IrisEffectProps, IrisEffectSettings, IrisMaterialContext, IrisMaterialOverride, IrisUniforms, } from '../components/IrisEffect';
9
12
  export { blendModeIndices, DEFAULT_APPEARANCE, DEFAULT_FACE_MESH_RENDERER, DEFAULT_FACE_MESH_TRANSFORM, DEFAULT_MASKING, FACE_MESH_ALPHA_MAPS, FACE_MESH_BLEND_MODES, FACE_MESH_MASK_TEXTURE_SOURCES, FACE_MESH_MATERIAL_TYPES, FACE_MESH_SHADER_PRESETS, FACE_MESH_SIDES, FACE_MESH_TEXTURE_MAPS, materialTypeOptions, shaderPresetOptions, sideOptions, textureMapOptions, alphaMapOptions, blendModeOptions, supportsTexturePanel, supportsBlendMode, } from '../components/FaceMesh';
10
13
  export type { FaceMeshMaterialType, FaceMeshShaderPreset, FaceMeshTextureMap, FaceMeshAlphaMap, FaceMeshMaskTextureSource, FaceMeshSide, FaceMeshBlendMode, FaceMeshAppearance, FaceMeshMasking, } from '../components/FaceMesh';
11
- export { LipEffect, LipEffectMaterial, DEFAULT_LIP_EFFECT } from '../components/LipEffect';
12
- export type { LipEffectMaterialSpec, LipEffectMaterialContext, LipEffectProps, LipMaskMode, } from '../components/LipEffect';
13
- export { CanonicalFaceMeshRenderer, FaceMeshMaterial, FaceMeshRenderer, canonicalFaceAlphaMaskUrl, canonicalFaceTextureStyle2Url, canonicalFaceTextureUrl, CANONICAL_FACE_MESH_GEOMETRY_SPECS, mapFaceMeshRendererProps, mapFaceMeshRendererSettingsToProps, resolveFaceMeshRendererSettings, useCanonicalFaceMesh, parseCanonicalFaceModel, } from '../components/FaceMesh';
14
- export type { CanonicalFaceMeshRendererProps, CanonicalFaceMeshGeometryKey, CanonicalFaceMeshGeometrySpec, FaceMeshMaterialOverride, FaceMeshMaterialOverrideContext, FaceMeshMaterialProps, FaceMeshRendererProps, FaceMeshRendererSettings, ParsedCanonicalMesh, } from '../components/FaceMesh';
15
- export { FACE_WARP_3D_PRESET, DEFAULT_FACE_WARP_3D_SETTINGS } from '../components/FaceWarp3D';
16
- export type { FaceWarp3DSettings } from '../components/FaceWarp3D';
14
+ export { LipEffect, LipEffects, LipEffectMaterial, LIP_EFFECT_VERTEX_SHADER, LIP_EFFECT_FRAGMENT_SHADER, createLipEffectMaterial, lipEffectDesignDecode, updateLipEffectMaterial, useLipEffectMaterial, useLipDesignTextures, resolveLipEffectFaceConfig, DEFAULT_LIP_EFFECT, DEFAULT_LIP_EFFECT_RENDER_ORDER, DEFAULT_LIP_EFFECT_SETTINGS, LIP_EFFECT_COLOR_MODES, LIP_EFFECT_GRADIENT_DIRECTIONS, LIP_EFFECT_PRESETS, LIP_EFFECT_PRESET_KEYS, LIP_EFFECT_SETTINGS_FIELDS, CANONICAL_LIP_UV_BOUNDS, LIP_UV_GUIDE_COLORS, createLipTextureTransform, createLipUvGuideDataUrl, createLipUvGuidePngBlob, createLipUvGuideSvg, getLipUvBounds, isLipEffectPresetKey, lipUvToPixel, patchLipEffectSettings, resolveLipEffectSettings, } from '../components/LipEffect';
15
+ export type { LipEffectFaceConfig, LipEffectsProps, LipEffectMaterialInputs, LipEffectMaterialResult, LipEffectMaterialProps, LipEffectMaterialSpec, LipEffectColorMode, LipEffectGradientDirection, LipEffectMaterialContext, LipEffectPreset, LipEffectPresetKey, LipEffectProps, LipEffectSettings, LipMaskMode, LipUvBounds, LipUvGuideOptions, } from '../components/LipEffect';
16
+ export { FACE_ATLAS_ANCHORS, FACE_ATLAS_GUIDE_COLORS, FACE_ATLAS_MIRROR, FACE_ATLAS_POLYLINES, FACE_ATLAS_POLYLINE_NAMES, FACE_ATLAS_REGIONS, FACE_ATLAS_SOURCE, FACE_ATLAS_TRIANGLES, FACE_ATLAS_UVS, createFaceAtlasGuideDataUrl, createFaceAtlasGuidePngBlob, createFaceAtlasGuideSvg, createFaceAtlasMask, createFaceAtlasMaskTexture, createFaceAtlasPolylineGlsl, faceAtlasAnchorPosition, faceAtlasMaskToRgba, faceAtlasUvToPixel, getFaceAtlasAttributes, getFaceAtlasRegionBounds, getFaceAtlasRegionIndices, getFaceAtlasRegionTriangles, mirrorFaceAtlasPolyline, mirrorFaceAtlasUv, } from '../face-atlas';
17
+ export type { FaceAtlasAnchorName, FaceAtlasAttributes, FaceAtlasGuideOptions, FaceAtlasMask, FaceAtlasMaskOptions, FaceAtlasMaskTextureOptions, FaceAtlasPolyline, FaceAtlasPolylineName, FaceAtlasRegion, FaceAtlasRegionSelection, FaceAtlasUvBounds, } from '../face-atlas';
18
+ export { FACE_ATLAS_STENCIL, FACE_RETOUCH_RENDER_ORDER, FaceAtlasLayer, MAKEUP_BLENDING, MAKEUP_RENDER_ORDER, useFaceAtlasSurface, } from '../components/FaceAtlas';
19
+ export type { FaceAtlasLayerProps, FaceAtlasMaterialContext, FaceAtlasMaterialResult, FaceAtlasMaterialSpec, FaceAtlasSurfaceHandle, UseFaceAtlasSurfaceOptions, } from '../components/FaceAtlas';
20
+ export type { FaceAtlasSurface, FaceAtlasSurfaceInput, FaceAtlasSurfaceTracking, FaceAtlasTriangleSelection, } from '../face-atlas';
21
+ export type { FaceAtlasUniforms } from '../face-atlas/registry';
22
+ export { useFaceSkin } from '../components/FaceAtlas/useFaceSkin';
23
+ export type { FaceSkinReference, FaceSkinUniforms, UseFaceSkinOptions, } from '../components/FaceAtlas/useFaceSkin';
24
+ export { FaceSkinProbe } from '../face-atlas/probe/FaceSkinProbe';
25
+ export type { FaceSkinProbeOptions, FaceSkinProbeRenderOptions, FaceSkinProbeResult, } from '../face-atlas/probe/FaceSkinProbe';
26
+ export { FACE_SKIN_PROBE, FACE_SKIN_PROBE_TIERS, FACE_SKIN_QUALITIES, } from '../face-atlas/probe/constants';
27
+ export type { FaceSkinProbeTier, FaceSkinQuality } from '../face-atlas/probe/constants';
28
+ export { FACE_SKIN_STATS, readFaceSkinStats } from '../face-atlas/probe/stats';
29
+ export type { FaceSkinStats } from '../face-atlas/probe/stats';
30
+ export { FACE_SKIN_STATS_GLSL } from '../face-atlas/probe/glsl';
31
+ export type { FaceSkinProbeFormat, FaceSkinStatsFormat } from '../face-atlas/probe/targets';
32
+ export { DEFAULT_MAKEUP_SETTINGS, MAKEUP_AUTO_SHADE_REGIONS, MAKEUP_FINISHES, MAKEUP_FINISH_DEFAULTS, MAKEUP_LOOKS, MAKEUP_LOOK_NAMES, MAKEUP_REGIONS, MAKEUP_SETTINGS_FIELDS, MAKEUP_SHADES, MAKEUP_SHADE_NAMES, MAKEUP_SHAPES, MAKEUP_SHAPE_NAMES, MAKEUP_SIDES, isMakeupLookName, isMakeupShadeName, isMakeupShape, patchMakeupSettings, resolveMakeupLook, resolveMakeupSettings, resolveMakeupShade, supportsAutoMakeupShade, } from '../components/Makeup';
33
+ export type { BlushSettings, BrowsSettings, ContourSettings, EyelinerSettings, EyeshadowSettings, HighlighterSettings, MakeupAutoShadeRegion, MakeupFaceRegion, MakeupFinish, MakeupFinishDefaults, MakeupLook, MakeupLookName, MakeupRegion, MakeupRegionSettings, MakeupSettings, MakeupSettingsInput, MakeupShadeName, MakeupShadeSetting, MakeupShape, MakeupSide, } from '../components/Makeup';
34
+ export { Blush, Brows, Contour, Eyeliner, Eyeshadow, Highlighter, createMakeupMaterial, updateMakeupMaterial, } from '../components/Makeup';
35
+ export type { BlushProps, BrowsProps, ContourProps, EyelinerProps, EyeshadowProps, HighlighterProps, MakeupMaterial, MakeupMaterialContext, MakeupMaterialInputs, MakeupMaterialRegion, MakeupMaterialSettings, MakeupMaterialSpec, MakeupRegionProps, MakeupUniforms, } from '../components/Makeup';
36
+ export { MAKEUP_GLSL } from '../face-atlas/glsl';
37
+ export { DEFAULT_MAKEUP_DESIGN_SETTINGS, MAKEUP_DESIGN_SETTINGS_FIELDS, MakeupDesign, patchMakeupDesignSettings, resolveMakeupDesignSettings, setMakeupDesignTexture, } from '../components/Makeup';
38
+ export type { MakeupDesignProps, MakeupDesignSettings, MakeupDesignTexture, } from '../components/Makeup';
39
+ export { MAKEUP_SKIN_DEPTHS, MAKEUP_SKIN_READY, MAKEUP_SKIN_TONE, MAKEUP_UNDERTONES, classifyMakeupSkinDepth, classifyMakeupUndertone, computeMakeupSkinTone, nearestMakeupShades, useMakeupSkinTone, } from '../components/Makeup';
40
+ export type { ComputeMakeupSkinToneOptions, MakeupShadeRecommendations, MakeupSkinDepth, MakeupSkinTone, MakeupSkinToneInput, MakeupUndertone, UseMakeupSkinToneOptions, } from '../components/Makeup';
41
+ export { MadeUpCamera, useMadeUpCamera, useMadeUpCameraTexture } from '../components/FaceAtlas';
42
+ export type { MadeUpCameraHandle, MadeUpCameraProps, UseMadeUpCameraOptions, } from '../components/FaceAtlas';
43
+ export { MADE_UP_CAMERA_LAYER, feedTextureVersion } from '../face-atlas/madeUpCamera';
44
+ export { CanonicalFaceMeshRenderer, FaceMeshMaterial, FaceMeshRenderer, canonicalFaceAlphaMaskUrl, canonicalFaceTextureStyle2Url, canonicalFaceTextureUrl, CANONICAL_FACE_MESH_GEOMETRY_SPECS, resolveFaceMeshEyeVisibility, mapFaceMeshRendererProps, mapFaceMeshRendererSettingsToProps, resolveFaceMeshRendererSettings, useCanonicalFaceMesh, parseCanonicalFaceModel, } from '../components/FaceMesh';
45
+ export type { CanonicalFaceMeshRendererProps, CanonicalFaceMeshGeometryKey, CanonicalFaceMeshGeometrySpec, FaceMeshEyeVisibility, FaceMeshMaterialOverride, FaceMeshMaterialOverrideContext, FaceMeshMaterialOverrideResult, FaceMeshMaterialProps, FaceMeshRendererProps, FaceMeshRendererSettings, ParsedCanonicalMesh, } from '../components/FaceMesh';
46
+ export { FACE_INSET_BOXES, FACE_INSET_HOLD_MS, FACE_INSET_PARTS, FACE_INSET_PLACEMENTS, FACE_INSET_RENDER_ORDER, FaceInset, createFaceInsetFrame, faceInsetAspect, useFaceInsetTexture, writeFaceInsetFrame, } from '../components/FaceInset';
47
+ export type { FaceInsetEllipse, FaceInsetFrame, FaceInsetFrameOptions, FaceInsetPart, FaceInsetPlacement, FaceInsetProps, FaceInsetTextureOptions, } from '../components/FaceInset';
48
+ export { FACE_LIQUIFY_DEFAULT_SMOOTHING, FACE_LIQUIFY_FACE_HEIGHT, FACE_LIQUIFY_FADE, FACE_LIQUIFY_FAR_SIDE, FACE_LIQUIFY_FRAME_PRIORITY, FACE_LIQUIFY_KINDS, FACE_LIQUIFY_KIND_CODE, FACE_LIQUIFY_KIND_LIMITS, FACE_LIQUIFY_MAX_FACES, FACE_LIQUIFY_MAX_OPS, FACE_LIQUIFY_MAX_WEIGHT, FACE_LIQUIFY_OP_FLOATS, FACE_LIQUIFY_POINTS, FACE_LIQUIFY_PRESETS, FACE_LIQUIFY_PRESET_NAMES, FACE_LIQUIFY_RENDER_ORDER, FACE_LIQUIFY_WEIGHT_EXPONENT, FaceLiquify, applyFaceLiquifyOp, createFaceLiquifyFrame, createFaceLiquifyPresence, faceLiquifySideVisibility, faceLiquifyWarpSide, resetFaceLiquifyPresence, stepFaceLiquifyPresence, faceLiquifyAmount, faceLiquifyBounds, faceLiquifyFalloff, faceLiquifyLandmarkPoint, resolveFaceLiquifyWarps, sampleFaceLiquify, writeFaceLiquifyFrame, writeFaceLiquifyOps, } from '../components/FaceLiquify';
49
+ export type { FaceLiquifyBounds, FaceLiquifyCustomWarps, FaceLiquifyFrame, FaceLiquifyKind, FaceLiquifyPoint2, FaceLiquifyPointName, FaceLiquifyPresence, FaceLiquifyPresetName, FaceLiquifyProps, FaceLiquifyResolution, FaceLiquifyResolvedWarp, FaceLiquifySide, FaceLiquifyWarp, FaceLiquifyWeights, } from '../components/FaceLiquify';
50
+ export { FACELESS_FRAME_PRIORITY, FACELESS_MAX_FACES, Faceless, useFacelessTexture, } from '../components/Faceless';
51
+ export type { FacelessProps, UseFacelessTextureOptions } from '../components/Faceless';
52
+ export { FACELESS_DEFAULTS, FACELESS_FRAGMENT, FACELESS_REGIONS, FACELESS_STYLES, FacelessTexture, createFacelessMask, createFacelessStretchMask, } from '../face-character/faceless';
53
+ export type { FacelessStyle, FacelessTextureOptions } from '../face-character/faceless';
54
+ export { FaceWarp3D } from '../components/FaceWarp3D';
55
+ export { readLiveNumber, readLiveRecord } from '../face-character/liveValue';
56
+ export { createCanonicalFaceGeometry } from '../face-character/canonicalFaceGeometry';
57
+ export { alignFaceFeatures, canonicalFaceFeatures, createFeatureWarp, } from '../face-character/featureWarp';
58
+ export type { FaceFeatureAlignment } from '../face-character/featureWarp';
59
+ export type { LiveValue } from '../face-character/liveValue';
60
+ export type { FaceWarp3DProps } from '../components/FaceWarp3D';
61
+ export { FACE_WARP_MAX_KEYS, bindFaceWarpDeformation, createFaceWarpGpuData, createFaceWarpMesh, stepFaceWarp3D, writeFaceWarpLiveTexels, } from '../face-character/faceWarp3D';
62
+ export type { FaceWarpGpuData, FaceWarpDeformation, FaceWarpMesh, FaceWarpStepOptions, } from '../face-character/faceWarp3D';
17
63
  export { FACE_RETOUCH_DEFAULT_CONTROLS, FACE_RETOUCH_SETTINGS_FIELDS, FaceRetouch, patchFaceRetouchControls, resolveFaceRetouchControls, } from '../components/FaceRetouch';
18
64
  export type { FaceRetouchControls, FaceRetouchProps } from '../components/FaceRetouch';
19
65
  export { HeadBinding } from '../components/HeadBinding';
20
66
  export type { HeadBindingOccluderOptions, HeadBindingProps } from '../components/HeadBinding';
21
67
  export { HeadBindingOccluder } from '../components/HeadBindingOccluder';
22
- export { HEAD_OCCLUDER_DEFAULT_OPACITY, HEAD_OCCLUDER_DEFAULT_POSITION, HEAD_OCCLUDER_DEFAULT_SCALE, HeadOccluder, } from '../components/HeadOccluder';
68
+ export { HEAD_OCCLUDER_DEFAULT_OPACITY, HEAD_OCCLUDER_DEFAULT_POSITION, HEAD_OCCLUDER_DEFAULT_SCALE, HEAD_OCCLUDER_DEFAULT_SMOOTHING, HEAD_OCCLUDER_RENDER_ORDER, HEAD_OCCLUDER_V2_PATH, HEAD_OCCLUDER_V3_PATH, HeadOccluder, headOccluderUrl, CanonicalHeadFrame, CANONICAL_HEAD_FIT_DEFAULT_SMOOTHING, useCanonicalHeadFit, HeadAttachment, HEAD_ATTACHMENT_POINTS, HEAD_ATTACHMENT_POINT_NAMES, getHeadAttachmentPoint, resolveHeadAttachmentPoint, Earrings, NECK_BUST_TORSO_POSITION, NECK_OCCLUDER_BUST_PATH, NECK_OCCLUDER_FOLLOWS, NECK_OCCLUDER_SHOULDER_TURN, NECK_OCCLUDER_TYPES, NeckOccluder, neckBoneTwist, neckOccluderUrl, } from '../components/HeadOccluder';
69
+ export type { HeadOccluderFit, HeadOccluderOffset, HeadOccluderProps, CanonicalHeadFrameProps, CanonicalHeadFitOptions, CanonicalHeadOffset, HeadAttachmentPoint, HeadAttachmentProps, ResolvedHeadAttachmentPoint, EarringsProps, EarringSide, NeckOccluderFollow, NeckOccluderOptions, NeckOccluderProps, NeckOccluderType, } from '../components/HeadOccluder';
70
+ export { SpringSwing } from '../components/SpringSwing';
71
+ export type { SpringSwingProps } from '../components/SpringSwing';
72
+ export { SPRING_DEFAULTS, SPRING_MAX_FRAME, SPRING_MAX_JUMP, SPRING_MAX_SUBSTEP, SPRING_SETTINGS_RANGES, SPRING_SWING_LENGTH, SpringChain, SpringJoint, SpringSwingDriver, insertSwingPivots, resolveSpringSettings, } from '../spring';
73
+ export type { SpringSettings, SpringSwingOptions, SwingPivot } from '../spring';
74
+ export { NECKLACE_SWING_DEFAULTS, NECKLACE_SWING_NODES, Necklace } from '../components/Necklace';
75
+ export type { NecklaceProps } from '../components/Necklace';
76
+ export { HAIR_LOCK_DEFAULTS, HAIR_LOCK_SPRING, HairLock, createLockGeometry, writeLock, } from '../components/HairLock';
77
+ export type { HairLockProps } from '../components/HairLock';
78
+ export { ExternalFaceMesh, FACE_HEAD_WIDTH_RATIO, faceHeadWidth, FaceExpressionController, FaceRig, FaceRigContext, useExpressionValues, PinToFaceMesh, FacePiercing, FaceSurfaceOccluder, ExternalFaceMeshContext, FaceMorph, FaceReprojection, useExternalFaceMesh, useFaceRig, } from '../components/FaceCharacter';
79
+ export type { ExternalFaceMeshBinding, ExternalFaceMeshPart, ExternalFaceMeshProps, FaceExpressionControllerProps, FaceExpressionControllerRule, ExpressionOutputs, FaceRigProps, UseExpressionValuesResult, PinToFaceMeshProps, FacePiercingProps, FaceSurfaceOccluderProps, } from '../components/FaceCharacter';
80
+ export { createExpressionOutputs } from '../face-character/expressionOutputs';
81
+ export type { ExpressionOutputRule } from '../face-character/expressionOutputs';
82
+ export { compileExpressionInput, createExpressionState, expressionFrame, resetExpressions, shapeExpressionValue, stepExpressions, } from '../face-character/faceExpressions';
83
+ export type { ExpressionFrame, ExpressionInput, ExpressionRule, ExpressionShape, ExpressionState, ExpressionValue, } from '../face-character/faceExpressions';
84
+ export { FACE_PIN_PATCH_RADIUS, FACE_PIN_TARGETS, bindFacePin, facePinAnchorForFeed, projectFacePinOnto, stepFacePin, } from '../face-character/facePin';
85
+ export type { FacePinAnchor, FacePinBinding, FacePinOrient, FacePinSurface, } from '../face-character/facePin';
86
+ export { FACE_PIERCINGS, FACE_PIERCING_KINDS, FACE_PIERCING_NAMES, mirrorFacePiercingOffset, mirrorFacePiercingPlacement, resolveFacePiercing, } from '../face-character/facePiercings';
87
+ export type { FacePiercingKind, FacePiercingName, FacePiercingNudge, FacePiercingOffset, FacePiercingPlacement, FacePiercingPreset, ResolvedFacePiercing, } from '../face-character/facePiercings';
88
+ export { CANONICAL_FACE_LANDMARK_COUNT, CANONICAL_FACE_POSITIONS, CANONICAL_FACE_TRIANGLES, CANONICAL_FACE_UVS, } from '../face-character/canonicalFace';
89
+ export { FACE_RESIDUAL_LENGTH, bindFaceMesh, deformFaceMesh, sampleResidual, } from '../face-character/faceMeshBinding';
90
+ export type { FaceMeshBinding, FaceMeshBindingMode, FaceMeshBindingOptions, } from '../face-character/faceMeshBinding';
91
+ export { FACE_AUTO_ALIGN_MAX, FACE_HEAD_FIT_RAMP, autoFaceModelAlignment, bindFaceModel, measureFaceModelEarWidth, } from '../face-character/bindFaceModel';
92
+ export type { BindFaceModelOptions, BoundFaceMesh, FaceModelAlignment, FaceMorphTarget, } from '../face-character/bindFaceModel';
93
+ export { driveFaceModel, planFaceDrive } from '../face-character/driveFaceModel';
94
+ export type { DriveFaceModelOptions, FaceDriveMode, FaceDrivePlan, } from '../face-character/driveFaceModel';
95
+ export { FACE_GAZE_CHANNELS, FACE_MORPH_NAMES, FACE_REGION_MASKS, faceMorphChannel, faceMorphRegion, } from '../face-character/faceMorphs';
96
+ export type { FaceMorphName, FaceMorphRegion } from '../face-character/faceMorphs';
97
+ export { FACE_MORPH_COUNT, FACE_RIG_FAST_MOVE_CM, FACE_RIG_FAST_TURN_DEG, createFaceRigState, recalibrateFaceRig, stepFaceRig, } from '../face-character/faceRig';
98
+ export type { FaceRigOptions, FaceRigState, FaceRigTracking } from '../face-character/faceRig';
99
+ export type { FaceMorphProps, FaceReprojectionProps } from '../components/FaceCharacter';
100
+ export { FACE_SURFACE_RENDER_ORDER, faceSurfaceBlending, markFaceSurface, useFaceSurface, } from '../components/FaceCharacter';
101
+ export type { FaceSurfaceState } from '../components/FaceCharacter';
102
+ export { createFaceMorphLive, createFaceMorphShape, stepFaceMorph, subdivideFaceUnwrap, writeFaceMorphLive, } from '../face-character/faceMorph';
103
+ export type { SubdividedFace, FaceMorphShape, FaceMorphShapeName, FaceMorphStepOptions, } from '../face-character/faceMorph';
104
+ export { FACE_REPROJECTION_FILL_REACH, bindFaceReprojection, createClosestPointSearch, createFaceReprojectionUniforms, faceReprojectionRegionEllipses, faceUnwrapTexelsPerCm, faceReprojectionRegionMask, getFaceUnwrapMesh, getFaceUnwrapUvs, patchFaceReprojectionMaterial, writeFaceFacing, writeFaceReprojectionLayoutUv, writeFaceUnwrapFrame, } from '../face-character/faceReprojection';
105
+ export type { ClosestPoint, FaceImageLandmark, FaceOpening, FaceReprojectionBinding, FaceReprojectionBindingOptions, FaceReprojectionRegion, FaceReprojectionShading, FaceReprojectionUniforms, FaceUnwrapFrameOptions, FaceUnwrapMesh, } from '../face-character/faceReprojection';
106
+ export { FaceReprojector } from '../face-character/faceReprojector';
107
+ export type { FaceReprojectionTarget, FaceReprojectorOptions, } from '../face-character/faceReprojector';
108
+ export { DEFAULT_FACE_MIRROR_SETTINGS, DEFAULT_FACE_SWAP_SETTINGS, FACE_MIRROR_SETTINGS_FIELDS, FACE_MIRROR_VARIANTS, FACE_MIRROR_VARIANT_LABELS, FACE_SWAP_EACH_OTHER, FACE_SWAP_PAINTED_FEATURE_SOFTNESS, FACE_SWAP_PRESETS, FACE_SWAP_PRESET_KEYS, FACE_SWAP_SETTINGS_FIELDS, FACE_SWAP_SETTINGS_RANGES, FACE_SWAP_SOURCE_KINDS, FaceMirror, FaceSwap, FaceTextureLayer, defaultFaceSwapPreset, faceMirrorTransferSettings, isFaceMirrorVariant, isFaceSwapPresetKey, patchFaceMirrorSettings, patchFaceSwapSettings, resolveFaceMirrorSettings, resolveFaceSwapSettings, useFaceTexture, useLiveFaceTexture, } from '../components/FaceSwap';
109
+ export type { FaceMirrorProps, FaceMirrorSettings, FaceMirrorVariant, FaceSwapPreset, FaceSwapPresetKey, FaceSwapProps, FaceSwapSettings, FaceSwapSource, FaceSwapSourceKind, FaceSwapSourceLike, FaceSwapSourceStatus, FaceSwapStatus, FaceTextureLayerProps, FaceTextureStatus, ResolveFaceSwapSettingsOptions, UseFaceTextureOptions, UseFaceTextureResult, UseLiveFaceTextureOptions, } from '../components/FaceSwap';
110
+ export { FACE_UNWRAP_MIRROR, mirrorFaceLandmarks, resolveFaceSourceMirror, } from '../face-character/faceTexture';
111
+ export type { FaceTexture, FaceTextureKind, FaceTextureSource, FaceTextureStatistics, } from '../face-character/faceTexture';
112
+ export { FACE_TEXTURE_LAYOUTS, FACE_TRANSFER_FRAGMENT_SHADER, FACE_TRANSFER_VERTEX_SHADER, FaceTransfer, faceTransferGain, } from '../face-character/faceTransfer';
113
+ export type { FaceStatsSample, FaceTextureLayout, FaceTransferGainSettings, FaceTransferGainStats, FaceTransferOptions, FaceTransferSettings, FaceTransferUnseen, } from '../face-character/faceTransfer';
114
+ export { FACE_SWAP_QUALITIES } from '../face-character/liveFaceRegistry';
115
+ export type { FaceSwapQuality } from '../face-character/liveFaceRegistry';
116
+ export { FACE_TEXTURE_RESOLUTIONS, createFaceTexture } from '../face-character/faceTextureBaker';
117
+ export type { BakedFaceTexture, CreateFaceTextureOptions, FaceTextureResolution, } from '../face-character/faceTextureBaker';
118
+ export { detectFaceImage, disposeFaceImageLandmarker } from '../face-character/faceImageLandmarker';
119
+ export type { FaceImageSource } from '../face-character/faceImageLandmarker';
120
+ export { FACE_PHOTO_WARNINGS } from '../face-character/facePhoto';
121
+ export type { FaceImageBox, FaceImageDetection, FacePhotoPick, FacePhotoWarning, FaceTextureError, FaceTextureErrorCode, } from '../face-character/facePhoto';
122
+ export { FACE_TEXTURE_GUIDE_COLORS, createFaceTextureGuideDataUrl, createFaceTextureGuidePngBlob, createFaceTextureGuideSvg, createFaceTextureSideTestSvg, } from '../face-character/faceTextureGuide';
123
+ export type { FaceTextureGuideOptions, FaceTextureSideTestOptions, } from '../face-character/faceTextureGuide';
124
+ export { LANDMARK_POSE_FIT_DEFAULT_SMOOTHING, LANDMARK_POSE_FIT_SNAP_CM, stepLandmarkPoseSmoothing, useLandmarkPoseFit, } from '../components/HeadOccluder/useLandmarkPoseFit';
125
+ export type { CanonicalOffset, LandmarkPoseFit, LandmarkPoseFitOptions, LandmarkPoseSmoothingState, } from '../components/HeadOccluder/useLandmarkPoseFit';
126
+ export { CANONICAL_HEAD_ANCHOR, CANONICAL_RIGID_INDICES, CANONICAL_RIGID_POINTS, solveCanonicalHeadPose, } from '../utils/headOccluderFit';
127
+ export type { HeadPoseFit } from '../utils/headOccluderFit';
128
+ export { CANONICAL_RIGID_LANDMARKS } from '../utils/canonicalRigidLandmarks';
129
+ export { solveSimilarity } from '../utils/similarityFit';
130
+ export type { SimilarityFit } from '../utils/similarityFit';
23
131
  export { computeAdaptiveVerticalFit, computeHeadBindingCubePose, computeHeadBindingDebugMetrics, computeHeadBindingShape, computeUniversalHeadDepthOffset, computeUniversalOccluderScale, computeUniversalPitchOffsetY, computeUniversalYawOffsetX, solveHeadBinding, } from '../utils/headBinding';
24
132
  export type { HeadBindingAdaptiveValues, HeadBindingCubeModel, HeadBindingCubePose, HeadBindingDebugMetrics, HeadBindingSolveResult, HeadBindingShape, } from '../types/headBinding';
25
133
  export type { FaceLandmark2D, BoundingBox, FaceRawTrackingData, FaceBounds, FaceTrackingResult, } from '../types/face';
134
+ export { SegmentationOverlay, useFaceRegionMask, useHairMask, usePersonMask, useSemanticSegmentationMask, PERSON_MASK_LABELS, DEFAULT_SEGMENTATION_OVERLAY_SETTINGS, SEGMENTATION_OVERLAY_BLEND_MODES, SEGMENTATION_OVERLAY_SETTINGS_FIELDS, parseOverlayLabels, patchSegmentationOverlaySettings, resolveSegmentationOverlaySettings, } from '../components/SegmentationOverlay';
135
+ export type { SegmentationOverlayBlendMode, SegmentationOverlayMaterialContext, SegmentationOverlayMaterialSpec, SegmentationOverlayProps, SegmentationOverlaySettings, SemanticSegmentationMaskResult, UseFaceRegionMaskOptions, UsePersonMaskOptions, UseSemanticSegmentationMaskOptions, } from '../components/SegmentationOverlay';
136
+ export { SEMANTIC_SEGMENTATION_PRESETS } from '../types/segmentation';
137
+ export type { SemanticSegmentationModelOptions, SemanticSegmentationPreset, SemanticSegmentationStatus, } from '../types/segmentation';
138
+ export { FaceTrackMemory, SEMANTIC_MASK_LABELS, FACE_REGION_LABELS, clearSemanticMask, createSemanticMask, } from '../segmentation2d';
139
+ export type { FaceRegionLabel, FaceTrackMemoryOptions, MaskPoint, SemanticMask, SemanticMaskLabel, SemanticMaskSpace, TrackPoint, } from '../segmentation2d';
@@ -0,0 +1,48 @@
1
+ /**
2
+ * `@vincentt-xr/sdk/instructions` — prompts that ask the person for a hand
3
+ * gesture, a face expression or a body pose, show a 3D hint, and complete when
4
+ * it is held.
5
+ *
6
+ * Four layers, each usable on its own:
7
+ * - **Presets** — `HandInstruction`, `FaceInstruction`, `BodyInstruction`.
8
+ * - **Layout** — `Instruction` (any detector + any symbol), its text / motion /
9
+ * layout options.
10
+ * - **Detection** — `useHandGesture`, `useFaceExpression`, `useBodyPose`,
11
+ * `useInstructionHold` (any condition); the vocabularies, `define*` helpers,
12
+ * pure classifiers and their thresholds.
13
+ * - **Hints** — `HandGestureHint`, `FaceExpressionHint`, `BodyPoseHint`, and
14
+ * the kit to build your own: `useGhostModel`, `HintStage`, `sampleHintLoop`,
15
+ * `createClipBlend`, `createMorphBlend`, the ghost materials.
16
+ */
17
+ export { Instruction } from '../components/Instruction';
18
+ export type { InstructionProps } from '../components/Instruction';
19
+ export { INSTRUCTION_RENDER_ORDER, INSTRUCTION_TEXT_STYLE, } from '../components/Instruction/InstructionCue';
20
+ export type { InstructionLayout, InstructionMotion, InstructionOptions, InstructionPlacement, InstructionSize, InstructionStatus, InstructionTextSlot, InstructionTextStyle, } from '../components/Instruction/InstructionCue';
21
+ export { useInstructionHold } from '../components/Instruction/useInstructionHold';
22
+ export type { InstructionDetector, InstructionHoldOptions, UseInstructionHoldOptions, } from '../components/Instruction/useInstructionHold';
23
+ export { GESTURE_HOLD_DEFAULT_MS, GESTURE_HOLD_GRACE_MS, createGestureHoldState, stepGestureHold, } from '../components/Instruction/gestureHold';
24
+ export type { GestureHoldState, GestureHoldStatus } from '../components/Instruction/gestureHold';
25
+ export { HAND_HINT_LOOK, HAND_HINT_LOOP, HAND_INSTRUCTION_NUDGE_TEXT, HAND_INSTRUCTION_RENDER_ORDER, HandGestureHint, HandInstruction, useHandGesture, } from '../components/HandInstruction';
26
+ export type { HandGestureHintProps, HandHintLoop, HandInstructionProps, HandInstructionSize, HandInstructionStatus, UseHandGestureOptions, UseHandGestureResult, } from '../components/HandInstruction';
27
+ export { HAND_DIGITS, HAND_GESTURES, HAND_GESTURE_NAMES, HAND_SHAPE_LIMITS, analyzeHandShape, applyHandHintPose, defineHandGesture, matchHandGesture, matchingHandGestures, readHandClipPose, resolveHandGesture, } from '../hand/handGestures';
28
+ export type { AnalyzeHandShapeOptions, HandClipPose, HandDigit, HandGestureDefinition, HandGestureMatch, HandGestureName, HandGestureRule, HandGestureSpec, HandHintAmount, HandHintPose, HandShape, HandShapeLimits, } from '../hand/handGestures';
29
+ export { FACE_HINT_LOOK, FACE_HINT_LOOP, FACE_INSTRUCTION_NUDGE_TEXT, FACE_INSTRUCTION_RENDER_ORDER, FaceExpressionHint, FaceInstruction, useFaceExpression, } from '../components/FaceInstruction';
30
+ export type { FaceExpressionHintProps, FaceInstructionProps, UseFaceExpressionOptions, UseFaceExpressionResult, } from '../components/FaceInstruction';
31
+ export { FACE_EXPRESSIONS, FACE_EXPRESSION_NAMES, defineFaceExpression, matchFaceExpression, matchingFaceExpressions, resolveFaceExpression, } from '../face-expression';
32
+ export type { FaceBlendshapes, FaceExpressionDefinition, FaceExpressionHintPose, FaceExpressionMatch, FaceExpressionName, FaceExpressionRule, FaceExpressionSpec, } from '../face-expression';
33
+ export { BODY_HINT_LOOK, BODY_HINT_LOOP, BODY_INSTRUCTION_FULL_NUDGE_TEXT, BODY_INSTRUCTION_NUDGE_TEXT, BODY_INSTRUCTION_RENDER_ORDER, BODY_SYMBOL_ASPECT, BodyInstruction, BodyPoseHint, mixamoBoneSide, mixamoLegBoneSide, useBodyPose, } from '../components/BodyInstruction';
34
+ export type { BodyInstructionProps, BodyPoseHintProps, UseBodyPoseOptions, UseBodyPoseResult, } from '../components/BodyInstruction';
35
+ export { BODY_LANDMARK_COUNT, BODY_LOWER_JOINTS, BODY_POSES, BODY_POSE_JOINTS, BODY_POSE_NAMES, BODY_SHAPE_LIMITS, BODY_UPPER_JOINTS, analyzeBodyShape, defineBodyPose, matchBodyPose, matchingBodyPoses, resolveBodyPose, squareLandmarks, } from '../body-pose';
36
+ export type { AnalyzeBodyShapeOptions, ArmShape, ArmState, BodyPoseDefinition, BodyPoseHintPose, BodyPoseMatch, BodyPoseName, BodyPoseRule, BodyPoseSpec, BodyShape, BodyShapeLimits, BodySide, LegShape, LegState, } from '../body-pose';
37
+ export { useGhostModel } from '../components/Instruction/useGhostModel';
38
+ export type { GhostModel, UseGhostModelOptions } from '../components/Instruction/useGhostModel';
39
+ export { HintStage } from '../components/Instruction/HintStage';
40
+ export type { HintStageProps } from '../components/Instruction/HintStage';
41
+ export { HINT_LOOP_HOLD, sampleHintLoop, sampleHintOrbit, } from '../components/Instruction/hintLoop';
42
+ export type { HintLoop, HintLoopSample } from '../components/Instruction/hintLoop';
43
+ export { createClipBlend, createMorphBlend } from '../components/Instruction/hintBlend';
44
+ export type { HintBlend } from '../components/Instruction/hintBlend';
45
+ export { mergeHintLook } from '../components/Instruction/hintLook';
46
+ export type { HintGlow, HintHalo, HintHighlight, HintLook, ResolvedHintLook, } from '../components/Instruction/hintLook';
47
+ export { GHOST_MAX_BONES, addHintTwins, assignHintMaterials, createDepthPrepassMaterial, createGhostMaterial, createGlowMaterial, createHaloMaterial, createHintMatcap, disposeGlowMaterial, ease, hasVertexColors, orbitSpan, readClipQuaternions, } from '../components/Instruction/ghost';
48
+ export type { GhostOptions, GhostUniforms, HaloOptions, HintMeshSet, } from '../components/Instruction/ghost';
@@ -6,7 +6,7 @@
6
6
  * the editor; app code should not import from here.
7
7
  */
8
8
  export { XRDebugView } from '../components/XRDebugView';
9
- export { DebuggerProvider } from '../components/Debugger/DebuggerProvider';
9
+ export { DebuggerPanel, DebuggerProvider } from '../components/Debugger/DebuggerProvider';
10
10
  export { DebuggerOverlay } from '../components/Debugger';
11
11
  export { useDebugger } from '../hooks/useDebugger';
12
12
  export type { DebuggerMetrics, DebuggerConfig } from '../types/debugger';
@@ -14,3 +14,4 @@ export { logUVBoundsWarningOnce, _resetUVBoundsWarnings } from '../texture/hasFu
14
14
  export { readCalibrationDebugEvents, recordCalibrationDebugEvent } from '../utils/calibrationDebug';
15
15
  export { RENDER_LAYERS } from '../constants/renderLayers';
16
16
  export type { RenderLayer } from '../constants/renderLayers';
17
+ export { FACE_SURFACE_FRAME_PRIORITY, FaceSurfaceContext, createFaceSurfaceState, } from '../components/FaceCharacter/FaceSurface';
@@ -11,11 +11,28 @@ export { useTrackerContext } from '../hooks/useTrackerContext';
11
11
  export type { TrackerContextValue, TrackerLandmarkResolver } from '../hooks/useTrackerContext';
12
12
  export { useXRModel } from '../hooks/useXRModel';
13
13
  export type { UseXRModelResult } from '../hooks/useXRModel';
14
- export type { XRModelNodeSegmentation, XRModelNodeBodyTracking, XRModelNodeHandTracking, XRModelNodeGestureTracking, XRModelNodeFaceTracking, } from '../types/nodes';
15
- export { useXRReady, useXRError, useXRCameraTexture, useXRRenderSize, useXRModelNode, useXRPipelineSnapshot, } from '../hooks/selectors';
16
- export type { XRSessionError } from '../hooks/useXRSession/store';
14
+ export type { XRModelNodeSegmentation, XRModelNodeBodyTracking, XRModelNodeHandTracking, XRModelNodeGestureTracking, XRModelNodeFaceTracking, XRModelNodeHolisticTracking, } from '../types/nodes';
15
+ export { useXRReady, useXRError, useXRLifecycle, useXRModelErrors, useXRTrackerStatus, useXRSessionCameraPermission, useXRCameraFacing, useXRCameraDeviceId, useXRMirrored, useXROrientation, useXRQualityState, useXRQualityConfig, sessionReasonToFallback, useXRCameraTexture, useXRRenderSize, useXRFeedCrop, useXRFeedAspect, useXRModelNode, useXRPipelineSnapshot, } from '../hooks/selectors';
16
+ export type { XRCameraPermission, XRTrackerStatus } from '../hooks/selectors';
17
+ export type { SessionLifecycleState, XRModelError, XRSessionError, } from '../hooks/useXRSession/store';
17
18
  export type { XRErrorReason } from '../hooks/useXRSession/reason';
19
+ export { mapDomExceptionToReason } from '../hooks/useXRSession/reason';
20
+ export { classifyCameraFailure } from '../camera';
21
+ export type { XRCameraFacing, XRCameraRequest, XROrientation, XRSessionSourceKind, } from '../types/compositor';
22
+ export type { ModelRegistryState } from '../hooks/useXRSession/registry';
23
+ export { useXRDiagnostics, sampleXRDiagnostics, XR_MODEL_LABELS } from '../hooks/useXRDiagnostics';
24
+ export type { UseXRDiagnosticsOptions, XRDiagnostics, XRModelDiagnosticsEntry, XRSessionDiagnostics, } from '../hooks/useXRDiagnostics';
25
+ export type { XRModelDiagnostics } from '../models/Base';
26
+ export { mapModelErrorToReason, permissionStateToStatus } from '../capabilities';
27
+ export { COMPAT_SCENARIOS, MANUAL_COMPAT_SCENARIOS, classifyCompatCause, createCompatReport, describeCompatEnvironment, findCompatScenario, parseUserAgent, runCompatChecks, summarizeCompatResults, } from '../compat';
28
+ export type { XRCompatAutomatedScenarioId, XRCompatCause, XRCompatEnvironment, XRCompatManualScenarioId, XRCompatScenarioId, XRCompatReport, XRCompatResult, XRCompatRunOptions, XRCompatScenario, XRCompatStatus, } from '../compat';
29
+ export { EMPTY_QUALITY_SIGNALS, createQualityState, judgeSample, lockQuality, readDeviceSignals, resetQuality, resolveInitialTierIndex, resolvePerformanceBudget, resolveQualityTier, setQualityTier, stepQualityController, tierToApply, } from '../quality';
18
30
  export type { GestureName } from '../hooks/useGestureEdge';
31
+ export { createGestureDetectorState, gestureStatesEqual, snapshotGestureState, stepGestureDetector, HAND_JOINTS, OscillationTracker, POSE_JOINTS, measureArmRaise, measureFingerPattern, measureGrab, measureHandHeight, measureOpenPalm, measurePinch, measureTPose, measureThumb, fingerExtensions, thumbDirection, thumbExtension, } from '../gestures';
32
+ export type { FingerPattern, GestureDetectorState } from '../gestures';
33
+ export { BODY_POSE_TRIGGER_DEFAULTS, TimedSeries, bodyTriggerStatesEqual, createBodyMoveFrame, createBodyTrigger, resolveBodyMoveLimits, resolveBodyTriggerOptions, setBodyTriggerOptions, sideJoint, snapshotBodyTriggerState, stepBodyTrigger, } from '../body-trigger';
34
+ export type { BodyTriggerMachine, CreateBodyMoveFrameOptions } from '../body-trigger';
35
+ export { IRIS_FULL_OPENNESS, IrisLead, computeIrisEye, createIrisEye, createIrisResult, updateIrisResult, } from '../iris';
19
36
  export { useFaceBoundingBox } from '../hooks/useFaceBoundingBox';
20
37
  export { computeLandmarkBounds } from '../utils/landmarkBounds';
21
38
  export { createFaceInfoTarget, getFaceInfo } from '../face-info';
@@ -50,3 +67,32 @@ export type { GifTextureSource } from '../texture/gifTextureSource';
50
67
  export type { AnimatedTextureCapabilities, AnimatedTextureController, AnimatedTextureListener, AnimatedTextureEvent, AnimatedTextureEventListener, AnimatedTextureEventType, AnimatedTexturePlayMode, AnimatedTextureSnapshot, AnimatedTextureState, } from '../texture/animatedTexture';
51
68
  export { TextureSourceLoadError, createTextureSourceResolver, disposeResolvedTextureSource, resolveTextureSource, throwIfAborted, } from '../texture/sourceResolver';
52
69
  export type { ResolvedTextureSource, TextureSourceProvider, TextureSourceResolver, } from '../texture/sourceResolver';
70
+ export { MAX_OVERLAY_LABELS, SEGMENTATION_OVERLAY_FRAGMENT_SHADER, SEGMENTATION_OVERLAY_VERTEX_SHADER, createSegmentationOverlayMaterial, resolveActiveOverlayLabelIndices, resolveOverlayLabelIndices, updateSegmentationOverlayMaterial, useSegmentationOverlayMaterial, createSemanticMaskTexture, uploadSemanticMask, useSemanticMaskTexture, resolveMaskSize, } from '../components/SegmentationOverlay';
71
+ export type { SegmentationOverlayMaterialInputs } from '../components/SegmentationOverlay';
72
+ export { FACE_REGION_POLYGONS, computeMaskUvTransform, fillLandmarkPolygon, fillPolygon, rasterizeFaceRegions, semanticMaskLabelIndex, } from '../segmentation2d';
73
+ export type { MaskUvTransformInput, RasterizeFaceRegionsOptions } from '../segmentation2d';
74
+ export { HAND_RIG_BONES, HAND_RIG_KNUCKLE_SHIFT, HAND_RIG_LENGTH_RANGE, HAND_RIG_PALM_JOINTS, HAND_RIG_SNAP_PALMS, applyHandRigLengths, handAttachmentLocal, applyHandRigSolution, bindHandRig, handRigRootMatrix, handRigSnapDistance, screenChirality, solveHandRig, } from '../hand/handRigSolver';
75
+ export type { HandAttachmentTransform, HandRigBinding, HandRigSolution, } from '../hand/handRigSolver';
76
+ export { HAND_RIG_MODEL_MESH, HandRigContext } from '../components/HandRig';
77
+ export { createHandOccluderMaterial, patchHandOccluderInflate, } from '../components/HandRig/HandOccluder';
78
+ export { HAND_TATTOO_FACING_FADE, handGeometryToRoot, handTattooFrame, handTattooMatrix, handTattooUv, } from '../hand/handTattoo';
79
+ export type { HandTattooFrame, HandTattooLook, HandTattooPlacementOptions, } from '../hand/handTattoo';
80
+ export { createHandTattooMaterial, setHandTattooBlend } from '../components/HandRig/HandTattoo';
81
+ export { wristFrameLocal } from '../hand/wrist';
82
+ export { ARM_MASK_DEFAULTS, armQueryOf, measureArm } from '../hand/armMask';
83
+ export type { ArmMaskSource, ArmMeasure, ArmMeasureOptions, ArmQuery, ArmSection, FeedVec, } from '../hand/armMask';
84
+ export { useArmMask } from '../components/HandRig/useArmMask';
85
+ export { ARM_FIT_DEFAULTS, ArmTracker } from '../hand/armMask';
86
+ export type { ArmFitSettings } from '../hand/armMask';
87
+ export { ellipseWidthOnScreen, fitWristFrame, frameUpOnScreen, screenAngle, worldToFeedUnits, } from '../hand/armFit';
88
+ export type { WristFitTarget } from '../hand/armFit';
89
+ export { HAND_RIG_FOREARM, HandRigWrist, HandRigWristContext, ensureForearmBone, } from '../components/HandRig';
90
+ export type { HandRigArm, HandRigArmMaskOptions } from '../components/HandRig';
91
+ export { WRIST_FILTER_DEFAULTS, WristRotationFilter } from '../hand/wristFilter';
92
+ export type { WristFilterSettings } from '../hand/wristFilter';
93
+ export type { ArmMask, ArmMaskKind } from '../components/HandRig/useArmMask';
94
+ export type { WristFrame } from '../hand/wrist';
95
+ export { TouchWorld, createTouchHand, updatePointerHand, updateTouchHand } from '../hand/handTouch';
96
+ export { HandTouchContext } from '../components/HandTouch';
97
+ export { anatomicalHandedness, assignHandPoses, handWorldLandmarkToJoint } from '../hand/handPose';
98
+ export type { AssignHandPosesOptions, HandDetection } from '../hand/handPose';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `@vincentt-xr/sdk/particles` — GPU particles. `<ParticleEmitter>` emits
3
+ * from wherever it is placed (inside a tracker to follow a face or a hand);
4
+ * each particle's spawn record is written once and the vertex shader works
5
+ * out the rest (stateless on the GPU). The settings, the CPU reference of
6
+ * the shader and the system class are here for custom emitters.
7
+ */
8
+ export { ParticleEmitter } from '../components/ParticleEmitter';
9
+ export type { ParticleEmitterProps } from '../components/ParticleEmitter';
10
+ export { DEFAULT_PARTICLE_SETTINGS, PARTICLE_BLENDINGS, PARTICLE_EMITTER_TARGETS, PARTICLE_EYE_CENTRE, PARTICLE_EYE_FORWARD, PARTICLE_DRAG_SERIES_LIMIT, PARTICLE_FRAGMENT_SHADER, PARTICLE_MAX_COLORS, PARTICLE_MAX_PARTICLES, PARTICLE_MAX_STEP, PARTICLE_PRESETS, PARTICLE_PRESET_KEYS, PARTICLE_RECORD, PARTICLE_RECORD_FLOATS, PARTICLE_SETTINGS_RANGES, PARTICLE_SHAPES, PARTICLE_SPRITES, PARTICLE_STATE_GLSL, PARTICLE_VERTEX_SHADER, ParticleRing, ParticleSpawner, ParticleSystem, applyParticleUniforms, createParticleEmission, createParticleRandom, createParticleRecord, createParticleSample, createParticleStart, createParticleUniforms, isParticlePreset, parseParticleColor, particleAcceleration, particleCapacity, particleColorAt, particleDragAcceleration, particleDragDistance, particleEyePosition, particleOverLife, particlePresetBase, particleTargetSides, particleUnitOf, resolveParticleSettings, sampleParticle, sampleParticleCone, sampleParticleStart, spawnParticles, stepParticleEmission, } from '../particles';
11
+ export type { ParticleBlending, ParticleColor, ParticleEmitterTarget, ParticleEmission, ParticleOverLife, ParticlePreset, ParticleRandom, ParticleRecord, ParticleSample, ParticleSettings, ParticleShape, ParticleSlotRange, ParticleSpawnFrame, ParticleSprite, ParticleStart, ParticleUniforms, ResolvedParticleSettings, } from '../particles';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `@vincentt-xr/sdk/product` — surface-placement ("view in your space") AR
3
+ * for product pages, built on Google's `<model-viewer>` (an optional peer
4
+ * dependency, loaded lazily). This is a separate mode from the SDK's camera
5
+ * session: placement AR hands the camera to WebXR / Scene Viewer / Quick
6
+ * Look; face and body tracking is the session. `useProductAr` manages the
7
+ * handoff when both exist on one page.
8
+ */
9
+ export { DEFAULT_PRODUCT_AR_MODES, ProductDimensions, ProductHotspot, ProductViewer, dimensionLines, formatLength, hotspotAttributes, nextHotspotId, parseHotspots, serializeHotspots, useDimensionLines, useProductDimensions, useProductHotspots, useProductVariants, isModelViewerDefined, loadModelViewer, releaseSessionForAr, supportedProductArModes, useProductAr, } from '../product';
10
+ export type { DimensionLine, ProductDetailsElement, ProductDimensionsData, ProductDimensionsProps, ProductHotspotData, ProductHotspotProps, UseProductHotspotsOptions, UseProductHotspotsResult, Vec3, ProductArMode, ProductArState, ProductArStatus, ProductViewerElement, ProductViewerPlacement, ProductViewerProps, ProductViewerScale, UseProductArOptions, UseProductArResult, } from '../product';
11
+ export type { XRPlacementCapability } from '../capabilities';
@@ -9,19 +9,71 @@
9
9
  export { FaceTracker } from '../components/FaceTracker';
10
10
  export { HandTracker } from '../components/HandTracker';
11
11
  export { GestureTracker } from '../components/GestureTracker';
12
- export { BodyTracker } from '../components/BodyTracker';
12
+ export { BODY_LANDMARK_INDEX, BodyTracker, bodyLandmarkIndex } from '../components/BodyTracker';
13
+ export { HandRig } from '../components/HandRig';
14
+ export type { HandRigProps } from '../components/HandRig';
15
+ export { HandAttachment } from '../components/HandRig/HandAttachment';
16
+ export type { HandAttachmentProps } from '../components/HandRig/HandAttachment';
17
+ export { WristAttachment } from '../components/HandRig/WristAttachment';
18
+ export type { WristAttachmentProps } from '../components/HandRig/WristAttachment';
19
+ export { ForearmOccluder, createForearmGeometry } from '../components/HandRig/ForearmOccluder';
20
+ export type { ForearmOccluderOptions, ForearmOccluderProps, } from '../components/HandRig/ForearmOccluder';
21
+ export { FOREARM_OCCLUDER_FLARE, FOREARM_OCCLUDER_LENGTH, FOREARM_OCCLUDER_OVERLAP, WRIST_DEPTH_OF_WIDTH, WRIST_WIDTH_OF_PALM, wristSizeOf, } from '../hand/wrist';
22
+ export type { WristSize } from '../hand/wrist';
23
+ export { HAND_OCCLUDER_RENDER_ORDER, HandOccluder } from '../components/HandRig/HandOccluder';
24
+ export type { HandOccluderProps } from '../components/HandRig/HandOccluder';
25
+ export { HandTattoo } from '../components/HandRig/HandTattoo';
26
+ export type { HandTattooBlend, HandTattooProps } from '../components/HandRig/HandTattoo';
27
+ export { HAND_TATTOO_DEFAULT_SIZE, HAND_TATTOO_RENDER_ORDER } from '../hand/handTattoo';
28
+ export type { HandTattooPlacement } from '../hand/handTattoo';
29
+ export { HandCutout } from '../components/HandCutout';
30
+ export type { HandCutoutProps } from '../components/HandCutout';
31
+ export { HAND_CUTOUT_TRIANGLES, writeHandCutout } from '../hand/handCutout';
32
+ export type { HandCutoutOptions } from '../hand/handCutout';
33
+ export { HAND_TOUCH_DEPTH, HAND_TOUCH_POINTER_RADIUS, HandTouch, Touchable, useHandTouch, } from '../components/HandTouch';
34
+ export type { HandTouchContextValue, HandTouchProps, TouchableProps, TouchableState, } from '../components/HandTouch';
35
+ export { HAND_TOUCH_DEFAULTS, HAND_TOUCH_TIPS, TOUCH_WORLD_DEFAULTS } from '../hand/handTouch';
36
+ export type { HandTouchPart, HandTouchSettings, HandTouchTip, TouchBody, TouchBodyOptions, TouchEvent, TouchHand, TouchHandId, TouchShape, TouchSphere, TouchWorldSettings, } from '../hand/handTouch';
37
+ export type { HandAttachmentJoint } from '../hand/handRigSolver';
38
+ export { HAND_JOINT_INDEX, HAND_JOINT_NAMES, HAND_POSE_DEFAULT_HOLD_MS } from '../hand/handPose';
39
+ export type { HandJointName, HandPose, HandPoses } from '../hand/handPose';
40
+ export { HAND_RIG_REQUIRED_JOINTS, handPoseToScene } from '../hand/handRigSolver';
41
+ export { CANONICAL_TORSO_FIT_DEFAULT_SMOOTHING, CanonicalTorsoFrame, SHOULDER_OCCLUDER_DEFAULT_OPACITY, SHOULDER_OCCLUDER_V1_PATH, ShoulderOccluder, shoulderOccluderUrl, useCanonicalTorsoFit, } from '../components/ShoulderOccluder';
42
+ export type { CanonicalTorsoFitOptions, CanonicalTorsoFrameProps, ShoulderOccluderProps, } from '../components/ShoulderOccluder';
43
+ export { CANONICAL_SHOULDER_DISTANCE, CANONICAL_TORSO_INDICES, CANONICAL_TORSO_LANDMARKS, CANONICAL_TORSO_POINTS, solveShoulderPose, } from '../utils/shoulderOccluderFit';
44
+ export { HolisticTracker, useHolisticTracking, getHolisticSignals, createHolisticSignals, isHandRaised, isPalmOpen, DEFAULT_HOLISTIC_SIGNAL_THRESHOLDS, DEFAULT_HOLISTIC_TRACKER_SETTINGS, DEFAULT_HOLISTIC_MODEL_URL, DEFAULT_HOLISTIC_HOLD_MS, DEFAULT_HOLISTIC_PREDICT_MS, DEFAULT_HOLISTIC_ANALYSIS_MAX_DIMENSION, HOLISTIC_HANDS_OPTIONS, HOLISTIC_TRACKER_SETTINGS_FIELDS, resolveHolisticTrackerSettings, patchHolisticTrackerSettings, toHolisticTrackerProps, } from '../components/HolisticTracker';
45
+ export type { HolisticHandProps, HolisticSignalThresholds, HolisticSignals, HolisticTrackerProps, HolisticTrackerSettings, HolisticTrackingContextValue, } from '../components/HolisticTracker';
46
+ export type { HolisticFaceResult, HolisticHandResult, HolisticHandSide, HolisticHandsOption, HolisticModelOptions, HolisticPoseResult, HolisticResult, HolisticRuntimeOptions, HolisticTrackingStatus, } from '../types/holistic';
13
47
  export { Segmentation } from '../components/Segmentation';
14
48
  export { FaceMesh } from '../components/FaceMesh';
15
49
  export { DEFAULT_TRACKING_ANCHOR, TrackingAnchor } from '../components/TrackingAnchor';
16
50
  export type { TrackingAnchorSettings } from '../components/TrackingAnchor';
17
51
  export { GestureTrigger } from '../components/GestureTrigger';
18
52
  export type { GestureTriggerProps } from '../components/GestureTrigger';
53
+ export { useGesture } from '../hooks/useGesture';
54
+ export type { UseGestureOptions } from '../hooks/useGesture';
55
+ export { GestureListener } from '../components/GestureListener';
56
+ export type { GestureListenerProps } from '../components/GestureListener';
57
+ export { DEFAULT_GESTURE_DETECTOR_OPTIONS, DEFAULT_GESTURE_SETTINGS, GESTURES, GESTURE_NAMES, GESTURE_SETTINGS_FIELDS, defineGesture, patchGestureSettings, resolveGestureDefinition, resolveGestureDetectorOptions, resolveGestureSettings, } from '../gestures';
58
+ export type { AnyGestureDefinition, BuiltInGestureName, GestureContext, GestureDefinition, GestureDetectorOptions, GestureEndReason, GestureInputOf, GestureKind, GesturePhase, GestureRef, GestureSample, GestureSettings, GestureState, } from '../gestures';
59
+ export { BodyTrigger, useBodyTrigger } from '../components/BodyTrigger';
60
+ export type { BodyTriggerProps, UseBodyTriggerOptions } from '../components/BodyTrigger';
61
+ export { BODY_MOVES, BODY_MOVE_LIMITS, BODY_MOVE_NAMES, BODY_MOVE_VIEW_LIMITS, defineBodyMove, resolveBodyMove, } from '../body-trigger';
62
+ export type { AnyBodyMoveDefinition, BodyMoveContext, BodyMoveDefinition, BodyMoveFrame, BodyMoveJointName, BodyMoveLimits, BodyMoveName, BodyMoveRef, BodyMoveSample, BodyMoveSide, BodyMoveViewLimits, BodyTriggerOptions, BodyTriggerState, BodyTriggerTarget, } from '../body-trigger';
63
+ export { BODY_CALIBRATION_LANDMARKS, CALIBRATION_STORAGE_KEY, CALIBRATION_VERSION, DEFAULT_CALIBRATION, FACE_CALIBRATION_LANDMARKS, applyCalibrationToFeedPoint, clearCalibration, createCalibration, estimateBodyScale, estimateFaceDistance, isIdentityCalibration, loadCalibration, measureBodyCalibration, measureFaceCalibration, resetCalibration, resolveCalibrationMirror, saveCalibration, updateCalibration, useXRCalibration, } from '../calibration';
64
+ export type { CalibrationStorage, UseXRCalibrationOptions, UseXRCalibrationResult, XRBodyCalibration, XRCalibration, XRCalibrationPatch, XRFaceCalibration, } from '../calibration';
65
+ export { DEFAULT_SUBJECT_POLICY, EMPTY_SUBJECT_MEMORY, XR_MAX_SUBJECTS, associateSubjects, faceCandidates, jointCandidates, selectSubject, } from '../subjects';
66
+ export type { XRSubjectAssociation, XRSubjectCandidate, XRSubjectMemory, XRSubjectPolicy, XRSubjectSelection, XRSubjectSelectionResult, } from '../subjects';
19
67
  export { useFaceResults } from '../hooks/useFaceResults';
20
- export { useFaceInfo } from '../hooks/useFaceInfo';
68
+ export { DEFAULT_POLICY_NUM_FACES, useFaceInfo } from '../hooks/useFaceInfo';
21
69
  export type { UseFaceInfoOptions } from '../hooks/useFaceInfo';
22
70
  export { useFaceInfos } from '../hooks/useFaceInfos';
23
71
  export type { UseFaceInfosOptions } from '../hooks/useFaceInfos';
24
72
  export { useFaceDetection } from '../hooks/useFaceDetection';
73
+ export { useIrisTracking } from '../hooks/useIrisTracking';
74
+ export type { IrisTrackingHandle, IrisTrackingStatus, UseIrisTrackingOptions, } from '../hooks/useIrisTracking';
75
+ export { IRIS_LANDMARKS, IRIS_LANDMARK_COUNT } from '../iris';
76
+ export type { IrisEye, IrisPoint, IrisResult, IrisSide } from '../iris';
25
77
  export type { FaceDetectionPhase, FaceDetectionState, UseFaceDetectionOptions, } from '../hooks/useFaceDetection';
26
78
  export { DEFAULT_FACE_EXPRESSION_THRESHOLD, FACE_BLENDSHAPE_NAMES, FACE_LANDMARK_INDICES, drawFaceCrop, getFaceBlendshape, getFaceEyeDistance, hasFaceExpression, } from '../face-info';
27
79
  export type { DrawFaceCropOptions, FaceBlendshapeName, FaceInfo, FaceVector3 } from '../face-info';
@@ -38,3 +90,9 @@ export { normalizedTrackerPointToTrackerPoint, trackerPointToNormalizedTrackerPo
38
90
  export type { NormalizedTrackerPoint, TrackerPoint } from '../types/common';
39
91
  export type { SegmentationType } from '../types/segmentation';
40
92
  export { SEGMENTATION_TYPES } from '../types/segmentation';
93
+ export { SegmentationOverlay, useHairMask, usePersonMask, useSemanticSegmentationMask, PERSON_MASK_LABELS, DEFAULT_SEGMENTATION_OVERLAY_SETTINGS, resolveSegmentationOverlaySettings, patchSegmentationOverlaySettings, } from '../components/SegmentationOverlay';
94
+ export type { SegmentationOverlayBlendMode, SegmentationOverlayProps, SegmentationOverlaySettings, SemanticSegmentationMaskResult, UsePersonMaskOptions, UseSemanticSegmentationMaskOptions, } from '../components/SegmentationOverlay';
95
+ export { SEMANTIC_SEGMENTATION_PRESETS } from '../types/segmentation';
96
+ export type { SemanticSegmentationModelOptions, SemanticSegmentationPreset, SemanticSegmentationStatus, } from '../types/segmentation';
97
+ export { createSemanticMask, clearSemanticMask } from '../segmentation2d';
98
+ export type { SemanticMask, SemanticMaskSpace } from '../segmentation2d';