@vincentt-xr/sdk 2.0.0-alpha.8 → 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 (517) hide show
  1. package/GROUNDING.md +4643 -170
  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/gltfLoader.d.ts +16 -0
  18. package/dist/assets/loaders.d.ts +16 -1
  19. package/dist/body-pose/index.d.ts +521 -0
  20. package/dist/body-trigger/__fixtures__/syntheticBody.d.ts +83 -0
  21. package/dist/body-trigger/frame.d.ts +88 -0
  22. package/dist/body-trigger/index.d.ts +6 -0
  23. package/dist/body-trigger/moves.d.ts +235 -0
  24. package/dist/body-trigger/trigger.d.ts +75 -0
  25. package/dist/calibration/calibration.d.ts +11 -6
  26. package/dist/canonicalFace-BHwyCx1c.js +9 -0
  27. package/dist/canonicalFace-C83I225R.cjs +1 -0
  28. package/dist/components/BodyInstruction/BodyPoseHint.d.ts +63 -0
  29. package/dist/components/BodyInstruction/index.d.ts +69 -0
  30. package/dist/components/BodyInstruction/useBodyPose.d.ts +23 -0
  31. package/dist/components/BodyTracker/index.d.ts +10 -2
  32. package/dist/components/BodyTrigger/index.d.ts +49 -0
  33. package/dist/components/Debugger/DebuggerProvider.d.ts +14 -1
  34. package/dist/components/Debugger/DebuggerUI.d.ts +3 -1
  35. package/dist/components/FaceAtlas/FaceAtlasLayer.d.ts +114 -0
  36. package/dist/components/FaceAtlas/MadeUpCamera.d.ts +80 -0
  37. package/dist/components/FaceAtlas/constants.d.ts +8 -0
  38. package/dist/components/FaceAtlas/index.d.ts +7 -0
  39. package/dist/components/FaceAtlas/useFaceAtlasSurface.d.ts +84 -0
  40. package/dist/components/FaceAtlas/useFaceSkin.d.ts +84 -0
  41. package/dist/components/FaceCharacter/ExternalFaceMesh.d.ts +109 -0
  42. package/dist/components/FaceCharacter/FaceExpressionController.d.ts +53 -0
  43. package/dist/components/FaceCharacter/FaceMorph.d.ts +71 -0
  44. package/dist/components/FaceCharacter/FacePiercing.d.ts +65 -0
  45. package/dist/components/FaceCharacter/FaceReprojection.d.ts +85 -0
  46. package/dist/components/FaceCharacter/FaceRig.d.ts +38 -0
  47. package/dist/components/FaceCharacter/FaceSurface.d.ts +49 -0
  48. package/dist/components/FaceCharacter/FaceSurfaceOccluder.d.ts +39 -0
  49. package/dist/components/FaceCharacter/PinToFaceMesh.d.ts +68 -0
  50. package/dist/components/FaceCharacter/index.d.ts +18 -0
  51. package/dist/components/FaceCharacter/useFaceReprojector.d.ts +10 -0
  52. package/dist/components/FaceInset/FaceInset.d.ts +68 -0
  53. package/dist/components/FaceInset/frame.d.ts +94 -0
  54. package/dist/components/FaceInset/index.d.ts +6 -0
  55. package/dist/components/FaceInset/material.d.ts +40 -0
  56. package/dist/components/FaceInset/useFaceInsetTexture.d.ts +37 -0
  57. package/dist/components/FaceInstruction/FaceExpressionHint.d.ts +43 -0
  58. package/dist/components/FaceInstruction/index.d.ts +56 -0
  59. package/dist/components/FaceInstruction/useFaceExpression.d.ts +20 -0
  60. package/dist/components/FaceLiquify/FaceLiquify.d.ts +49 -0
  61. package/dist/components/FaceLiquify/debug.d.ts +37 -0
  62. package/dist/components/FaceLiquify/frame.d.ts +55 -0
  63. package/dist/components/FaceLiquify/index.d.ts +10 -0
  64. package/dist/components/FaceLiquify/material.d.ts +39 -0
  65. package/dist/components/FaceLiquify/pass.d.ts +49 -0
  66. package/dist/components/FaceLiquify/presence.d.ts +25 -0
  67. package/dist/components/FaceLiquify/presets.d.ts +82 -0
  68. package/dist/components/FaceLiquify/selfTest.d.ts +66 -0
  69. package/dist/components/FaceLiquify/target.d.ts +85 -0
  70. package/dist/components/FaceLiquify/warp.d.ts +72 -0
  71. package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +5 -3
  72. package/dist/components/FaceMesh/canonical/geometryGroups.d.ts +21 -0
  73. package/dist/components/FaceMesh/canonical/parseCanonicalFaceModel.d.ts +9 -0
  74. package/dist/components/FaceMesh/index.d.ts +1 -1
  75. package/dist/components/FaceRetouch/Background.d.ts +3 -1
  76. package/dist/components/FaceRetouch/FaceRetouch.d.ts +5 -0
  77. package/dist/components/FaceRetouch/renderState.d.ts +19 -0
  78. package/dist/components/FaceSwap/FaceMirror.d.ts +46 -0
  79. package/dist/components/FaceSwap/FaceSwap.d.ts +58 -0
  80. package/dist/components/FaceSwap/FaceTextureLayer.d.ts +72 -0
  81. package/dist/components/FaceSwap/faceSwapPlan.d.ts +91 -0
  82. package/dist/components/FaceSwap/index.d.ts +13 -0
  83. package/dist/components/FaceSwap/settings.d.ts +300 -0
  84. package/dist/components/FaceSwap/useFaceTexture.d.ts +35 -0
  85. package/dist/components/FaceSwap/useLiveFace.d.ts +38 -0
  86. package/dist/components/FaceSwap/useLiveFaceTexture.d.ts +31 -0
  87. package/dist/components/FaceWarp3D/FaceWarp3D.d.ts +50 -0
  88. package/dist/components/FaceWarp3D/index.d.ts +2 -3
  89. package/dist/components/Faceless/Faceless.d.ts +51 -0
  90. package/dist/components/Faceless/index.d.ts +2 -0
  91. package/dist/components/HairLock/HairLock.d.ts +39 -0
  92. package/dist/components/HairLock/index.d.ts +2 -0
  93. package/dist/components/HairLock/lockGeometry.d.ts +15 -0
  94. package/dist/components/HandCutout/index.d.ts +35 -0
  95. package/dist/components/HandInstruction/HandGestureHint.d.ts +70 -0
  96. package/dist/components/HandInstruction/index.d.ts +74 -0
  97. package/dist/components/HandInstruction/useHandGesture.d.ts +22 -0
  98. package/dist/components/HandRig/ForearmOccluder.d.ts +29 -0
  99. package/dist/components/HandRig/HandAttachment.d.ts +34 -0
  100. package/dist/components/HandRig/HandOccluder.d.ts +55 -0
  101. package/dist/components/HandRig/HandTattoo.d.ts +61 -0
  102. package/dist/components/HandRig/WristAttachment.d.ts +34 -0
  103. package/dist/components/HandRig/index.d.ts +101 -0
  104. package/dist/components/HandRig/useArmMask.d.ts +29 -0
  105. package/dist/components/HandRig/wristSolve.d.ts +69 -0
  106. package/dist/components/HandTouch/HandTouch.d.ts +62 -0
  107. package/dist/components/HandTouch/Touchable.d.ts +36 -0
  108. package/dist/components/HandTouch/index.d.ts +2 -0
  109. package/dist/components/HeadBinding/index.d.ts +14 -0
  110. package/dist/components/HeadOccluder/CanonicalHeadFrame.d.ts +22 -0
  111. package/dist/components/HeadOccluder/Earrings.d.ts +55 -0
  112. package/dist/components/HeadOccluder/HeadAttachment.d.ts +38 -0
  113. package/dist/components/HeadOccluder/NeckOccluder.d.ts +64 -0
  114. package/dist/components/HeadOccluder/earringPlacement.d.ts +31 -0
  115. package/dist/components/HeadOccluder/headAttachmentPoints.d.ts +69 -0
  116. package/dist/components/HeadOccluder/index.d.ts +57 -3
  117. package/dist/components/HeadOccluder/useCanonicalHeadFit.d.ts +36 -0
  118. package/dist/components/HeadOccluder/useLandmarkPoseFit.d.ts +80 -0
  119. package/dist/components/Instruction/HintStage.d.ts +29 -0
  120. package/dist/components/Instruction/InstructionCue.d.ts +126 -0
  121. package/dist/components/Instruction/gestureHold.d.ts +20 -0
  122. package/dist/components/Instruction/ghost.d.ts +129 -0
  123. package/dist/components/Instruction/hintBlend.d.ts +19 -0
  124. package/dist/components/Instruction/hintLook.d.ts +81 -0
  125. package/dist/components/Instruction/hintLoop.d.ts +36 -0
  126. package/dist/components/Instruction/index.d.ts +41 -0
  127. package/dist/components/Instruction/useGhostModel.d.ts +33 -0
  128. package/dist/components/Instruction/useInstructionHold.d.ts +72 -0
  129. package/dist/components/LipEffect/LipEffect.d.ts +22 -2
  130. package/dist/components/LipEffect/LipEffectMaterial.d.ts +62 -10
  131. package/dist/components/LipEffect/LipEffects.d.ts +5 -2
  132. package/dist/components/LipEffect/defaults.d.ts +21 -2
  133. package/dist/components/LipEffect/index.d.ts +1 -1
  134. package/dist/components/LipEffect/lipShading.d.ts +73 -0
  135. package/dist/components/LipEffect/settings.d.ts +117 -13
  136. package/dist/components/LipEffect/shader.d.ts +39 -0
  137. package/dist/components/LipEffect/types.d.ts +82 -10
  138. package/dist/components/LipEffect/useLipDesignTextures.d.ts +6 -0
  139. package/dist/components/LipEffect/uvGuide.d.ts +31 -16
  140. package/dist/components/Makeup/Blush.d.ts +18 -0
  141. package/dist/components/Makeup/Brows.d.ts +20 -0
  142. package/dist/components/Makeup/Contour.d.ts +17 -0
  143. package/dist/components/Makeup/Eyeliner.d.ts +20 -0
  144. package/dist/components/Makeup/Eyeshadow.d.ts +20 -0
  145. package/dist/components/Makeup/Highlighter.d.ts +18 -0
  146. package/dist/components/Makeup/MakeupDesign.d.ts +37 -0
  147. package/dist/components/Makeup/MakeupRegion.d.ts +132 -0
  148. package/dist/components/Makeup/constants.d.ts +44 -0
  149. package/dist/components/Makeup/design.d.ts +106 -0
  150. package/dist/components/Makeup/designSamples.d.ts +42 -0
  151. package/dist/components/Makeup/eyes.d.ts +114 -0
  152. package/dist/components/Makeup/fields.d.ts +10 -0
  153. package/dist/components/Makeup/geometry.d.ts +106 -0
  154. package/dist/components/Makeup/index.d.ts +26 -0
  155. package/dist/components/Makeup/looks.d.ts +28 -0
  156. package/dist/components/Makeup/material.d.ts +239 -0
  157. package/dist/components/Makeup/settings.d.ts +54 -0
  158. package/dist/components/Makeup/shades.d.ts +143 -0
  159. package/dist/components/Makeup/shapes.d.ts +27 -0
  160. package/dist/components/Makeup/skinTone.d.ts +135 -0
  161. package/dist/components/Makeup/types.d.ts +110 -0
  162. package/dist/components/Makeup/useMakeupSkinTone.d.ts +40 -0
  163. package/dist/components/Necklace/Necklace.d.ts +44 -0
  164. package/dist/components/Necklace/index.d.ts +1 -0
  165. package/dist/components/ParticleEmitter/ParticleEmitter.d.ts +69 -0
  166. package/dist/components/ParticleEmitter/index.d.ts +1 -0
  167. package/dist/components/ShoulderOccluder/index.d.ts +43 -0
  168. package/dist/components/ShoulderOccluder/useCanonicalTorsoFit.d.ts +24 -0
  169. package/dist/components/SpringSwing/SpringSwing.d.ts +22 -0
  170. package/dist/components/SpringSwing/index.d.ts +1 -0
  171. package/dist/components/XRScene/renderOutputTarget.d.ts +12 -0
  172. package/dist/components/index.d.ts +8 -0
  173. package/dist/config/index.d.ts +0 -1
  174. package/dist/context-DTxSQvp4.js +13 -0
  175. package/dist/context-hA0Rb2Xa.cjs +1 -0
  176. package/dist/contexts-BH7PdKFS.cjs +1 -0
  177. package/dist/contexts-jak8-tND.js +667 -0
  178. package/dist/coordinates/index.d.ts +2 -0
  179. package/dist/coordinates/side.d.ts +40 -0
  180. package/dist/debug-ui/default-setting.cjs +2 -2
  181. package/dist/debug-ui/face-swap-settings/index.d.ts +22 -0
  182. package/dist/debug-ui/hierarchy-panel/index.d.ts +3 -2
  183. package/dist/debug-ui/index.d.ts +4 -3
  184. package/dist/debug-ui/media-source/index.d.ts +1 -1
  185. package/dist/debug-ui/media-source/session.d.ts +30 -2
  186. package/dist/debug-ui/media-source.cjs +1 -1
  187. package/dist/debug-ui/media-source.js +1 -1
  188. package/dist/debug-ui/object-inspector-panel/index.d.ts +3 -2
  189. package/dist/debug-ui/product-hotspots/index.d.ts +3 -2
  190. package/dist/debug-ui/scene-editor/hierarchy-panel.d.ts +3 -1
  191. package/dist/debug-ui/scene-editor/inspector-panel.d.ts +3 -1
  192. package/dist/debug-ui/screen-image-settings/index.d.ts +3 -1
  193. package/dist/debug-ui/screen-text-settings/ScreenTextSettingsPanel.d.ts +1 -1
  194. package/dist/debug-ui/screen-text-settings/types.d.ts +2 -0
  195. package/dist/debug-ui/settings-panel/index.d.ts +6 -1
  196. package/dist/debug-ui/shared/debugWindow.d.ts +51 -0
  197. package/dist/debug-ui/xr-diagnostics/index.d.ts +3 -2
  198. package/dist/debug-ui.cjs +3 -3
  199. package/dist/debug-ui.js +2250 -2472
  200. package/dist/entries/all.d.ts +3 -1
  201. package/dist/entries/core.d.ts +3 -2
  202. package/dist/entries/face-effects.d.ts +114 -8
  203. package/dist/entries/instructions.d.ts +48 -0
  204. package/dist/entries/internal.d.ts +2 -1
  205. package/dist/entries/low-level.d.ts +28 -1
  206. package/dist/entries/particles.d.ts +11 -0
  207. package/dist/entries/tracking.d.ts +37 -2
  208. package/dist/face-atlas/attributes.d.ts +30 -0
  209. package/dist/face-atlas/eyes.d.ts +272 -0
  210. package/dist/face-atlas/faceAtlas.generated.d.ts +46 -0
  211. package/dist/face-atlas/glsl/atlasVertex.d.ts +46 -0
  212. package/dist/face-atlas/glsl/common.d.ts +55 -0
  213. package/dist/face-atlas/glsl/design.d.ts +49 -0
  214. package/dist/face-atlas/glsl/eyes.d.ts +73 -0
  215. package/dist/face-atlas/glsl/finish.d.ts +24 -0
  216. package/dist/face-atlas/glsl/format.d.ts +4 -0
  217. package/dist/face-atlas/glsl/index.d.ts +59 -0
  218. package/dist/face-atlas/glsl/shading.d.ts +15 -0
  219. package/dist/face-atlas/glsl/shapes.d.ts +66 -0
  220. package/dist/face-atlas/glsl/sparkle.d.ts +19 -0
  221. package/dist/face-atlas/glsl/uniforms.d.ts +106 -0
  222. package/dist/face-atlas/guide.d.ts +51 -0
  223. package/dist/face-atlas/index.d.ts +25 -0
  224. package/dist/face-atlas/lead.d.ts +117 -0
  225. package/dist/face-atlas/madeUpCamera.d.ts +125 -0
  226. package/dist/face-atlas/masks.d.ts +53 -0
  227. package/dist/face-atlas/obj.d.ts +69 -0
  228. package/dist/face-atlas/polylines.d.ts +63 -0
  229. package/dist/face-atlas/probe/FaceSkinProbe.d.ts +208 -0
  230. package/dist/face-atlas/probe/__fixtures__/emulate.d.ts +9 -0
  231. package/dist/face-atlas/probe/__fixtures__/face.d.ts +24 -0
  232. package/dist/face-atlas/probe/constants.d.ts +137 -0
  233. package/dist/face-atlas/probe/glsl.d.ts +43 -0
  234. package/dist/face-atlas/probe/lightFit.d.ts +108 -0
  235. package/dist/face-atlas/probe/schedule.d.ts +44 -0
  236. package/dist/face-atlas/probe/selfTest.d.ts +87 -0
  237. package/dist/face-atlas/probe/stats.d.ts +143 -0
  238. package/dist/face-atlas/probe/targets.d.ts +70 -0
  239. package/dist/face-atlas/probe/unwrap.d.ts +76 -0
  240. package/dist/face-atlas/quality.d.ts +28 -0
  241. package/dist/face-atlas/regions.d.ts +31 -0
  242. package/dist/face-atlas/registry.d.ts +252 -0
  243. package/dist/face-atlas/renderState.d.ts +86 -0
  244. package/dist/face-atlas/selfOcclusion.d.ts +62 -0
  245. package/dist/face-atlas/shading.d.ts +406 -0
  246. package/dist/face-atlas/shapes.d.ts +86 -0
  247. package/dist/face-atlas/sides.d.ts +41 -0
  248. package/dist/face-atlas/skinMask.d.ts +35 -0
  249. package/dist/face-atlas/surface.d.ts +155 -0
  250. package/dist/face-atlas/topology.d.ts +44 -0
  251. package/dist/face-character/__fixtures__/faceImageDetections.d.ts +25 -0
  252. package/dist/face-character/__fixtures__/faceNode.d.ts +22 -0
  253. package/dist/face-character/bindFaceModel.d.ts +106 -0
  254. package/dist/face-character/canonicalFace.d.ts +17 -0
  255. package/dist/face-character/canonicalFaceGeometry.d.ts +11 -0
  256. package/dist/face-character/canonicalFacePositions.d.ts +7 -0
  257. package/dist/face-character/driveFaceModel.d.ts +57 -0
  258. package/dist/face-character/expressionOutputs.d.ts +45 -0
  259. package/dist/face-character/faceExpressions.d.ts +104 -0
  260. package/dist/face-character/faceImageLandmarker.d.ts +93 -0
  261. package/dist/face-character/faceMeshBinding.d.ts +62 -0
  262. package/dist/face-character/faceMorph.d.ts +77 -0
  263. package/dist/face-character/faceMorphs.d.ts +46 -0
  264. package/dist/face-character/facePhoto.d.ts +138 -0
  265. package/dist/face-character/facePiercings.d.ts +116 -0
  266. package/dist/face-character/facePin.d.ts +131 -0
  267. package/dist/face-character/faceReprojection.d.ts +273 -0
  268. package/dist/face-character/faceReprojector.d.ts +171 -0
  269. package/dist/face-character/faceRig.d.ts +176 -0
  270. package/dist/face-character/faceSwapPresence.d.ts +85 -0
  271. package/dist/face-character/faceTexture.d.ts +169 -0
  272. package/dist/face-character/faceTextureBaker.d.ts +86 -0
  273. package/dist/face-character/faceTextureGuide.d.ts +106 -0
  274. package/dist/face-character/faceTextureStats.d.ts +298 -0
  275. package/dist/face-character/faceTransfer.d.ts +396 -0
  276. package/dist/face-character/faceTransferGeometry.d.ts +109 -0
  277. package/dist/face-character/faceTransferSelfTest.d.ts +94 -0
  278. package/dist/face-character/faceWarp3D.d.ts +101 -0
  279. package/dist/face-character/faceless.d.ts +79 -0
  280. package/dist/face-character/featureWarp.d.ts +28 -0
  281. package/dist/face-character/liveFaceRegistry.d.ts +370 -0
  282. package/dist/face-character/liveValue.d.ts +12 -0
  283. package/dist/face-character/memo.d.ts +15 -0
  284. package/dist/face-effects.cjs +2252 -83
  285. package/dist/face-effects.js +14234 -1231
  286. package/dist/face-expression/index.d.ts +182 -0
  287. package/dist/face-info/landmarks.d.ts +17 -3
  288. package/dist/face-info/types.d.ts +20 -3
  289. package/dist/gestures/definitions.d.ts +15 -2
  290. package/dist/gestures/index.d.ts +1 -1
  291. package/dist/gestures/measures.d.ts +21 -8
  292. package/dist/getFaceInfo-B1otSDMX.cjs +1 -0
  293. package/dist/getFaceInfo-Cu4xDWiL.js +62 -0
  294. package/dist/hand/armFit.d.ts +46 -0
  295. package/dist/hand/armMask.d.ts +178 -0
  296. package/dist/hand/handCutout.d.ts +23 -0
  297. package/dist/hand/handCutoutRegistry.d.ts +7 -0
  298. package/dist/hand/handGestures.d.ts +524 -0
  299. package/dist/hand/handPose.d.ts +98 -0
  300. package/dist/hand/handRigSolver.d.ts +159 -0
  301. package/dist/hand/handTattoo.d.ts +81 -0
  302. package/dist/hand/handTouch.d.ts +240 -0
  303. package/dist/hand/wrist.d.ts +44 -0
  304. package/dist/hand/wristFilter.d.ts +44 -0
  305. package/dist/hooks/selectors.d.ts +8 -0
  306. package/dist/hooks/useFaceModelAcquisition.d.ts +38 -0
  307. package/dist/hooks/useTrackerContext.d.ts +6 -0
  308. package/dist/index-B1_TzJaI.js +1104 -0
  309. package/dist/index-BavF06C6.js +190 -0
  310. package/dist/index-BfFmpddl.cjs +21 -0
  311. package/dist/index-BuBzneeW.cjs +46 -0
  312. package/dist/index-CGsQWodV.cjs +1 -0
  313. package/dist/index-CIe7eCMH.js +3200 -0
  314. package/dist/index-CfSF8LXa.cjs +1 -0
  315. package/dist/index-D5GTzOzD.cjs +1 -0
  316. package/dist/index-DBhQzvVa.js +314 -0
  317. package/dist/index-DE17y0ZI.cjs +1 -0
  318. package/dist/index-JII7huPk.js +442 -0
  319. package/dist/index-tpCr9CLj.cjs +1 -0
  320. package/dist/{renderPasses-NnKZVfBy.js → index-w1S7fI2B.js} +219 -247
  321. package/dist/index-zGaqrz_K.js +188 -0
  322. package/dist/instructions.cjs +30 -0
  323. package/dist/instructions.js +1507 -0
  324. package/dist/{internal-vsfNQycj.js → internal-B90P-clC.js} +138 -118
  325. package/dist/internal-Cjinca64.cjs +1 -0
  326. package/dist/internal.cjs +1 -1
  327. package/dist/internal.js +15 -10
  328. package/dist/iris/compute.d.ts +7 -5
  329. package/dist/iris/types.d.ts +6 -4
  330. package/dist/{landmarkMask-CbTFzBYG.js → landmarkMask-BFDyBnKM.js} +6 -6
  331. package/dist/landmarks-BlUqf5MZ.cjs +1 -0
  332. package/dist/landmarks-bftdwq6Z.js +76 -0
  333. package/dist/loaders-BGAUACsd.js +363 -0
  334. package/dist/loaders-BJ1_QCHt.cjs +1 -0
  335. package/dist/low-level.cjs +1 -1
  336. package/dist/low-level.js +666 -602
  337. package/dist/main.cjs +1 -1
  338. package/dist/main.js +866 -1182
  339. package/dist/models/Body/index.d.ts +2 -0
  340. package/dist/models/Face/constants.d.ts +8 -0
  341. package/dist/models/Face/index.d.ts +3 -11
  342. package/dist/models/Face/rotation.d.ts +18 -3
  343. package/dist/models/Hand/HandTracking.d.ts +17 -1
  344. package/dist/models/Segmentation/index.d.ts +2 -0
  345. package/dist/models/nodeSource.d.ts +9 -0
  346. package/dist/particles/emission.d.ts +24 -0
  347. package/dist/particles/eyes.d.ts +24 -0
  348. package/dist/particles/glsl.d.ts +14 -0
  349. package/dist/particles/index.d.ts +10 -0
  350. package/dist/particles/motion.d.ts +42 -0
  351. package/dist/particles/presets.d.ts +12 -0
  352. package/dist/particles/ring.d.ts +58 -0
  353. package/dist/particles/selfTest.d.ts +53 -0
  354. package/dist/particles/settings.d.ts +127 -0
  355. package/dist/particles/shapes.d.ts +29 -0
  356. package/dist/particles/spawner.d.ts +60 -0
  357. package/dist/particles/system.d.ts +64 -0
  358. package/dist/particles.cjs +122 -0
  359. package/dist/particles.js +774 -0
  360. package/dist/product.cjs +1 -1
  361. package/dist/product.js +29 -29
  362. package/dist/{providers-C0Dlhh9Z.js → providers-C8rE26Uf.js} +127 -126
  363. package/dist/providers-DHsrhDI2.cjs +62 -0
  364. package/dist/render/renderPasses.d.ts +8 -0
  365. package/dist/render/sceneBeforeRender.d.ts +12 -0
  366. package/dist/{renderGroups-CN1cGFUo.js → renderGroups-B38pUaX2.js} +1 -1
  367. package/dist/{renderGroups-O4KmaMl9.cjs → renderGroups-Cb_4Ar1Q.cjs} +1 -1
  368. package/dist/renderPasses-B6l8IpJv.js +1290 -0
  369. package/dist/renderPasses-dqmkft4P.cjs +158 -0
  370. package/dist/renderState-CJNmj5jz.js +39 -0
  371. package/dist/renderState-apSfg4eR.cjs +1 -0
  372. package/dist/scene-object.cjs +1 -1
  373. package/dist/scene-object.js +2 -2
  374. package/dist/segmentation-Cb3ouK6Z.js +1758 -0
  375. package/dist/segmentation-D9pYO6aR.cjs +1 -0
  376. package/dist/segmentation2d/types.d.ts +6 -0
  377. package/dist/select-Ck5LGz-J.cjs +1 -0
  378. package/dist/select-pYRo_win.js +233 -0
  379. package/dist/selectors-C4X71aoD.cjs +1 -0
  380. package/dist/selectors-DmNaKIwE.js +196 -0
  381. package/dist/session-BrH8G7iJ.cjs +31 -0
  382. package/dist/session-DgA_z6O1.js +418 -0
  383. package/dist/{settings-aQk845NJ.js → settings-BJ7FMBsO.js} +53 -15
  384. package/dist/settings-C63FMBlF.cjs +1 -0
  385. package/dist/similarityFit-BFqHND2e.cjs +1 -0
  386. package/dist/similarityFit-Bbz-R8AY.js +91 -0
  387. package/dist/spring/index.d.ts +2 -0
  388. package/dist/spring/spring.d.ts +69 -0
  389. package/dist/spring/swing.d.ts +54 -0
  390. package/dist/tracking.cjs +10 -1
  391. package/dist/tracking.js +1002 -855
  392. package/dist/trigger-D0Pm9noT.cjs +49 -0
  393. package/dist/trigger-IQeys0oS.js +2128 -0
  394. package/dist/types/face.d.ts +20 -1
  395. package/dist/types/hand-tracking.d.ts +9 -0
  396. package/dist/types/nodes.d.ts +20 -1
  397. package/dist/types/segmentation.d.ts +5 -0
  398. package/dist/updateThrottle-BseecYag.js +4 -0
  399. package/dist/updateThrottle-Of5Y4SVa.cjs +1 -0
  400. package/dist/useFaceInfo-BHDNCvsJ.cjs +1 -0
  401. package/dist/useFaceInfo-J4x7LsqL.js +76 -0
  402. package/dist/useFaceResultReader-BvEo5REG.js +61 -0
  403. package/dist/useFaceResultReader-DuaL1KJG.cjs +1 -0
  404. package/dist/useInstructionHold-DOu-RpCM.js +53 -0
  405. package/dist/useInstructionHold-DwJY1Alr.cjs +1 -0
  406. package/dist/useLandmarkPoseFit-Bg-h9BPb.cjs +1 -0
  407. package/dist/useLandmarkPoseFit-Bmb3h6Mw.js +87 -0
  408. package/dist/{useXRCapabilities-B1R2ghy-.cjs → useXRCapabilities-Cr3RzuAW.cjs} +1 -1
  409. package/dist/{useXRCapabilities-C68v__wB.js → useXRCapabilities-Cxmlmpbd.js} +1 -1
  410. package/dist/utils/canonicalRigidLandmarks.d.ts +8 -0
  411. package/dist/utils/headOccluderFit.d.ts +42 -0
  412. package/dist/utils/integrity.d.ts +17 -0
  413. package/dist/utils/resolveNumFaces.d.ts +13 -0
  414. package/dist/utils/shoulderOccluderFit.d.ts +38 -0
  415. package/dist/utils/similarityFit.d.ts +23 -0
  416. package/dist/uv-BMFt19bg.cjs +1 -0
  417. package/dist/{index-CsUdQ-pn.js → uv-DJU_XfmN.js} +15 -249
  418. package/docs/SDK_DOCUMENTATION.md +1 -2
  419. package/docs/api/adaptive-quality.mdx +1 -1
  420. package/docs/api/body-instructions.mdx +285 -0
  421. package/docs/api/body-triggers.mdx +234 -0
  422. package/docs/api/camera-permission.mdx +1 -1
  423. package/docs/api/coordinate-spaces.mdx +7 -4
  424. package/docs/api/cross-camera.mdx +3 -2
  425. package/docs/api/debug-ui-scene-editor.mdx +23 -2
  426. package/docs/api/external-face-mesh.mdx +231 -0
  427. package/docs/api/face-actions.mdx +20 -16
  428. package/docs/api/face-attribute-expression.mdx +1 -1
  429. package/docs/api/face-binding-anchors.mdx +4 -2
  430. package/docs/api/face-character.mdx +157 -0
  431. package/docs/api/face-effects.mdx +3 -0
  432. package/docs/api/face-expression-controller.mdx +153 -0
  433. package/docs/api/face-info.mdx +17 -11
  434. package/docs/api/face-inset.mdx +204 -0
  435. package/docs/api/face-instructions.mdx +183 -0
  436. package/docs/api/face-liquify.mdx +196 -0
  437. package/docs/api/face-mesh.mdx +4 -7
  438. package/docs/api/face-morph.mdx +117 -0
  439. package/docs/api/face-painting.mdx +7 -0
  440. package/docs/api/face-reprojection.mdx +154 -0
  441. package/docs/api/face-retouching.mdx +18 -10
  442. package/docs/api/face-swap.mdx +350 -0
  443. package/docs/api/face-warp-3d.mdx +166 -0
  444. package/docs/api/faceless.mdx +143 -0
  445. package/docs/api/gestures.mdx +68 -32
  446. package/docs/api/hair.mdx +97 -0
  447. package/docs/api/hand-instructions.mdx +222 -0
  448. package/docs/api/hand-rig.mdx +535 -0
  449. package/docs/api/hand-touch.mdx +162 -0
  450. package/docs/api/head-occluder.mdx +563 -0
  451. package/docs/api/holistic-tracker.mdx +6 -1
  452. package/docs/api/instructions.mdx +323 -0
  453. package/docs/api/iris-tracking.mdx +24 -19
  454. package/docs/api/made-up-camera.mdx +131 -0
  455. package/docs/api/makeup-skin-tone.mdx +135 -0
  456. package/docs/api/makeup.mdx +353 -0
  457. package/docs/api/multi-subject.mdx +4 -1
  458. package/docs/api/particles.mdx +155 -0
  459. package/docs/api/person-cutout.mdx +1 -1
  460. package/docs/api/pin-to-face-mesh.mdx +274 -0
  461. package/docs/api/product-ar.mdx +5 -2
  462. package/docs/api/segmentation-overlay.mdx +1 -1
  463. package/docs/docs.json +29 -1
  464. package/docs/examples/lip-shaders.mdx +82 -33
  465. package/docs/guides/face-atlas-template.svg +1 -0
  466. package/docs/guides/face-atlas-textures.mdx +186 -0
  467. package/docs/guides/face-texture-template.svg +1 -0
  468. package/docs/guides/harness-debug-ui.mdx +4 -4
  469. package/docs/guides/lip-effect-textures.mdx +178 -102
  470. package/docs/guides/lip-uv-template.png +0 -0
  471. package/docs/guides/lip-uv-template.svg +1 -1
  472. package/docs/guides/makeup-design-textures.mdx +109 -0
  473. package/docs/introduction.mdx +1 -2
  474. package/package.json +11 -1
  475. package/dist/DebuggerUI-C-ldiozL.js +0 -269
  476. package/dist/DebuggerUI-CWX5EtQv.cjs +0 -1
  477. package/dist/FaceMeshRenderer-BEEXZwS6.cjs +0 -158
  478. package/dist/FaceMeshRenderer-UuH5sTXG.js +0 -1322
  479. package/dist/FaceRetouch-C7h7x9kd.js +0 -683
  480. package/dist/FaceRetouch-DqftT26Y.cjs +0 -134
  481. package/dist/GLTFLoader-C5q63sKO.js +0 -1633
  482. package/dist/GLTFLoader-Cb_CRwmG.cjs +0 -1
  483. package/dist/SegmentationOverlay-DQuW3dsc.js +0 -133
  484. package/dist/SegmentationOverlay-aWVod8Kl.cjs +0 -1
  485. package/dist/components/FaceWarp3D/FaceWarp3DHead.d.ts +0 -15
  486. package/dist/components/FaceWarp3D/defaults.d.ts +0 -37
  487. package/dist/components/FaceWarp3D/warp.d.ts +0 -13
  488. package/dist/contexts-CO0sd4JQ.cjs +0 -1
  489. package/dist/contexts-FzlnnMYD.js +0 -669
  490. package/dist/debug-ui/face-warp-3d/index.d.ts +0 -6
  491. package/dist/getFaceInfo-BkZfaQs-.js +0 -118
  492. package/dist/getFaceInfo-ahPxQFGu.cjs +0 -1
  493. package/dist/index--RgGzZ6X.cjs +0 -47
  494. package/dist/index-CHVbH0hz.js +0 -214
  495. package/dist/index-CeVkgsag.cjs +0 -1
  496. package/dist/index-CnGox6Xr.js +0 -3054
  497. package/dist/index-DKBAh6hV.cjs +0 -1
  498. package/dist/index-DsZwTfG0.cjs +0 -1
  499. package/dist/index-Dw6tj2Mi.js +0 -144
  500. package/dist/index-OCPjOaeP.cjs +0 -1
  501. package/dist/index-s9pF4zkG.js +0 -2053
  502. package/dist/internal-BYza1h8_.cjs +0 -1
  503. package/dist/measures-9dQPdw96.js +0 -154
  504. package/dist/measures-KfJzpvod.cjs +0 -1
  505. package/dist/providers-YNwkmNeK.cjs +0 -62
  506. package/dist/renderPasses-Cg-zqmEz.cjs +0 -21
  507. package/dist/screenTransform-BenfCtZt.js +0 -44
  508. package/dist/screenTransform-BiXdpVf0.cjs +0 -1
  509. package/dist/segmentation-9PhSvc-R.cjs +0 -1
  510. package/dist/segmentation-CeOTKemr.js +0 -5
  511. package/dist/selectors-C5G1PMYL.js +0 -195
  512. package/dist/selectors-Du_PsVnW.cjs +0 -1
  513. package/dist/session-BBr0yN8h.cjs +0 -31
  514. package/dist/session-Cy0m7l7-.js +0 -363
  515. package/dist/settings-DRR7-snV.cjs +0 -1
  516. package/dist/useFaceInfo-Blf7FCu3.js +0 -303
  517. package/dist/useFaceInfo-C5mO8NQY.cjs +0 -1
@@ -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';
@@ -67,7 +67,8 @@ export type { CaptureStatus, FrameCaptureEvents, UseFrameCaptureOptions, } from
67
67
  export { dataURLtoFile } from '../utils/dataURL';
68
68
  export { drawNormalizedCrop, resolveNormalizedCrop } from '../utils/drawNormalizedCrop';
69
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 type { FeedCrop, FeedPoint, FeedSourceKind, FitLayout, PixelSize, SourceOrientation, SourcePoint, ViewportPoint, } 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';
71
72
  export type { CropOutputSize, DrawNormalizedCropOptions, NormalizedCropBounds, } from '../utils/drawNormalizedCrop';
72
73
  export { AudioEngine, AudioPlayer, audio, prefetchMusic, registerSound, startMusic, stopMusic, playOneShot, setMuted, toggleMuted, isMuted, onMuteChange, useMuted, } from '../audio';
73
74
  export type { AudioEngineOptions, AudioPlayerHandle, AudioPlayerProps, AudioPlayMode, } from '../audio';
@@ -1,8 +1,9 @@
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,18 +11,123 @@ export { IrisEffect, DEFAULT_IRIS_EFFECT_RENDER_ORDER, DEFAULT_IRIS_EFFECT_SETTI
10
11
  export type { IrisEffectEye, IrisEffectMode, IrisEffectProps, IrisEffectSettings, IrisMaterialContext, IrisMaterialOverride, IrisUniforms, } from '../components/IrisEffect';
11
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';
12
13
  export type { FaceMeshMaterialType, FaceMeshShaderPreset, FaceMeshTextureMap, FaceMeshAlphaMap, FaceMeshMaskTextureSource, FaceMeshSide, FaceMeshBlendMode, FaceMeshAppearance, FaceMeshMasking, } from '../components/FaceMesh';
13
- export { LipEffect, LipEffects, LipEffectMaterial, LIP_EFFECT_VERTEX_SHADER, LIP_EFFECT_FRAGMENT_SHADER, createLipEffectMaterial, 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';
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';
14
15
  export type { LipEffectFaceConfig, LipEffectsProps, LipEffectMaterialInputs, LipEffectMaterialResult, LipEffectMaterialProps, LipEffectMaterialSpec, LipEffectColorMode, LipEffectGradientDirection, LipEffectMaterialContext, LipEffectPreset, LipEffectPresetKey, LipEffectProps, LipEffectSettings, LipMaskMode, LipUvBounds, LipUvGuideOptions, } from '../components/LipEffect';
15
- export { CanonicalFaceMeshRenderer, FaceMeshMaterial, FaceMeshRenderer, canonicalFaceAlphaMaskUrl, canonicalFaceTextureStyle2Url, canonicalFaceTextureUrl, CANONICAL_FACE_MESH_GEOMETRY_SPECS, mapFaceMeshRendererProps, mapFaceMeshRendererSettingsToProps, resolveFaceMeshRendererSettings, useCanonicalFaceMesh, parseCanonicalFaceModel, } from '../components/FaceMesh';
16
- export type { CanonicalFaceMeshRendererProps, CanonicalFaceMeshGeometryKey, CanonicalFaceMeshGeometrySpec, FaceMeshMaterialOverride, FaceMeshMaterialOverrideContext, FaceMeshMaterialOverrideResult, FaceMeshMaterialProps, FaceMeshRendererProps, FaceMeshRendererSettings, ParsedCanonicalMesh, } from '../components/FaceMesh';
17
- export { FACE_WARP_3D_PRESET, DEFAULT_FACE_WARP_3D_SETTINGS } from '../components/FaceWarp3D';
18
- export type { FaceWarp3DSettings } from '../components/FaceWarp3D';
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';
19
63
  export { FACE_RETOUCH_DEFAULT_CONTROLS, FACE_RETOUCH_SETTINGS_FIELDS, FaceRetouch, patchFaceRetouchControls, resolveFaceRetouchControls, } from '../components/FaceRetouch';
20
64
  export type { FaceRetouchControls, FaceRetouchProps } from '../components/FaceRetouch';
21
65
  export { HeadBinding } from '../components/HeadBinding';
22
66
  export type { HeadBindingOccluderOptions, HeadBindingProps } from '../components/HeadBinding';
23
67
  export { HeadBindingOccluder } from '../components/HeadBindingOccluder';
24
- 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';
25
131
  export { computeAdaptiveVerticalFit, computeHeadBindingCubePose, computeHeadBindingDebugMetrics, computeHeadBindingShape, computeUniversalHeadDepthOffset, computeUniversalOccluderScale, computeUniversalPitchOffsetY, computeUniversalYawOffsetX, solveHeadBinding, } from '../utils/headBinding';
26
132
  export type { HeadBindingAdaptiveValues, HeadBindingCubeModel, HeadBindingCubePose, HeadBindingDebugMetrics, HeadBindingSolveResult, HeadBindingShape, } from '../types/headBinding';
27
133
  export type { FaceLandmark2D, BoundingBox, FaceRawTrackingData, FaceBounds, FaceTrackingResult, } from '../types/face';
@@ -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';
@@ -12,7 +12,7 @@ export type { TrackerContextValue, TrackerLandmarkResolver } from '../hooks/useT
12
12
  export { useXRModel } from '../hooks/useXRModel';
13
13
  export type { UseXRModelResult } from '../hooks/useXRModel';
14
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, useXRModelNode, useXRPipelineSnapshot, } from '../hooks/selectors';
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
16
  export type { XRCameraPermission, XRTrackerStatus } from '../hooks/selectors';
17
17
  export type { SessionLifecycleState, XRModelError, XRSessionError, } from '../hooks/useXRSession/store';
18
18
  export type { XRErrorReason } from '../hooks/useXRSession/reason';
@@ -30,6 +30,8 @@ export { EMPTY_QUALITY_SIGNALS, createQualityState, judgeSample, lockQuality, re
30
30
  export type { GestureName } from '../hooks/useGestureEdge';
31
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
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';
33
35
  export { IRIS_FULL_OPENNESS, IrisLead, computeIrisEye, createIrisEye, createIrisResult, updateIrisResult, } from '../iris';
34
36
  export { useFaceBoundingBox } from '../hooks/useFaceBoundingBox';
35
37
  export { computeLandmarkBounds } from '../utils/landmarkBounds';
@@ -69,3 +71,28 @@ export { MAX_OVERLAY_LABELS, SEGMENTATION_OVERLAY_FRAGMENT_SHADER, SEGMENTATION_
69
71
  export type { SegmentationOverlayMaterialInputs } from '../components/SegmentationOverlay';
70
72
  export { FACE_REGION_POLYGONS, computeMaskUvTransform, fillLandmarkPolygon, fillPolygon, rasterizeFaceRegions, semanticMaskLabelIndex, } from '../segmentation2d';
71
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';
@@ -9,7 +9,38 @@
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';
13
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';
14
45
  export type { HolisticHandProps, HolisticSignalThresholds, HolisticSignals, HolisticTrackerProps, HolisticTrackerSettings, HolisticTrackingContextValue, } from '../components/HolisticTracker';
15
46
  export type { HolisticFaceResult, HolisticHandResult, HolisticHandSide, HolisticHandsOption, HolisticModelOptions, HolisticPoseResult, HolisticResult, HolisticRuntimeOptions, HolisticTrackingStatus, } from '../types/holistic';
@@ -24,7 +55,11 @@ export type { UseGestureOptions } from '../hooks/useGesture';
24
55
  export { GestureListener } from '../components/GestureListener';
25
56
  export type { GestureListenerProps } from '../components/GestureListener';
26
57
  export { DEFAULT_GESTURE_DETECTOR_OPTIONS, DEFAULT_GESTURE_SETTINGS, GESTURES, GESTURE_NAMES, GESTURE_SETTINGS_FIELDS, defineGesture, patchGestureSettings, resolveGestureDefinition, resolveGestureDetectorOptions, resolveGestureSettings, } from '../gestures';
27
- export type { AnyGestureDefinition, BuiltInGestureName, GestureDefinition, GestureDetectorOptions, GestureEndReason, GestureInputOf, GestureKind, GesturePhase, GestureRef, GestureSample, GestureSettings, GestureState, } 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';
28
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';
29
64
  export type { CalibrationStorage, UseXRCalibrationOptions, UseXRCalibrationResult, XRBodyCalibration, XRCalibration, XRCalibrationPatch, XRFaceCalibration, } from '../calibration';
30
65
  export { DEFAULT_SUBJECT_POLICY, EMPTY_SUBJECT_MEMORY, XR_MAX_SUBJECTS, associateSubjects, faceCandidates, jointCandidates, selectSubject, } from '../subjects';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Static per-vertex data of the face atlas, in landmark order (468 vertices)
3
+ * and in the canonical head frame (cm, +X toward landmark 263, +Y up, +Z out
4
+ * of the face). Bind them as vertex attributes of an atlas mesh.
5
+ */
6
+ export type FaceAtlasAttributes = {
7
+ /** `[x, y, z, …]` rest position, cm (`CANONICAL_FACE_POSITIONS`). */
8
+ restPosition: Float32Array;
9
+ /** `[x, y, z, …]` unit rest normal, area-weighted over every atlas triangle. */
10
+ restNormal: Float32Array;
11
+ /** Distance to the face oval along the surface, cm: 0 on the oval, growing inward. */
12
+ edge: Float32Array;
13
+ /** Position across the lip band: 0 on the outer lip ring, 1 on the inner ring and off the lips. */
14
+ lipEdge: Float32Array;
15
+ /**
16
+ * Edge hops to the nearer lash ring, above and below: 0 on the lash line,
17
+ * 3 on the brow's lower edge and on the under-eye row (111, 117–121), 4 on
18
+ * the brow's upper edge.
19
+ */
20
+ eyeRing: Float32Array;
21
+ };
22
+ /** Every atlas triangle except the eye and mouth fills, as triangle indices. */
23
+ export declare const faceAtlasOpenTriangles: () => number[];
24
+ /** The lip band: triangle indices between the outer and inner lip rings (sorted). */
25
+ export declare const getFaceAtlasLipBand: () => readonly number[];
26
+ /**
27
+ * The face atlas's static vertex attributes, computed once and shared (do not
28
+ * mutate them; copy into your own buffer attribute if you must).
29
+ */
30
+ export declare const getFaceAtlasAttributes: () => FaceAtlasAttributes;