@vincentt-xr/sdk 2.0.0-alpha.0 → 2.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GROUNDING.md +8193 -111
- package/README.md +86 -52
- package/dist/CanonicalHeadFrame-D_0OzdB9.cjs +1 -0
- package/dist/CanonicalHeadFrame-DdUqF6Fv.js +1506 -0
- package/dist/DebuggerUI-CVuV-VJ5.cjs +1 -0
- package/dist/DebuggerUI-D-rcPa54.js +275 -0
- package/dist/FaceRetouch-C1AxBNex.js +1071 -0
- package/dist/FaceRetouch-D7kryDE6.cjs +134 -0
- package/dist/FaceSurface-CHAMEeG1.cjs +1 -0
- package/dist/FaceSurface-DmP9AEeC.js +27 -0
- package/dist/SkeletonUtils-C2r90MtN.js +21 -0
- package/dist/SkeletonUtils-CddIup1F.cjs +1 -0
- package/dist/TextLabel-XE0rQSDn.cjs +2 -0
- package/dist/TextLabel-c9BCucOI.js +961 -0
- package/dist/assets/cache.d.ts +99 -0
- package/dist/assets/estimate.d.ts +11 -0
- package/dist/assets/gltfLoader.d.ts +16 -0
- package/dist/assets/index.d.ts +7 -0
- package/dist/assets/loaders.d.ts +43 -0
- package/dist/assets/react.d.ts +33 -0
- package/dist/assets/sdkModels.d.ts +22 -0
- package/dist/audio/AudioEngine.d.ts +3 -1
- package/dist/audio/AudioPlayer.d.ts +29 -0
- package/dist/audio/AudioPlayerLogic.d.ts +4 -0
- package/dist/audio/index.d.ts +2 -0
- package/dist/body/__fixtures__/syntheticRig.d.ts +21 -0
- package/dist/body/bodyFlipGuard.d.ts +39 -0
- package/dist/body/bodyIdentity.d.ts +72 -0
- package/dist/body/bodyMask.d.ts +79 -0
- package/dist/body/bodyMaskMaterial.d.ts +15 -0
- package/dist/body/bodyPose.d.ts +58 -0
- package/dist/body/bodyRigFit.d.ts +148 -0
- package/dist/body/bodyRigSolver.d.ts +114 -0
- package/dist/body/bodySubject.d.ts +46 -0
- package/dist/body-pose/index.d.ts +521 -0
- package/dist/body-trigger/__fixtures__/syntheticBody.d.ts +83 -0
- package/dist/body-trigger/frame.d.ts +88 -0
- package/dist/body-trigger/index.d.ts +6 -0
- package/dist/body-trigger/moves.d.ts +235 -0
- package/dist/body-trigger/trigger.d.ts +75 -0
- package/dist/bodyMaskMaterial-CBWub5t_.cjs +68 -0
- package/dist/bodyMaskMaterial-Cs2awskk.js +207 -0
- package/dist/cache-2x3CUJuY.js +212 -0
- package/dist/cache-DL1Dbz6k.cjs +1 -0
- package/dist/calibration/calibration.d.ts +75 -0
- package/dist/calibration/index.d.ts +6 -0
- package/dist/calibration/storage.d.ts +13 -0
- package/dist/calibration/types.d.ts +53 -0
- package/dist/calibration/useXRCalibration.d.ts +46 -0
- package/dist/camera/CameraPermissionGate.d.ts +26 -0
- package/dist/camera/devices.d.ts +26 -0
- package/dist/camera/index.d.ts +8 -0
- package/dist/camera/permission.d.ts +86 -0
- package/dist/camera/useCameraPermission.d.ts +35 -0
- package/dist/canonicalFace-BHwyCx1c.js +9 -0
- package/dist/canonicalFace-C83I225R.cjs +1 -0
- package/dist/capabilities/detect.d.ts +45 -0
- package/dist/capabilities/index.d.ts +5 -0
- package/dist/capabilities/types.d.ts +120 -0
- package/dist/capabilities/useXRCapabilities.d.ts +18 -0
- package/dist/compat/environment.d.ts +5 -0
- package/dist/compat/index.d.ts +4 -0
- package/dist/compat/run.d.ts +18 -0
- package/dist/compat/scenarios.d.ts +10 -0
- package/dist/compat/types.d.ts +101 -0
- package/dist/components/Axes/index.d.ts +6 -0
- package/dist/components/BodyInstruction/BodyPoseHint.d.ts +63 -0
- package/dist/components/BodyInstruction/index.d.ts +76 -0
- package/dist/components/BodyInstruction/useBodyPose.d.ts +30 -0
- package/dist/components/BodyRig/BodyAttachment.d.ts +28 -0
- package/dist/components/BodyRig/BodyOccluder.d.ts +27 -0
- package/dist/components/BodyRig/bodyDepth.d.ts +57 -0
- package/dist/components/BodyRig/index.d.ts +129 -0
- package/dist/components/BodyRig/useBodyDepthTexture.d.ts +40 -0
- package/dist/components/BodyTracker/index.d.ts +26 -1
- package/dist/components/BodyTrigger/index.d.ts +56 -0
- package/dist/components/Debugger/DebuggerProvider.d.ts +14 -1
- package/dist/components/Debugger/DebuggerUI.d.ts +3 -1
- package/dist/components/FaceAtlas/FaceAtlasLayer.d.ts +114 -0
- package/dist/components/FaceAtlas/MadeUpCamera.d.ts +80 -0
- package/dist/components/FaceAtlas/constants.d.ts +8 -0
- package/dist/components/FaceAtlas/index.d.ts +7 -0
- package/dist/components/FaceAtlas/useFaceAtlasSurface.d.ts +84 -0
- package/dist/components/FaceAtlas/useFaceSkin.d.ts +84 -0
- package/dist/components/FaceCharacter/ExternalFaceMesh.d.ts +109 -0
- package/dist/components/FaceCharacter/FaceExpressionController.d.ts +53 -0
- package/dist/components/FaceCharacter/FaceMorph.d.ts +71 -0
- package/dist/components/FaceCharacter/FacePiercing.d.ts +65 -0
- package/dist/components/FaceCharacter/FaceReprojection.d.ts +85 -0
- package/dist/components/FaceCharacter/FaceRig.d.ts +38 -0
- package/dist/components/FaceCharacter/FaceSurface.d.ts +49 -0
- package/dist/components/FaceCharacter/FaceSurfaceOccluder.d.ts +39 -0
- package/dist/components/FaceCharacter/PinToFaceMesh.d.ts +68 -0
- package/dist/components/FaceCharacter/index.d.ts +18 -0
- package/dist/components/FaceCharacter/useFaceReprojector.d.ts +10 -0
- package/dist/components/FaceInset/FaceInset.d.ts +68 -0
- package/dist/components/FaceInset/frame.d.ts +94 -0
- package/dist/components/FaceInset/index.d.ts +6 -0
- package/dist/components/FaceInset/material.d.ts +40 -0
- package/dist/components/FaceInset/useFaceInsetTexture.d.ts +37 -0
- package/dist/components/FaceInstruction/FaceExpressionHint.d.ts +43 -0
- package/dist/components/FaceInstruction/index.d.ts +56 -0
- package/dist/components/FaceInstruction/useFaceExpression.d.ts +20 -0
- package/dist/components/FaceLiquify/FaceLiquify.d.ts +49 -0
- package/dist/components/FaceLiquify/debug.d.ts +37 -0
- package/dist/components/FaceLiquify/frame.d.ts +55 -0
- package/dist/components/FaceLiquify/index.d.ts +10 -0
- package/dist/components/FaceLiquify/material.d.ts +39 -0
- package/dist/components/FaceLiquify/pass.d.ts +49 -0
- package/dist/components/FaceLiquify/presence.d.ts +25 -0
- package/dist/components/FaceLiquify/presets.d.ts +82 -0
- package/dist/components/FaceLiquify/selfTest.d.ts +66 -0
- package/dist/components/FaceLiquify/target.d.ts +85 -0
- package/dist/components/FaceLiquify/warp.d.ts +72 -0
- package/dist/components/FaceMesh/FaceMeshRenderer.d.ts +25 -0
- package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +70 -1
- package/dist/components/FaceMesh/canonical/FaceMeshMaterial.d.ts +25 -0
- package/dist/components/FaceMesh/canonical/assets.d.ts +3 -0
- package/dist/components/FaceMesh/canonical/geometryGroups.d.ts +30 -0
- package/dist/components/FaceMesh/canonical/parseCanonicalFaceModel.d.ts +24 -0
- package/dist/components/FaceMesh/canonical/shaders.d.ts +2 -0
- package/dist/components/FaceMesh/deform.d.ts +3 -0
- package/dist/components/FaceMesh/index.d.ts +6 -1
- package/dist/components/FaceMesh/material/defaults.d.ts +74 -0
- package/dist/components/FaceMesh/material/index.d.ts +1 -0
- package/dist/components/FaceMesh/material/options.d.ts +5 -1
- package/dist/components/FaceMesh/material/support.d.ts +7 -2
- package/dist/components/FaceMesh/material/textures.d.ts +4 -0
- package/dist/components/FaceMesh/material/types.d.ts +4 -2
- package/dist/components/FaceRetouch/Background.d.ts +11 -5
- package/dist/components/FaceRetouch/FaceRetouch.d.ts +52 -0
- package/dist/components/FaceRetouch/index.d.ts +2 -6
- package/dist/components/FaceRetouch/landmarkMask.d.ts +4 -6
- package/dist/components/FaceRetouch/renderState.d.ts +19 -0
- package/dist/components/FaceRetouch/useFaceRetouchMask.d.ts +4 -7
- package/dist/components/FaceSwap/FaceMirror.d.ts +46 -0
- package/dist/components/FaceSwap/FaceSwap.d.ts +58 -0
- package/dist/components/FaceSwap/FaceTextureLayer.d.ts +72 -0
- package/dist/components/FaceSwap/faceSwapPlan.d.ts +91 -0
- package/dist/components/FaceSwap/index.d.ts +13 -0
- package/dist/components/FaceSwap/settings.d.ts +300 -0
- package/dist/components/FaceSwap/useFaceTexture.d.ts +35 -0
- package/dist/components/FaceSwap/useLiveFace.d.ts +38 -0
- package/dist/components/FaceSwap/useLiveFaceTexture.d.ts +31 -0
- package/dist/components/FaceTracker/index.d.ts +5 -3
- package/dist/components/FaceWarp3D/FaceWarp3D.d.ts +50 -0
- package/dist/components/FaceWarp3D/index.d.ts +2 -0
- package/dist/components/Faceless/Faceless.d.ts +51 -0
- package/dist/components/Faceless/index.d.ts +2 -0
- package/dist/components/GestureListener/index.d.ts +11 -0
- package/dist/components/HairLock/HairLock.d.ts +39 -0
- package/dist/components/HairLock/index.d.ts +2 -0
- package/dist/components/HairLock/lockGeometry.d.ts +15 -0
- package/dist/components/HandCutout/index.d.ts +35 -0
- package/dist/components/HandEffect/index.d.ts +36 -0
- package/dist/components/HandInstruction/HandGestureHint.d.ts +70 -0
- package/dist/components/HandInstruction/index.d.ts +74 -0
- package/dist/components/HandInstruction/useHandGesture.d.ts +22 -0
- package/dist/components/HandJoints2D/index.d.ts +6 -0
- package/dist/components/HandRig/ForearmOccluder.d.ts +29 -0
- package/dist/components/HandRig/HandAttachment.d.ts +34 -0
- package/dist/components/HandRig/HandNails.d.ts +61 -0
- package/dist/components/HandRig/HandOccluder.d.ts +45 -0
- package/dist/components/HandRig/HandTattoo.d.ts +61 -0
- package/dist/components/HandRig/WristAttachment.d.ts +34 -0
- package/dist/components/HandRig/index.d.ts +127 -0
- package/dist/components/HandRig/useArmMask.d.ts +29 -0
- package/dist/components/HandRig/wristSolve.d.ts +96 -0
- package/dist/components/HandTouch/HandTouch.d.ts +62 -0
- package/dist/components/HandTouch/Touchable.d.ts +36 -0
- package/dist/components/HandTouch/index.d.ts +2 -0
- package/dist/components/HandTracker/index.d.ts +12 -2
- package/dist/components/HandTracking2D/HandVisual.d.ts +12 -0
- package/dist/components/HandTracking2D/index.d.ts +5 -0
- package/dist/components/HandTracking2DController/index.d.ts +5 -0
- package/dist/components/HandTracking3D/index.d.ts +6 -0
- package/dist/components/HeadBinding/index.d.ts +14 -0
- package/dist/components/HeadOccluder/CanonicalHeadFrame.d.ts +22 -0
- package/dist/components/HeadOccluder/Earrings.d.ts +55 -0
- package/dist/components/HeadOccluder/HeadAttachment.d.ts +38 -0
- package/dist/components/HeadOccluder/NeckOccluder.d.ts +67 -0
- package/dist/components/HeadOccluder/earringPlacement.d.ts +31 -0
- package/dist/components/HeadOccluder/headAttachmentPoints.d.ts +69 -0
- package/dist/components/HeadOccluder/index.d.ts +57 -3
- package/dist/components/HeadOccluder/useCanonicalHeadFit.d.ts +36 -0
- package/dist/components/HeadOccluder/useLandmarkPoseFit.d.ts +80 -0
- package/dist/components/HolisticTracker/index.d.ts +69 -0
- package/dist/components/HolisticTracker/settings.d.ts +58 -0
- package/dist/components/HolisticTracker/signals.d.ts +49 -0
- package/dist/components/Instruction/HintStage.d.ts +29 -0
- package/dist/components/Instruction/InstructionCue.d.ts +126 -0
- package/dist/components/Instruction/gestureHold.d.ts +20 -0
- package/dist/components/Instruction/ghost.d.ts +129 -0
- package/dist/components/Instruction/hintBlend.d.ts +19 -0
- package/dist/components/Instruction/hintLook.d.ts +81 -0
- package/dist/components/Instruction/hintLoop.d.ts +36 -0
- package/dist/components/Instruction/index.d.ts +41 -0
- package/dist/components/Instruction/useGhostModel.d.ts +33 -0
- package/dist/components/Instruction/useInstructionHold.d.ts +72 -0
- package/dist/components/IrisEffect/IrisMaterial.d.ts +73 -0
- package/dist/components/IrisEffect/index.d.ts +51 -0
- package/dist/components/IrisEffect/settings.d.ts +117 -0
- package/dist/components/LightObject/index.d.ts +20 -0
- package/dist/components/LipEffect/LipEffect.d.ts +28 -0
- package/dist/components/LipEffect/LipEffectMaterial.d.ts +98 -0
- package/dist/components/LipEffect/LipEffects.d.ts +12 -0
- package/dist/components/LipEffect/defaults.d.ts +51 -0
- package/dist/components/LipEffect/index.d.ts +12 -0
- package/dist/components/LipEffect/lipShading.d.ts +73 -0
- package/dist/components/LipEffect/settings.d.ts +375 -0
- package/dist/components/LipEffect/shader.d.ts +39 -0
- package/dist/components/LipEffect/types.d.ts +141 -0
- package/dist/components/LipEffect/useLipDesignTextures.d.ts +17 -0
- package/dist/components/LipEffect/uvGuide.d.ts +74 -0
- package/dist/components/LookAt/index.d.ts +23 -0
- package/dist/components/Makeup/Blush.d.ts +18 -0
- package/dist/components/Makeup/Brows.d.ts +20 -0
- package/dist/components/Makeup/Contour.d.ts +17 -0
- package/dist/components/Makeup/Eyeliner.d.ts +20 -0
- package/dist/components/Makeup/Eyeshadow.d.ts +20 -0
- package/dist/components/Makeup/Highlighter.d.ts +18 -0
- package/dist/components/Makeup/MakeupDesign.d.ts +37 -0
- package/dist/components/Makeup/MakeupRegion.d.ts +132 -0
- package/dist/components/Makeup/constants.d.ts +44 -0
- package/dist/components/Makeup/design.d.ts +106 -0
- package/dist/components/Makeup/designSamples.d.ts +42 -0
- package/dist/components/Makeup/eyes.d.ts +114 -0
- package/dist/components/Makeup/fields.d.ts +10 -0
- package/dist/components/Makeup/geometry.d.ts +106 -0
- package/dist/components/Makeup/index.d.ts +26 -0
- package/dist/components/Makeup/looks.d.ts +28 -0
- package/dist/components/Makeup/material.d.ts +239 -0
- package/dist/components/Makeup/settings.d.ts +54 -0
- package/dist/components/Makeup/shades.d.ts +143 -0
- package/dist/components/Makeup/shapes.d.ts +27 -0
- package/dist/components/Makeup/skinTone.d.ts +135 -0
- package/dist/components/Makeup/types.d.ts +110 -0
- package/dist/components/Makeup/useMakeupSkinTone.d.ts +40 -0
- package/dist/components/MeshRenderer/index.d.ts +59 -0
- package/dist/components/Necklace/Necklace.d.ts +44 -0
- package/dist/components/Necklace/index.d.ts +1 -0
- package/dist/components/ParticleEmitter/ParticleEmitter.d.ts +69 -0
- package/dist/components/ParticleEmitter/index.d.ts +1 -0
- package/dist/components/PersonCutout/index.d.ts +46 -0
- package/dist/components/PersonCutout/personCutout.d.ts +16 -0
- package/dist/components/PersonCutout/personMask.d.ts +19 -0
- package/dist/components/PersonCutout/useBodyMaskTexture.d.ts +35 -0
- package/dist/components/PerspectiveCamera/index.d.ts +2 -8
- package/dist/components/PinToMesh/index.d.ts +47 -0
- package/dist/components/RenderGroupLayer/index.d.ts +6 -0
- package/dist/components/SceneObjectRenderer/index.d.ts +23 -0
- package/dist/components/Screen2D/ScreenTransformFrame.d.ts +11 -0
- package/dist/components/Screen2D/ScreenTransformHelpers.d.ts +19 -0
- package/dist/components/Screen2D/ScreenTransformInteraction.d.ts +18 -0
- package/dist/components/Screen2D/index.d.ts +5 -0
- package/dist/components/ScreenGlass/defaults.d.ts +3 -0
- package/dist/components/ScreenGlass/index.d.ts +5 -0
- package/dist/components/ScreenGlass/shaders.d.ts +2 -0
- package/dist/components/ScreenGlass/types.d.ts +10 -0
- package/dist/components/ScreenGradient/defaults.d.ts +5 -0
- package/dist/components/ScreenGradient/index.d.ts +5 -0
- package/dist/components/ScreenGradient/shaders.d.ts +2 -0
- package/dist/components/ScreenGradient/types.d.ts +19 -0
- package/dist/components/ScreenImage/ScreenImage.d.ts +4 -0
- package/dist/components/ScreenImage/components/DynamicTextureSync.d.ts +9 -0
- package/dist/components/ScreenImage/components/ScreenImageBody.d.ts +9 -0
- package/dist/components/ScreenImage/components/ScreenImageFrame.d.ts +9 -0
- package/dist/components/ScreenImage/components/ScreenImageTransformFrame.d.ts +9 -0
- package/dist/components/ScreenImage/fit.d.ts +52 -0
- package/dist/components/ScreenImage/index.d.ts +10 -0
- package/dist/components/ScreenImage/materials/ScreenImageBlendMaterial.d.ts +9 -0
- package/dist/components/ScreenImage/materials/ScreenImageMaskMaterial.d.ts +11 -0
- package/dist/components/ScreenImage/materials/ScreenImageMatcap.d.ts +3 -0
- package/dist/components/ScreenImage/source.d.ts +25 -0
- package/dist/components/ScreenImage/types.d.ts +64 -0
- package/dist/components/ScreenImage/utils/ScreenImageConstants.d.ts +9 -0
- package/dist/components/ScreenImage/utils/ScreenImageHelpers.d.ts +4 -0
- package/dist/components/ScreenShape/geometry.d.ts +5 -0
- package/dist/components/ScreenShape/index.d.ts +5 -0
- package/dist/components/ScreenShape/types.d.ts +54 -0
- package/dist/components/ScreenSpaceUI/ScreenTransformGuide.d.ts +15 -0
- package/dist/components/ScreenSpaceUI/ScreenTransformOverlayGuide.d.ts +9 -0
- package/dist/components/ScreenSpaceUI/index.d.ts +3 -0
- package/dist/components/ScreenText/components/ScreenTextBody.d.ts +2 -0
- package/dist/components/ScreenText/components/ScreenTextTransformFrame.d.ts +9 -0
- package/dist/components/ScreenText/constants.d.ts +5 -0
- package/dist/components/ScreenText/index.d.ts +6 -0
- package/dist/components/ScreenText/types.d.ts +31 -0
- package/dist/components/ScreenText/utils/ScreenTextHelpers.d.ts +14 -0
- package/dist/components/ScreenText/utils/ScreenTextMappings.d.ts +17 -0
- package/dist/components/SegmentationOverlay/SegmentationOverlay.d.ts +37 -0
- package/dist/components/SegmentationOverlay/SegmentationOverlayMaterial.d.ts +31 -0
- package/dist/components/SegmentationOverlay/index.d.ts +9 -0
- package/dist/components/SegmentationOverlay/maskTexture.d.ts +23 -0
- package/dist/components/SegmentationOverlay/providers.d.ts +72 -0
- package/dist/components/SegmentationOverlay/settings.d.ts +65 -0
- package/dist/components/SequentialRenderPasses/index.d.ts +6 -0
- package/dist/components/ShoulderOccluder/index.d.ts +46 -0
- package/dist/components/ShoulderOccluder/useCanonicalTorsoFit.d.ts +27 -0
- package/dist/components/SpringSwing/SpringSwing.d.ts +22 -0
- package/dist/components/SpringSwing/index.d.ts +1 -0
- package/dist/components/TextLabel/TextLabel.d.ts +5 -0
- package/dist/components/TextLabel/alignment.d.ts +4 -0
- package/dist/components/TextLabel/bend.d.ts +9 -0
- package/dist/components/TextLabel/canvas/buildTextLabelTexture.d.ts +4 -0
- package/dist/components/TextLabel/canvas/canvasTypography.d.ts +13 -0
- package/dist/components/TextLabel/canvas/drawBackground.d.ts +21 -0
- package/dist/components/TextLabel/canvas/drawEffects.d.ts +34 -0
- package/dist/components/TextLabel/canvas/drawText.d.ts +19 -0
- package/dist/components/TextLabel/components/TextLabelMesh.d.ts +13 -0
- package/dist/components/TextLabel/constants.d.ts +2 -0
- package/dist/components/TextLabel/hooks/useTextLabelTexture.d.ts +7 -0
- package/dist/components/TextLabel/index.d.ts +2 -62
- package/dist/components/TextLabel/layout/measurement.d.ts +8 -0
- package/dist/components/TextLabel/layout/resolveTextLayout.d.ts +25 -0
- package/dist/components/TextLabel/layout/wrapText.d.ts +6 -0
- package/dist/components/TextLabel/types.d.ts +337 -0
- package/dist/components/TrackingAnchor/index.d.ts +18 -2
- package/dist/components/Transform3D/index.d.ts +30 -0
- package/dist/components/XRMediaSurface/index.d.ts +8 -7
- package/dist/components/XRProvider/index.d.ts +16 -2
- package/dist/components/XRScene/index.d.ts +14 -3
- package/dist/components/XRScene/renderOutputTarget.d.ts +12 -0
- package/dist/components/XRViewport/XRViewport.d.ts +11 -0
- package/dist/components/XRViewport/components/HiddenMedia.d.ts +7 -0
- package/dist/components/XRViewport/components/MediaAssetPicker.d.ts +8 -0
- package/dist/components/XRViewport/components/MediaControlStack.d.ts +13 -0
- package/dist/components/XRViewport/components/XRViewportLayers.d.ts +30 -0
- package/dist/components/XRViewport/constants.d.ts +24 -0
- package/dist/components/XRViewport/contexts.d.ts +6 -0
- package/dist/components/XRViewport/hooks/useViewportExternalFaces.d.ts +13 -0
- package/dist/components/XRViewport/hooks/useViewportMediaSource.d.ts +16 -0
- package/dist/components/XRViewport/hooks/useViewportMediaTexture.d.ts +10 -0
- package/dist/components/XRViewport/hooks/useViewportPipeline.d.ts +41 -0
- package/dist/components/XRViewport/hooks/useViewportRenderState.d.ts +47 -0
- package/dist/components/XRViewport/index.d.ts +3 -101
- package/dist/components/XRViewport/layout.d.ts +16 -0
- package/dist/components/XRViewport/slots.d.ts +16 -0
- package/dist/components/XRViewport/types.d.ts +89 -0
- package/dist/components/XRViewport/useViewportSize.d.ts +3 -0
- package/dist/components/index.d.ts +31 -0
- package/dist/components/occluder/skinnedOccluder.d.ts +39 -0
- package/dist/config/index.d.ts +1 -1
- package/dist/constants/index.d.ts +4 -1
- package/dist/context-DTxSQvp4.js +13 -0
- package/dist/context-hA0Rb2Xa.cjs +1 -0
- package/dist/contexts-DQc7zyqT.cjs +1 -0
- package/dist/contexts-Y_FhdnIv.js +667 -0
- package/dist/coordinates/feed.d.ts +52 -0
- package/dist/coordinates/index.d.ts +7 -0
- package/dist/coordinates/side.d.ts +40 -0
- package/dist/coordinates/spaces.d.ts +49 -0
- package/dist/coordinates/viewport.d.ts +22 -0
- package/dist/coordinates/world.d.ts +15 -0
- package/dist/debug-ui/component-editor/index.d.ts +19 -0
- package/dist/debug-ui/default-setting/index.d.ts +37 -0
- package/dist/debug-ui/default-setting.cjs +21 -0
- package/dist/debug-ui/default-setting.js +777 -0
- package/dist/debug-ui/face-mesh-renderer-settings/index.d.ts +8 -0
- package/dist/debug-ui/face-retouch/index.d.ts +11 -0
- package/dist/debug-ui/face-swap-settings/index.d.ts +22 -0
- package/dist/debug-ui/gesture-settings/index.d.ts +14 -0
- package/dist/debug-ui/hand-joints-2d/index.d.ts +6 -0
- package/dist/debug-ui/hand-tracking-2d/index.d.ts +6 -0
- package/dist/debug-ui/hand-tracking-2d-controller/index.d.ts +6 -0
- package/dist/debug-ui/hand-tracking-3d/index.d.ts +6 -0
- package/dist/debug-ui/hierarchy-panel/index.d.ts +30 -0
- package/dist/debug-ui/holistic-tracker-settings/index.d.ts +16 -0
- package/dist/debug-ui/index.d.ts +61 -0
- package/dist/debug-ui/iris-effect-settings/index.d.ts +12 -0
- package/dist/debug-ui/layer-panel/index.d.ts +18 -0
- package/dist/debug-ui/lip-effect-settings/index.d.ts +15 -0
- package/dist/debug-ui/media-source/MediaSourceSwitcher.d.ts +10 -0
- package/dist/debug-ui/media-source/index.d.ts +6 -0
- package/dist/debug-ui/media-source/media-preset.d.ts +21 -0
- package/dist/debug-ui/media-source/session.d.ts +40 -0
- package/dist/debug-ui/media-source.cjs +1 -0
- package/dist/debug-ui/media-source.js +11 -0
- package/dist/debug-ui/mesh-renderer-settings/index.d.ts +6 -0
- package/dist/debug-ui/object-inspector-panel/index.d.ts +26 -0
- package/dist/debug-ui/pin-to-mesh-settings/index.d.ts +10 -0
- package/dist/debug-ui/product-hotspots/index.d.ts +25 -0
- package/dist/debug-ui/scene-editor/context.d.ts +38 -0
- package/dist/debug-ui/scene-editor/hierarchy-panel.d.ts +11 -0
- package/dist/debug-ui/scene-editor/index.d.ts +11 -0
- package/dist/debug-ui/scene-editor/inspector-panel.d.ts +9 -0
- package/dist/debug-ui/scene-editor/store-utils.d.ts +2 -0
- package/dist/debug-ui/scene-editor/viewport-toolbar.d.ts +4 -0
- package/dist/debug-ui/scene-editor/viewport.d.ts +21 -0
- package/dist/debug-ui/screen-glass-settings/index.d.ts +6 -0
- package/dist/debug-ui/screen-gradient-settings/GradientStopsEditor.d.ts +5 -0
- package/dist/debug-ui/screen-gradient-settings/index.d.ts +6 -0
- package/dist/debug-ui/screen-gradient-settings/styles.d.ts +3 -0
- package/dist/debug-ui/screen-image-settings/index.d.ts +11 -0
- package/dist/debug-ui/screen-shape-settings/index.d.ts +6 -0
- package/dist/debug-ui/screen-text-settings/NumberField.d.ts +9 -0
- package/dist/debug-ui/screen-text-settings/ScreenTextSettingsPanel.d.ts +3 -0
- package/dist/debug-ui/screen-text-settings/controls/NestedSection.d.ts +7 -0
- package/dist/debug-ui/screen-text-settings/controls/Section.d.ts +8 -0
- package/dist/debug-ui/screen-text-settings/controls/icons.d.ts +4 -0
- package/dist/debug-ui/screen-text-settings/index.d.ts +2 -0
- package/dist/debug-ui/screen-text-settings/sections/BackgroundSection.d.ts +8 -0
- package/dist/debug-ui/screen-text-settings/sections/ContentSection.d.ts +5 -0
- package/dist/debug-ui/screen-text-settings/sections/EffectsSection.d.ts +25 -0
- package/dist/debug-ui/screen-text-settings/sections/StyleSection.d.ts +5 -0
- package/dist/debug-ui/screen-text-settings/sections/TransformSection.d.ts +5 -0
- package/dist/debug-ui/screen-text-settings/sections/background/BackgroundFillControls.d.ts +2 -0
- package/dist/debug-ui/screen-text-settings/sections/background/BackgroundSizeControls.d.ts +2 -0
- package/dist/debug-ui/screen-text-settings/sections/background/BackgroundStrokeControls.d.ts +2 -0
- package/dist/debug-ui/screen-text-settings/sections/background/types.d.ts +7 -0
- package/dist/debug-ui/screen-text-settings/sections/effects/BendEffectSection.d.ts +4 -0
- package/dist/debug-ui/screen-text-settings/sections/effects/EffectChrome.d.ts +21 -0
- package/dist/debug-ui/screen-text-settings/sections/effects/GlowEffectSection.d.ts +4 -0
- package/dist/debug-ui/screen-text-settings/sections/effects/InnerShadowEffectSection.d.ts +4 -0
- package/dist/debug-ui/screen-text-settings/sections/effects/OutlineEffectSection.d.ts +4 -0
- package/dist/debug-ui/screen-text-settings/sections/effects/ShadowEffectSection.d.ts +4 -0
- package/dist/debug-ui/screen-text-settings/sections/effects/types.d.ts +14 -0
- package/dist/debug-ui/screen-text-settings/settings.d.ts +90 -0
- package/dist/debug-ui/screen-text-settings/styles.d.ts +26 -0
- package/dist/debug-ui/screen-text-settings/transform.d.ts +6 -0
- package/dist/debug-ui/screen-text-settings/types.d.ts +11 -0
- package/dist/debug-ui/segmentation-overlay-settings/index.d.ts +12 -0
- package/dist/debug-ui/settings-panel/index.d.ts +43 -0
- package/dist/debug-ui/shared/MaterialSection.d.ts +13 -0
- package/dist/debug-ui/shared/ScreenTransformSection.d.ts +32 -0
- package/dist/debug-ui/shared/debugWindow.d.ts +51 -0
- package/dist/debug-ui/transform-3d-settings/index.d.ts +11 -0
- package/dist/debug-ui/xr-diagnostics/index.d.ts +26 -0
- package/dist/debug-ui.cjs +10 -0
- package/dist/debug-ui.js +9051 -0
- package/dist/detector-K8aej4MB.js +59 -0
- package/dist/detector-ijypGtse.cjs +1 -0
- package/dist/drawNormalizedCrop-C4KFaRne.cjs +1 -0
- package/dist/drawNormalizedCrop-DG3gtJxf.js +135 -0
- package/dist/entries/all.d.ts +4 -1
- package/dist/entries/core.d.ts +76 -6
- package/dist/entries/face-effects.d.ts +130 -10
- package/dist/entries/instructions.d.ts +48 -0
- package/dist/entries/internal.d.ts +5 -2
- package/dist/entries/low-level.d.ts +104 -6
- package/dist/entries/particles.d.ts +15 -0
- package/dist/entries/product.d.ts +11 -0
- package/dist/entries/scene-object.d.ts +10 -0
- package/dist/entries/tracking.d.ts +110 -2
- package/dist/face-action/index.d.ts +34 -0
- package/dist/face-atlas/attributes.d.ts +30 -0
- package/dist/face-atlas/eyes.d.ts +272 -0
- package/dist/face-atlas/faceAtlas.generated.d.ts +46 -0
- package/dist/face-atlas/glsl/atlasVertex.d.ts +46 -0
- package/dist/face-atlas/glsl/common.d.ts +55 -0
- package/dist/face-atlas/glsl/design.d.ts +49 -0
- package/dist/face-atlas/glsl/eyes.d.ts +73 -0
- package/dist/face-atlas/glsl/finish.d.ts +24 -0
- package/dist/face-atlas/glsl/format.d.ts +4 -0
- package/dist/face-atlas/glsl/index.d.ts +59 -0
- package/dist/face-atlas/glsl/shading.d.ts +15 -0
- package/dist/face-atlas/glsl/shapes.d.ts +66 -0
- package/dist/face-atlas/glsl/sparkle.d.ts +19 -0
- package/dist/face-atlas/glsl/uniforms.d.ts +106 -0
- package/dist/face-atlas/guide.d.ts +51 -0
- package/dist/face-atlas/index.d.ts +25 -0
- package/dist/face-atlas/lead.d.ts +117 -0
- package/dist/face-atlas/madeUpCamera.d.ts +125 -0
- package/dist/face-atlas/masks.d.ts +53 -0
- package/dist/face-atlas/obj.d.ts +69 -0
- package/dist/face-atlas/polylines.d.ts +63 -0
- package/dist/face-atlas/probe/FaceSkinProbe.d.ts +208 -0
- package/dist/face-atlas/probe/__fixtures__/emulate.d.ts +9 -0
- package/dist/face-atlas/probe/__fixtures__/face.d.ts +24 -0
- package/dist/face-atlas/probe/constants.d.ts +137 -0
- package/dist/face-atlas/probe/glsl.d.ts +43 -0
- package/dist/face-atlas/probe/lightFit.d.ts +108 -0
- package/dist/face-atlas/probe/schedule.d.ts +44 -0
- package/dist/face-atlas/probe/selfTest.d.ts +87 -0
- package/dist/face-atlas/probe/stats.d.ts +143 -0
- package/dist/face-atlas/probe/targets.d.ts +70 -0
- package/dist/face-atlas/probe/unwrap.d.ts +76 -0
- package/dist/face-atlas/quality.d.ts +28 -0
- package/dist/face-atlas/regions.d.ts +31 -0
- package/dist/face-atlas/registry.d.ts +252 -0
- package/dist/face-atlas/renderState.d.ts +86 -0
- package/dist/face-atlas/selfOcclusion.d.ts +62 -0
- package/dist/face-atlas/shading.d.ts +406 -0
- package/dist/face-atlas/shapes.d.ts +86 -0
- package/dist/face-atlas/sides.d.ts +41 -0
- package/dist/face-atlas/skinMask.d.ts +35 -0
- package/dist/face-atlas/surface.d.ts +155 -0
- package/dist/face-atlas/topology.d.ts +44 -0
- package/dist/face-attribute-expression/index.d.ts +10 -0
- package/dist/face-character/__fixtures__/faceImageDetections.d.ts +25 -0
- package/dist/face-character/__fixtures__/faceNode.d.ts +22 -0
- package/dist/face-character/bindFaceModel.d.ts +106 -0
- package/dist/face-character/canonicalFace.d.ts +17 -0
- package/dist/face-character/canonicalFaceGeometry.d.ts +11 -0
- package/dist/face-character/canonicalFacePositions.d.ts +7 -0
- package/dist/face-character/driveFaceModel.d.ts +57 -0
- package/dist/face-character/expressionOutputs.d.ts +45 -0
- package/dist/face-character/faceExpressions.d.ts +104 -0
- package/dist/face-character/faceImageLandmarker.d.ts +93 -0
- package/dist/face-character/faceMeshBinding.d.ts +62 -0
- package/dist/face-character/faceMorph.d.ts +77 -0
- package/dist/face-character/faceMorphs.d.ts +46 -0
- package/dist/face-character/facePhoto.d.ts +138 -0
- package/dist/face-character/facePiercings.d.ts +116 -0
- package/dist/face-character/facePin.d.ts +131 -0
- package/dist/face-character/faceReprojection.d.ts +273 -0
- package/dist/face-character/faceReprojector.d.ts +171 -0
- package/dist/face-character/faceRig.d.ts +176 -0
- package/dist/face-character/faceSwapPresence.d.ts +85 -0
- package/dist/face-character/faceTexture.d.ts +169 -0
- package/dist/face-character/faceTextureBaker.d.ts +86 -0
- package/dist/face-character/faceTextureGuide.d.ts +106 -0
- package/dist/face-character/faceTextureStats.d.ts +298 -0
- package/dist/face-character/faceTransfer.d.ts +396 -0
- package/dist/face-character/faceTransferGeometry.d.ts +109 -0
- package/dist/face-character/faceTransferSelfTest.d.ts +94 -0
- package/dist/face-character/faceWarp3D.d.ts +101 -0
- package/dist/face-character/faceless.d.ts +79 -0
- package/dist/face-character/featureWarp.d.ts +28 -0
- package/dist/face-character/liveFaceRegistry.d.ts +370 -0
- package/dist/face-character/liveValue.d.ts +12 -0
- package/dist/face-character/memo.d.ts +15 -0
- package/dist/face-effects.cjs +2267 -195
- package/dist/face-effects.js +14191 -3346
- package/dist/face-expression/index.d.ts +182 -0
- package/dist/face-info/blendshapes.d.ts +3 -0
- package/dist/face-info/derive.d.ts +8 -0
- package/dist/face-info/drawFaceCrop.d.ts +10 -0
- package/dist/face-info/getFaceInfo.d.ts +8 -0
- package/dist/face-info/index.d.ts +8 -0
- package/dist/face-info/landmarks.d.ts +35 -0
- package/dist/face-info/types.d.ts +69 -0
- package/dist/gestures/definitions.d.ts +98 -0
- package/dist/gestures/detector.d.ts +87 -0
- package/dist/gestures/index.d.ts +8 -0
- package/dist/gestures/measures.d.ts +114 -0
- package/dist/gestures/settings.d.ts +49 -0
- package/dist/getFaceInfo-BafgGT27.js +62 -0
- package/dist/getFaceInfo-BzlwHMjX.cjs +1 -0
- package/dist/hand/armFit.d.ts +46 -0
- package/dist/hand/armMask.d.ts +190 -0
- package/dist/hand/forearm.d.ts +114 -0
- package/dist/hand/handCutout.d.ts +23 -0
- package/dist/hand/handCutoutRegistry.d.ts +7 -0
- package/dist/hand/handEffect.d.ts +38 -0
- package/dist/hand/handGestures.d.ts +524 -0
- package/dist/hand/handJoints2d.d.ts +49 -0
- package/dist/hand/handNail.d.ts +73 -0
- package/dist/hand/handPose.d.ts +98 -0
- package/dist/hand/handRigSolver.d.ts +159 -0
- package/dist/hand/handTattoo.d.ts +81 -0
- package/dist/hand/handTouch.d.ts +240 -0
- package/dist/hand/handTracking2d.d.ts +33 -0
- package/dist/hand/handTracking2dController.d.ts +65 -0
- package/dist/hand/handTracking3d.d.ts +52 -0
- package/dist/hand/nailImageMask.d.ts +40 -0
- package/dist/hand/nailMaskFingers.d.ts +23 -0
- package/dist/hand/nailTipRefine.d.ts +37 -0
- package/dist/hand/wrist.d.ts +44 -0
- package/dist/hand/wristFilter.d.ts +44 -0
- package/dist/hooks/faceResults.d.ts +1 -1
- package/dist/hooks/selectors.d.ts +77 -4
- package/dist/hooks/useBodies.d.ts +39 -0
- package/dist/hooks/useCalibrationFaceTracker.d.ts +1 -1
- package/dist/hooks/useFaceAction.d.ts +3 -0
- package/dist/hooks/useFaceAttributeExpression.d.ts +16 -0
- package/dist/hooks/useFaceDetection.d.ts +18 -0
- package/dist/hooks/useFaceInfo.d.ts +19 -0
- package/dist/hooks/useFaceInfos.d.ts +15 -0
- package/dist/hooks/useFaceModelAcquisition.d.ts +38 -0
- package/dist/hooks/useFaceResultReader.d.ts +10 -0
- package/dist/hooks/useFrameCapture.d.ts +18 -0
- package/dist/hooks/useGesture.d.ts +39 -0
- package/dist/hooks/useIrisTracking.d.ts +45 -0
- package/dist/hooks/useMediaRecorder.d.ts +14 -2
- package/dist/hooks/useOwnedTexture.d.ts +6 -0
- package/dist/hooks/useTrackerContext.d.ts +14 -2
- package/dist/hooks/useXRDiagnostics.d.ts +81 -0
- package/dist/hooks/useXRModel.d.ts +12 -0
- package/dist/hooks/useXRSession/facade.d.ts +47 -2
- package/dist/hooks/useXRSession/index.d.ts +2 -2
- package/dist/hooks/useXRSession/reason.d.ts +21 -0
- package/dist/hooks/useXRSession/registry.d.ts +23 -0
- package/dist/hooks/useXRSession/store.d.ts +64 -7
- package/dist/index-BZoBxyLn.js +1103 -0
- package/dist/index-By_LCo2V.cjs +1 -0
- package/dist/index-C-Mryx_u.cjs +21 -0
- package/dist/index-CKRN-xJp.js +3740 -0
- package/dist/index-CUldCMRl.js +188 -0
- package/dist/index-Cyk_VIZE.js +1432 -0
- package/dist/index-D-4w34GO.cjs +1 -0
- package/dist/index-DiIoHK_4.js +442 -0
- package/dist/index-Dv3WnY9n.cjs +46 -0
- package/dist/index-ItufYyHH.cjs +1 -0
- package/dist/index-S3gqudT6.cjs +1 -0
- package/dist/index-Sho4F4it.cjs +1 -0
- package/dist/index-iIQ9jBDb.js +240 -0
- package/dist/index-vr2ichWQ.js +190 -0
- package/dist/instructions.cjs +30 -0
- package/dist/instructions.js +1528 -0
- package/dist/internal-Bb9ZXbpr.cjs +1 -0
- package/dist/{internal-KOKJDxCG.js → internal-Gt1wn6Z3.js} +152 -127
- package/dist/internal.cjs +1 -1
- package/dist/internal.js +16 -9
- package/dist/iris/compute.d.ts +27 -0
- package/dist/iris/index.d.ts +4 -0
- package/dist/iris/lead.d.ts +19 -0
- package/dist/iris/types.d.ts +89 -0
- package/dist/landmarkMask-CvN-L5NT.cjs +1 -0
- package/dist/landmarkMask-DHivVjJm.js +225 -0
- package/dist/landmarks-BEjJXcnE.cjs +1 -0
- package/dist/landmarks-DtCAFV_m.js +76 -0
- package/dist/low-level.cjs +1 -1
- package/dist/low-level.js +1494 -629
- package/dist/main.cjs +1 -1
- package/dist/main.js +1306 -475
- package/dist/material/MaterialFill.d.ts +20 -0
- package/dist/material/MeshMaterial.d.ts +14 -0
- package/dist/material/index.d.ts +2 -0
- package/dist/models/Base/index.d.ts +49 -0
- package/dist/models/Body/index.d.ts +30 -1
- package/dist/models/Face/constants.d.ts +8 -0
- package/dist/models/Face/index.d.ts +5 -12
- package/dist/models/Face/rotation.d.ts +18 -0
- package/dist/models/Hand/GestureTracking.d.ts +1 -1
- package/dist/models/Hand/HandTracking.d.ts +19 -1
- package/dist/models/Holistic/index.d.ts +49 -0
- package/dist/models/Holistic/result.d.ts +68 -0
- package/dist/models/Segmentation/index.d.ts +6 -3
- package/dist/models/SemanticSegmentation/index.d.ts +31 -0
- package/dist/models/SemanticSegmentation/presets.d.ts +28 -0
- package/dist/models/index.d.ts +2 -0
- package/dist/models/nodeSource.d.ts +9 -0
- package/dist/particles/emission.d.ts +24 -0
- package/dist/particles/eyes.d.ts +24 -0
- package/dist/particles/glsl.d.ts +14 -0
- package/dist/particles/index.d.ts +10 -0
- package/dist/particles/motion.d.ts +42 -0
- package/dist/particles/presets.d.ts +12 -0
- package/dist/particles/ring.d.ts +58 -0
- package/dist/particles/selfTest.d.ts +53 -0
- package/dist/particles/settings.d.ts +127 -0
- package/dist/particles/shapes.d.ts +29 -0
- package/dist/particles/spawner.d.ts +71 -0
- package/dist/particles/system.d.ts +66 -0
- package/dist/particles.cjs +122 -0
- package/dist/particles.js +999 -0
- package/dist/product/ProductDimensions.d.ts +16 -0
- package/dist/product/ProductHotspot.d.ts +16 -0
- package/dist/product/ProductViewer.d.ts +9 -0
- package/dist/product/details.d.ts +53 -0
- package/dist/product/index.d.ts +14 -0
- package/dist/product/loadModelViewer.d.ts +4 -0
- package/dist/product/types.d.ts +71 -0
- package/dist/product/useProductAr.d.ts +37 -0
- package/dist/product/useProductDetails.d.ts +60 -0
- package/dist/product.cjs +1 -0
- package/dist/product.js +414 -0
- package/dist/providers-CEZQgz2s.cjs +62 -0
- package/dist/providers-CRuaD8bi.js +424 -0
- package/dist/quality/XRQualityController.d.ts +25 -0
- package/dist/quality/controller.d.ts +33 -0
- package/dist/quality/index.d.ts +6 -0
- package/dist/quality/types.d.ts +100 -0
- package/dist/quality/useXRQuality.d.ts +28 -0
- package/dist/render/layerStack.d.ts +29 -0
- package/dist/render/renderGroups.d.ts +47 -0
- package/dist/render/renderPasses.d.ts +26 -0
- package/dist/render/sceneBeforeRender.d.ts +12 -0
- package/dist/renderGroups-BADrepA1.cjs +1 -0
- package/dist/renderGroups-CNB99dZ2.js +152 -0
- package/dist/renderPasses-DgxUKn9b.cjs +158 -0
- package/dist/renderPasses-DuapJA6V.js +1290 -0
- package/dist/renderState-CJNmj5jz.js +39 -0
- package/dist/renderState-apSfg4eR.cjs +1 -0
- package/dist/scene-object/index.d.ts +146 -0
- package/dist/scene-object/runtimeRegistry.d.ts +14 -0
- package/dist/scene-object.cjs +1 -0
- package/dist/scene-object.js +40 -0
- package/dist/screen-image/screenImagePresets.d.ts +13 -0
- package/dist/screen-image/screenImageSettings.d.ts +57 -0
- package/dist/screen-text/screenTextPresets.d.ts +6 -0
- package/dist/screen-text/screenTextSettings.d.ts +147 -0
- package/dist/screen2d/coordinates.d.ts +107 -0
- package/dist/screen2d/index.d.ts +7 -0
- package/dist/screen2d/material-runtime.d.ts +32 -0
- package/dist/screen2d/screenTransform.d.ts +60 -0
- package/dist/screen2d/smoothing.d.ts +5 -0
- package/dist/screen2d/texture.d.ts +10 -0
- package/dist/screen2d/transform.d.ts +25 -0
- package/dist/screen2d/types.d.ts +90 -0
- package/dist/segmentation-BOZJdWFC.js +1911 -0
- package/dist/segmentation-J8GoNBvP.cjs +1 -0
- package/dist/segmentation2d/faceMemory.d.ts +28 -0
- package/dist/segmentation2d/faceRegions.d.ts +24 -0
- package/dist/segmentation2d/index.d.ts +9 -0
- package/dist/segmentation2d/maskUv.d.ts +23 -0
- package/dist/segmentation2d/rasterize.d.ts +14 -0
- package/dist/segmentation2d/types.d.ts +52 -0
- package/dist/selectors-BvJepq6H.js +196 -0
- package/dist/selectors-QB2qsaxy.cjs +1 -0
- package/dist/services/MetricsCollector/index.d.ts +7 -1
- package/dist/services/MetricsCollector/utils.d.ts +1 -1
- package/dist/session-BVX859as.cjs +31 -0
- package/dist/session-Cz8aie4K.js +493 -0
- package/dist/settings-BJ7FMBsO.js +111 -0
- package/dist/settings-C63FMBlF.cjs +1 -0
- package/dist/similarityFit-BFqHND2e.cjs +1 -0
- package/dist/similarityFit-Bbz-R8AY.js +91 -0
- package/dist/spring/index.d.ts +2 -0
- package/dist/spring/spring.d.ts +69 -0
- package/dist/spring/swing.d.ts +54 -0
- package/dist/subjects/index.d.ts +2 -0
- package/dist/subjects/select.d.ts +70 -0
- package/dist/subjects/types.d.ts +59 -0
- package/dist/texture/animatedTexture.d.ts +63 -0
- package/dist/texture/animationMath.d.ts +8 -0
- package/dist/texture/gifReader.d.ts +17 -0
- package/dist/texture/gifTextureSource.d.ts +16 -0
- package/dist/texture/sourceResolver.d.ts +30 -0
- package/dist/textures-BVwo9Z7z.js +38 -0
- package/dist/textures-DAfc61zz.cjs +1 -0
- package/dist/tracking/coordinates.d.ts +5 -0
- package/dist/tracking-config/apply.d.ts +57 -0
- package/dist/tracking-config/index.d.ts +7 -0
- package/dist/tracking-config/resolve.d.ts +25 -0
- package/dist/tracking-config/storage.d.ts +8 -0
- package/dist/tracking-config/types.d.ts +106 -0
- package/dist/tracking-config/useXRTrackingConfig.d.ts +38 -0
- package/dist/tracking.cjs +10 -1
- package/dist/tracking.js +1531 -294
- package/dist/trigger-D9L4GPmQ.js +3726 -0
- package/dist/trigger-DZ9vU7jo.cjs +147 -0
- package/dist/types/common.d.ts +11 -1
- package/dist/types/compositor.d.ts +21 -0
- package/dist/types/face.d.ts +21 -14
- package/dist/types/gesture-tracking.d.ts +2 -2
- package/dist/types/hand-tracking.d.ts +19 -2
- package/dist/types/holistic.d.ts +121 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/model.d.ts +22 -2
- package/dist/types/nodes.d.ts +83 -6
- package/dist/types/segmentation.d.ts +26 -0
- package/dist/types/session.d.ts +50 -4
- package/dist/types/tracking.d.ts +8 -2
- package/dist/types/util-types.d.ts +1 -1
- package/dist/useBodies-BYzJpQ4L.js +75 -0
- package/dist/useBodies-Cxpmx6Bb.cjs +1 -0
- package/dist/useFaceInfo-BzEUj2OI.js +75 -0
- package/dist/useFaceInfo-DlLRAVNw.cjs +1 -0
- package/dist/useFaceResultReader-Cc4Qrutf.js +61 -0
- package/dist/useFaceResultReader-D3jOQNKz.cjs +1 -0
- package/dist/useInstructionHold-DOu-RpCM.js +53 -0
- package/dist/useInstructionHold-DwJY1Alr.cjs +1 -0
- package/dist/useIrisTracking-Bz4uLDa7.js +6190 -0
- package/dist/useIrisTracking-DRGWgoNy.cjs +35 -0
- package/dist/useLandmarkPoseFit-Bg-h9BPb.cjs +1 -0
- package/dist/useLandmarkPoseFit-Bmb3h6Mw.js +87 -0
- package/dist/useXRCapabilities-B1KLckqw.js +30 -0
- package/dist/useXRCapabilities-CZlPUBjF.cjs +1 -0
- package/dist/utils/canonicalRigidLandmarks.d.ts +8 -0
- package/dist/utils/drawNormalizedCrop.d.ts +22 -0
- package/dist/utils/fns.d.ts +6 -3
- package/dist/utils/headOccluderFit.d.ts +42 -0
- package/dist/utils/integrity.d.ts +25 -26
- package/dist/utils/landmarkBounds.d.ts +1 -1
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/resolveNumFaces.d.ts +13 -0
- package/dist/utils/shoulderOccluderFit.d.ts +38 -0
- package/dist/utils/similarityFit.d.ts +23 -0
- package/dist/utils/updateThrottle.d.ts +2 -0
- package/dist/utils/useStableUniforms.d.ts +18 -0
- package/dist/utils/visionWasm.d.ts +18 -0
- package/dist/uv-BMFt19bg.cjs +1 -0
- package/dist/{index-BD-JWMjE.js → uv-DJU_XfmN.js} +15 -180
- package/dist/x-Co8jPhP0.js +127 -0
- package/dist/x-KC8E4Gaj.cjs +41 -0
- package/docs/MIGRATION_GUIDE.md +589 -0
- package/docs/SDK_DOCUMENTATION.md +1157 -0
- package/docs/api/adaptive-quality.mdx +104 -0
- package/docs/api/asset-lifecycle.mdx +78 -0
- package/docs/api/audio.mdx +36 -0
- package/docs/api/behavior-components.mdx +164 -0
- package/docs/api/body-instructions.mdx +287 -0
- package/docs/api/body-rig.mdx +384 -0
- package/docs/api/body-triggers.mdx +235 -0
- package/docs/api/camera-permission.mdx +142 -0
- package/docs/api/capture-recording.mdx +111 -0
- package/docs/api/coordinate-spaces.mdx +168 -0
- package/docs/api/cross-camera.mdx +89 -0
- package/docs/api/debug-ui-scene-editor.mdx +270 -0
- package/docs/api/diagnostics-calibration.mdx +97 -0
- package/docs/api/external-face-mesh.mdx +231 -0
- package/docs/api/face-actions.mdx +108 -0
- package/docs/api/face-attribute-expression.mdx +87 -0
- package/docs/api/face-binding-anchors.mdx +55 -0
- package/docs/api/face-character.mdx +157 -0
- package/docs/api/face-effects.mdx +28 -0
- package/docs/api/face-expression-controller.mdx +153 -0
- package/docs/api/face-info.mdx +118 -0
- package/docs/api/face-inset.mdx +204 -0
- package/docs/api/face-instructions.mdx +183 -0
- package/docs/api/face-liquify.mdx +196 -0
- package/docs/api/face-mesh.mdx +130 -0
- package/docs/api/face-morph.mdx +117 -0
- package/docs/api/face-painting.mdx +40 -0
- package/docs/api/face-reprojection.mdx +154 -0
- package/docs/api/face-retouching.mdx +81 -0
- package/docs/api/face-swap.mdx +350 -0
- package/docs/api/face-warp-3d.mdx +166 -0
- package/docs/api/faceless.mdx +143 -0
- package/docs/api/gestures.mdx +210 -0
- package/docs/api/hair.mdx +97 -0
- package/docs/api/hand-instructions.mdx +222 -0
- package/docs/api/hand-rig.mdx +661 -0
- package/docs/api/hand-touch.mdx +162 -0
- package/docs/api/head-occluder.mdx +563 -0
- package/docs/api/holistic-tracker.mdx +164 -0
- package/docs/api/instructions.mdx +323 -0
- package/docs/api/iris-tracking.mdx +247 -0
- package/docs/api/made-up-camera.mdx +131 -0
- package/docs/api/makeup-skin-tone.mdx +135 -0
- package/docs/api/makeup.mdx +353 -0
- package/docs/api/material-render-state.mdx +132 -0
- package/docs/api/multi-subject.mdx +185 -0
- package/docs/api/particles.mdx +183 -0
- package/docs/api/person-cutout.mdx +171 -0
- package/docs/api/pin-to-face-mesh.mdx +274 -0
- package/docs/api/product-ar.mdx +114 -0
- package/docs/api/product-details.mdx +78 -0
- package/docs/api/runtime-3d.mdx +316 -0
- package/docs/api/scene-object-store.mdx +213 -0
- package/docs/api/screen-image.mdx +67 -0
- package/docs/api/screen-shape.mdx +64 -0
- package/docs/api/screen-space-coordinates.mdx +75 -0
- package/docs/api/screen-text.mdx +39 -0
- package/docs/api/segmentation-overlay.mdx +301 -0
- package/docs/api/session-lifecycle.mdx +136 -0
- package/docs/api/texture-sources.mdx +74 -0
- package/docs/api/trackers.mdx +65 -0
- package/docs/api/tracking-config.mdx +108 -0
- package/docs/docs.json +121 -0
- package/docs/examples/lip-shaders.mdx +273 -0
- package/docs/examples/scene-object-recipes.mdx +194 -0
- package/docs/guides/face-atlas-template.svg +1 -0
- package/docs/guides/face-atlas-textures.mdx +186 -0
- package/docs/guides/face-texture-template.svg +1 -0
- package/docs/guides/harness-debug-ui.mdx +139 -0
- package/docs/guides/lip-effect-textures.mdx +368 -0
- package/docs/guides/lip-uv-template.png +0 -0
- package/docs/guides/lip-uv-template.svg +1 -0
- package/docs/guides/makeup-design-textures.mdx +109 -0
- package/docs/inspector/hierarchy-panel.mdx +51 -0
- package/docs/inspector/object-inspector-panel.mdx +51 -0
- package/docs/introduction.mdx +120 -0
- package/docs/scene-objects/overview.mdx +127 -0
- package/docs/scene-objects/render-groups.mdx +77 -0
- package/docs/scene-objects/runtime-rendering.mdx +75 -0
- package/docs/texture-api-consumer.md +84 -0
- package/package.json +86 -8
- package/settings.json +1998 -0
- package/dist/DebuggerUI-CEfdddkZ.cjs +0 -1
- package/dist/DebuggerUI-Dgop6Q6o.js +0 -269
- package/dist/components/FaceRetouch/retouchRegions.d.ts +0 -23
- package/dist/components/FaceRetouch/useFaceRetouchRegions.d.ts +0 -12
- package/dist/index-B5J4gzn2.cjs +0 -1
- package/dist/index-BVBVg96G.cjs +0 -1
- package/dist/index-CYMj26Ej.js +0 -1331
- package/dist/index-DtwHElmG.js +0 -157
- package/dist/index-PtFmD6B8.cjs +0 -1
- package/dist/internal-DH5d1Xnq.cjs +0 -1
- package/dist/modules/XRClient/index.d.ts +0 -9
- package/dist/modules/index.d.ts +0 -1
- package/dist/selectors-BHO6TnoC.js +0 -59
- package/dist/selectors-Bub0o3qy.cjs +0 -1
- package/dist/services/ApiService.d.ts +0 -12
- package/dist/types/client.d.ts +0 -3
- package/dist/useFaceResults-cpsSmKKc.js +0 -81
- package/dist/useFaceResults-hVUJYSEY.cjs +0 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { NormalizedLandmark } from '@mediapipe/tasks-vision';
|
|
2
|
+
import { TrackerPoint } from './common';
|
|
3
|
+
/** Which hands the holistic tracker publishes. Holistic is single-person: at most one left and one right hand. */
|
|
4
|
+
export type HolisticHandsOption = "both" | "left" | "right" | "none";
|
|
5
|
+
export type HolisticHandSide = "left" | "right";
|
|
6
|
+
export type HolisticTrackingStatus = "loading" | "ready" | "error";
|
|
7
|
+
/**
|
|
8
|
+
* Inference backend. `"auto"` (default) starts on the GPU and falls back to
|
|
9
|
+
* the CPU the first time the graph fails to run there: MediaPipe's holistic
|
|
10
|
+
* face-blendshape stage has no WebGL implementation, so with
|
|
11
|
+
* `outputFaceBlendshapes` the GPU path fails on the first frame.
|
|
12
|
+
*/
|
|
13
|
+
export type HolisticDelegate = "auto" | "GPU" | "CPU";
|
|
14
|
+
/** The backend actually running inference. */
|
|
15
|
+
export type HolisticActiveDelegate = "GPU" | "CPU";
|
|
16
|
+
/**
|
|
17
|
+
* Options the first acquirer passes to `XRModel.HOLISTIC_TRACKER`. The
|
|
18
|
+
* model-creation options (`modelUrl`, confidences, `outputFaceBlendshapes`)
|
|
19
|
+
* are fixed for the model's lifetime; the runtime subset
|
|
20
|
+
* (`HolisticRuntimeOptions`) can be changed live through `node.setOptions`.
|
|
21
|
+
*/
|
|
22
|
+
export type HolisticModelOptions = HolisticRuntimeOptions & {
|
|
23
|
+
/**
|
|
24
|
+
* Override the `.task` asset. Pre-release default: MediaPipe's published
|
|
25
|
+
* holistic landmarker on `storage.googleapis.com`, integrity-verified; the
|
|
26
|
+
* SDK CDN copy is not published yet and will become the default when it is.
|
|
27
|
+
* Set this to a self-hosted copy to drop the third-party dependency; a custom
|
|
28
|
+
* URL is fetched best-effort.
|
|
29
|
+
*/
|
|
30
|
+
modelUrl?: string;
|
|
31
|
+
/** Face detector confidence, 0..1. MediaPipe default 0.5. */
|
|
32
|
+
minFaceDetectionConfidence?: number;
|
|
33
|
+
/** Face presence confidence for the landmark stage, 0..1. MediaPipe default 0.5. */
|
|
34
|
+
minFacePresenceConfidence?: number;
|
|
35
|
+
/** Pose detector confidence, 0..1. MediaPipe default 0.5. */
|
|
36
|
+
minPoseDetectionConfidence?: number;
|
|
37
|
+
/** Pose presence confidence for the landmark stage, 0..1. MediaPipe default 0.5. */
|
|
38
|
+
minPosePresenceConfidence?: number;
|
|
39
|
+
/** Hand landmark confidence, 0..1. MediaPipe default 0.5. */
|
|
40
|
+
minHandLandmarksConfidence?: number;
|
|
41
|
+
/** Emit the 52 face blendshape scores. Default `true`. */
|
|
42
|
+
outputFaceBlendshapes?: boolean;
|
|
43
|
+
/** Inference backend policy. Default `"auto"`. */
|
|
44
|
+
delegate?: HolisticDelegate;
|
|
45
|
+
/** Inference cap (fps). Read by the session at run time; overrides `perf.targetFps`. */
|
|
46
|
+
targetFps?: number;
|
|
47
|
+
};
|
|
48
|
+
/** Options that can change while the model is running (last writer wins). */
|
|
49
|
+
export type HolisticRuntimeOptions = {
|
|
50
|
+
/** Hands to publish. Default `"both"`. */
|
|
51
|
+
hands?: HolisticHandsOption;
|
|
52
|
+
/**
|
|
53
|
+
* Longest side (px) of the frame handed to MediaPipe. The feed is
|
|
54
|
+
* downscaled to this before inference; outputs are normalized so consumers
|
|
55
|
+
* never see it. Default 768.
|
|
56
|
+
*/
|
|
57
|
+
analysisMaxDimension?: number;
|
|
58
|
+
/** Keep a lost face / hand / pose for this long (ms) before dropping it. Default 250. */
|
|
59
|
+
holdMs?: number;
|
|
60
|
+
/** While held, extrapolate along the last velocity for up to this long (ms). Default 0. */
|
|
61
|
+
predictMs?: number;
|
|
62
|
+
};
|
|
63
|
+
/** Live face stream: landmarks in MediaPipe image space, like `FaceTracker`'s `detectionResults`. */
|
|
64
|
+
export type HolisticFaceResult = {
|
|
65
|
+
/** 478 landmarks, normalized 0..1, top-left origin, Y down; `z` is tracker-relative depth. */
|
|
66
|
+
landmarks: NormalizedLandmark[];
|
|
67
|
+
/** Blendshape name → score (0..1). Empty when `outputFaceBlendshapes` is false. */
|
|
68
|
+
blendshapes: Record<string, number>;
|
|
69
|
+
/** 1 while detected; decays linearly to 0 over `holdMs` while held. */
|
|
70
|
+
confidence: number;
|
|
71
|
+
/** True when the stream is being replayed from memory after a dropout. */
|
|
72
|
+
held: boolean;
|
|
73
|
+
};
|
|
74
|
+
/** Live hand stream in SDK tracker coordinates, like `HandTracker`'s `coordinates`. */
|
|
75
|
+
export type HolisticHandResult = {
|
|
76
|
+
/**
|
|
77
|
+
* The person's anatomical side on every source. Holistic labels follow the
|
|
78
|
+
* image, so the SDK swaps them on the mirrored webcam feed; this matches
|
|
79
|
+
* what `HandTracker` reports on the same feed.
|
|
80
|
+
*/
|
|
81
|
+
handedness: HolisticHandSide;
|
|
82
|
+
/** 21 joints, center origin, X right, Y up, Z toward the viewer. */
|
|
83
|
+
landmarks: TrackerPoint[];
|
|
84
|
+
/** 21 joints in MediaPipe's metric world space (metres, wrist-relative, Y down). Not converted. */
|
|
85
|
+
worldLandmarks: TrackerPoint[];
|
|
86
|
+
/** 1 while detected; decays linearly to 0 over `holdMs` while held. */
|
|
87
|
+
confidence: number;
|
|
88
|
+
held: boolean;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Live pose stream in SDK tracker coordinates, like `BodyTracker`'s
|
|
92
|
+
* `getLandmarks2D()`. Unlike `BodyTracker`, left/right indices are the
|
|
93
|
+
* person's anatomical sides on every source (swapped on the mirrored webcam
|
|
94
|
+
* feed), so they agree with `leftHand` / `rightHand`.
|
|
95
|
+
*/
|
|
96
|
+
export type HolisticPoseResult = {
|
|
97
|
+
/** 33 landmarks, center origin, X right, Y up, Z toward the viewer. */
|
|
98
|
+
landmarks: TrackerPoint[];
|
|
99
|
+
/** 33 landmarks in MediaPipe's metric world space (metres, hip-relative, Y down). Not converted. */
|
|
100
|
+
worldLandmarks: TrackerPoint[];
|
|
101
|
+
/** Per-landmark visibility from MediaPipe (0..1), aligned with `landmarks`. */
|
|
102
|
+
visibility: number[];
|
|
103
|
+
/** Mean landmark visibility while detected; decays linearly to 0 over `holdMs` while held. */
|
|
104
|
+
confidence: number;
|
|
105
|
+
held: boolean;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* The unified holistic result. One object per model instance, mutated in
|
|
109
|
+
* place every frame; read it inside `useFrame` and treat it as read-only.
|
|
110
|
+
* A stream is `null` when it is neither detected nor held.
|
|
111
|
+
*/
|
|
112
|
+
export type HolisticResult = {
|
|
113
|
+
/** Bumped on every publish; `0` until the first inference. */
|
|
114
|
+
version: number;
|
|
115
|
+
/** `performance.now()` of the last publish. */
|
|
116
|
+
timestampMs: number;
|
|
117
|
+
face: HolisticFaceResult | null;
|
|
118
|
+
leftHand: HolisticHandResult | null;
|
|
119
|
+
rightHand: HolisticHandResult | null;
|
|
120
|
+
pose: HolisticPoseResult | null;
|
|
121
|
+
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export * from './client';
|
|
2
1
|
export * from './nodes';
|
|
3
2
|
export * from './session';
|
|
4
3
|
export * from './body';
|
|
5
4
|
export * from './face';
|
|
6
5
|
export * from './headBinding';
|
|
6
|
+
export * from './holistic';
|
|
7
7
|
export * from './model';
|
|
8
8
|
export * from './segmentation';
|
|
9
9
|
export * from './common';
|
package/dist/types/model.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XRSessionSourceKind } from './compositor';
|
|
2
2
|
/**
|
|
3
3
|
* Session-level performance config, set via `<XRProvider perf={...}>`. Trades
|
|
4
4
|
* tracking fidelity for lower GPU/CPU load and heat. Every field is optional;
|
|
@@ -29,12 +29,30 @@ export type XRPerfConfig = {
|
|
|
29
29
|
* the tight native-selfie framing users expect; set `1` for the widest FOV.
|
|
30
30
|
*/
|
|
31
31
|
cameraZoom?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Multiplier (0.25..1) on every tracker's analysis resolution. Lower =
|
|
34
|
+
* cheaper inference, coarser landmarks. The adaptive-quality controller
|
|
35
|
+
* drives it per tier; set it directly only with `quality={false}`.
|
|
36
|
+
*/
|
|
37
|
+
analysisScale?: number;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Session lifecycle behaviour, set via `<XRProvider lifecycle={...}>`.
|
|
41
|
+
*/
|
|
42
|
+
export type XRLifecycleConfig = {
|
|
43
|
+
/**
|
|
44
|
+
* Pause the whole session (blit loop, every model, the video element) while
|
|
45
|
+
* the tab is hidden and resume it when it returns. Off by default: a hidden
|
|
46
|
+
* tab already throttles RAF, and some flows (recording, picture-in-picture)
|
|
47
|
+
* must keep running. Turn it on for battery-sensitive single-page apps.
|
|
48
|
+
*/
|
|
49
|
+
pauseWhenHidden?: boolean;
|
|
32
50
|
};
|
|
33
51
|
export type RunModelParams = {
|
|
34
52
|
sourceCanvas: OffscreenCanvas | HTMLCanvasElement;
|
|
35
53
|
renderWidth: number;
|
|
36
54
|
renderHeight: number;
|
|
37
|
-
getSource?: () =>
|
|
55
|
+
getSource?: () => XRSessionSourceKind | undefined;
|
|
38
56
|
/**
|
|
39
57
|
* Cap the model's inference rate to this many frames per second. The model's
|
|
40
58
|
* RAF loop still runs at display rate, but the (expensive) MediaPipe detect
|
|
@@ -43,4 +61,6 @@ export type RunModelParams = {
|
|
|
43
61
|
* smoothness. See `session.perf.targetFps` and the per-tracker `targetFps`.
|
|
44
62
|
*/
|
|
45
63
|
targetFps?: number;
|
|
64
|
+
/** Multiplier on the model's analysis resolution (0.25..1); default 1. */
|
|
65
|
+
analysisScale?: number;
|
|
46
66
|
};
|
package/dist/types/nodes.d.ts
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import { FaceLandmarkerResult } from '@mediapipe/tasks-vision';
|
|
2
|
-
import { Texture } from 'three';
|
|
3
|
-
import {
|
|
1
|
+
import { FaceLandmarkerResult, HolisticLandmarkerResult } from '@mediapipe/tasks-vision';
|
|
2
|
+
import { Texture, Camera } from 'three';
|
|
3
|
+
import { TrackerPoint } from './common';
|
|
4
4
|
import { Face, FaceRawTrackingData } from './face';
|
|
5
5
|
import { GestureData } from './gesture-tracking';
|
|
6
|
-
import { HandData } from './hand-tracking';
|
|
7
|
-
import {
|
|
6
|
+
import { HandData, Handedness } from './hand-tracking';
|
|
7
|
+
import { TrackedBody } from '../body/bodyIdentity';
|
|
8
|
+
import { BodyPose } from '../body/bodyPose';
|
|
9
|
+
import { HandPose, HandPoses } from '../hand/handPose';
|
|
10
|
+
import { HolisticActiveDelegate, HolisticResult, HolisticRuntimeOptions, HolisticTrackingStatus } from './holistic';
|
|
11
|
+
import { SemanticMask } from '../segmentation2d/types';
|
|
12
|
+
import { SegmentationData, SemanticSegmentationStatus } from './segmentation';
|
|
8
13
|
export type XRModelNodeSegmentation = {
|
|
9
14
|
backgroundSegmentationMask?: Texture;
|
|
10
15
|
getMaskCanvas: () => HTMLCanvasElement | null;
|
|
11
16
|
getRawSegmentationData: () => SegmentationData | null;
|
|
17
|
+
/**
|
|
18
|
+
* `performance.now()` of the frame the current mask was made from (0 before
|
|
19
|
+
* the first), without reading the mask back. Optional for custom nodes.
|
|
20
|
+
*/
|
|
21
|
+
getMaskTimestampMs?: () => number;
|
|
12
22
|
/**
|
|
13
23
|
* Supply a high-resolution input source (raw <video>/<img>) so segmentation
|
|
14
24
|
* runs on native-resolution, uncropped frames instead of the small display-fit
|
|
@@ -16,12 +26,72 @@ export type XRModelNodeSegmentation = {
|
|
|
16
26
|
*/
|
|
17
27
|
setInputSource: (source: CanvasImageSource | null | undefined) => void;
|
|
18
28
|
};
|
|
29
|
+
/** Live state of `XRModel.SEMANTIC_SEGMENTATION`; functions read the model's current values. */
|
|
30
|
+
export type XRModelNodeSemanticSegmentation = {
|
|
31
|
+
/** Stable mask object in feed space, mutated in place; `version` 0 until the first inference. */
|
|
32
|
+
getMask: () => SemanticMask;
|
|
33
|
+
getStatus: () => SemanticSegmentationStatus;
|
|
34
|
+
getError: () => Error | null;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Live state of `XRModel.HOLISTIC_TRACKER`. One node object per model
|
|
38
|
+
* instance; every function reads the current value.
|
|
39
|
+
*/
|
|
40
|
+
export type XRModelNodeHolisticTracking = {
|
|
41
|
+
/** Unified, dropout-bridged result. Stable object mutated in place; `version` 0 until the first inference. */
|
|
42
|
+
getResult: () => HolisticResult;
|
|
43
|
+
/** The last raw MediaPipe result, unbridged and unconverted. */
|
|
44
|
+
getRawResult: () => HolisticLandmarkerResult | undefined;
|
|
45
|
+
getStatus: () => HolisticTrackingStatus;
|
|
46
|
+
getError: () => Error | null;
|
|
47
|
+
/** The backend running inference; `"CPU"` after an automatic fallback. */
|
|
48
|
+
getDelegate: () => HolisticActiveDelegate;
|
|
49
|
+
/** Change the runtime-tunable options without re-initializing the model. */
|
|
50
|
+
setOptions: (options: HolisticRuntimeOptions) => void;
|
|
51
|
+
};
|
|
19
52
|
export type XRModelNodeBodyTracking = {
|
|
20
|
-
getLandmarks2D: (bodyIndex?: number) =>
|
|
53
|
+
getLandmarks2D: (bodyIndex?: number) => TrackerPoint[] | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Per-landmark visibility (0..1, MediaPipe's estimate that the point is in
|
|
56
|
+
* frame and not occluded), in landmark order. Optional for custom nodes.
|
|
57
|
+
*/
|
|
58
|
+
getVisibility?: (bodyIndex?: number) => number[] | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* The body's 3D pose (metric world joints plus the image ones and
|
|
61
|
+
* visibility), sided as the person's own left / right on every feed — unlike
|
|
62
|
+
* `getLandmarks2D`, which keeps MediaPipe's image sides. `null` = no body at
|
|
63
|
+
* that index. Optional for custom nodes.
|
|
64
|
+
*/
|
|
65
|
+
getBodyPose?: (bodyIndex?: number) => BodyPose | null;
|
|
66
|
+
/**
|
|
67
|
+
* Every tracked body with a stable `id` (spatial identity: it stays with the
|
|
68
|
+
* person through result-order changes and dropouts under 250 ms), by id.
|
|
69
|
+
* Optional for custom nodes.
|
|
70
|
+
*/
|
|
71
|
+
getBodies?: () => readonly TrackedBody[];
|
|
72
|
+
/** The pose of the body with this `id`, or `null` when it is not tracked. */
|
|
73
|
+
getBodyPoseById?: (id: number) => BodyPose | null;
|
|
74
|
+
/**
|
|
75
|
+
* Ask the shared model to look for `count` bodies (capped at
|
|
76
|
+
* `XR_MAX_SUBJECTS.body.max`); it looks for the most any live request asks.
|
|
77
|
+
* Returns the release. Optional for custom nodes.
|
|
78
|
+
*/
|
|
79
|
+
requestBodies?: (owner: string, count: number) => () => void;
|
|
80
|
+
/** How many bodies the model looks for now. */
|
|
81
|
+
readonly numBodies?: number;
|
|
21
82
|
};
|
|
22
83
|
export type XRModelNodeHandTracking = {
|
|
84
|
+
hands?: HandData[];
|
|
85
|
+
/**
|
|
86
|
+
* Both hands by anatomical side, with stable identity through label flips
|
|
87
|
+
* and short dropouts (`assignHandPoses`). `null` = that hand is not tracked.
|
|
88
|
+
*/
|
|
89
|
+
poses?: HandPoses;
|
|
90
|
+
/** `poses[hand]`. */
|
|
91
|
+
getHandPose?: (hand: Handedness) => HandPose | null;
|
|
23
92
|
coordinates?: HandData["coordinates"];
|
|
24
93
|
gesture?: HandData["gesture"];
|
|
94
|
+
handedness?: HandData["handedness"];
|
|
25
95
|
};
|
|
26
96
|
export type XRModelNodeGestureTracking = {
|
|
27
97
|
coordinates?: GestureData["coordinates"];
|
|
@@ -29,7 +99,14 @@ export type XRModelNodeGestureTracking = {
|
|
|
29
99
|
};
|
|
30
100
|
export type XRModelNodeFaceTracking = {
|
|
31
101
|
detectionResults?: FaceLandmarkerResult;
|
|
102
|
+
/**
|
|
103
|
+
* How many faces the shared face model was started with (`numFaces` of the
|
|
104
|
+
* first consumer to start it; default 1). Read-only: the model reports at
|
|
105
|
+
* most this many faces until it is started again. Optional for custom nodes.
|
|
106
|
+
*/
|
|
107
|
+
readonly numFaces?: number;
|
|
32
108
|
getDetectionResults: () => FaceLandmarkerResult | undefined;
|
|
33
109
|
getFace: (faceIndex?: number) => Face | undefined;
|
|
34
110
|
getRawFaceTrackingData: (faceIndex?: number) => FaceRawTrackingData | undefined;
|
|
111
|
+
setCamera: (camera: Camera, faceIndex?: number) => void;
|
|
35
112
|
};
|
|
@@ -18,6 +18,11 @@ export type SegmentationData = {
|
|
|
18
18
|
maskData: Uint8Array | null;
|
|
19
19
|
width: number;
|
|
20
20
|
height: number;
|
|
21
|
+
/**
|
|
22
|
+
* `performance.now()` when the frame this mask comes from was segmented
|
|
23
|
+
* (the clock hand poses use): pair it with tracking from the same moment.
|
|
24
|
+
*/
|
|
25
|
+
timestampMs?: number;
|
|
21
26
|
};
|
|
22
27
|
export type SegmentationQuality = "low" | "medium" | "high";
|
|
23
28
|
export type SegmentationModelOptions = {
|
|
@@ -29,3 +34,24 @@ export type SegmentationModelOptions = {
|
|
|
29
34
|
*/
|
|
30
35
|
quality?: SegmentationQuality;
|
|
31
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Category-segmentation presets served by `XRModel.SEMANTIC_SEGMENTATION`.
|
|
39
|
+
* `hair` runs MediaPipe's Hair Segmenter (`bg` / `hair`); `multiclass` runs
|
|
40
|
+
* the Selfie Multiclass model (`bg`, `hair`, `body_skin`, `face_skin`,
|
|
41
|
+
* `clothes`, `others`); `nails` runs the SDK's fingernail segmenter (`bg` /
|
|
42
|
+
* `nail`, a 1.9 M-parameter U-Net, best with the short edge near 128 px).
|
|
43
|
+
* One preset per session: the first acquirer decides.
|
|
44
|
+
*/
|
|
45
|
+
export declare const SEMANTIC_SEGMENTATION_PRESETS: readonly ["hair", "multiclass", "nails"];
|
|
46
|
+
export type SemanticSegmentationPreset = (typeof SEMANTIC_SEGMENTATION_PRESETS)[number];
|
|
47
|
+
export type SemanticSegmentationModelOptions = {
|
|
48
|
+
preset?: SemanticSegmentationPreset;
|
|
49
|
+
/**
|
|
50
|
+
* Override the model asset URL. Defaults to the SDK CDN path for the
|
|
51
|
+
* preset, which is integrity-verified; a custom URL is fetched best-effort.
|
|
52
|
+
*/
|
|
53
|
+
modelUrl?: string;
|
|
54
|
+
/** Process-canvas scale relative to the feed: low 0.5, medium 0.75, high 1. Default medium. */
|
|
55
|
+
quality?: SegmentationQuality;
|
|
56
|
+
};
|
|
57
|
+
export type SemanticSegmentationStatus = "loading" | "ready" | "error";
|
package/dist/types/session.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { XRMediaSource, XRModel } from '../constants';
|
|
2
|
-
import { XRMediaSourceKind } from './compositor';
|
|
2
|
+
import { XRCameraFacing, XRCameraRequest, XRMediaSourceKind } from './compositor';
|
|
3
3
|
import { BodyModelOptions } from './body';
|
|
4
4
|
import { FaceModelOptions } from './face';
|
|
5
|
-
import {
|
|
5
|
+
import { HolisticModelOptions } from './holistic';
|
|
6
|
+
import { SegmentationModelOptions, SemanticSegmentationModelOptions } from './segmentation';
|
|
6
7
|
export declare enum SessionStatus {
|
|
7
8
|
ACTIVE = "ACTIVE",
|
|
8
9
|
DISABLED = "DISABLED"
|
|
@@ -18,6 +19,19 @@ export type Session = {
|
|
|
18
19
|
type SetMediaSourceWebcamParams = {
|
|
19
20
|
source: XRMediaSource.WEBCAM;
|
|
20
21
|
sourceKind?: "webcam";
|
|
22
|
+
/**
|
|
23
|
+
* Which camera to open: `user` (front, default) or `environment` (rear).
|
|
24
|
+
* Binding again with a different facing swaps the camera mid-session.
|
|
25
|
+
*/
|
|
26
|
+
facingMode?: XRCameraFacing;
|
|
27
|
+
/** A specific camera from `enumerateDevices()`; beats `facingMode` when set. */
|
|
28
|
+
deviceId?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Mirror override. Default: the front camera is mirrored (`sourceKind`
|
|
31
|
+
* `"webcam"`), the rear camera is drawn straight (`sourceKind`
|
|
32
|
+
* `"rear-camera"`). Set explicitly for a camera whose facing is unknown.
|
|
33
|
+
*/
|
|
34
|
+
mirrored?: boolean;
|
|
21
35
|
};
|
|
22
36
|
type SetMediaSourceStreamParams = {
|
|
23
37
|
source: XRMediaSource.STREAM;
|
|
@@ -44,9 +58,15 @@ export type RegisterXRPipelineParams = Array<{
|
|
|
44
58
|
} | {
|
|
45
59
|
model: XRModel.FACE_TRACKER;
|
|
46
60
|
options?: FaceModelOptions;
|
|
61
|
+
} | {
|
|
62
|
+
model: XRModel.HOLISTIC_TRACKER;
|
|
63
|
+
options?: HolisticModelOptions;
|
|
47
64
|
} | {
|
|
48
65
|
model: XRModel.BACKGROUND_SEGMENTATION;
|
|
49
66
|
options?: SegmentationModelOptions;
|
|
67
|
+
} | {
|
|
68
|
+
model: XRModel.SEMANTIC_SEGMENTATION;
|
|
69
|
+
options?: SemanticSegmentationModelOptions;
|
|
50
70
|
}>;
|
|
51
71
|
/**
|
|
52
72
|
* Public XR session surface. Returned by `useXRContext().session` and used
|
|
@@ -62,7 +82,10 @@ export type RegisterXRPipelineParams = Array<{
|
|
|
62
82
|
* Lifecycle:
|
|
63
83
|
*
|
|
64
84
|
* idle ──setMediaSource──> media-bound ──start──> running ──stop──> stopped
|
|
65
|
-
* ↑
|
|
85
|
+
* ↑ │ ↑ │
|
|
86
|
+
* │ pause │ │ resume │
|
|
87
|
+
* │ ▼ │ │
|
|
88
|
+
* │ paused ─┘ │
|
|
66
89
|
* └────────────reset──────────────────────┘
|
|
67
90
|
*/
|
|
68
91
|
export type XRSession = {
|
|
@@ -83,6 +106,21 @@ export type XRSession = {
|
|
|
83
106
|
* `stop()` + clear the model registry. Returns the session to `idle`.
|
|
84
107
|
*/
|
|
85
108
|
reset: () => Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Suspend a `running` session without releasing the camera: the feed loop
|
|
111
|
+
* stops, every model pauses, the video element pauses. No-op in any other
|
|
112
|
+
* state. `resume()` (or `start()`) continues with no rebind.
|
|
113
|
+
*/
|
|
114
|
+
pause: () => void;
|
|
115
|
+
/** Continue a `paused` session. No-op in any other state. */
|
|
116
|
+
resume: () => Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Open another camera (`facingMode` / `deviceId`, optional `mirrored`
|
|
119
|
+
* override) and keep going: models, lifecycle and scene stay; a
|
|
120
|
+
* `media-bound` / `stopped` session is started. Resolves to the facing the
|
|
121
|
+
* session ended up with (a single-camera device answers with what it has).
|
|
122
|
+
*/
|
|
123
|
+
switchCamera: (request?: XRCameraRequest) => Promise<XRCameraFacing>;
|
|
86
124
|
/**
|
|
87
125
|
* @deprecated Prefer `useXRModel(modelName, options)`. Kept as an
|
|
88
126
|
* additive shim for backwards compatibility — multiple calls are
|
|
@@ -95,8 +133,16 @@ export type XRSession = {
|
|
|
95
133
|
* dataURL. Use from a gesture or state callback (e.g. on capture trigger)
|
|
96
134
|
* to grab the visible frame as a photo. Returns the dataURL string.
|
|
97
135
|
*
|
|
98
|
-
* Throws `XRError` if
|
|
136
|
+
* Throws `XRError` if no active `<XRScene>` or `<XRMediaSurface>` capture
|
|
137
|
+
* target has mounted.
|
|
99
138
|
*/
|
|
100
139
|
captureFrame: () => string;
|
|
140
|
+
/**
|
|
141
|
+
* Captures the same active XRScene or XRMediaSurface composition as a
|
|
142
|
+
* MediaStream for use with `useMediaRecorder`.
|
|
143
|
+
*/
|
|
144
|
+
captureStream: (fps?: number) => MediaStream;
|
|
145
|
+
/** Current tracker-input frame. Read-only; reused and repainted by the session. */
|
|
146
|
+
getInputFrame: () => OffscreenCanvas | HTMLCanvasElement | null;
|
|
101
147
|
};
|
|
102
148
|
export {};
|
package/dist/types/tracking.d.ts
CHANGED
|
@@ -9,7 +9,13 @@
|
|
|
9
9
|
* The lists below are the v1 enumeration. New entries can be added
|
|
10
10
|
* non-breakingly as additional landmarks/joints become supported.
|
|
11
11
|
*/
|
|
12
|
-
export type FaceTarget = "face.forehead" | "face.noseTip" | "face.chin" | "face.leftEyeOuter" | "face.rightEyeOuter" | "face.leftCheek" | "face.rightCheek" | "face.mouthCenter";
|
|
12
|
+
export type FaceTarget = "face.custom" | "face.center" | "face.forehead" | "face.noseTip" | "face.chin" | "face.leftEyeOuter" | "face.rightEyeOuter" | "face.leftCheek" | "face.rightCheek" | "face.mouthCenter" | "face.leftEye" | "face.rightEye" | "face.leftEarlobe" | "face.rightEarlobe";
|
|
13
|
+
/** Face-local point: X/Y are clamped to [-1, 1], origin is face center, and +Z points toward camera. */
|
|
14
|
+
export type FaceCustomAnchorPoint = {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
z: number;
|
|
18
|
+
};
|
|
13
19
|
export type HandTarget = "hand.wrist" | "hand.thumbTip" | "hand.indexTip" | "hand.middleTip" | "hand.ringTip" | "hand.pinkyTip" | "hand.indexBase" | "hand.middleBase" | "hand.ringBase" | "hand.pinkyBase";
|
|
14
20
|
export type BodyTarget = "body.head" | "body.neck" | "body.leftShoulder" | "body.rightShoulder" | "body.leftElbow" | "body.rightElbow" | "body.leftWrist" | "body.rightWrist" | "body.leftHip" | "body.rightHip" | "body.leftKnee" | "body.rightKnee" | "body.leftAnkle" | "body.rightAnkle";
|
|
15
21
|
/**
|
|
@@ -20,7 +26,7 @@ export type TrackingTarget = FaceTarget | HandTarget | BodyTarget;
|
|
|
20
26
|
* Tracker type identifier exposed via tracker context.
|
|
21
27
|
*/
|
|
22
28
|
export type TrackerType = "face" | "hand" | "body";
|
|
23
|
-
export declare const FACE_TARGETS: readonly ["face.forehead", "face.noseTip", "face.chin", "face.leftEyeOuter", "face.rightEyeOuter", "face.leftCheek", "face.rightCheek", "face.mouthCenter"];
|
|
29
|
+
export declare const FACE_TARGETS: readonly ["face.center", "face.forehead", "face.noseTip", "face.chin", "face.leftEyeOuter", "face.rightEyeOuter", "face.leftCheek", "face.rightCheek", "face.mouthCenter", "face.leftEye", "face.rightEye", "face.leftEarlobe", "face.rightEarlobe", "face.custom"];
|
|
24
30
|
export declare const HAND_TARGETS: readonly ["hand.wrist", "hand.thumbTip", "hand.indexTip", "hand.middleTip", "hand.ringTip", "hand.pinkyTip", "hand.indexBase", "hand.middleBase", "hand.ringBase", "hand.pinkyBase"];
|
|
25
31
|
export declare const BODY_TARGETS: readonly ["body.head", "body.neck", "body.leftShoulder", "body.rightShoulder", "body.leftElbow", "body.rightElbow", "body.leftWrist", "body.rightWrist", "body.leftHip", "body.rightHip", "body.leftKnee", "body.rightKnee", "body.leftAnkle", "body.rightAnkle"];
|
|
26
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type Class<T> = new (...args:
|
|
1
|
+
export type Class<T> = new (...args: never[]) => T;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useFrame as S } from "@react-three/fiber";
|
|
2
|
+
import { useState as g, useRef as f, useCallback as M, useId as h, useEffect as j } from "react";
|
|
3
|
+
import { f as p, g as C, h as E, X as m, j as I } from "./index-CKRN-xJp.js";
|
|
4
|
+
import { u as v } from "./landmarks-DtCAFV_m.js";
|
|
5
|
+
const X = (t, o) => {
|
|
6
|
+
var r;
|
|
7
|
+
for (let n = 0; n < m.body.max; n += 1)
|
|
8
|
+
if (((r = t == null ? void 0 : t.getBodyPose) == null ? void 0 : r.call(t, n)) === o) return n;
|
|
9
|
+
return null;
|
|
10
|
+
}, _ = ({ bodyId: t, subject: o, numBodies: r }) => r ?? (t !== void 0 || o ? 2 : 1), T = (t, { bodyIndex: o = 0, bodyId: r, subject: n }, u = p) => {
|
|
11
|
+
var d, a;
|
|
12
|
+
const s = ((d = t == null ? void 0 : t.getBodies) == null ? void 0 : d.call(t)) ?? [], i = (e) => e ? { ...e, index: e.held ? null : X(t, e.pose) } : null;
|
|
13
|
+
if (r !== void 0)
|
|
14
|
+
return { body: i(s.find((e) => e.id === r)), memory: u };
|
|
15
|
+
if (n) {
|
|
16
|
+
const e = C(E(s), n, u);
|
|
17
|
+
return {
|
|
18
|
+
body: e.index === null ? null : i(s[e.index]),
|
|
19
|
+
memory: e.memory
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const c = ((a = t == null ? void 0 : t.getBodyPose) == null ? void 0 : a.call(t, o)) ?? null;
|
|
23
|
+
if (!c) return { body: null, memory: u };
|
|
24
|
+
const l = s.find((e) => e.pose === c);
|
|
25
|
+
return { body: { pose: c, id: (l == null ? void 0 : l.id) ?? null, held: !1, index: o }, memory: u };
|
|
26
|
+
}, R = (t, o = !0, r) => {
|
|
27
|
+
const n = h(), { ready: u, node: s } = v(
|
|
28
|
+
I.BODY_TRACKER,
|
|
29
|
+
r,
|
|
30
|
+
o
|
|
31
|
+
), i = Math.min(
|
|
32
|
+
m.body.max,
|
|
33
|
+
Math.max(1, Number.isFinite(t) ? Math.round(t) : 1)
|
|
34
|
+
);
|
|
35
|
+
return j(() => {
|
|
36
|
+
var c;
|
|
37
|
+
return (c = s == null ? void 0 : s.requestBodies) == null ? void 0 : c.call(s, n, i);
|
|
38
|
+
}, [s, n, i]), { ready: u, node: s };
|
|
39
|
+
}, Y = ({
|
|
40
|
+
numBodies: t = m.body.max,
|
|
41
|
+
active: o = !0
|
|
42
|
+
} = {}) => {
|
|
43
|
+
const { node: r } = R(t, o), [n, u] = g([]), s = f("");
|
|
44
|
+
return S(() => {
|
|
45
|
+
var l;
|
|
46
|
+
const i = (((l = r == null ? void 0 : r.getBodies) == null ? void 0 : l.call(r)) ?? []).map((d) => d.id), c = i.join(",");
|
|
47
|
+
c !== s.current && (s.current = c, u(i));
|
|
48
|
+
}), n;
|
|
49
|
+
}, w = ({
|
|
50
|
+
active: t = !0,
|
|
51
|
+
acquireOptions: o,
|
|
52
|
+
...r
|
|
53
|
+
} = {}) => {
|
|
54
|
+
const { ready: n, node: u } = R(_(r), t, o), s = f(r);
|
|
55
|
+
s.current = r;
|
|
56
|
+
const i = f(p), c = f(null), l = M(() => {
|
|
57
|
+
var x, B;
|
|
58
|
+
const a = s.current, e = (x = u == null ? void 0 : u.getBodies) == null ? void 0 : x.call(u), b = JSON.stringify([a.bodyId, a.subject, a.bodyIndex]);
|
|
59
|
+
if (e && ((B = c.current) == null ? void 0 : B.bodies) === e && c.current.key === b)
|
|
60
|
+
return c.current.body;
|
|
61
|
+
const y = T(u, a, i.current);
|
|
62
|
+
return i.current = y.memory, c.current = e ? { bodies: e, key: b, body: y.body } : null, y.body;
|
|
63
|
+
}, [u]), d = M(() => {
|
|
64
|
+
var y;
|
|
65
|
+
const { bodyId: a, subject: e, bodyIndex: b = 0 } = s.current;
|
|
66
|
+
return a !== void 0 || e ? ((y = l()) == null ? void 0 : y.index) ?? null : b;
|
|
67
|
+
}, [l]);
|
|
68
|
+
return { ready: n, node: u, read: l, index: d };
|
|
69
|
+
};
|
|
70
|
+
export {
|
|
71
|
+
Y as a,
|
|
72
|
+
_ as b,
|
|
73
|
+
T as r,
|
|
74
|
+
w as u
|
|
75
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const C=require("@react-three/fiber"),y=require("react"),b=require("./index-Sho4F4it.cjs"),E=require("./landmarks-BEjJXcnE.cjs"),_=(e,o)=>{var t;for(let c=0;c<b.XR_MAX_SUBJECTS.body.max;c+=1)if(((t=e==null?void 0:e.getBodyPose)==null?void 0:t.call(e,c))===o)return c;return null},R=({bodyId:e,subject:o,numBodies:t})=>t??(e!==void 0||o?2:1),S=(e,{bodyIndex:o=0,bodyId:t,subject:c},u=b.EMPTY_SUBJECT_MEMORY)=>{var a,d;const s=((a=e==null?void 0:e.getBodies)==null?void 0:a.call(e))??[],i=r=>r?{...r,index:r.held?null:_(e,r.pose)}:null;if(t!==void 0)return{body:i(s.find(r=>r.id===t)),memory:u};if(c){const r=b.selectSubject(b.bodyCandidates(s),c,u);return{body:r.index===null?null:i(s[r.index]),memory:r.memory}}const n=((d=e==null?void 0:e.getBodyPose)==null?void 0:d.call(e,o))??null;if(!n)return{body:null,memory:u};const l=s.find(r=>r.pose===n);return{body:{pose:n,id:(l==null?void 0:l.id)??null,held:!1,index:o},memory:u}},m=(e,o=!0,t)=>{const c=y.useId(),{ready:u,node:s}=E.useXRModel(b.XRModel.BODY_TRACKER,t,o),i=Math.min(b.XR_MAX_SUBJECTS.body.max,Math.max(1,Number.isFinite(e)?Math.round(e):1));return y.useEffect(()=>{var n;return(n=s==null?void 0:s.requestBodies)==null?void 0:n.call(s,c,i)},[s,c,i]),{ready:u,node:s}},j=({numBodies:e=b.XR_MAX_SUBJECTS.body.max,active:o=!0}={})=>{const{node:t}=m(e,o),[c,u]=y.useState([]),s=y.useRef("");return C.useFrame(()=>{var l;const i=(((l=t==null?void 0:t.getBodies)==null?void 0:l.call(t))??[]).map(a=>a.id),n=i.join(",");n!==s.current&&(s.current=n,u(i))}),c},T=({active:e=!0,acquireOptions:o,...t}={})=>{const{ready:c,node:u}=m(R(t),e,o),s=y.useRef(t);s.current=t;const i=y.useRef(b.EMPTY_SUBJECT_MEMORY),n=y.useRef(null),l=y.useCallback(()=>{var x,M;const d=s.current,r=(x=u==null?void 0:u.getBodies)==null?void 0:x.call(u),B=JSON.stringify([d.bodyId,d.subject,d.bodyIndex]);if(r&&((M=n.current)==null?void 0:M.bodies)===r&&n.current.key===B)return n.current.body;const f=S(u,d,i.current);return i.current=f.memory,n.current=r?{bodies:r,key:B,body:f.body}:null,f.body},[u]),a=y.useCallback(()=>{var f;const{bodyId:d,subject:r,bodyIndex:B=0}=s.current;return d!==void 0||r?((f=l())==null?void 0:f.index)??null:B},[l]);return{ready:c,node:u,read:l,index:a}};exports.bodySubjectCount=R;exports.resolveBody=S;exports.useBodyIds=j;exports.useBodySubject=T;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useMemo as x, useEffect as h, useCallback as p, useRef as R } from "react";
|
|
2
|
+
import { X as E, j as C, f as N, g as _ } from "./index-CKRN-xJp.js";
|
|
3
|
+
import { useThree as b } from "@react-three/fiber";
|
|
4
|
+
import { g as y } from "./getFaceInfo-BafgGT27.js";
|
|
5
|
+
import { u as T } from "./useFaceResultReader-Cc4Qrutf.js";
|
|
6
|
+
import { u as S } from "./landmarks-DtCAFV_m.js";
|
|
7
|
+
const X = ({
|
|
8
|
+
active: i = !0,
|
|
9
|
+
holdMs: l = 250,
|
|
10
|
+
numFaces: r = 1,
|
|
11
|
+
targetFps: s,
|
|
12
|
+
throttleMs: o = 16
|
|
13
|
+
} = {}) => {
|
|
14
|
+
const { camera: t } = b(), u = Number.isFinite(r) ? Math.min(E.face.max, Math.max(1, Math.round(r))) : 1, m = s !== void 0 && Number.isFinite(s) && s > 0 ? s : void 0, e = x(
|
|
15
|
+
() => ({
|
|
16
|
+
numFaces: u,
|
|
17
|
+
...m ? { targetFps: m } : {}
|
|
18
|
+
}),
|
|
19
|
+
[u, m]
|
|
20
|
+
), { node: n, ready: c } = S(
|
|
21
|
+
C.FACE_TRACKER,
|
|
22
|
+
e,
|
|
23
|
+
i
|
|
24
|
+
);
|
|
25
|
+
h(() => {
|
|
26
|
+
if (n)
|
|
27
|
+
for (let a = 0; a < e.numFaces; a += 1)
|
|
28
|
+
n.setCamera(t, a);
|
|
29
|
+
}, [e.numFaces, t, n]);
|
|
30
|
+
const d = p(
|
|
31
|
+
(a) => {
|
|
32
|
+
if (!n) return [];
|
|
33
|
+
const F = [];
|
|
34
|
+
for (let f = 0; f < a.faceLandmarks.length; f += 1) {
|
|
35
|
+
const M = y(n, a, f);
|
|
36
|
+
M && F.push(M);
|
|
37
|
+
}
|
|
38
|
+
return F;
|
|
39
|
+
},
|
|
40
|
+
[n]
|
|
41
|
+
);
|
|
42
|
+
return T({
|
|
43
|
+
enabled: i && c,
|
|
44
|
+
holdMs: Number.isFinite(l) ? Math.max(0, l) : 250,
|
|
45
|
+
node: n,
|
|
46
|
+
prepare: d,
|
|
47
|
+
throttleMs: Number.isFinite(o) ? Math.max(0, o) : 16
|
|
48
|
+
});
|
|
49
|
+
}, A = 4, J = ({
|
|
50
|
+
faceIndex: i = 0,
|
|
51
|
+
numFaces: l,
|
|
52
|
+
subject: r,
|
|
53
|
+
...s
|
|
54
|
+
} = {}) => {
|
|
55
|
+
const o = Number.isFinite(i) ? Math.max(0, Math.round(i)) : 0, t = X({
|
|
56
|
+
...s,
|
|
57
|
+
numFaces: Math.max(l ?? (r ? A : o + 1), o + 1)
|
|
58
|
+
}), u = R(N), m = JSON.stringify(r ?? null), e = x(() => {
|
|
59
|
+
if (!r) return null;
|
|
60
|
+
const n = t.map((c, d) => ({
|
|
61
|
+
index: d,
|
|
62
|
+
center: { x: c.bounds.centerX, y: c.bounds.centerY },
|
|
63
|
+
size: c.bounds.width
|
|
64
|
+
}));
|
|
65
|
+
return _(n, r, u.current);
|
|
66
|
+
}, [t, m]);
|
|
67
|
+
return h(() => {
|
|
68
|
+
e && (u.current = e.memory);
|
|
69
|
+
}, [e]), r ? e && e.index !== null ? t[e.index] ?? null : null : t[o] ?? null;
|
|
70
|
+
};
|
|
71
|
+
export {
|
|
72
|
+
A as D,
|
|
73
|
+
J as a,
|
|
74
|
+
X as u
|
|
75
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const i=require("react"),f=require("./index-Sho4F4it.cjs"),_=require("@react-three/fiber"),C=require("./getFaceInfo-BzlwHMjX.cjs"),N=require("./useFaceResultReader-D3jOQNKz.cjs"),b=require("./landmarks-BEjJXcnE.cjs"),h=({active:c=!0,holdMs:d=250,numFaces:r=1,targetFps:t,throttleMs:u=16}={})=>{const{camera:s}=_.useThree(),a=Number.isFinite(r)?Math.min(f.XR_MAX_SUBJECTS.face.max,Math.max(1,Math.round(r))):1,l=t!==void 0&&Number.isFinite(t)&&t>0?t:void 0,e=i.useMemo(()=>({numFaces:a,...l?{targetFps:l}:{}}),[a,l]),{node:n,ready:m}=b.useXRModel(f.XRModel.FACE_TRACKER,e,c);i.useEffect(()=>{if(n)for(let o=0;o<e.numFaces;o+=1)n.setCamera(s,o)},[e.numFaces,s,n]);const F=i.useCallback(o=>{if(!n)return[];const x=[];for(let M=0;M<o.faceLandmarks.length;M+=1){const R=C.getFaceInfoFromResults(n,o,M);R&&x.push(R)}return x},[n]);return N.useFaceResultReader({enabled:c&&m,holdMs:Number.isFinite(d)?Math.max(0,d):250,node:n,prepare:F,throttleMs:Number.isFinite(u)?Math.max(0,u):16})},E=4,T=({faceIndex:c=0,numFaces:d,subject:r,...t}={})=>{const u=Number.isFinite(c)?Math.max(0,Math.round(c)):0,s=h({...t,numFaces:Math.max(d??(r?E:u+1),u+1)}),a=i.useRef(f.EMPTY_SUBJECT_MEMORY),l=JSON.stringify(r??null),e=i.useMemo(()=>{if(!r)return null;const n=s.map((m,F)=>({index:F,center:{x:m.bounds.centerX,y:m.bounds.centerY},size:m.bounds.width}));return f.selectSubject(n,r,a.current)},[s,l]);return i.useEffect(()=>{e&&(a.current=e.memory)},[e]),r?e&&e.index!==null?s[e.index]??null:null:s[u]??null};exports.DEFAULT_POLICY_NUM_FACES=E;exports.useFaceInfo=T;exports.useFaceInfos=h;
|