@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.
Files changed (362) hide show
  1. package/GROUNDING.md +1813 -27
  2. package/dist/{DebuggerUI-CEfdddkZ.cjs → DebuggerUI-B45_Gb9d.cjs} +1 -1
  3. package/dist/{DebuggerUI-Dgop6Q6o.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 +22 -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 +74 -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 +4 -2
  28. package/dist/components/FaceRetouch/Background.d.ts +9 -5
  29. package/dist/components/FaceRetouch/FaceRetouch.d.ts +47 -0
  30. package/dist/components/FaceRetouch/index.d.ts +2 -6
  31. package/dist/components/FaceRetouch/landmarkMask.d.ts +4 -6
  32. package/dist/components/FaceRetouch/useFaceRetouchMask.d.ts +4 -7
  33. package/dist/components/FaceTracker/index.d.ts +5 -3
  34. package/dist/components/FaceWarp3D/FaceWarp3DHead.d.ts +15 -0
  35. package/dist/components/FaceWarp3D/defaults.d.ts +37 -0
  36. package/dist/components/FaceWarp3D/index.d.ts +3 -0
  37. package/dist/components/FaceWarp3D/warp.d.ts +13 -0
  38. package/dist/components/HandJoints2D/index.d.ts +6 -0
  39. package/dist/components/HandTracker/index.d.ts +2 -2
  40. package/dist/components/HandTracking2D/HandVisual.d.ts +12 -0
  41. package/dist/components/HandTracking2D/index.d.ts +5 -0
  42. package/dist/components/HandTracking2DController/index.d.ts +5 -0
  43. package/dist/components/HandTracking3D/index.d.ts +6 -0
  44. package/dist/components/LightObject/index.d.ts +20 -0
  45. package/dist/components/LookAt/index.d.ts +23 -0
  46. package/dist/components/MeshRenderer/index.d.ts +58 -0
  47. package/dist/components/PerspectiveCamera/index.d.ts +2 -8
  48. package/dist/components/PinToMesh/index.d.ts +47 -0
  49. package/dist/components/RenderGroupLayer/index.d.ts +6 -0
  50. package/dist/components/SceneObjectRenderer/index.d.ts +16 -0
  51. package/dist/components/Screen2D/ScreenTransformFrame.d.ts +11 -0
  52. package/dist/components/Screen2D/ScreenTransformHelpers.d.ts +19 -0
  53. package/dist/components/Screen2D/ScreenTransformInteraction.d.ts +18 -0
  54. package/dist/components/Screen2D/index.d.ts +5 -0
  55. package/dist/components/ScreenGlass/defaults.d.ts +3 -0
  56. package/dist/components/ScreenGlass/index.d.ts +5 -0
  57. package/dist/components/ScreenGlass/shaders.d.ts +2 -0
  58. package/dist/components/ScreenGlass/types.d.ts +10 -0
  59. package/dist/components/ScreenGradient/defaults.d.ts +5 -0
  60. package/dist/components/ScreenGradient/index.d.ts +5 -0
  61. package/dist/components/ScreenGradient/shaders.d.ts +2 -0
  62. package/dist/components/ScreenGradient/types.d.ts +19 -0
  63. package/dist/components/ScreenImage/ScreenImage.d.ts +4 -0
  64. package/dist/components/ScreenImage/components/DynamicTextureSync.d.ts +9 -0
  65. package/dist/components/ScreenImage/components/ScreenImageBody.d.ts +9 -0
  66. package/dist/components/ScreenImage/components/ScreenImageFrame.d.ts +9 -0
  67. package/dist/components/ScreenImage/components/ScreenImageTransformFrame.d.ts +9 -0
  68. package/dist/components/ScreenImage/fit.d.ts +52 -0
  69. package/dist/components/ScreenImage/index.d.ts +8 -0
  70. package/dist/components/ScreenImage/materials/ScreenImageBlendMaterial.d.ts +9 -0
  71. package/dist/components/ScreenImage/materials/ScreenImageMatcap.d.ts +3 -0
  72. package/dist/components/ScreenImage/source.d.ts +16 -0
  73. package/dist/components/ScreenImage/types.d.ts +37 -0
  74. package/dist/components/ScreenImage/utils/ScreenImageConstants.d.ts +9 -0
  75. package/dist/components/ScreenImage/utils/ScreenImageHelpers.d.ts +4 -0
  76. package/dist/components/ScreenShape/geometry.d.ts +5 -0
  77. package/dist/components/ScreenShape/index.d.ts +5 -0
  78. package/dist/components/ScreenShape/types.d.ts +41 -0
  79. package/dist/components/ScreenSpaceUI/ScreenTransformGuide.d.ts +15 -0
  80. package/dist/components/ScreenSpaceUI/ScreenTransformOverlayGuide.d.ts +9 -0
  81. package/dist/components/ScreenSpaceUI/index.d.ts +2 -0
  82. package/dist/components/ScreenText/components/ScreenTextBody.d.ts +2 -0
  83. package/dist/components/ScreenText/components/ScreenTextTransformFrame.d.ts +9 -0
  84. package/dist/components/ScreenText/constants.d.ts +5 -0
  85. package/dist/components/ScreenText/index.d.ts +6 -0
  86. package/dist/components/ScreenText/types.d.ts +31 -0
  87. package/dist/components/ScreenText/utils/ScreenTextHelpers.d.ts +14 -0
  88. package/dist/components/ScreenText/utils/ScreenTextMappings.d.ts +17 -0
  89. package/dist/components/SequentialRenderPasses/index.d.ts +6 -0
  90. package/dist/components/TextLabel/TextLabel.d.ts +5 -0
  91. package/dist/components/TextLabel/alignment.d.ts +4 -0
  92. package/dist/components/TextLabel/bend.d.ts +9 -0
  93. package/dist/components/TextLabel/canvas/buildTextLabelTexture.d.ts +4 -0
  94. package/dist/components/TextLabel/canvas/canvasTypography.d.ts +13 -0
  95. package/dist/components/TextLabel/canvas/drawBackground.d.ts +21 -0
  96. package/dist/components/TextLabel/canvas/drawEffects.d.ts +34 -0
  97. package/dist/components/TextLabel/canvas/drawText.d.ts +19 -0
  98. package/dist/components/TextLabel/components/TextLabelMesh.d.ts +13 -0
  99. package/dist/components/TextLabel/constants.d.ts +2 -0
  100. package/dist/components/TextLabel/hooks/useTextLabelTexture.d.ts +7 -0
  101. package/dist/components/TextLabel/index.d.ts +2 -62
  102. package/dist/components/TextLabel/layout/measurement.d.ts +8 -0
  103. package/dist/components/TextLabel/layout/resolveTextLayout.d.ts +25 -0
  104. package/dist/components/TextLabel/layout/wrapText.d.ts +6 -0
  105. package/dist/components/TextLabel/types.d.ts +227 -0
  106. package/dist/components/TrackingAnchor/index.d.ts +18 -2
  107. package/dist/components/Transform3D/index.d.ts +30 -0
  108. package/dist/components/XRMediaSurface/index.d.ts +6 -6
  109. package/dist/components/XRScene/index.d.ts +14 -3
  110. package/dist/components/XRViewport/XRViewport.d.ts +11 -0
  111. package/dist/components/XRViewport/components/HiddenMedia.d.ts +7 -0
  112. package/dist/components/XRViewport/components/MediaAssetPicker.d.ts +8 -0
  113. package/dist/components/XRViewport/components/MediaControlStack.d.ts +13 -0
  114. package/dist/components/XRViewport/components/XRViewportLayers.d.ts +30 -0
  115. package/dist/components/XRViewport/constants.d.ts +24 -0
  116. package/dist/components/XRViewport/contexts.d.ts +6 -0
  117. package/dist/components/XRViewport/hooks/useViewportExternalFaces.d.ts +13 -0
  118. package/dist/components/XRViewport/hooks/useViewportMediaSource.d.ts +16 -0
  119. package/dist/components/XRViewport/hooks/useViewportMediaTexture.d.ts +10 -0
  120. package/dist/components/XRViewport/hooks/useViewportPipeline.d.ts +41 -0
  121. package/dist/components/XRViewport/hooks/useViewportRenderState.d.ts +47 -0
  122. package/dist/components/XRViewport/index.d.ts +3 -101
  123. package/dist/components/XRViewport/layout.d.ts +16 -0
  124. package/dist/components/XRViewport/slots.d.ts +16 -0
  125. package/dist/components/XRViewport/types.d.ts +89 -0
  126. package/dist/components/XRViewport/useViewportSize.d.ts +3 -0
  127. package/dist/components/index.d.ts +19 -0
  128. package/dist/contexts-BKvTIayr.cjs +1 -0
  129. package/dist/contexts-Bk5zz_VR.js +214 -0
  130. package/dist/debug-ui/component-editor/index.d.ts +19 -0
  131. package/dist/debug-ui/default-setting/index.d.ts +37 -0
  132. package/dist/debug-ui/default-setting.cjs +21 -0
  133. package/dist/debug-ui/default-setting.js +777 -0
  134. package/dist/debug-ui/face-mesh-renderer-settings/index.d.ts +8 -0
  135. package/dist/debug-ui/face-retouch/index.d.ts +11 -0
  136. package/dist/debug-ui/face-warp-3d/index.d.ts +6 -0
  137. package/dist/debug-ui/hand-joints-2d/index.d.ts +6 -0
  138. package/dist/debug-ui/hand-tracking-2d/index.d.ts +6 -0
  139. package/dist/debug-ui/hand-tracking-2d-controller/index.d.ts +6 -0
  140. package/dist/debug-ui/hand-tracking-3d/index.d.ts +6 -0
  141. package/dist/debug-ui/hierarchy-panel/index.d.ts +29 -0
  142. package/dist/debug-ui/index.d.ts +46 -0
  143. package/dist/debug-ui/layer-panel/index.d.ts +18 -0
  144. package/dist/debug-ui/media-source/MediaSourceSwitcher.d.ts +10 -0
  145. package/dist/debug-ui/media-source/index.d.ts +6 -0
  146. package/dist/debug-ui/media-source/media-preset.d.ts +9 -0
  147. package/dist/debug-ui/media-source/session.d.ts +12 -0
  148. package/dist/debug-ui/media-source.cjs +1 -0
  149. package/dist/debug-ui/media-source.js +9 -0
  150. package/dist/debug-ui/mesh-renderer-settings/index.d.ts +6 -0
  151. package/dist/debug-ui/object-inspector-panel/index.d.ts +25 -0
  152. package/dist/debug-ui/pin-to-mesh-settings/index.d.ts +10 -0
  153. package/dist/debug-ui/scene-editor/context.d.ts +38 -0
  154. package/dist/debug-ui/scene-editor/hierarchy-panel.d.ts +9 -0
  155. package/dist/debug-ui/scene-editor/index.d.ts +11 -0
  156. package/dist/debug-ui/scene-editor/inspector-panel.d.ts +7 -0
  157. package/dist/debug-ui/scene-editor/store-utils.d.ts +2 -0
  158. package/dist/debug-ui/scene-editor/viewport-toolbar.d.ts +4 -0
  159. package/dist/debug-ui/scene-editor/viewport.d.ts +21 -0
  160. package/dist/debug-ui/screen-glass-settings/index.d.ts +6 -0
  161. package/dist/debug-ui/screen-gradient-settings/GradientStopsEditor.d.ts +5 -0
  162. package/dist/debug-ui/screen-gradient-settings/index.d.ts +6 -0
  163. package/dist/debug-ui/screen-gradient-settings/styles.d.ts +3 -0
  164. package/dist/debug-ui/screen-image-settings/index.d.ts +9 -0
  165. package/dist/debug-ui/screen-shape-settings/index.d.ts +6 -0
  166. package/dist/debug-ui/screen-text-settings/NumberField.d.ts +9 -0
  167. package/dist/debug-ui/screen-text-settings/ScreenTextSettingsPanel.d.ts +3 -0
  168. package/dist/debug-ui/screen-text-settings/controls/NestedSection.d.ts +7 -0
  169. package/dist/debug-ui/screen-text-settings/controls/Section.d.ts +8 -0
  170. package/dist/debug-ui/screen-text-settings/controls/icons.d.ts +4 -0
  171. package/dist/debug-ui/screen-text-settings/index.d.ts +2 -0
  172. package/dist/debug-ui/screen-text-settings/sections/BackgroundSection.d.ts +8 -0
  173. package/dist/debug-ui/screen-text-settings/sections/ContentSection.d.ts +5 -0
  174. package/dist/debug-ui/screen-text-settings/sections/EffectsSection.d.ts +25 -0
  175. package/dist/debug-ui/screen-text-settings/sections/StyleSection.d.ts +5 -0
  176. package/dist/debug-ui/screen-text-settings/sections/TransformSection.d.ts +5 -0
  177. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundFillControls.d.ts +2 -0
  178. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundSizeControls.d.ts +2 -0
  179. package/dist/debug-ui/screen-text-settings/sections/background/BackgroundStrokeControls.d.ts +2 -0
  180. package/dist/debug-ui/screen-text-settings/sections/background/types.d.ts +7 -0
  181. package/dist/debug-ui/screen-text-settings/sections/effects/BendEffectSection.d.ts +4 -0
  182. package/dist/debug-ui/screen-text-settings/sections/effects/EffectChrome.d.ts +21 -0
  183. package/dist/debug-ui/screen-text-settings/sections/effects/GlowEffectSection.d.ts +4 -0
  184. package/dist/debug-ui/screen-text-settings/sections/effects/InnerShadowEffectSection.d.ts +4 -0
  185. package/dist/debug-ui/screen-text-settings/sections/effects/OutlineEffectSection.d.ts +4 -0
  186. package/dist/debug-ui/screen-text-settings/sections/effects/ShadowEffectSection.d.ts +4 -0
  187. package/dist/debug-ui/screen-text-settings/sections/effects/types.d.ts +14 -0
  188. package/dist/debug-ui/screen-text-settings/settings.d.ts +90 -0
  189. package/dist/debug-ui/screen-text-settings/styles.d.ts +26 -0
  190. package/dist/debug-ui/screen-text-settings/transform.d.ts +6 -0
  191. package/dist/debug-ui/screen-text-settings/types.d.ts +9 -0
  192. package/dist/debug-ui/settings-panel/index.d.ts +38 -0
  193. package/dist/debug-ui/shared/MaterialSection.d.ts +13 -0
  194. package/dist/debug-ui/shared/ScreenTransformSection.d.ts +32 -0
  195. package/dist/debug-ui/transform-3d-settings/index.d.ts +11 -0
  196. package/dist/debug-ui.cjs +10 -0
  197. package/dist/debug-ui.js +8861 -0
  198. package/dist/drawNormalizedCrop-B-7zU-Xw.cjs +1 -0
  199. package/dist/drawNormalizedCrop-CRdIDyl1.js +44 -0
  200. package/dist/entries/all.d.ts +1 -0
  201. package/dist/entries/core.d.ts +55 -4
  202. package/dist/entries/face-effects.d.ts +12 -8
  203. package/dist/entries/internal.d.ts +1 -1
  204. package/dist/entries/low-level.d.ts +21 -4
  205. package/dist/entries/scene-object.d.ts +10 -0
  206. package/dist/entries/tracking.d.ts +25 -2
  207. package/dist/face-action/index.d.ts +34 -0
  208. package/dist/face-attribute-expression/index.d.ts +10 -0
  209. package/dist/face-effects.cjs +1 -252
  210. package/dist/face-effects.js +1404 -2613
  211. package/dist/face-info/blendshapes.d.ts +3 -0
  212. package/dist/face-info/derive.d.ts +8 -0
  213. package/dist/face-info/drawFaceCrop.d.ts +10 -0
  214. package/dist/face-info/getFaceInfo.d.ts +8 -0
  215. package/dist/face-info/index.d.ts +8 -0
  216. package/dist/face-info/landmarks.d.ts +21 -0
  217. package/dist/face-info/types.d.ts +52 -0
  218. package/dist/getFaceInfo-CyPAKh3h.cjs +1 -0
  219. package/dist/getFaceInfo-hUKMLFcr.js +118 -0
  220. package/dist/hand/handJoints2d.d.ts +49 -0
  221. package/dist/hand/handTracking2d.d.ts +33 -0
  222. package/dist/hand/handTracking2dController.d.ts +65 -0
  223. package/dist/hand/handTracking3d.d.ts +52 -0
  224. package/dist/hooks/faceResults.d.ts +1 -1
  225. package/dist/hooks/useCalibrationFaceTracker.d.ts +1 -1
  226. package/dist/hooks/useFaceAction.d.ts +3 -0
  227. package/dist/hooks/useFaceAttributeExpression.d.ts +16 -0
  228. package/dist/hooks/useFaceDetection.d.ts +18 -0
  229. package/dist/hooks/useFaceInfo.d.ts +7 -0
  230. package/dist/hooks/useFaceInfos.d.ts +15 -0
  231. package/dist/hooks/useFaceResultReader.d.ts +10 -0
  232. package/dist/hooks/useFrameCapture.d.ts +18 -0
  233. package/dist/hooks/useMediaRecorder.d.ts +14 -2
  234. package/dist/hooks/useOwnedTexture.d.ts +6 -0
  235. package/dist/hooks/useTrackerContext.d.ts +2 -2
  236. package/dist/hooks/useXRSession/facade.d.ts +3 -0
  237. package/dist/hooks/useXRSession/registry.d.ts +9 -0
  238. package/dist/index-82aENaRq.cjs +1 -0
  239. package/dist/{index-BD-JWMjE.js → index-BgQAX8rs.js} +198 -134
  240. package/dist/index-CEc1CAmB.cjs +1 -0
  241. package/dist/index-CTHeBQOs.js +178 -0
  242. package/dist/index-D4bLzBr6.cjs +1 -0
  243. package/dist/index-DSpzjuqd.cjs +1 -0
  244. package/dist/index-Di70KWuY.js +2049 -0
  245. package/dist/index-DzEzkBIH.cjs +17 -0
  246. package/dist/{index-CYMj26Ej.js → index-JygePOwo.js} +565 -498
  247. package/dist/index-UC0Ux38E.js +111 -0
  248. package/dist/{internal-KOKJDxCG.js → internal-DuMPpcbp.js} +86 -80
  249. package/dist/internal-i2JkM85N.cjs +1 -0
  250. package/dist/internal.cjs +1 -1
  251. package/dist/internal.js +2 -2
  252. package/dist/low-level.cjs +1 -1
  253. package/dist/low-level.js +959 -632
  254. package/dist/main.cjs +1 -1
  255. package/dist/main.js +556 -455
  256. package/dist/material/MaterialFill.d.ts +20 -0
  257. package/dist/material/MeshMaterial.d.ts +14 -0
  258. package/dist/material/index.d.ts +2 -0
  259. package/dist/models/Body/index.d.ts +1 -1
  260. package/dist/models/Face/index.d.ts +1 -0
  261. package/dist/models/Face/rotation.d.ts +3 -0
  262. package/dist/models/Hand/HandTracking.d.ts +2 -0
  263. package/dist/render/layerStack.d.ts +29 -0
  264. package/dist/render/renderGroups.d.ts +47 -0
  265. package/dist/render/renderPasses.d.ts +18 -0
  266. package/dist/renderGroups-C9QJrAXu.js +152 -0
  267. package/dist/renderGroups-Dvm1J4lW.cjs +1 -0
  268. package/dist/renderLayers-lDtL0_43.cjs +1 -0
  269. package/dist/renderLayers-zrK2pv5O.js +13 -0
  270. package/dist/renderPasses-CT5iBwtg.cjs +21 -0
  271. package/dist/renderPasses-CjgG_6kQ.js +1500 -0
  272. package/dist/scene-object/index.d.ts +146 -0
  273. package/dist/scene-object/runtimeRegistry.d.ts +14 -0
  274. package/dist/scene-object.cjs +1 -0
  275. package/dist/scene-object.js +40 -0
  276. package/dist/screen-image/screenImagePresets.d.ts +13 -0
  277. package/dist/screen-image/screenImageSettings.d.ts +57 -0
  278. package/dist/screen-text/screenTextPresets.d.ts +6 -0
  279. package/dist/screen-text/screenTextSettings.d.ts +147 -0
  280. package/dist/screen2d/coordinates.d.ts +87 -0
  281. package/dist/screen2d/index.d.ts +7 -0
  282. package/dist/screen2d/material-runtime.d.ts +32 -0
  283. package/dist/screen2d/screenTransform.d.ts +47 -0
  284. package/dist/screen2d/smoothing.d.ts +5 -0
  285. package/dist/screen2d/texture.d.ts +10 -0
  286. package/dist/screen2d/transform.d.ts +25 -0
  287. package/dist/screen2d/types.d.ts +90 -0
  288. package/dist/{selectors-Bub0o3qy.cjs → selectors-2QvO5RYY.cjs} +1 -1
  289. package/dist/{selectors-BHO6TnoC.js → selectors-Dw3C-gSk.js} +5 -5
  290. package/dist/services/MetricsCollector/index.d.ts +7 -1
  291. package/dist/services/MetricsCollector/utils.d.ts +1 -1
  292. package/dist/session-BChR4TgK.cjs +31 -0
  293. package/dist/session-C1StwN0f.js +363 -0
  294. package/dist/texture/animatedTexture.d.ts +61 -0
  295. package/dist/texture/animationMath.d.ts +8 -0
  296. package/dist/texture/sourceResolver.d.ts +30 -0
  297. package/dist/tracking.cjs +1 -1
  298. package/dist/tracking.js +582 -298
  299. package/dist/types/face.d.ts +1 -13
  300. package/dist/types/hand-tracking.d.ts +8 -0
  301. package/dist/types/index.d.ts +0 -1
  302. package/dist/types/nodes.d.ts +4 -1
  303. package/dist/types/session.d.ts +2 -0
  304. package/dist/types/tracking.d.ts +8 -2
  305. package/dist/types/util-types.d.ts +1 -1
  306. package/dist/useFaceInfo-C-WfMlYp.cjs +1 -0
  307. package/dist/useFaceInfo-CwsHZedC.js +62 -0
  308. package/dist/useFaceResults-CkFc1egZ.js +19 -0
  309. package/dist/useFaceResults-VcFdOUFV.cjs +1 -0
  310. package/dist/utils/drawNormalizedCrop.d.ts +22 -0
  311. package/dist/utils/integrity.d.ts +4 -25
  312. package/dist/utils/landmarkBounds.d.ts +1 -1
  313. package/dist/utils/logger.d.ts +2 -2
  314. package/dist/x-Co8jPhP0.js +127 -0
  315. package/dist/x-KC8E4Gaj.cjs +41 -0
  316. package/docs/MIGRATION_GUIDE.md +589 -0
  317. package/docs/SDK_DOCUMENTATION.md +1155 -0
  318. package/docs/api/audio.mdx +36 -0
  319. package/docs/api/behavior-components.mdx +164 -0
  320. package/docs/api/capture-recording.mdx +103 -0
  321. package/docs/api/debug-ui-scene-editor.mdx +249 -0
  322. package/docs/api/face-actions.mdx +104 -0
  323. package/docs/api/face-attribute-expression.mdx +87 -0
  324. package/docs/api/face-binding-anchors.mdx +53 -0
  325. package/docs/api/face-effects.mdx +19 -0
  326. package/docs/api/face-info.mdx +112 -0
  327. package/docs/api/face-mesh.mdx +98 -0
  328. package/docs/api/face-painting.mdx +33 -0
  329. package/docs/api/face-retouching.mdx +73 -0
  330. package/docs/api/material-render-state.mdx +132 -0
  331. package/docs/api/runtime-3d.mdx +311 -0
  332. package/docs/api/scene-object-store.mdx +213 -0
  333. package/docs/api/screen-image.mdx +41 -0
  334. package/docs/api/screen-shape.mdx +64 -0
  335. package/docs/api/screen-space-coordinates.mdx +41 -0
  336. package/docs/api/screen-text.mdx +39 -0
  337. package/docs/api/texture-sources.mdx +55 -0
  338. package/docs/api/trackers.mdx +46 -0
  339. package/docs/docs.json +70 -0
  340. package/docs/examples/scene-object-recipes.mdx +194 -0
  341. package/docs/guides/harness-debug-ui.mdx +139 -0
  342. package/docs/inspector/hierarchy-panel.mdx +51 -0
  343. package/docs/inspector/object-inspector-panel.mdx +51 -0
  344. package/docs/introduction.mdx +121 -0
  345. package/docs/scene-objects/overview.mdx +127 -0
  346. package/docs/scene-objects/render-groups.mdx +77 -0
  347. package/docs/scene-objects/runtime-rendering.mdx +75 -0
  348. package/docs/texture-api-consumer.md +58 -0
  349. package/package.json +55 -7
  350. package/dist/components/FaceRetouch/retouchRegions.d.ts +0 -23
  351. package/dist/components/FaceRetouch/useFaceRetouchRegions.d.ts +0 -12
  352. package/dist/index-B5J4gzn2.cjs +0 -1
  353. package/dist/index-BVBVg96G.cjs +0 -1
  354. package/dist/index-DtwHElmG.js +0 -157
  355. package/dist/index-PtFmD6B8.cjs +0 -1
  356. package/dist/internal-DH5d1Xnq.cjs +0 -1
  357. package/dist/modules/XRClient/index.d.ts +0 -9
  358. package/dist/modules/index.d.ts +0 -1
  359. package/dist/services/ApiService.d.ts +0 -12
  360. package/dist/types/client.d.ts +0 -3
  361. package/dist/useFaceResults-cpsSmKKc.js +0 -81
  362. package/dist/useFaceResults-hVUJYSEY.cjs +0 -1
@@ -0,0 +1,146 @@
1
+ import { MeshRendererSettings } from '../components/MeshRenderer';
2
+ import { FaceMeshRendererSettings } from '../components/FaceMesh';
3
+ import { LightSettings } from '../components/LightObject';
4
+ import { PinToMeshSettings } from '../components/PinToMesh';
5
+ import { TrackingAnchorSettings } from '../components/TrackingAnchor';
6
+ import { LookAtSettings } from '../components/LookAt';
7
+ import { Transform3DSettings } from '../components/Transform3D';
8
+ import { ScreenImageSettings } from '../screen-image/screenImageSettings';
9
+ import { ScreenTextSettings } from '../screen-text/screenTextSettings';
10
+ import { ScreenShapeSettings } from '../components/ScreenShape';
11
+ import { ScreenTransform2DSettings } from '../screen2d';
12
+ export type SceneObjectId = string;
13
+ export type SceneComponentId = string;
14
+ export type MaterialSettings = {
15
+ type: "standard" | "basic";
16
+ color: string;
17
+ opacity: number;
18
+ wireframe: boolean;
19
+ roughness: number;
20
+ metalness: number;
21
+ };
22
+ export type TextureSettings = {
23
+ sourceId?: string;
24
+ url?: string;
25
+ flipX: boolean;
26
+ flipY: boolean;
27
+ };
28
+ export type ComponentRegistry = {
29
+ Transform: Transform3DSettings;
30
+ ScreenTransform: ScreenTransform2DSettings;
31
+ ScreenImage: ScreenImageSettings;
32
+ ScreenText: ScreenTextSettings;
33
+ ScreenShape: ScreenShapeSettings;
34
+ MeshRenderer: MeshRendererSettings;
35
+ FaceMeshRenderer: FaceMeshRendererSettings;
36
+ Material: MaterialSettings;
37
+ Texture: TextureSettings;
38
+ Light: LightSettings;
39
+ LookAt: LookAtSettings;
40
+ PinToMesh: PinToMeshSettings;
41
+ TrackingAnchor: TrackingAnchorSettings;
42
+ };
43
+ export type SceneComponentType = keyof ComponentRegistry;
44
+ export type SceneObject = {
45
+ id: SceneObjectId;
46
+ name: string;
47
+ enabled: boolean;
48
+ /**
49
+ * Optional parent scene object. Child transforms are evaluated in the
50
+ * parent's runtime Object3D space, so moving/rotating/scaling the parent
51
+ * affects all descendants while each child keeps its own local transform.
52
+ */
53
+ parentObjectId?: SceneObjectId | null;
54
+ /** Ordered child scene-object IDs for hierarchy/runtime nesting. */
55
+ childObjectIds?: SceneObjectId[];
56
+ renderGroupId?: string;
57
+ /** @deprecated Use renderGroupId. Retained for persisted-scene migration. */
58
+ layerId?: string;
59
+ componentIds: SceneComponentId[];
60
+ };
61
+ export type SceneComponent<TType extends SceneComponentType = SceneComponentType> = TType extends SceneComponentType ? {
62
+ id: SceneComponentId;
63
+ objectId: SceneObjectId;
64
+ type: TType;
65
+ enabled: boolean;
66
+ settings: ComponentRegistry[TType];
67
+ } : never;
68
+ export type SceneObjectStore = {
69
+ objects: Record<SceneObjectId, SceneObject>;
70
+ components: Record<SceneComponentId, SceneComponent>;
71
+ };
72
+ export declare const createSceneId: (prefix: string) => string;
73
+ export declare const createSceneObjectId: () => string;
74
+ export declare const createSceneComponentId: () => string;
75
+ export declare const createDefaultTransformSettings: () => Transform3DSettings;
76
+ export declare const createDefaultScreenTransformSettings: () => ScreenTransform2DSettings;
77
+ export declare const createDefaultScreenImageSettings: () => ScreenImageSettings;
78
+ export declare const createDefaultScreenTextSettings: () => ScreenTextSettings;
79
+ export declare const createDefaultScreenShapeSettings: () => ScreenShapeSettings;
80
+ export declare const createDefaultMeshRendererSettings: () => MeshRendererSettings;
81
+ export declare const createDefaultFaceMeshRendererSettings: () => FaceMeshRendererSettings;
82
+ export declare const createDefaultMaterialSettings: () => MaterialSettings;
83
+ export declare const createDefaultTextureSettings: () => TextureSettings;
84
+ export declare const createDefaultLightSettings: () => LightSettings;
85
+ export declare const createDefaultLookAtSettings: () => {
86
+ enabled: boolean;
87
+ targetObjectId: SceneObjectId | null;
88
+ mode: "point";
89
+ inheritChildren: boolean;
90
+ offsetRotation: {
91
+ x: number;
92
+ y: number;
93
+ z: number;
94
+ };
95
+ };
96
+ export declare const createDefaultPinToMeshSettings: () => PinToMeshSettings;
97
+ export declare const createDefaultTrackingAnchorSettings: () => TrackingAnchorSettings;
98
+ export declare const componentDefaults: {
99
+ Transform: () => Transform3DSettings;
100
+ ScreenTransform: () => ScreenTransform2DSettings;
101
+ ScreenImage: () => ScreenImageSettings;
102
+ ScreenText: () => ScreenTextSettings;
103
+ ScreenShape: () => ScreenShapeSettings;
104
+ MeshRenderer: () => MeshRendererSettings;
105
+ FaceMeshRenderer: () => FaceMeshRendererSettings;
106
+ Material: () => MaterialSettings;
107
+ Texture: () => TextureSettings;
108
+ Light: () => LightSettings;
109
+ LookAt: () => {
110
+ enabled: boolean;
111
+ targetObjectId: SceneObjectId | null;
112
+ mode: "point";
113
+ inheritChildren: boolean;
114
+ offsetRotation: {
115
+ x: number;
116
+ y: number;
117
+ z: number;
118
+ };
119
+ };
120
+ PinToMesh: () => PinToMeshSettings;
121
+ TrackingAnchor: () => TrackingAnchorSettings;
122
+ };
123
+ export declare const createSceneObject: ({ componentIds, enabled, id, parentObjectId, childObjectIds, renderGroupId, layerId, name, }: {
124
+ componentIds?: SceneComponentId[];
125
+ enabled?: boolean;
126
+ id?: SceneObjectId;
127
+ parentObjectId?: SceneObjectId | null;
128
+ childObjectIds?: SceneObjectId[];
129
+ renderGroupId?: string;
130
+ /** @deprecated Use renderGroupId. */
131
+ layerId?: string;
132
+ name: string;
133
+ }) => SceneObject;
134
+ export declare const createDefaultComponent: <TType extends SceneComponentType>(type: TType, objectId: SceneObjectId) => SceneComponent<TType>;
135
+ export declare const getOrderedComponents: (store: SceneObjectStore, objectId: SceneObjectId) => SceneComponent[];
136
+ export declare const createOrderedComponentsSelector: () => (store: SceneObjectStore, objectId: SceneObjectId) => SceneComponent[];
137
+ export declare const addComponentToObject: <TStore extends SceneObjectStore>(store: TStore, component: SceneComponent) => TStore;
138
+ export declare const moveComponent: <TStore extends SceneObjectStore>(store: TStore, objectId: SceneObjectId, componentId: SceneComponentId, nextIndex: number) => TStore;
139
+ export declare const removeComponent: <TStore extends SceneObjectStore>(store: TStore, objectId: SceneObjectId, componentId: SceneComponentId) => TStore;
140
+ export declare const replaceSceneComponent: <TStore extends SceneObjectStore>(store: TStore, component: SceneComponent) => TStore;
141
+ export declare const replaceSceneObject: <TStore extends SceneObjectStore>(store: TStore, object: SceneObject) => TStore;
142
+ export declare const getSceneObjectChildren: (store: SceneObjectStore, objectId: SceneObjectId) => SceneObject[];
143
+ export declare const setSceneObjectParent: <TStore extends SceneObjectStore>(store: TStore, objectId: SceneObjectId, parentObjectId: SceneObjectId | null, nextIndex?: number) => TStore;
144
+ export declare const setSceneObjectParentPreserveWorldTransform: <TStore extends SceneObjectStore>(store: TStore, objectId: SceneObjectId, parentObjectId: SceneObjectId | null, nextIndex?: number) => TStore;
145
+ export declare const setSceneObjectVisible: <TStore extends SceneObjectStore>(store: TStore, objectId: SceneObjectId, visible: boolean) => TStore;
146
+ export declare const deleteSceneObject: <TStore extends SceneObjectStore>(store: TStore, objectId: SceneObjectId) => TStore;
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ import { Object3D } from 'three';
3
+ export type RuntimeObjectRegistry = {
4
+ register: (id: string, object: Object3D | null) => void;
5
+ resolve: (id: string | null | undefined) => Object3D | null;
6
+ };
7
+ export declare const RuntimeObjectRegistryProvider: ({ children }: {
8
+ children: ReactNode;
9
+ }) => import('react').FunctionComponentElement<import('react').ProviderProps<RuntimeObjectRegistry | null>>;
10
+ export declare const useRuntimeObjectRegistry: () => RuntimeObjectRegistry;
11
+ export declare const useRegisterRuntimeObject: () => (id: string, object: Object3D | null) => void;
12
+ export declare const useResolveRuntimeObject: () => (id: string | null | undefined) => Object3D | null;
13
+ export declare const registerRuntimeObject: (id: string, object: Object3D | null) => void;
14
+ export declare const resolveRuntimeObject: (id: string | null | undefined) => Object3D | null;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./renderPasses-CT5iBwtg.cjs"),t=require("./renderGroups-Dvm1J4lW.cjs");exports.addComponentToObject=e.addComponentToObject;exports.componentDefaults=e.componentDefaults;exports.createDefaultComponent=e.createDefaultComponent;exports.createDefaultFaceMeshRendererSettings=e.createDefaultFaceMeshRendererSettings;exports.createDefaultMaterialSettings=e.createDefaultMaterialSettings;exports.createDefaultMeshRendererSettings=e.createDefaultMeshRendererSettings;exports.createDefaultScreenImageSettings=e.createDefaultScreenImageSettings;exports.createDefaultScreenShapeSettings=e.createDefaultScreenShapeSettings;exports.createDefaultScreenTextSettings=e.createDefaultScreenTextSettings;exports.createDefaultScreenTransformSettings=e.createDefaultScreenTransformSettings;exports.createDefaultTextureSettings=e.createDefaultTextureSettings;exports.createDefaultTransformSettings=e.createDefaultTransformSettings;exports.createOrderedComponentsSelector=e.createOrderedComponentsSelector;exports.createSceneComponentId=e.createSceneComponentId;exports.createSceneId=e.createSceneId;exports.createSceneObject=e.createSceneObject;exports.createSceneObjectId=e.createSceneObjectId;exports.deleteSceneObject=e.deleteSceneObject;exports.getOrderedComponents=e.getOrderedComponents;exports.getSceneObjectChildren=e.getSceneObjectChildren;exports.moveComponent=e.moveComponent;exports.removeComponent=e.removeComponent;exports.replaceSceneComponent=e.replaceSceneComponent;exports.replaceSceneObject=e.replaceSceneObject;exports.setSceneObjectParent=e.setSceneObjectParent;exports.setSceneObjectParentPreserveWorldTransform=e.setSceneObjectParentPreserveWorldTransform;exports.setSceneObjectVisible=e.setSceneObjectVisible;exports.DEFAULT_RENDER_GROUP_IDS=t.DEFAULT_RENDER_GROUP_IDS;exports.RENDER_GROUP_POLICIES=t.RENDER_GROUP_POLICIES;exports.createRenderPlan=t.createRenderPlan;exports.getDefaultRenderGroupId=t.getDefaultRenderGroupId;exports.migrateToRenderGroups=t.migrateToRenderGroups;exports.moveObjectToGroup=t.moveObjectToGroup;exports.reorderObjectWithinGroup=t.reorderObjectWithinGroup;exports.reorderRenderGroup=t.reorderRenderGroup;exports.validateGroupCompatibility=t.validateGroupCompatibility;
@@ -0,0 +1,40 @@
1
+ import { a, c as r, b as s, d as n, e as c, f as o, g as S, i as l, h as d, j as m, k as p, l as i, q as u, m as f, n as D, o as g, p as O, r as b, s as R, t as j, u as C, v as T, w as G, x as I, y as v, z as P, A as h } from "./renderPasses-CjgG_6kQ.js";
2
+ import { D as x, R as _, c as M, g as U, m as y, a as A, r as F, b as L, v as N } from "./renderGroups-C9QJrAXu.js";
3
+ export {
4
+ x as DEFAULT_RENDER_GROUP_IDS,
5
+ _ as RENDER_GROUP_POLICIES,
6
+ a as addComponentToObject,
7
+ r as componentDefaults,
8
+ s as createDefaultComponent,
9
+ n as createDefaultFaceMeshRendererSettings,
10
+ c as createDefaultMaterialSettings,
11
+ o as createDefaultMeshRendererSettings,
12
+ S as createDefaultScreenImageSettings,
13
+ l as createDefaultScreenShapeSettings,
14
+ d as createDefaultScreenTextSettings,
15
+ m as createDefaultScreenTransformSettings,
16
+ p as createDefaultTextureSettings,
17
+ i as createDefaultTransformSettings,
18
+ u as createOrderedComponentsSelector,
19
+ M as createRenderPlan,
20
+ f as createSceneComponentId,
21
+ D as createSceneId,
22
+ g as createSceneObject,
23
+ O as createSceneObjectId,
24
+ b as deleteSceneObject,
25
+ U as getDefaultRenderGroupId,
26
+ R as getOrderedComponents,
27
+ j as getSceneObjectChildren,
28
+ y as migrateToRenderGroups,
29
+ C as moveComponent,
30
+ A as moveObjectToGroup,
31
+ T as removeComponent,
32
+ F as reorderObjectWithinGroup,
33
+ L as reorderRenderGroup,
34
+ G as replaceSceneComponent,
35
+ I as replaceSceneObject,
36
+ v as setSceneObjectParent,
37
+ P as setSceneObjectParentPreserveWorldTransform,
38
+ h as setSceneObjectVisible,
39
+ N as validateGroupCompatibility
40
+ };
@@ -0,0 +1,13 @@
1
+ import { ScreenImageSettings } from './screenImageSettings';
2
+ export type ScreenImagePreset = "placeholder" | "hero-image" | "photo-frame";
3
+ export type ScreenImagePresetPatch = Partial<Omit<ScreenImageSettings, "image" | "transformation">> & {
4
+ transformation?: Partial<ScreenImageSettings["transformation"]>;
5
+ image?: Partial<ScreenImageSettings["image"]>;
6
+ };
7
+ export declare const SCREEN_IMAGE_PRESET_LABELS: Record<ScreenImagePreset, string>;
8
+ export declare const SCREEN_IMAGE_PRESET_OPTIONS: {
9
+ value: ScreenImagePreset;
10
+ label: string;
11
+ }[];
12
+ export declare const SCREEN_IMAGE_PRESETS: Record<ScreenImagePreset, ScreenImagePresetPatch>;
13
+ export declare const applyScreenImagePreset: (settings: ScreenImageSettings, preset: ScreenImagePreset) => ScreenImageSettings;
@@ -0,0 +1,57 @@
1
+ import { ScreenImageProps, ScreenImageBlendMode, ScreenImageMaterialType, ScreenImageStretchMode } from '../components/ScreenImage';
2
+ import { ScreenCanvasSize, ScreenCoordinateSpace } from '../screen2d';
3
+ import { ScreenTransform2DSettings } from '../screen2d/screenTransform';
4
+ import { ScreenImagePreset } from './screenImagePresets';
5
+ export type ScreenImageSourceKind = "default" | "image" | "texture" | "video" | "sequence" | "gif";
6
+ export type ScreenImageTransformationSettings = {
7
+ enabled: boolean;
8
+ showFitGuides: boolean;
9
+ coordinateSpace?: ScreenCoordinateSpace;
10
+ canvasSize?: ScreenCanvasSize;
11
+ position: {
12
+ x: number;
13
+ y: number;
14
+ };
15
+ size: {
16
+ width: number;
17
+ height: number;
18
+ };
19
+ rotation: number;
20
+ pivot: [number, number];
21
+ renderOrder: number;
22
+ overlay: boolean;
23
+ visible: boolean;
24
+ };
25
+ export type ScreenImageImageSettings = {
26
+ sourceKind: ScreenImageSourceKind;
27
+ src: string;
28
+ stretchMode: ScreenImageStretchMode;
29
+ materialType: ScreenImageMaterialType;
30
+ blendMode: ScreenImageBlendMode;
31
+ opacity: number;
32
+ color: string;
33
+ flipX: boolean;
34
+ flipY: boolean;
35
+ transparent: boolean;
36
+ alphaTest: number;
37
+ };
38
+ export type ScreenImageSettings = {
39
+ enabled: boolean;
40
+ preset: ScreenImagePreset;
41
+ screenTransform?: ScreenTransform2DSettings;
42
+ transformation: ScreenImageTransformationSettings;
43
+ image: ScreenImageImageSettings;
44
+ };
45
+ export type ScreenImageSceneSettings = {
46
+ screenImage: ScreenImageSettings;
47
+ screenSpaceUI: {
48
+ enabled: boolean;
49
+ };
50
+ };
51
+ export type ScreenImageRenderMapping = {
52
+ shouldRender: boolean;
53
+ props: Omit<ScreenImageProps, "backdropTexture" | "onScreenTransformChange">;
54
+ };
55
+ export declare function mapScreenImageSettingsToProps(settings: ScreenImageSceneSettings): ScreenImageRenderMapping;
56
+ export declare const DEFAULT_SCREEN_IMAGE_SETTINGS: ScreenImageSettings;
57
+ export declare const DEFAULT_SCREEN_IMAGE_SCENE_SETTINGS: ScreenImageSceneSettings;
@@ -0,0 +1,6 @@
1
+ import { ScreenTextArtPreset, ScreenTextStyle } from './screenTextSettings';
2
+ export type ScreenTextStylePatch = Partial<Omit<ScreenTextStyle, "background">> & {
3
+ background?: Partial<ScreenTextStyle["background"]>;
4
+ };
5
+ export declare const SCREEN_TEXT_ART_PRESETS: Record<ScreenTextArtPreset, ScreenTextStylePatch>;
6
+ export declare const applyScreenTextArtPreset: (style: ScreenTextStyle, textArtPreset: ScreenTextArtPreset) => ScreenTextStyle;
@@ -0,0 +1,147 @@
1
+ import { ScreenImageSettings } from '../screen-image/screenImageSettings';
2
+ import { ScreenTextProps } from '../components/ScreenText';
3
+ import { ScreenCanvasSize, ScreenCoordinateSpace } from '../screen2d';
4
+ import { ScreenTransform2DSettings } from '../screen2d/screenTransform';
5
+ export type ScreenTextArtPreset = "clean" | "sticker" | "shadow-pop" | "neon" | "editorial" | "comic-burst" | "ice-outline" | "sunset-glow" | "cutout" | "badge-arc" | "chrome-bulge" | "retro-wave" | "flag-pop" | "fisheye-poster";
6
+ export type ScreenTextContent = {
7
+ text: string;
8
+ };
9
+ export type ScreenTextLayout = {
10
+ textAlign?: "left" | "center" | "right";
11
+ verticalAlign?: "top" | "center" | "bottom";
12
+ overflow?: "clip" | "ellipsis" | "clamp" | "shrink";
13
+ resizeToFit?: boolean;
14
+ minFontSize?: number;
15
+ };
16
+ export type ScreenTextBackground = {
17
+ enabled: boolean;
18
+ autoSize: boolean;
19
+ fit: "full" | "text";
20
+ fillMode: "solid" | "gradient";
21
+ color: string;
22
+ opacity: number;
23
+ borderRadius: number;
24
+ padding: number;
25
+ width: number;
26
+ height: number;
27
+ borderEnabled: boolean;
28
+ borderWidth: number;
29
+ borderColor: string;
30
+ gradientStops: Array<{
31
+ color: string;
32
+ position: number;
33
+ }>;
34
+ textureUrl?: string;
35
+ textureFit: "cover" | "contain" | "stretch";
36
+ textureFlipX: boolean;
37
+ textureFlipY: boolean;
38
+ };
39
+ export type ScreenTextStrokeLayer = {
40
+ color: string;
41
+ width: number;
42
+ opacity?: number;
43
+ };
44
+ export type ScreenTextShadowLayer = {
45
+ color: string;
46
+ blur: number;
47
+ offsetX?: number;
48
+ offsetY?: number;
49
+ opacity?: number;
50
+ offset?: number;
51
+ angle?: number;
52
+ feather?: number;
53
+ };
54
+ export type ScreenTextInnerShadow = {
55
+ color: string;
56
+ opacity?: number;
57
+ offset?: number;
58
+ angle?: number;
59
+ feather?: number;
60
+ };
61
+ export type ScreenTextGlow = {
62
+ color: string;
63
+ style: "outward" | "contoured";
64
+ intensity?: number;
65
+ range?: number;
66
+ horizontalAngle?: number;
67
+ verticalAngle?: number;
68
+ };
69
+ export type ScreenTextBendPreset = "arc" | "arc-lower" | "arc-upper" | "arch" | "bulge" | "shell-lower" | "shell-upper" | "flag" | "wave" | "fish" | "rise" | "fisheye" | "inflate" | "squeeze" | "twist";
70
+ export type ScreenTextBend = {
71
+ preset: ScreenTextBendPreset;
72
+ strength: number;
73
+ };
74
+ export type ScreenTextStyle = {
75
+ fontSize: number;
76
+ fontFamily?: string;
77
+ fontWeight?: number | "normal" | "bold";
78
+ bold?: boolean;
79
+ fontStyle?: "normal" | "italic";
80
+ underline?: boolean;
81
+ strikethrough?: boolean;
82
+ letterSpacing: number;
83
+ lineSpacing: number;
84
+ color: string;
85
+ opacity: number;
86
+ aspect: number;
87
+ outlineEnabled?: boolean;
88
+ shadowEnabled?: boolean;
89
+ innerShadowEnabled?: boolean;
90
+ innerShadow?: ScreenTextInnerShadow;
91
+ glowEnabled?: boolean;
92
+ glow?: ScreenTextGlow;
93
+ bendEnabled?: boolean;
94
+ bend?: ScreenTextBend;
95
+ background: ScreenTextBackground;
96
+ strokeLayers?: ScreenTextStrokeLayer[];
97
+ shadowLayers?: ScreenTextShadowLayer[];
98
+ };
99
+ export type ScreenTextSettings = {
100
+ enabled: boolean;
101
+ content: ScreenTextContent;
102
+ layout: ScreenTextLayout;
103
+ style: ScreenTextStyle;
104
+ screenTransform?: ScreenTransform2DSettings;
105
+ transformation: ScreenTextTransformationSettings;
106
+ textArtPreset: ScreenTextArtPreset;
107
+ };
108
+ export type ScreenTextTransformationSettings = {
109
+ enabled: boolean;
110
+ showTransformGuides: boolean;
111
+ coordinateSpace?: ScreenCoordinateSpace;
112
+ canvasSize?: ScreenCanvasSize;
113
+ position: {
114
+ x: number;
115
+ y: number;
116
+ };
117
+ size: {
118
+ width: number;
119
+ height: number;
120
+ };
121
+ rotation: number;
122
+ pivot: [number, number];
123
+ renderOrder: number;
124
+ overlay: boolean;
125
+ visible: boolean;
126
+ };
127
+ export type ScreenTextSceneSettings = {
128
+ screenText: ScreenTextSettings;
129
+ screenImage: ScreenImageSettings;
130
+ screenSpaceUI: {
131
+ enabled: boolean;
132
+ };
133
+ };
134
+ export type ScreenTextRenderMapping = {
135
+ shouldRender: boolean;
136
+ props: Omit<ScreenTextProps, "onScreenTransformChange">;
137
+ };
138
+ export declare function mapScreenTextInnerShadowToProps(innerShadow?: ScreenTextInnerShadow): {
139
+ color: string;
140
+ opacity: number | undefined;
141
+ blur: number;
142
+ offsetX: number;
143
+ offsetY: number;
144
+ } | undefined;
145
+ export declare function mapScreenTextSettingsToProps(settings: ScreenTextSceneSettings): ScreenTextRenderMapping;
146
+ export declare const DEFAULT_SCREEN_TEXT_SHADOW_LAYER: ScreenTextShadowLayer;
147
+ export declare const DEFAULT_SCREEN_TEXT_SCENE_SETTINGS: ScreenTextSceneSettings;
@@ -0,0 +1,87 @@
1
+ import { Camera, Ray, Vector3Like } from 'three';
2
+ import { ScreenTransformRoot } from './screenTransform';
3
+ import { XRMediaLayout } from '../types/compositor';
4
+ export type ScreenViewportSize = {
5
+ width: number;
6
+ height: number;
7
+ };
8
+ export type ScreenPixelPoint = {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ export type ProjectedScreenPixelPoint = ScreenPixelPoint & {
13
+ depth: number;
14
+ };
15
+ export type ScreenClientRect = ScreenViewportSize & {
16
+ left: number;
17
+ top: number;
18
+ };
19
+ export type ScreenUnitConversionOptions = {
20
+ parentSize: ScreenViewportSize;
21
+ referencePixelsPerUnit?: number;
22
+ root?: ScreenTransformRoot;
23
+ };
24
+ /** Converts SDK design-canvas pixels to Three.js ScreenSpaceUI plane units. */
25
+ export declare const screenPixelsToUnits: (pixels: number, options: ScreenUnitConversionOptions) => number;
26
+ /** Converts Three.js ScreenSpaceUI plane units to SDK design-canvas pixels. */
27
+ export declare const screenUnitsToPixels: (units: number, options: ScreenUnitConversionOptions) => number;
28
+ /** Converts DOM client coordinates to center-origin, +Y-up SDK design pixels. */
29
+ export declare const clientToScreenPixels: ({ point, rect, root, target, }: {
30
+ point: ScreenPixelPoint;
31
+ rect: ScreenClientRect;
32
+ root?: ScreenTransformRoot;
33
+ target?: ScreenPixelPoint;
34
+ }) => ScreenPixelPoint;
35
+ /** Converts SDK design pixels to DOM client coordinates. */
36
+ export declare const screenPixelsToClient: ({ point, rect, root, target, }: {
37
+ point: ScreenPixelPoint;
38
+ rect: ScreenClientRect;
39
+ root?: ScreenTransformRoot;
40
+ target?: ScreenPixelPoint;
41
+ }) => ScreenPixelPoint;
42
+ /** Converts normalized viewport coordinates (top-left origin) to SDK design pixels. */
43
+ export declare const normalizedToScreenPixels: ({ point, root, target, viewportSize, }: {
44
+ point: ScreenPixelPoint;
45
+ viewportSize: ScreenViewportSize;
46
+ root?: ScreenTransformRoot;
47
+ target?: ScreenPixelPoint;
48
+ }) => ScreenPixelPoint;
49
+ /** Converts SDK design pixels to normalized viewport coordinates (top-left origin). */
50
+ export declare const screenPixelsToNormalized: ({ point, root, target, viewportSize, }: {
51
+ point: ScreenPixelPoint;
52
+ viewportSize: ScreenViewportSize;
53
+ root?: ScreenTransformRoot;
54
+ target?: ScreenPixelPoint;
55
+ }) => ScreenPixelPoint;
56
+ /** Maps source-media pixel coordinates through viewport fit/crop and optional mirroring. */
57
+ export declare const mediaToScreenPixels: ({ layout, mirrored, point, root, target, }: {
58
+ point: ScreenPixelPoint;
59
+ layout: XRMediaLayout;
60
+ mirrored?: boolean;
61
+ root?: ScreenTransformRoot;
62
+ target?: ScreenPixelPoint;
63
+ }) => ScreenPixelPoint;
64
+ /** Maps SDK design pixels back into source-media pixel coordinates. */
65
+ export declare const screenPixelsToMedia: ({ layout, mirrored, point, root, target, }: {
66
+ point: ScreenPixelPoint;
67
+ layout: XRMediaLayout;
68
+ mirrored?: boolean;
69
+ root?: ScreenTransformRoot;
70
+ target?: ScreenPixelPoint;
71
+ }) => ScreenPixelPoint;
72
+ /** Projects a world position into center-origin, +Y-up SDK design pixels. */
73
+ export declare const worldToScreenPixels: ({ camera, point, root, target, viewportSize, }: {
74
+ point: Vector3Like;
75
+ camera: Camera;
76
+ viewportSize: ScreenViewportSize;
77
+ root?: ScreenTransformRoot;
78
+ target?: ProjectedScreenPixelPoint;
79
+ }) => ProjectedScreenPixelPoint;
80
+ /** Casts a ray from center-origin, +Y-up SDK design pixels into the 3D scene. */
81
+ export declare const screenPointToRay: ({ camera, point, root, target, viewportSize, }: {
82
+ point: ScreenPixelPoint;
83
+ camera: Camera;
84
+ viewportSize: ScreenViewportSize;
85
+ root?: ScreenTransformRoot;
86
+ target?: Ray;
87
+ }) => Ray;
@@ -0,0 +1,7 @@
1
+ export * from './types';
2
+ export * from './material-runtime';
3
+ export * from './texture';
4
+ export * from './transform';
5
+ export * from './screenTransform';
6
+ export * from './coordinates';
7
+ export * from './smoothing';
@@ -0,0 +1,32 @@
1
+ import { Material } from './types';
2
+ export type MaterialDepthFunction = "never" | "always" | "less" | "lessEqual" | "equal" | "greaterEqual" | "greater" | "notEqual";
3
+ export type MaterialCullMode = "none" | "front" | "back" | "double";
4
+ export type MaterialColorMask = {
5
+ red: boolean;
6
+ green: boolean;
7
+ blue: boolean;
8
+ alpha: boolean;
9
+ };
10
+ export type MaterialStencilState = {
11
+ enabled: boolean;
12
+ reference?: number;
13
+ mask?: number;
14
+ writeMask?: number;
15
+ };
16
+ export type MaterialPass = {
17
+ name?: string;
18
+ depthTest: boolean;
19
+ depthWrite: boolean;
20
+ depthFunction: MaterialDepthFunction;
21
+ cullMode: MaterialCullMode;
22
+ colorMask: MaterialColorMask;
23
+ stencil: MaterialStencilState;
24
+ renderQueue: number;
25
+ };
26
+ export type MaterialRuntime = {
27
+ material: Material;
28
+ passes: MaterialPass[];
29
+ };
30
+ export declare const DEFAULT_MATERIAL_COLOR_MASK: MaterialColorMask;
31
+ export declare const createDefaultMaterialPass: (material: Material, overrides?: Partial<MaterialPass>) => MaterialPass;
32
+ export declare const createMaterialRuntime: (material: Material, passOverrides?: Partial<MaterialPass>) => MaterialRuntime;
@@ -0,0 +1,47 @@
1
+ export type ScreenTransform2DSettings = {
2
+ enabled: boolean;
3
+ position: {
4
+ x: number;
5
+ y: number;
6
+ };
7
+ size: {
8
+ width: number;
9
+ height: number;
10
+ };
11
+ pivot: [number, number];
12
+ rotation: number;
13
+ scale2D: {
14
+ x: number;
15
+ y: number;
16
+ };
17
+ referencePixelsPerUnit: number;
18
+ renderOrder: number;
19
+ overlay: boolean;
20
+ visible: boolean;
21
+ showTransformGuides: boolean;
22
+ };
23
+ export type ScreenTransformRoot = {
24
+ width: number;
25
+ height: number;
26
+ };
27
+ export type ResolvedScreenTransform2D = {
28
+ center: [number, number, number];
29
+ size: [number, number, number];
30
+ rotation: [number, number, number];
31
+ pivotOffset: [number, number, number];
32
+ aspect: number;
33
+ };
34
+ export declare const DEFAULT_SCREEN_TRANSFORM_ROOT: ScreenTransformRoot;
35
+ export declare const DEFAULT_REFERENCE_PIXELS_PER_UNIT = 32;
36
+ export declare const DEFAULT_PIXEL_SNAP_INCREMENT = 0.5;
37
+ export declare const DEFAULT_SCREEN_TRANSFORM_2D: ScreenTransform2DSettings;
38
+ export declare const resolveScreenTransform2D: ({ transform, parentSize, root, snapIncrement, }: {
39
+ transform: ScreenTransform2DSettings;
40
+ parentSize: {
41
+ width: number;
42
+ height: number;
43
+ };
44
+ root?: ScreenTransformRoot;
45
+ snapIncrement?: number;
46
+ }) => ResolvedScreenTransform2D;
47
+ export declare const mergeScreenTransform2D: (transform?: Partial<ScreenTransform2DSettings>) => ScreenTransform2DSettings;
@@ -0,0 +1,5 @@
1
+ import { Vector2, Vector3 } from 'three';
2
+ /** Frame-rate-independent exponential smoothing. */
3
+ export declare const smoothNumber: (current: number, target: number, rate: number, deltaSeconds: number) => number;
4
+ export declare const smoothVector2: (current: Vector2, target: Vector2, rate: number, deltaSeconds: number, out?: Vector2) => Vector2;
5
+ export declare const smoothVector3: (current: Vector3, target: Vector3, rate: number, deltaSeconds: number, out?: Vector3) => Vector3;
@@ -0,0 +1,10 @@
1
+ import { TextureSource } from './types';
2
+ import type * as THREE from "three";
3
+ export type TextureDimensions = {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ export declare const getTextureDimensions: (texture: THREE.Texture | null | undefined) => TextureDimensions | null;
8
+ export declare const getTextureAspect: (texture: THREE.Texture | null | undefined) => number;
9
+ export declare const getTextureSourceDimensions: (source: TextureSource) => TextureDimensions | null;
10
+ export declare const resolveTextureSource: (source: TextureSource | string | THREE.Texture | null | undefined) => TextureSource;
@@ -0,0 +1,25 @@
1
+ import { ScreenAnchorEdges } from '../components/ScreenSpaceUI/ScreenTransform';
2
+ import { ScreenCanvasSize, ScreenCoordinateSpace, ScreenTransform2D } from './types';
3
+ export declare const DEFAULT_SCREEN_CANVAS_SIZE: ScreenCanvasSize;
4
+ export type ResolveScreenRectInput = {
5
+ coordinateSpace?: ScreenCoordinateSpace;
6
+ canvasSize?: ScreenCanvasSize;
7
+ position?: [number, number];
8
+ size?: [number, number];
9
+ fallbackAnchors?: ScreenAnchorEdges;
10
+ };
11
+ export declare const pivot01ToSignedPivot: (pivot?: [number, number]) => [number, number];
12
+ export declare const basicTransformToAnchoredRect: ({ position, size, }: Pick<ScreenTransform2D, "position" | "size">) => {
13
+ left: number;
14
+ right: number;
15
+ top: number;
16
+ bottom: number;
17
+ };
18
+ export declare const canvasTransformToAnchoredRect: ({ position, size, canvasSize, }: Pick<ScreenTransform2D, "position" | "size" | "canvasSize">) => {
19
+ left: number;
20
+ right: number;
21
+ top: number;
22
+ bottom: number;
23
+ };
24
+ export declare const resolveScreenRectAnchors: ({ coordinateSpace, canvasSize, position, size, fallbackAnchors, }: ResolveScreenRectInput) => ScreenAnchorEdges;
25
+ export declare const screenTransform2DToAnchors: (transform: ScreenTransform2D) => ScreenAnchorEdges;