@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,5 @@
|
|
|
1
|
+
import { DEFAULT_SCREEN_GRADIENT, MAX_SCREEN_GRADIENT_STOPS, normalizeScreenGradient, normalizeScreenGradientStops } from './defaults';
|
|
2
|
+
import { ScreenGradientMaterialProps } from './types';
|
|
3
|
+
export type { ScreenGradientMaterialProps, ScreenGradientSettings, ScreenGradientStop, ScreenGradientType, } from './types';
|
|
4
|
+
export { DEFAULT_SCREEN_GRADIENT, MAX_SCREEN_GRADIENT_STOPS, normalizeScreenGradient, normalizeScreenGradientStops, };
|
|
5
|
+
export declare const ScreenGradientMaterial: ({ opacity, value }: ScreenGradientMaterialProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const screenGradientVertexShader = "\n varying vec2 vPosition;\n void main() {\n vPosition = position.xy;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n";
|
|
2
|
+
export declare const screenGradientFragmentShader = "\n #define MAX_STOPS 8\n uniform vec3 stopColors[MAX_STOPS];\n uniform float stopOffsets[MAX_STOPS];\n uniform int stopCount;\n uniform int gradientType;\n uniform vec2 direction;\n uniform vec2 center;\n uniform float radius;\n uniform float angleOffset;\n uniform float opacity;\n varying vec2 vPosition;\n\n vec3 sampleGradient(float amount) {\n vec3 color = stopColors[0];\n for (int index = 1; index < MAX_STOPS; index++) {\n if (index >= stopCount) break;\n if (amount <= stopOffsets[index]) {\n float width = max(0.0001, stopOffsets[index] - stopOffsets[index - 1]);\n return mix(stopColors[index - 1], stopColors[index], clamp((amount - stopOffsets[index - 1]) / width, 0.0, 1.0));\n }\n color = stopColors[index];\n }\n return color;\n }\n\n void main() {\n vec2 delta = vPosition - center;\n float amount;\n if (gradientType == 1) {\n amount = clamp(length(delta) / radius, 0.0, 1.0);\n } else if (gradientType == 2) {\n amount = fract(atan(delta.y, delta.x) / 6.28318530718 + 0.5 + angleOffset);\n } else {\n amount = clamp(dot(delta, direction) + 0.5, 0.0, 1.0);\n }\n gl_FragColor = vec4(sampleGradient(amount), opacity);\n }\n";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type ScreenGradientType = "linear" | "radial" | "angular";
|
|
2
|
+
export type ScreenGradientStop = {
|
|
3
|
+
offset: number;
|
|
4
|
+
color: string;
|
|
5
|
+
};
|
|
6
|
+
export type ScreenGradientSettings = {
|
|
7
|
+
type: ScreenGradientType;
|
|
8
|
+
stops: ScreenGradientStop[];
|
|
9
|
+
angle: number;
|
|
10
|
+
center: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
radius: number;
|
|
15
|
+
};
|
|
16
|
+
export type ScreenGradientMaterialProps = {
|
|
17
|
+
value: ScreenGradientSettings;
|
|
18
|
+
opacity?: number;
|
|
19
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { default as defaultScreenImageUrl } from './assets/Default_square_image.png';
|
|
2
|
+
import { ScreenImageProps } from './types';
|
|
3
|
+
export declare function ScreenImage({ anchors, coordinateSpace, canvasSize, position, size, offsets, pivot, rotation, transform, onScreenTransformChange, transformGuideLayer, ...bodyProps }: ScreenImageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
4
|
+
export { defaultScreenImageUrl };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
export declare function DynamicTextureSync({ materialTexture, sourceTexture, onSourceSizeChange, }: {
|
|
3
|
+
materialTexture: THREE.Texture;
|
|
4
|
+
sourceTexture: THREE.Texture;
|
|
5
|
+
onSourceSizeChange: (size: {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}) => void;
|
|
9
|
+
}): null;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScreenImageProps } from '../types';
|
|
2
|
+
type ScreenImageBodyProps = Omit<ScreenImageProps, "anchors" | "coordinateSpace" | "canvasSize" | "position" | "size" | "offsets" | "pivot" | "transform"> & {
|
|
3
|
+
layoutSize?: {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare function ScreenImageBody({ name, source, src, fit, stretchMode, materialType, blendMode, backdropTexture: providedBackdropTexture, rotation, opacity, color, maskTexture, maskChannel, maskInvert, maskFeather, maskErode, flipX, flipY, renderOrder, transparent, alphaTest, overlay, visible, layoutSize, }: ScreenImageBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ScreenAnchorEdges, ScreenOffsetEdges } from '../../ScreenSpaceUI';
|
|
3
|
+
export declare function ScreenImageFrame({ anchors, offsets, pivot, rotation, children, }: {
|
|
4
|
+
anchors: ScreenAnchorEdges;
|
|
5
|
+
offsets: ScreenOffsetEdges;
|
|
6
|
+
pivot: [number, number];
|
|
7
|
+
rotation: number;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ScreenTransformGuideLayer } from '../../ScreenSpaceUI';
|
|
3
|
+
import { ScreenTransform2DSettings } from '../../../screen2d';
|
|
4
|
+
export declare function ScreenImageTransformFrame({ transform, guideLayer, onChange, children, }: {
|
|
5
|
+
transform: ScreenTransform2DSettings;
|
|
6
|
+
guideLayer: ScreenTransformGuideLayer;
|
|
7
|
+
onChange?: (next: ScreenTransform2DSettings) => void;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export type ScreenImageFit = "stretch" | "contain" | "cover";
|
|
2
|
+
export type ScreenImageStretchMode = "fit" | "fitWidth" | "fitHeight" | "center" | "stretch" | "fill" | "fillAndCut";
|
|
3
|
+
export type ScreenImageFittedRectInput = {
|
|
4
|
+
rectSize: {
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
};
|
|
8
|
+
textureSize?: {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
12
|
+
textureAspect?: number;
|
|
13
|
+
stretchMode?: ScreenImageStretchMode;
|
|
14
|
+
fit?: ScreenImageFit;
|
|
15
|
+
flipX?: boolean;
|
|
16
|
+
flipY?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export type ScreenImageFittedRect = {
|
|
19
|
+
rectAspect: number;
|
|
20
|
+
textureAspect: number;
|
|
21
|
+
scale: {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
};
|
|
25
|
+
size: {
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
};
|
|
29
|
+
uvRepeat: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
};
|
|
33
|
+
uvOffset: {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export type ScreenImageFitResolution = {
|
|
39
|
+
meshScale: [number, number, number];
|
|
40
|
+
guideScale: [number, number, number];
|
|
41
|
+
repeat: [number, number];
|
|
42
|
+
offset: [number, number];
|
|
43
|
+
};
|
|
44
|
+
export declare const resolveScreenImageStretchMode: (stretchMode: ScreenImageStretchMode | undefined, fit: ScreenImageFit | undefined) => ScreenImageStretchMode;
|
|
45
|
+
export declare const computeScreenImageFitResolution: (stretchMode: ScreenImageStretchMode, rectAspect: number, textureAspect: number, flipX: boolean, flipY: boolean, rectSize?: {
|
|
46
|
+
width: number;
|
|
47
|
+
height: number;
|
|
48
|
+
}, textureSize?: {
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
}) => ScreenImageFitResolution;
|
|
52
|
+
export declare const computeScreenImageFittedRect: ({ rectSize, textureSize, textureAspect: providedTextureAspect, stretchMode, fit, flipX, flipY, }: ScreenImageFittedRectInput) => ScreenImageFittedRect;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { ScreenImage, defaultScreenImageUrl } from './ScreenImage';
|
|
2
|
+
export { screenImageBlendModeOptions } from './utils/ScreenImageConstants';
|
|
3
|
+
export { resolveBlendProps } from './materials/ScreenImageBlendMaterial';
|
|
4
|
+
export { SCREEN_IMAGE_MASK_CHANNELS, resolveMaskChannelIndex, } from './materials/ScreenImageMaskMaterial';
|
|
5
|
+
export type { ScreenImageMaskChannel } from './materials/ScreenImageMaskMaterial';
|
|
6
|
+
export type { ScreenImageBlendMode, ScreenImageMaterialType, ScreenImageProps } from './types';
|
|
7
|
+
export type { ScreenImageSource } from './source';
|
|
8
|
+
export { getScreenImageTextureAspect, getScreenImageTextureSize, isDynamicScreenImageTexture, resolveScreenImageSource, } from './source';
|
|
9
|
+
export { computeScreenImageFitResolution, computeScreenImageFittedRect, resolveScreenImageStretchMode, } from './fit';
|
|
10
|
+
export type { ScreenImageFit, ScreenImageFittedRect, ScreenImageFittedRectInput, ScreenImageStretchMode, } from './fit';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScreenImageBlendMode } from '../types';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
export declare const ADVANCED_BLEND_MODES: Set<ScreenImageBlendMode>;
|
|
4
|
+
export type AdvancedBlendMode = Extract<ScreenImageBlendMode, "overlay" | "softLight" | "hardLight" | "difference" | "exclusion">;
|
|
5
|
+
export declare const advancedBlendModeIndices: Record<AdvancedBlendMode, number>;
|
|
6
|
+
export type BlendMaterialProps = Partial<Pick<THREE.Material, "blending" | "blendSrc" | "blendDst" | "blendEquation">>;
|
|
7
|
+
export declare const resolveBlendProps: (mode: ScreenImageBlendMode) => BlendMaterialProps;
|
|
8
|
+
export declare const advancedBlendVertexShader = "\nvarying vec2 vUv;\nvoid main(){vUv=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);}";
|
|
9
|
+
export declare const advancedBlendFragmentShader = "\nuniform sampler2D imageMap;uniform sampler2D backdropMap;uniform vec2 resolution;\nuniform vec3 tint;uniform float opacity;uniform float alphaTest;uniform int blendMode;varying vec2 vUv;\nfloat overlayChannel(float b,float s){return b<.5?2.*b*s:1.-2.*(1.-b)*(1.-s);}\nfloat hardLightChannel(float b,float s){return s<.5?2.*b*s:1.-2.*(1.-b)*(1.-s);}\nfloat softLightChannel(float b,float s){return s<.5?b-(1.-2.*s)*b*(1.-b):b+(2.*s-1.)*(sqrt(max(b,0.))-b);}\nvec3 applyAdvancedBlend(vec3 b,vec3 s){\nif(blendMode==0)return vec3(overlayChannel(b.r,s.r),overlayChannel(b.g,s.g),overlayChannel(b.b,s.b));\nif(blendMode==1)return vec3(softLightChannel(b.r,s.r),softLightChannel(b.g,s.g),softLightChannel(b.b,s.b));\nif(blendMode==2)return vec3(hardLightChannel(b.r,s.r),hardLightChannel(b.g,s.g),hardLightChannel(b.b,s.b));\nif(blendMode==3)return abs(b-s);return b+s-2.*b*s;}\nvoid main(){vec4 image=texture2D(imageMap,vUv)*vec4(tint,opacity);if(image.a<=alphaTest)discard;\nvec2 uv=gl_FragCoord.xy/max(resolution,vec2(1.));vec3 base=texture2D(backdropMap,uv).rgb;\nvec3 mixed=applyAdvancedBlend(base,image.rgb);gl_FragColor=vec4(mix(base,mixed,image.a),1.);\n#include <colorspace_fragment>\n}";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Which channel of a `maskTexture` carries coverage. */
|
|
2
|
+
export declare const SCREEN_IMAGE_MASK_CHANNELS: readonly ["alpha", "red", "green", "luminance"];
|
|
3
|
+
export type ScreenImageMaskChannel = (typeof SCREEN_IMAGE_MASK_CHANNELS)[number];
|
|
4
|
+
export declare const resolveMaskChannelIndex: (channel: ScreenImageMaskChannel | undefined) => number;
|
|
5
|
+
export declare const maskedVertexShader = "\nvarying vec2 vUv;\nvoid main(){vUv=uv;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.0);}";
|
|
6
|
+
/**
|
|
7
|
+
* Image × mask. Both are sampled through the image's fit transform (repeat /
|
|
8
|
+
* offset / flips), so a mask authored in the image's own space — a camera
|
|
9
|
+
* frame and its segmentation mask — stays aligned under cover-cropping.
|
|
10
|
+
*/
|
|
11
|
+
export declare const maskedFragmentShader = "\nuniform sampler2D imageMap;uniform sampler2D maskMap;uniform mat3 mapTransform;\nuniform vec3 tint;uniform float opacity;uniform float alphaTest;uniform int maskChannel;uniform float maskInvert;\nuniform float maskFeather;uniform float maskErode;uniform vec2 maskTexel;\nvarying vec2 vUv;\nfloat coverageAt(vec2 uv){\nvec4 m=texture2D(maskMap,uv);\nfloat c=maskChannel==0?m.a:maskChannel==1?m.r:maskChannel==2?m.g:dot(m.rgb,vec3(0.299,0.587,0.114));\nreturn mix(c,1.0-c,maskInvert);}\nvoid main(){\nvec2 uv=(mapTransform*vec3(vUv,1.0)).xy;\nvec4 image=texture2D(imageMap,uv);\nfloat coverage;\nif(maskFeather>0.0){\nvec2 step=maskTexel*maskFeather;\ncoverage=0.0;\nfor(int y=-1;y<=1;y++){for(int x=-1;x<=1;x++){coverage+=coverageAt(uv+vec2(float(x),float(y))*step);}}\ncoverage/=9.0;\n// Erode: raise the threshold on the blurred edge so the silhouette shrinks\n// by up to the feather radius (maskErode is a fraction of that width).\ncoverage=smoothstep(clamp(maskErode,0.0,0.95),1.0,coverage);\n}else{coverage=coverageAt(uv);}\nfloat alpha=image.a*opacity*coverage;\nif(alpha<=alphaTest)discard;\ngl_FragColor=vec4(image.rgb*tint,alpha);\n#include <colorspace_fragment>\n}";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type * as THREE from "three";
|
|
2
|
+
export type ScreenImageSource = {
|
|
3
|
+
kind: "default";
|
|
4
|
+
} | {
|
|
5
|
+
kind: "image";
|
|
6
|
+
src: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: "gif";
|
|
9
|
+
src: string;
|
|
10
|
+
} | {
|
|
11
|
+
kind: "texture";
|
|
12
|
+
texture: THREE.Texture;
|
|
13
|
+
};
|
|
14
|
+
export declare const resolveScreenImageSource: (source: ScreenImageSource | undefined, src: string | undefined) => ScreenImageSource;
|
|
15
|
+
export declare const getScreenImageTextureSize: (texture: THREE.Texture) => {
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Textures whose pixels change after upload: videos and any canvas-backed
|
|
21
|
+
* texture, including `OffscreenCanvas` sources such as the session camera
|
|
22
|
+
* feed. These need `needsUpdate` every frame to stay live.
|
|
23
|
+
*/
|
|
24
|
+
export declare const isDynamicScreenImageTexture: (texture: THREE.Texture) => boolean;
|
|
25
|
+
export declare const getScreenImageTextureAspect: (texture: THREE.Texture) => number;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ScreenAnchorEdges, ScreenOffsetEdges, ScreenTransformGuideLayer } from '../ScreenSpaceUI';
|
|
2
|
+
import { ScreenCanvasSize, ScreenCoordinateSpace, ScreenTransform2DSettings } from '../../screen2d';
|
|
3
|
+
import { ScreenImageFit, ScreenImageStretchMode } from './fit';
|
|
4
|
+
import { ScreenImageMaskChannel } from './materials/ScreenImageMaskMaterial';
|
|
5
|
+
import { ScreenImageSource } from './source';
|
|
6
|
+
import type * as THREE from "three";
|
|
7
|
+
export type ScreenImageMaterialType = "unlit" | "standardPBR" | "matcap";
|
|
8
|
+
export type ScreenImageBlendMode = "normal" | "add" | "subtract" | "multiply" | "screen" | "lighten" | "darken" | "overlay" | "softLight" | "hardLight" | "difference" | "exclusion";
|
|
9
|
+
export type ScreenImageProps = {
|
|
10
|
+
name?: string;
|
|
11
|
+
source?: ScreenImageSource;
|
|
12
|
+
src?: string;
|
|
13
|
+
anchors?: ScreenAnchorEdges;
|
|
14
|
+
coordinateSpace?: ScreenCoordinateSpace;
|
|
15
|
+
canvasSize?: ScreenCanvasSize;
|
|
16
|
+
position?: [number, number];
|
|
17
|
+
size?: [number, number];
|
|
18
|
+
rotation?: number;
|
|
19
|
+
offsets?: ScreenOffsetEdges;
|
|
20
|
+
pivot?: [number, number];
|
|
21
|
+
transform?: Partial<ScreenTransform2DSettings>;
|
|
22
|
+
onScreenTransformChange?: (next: ScreenTransform2DSettings) => void;
|
|
23
|
+
transformGuideLayer?: ScreenTransformGuideLayer;
|
|
24
|
+
/** @tweak label=Fit */
|
|
25
|
+
fit?: ScreenImageFit;
|
|
26
|
+
stretchMode?: ScreenImageStretchMode;
|
|
27
|
+
materialType?: ScreenImageMaterialType;
|
|
28
|
+
/** @tweak label="Blend mode" */
|
|
29
|
+
blendMode?: ScreenImageBlendMode;
|
|
30
|
+
backdropTexture?: THREE.Texture | null;
|
|
31
|
+
/** @tweak unit=ratio min=0 max=1 step=0.01 label=Opacity */
|
|
32
|
+
opacity?: number;
|
|
33
|
+
/** @tweak color label=Tint */
|
|
34
|
+
color?: THREE.ColorRepresentation;
|
|
35
|
+
/**
|
|
36
|
+
* Alpha mask in the image's own texture space: it is sampled through the
|
|
37
|
+
* same fit / crop / flip transform as the image, so a camera frame and its
|
|
38
|
+
* segmentation mask stay aligned. Takes precedence over advanced blend modes.
|
|
39
|
+
*/
|
|
40
|
+
maskTexture?: THREE.Texture | null;
|
|
41
|
+
/** Channel of `maskTexture` that carries coverage. Default `"alpha"`. */
|
|
42
|
+
maskChannel?: ScreenImageMaskChannel;
|
|
43
|
+
/** Keep where the mask is 0 instead of 1. */
|
|
44
|
+
maskInvert?: boolean;
|
|
45
|
+
/** Soften mask edges: 3×3 blur radius in mask texels. 0 = hard. */
|
|
46
|
+
maskFeather?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Shrink the kept region into the feathered edge, 0..1 of the feather
|
|
49
|
+
* width; removes fringe from the source. Needs `maskFeather` > 0.
|
|
50
|
+
*/
|
|
51
|
+
maskErode?: number;
|
|
52
|
+
/** @tweak label="Flip X" */
|
|
53
|
+
flipX?: boolean;
|
|
54
|
+
/** @tweak label="Flip Y" */
|
|
55
|
+
flipY?: boolean;
|
|
56
|
+
/** @tweak step=1 label="Render order" */
|
|
57
|
+
renderOrder?: number;
|
|
58
|
+
transparent?: boolean;
|
|
59
|
+
alphaTest?: number;
|
|
60
|
+
/** @tweak label=Overlay */
|
|
61
|
+
overlay?: boolean;
|
|
62
|
+
/** @tweak label=Visible */
|
|
63
|
+
visible?: boolean;
|
|
64
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScreenAnchorEdges, ScreenOffsetEdges } from '../../ScreenSpaceUI';
|
|
2
|
+
import { ScreenImageBlendMode } from '../types';
|
|
3
|
+
export declare const DEFAULT_SCREEN_IMAGE_ANCHORS: Required<ScreenAnchorEdges>;
|
|
4
|
+
export declare const DEFAULT_SCREEN_IMAGE_OFFSET: ScreenOffsetEdges;
|
|
5
|
+
export declare const DEFAULT_SCREEN_IMAGE_PIVOT: [number, number];
|
|
6
|
+
export declare const screenImageBlendModeOptions: Array<{
|
|
7
|
+
label: string;
|
|
8
|
+
value: ScreenImageBlendMode;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ScreenAnchorEdges } from '../../ScreenSpaceUI';
|
|
2
|
+
import { ScreenCanvasSize, ScreenCoordinateSpace } from '../../../screen2d';
|
|
3
|
+
export declare const toScreenTransformPivot: (pivot: [number, number]) => [number, number];
|
|
4
|
+
export declare const resolveScreenImageAnchors: (anchors: ScreenAnchorEdges | undefined, coordinateSpace: ScreenCoordinateSpace | undefined, canvasSize: ScreenCanvasSize | undefined, position: [number, number] | undefined, size: [number, number] | undefined) => ScreenAnchorEdges;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ScreenShapeSettings } from './types';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
export type ScreenShapePoint = [number, number, number];
|
|
4
|
+
export declare const buildScreenShapePath: (settings: ScreenShapeSettings) => ScreenShapePoint[];
|
|
5
|
+
export declare const createScreenShapeFill: (points: ScreenShapePoint[]) => THREE.Shape;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ScreenShapeProps, ScreenShapeSettings, ScreenShapeSettingsInput } from './types';
|
|
2
|
+
export type { ScreenShapeKind, ScreenShapeProps, ScreenShapeSettings, ScreenShapeSettingsInput, } from './types';
|
|
3
|
+
export declare const DEFAULT_SCREEN_SHAPE_SETTINGS: ScreenShapeSettings;
|
|
4
|
+
export declare const mergeScreenShapeSettings: (settings?: ScreenShapeSettingsInput) => ScreenShapeSettings;
|
|
5
|
+
export declare const ScreenShape: ({ name, onScreenTransformChange, renderOrder, settings: partialSettings, transform: partialTransform, transformGuideLayer, visible, }: ScreenShapeProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ScreenTransformGuideLayer } from '../ScreenSpaceUI';
|
|
2
|
+
import { ScreenTransform2DSettings } from '../../screen2d';
|
|
3
|
+
import { ScreenGradientSettings } from '../ScreenGradient';
|
|
4
|
+
import { ScreenGlassSettings } from '../ScreenGlass';
|
|
5
|
+
export type ScreenShapeKind = "circle" | "ellipse" | "rectangle" | "roundedRectangle" | "polygon" | "star" | "line";
|
|
6
|
+
export type ScreenShapeSettings = {
|
|
7
|
+
/** @tweak label=Shape */
|
|
8
|
+
kind: ScreenShapeKind;
|
|
9
|
+
/** @tweak color label="Fill colour" */
|
|
10
|
+
fillColor: string;
|
|
11
|
+
/** @tweak unit=ratio min=0 max=1 step=0.01 label="Fill opacity" */
|
|
12
|
+
fillOpacity: number;
|
|
13
|
+
/** @tweak label="Fill mode" */
|
|
14
|
+
fillMode: "solid" | "gradient" | "glass";
|
|
15
|
+
gradient: ScreenGradientSettings;
|
|
16
|
+
glass: ScreenGlassSettings;
|
|
17
|
+
/** @tweak color label="Stroke colour" */
|
|
18
|
+
strokeColor: string;
|
|
19
|
+
/** @tweak unit=ratio min=0 max=1 step=0.01 label="Stroke opacity" */
|
|
20
|
+
strokeOpacity: number;
|
|
21
|
+
/** @tweak unit=px min=0 step=0.5 label="Stroke width" */
|
|
22
|
+
strokeWidth: number;
|
|
23
|
+
/** @tweak unit=ratio min=0 max=0.5 step=0.01 label="Corner radius" */
|
|
24
|
+
cornerRadius: number;
|
|
25
|
+
/** @tweak min=3 max=12 step=1 label=Sides */
|
|
26
|
+
sides: number;
|
|
27
|
+
/** @tweak unit=ratio min=0.05 max=0.95 step=0.01 label="Inner radius" */
|
|
28
|
+
innerRadiusRatio: number;
|
|
29
|
+
/** @tweak label=Dashed */
|
|
30
|
+
dashed: boolean;
|
|
31
|
+
lineStart: {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
};
|
|
35
|
+
lineEnd: {
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export type ScreenShapeSettingsInput = Omit<Partial<ScreenShapeSettings>, "gradient" | "glass"> & {
|
|
41
|
+
gradient?: Partial<ScreenGradientSettings>;
|
|
42
|
+
glass?: Partial<ScreenGlassSettings>;
|
|
43
|
+
};
|
|
44
|
+
export type ScreenShapeProps = {
|
|
45
|
+
name?: string;
|
|
46
|
+
settings?: ScreenShapeSettingsInput;
|
|
47
|
+
transform?: Partial<ScreenTransform2DSettings>;
|
|
48
|
+
onScreenTransformChange?: (next: ScreenTransform2DSettings) => void;
|
|
49
|
+
transformGuideLayer?: ScreenTransformGuideLayer;
|
|
50
|
+
/** @tweak step=1 label="Render order" */
|
|
51
|
+
renderOrder?: number;
|
|
52
|
+
/** @tweak label=Visible */
|
|
53
|
+
visible?: boolean;
|
|
54
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ThreeEvent } from '@react-three/fiber';
|
|
2
|
+
export type ScreenTransformControlHandle = "move" | "pivot" | "rotateTopLeft" | "rotateTopRight" | "rotateBottomLeft" | "rotateBottomRight" | "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight";
|
|
3
|
+
export type ScreenTransformGuideProps = {
|
|
4
|
+
color?: string;
|
|
5
|
+
controlScale?: [number, number, number];
|
|
6
|
+
handleColor?: string;
|
|
7
|
+
onHandlePointerDown?: (handle: ScreenTransformControlHandle, event: ThreeEvent<PointerEvent>) => void;
|
|
8
|
+
opacity?: number;
|
|
9
|
+
pivot?: [number, number];
|
|
10
|
+
pivotScale?: [number, number, number];
|
|
11
|
+
renderOrder?: number;
|
|
12
|
+
showSideHandles?: boolean;
|
|
13
|
+
thickness?: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const ScreenTransformGuide: ({ color, controlScale, handleColor, onHandlePointerDown, opacity, pivot, pivotScale, renderOrder, showSideHandles, thickness, }: ScreenTransformGuideProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScreenTransform2DSettings } from '../../screen2d';
|
|
2
|
+
export type ScreenTransformGuideLayer = "scene" | "overlay";
|
|
3
|
+
export type ScreenTransformOverlayGuideProps = {
|
|
4
|
+
color?: string;
|
|
5
|
+
handleColor?: string;
|
|
6
|
+
onChange?: (next: ScreenTransform2DSettings) => void;
|
|
7
|
+
transform: ScreenTransform2DSettings;
|
|
8
|
+
};
|
|
9
|
+
export declare const ScreenTransformOverlayGuide: ({ color, handleColor, onChange, transform, }: ScreenTransformOverlayGuideProps) => null;
|
|
@@ -11,6 +11,7 @@ export type ScreenSpaceUIProps = {
|
|
|
11
11
|
/**
|
|
12
12
|
* Z position of the screen plane.
|
|
13
13
|
* Default: 0 (at the camera's focal plane)
|
|
14
|
+
* @tweak unit=m step=0.01 label=Depth
|
|
14
15
|
*/
|
|
15
16
|
depth?: number;
|
|
16
17
|
};
|
|
@@ -36,5 +37,7 @@ export type ScreenSpaceUIProps = {
|
|
|
36
37
|
*/
|
|
37
38
|
export declare const ScreenSpaceUI: ({ children, depth }: ScreenSpaceUIProps) => import("react/jsx-runtime").JSX.Element;
|
|
38
39
|
export { ScreenTransform } from './ScreenTransform';
|
|
40
|
+
export { ScreenTransformGuide } from './ScreenTransformGuide';
|
|
41
|
+
export { ScreenTransformOverlayGuide, type ScreenTransformGuideLayer, } from './ScreenTransformOverlayGuide';
|
|
39
42
|
export type { ScreenTransformProps, ScreenAnchorEdges, ScreenOffsetEdges, ResolvedScreenTransform, } from './ScreenTransform';
|
|
40
43
|
export { computeScreenTransform } from './ScreenTransform';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ScreenTransformGuideLayer } from '../../ScreenSpaceUI';
|
|
3
|
+
import { ScreenTransform2DSettings } from '../../../screen2d';
|
|
4
|
+
export declare function ScreenTextTransformFrame({ transform, guideLayer, onChange, children, }: {
|
|
5
|
+
transform: ScreenTransform2DSettings;
|
|
6
|
+
guideLayer: ScreenTransformGuideLayer;
|
|
7
|
+
onChange?: (next: ScreenTransform2DSettings) => void;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ScreenAnchorEdges } from '../ScreenSpaceUI';
|
|
2
|
+
import { ScreenTextVerticalAlign } from './types';
|
|
3
|
+
export declare const DEFAULT_SCREEN_TEXT_ASPECT = 2.5;
|
|
4
|
+
export declare const SCREEN_TEXT_GUIDE_COLOR = "#38bdf8";
|
|
5
|
+
export declare const SCREEN_TEXT_ANCHORS: Record<ScreenTextVerticalAlign, Required<ScreenAnchorEdges>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ScreenTextProps } from './types';
|
|
2
|
+
export { SCREEN_TEXT_ANCHORS } from './constants';
|
|
3
|
+
export { resolveScreenTextAnchors } from './utils/ScreenTextHelpers';
|
|
4
|
+
export { resolveScreenTextBendProps, resolveScreenTextLayoutTexture, } from './utils/ScreenTextMappings';
|
|
5
|
+
export type { ScreenTextBendSettings, ScreenTextProps, ScreenTextVerticalAlign } from './types';
|
|
6
|
+
export declare function ScreenText({ anchors, coordinateSpace, canvasSize, offsets, pivot, position, rotation, size, transform, screenTransform, onScreenTransformChange, transformGuideLayer, verticalAlign, ...textLabelProps }: ScreenTextProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TextBendPreset, TextLabelProps } from '../TextLabel';
|
|
2
|
+
import { ScreenAnchorEdges, ScreenTransformGuideLayer } from '../ScreenSpaceUI';
|
|
3
|
+
import { ScreenCanvasSize, ScreenCoordinateSpace, ScreenTransform2D, ScreenTransform2DSettings } from '../../screen2d';
|
|
4
|
+
export type ScreenTextVerticalAlign = "top" | "center" | "bottom";
|
|
5
|
+
export type ScreenTextBendSettings = {
|
|
6
|
+
preset: TextBendPreset;
|
|
7
|
+
strength: number;
|
|
8
|
+
};
|
|
9
|
+
export type ScreenTextProps = Omit<TextLabelProps, "aspect" | "position" | "rotation" | "scale"> & {
|
|
10
|
+
anchors?: ScreenAnchorEdges;
|
|
11
|
+
coordinateSpace?: ScreenCoordinateSpace;
|
|
12
|
+
canvasSize?: ScreenCanvasSize;
|
|
13
|
+
offsets?: ScreenTransform2D["offsets"];
|
|
14
|
+
pivot?: [number, number];
|
|
15
|
+
position?: [number, number];
|
|
16
|
+
rotation?: number;
|
|
17
|
+
size?: [number, number];
|
|
18
|
+
transform?: ScreenTransform2D;
|
|
19
|
+
screenTransform?: Partial<ScreenTransform2DSettings>;
|
|
20
|
+
onScreenTransformChange?: (next: ScreenTransform2DSettings) => void;
|
|
21
|
+
transformGuideLayer?: ScreenTransformGuideLayer;
|
|
22
|
+
verticalAlign?: ScreenTextVerticalAlign;
|
|
23
|
+
bend?: ScreenTextBendSettings;
|
|
24
|
+
showTransformGuides?: boolean;
|
|
25
|
+
};
|
|
26
|
+
export type ScreenTextBodyProps = Omit<ScreenTextProps, "anchors" | "coordinateSpace" | "canvasSize" | "offsets" | "pivot" | "position" | "rotation" | "size" | "transform"> & {
|
|
27
|
+
layoutSize?: {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ScreenTextProps, ScreenTextVerticalAlign } from '../types';
|
|
2
|
+
export declare function resolveScreenTextAnchors(verticalAlign?: ScreenTextVerticalAlign): Required<import('../..').ScreenAnchorEdges>;
|
|
3
|
+
export declare function resolveScreenTextTransformProps({ anchors, coordinateSpace, canvasSize, position, size, transform, pivot, verticalAlign, }: Pick<ScreenTextProps, "anchors" | "coordinateSpace" | "canvasSize" | "position" | "size" | "transform" | "pivot"> & {
|
|
4
|
+
verticalAlign: ScreenTextVerticalAlign;
|
|
5
|
+
}): {
|
|
6
|
+
resolvedAnchors: import('../..').ScreenAnchorEdges;
|
|
7
|
+
resolvedOffsets: {
|
|
8
|
+
left?: number;
|
|
9
|
+
right?: number;
|
|
10
|
+
top?: number;
|
|
11
|
+
bottom?: number;
|
|
12
|
+
} | undefined;
|
|
13
|
+
resolvedPivot: [number, number];
|
|
14
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TextBendPreset } from '../../TextLabel';
|
|
2
|
+
import { ScreenTextBendSettings } from '../types';
|
|
3
|
+
export declare function resolveScreenTextBendProps({ bend, bendPreset, bendStrength, }: {
|
|
4
|
+
bend?: ScreenTextBendSettings;
|
|
5
|
+
bendPreset?: TextBendPreset;
|
|
6
|
+
bendStrength?: number;
|
|
7
|
+
}): {
|
|
8
|
+
bendPreset: TextBendPreset | undefined;
|
|
9
|
+
bendStrength: number | undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare function resolveScreenTextLayoutTexture({ width, height, }: {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
}): {
|
|
15
|
+
aspect: number;
|
|
16
|
+
resolution: number;
|
|
17
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { SemanticMask } from '../../segmentation2d/types';
|
|
3
|
+
import { SegmentationOverlaySettings } from './settings';
|
|
4
|
+
import * as THREE from "three";
|
|
5
|
+
export type SegmentationOverlayMaterialContext = {
|
|
6
|
+
cameraTexture: THREE.Texture | null;
|
|
7
|
+
/**
|
|
8
|
+
* Class-index texture (red channel, 0..255 → index); nearest-filtered.
|
|
9
|
+
* Re-allocated when the mask changes size; the factory is re-run with the
|
|
10
|
+
* new texture, so read it from the context rather than caching it.
|
|
11
|
+
*/
|
|
12
|
+
maskTexture: THREE.Texture;
|
|
13
|
+
/** Feed UV → mask UV, including the row flip, mirror and source cover-fit. */
|
|
14
|
+
maskTransform: THREE.Matrix3;
|
|
15
|
+
/** Class indices the overlay selects, resolved from `label` against the mask; empty until the mask has data. */
|
|
16
|
+
labelIndices: number[];
|
|
17
|
+
mask: SemanticMask | null;
|
|
18
|
+
settings: SegmentationOverlaySettings;
|
|
19
|
+
};
|
|
20
|
+
export type SegmentationOverlayMaterialSpec = ReactNode | THREE.Material | ((context: SegmentationOverlayMaterialContext) => ReactNode | THREE.Material);
|
|
21
|
+
export type SegmentationOverlayProps = Partial<SegmentationOverlaySettings> & {
|
|
22
|
+
/** The mask to draw from: a provider hook's result or your own `SemanticMask`. */
|
|
23
|
+
mask: SemanticMask | null;
|
|
24
|
+
/** Optional image multiplied into the paint, sampled in screen UV (cover of the viewport). */
|
|
25
|
+
texture?: THREE.Texture | string;
|
|
26
|
+
/** Custom material (node, instance, or factory). Replaces the built-in look. */
|
|
27
|
+
material?: SegmentationOverlayMaterialSpec;
|
|
28
|
+
/** Default: just above the video background. */
|
|
29
|
+
renderOrder?: number;
|
|
30
|
+
visible?: boolean;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Draw one or more semantic regions of a mask as a screen-aligned 2D layer,
|
|
34
|
+
* tinted and composited over the camera feed. Covers the viewport exactly
|
|
35
|
+
* like `VideoBackground`, so feed-space masks need no coordinate work.
|
|
36
|
+
*/
|
|
37
|
+
export declare const SegmentationOverlay: ({ mask, texture, material, renderOrder, visible, ...settingsInput }: SegmentationOverlayProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SemanticMask } from '../../segmentation2d/types';
|
|
2
|
+
import { SegmentationOverlaySettings } from './settings';
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
/** Up to this many labels can be selected by one overlay. */
|
|
5
|
+
export declare const MAX_OVERLAY_LABELS = 4;
|
|
6
|
+
export type SegmentationOverlayMaterialInputs = {
|
|
7
|
+
cameraTexture: THREE.Texture | null;
|
|
8
|
+
maskTexture: THREE.Texture;
|
|
9
|
+
mask: SemanticMask | null;
|
|
10
|
+
settings: SegmentationOverlaySettings;
|
|
11
|
+
/** Optional image sampled in screen UV and multiplied into the paint. */
|
|
12
|
+
designTexture?: THREE.Texture | null;
|
|
13
|
+
/** Feed (camera texture) size, for cover-fitting source-space masks. */
|
|
14
|
+
feedWidth?: number;
|
|
15
|
+
feedHeight?: number;
|
|
16
|
+
};
|
|
17
|
+
export declare const SEGMENTATION_OVERLAY_VERTEX_SHADER = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}";
|
|
18
|
+
export declare const SEGMENTATION_OVERLAY_FRAGMENT_SHADER = "\nuniform sampler2D cameraTexture;\nuniform sampler2D maskTexture;\nuniform sampler2D designTexture;\nuniform float useDesign;\nuniform vec4 labels;\nuniform float labelCount;\nuniform float invert;\nuniform vec3 tint;\nuniform float opacity;\nuniform float blendMode;\nuniform float feather;\nuniform vec2 maskTexel;\nuniform mat3 maskTransform;\nvarying vec2 vUv;\n\nfloat member(vec2 uv) {\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 0.0;\n float index = floor(texture2D(maskTexture, uv).r * 255.0 + 0.5);\n float m = 0.0;\n if (labelCount > 0.5 && abs(index - labels.x) < 0.5) m = 1.0;\n if (labelCount > 1.5 && abs(index - labels.y) < 0.5) m = 1.0;\n if (labelCount > 2.5 && abs(index - labels.z) < 0.5) m = 1.0;\n if (labelCount > 3.5 && abs(index - labels.w) < 0.5) m = 1.0;\n return invert > 0.5 ? 1.0 - m : m;\n}\n\nvoid main() {\n vec2 maskUv = (maskTransform * vec3(vUv, 1.0)).xy;\n float coverage;\n if (feather > 0.0) {\n vec2 step = maskTexel * feather;\n coverage = 0.0;\n for (int y = -1; y <= 1; y++) {\n for (int x = -1; x <= 1; x++) {\n coverage += member(maskUv + vec2(float(x), float(y)) * step);\n }\n }\n coverage /= 9.0;\n } else {\n coverage = member(maskUv);\n }\n\n vec3 base = texture2D(cameraTexture, vUv).rgb;\n vec4 design = useDesign > 0.5 ? texture2D(designTexture, vUv) : vec4(1.0);\n vec3 paint = tint * design.rgb;\n vec3 blended = blendMode < 0.5\n ? paint\n : blendMode < 1.5\n ? base * paint\n : blendMode < 2.5\n ? 1.0 - (1.0 - base) * (1.0 - paint)\n : mix(2.0 * base * paint, 1.0 - 2.0 * (1.0 - base) * (1.0 - paint), step(0.5, base));\n\n gl_FragColor = vec4(blended, coverage * opacity * design.a);\n #include <colorspace_fragment>\n}";
|
|
19
|
+
/** The built-in overlay material as a plain three.js object (shareable across meshes). */
|
|
20
|
+
export declare const createSegmentationOverlayMaterial: () => THREE.ShaderMaterial;
|
|
21
|
+
/** Resolve the selected labels to class indices for a mask (unknown labels are skipped). */
|
|
22
|
+
export declare const resolveOverlayLabelIndices: (mask: Pick<SemanticMask, "labels"> | null, label: string | readonly string[]) => number[];
|
|
23
|
+
/**
|
|
24
|
+
* The class indices an overlay should draw right now: the resolved labels,
|
|
25
|
+
* or none while the mask is still at `version` 0 (no data yet). Shared by
|
|
26
|
+
* the built-in material and the custom-material context so both agree.
|
|
27
|
+
*/
|
|
28
|
+
export declare const resolveActiveOverlayLabelIndices: (mask: SemanticMask | null, label: string | readonly string[]) => number[];
|
|
29
|
+
export declare const updateSegmentationOverlayMaterial: (material: THREE.ShaderMaterial, { cameraTexture, maskTexture, mask, settings, designTexture, feedWidth, feedHeight, }: SegmentationOverlayMaterialInputs) => THREE.ShaderMaterial;
|
|
30
|
+
/** Own one overlay material and keep it in sync with the inputs on every render. */
|
|
31
|
+
export declare const useSegmentationOverlayMaterial: (inputs: SegmentationOverlayMaterialInputs) => THREE.ShaderMaterial;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SegmentationOverlay } from './SegmentationOverlay';
|
|
2
|
+
export type { SegmentationOverlayMaterialContext, SegmentationOverlayMaterialSpec, SegmentationOverlayProps, } from './SegmentationOverlay';
|
|
3
|
+
export { MAX_OVERLAY_LABELS, SEGMENTATION_OVERLAY_FRAGMENT_SHADER, SEGMENTATION_OVERLAY_VERTEX_SHADER, createSegmentationOverlayMaterial, resolveActiveOverlayLabelIndices, resolveOverlayLabelIndices, updateSegmentationOverlayMaterial, useSegmentationOverlayMaterial, } from './SegmentationOverlayMaterial';
|
|
4
|
+
export type { SegmentationOverlayMaterialInputs } from './SegmentationOverlayMaterial';
|
|
5
|
+
export { createSemanticMaskTexture, uploadSemanticMask, useSemanticMaskTexture, } from './maskTexture';
|
|
6
|
+
export { PERSON_MASK_LABELS, resolveMaskSize, useFaceRegionMask, useHairMask, usePersonMask, useSemanticSegmentationMask, } from './providers';
|
|
7
|
+
export type { SemanticSegmentationMaskResult, UseFaceRegionMaskOptions, UsePersonMaskOptions, UseSemanticSegmentationMaskOptions, } from './providers';
|
|
8
|
+
export { DEFAULT_SEGMENTATION_OVERLAY_SETTINGS, SEGMENTATION_OVERLAY_BLEND_MODES, SEGMENTATION_OVERLAY_SETTINGS_FIELDS, parseOverlayLabels, patchSegmentationOverlaySettings, resolveSegmentationOverlaySettings, } from './settings';
|
|
9
|
+
export type { SegmentationOverlayBlendMode, SegmentationOverlaySettings } from './settings';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SemanticMask } from '../../segmentation2d/types';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
/** One red byte per pixel holding the class index; nearest filtering keeps classes crisp. */
|
|
4
|
+
export declare const createSemanticMaskTexture: (width?: number, height?: number) => THREE.DataTexture;
|
|
5
|
+
/**
|
|
6
|
+
* Copy a mask into the texture, re-allocating when its size changed. Returns
|
|
7
|
+
* the texture to use (a new one when re-allocated; dispose the old one).
|
|
8
|
+
*/
|
|
9
|
+
export declare const uploadSemanticMask: (texture: THREE.DataTexture, mask: SemanticMask) => THREE.DataTexture;
|
|
10
|
+
type Uploaded = {
|
|
11
|
+
texture: THREE.DataTexture;
|
|
12
|
+
version: number;
|
|
13
|
+
mask: SemanticMask | null;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Keep a GPU copy of a mask in sync with its `version`. The returned holder
|
|
17
|
+
* is stable; call `sync()` once per frame (or render) before drawing.
|
|
18
|
+
*/
|
|
19
|
+
export declare const useSemanticMaskTexture: (mask: SemanticMask | null) => {
|
|
20
|
+
holder: Uploaded;
|
|
21
|
+
sync: () => THREE.DataTexture;
|
|
22
|
+
};
|
|
23
|
+
export {};
|