@takram/three-geospatial-effects 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.2] - 2025-06-12
4
+
5
+ ### Changed
6
+
7
+ - Removed the use of `forwardRef` and added it in props.
8
+ - Updated dependencies.
9
+
3
10
  ## [0.3.1] - 2025-05-23
4
11
 
5
12
  ### Fixed
package/build/r3f.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("@react-three/postprocessing"),m=require("./shared.cjs"),b=require("react/jsx-runtime"),O=require("@react-three/fiber"),i=require("postprocessing"),t=require("react"),R=require("three"),k=require("@takram/three-geospatial"),z=require("@takram/three-geospatial/shaders"),H=v.wrapEffect(m.DepthEffect),V=v.wrapEffect(m.DitheringEffect);function D(d){return(d.getAttributes()&i.EffectAttribute.CONVOLUTION)===i.EffectAttribute.CONVOLUTION}const $=t.forwardRef(function({children:o,camera:a,scene:s,enabled:f=!0,renderPriority:r=1,autoClear:c=!0,resolutionScale:g,depthBuffer:h,stencilBuffer:P=!1,multisampling:w=8,frameBufferType:N=R.HalfFloatType},A){const u=O.useThree(({gl:e})=>e),q=O.useThree(({scene:e})=>e),G=O.useThree(({camera:e})=>e),y=s??q,E=a??G,[n,j]=t.useMemo(()=>{const e=new i.EffectComposer(u,{depthBuffer:h,stencilBuffer:P,multisampling:w,frameBufferType:N}),l=new m.GeometryPass(e.inputBuffer,y,E);return e.addPass(l),[e,l]},[u,y,E,h,P,w,N]),U=O.useThree(({size:e})=>e);t.useEffect(()=>{n==null||n.setSize(U.width,U.height)},[n,U]),O.useFrame((e,l)=>{if(f){const x=u.autoClear;u.autoClear=c,P&&!c&&u.clearStencil(),n.render(l),u.autoClear=x}},f?r:0);const B=t.useRef(null);t.useLayoutEffect(()=>{var x,F;const e=[],l=(x=B.current)==null?void 0:x.__r3f;if(l!=null&&n!=null){const T=l.children;for(let p=0;p<T.length;++p){const C=T[p].object;if(C instanceof i.Effect){const L=[C];if(!D(C)){let M=null;for(;(M=(F=T[p+1])==null?void 0:F.object)instanceof i.Effect&&!D(M);)L.push(M),++p}const I=new i.EffectPass(E,...L);e.push(I)}else C instanceof i.Pass&&e.push(C)}for(const p of e)n==null||n.addPass(p)}return()=>{for(const T of e)n==null||n.removePass(T)}},[n,o,E]),t.useEffect(()=>{const e=u.toneMapping;return u.toneMapping=R.NoToneMapping,()=>{u.toneMapping=e}},[u]);const S=t.useMemo(()=>({composer:n,camera:E,scene:y,geometryPass:j,normalPass:null,downSamplingPass:null,resolutionScale:g}),[n,E,y,j,g]);return t.useImperativeHandle(A,()=>n,[n]),b.jsx(v.EffectComposerContext.Provider,{value:S,children:b.jsx("group",{ref:B,children:o})})}),J=`#include "core/packing"
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("@react-three/postprocessing"),m=require("./shared.cjs"),O=require("react/jsx-runtime"),C=require("@react-three/fiber"),c=require("postprocessing"),r=require("react"),M=require("three"),I=require("@takram/three-geospatial"),k=require("@takram/three-geospatial/shaders"),z=b.wrapEffect(m.DepthEffect),H=b.wrapEffect(m.DitheringEffect);function L(s){return(s.getAttributes()&c.EffectAttribute.CONVOLUTION)===c.EffectAttribute.CONVOLUTION}const V=({ref:s,children:o,camera:f,scene:i,enabled:e=!0,renderPriority:a=1,autoClear:g=!0,resolutionScale:d,depthBuffer:N,stencilBuffer:y=!1,multisampling:R=8,frameBufferType:j=M.HalfFloatType})=>{const u=C.useThree(({gl:t})=>t),A=C.useThree(({scene:t})=>t),q=C.useThree(({camera:t})=>t),v=i??A,h=f??q,[n,w]=r.useMemo(()=>{const t=new c.EffectComposer(u,{depthBuffer:N,stencilBuffer:y,multisampling:R,frameBufferType:j}),l=new m.GeometryPass(t.inputBuffer,v,h);return t.addPass(l),[t,l]},[u,v,h,N,y,R,j]),P=C.useThree(({size:t})=>t);r.useEffect(()=>{n==null||n.setSize(P.width,P.height)},[n,P]),C.useFrame((t,l)=>{if(e){const x=u.autoClear;u.autoClear=g,y&&!g&&u.clearStencil(),n.render(l),u.autoClear=x}},e?a:0);const B=r.useRef(null);r.useLayoutEffect(()=>{var x,F;const t=[],l=(x=B.current)==null?void 0:x.__r3f;if(l!=null&&n!=null){const E=l.children;for(let p=0;p<E.length;++p){const T=E[p].object;if(T instanceof c.Effect){const D=[T];if(!L(T)){let U=null;for(;(U=(F=E[p+1])==null?void 0:F.object)instanceof c.Effect&&!L(U);)D.push(U),++p}const G=new c.EffectPass(h,...D);t.push(G)}else T instanceof c.Pass&&t.push(T)}for(const p of t)n==null||n.addPass(p)}return()=>{for(const E of t)n==null||n.removePass(E)}},[n,o,h]),r.useEffect(()=>{const t=u.toneMapping;return u.toneMapping=M.NoToneMapping,()=>{u.toneMapping=t}},[u]);const S=r.useMemo(()=>({composer:n,camera:h,scene:v,geometryPass:w,normalPass:null,downSamplingPass:null,resolutionScale:d}),[n,h,v,w,d]);return r.useImperativeHandle(s,()=>n,[n]),O.jsx(b.EffectComposerContext.Provider,{value:S,children:O.jsx("group",{ref:B,children:o})})},$=`#include "core/packing"
2
2
 
3
3
  uniform sampler2D geometryBuffer;
4
4
 
@@ -17,5 +17,5 @@ void mainImage(const vec4 inputColor, const vec2 uv, out vec4 outputColor) {
17
17
  );
18
18
  #endif // OUTPUT_PBR
19
19
  }
20
- `,_={blendFunction:i.BlendFunction.SRC,output:"normal"};class K extends i.Effect{constructor(o){const{blendFunction:a,geometryBuffer:s=null,output:f}={..._,...o};super("GeometryEffect",k.resolveIncludes(J,{core:{packing:z.packing}}),{blendFunction:a,attributes:i.EffectAttribute.DEPTH,uniforms:new Map(Object.entries({geometryBuffer:new R.Uniform(s)}))}),this.output=f}get geometryBuffer(){return this.uniforms.get("geometryBuffer").value}set geometryBuffer(o){this.uniforms.get("geometryBuffer").value=o}get output(){return this.defines.has("OUTPUT_NORMAL")?"normal":"pbr"}set output(o){o!==this.output&&(o==="normal"?this.defines.set("OUTPUT_NORMAL","1"):this.defines.delete("OUTPUT_NORMAL"),o==="pbr"?this.defines.set("OUTPUT_PBR","1"):this.defines.delete("OUTPUT_PBR"),this.setChanged())}}const Q=t.forwardRef(function(o,a){const{blendFunction:s,...f}={..._,...o},{geometryPass:r}=t.useContext(v.EffectComposerContext),c=t.useMemo(()=>new K({blendFunction:s}),[s]);return t.useEffect(()=>()=>{c.dispose()},[c]),b.jsx("primitive",{ref:a,object:c,geometryBuffer:r==null?void 0:r.geometryTexture,...f})}),W=t.forwardRef(function(o,a){const{blendFunction:s,...f}={...m.lensFlareEffectOptionsDefaults,...o},r=t.useMemo(()=>new m.LensFlareEffect,[]);return t.useEffect(()=>()=>{r.dispose()},[r]),b.jsx("primitive",{ref:a,object:r,...f})}),X=t.forwardRef(function(o,a){const{blendFunction:s,...f}={...m.normalEffectOptionsDefaults,...o},{geometryPass:r,normalPass:c,camera:g}=t.useContext(v.EffectComposerContext),h=t.useMemo(()=>new m.NormalEffect(g,{blendFunction:s}),[g,s]);return t.useEffect(()=>()=>{h.dispose()},[h]),b.jsx("primitive",{ref:a,object:h,mainCamera:g,normalBuffer:(r==null?void 0:r.geometryTexture)??(c==null?void 0:c.texture)??null,...f,octEncoded:(r==null?void 0:r.geometryTexture)!=null})});exports.Depth=H;exports.Dithering=V;exports.EffectComposer=$;exports.Geometry=Q;exports.LensFlare=W;exports.Normal=X;
20
+ `,_={blendFunction:c.BlendFunction.SRC,output:"normal"};class J extends c.Effect{constructor(o){const{blendFunction:f,geometryBuffer:i=null,output:e}={..._,...o};super("GeometryEffect",I.resolveIncludes($,{core:{packing:k.packing}}),{blendFunction:f,attributes:c.EffectAttribute.DEPTH,uniforms:new Map(Object.entries({geometryBuffer:new M.Uniform(i)}))}),this.output=e}get geometryBuffer(){return this.uniforms.get("geometryBuffer").value}set geometryBuffer(o){this.uniforms.get("geometryBuffer").value=o}get output(){return this.defines.has("OUTPUT_NORMAL")?"normal":"pbr"}set output(o){o!==this.output&&(o==="normal"?this.defines.set("OUTPUT_NORMAL","1"):this.defines.delete("OUTPUT_NORMAL"),o==="pbr"?this.defines.set("OUTPUT_PBR","1"):this.defines.delete("OUTPUT_PBR"),this.setChanged())}}const K=({ref:s,...o})=>{const{blendFunction:f,...i}={..._,...o},{geometryPass:e}=r.useContext(b.EffectComposerContext),a=r.useMemo(()=>new J({blendFunction:f}),[f]);return r.useEffect(()=>()=>{a.dispose()},[a]),O.jsx("primitive",{ref:s,object:a,geometryBuffer:e==null?void 0:e.geometryTexture,...i})},Q=({ref:s,...o})=>{const{blendFunction:f,...i}={...m.lensFlareEffectOptionsDefaults,...o},e=r.useMemo(()=>new m.LensFlareEffect,[]);return r.useEffect(()=>()=>{e.dispose()},[e]),O.jsx("primitive",{ref:s,object:e,...i})},W=({ref:s,...o})=>{const{blendFunction:f,...i}={...m.normalEffectOptionsDefaults,...o},{geometryPass:e,normalPass:a,camera:g}=r.useContext(b.EffectComposerContext),d=r.useMemo(()=>new m.NormalEffect(g,{blendFunction:f}),[g,f]);return r.useEffect(()=>()=>{d.dispose()},[d]),O.jsx("primitive",{ref:s,object:d,mainCamera:g,normalBuffer:(e==null?void 0:e.geometryTexture)??(a==null?void 0:a.texture)??null,...i,octEncoded:(e==null?void 0:e.geometryTexture)!=null})};exports.Depth=z;exports.Dithering=H;exports.EffectComposer=V;exports.Geometry=K;exports.LensFlare=Q;exports.Normal=W;
21
21
  //# sourceMappingURL=r3f.cjs.map
package/build/r3f.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"r3f.cjs","sources":["../src/r3f/Depth.tsx","../src/r3f/Dithering.tsx","../src/r3f/EffectComposer.tsx","../src/shaders/geometryEffect.frag?raw","../src/GeometryEffect.ts","../src/r3f/Geometry.tsx","../src/r3f/LensFlare.tsx","../src/r3f/Normal.tsx"],"sourcesContent":null,"names":["Depth","wrapEffect","DepthEffect","Dithering","DitheringEffect","isConvolution","effect","EffectAttribute","EffectComposer","forwardRef","children","cameraProp","sceneProp","enabled","renderPriority","autoClear","resolutionScale","depthBuffer","stencilBuffer","multisampling","frameBufferType","HalfFloatType","forwardedRef","gl","useThree","defaultScene","scene","defaultCamera","camera","composer","geometryPass","useMemo","EffectComposerImpl","GeometryPass","size","useEffect","useFrame","state","delta","currentAutoClear","group","useRef","useLayoutEffect","passes","groupInstance","_a","i","child","Effect","effects","next","pass","EffectPass","Pass","currentToneMapping","NoToneMapping","context","useImperativeHandle","jsx","EffectComposerContext","fragmentShader","geometryEffectOptionsDefaults","BlendFunction","GeometryEffect","options","blendFunction","geometryBuffer","output","resolveIncludes","packing","Uniform","value","Geometry","props","others","useContext","LensFlare","lensFlareEffectOptionsDefaults","LensFlareEffect","Normal","normalEffectOptionsDefaults","normalPass","NormalEffect"],"mappings":"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"}
1
+ {"version":3,"file":"r3f.cjs","sources":["../src/r3f/Depth.tsx","../src/r3f/Dithering.tsx","../src/r3f/EffectComposer.tsx","../src/shaders/geometryEffect.frag?raw","../src/GeometryEffect.ts","../src/r3f/Geometry.tsx","../src/r3f/LensFlare.tsx","../src/r3f/Normal.tsx"],"sourcesContent":null,"names":["Depth","wrapEffect","DepthEffect","Dithering","DitheringEffect","isConvolution","effect","EffectAttribute","EffectComposer","forwardedRef","children","cameraProp","sceneProp","enabled","renderPriority","autoClear","resolutionScale","depthBuffer","stencilBuffer","multisampling","frameBufferType","HalfFloatType","gl","useThree","defaultScene","scene","defaultCamera","camera","composer","geometryPass","useMemo","EffectComposerImpl","GeometryPass","size","useEffect","useFrame","state","delta","currentAutoClear","group","useRef","useLayoutEffect","passes","groupInstance","_a","i","child","Effect","effects","next","pass","EffectPass","Pass","currentToneMapping","NoToneMapping","context","useImperativeHandle","jsx","EffectComposerContext","fragmentShader","geometryEffectOptionsDefaults","BlendFunction","GeometryEffect","options","blendFunction","geometryBuffer","output","resolveIncludes","packing","Uniform","value","Geometry","props","others","useContext","LensFlare","lensFlareEffectOptionsDefaults","LensFlareEffect","Normal","normalEffectOptionsDefaults","normalPass","NormalEffect"],"mappings":"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"}
package/build/r3f.js CHANGED
@@ -1,103 +1,104 @@
1
- import { wrapEffect as j, EffectComposerContext as x } from "@react-three/postprocessing";
2
- import { D as $, b as q, G as J, l as K, L as Q, n as W, N as X } from "./shared.js";
3
- import { jsx as T } from "react/jsx-runtime";
4
- import { useThree as U, useFrame as Y } from "@react-three/fiber";
5
- import { EffectComposer as Z, Effect as N, EffectPass as ee, EffectAttribute as R, Pass as te, BlendFunction as ne } from "postprocessing";
6
- import { forwardRef as P, useMemo as O, useEffect as C, useRef as oe, useLayoutEffect as re, useImperativeHandle as se, useContext as G } from "react";
7
- import { HalfFloatType as fe, NoToneMapping as ce, Uniform as ue } from "three";
8
- import { resolveIncludes as ie } from "@takram/three-geospatial";
9
- import { packing as ae } from "@takram/three-geospatial/shaders";
10
- const Ue = j($), Pe = j(q);
11
- function A(l) {
12
- return (l.getAttributes() & R.CONVOLUTION) === R.CONVOLUTION;
1
+ import { wrapEffect as A, EffectComposerContext as x } from "@react-three/postprocessing";
2
+ import { D as H, b as V, G as $, l as q, L as J, n as K, N as Q } from "./shared.js";
3
+ import { jsx as h } from "react/jsx-runtime";
4
+ import { useThree as E, useFrame as W } from "@react-three/fiber";
5
+ import { EffectComposer as X, Effect as y, EffectPass as Y, EffectAttribute as M, Pass as Z, BlendFunction as ee } from "postprocessing";
6
+ import { useMemo as T, useEffect as O, useRef as te, useLayoutEffect as ne, useImperativeHandle as oe, useContext as j } from "react";
7
+ import { HalfFloatType as re, NoToneMapping as se, Uniform as fe } from "three";
8
+ import { resolveIncludes as ue } from "@takram/three-geospatial";
9
+ import { packing as ce } from "@takram/three-geospatial/shaders";
10
+ const ve = A(H), Ee = A(V);
11
+ function D(r) {
12
+ return (r.getAttributes() & M.CONVOLUTION) === M.CONVOLUTION;
13
13
  }
14
- const ye = /* @__PURE__ */ P(function({
15
- children: n,
16
- camera: u,
17
- scene: r,
18
- enabled: s = !0,
19
- renderPriority: o = 1,
20
- autoClear: f = !0,
14
+ const Ue = ({
15
+ ref: r,
16
+ children: o,
17
+ camera: s,
18
+ scene: u,
19
+ enabled: e = !0,
20
+ renderPriority: c = 1,
21
+ autoClear: l = !0,
21
22
  resolutionScale: m,
22
- depthBuffer: p,
23
- stencilBuffer: y = !1,
24
- multisampling: w = 8,
25
- frameBufferType: B = fe
26
- }, S) {
27
- const c = U(({ gl: e }) => e), k = U(({ scene: e }) => e), z = U(({ camera: e }) => e), E = r ?? k, d = u ?? z, [t, F] = O(() => {
28
- const e = new Z(c, {
29
- depthBuffer: p,
30
- stencilBuffer: y,
31
- multisampling: w,
23
+ depthBuffer: N,
24
+ stencilBuffer: U = !1,
25
+ multisampling: R = 8,
26
+ frameBufferType: B = re
27
+ }) => {
28
+ const f = E(({ gl: t }) => t), G = E(({ scene: t }) => t), S = E(({ camera: t }) => t), C = u ?? G, p = s ?? S, [n, w] = T(() => {
29
+ const t = new X(f, {
30
+ depthBuffer: N,
31
+ stencilBuffer: U,
32
+ multisampling: R,
32
33
  frameBufferType: B
33
- }), i = new J(e.inputBuffer, E, d);
34
- return e.addPass(i), [e, i];
34
+ }), i = new $(t.inputBuffer, C, p);
35
+ return t.addPass(i), [t, i];
35
36
  }, [
36
- c,
37
- E,
38
- d,
37
+ f,
38
+ C,
39
39
  p,
40
- y,
41
- w,
40
+ N,
41
+ U,
42
+ R,
42
43
  B
43
- ]), b = U(({ size: e }) => e);
44
- C(() => {
45
- t == null || t.setSize(b.width, b.height);
46
- }, [t, b]), Y(
47
- (e, i) => {
48
- if (s) {
49
- const v = c.autoClear;
50
- c.autoClear = f, y && !f && c.clearStencil(), t.render(i), c.autoClear = v;
44
+ ]), P = E(({ size: t }) => t);
45
+ O(() => {
46
+ n == null || n.setSize(P.width, P.height);
47
+ }, [n, P]), W(
48
+ (t, i) => {
49
+ if (e) {
50
+ const v = f.autoClear;
51
+ f.autoClear = l, U && !l && f.clearStencil(), n.render(i), f.autoClear = v;
51
52
  }
52
53
  },
53
- s ? o : 0
54
+ e ? c : 0
54
55
  );
55
- const L = oe(null);
56
- re(() => {
57
- var v, _;
58
- const e = [], i = (v = L.current) == null ? void 0 : v.__r3f;
59
- if (i != null && t != null) {
60
- const g = i.children;
61
- for (let a = 0; a < g.length; ++a) {
62
- const h = g[a].object;
63
- if (h instanceof N) {
64
- const D = [h];
65
- if (!A(h)) {
66
- let M = null;
67
- for (; (M = (_ = g[a + 1]) == null ? void 0 : _.object) instanceof N && !A(M); )
68
- D.push(M), ++a;
56
+ const F = te(null);
57
+ ne(() => {
58
+ var v, L;
59
+ const t = [], i = (v = F.current) == null ? void 0 : v.__r3f;
60
+ if (i != null && n != null) {
61
+ const d = i.children;
62
+ for (let a = 0; a < d.length; ++a) {
63
+ const g = d[a].object;
64
+ if (g instanceof y) {
65
+ const _ = [g];
66
+ if (!D(g)) {
67
+ let b = null;
68
+ for (; (b = (L = d[a + 1]) == null ? void 0 : L.object) instanceof y && !D(b); )
69
+ _.push(b), ++a;
69
70
  }
70
- const V = new ee(d, ...D);
71
- e.push(V);
72
- } else h instanceof te && e.push(h);
71
+ const z = new Y(p, ..._);
72
+ t.push(z);
73
+ } else g instanceof Z && t.push(g);
73
74
  }
74
- for (const a of e)
75
- t == null || t.addPass(a);
75
+ for (const a of t)
76
+ n == null || n.addPass(a);
76
77
  }
77
78
  return () => {
78
- for (const g of e)
79
- t == null || t.removePass(g);
79
+ for (const d of t)
80
+ n == null || n.removePass(d);
80
81
  };
81
- }, [t, n, d]), C(() => {
82
- const e = c.toneMapping;
83
- return c.toneMapping = ce, () => {
84
- c.toneMapping = e;
82
+ }, [n, o, p]), O(() => {
83
+ const t = f.toneMapping;
84
+ return f.toneMapping = se, () => {
85
+ f.toneMapping = t;
85
86
  };
86
- }, [c]);
87
- const H = O(
87
+ }, [f]);
88
+ const k = T(
88
89
  () => ({
89
- composer: t,
90
- camera: d,
91
- scene: E,
92
- geometryPass: F,
90
+ composer: n,
91
+ camera: p,
92
+ scene: C,
93
+ geometryPass: w,
93
94
  normalPass: null,
94
95
  downSamplingPass: null,
95
96
  resolutionScale: m
96
97
  }),
97
- [t, d, E, F, m]
98
+ [n, p, C, w, m]
98
99
  );
99
- return se(S, () => t, [t]), /* @__PURE__ */ T(x.Provider, { value: H, children: /* @__PURE__ */ T("group", { ref: L, children: n }) });
100
- }), le = `#include "core/packing"
100
+ return oe(r, () => n, [n]), /* @__PURE__ */ h(x.Provider, { value: k, children: /* @__PURE__ */ h("group", { ref: F, children: o }) });
101
+ }, ie = `#include "core/packing"
101
102
 
102
103
  uniform sampler2D geometryBuffer;
103
104
 
@@ -117,111 +118,113 @@ void mainImage(const vec4 inputColor, const vec2 uv, out vec4 outputColor) {
117
118
  #endif // OUTPUT_PBR
118
119
  }
119
120
  `, I = {
120
- blendFunction: ne.SRC,
121
+ blendFunction: ee.SRC,
121
122
  output: "normal"
122
123
  };
123
- class me extends N {
124
- constructor(n) {
124
+ class ae extends y {
125
+ constructor(o) {
125
126
  const {
126
- blendFunction: u,
127
- geometryBuffer: r = null,
128
- output: s
127
+ blendFunction: s,
128
+ geometryBuffer: u = null,
129
+ output: e
129
130
  } = {
130
131
  ...I,
131
- ...n
132
+ ...o
132
133
  };
133
134
  super(
134
135
  "GeometryEffect",
135
- ie(le, {
136
- core: { packing: ae }
136
+ ue(ie, {
137
+ core: { packing: ce }
137
138
  }),
138
139
  {
139
- blendFunction: u,
140
- attributes: R.DEPTH,
140
+ blendFunction: s,
141
+ attributes: M.DEPTH,
141
142
  uniforms: new Map(
142
143
  Object.entries({
143
- geometryBuffer: new ue(r)
144
+ geometryBuffer: new fe(u)
144
145
  })
145
146
  )
146
147
  }
147
- ), this.output = s;
148
+ ), this.output = e;
148
149
  }
149
150
  get geometryBuffer() {
150
151
  return this.uniforms.get("geometryBuffer").value;
151
152
  }
152
- set geometryBuffer(n) {
153
- this.uniforms.get("geometryBuffer").value = n;
153
+ set geometryBuffer(o) {
154
+ this.uniforms.get("geometryBuffer").value = o;
154
155
  }
155
156
  get output() {
156
157
  return this.defines.has("OUTPUT_NORMAL") ? "normal" : "pbr";
157
158
  }
158
- set output(n) {
159
- n !== this.output && (n === "normal" ? this.defines.set("OUTPUT_NORMAL", "1") : this.defines.delete("OUTPUT_NORMAL"), n === "pbr" ? this.defines.set("OUTPUT_PBR", "1") : this.defines.delete("OUTPUT_PBR"), this.setChanged());
159
+ set output(o) {
160
+ o !== this.output && (o === "normal" ? this.defines.set("OUTPUT_NORMAL", "1") : this.defines.delete("OUTPUT_NORMAL"), o === "pbr" ? this.defines.set("OUTPUT_PBR", "1") : this.defines.delete("OUTPUT_PBR"), this.setChanged());
160
161
  }
161
162
  }
162
- const be = /* @__PURE__ */ P(
163
- function(n, u) {
164
- const { blendFunction: r, ...s } = {
165
- ...I,
166
- ...n
167
- }, { geometryPass: o } = G(
168
- x
169
- ), f = O(
170
- () => new me({ blendFunction: r }),
171
- [r]
172
- );
173
- return C(() => () => {
174
- f.dispose();
175
- }, [f]), /* @__PURE__ */ T(
176
- "primitive",
177
- {
178
- ref: u,
179
- object: f,
180
- geometryBuffer: o == null ? void 0 : o.geometryTexture,
181
- ...s
182
- }
183
- );
184
- }
185
- ), Me = /* @__PURE__ */ P(function(n, u) {
186
- const { blendFunction: r, ...s } = {
163
+ const Pe = ({
164
+ ref: r,
165
+ ...o
166
+ }) => {
167
+ const { blendFunction: s, ...u } = {
168
+ ...I,
169
+ ...o
170
+ }, { geometryPass: e } = j(
171
+ x
172
+ ), c = T(
173
+ () => new ae({ blendFunction: s }),
174
+ [s]
175
+ );
176
+ return O(() => () => {
177
+ c.dispose();
178
+ }, [c]), /* @__PURE__ */ h(
179
+ "primitive",
180
+ {
181
+ ref: r,
182
+ object: c,
183
+ geometryBuffer: e == null ? void 0 : e.geometryTexture,
184
+ ...u
185
+ }
186
+ );
187
+ }, be = ({
188
+ ref: r,
189
+ ...o
190
+ }) => {
191
+ const { blendFunction: s, ...u } = {
192
+ ...q,
193
+ ...o
194
+ }, e = T(() => new J(), []);
195
+ return O(() => () => {
196
+ e.dispose();
197
+ }, [e]), /* @__PURE__ */ h("primitive", { ref: r, object: e, ...u });
198
+ }, ye = ({ ref: r, ...o }) => {
199
+ const { blendFunction: s, ...u } = {
187
200
  ...K,
188
- ...n
189
- }, o = O(() => new Q(), []);
190
- return C(() => () => {
191
- o.dispose();
192
- }, [o]), /* @__PURE__ */ T("primitive", { ref: u, object: o, ...s });
193
- }), Ne = /* @__PURE__ */ P(
194
- function(n, u) {
195
- const { blendFunction: r, ...s } = {
196
- ...W,
197
- ...n
198
- }, { geometryPass: o, normalPass: f, camera: m } = G(
199
- x
200
- ), p = O(
201
- () => new X(m, { blendFunction: r }),
202
- [m, r]
203
- );
204
- return C(() => () => {
205
- p.dispose();
206
- }, [p]), /* @__PURE__ */ T(
207
- "primitive",
208
- {
209
- ref: u,
210
- object: p,
211
- mainCamera: m,
212
- normalBuffer: (o == null ? void 0 : o.geometryTexture) ?? (f == null ? void 0 : f.texture) ?? null,
213
- ...s,
214
- octEncoded: (o == null ? void 0 : o.geometryTexture) != null
215
- }
216
- );
217
- }
218
- );
201
+ ...o
202
+ }, { geometryPass: e, normalPass: c, camera: l } = j(
203
+ x
204
+ ), m = T(
205
+ () => new Q(l, { blendFunction: s }),
206
+ [l, s]
207
+ );
208
+ return O(() => () => {
209
+ m.dispose();
210
+ }, [m]), /* @__PURE__ */ h(
211
+ "primitive",
212
+ {
213
+ ref: r,
214
+ object: m,
215
+ mainCamera: l,
216
+ normalBuffer: (e == null ? void 0 : e.geometryTexture) ?? (c == null ? void 0 : c.texture) ?? null,
217
+ ...u,
218
+ octEncoded: (e == null ? void 0 : e.geometryTexture) != null
219
+ }
220
+ );
221
+ };
219
222
  export {
220
- Ue as Depth,
221
- Pe as Dithering,
222
- ye as EffectComposer,
223
- be as Geometry,
224
- Me as LensFlare,
225
- Ne as Normal
223
+ ve as Depth,
224
+ Ee as Dithering,
225
+ Ue as EffectComposer,
226
+ Pe as Geometry,
227
+ be as LensFlare,
228
+ ye as Normal
226
229
  };
227
230
  //# sourceMappingURL=r3f.js.map
package/build/r3f.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"r3f.js","sources":["../src/r3f/Depth.tsx","../src/r3f/Dithering.tsx","../src/r3f/EffectComposer.tsx","../src/shaders/geometryEffect.frag?raw","../src/GeometryEffect.ts","../src/r3f/Geometry.tsx","../src/r3f/LensFlare.tsx","../src/r3f/Normal.tsx"],"sourcesContent":null,"names":["Depth","wrapEffect","DepthEffect","Dithering","DitheringEffect","isConvolution","effect","EffectAttribute","EffectComposer","forwardRef","children","cameraProp","sceneProp","enabled","renderPriority","autoClear","resolutionScale","depthBuffer","stencilBuffer","multisampling","frameBufferType","HalfFloatType","forwardedRef","gl","useThree","defaultScene","scene","defaultCamera","camera","composer","geometryPass","useMemo","EffectComposerImpl","GeometryPass","size","useEffect","useFrame","state","delta","currentAutoClear","group","useRef","useLayoutEffect","passes","groupInstance","_a","i","child","Effect","effects","next","pass","EffectPass","Pass","currentToneMapping","NoToneMapping","context","useImperativeHandle","jsx","EffectComposerContext","fragmentShader","geometryEffectOptionsDefaults","BlendFunction","GeometryEffect","options","blendFunction","geometryBuffer","output","resolveIncludes","packing","Uniform","value","Geometry","props","others","useContext","LensFlare","lensFlareEffectOptionsDefaults","LensFlareEffect","Normal","normalEffectOptionsDefaults","normalPass","NormalEffect"],"mappings":";;;;;;;;;AAKa,MAAAA,KAAQC,EAAWC,CAAW,GCD9BC,KAAYF,EAAWG,CAAe;AC+CnD,SAASC,EAAcC,GAAyB;AAC9C,UACGA,EAAO,cAAA,IAAkBC,EAAgB,iBAC1CA,EAAgB;AAEpB;AAEa,MAAAC,KAGX,gBAAAC,EAAA,SACA;AAAA,EACE,UAAAC;AAAA,EACA,QAAQC;AAAA,EACR,OAAOC;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,gBAAAC,IAAiB;AAAA,EACjB,WAAAC,IAAY;AAAA,EACZ,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,eAAAC,IAAgB;AAAA,EAChB,iBAAAC,IAAkBC;AACpB,GACAC,GACA;AACA,QAAMC,IAAKC,EAAS,CAAC,EAAE,IAAAD,QAASA,CAAE,GAC5BE,IAAeD,EAAS,CAAC,EAAE,OAAAE,QAAYA,CAAK,GAC5CC,IAAgBH,EAAS,CAAC,EAAE,QAAAI,QAAaA,CAAM,GAC/CF,IAAQd,KAAaa,GACrBG,IAASjB,KAAcgB,GAEvB,CAACE,GAAUC,CAAY,IAAIC,EAAQ,MAAM;AACvCF,UAAAA,IAAW,IAAIG,EAAmBT,GAAI;AAAA,MAC1C,aAAAN;AAAA,MACA,eAAAC;AAAA,MACA,eAAAC;AAAA,MACA,iBAAAC;AAAA,IAAA,CACD,GACKU,IAAe,IAAIG,EAAaJ,EAAS,aAAaH,GAAOE,CAAM;AACzEC,WAAAA,EAAS,QAAQC,CAAY,GACtB,CAACD,GAAUC,CAAY;AAAA,EAAA,GAC7B;AAAA,IACDP;AAAA,IACAG;AAAA,IACAE;AAAA,IACAX;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD,GAEKc,IAAOV,EAAS,CAAC,EAAE,MAAAU,QAAWA,CAAI;AACxC,EAAAC,EAAU,MAAM;AACd,IAAAN,KAAA,QAAAA,EAAU,QAAQK,EAAK,OAAOA,EAAK;AAAA,EAAM,GACxC,CAACL,GAAUK,CAAI,CAAC,GAEnBE;AAAA,IACE,CAACC,GAAOC,MAAU;AAChB,UAAIzB,GAAS;AACX,cAAM0B,IAAmBhB,EAAG;AAC5B,QAAAA,EAAG,YAAYR,GACXG,KAAiB,CAACH,KACpBQ,EAAG,aAAa,GAElBM,EAAS,OAAOS,CAAK,GACrBf,EAAG,YAAYgB;AAAA,MAAA;AAAA,IAEnB;AAAA,IACA1B,IAAUC,IAAiB;AAAA,EAC7B;AAEM,QAAA0B,IAAQC,GAAc,IAAI;AAChC,EAAAC,GAAgB,MAAM;;AACpB,UAAMC,IAAiB,CAAC,GAClBC,KACJC,IAAAL,EAAM,YAAN,gBAAAK,EACC;AACC,QAAAD,KAAiB,QAAQf,KAAY,MAAM;AAC7C,YAAMnB,IAAWkC,EAAc;AAC/B,eAASE,IAAI,GAAGA,IAAIpC,EAAS,QAAQ,EAAEoC,GAAG;AAClC,cAAAC,IAAQrC,EAASoC,CAAC,EAAE;AAC1B,YAAIC,aAAiBC,GAAQ;AACrB,gBAAAC,IAAoB,CAACF,CAAK;AAC5B,cAAA,CAAC1C,EAAc0C,CAAK,GAAG;AACzB,gBAAIG,IAAgB;AACpB,oBAAQA,KAAOxC,IAAAA,EAASoC,IAAI,CAAC,MAAdpC,gBAAAA,EAAiB,mBAAmBsC,KAC7C,CAAA3C,EAAc6C,CAAI;AAGtB,cAAAD,EAAQ,KAAKC,CAAI,GACf,EAAAJ;AAAA,UACJ;AAEF,gBAAMK,IAAO,IAAIC,GAAWxB,GAAQ,GAAGqB,CAAO;AAC9C,UAAAN,EAAO,KAAKQ,CAAI;AAAA,QAAA,MAClB,CAAWJ,aAAiBM,MAC1BV,EAAO,KAAKI,CAAK;AAAA,MACnB;AAEF,iBAAWI,KAAQR;AACjB,QAAAd,KAAA,QAAAA,EAAU,QAAQsB;AAAA,IACpB;AAGF,WAAO,MAAM;AACX,iBAAWA,KAAQR;AACjB,QAAAd,KAAA,QAAAA,EAAU,WAAWsB;AAAA,IAEzB;AAAA,EACC,GAAA,CAACtB,GAAUnB,GAAUkB,CAAM,CAAC,GAE/BO,EAAU,MAAM;AACd,UAAMmB,IAAqB/B,EAAG;AAC9B,WAAAA,EAAG,cAAcgC,IACV,MAAM;AACX,MAAAhC,EAAG,cAAc+B;AAAA,IACnB;AAAA,EAAA,GACC,CAAC/B,CAAE,CAAC;AAEP,QAAMiC,IAAUzB;AAAA,IACd,OAAmC;AAAA,MACjC,UAAAF;AAAA,MACA,QAAAD;AAAA,MACA,OAAAF;AAAA,MACA,cAAAI;AAAA,MACA,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,iBAAAd;AAAA,IAAA;AAAA,IAEF,CAACa,GAAUD,GAAQF,GAAOI,GAAcd,CAAe;AAAA,EACzD;AAEA,SAAAyC,GAAoBnC,GAAc,MAAMO,GAAU,CAACA,CAAQ,CAAC,GAG1D,gBAAA6B,EAACC,EAAsB,UAAtB,EAA+B,OAAOH,GACrC,UAAA,gBAAAE,EAAC,SAAM,EAAA,KAAKlB,GAAQ,UAAA9B,EAAA,CAAS,EAC/B,CAAA;AAEJ,CAAC,GC/LckD,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCoBFC,IAAgC;AAAA,EAC3C,eAAeC,GAAc;AAAA,EAC7B,QAAQ;AACV;AAEO,MAAMC,WAAuBf,EAAO;AAAA,EAGzC,YAAYgB,GAAiC;AACrC,UAAA;AAAA,MACJ,eAAAC;AAAA,MACA,gBAAAC,IAAiB;AAAA,MACjB,QAAAC;AAAA,IAAA,IACE;AAAA,MACF,GAAGN;AAAA,MACH,GAAGG;AAAA,IACL;AACA;AAAA,MACE;AAAA,MACAI,GAAgBR,IAAgB;AAAA,QAC9B,MAAM,EAAE,SAAAS,GAAQ;AAAA,MAAA,CACjB;AAAA,MACD;AAAA,QACE,eAAAJ;AAAA,QACA,YAAY1D,EAAgB;AAAA,QAC5B,UAAU,IAAI;AAAA,UACZ,OAAO,QAAQ;AAAA,YACb,gBAAgB,IAAI+D,GAAQJ,CAAc;AAAA,UACV,CAAA;AAAA,QAAA;AAAA,MACpC;AAAA,IAEJ,GACA,KAAK,SAASC;AAAA,EAAA;AAAA,EAGhB,IAAI,iBAAiC;AACnC,WAAO,KAAK,SAAS,IAAI,gBAAgB,EAAE;AAAA,EAAA;AAAA,EAG7C,IAAI,eAAeI,GAAuB;AACxC,SAAK,SAAS,IAAI,gBAAgB,EAAE,QAAQA;AAAA,EAAA;AAAA,EAG9C,IAAI,SAA+B;AACjC,WAAO,KAAK,QAAQ,IAAI,eAAe,IAAI,WAAW;AAAA,EAAA;AAAA,EAGxD,IAAI,OAAOA,GAA6B;AAClC,IAAAA,MAAU,KAAK,WACbA,MAAU,WACP,KAAA,QAAQ,IAAI,iBAAiB,GAAG,IAEhC,KAAA,QAAQ,OAAO,eAAe,GAEjCA,MAAU,QACP,KAAA,QAAQ,IAAI,cAAc,GAAG,IAE7B,KAAA,QAAQ,OAAO,YAAY,GAElC,KAAK,WAAW;AAAA,EAClB;AAEJ;ACtEO,MAAMC,KAAyB,gBAAA/D;AAAA,EACpC,SAAkBgE,GAAOnD,GAAc;AACrC,UAAM,EAAE,eAAA2C,GAAe,GAAGS,MAAW;AAAA,MACnC,GAAGb;AAAA,MACH,GAAGY;AAAA,IACL,GAEM,EAAE,cAAA3C,MAAiB6C;AAAA,MACvBhB;AAAA,IACF,GAEMrD,IAASyB;AAAA,MACb,MAAM,IAAIgC,GAAe,EAAE,eAAAE,GAAe;AAAA,MAC1C,CAACA,CAAa;AAAA,IAChB;AACA,WAAA9B,EAAU,MACD,MAAM;AACX,MAAA7B,EAAO,QAAQ;AAAA,IACjB,GACC,CAACA,CAAM,CAAC,GAGT,gBAAAoD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKpC;AAAA,QACL,QAAQhB;AAAA,QACR,gBAAgBwB,KAAA,gBAAAA,EAAc;AAAA,QAC7B,GAAG4C;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAGN,GChCaE,KAA0B,gBAAAnE,EAGrC,SAAmBgE,GAAOnD,GAAc;AACxC,QAAM,EAAE,eAAA2C,GAAe,GAAGS,MAAW;AAAA,IACnC,GAAGG;AAAA,IACH,GAAGJ;AAAA,EACL,GAEMnE,IAASyB,EAAQ,MAAM,IAAI+C,EAAgB,GAAG,CAAA,CAAE;AACtD,SAAA3C,EAAU,MACD,MAAM;AACX,IAAA7B,EAAO,QAAQ;AAAA,EACjB,GACC,CAACA,CAAM,CAAC,qBAEH,aAAU,EAAA,KAAKgB,GAAc,QAAQhB,GAAS,GAAGoE,GAAQ;AACnE,CAAC,GClBYK,KAAuB,gBAAAtE;AAAA,EAClC,SAAgBgE,GAAOnD,GAAc;AACnC,UAAM,EAAE,eAAA2C,GAAe,GAAGS,MAAW;AAAA,MACnC,GAAGM;AAAA,MACH,GAAGP;AAAA,IACL,GAEM,EAAE,cAAA3C,GAAc,YAAAmD,GAAY,QAAArD,EAAW,IAAA+C;AAAA,MAC3ChB;AAAA,IACF,GAEMrD,IAASyB;AAAA,MACb,MAAM,IAAImD,EAAatD,GAAQ,EAAE,eAAAqC,GAAe;AAAA,MAChD,CAACrC,GAAQqC,CAAa;AAAA,IACxB;AACA,WAAA9B,EAAU,MACD,MAAM;AACX,MAAA7B,EAAO,QAAQ;AAAA,IACjB,GACC,CAACA,CAAM,CAAC,GAGT,gBAAAoD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKpC;AAAA,QACL,QAAQhB;AAAA,QACR,YAAYsB;AAAA,QACZ,eACEE,KAAA,gBAAAA,EAAc,qBAAmBmD,KAAA,gBAAAA,EAAY,YAAW;AAAA,QAEzD,GAAGP;AAAA,QACJ,aAAY5C,KAAA,gBAAAA,EAAc,oBAAmB;AAAA,MAAA;AAAA,IAC/C;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"r3f.js","sources":["../src/r3f/Depth.tsx","../src/r3f/Dithering.tsx","../src/r3f/EffectComposer.tsx","../src/shaders/geometryEffect.frag?raw","../src/GeometryEffect.ts","../src/r3f/Geometry.tsx","../src/r3f/LensFlare.tsx","../src/r3f/Normal.tsx"],"sourcesContent":null,"names":["Depth","wrapEffect","DepthEffect","Dithering","DitheringEffect","isConvolution","effect","EffectAttribute","EffectComposer","forwardedRef","children","cameraProp","sceneProp","enabled","renderPriority","autoClear","resolutionScale","depthBuffer","stencilBuffer","multisampling","frameBufferType","HalfFloatType","gl","useThree","defaultScene","scene","defaultCamera","camera","composer","geometryPass","useMemo","EffectComposerImpl","GeometryPass","size","useEffect","useFrame","state","delta","currentAutoClear","group","useRef","useLayoutEffect","passes","groupInstance","_a","i","child","Effect","effects","next","pass","EffectPass","Pass","currentToneMapping","NoToneMapping","context","useImperativeHandle","jsx","EffectComposerContext","fragmentShader","geometryEffectOptionsDefaults","BlendFunction","GeometryEffect","options","blendFunction","geometryBuffer","output","resolveIncludes","packing","Uniform","value","Geometry","props","others","useContext","LensFlare","lensFlareEffectOptionsDefaults","LensFlareEffect","Normal","normalEffectOptionsDefaults","normalPass","NormalEffect"],"mappings":";;;;;;;;;AAKa,MAAAA,KAAQC,EAAWC,CAAW,GCD9BC,KAAYF,EAAWG,CAAe;ACgDnD,SAASC,EAAcC,GAAyB;AAC9C,UACGA,EAAO,cAAA,IAAkBC,EAAgB,iBAC1CA,EAAgB;AAEpB;AAEO,MAAMC,KAET,CAAC;AAAA,EACH,KAAKC;AAAA,EACL,UAAAC;AAAA,EACA,QAAQC;AAAA,EACR,OAAOC;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,gBAAAC,IAAiB;AAAA,EACjB,WAAAC,IAAY;AAAA,EACZ,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,eAAAC,IAAgB;AAAA,EAChB,iBAAAC,IAAkBC;AACpB,MAAM;AACJ,QAAMC,IAAKC,EAAS,CAAC,EAAE,IAAAD,QAASA,CAAE,GAC5BE,IAAeD,EAAS,CAAC,EAAE,OAAAE,QAAYA,CAAK,GAC5CC,IAAgBH,EAAS,CAAC,EAAE,QAAAI,QAAaA,CAAM,GAC/CF,IAAQb,KAAaY,GACrBG,IAAShB,KAAce,GAEvB,CAACE,GAAUC,CAAY,IAAIC,EAAQ,MAAM;AACvCF,UAAAA,IAAW,IAAIG,EAAmBT,GAAI;AAAA,MAC1C,aAAAL;AAAA,MACA,eAAAC;AAAA,MACA,eAAAC;AAAA,MACA,iBAAAC;AAAA,IAAA,CACD,GACKS,IAAe,IAAIG,EAAaJ,EAAS,aAAaH,GAAOE,CAAM;AACzEC,WAAAA,EAAS,QAAQC,CAAY,GACtB,CAACD,GAAUC,CAAY;AAAA,EAAA,GAC7B;AAAA,IACDP;AAAA,IACAG;AAAA,IACAE;AAAA,IACAV;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD,GAEKa,IAAOV,EAAS,CAAC,EAAE,MAAAU,QAAWA,CAAI;AACxC,EAAAC,EAAU,MAAM;AACd,IAAAN,KAAA,QAAAA,EAAU,QAAQK,EAAK,OAAOA,EAAK;AAAA,EAAM,GACxC,CAACL,GAAUK,CAAI,CAAC,GAEnBE;AAAA,IACE,CAACC,GAAOC,MAAU;AAChB,UAAIxB,GAAS;AACX,cAAMyB,IAAmBhB,EAAG;AAC5B,QAAAA,EAAG,YAAYP,GACXG,KAAiB,CAACH,KACpBO,EAAG,aAAa,GAElBM,EAAS,OAAOS,CAAK,GACrBf,EAAG,YAAYgB;AAAA,MAAA;AAAA,IAEnB;AAAA,IACAzB,IAAUC,IAAiB;AAAA,EAC7B;AAEM,QAAAyB,IAAQC,GAAc,IAAI;AAChC,EAAAC,GAAgB,MAAM;;AACpB,UAAMC,IAAiB,CAAC,GAClBC,KACJC,IAAAL,EAAM,YAAN,gBAAAK,EACC;AACC,QAAAD,KAAiB,QAAQf,KAAY,MAAM;AAC7C,YAAMlB,IAAWiC,EAAc;AAC/B,eAASE,IAAI,GAAGA,IAAInC,EAAS,QAAQ,EAAEmC,GAAG;AAClC,cAAAC,IAAQpC,EAASmC,CAAC,EAAE;AAC1B,YAAIC,aAAiBC,GAAQ;AACrB,gBAAAC,IAAoB,CAACF,CAAK;AAC5B,cAAA,CAACzC,EAAcyC,CAAK,GAAG;AACzB,gBAAIG,IAAgB;AACpB,oBAAQA,KAAOvC,IAAAA,EAASmC,IAAI,CAAC,MAAdnC,gBAAAA,EAAiB,mBAAmBqC,KAC7C,CAAA1C,EAAc4C,CAAI;AAGtB,cAAAD,EAAQ,KAAKC,CAAI,GACf,EAAAJ;AAAA,UACJ;AAEF,gBAAMK,IAAO,IAAIC,EAAWxB,GAAQ,GAAGqB,CAAO;AAC9C,UAAAN,EAAO,KAAKQ,CAAI;AAAA,QAAA,MAClB,CAAWJ,aAAiBM,KAC1BV,EAAO,KAAKI,CAAK;AAAA,MACnB;AAEF,iBAAWI,KAAQR;AACjB,QAAAd,KAAA,QAAAA,EAAU,QAAQsB;AAAA,IACpB;AAGF,WAAO,MAAM;AACX,iBAAWA,KAAQR;AACjB,QAAAd,KAAA,QAAAA,EAAU,WAAWsB;AAAA,IAEzB;AAAA,EACC,GAAA,CAACtB,GAAUlB,GAAUiB,CAAM,CAAC,GAE/BO,EAAU,MAAM;AACd,UAAMmB,IAAqB/B,EAAG;AAC9B,WAAAA,EAAG,cAAcgC,IACV,MAAM;AACX,MAAAhC,EAAG,cAAc+B;AAAA,IACnB;AAAA,EAAA,GACC,CAAC/B,CAAE,CAAC;AAEP,QAAMiC,IAAUzB;AAAA,IACd,OAAmC;AAAA,MACjC,UAAAF;AAAA,MACA,QAAAD;AAAA,MACA,OAAAF;AAAA,MACA,cAAAI;AAAA,MACA,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,iBAAAb;AAAA,IAAA;AAAA,IAEF,CAACY,GAAUD,GAAQF,GAAOI,GAAcb,CAAe;AAAA,EACzD;AAEA,SAAAwC,GAAoB/C,GAAc,MAAMmB,GAAU,CAACA,CAAQ,CAAC,GAG1D,gBAAA6B,EAACC,EAAsB,UAAtB,EAA+B,OAAOH,GACrC,UAAA,gBAAAE,EAAC,SAAM,EAAA,KAAKlB,GAAQ,UAAA7B,EAAA,CAAS,EAC/B,CAAA;AAEJ,GC7LeiD,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCoBFC,IAAgC;AAAA,EAC3C,eAAeC,GAAc;AAAA,EAC7B,QAAQ;AACV;AAEO,MAAMC,WAAuBf,EAAO;AAAA,EAGzC,YAAYgB,GAAiC;AACrC,UAAA;AAAA,MACJ,eAAAC;AAAA,MACA,gBAAAC,IAAiB;AAAA,MACjB,QAAAC;AAAA,IAAA,IACE;AAAA,MACF,GAAGN;AAAA,MACH,GAAGG;AAAA,IACL;AACA;AAAA,MACE;AAAA,MACAI,GAAgBR,IAAgB;AAAA,QAC9B,MAAM,EAAE,SAAAS,GAAQ;AAAA,MAAA,CACjB;AAAA,MACD;AAAA,QACE,eAAAJ;AAAA,QACA,YAAYzD,EAAgB;AAAA,QAC5B,UAAU,IAAI;AAAA,UACZ,OAAO,QAAQ;AAAA,YACb,gBAAgB,IAAI8D,GAAQJ,CAAc;AAAA,UACV,CAAA;AAAA,QAAA;AAAA,MACpC;AAAA,IAEJ,GACA,KAAK,SAASC;AAAA,EAAA;AAAA,EAGhB,IAAI,iBAAiC;AACnC,WAAO,KAAK,SAAS,IAAI,gBAAgB,EAAE;AAAA,EAAA;AAAA,EAG7C,IAAI,eAAeI,GAAuB;AACxC,SAAK,SAAS,IAAI,gBAAgB,EAAE,QAAQA;AAAA,EAAA;AAAA,EAG9C,IAAI,SAA+B;AACjC,WAAO,KAAK,QAAQ,IAAI,eAAe,IAAI,WAAW;AAAA,EAAA;AAAA,EAGxD,IAAI,OAAOA,GAA6B;AAClC,IAAAA,MAAU,KAAK,WACbA,MAAU,WACP,KAAA,QAAQ,IAAI,iBAAiB,GAAG,IAEhC,KAAA,QAAQ,OAAO,eAAe,GAEjCA,MAAU,QACP,KAAA,QAAQ,IAAI,cAAc,GAAG,IAE7B,KAAA,QAAQ,OAAO,YAAY,GAElC,KAAK,WAAW;AAAA,EAClB;AAEJ;ACtEO,MAAMC,KAA8B,CAAC;AAAA,EAC1C,KAAK9D;AAAA,EACL,GAAG+D;AACL,MAAM;AACJ,QAAM,EAAE,eAAAR,GAAe,GAAGS,MAAW;AAAA,IACnC,GAAGb;AAAA,IACH,GAAGY;AAAA,EACL,GAEM,EAAE,cAAA3C,MAAiB6C;AAAA,IACvBhB;AAAA,EACF,GAEMpD,IAASwB;AAAA,IACb,MAAM,IAAIgC,GAAe,EAAE,eAAAE,GAAe;AAAA,IAC1C,CAACA,CAAa;AAAA,EAChB;AACA,SAAA9B,EAAU,MACD,MAAM;AACX,IAAA5B,EAAO,QAAQ;AAAA,EACjB,GACC,CAACA,CAAM,CAAC,GAGT,gBAAAmD;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKhD;AAAA,MACL,QAAQH;AAAA,MACR,gBAAgBuB,KAAA,gBAAAA,EAAc;AAAA,MAC7B,GAAG4C;AAAA,IAAA;AAAA,EACN;AAEJ,GCjCaE,KAAgC,CAAC;AAAA,EAC5C,KAAKlE;AAAA,EACL,GAAG+D;AACL,MAAM;AACJ,QAAM,EAAE,eAAAR,GAAe,GAAGS,MAAW;AAAA,IACnC,GAAGG;AAAA,IACH,GAAGJ;AAAA,EACL,GAEMlE,IAASwB,EAAQ,MAAM,IAAI+C,EAAgB,GAAG,CAAA,CAAE;AACtD,SAAA3C,EAAU,MACD,MAAM;AACX,IAAA5B,EAAO,QAAQ;AAAA,EACjB,GACC,CAACA,CAAM,CAAC,qBAEH,aAAU,EAAA,KAAKG,GAAc,QAAQH,GAAS,GAAGmE,GAAQ;AACnE,GClBaK,KAA0B,CAAC,EAAE,KAAKrE,GAAc,GAAG+D,QAAY;AAC1E,QAAM,EAAE,eAAAR,GAAe,GAAGS,MAAW;AAAA,IACnC,GAAGM;AAAA,IACH,GAAGP;AAAA,EACL,GAEM,EAAE,cAAA3C,GAAc,YAAAmD,GAAY,QAAArD,EAAW,IAAA+C;AAAA,IAC3ChB;AAAA,EACF,GAEMpD,IAASwB;AAAA,IACb,MAAM,IAAImD,EAAatD,GAAQ,EAAE,eAAAqC,GAAe;AAAA,IAChD,CAACrC,GAAQqC,CAAa;AAAA,EACxB;AACA,SAAA9B,EAAU,MACD,MAAM;AACX,IAAA5B,EAAO,QAAQ;AAAA,EACjB,GACC,CAACA,CAAM,CAAC,GAGT,gBAAAmD;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKhD;AAAA,MACL,QAAQH;AAAA,MACR,YAAYqB;AAAA,MACZ,eACEE,KAAA,gBAAAA,EAAc,qBAAmBmD,KAAA,gBAAAA,EAAY,YAAW;AAAA,MAEzD,GAAGP;AAAA,MACJ,aAAY5C,KAAA,gBAAAA,EAAc,oBAAmB;AAAA,IAAA;AAAA,EAC/C;AAEJ;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takram/three-geospatial-effects",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "A collection of post-processing effects",
5
5
  "keywords": [
6
6
  "three",
@@ -42,7 +42,7 @@
42
42
  "README.md"
43
43
  ],
44
44
  "dependencies": {
45
- "@takram/three-geospatial": "0.2.1"
45
+ "@takram/three-geospatial": "0.2.2"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@react-three/fiber": ">=9.0.4",
@@ -8,14 +8,15 @@ import {
8
8
  Pass
9
9
  } from 'postprocessing'
10
10
  import {
11
- forwardRef,
12
11
  useEffect,
13
12
  useImperativeHandle,
14
13
  useLayoutEffect,
15
14
  useMemo,
16
15
  useRef,
17
16
  type Context,
18
- type ReactNode
17
+ type FC,
18
+ type ReactNode,
19
+ type RefAttributes
19
20
  } from 'react'
20
21
  import {
21
22
  HalfFloatType,
@@ -56,25 +57,22 @@ function isConvolution(effect: Effect): boolean {
56
57
  )
57
58
  }
58
59
 
59
- export const EffectComposer = /*#__PURE__*/ forwardRef<
60
- EffectComposerImpl,
61
- EffectComposerProps
62
- >(function EffectComposer(
63
- {
64
- children,
65
- camera: cameraProp,
66
- scene: sceneProp,
67
- enabled = true,
68
- renderPriority = 1,
69
- autoClear = true,
70
- resolutionScale,
71
- depthBuffer,
72
- stencilBuffer = false,
73
- multisampling = 8,
74
- frameBufferType = HalfFloatType
75
- },
76
- forwardedRef
77
- ) {
60
+ export const EffectComposer: FC<
61
+ EffectComposerProps & RefAttributes<EffectComposerImpl>
62
+ > = ({
63
+ ref: forwardedRef,
64
+ children,
65
+ camera: cameraProp,
66
+ scene: sceneProp,
67
+ enabled = true,
68
+ renderPriority = 1,
69
+ autoClear = true,
70
+ resolutionScale,
71
+ depthBuffer,
72
+ stencilBuffer = false,
73
+ multisampling = 8,
74
+ frameBufferType = HalfFloatType
75
+ }) => {
78
76
  const gl = useThree(({ gl }) => gl)
79
77
  const defaultScene = useThree(({ scene }) => scene)
80
78
  const defaultCamera = useThree(({ camera }) => camera)
@@ -189,4 +187,4 @@ export const EffectComposer = /*#__PURE__*/ forwardRef<
189
187
  <group ref={group}>{children}</group>
190
188
  </EffectComposerContext.Provider>
191
189
  )
192
- })
190
+ }
@@ -1,6 +1,6 @@
1
1
  import { type ElementProps } from '@react-three/fiber'
2
2
  import { EffectComposerContext } from '@react-three/postprocessing'
3
- import { forwardRef, useContext, useEffect, useMemo } from 'react'
3
+ import { useContext, useEffect, useMemo, type FC } from 'react'
4
4
 
5
5
  import {
6
6
  GeometryEffect,
@@ -10,34 +10,35 @@ import { type EffectComposerContextValue } from './EffectComposer'
10
10
 
11
11
  export interface GeometryProps extends ElementProps<typeof GeometryEffect> {}
12
12
 
13
- export const Geometry = /*#__PURE__*/ forwardRef<GeometryEffect, GeometryProps>(
14
- function Geometry(props, forwardedRef) {
15
- const { blendFunction, ...others } = {
16
- ...geometryEffectOptionsDefaults,
17
- ...props
18
- }
13
+ export const Geometry: FC<GeometryProps> = ({
14
+ ref: forwardedRef,
15
+ ...props
16
+ }) => {
17
+ const { blendFunction, ...others } = {
18
+ ...geometryEffectOptionsDefaults,
19
+ ...props
20
+ }
19
21
 
20
- const { geometryPass } = useContext(
21
- EffectComposerContext
22
- ) as EffectComposerContextValue
22
+ const { geometryPass } = useContext(
23
+ EffectComposerContext
24
+ ) as EffectComposerContextValue
23
25
 
24
- const effect = useMemo(
25
- () => new GeometryEffect({ blendFunction }),
26
- [blendFunction]
27
- )
28
- useEffect(() => {
29
- return () => {
30
- effect.dispose()
31
- }
32
- }, [effect])
26
+ const effect = useMemo(
27
+ () => new GeometryEffect({ blendFunction }),
28
+ [blendFunction]
29
+ )
30
+ useEffect(() => {
31
+ return () => {
32
+ effect.dispose()
33
+ }
34
+ }, [effect])
33
35
 
34
- return (
35
- <primitive
36
- ref={forwardedRef}
37
- object={effect}
38
- geometryBuffer={geometryPass?.geometryTexture}
39
- {...others}
40
- />
41
- )
42
- }
43
- )
36
+ return (
37
+ <primitive
38
+ ref={forwardedRef}
39
+ object={effect}
40
+ geometryBuffer={geometryPass?.geometryTexture}
41
+ {...others}
42
+ />
43
+ )
44
+ }
@@ -1,5 +1,5 @@
1
1
  import { type ElementProps } from '@react-three/fiber'
2
- import { forwardRef, useEffect, useMemo } from 'react'
2
+ import { useEffect, useMemo, type FC } from 'react'
3
3
 
4
4
  import {
5
5
  LensFlareEffect,
@@ -8,10 +8,10 @@ import {
8
8
 
9
9
  export interface LensFlareProps extends ElementProps<typeof LensFlareEffect> {}
10
10
 
11
- export const LensFlare = /*#__PURE__*/ forwardRef<
12
- LensFlareEffect,
13
- LensFlareProps
14
- >(function LensFlare(props, forwardedRef) {
11
+ export const LensFlare: FC<LensFlareProps> = ({
12
+ ref: forwardedRef,
13
+ ...props
14
+ }) => {
15
15
  const { blendFunction, ...others } = {
16
16
  ...lensFlareEffectOptionsDefaults,
17
17
  ...props
@@ -25,4 +25,4 @@ export const LensFlare = /*#__PURE__*/ forwardRef<
25
25
  }, [effect])
26
26
 
27
27
  return <primitive ref={forwardedRef} object={effect} {...others} />
28
- })
28
+ }
@@ -1,44 +1,42 @@
1
1
  import { type ElementProps } from '@react-three/fiber'
2
2
  import { EffectComposerContext } from '@react-three/postprocessing'
3
- import { forwardRef, useContext, useEffect, useMemo } from 'react'
3
+ import { useContext, useEffect, useMemo, type FC } from 'react'
4
4
 
5
5
  import { NormalEffect, normalEffectOptionsDefaults } from '../NormalEffect'
6
6
  import { type EffectComposerContextValue } from './EffectComposer'
7
7
 
8
8
  export interface NormalProps extends ElementProps<typeof NormalEffect> {}
9
9
 
10
- export const Normal = /*#__PURE__*/ forwardRef<NormalEffect, NormalProps>(
11
- function Normal(props, forwardedRef) {
12
- const { blendFunction, ...others } = {
13
- ...normalEffectOptionsDefaults,
14
- ...props
15
- }
10
+ export const Normal: FC<NormalProps> = ({ ref: forwardedRef, ...props }) => {
11
+ const { blendFunction, ...others } = {
12
+ ...normalEffectOptionsDefaults,
13
+ ...props
14
+ }
16
15
 
17
- const { geometryPass, normalPass, camera } = useContext(
18
- EffectComposerContext
19
- ) as EffectComposerContextValue
16
+ const { geometryPass, normalPass, camera } = useContext(
17
+ EffectComposerContext
18
+ ) as EffectComposerContextValue
20
19
 
21
- const effect = useMemo(
22
- () => new NormalEffect(camera, { blendFunction }),
23
- [camera, blendFunction]
24
- )
25
- useEffect(() => {
26
- return () => {
27
- effect.dispose()
28
- }
29
- }, [effect])
20
+ const effect = useMemo(
21
+ () => new NormalEffect(camera, { blendFunction }),
22
+ [camera, blendFunction]
23
+ )
24
+ useEffect(() => {
25
+ return () => {
26
+ effect.dispose()
27
+ }
28
+ }, [effect])
30
29
 
31
- return (
32
- <primitive
33
- ref={forwardedRef}
34
- object={effect}
35
- mainCamera={camera}
36
- normalBuffer={
37
- geometryPass?.geometryTexture ?? normalPass?.texture ?? null
38
- }
39
- {...others}
40
- octEncoded={geometryPass?.geometryTexture != null}
41
- />
42
- )
43
- }
44
- )
30
+ return (
31
+ <primitive
32
+ ref={forwardedRef}
33
+ object={effect}
34
+ mainCamera={camera}
35
+ normalBuffer={
36
+ geometryPass?.geometryTexture ?? normalPass?.texture ?? null
37
+ }
38
+ {...others}
39
+ octEncoded={geometryPass?.geometryTexture != null}
40
+ />
41
+ )
42
+ }
@@ -1,6 +1,6 @@
1
1
  import { EffectComposerContext } from '@react-three/postprocessing';
2
2
  import { EffectComposer as EffectComposerImpl } from 'postprocessing';
3
- import { Context, ReactNode } from 'react';
3
+ import { Context, FC, ReactNode, RefAttributes } from 'react';
4
4
  import { Camera, Scene, TextureDataType } from 'three';
5
5
  import { GeometryPass } from '../GeometryPass';
6
6
  type InferContextValue<T> = T extends Context<infer U> ? U : never;
@@ -20,5 +20,5 @@ export interface EffectComposerProps {
20
20
  scene?: Scene;
21
21
  children?: ReactNode;
22
22
  }
23
- export declare const EffectComposer: import('react').ForwardRefExoticComponent<EffectComposerProps & import('react').RefAttributes<EffectComposerImpl>>;
23
+ export declare const EffectComposer: FC<EffectComposerProps & RefAttributes<EffectComposerImpl>>;
24
24
  export {};
@@ -1,5 +1,6 @@
1
1
  import { ElementProps } from '@react-three/fiber';
2
+ import { FC } from 'react';
2
3
  import { GeometryEffect } from '../GeometryEffect';
3
4
  export interface GeometryProps extends ElementProps<typeof GeometryEffect> {
4
5
  }
5
- export declare const Geometry: import('react').ForwardRefExoticComponent<Omit<GeometryProps, "ref"> & import('react').RefAttributes<GeometryEffect>>;
6
+ export declare const Geometry: FC<GeometryProps>;
@@ -1,5 +1,6 @@
1
1
  import { ElementProps } from '@react-three/fiber';
2
+ import { FC } from 'react';
2
3
  import { LensFlareEffect } from '../LensFlareEffect';
3
4
  export interface LensFlareProps extends ElementProps<typeof LensFlareEffect> {
4
5
  }
5
- export declare const LensFlare: import('react').ForwardRefExoticComponent<Omit<LensFlareProps, "ref"> & import('react').RefAttributes<LensFlareEffect>>;
6
+ export declare const LensFlare: FC<LensFlareProps>;
@@ -1,5 +1,6 @@
1
1
  import { ElementProps } from '@react-three/fiber';
2
+ import { FC } from 'react';
2
3
  import { NormalEffect } from '../NormalEffect';
3
4
  export interface NormalProps extends ElementProps<typeof NormalEffect> {
4
5
  }
5
- export declare const Normal: import('react').ForwardRefExoticComponent<Omit<NormalProps, "ref"> & import('react').RefAttributes<NormalEffect>>;
6
+ export declare const Normal: FC<NormalProps>;