@vincentt-xr/sdk 2.0.0-alpha.0 → 2.0.0-alpha.2
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 +1813 -27
- package/dist/{DebuggerUI-CEfdddkZ.cjs → DebuggerUI-B45_Gb9d.cjs} +1 -1
- package/dist/{DebuggerUI-Dgop6Q6o.js → DebuggerUI-Cq28c18s.js} +1 -1
- package/dist/FaceMeshRenderer-6t8OsQhK.js +1195 -0
- package/dist/FaceMeshRenderer-lQLhYIW-.cjs +155 -0
- package/dist/FaceRetouch-CDrL0pXg.js +551 -0
- package/dist/FaceRetouch-DtNl8-4e.cjs +134 -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/components/Axes/index.d.ts +6 -0
- package/dist/components/FaceMesh/FaceMeshRenderer.d.ts +17 -0
- package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +22 -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 +9 -0
- package/dist/components/FaceMesh/canonical/parseCanonicalFaceModel.d.ts +2 -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 +5 -0
- 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 +9 -5
- package/dist/components/FaceRetouch/FaceRetouch.d.ts +47 -0
- package/dist/components/FaceRetouch/index.d.ts +2 -6
- package/dist/components/FaceRetouch/landmarkMask.d.ts +4 -6
- package/dist/components/FaceRetouch/useFaceRetouchMask.d.ts +4 -7
- package/dist/components/FaceTracker/index.d.ts +5 -3
- package/dist/components/FaceWarp3D/FaceWarp3DHead.d.ts +15 -0
- package/dist/components/FaceWarp3D/defaults.d.ts +37 -0
- package/dist/components/FaceWarp3D/index.d.ts +3 -0
- package/dist/components/FaceWarp3D/warp.d.ts +13 -0
- package/dist/components/HandJoints2D/index.d.ts +6 -0
- package/dist/components/HandTracker/index.d.ts +2 -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/LightObject/index.d.ts +20 -0
- package/dist/components/LookAt/index.d.ts +23 -0
- package/dist/components/MeshRenderer/index.d.ts +58 -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 +16 -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 +8 -0
- package/dist/components/ScreenImage/materials/ScreenImageBlendMaterial.d.ts +9 -0
- package/dist/components/ScreenImage/materials/ScreenImageMatcap.d.ts +3 -0
- package/dist/components/ScreenImage/source.d.ts +16 -0
- package/dist/components/ScreenImage/types.d.ts +37 -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 +41 -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 +2 -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/SequentialRenderPasses/index.d.ts +6 -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 +227 -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 +6 -6
- package/dist/components/XRScene/index.d.ts +14 -3
- 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 +19 -0
- package/dist/contexts-BKvTIayr.cjs +1 -0
- package/dist/contexts-Bk5zz_VR.js +214 -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-warp-3d/index.d.ts +6 -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 +29 -0
- package/dist/debug-ui/index.d.ts +46 -0
- package/dist/debug-ui/layer-panel/index.d.ts +18 -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 +9 -0
- package/dist/debug-ui/media-source/session.d.ts +12 -0
- package/dist/debug-ui/media-source.cjs +1 -0
- package/dist/debug-ui/media-source.js +9 -0
- package/dist/debug-ui/mesh-renderer-settings/index.d.ts +6 -0
- package/dist/debug-ui/object-inspector-panel/index.d.ts +25 -0
- package/dist/debug-ui/pin-to-mesh-settings/index.d.ts +10 -0
- package/dist/debug-ui/scene-editor/context.d.ts +38 -0
- package/dist/debug-ui/scene-editor/hierarchy-panel.d.ts +9 -0
- package/dist/debug-ui/scene-editor/index.d.ts +11 -0
- package/dist/debug-ui/scene-editor/inspector-panel.d.ts +7 -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 +9 -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 +9 -0
- package/dist/debug-ui/settings-panel/index.d.ts +38 -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/transform-3d-settings/index.d.ts +11 -0
- package/dist/debug-ui.cjs +10 -0
- package/dist/debug-ui.js +8861 -0
- package/dist/drawNormalizedCrop-B-7zU-Xw.cjs +1 -0
- package/dist/drawNormalizedCrop-CRdIDyl1.js +44 -0
- package/dist/entries/all.d.ts +1 -0
- package/dist/entries/core.d.ts +55 -4
- package/dist/entries/face-effects.d.ts +12 -8
- package/dist/entries/internal.d.ts +1 -1
- package/dist/entries/low-level.d.ts +21 -4
- package/dist/entries/scene-object.d.ts +10 -0
- package/dist/entries/tracking.d.ts +25 -2
- package/dist/face-action/index.d.ts +34 -0
- package/dist/face-attribute-expression/index.d.ts +10 -0
- package/dist/face-effects.cjs +1 -252
- package/dist/face-effects.js +1404 -2613
- 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 +21 -0
- package/dist/face-info/types.d.ts +52 -0
- package/dist/getFaceInfo-CyPAKh3h.cjs +1 -0
- package/dist/getFaceInfo-hUKMLFcr.js +118 -0
- package/dist/hand/handJoints2d.d.ts +49 -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/hooks/faceResults.d.ts +1 -1
- 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 +7 -0
- package/dist/hooks/useFaceInfos.d.ts +15 -0
- package/dist/hooks/useFaceResultReader.d.ts +10 -0
- package/dist/hooks/useFrameCapture.d.ts +18 -0
- package/dist/hooks/useMediaRecorder.d.ts +14 -2
- package/dist/hooks/useOwnedTexture.d.ts +6 -0
- package/dist/hooks/useTrackerContext.d.ts +2 -2
- package/dist/hooks/useXRSession/facade.d.ts +3 -0
- package/dist/hooks/useXRSession/registry.d.ts +9 -0
- package/dist/index-82aENaRq.cjs +1 -0
- package/dist/{index-BD-JWMjE.js → index-BgQAX8rs.js} +198 -134
- package/dist/index-CEc1CAmB.cjs +1 -0
- package/dist/index-CTHeBQOs.js +178 -0
- package/dist/index-D4bLzBr6.cjs +1 -0
- package/dist/index-DSpzjuqd.cjs +1 -0
- package/dist/index-Di70KWuY.js +2049 -0
- package/dist/index-DzEzkBIH.cjs +17 -0
- package/dist/{index-CYMj26Ej.js → index-JygePOwo.js} +565 -498
- package/dist/index-UC0Ux38E.js +111 -0
- package/dist/{internal-KOKJDxCG.js → internal-DuMPpcbp.js} +86 -80
- package/dist/internal-i2JkM85N.cjs +1 -0
- package/dist/internal.cjs +1 -1
- package/dist/internal.js +2 -2
- package/dist/low-level.cjs +1 -1
- package/dist/low-level.js +959 -632
- package/dist/main.cjs +1 -1
- package/dist/main.js +556 -455
- 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/Body/index.d.ts +1 -1
- package/dist/models/Face/index.d.ts +1 -0
- package/dist/models/Face/rotation.d.ts +3 -0
- package/dist/models/Hand/HandTracking.d.ts +2 -0
- package/dist/render/layerStack.d.ts +29 -0
- package/dist/render/renderGroups.d.ts +47 -0
- package/dist/render/renderPasses.d.ts +18 -0
- package/dist/renderGroups-C9QJrAXu.js +152 -0
- package/dist/renderGroups-Dvm1J4lW.cjs +1 -0
- package/dist/renderLayers-lDtL0_43.cjs +1 -0
- package/dist/renderLayers-zrK2pv5O.js +13 -0
- package/dist/renderPasses-CT5iBwtg.cjs +21 -0
- package/dist/renderPasses-CjgG_6kQ.js +1500 -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 +87 -0
- package/dist/screen2d/index.d.ts +7 -0
- package/dist/screen2d/material-runtime.d.ts +32 -0
- package/dist/screen2d/screenTransform.d.ts +47 -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/{selectors-Bub0o3qy.cjs → selectors-2QvO5RYY.cjs} +1 -1
- package/dist/{selectors-BHO6TnoC.js → selectors-Dw3C-gSk.js} +5 -5
- package/dist/services/MetricsCollector/index.d.ts +7 -1
- package/dist/services/MetricsCollector/utils.d.ts +1 -1
- package/dist/session-BChR4TgK.cjs +31 -0
- package/dist/session-C1StwN0f.js +363 -0
- package/dist/texture/animatedTexture.d.ts +61 -0
- package/dist/texture/animationMath.d.ts +8 -0
- package/dist/texture/sourceResolver.d.ts +30 -0
- package/dist/tracking.cjs +1 -1
- package/dist/tracking.js +582 -298
- package/dist/types/face.d.ts +1 -13
- package/dist/types/hand-tracking.d.ts +8 -0
- package/dist/types/index.d.ts +0 -1
- package/dist/types/nodes.d.ts +4 -1
- package/dist/types/session.d.ts +2 -0
- package/dist/types/tracking.d.ts +8 -2
- package/dist/types/util-types.d.ts +1 -1
- package/dist/useFaceInfo-C-WfMlYp.cjs +1 -0
- package/dist/useFaceInfo-CwsHZedC.js +62 -0
- package/dist/useFaceResults-CkFc1egZ.js +19 -0
- package/dist/useFaceResults-VcFdOUFV.cjs +1 -0
- package/dist/utils/drawNormalizedCrop.d.ts +22 -0
- package/dist/utils/integrity.d.ts +4 -25
- package/dist/utils/landmarkBounds.d.ts +1 -1
- package/dist/utils/logger.d.ts +2 -2
- 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 +1155 -0
- package/docs/api/audio.mdx +36 -0
- package/docs/api/behavior-components.mdx +164 -0
- package/docs/api/capture-recording.mdx +103 -0
- package/docs/api/debug-ui-scene-editor.mdx +249 -0
- package/docs/api/face-actions.mdx +104 -0
- package/docs/api/face-attribute-expression.mdx +87 -0
- package/docs/api/face-binding-anchors.mdx +53 -0
- package/docs/api/face-effects.mdx +19 -0
- package/docs/api/face-info.mdx +112 -0
- package/docs/api/face-mesh.mdx +98 -0
- package/docs/api/face-painting.mdx +33 -0
- package/docs/api/face-retouching.mdx +73 -0
- package/docs/api/material-render-state.mdx +132 -0
- package/docs/api/runtime-3d.mdx +311 -0
- package/docs/api/scene-object-store.mdx +213 -0
- package/docs/api/screen-image.mdx +41 -0
- package/docs/api/screen-shape.mdx +64 -0
- package/docs/api/screen-space-coordinates.mdx +41 -0
- package/docs/api/screen-text.mdx +39 -0
- package/docs/api/texture-sources.mdx +55 -0
- package/docs/api/trackers.mdx +46 -0
- package/docs/docs.json +70 -0
- package/docs/examples/scene-object-recipes.mdx +194 -0
- package/docs/guides/harness-debug-ui.mdx +139 -0
- package/docs/inspector/hierarchy-panel.mdx +51 -0
- package/docs/inspector/object-inspector-panel.mdx +51 -0
- package/docs/introduction.mdx +121 -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 +58 -0
- package/package.json +55 -7
- 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-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/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
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { TrackingTarget } from '../../types/tracking';
|
|
2
|
+
import { FaceCustomAnchorPoint, FaceTarget, TrackingTarget } from '../../types/tracking';
|
|
3
3
|
import * as THREE from "three";
|
|
4
|
+
export type TrackingAnchorSettings = {
|
|
5
|
+
target: FaceTarget;
|
|
6
|
+
customAnchorPoint: FaceCustomAnchorPoint;
|
|
7
|
+
offset: {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
z: number;
|
|
11
|
+
};
|
|
12
|
+
smoothing: number;
|
|
13
|
+
followFaceRoll: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const DEFAULT_TRACKING_ANCHOR: TrackingAnchorSettings;
|
|
4
16
|
/**
|
|
5
17
|
* Frame-rate-independent lerp factor for a given smoothing rate and frame
|
|
6
18
|
* delta: `alpha = 1 - e^(-smoothing*dt)`. Same rate produces the same visual
|
|
@@ -45,6 +57,8 @@ export type OneEuroState = {
|
|
|
45
57
|
* each axis independently. On the first sample it seeds without smoothing.
|
|
46
58
|
*/
|
|
47
59
|
export declare const stepOneEuro: (state: OneEuroState, sample: THREE.Vector3, dt: number, minCutoff: number, beta: number, dcutoff: number) => OneEuroState;
|
|
60
|
+
/** Apply the SDK's tuned One Euro parameters for a public smoothing value. */
|
|
61
|
+
export declare const stepTrackingSmoothing: (state: OneEuroState, sample: THREE.Vector3, dt: number, smoothing: number) => OneEuroState;
|
|
48
62
|
type TrackingAnchorProps = PropsWithChildren & {
|
|
49
63
|
/**
|
|
50
64
|
* Landmark/joint to attach to. The namespace prefix (`face.`, `hand.`,
|
|
@@ -52,6 +66,8 @@ type TrackingAnchorProps = PropsWithChildren & {
|
|
|
52
66
|
* mismatched anchors render `null` and emit a console warning.
|
|
53
67
|
*/
|
|
54
68
|
target: TrackingTarget;
|
|
69
|
+
/** Face-local point used only when target is `face.custom`. */
|
|
70
|
+
customAnchorPoint?: FaceCustomAnchorPoint;
|
|
55
71
|
/** Optional offset applied in the tracker's local frame after resolution. */
|
|
56
72
|
offset?: [number, number, number];
|
|
57
73
|
/**
|
|
@@ -70,5 +86,5 @@ type TrackingAnchorProps = PropsWithChildren & {
|
|
|
70
86
|
*/
|
|
71
87
|
smoothing?: number;
|
|
72
88
|
};
|
|
73
|
-
export declare const TrackingAnchor: ({ target, offset, smoothing, children, }: TrackingAnchorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
89
|
+
export declare const TrackingAnchor: ({ target, customAnchorPoint, offset, smoothing, children, }: TrackingAnchorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
74
90
|
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Group } from 'three';
|
|
3
|
+
export type Transform3DVector = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
z: number;
|
|
7
|
+
};
|
|
8
|
+
export type Transform3DSettings = {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
linked: {
|
|
11
|
+
position: boolean;
|
|
12
|
+
rotation: boolean;
|
|
13
|
+
scale: boolean;
|
|
14
|
+
};
|
|
15
|
+
showTransformControls: boolean;
|
|
16
|
+
transformControlMode: "translate" | "rotate" | "scale";
|
|
17
|
+
transformControlSpace: "local" | "world";
|
|
18
|
+
position: Transform3DVector;
|
|
19
|
+
rotation: Transform3DVector;
|
|
20
|
+
scale: Transform3DVector;
|
|
21
|
+
visible: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type Transform3DProps = {
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
objectRef?: (object: Group | null) => void;
|
|
26
|
+
onChange?: (next: Transform3DSettings) => void;
|
|
27
|
+
value: Transform3DSettings;
|
|
28
|
+
};
|
|
29
|
+
export declare const DEFAULT_TRANSFORM_3D: Transform3DSettings;
|
|
30
|
+
export declare const Transform3D: ({ children, objectRef, onChange, value }: Transform3DProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
import { XRLayerConfig, XRMediaLayout, XRMediaSourceKind } from '../../types/compositor';
|
|
3
3
|
export declare const XRMediaSurface: ({ canvasRef, imageRef, layer, layout, mirrored, sourceKind, videoRef, }: {
|
|
4
|
-
canvasRef: RefObject<HTMLCanvasElement>;
|
|
5
|
-
imageRef: RefObject<HTMLImageElement>;
|
|
4
|
+
canvasRef: RefObject<HTMLCanvasElement | null>;
|
|
5
|
+
imageRef: RefObject<HTMLImageElement | null>;
|
|
6
6
|
layer: XRLayerConfig;
|
|
7
7
|
layout: XRMediaLayout | null;
|
|
8
8
|
mirrored: boolean;
|
|
9
9
|
sourceKind: XRMediaSourceKind;
|
|
10
|
-
videoRef: RefObject<HTMLVideoElement>;
|
|
10
|
+
videoRef: RefObject<HTMLVideoElement | null>;
|
|
11
11
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export declare const XRTrackingOverlay: ({ canvasRef, controlInsetTop, debugVisible, fps, imageRef, layer, layout, mirrored, sourceKind, videoRef, viewportSize, }: {
|
|
13
|
-
canvasRef: RefObject<HTMLCanvasElement>;
|
|
13
|
+
canvasRef: RefObject<HTMLCanvasElement | null>;
|
|
14
14
|
controlInsetTop?: number;
|
|
15
15
|
debugVisible: boolean;
|
|
16
16
|
fps?: number;
|
|
17
|
-
imageRef: RefObject<HTMLImageElement>;
|
|
17
|
+
imageRef: RefObject<HTMLImageElement | null>;
|
|
18
18
|
layer: XRLayerConfig;
|
|
19
19
|
layout: XRMediaLayout | null;
|
|
20
20
|
mirrored: boolean;
|
|
21
21
|
sourceKind: XRMediaSourceKind;
|
|
22
|
-
videoRef: RefObject<HTMLVideoElement>;
|
|
22
|
+
videoRef: RefObject<HTMLVideoElement | null>;
|
|
23
23
|
viewportSize: {
|
|
24
24
|
width: number;
|
|
25
25
|
height: number;
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { CanvasProps } from '@react-three/fiber';
|
|
2
2
|
import { default as React, PropsWithChildren } from 'react';
|
|
3
|
-
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
export type XRSceneRenderOutputRequest = {
|
|
5
|
+
sceneColor?: boolean;
|
|
6
|
+
sceneDepth?: boolean;
|
|
7
|
+
excludeScreenUI?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type XRSceneRenderOutputs = {
|
|
10
|
+
sceneColorTexture: THREE.Texture | null;
|
|
11
|
+
sceneDepthTexture: THREE.Texture | null;
|
|
12
|
+
};
|
|
13
|
+
export type XRSceneProps = PropsWithChildren & {
|
|
4
14
|
style?: React.CSSProperties;
|
|
5
15
|
canvasProps?: CanvasProps & React.RefAttributes<HTMLCanvasElement>;
|
|
6
16
|
loadingComponent?: React.ReactNode;
|
|
@@ -10,6 +20,7 @@ type XRSceneProps = PropsWithChildren & {
|
|
|
10
20
|
width: number;
|
|
11
21
|
height: number;
|
|
12
22
|
};
|
|
23
|
+
renderOutputs?: XRSceneRenderOutputRequest;
|
|
24
|
+
onRenderOutputs?: (outputs: XRSceneRenderOutputs) => void;
|
|
13
25
|
};
|
|
14
|
-
export declare const XRScene: ({ style, canvasProps, children, loadingComponent, loadingTransitionDuration, errorComponent, renderTargetSize, }: XRSceneProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export {};
|
|
26
|
+
export declare const XRScene: ({ style, canvasProps, children, loadingComponent, loadingTransitionDuration, errorComponent, renderTargetSize, renderOutputs, onRenderOutputs, }: XRSceneProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XRViewportComponent } from './types';
|
|
2
|
+
export { computeViewportLayout, resolveViewportFitMode, resolveViewportSourceSelection, } from './layout';
|
|
3
|
+
export { useXRViewportRenderOutputs, useXRViewportState } from './contexts';
|
|
4
|
+
export { resolveViewportExternalFaces } from './hooks/useViewportExternalFaces';
|
|
5
|
+
export { resolveViewportSlotContent, resolveViewportSlots } from './slots';
|
|
6
|
+
export { useViewportMediaSource } from './hooks/useViewportMediaSource';
|
|
7
|
+
export { useViewportMediaTexture } from './hooks/useViewportMediaTexture';
|
|
8
|
+
export { useViewportPipeline } from './hooks/useViewportPipeline';
|
|
9
|
+
export { useViewportRenderOutputs, useViewportRenderState } from './hooks/useViewportRenderState';
|
|
10
|
+
export type { XRViewportFitMode, XRViewportMediaAssetOption, XRViewportMediaStrategy, XRViewportMode, XRViewportPreviewMode, XRViewportRenderOutputRequest, XRViewportRenderOutputs, XRViewportRenderState, XRViewportSize, XRViewportSourceConfig, XRViewportSourceKind, } from './types';
|
|
11
|
+
export declare const XRViewport: XRViewportComponent;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { XRViewportSourceKind } from '../types';
|
|
3
|
+
export declare const HiddenMedia: ({ imageRef, selectedSource, videoRef, }: {
|
|
4
|
+
imageRef: RefObject<HTMLImageElement>;
|
|
5
|
+
selectedSource: XRViewportSourceKind;
|
|
6
|
+
videoRef: RefObject<HTMLVideoElement>;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XRViewportMediaAssetOption } from '../types';
|
|
2
|
+
export declare const MediaAssetPicker: ({ dock, label, onChange, options, value, }: {
|
|
3
|
+
dock: "top-left" | "bottom-left";
|
|
4
|
+
label: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
options: XRViewportMediaAssetOption[];
|
|
7
|
+
value: string;
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XRViewportMediaAssetOption, XRViewportSourceKind } from '../types';
|
|
2
|
+
export declare const MediaControlStack: ({ dock, imageOptions, selectedImageId, selectedSource, selectedVideoId, setSelectedImageId, setSelectedSource, setSelectedVideoId, showMediaControls, videoOptions, }: {
|
|
3
|
+
dock: "top-left" | "bottom-left";
|
|
4
|
+
imageOptions: XRViewportMediaAssetOption[];
|
|
5
|
+
selectedImageId: string;
|
|
6
|
+
selectedSource: XRViewportSourceKind;
|
|
7
|
+
selectedVideoId: string;
|
|
8
|
+
setSelectedImageId: (value: string) => void;
|
|
9
|
+
setSelectedSource: (value: XRViewportSourceKind) => void;
|
|
10
|
+
setSelectedVideoId: (value: string) => void;
|
|
11
|
+
showMediaControls: boolean;
|
|
12
|
+
videoOptions: XRViewportMediaAssetOption[];
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode, RefObject } from 'react';
|
|
2
|
+
import { XRSceneRenderOutputs } from '../../XRScene';
|
|
3
|
+
import { XRViewportMediaAssetOption, XRViewportMode, XRViewportRenderOutputRequest, XRViewportSize, XRViewportSourceKind } from '../types';
|
|
4
|
+
import { XRMediaLayout } from '../../../types/compositor';
|
|
5
|
+
export declare const XRViewportLayers: ({ containerRef, displayCanvasRef, imageOptions, imageRef, layout, managesOwnMedia, mediaDock, mode, overlayContent, renderOutputs, sceneContent, selectedImageId, selectedSource, selectedVideoId, setSceneRenderOutputs, setSelectedImageId, setSelectedSource, setSelectedVideoId, showMediaControls, style, videoOptions, videoRef, viewportSize, mirrored, }: {
|
|
6
|
+
containerRef: RefObject<HTMLDivElement>;
|
|
7
|
+
displayCanvasRef: RefObject<HTMLCanvasElement>;
|
|
8
|
+
imageOptions: XRViewportMediaAssetOption[];
|
|
9
|
+
imageRef: RefObject<HTMLImageElement>;
|
|
10
|
+
layout: XRMediaLayout | null;
|
|
11
|
+
managesOwnMedia: boolean;
|
|
12
|
+
mediaDock: "top-left" | "bottom-left";
|
|
13
|
+
mode: XRViewportMode;
|
|
14
|
+
mirrored: boolean;
|
|
15
|
+
overlayContent: ReactNode;
|
|
16
|
+
renderOutputs: XRViewportRenderOutputRequest;
|
|
17
|
+
sceneContent: ReactNode;
|
|
18
|
+
selectedImageId: string;
|
|
19
|
+
selectedSource: XRViewportSourceKind;
|
|
20
|
+
selectedVideoId: string;
|
|
21
|
+
setSceneRenderOutputs: (outputs: XRSceneRenderOutputs) => void;
|
|
22
|
+
setSelectedImageId: (value: string) => void;
|
|
23
|
+
setSelectedSource: (value: XRViewportSourceKind) => void;
|
|
24
|
+
setSelectedVideoId: (value: string) => void;
|
|
25
|
+
showMediaControls: boolean;
|
|
26
|
+
style?: CSSProperties;
|
|
27
|
+
videoOptions: XRViewportMediaAssetOption[];
|
|
28
|
+
videoRef: RefObject<HTMLVideoElement>;
|
|
29
|
+
viewportSize: XRViewportSize;
|
|
30
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { XRViewportSourceKind } from './types';
|
|
2
|
+
export declare const DEFAULT_VIDEO_CONSTRAINTS: MediaStreamConstraints;
|
|
3
|
+
export declare const liveLayer: {
|
|
4
|
+
name: string;
|
|
5
|
+
clearColor: string;
|
|
6
|
+
pointerEvents: "none";
|
|
7
|
+
zIndex: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const uiLayer: {
|
|
10
|
+
name: string;
|
|
11
|
+
clearColor: string;
|
|
12
|
+
pointerEvents: "auto";
|
|
13
|
+
zIndex: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const sceneLayer: {
|
|
16
|
+
name: string;
|
|
17
|
+
clearColor: string;
|
|
18
|
+
pointerEvents: "auto";
|
|
19
|
+
zIndex: number;
|
|
20
|
+
};
|
|
21
|
+
export declare const MEDIA_OPTION_META: Record<XRViewportSourceKind, {
|
|
22
|
+
icon: string;
|
|
23
|
+
label: string;
|
|
24
|
+
}>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Context } from 'react';
|
|
2
|
+
import { XRViewportRenderOutputs, XRViewportRenderState } from './types';
|
|
3
|
+
export declare const XRViewportStateContext: Context<XRViewportRenderState | null>;
|
|
4
|
+
export declare const XRViewportRenderOutputsContext: Context<XRViewportRenderOutputs | null>;
|
|
5
|
+
export declare const useXRViewportState: () => XRViewportRenderState | null;
|
|
6
|
+
export declare const useXRViewportRenderOutputs: () => XRViewportRenderOutputs | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CalibrationMediaSourceKind } from '../../../hooks/useCalibrationFaceTracker';
|
|
2
|
+
import { XRModelNodeFaceTracking } from '../../../types/nodes';
|
|
3
|
+
export declare const resolveViewportExternalFaces: ({ detectionResults, selectedSource, }: {
|
|
4
|
+
detectionResults: ReturnType<XRModelNodeFaceTracking["getDetectionResults"]> | null | undefined;
|
|
5
|
+
selectedSource: CalibrationMediaSourceKind;
|
|
6
|
+
}) => import('../../../types').FaceTrackingResult[];
|
|
7
|
+
export declare const useViewportExternalFaces: ({ enabled, selectedSource, }: {
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
selectedSource: CalibrationMediaSourceKind;
|
|
10
|
+
}) => {
|
|
11
|
+
faces: import('../../../types').FaceTrackingResult[];
|
|
12
|
+
trackerStatus: "idle" | "ready";
|
|
13
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { XRViewportMediaAssetOption, XRViewportSize, XRViewportSourceKind } from '../types';
|
|
2
|
+
export declare const clearVideoElement: (video: HTMLVideoElement | null) => void;
|
|
3
|
+
export declare const clearImageElement: (image: HTMLImageElement | null) => void;
|
|
4
|
+
export declare const useViewportMediaSource: ({ enabled, imageAsset, selectedSource, videoAsset, }: {
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
imageAsset?: XRViewportMediaAssetOption;
|
|
7
|
+
selectedSource: XRViewportSourceKind;
|
|
8
|
+
videoAsset?: XRViewportMediaAssetOption;
|
|
9
|
+
}) => {
|
|
10
|
+
videoRef: import('react').RefObject<HTMLVideoElement>;
|
|
11
|
+
imageRef: import('react').RefObject<HTMLImageElement>;
|
|
12
|
+
stream: MediaStream | null;
|
|
13
|
+
mediaSize: XRViewportSize;
|
|
14
|
+
status: "idle" | "ready" | "error" | "requesting";
|
|
15
|
+
error: string | null;
|
|
16
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { XRViewportSourceKind } from '../types';
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
export declare const useViewportMediaTexture: ({ enabled, imageRef, selectedSource, status, videoRef, }: {
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
imageRef: RefObject<HTMLImageElement>;
|
|
7
|
+
selectedSource: XRViewportSourceKind;
|
|
8
|
+
status: "idle" | "requesting" | "ready" | "error";
|
|
9
|
+
videoRef: RefObject<HTMLVideoElement>;
|
|
10
|
+
}) => THREE.Texture | null;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { XRSceneRenderOutputs } from '../../XRScene';
|
|
2
|
+
import { XRViewportFitMode, XRViewportMediaAssetOption, XRViewportMediaStrategy, XRViewportPreviewMode, XRViewportRenderOutputRequest, XRViewportSourceConfig, XRViewportSourceKind } from '../types';
|
|
3
|
+
export declare const useViewportPipeline: ({ fitMode, imageOptions, initialImageId, initialMirrored, initialSource, initialVideoId, mediaStrategy, previewMode, renderOutputs, showMediaControlsByDefault, source, videoOptions, }: {
|
|
4
|
+
fitMode: XRViewportFitMode;
|
|
5
|
+
imageOptions: XRViewportMediaAssetOption[];
|
|
6
|
+
initialImageId?: string;
|
|
7
|
+
initialMirrored: boolean;
|
|
8
|
+
initialSource: XRViewportSourceKind;
|
|
9
|
+
initialVideoId?: string;
|
|
10
|
+
mediaStrategy: XRViewportMediaStrategy;
|
|
11
|
+
previewMode: XRViewportPreviewMode;
|
|
12
|
+
renderOutputs: XRViewportRenderOutputRequest;
|
|
13
|
+
showMediaControlsByDefault: boolean;
|
|
14
|
+
source?: XRViewportSourceConfig;
|
|
15
|
+
videoOptions: XRViewportMediaAssetOption[];
|
|
16
|
+
}) => {
|
|
17
|
+
containerRef: import('react').RefObject<HTMLDivElement>;
|
|
18
|
+
displayCanvasRef: import('react').RefObject<HTMLCanvasElement>;
|
|
19
|
+
displayMirrored: boolean;
|
|
20
|
+
layout: import('../../../types').XRMediaLayout | null;
|
|
21
|
+
managesOwnMedia: boolean;
|
|
22
|
+
media: {
|
|
23
|
+
videoRef: import('react').RefObject<HTMLVideoElement>;
|
|
24
|
+
imageRef: import('react').RefObject<HTMLImageElement>;
|
|
25
|
+
stream: MediaStream | null;
|
|
26
|
+
mediaSize: import('..').XRViewportSize;
|
|
27
|
+
status: "idle" | "ready" | "error" | "requesting";
|
|
28
|
+
error: string | null;
|
|
29
|
+
};
|
|
30
|
+
renderOutputState: import('..').XRViewportRenderOutputs;
|
|
31
|
+
renderState: import('..').XRViewportRenderState;
|
|
32
|
+
selectedImageId: string;
|
|
33
|
+
selectedSource: XRViewportSourceKind;
|
|
34
|
+
selectedVideoId: string;
|
|
35
|
+
setSceneRenderOutputs: import('react').Dispatch<import('react').SetStateAction<XRSceneRenderOutputs>>;
|
|
36
|
+
setSelectedImageId: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
37
|
+
setSelectedSource: import('react').Dispatch<import('react').SetStateAction<XRViewportSourceKind>>;
|
|
38
|
+
setSelectedVideoId: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
39
|
+
showMediaControls: boolean;
|
|
40
|
+
viewportSize: import('..').XRViewportSize;
|
|
41
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { XRViewportMediaAssetOption, XRViewportPreviewMode, XRViewportRenderOutputRequest, XRViewportRenderOutputs, XRViewportRenderState, XRViewportSize, XRViewportSourceKind } from '../types';
|
|
2
|
+
import { XRMediaLayout } from '../../../types/compositor';
|
|
3
|
+
import { FaceTrackingResult } from '../../../types/face';
|
|
4
|
+
import { XRSceneRenderOutputs } from '../../XRScene';
|
|
5
|
+
import type * as THREE from "three";
|
|
6
|
+
type InternalTrackerState = {
|
|
7
|
+
activeDelegate: "GPU" | "CPU" | null;
|
|
8
|
+
error: string | null;
|
|
9
|
+
faces: FaceTrackingResult[];
|
|
10
|
+
status: "idle" | "initializing" | "ready" | "error";
|
|
11
|
+
};
|
|
12
|
+
type ExternalTrackerState = {
|
|
13
|
+
faces: FaceTrackingResult[];
|
|
14
|
+
trackerStatus: "idle" | "ready";
|
|
15
|
+
};
|
|
16
|
+
export declare const useViewportRenderState: ({ externalTracker, imageOptions, layout, managesOwnMedia, mediaError, mediaFitMode, mediaSize, mediaStatus, mirrored, selectedImage, selectedImageId, selectedSource, selectedVideo, selectedVideoId, setMirrored, setSelectedImageId, setSelectedSource, setSelectedVideoId, setShowMediaControls, showMediaControls, tracker, videoOptions, viewportSize, }: {
|
|
17
|
+
externalTracker: ExternalTrackerState;
|
|
18
|
+
imageOptions: XRViewportMediaAssetOption[];
|
|
19
|
+
layout: XRMediaLayout | null;
|
|
20
|
+
managesOwnMedia: boolean;
|
|
21
|
+
mediaError: string | null;
|
|
22
|
+
mediaFitMode: Exclude<XRViewportRenderState["mediaFitMode"], "auto">;
|
|
23
|
+
mediaSize: XRViewportSize;
|
|
24
|
+
mediaStatus: XRViewportRenderState["mediaStatus"];
|
|
25
|
+
mirrored: boolean;
|
|
26
|
+
selectedImage?: XRViewportMediaAssetOption;
|
|
27
|
+
selectedImageId: string;
|
|
28
|
+
selectedSource: XRViewportSourceKind;
|
|
29
|
+
selectedVideo?: XRViewportMediaAssetOption;
|
|
30
|
+
selectedVideoId: string;
|
|
31
|
+
setMirrored: (value: boolean) => void;
|
|
32
|
+
setSelectedImageId: (value: string) => void;
|
|
33
|
+
setSelectedSource: (value: XRViewportSourceKind) => void;
|
|
34
|
+
setSelectedVideoId: (value: string) => void;
|
|
35
|
+
setShowMediaControls: (value: boolean) => void;
|
|
36
|
+
showMediaControls: boolean;
|
|
37
|
+
tracker: InternalTrackerState;
|
|
38
|
+
videoOptions: XRViewportMediaAssetOption[];
|
|
39
|
+
viewportSize: XRViewportSize;
|
|
40
|
+
}) => XRViewportRenderState;
|
|
41
|
+
export declare const useViewportRenderOutputs: ({ mediaTexture, previewMode, renderOutputs, sceneRenderOutputs, }: {
|
|
42
|
+
mediaTexture: THREE.Texture | null;
|
|
43
|
+
previewMode: XRViewportPreviewMode;
|
|
44
|
+
renderOutputs: XRViewportRenderOutputRequest;
|
|
45
|
+
sceneRenderOutputs: XRSceneRenderOutputs;
|
|
46
|
+
}) => XRViewportRenderOutputs;
|
|
47
|
+
export {};
|
|
@@ -1,101 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { FaceTrackingResult } from '../../types/face';
|
|
5
|
-
import { XRModelNodeFaceTracking } from '../../types/nodes';
|
|
6
|
-
export type XRViewportMode = "dom" | "r3f" | "hybrid";
|
|
7
|
-
export type XRViewportSourceKind = "webcam" | "image" | "video";
|
|
8
|
-
export type XRViewportFitMode = "auto" | "cover" | "contain";
|
|
9
|
-
export type XRViewportMediaStrategy = "internal" | "external";
|
|
10
|
-
export type XRViewportMediaAssetOption = {
|
|
11
|
-
id: string;
|
|
12
|
-
label: string;
|
|
13
|
-
src: string;
|
|
14
|
-
};
|
|
15
|
-
export type XRViewportSourceConfig = {
|
|
16
|
-
kind: "webcam";
|
|
17
|
-
} | {
|
|
18
|
-
kind: "image";
|
|
19
|
-
assetId?: string;
|
|
20
|
-
} | {
|
|
21
|
-
kind: "video";
|
|
22
|
-
assetId?: string;
|
|
23
|
-
};
|
|
24
|
-
export type XRViewportSize = {
|
|
25
|
-
width: number;
|
|
26
|
-
height: number;
|
|
27
|
-
};
|
|
28
|
-
export type XRViewportRenderState = {
|
|
29
|
-
activeDelegate: "GPU" | "CPU" | null;
|
|
30
|
-
faces: FaceTrackingResult[];
|
|
31
|
-
imageOptions: XRViewportMediaAssetOption[];
|
|
32
|
-
layout: XRMediaLayout | null;
|
|
33
|
-
mediaError: string | null;
|
|
34
|
-
mediaFitMode: Exclude<XRViewportFitMode, "auto">;
|
|
35
|
-
mediaLabel: string;
|
|
36
|
-
mediaStatus: "idle" | "requesting" | "ready" | "error";
|
|
37
|
-
mirrored: boolean;
|
|
38
|
-
selectedImageId: string;
|
|
39
|
-
selectedSource: XRViewportSourceKind;
|
|
40
|
-
selectedVideoId: string;
|
|
41
|
-
setMirrored: (value: boolean) => void;
|
|
42
|
-
setSelectedImageId: (value: string) => void;
|
|
43
|
-
setSelectedSource: (value: XRViewportSourceKind) => void;
|
|
44
|
-
setSelectedVideoId: (value: string) => void;
|
|
45
|
-
setShowMediaControls: (value: boolean) => void;
|
|
46
|
-
showMediaControls: boolean;
|
|
47
|
-
trackerError: string | null;
|
|
48
|
-
trackerStatus: "idle" | "initializing" | "ready" | "error";
|
|
49
|
-
videoOptions: XRViewportMediaAssetOption[];
|
|
50
|
-
viewportSize: XRViewportSize;
|
|
51
|
-
mediaSize: XRViewportSize;
|
|
52
|
-
};
|
|
53
|
-
type XRViewportProps = {
|
|
54
|
-
children?: ReactNode | ((state: XRViewportRenderState) => ReactNode);
|
|
55
|
-
fitMode?: XRViewportFitMode;
|
|
56
|
-
imageOptions?: XRViewportMediaAssetOption[];
|
|
57
|
-
initialImageId?: string;
|
|
58
|
-
initialMirrored?: boolean;
|
|
59
|
-
initialSource?: XRViewportSourceKind;
|
|
60
|
-
initialVideoId?: string;
|
|
61
|
-
mediaStrategy?: XRViewportMediaStrategy;
|
|
62
|
-
mediaDock?: "top-left" | "bottom-left";
|
|
63
|
-
mode?: XRViewportMode;
|
|
64
|
-
showMediaControlsByDefault?: boolean;
|
|
65
|
-
source?: XRViewportSourceConfig;
|
|
66
|
-
style?: CSSProperties;
|
|
67
|
-
videoOptions?: XRViewportMediaAssetOption[];
|
|
68
|
-
};
|
|
69
|
-
type XRViewportSlotProps = {
|
|
70
|
-
children?: ReactNode | ((state: XRViewportRenderState) => ReactNode);
|
|
71
|
-
};
|
|
72
|
-
type XRViewportComponent = ((props: XRViewportProps) => JSX.Element) & {
|
|
73
|
-
Scene: (props: XRViewportSlotProps) => JSX.Element;
|
|
74
|
-
Overlay: (props: XRViewportSlotProps) => JSX.Element;
|
|
75
|
-
};
|
|
76
|
-
export declare const resolveViewportFitMode: (fitMode: XRViewportFitMode, selectedSource: XRViewportSourceKind) => Exclude<XRViewportFitMode, "auto">;
|
|
77
|
-
export declare const resolveViewportSourceSelection: ({ imageOptions, initialImageId, initialSource, initialVideoId, source, videoOptions, }: {
|
|
78
|
-
imageOptions: XRViewportMediaAssetOption[];
|
|
79
|
-
initialImageId?: string;
|
|
80
|
-
initialSource?: XRViewportSourceKind;
|
|
81
|
-
initialVideoId?: string;
|
|
82
|
-
source?: XRViewportSourceConfig;
|
|
83
|
-
videoOptions: XRViewportMediaAssetOption[];
|
|
84
|
-
}) => {
|
|
85
|
-
selectedSource: XRViewportSourceKind;
|
|
86
|
-
selectedImageId: string;
|
|
87
|
-
selectedVideoId: string;
|
|
88
|
-
};
|
|
89
|
-
export declare const computeViewportLayout: (source: XRViewportSize, destination: XRViewportSize, fitMode: Exclude<XRViewportFitMode, "auto">) => XRMediaLayout | null;
|
|
90
|
-
export declare const resolveViewportSlots: (mode: XRViewportMode, children: ReactNode) => {
|
|
91
|
-
sceneContent: ReactNode;
|
|
92
|
-
overlayContent: ReactNode;
|
|
93
|
-
};
|
|
94
|
-
export declare const resolveViewportSlotContent: (content: ReactNode | ((state: XRViewportRenderState) => ReactNode), state: XRViewportRenderState) => ReactNode;
|
|
95
|
-
export declare const resolveViewportExternalFaces: ({ detectionResults, selectedSource, }: {
|
|
96
|
-
detectionResults: ReturnType<XRModelNodeFaceTracking["getDetectionResults"]> | null | undefined;
|
|
97
|
-
selectedSource: CalibrationMediaSourceKind;
|
|
98
|
-
}) => FaceTrackingResult[];
|
|
99
|
-
export declare const useXRViewportState: () => XRViewportRenderState | null;
|
|
100
|
-
export declare const XRViewport: XRViewportComponent;
|
|
101
|
-
export {};
|
|
1
|
+
export { XRViewport, resolveViewportExternalFaces, resolveViewportSlotContent, resolveViewportSlots, useXRViewportRenderOutputs, useXRViewportState, useViewportMediaSource, } from './XRViewport';
|
|
2
|
+
export { computeViewportLayout, resolveViewportFitMode, resolveViewportSourceSelection, } from './layout';
|
|
3
|
+
export type * from './types';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { XRMediaLayout } from '../../types/compositor';
|
|
2
|
+
import { XRViewportFitMode, XRViewportMediaAssetOption, XRViewportSize, XRViewportSourceConfig, XRViewportSourceKind } from './types';
|
|
3
|
+
export declare const resolveViewportFitMode: (fitMode: XRViewportFitMode, selectedSource: XRViewportSourceKind) => Exclude<XRViewportFitMode, "auto">;
|
|
4
|
+
export declare const resolveViewportSourceSelection: ({ imageOptions, initialImageId, initialSource, initialVideoId, source, videoOptions, }: {
|
|
5
|
+
imageOptions: XRViewportMediaAssetOption[];
|
|
6
|
+
initialImageId?: string;
|
|
7
|
+
initialSource?: XRViewportSourceKind;
|
|
8
|
+
initialVideoId?: string;
|
|
9
|
+
source?: XRViewportSourceConfig;
|
|
10
|
+
videoOptions: XRViewportMediaAssetOption[];
|
|
11
|
+
}) => {
|
|
12
|
+
selectedSource: XRViewportSourceKind;
|
|
13
|
+
selectedImageId: string;
|
|
14
|
+
selectedVideoId: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const computeViewportLayout: (source: XRViewportSize, destination: XRViewportSize, fitMode: Exclude<XRViewportFitMode, "auto">) => XRMediaLayout | null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { XRViewportComponent, XRViewportMode, XRViewportRenderState, XRViewportSlotProps } from './types';
|
|
3
|
+
export declare const XRViewportSceneSlot: {
|
|
4
|
+
({ children }: XRViewportSlotProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
displayName: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const XRViewportOverlaySlot: {
|
|
8
|
+
({ children }: XRViewportSlotProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const resolveViewportSlots: (mode: XRViewportMode, children: ReactNode) => {
|
|
12
|
+
sceneContent: ReactNode;
|
|
13
|
+
overlayContent: ReactNode;
|
|
14
|
+
};
|
|
15
|
+
export declare const resolveViewportSlotContent: (content: ReactNode | ((state: XRViewportRenderState) => ReactNode), state: XRViewportRenderState) => ReactNode;
|
|
16
|
+
export declare function attachXRViewportSlots(component: XRViewportComponent): XRViewportComponent;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { XRMediaLayout } from '../../types/compositor';
|
|
3
|
+
import { FaceTrackingResult } from '../../types/face';
|
|
4
|
+
import { RenderOutputKind } from '../../screen2d';
|
|
5
|
+
import type * as THREE from "three";
|
|
6
|
+
export type XRViewportMode = "dom" | "r3f" | "hybrid";
|
|
7
|
+
export type XRViewportSourceKind = "webcam" | "image" | "video";
|
|
8
|
+
export type XRViewportFitMode = "auto" | "cover" | "contain";
|
|
9
|
+
export type XRViewportMediaStrategy = "internal" | "external";
|
|
10
|
+
export type XRViewportMediaAssetOption = {
|
|
11
|
+
id: string;
|
|
12
|
+
label: string;
|
|
13
|
+
src: string;
|
|
14
|
+
};
|
|
15
|
+
export type XRViewportSourceConfig = {
|
|
16
|
+
kind: "webcam";
|
|
17
|
+
} | {
|
|
18
|
+
kind: "image";
|
|
19
|
+
assetId?: string;
|
|
20
|
+
} | {
|
|
21
|
+
kind: "video";
|
|
22
|
+
assetId?: string;
|
|
23
|
+
};
|
|
24
|
+
export type XRViewportSize = {
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
};
|
|
28
|
+
export type XRViewportPreviewMode = "media" | "scene" | "finalColor" | "sceneDepth";
|
|
29
|
+
export type XRViewportRenderOutputRequest = Partial<Record<RenderOutputKind, boolean>>;
|
|
30
|
+
export type XRViewportRenderOutputs = {
|
|
31
|
+
requested: XRViewportRenderOutputRequest;
|
|
32
|
+
previewMode: XRViewportPreviewMode;
|
|
33
|
+
mediaColorTexture: THREE.Texture | null;
|
|
34
|
+
sceneColorTexture: THREE.Texture | null;
|
|
35
|
+
finalColorTexture: THREE.Texture | null;
|
|
36
|
+
sceneDepthTexture: THREE.Texture | null;
|
|
37
|
+
estimatedDepthTexture: THREE.Texture | null;
|
|
38
|
+
available: Record<RenderOutputKind, boolean>;
|
|
39
|
+
};
|
|
40
|
+
export type XRViewportRenderState = {
|
|
41
|
+
activeDelegate: "GPU" | "CPU" | null;
|
|
42
|
+
faces: FaceTrackingResult[];
|
|
43
|
+
imageOptions: XRViewportMediaAssetOption[];
|
|
44
|
+
layout: XRMediaLayout | null;
|
|
45
|
+
mediaError: string | null;
|
|
46
|
+
mediaFitMode: Exclude<XRViewportFitMode, "auto">;
|
|
47
|
+
mediaLabel: string;
|
|
48
|
+
mediaStatus: "idle" | "requesting" | "ready" | "error";
|
|
49
|
+
mirrored: boolean;
|
|
50
|
+
selectedImageId: string;
|
|
51
|
+
selectedSource: XRViewportSourceKind;
|
|
52
|
+
selectedVideoId: string;
|
|
53
|
+
setMirrored: (value: boolean) => void;
|
|
54
|
+
setSelectedImageId: (value: string) => void;
|
|
55
|
+
setSelectedSource: (value: XRViewportSourceKind) => void;
|
|
56
|
+
setSelectedVideoId: (value: string) => void;
|
|
57
|
+
setShowMediaControls: (value: boolean) => void;
|
|
58
|
+
showMediaControls: boolean;
|
|
59
|
+
trackerError: string | null;
|
|
60
|
+
trackerStatus: "idle" | "initializing" | "ready" | "error";
|
|
61
|
+
videoOptions: XRViewportMediaAssetOption[];
|
|
62
|
+
viewportSize: XRViewportSize;
|
|
63
|
+
mediaSize: XRViewportSize;
|
|
64
|
+
};
|
|
65
|
+
export type XRViewportProps = {
|
|
66
|
+
children?: ReactNode | ((state: XRViewportRenderState) => ReactNode);
|
|
67
|
+
fitMode?: XRViewportFitMode;
|
|
68
|
+
imageOptions?: XRViewportMediaAssetOption[];
|
|
69
|
+
initialImageId?: string;
|
|
70
|
+
initialMirrored?: boolean;
|
|
71
|
+
initialSource?: XRViewportSourceKind;
|
|
72
|
+
initialVideoId?: string;
|
|
73
|
+
mediaStrategy?: XRViewportMediaStrategy;
|
|
74
|
+
mediaDock?: "top-left" | "bottom-left";
|
|
75
|
+
mode?: XRViewportMode;
|
|
76
|
+
previewMode?: XRViewportPreviewMode;
|
|
77
|
+
renderOutputs?: XRViewportRenderOutputRequest;
|
|
78
|
+
showMediaControlsByDefault?: boolean;
|
|
79
|
+
source?: XRViewportSourceConfig;
|
|
80
|
+
style?: CSSProperties;
|
|
81
|
+
videoOptions?: XRViewportMediaAssetOption[];
|
|
82
|
+
};
|
|
83
|
+
export type XRViewportSlotProps = {
|
|
84
|
+
children?: ReactNode | ((state: XRViewportRenderState) => ReactNode);
|
|
85
|
+
};
|
|
86
|
+
export type XRViewportComponent = ((props: XRViewportProps) => JSX.Element) & {
|
|
87
|
+
Scene: (props: XRViewportSlotProps) => JSX.Element;
|
|
88
|
+
Overlay: (props: XRViewportSlotProps) => JSX.Element;
|
|
89
|
+
};
|