@vincentt-xr/sdk 2.0.0-alpha.1 → 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.
Files changed (352) hide show
  1. package/GROUNDING.md +1588 -20
  2. package/dist/{DebuggerUI-CatYc-RG.cjs → DebuggerUI-B45_Gb9d.cjs} +1 -1
  3. package/dist/{DebuggerUI-gLMKiVwJ.js → DebuggerUI-Cq28c18s.js} +1 -1
  4. package/dist/FaceMeshRenderer-6t8OsQhK.js +1195 -0
  5. package/dist/FaceMeshRenderer-lQLhYIW-.cjs +155 -0
  6. package/dist/FaceRetouch-CDrL0pXg.js +551 -0
  7. package/dist/FaceRetouch-DtNl8-4e.cjs +134 -0
  8. package/dist/audio/AudioEngine.d.ts +3 -1
  9. package/dist/audio/AudioPlayer.d.ts +29 -0
  10. package/dist/audio/AudioPlayerLogic.d.ts +4 -0
  11. package/dist/audio/index.d.ts +2 -0
  12. package/dist/components/Axes/index.d.ts +6 -0
  13. package/dist/components/FaceMesh/FaceMeshRenderer.d.ts +17 -0
  14. package/dist/components/FaceMesh/canonical/CanonicalFaceMeshRenderer.d.ts +17 -1
  15. package/dist/components/FaceMesh/canonical/FaceMeshMaterial.d.ts +25 -0
  16. package/dist/components/FaceMesh/canonical/assets.d.ts +3 -0
  17. package/dist/components/FaceMesh/canonical/geometryGroups.d.ts +9 -0
  18. package/dist/components/FaceMesh/canonical/parseCanonicalFaceModel.d.ts +2 -0
  19. package/dist/components/FaceMesh/canonical/shaders.d.ts +2 -0
  20. package/dist/components/FaceMesh/deform.d.ts +3 -0
  21. package/dist/components/FaceMesh/index.d.ts +5 -0
  22. package/dist/components/FaceMesh/material/defaults.d.ts +70 -0
  23. package/dist/components/FaceMesh/material/index.d.ts +1 -0
  24. package/dist/components/FaceMesh/material/options.d.ts +5 -1
  25. package/dist/components/FaceMesh/material/support.d.ts +7 -2
  26. package/dist/components/FaceMesh/material/textures.d.ts +4 -0
  27. package/dist/components/FaceMesh/material/types.d.ts +2 -2
  28. package/dist/components/FaceRetouch/Background.d.ts +5 -6
  29. package/dist/components/FaceRetouch/FaceRetouch.d.ts +47 -0
  30. package/dist/components/FaceRetouch/index.d.ts +2 -8
  31. package/dist/components/FaceRetouch/landmarkMask.d.ts +0 -5
  32. package/dist/components/FaceRetouch/useFaceRetouchMask.d.ts +3 -7
  33. package/dist/components/FaceTracker/index.d.ts +5 -3
  34. package/dist/components/FaceWarp3D/FaceWarp3DHead.d.ts +1 -1
  35. package/dist/components/HandJoints2D/index.d.ts +1 -1
  36. package/dist/components/HandTracking2D/HandVisual.d.ts +1 -1
  37. package/dist/components/HandTracking2D/index.d.ts +1 -1
  38. package/dist/components/HandTracking2DController/index.d.ts +1 -1
  39. package/dist/components/HandTracking3D/index.d.ts +1 -1
  40. package/dist/components/LightObject/index.d.ts +20 -0
  41. package/dist/components/LookAt/index.d.ts +23 -0
  42. package/dist/components/MeshRenderer/index.d.ts +58 -0
  43. package/dist/components/PerspectiveCamera/index.d.ts +2 -8
  44. package/dist/components/PinToMesh/index.d.ts +47 -0
  45. package/dist/components/RenderGroupLayer/index.d.ts +6 -0
  46. package/dist/components/SceneObjectRenderer/index.d.ts +16 -0
  47. package/dist/components/Screen2D/ScreenTransformFrame.d.ts +11 -0
  48. package/dist/components/Screen2D/ScreenTransformHelpers.d.ts +19 -0
  49. package/dist/components/Screen2D/ScreenTransformInteraction.d.ts +18 -0
  50. package/dist/components/Screen2D/index.d.ts +5 -0
  51. package/dist/components/ScreenGlass/defaults.d.ts +3 -0
  52. package/dist/components/ScreenGlass/index.d.ts +5 -0
  53. package/dist/components/ScreenGlass/shaders.d.ts +2 -0
  54. package/dist/components/ScreenGlass/types.d.ts +10 -0
  55. package/dist/components/ScreenGradient/defaults.d.ts +5 -0
  56. package/dist/components/ScreenGradient/index.d.ts +5 -0
  57. package/dist/components/ScreenGradient/shaders.d.ts +2 -0
  58. package/dist/components/ScreenGradient/types.d.ts +19 -0
  59. package/dist/components/ScreenImage/ScreenImage.d.ts +4 -0
  60. package/dist/components/ScreenImage/components/DynamicTextureSync.d.ts +9 -0
  61. package/dist/components/ScreenImage/components/ScreenImageBody.d.ts +9 -0
  62. package/dist/components/ScreenImage/components/ScreenImageFrame.d.ts +9 -0
  63. package/dist/components/ScreenImage/components/ScreenImageTransformFrame.d.ts +9 -0
  64. package/dist/components/ScreenImage/fit.d.ts +52 -0
  65. package/dist/components/ScreenImage/index.d.ts +8 -87
  66. package/dist/components/ScreenImage/materials/ScreenImageBlendMaterial.d.ts +9 -0
  67. package/dist/components/ScreenImage/materials/ScreenImageMatcap.d.ts +3 -0
  68. package/dist/components/ScreenImage/source.d.ts +16 -0
  69. package/dist/components/ScreenImage/types.d.ts +37 -0
  70. package/dist/components/ScreenImage/utils/ScreenImageConstants.d.ts +9 -0
  71. package/dist/components/ScreenImage/utils/ScreenImageHelpers.d.ts +4 -0
  72. package/dist/components/ScreenShape/geometry.d.ts +5 -0
  73. package/dist/components/ScreenShape/index.d.ts +5 -0
  74. package/dist/components/ScreenShape/types.d.ts +41 -0
  75. package/dist/components/ScreenSpaceUI/ScreenTransformGuide.d.ts +15 -0
  76. package/dist/components/ScreenSpaceUI/ScreenTransformOverlayGuide.d.ts +9 -0
  77. package/dist/components/ScreenSpaceUI/index.d.ts +2 -0
  78. package/dist/components/ScreenText/components/ScreenTextBody.d.ts +2 -0
  79. package/dist/components/ScreenText/components/ScreenTextTransformFrame.d.ts +9 -0
  80. package/dist/components/ScreenText/constants.d.ts +5 -0
  81. package/dist/components/ScreenText/index.d.ts +6 -20
  82. package/dist/components/ScreenText/types.d.ts +31 -0
  83. package/dist/components/ScreenText/utils/ScreenTextHelpers.d.ts +14 -0
  84. package/dist/components/ScreenText/utils/ScreenTextMappings.d.ts +17 -0
  85. package/dist/components/SequentialRenderPasses/index.d.ts +6 -0
  86. package/dist/components/TextLabel/TextLabel.d.ts +5 -0
  87. package/dist/components/TextLabel/alignment.d.ts +4 -0
  88. package/dist/components/TextLabel/bend.d.ts +9 -0
  89. package/dist/components/TextLabel/canvas/buildTextLabelTexture.d.ts +4 -0
  90. package/dist/components/TextLabel/canvas/canvasTypography.d.ts +13 -0
  91. package/dist/components/TextLabel/canvas/drawBackground.d.ts +21 -0
  92. package/dist/components/TextLabel/canvas/drawEffects.d.ts +34 -0
  93. package/dist/components/TextLabel/canvas/drawText.d.ts +19 -0
  94. package/dist/components/TextLabel/components/TextLabelMesh.d.ts +13 -0
  95. package/dist/components/TextLabel/constants.d.ts +2 -0
  96. package/dist/components/TextLabel/hooks/useTextLabelTexture.d.ts +7 -0
  97. package/dist/components/TextLabel/index.d.ts +2 -161
  98. package/dist/components/TextLabel/layout/measurement.d.ts +8 -0
  99. package/dist/components/TextLabel/layout/resolveTextLayout.d.ts +25 -0
  100. package/dist/components/TextLabel/layout/wrapText.d.ts +6 -0
  101. package/dist/components/TextLabel/types.d.ts +227 -0
  102. package/dist/components/TrackingAnchor/index.d.ts +18 -2
  103. package/dist/components/Transform3D/index.d.ts +30 -0
  104. package/dist/components/XRMediaSurface/index.d.ts +6 -6
  105. package/dist/components/XRViewport/XRViewport.d.ts +11 -0
  106. package/dist/components/XRViewport/components/HiddenMedia.d.ts +7 -0
  107. package/dist/components/XRViewport/components/MediaAssetPicker.d.ts +8 -0
  108. package/dist/components/XRViewport/components/MediaControlStack.d.ts +13 -0
  109. package/dist/components/XRViewport/components/XRViewportLayers.d.ts +30 -0
  110. package/dist/components/XRViewport/constants.d.ts +24 -0
  111. package/dist/components/XRViewport/contexts.d.ts +6 -0
  112. package/dist/components/XRViewport/hooks/useViewportExternalFaces.d.ts +13 -0
  113. package/dist/components/XRViewport/hooks/useViewportMediaSource.d.ts +16 -0
  114. package/dist/components/XRViewport/hooks/useViewportMediaTexture.d.ts +10 -0
  115. package/dist/components/XRViewport/hooks/useViewportPipeline.d.ts +41 -0
  116. package/dist/components/XRViewport/hooks/useViewportRenderState.d.ts +47 -0
  117. package/dist/components/XRViewport/index.d.ts +3 -118
  118. package/dist/components/XRViewport/layout.d.ts +16 -0
  119. package/dist/components/XRViewport/slots.d.ts +16 -0
  120. package/dist/components/XRViewport/types.d.ts +89 -0
  121. package/dist/components/XRViewport/useViewportSize.d.ts +3 -0
  122. package/dist/components/index.d.ts +12 -0
  123. package/dist/contexts-BKvTIayr.cjs +1 -0
  124. package/dist/contexts-Bk5zz_VR.js +214 -0
  125. package/dist/debug-ui/component-editor/index.d.ts +19 -0
  126. package/dist/debug-ui/face-mesh-renderer-settings/index.d.ts +8 -0
  127. package/dist/debug-ui/face-retouch/index.d.ts +11 -0
  128. package/dist/debug-ui/hand-joints-2d/index.d.ts +1 -1
  129. package/dist/debug-ui/hand-tracking-2d/index.d.ts +1 -1
  130. package/dist/debug-ui/hand-tracking-2d-controller/index.d.ts +1 -1
  131. package/dist/debug-ui/hand-tracking-3d/index.d.ts +1 -1
  132. package/dist/debug-ui/hierarchy-panel/index.d.ts +29 -0
  133. package/dist/debug-ui/index.d.ts +25 -2
  134. package/dist/debug-ui/layer-panel/index.d.ts +3 -2
  135. package/dist/debug-ui/media-source/index.d.ts +2 -0
  136. package/dist/debug-ui/media-source/session.d.ts +12 -0
  137. package/dist/debug-ui/media-source.cjs +1 -1
  138. package/dist/debug-ui/media-source.js +6 -4
  139. package/dist/debug-ui/mesh-renderer-settings/index.d.ts +6 -0
  140. package/dist/debug-ui/object-inspector-panel/index.d.ts +25 -0
  141. package/dist/debug-ui/pin-to-mesh-settings/index.d.ts +10 -0
  142. package/dist/debug-ui/scene-editor/context.d.ts +38 -0
  143. package/dist/debug-ui/scene-editor/hierarchy-panel.d.ts +9 -0
  144. package/dist/debug-ui/scene-editor/index.d.ts +11 -0
  145. package/dist/debug-ui/scene-editor/inspector-panel.d.ts +7 -0
  146. package/dist/debug-ui/scene-editor/store-utils.d.ts +2 -0
  147. package/dist/debug-ui/scene-editor/viewport-toolbar.d.ts +4 -0
  148. package/dist/debug-ui/scene-editor/viewport.d.ts +21 -0
  149. package/dist/debug-ui/screen-glass-settings/index.d.ts +6 -0
  150. package/dist/debug-ui/screen-gradient-settings/GradientStopsEditor.d.ts +5 -0
  151. package/dist/debug-ui/screen-gradient-settings/index.d.ts +6 -0
  152. package/dist/debug-ui/screen-gradient-settings/styles.d.ts +3 -0
  153. package/dist/debug-ui/screen-image-settings/index.d.ts +4 -2
  154. package/dist/debug-ui/screen-shape-settings/index.d.ts +6 -0
  155. package/dist/debug-ui/screen-text-settings/NumberField.d.ts +9 -0
  156. package/dist/debug-ui/screen-text-settings/ScreenTextSettingsPanel.d.ts +3 -0
  157. package/dist/debug-ui/screen-text-settings/controls/NestedSection.d.ts +7 -0
  158. package/dist/debug-ui/screen-text-settings/controls/Section.d.ts +8 -0
  159. package/dist/debug-ui/screen-text-settings/controls/icons.d.ts +4 -0
  160. package/dist/debug-ui/screen-text-settings/index.d.ts +2 -122
  161. package/dist/debug-ui/screen-text-settings/sections/BackgroundSection.d.ts +8 -0
  162. package/dist/debug-ui/screen-text-settings/sections/ContentSection.d.ts +5 -0
  163. package/dist/debug-ui/screen-text-settings/sections/EffectsSection.d.ts +25 -0
  164. package/dist/debug-ui/screen-text-settings/sections/StyleSection.d.ts +5 -0
  165. package/dist/debug-ui/screen-text-settings/sections/TransformSection.d.ts +5 -0
  166. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundFillControls.d.ts +2 -0
  167. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundSizeControls.d.ts +2 -0
  168. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundStrokeControls.d.ts +2 -0
  169. package/dist/debug-ui/screen-text-settings/sections/background/types.d.ts +7 -0
  170. package/dist/debug-ui/screen-text-settings/sections/effects/BendEffectSection.d.ts +4 -0
  171. package/dist/debug-ui/screen-text-settings/sections/effects/EffectChrome.d.ts +21 -0
  172. package/dist/debug-ui/screen-text-settings/sections/effects/GlowEffectSection.d.ts +4 -0
  173. package/dist/debug-ui/screen-text-settings/sections/effects/InnerShadowEffectSection.d.ts +4 -0
  174. package/dist/debug-ui/screen-text-settings/sections/effects/OutlineEffectSection.d.ts +4 -0
  175. package/dist/debug-ui/screen-text-settings/sections/effects/ShadowEffectSection.d.ts +4 -0
  176. package/dist/debug-ui/screen-text-settings/sections/effects/types.d.ts +14 -0
  177. package/dist/debug-ui/screen-text-settings/settings.d.ts +90 -0
  178. package/dist/debug-ui/screen-text-settings/styles.d.ts +26 -0
  179. package/dist/debug-ui/screen-text-settings/transform.d.ts +6 -0
  180. package/dist/debug-ui/screen-text-settings/types.d.ts +9 -0
  181. package/dist/debug-ui/shared/ScreenTransformSection.d.ts +6 -3
  182. package/dist/debug-ui/transform-3d-settings/index.d.ts +11 -0
  183. package/dist/debug-ui.cjs +3 -13
  184. package/dist/debug-ui.js +7896 -5098
  185. package/dist/drawNormalizedCrop-B-7zU-Xw.cjs +1 -0
  186. package/dist/drawNormalizedCrop-CRdIDyl1.js +44 -0
  187. package/dist/entries/all.d.ts +1 -0
  188. package/dist/entries/core.d.ts +53 -6
  189. package/dist/entries/face-effects.d.ts +10 -8
  190. package/dist/entries/internal.d.ts +1 -1
  191. package/dist/entries/low-level.d.ts +18 -4
  192. package/dist/entries/scene-object.d.ts +10 -0
  193. package/dist/entries/tracking.d.ts +25 -2
  194. package/dist/face-action/index.d.ts +34 -0
  195. package/dist/face-attribute-expression/index.d.ts +10 -0
  196. package/dist/face-effects.cjs +1 -342
  197. package/dist/face-effects.js +1391 -2767
  198. package/dist/face-info/blendshapes.d.ts +3 -0
  199. package/dist/face-info/derive.d.ts +8 -0
  200. package/dist/face-info/drawFaceCrop.d.ts +10 -0
  201. package/dist/face-info/getFaceInfo.d.ts +8 -0
  202. package/dist/face-info/index.d.ts +8 -0
  203. package/dist/face-info/landmarks.d.ts +21 -0
  204. package/dist/face-info/types.d.ts +52 -0
  205. package/dist/getFaceInfo-CyPAKh3h.cjs +1 -0
  206. package/dist/getFaceInfo-hUKMLFcr.js +118 -0
  207. package/dist/{handJoints2d.d.ts → hand/handJoints2d.d.ts} +1 -1
  208. package/dist/{handTracking2d.d.ts → hand/handTracking2d.d.ts} +1 -1
  209. package/dist/{handTracking2dController.d.ts → hand/handTracking2dController.d.ts} +1 -1
  210. package/dist/{handTracking3d.d.ts → hand/handTracking3d.d.ts} +1 -1
  211. package/dist/hooks/faceResults.d.ts +1 -1
  212. package/dist/hooks/useCalibrationFaceTracker.d.ts +1 -1
  213. package/dist/hooks/useFaceAction.d.ts +3 -0
  214. package/dist/hooks/useFaceAttributeExpression.d.ts +16 -0
  215. package/dist/hooks/useFaceDetection.d.ts +18 -0
  216. package/dist/hooks/useFaceInfo.d.ts +7 -0
  217. package/dist/hooks/useFaceInfos.d.ts +15 -0
  218. package/dist/hooks/useFaceResultReader.d.ts +10 -0
  219. package/dist/hooks/useFrameCapture.d.ts +18 -0
  220. package/dist/hooks/useMediaRecorder.d.ts +14 -2
  221. package/dist/hooks/useOwnedTexture.d.ts +6 -0
  222. package/dist/hooks/useTrackerContext.d.ts +2 -2
  223. package/dist/hooks/useXRSession/facade.d.ts +3 -0
  224. package/dist/hooks/useXRSession/registry.d.ts +9 -0
  225. package/dist/index-82aENaRq.cjs +1 -0
  226. package/dist/{index-BGNbrc4C.js → index-BgQAX8rs.js} +213 -125
  227. package/dist/index-CEc1CAmB.cjs +1 -0
  228. package/dist/index-CTHeBQOs.js +178 -0
  229. package/dist/index-D4bLzBr6.cjs +1 -0
  230. package/dist/index-DSpzjuqd.cjs +1 -0
  231. package/dist/index-Di70KWuY.js +2049 -0
  232. package/dist/index-DzEzkBIH.cjs +17 -0
  233. package/dist/{index-safCs_af.js → index-JygePOwo.js} +565 -508
  234. package/dist/index-UC0Ux38E.js +111 -0
  235. package/dist/{internal-Cae1ps15.js → internal-DuMPpcbp.js} +86 -80
  236. package/dist/internal-i2JkM85N.cjs +1 -0
  237. package/dist/internal.cjs +1 -1
  238. package/dist/internal.js +2 -2
  239. package/dist/low-level.cjs +1 -1
  240. package/dist/low-level.js +1229 -86
  241. package/dist/main.cjs +1 -73
  242. package/dist/main.js +545 -1693
  243. package/dist/material/MaterialFill.d.ts +20 -0
  244. package/dist/material/MeshMaterial.d.ts +14 -0
  245. package/dist/material/index.d.ts +2 -0
  246. package/dist/models/Body/index.d.ts +1 -1
  247. package/dist/models/Face/index.d.ts +1 -0
  248. package/dist/models/Face/rotation.d.ts +3 -0
  249. package/dist/render/renderGroups.d.ts +47 -0
  250. package/dist/render/renderPasses.d.ts +18 -0
  251. package/dist/renderGroups-C9QJrAXu.js +152 -0
  252. package/dist/renderGroups-Dvm1J4lW.cjs +1 -0
  253. package/dist/renderLayers-lDtL0_43.cjs +1 -0
  254. package/dist/renderLayers-zrK2pv5O.js +13 -0
  255. package/dist/renderPasses-CT5iBwtg.cjs +21 -0
  256. package/dist/renderPasses-CjgG_6kQ.js +1500 -0
  257. package/dist/scene-object/index.d.ts +146 -0
  258. package/dist/scene-object/runtimeRegistry.d.ts +14 -0
  259. package/dist/scene-object.cjs +1 -0
  260. package/dist/scene-object.js +40 -0
  261. package/dist/{screenImageSettings.d.ts → screen-image/screenImageSettings.d.ts} +9 -2
  262. package/dist/{screenTextSettings.d.ts → screen-text/screenTextSettings.d.ts} +18 -2
  263. package/dist/screen2d/coordinates.d.ts +87 -0
  264. package/dist/screen2d/index.d.ts +3 -0
  265. package/dist/screen2d/screenTransform.d.ts +47 -0
  266. package/dist/screen2d/smoothing.d.ts +5 -0
  267. package/dist/{selectors-BLl2JUWW.cjs → selectors-2QvO5RYY.cjs} +1 -1
  268. package/dist/{selectors-CXd_x-6t.js → selectors-Dw3C-gSk.js} +3 -3
  269. package/dist/services/MetricsCollector/index.d.ts +7 -1
  270. package/dist/services/MetricsCollector/utils.d.ts +1 -1
  271. package/dist/session-BChR4TgK.cjs +31 -0
  272. package/dist/session-C1StwN0f.js +363 -0
  273. package/dist/texture/animatedTexture.d.ts +61 -0
  274. package/dist/texture/animationMath.d.ts +8 -0
  275. package/dist/texture/sourceResolver.d.ts +30 -0
  276. package/dist/tracking.cjs +1 -1
  277. package/dist/tracking.js +580 -321
  278. package/dist/types/face.d.ts +1 -13
  279. package/dist/types/index.d.ts +0 -1
  280. package/dist/types/nodes.d.ts +2 -1
  281. package/dist/types/session.d.ts +2 -0
  282. package/dist/types/tracking.d.ts +8 -2
  283. package/dist/types/util-types.d.ts +1 -1
  284. package/dist/useFaceInfo-C-WfMlYp.cjs +1 -0
  285. package/dist/useFaceInfo-CwsHZedC.js +62 -0
  286. package/dist/useFaceResults-CkFc1egZ.js +19 -0
  287. package/dist/useFaceResults-VcFdOUFV.cjs +1 -0
  288. package/dist/utils/drawNormalizedCrop.d.ts +22 -0
  289. package/dist/utils/integrity.d.ts +4 -25
  290. package/dist/utils/landmarkBounds.d.ts +1 -1
  291. package/dist/utils/logger.d.ts +2 -2
  292. package/docs/MIGRATION_GUIDE.md +589 -0
  293. package/docs/SDK_DOCUMENTATION.md +1155 -0
  294. package/docs/api/audio.mdx +36 -0
  295. package/docs/api/behavior-components.mdx +164 -0
  296. package/docs/api/capture-recording.mdx +103 -0
  297. package/docs/api/debug-ui-scene-editor.mdx +249 -0
  298. package/docs/api/face-actions.mdx +104 -0
  299. package/docs/api/face-attribute-expression.mdx +87 -0
  300. package/docs/api/face-binding-anchors.mdx +53 -0
  301. package/docs/api/face-effects.mdx +19 -0
  302. package/docs/api/face-info.mdx +112 -0
  303. package/docs/api/face-mesh.mdx +98 -0
  304. package/docs/api/face-painting.mdx +33 -0
  305. package/docs/api/face-retouching.mdx +73 -0
  306. package/docs/api/material-render-state.mdx +132 -0
  307. package/docs/api/runtime-3d.mdx +311 -0
  308. package/docs/api/scene-object-store.mdx +213 -0
  309. package/docs/api/screen-image.mdx +41 -0
  310. package/docs/api/screen-shape.mdx +64 -0
  311. package/docs/api/screen-space-coordinates.mdx +41 -0
  312. package/docs/api/screen-text.mdx +39 -0
  313. package/docs/api/texture-sources.mdx +55 -0
  314. package/docs/api/trackers.mdx +46 -0
  315. package/docs/docs.json +70 -0
  316. package/docs/examples/scene-object-recipes.mdx +194 -0
  317. package/docs/guides/harness-debug-ui.mdx +139 -0
  318. package/docs/inspector/hierarchy-panel.mdx +51 -0
  319. package/docs/inspector/object-inspector-panel.mdx +51 -0
  320. package/docs/introduction.mdx +121 -0
  321. package/docs/scene-objects/overview.mdx +127 -0
  322. package/docs/scene-objects/render-groups.mdx +77 -0
  323. package/docs/scene-objects/runtime-rendering.mdx +75 -0
  324. package/docs/texture-api-consumer.md +58 -0
  325. package/package.json +37 -7
  326. package/dist/MediaSourceSwitcher-C-xYg0nQ.js +0 -317
  327. package/dist/MediaSourceSwitcher-Cq3g4IKw.cjs +0 -31
  328. package/dist/components/FaceRetouch/defaults.d.ts +0 -13
  329. package/dist/components/FaceRetouch/retouchRegions.d.ts +0 -23
  330. package/dist/components/FaceRetouch/useFaceRetouchRegions.d.ts +0 -12
  331. package/dist/defaults-BLpcN3pG.cjs +0 -1
  332. package/dist/defaults-LtY4M7dg.js +0 -55
  333. package/dist/index-BXyObVHF.cjs +0 -1
  334. package/dist/index-CY3bUAcW.js +0 -12
  335. package/dist/index-C_Duh13c.cjs +0 -1
  336. package/dist/index-D8fpPQkC.cjs +0 -1
  337. package/dist/index-DxshgBu0.cjs +0 -1
  338. package/dist/index-O-2crZ3M.js +0 -1102
  339. package/dist/internal-BjyhBP8i.cjs +0 -1
  340. package/dist/modules/XRClient/index.d.ts +0 -9
  341. package/dist/modules/index.d.ts +0 -1
  342. package/dist/screenImageSettings-6NRg4cx9.js +0 -39
  343. package/dist/screenImageSettings-y_B4_767.cjs +0 -1
  344. package/dist/services/ApiService.d.ts +0 -12
  345. package/dist/types/client.d.ts +0 -3
  346. package/dist/useFaceResults-cpsSmKKc.js +0 -81
  347. package/dist/useFaceResults-hVUJYSEY.cjs +0 -1
  348. package/dist/useXRModel-3DcUa28n.cjs +0 -1
  349. package/dist/useXRModel-BMJE1hrk.js +0 -28
  350. /package/dist/{layerStack.d.ts → render/layerStack.d.ts} +0 -0
  351. /package/dist/{screenImagePresets.d.ts → screen-image/screenImagePresets.d.ts} +0 -0
  352. /package/dist/{screenTextPresets.d.ts → screen-text/screenTextPresets.d.ts} +0 -0
@@ -1,21 +1,58 @@
1
- import { jsxs as F, jsx as g } from "react/jsx-runtime";
2
- import { useThree as w, useFrame as D } from "@react-three/fiber";
3
- import k, { useContext as V, createContext as Z, useRef as A, useMemo as x, useEffect as z, useCallback as I } from "react";
4
- import { a as K, X as L, b as X, R as B } from "./index-safCs_af.js";
5
- import { u as S } from "./useXRModel-BMJE1hrk.js";
6
- import * as y from "three";
7
- const U = Z(null), c0 = () => V(U), G = (t, s, c) => K(t, s, c), a0 = (t, s, c) => {
8
- const l = (t.x - 0.5) * 2, f = (0.5 - t.y) * 2, d = y.MathUtils.clamp(t.z * 2, -1, 1);
9
- return c.set(l, f, d).unproject(s);
10
- }, W = (t, s, c, l, f, d) => {
11
- const h = Math.min(s, t.length);
12
- for (let n = 0; n < h; n++) {
13
- f(t[n], l, d);
14
- const m = n * 3;
15
- c[m] = d.x, c[m + 1] = d.y, c[m + 2] = d.z;
1
+ import { jsx as _, jsxs as w } from "react/jsx-runtime";
2
+ import { useThree as k, useFrame as U } from "@react-three/fiber";
3
+ import F, { useId as B, useState as W, useMemo as S, useEffect as z, useSyncExternalStore as q, useRef as x, useContext as G, createContext as J, useCallback as Q } from "react";
4
+ import { u as $, a as e0, X as P, b as t0 } from "./index-JygePOwo.js";
5
+ import { R as r0 } from "./renderLayers-zrK2pv5O.js";
6
+ import * as T from "three";
7
+ function j(e, t, n = !0) {
8
+ const { session: r } = $(), s = B(), [i, f] = W(null), u = S(() => JSON.stringify(t ?? {}), [t]);
9
+ z(() => {
10
+ let l = !1;
11
+ return f(null), r.registry.acquire(e, s, t).catch((c) => {
12
+ l || f(c instanceof Error ? c : new Error(String(c)));
13
+ }), () => {
14
+ l = !0, r.registry.release(e, s);
15
+ };
16
+ }, [r, e, s, t, u]), z(() => {
17
+ r.registry.setActive(e, s, n);
18
+ }, [r, e, s, n]);
19
+ const o = r.store, y = q(
20
+ (l) => o.subscribe(l),
21
+ () => o.getSnapshot().pipeline.get(e) ?? null,
22
+ () => null
23
+ ), M = S(() => y ? y.getModelNode() : null, [y]);
24
+ return {
25
+ ready: y !== null && i === null,
26
+ node: M,
27
+ error: i
28
+ };
29
+ }
30
+ const n0 = ({ materialProps: e, settings: t }) => t.type === "basic" ? /* @__PURE__ */ _("meshBasicMaterial", { ...e }) : /* @__PURE__ */ _(
31
+ "meshStandardMaterial",
32
+ {
33
+ ...e,
34
+ roughness: t.roughness,
35
+ metalness: t.metalness
36
+ }
37
+ ), g = 1e-6, s0 = (e) => {
38
+ const { x: t, y: n, z: r } = e.scale;
39
+ return Math.abs(t - n) <= g && Math.abs(t - r) <= g ? t : 1;
40
+ }, C0 = (e, t, n, r) => {
41
+ if (!n.enabled) return e;
42
+ const s = s0(n);
43
+ return r.x = t.x + (e.x - t.x) * s + n.position.x, r.y = t.y + (e.y - t.y) * s - n.position.y, r.z = t.z + (e.z - t.z) * s + n.position.z, r;
44
+ }, o0 = (e, t, n) => e0(e, t, n), R0 = (e, t, n) => {
45
+ const r = (e.x - 0.5) * 2, s = (0.5 - e.y) * 2, i = T.MathUtils.clamp(e.z * 2, -1, 1);
46
+ return n.set(r, s, i).unproject(t);
47
+ }, c0 = (e, t, n, r, s, i) => {
48
+ const f = Math.min(t, e.length);
49
+ for (let u = 0; u < f; u++) {
50
+ s(e[u], r, i);
51
+ const o = u * 3;
52
+ n[o] = i.x, n[o + 1] = i.y, n[o + 2] = i.z;
16
53
  }
17
- return h;
18
- }, Y = [
54
+ return f;
55
+ }, i0 = [
19
56
  [127, 34, 139],
20
57
  [11, 0, 37],
21
58
  [232, 231, 120],
@@ -869,7 +906,7 @@ const U = Z(null), c0 = () => V(U), G = (t, s, c) => K(t, s, c), a0 = (t, s, c)
869
906
  [390, 339, 249],
870
907
  [339, 448, 255],
871
908
  [255, 339, 448]
872
- ].flat(), q = [
909
+ ].flat(), a0 = [
873
910
  0.5104879319667817,
874
911
  0.33515610277652746,
875
912
  0.5174233198165894,
@@ -1826,65 +1863,75 @@ const U = Z(null), c0 = () => V(U), G = (t, s, c) => K(t, s, c), a0 = (t, s, c)
1826
1863
  0.618020570576191,
1827
1864
  0.33353258967399596,
1828
1865
  0.5936576622724534
1829
- ], j = 468, J = j * 3, O = ({
1830
- material: t,
1831
- faceIndex: s = 0,
1832
- numFaces: c,
1833
- visible: l = !0,
1834
- children: f
1866
+ ], H = 468, u0 = H * 3, l0 = {
1867
+ type: "standard",
1868
+ color: "#ffffff",
1869
+ opacity: 1,
1870
+ wireframe: !1,
1871
+ roughness: 1,
1872
+ metalness: 0
1873
+ }, K = ({
1874
+ material: e,
1875
+ faceIndex: t = 0,
1876
+ numFaces: n,
1877
+ visible: r = !0,
1878
+ children: s
1835
1879
  }) => {
1836
- const { ready: d, node: h } = S(
1837
- L.FACE_TRACKER,
1838
- c === void 0 ? void 0 : { numFaces: c }
1839
- ), { camera: n } = w(), m = A(null), T = A(null), C = A(null), E = A(null), R = A(null), v = A(new y.Vector3()), u = x(() => {
1840
- const i = new Uint16Array(Y), a = new y.BufferAttribute(i, 1), e = new y.Float32BufferAttribute(q, 2), o = new Float32Array(J), r = new y.Float32BufferAttribute(o, 3);
1841
- return r.setUsage(y.DynamicDrawUsage), { indexAttr: a, uvAttr: e, positionAttr: r, positions: o };
1880
+ const { ready: i, node: f } = j(
1881
+ P.FACE_TRACKER,
1882
+ n === void 0 ? void 0 : { numFaces: n }
1883
+ ), { camera: u } = k(), o = x(null), y = x(null), M = x(null), l = x(null), c = x(null), d = x(new T.Vector3()), A = S(() => {
1884
+ const p = new Uint16Array(i0), E = new T.BufferAttribute(p, 1), h = new T.Float32BufferAttribute(a0, 2), R = new Float32Array(u0), a = new T.Float32BufferAttribute(R, 3);
1885
+ return a.setUsage(T.DynamicDrawUsage), { indexAttr: E, uvAttr: h, positionAttr: a, positions: R };
1842
1886
  }, []);
1843
1887
  z(() => {
1844
- E.current = u.indexAttr, R.current = u.uvAttr, C.current = u.positionAttr, T.current = u.positions;
1845
- const i = m.current;
1846
- if (i) {
1847
- const a = i.geometry;
1848
- a.setAttribute("position", u.positionAttr), a.setAttribute("uv", u.uvAttr), a.setIndex(u.indexAttr);
1888
+ l.current = A.indexAttr, c.current = A.uvAttr, M.current = A.positionAttr, y.current = A.positions;
1889
+ const p = o.current;
1890
+ if (p) {
1891
+ const E = p.geometry;
1892
+ E.setAttribute("position", A.positionAttr), E.setAttribute("uv", A.uvAttr), E.setIndex(A.indexAttr);
1849
1893
  }
1850
1894
  return () => {
1851
- E.current = null, R.current = null, C.current = null, T.current = null;
1895
+ l.current = null, c.current = null, M.current = null, y.current = null;
1852
1896
  };
1853
- }, [u]), D(() => {
1854
- var p;
1855
- if (!d || !h || !m.current) return;
1856
- const { detectionResults: i } = h, a = (p = i == null ? void 0 : i.faceLandmarks) == null ? void 0 : p[s], e = m.current.geometry, o = T.current, r = C.current;
1857
- if (!a || a.length === 0 || !o || !r) {
1858
- e.drawRange.count !== 0 && e.setDrawRange(0, 0);
1897
+ }, [A]), U(() => {
1898
+ var m;
1899
+ if (!i || !f || !o.current) return;
1900
+ const { detectionResults: p } = f, E = (m = p == null ? void 0 : p.faceLandmarks) == null ? void 0 : m[t], h = o.current.geometry, R = y.current, a = M.current;
1901
+ if (!E || E.length === 0 || !R || !a) {
1902
+ h.drawRange.count !== 0 && h.setDrawRange(0, 0);
1859
1903
  return;
1860
1904
  }
1861
- e.getAttribute("position") !== r && (e.setAttribute("position", r), e.setAttribute("uv", R.current), e.setIndex(E.current)), e.drawRange.count === 0 && e.setDrawRange(0, 1 / 0), W(
1862
- a,
1863
- j,
1864
- o,
1865
- n,
1866
- G,
1867
- v.current
1868
- ), r.needsUpdate = !0, e.computeVertexNormals();
1905
+ h.getAttribute("position") !== a && (h.setAttribute("position", a), h.setAttribute("uv", c.current), h.setIndex(l.current)), h.drawRange.count === 0 && h.setDrawRange(0, 1 / 0), c0(
1906
+ E,
1907
+ H,
1908
+ R,
1909
+ u,
1910
+ o0,
1911
+ d.current
1912
+ ), a.needsUpdate = !0, h.computeVertexNormals();
1869
1913
  });
1870
- const M = f != null && f !== !1;
1871
- return /* @__PURE__ */ F("mesh", { material: t, ref: m, visible: l, children: [
1872
- /* @__PURE__ */ g("bufferGeometry", {}),
1873
- !t && !M && /* @__PURE__ */ g(
1874
- "meshStandardMaterial",
1914
+ const v = s != null && s !== !1;
1915
+ return /* @__PURE__ */ w("mesh", { material: e, ref: o, visible: r, children: [
1916
+ /* @__PURE__ */ _("bufferGeometry", {}),
1917
+ !e && !v && /* @__PURE__ */ _(
1918
+ n0,
1875
1919
  {
1876
- attach: "material",
1877
- transparent: !0,
1878
- depthWrite: !1,
1879
- side: y.DoubleSide,
1880
- needsUpdate: !0
1920
+ settings: l0,
1921
+ materialProps: {
1922
+ attach: "material",
1923
+ transparent: !0,
1924
+ depthWrite: !1,
1925
+ side: T.DoubleSide,
1926
+ needsUpdate: !0
1927
+ }
1881
1928
  }
1882
1929
  ),
1883
- !t && M ? f : null
1930
+ !e && v ? s : null
1884
1931
  ] });
1885
1932
  };
1886
- O.displayName = "FaceMesh";
1887
- const Q = {
1933
+ K.displayName = "FaceMesh";
1934
+ const L = {
1888
1935
  "face.forehead": 10,
1889
1936
  "face.noseTip": 1,
1890
1937
  "face.chin": 152,
@@ -1892,76 +1939,117 @@ const Q = {
1892
1939
  "face.rightEyeOuter": 33,
1893
1940
  "face.leftCheek": 425,
1894
1941
  "face.rightCheek": 205,
1895
- "face.mouthCenter": 13
1896
- }, $ = ({
1897
- faceIndex: t = 0,
1898
- numFaces: s,
1899
- scaleWithFace: c = !1,
1900
- targetFps: l,
1901
- active: f = !0,
1902
- children: d
1942
+ "face.mouthCenter": 13,
1943
+ "face.leftEarlobe": 454,
1944
+ "face.rightEarlobe": 234
1945
+ }, f0 = {
1946
+ "face.center": [10, 152, 234, 454],
1947
+ "face.leftEye": [263, 362, 387, 373],
1948
+ "face.rightEye": [33, 133, 158, 145]
1949
+ }, V = (e, t = 0) => Number.isFinite(e) ? e : t, D = (e) => Math.max(-1, Math.min(1, V(e))), y0 = { x: 0, y: 0, z: 0 }, h0 = (e, t, n = y0, r = { x: 0, y: 0, z: 0, visibility: 0 }) => {
1950
+ const s = L[e];
1951
+ if (s !== void 0) {
1952
+ const c = t[s];
1953
+ return c ? Object.assign(r, c) : null;
1954
+ }
1955
+ const i = f0[e];
1956
+ if (i) {
1957
+ r.x = 0, r.y = 0, r.z = 0;
1958
+ for (const c of i) {
1959
+ const d = t[c];
1960
+ if (!d) return null;
1961
+ r.x += d.x, r.y += d.y, r.z += d.z;
1962
+ }
1963
+ return r.x /= i.length, r.y /= i.length, r.z /= i.length, r.visibility = 1, r;
1964
+ }
1965
+ if (e !== "face.custom" || t.length === 0) return null;
1966
+ let f = 1 / 0, u = 1 / 0, o = -1 / 0, y = -1 / 0, M = 0;
1967
+ for (const c of t)
1968
+ f = Math.min(f, c.x), u = Math.min(u, c.y), o = Math.max(o, c.x), y = Math.max(y, c.y), M += c.z;
1969
+ const l = o - f;
1970
+ return r.x = (f + o) * 0.5 - D(n.x) * l * 0.5, r.y = (u + y) * 0.5 - D(n.y) * (y - u) * 0.5, r.z = M / t.length - V(n.z) * l, r.visibility = 1, r;
1971
+ }, b0 = {
1972
+ left: L["face.leftEyeOuter"],
1973
+ right: L["face.rightEyeOuter"]
1974
+ }, X = J(null), T0 = () => G(X), d0 = ({
1975
+ faceIndex: e = 0,
1976
+ numFaces: t,
1977
+ scaleWithFace: n = !1,
1978
+ followFaceRoll: r = !0,
1979
+ targetFps: s,
1980
+ active: i = !0,
1981
+ children: f
1903
1982
  }) => {
1904
- const h = A(!1), n = A(null), m = x(() => {
1905
- if (!(s === void 0 && l === void 0))
1983
+ const u = x(!1), o = x(null), y = S(() => {
1984
+ if (!(t === void 0 && s === void 0))
1906
1985
  return {
1907
- ...s === void 0 ? {} : { numFaces: s },
1908
- ...l === void 0 ? {} : { targetFps: l }
1986
+ ...t === void 0 ? {} : { numFaces: t },
1987
+ ...s === void 0 ? {} : { targetFps: s }
1909
1988
  };
1910
- }, [s, l]), { ready: T, node: C } = S(
1911
- L.FACE_TRACKER,
1912
- m,
1913
- f
1914
- ), { camera: E } = w(), R = A(E);
1915
- R.current !== E && (R.current = E, h.current = !1);
1916
- const v = A(null);
1917
- D(() => {
1918
- if (!T || !C || !n.current) return;
1919
- v.current = C, !h.current && R.current && (C._setCamera(R.current, t), h.current = !0);
1920
- const e = C.getFace(t);
1921
- if (!e) {
1922
- n.current.visible = !1;
1989
+ }, [t, s]), { ready: M, node: l } = j(
1990
+ P.FACE_TRACKER,
1991
+ y,
1992
+ i
1993
+ ), { camera: c } = k(), d = x(c);
1994
+ d.current !== c && (d.current = c, u.current = !1);
1995
+ const A = x(null), v = x({ x: 0, y: 0, z: 0, visibility: 0 });
1996
+ U(() => {
1997
+ if (!M || !l || !o.current) return;
1998
+ A.current = l, !u.current && d.current && (l.setCamera(d.current, e), u.current = !0);
1999
+ const a = l.getFace(e);
2000
+ if (!a) {
2001
+ o.current.visible = !1;
1923
2002
  return;
1924
2003
  }
1925
- n.current.visible = !0;
1926
- const { position: o, rotation: r, scale: p } = e.transform;
1927
- n.current.position.set(o.x, o.y, o.z), n.current.rotation.set(r.x, r.y, r.z), c ? n.current.scale.set(p.x, p.y, p.z) : n.current.scale.set(1, 1, 1);
2004
+ o.current.visible = !0;
2005
+ const { position: m, rotation: C, scale: b } = a.transform;
2006
+ o.current.position.set(m.x, m.y, m.z), o.current.rotation.set(C.x, C.y, r ? C.z : 0), n ? o.current.scale.set(b.x, b.y, b.z) : o.current.scale.set(1, 1, 1);
1928
2007
  });
1929
- const u = I(
1930
- (e) => {
1931
- var b, _;
1932
- const o = Q[e];
1933
- if (o === void 0) return null;
1934
- const r = v.current, p = (_ = (b = r == null ? void 0 : r.detectionResults) == null ? void 0 : b.faceLandmarks) == null ? void 0 : _[t];
1935
- if (!p || p.length === 0) return null;
1936
- const N = p[o];
1937
- return N ? { position: X(N, R.current) } : null;
2008
+ const p = Q(
2009
+ (a, m) => {
2010
+ var I, O;
2011
+ const C = A.current, b = (O = (I = C == null ? void 0 : C.detectionResults) == null ? void 0 : I.faceLandmarks) == null ? void 0 : O[e];
2012
+ if (!b || b.length === 0) return null;
2013
+ const N = h0(
2014
+ a,
2015
+ b,
2016
+ m,
2017
+ v.current
2018
+ );
2019
+ return N ? { position: t0(N, d.current) } : null;
1938
2020
  },
1939
- [t]
1940
- ), M = x(
1941
- () => ({ type: "face", resolveLandmark: u }),
1942
- [u]
2021
+ [e]
2022
+ ), E = S(
2023
+ () => ({ type: "face", resolveLandmark: p }),
2024
+ [p]
1943
2025
  );
1944
- let i;
1945
- const a = [];
1946
- return k.Children.forEach(d, (e) => {
1947
- var o, r;
1948
- k.isValidElement(e) && // eslint-disable-next-line @typescript-eslint/no-explicit-any
1949
- (((o = e.type) == null ? void 0 : o.displayName) === "FaceTracker.Mesh" || // eslint-disable-next-line @typescript-eslint/no-explicit-any
1950
- ((r = e.type) == null ? void 0 : r.displayName) === "FaceMesh") ? i = k.cloneElement(e, { faceIndex: t, numFaces: s }) : a.push(e);
1951
- }), /* @__PURE__ */ F(U.Provider, { value: M, children: [
1952
- /* @__PURE__ */ g("group", { ref: n, renderOrder: B.TRACKED, children: a }),
1953
- i
2026
+ let h;
2027
+ const R = [];
2028
+ return F.Children.forEach(f, (a) => {
2029
+ var m, C;
2030
+ F.isValidElement(a) && // eslint-disable-next-line @typescript-eslint/no-explicit-any
2031
+ (((m = a.type) == null ? void 0 : m.displayName) === "FaceTracker.Mesh" || // eslint-disable-next-line @typescript-eslint/no-explicit-any
2032
+ ((C = a.type) == null ? void 0 : C.displayName) === "FaceMesh") ? h = F.cloneElement(a, { faceIndex: e, numFaces: t }) : R.push(a);
2033
+ }), /* @__PURE__ */ w(X.Provider, { value: E, children: [
2034
+ /* @__PURE__ */ _("group", { ref: o, renderOrder: r0.TRACKED, children: R }),
2035
+ h
1954
2036
  ] });
1955
- }, H = (t) => /* @__PURE__ */ g(O, { ...t });
1956
- H.displayName = "FaceTracker.Mesh";
1957
- const P = $;
1958
- P.Mesh = H;
1959
- const u0 = P;
2037
+ }, Z = (e) => /* @__PURE__ */ _(K, { ...e });
2038
+ Z.displayName = "FaceTracker.Mesh";
2039
+ const Y = d0;
2040
+ Y.Mesh = Z;
2041
+ const _0 = Y;
1960
2042
  export {
1961
- P as F,
1962
- u0 as H,
1963
- U as T,
1964
- O as a,
1965
- a0 as p,
1966
- c0 as u
2043
+ b0 as F,
2044
+ _0 as H,
2045
+ n0 as M,
2046
+ X as T,
2047
+ T0 as a,
2048
+ Y as b,
2049
+ K as c,
2050
+ L as d,
2051
+ R0 as p,
2052
+ h0 as r,
2053
+ C0 as t,
2054
+ j as u
1967
2055
  };
@@ -0,0 +1 @@
1
+ "use strict";const h=require("react"),i=require("react/jsx-runtime"),B=require("@react-three/drei"),o=require("three"),q=require("./index-82aENaRq.cjs"),S=h.createContext(null),N=()=>{const e=h.useContext(S);if(!e)throw new Error("useScreenSpace must be used within ScreenSpaceUI");return e},k=h.createContext(null),U=()=>h.useContext(k)??1,L={enabled:!0,mesh:"cube",material:{type:"standard",color:"#ffffff",opacity:1,wireframe:!1,roughness:.42,metalness:.08},shadowMode:"off",visible:!0},g={depthTest:!0,depthWrite:!0,depthFunc:"lessEqual",colorWrite:!0,colorMask:{r:!0,g:!0,b:!0,a:!0},cullMode:"back",blendMode:"normal",polygonOffset:{enabled:!1,factor:0,units:0}},R=e=>({...g,...e,colorMask:{...g.colorMask,...e==null?void 0:e.colorMask},polygonOffset:{...g.polygonOffset,...e==null?void 0:e.polygonOffset}}),x=e=>e==="never"?o.NeverDepth:e==="less"?o.LessDepth:e==="equal"?o.EqualDepth:e==="greater"?o.GreaterDepth:e==="notEqual"?o.NotEqualDepth:e==="greaterEqual"?o.GreaterEqualDepth:e==="always"?o.AlwaysDepth:o.LessEqualDepth,D=e=>e==="front"?o.BackSide:e==="off"?o.DoubleSide:o.FrontSide,A=e=>e==="additive"?o.AdditiveBlending:e==="subtractive"?o.SubtractiveBlending:e==="multiply"?o.MultiplyBlending:e==="none"?o.NoBlending:o.NormalBlending,_=e=>{const r=R(e),t=r.colorWrite&&(r.colorMask.r||r.colorMask.g||r.colorMask.b||r.colorMask.a);return{depthTest:r.depthTest,depthWrite:r.depthWrite,depthFunc:x(r.depthFunc),colorWrite:t,side:D(r.cullMode),blending:A(r.blendMode),polygonOffset:r.polygonOffset.enabled,polygonOffsetFactor:r.polygonOffset.factor,polygonOffsetUnits:r.polygonOffset.units}},C=(e,r)=>{const t=R(r);return e<1||t.blendMode!=="normal"&&t.blendMode!=="none"},T=e=>e.colorWrite&&(!e.colorMask.r||!e.colorMask.g||!e.colorMask.b||!e.colorMask.a),M="__vincenttPreviousColorMask",P=(e,r)=>{const t=e.onBeforeRender.bind(e),d=e.onAfterRender.bind(e);if(!T(r)){e.onBeforeRender=t,e.onAfterRender=d;return}e.onBeforeRender=(a,u,m,f,l,n)=>{t(a,u,m,f,l,n);const s=a.getContext();e.userData[M]=s.getParameter(s.COLOR_WRITEMASK),s.colorMask(r.colorMask.r,r.colorMask.g,r.colorMask.b,r.colorMask.a)},e.onAfterRender=(a,u,m,f,l,n)=>{const s=e.userData[M];s&&(a.getContext().colorMask(...s),delete e.userData[M]),d(a,u,m,f,l,n)}},w=e=>({castShadow:e==="cast"||e==="castReceive",receiveShadow:e==="receive"||e==="castReceive"}),W=({mesh:e})=>e==="sphere"?i.jsx("sphereGeometry",{args:[.85,48,32]}):e==="plane"?i.jsx("planeGeometry",{args:[1.6,1.6]}):i.jsx("boxGeometry",{args:[1.4,1.4,1.4]}),v=({url:e,nodeName:r,settings:t,renderOrder:d})=>{const{scene:a}=B.useGLTF(e),u=h.useMemo(()=>{const f=a.clone(!0),l=w(t.shadowMode),n=Math.min(1,Math.max(0,t.material.opacity)),s=_(t.material.renderState),O=C(n,t.material.renderState);return f.traverse(b=>{const c=b;if(!c.isMesh||!c.material)return;c.material=Array.isArray(c.material)?c.material.map(p=>p.clone()):c.material.clone(),c.castShadow=l.castShadow,c.receiveShadow=l.receiveShadow,(Array.isArray(c.material)?c.material:[c.material]).forEach(p=>{var y;if(!p)return;const E=p;E.wireframe=t.material.wireframe,p.opacity=n,p.transparent=O,Object.assign(p,s),(y=E.color)==null||y.set(t.material.color),p.needsUpdate=!0}),P(c,R(t.material.renderState))}),f},[a,t.material.color,t.material.opacity,t.material.renderState,t.material.wireframe,t.shadowMode]),m=r?u.getObjectByName(r):u;return i.jsx("group",{renderOrder:d,children:i.jsx("primitive",{object:m??u})})},G=({renderOrder:e,value:r})=>{if(!r.enabled||!r.visible)return null;if(r.assetUrl)return i.jsx(h.Suspense,{fallback:null,children:i.jsx(v,{url:r.assetUrl,nodeName:r.assetNodeName,settings:r,renderOrder:e})});const t=Math.min(1,Math.max(0,r.material.opacity)),d={color:r.material.color,transparent:C(t,r.material.renderState),opacity:t,wireframe:r.material.wireframe,..._(r.material.renderState)};return i.jsxs("mesh",{...w(r.shadowMode),onBeforeRender:(a,u,m,f,l)=>{const n=R(r.material.renderState);if(!T(n))return;const s=a.getContext();l.userData[M]=s.getParameter(s.COLOR_WRITEMASK),s.colorMask(n.colorMask.r,n.colorMask.g,n.colorMask.b,n.colorMask.a)},onAfterRender:(a,u,m,f,l)=>{const n=l.userData[M];n&&(a.getContext().colorMask(...n),delete l.userData[M])},renderOrder:e,children:[i.jsx(W,{mesh:r.mesh}),i.jsx(q.MeshMaterial,{settings:r.material,materialProps:d})]})};exports.DEFAULT_MESH_RENDERER=L;exports.DEFAULT_MESH_RENDERER_RENDER_STATE=g;exports.MeshRenderer=G;exports.ScreenRectAspectContext=k;exports.ScreenSpaceContext=S;exports.getThreeBlending=A;exports.getThreeDepthFunction=x;exports.getThreeSide=D;exports.normalizeMeshRendererRenderState=R;exports.useScreenRectAspect=U;exports.useScreenSpace=N;
@@ -0,0 +1,178 @@
1
+ import { createContext as k, useContext as R, Suspense as C, useMemo as _ } from "react";
2
+ import { jsx as i, jsxs as b } from "react/jsx-runtime";
3
+ import { useGLTF as x } from "@react-three/drei";
4
+ import { AdditiveBlending as T, SubtractiveBlending as B, MultiplyBlending as N, NoBlending as P, NormalBlending as U, NeverDepth as W, LessDepth as q, EqualDepth as v, GreaterDepth as L, NotEqualDepth as G, GreaterEqualDepth as I, AlwaysDepth as K, LessEqualDepth as z, BackSide as F, DoubleSide as H, FrontSide as V } from "three";
5
+ import { M as Y } from "./index-BgQAX8rs.js";
6
+ const J = k(null), ce = () => {
7
+ const e = R(J);
8
+ if (!e)
9
+ throw new Error("useScreenSpace must be used within ScreenSpaceUI");
10
+ return e;
11
+ }, Q = k(null), ie = () => R(Q) ?? 1, fe = {
12
+ enabled: !0,
13
+ mesh: "cube",
14
+ material: {
15
+ type: "standard",
16
+ color: "#ffffff",
17
+ opacity: 1,
18
+ wireframe: !1,
19
+ roughness: 0.42,
20
+ metalness: 0.08
21
+ },
22
+ shadowMode: "off",
23
+ visible: !0
24
+ }, h = {
25
+ depthTest: !0,
26
+ depthWrite: !0,
27
+ depthFunc: "lessEqual",
28
+ colorWrite: !0,
29
+ colorMask: {
30
+ r: !0,
31
+ g: !0,
32
+ b: !0,
33
+ a: !0
34
+ },
35
+ cullMode: "back",
36
+ blendMode: "normal",
37
+ polygonOffset: {
38
+ enabled: !1,
39
+ factor: 0,
40
+ units: 0
41
+ }
42
+ }, M = (e) => ({
43
+ ...h,
44
+ ...e,
45
+ colorMask: {
46
+ ...h.colorMask,
47
+ ...e == null ? void 0 : e.colorMask
48
+ },
49
+ polygonOffset: {
50
+ ...h.polygonOffset,
51
+ ...e == null ? void 0 : e.polygonOffset
52
+ }
53
+ }), X = (e) => e === "never" ? W : e === "less" ? q : e === "equal" ? v : e === "greater" ? L : e === "notEqual" ? G : e === "greaterEqual" ? I : e === "always" ? K : z, Z = (e) => e === "front" ? F : e === "off" ? H : V, $ = (e) => e === "additive" ? T : e === "subtractive" ? B : e === "multiply" ? N : e === "none" ? P : U, E = (e) => {
54
+ const r = M(e), o = r.colorWrite && (r.colorMask.r || r.colorMask.g || r.colorMask.b || r.colorMask.a);
55
+ return {
56
+ depthTest: r.depthTest,
57
+ depthWrite: r.depthWrite,
58
+ depthFunc: X(r.depthFunc),
59
+ colorWrite: o,
60
+ side: Z(r.cullMode),
61
+ blending: $(r.blendMode),
62
+ polygonOffset: r.polygonOffset.enabled,
63
+ polygonOffsetFactor: r.polygonOffset.factor,
64
+ polygonOffsetUnits: r.polygonOffset.units
65
+ };
66
+ }, S = (e, r) => {
67
+ const o = M(r);
68
+ return e < 1 || o.blendMode !== "normal" && o.blendMode !== "none";
69
+ }, D = (e) => e.colorWrite && (!e.colorMask.r || !e.colorMask.g || !e.colorMask.b || !e.colorMask.a), d = "__vincenttPreviousColorMask", j = (e, r) => {
70
+ const o = e.onBeforeRender.bind(e), p = e.onAfterRender.bind(e);
71
+ if (!D(r)) {
72
+ e.onBeforeRender = o, e.onAfterRender = p;
73
+ return;
74
+ }
75
+ e.onBeforeRender = (a, c, m, f, l, t) => {
76
+ o(a, c, m, f, l, t);
77
+ const s = a.getContext();
78
+ e.userData[d] = s.getParameter(s.COLOR_WRITEMASK), s.colorMask(
79
+ r.colorMask.r,
80
+ r.colorMask.g,
81
+ r.colorMask.b,
82
+ r.colorMask.a
83
+ );
84
+ }, e.onAfterRender = (a, c, m, f, l, t) => {
85
+ const s = e.userData[d];
86
+ s && (a.getContext().colorMask(...s), delete e.userData[d]), p(a, c, m, f, l, t);
87
+ };
88
+ }, w = (e) => ({
89
+ castShadow: e === "cast" || e === "castReceive",
90
+ receiveShadow: e === "receive" || e === "castReceive"
91
+ }), ee = ({ mesh: e }) => e === "sphere" ? /* @__PURE__ */ i("sphereGeometry", { args: [0.85, 48, 32] }) : e === "plane" ? /* @__PURE__ */ i("planeGeometry", { args: [1.6, 1.6] }) : /* @__PURE__ */ i("boxGeometry", { args: [1.4, 1.4, 1.4] }), re = ({
92
+ url: e,
93
+ nodeName: r,
94
+ settings: o,
95
+ renderOrder: p
96
+ }) => {
97
+ const { scene: a } = x(e), c = _(() => {
98
+ const f = a.clone(!0), l = w(o.shadowMode), t = Math.min(1, Math.max(0, o.material.opacity)), s = E(o.material.renderState), A = S(t, o.material.renderState);
99
+ return f.traverse((O) => {
100
+ const n = O;
101
+ if (!n.isMesh || !n.material) return;
102
+ n.material = Array.isArray(n.material) ? n.material.map((u) => u.clone()) : n.material.clone(), n.castShadow = l.castShadow, n.receiveShadow = l.receiveShadow, (Array.isArray(n.material) ? n.material : [n.material]).forEach((u) => {
103
+ var y;
104
+ if (!u) return;
105
+ const g = u;
106
+ g.wireframe = o.material.wireframe, u.opacity = t, u.transparent = A, Object.assign(u, s), (y = g.color) == null || y.set(o.material.color), u.needsUpdate = !0;
107
+ }), j(n, M(o.material.renderState));
108
+ }), f;
109
+ }, [
110
+ a,
111
+ o.material.color,
112
+ o.material.opacity,
113
+ o.material.renderState,
114
+ o.material.wireframe,
115
+ o.shadowMode
116
+ ]), m = r ? c.getObjectByName(r) : c;
117
+ return /* @__PURE__ */ i("group", { renderOrder: p, children: /* @__PURE__ */ i("primitive", { object: m ?? c }) });
118
+ }, ue = ({ renderOrder: e, value: r }) => {
119
+ if (!r.enabled || !r.visible) return null;
120
+ if (r.assetUrl)
121
+ return /* @__PURE__ */ i(C, { fallback: null, children: /* @__PURE__ */ i(
122
+ re,
123
+ {
124
+ url: r.assetUrl,
125
+ nodeName: r.assetNodeName,
126
+ settings: r,
127
+ renderOrder: e
128
+ }
129
+ ) });
130
+ const o = Math.min(1, Math.max(0, r.material.opacity)), p = {
131
+ color: r.material.color,
132
+ transparent: S(o, r.material.renderState),
133
+ opacity: o,
134
+ wireframe: r.material.wireframe,
135
+ ...E(r.material.renderState)
136
+ };
137
+ return /* @__PURE__ */ b(
138
+ "mesh",
139
+ {
140
+ ...w(r.shadowMode),
141
+ onBeforeRender: (a, c, m, f, l) => {
142
+ const t = M(r.material.renderState);
143
+ if (!D(t)) return;
144
+ const s = a.getContext();
145
+ l.userData[d] = s.getParameter(
146
+ s.COLOR_WRITEMASK
147
+ ), s.colorMask(
148
+ t.colorMask.r,
149
+ t.colorMask.g,
150
+ t.colorMask.b,
151
+ t.colorMask.a
152
+ );
153
+ },
154
+ onAfterRender: (a, c, m, f, l) => {
155
+ const t = l.userData[d];
156
+ t && (a.getContext().colorMask(...t), delete l.userData[d]);
157
+ },
158
+ renderOrder: e,
159
+ children: [
160
+ /* @__PURE__ */ i(ee, { mesh: r.mesh }),
161
+ /* @__PURE__ */ i(Y, { settings: r.material, materialProps: p })
162
+ ]
163
+ }
164
+ );
165
+ };
166
+ export {
167
+ fe as D,
168
+ ue as M,
169
+ Q as S,
170
+ ie as a,
171
+ h as b,
172
+ X as c,
173
+ Z as d,
174
+ J as e,
175
+ $ as g,
176
+ M as n,
177
+ ce as u
178
+ };