@paper-design/shaders-react 0.0.0-canary.821d62d → 0.0.0-canary.b7acb21

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.
@@ -18,8 +18,6 @@ const defaultPreset = {
18
18
  name: "Default",
19
19
  params: {
20
20
  ...defaultObjectSizing,
21
- blending: 1,
22
- distortion: 0.75,
23
21
  fit: "contain",
24
22
  scale: 0.9,
25
23
  speed: 0,
@@ -27,32 +25,32 @@ const defaultPreset = {
27
25
  colorBack: "#d3d2ab",
28
26
  colorPaper: "#ffffffb5",
29
27
  colorShadow: "#b3b3b3",
28
+ blending: 1,
29
+ distortion: 0.75,
30
+ clip: false,
31
+ angle: 300,
32
+ seed: 234,
30
33
  roughness: 0.4,
31
- roughnessSize: 0.25,
34
+ roughnessSize: 0.5,
32
35
  roughnessRows: 0,
33
36
  fiber: 0.4,
34
37
  fiberSize: 0.5,
35
- crumples: 0,
36
- crumpleCount: 6,
37
- wrinkles: 1,
38
- wrinkleSize: 0.65,
39
38
  folds: 0,
40
39
  foldSizeX: 0.6,
41
40
  foldSizeY: 0.44,
42
41
  foldOffsetX: 0,
43
42
  foldOffsetY: 0,
44
- angle: 300,
45
- drops: 1,
46
- seed: 234,
47
- clip: false
43
+ wrinkles: 1,
44
+ wrinkleSize: 0.65,
45
+ crumples: 0,
46
+ crumpleCount: 6,
47
+ drops: 0.5
48
48
  }
49
49
  };
50
50
  const creasedPreset = {
51
51
  name: "Creased",
52
52
  params: {
53
53
  ...defaultObjectSizing,
54
- blending: 1,
55
- distortion: -0.5,
56
54
  fit: "contain",
57
55
  scale: 0.9,
58
56
  speed: 0,
@@ -60,32 +58,32 @@ const creasedPreset = {
60
58
  colorBack: "#d3d2ab",
61
59
  colorPaper: "#ffffff",
62
60
  colorShadow: "#b3b3b3",
61
+ blending: 1,
62
+ distortion: -0.5,
63
+ clip: false,
64
+ angle: 236,
65
+ seed: 185,
63
66
  roughness: 0.4,
64
67
  roughnessSize: 0.25,
65
68
  roughnessRows: 0,
66
69
  fiber: 0.4,
67
70
  fiberSize: 0.5,
68
- crumples: 1,
69
- crumpleCount: 7,
70
- wrinkles: 0,
71
- wrinkleSize: 0.65,
72
71
  folds: 0,
73
72
  foldSizeX: 0.6,
74
73
  foldSizeY: 0.89,
75
74
  foldOffsetX: 0.59,
76
75
  foldOffsetY: 1,
77
- angle: 236,
78
- drops: 0,
79
- seed: 185,
80
- clip: false
76
+ wrinkles: 0,
77
+ wrinkleSize: 0.65,
78
+ crumples: 1,
79
+ crumpleCount: 7,
80
+ drops: 0
81
81
  }
82
82
  };
83
83
  const spreadPreset = {
84
84
  name: "Spread",
85
85
  params: {
86
86
  ...defaultObjectSizing,
87
- blending: 1,
88
- distortion: -0.3,
89
87
  fit: "contain",
90
88
  scale: 0.9,
91
89
  speed: 0,
@@ -93,32 +91,32 @@ const spreadPreset = {
93
91
  colorBack: "#ffffff00",
94
92
  colorPaper: "#ffffffb5",
95
93
  colorShadow: "#b3b3b3",
94
+ blending: 1,
95
+ distortion: -0.3,
96
+ clip: true,
97
+ angle: 236,
98
+ seed: 613,
96
99
  roughness: 0.15,
97
100
  roughnessSize: 0.25,
98
101
  roughnessRows: 0,
99
102
  fiber: 0.5,
100
103
  fiberSize: 0.5,
101
- crumples: 0,
102
- crumpleCount: 9,
103
- wrinkles: 0,
104
- wrinkleSize: 0.65,
105
104
  folds: 1,
106
105
  foldSizeX: 0.4,
107
106
  foldSizeY: 0.89,
108
107
  foldOffsetX: 0,
109
108
  foldOffsetY: 0,
110
- angle: 236,
111
- drops: 0,
112
- seed: 613,
113
- clip: true
109
+ wrinkles: 0,
110
+ wrinkleSize: 0.65,
111
+ crumples: 0,
112
+ crumpleCount: 9,
113
+ drops: 0
114
114
  }
115
115
  };
116
116
  const flatPreset = {
117
117
  name: "Flat",
118
118
  params: {
119
119
  ...defaultObjectSizing,
120
- blending: 1,
121
- distortion: 0,
122
120
  fit: "contain",
123
121
  scale: 0.9,
124
122
  speed: 0,
@@ -126,24 +124,26 @@ const flatPreset = {
126
124
  colorBack: "#d4cdab",
127
125
  colorPaper: "#ffffffa8",
128
126
  colorShadow: "#b3b3b3",
127
+ blending: 1,
128
+ distortion: 0,
129
+ clip: false,
130
+ angle: 0,
131
+ seed: 455,
129
132
  roughness: 1,
130
133
  roughnessSize: 0.5,
131
134
  roughnessRows: 0.6,
132
135
  fiber: 0.7,
133
136
  fiberSize: 1,
134
- crumples: 0,
135
- crumpleCount: 6,
136
- wrinkles: 0,
137
- wrinkleSize: 0,
138
137
  folds: 0,
139
138
  foldSizeX: 0,
140
139
  foldSizeY: 0.44,
141
140
  foldOffsetX: 0,
142
141
  foldOffsetY: 0,
143
- angle: 0,
144
- drops: 0.5,
145
- seed: 455,
146
- clip: false
142
+ wrinkles: 0,
143
+ wrinkleSize: 0,
144
+ crumples: 0,
145
+ crumpleCount: 6,
146
+ drops: 0.2
147
147
  }
148
148
  };
149
149
  const paperTexturePresets = [
@@ -156,33 +156,32 @@ const PaperTexture = memo(function PaperTextureImpl({
156
156
  // Own props
157
157
  speed = defaultPreset.params.speed,
158
158
  frame = defaultPreset.params.frame,
159
+ image = "",
159
160
  colorBack = defaultPreset.params.colorBack,
160
161
  colorPaper = defaultPreset.params.colorPaper,
161
162
  colorShadow = defaultPreset.params.colorShadow,
162
- image = "",
163
+ blending = defaultPreset.params.blending,
164
+ distortion = defaultPreset.params.distortion,
165
+ clip = defaultPreset.params.clip,
166
+ angle = defaultPreset.params.angle,
167
+ seed = defaultPreset.params.seed,
163
168
  roughness = defaultPreset.params.roughness,
164
169
  roughnessSize = defaultPreset.params.roughnessSize,
165
170
  roughnessRows = defaultPreset.params.roughnessRows,
166
171
  fiber = defaultPreset.params.fiber,
167
- crumples = defaultPreset.params.crumples,
168
- wrinkles = defaultPreset.params.wrinkles,
169
- wrinkleSize = defaultPreset.params.wrinkleSize,
172
+ fiberScale,
173
+ fiberSize = fiberScale === void 0 ? defaultPreset.params.fiberSize : 0.2 / fiberScale,
170
174
  folds = defaultPreset.params.folds,
171
175
  foldSizeX = defaultPreset.params.foldSizeX,
172
176
  foldSizeY = defaultPreset.params.foldSizeY,
173
177
  foldOffsetX = defaultPreset.params.foldOffsetX,
174
178
  foldOffsetY = defaultPreset.params.foldOffsetY,
175
- angle = defaultPreset.params.angle,
176
- drops = defaultPreset.params.drops,
177
- seed = defaultPreset.params.seed,
178
- blending = defaultPreset.params.blending,
179
- distortion = defaultPreset.params.distortion,
180
- clip = defaultPreset.params.clip,
181
- // Reworked props
182
- fiberScale,
183
- fiberSize = fiberScale === void 0 ? defaultPreset.params.fiberSize : 0.2 / fiberScale,
179
+ wrinkles = defaultPreset.params.wrinkles,
180
+ wrinkleSize = defaultPreset.params.wrinkleSize,
181
+ crumples = defaultPreset.params.crumples,
184
182
  foldsNumber,
185
183
  crumpleCount = foldsNumber === void 0 ? defaultPreset.params.crumpleCount : foldsNumber,
184
+ drops = defaultPreset.params.drops,
186
185
  // Sizing props
187
186
  fit = defaultPreset.params.fit,
188
187
  scale = defaultPreset.params.scale,
@@ -203,26 +202,26 @@ const PaperTexture = memo(function PaperTextureImpl({
203
202
  u_colorBack: getShaderColorFromString(colorBack),
204
203
  u_colorPaper: getShaderColorFromString(colorPaper),
205
204
  u_colorShadow: getShaderColorFromString(colorShadow),
205
+ u_blending: blending,
206
+ u_distortion: distortion,
207
+ u_clip: clip,
208
+ u_angle: angle,
209
+ u_seed: seed,
206
210
  u_roughness: roughness,
207
211
  u_roughnessSize: roughnessSize,
208
212
  u_roughnessRows: roughnessRows,
209
213
  u_fiber: fiber,
210
214
  u_fiberSize: fiberSize,
211
- u_crumpleCount: crumpleCount,
215
+ u_folds: folds,
212
216
  u_foldSizeX: foldSizeX,
213
217
  u_foldSizeY: foldSizeY,
214
218
  u_foldOffsetX: foldOffsetX,
215
219
  u_foldOffsetY: foldOffsetY,
216
- u_angle: angle,
217
- u_crumples: crumples,
218
220
  u_wrinkles: wrinkles,
219
221
  u_wrinkleSize: wrinkleSize,
220
- u_folds: folds,
222
+ u_crumples: crumples,
223
+ u_crumpleCount: crumpleCount,
221
224
  u_drops: drops,
222
- u_seed: seed,
223
- u_blending: blending,
224
- u_distortion: distortion,
225
- u_clip: clip,
226
225
  ...noiseTexture,
227
226
  // Sizing uniforms
228
227
  u_fit: ShaderFitOptions[fit],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/shaders/paper-texture.tsx"],
4
- "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n getShaderNoiseTexture,\n paperTextureFragmentShader,\n ShaderFitOptions,\n type ImageShaderPreset,\n type PaperTextureParams,\n type PaperTextureUniforms,\n} from '@paper-design/shaders';\n\nexport interface PaperTextureProps extends ShaderComponentProps, PaperTextureParams {\n /** @deprecated use `fiberSize` instead */\n fiberScale?: number;\n /** @deprecated use `crumpleCount` instead */\n foldsNumber?: number;\n}\n\ntype PaperTexturePreset = ImageShaderPreset<PaperTextureParams>;\n\nexport const defaultPreset: PaperTexturePreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n blending: 1,\n distortion: 0.75,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#d3d2ab',\n colorPaper: '#ffffffb5',\n colorShadow: '#b3b3b3',\n roughness: 0.4,\n roughnessSize: 0.25,\n roughnessRows: 0,\n fiber: 0.4,\n fiberSize: 0.5,\n crumples: 0,\n crumpleCount: 6,\n wrinkles: 1,\n wrinkleSize: 0.65,\n folds: 0,\n foldSizeX: 0.6,\n foldSizeY: 0.44,\n foldOffsetX: 0,\n foldOffsetY: 0,\n angle: 300,\n drops: 1,\n seed: 234,\n clip: false,\n },\n};\n\nexport const creasedPreset: PaperTexturePreset = {\n name: 'Creased',\n params: {\n ...defaultObjectSizing,\n blending: 1,\n distortion: -0.5,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#d3d2ab',\n colorPaper: '#ffffff',\n colorShadow: '#b3b3b3',\n roughness: 0.4,\n roughnessSize: 0.25,\n roughnessRows: 0,\n fiber: 0.4,\n fiberSize: 0.5,\n crumples: 1,\n crumpleCount: 7,\n wrinkles: 0,\n wrinkleSize: 0.65,\n folds: 0,\n foldSizeX: 0.6,\n foldSizeY: 0.89,\n foldOffsetX: 0.59,\n foldOffsetY: 1,\n angle: 236,\n drops: 0,\n seed: 185,\n clip: false,\n },\n};\n\nexport const spreadPreset: PaperTexturePreset = {\n name: 'Spread',\n params: {\n ...defaultObjectSizing,\n blending: 1,\n distortion: -0.3,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#ffffff00',\n colorPaper: '#ffffffb5',\n colorShadow: '#b3b3b3',\n roughness: 0.15,\n roughnessSize: 0.25,\n roughnessRows: 0,\n fiber: 0.5,\n fiberSize: 0.5,\n crumples: 0,\n crumpleCount: 9,\n wrinkles: 0,\n wrinkleSize: 0.65,\n folds: 1,\n foldSizeX: 0.4,\n foldSizeY: 0.89,\n foldOffsetX: 0,\n foldOffsetY: 0,\n angle: 236,\n drops: 0,\n seed: 613,\n clip: true,\n },\n};\n\nexport const flatPreset: PaperTexturePreset = {\n name: 'Flat',\n params: {\n ...defaultObjectSizing,\n blending: 1,\n distortion: 0,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#d4cdab',\n colorPaper: '#ffffffa8',\n colorShadow: '#b3b3b3',\n roughness: 1,\n roughnessSize: 0.5,\n roughnessRows: 0.6,\n fiber: 0.7,\n fiberSize: 1,\n crumples: 0,\n crumpleCount: 6,\n wrinkles: 0,\n wrinkleSize: 0,\n folds: 0,\n foldSizeX: 0,\n foldSizeY: 0.44,\n foldOffsetX: 0,\n foldOffsetY: 0,\n angle: 0,\n drops: 0.5,\n seed: 455,\n clip: false,\n },\n};\n\nexport const paperTexturePresets: PaperTexturePreset[] = [\n defaultPreset,\n spreadPreset,\n creasedPreset,\n flatPreset,\n] as const;\n\nexport const PaperTexture: React.FC<PaperTextureProps> = memo(function PaperTextureImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colorPaper = defaultPreset.params.colorPaper,\n colorShadow = defaultPreset.params.colorShadow,\n image = '',\n roughness = defaultPreset.params.roughness,\n roughnessSize = defaultPreset.params.roughnessSize,\n roughnessRows = defaultPreset.params.roughnessRows,\n fiber = defaultPreset.params.fiber,\n crumples = defaultPreset.params.crumples,\n wrinkles = defaultPreset.params.wrinkles,\n wrinkleSize = defaultPreset.params.wrinkleSize,\n folds = defaultPreset.params.folds,\n foldSizeX = defaultPreset.params.foldSizeX,\n foldSizeY = defaultPreset.params.foldSizeY,\n foldOffsetX = defaultPreset.params.foldOffsetX,\n foldOffsetY = defaultPreset.params.foldOffsetY,\n angle = defaultPreset.params.angle,\n drops = defaultPreset.params.drops,\n seed = defaultPreset.params.seed,\n blending = defaultPreset.params.blending,\n distortion = defaultPreset.params.distortion,\n clip = defaultPreset.params.clip,\n\n // Reworked props\n fiberScale,\n fiberSize = fiberScale === undefined ? defaultPreset.params.fiberSize : 0.2 / fiberScale,\n foldsNumber,\n crumpleCount = foldsNumber === undefined ? defaultPreset.params.crumpleCount : foldsNumber,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: PaperTextureProps) {\n const noiseTexture = typeof window !== 'undefined' && { u_noiseTexture: getShaderNoiseTexture() };\n\n const uniforms = {\n // Own uniforms\n u_image: image,\n u_isImage: Boolean(image),\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorPaper: getShaderColorFromString(colorPaper),\n u_colorShadow: getShaderColorFromString(colorShadow),\n u_roughness: roughness,\n u_roughnessSize: roughnessSize,\n u_roughnessRows: roughnessRows,\n u_fiber: fiber,\n u_fiberSize: fiberSize,\n u_crumpleCount: crumpleCount,\n u_foldSizeX: foldSizeX,\n u_foldSizeY: foldSizeY,\n u_foldOffsetX: foldOffsetX,\n u_foldOffsetY: foldOffsetY,\n u_angle: angle,\n u_crumples: crumples,\n u_wrinkles: wrinkles,\n u_wrinkleSize: wrinkleSize,\n u_folds: folds,\n u_drops: drops,\n u_seed: seed,\n u_blending: blending,\n u_distortion: distortion,\n u_clip: clip,\n ...noiseTexture,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies PaperTextureUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={paperTextureFragmentShader}\n mipmaps={['u_image']}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n getShaderNoiseTexture,\n paperTextureFragmentShader,\n ShaderFitOptions,\n type ImageShaderPreset,\n type PaperTextureParams,\n type PaperTextureUniforms,\n} from '@paper-design/shaders';\n\nexport interface PaperTextureProps extends ShaderComponentProps, PaperTextureParams {\n /** @deprecated use `fiberSize` instead */\n fiberScale?: number;\n /** @deprecated use `crumpleCount` instead */\n foldsNumber?: number;\n}\n\ntype PaperTexturePreset = ImageShaderPreset<PaperTextureParams>;\n\nexport const defaultPreset: PaperTexturePreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#d3d2ab',\n colorPaper: '#ffffffb5',\n colorShadow: '#b3b3b3',\n blending: 1,\n distortion: 0.75,\n clip: false,\n angle: 300,\n seed: 234,\n roughness: 0.4,\n roughnessSize: 0.5,\n roughnessRows: 0,\n fiber: 0.4,\n fiberSize: 0.5,\n folds: 0,\n foldSizeX: 0.6,\n foldSizeY: 0.44,\n foldOffsetX: 0,\n foldOffsetY: 0,\n wrinkles: 1,\n wrinkleSize: 0.65,\n crumples: 0,\n crumpleCount: 6,\n drops: 0.5,\n },\n};\n\nexport const creasedPreset: PaperTexturePreset = {\n name: 'Creased',\n params: {\n ...defaultObjectSizing,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#d3d2ab',\n colorPaper: '#ffffff',\n colorShadow: '#b3b3b3',\n blending: 1,\n distortion: -0.5,\n clip: false,\n angle: 236,\n seed: 185,\n roughness: 0.4,\n roughnessSize: 0.25,\n roughnessRows: 0,\n fiber: 0.4,\n fiberSize: 0.5,\n folds: 0,\n foldSizeX: 0.6,\n foldSizeY: 0.89,\n foldOffsetX: 0.59,\n foldOffsetY: 1,\n wrinkles: 0,\n wrinkleSize: 0.65,\n crumples: 1,\n crumpleCount: 7,\n drops: 0,\n },\n};\n\nexport const spreadPreset: PaperTexturePreset = {\n name: 'Spread',\n params: {\n ...defaultObjectSizing,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#ffffff00',\n colorPaper: '#ffffffb5',\n colorShadow: '#b3b3b3',\n blending: 1,\n distortion: -0.3,\n clip: true,\n angle: 236,\n seed: 613,\n roughness: 0.15,\n roughnessSize: 0.25,\n roughnessRows: 0,\n fiber: 0.5,\n fiberSize: 0.5,\n folds: 1,\n foldSizeX: 0.4,\n foldSizeY: 0.89,\n foldOffsetX: 0,\n foldOffsetY: 0,\n wrinkles: 0,\n wrinkleSize: 0.65,\n crumples: 0,\n crumpleCount: 9,\n drops: 0,\n },\n};\n\nexport const flatPreset: PaperTexturePreset = {\n name: 'Flat',\n params: {\n ...defaultObjectSizing,\n fit: 'contain',\n scale: 0.9,\n speed: 0,\n frame: 0,\n colorBack: '#d4cdab',\n colorPaper: '#ffffffa8',\n colorShadow: '#b3b3b3',\n blending: 1,\n distortion: 0,\n clip: false,\n angle: 0,\n seed: 455,\n roughness: 1,\n roughnessSize: 0.5,\n roughnessRows: 0.6,\n fiber: 0.7,\n fiberSize: 1,\n folds: 0,\n foldSizeX: 0,\n foldSizeY: 0.44,\n foldOffsetX: 0,\n foldOffsetY: 0,\n wrinkles: 0,\n wrinkleSize: 0,\n crumples: 0,\n crumpleCount: 6,\n drops: 0.2,\n },\n};\n\nexport const paperTexturePresets: PaperTexturePreset[] = [\n defaultPreset,\n spreadPreset,\n creasedPreset,\n flatPreset,\n] as const;\n\nexport const PaperTexture: React.FC<PaperTextureProps> = memo(function PaperTextureImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n image = '',\n colorBack = defaultPreset.params.colorBack,\n colorPaper = defaultPreset.params.colorPaper,\n colorShadow = defaultPreset.params.colorShadow,\n blending = defaultPreset.params.blending,\n distortion = defaultPreset.params.distortion,\n clip = defaultPreset.params.clip,\n angle = defaultPreset.params.angle,\n seed = defaultPreset.params.seed,\n roughness = defaultPreset.params.roughness,\n roughnessSize = defaultPreset.params.roughnessSize,\n roughnessRows = defaultPreset.params.roughnessRows,\n fiber = defaultPreset.params.fiber,\n fiberScale,\n fiberSize = fiberScale === undefined ? defaultPreset.params.fiberSize : 0.2 / fiberScale,\n folds = defaultPreset.params.folds,\n foldSizeX = defaultPreset.params.foldSizeX,\n foldSizeY = defaultPreset.params.foldSizeY,\n foldOffsetX = defaultPreset.params.foldOffsetX,\n foldOffsetY = defaultPreset.params.foldOffsetY,\n wrinkles = defaultPreset.params.wrinkles,\n wrinkleSize = defaultPreset.params.wrinkleSize,\n crumples = defaultPreset.params.crumples,\n foldsNumber,\n crumpleCount = foldsNumber === undefined ? defaultPreset.params.crumpleCount : foldsNumber,\n drops = defaultPreset.params.drops,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: PaperTextureProps) {\n const noiseTexture = typeof window !== 'undefined' && { u_noiseTexture: getShaderNoiseTexture() };\n\n const uniforms = {\n // Own uniforms\n u_image: image,\n u_isImage: Boolean(image),\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorPaper: getShaderColorFromString(colorPaper),\n u_colorShadow: getShaderColorFromString(colorShadow),\n u_blending: blending,\n u_distortion: distortion,\n u_clip: clip,\n u_angle: angle,\n u_seed: seed,\n u_roughness: roughness,\n u_roughnessSize: roughnessSize,\n u_roughnessRows: roughnessRows,\n u_fiber: fiber,\n u_fiberSize: fiberSize,\n u_folds: folds,\n u_foldSizeX: foldSizeX,\n u_foldSizeY: foldSizeY,\n u_foldOffsetX: foldOffsetX,\n u_foldOffsetY: foldOffsetY,\n u_wrinkles: wrinkles,\n u_wrinkleSize: wrinkleSize,\n u_crumples: crumples,\n u_crumpleCount: crumpleCount,\n u_drops: drops,\n ...noiseTexture,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies PaperTextureUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={paperTextureFragmentShader}\n mipmaps={['u_image']}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paper-design/shaders-react",
3
- "version": "0.0.0-canary.821d62d",
3
+ "version": "0.0.0-canary.b7acb21",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -26,7 +26,7 @@
26
26
  "type-check": "tsc --project tsconfig.json"
27
27
  },
28
28
  "dependencies": {
29
- "@paper-design/shaders": "0.0.0-canary.821d62d"
29
+ "@paper-design/shaders": "0.0.0-canary.b7acb21"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/react": "19.1.0"