@vincentt-xr/sdk 2.0.0-alpha.2 → 2.0.0-alpha.4

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 (71) hide show
  1. package/GROUNDING.md +67 -9
  2. package/dist/{DebuggerUI-Cq28c18s.js → DebuggerUI-DhKTXTY2.js} +1 -1
  3. package/dist/{DebuggerUI-B45_Gb9d.cjs → DebuggerUI-bnGHSSOb.cjs} +1 -1
  4. package/dist/{FaceMeshRenderer-6t8OsQhK.js → FaceMeshRenderer-B2i2NW71.js} +3 -3
  5. package/dist/{FaceMeshRenderer-lQLhYIW-.cjs → FaceMeshRenderer-BSOq1OnG.cjs} +1 -1
  6. package/dist/{FaceRetouch-CDrL0pXg.js → FaceRetouch-Bg-OBU4n.js} +30 -30
  7. package/dist/{FaceRetouch-DtNl8-4e.cjs → FaceRetouch-TZeBGIqW.cjs} +1 -1
  8. package/dist/components/MeshRenderer/index.d.ts +1 -0
  9. package/dist/components/ScreenImage/source.d.ts +3 -0
  10. package/dist/contexts-B2_NsTnk.js +660 -0
  11. package/dist/contexts-BgWfyxre.cjs +1 -0
  12. package/dist/debug-ui/media-source.cjs +1 -1
  13. package/dist/debug-ui/media-source.js +1 -1
  14. package/dist/debug-ui.cjs +3 -3
  15. package/dist/debug-ui.js +1246 -1205
  16. package/dist/entries/low-level.d.ts +5 -0
  17. package/dist/face-effects.cjs +1 -1
  18. package/dist/face-effects.js +4 -4
  19. package/dist/{getFaceInfo-hUKMLFcr.js → getFaceInfo-4DhcPZDJ.js} +1 -1
  20. package/dist/{getFaceInfo-CyPAKh3h.cjs → getFaceInfo-QOQ_dc-W.cjs} +1 -1
  21. package/dist/hooks/selectors.d.ts +2 -4
  22. package/dist/hooks/useXRModel.d.ts +5 -0
  23. package/dist/hooks/useXRSession/reason.d.ts +19 -0
  24. package/dist/hooks/useXRSession/store.d.ts +12 -4
  25. package/dist/index-72Wb15Ca.js +214 -0
  26. package/dist/{index-JygePOwo.js → index-BMeBJ0dV.js} +322 -299
  27. package/dist/index-C9yQVzAh.cjs +1 -0
  28. package/dist/index-CNGzE49z.cjs +17 -0
  29. package/dist/{index-Di70KWuY.js → index-Cj3fGDtZ.js} +844 -825
  30. package/dist/{index-BgQAX8rs.js → index-D1kj6uc-.js} +123 -120
  31. package/dist/{index-D4bLzBr6.cjs → index-Da7uycur.cjs} +1 -1
  32. package/dist/{index-DSpzjuqd.cjs → index-WPPnlFO1.cjs} +1 -1
  33. package/dist/index-ZaDEzDtR.cjs +1 -0
  34. package/dist/{index-UC0Ux38E.js → index-g250Tqme.js} +1 -1
  35. package/dist/{internal-DuMPpcbp.js → internal-34pb7djs.js} +3 -3
  36. package/dist/{internal-i2JkM85N.cjs → internal-Dtvo4WYo.cjs} +1 -1
  37. package/dist/internal.cjs +1 -1
  38. package/dist/internal.js +1 -1
  39. package/dist/low-level.cjs +1 -1
  40. package/dist/low-level.js +399 -490
  41. package/dist/main.cjs +1 -1
  42. package/dist/main.js +28 -28
  43. package/dist/{renderGroups-C9QJrAXu.js → renderGroups-CPWUX6z9.js} +1 -1
  44. package/dist/{renderGroups-Dvm1J4lW.cjs → renderGroups-jSUOY1Oq.cjs} +1 -1
  45. package/dist/{renderPasses-CjgG_6kQ.js → renderPasses-CLlYRdMk.js} +5 -5
  46. package/dist/{renderPasses-CT5iBwtg.cjs → renderPasses-KUJUSevp.cjs} +2 -2
  47. package/dist/scene-object.cjs +1 -1
  48. package/dist/scene-object.js +2 -2
  49. package/dist/{selectors-Dw3C-gSk.js → selectors-DLxL8Q66.js} +4 -4
  50. package/dist/{selectors-2QvO5RYY.cjs → selectors-S8g25ke9.cjs} +1 -1
  51. package/dist/{session-C1StwN0f.js → session-CbtvwiaD.js} +1 -1
  52. package/dist/{session-BChR4TgK.cjs → session-DP8AF7Rg.cjs} +1 -1
  53. package/dist/texture/animatedTexture.d.ts +2 -0
  54. package/dist/texture/gifReader.d.ts +17 -0
  55. package/dist/texture/gifTextureSource.d.ts +16 -0
  56. package/dist/tracking.cjs +1 -1
  57. package/dist/tracking.js +9 -9
  58. package/dist/{useFaceInfo-C-WfMlYp.cjs → useFaceInfo-BvZeUBsL.cjs} +1 -1
  59. package/dist/{useFaceInfo-CwsHZedC.js → useFaceInfo-C06EyScd.js} +3 -3
  60. package/dist/{useFaceResults-CkFc1egZ.js → useFaceResults-C1Ppc8rS.js} +1 -1
  61. package/dist/{useFaceResults-VcFdOUFV.cjs → useFaceResults-CCNiH7VZ.cjs} +1 -1
  62. package/docs/api/screen-image.mdx +27 -3
  63. package/docs/api/texture-sources.mdx +25 -6
  64. package/docs/texture-api-consumer.md +26 -0
  65. package/package.json +4 -3
  66. package/dist/contexts-BKvTIayr.cjs +0 -1
  67. package/dist/contexts-Bk5zz_VR.js +0 -214
  68. package/dist/index-82aENaRq.cjs +0 -1
  69. package/dist/index-CEc1CAmB.cjs +0 -1
  70. package/dist/index-CTHeBQOs.js +0 -178
  71. package/dist/index-DzEzkBIH.cjs +0 -17
@@ -0,0 +1,214 @@
1
+ import { createContext as A, useContext as _, Suspense as B, useRef as T, useMemo as v, useEffect as R } from "react";
2
+ import { jsx as p, jsxs as L } from "react/jsx-runtime";
3
+ import { useGLTF as P } from "@react-three/drei";
4
+ import { useFrame as U } from "@react-three/fiber";
5
+ import { AdditiveBlending as W, SubtractiveBlending as q, MultiplyBlending as K, NoBlending as N, NormalBlending as G, NeverDepth as F, LessDepth as I, EqualDepth as z, GreaterDepth as H, NotEqualDepth as Y, GreaterEqualDepth as V, AlwaysDepth as $, LessEqualDepth as J, BackSide as Q, DoubleSide as X, FrontSide as Z, AnimationMixer as j, LoopRepeat as ee } from "three";
6
+ import { M as re } from "./index-D1kj6uc-.js";
7
+ const te = A(null), ke = () => {
8
+ const e = _(te);
9
+ if (!e)
10
+ throw new Error("useScreenSpace must be used within ScreenSpaceUI");
11
+ return e;
12
+ }, oe = A(null), Re = () => _(oe) ?? 1;
13
+ function ne(e) {
14
+ const r = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), i = e.clone();
15
+ return S(e, i, function(a, n) {
16
+ r.set(n, a), t.set(a, n);
17
+ }), i.traverse(function(a) {
18
+ if (!a.isSkinnedMesh) return;
19
+ const n = a, u = r.get(a), c = u.skeleton.bones;
20
+ n.skeleton = u.skeleton.clone(), n.bindMatrix.copy(u.bindMatrix), n.skeleton.bones = c.map(function(f) {
21
+ return t.get(f);
22
+ }), n.bind(n.skeleton, n.bindMatrix);
23
+ }), i;
24
+ }
25
+ function S(e, r, t) {
26
+ t(e, r);
27
+ for (let i = 0; i < e.children.length; i++)
28
+ S(e.children[i], r.children[i], t);
29
+ }
30
+ const ye = {
31
+ enabled: !0,
32
+ mesh: "cube",
33
+ material: {
34
+ type: "standard",
35
+ color: "#ffffff",
36
+ opacity: 1,
37
+ wireframe: !1,
38
+ roughness: 0.42,
39
+ metalness: 0.08
40
+ },
41
+ shadowMode: "off",
42
+ visible: !0
43
+ }, k = {
44
+ depthTest: !0,
45
+ depthWrite: !0,
46
+ depthFunc: "lessEqual",
47
+ colorWrite: !0,
48
+ colorMask: {
49
+ r: !0,
50
+ g: !0,
51
+ b: !0,
52
+ a: !0
53
+ },
54
+ cullMode: "back",
55
+ blendMode: "normal",
56
+ polygonOffset: {
57
+ enabled: !1,
58
+ factor: 0,
59
+ units: 0
60
+ }
61
+ }, h = (e) => ({
62
+ ...k,
63
+ ...e,
64
+ colorMask: {
65
+ ...k.colorMask,
66
+ ...e == null ? void 0 : e.colorMask
67
+ },
68
+ polygonOffset: {
69
+ ...k.polygonOffset,
70
+ ...e == null ? void 0 : e.polygonOffset
71
+ }
72
+ }), se = (e) => e === "never" ? F : e === "less" ? I : e === "equal" ? z : e === "greater" ? H : e === "notEqual" ? Y : e === "greaterEqual" ? V : e === "always" ? $ : J, ae = (e) => e === "front" ? Q : e === "off" ? X : Z, ie = (e) => e === "additive" ? W : e === "subtractive" ? q : e === "multiply" ? K : e === "none" ? N : G, O = (e) => {
73
+ const r = h(e), t = r.colorWrite && (r.colorMask.r || r.colorMask.g || r.colorMask.b || r.colorMask.a);
74
+ return {
75
+ depthTest: r.depthTest,
76
+ depthWrite: r.depthWrite,
77
+ depthFunc: se(r.depthFunc),
78
+ colorWrite: t,
79
+ side: ae(r.cullMode),
80
+ blending: ie(r.blendMode),
81
+ polygonOffset: r.polygonOffset.enabled,
82
+ polygonOffsetFactor: r.polygonOffset.factor,
83
+ polygonOffsetUnits: r.polygonOffset.units
84
+ };
85
+ }, w = (e, r) => {
86
+ const t = h(r);
87
+ return e < 1 || t.blendMode !== "normal" && t.blendMode !== "none";
88
+ }, D = (e) => e.colorWrite && (!e.colorMask.r || !e.colorMask.g || !e.colorMask.b || !e.colorMask.a), d = "__vincenttPreviousColorMask", y = "__vincenttColorMaskBaseBefore", E = "__vincenttColorMaskBaseAfter", ce = (e, r) => {
89
+ const t = e.userData, i = t[y] ?? e.onBeforeRender.bind(e), a = t[E] ?? e.onAfterRender.bind(e);
90
+ if (t[y] = i, t[E] = a, !D(r)) {
91
+ e.onBeforeRender = i, e.onAfterRender = a;
92
+ return;
93
+ }
94
+ e.onBeforeRender = (n, u, c, f, o, l) => {
95
+ i(n, u, c, f, o, l);
96
+ const s = n.getContext();
97
+ e.userData[d] = s.getParameter(s.COLOR_WRITEMASK), s.colorMask(
98
+ r.colorMask.r,
99
+ r.colorMask.g,
100
+ r.colorMask.b,
101
+ r.colorMask.a
102
+ );
103
+ }, e.onAfterRender = (n, u, c, f, o, l) => {
104
+ const s = e.userData[d];
105
+ s && (n.getContext().colorMask(...s), delete e.userData[d]), a(n, u, c, f, o, l);
106
+ };
107
+ }, C = (e) => ({
108
+ castShadow: e === "cast" || e === "castReceive",
109
+ receiveShadow: e === "receive" || e === "castReceive"
110
+ }), le = ({ mesh: e }) => e === "sphere" ? /* @__PURE__ */ p("sphereGeometry", { args: [0.85, 48, 32] }) : e === "plane" ? /* @__PURE__ */ p("planeGeometry", { args: [1.6, 1.6] }) : /* @__PURE__ */ p("boxGeometry", { args: [1.4, 1.4, 1.4] }), ue = ({
111
+ url: e,
112
+ nodeName: r,
113
+ settings: t,
114
+ renderOrder: i
115
+ }) => {
116
+ const { scene: a, animations: n } = P(e), u = T(null), c = v(() => {
117
+ const o = n.length ? ne(a) : a.clone(!0);
118
+ return o.traverse((l) => {
119
+ const s = l;
120
+ !s.isMesh || !s.material || (s.material = Array.isArray(s.material) ? s.material.map((g) => g.clone()) : s.material.clone());
121
+ }), o;
122
+ }, [a, n.length]);
123
+ R(() => {
124
+ const o = C(t.shadowMode), l = Math.min(1, Math.max(0, t.material.opacity)), s = O(t.material.renderState), g = w(l, t.material.renderState);
125
+ c.traverse((x) => {
126
+ const m = x;
127
+ if (!m.isMesh || !m.material) return;
128
+ m.castShadow = o.castShadow, m.receiveShadow = o.receiveShadow, (Array.isArray(m.material) ? m.material : [m.material]).forEach((M) => {
129
+ if (!M) return;
130
+ const b = M;
131
+ b.wireframe = t.material.wireframe, M.opacity = l, M.transparent = g, Object.assign(M, s), M.needsUpdate = !0;
132
+ }), ce(m, h(t.material.renderState));
133
+ });
134
+ }, [
135
+ c,
136
+ t.material.opacity,
137
+ t.material.renderState,
138
+ t.material.wireframe,
139
+ t.shadowMode
140
+ ]);
141
+ const f = r ? c.getObjectByName(r) : c;
142
+ return R(() => {
143
+ if (!n.length) return;
144
+ const o = new j(c);
145
+ return n.filter(
146
+ (s) => t.assetAnimation === "all" || s.name === t.assetAnimation
147
+ ).forEach((s) => o.clipAction(s).setLoop(ee, 1 / 0).play()), u.current = o, () => {
148
+ o.stopAllAction(), o.uncacheRoot(c), u.current = null;
149
+ };
150
+ }, [n, c, t.assetAnimation]), U((o, l) => {
151
+ var s;
152
+ return (s = u.current) == null ? void 0 : s.update(l);
153
+ }), /* @__PURE__ */ p("group", { renderOrder: i, children: /* @__PURE__ */ p("primitive", { object: f ?? c }) });
154
+ }, Ee = ({ renderOrder: e, value: r }) => {
155
+ if (!r.enabled || !r.visible) return null;
156
+ if (r.assetUrl)
157
+ return /* @__PURE__ */ p(B, { fallback: null, children: /* @__PURE__ */ p(
158
+ ue,
159
+ {
160
+ url: r.assetUrl,
161
+ nodeName: r.assetNodeName,
162
+ settings: r,
163
+ renderOrder: e
164
+ }
165
+ ) });
166
+ const t = Math.min(1, Math.max(0, r.material.opacity)), i = {
167
+ color: r.material.color,
168
+ transparent: w(t, r.material.renderState),
169
+ opacity: t,
170
+ wireframe: r.material.wireframe,
171
+ ...O(r.material.renderState)
172
+ };
173
+ return /* @__PURE__ */ L(
174
+ "mesh",
175
+ {
176
+ ...C(r.shadowMode),
177
+ onBeforeRender: (a, n, u, c, f) => {
178
+ const o = h(r.material.renderState);
179
+ if (!D(o)) return;
180
+ const l = a.getContext();
181
+ f.userData[d] = l.getParameter(
182
+ l.COLOR_WRITEMASK
183
+ ), l.colorMask(
184
+ o.colorMask.r,
185
+ o.colorMask.g,
186
+ o.colorMask.b,
187
+ o.colorMask.a
188
+ );
189
+ },
190
+ onAfterRender: (a, n, u, c, f) => {
191
+ const o = f.userData[d];
192
+ o && (a.getContext().colorMask(...o), delete f.userData[d]);
193
+ },
194
+ renderOrder: e,
195
+ children: [
196
+ /* @__PURE__ */ p(le, { mesh: r.mesh }),
197
+ /* @__PURE__ */ p(re, { settings: r.material, materialProps: i })
198
+ ]
199
+ }
200
+ );
201
+ };
202
+ export {
203
+ ye as D,
204
+ Ee as M,
205
+ oe as S,
206
+ Re as a,
207
+ k as b,
208
+ se as c,
209
+ ae as d,
210
+ te as e,
211
+ ie as g,
212
+ h as n,
213
+ ke as u
214
+ };