@davi-ai/react-bodyengine-three 1.0.32 → 1.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,9 +3,9 @@ import * as B from "three/webgpu";
3
3
  import { Vector3 as Bt, TempNode as He, NodeUpdateType as Xt, Vector2 as ve, RenderTarget as st, DepthTexture as pt, HalfFloatType as gt, NodeMaterial as Dt, NoBlending as Jt, Matrix4 as xe, RendererUtils as Ue, QuadMesh as zt, FloatType as es, UnsignedByteType as ft, RedFormat as ts, UnsignedInt101111Type as ss, RGBFormat as ns, MathUtils as os, DataTexture as as, RepeatWrapping as yt } from "three/webgpu";
4
4
  import { Object3D as Co } from "three/webgpu";
5
5
  import { CharacterState as de, surfaceId as rs, surfaceMask as We, SURFACE as Ke, CreationTool as Se, AvaturnLoader as is, AvatarSDKLoader as cs, CC3Loader as ls, Character as Ye } from "@davi-ai/bodyengine-three";
6
- import { CharacterState as _o, CreationTool as Mo, bmlTags as ko, emotionList as Po } from "@davi-ai/bodyengine-three";
6
+ import { CharacterState as Mo, CreationTool as _o, bmlTags as ko, emotionList as Po } from "@davi-ai/bodyengine-three";
7
7
  import { useDetectGPU as ds, PerformanceMonitor as us, PerspectiveCamera as hs, CameraControls as ms, Environment as ps } from "@react-three/drei";
8
- import { convertToTexture as qe, uniform as I, passTexture as ze, texture as Fe, OnBeforeRenderPipeline as gs, OnAfterRenderPipeline as fs, velocity as ct, struct as ys, Fn as Q, float as C, vec2 as K, If as he, vec4 as J, max as q, vec3 as ae, ivec2 as ke, luminance as Ae, add as xs, uv as Re, mix as Pe, logarithmicDepthToViewZ as Ft, viewZToPerspectiveDepth as nt, getViewPosition as Ie, viewZToOrthographicDepth as Ss, NodeUpdateType as Ot, reference as je, uint as oe, sub as bs, abs as pe, HALF_PI as Ze, sqrt as Et, PI as fe, Loop as Oe, pow as Ge, mul as $e, Break as Ts, normalize as be, dot as ie, clamp as Me, div as vs, ceil as As, shiftRight as ws, countOneBits as xt, sign as St, property as Ee, outputStruct as Cs, screenCoordinate as bt, interleavedGradientNoise as Ns, fract as _s, rand as Ms, cos as ot, sin as at, cross as Tt, acos as ks, bool as vt, getNormalFromDepth as Lt, nodeObject as rt, uniformArray as Ps, textureSize as Vs, mat2 as Is, int as At, min as ce, pass as Ut, mrt as jt, diffuseColor as Rs, output as Gt, packNormalToRGB as Bs, normalView as Ds, sample as zs, unpackRGBToNormal as Fs, exp as Os, perspectiveDepthToViewZ as Es } from "three/tsl";
8
+ import { convertToTexture as qe, uniform as I, passTexture as ze, texture as Fe, OnBeforeRenderPipeline as gs, OnAfterRenderPipeline as fs, velocity as ct, struct as ys, Fn as Q, float as C, vec2 as K, If as he, vec4 as J, max as q, vec3 as ae, ivec2 as ke, luminance as Ae, add as xs, uv as Re, mix as Pe, logarithmicDepthToViewZ as Ft, viewZToPerspectiveDepth as nt, getViewPosition as Ie, viewZToOrthographicDepth as Ss, NodeUpdateType as Ot, reference as je, uint as oe, sub as bs, abs as pe, HALF_PI as Ze, sqrt as Et, PI as fe, Loop as Oe, pow as Ge, mul as $e, Break as Ts, normalize as be, dot as ie, clamp as _e, div as vs, ceil as As, shiftRight as ws, countOneBits as xt, sign as St, property as Ee, outputStruct as Cs, screenCoordinate as bt, interleavedGradientNoise as Ns, fract as Ms, rand as _s, cos as ot, sin as at, cross as Tt, acos as ks, bool as vt, getNormalFromDepth as Lt, nodeObject as rt, uniformArray as Ps, textureSize as Vs, mat2 as Is, int as At, min as ce, pass as Ut, mrt as jt, diffuseColor as Rs, output as Gt, packNormalToRGB as Bs, normalView as Ds, sample as zs, unpackRGBToNormal as Fs, exp as Os, perspectiveDepthToViewZ as Es } from "three/tsl";
9
9
  import { SimplexNoise as Ls } from "three/examples/jsm/math/SimplexNoise.js";
10
10
  import { Canvas as Us, useThree as js, useFrame as Ht } from "@react-three/fiber";
11
11
  import { createSpeechSynthesisPonyfill as Gs, SpeechSynthesisUtterance as Hs } from "@davi-ai/web-speech-cognitive-services-davi";
@@ -71,7 +71,7 @@ const Ys = (e) => {
71
71
  movable: !0
72
72
  })), Qs = (e) => {
73
73
  se.setState({ cameraRef: e });
74
- }, _t = (e) => {
74
+ }, Mt = (e) => {
75
75
  se.setState({ cameraPosition: e });
76
76
  }, eo = () => se.getState().cameraPosition, Xs = (e) => {
77
77
  se.setState({ bodyCenter: e });
@@ -79,7 +79,7 @@ const Ys = (e) => {
79
79
  se.setState({ defaultPositions: e });
80
80
  }, en = (e) => {
81
81
  se.setState({ defaultDistances: e });
82
- }, Mt = (e) => {
82
+ }, _t = (e) => {
83
83
  se.setState({ lookAt: e });
84
84
  }, to = () => se.getState().lookAt, tn = (e) => {
85
85
  se.setState({ movable: e });
@@ -350,8 +350,8 @@ const kt = /* @__PURE__ */ new Map([
350
350
  let a = s[e.position || $.eye].getComponent(0);
351
351
  const r = s[e.position || $.mouth].getComponent(1);
352
352
  let o = 0;
353
- const l = typeof e.distance == "string" ? parseInt(e.distance) : e.distance, f = typeof e.rotation == "string" ? parseInt(e.rotation) : e.rotation;
354
- switch (l) {
353
+ const d = typeof e.distance == "string" ? parseInt(e.distance) : e.distance, f = typeof e.rotation == "string" ? parseInt(e.rotation) : e.rotation;
354
+ switch (d) {
355
355
  case X.veryclose:
356
356
  o = t.veryclose;
357
357
  break;
@@ -504,8 +504,8 @@ class Cn extends He {
504
504
  this._previousCameraWorldMatrix.value.copy(this._cameraWorldMatrix.value), this._previousCameraProjectionMatrixInverse.value.copy(this._cameraProjectionMatrixInverse.value), this._cameraNearFar.value.set(this.camera.near, this.camera.far), this._cameraWorldMatrix.value.copy(this.camera.matrixWorld), this._cameraWorldMatrixInverse.value.copy(this.camera.matrixWorldInverse), this._cameraProjectionMatrixInverse.value.copy(this.camera.projectionMatrixInverse);
505
505
  const a = this.beautyNode.isRTTNode ? this.beautyNode.renderTarget : this.beautyNode.passNode.renderTarget, r = a.texture.width, o = a.texture.height;
506
506
  this._needsPostProcessingSync === !0 && (this.setViewOffset(r, o), this._needsPostProcessingSync = !1), Je = Ue.resetRendererState(s, Je);
507
- const l = this._historyRenderTarget.width !== r || this._historyRenderTarget.height !== o;
508
- this.setSize(r, o), l === !0 && (s.initRenderTarget(this._historyRenderTarget), s.initRenderTarget(this._resolveRenderTarget), s.copyTextureToTexture(a.texture, this._historyRenderTarget.texture)), s.setClearColor(16777215, 0), s.setRenderTarget(this._resolveRenderTarget), Xe.material = this._resolveMaterial, Xe.name = "TRAA", Xe.render(s), s.setRenderTarget(null), s.copyTextureToTexture(this._resolveRenderTarget.texture, this._historyRenderTarget.texture);
507
+ const d = this._historyRenderTarget.width !== r || this._historyRenderTarget.height !== o;
508
+ this.setSize(r, o), d === !0 && (s.initRenderTarget(this._historyRenderTarget), s.initRenderTarget(this._resolveRenderTarget), s.copyTextureToTexture(a.texture, this._historyRenderTarget.texture)), s.setClearColor(16777215, 0), s.setRenderTarget(this._resolveRenderTarget), Xe.material = this._resolveMaterial, Xe.name = "TRAA", Xe.render(s), s.setRenderTarget(null), s.copyTextureToTexture(this._resolveRenderTarget.texture, this._historyRenderTarget.texture);
509
509
  const f = s.getDrawingBufferSize(Vt);
510
510
  if (this._historyRenderTarget.height === f.height && this._historyRenderTarget.width === f.width) {
511
511
  const T = this.depthNode.value;
@@ -521,23 +521,23 @@ class Cn extends He {
521
521
  */
522
522
  setup(t) {
523
523
  t.renderPipeline && !t.context.renderPipelineState.viewOffsetOwner && (t.context.renderPipelineState.viewOffsetOwner = this, this._needsPostProcessingSync = !0, gs(() => {
524
- const d = t.renderer.getDrawingBufferSize(Vt);
525
- this.setViewOffset(d.width, d.height);
524
+ const u = t.renderer.getDrawingBufferSize(Vt);
525
+ this.setViewOffset(u.width, u.height);
526
526
  }), fs(() => {
527
527
  this.clearViewOffset();
528
528
  })), t.renderer.reversedDepthBuffer === !0 && (this._historyRenderTarget.depthTexture.type = es), t.context.velocity !== void 0 ? this._velocityNode = t.context.velocity : this._velocityNode = ct;
529
- const s = (d) => {
530
- const { x: g, y: i } = this._cameraNearFar, n = Ft(d, g, i);
529
+ const s = (u) => {
530
+ const { x: g, y: i } = this._cameraNearFar, n = Ft(u, g, i);
531
531
  return nt(n, g, i);
532
532
  }, a = ys({
533
533
  closestDepth: "float",
534
534
  closestPositionTexel: "vec2",
535
535
  farthestDepth: "float"
536
- }), r = Q(([d]) => {
536
+ }), r = Q(([u]) => {
537
537
  const g = C(2).toVar(), i = K(0).toVar(), n = C(-1).toVar();
538
538
  for (let c = -1; c <= 1; ++c)
539
539
  for (let h = -1; h <= 1; ++h) {
540
- const y = d.add(K(c, h)).toVar();
540
+ const y = u.add(K(c, h)).toVar();
541
541
  let p = this.depthNode.load(y).r;
542
542
  t.renderer.reversedDepthBuffer && (p = p.oneMinus()), t.renderer.logarithmicDepthBuffer && (p = s(p)), p = p.toVar(), he(p.lessThan(g), () => {
543
543
  g.assign(p), i.assign(y);
@@ -546,15 +546,15 @@ class Cn extends He {
546
546
  });
547
547
  }
548
548
  return a(g, i, n);
549
- }), o = (d) => {
550
- let g = this._previousDepthNode.sample(d).r;
549
+ }), o = (u) => {
550
+ let g = this._previousDepthNode.sample(u).r;
551
551
  t.renderer.reversedDepthBuffer && (g = g.oneMinus()), t.renderer.logarithmicDepthBuffer && (g = s(g));
552
- const i = Ie(d, g, this._previousCameraProjectionMatrixInverse), n = this._previousCameraWorldMatrix.mul(J(i, 1)).xyz, c = this._cameraWorldMatrixInverse.mul(J(n, 1)).z;
552
+ const i = Ie(u, g, this._previousCameraProjectionMatrixInverse), n = this._previousCameraWorldMatrix.mul(J(i, 1)).xyz, c = this._cameraWorldMatrixInverse.mul(J(n, 1)).z;
553
553
  return this.camera.isOrthographicCamera ? Ss(c, this._cameraNearFar.x, this._cameraNearFar.y) : nt(c, this._cameraNearFar.x, this._cameraNearFar.y);
554
- }, l = Q(([d, g, i, n]) => {
555
- const c = n.rgb.add(i.rgb).mul(0.5), h = n.rgb.sub(i.rgb).mul(0.5).add(1e-7), y = g.sub(J(c, d.a)), A = y.xyz.div(h).abs(), w = q(A.x, A.y, A.z);
554
+ }, d = Q(([u, g, i, n]) => {
555
+ const c = n.rgb.add(i.rgb).mul(0.5), h = n.rgb.sub(i.rgb).mul(0.5).add(1e-7), y = g.sub(J(c, u.a)), A = y.xyz.div(h).abs(), w = q(A.x, A.y, A.z);
556
556
  return w.greaterThan(1).select(
557
- J(c, d.a).add(y.div(w)),
557
+ J(c, u.a).add(y.div(w)),
558
558
  g
559
559
  );
560
560
  }).setLayout({
@@ -566,23 +566,23 @@ class Cn extends He {
566
566
  { name: "minColor", type: "vec4" },
567
567
  { name: "maxColor", type: "vec4" }
568
568
  ]
569
- }), f = Q(([d]) => ae(
570
- d.x.mul(0.25).add(d.y.mul(0.5)).add(d.z.mul(0.25)),
571
- d.x.mul(0.5).sub(d.z.mul(0.5)),
572
- d.x.mul(-0.25).add(d.y.mul(0.5)).sub(d.z.mul(0.25))
569
+ }), f = Q(([u]) => ae(
570
+ u.x.mul(0.25).add(u.y.mul(0.5)).add(u.z.mul(0.25)),
571
+ u.x.mul(0.5).sub(u.z.mul(0.5)),
572
+ u.x.mul(-0.25).add(u.y.mul(0.5)).sub(u.z.mul(0.25))
573
573
  )).setLayout({
574
574
  name: "RGBToYCoCg",
575
575
  type: "vec3",
576
576
  inputs: [{ name: "c", type: "vec3" }]
577
- }), T = Q(([d]) => ae(
578
- d.x.add(d.y).sub(d.z),
579
- d.x.add(d.z),
580
- d.x.sub(d.y).sub(d.z)
577
+ }), T = Q(([u]) => ae(
578
+ u.x.add(u.y).sub(u.z),
579
+ u.x.add(u.z),
580
+ u.x.sub(u.y).sub(u.z)
581
581
  )).setLayout({
582
582
  name: "YCoCgToRGB",
583
583
  type: "vec3",
584
584
  inputs: [{ name: "c", type: "vec3" }]
585
- }), v = Q(([d, g, i, n]) => {
585
+ }), v = Q(([u, g, i, n]) => {
586
586
  const c = [
587
587
  [-1, -1],
588
588
  [-1, 1],
@@ -594,13 +594,13 @@ class Cn extends He {
594
594
  [-1, 0]
595
595
  ], h = J(f(g.rgb), g.a).toVar(), y = J(f(i.rgb), i.a).toVar(), p = h.toVar(), A = h.pow2().toVar();
596
596
  for (const [Z, G] of c) {
597
- const E = this.beautyNode.offset(ke(Z, G)).load(d).max(0), U = J(f(E.rgb), E.a).toVar();
597
+ const E = this.beautyNode.offset(ke(Z, G)).load(u).max(0), U = J(f(E.rgb), E.a).toVar();
598
598
  p.addAssign(U), A.addAssign(U.pow2());
599
599
  }
600
- const w = C(c.length + 1), u = p.div(w), b = A.div(w).sub(u.pow2()).max(0).sqrt().mul(n), _ = u.sub(b), M = u.add(b), x = l(u.clamp(_, M), y, _, M);
600
+ const w = C(c.length + 1), l = p.div(w), b = A.div(w).sub(l.pow2()).max(0).sqrt().mul(n), M = l.sub(b), _ = l.add(b), x = d(l.clamp(M, _), y, M, _);
601
601
  return J(T(x.rgb), x.a);
602
- }), S = Q(([d, g]) => {
603
- const n = d.mul(g).fract().abs(), c = q(n, n.oneMinus());
602
+ }), S = Q(([u, g]) => {
603
+ const n = u.mul(g).fract().abs(), c = q(n, n.oneMinus());
604
604
  return c.x.mul(c.y).oneMinus().div(0.75);
605
605
  }).setLayout({
606
606
  name: "subpixelCorrection",
@@ -609,15 +609,15 @@ class Cn extends He {
609
609
  { name: "velocityUV", type: "vec2" },
610
610
  { name: "textureSize", type: "ivec2" }
611
611
  ]
612
- }), V = Q(([d, g, i]) => {
613
- const n = i.oneMinus(), c = d.mul(C(1).div(q(d.r, d.g, d.b).add(1))), h = g.mul(C(1).div(q(g.r, g.g, g.b).add(1))), y = Ae(c.rgb), p = Ae(h.rgb);
614
- return i.mulAssign(C(1).div(y.add(1))), n.mulAssign(C(1).div(p.add(1))), xs(d.mul(i), g.mul(n)).div(q(i.add(n), 1e-5)).toVar();
615
- }), m = Fe(this._historyRenderTarget.texture), k = Q(([d, g]) => {
616
- const i = d.mul(g), n = i.sub(0.5).floor().add(0.5).toVar(), c = i.sub(n).toVar(), h = c.mul(c.mul(c.mul(-0.5).add(1)).sub(0.5)).toVar(), y = c.pow2().mul(c.mul(1.5).sub(2.5)).add(1).toVar(), p = c.mul(c.mul(c.mul(-1.5).add(2)).add(0.5)).toVar(), A = c.pow2().mul(c.mul(0.5).sub(0.5)).toVar(), w = y.add(p).toVar(), u = p.div(w).toVar(), b = n.sub(1).mul(this._invSize).toVar(), _ = n.add(2).mul(this._invSize).toVar(), M = n.add(u).mul(this._invSize).toVar();
617
- return m.sample(K(b.x, b.y)).mul(h.x.mul(h.y)).add(m.sample(K(M.x, b.y)).mul(w.x.mul(h.y))).add(m.sample(K(_.x, b.y)).mul(A.x.mul(h.y))).add(m.sample(K(b.x, M.y)).mul(h.x.mul(w.y))).add(m.sample(K(M.x, M.y)).mul(w.x.mul(w.y))).add(m.sample(K(_.x, M.y)).mul(A.x.mul(w.y))).add(m.sample(K(b.x, _.y)).mul(h.x.mul(A.y))).add(m.sample(K(M.x, _.y)).mul(w.x.mul(A.y))).add(m.sample(K(_.x, _.y)).mul(A.x.mul(A.y))).max(0);
612
+ }), V = Q(([u, g, i]) => {
613
+ const n = i.oneMinus(), c = u.mul(C(1).div(q(u.r, u.g, u.b).add(1))), h = g.mul(C(1).div(q(g.r, g.g, g.b).add(1))), y = Ae(c.rgb), p = Ae(h.rgb);
614
+ return i.mulAssign(C(1).div(y.add(1))), n.mulAssign(C(1).div(p.add(1))), xs(u.mul(i), g.mul(n)).div(q(i.add(n), 1e-5)).toVar();
615
+ }), m = Fe(this._historyRenderTarget.texture), k = Q(([u, g]) => {
616
+ const i = u.mul(g), n = i.sub(0.5).floor().add(0.5).toVar(), c = i.sub(n).toVar(), h = c.mul(c.mul(c.mul(-0.5).add(1)).sub(0.5)).toVar(), y = c.pow2().mul(c.mul(1.5).sub(2.5)).add(1).toVar(), p = c.mul(c.mul(c.mul(-1.5).add(2)).add(0.5)).toVar(), A = c.pow2().mul(c.mul(0.5).sub(0.5)).toVar(), w = y.add(p).toVar(), l = p.div(w).toVar(), b = n.sub(1).mul(this._invSize).toVar(), M = n.add(2).mul(this._invSize).toVar(), _ = n.add(l).mul(this._invSize).toVar();
617
+ return m.sample(K(b.x, b.y)).mul(h.x.mul(h.y)).add(m.sample(K(_.x, b.y)).mul(w.x.mul(h.y))).add(m.sample(K(M.x, b.y)).mul(A.x.mul(h.y))).add(m.sample(K(b.x, _.y)).mul(h.x.mul(w.y))).add(m.sample(K(_.x, _.y)).mul(w.x.mul(w.y))).add(m.sample(K(M.x, _.y)).mul(A.x.mul(w.y))).add(m.sample(K(b.x, M.y)).mul(h.x.mul(A.y))).add(m.sample(K(_.x, M.y)).mul(w.x.mul(A.y))).add(m.sample(K(M.x, M.y)).mul(A.x.mul(A.y))).max(0);
618
618
  }), R = Q(() => {
619
- const d = Re(), g = this.beautyNode.size(), i = d.mul(g), n = r(i), c = n.get("closestDepth"), h = n.get("closestPositionTexel"), y = n.get("farthestDepth"), p = this.velocityNode.load(h).xy.mul(K(0.5, -0.5)), A = d.sub(p), w = o(A), u = A.greaterThanEqual(0).all().and(A.lessThanEqual(1).all()), b = y.sub(c).greaterThan(this.edgeDepthDiff), _ = c.sub(w).greaterThan(this.depthThreshold), M = u.and(b.or(_.not())), x = this.beautyNode.sample(d), Z = k(A, g), G = d.sub(A).mul(g).length().div(this.maxVelocityLength).saturate(), E = C(0.01).toVar();
620
- this.useSubpixelCorrection && E.addAssign(S(p, g).mul(0.2)), E.assign(M.select(E.add(G).saturate(), 1));
619
+ const u = Re(), g = this.beautyNode.size(), i = u.mul(g), n = r(i), c = n.get("closestDepth"), h = n.get("closestPositionTexel"), y = n.get("farthestDepth"), p = this.velocityNode.load(h).xy.mul(K(0.5, -0.5)), A = u.sub(p), w = o(A), l = A.greaterThanEqual(0).all().and(A.lessThanEqual(1).all()), b = y.sub(c).greaterThan(this.edgeDepthDiff), M = c.sub(w).greaterThan(this.depthThreshold), _ = l.and(b.or(M.not())), x = this.beautyNode.sample(u), Z = k(A, g), G = u.sub(A).mul(g).length().div(this.maxVelocityLength).saturate(), E = C(0.01).toVar();
620
+ this.useSubpixelCorrection && E.addAssign(S(p, g).mul(0.2)), E.assign(_.select(E.add(G).saturate(), 1));
621
621
  const U = Pe(0.5, 1, G.oneMinus().pow2()), P = v(i, x, Z, U);
622
622
  return V(x, P, E);
623
623
  });
@@ -640,7 +640,7 @@ function It(e, t) {
640
640
  const Rt = /* @__PURE__ */ Array.from(
641
641
  { length: 16 },
642
642
  (e, t) => [It(t + 1, 2), It(t + 1, 3)]
643
- ), Yt = (e, t, s, a) => new Cn(qe(e), t, s, a), et = /* @__PURE__ */ new zt(), Nn = /* @__PURE__ */ new ve(), _n = [60, 300, 180, 240, 120, 0], Mn = [0, 0.5, 0.25, 0.75];
643
+ ), Yt = (e, t, s, a) => new Cn(qe(e), t, s, a), et = /* @__PURE__ */ new zt(), Nn = /* @__PURE__ */ new ve(), Mn = [60, 300, 180, 240, 120, 0], _n = [0, 0.5, 0.25, 0.75];
644
644
  let tt;
645
645
  class kn extends He {
646
646
  static get type() {
@@ -658,8 +658,8 @@ class kn extends He {
658
658
  super("vec4"), this.beautyNode = t, this.depthNode = s, this.normalNode = a, this.updateBeforeType = Ot.FRAME, this.sliceCount = I(1, "uint"), this.stepCount = I(12, "uint"), this.aoIntensity = I(1, "float"), this.giIntensity = I(10, "float"), this.radius = I(12, "float"), this.useScreenSpaceSampling = I(!0, "bool"), this.expFactor = I(2, "float"), this.thickness = I(1, "float"), this.useLinearThickness = I(!1, "bool"), this.backfaceLighting = I(0, "float"), this.useTemporalFiltering = !0, this.resolutionScale = 1, this._resolution = I(new ve()), this._halfProjScale = I(1), this._temporalDirection = I(0), this._temporalOffset = I(0), this._cameraProjectionMatrix = I(r.projectionMatrix), this._cameraProjectionMatrixInverse = I(r.projectionMatrixInverse), this._cameraNear = je("near", "float", r), this._cameraFar = je("far", "float", r), this._camera = r, this._ssgiRenderTarget = new st(1, 1, { depthBuffer: !1, count: 3 });
659
659
  const o = this._ssgiRenderTarget.textures[0];
660
660
  o.name = "SSGI.AO", o.type = ft, o.format = ts;
661
- const l = this._ssgiRenderTarget.textures[1];
662
- l.name = "SSGI.GI", l.type = ss, l.format = ns;
661
+ const d = this._ssgiRenderTarget.textures[1];
662
+ d.name = "SSGI.GI", d.type = ss, d.format = ns;
663
663
  const f = this._ssgiRenderTarget.textures[2];
664
664
  f.name = "SSGI.BentNormals", f.type = ft, this._material = new Dt(), this._material.name = "SSGI", this._aoNode = ze(this, this._ssgiRenderTarget.textures[0]), this._giNode = ze(this, this._ssgiRenderTarget.textures[1]), this._bentNormalNode = ze(this, this._ssgiRenderTarget.textures[2]);
665
665
  }
@@ -710,7 +710,7 @@ class kn extends He {
710
710
  const a = s.getDrawingBufferSize(Nn);
711
711
  if (this.setSize(a.width, a.height), this.useTemporalFiltering === !0) {
712
712
  const r = t.frameId;
713
- this._temporalDirection.value = _n[r % 6] / 360, this._temporalOffset.value = Mn[r % 4];
713
+ this._temporalDirection.value = Mn[r % 6] / 360, this._temporalOffset.value = _n[r % 4];
714
714
  } else
715
715
  this._temporalDirection.value = 1, this._temporalOffset.value = 1;
716
716
  et.material = this._material, et.name = "SSGI", s.setClearColor(16777215, 1), s.setRenderTarget(this._ssgiRenderTarget), et.render(s), Ue.restoreRendererState(s, tt);
@@ -724,7 +724,7 @@ class kn extends He {
724
724
  setup(t) {
725
725
  const s = t.renderer;
726
726
  s.backend.isWebGPUBackend === !0 && s.hasFeature("rg11b10ufloat-renderable") === !1 && console.error('THREE.SSGINode: The device does not support the "rg11b10ufloat-renderable" feature which is required for SSGI.');
727
- const a = Re(), r = oe(32), o = oe(0), l = (i) => {
727
+ const a = Re(), r = oe(32), o = oe(0), d = (i) => {
728
728
  const n = this.depthNode.sample(i).r;
729
729
  if (t.renderer.logarithmicDepthBuffer === !0) {
730
730
  const c = Ft(n, this._cameraNear, this._cameraFar);
@@ -748,56 +748,56 @@ class kn extends He {
748
748
  inputs: [
749
749
  { name: "value", type: "vec2" }
750
750
  ]
751
- }), V = Q(([i, n, c, h, y, p, A, w, u, b]) => {
752
- const _ = this.stepCount.toConst(), M = this.expFactor.toConst(), x = this.thickness.toConst(), Z = this.backfaceLighting.toConst(), G = i.select(K(1, -1), K(-1, 1)), E = i.select(1, -1), U = ae(0);
753
- return Oe({ start: oe(0), end: _, type: "uint", condition: "<" }, ({ i: P }) => {
754
- const N = Ge(pe($e(n, C(P).add(p)).div(c)), M).mul(c).toConst(), L = y.mul(q(N, C(P).add(1))).toConst(), H = A.add(L.mul(G)).toConst();
751
+ }), V = Q(([i, n, c, h, y, p, A, w, l, b]) => {
752
+ const M = this.stepCount.toConst(), _ = this.expFactor.toConst(), x = this.thickness.toConst(), Z = this.backfaceLighting.toConst(), G = i.select(K(1, -1), K(-1, 1)), E = i.select(1, -1), U = ae(0);
753
+ return Oe({ start: oe(0), end: M, type: "uint", condition: "<" }, ({ i: P }) => {
754
+ const N = Ge(pe($e(n, C(P).add(p)).div(c)), _).mul(c).toConst(), L = y.mul(q(N, C(P).add(1))).toConst(), H = A.add(L.mul(G)).toConst();
755
755
  he(H.x.lessThanEqual(0).or(H.y.lessThanEqual(0)).or(H.x.greaterThanEqual(1)).or(H.y.greaterThanEqual(1)), () => {
756
756
  Ts();
757
757
  });
758
- const ne = Ie(H, l(H), this._cameraProjectionMatrixInverse).toConst(), W = ne.sub(h).normalize().toConst(), ue = this.useLinearThickness.select(ne.z.negate().div(this._cameraFar).clamp().mul(100), C(1)), Y = be(ne.sub(ue.mul(w).mul(x)).sub(h));
758
+ const ne = Ie(H, d(H), this._cameraProjectionMatrixInverse).toConst(), W = ne.sub(h).normalize().toConst(), ue = this.useLinearThickness.select(ne.z.negate().div(this._cameraFar).clamp().mul(100), C(1)), Y = be(ne.sub(ue.mul(w).mul(x)).sub(h));
759
759
  let F = K(ie(W, w), ie(Y, w));
760
- F = S(Me(F, -1, 1)), F = Me(vs($e(E, F.negate()).sub(b.sub(Ze)), fe)), F = i.select(F.yx, F.xy);
760
+ F = S(_e(F, -1, 1)), F = _e(vs($e(E, F.negate()).sub(b.sub(Ze)), fe)), F = i.select(F.yx, F.xy);
761
761
  const me = F.x.toConst(), ee = F.y.toConst(), Ne = oe(F.mul(C(r))).toConst(), Be = oe(As(ee.sub(me).mul(C(r)))).toConst();
762
762
  let ge = Be.greaterThan(oe(0)).select(oe(ws(oe(4294967295), oe(32).sub(r).add(r.sub(Be)))), oe(0)).toConst().shiftLeft(Ne);
763
763
  ge = ge.bitAnd(o.bitNot()), o.assign(o.bitOr(ge));
764
- const _e = xt(ge);
765
- he(_e.greaterThan(0), () => {
764
+ const Me = xt(ge);
765
+ he(Me.greaterThan(0), () => {
766
766
  const dt = T(H);
767
767
  he(Ae(dt).greaterThan(1e-3), () => {
768
- const ut = be(W), ht = Me(ie(u, ut));
768
+ const ut = be(W), ht = _e(ie(l, ut));
769
769
  he(ht.greaterThan(1e-3), () => {
770
770
  const mt = f(H);
771
771
  let ye = ie(mt, ut.negate());
772
772
  const Zt = St(ye).lessThan(0).select(pe(ye).mul(Z), pe(ye));
773
- ye = Z.greaterThan(0).and(ie(mt, w).greaterThan(0)).select(Zt, Me(ye)), U.rgb.addAssign(C(_e).div(C(r)).mul(dt).mul(ht).mul(ye));
773
+ ye = Z.greaterThan(0).and(ie(mt, w).greaterThan(0)).select(Zt, _e(ye)), U.rgb.addAssign(C(Me).div(C(r)).mul(dt).mul(ht).mul(ye));
774
774
  });
775
775
  });
776
776
  });
777
777
  }), U;
778
- }), m = Ee("float"), k = Ee("vec3"), R = Ee("vec4"), d = Cs(m, k, R), g = Q(() => {
779
- const i = l(a).toVar();
778
+ }), m = Ee("float"), k = Ee("vec3"), R = Ee("vec4"), u = Cs(m, k, R), g = Q(() => {
779
+ const i = d(a).toVar();
780
780
  i.greaterThanEqual(1).discard();
781
- const n = Ie(a, i, this._cameraProjectionMatrixInverse).toVar(), c = f(a).toVar(), h = be(n.xyz.negate()).toVar(), y = v(bt), p = Ns(bt), A = this._temporalDirection.mul(0.02), w = _s(y.add(this._temporalOffset)).add(Ms(a.add(A).mul(2).sub(1))), u = C(0), b = ae(0), _ = ae(0), M = this.sliceCount.toConst(), x = this.stepCount.toConst(), Z = this.aoIntensity.toConst(), G = this.giIntensity.toConst(), E = this.radius.toConst(), U = C(0).toVar();
781
+ const n = Ie(a, i, this._cameraProjectionMatrixInverse).toVar(), c = f(a).toVar(), h = be(n.xyz.negate()).toVar(), y = v(bt), p = Ns(bt), A = this._temporalDirection.mul(0.02), w = Ms(y.add(this._temporalOffset)).add(_s(a.add(A).mul(2).sub(1))), l = C(0), b = ae(0), M = ae(0), _ = this.sliceCount.toConst(), x = this.stepCount.toConst(), Z = this.aoIntensity.toConst(), G = this.giIntensity.toConst(), E = this.radius.toConst(), U = C(0).toVar();
782
782
  he(this.useScreenSpaceSampling, () => {
783
783
  U.assign(E.mul(this._resolution.x.div(2)).div(C(16)));
784
784
  }).Else(() => {
785
785
  U.assign(q(E.mul(this._halfProjScale).div(n.z.negate()), C(x)));
786
786
  }), U.divAssign(C(x).add(1));
787
787
  const P = q(1, C(x.sub(1))).mul(U).toConst();
788
- Oe({ start: oe(0), end: M, type: "uint", condition: "<" }, ({ i: ne }) => {
789
- const W = $e(C(ne).add(p).add(this._temporalDirection), fe.div(C(M))).toConst(), ue = ae(K(ot(W), at(W)), 0).toConst(), Y = ue.xy.mul(C(1).div(this._resolution)).toConst(), F = be(Tt(ue, h)).toConst(), me = Tt(h, F).toConst(), ee = c.sub(F.mul(ie(c, F))).toConst(), Ne = be(ee).toConst(), Be = Me(ie(Ne, h), -1, 1).toConst(), De = St(ie(ee, me)).negate().mul(ks(Be)).toConst();
790
- o.assign(0), b.addAssign(V(vt(!0), U, P, n, Y, w, a, h, c, De)), b.addAssign(V(vt(!1), U, P, n, Y, w, a, h, c, De)), u.addAssign(C(xt(o)).div(C(r))), Oe({ start: oe(0), end: r, type: "uint", condition: "<", name: "j" }, ({ j: ge }) => {
788
+ Oe({ start: oe(0), end: _, type: "uint", condition: "<" }, ({ i: ne }) => {
789
+ const W = $e(C(ne).add(p).add(this._temporalDirection), fe.div(C(_))).toConst(), ue = ae(K(ot(W), at(W)), 0).toConst(), Y = ue.xy.mul(C(1).div(this._resolution)).toConst(), F = be(Tt(ue, h)).toConst(), me = Tt(h, F).toConst(), ee = c.sub(F.mul(ie(c, F))).toConst(), Ne = be(ee).toConst(), Be = _e(ie(Ne, h), -1, 1).toConst(), De = St(ie(ee, me)).negate().mul(ks(Be)).toConst();
790
+ o.assign(0), b.addAssign(V(vt(!0), U, P, n, Y, w, a, h, c, De)), b.addAssign(V(vt(!1), U, P, n, Y, w, a, h, c, De)), l.addAssign(C(xt(o)).div(C(r))), Oe({ start: oe(0), end: r, type: "uint", condition: "<", name: "j" }, ({ j: ge }) => {
791
791
  he(o.shiftRight(ge).bitAnd(oe(1)).equal(oe(0)), () => {
792
- const _e = Ze.sub(De).sub(C(ge).add(0.5).div(C(r)).mul(fe));
793
- _.addAssign(h.mul(ot(_e)).add(me.mul(at(_e))));
792
+ const Me = Ze.sub(De).sub(C(ge).add(0.5).div(C(r)).mul(fe));
793
+ M.addAssign(h.mul(ot(Me)).add(me.mul(at(Me))));
794
794
  });
795
795
  });
796
- }), u.divAssign(C(M)), u.assign(Ge(u.clamp().oneMinus(), Z).clamp()), b.divAssign(C(M)), b.mulAssign(G);
796
+ }), l.divAssign(C(_)), l.assign(Ge(l.clamp().oneMinus(), Z).clamp()), b.divAssign(C(_)), b.mulAssign(G);
797
797
  const N = C(7).toConst(), L = Ae(b), H = L.greaterThan(N).select(N.div(L), C(1));
798
- return b.mulAssign(H), _.assign(be(_.add(c.mul(1e-4)))), m.assign(u), k.assign(b), R.assign(J(_.mul(0.5).add(0.5), 1)), J(0);
798
+ return b.mulAssign(H), M.assign(be(M.add(c.mul(1e-4)))), m.assign(l), k.assign(b), R.assign(J(M.mul(0.5).add(0.5), 1)), J(0);
799
799
  });
800
- return this._material.colorNode = g().context(t.getSharedContext()), this._material.outputNode = d, this._material.needsUpdate = !0, this._aoNode;
800
+ return this._material.colorNode = g().context(t.getSharedContext()), this._material.outputNode = u, this._material.needsUpdate = !0, this._aoNode;
801
801
  }
802
802
  /**
803
803
  * Frees internal resources. This method should be called
@@ -839,22 +839,22 @@ class Vn extends He {
839
839
  * @return {ShaderCallNodeInternal}
840
840
  */
841
841
  setup() {
842
- const t = Re(), s = (S) => this.textureNode.sample(S), a = (S) => this.depthNode.sample(S).x, r = (S) => this.normalNode !== null ? this.normalNode.sample(S).rgb.normalize() : Lt(S, this.depthNode.value, this._cameraProjectionMatrixInverse), o = (S) => this.noiseNode.sample(S), l = (S, V, m, k) => {
843
- const R = s(k).toVar(), d = a(k).toVar(), g = r(k).toVar(), i = Ie(k, d, this._cameraProjectionMatrixInverse).toVar(), n = ie(V, g), c = Ge(q(n, 0), this.normalPhi), h = pe(Ae(R.rgb).sub(Ae(S))), y = q(C(1).sub(h.div(this.lumaPhi)), 0), p = pe(ie(m.sub(i), V)), A = q(C(1).sub(p.div(this.depthPhi)), 0), w = y.mul(A).mul(c).toVar();
842
+ const t = Re(), s = (S) => this.textureNode.sample(S), a = (S) => this.depthNode.sample(S).x, r = (S) => this.normalNode !== null ? this.normalNode.sample(S).rgb.normalize() : Lt(S, this.depthNode.value, this._cameraProjectionMatrixInverse), o = (S) => this.noiseNode.sample(S), d = (S, V, m, k) => {
843
+ const R = s(k).toVar(), u = a(k).toVar(), g = r(k).toVar(), i = Ie(k, u, this._cameraProjectionMatrixInverse).toVar(), n = ie(V, g), c = Ge(q(n, 0), this.normalPhi), h = pe(Ae(R.rgb).sub(Ae(S))), y = q(C(1).sub(h.div(this.lumaPhi)), 0), p = pe(ie(m.sub(i), V)), A = q(C(1).sub(p.div(this.depthPhi)), 0), w = y.mul(A).mul(c).toVar();
844
844
  return { color: R.mul(w), weight: w };
845
845
  }, f = Q(([S]) => {
846
846
  const V = a(S).toVar(), m = r(S).toVar(), k = s(S).toVar(), R = Ee("vec4");
847
847
  return he(V.greaterThanEqual(1).or(ie(m, m).equal(0)), () => {
848
848
  R.assign(k);
849
849
  }).Else(() => {
850
- const d = ae(k.rgb), g = Ie(S, V, this._cameraProjectionMatrixInverse).toConst(), i = Vs(this.noiseNode, 0);
850
+ const u = ae(k.rgb), g = Ie(S, V, this._cameraProjectionMatrixInverse).toConst(), i = Vs(this.noiseNode, 0);
851
851
  let n = K(S.x, S.y.oneMinus());
852
852
  n = n.mul(this._resolution.div(i));
853
- const c = o(n).toVar(), h = at(c.element(this.index.mod(4).mul(2).mul(fe))), y = ot(c.element(this.index.mod(4).mul(2).mul(fe))), p = K(h, y), A = Is(p.x, p.y.negate(), p.x, p.y), w = C(1).toVar(), u = J(k).toVar();
853
+ const c = o(n).toVar(), h = at(c.element(this.index.mod(4).mul(2).mul(fe))), y = ot(c.element(this.index.mod(4).mul(2).mul(fe))), p = K(h, y), A = Is(p.x, p.y.negate(), p.x, p.y), w = C(1).toVar(), l = J(k).toVar();
854
854
  Oe({ start: At(0), end: At(16), type: "int", condition: "<" }, ({ i: b }) => {
855
- const _ = this._sampleVectors.element(b), M = A.mul(_.xy.mul(C(1).add(_.z.mul(this.radius.sub(1))))).div(this._resolution), x = S.add(M), Z = l(d, m, g, x);
856
- u.addAssign(Z.color), w.addAssign(Z.weight);
857
- }), R.assign(u.div(w));
855
+ const M = this._sampleVectors.element(b), _ = A.mul(M.xy.mul(C(1).add(M.z.mul(this.radius.sub(1))))).div(this._resolution), x = S.add(_), Z = d(u, m, g, x);
856
+ l.addAssign(Z.color), w.addAssign(Z.weight);
857
+ }), R.assign(l.div(w));
858
858
  }), R;
859
859
  });
860
860
  return Q(() => f(t))();
@@ -863,17 +863,17 @@ class Vn extends He {
863
863
  function In(e, t, s) {
864
864
  const a = [];
865
865
  for (let r = 0; r < e; r++) {
866
- const o = 2 * Math.PI * t * r / e, l = Math.pow(r / (e - 1), s);
867
- a.push(new Bt(Math.cos(o), Math.sin(o), l));
866
+ const o = 2 * Math.PI * t * r / e, d = Math.pow(r / (e - 1), s);
867
+ a.push(new Bt(Math.cos(o), Math.sin(o), d));
868
868
  }
869
869
  return a;
870
870
  }
871
871
  function Rn(e = 64) {
872
872
  const t = new Ls(), s = e * e * 4, a = new Uint8Array(s);
873
873
  for (let o = 0; o < e; o++)
874
- for (let l = 0; l < e; l++) {
875
- const f = o, T = l;
876
- a[(o * e + l) * 4] = (t.noise(f, T) * 0.5 + 0.5) * 255, a[(o * e + l) * 4 + 1] = (t.noise(f + e, T) * 0.5 + 0.5) * 255, a[(o * e + l) * 4 + 2] = (t.noise(f, T + e) * 0.5 + 0.5) * 255, a[(o * e + l) * 4 + 3] = (t.noise(f + e, T + e) * 0.5 + 0.5) * 255;
874
+ for (let d = 0; d < e; d++) {
875
+ const f = o, T = d;
876
+ a[(o * e + d) * 4] = (t.noise(f, T) * 0.5 + 0.5) * 255, a[(o * e + d) * 4 + 1] = (t.noise(f + e, T) * 0.5 + 0.5) * 255, a[(o * e + d) * 4 + 2] = (t.noise(f, T + e) * 0.5 + 0.5) * 255, a[(o * e + d) * 4 + 3] = (t.noise(f + e, T + e) * 0.5 + 0.5) * 255;
877
877
  }
878
878
  const r = new as(a, e, e);
879
879
  return r.wrapS = yt, r.wrapT = yt, r.needsUpdate = !0, r;
@@ -900,15 +900,15 @@ class Dn extends He {
900
900
  * @return {Node<vec4>}
901
901
  */
902
902
  setup() {
903
- const t = this.textureNode, s = (l) => Et(l.div(l.add(1))), a = (l) => {
904
- const f = l.pow2().min(0.9999);
903
+ const t = this.textureNode, s = (d) => Et(d.div(d.add(1))), a = (d) => {
904
+ const f = d.pow2().min(0.9999);
905
905
  return f.div(f.oneMinus());
906
- }, r = (l) => l.g.add(l.r.add(l.b).mul(0.5));
906
+ }, r = (d) => d.g.add(d.r.add(d.b).mul(0.5));
907
907
  return Q(() => {
908
- const l = ke(t.size()).toConst(), f = l.sub(1).toConst(), T = ke(Re().mul(K(l))).toConst(), v = (U, P) => {
908
+ const d = ke(t.size()).toConst(), f = d.sub(1).toConst(), T = ke(Re().mul(K(d))).toConst(), v = (U, P) => {
909
909
  const N = t.load(q(ce(T.add(ke(U, P)), f), ke(0))), L = N.a.saturate().toConst(), H = L.greaterThan(1 / 255).select(N.rgb.max(0).div(L), ae(0));
910
910
  return { p: s(H).toConst(), a: L };
911
- }, S = v(0, 0), V = v(0, -1), m = v(-1, 0), k = v(1, 0), R = v(0, 1), d = ce(ce(V.p, m.p), ce(k.p, R.p)).toConst(), g = q(q(V.p, m.p), q(k.p, R.p)).toConst(), i = C(0.25 - 1 / 16), n = ce(d, S.p).div(g.mul(4).max(1e-5)), c = ae(1).sub(q(g, S.p)).div(d.mul(4).sub(4)), h = q(n.negate(), c).toConst(), y = q(i.negate(), ce(q(h.r, q(h.g, h.b)), 0)).mul(this.amount).toVar(), p = r(V.p), A = r(m.p), w = r(S.p), u = r(k.p), b = r(R.p), _ = p.add(A).add(u).add(b).mul(0.25).sub(w), M = q(q(p, A), q(w, q(u, b))).sub(ce(ce(p, A), ce(w, ce(u, b)))), x = C(1).sub(pe(_).div(M.max(1 / 65536)).saturate().mul(0.5));
911
+ }, S = v(0, 0), V = v(0, -1), m = v(-1, 0), k = v(1, 0), R = v(0, 1), u = ce(ce(V.p, m.p), ce(k.p, R.p)).toConst(), g = q(q(V.p, m.p), q(k.p, R.p)).toConst(), i = C(0.25 - 1 / 16), n = ce(u, S.p).div(g.mul(4).max(1e-5)), c = ae(1).sub(q(g, S.p)).div(u.mul(4).sub(4)), h = q(n.negate(), c).toConst(), y = q(i.negate(), ce(q(h.r, q(h.g, h.b)), 0)).mul(this.amount).toVar(), p = r(V.p), A = r(m.p), w = r(S.p), l = r(k.p), b = r(R.p), M = p.add(A).add(l).add(b).mul(0.25).sub(w), _ = q(q(p, A), q(w, q(l, b))).sub(ce(ce(p, A), ce(w, ce(l, b)))), x = C(1).sub(pe(M).div(_.max(1 / 65536)).saturate().mul(0.5));
912
912
  y.mulAssign(this.denoise.greaterThan(0.5).select(x, 1));
913
913
  const Z = y.mul(4).add(1).reciprocal().toConst(), G = a(V.p.add(m.p).add(k.p).add(R.p).mul(y).add(S.p).mul(Z).max(0)), E = V.a.add(m.a).add(k.a).add(R.a).mul(y).add(S.a).mul(Z).saturate().toConst();
914
914
  return J(G.mul(E), E);
@@ -926,11 +926,11 @@ function Fn(e, t) {
926
926
  normal: J(Bs(Ds), rs),
927
927
  velocity: ct
928
928
  }));
929
- const a = s.getTextureNode("output"), r = s.getTextureNode("depth"), o = s.getTextureNode("normal"), l = s.getTextureNode("velocity"), f = s.getTextureNode("diffuseColor");
929
+ const a = s.getTextureNode("output"), r = s.getTextureNode("depth"), o = s.getTextureNode("normal"), d = s.getTextureNode("velocity"), f = s.getTextureNode("diffuseColor");
930
930
  s.getTexture("diffuseColor").type = B.UnsignedByteType, s.getTexture("normal").type = B.UnsignedByteType;
931
931
  const T = We(o.a, Ke.skin), v = We(o.a, Ke.eye), S = We(o.a, Ke.hair), V = zs((G) => Fs(o.sample(G))), m = Pn(a, r, V, t);
932
932
  m.resolutionScale = 0.5, m.aoIntensity.value = 1, m.giIntensity.value = 5, m.sliceCount.value = 2, m.stepCount.value = 8, m.thickness.value = 0.03, m.radius.value = 1, m.expFactor.value = 1, m.backfaceLighting.value = 0.1;
933
- const k = m.getAONode(), R = m.getGINode(), d = je("near", "float", t), g = je("far", "float", t), i = (G) => Es(r.sample(G).r, d, g), n = Q(() => {
933
+ const k = m.getAONode(), R = m.getGINode(), u = je("near", "float", t), g = je("far", "float", t), i = (G) => Es(r.sample(G).r, u, g), n = Q(() => {
934
934
  const G = Re(), E = K(m.getAONode().size()), U = G.mul(E).sub(0.5), P = U.floor(), N = U.sub(P), L = i(G), H = J(0).toVar(), ne = C(0).toVar();
935
935
  for (const [W, ue] of [[0, 0], [1, 0], [0, 1], [1, 1]]) {
936
936
  const Y = P.add(K(W + 0.5, ue + 0.5)).div(E), F = (W === 1 ? N.x : N.x.oneMinus()).mul(ue === 1 ? N.y : N.y.oneMinus()), me = Os(L.sub(i(Y)).abs().mul(-32)).add(1e-3), ee = F.mul(me);
@@ -939,14 +939,14 @@ function Fn(e, t) {
939
939
  return H.div(ne);
940
940
  }), c = Bn(n(), r, V, t);
941
941
  c.radius.value = 8, c.depthPhi.value = 0.1, c.lumaPhi.value = 5;
942
- const h = rt(c), y = I(0.5), p = I(0.5), A = h.a.oneMinus().mul(Pe(C(1), y, S)).mul(Pe(C(1), p, v)).oneMinus(), w = Pe(a.rgb, f.rgb, f.a), u = Q(([G, E]) => {
942
+ const h = rt(c), y = I(0.5), p = I(0.5), A = h.a.oneMinus().mul(Pe(C(1), y, S)).mul(Pe(C(1), p, v)).oneMinus(), w = Pe(a.rgb, f.rgb, f.a), l = Q(([G, E]) => {
943
943
  const U = E.mul(2.0404).sub(0.3324), P = E.mul(-4.7951).add(0.6417), N = E.mul(2.7552).add(0.6903);
944
944
  return ae(G).max(U.mul(G).add(P).mul(G).add(N).mul(G));
945
- }), b = I(new B.Vector3(0.45, 0.15, 0.05)), _ = Pe(ae(A), Ge(ae(A), ae(1).sub(b)), T), M = J(
946
- a.rgb.mul(u(_, w)).add(w.mul(h.rgb)),
945
+ }), b = I(new B.Vector3(0.45, 0.15, 0.05)), M = Pe(ae(A), Ge(ae(A), ae(1).sub(b)), T), _ = J(
946
+ a.rgb.mul(l(M, w)).add(w.mul(h.rgb)),
947
947
  // indirect diffuse modulated by albedo
948
948
  a.a
949
- ), x = Yt(M, r, l, t);
949
+ ), x = Yt(_, r, d, t);
950
950
  return x._resolveMaterial.needsUpdate = !0, { outputNode: zn(x, 0.5), scenePassColor: a, traaPass: x, giPass: m, denoisePass: c, ao: k, gi: R, hairAO: y, eyeAO: p };
951
951
  }
952
952
  function On(e, t) {
@@ -956,7 +956,7 @@ function On(e, t) {
956
956
  return r._resolveMaterial.needsUpdate = !0, { outputNode: r, scenePassColor: a, traaPass: r };
957
957
  }
958
958
  const En = () => {
959
- const e = O((n) => n.animationsLoaded), t = O((n) => n.characterState), s = O((n) => n.lipSyncManager), a = O((n) => n.blendshapeManager), r = z((n) => n.credentials), o = z((n) => n.currentUtterance), l = z((n) => n.textToSpeak), f = z((n) => n.visemes), T = z((n) => n.blendshapes), v = z((n) => n.visemeIntensity), S = z((n) => n.currentVisemeIndex), V = z((n) => n.currentBlendshapeIndex), m = z((n) => n.useBlendshapeManager), [k, R] = te(!1), [d, g] = te(!1), i = it(() => r != null && r.region && (r.subscriptionKey || r.token) ? Gs({
959
+ const e = O((n) => n.animationsLoaded), t = O((n) => n.characterState), s = O((n) => n.lipSyncManager), a = O((n) => n.blendshapeManager), r = z((n) => n.credentials), o = z((n) => n.currentUtterance), d = z((n) => n.textToSpeak), f = z((n) => n.visemes), T = z((n) => n.blendshapes), v = z((n) => n.visemeIntensity), S = z((n) => n.currentVisemeIndex), V = z((n) => n.currentBlendshapeIndex), m = z((n) => n.useBlendshapeManager), [k, R] = te(!1), [u, g] = te(!1), i = it(() => r != null && r.region && (r.subscriptionKey || r.token) ? Gs({
960
960
  credentials: {
961
961
  region: r.region,
962
962
  authorizationToken: r.token,
@@ -973,13 +973,13 @@ const En = () => {
973
973
  }, [i]), j(() => {
974
974
  k && (m ? !!a : !!s) && e && g(!0);
975
975
  }, [k, s, a, e, m]), j(() => {
976
- if (l) {
977
- const n = new Hs(l);
976
+ if (d) {
977
+ const n = new Hs(d);
978
978
  Sn(n);
979
979
  }
980
- }, [l]), j(() => {
980
+ }, [d]), j(() => {
981
981
  var n, c;
982
- o && d ? (o.onstart = () => {
982
+ o && u ? (o.onstart = () => {
983
983
  console.log("Start"), Nt(de.speaking);
984
984
  }, o.onend = () => {
985
985
  console.log("End"), Nt(de.idle);
@@ -1032,34 +1032,35 @@ const En = () => {
1032
1032
  }, [e, t]);
1033
1033
  return /* @__PURE__ */ D.createElement("primitive", { object: s });
1034
1034
  }, Un = ({ parentGpuTier: e, setIsGpuAvailable: t, children: s, tonemapping: a, inspector: r = !1 }) => {
1035
- const o = se((u) => u.cameraPosition), l = se((u) => u.lookAt), f = se((u) => u.movable), T = re((u) => u.targets), v = re((u) => u.showFirstTarget), [S, V] = te(e || ds()), [m, k] = te(
1035
+ const o = se((l) => l.cameraPosition), d = se((l) => l.lookAt), f = se((l) => l.movable), T = re((l) => l.targets), v = re((l) => l.showFirstTarget), [S, V] = te(e || ds()), [m, k] = te(
1036
1036
  "low"
1037
1037
  /* low */
1038
- ), [R, d] = te(null), [g, i] = te(void 0), n = Te(null), c = Te(null), h = Te(null), y = (u) => {
1039
- u.preventDefault(), u.stopPropagation();
1038
+ ), [R, u] = te(null), [g, i] = te(void 0), n = Te(null), c = Te(null), h = Te(null), y = (l) => {
1039
+ l.preventDefault(), l.stopPropagation();
1040
1040
  };
1041
1041
  j(() => {
1042
1042
  Qs(c.current);
1043
1043
  }, [c.current]), j(() => {
1044
- var u, b, _, M;
1044
+ var l, b, M, _;
1045
1045
  if (f)
1046
- R == null || R.abort(), d(null);
1046
+ R == null || R.abort(), u(null);
1047
1047
  else {
1048
1048
  const x = new AbortController();
1049
- d(x), (u = n.current) == null || u.addEventListener("wheel", y, { passive: !1, signal: x.signal }), (b = n.current) == null || b.addEventListener("pointerdown", y, { passive: !1, signal: x.signal }), (_ = n.current) == null || _.addEventListener("pointermove", y, { passive: !1, signal: x.signal }), (M = n.current) == null || M.addEventListener("click", y, { passive: !1, signal: x.signal });
1049
+ u(x), (l = n.current) == null || l.addEventListener("wheel", y, { passive: !1, signal: x.signal }), (b = n.current) == null || b.addEventListener("pointerdown", y, { passive: !1, signal: x.signal }), (M = n.current) == null || M.addEventListener("pointermove", y, { passive: !1, signal: x.signal }), (_ = n.current) == null || _.addEventListener("click", y, { passive: !1, signal: x.signal });
1050
1050
  }
1051
1051
  }, [f]), j(() => {
1052
- h != null && h.current && l && o && h.current.setLookAt(o.x, o.y, o.z, l.x, l.y, l.z, !0);
1053
- }, [o, l]), j(() => {
1052
+ h != null && h.current && d && o && h.current.setLookAt(o.x, o.y, o.z, d.x, d.y, d.z, !0);
1053
+ }, [o, d]), j(() => {
1054
1054
  e && V(e);
1055
1055
  }, [e]), j(() => {
1056
1056
  if (S)
1057
- if (S.type === "FALLBACK")
1057
+ if (S.type === "FALLBACK") {
1058
+ const l = typeof navigator < "u" && /Macintosh|Mac OS X/.test(navigator.userAgent);
1058
1059
  k(
1059
- "medium"
1060
- /* medium */
1060
+ l ? "medium" : "low"
1061
+ /* low */
1061
1062
  );
1062
- else
1063
+ } else
1063
1064
  switch (S.tier) {
1064
1065
  case 0:
1065
1066
  case 1:
@@ -1100,9 +1101,9 @@ const En = () => {
1100
1101
  break;
1101
1102
  }
1102
1103
  }, [m]);
1103
- const p = Te(void 0), A = $t(async (u) => {
1104
+ const p = Te(void 0), A = $t(async (l) => {
1104
1105
  const b = new B.WebGPURenderer({
1105
- canvas: u.canvas,
1106
+ canvas: l.canvas,
1106
1107
  antialias: !1,
1107
1108
  alpha: !0,
1108
1109
  powerPreference: "high-performance"
@@ -1110,11 +1111,11 @@ const En = () => {
1110
1111
  return b.setClearColor(new B.Color("#000000"), 0), b.setPixelRatio(Math.min(devicePixelRatio, 1.5)), b.shadowMap.type = B.PCFShadowMap, await b.init(), b;
1111
1112
  }, []), w = it(() => {
1112
1113
  if (T.length) {
1113
- const u = T[0], b = new B.Vector3(u.position.x - 0.5, u.position.y, u.position.z - 0.1), _ = new B.Vector3(u.position.x + 0.5, u.position.y, u.position.z - 0.1);
1114
- return [b, _];
1114
+ const l = T[0], b = new B.Vector3(l.position.x - 0.5, l.position.y, l.position.z - 0.1), M = new B.Vector3(l.position.x + 0.5, l.position.y, l.position.z - 0.1);
1115
+ return [b, M];
1115
1116
  } else if (o) {
1116
- const u = new B.Vector3(o.x - 0.5, o.y, o.z - 0.1), b = new B.Vector3(o.x + 0.5, o.y, o.z - 0.1);
1117
- return [u, b];
1117
+ const l = new B.Vector3(o.x - 0.5, o.y, o.z - 0.1), b = new B.Vector3(o.x + 0.5, o.y, o.z - 0.1);
1118
+ return [l, b];
1118
1119
  }
1119
1120
  return [];
1120
1121
  }, [T, o]);
@@ -1123,11 +1124,11 @@ const En = () => {
1123
1124
  /* @__PURE__ */ D.createElement(Us, { gl: A, dpr: g, ref: n, shadows: "percentage" }, /* @__PURE__ */ D.createElement(us, { iterations: 5, ms: 100, threshold: 0.75 }, /* @__PURE__ */ D.createElement(jn, { tonemapping: a, processedTier: m, inspector: r }), /* @__PURE__ */ D.createElement(En, null), /* @__PURE__ */ D.createElement(hs, { ref: c, makeDefault: !0, fov: 28 }), /* @__PURE__ */ D.createElement(ms, { ref: h }), v && w.length && /* @__PURE__ */ D.createElement(Ln, { points: w, color: "red" }), /* @__PURE__ */ D.createElement(Qt, { fallback: null }, s)))
1124
1125
  ) : /* @__PURE__ */ D.createElement(D.Fragment, null);
1125
1126
  }, jn = ({ tonemapping: e, processedTier: t, inspector: s = !1 }) => {
1126
- const [a, r] = te(!1), { gl: o, scene: l, camera: f, size: T } = js(), [v] = te(new B.Vector3(-3, 2, 2)), [S] = te(new B.Vector3(0, 1, 0)), [V] = te(3.5), [m] = te(-2e-4), [k] = te(0.57), [R] = te(0.25), d = Te(null), g = Te(null);
1127
+ const [a, r] = te(!1), { gl: o, scene: d, camera: f, size: T } = js(), [v] = te(new B.Vector3(-3, 2, 2)), [S] = te(new B.Vector3(0, 1, 0)), [V] = te(3.5), [m] = te(-2e-4), [k] = te(0.57), [R] = te(0.25), u = Te(null), g = Te(null);
1127
1128
  return j(() => {
1128
- o && (o.shadowMap.type = B.PCFShadowMap, o.toneMapping = e, t !== "low" ? l.environmentIntensity = R : l.environmentIntensity = 1);
1129
+ o && (o.shadowMap.type = B.PCFShadowMap, o.toneMapping = e, t !== "low" ? d.environmentIntensity = R : d.environmentIntensity = 1);
1129
1130
  }, [o, e]), j(() => {
1130
- l.environmentIntensity = R;
1131
+ d.environmentIntensity = R;
1131
1132
  }, [R]), j(() => {
1132
1133
  if (!s || !o || a) return;
1133
1134
  let i = !1;
@@ -1137,34 +1138,34 @@ const En = () => {
1137
1138
  i = !0;
1138
1139
  };
1139
1140
  }, [s, o, a]), j(() => {
1140
- if (!o || !l || !f || !t) return;
1141
- l.background = null;
1142
- const i = t === "high", n = i ? Fn(l, f) : On(l, f), { outputNode: c, scenePassColor: h, traaPass: y, giPass: p, ao: A, gi: w, hairAO: u, eyeAO: b } = n, _ = new B.RenderPipeline(o);
1143
- if (_.outputNode = c, g.current = _, s && a && o.inspector) {
1144
- const M = () => {
1145
- _.needsUpdate = !0;
1141
+ if (!o || !d || !f || !t) return;
1142
+ d.background = null;
1143
+ const i = t === "high", n = i ? Fn(d, f) : On(d, f), { outputNode: c, scenePassColor: h, traaPass: y, giPass: p, ao: A, gi: w, hairAO: l, eyeAO: b } = n, M = new B.RenderPipeline(o);
1144
+ if (M.outputNode = c, g.current = M, s && a && o.inspector) {
1145
+ const _ = () => {
1146
+ M.needsUpdate = !0;
1146
1147
  }, x = o.inspector.createParameters(i ? "SSGI + TRAA" : "TRAA");
1147
1148
  if (i) {
1148
1149
  const Z = { output: 0, feedback: !1 }, G = { Combined: 0, AO: 1, GI: 2, Direct: 3 };
1149
1150
  x.add(Z, "output", G).name("output").onChange((E) => {
1150
1151
  const U = Number(E);
1151
- _.outputNode = U === 1 ? J(ae(A.r), 1) : U === 2 ? J(w.rgb, 1) : U === 3 ? h : c, M();
1152
- }), x.add(p.sliceCount, "value", 1, 4, 1).name("slice count"), x.add(p.stepCount, "value", 1, 32, 1).name("step count"), x.add(p.radius, "value", 0.1, 2).name("radius"), x.add(p.expFactor, "value", 1e-3, 10).name("exp factor"), x.add(p.thickness, "value", 1e-3, 0.1).name("thickness"), x.add(p.backfaceLighting, "value", 0, 1).name("backface lighting"), x.add(p.aoIntensity, "value", 0, 4).name("AO intensity"), x.add(p.giIntensity, "value", 0, 20).name("GI intensity"), x.add(p, "resolutionScale", 0.25, 1).name("SSGI resolution scale"), x.add(u, "value", 0, 1).name("SSGI AO on hair"), x.add(b, "value", 0, 1).name("SSGI AO on eyes"), x.add(Z, "feedback").name("SSGI 2nd bounce (TRAA history)").onChange((E) => {
1153
- p.beautyNode = E ? y.getHistoryTextureNode() : h, M();
1152
+ M.outputNode = U === 1 ? J(ae(A.r), 1) : U === 2 ? J(w.rgb, 1) : U === 3 ? h : c, _();
1153
+ }), x.add(p.sliceCount, "value", 1, 4, 1).name("slice count"), x.add(p.stepCount, "value", 1, 32, 1).name("step count"), x.add(p.radius, "value", 0.1, 2).name("radius"), x.add(p.expFactor, "value", 1e-3, 10).name("exp factor"), x.add(p.thickness, "value", 1e-3, 0.1).name("thickness"), x.add(p.backfaceLighting, "value", 0, 1).name("backface lighting"), x.add(p.aoIntensity, "value", 0, 4).name("AO intensity"), x.add(p.giIntensity, "value", 0, 20).name("GI intensity"), x.add(p, "resolutionScale", 0.25, 1).name("SSGI resolution scale"), x.add(l, "value", 0, 1).name("SSGI AO on hair"), x.add(b, "value", 0, 1).name("SSGI AO on eyes"), x.add(Z, "feedback").name("SSGI 2nd bounce (TRAA history)").onChange((E) => {
1154
+ p.beautyNode = E ? y.getHistoryTextureNode() : h, _();
1154
1155
  });
1155
1156
  }
1156
- x.add(y, "maxVelocityLength", 4, 128, 1).name("TRAA max velocity").onChange(M), x.add(y, "depthThreshold", 1e-4, 0.01).name("TRAA depth threshold").onChange(M), x.add(y, "edgeDepthDiff", 1e-4, 0.01).name("TRAA edge depth diff").onChange(M), x.add(y, "useSubpixelCorrection").name("TRAA subpixel correction").onChange(M);
1157
+ x.add(y, "maxVelocityLength", 4, 128, 1).name("TRAA max velocity").onChange(_), x.add(y, "depthThreshold", 1e-4, 0.01).name("TRAA depth threshold").onChange(_), x.add(y, "edgeDepthDiff", 1e-4, 0.01).name("TRAA edge depth diff").onChange(_), x.add(y, "useSubpixelCorrection").name("TRAA subpixel correction").onChange(_);
1157
1158
  }
1158
1159
  return () => {
1159
- _.dispose(), g.current = null;
1160
+ M.dispose(), g.current = null;
1160
1161
  };
1161
- }, [o, l, f, t, s, a]), j(() => {
1162
+ }, [o, d, f, t, s, a]), j(() => {
1162
1163
  !o || !T || o.setSize(T.width, T.height);
1163
1164
  }, [T]), Ht(({ gl: i, scene: n, camera: c }) => {
1164
1165
  g.current && g.current.render();
1165
- }, 1), /* @__PURE__ */ D.createElement(D.Fragment, null, t !== "low" && o && /* @__PURE__ */ D.createElement(D.Fragment, null, /* @__PURE__ */ D.createElement("directionalLight", { ref: d, color: "white", position: v.toArray(), "target-position": S.toArray(), intensity: V, castShadow: !0, "shadow-mapSize-width": 1024, "shadow-mapSize-height": 1024, "shadow-bias": m, "shadow-normalBias": 3e-3, "shadow-intensity": 0.6, "shadow-radius": 2.5 }, /* @__PURE__ */ D.createElement("orthographicCamera", { attach: "shadow-camera", args: [-1, 1, 2, -0.5, 2, 5] })), /* @__PURE__ */ D.createElement("directionalLight", { name: "RimLight", color: "#fff4e8", position: [0.9, 2.3, -3.2], "target-position": [0, 1.6, 0], intensity: k })));
1166
+ }, 1), /* @__PURE__ */ D.createElement(D.Fragment, null, t !== "low" && o && /* @__PURE__ */ D.createElement(D.Fragment, null, /* @__PURE__ */ D.createElement("directionalLight", { ref: u, color: "white", position: v.toArray(), "target-position": S.toArray(), intensity: V, castShadow: !0, "shadow-mapSize-width": 1024, "shadow-mapSize-height": 1024, "shadow-bias": m, "shadow-normalBias": 3e-3, "shadow-intensity": 0.6, "shadow-radius": 2.5 }, /* @__PURE__ */ D.createElement("orthographicCamera", { attach: "shadow-camera", args: [-1, 1, 2, -0.5, 2, 5] })), t === "high" && /* @__PURE__ */ D.createElement("directionalLight", { name: "RimLight", color: "#fff4e8", position: [0.9, 2.3, -3.2], "target-position": [0, 1.6, 0], intensity: k })));
1166
1167
  }, Gn = ({ character: e, autoLookAt: t }) => {
1167
- const s = O((v) => v.characterState), a = re((v) => v.currentAUs), r = re((v) => v.currentGaze), o = re((v) => v.currentHeadPose), l = re((v) => v.lookAtCamera), f = se((v) => v.cameraPosition), T = re((v) => v.targets);
1168
+ const s = O((v) => v.characterState), a = re((v) => v.currentAUs), r = re((v) => v.currentGaze), o = re((v) => v.currentHeadPose), d = re((v) => v.lookAtCamera), f = se((v) => v.cameraPosition), T = re((v) => v.targets);
1168
1169
  return Ht((v, S) => {
1169
1170
  const V = {
1170
1171
  deltaTime: S,
@@ -1173,7 +1174,7 @@ const En = () => {
1173
1174
  gaze: r,
1174
1175
  headPose: o,
1175
1176
  characterState: s,
1176
- lookAt: l ? f : void 0,
1177
+ lookAt: d ? f : void 0,
1177
1178
  targets: T
1178
1179
  };
1179
1180
  e.update(V);
@@ -1194,18 +1195,18 @@ const En = () => {
1194
1195
  }, [s, t]), j(() => {
1195
1196
  Zs(e);
1196
1197
  }, [e]), null;
1197
- }, xo = ({ url: e, type: t, animationsUrl: s, gender: a, speechSynthesis: r, camera: o, onLoadingCompleted: l, autoLookAt: f, breathing: T, disableAnimations: v, debug: S, inspector: V, enableBml: m, animationWeights: k, license: R, detectGpuData: d, environmentPreset: g = "apartment", tonemapping: i = B.NeutralToneMapping, targets: n, useBlendshapeManager: c = !1 }) => {
1198
- const h = O((P) => P.animationsLoaded), y = se((P) => P.defaultPositions), p = se((P) => P.defaultDistances), [A, w] = te(), [u, b] = te(null), [_, M] = te(), [x, Z] = te(!1), G = async (P) => {
1198
+ }, xo = ({ url: e, type: t, animationsUrl: s, gender: a, speechSynthesis: r, camera: o, onLoadingCompleted: d, autoLookAt: f, breathing: T, disableAnimations: v, debug: S, inspector: V, enableBml: m, animationWeights: k, license: R, detectGpuData: u, environmentPreset: g = "apartment", tonemapping: i = B.NeutralToneMapping, targets: n, useBlendshapeManager: c = !1 }) => {
1199
+ const h = O((P) => P.animationsLoaded), y = se((P) => P.defaultPositions), p = se((P) => P.defaultDistances), [A, w] = te(), [l, b] = te(null), [M, _] = te(), [x, Z] = te(!1), G = async (P) => {
1199
1200
  let N = null;
1200
1201
  switch (t) {
1201
1202
  case Se.cc3:
1202
- N = new ls(), M(Le.cc3);
1203
+ N = new ls(), _(Le.cc3);
1203
1204
  break;
1204
1205
  case Se.avatarsdk:
1205
- N = new cs(), M(Le.avatarsdk);
1206
+ N = new cs(), _(Le.avatarsdk);
1206
1207
  break;
1207
1208
  case Se.avaturn:
1208
- N = new is(), M(Le.avaturn);
1209
+ N = new is(), _(Le.avaturn);
1209
1210
  break;
1210
1211
  }
1211
1212
  const L = await N.loadAsync(P).catch((H) => console.warn("Error loading character : ", H));
@@ -1241,21 +1242,21 @@ const En = () => {
1241
1242
  };
1242
1243
  j(() => {
1243
1244
  var P, N;
1244
- u && h && (T === !1 && ((N = (P = u.animationManager) == null ? void 0 : P.disableBreathing) == null || N.call(P)), x ? (an(u.getAllAnimationNames()), rn(u.getAllAnimations()), setTimeout(() => {
1245
- l == null || l();
1245
+ l && h && (T === !1 && ((N = (P = l.animationManager) == null ? void 0 : P.disableBreathing) == null || N.call(P)), x ? (an(l.getAllAnimationNames()), rn(l.getAllAnimations()), setTimeout(() => {
1246
+ d == null || d();
1246
1247
  }, 1e3)) : U());
1247
- }, [u, h, x]), j(() => {
1248
+ }, [l, h, x]), j(() => {
1248
1249
  sn(n || []);
1249
1250
  }, [n]), j(() => {
1250
- Ct(!1), A !== void 0 && (A ? G(e) : l == null || l());
1251
+ Ct(!1), A !== void 0 && (A ? G(e) : d == null || d());
1251
1252
  }, [e, A]), j(() => {
1252
1253
  if (x && p && y)
1253
1254
  if (o) {
1254
1255
  const P = wn(o, p, y);
1255
- _t(P), Mt(o.lookAt ? y[o.lookAt] : y.lowerbelly), tn(!!o.movable);
1256
+ Mt(P), _t(o.lookAt ? y[o.lookAt] : y.lowerbelly), tn(!!o.movable);
1256
1257
  } else {
1257
1258
  const P = y.mouth.clone();
1258
- P.setComponent(2, p.farther), _t(P), Mt(y.lowerbelly);
1259
+ P.setComponent(2, p.farther), Mt(P), _t(y.lowerbelly);
1259
1260
  }
1260
1261
  }, [x, o, p, y]), j(() => {
1261
1262
  r && (r.credentials && xn(r.credentials), r.voice && vn(r.voice));
@@ -1263,9 +1264,9 @@ const En = () => {
1263
1264
  An(c);
1264
1265
  }, [c]);
1265
1266
  const U = () => {
1266
- if (u && _) {
1267
+ if (l && M) {
1267
1268
  try {
1268
- const P = new B.Box3().setFromObject(u), N = P.max, L = P.min, H = new B.Vector3((N.x + L.x) / 2, (N.y + L.y) / 2, (N.z + L.z) / 2);
1269
+ const P = new B.Box3().setFromObject(l), N = P.max, L = P.min, H = new B.Vector3((N.x + L.x) / 2, (N.y + L.y) / 2, (N.z + L.z) / 2);
1269
1270
  Xs(H);
1270
1271
  const ne = Math.abs(N.x - L.x), W = Math.abs(N.y - L.y), ue = Math.abs(N.z - L.z);
1271
1272
  $s({
@@ -1305,7 +1306,7 @@ const En = () => {
1305
1306
  Z(!0);
1306
1307
  }
1307
1308
  };
1308
- return /* @__PURE__ */ D.createElement(Un, { parentGpuTier: d, setIsGpuAvailable: w, tonemapping: i, inspector: V }, A ? /* @__PURE__ */ D.createElement(D.Fragment, null, u && /* @__PURE__ */ D.createElement(Gn, { character: u, autoLookAt: !!f }), u && /* @__PURE__ */ D.createElement(D.Fragment, null, /* @__PURE__ */ D.createElement(ps, { preset: g }), /* @__PURE__ */ D.createElement("primitive", { object: u, castShadow: !0, receiveShadow: !0 }))) : /* @__PURE__ */ D.createElement(D.Fragment, null));
1309
+ return /* @__PURE__ */ D.createElement(Un, { parentGpuTier: u, setIsGpuAvailable: w, tonemapping: i, inspector: V }, A ? /* @__PURE__ */ D.createElement(D.Fragment, null, l && /* @__PURE__ */ D.createElement(Gn, { character: l, autoLookAt: !!f }), l && /* @__PURE__ */ D.createElement(D.Fragment, null, /* @__PURE__ */ D.createElement(ps, { preset: g }), /* @__PURE__ */ D.createElement("primitive", { object: l, castShadow: !0, receiveShadow: !0 }))) : /* @__PURE__ */ D.createElement(D.Fragment, null));
1309
1310
  }, Hn = {
1310
1311
  emotions: [],
1311
1312
  currentTopEmotion: lt.Neutral,
@@ -1327,8 +1328,8 @@ const En = () => {
1327
1328
  };
1328
1329
  export {
1329
1330
  xo as Character,
1330
- _o as CharacterState,
1331
- Mo as CreationTool,
1331
+ Mo as CharacterState,
1332
+ _o as CreationTool,
1332
1333
  X as Distances,
1333
1334
  Co as Object3D,
1334
1335
  $ as Positions,
@@ -1353,7 +1354,7 @@ export {
1353
1354
  To as setAutoDecay,
1354
1355
  io as setAutoPlay,
1355
1356
  ho as setBlendshapes,
1356
- _t as setCameraPosition,
1357
+ Mt as setCameraPosition,
1357
1358
  Nt as setCharacterState,
1358
1359
  so as setCurrentAUs,
1359
1360
  no as setCurrentGaze,
package/dist/stats.html CHANGED
@@ -4929,7 +4929,7 @@ var drawChart = (function (exports) {
4929
4929
  </script>
4930
4930
  <script>
4931
4931
  /*<!--*/
4932
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.js","children":[{"name":"D:/a/1/s/packages/reactjs","children":[{"name":"node_modules/zustand/esm","children":[{"uid":"0f41cae3-1","name":"vanilla.mjs"},{"uid":"0f41cae3-3","name":"react.mjs"}]},{"name":"src","children":[{"name":"contexts","children":[{"uid":"0f41cae3-5","name":"characterStore.ts"},{"uid":"0f41cae3-7","name":"cameraStore.ts"},{"uid":"0f41cae3-9","name":"headStore.ts"},{"uid":"0f41cae3-11","name":"animationStore.ts"},{"uid":"0f41cae3-17","name":"speechStore.ts"},{"uid":"0f41cae3-41","name":"emotionStore.ts"}]},{"name":"models","children":[{"uid":"0f41cae3-13","name":"enums.ts"},{"uid":"0f41cae3-15","name":"constants.ts"}]},{"name":"utils/getCameraPositionVector.ts","uid":"0f41cae3-19"},{"name":"components","children":[{"name":"PostProcessing","children":[{"uid":"0f41cae3-21","name":"TRAANode.js"},{"uid":"0f41cae3-23","name":"SSGINode.js"},{"uid":"0f41cae3-25","name":"DenoiseNode.js"},{"uid":"0f41cae3-27","name":"CASNode.js"},{"uid":"0f41cae3-29","name":"pipelines.ts"}]},{"uid":"0f41cae3-31","name":"SpeechManager.tsx"},{"uid":"0f41cae3-33","name":"HorizontalLine.tsx"},{"uid":"0f41cae3-35","name":"Scene.tsx"},{"name":"Controllers/CharacterController.ts","uid":"0f41cae3-37"},{"uid":"0f41cae3-39","name":"Character.tsx"}]},{"uid":"0f41cae3-43","name":"index.ts"}]}]}]}],"isRoot":true},"nodeParts":{"0f41cae3-1":{"renderedLength":975,"gzipLength":394,"brotliLength":353,"metaUid":"0f41cae3-0"},"0f41cae3-3":{"renderedLength":593,"gzipLength":285,"brotliLength":235,"metaUid":"0f41cae3-2"},"0f41cae3-5":{"renderedLength":2066,"gzipLength":439,"brotliLength":380,"metaUid":"0f41cae3-4"},"0f41cae3-7":{"renderedLength":1028,"gzipLength":293,"brotliLength":249,"metaUid":"0f41cae3-6"},"0f41cae3-9":{"renderedLength":1154,"gzipLength":359,"brotliLength":315,"metaUid":"0f41cae3-8"},"0f41cae3-11":{"renderedLength":854,"gzipLength":308,"brotliLength":274,"metaUid":"0f41cae3-10"},"0f41cae3-13":{"renderedLength":2645,"gzipLength":700,"brotliLength":620,"metaUid":"0f41cae3-12"},"0f41cae3-15":{"renderedLength":2774,"gzipLength":852,"brotliLength":740,"metaUid":"0f41cae3-14"},"0f41cae3-17":{"renderedLength":2675,"gzipLength":668,"brotliLength":633,"metaUid":"0f41cae3-16"},"0f41cae3-19":{"renderedLength":2356,"gzipLength":571,"brotliLength":491,"metaUid":"0f41cae3-18"},"0f41cae3-21":{"renderedLength":28077,"gzipLength":7145,"brotliLength":6234,"metaUid":"0f41cae3-20"},"0f41cae3-23":{"renderedLength":25103,"gzipLength":6860,"brotliLength":5937,"metaUid":"0f41cae3-22"},"0f41cae3-25":{"renderedLength":9917,"gzipLength":3018,"brotliLength":2626,"metaUid":"0f41cae3-24"},"0f41cae3-27":{"renderedLength":5776,"gzipLength":2316,"brotliLength":2006,"metaUid":"0f41cae3-26"},"0f41cae3-29":{"renderedLength":4516,"gzipLength":1512,"brotliLength":1368,"metaUid":"0f41cae3-28"},"0f41cae3-31":{"renderedLength":5139,"gzipLength":1153,"brotliLength":1063,"metaUid":"0f41cae3-30"},"0f41cae3-33":{"renderedLength":383,"gzipLength":251,"brotliLength":209,"metaUid":"0f41cae3-32"},"0f41cae3-35":{"renderedLength":10478,"gzipLength":3001,"brotliLength":2664,"metaUid":"0f41cae3-34"},"0f41cae3-37":{"renderedLength":1366,"gzipLength":442,"brotliLength":408,"metaUid":"0f41cae3-36"},"0f41cae3-39":{"renderedLength":7070,"gzipLength":1850,"brotliLength":1651,"metaUid":"0f41cae3-38"},"0f41cae3-41":{"renderedLength":949,"gzipLength":361,"brotliLength":320,"metaUid":"0f41cae3-40"},"0f41cae3-43":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"0f41cae3-42"}},"nodeMetas":{"0f41cae3-0":{"id":"D:/a/1/s/packages/reactjs/node_modules/zustand/esm/vanilla.mjs","moduleParts":{"index.js":"0f41cae3-1"},"imported":[],"importedBy":[{"uid":"0f41cae3-48"},{"uid":"0f41cae3-2"}]},"0f41cae3-2":{"id":"D:/a/1/s/packages/reactjs/node_modules/zustand/esm/react.mjs","moduleParts":{"index.js":"0f41cae3-3"},"imported":[{"uid":"0f41cae3-46"},{"uid":"0f41cae3-0"}],"importedBy":[{"uid":"0f41cae3-48"}]},"0f41cae3-4":{"id":"D:/a/1/s/packages/reactjs/src/contexts/characterStore.ts","moduleParts":{"index.js":"0f41cae3-5"},"imported":[{"uid":"0f41cae3-48"},{"uid":"0f41cae3-44"}],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"},{"uid":"0f41cae3-16"},{"uid":"0f41cae3-8"},{"uid":"0f41cae3-40"},{"uid":"0f41cae3-10"},{"uid":"0f41cae3-36"},{"uid":"0f41cae3-30"}]},"0f41cae3-6":{"id":"D:/a/1/s/packages/reactjs/src/contexts/cameraStore.ts","moduleParts":{"index.js":"0f41cae3-7"},"imported":[{"uid":"0f41cae3-48"},{"uid":"0f41cae3-45"}],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"},{"uid":"0f41cae3-8"},{"uid":"0f41cae3-34"},{"uid":"0f41cae3-36"}]},"0f41cae3-8":{"id":"D:/a/1/s/packages/reactjs/src/contexts/headStore.ts","moduleParts":{"index.js":"0f41cae3-9"},"imported":[{"uid":"0f41cae3-48"},{"uid":"0f41cae3-4"},{"uid":"0f41cae3-6"}],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"},{"uid":"0f41cae3-34"},{"uid":"0f41cae3-36"}]},"0f41cae3-10":{"id":"D:/a/1/s/packages/reactjs/src/contexts/animationStore.ts","moduleParts":{"index.js":"0f41cae3-11"},"imported":[{"uid":"0f41cae3-48"},{"uid":"0f41cae3-4"}],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"}]},"0f41cae3-12":{"id":"D:/a/1/s/packages/reactjs/src/models/enums.ts","moduleParts":{"index.js":"0f41cae3-13"},"imported":[],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"},{"uid":"0f41cae3-40"},{"uid":"0f41cae3-14"},{"uid":"0f41cae3-18"}]},"0f41cae3-14":{"id":"D:/a/1/s/packages/reactjs/src/models/constants.ts","moduleParts":{"index.js":"0f41cae3-15"},"imported":[{"uid":"0f41cae3-12"}],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-16"},{"uid":"0f41cae3-30"}]},"0f41cae3-16":{"id":"D:/a/1/s/packages/reactjs/src/contexts/speechStore.ts","moduleParts":{"index.js":"0f41cae3-17"},"imported":[{"uid":"0f41cae3-48"},{"uid":"0f41cae3-4"},{"uid":"0f41cae3-14"}],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"},{"uid":"0f41cae3-30"}]},"0f41cae3-18":{"id":"D:/a/1/s/packages/reactjs/src/utils/getCameraPositionVector.ts","moduleParts":{"index.js":"0f41cae3-19"},"imported":[{"uid":"0f41cae3-45"},{"uid":"0f41cae3-12"}],"importedBy":[{"uid":"0f41cae3-38"}]},"0f41cae3-20":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/TRAANode.js","moduleParts":{"index.js":"0f41cae3-21"},"imported":[{"uid":"0f41cae3-45"},{"uid":"0f41cae3-49"}],"importedBy":[{"uid":"0f41cae3-28"}]},"0f41cae3-22":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/SSGINode.js","moduleParts":{"index.js":"0f41cae3-23"},"imported":[{"uid":"0f41cae3-45"},{"uid":"0f41cae3-49"}],"importedBy":[{"uid":"0f41cae3-28"}]},"0f41cae3-24":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/DenoiseNode.js","moduleParts":{"index.js":"0f41cae3-25"},"imported":[{"uid":"0f41cae3-45"},{"uid":"0f41cae3-49"},{"uid":"0f41cae3-53"}],"importedBy":[{"uid":"0f41cae3-28"}]},"0f41cae3-26":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/CASNode.js","moduleParts":{"index.js":"0f41cae3-27"},"imported":[{"uid":"0f41cae3-45"},{"uid":"0f41cae3-49"}],"importedBy":[{"uid":"0f41cae3-28"}]},"0f41cae3-28":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/pipelines.ts","moduleParts":{"index.js":"0f41cae3-29"},"imported":[{"uid":"0f41cae3-45"},{"uid":"0f41cae3-49"},{"uid":"0f41cae3-44"},{"uid":"0f41cae3-20"},{"uid":"0f41cae3-22"},{"uid":"0f41cae3-24"},{"uid":"0f41cae3-26"}],"importedBy":[{"uid":"0f41cae3-34"}]},"0f41cae3-30":{"id":"D:/a/1/s/packages/reactjs/src/components/SpeechManager.tsx","moduleParts":{"index.js":"0f41cae3-31"},"imported":[{"uid":"0f41cae3-46"},{"uid":"0f41cae3-16"},{"uid":"0f41cae3-4"},{"uid":"0f41cae3-52"},{"uid":"0f41cae3-14"},{"uid":"0f41cae3-44"}],"importedBy":[{"uid":"0f41cae3-34"}]},"0f41cae3-32":{"id":"D:/a/1/s/packages/reactjs/src/components/HorizontalLine.tsx","moduleParts":{"index.js":"0f41cae3-33"},"imported":[{"uid":"0f41cae3-46"},{"uid":"0f41cae3-45"}],"importedBy":[{"uid":"0f41cae3-34"}]},"0f41cae3-34":{"id":"D:/a/1/s/packages/reactjs/src/components/Scene.tsx","moduleParts":{"index.js":"0f41cae3-35"},"imported":[{"uid":"0f41cae3-46"},{"uid":"0f41cae3-45"},{"uid":"0f41cae3-49"},{"uid":"0f41cae3-28"},{"uid":"0f41cae3-47"},{"uid":"0f41cae3-50"},{"uid":"0f41cae3-6"},{"uid":"0f41cae3-8"},{"uid":"0f41cae3-30"},{"uid":"0f41cae3-32"},{"uid":"0f41cae3-51","dynamic":true}],"importedBy":[{"uid":"0f41cae3-38"}]},"0f41cae3-36":{"id":"D:/a/1/s/packages/reactjs/src/components/Controllers/CharacterController.ts","moduleParts":{"index.js":"0f41cae3-37"},"imported":[{"uid":"0f41cae3-46"},{"uid":"0f41cae3-4"},{"uid":"0f41cae3-44"},{"uid":"0f41cae3-50"},{"uid":"0f41cae3-8"},{"uid":"0f41cae3-6"}],"importedBy":[{"uid":"0f41cae3-38"}]},"0f41cae3-38":{"id":"D:/a/1/s/packages/reactjs/src/components/Character.tsx","moduleParts":{"index.js":"0f41cae3-39"},"imported":[{"uid":"0f41cae3-46"},{"uid":"0f41cae3-45"},{"uid":"0f41cae3-44"},{"uid":"0f41cae3-47"},{"uid":"0f41cae3-8"},{"uid":"0f41cae3-4"},{"uid":"0f41cae3-10"},{"uid":"0f41cae3-6"},{"uid":"0f41cae3-16"},{"uid":"0f41cae3-12"},{"uid":"0f41cae3-18"},{"uid":"0f41cae3-34"},{"uid":"0f41cae3-36"}],"importedBy":[{"uid":"0f41cae3-42"}]},"0f41cae3-40":{"id":"D:/a/1/s/packages/reactjs/src/contexts/emotionStore.ts","moduleParts":{"index.js":"0f41cae3-41"},"imported":[{"uid":"0f41cae3-48"},{"uid":"0f41cae3-12"},{"uid":"0f41cae3-4"}],"importedBy":[{"uid":"0f41cae3-42"}]},"0f41cae3-42":{"id":"D:/a/1/s/packages/reactjs/src/index.ts","moduleParts":{"index.js":"0f41cae3-43"},"imported":[{"uid":"0f41cae3-38"},{"uid":"0f41cae3-4"},{"uid":"0f41cae3-16"},{"uid":"0f41cae3-6"},{"uid":"0f41cae3-8"},{"uid":"0f41cae3-40"},{"uid":"0f41cae3-10"},{"uid":"0f41cae3-44"},{"uid":"0f41cae3-12"},{"uid":"0f41cae3-14"},{"uid":"0f41cae3-45"}],"importedBy":[],"isEntry":true},"0f41cae3-44":{"id":"@davi-ai/bodyengine-three","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"},{"uid":"0f41cae3-4"},{"uid":"0f41cae3-36"},{"uid":"0f41cae3-28"},{"uid":"0f41cae3-30"}],"isExternal":true},"0f41cae3-45":{"id":"three/webgpu","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-42"},{"uid":"0f41cae3-38"},{"uid":"0f41cae3-6"},{"uid":"0f41cae3-18"},{"uid":"0f41cae3-34"},{"uid":"0f41cae3-28"},{"uid":"0f41cae3-32"},{"uid":"0f41cae3-20"},{"uid":"0f41cae3-22"},{"uid":"0f41cae3-24"},{"uid":"0f41cae3-26"}],"isExternal":true},"0f41cae3-46":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-38"},{"uid":"0f41cae3-34"},{"uid":"0f41cae3-36"},{"uid":"0f41cae3-30"},{"uid":"0f41cae3-32"},{"uid":"0f41cae3-2"}],"isExternal":true},"0f41cae3-47":{"id":"@react-three/drei","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-38"},{"uid":"0f41cae3-34"}],"isExternal":true},"0f41cae3-48":{"id":"D:/a/1/s/packages/reactjs/node_modules/zustand/esm/index.mjs","moduleParts":{},"imported":[{"uid":"0f41cae3-0"},{"uid":"0f41cae3-2"}],"importedBy":[{"uid":"0f41cae3-4"},{"uid":"0f41cae3-16"},{"uid":"0f41cae3-6"},{"uid":"0f41cae3-8"},{"uid":"0f41cae3-40"},{"uid":"0f41cae3-10"}]},"0f41cae3-49":{"id":"three/tsl","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-34"},{"uid":"0f41cae3-28"},{"uid":"0f41cae3-20"},{"uid":"0f41cae3-22"},{"uid":"0f41cae3-24"},{"uid":"0f41cae3-26"}],"isExternal":true},"0f41cae3-50":{"id":"@react-three/fiber","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-34"},{"uid":"0f41cae3-36"}],"isExternal":true},"0f41cae3-51":{"id":"three/addons/inspector/Inspector.js","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-34"}],"isExternal":true},"0f41cae3-52":{"id":"@davi-ai/web-speech-cognitive-services-davi","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-30"}],"isExternal":true},"0f41cae3-53":{"id":"three/examples/jsm/math/SimplexNoise.js","moduleParts":{},"imported":[],"importedBy":[{"uid":"0f41cae3-24"}],"isExternal":true}},"env":{"rollup":"4.63.5"},"options":{"gzip":true,"brotli":true,"sourcemap":false}};
4932
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.js","children":[{"name":"D:/a/1/s/packages/reactjs","children":[{"name":"node_modules/zustand/esm","children":[{"uid":"7f9b80b9-1","name":"vanilla.mjs"},{"uid":"7f9b80b9-3","name":"react.mjs"}]},{"name":"src","children":[{"name":"contexts","children":[{"uid":"7f9b80b9-5","name":"characterStore.ts"},{"uid":"7f9b80b9-7","name":"cameraStore.ts"},{"uid":"7f9b80b9-9","name":"headStore.ts"},{"uid":"7f9b80b9-11","name":"animationStore.ts"},{"uid":"7f9b80b9-17","name":"speechStore.ts"},{"uid":"7f9b80b9-41","name":"emotionStore.ts"}]},{"name":"models","children":[{"uid":"7f9b80b9-13","name":"enums.ts"},{"uid":"7f9b80b9-15","name":"constants.ts"}]},{"name":"utils/getCameraPositionVector.ts","uid":"7f9b80b9-19"},{"name":"components","children":[{"name":"PostProcessing","children":[{"uid":"7f9b80b9-21","name":"TRAANode.js"},{"uid":"7f9b80b9-23","name":"SSGINode.js"},{"uid":"7f9b80b9-25","name":"DenoiseNode.js"},{"uid":"7f9b80b9-27","name":"CASNode.js"},{"uid":"7f9b80b9-29","name":"pipelines.ts"}]},{"uid":"7f9b80b9-31","name":"SpeechManager.tsx"},{"uid":"7f9b80b9-33","name":"HorizontalLine.tsx"},{"uid":"7f9b80b9-35","name":"Scene.tsx"},{"name":"Controllers/CharacterController.ts","uid":"7f9b80b9-37"},{"uid":"7f9b80b9-39","name":"Character.tsx"}]},{"uid":"7f9b80b9-43","name":"index.ts"}]}]}]}],"isRoot":true},"nodeParts":{"7f9b80b9-1":{"renderedLength":975,"gzipLength":394,"brotliLength":353,"metaUid":"7f9b80b9-0"},"7f9b80b9-3":{"renderedLength":593,"gzipLength":285,"brotliLength":235,"metaUid":"7f9b80b9-2"},"7f9b80b9-5":{"renderedLength":2066,"gzipLength":439,"brotliLength":380,"metaUid":"7f9b80b9-4"},"7f9b80b9-7":{"renderedLength":1028,"gzipLength":293,"brotliLength":249,"metaUid":"7f9b80b9-6"},"7f9b80b9-9":{"renderedLength":1154,"gzipLength":359,"brotliLength":315,"metaUid":"7f9b80b9-8"},"7f9b80b9-11":{"renderedLength":854,"gzipLength":308,"brotliLength":274,"metaUid":"7f9b80b9-10"},"7f9b80b9-13":{"renderedLength":2645,"gzipLength":700,"brotliLength":620,"metaUid":"7f9b80b9-12"},"7f9b80b9-15":{"renderedLength":2774,"gzipLength":852,"brotliLength":740,"metaUid":"7f9b80b9-14"},"7f9b80b9-17":{"renderedLength":2675,"gzipLength":668,"brotliLength":633,"metaUid":"7f9b80b9-16"},"7f9b80b9-19":{"renderedLength":2356,"gzipLength":571,"brotliLength":491,"metaUid":"7f9b80b9-18"},"7f9b80b9-21":{"renderedLength":28077,"gzipLength":7145,"brotliLength":6234,"metaUid":"7f9b80b9-20"},"7f9b80b9-23":{"renderedLength":25103,"gzipLength":6860,"brotliLength":5937,"metaUid":"7f9b80b9-22"},"7f9b80b9-25":{"renderedLength":9917,"gzipLength":3018,"brotliLength":2626,"metaUid":"7f9b80b9-24"},"7f9b80b9-27":{"renderedLength":5776,"gzipLength":2316,"brotliLength":2006,"metaUid":"7f9b80b9-26"},"7f9b80b9-29":{"renderedLength":4516,"gzipLength":1512,"brotliLength":1368,"metaUid":"7f9b80b9-28"},"7f9b80b9-31":{"renderedLength":5139,"gzipLength":1153,"brotliLength":1063,"metaUid":"7f9b80b9-30"},"7f9b80b9-33":{"renderedLength":383,"gzipLength":251,"brotliLength":209,"metaUid":"7f9b80b9-32"},"7f9b80b9-35":{"renderedLength":10653,"gzipLength":3076,"brotliLength":2718,"metaUid":"7f9b80b9-34"},"7f9b80b9-37":{"renderedLength":1366,"gzipLength":442,"brotliLength":408,"metaUid":"7f9b80b9-36"},"7f9b80b9-39":{"renderedLength":7070,"gzipLength":1850,"brotliLength":1651,"metaUid":"7f9b80b9-38"},"7f9b80b9-41":{"renderedLength":949,"gzipLength":361,"brotliLength":320,"metaUid":"7f9b80b9-40"},"7f9b80b9-43":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"7f9b80b9-42"}},"nodeMetas":{"7f9b80b9-0":{"id":"D:/a/1/s/packages/reactjs/node_modules/zustand/esm/vanilla.mjs","moduleParts":{"index.js":"7f9b80b9-1"},"imported":[],"importedBy":[{"uid":"7f9b80b9-48"},{"uid":"7f9b80b9-2"}]},"7f9b80b9-2":{"id":"D:/a/1/s/packages/reactjs/node_modules/zustand/esm/react.mjs","moduleParts":{"index.js":"7f9b80b9-3"},"imported":[{"uid":"7f9b80b9-46"},{"uid":"7f9b80b9-0"}],"importedBy":[{"uid":"7f9b80b9-48"}]},"7f9b80b9-4":{"id":"D:/a/1/s/packages/reactjs/src/contexts/characterStore.ts","moduleParts":{"index.js":"7f9b80b9-5"},"imported":[{"uid":"7f9b80b9-48"},{"uid":"7f9b80b9-44"}],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-16"},{"uid":"7f9b80b9-8"},{"uid":"7f9b80b9-40"},{"uid":"7f9b80b9-10"},{"uid":"7f9b80b9-36"},{"uid":"7f9b80b9-30"}]},"7f9b80b9-6":{"id":"D:/a/1/s/packages/reactjs/src/contexts/cameraStore.ts","moduleParts":{"index.js":"7f9b80b9-7"},"imported":[{"uid":"7f9b80b9-48"},{"uid":"7f9b80b9-45"}],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-8"},{"uid":"7f9b80b9-34"},{"uid":"7f9b80b9-36"}]},"7f9b80b9-8":{"id":"D:/a/1/s/packages/reactjs/src/contexts/headStore.ts","moduleParts":{"index.js":"7f9b80b9-9"},"imported":[{"uid":"7f9b80b9-48"},{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-6"}],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-34"},{"uid":"7f9b80b9-36"}]},"7f9b80b9-10":{"id":"D:/a/1/s/packages/reactjs/src/contexts/animationStore.ts","moduleParts":{"index.js":"7f9b80b9-11"},"imported":[{"uid":"7f9b80b9-48"},{"uid":"7f9b80b9-4"}],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"}]},"7f9b80b9-12":{"id":"D:/a/1/s/packages/reactjs/src/models/enums.ts","moduleParts":{"index.js":"7f9b80b9-13"},"imported":[],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-40"},{"uid":"7f9b80b9-14"},{"uid":"7f9b80b9-18"}]},"7f9b80b9-14":{"id":"D:/a/1/s/packages/reactjs/src/models/constants.ts","moduleParts":{"index.js":"7f9b80b9-15"},"imported":[{"uid":"7f9b80b9-12"}],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-16"},{"uid":"7f9b80b9-30"}]},"7f9b80b9-16":{"id":"D:/a/1/s/packages/reactjs/src/contexts/speechStore.ts","moduleParts":{"index.js":"7f9b80b9-17"},"imported":[{"uid":"7f9b80b9-48"},{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-14"}],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-30"}]},"7f9b80b9-18":{"id":"D:/a/1/s/packages/reactjs/src/utils/getCameraPositionVector.ts","moduleParts":{"index.js":"7f9b80b9-19"},"imported":[{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-12"}],"importedBy":[{"uid":"7f9b80b9-38"}]},"7f9b80b9-20":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/TRAANode.js","moduleParts":{"index.js":"7f9b80b9-21"},"imported":[{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-49"}],"importedBy":[{"uid":"7f9b80b9-28"}]},"7f9b80b9-22":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/SSGINode.js","moduleParts":{"index.js":"7f9b80b9-23"},"imported":[{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-49"}],"importedBy":[{"uid":"7f9b80b9-28"}]},"7f9b80b9-24":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/DenoiseNode.js","moduleParts":{"index.js":"7f9b80b9-25"},"imported":[{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-49"},{"uid":"7f9b80b9-53"}],"importedBy":[{"uid":"7f9b80b9-28"}]},"7f9b80b9-26":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/CASNode.js","moduleParts":{"index.js":"7f9b80b9-27"},"imported":[{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-49"}],"importedBy":[{"uid":"7f9b80b9-28"}]},"7f9b80b9-28":{"id":"D:/a/1/s/packages/reactjs/src/components/PostProcessing/pipelines.ts","moduleParts":{"index.js":"7f9b80b9-29"},"imported":[{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-49"},{"uid":"7f9b80b9-44"},{"uid":"7f9b80b9-20"},{"uid":"7f9b80b9-22"},{"uid":"7f9b80b9-24"},{"uid":"7f9b80b9-26"}],"importedBy":[{"uid":"7f9b80b9-34"}]},"7f9b80b9-30":{"id":"D:/a/1/s/packages/reactjs/src/components/SpeechManager.tsx","moduleParts":{"index.js":"7f9b80b9-31"},"imported":[{"uid":"7f9b80b9-46"},{"uid":"7f9b80b9-16"},{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-52"},{"uid":"7f9b80b9-14"},{"uid":"7f9b80b9-44"}],"importedBy":[{"uid":"7f9b80b9-34"}]},"7f9b80b9-32":{"id":"D:/a/1/s/packages/reactjs/src/components/HorizontalLine.tsx","moduleParts":{"index.js":"7f9b80b9-33"},"imported":[{"uid":"7f9b80b9-46"},{"uid":"7f9b80b9-45"}],"importedBy":[{"uid":"7f9b80b9-34"}]},"7f9b80b9-34":{"id":"D:/a/1/s/packages/reactjs/src/components/Scene.tsx","moduleParts":{"index.js":"7f9b80b9-35"},"imported":[{"uid":"7f9b80b9-46"},{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-49"},{"uid":"7f9b80b9-28"},{"uid":"7f9b80b9-47"},{"uid":"7f9b80b9-50"},{"uid":"7f9b80b9-6"},{"uid":"7f9b80b9-8"},{"uid":"7f9b80b9-30"},{"uid":"7f9b80b9-32"},{"uid":"7f9b80b9-51","dynamic":true}],"importedBy":[{"uid":"7f9b80b9-38"}]},"7f9b80b9-36":{"id":"D:/a/1/s/packages/reactjs/src/components/Controllers/CharacterController.ts","moduleParts":{"index.js":"7f9b80b9-37"},"imported":[{"uid":"7f9b80b9-46"},{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-44"},{"uid":"7f9b80b9-50"},{"uid":"7f9b80b9-8"},{"uid":"7f9b80b9-6"}],"importedBy":[{"uid":"7f9b80b9-38"}]},"7f9b80b9-38":{"id":"D:/a/1/s/packages/reactjs/src/components/Character.tsx","moduleParts":{"index.js":"7f9b80b9-39"},"imported":[{"uid":"7f9b80b9-46"},{"uid":"7f9b80b9-45"},{"uid":"7f9b80b9-44"},{"uid":"7f9b80b9-47"},{"uid":"7f9b80b9-8"},{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-10"},{"uid":"7f9b80b9-6"},{"uid":"7f9b80b9-16"},{"uid":"7f9b80b9-12"},{"uid":"7f9b80b9-18"},{"uid":"7f9b80b9-34"},{"uid":"7f9b80b9-36"}],"importedBy":[{"uid":"7f9b80b9-42"}]},"7f9b80b9-40":{"id":"D:/a/1/s/packages/reactjs/src/contexts/emotionStore.ts","moduleParts":{"index.js":"7f9b80b9-41"},"imported":[{"uid":"7f9b80b9-48"},{"uid":"7f9b80b9-12"},{"uid":"7f9b80b9-4"}],"importedBy":[{"uid":"7f9b80b9-42"}]},"7f9b80b9-42":{"id":"D:/a/1/s/packages/reactjs/src/index.ts","moduleParts":{"index.js":"7f9b80b9-43"},"imported":[{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-16"},{"uid":"7f9b80b9-6"},{"uid":"7f9b80b9-8"},{"uid":"7f9b80b9-40"},{"uid":"7f9b80b9-10"},{"uid":"7f9b80b9-44"},{"uid":"7f9b80b9-12"},{"uid":"7f9b80b9-14"},{"uid":"7f9b80b9-45"}],"importedBy":[],"isEntry":true},"7f9b80b9-44":{"id":"@davi-ai/bodyengine-three","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-36"},{"uid":"7f9b80b9-28"},{"uid":"7f9b80b9-30"}],"isExternal":true},"7f9b80b9-45":{"id":"three/webgpu","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-42"},{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-6"},{"uid":"7f9b80b9-18"},{"uid":"7f9b80b9-34"},{"uid":"7f9b80b9-28"},{"uid":"7f9b80b9-32"},{"uid":"7f9b80b9-20"},{"uid":"7f9b80b9-22"},{"uid":"7f9b80b9-24"},{"uid":"7f9b80b9-26"}],"isExternal":true},"7f9b80b9-46":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-34"},{"uid":"7f9b80b9-36"},{"uid":"7f9b80b9-30"},{"uid":"7f9b80b9-32"},{"uid":"7f9b80b9-2"}],"isExternal":true},"7f9b80b9-47":{"id":"@react-three/drei","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-38"},{"uid":"7f9b80b9-34"}],"isExternal":true},"7f9b80b9-48":{"id":"D:/a/1/s/packages/reactjs/node_modules/zustand/esm/index.mjs","moduleParts":{},"imported":[{"uid":"7f9b80b9-0"},{"uid":"7f9b80b9-2"}],"importedBy":[{"uid":"7f9b80b9-4"},{"uid":"7f9b80b9-16"},{"uid":"7f9b80b9-6"},{"uid":"7f9b80b9-8"},{"uid":"7f9b80b9-40"},{"uid":"7f9b80b9-10"}]},"7f9b80b9-49":{"id":"three/tsl","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-34"},{"uid":"7f9b80b9-28"},{"uid":"7f9b80b9-20"},{"uid":"7f9b80b9-22"},{"uid":"7f9b80b9-24"},{"uid":"7f9b80b9-26"}],"isExternal":true},"7f9b80b9-50":{"id":"@react-three/fiber","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-34"},{"uid":"7f9b80b9-36"}],"isExternal":true},"7f9b80b9-51":{"id":"three/addons/inspector/Inspector.js","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-34"}],"isExternal":true},"7f9b80b9-52":{"id":"@davi-ai/web-speech-cognitive-services-davi","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-30"}],"isExternal":true},"7f9b80b9-53":{"id":"three/examples/jsm/math/SimplexNoise.js","moduleParts":{},"imported":[],"importedBy":[{"uid":"7f9b80b9-24"}],"isExternal":true}},"env":{"rollup":"4.63.5"},"options":{"gzip":true,"brotli":true,"sourcemap":false}};
4933
4933
 
4934
4934
  const run = () => {
4935
4935
  const width = window.innerWidth;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davi-ai/react-bodyengine-three",
3
- "version": "1.0.32",
3
+ "version": "1.0.33",
4
4
  "description": "Reactjs layer to use animations in a threejs environment",
5
5
  "author": "DAVI",
6
6
  "licence": "MIT",
@@ -22,7 +22,7 @@
22
22
  "build": "vite build"
23
23
  },
24
24
  "dependencies": {
25
- "@davi-ai/bodyengine-three": "^1.0.21",
25
+ "@davi-ai/bodyengine-three": "^1.0.22",
26
26
  "@davi-ai/web-speech-cognitive-services-davi": "^3.0.1",
27
27
  "@react-three/drei": "^10.0.0",
28
28
  "@react-three/fiber": "^9.0.0",