@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,121 @@
1
+ ---
2
+ title: "Vincentt XR SDK Docs"
3
+ description: "Author XR scenes with scene objects, typed components, runtime renderers, and inspector panels."
4
+ sidebarTitle: "Introduction"
5
+ icon: "book-open"
6
+ ---
7
+
8
+ The Vincentt XR SDK now supports a scene-object authoring model.
9
+ Instead of treating every renderable as a one-off React component, the SDK can
10
+ describe scene content as stable objects with attached components.
11
+
12
+ ## Current focus
13
+
14
+ The current docs cover the scene-object API added for:
15
+
16
+ - Screen Image objects
17
+ - Screen Text objects
18
+ - Screen Shape objects, including gradient and glass fills
19
+ - Screen-space coordinate conversion and smoothing utilities
20
+ - FaceInfo effect-logic data
21
+ - Face binding presets and custom anchors
22
+ - Face, hand, gesture, body, and segmentation trackers
23
+ - Face meshes, warp, retouch, head binding, and occlusion
24
+ - Texture-source playback, capture/recording, and audio
25
+ - 3D Object runtime APIs
26
+ - Render-group ordering
27
+ - Runtime object rendering
28
+ - Hierarchy and object inspector panels
29
+ - reusable debug-ui scene editor primitives
30
+ - Harness client integration
31
+
32
+ ## Mental model
33
+
34
+ A scene object is the user-facing item in a hierarchy. It has an ID, name,
35
+ enabled state, owning render group, and ordered component IDs.
36
+
37
+ A component owns one piece of behavior or rendering state:
38
+
39
+ - `Transform`
40
+ - `ScreenTransform`
41
+ - `ScreenImage`
42
+ - `ScreenText`
43
+ - `ScreenShape`
44
+ - `TrackingAnchor`
45
+ - `MeshRenderer`
46
+ - `Light`
47
+ - `LookAt`
48
+ - `PinToMesh`
49
+ - `Material`
50
+ - `Texture`
51
+
52
+ Use the API Reference pages for definitions and examples:
53
+
54
+ - Runtime 3D: `Transform3D`, `MeshRenderer`, `VideoBackground`, `LightObject`,
55
+ `LookAt`, `PinToMesh`, and `SceneObjectRenderer`
56
+ - Material Render State: `depthTest`, `depthWrite`, `colorMask`, culling,
57
+ blending, and polygon offset
58
+ - Behavior Components: `LookAt` and `PinToMesh` target resolution, offsets, and
59
+ defaults
60
+ - Scene Object Store: serialized object/component types, default factories, and
61
+ immutable update helpers
62
+ - Debug UI Scene Editor: `XRSceneEditorProvider`, `XRSceneViewport`,
63
+ `SceneHierarchyPanel`, `SceneInspectorPanel`, `ViewportToolbar`, and settings
64
+ panels
65
+
66
+ ## Basic composition
67
+
68
+ ```ts
69
+ import {
70
+ createDefaultComponent,
71
+ createRenderPlan,
72
+ createSceneObject,
73
+ migrateToRenderGroups,
74
+ } from "@vincentt-xr/sdk/scene-object";
75
+
76
+ const object = createSceneObject({ name: "Cube", renderGroupId: "general" });
77
+ const transform = createDefaultComponent("Transform", object.id);
78
+ const meshRenderer = createDefaultComponent("MeshRenderer", object.id);
79
+
80
+ object.componentIds = [transform.id, meshRenderer.id];
81
+ ```
82
+
83
+ Render the object through the runtime bridge:
84
+
85
+ ```tsx
86
+ import { SceneObjectRenderer } from "@vincentt-xr/sdk";
87
+
88
+ const scene = migrateToRenderGroups(store);
89
+ const [entry] = createRenderPlan(scene);
90
+
91
+ <SceneObjectRenderer
92
+ objectId={entry.objectId}
93
+ store={scene}
94
+ renderOrder={entry.renderOrder}
95
+ renderLayer={entry.renderLayer}
96
+ />;
97
+ ```
98
+
99
+ Open these source-backed docs at `/docs`. The verified in-repo editor is
100
+ `/layer-panel-test`, and `test001` is the canonical external Harness client.
101
+
102
+ ## Current example routes
103
+
104
+ Source of truth: `example/src/navigation/routes.tsx`. This list is a readable
105
+ summary only.
106
+
107
+ - `/unified-architecture`: current debug-ui composition for a unified
108
+ face-tracking scene.
109
+ - `/testing-hook`: multi-face face-mesh sanity example using reusable
110
+ scene-object/debug-ui APIs.
111
+ - `/body`: visible body-tracking anchors using `BodyTracker` and
112
+ `TrackingAnchor`.
113
+ - `/debugger`: minimal debugger overlay example for metrics and runtime
114
+ inspection.
115
+ - `/viewport-editor`: reusable 3D scene editor fixture.
116
+ - `/face-retouch-legacy`: legacy face-retouch shader controls with debug-ui
117
+ settings.
118
+
119
+ Example-app assets are organized by purpose: reusable media in
120
+ `example/src/assets/media`, GLB files in `example/src/assets/models`, and
121
+ domain-owned effect assets in folders such as `example/src/assets/face-effects`.
@@ -0,0 +1,127 @@
1
+ ---
2
+ title: "Scene Object Overview"
3
+ description: "The shared object/component model used by Screen Image, Screen Text, and 3D Object authoring."
4
+ sidebarTitle: "Overview"
5
+ icon: "layers"
6
+ ---
7
+
8
+ The scene-object model separates identity from behavior.
9
+
10
+ Import scene-object types, factories, selectors, and store operations from
11
+ `@vincentt-xr/sdk/scene-object`. Runtime renderers remain in
12
+ `@vincentt-xr/sdk`.
13
+
14
+ Internal source layout: serialized scene-object helpers stay in
15
+ `lib/scene-object/`; render helpers live in `lib/render/`; screen settings live
16
+ in `lib/screen-image/` and `lib/screen-text/`. Public imports stay unchanged.
17
+
18
+ ## SceneObject
19
+
20
+ `SceneObject` is the stable object users see in the editor hierarchy.
21
+
22
+ ```ts
23
+ type SceneObject = {
24
+ id: SceneObjectId;
25
+ name: string;
26
+ enabled: boolean;
27
+ parentObjectId?: SceneObjectId | null;
28
+ childObjectIds?: SceneObjectId[];
29
+ renderGroupId?: string;
30
+ componentIds: SceneComponentId[];
31
+ };
32
+ ```
33
+
34
+ The object does not directly know how to render. Its ordered `componentIds`
35
+ determine which systems apply to it.
36
+
37
+ `parentObjectId` and `childObjectIds` model nested hierarchy. Child transforms
38
+ are evaluated in parent space, so a child can keep its own local transform while
39
+ parent movement affects the full subtree. Parenting does not rewrite the child
40
+ Transform; existing child values become local-to-parent values. Use
41
+ `setSceneObjectParent` instead of manually editing both fields. Editor surfaces
42
+ that should avoid visual jumps can use
43
+ `setSceneObjectParentPreserveWorldTransform`.
44
+
45
+ World preservation is exact for transforms representable by the component.
46
+ Rotation combined with non-uniform scale in an ancestor introduces matrix shear;
47
+ because `Transform` and `ScreenTransform` do not expose shear, reparenting that
48
+ case is approximate.
49
+
50
+ ## SceneComponent
51
+
52
+ `SceneComponent` stores one typed component instance.
53
+
54
+ ```ts
55
+ type SceneComponent<TType extends SceneComponentType = SceneComponentType> = {
56
+ id: SceneComponentId;
57
+ objectId: SceneObjectId;
58
+ type: TType;
59
+ enabled: boolean;
60
+ settings: ComponentRegistry[TType];
61
+ };
62
+ ```
63
+
64
+ ## ComponentRegistry
65
+
66
+ The registry maps component names to settings. This keeps the inspector,
67
+ serialization layer, and runtime renderer type-aware.
68
+
69
+ ```ts
70
+ type ComponentRegistry = {
71
+ Transform: Transform3DSettings;
72
+ ScreenTransform: ScreenTransform2DSettings;
73
+ ScreenImage: ScreenImageSettings;
74
+ ScreenText: ScreenTextSettings;
75
+ ScreenShape: ScreenShapeSettings;
76
+ TrackingAnchor: TrackingAnchorSettings;
77
+ MeshRenderer: MeshRendererSettings;
78
+ Material: MaterialSettings;
79
+ Texture: TextureSettings;
80
+ Light: LightSettings;
81
+ LookAt: LookAtSettings;
82
+ PinToMesh: PinToMeshSettings;
83
+ };
84
+ ```
85
+
86
+ Current 3D scene objects use `Transform` + `MeshRenderer`, optionally with
87
+ `LookAt` and/or `PinToMesh` behavior components. Light objects use `Transform` +
88
+ `Light`. Screen-space objects use `ScreenTransform` with `ScreenImage`,
89
+ `ScreenText`, or `ScreenShape`. Add `TrackingAnchor` to a 2D or 3D object for
90
+ face binding. Null/container objects use only `Transform` for 3D or only
91
+ `ScreenTransform` for 2D.
92
+
93
+ ## Store shape
94
+
95
+ ```ts
96
+ type SceneObjectStore = {
97
+ objects: Record<SceneObjectId, SceneObject>;
98
+ components: Record<SceneComponentId, SceneComponent>;
99
+ };
100
+ ```
101
+
102
+ Apps can extend the store with UI state:
103
+
104
+ ```ts
105
+ type EditorStore = SceneObjectStore & {
106
+ selectedObjectId: SceneObjectId;
107
+ };
108
+ ```
109
+
110
+ Store helper functions preserve extra app-owned fields.
111
+
112
+ Parent only within one transform domain: `Transform` children belong under 3D
113
+ parents and `ScreenTransform` children under 2D parents. Mixed 2D/3D parenting
114
+ is rejected. `setSceneObjectParentPreserveWorldTransform` supports both domains.
115
+
116
+ Grouped editors extend the store with materialized groups:
117
+
118
+ ```ts
119
+ type RenderGroupSceneObjectStore = SceneObjectStore & {
120
+ renderGroups: Record<RenderGroupId, RenderGroup>;
121
+ renderGroupOrder: RenderGroupId[];
122
+ };
123
+ ```
124
+
125
+ Use `migrateToRenderGroups(store, legacyObjectOrder?)` to construct this state.
126
+ Only groups backed by compatible scene objects are materialized. Group order is
127
+ derived state, not a hardcoded list.
@@ -0,0 +1,77 @@
1
+ ---
2
+ title: "Render Groups"
3
+ description: "Materialize compatible scene groups and control cross-domain composition."
4
+ sidebarTitle: "Render Groups"
5
+ icon: "layer-group"
6
+ ---
7
+
8
+ Render groups are user-facing composition units. They are not Three.js camera
9
+ layers and are not a fixed list.
10
+
11
+ Import all render-group types, policies, migration, compatibility checks, reorder
12
+ helpers, and `createRenderPlan` from `@vincentt-xr/sdk/scene-object`.
13
+
14
+ Internal source layout: render-group helpers live under `lib/render/`
15
+ (`renderGroups.ts`, `renderPasses.ts`, `layerStack.ts`). Public imports stay
16
+ `@vincentt-xr/sdk/scene-object` or `@vincentt-xr/sdk`.
17
+
18
+ ## State
19
+
20
+ ```ts
21
+ type RenderGroup = {
22
+ id: RenderGroupId;
23
+ name: string;
24
+ domain: RenderGroupDomain;
25
+ enabled: boolean;
26
+ objectIds: SceneObjectId[];
27
+ };
28
+ ```
29
+
30
+ `renderGroupOrder` controls order between groups. A group's `objectIds` controls
31
+ order inside that group. The first group renders first; the last group renders
32
+ last and composites in front.
33
+
34
+ ## Supported domains
35
+
36
+ | Domain | Required composition | Status |
37
+ | ------------------ | -------------------------------------------------- | --------- |
38
+ | General / 3D Scene | `Transform` + `MeshRenderer` | Supported |
39
+ | 2D Foreground | `ScreenTransform` + `ScreenText` or `ScreenImage` | Supported |
40
+ | Background | editor camera-texture plane or external background | Partial |
41
+ | AR Tracking | Tracking scene-object components | Reserved |
42
+ | Post Effects | Post-processing scene object | Reserved |
43
+
44
+ Reserved and empty groups are not materialized or shown in the Hierarchy.
45
+
46
+ ## Structural helpers
47
+
48
+ - `reorderRenderGroup` changes `renderGroupOrder`.
49
+ - `reorderObjectWithinGroup` changes one group's `objectIds`.
50
+ - `validateGroupCompatibility` checks a cross-group move without mutation.
51
+ - `moveObjectToGroup` updates group membership and `object.renderGroupId` only
52
+ when compatibility passes.
53
+ - `createRenderPlan` assigns each enabled object a sorting band and internal
54
+ camera layer. It omits groups beyond `MAX_RENDER_GROUP_PASSES` rather than
55
+ throwing or reusing a camera layer.
56
+
57
+ Unknown IDs and incompatible moves are safe no-ops.
58
+
59
+ ## Internal camera layers
60
+
61
+ Camera layers are visibility masks used by sequential render passes. Their
62
+ numeric values do not define visual order. Layer 0 is shared by lights,
63
+ infrastructure, and editor controls. Managed groups use layers 1–30.
64
+ Import `MAX_RENDER_GROUP_PASSES` from `@vincentt-xr/sdk` when guarding group
65
+ creation in an authoring client.
66
+
67
+ `VideoBackground` is a flat external camera-background component, not a managed
68
+ scene object. The reusable `XRSceneViewport` owns a separate editor-only
69
+ camera-texture plane when the camera feed should behave as depth-writing 3D
70
+ geometry. `EXTERNAL_BACKGROUND_RENDER_LAYER` (31) remains temporary
71
+ infrastructure for legacy external background composition.
72
+
73
+ ## Grouping flat stores
74
+
75
+ `migrateToRenderGroups` validates explicit `renderGroupId` values, infers missing
76
+ or incompatible assignments from object components, and derives the initial group
77
+ order from the first object occurrence.
@@ -0,0 +1,75 @@
1
+ ---
2
+ title: "Runtime Rendering"
3
+ description: "Render scene objects from component data with SceneObjectRenderer."
4
+ sidebarTitle: "Runtime Rendering"
5
+ icon: "play"
6
+ ---
7
+
8
+ `SceneObjectRenderer` converts scene-object data into runtime React Three Fiber
9
+ objects.
10
+
11
+ ## Props
12
+
13
+ ```ts
14
+ type SceneObjectRendererProps = {
15
+ objectId: SceneObjectId;
16
+ store: SceneObjectStore;
17
+ editorMode?: boolean;
18
+ renderOrder?: number;
19
+ renderLayer?: number;
20
+ onComponentChange?: (component: SceneComponent) => void;
21
+ fallback?: (message: string) => ReactNode;
22
+ };
23
+ ```
24
+
25
+ ## Supported combinations
26
+
27
+ | Object type | Components | Runtime result |
28
+ | -------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------- |
29
+ | 3D Null | `Transform` | invisible 3D transform container |
30
+ | 3D Object | `Transform` + `MeshRenderer` | transformed primitive or asset mesh |
31
+ | 3D Object + behavior | `Transform` + `MeshRenderer` + optional `LookAt` / `PinToMesh` | mesh with behavior components resolved by scene-object target IDs |
32
+ | Light | `Transform` + `Light` | ambient, directional, point, or spot light |
33
+ | 2D Null | `ScreenTransform` | invisible screen-space transform container |
34
+ | Screen Image | `ScreenTransform` + `ScreenImage` | screen-space image |
35
+ | Screen Text | `ScreenTransform` + `ScreenText` | screen-space text |
36
+ | Screen Shape | `ScreenTransform` + `ScreenShape` | vector shape with solid, gradient, or glass fill |
37
+ | Face-bound object | `Transform` or `ScreenTransform` + `TrackingAnchor` | content attached to a face preset or custom face-local point |
38
+
39
+ ## Render an object
40
+
41
+ ```tsx
42
+ import { getRenderGroupLayer, SceneObjectRenderer, SequentialRenderPasses } from "@vincentt-xr/sdk";
43
+ import { createRenderPlan } from "@vincentt-xr/sdk/scene-object";
44
+
45
+ const plan = createRenderPlan(scene);
46
+ const passLayers = Array.from(new Set(plan.map((entry) => entry.renderLayer)));
47
+
48
+ <SequentialRenderPasses layers={passLayers} />;
49
+ {
50
+ plan.map((entry) => (
51
+ <SceneObjectRenderer
52
+ key={entry.objectId}
53
+ objectId={entry.objectId}
54
+ store={scene}
55
+ renderOrder={entry.renderOrder}
56
+ renderLayer={entry.renderLayer}
57
+ editorMode={entry.objectId === scene.selectedObjectId}
58
+ onComponentChange={replaceComponent}
59
+ />
60
+ ));
61
+ }
62
+ ```
63
+
64
+ When `editorMode` is enabled, runtime transform controls can write changed
65
+ component settings back through `onComponentChange`.
66
+
67
+ For 3D objects, `SceneObjectRenderer` registers each rendered object ID with the
68
+ runtime object registry. `LookAt` and `PinToMesh` then resolve
69
+ `targetObjectId` values against that registry, so serialized scene data can point
70
+ to other scene objects without hardcoded React refs.
71
+
72
+ `SequentialRenderPasses` must be mounted inside `XRScene`. It renders groups from
73
+ first to last, preserves color, and clears depth before later groups. The last
74
+ group therefore composites in front. `captureFrame()` uses the same registered
75
+ grouped renderer.
@@ -0,0 +1,58 @@
1
+ # Texture API: client usage
2
+
3
+ Use `ScreenImage` for the rendered object. Keep the resolver/controller outside
4
+ the component and bind diagnostics or inspector controls to the same state.
5
+
6
+ ```tsx
7
+ import { ScreenImage, ScreenSpaceUI } from "@vincentt-xr/sdk";
8
+ import {
9
+ createTextureSourceResolver,
10
+ disposeResolvedTextureSource,
11
+ type ResolvedTextureSource,
12
+ } from "@vincentt-xr/sdk/low-level";
13
+
14
+ const resolver = createTextureSourceResolver(providers);
15
+
16
+ function MediaImage({ source, transform }) {
17
+ const [resolved, setResolved] = useState<ResolvedTextureSource>();
18
+ useEffect(() => {
19
+ const controller = new AbortController();
20
+ let active: ResolvedTextureSource | undefined;
21
+ void resolver(source, controller.signal).then((next) => {
22
+ active = next;
23
+ setResolved(next);
24
+ });
25
+ return () => {
26
+ controller.abort();
27
+ disposeResolvedTextureSource(active);
28
+ };
29
+ }, [source]);
30
+
31
+ return (
32
+ <ScreenSpaceUI>
33
+ <ScreenImage
34
+ source={resolved ? { kind: "texture", texture: resolved.texture } : { kind: "default" }}
35
+ transform={transform}
36
+ materialType="unlit"
37
+ onScreenTransformChange={/* write the live scene-object state */}
38
+ />
39
+ </ScreenSpaceUI>
40
+ );
41
+ }
42
+ ```
43
+
44
+ Rules: abort stale loads; dispose only owned results; preserve transform/material
45
+ settings during source changes; capability-gate playback controls; and expose
46
+ loading, error, retry, paused, ended, and cleanup state to the caller.
47
+
48
+ Media event compatibility:
49
+
50
+ ```ts
51
+ const unsubscribe = resolved.controller?.on("PlayEnd", ({ snapshot }) => {
52
+ console.log(snapshot.frame, snapshot.time);
53
+ });
54
+ // unsubscribe on source replacement/unmount
55
+ ```
56
+
57
+ Supported events: `KeyFrameInSecond`, `Pause`, `PlayBegin`, `PlayEnd`, `Resume`,
58
+ and `Stop`.
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@vincentt-xr/sdk",
3
- "version": "2.0.0-alpha.0",
3
+ "version": "2.0.0-alpha.2",
4
4
  "description": "XR SDK by Vincentt",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/rangoon-x/vincentt-xr-sdk.git"
8
+ },
5
9
  "license": "UNLICENSED",
6
10
  "keywords": [
7
11
  "Vincentt",
@@ -13,7 +17,17 @@
13
17
  "sideEffects": false,
14
18
  "files": [
15
19
  "/dist",
16
- "GROUNDING.md"
20
+ "GROUNDING.md",
21
+ "docs/api",
22
+ "docs/examples",
23
+ "docs/guides",
24
+ "docs/inspector",
25
+ "docs/scene-objects",
26
+ "docs/docs.json",
27
+ "docs/introduction.mdx",
28
+ "docs/MIGRATION_GUIDE.md",
29
+ "docs/SDK_DOCUMENTATION.md",
30
+ "docs/texture-api-consumer.md"
17
31
  ],
18
32
  "main": "./dist/main.cjs",
19
33
  "module": "./dist/main.js",
@@ -39,16 +53,37 @@
39
53
  "import": "./dist/low-level.js",
40
54
  "require": "./dist/low-level.cjs"
41
55
  },
56
+ "./scene-object": {
57
+ "types": "./dist/entries/scene-object.d.ts",
58
+ "import": "./dist/scene-object.js",
59
+ "require": "./dist/scene-object.cjs"
60
+ },
42
61
  "./internal": {
43
62
  "types": "./dist/entries/internal.d.ts",
44
63
  "import": "./dist/internal.js",
45
64
  "require": "./dist/internal.cjs"
65
+ },
66
+ "./debug-ui": {
67
+ "types": "./dist/debug-ui/index.d.ts",
68
+ "import": "./dist/debug-ui.js",
69
+ "require": "./dist/debug-ui.cjs"
70
+ },
71
+ "./debug-ui/media-source": {
72
+ "types": "./dist/debug-ui/media-source/index.d.ts",
73
+ "import": "./dist/debug-ui/media-source.js",
74
+ "require": "./dist/debug-ui/media-source.cjs"
75
+ },
76
+ "./debug-ui/default-setting": {
77
+ "types": "./dist/debug-ui/default-setting/index.d.ts",
78
+ "import": "./dist/debug-ui/default-setting.js",
79
+ "require": "./dist/debug-ui/default-setting.cjs"
46
80
  }
47
81
  },
48
82
  "peerDependencies": {
49
83
  "@mediapipe/tasks-vision": "^0.10.18",
50
84
  "@react-three/drei": "9.105.6",
51
85
  "@react-three/fiber": "8.18.0",
86
+ "onnxruntime-web": "^1.27.0",
52
87
  "react": "^18.2.0",
53
88
  "react-dom": "^18.2.0",
54
89
  "three": "0.173.0"
@@ -56,9 +91,14 @@
56
91
  "peerDependenciesMeta": {
57
92
  "@mediapipe/tasks-vision": {
58
93
  "optional": false
94
+ },
95
+ "onnxruntime-web": {
96
+ "optional": true
59
97
  }
60
98
  },
61
99
  "devDependencies": {
100
+ "@eslint/js": "^9.14.0",
101
+ "@mdx-js/rollup": "^3.1.1",
62
102
  "@types/node": "^22.9.0",
63
103
  "@types/react": "^18.3.12",
64
104
  "@types/react-dom": "^18.3.1",
@@ -69,8 +109,6 @@
69
109
  "commit-and-tag-version": "^12.5.0",
70
110
  "cz-conventional-changelog": "^3.3.0",
71
111
  "eslint": "^9.14.0",
72
- "eslint-config-airbnb": "^19.0.4",
73
- "eslint-config-airbnb-typescript": "^18.0.0",
74
112
  "eslint-config-prettier": "^9.1.0",
75
113
  "eslint-plugin-prettier": "^5.2.1",
76
114
  "eslint-plugin-react": "^7.37.2",
@@ -78,9 +116,14 @@
78
116
  "eslint-plugin-react-refresh": "^0.4.14",
79
117
  "husky": "^9.1.6",
80
118
  "lint-staged": "^15.2.10",
119
+ "omggif": "^1.0.10",
120
+ "onnxruntime-web": "^1.27.0",
81
121
  "prettier": "3.3.3",
82
122
  "qrcode-terminal": "^0.12.0",
83
123
  "react-router-dom": "^6.28.0",
124
+ "remark-frontmatter": "^5.0.0",
125
+ "remark-gfm": "^4.0.1",
126
+ "remark-mdx-frontmatter": "^5.2.0",
84
127
  "typescript": "^5.6.3",
85
128
  "vite": "^5.4.11",
86
129
  "vite-plugin-dts": "^4.3.0",
@@ -95,17 +138,22 @@
95
138
  "path": "./node_modules/cz-conventional-changelog"
96
139
  }
97
140
  },
141
+ "dependencies": {
142
+ "lucide-react": "^1.14.0"
143
+ },
98
144
  "scripts": {
99
145
  "dev": "vite --config example/vite.config.ts --mode dev",
100
146
  "preview:tunnel": "node example/scripts/preview.mjs",
101
147
  "preview:local": "node example/scripts/preview.mjs --local",
102
148
  "build": "vite build",
103
149
  "build:watch": "vite build --watch",
104
- "format:check": "prettier --check .",
105
- "format": "prettier --write 'src/**/*.{js,jsx,ts,tsx}' 'lib/**/*.{js,jsx,ts,tsx}'",
150
+ "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
151
+ "typecheck:example": "tsc --noEmit -p example/tsconfig.json",
152
+ "format:check": "prettier --check 'lib/**/*.{ts,tsx}' 'example/**/*.{ts,tsx}' '*.{json,md,mjs,ts}' '.github/**/*.{md,yml}' 'docs/**/*.{md,mdx,json}'",
153
+ "format": "prettier --write 'lib/**/*.{js,jsx,ts,tsx}' 'example/**/*.{js,jsx,ts,tsx}'",
106
154
  "test": "vitest run",
107
155
  "test:watch": "vitest",
108
- "lint:check": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
156
+ "lint:check": "eslint lib --max-warnings 0",
109
157
  "example:build": "vite build --config example/vite.config.ts",
110
158
  "example:preview": "vite preview --config example/vite.config.ts --outDir dist-example",
111
159
  "release": "commit-and-tag-version"
@@ -1,23 +0,0 @@
1
- import { FaceLandmark2D, FaceRetouchRegion } from '../../types/face';
2
- export declare const DEFAULT_FEATURE_GROUPS: number[][];
3
- export declare const DEFAULT_FEATURE_POINT_INDICES: number[];
4
- export type CreateFaceRetouchRegionsOptions = {
5
- faceOvalIndices?: number[];
6
- featureGroups?: number[][];
7
- featurePointIndices?: number[];
8
- faceBoundsExpansion?: number;
9
- featureBoundsExpansion?: number;
10
- minRegionRadius?: number;
11
- faceRegionStrength?: number;
12
- featureRegionStrength?: number;
13
- featurePointRegionStrength?: number;
14
- featurePointRadiusRatio?: number;
15
- };
16
- /**
17
- * Compute elliptical retouch regions from MediaPipe face landmarks.
18
- *
19
- * The defaults match the V2 face-retouch demo. Override `featureGroups`
20
- * or `featurePointIndices` to retouch a different anatomy (or a different
21
- * landmark model).
22
- */
23
- export declare const createFaceRetouchRegions: (landmarks: FaceLandmark2D[] | undefined, options?: CreateFaceRetouchRegionsOptions) => FaceRetouchRegion[];
@@ -1,12 +0,0 @@
1
- import { FaceRetouchRegion } from '../../types/face';
2
- import { XRModelNodeFaceTracking } from '../../types/nodes';
3
- import { CreateFaceRetouchRegionsOptions } from './retouchRegions';
4
- /**
5
- * Continuously recompute face-retouch regions from the active face's
6
- * landmarks. Returns a stable array reference when the regions haven't
7
- * meaningfully changed (4-decimal precision).
8
- *
9
- * Pass `options` to retouch a different anatomy or landmark model — see
10
- * `createFaceRetouchRegions`.
11
- */
12
- export declare const useFaceRetouchRegions: (faceNode: XRModelNodeFaceTracking | null, options?: CreateFaceRetouchRegionsOptions) => FaceRetouchRegion[];