@paper-design/shaders-react 0.0.79 → 0.0.80

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.
@@ -122,7 +122,7 @@ const smokePreset = {
122
122
  swirl: 0,
123
123
  noise: 1,
124
124
  noiseFrequency: 0.35,
125
- noiseOffset: 9,
125
+ noiseOffset: 0.3,
126
126
  lensBulge: 0,
127
127
  lensCircle: 0,
128
128
  grainMixer: 0,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/shaders/lens-distortion.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 lensDistortionFragmentShader,\n ShaderFitOptions,\n type LensDistortionUniforms,\n type LensDistortionParams,\n defaultObjectSizing,\n type ImageShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface LensDistortionProps extends ShaderComponentProps, LensDistortionParams {}\n\ntype LensDistortionPreset = ImageShaderPreset<LensDistortionParams>;\n\nexport const defaultPreset: LensDistortionPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.6,\n bias: 1,\n angle: 0,\n perspective: 0.1,\n count: 35,\n dispersion: 1,\n dispersionShift: 0,\n dispersionColor: 0.6,\n focusCenter: 0.8,\n focusEdges: 1,\n swirl: 0.35,\n noise: 0,\n noiseFrequency: 0.25,\n noiseOffset: 0,\n lensBulge: 0,\n lensCircle: 0,\n grainMixer: 0,\n grainOverlay: 0,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const fisheyePreset: LensDistortionPreset = {\n name: 'Fisheye',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.7,\n bias: 1,\n angle: 0,\n perspective: 0.75,\n count: 15,\n dispersion: 1,\n dispersionShift: 0,\n dispersionColor: 0.7,\n focusCenter: 0.9,\n focusEdges: 1,\n swirl: 1,\n noise: 0,\n noiseFrequency: 0.25,\n noiseOffset: 0,\n lensBulge: 0.95,\n lensCircle: 1,\n grainMixer: 0.5,\n grainOverlay: 0,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const duotonePreset: LensDistortionPreset = {\n name: 'Duotone',\n params: {\n ...defaultObjectSizing,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.1,\n bias: 0,\n angle: 0,\n perspective: 0,\n count: 2,\n dispersion: 1,\n dispersionShift: 0,\n dispersionColor: 0.1,\n focusCenter: 0,\n focusEdges: 0,\n swirl: 0,\n noise: 0,\n noiseFrequency: 0.25,\n noiseOffset: 0,\n lensBulge: 0,\n lensCircle: 0,\n grainMixer: 0.1,\n grainOverlay: 0.3,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const smokePreset: LensDistortionPreset = {\n name: 'Smoke',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.65,\n bias: -1,\n angle: 0,\n perspective: 0.4,\n count: 50,\n dispersion: 0,\n dispersionShift: 0,\n dispersionColor: 0.31,\n focusCenter: 0,\n focusEdges: 0.6,\n swirl: 0,\n noise: 1,\n noiseFrequency: 0.35,\n noiseOffset: 9,\n lensBulge: 0,\n lensCircle: 0,\n grainMixer: 0,\n grainOverlay: 0,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const lensDistortionPresets: LensDistortionPreset[] = [\n defaultPreset,\n fisheyePreset,\n duotonePreset,\n smokePreset,\n];\n\nexport const LensDistortion: React.FC<LensDistortionProps> = memo(function LensDistortionImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n image = '',\n spread = defaultPreset.params.spread,\n bias = defaultPreset.params.bias,\n angle = defaultPreset.params.angle,\n perspective = defaultPreset.params.perspective,\n count = defaultPreset.params.count,\n dispersion = defaultPreset.params.dispersion,\n dispersionShift = defaultPreset.params.dispersionShift,\n dispersionColor = defaultPreset.params.dispersionColor,\n focusCenter = defaultPreset.params.focusCenter,\n focusEdges = defaultPreset.params.focusEdges,\n swirl = defaultPreset.params.swirl,\n noise = defaultPreset.params.noise,\n noiseFrequency = defaultPreset.params.noiseFrequency,\n noiseOffset = defaultPreset.params.noiseOffset,\n lensBulge = defaultPreset.params.lensBulge,\n lensCircle = defaultPreset.params.lensCircle,\n grainMixer = defaultPreset.params.grainMixer,\n grainOverlay = defaultPreset.params.grainOverlay,\n imageX = defaultPreset.params.imageX,\n imageY = defaultPreset.params.imageY,\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}: LensDistortionProps) {\n const uniforms = {\n // Own uniforms\n u_image: image,\n u_spread: spread,\n u_bias: bias,\n u_angle: angle,\n u_perspective: perspective,\n u_count: count,\n u_dispersion: dispersion,\n u_dispersionShift: dispersionShift,\n u_dispersionColor: dispersionColor,\n u_focusCenter: focusCenter,\n u_focusEdges: focusEdges,\n u_swirl: swirl,\n u_noise: noise,\n u_noiseFrequency: noiseFrequency,\n u_noiseOffset: noiseOffset,\n u_lensBulge: lensBulge,\n u_lensCircle: lensCircle,\n u_grainMixer: grainMixer,\n u_grainOverlay: grainOverlay,\n u_imageX: imageX,\n u_imageY: imageY,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_rotation: rotation,\n u_scale: scale,\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 LensDistortionUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={lensDistortionFragmentShader}\n mipmaps={['u_image']}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n lensDistortionFragmentShader,\n ShaderFitOptions,\n type LensDistortionUniforms,\n type LensDistortionParams,\n defaultObjectSizing,\n type ImageShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface LensDistortionProps extends ShaderComponentProps, LensDistortionParams {}\n\ntype LensDistortionPreset = ImageShaderPreset<LensDistortionParams>;\n\nexport const defaultPreset: LensDistortionPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.6,\n bias: 1,\n angle: 0,\n perspective: 0.1,\n count: 35,\n dispersion: 1,\n dispersionShift: 0,\n dispersionColor: 0.6,\n focusCenter: 0.8,\n focusEdges: 1,\n swirl: 0.35,\n noise: 0,\n noiseFrequency: 0.25,\n noiseOffset: 0,\n lensBulge: 0,\n lensCircle: 0,\n grainMixer: 0,\n grainOverlay: 0,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const fisheyePreset: LensDistortionPreset = {\n name: 'Fisheye',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.7,\n bias: 1,\n angle: 0,\n perspective: 0.75,\n count: 15,\n dispersion: 1,\n dispersionShift: 0,\n dispersionColor: 0.7,\n focusCenter: 0.9,\n focusEdges: 1,\n swirl: 1,\n noise: 0,\n noiseFrequency: 0.25,\n noiseOffset: 0,\n lensBulge: 0.95,\n lensCircle: 1,\n grainMixer: 0.5,\n grainOverlay: 0,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const duotonePreset: LensDistortionPreset = {\n name: 'Duotone',\n params: {\n ...defaultObjectSizing,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.1,\n bias: 0,\n angle: 0,\n perspective: 0,\n count: 2,\n dispersion: 1,\n dispersionShift: 0,\n dispersionColor: 0.1,\n focusCenter: 0,\n focusEdges: 0,\n swirl: 0,\n noise: 0,\n noiseFrequency: 0.25,\n noiseOffset: 0,\n lensBulge: 0,\n lensCircle: 0,\n grainMixer: 0.1,\n grainOverlay: 0.3,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const smokePreset: LensDistortionPreset = {\n name: 'Smoke',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n fit: 'contain',\n speed: 0,\n frame: 0,\n spread: 0.65,\n bias: -1,\n angle: 0,\n perspective: 0.4,\n count: 50,\n dispersion: 0,\n dispersionShift: 0,\n dispersionColor: 0.31,\n focusCenter: 0,\n focusEdges: 0.6,\n swirl: 0,\n noise: 1,\n noiseFrequency: 0.35,\n noiseOffset: 0.3,\n lensBulge: 0,\n lensCircle: 0,\n grainMixer: 0,\n grainOverlay: 0,\n imageX: 0,\n imageY: 0,\n },\n} as const;\n\nexport const lensDistortionPresets: LensDistortionPreset[] = [\n defaultPreset,\n fisheyePreset,\n duotonePreset,\n smokePreset,\n];\n\nexport const LensDistortion: React.FC<LensDistortionProps> = memo(function LensDistortionImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n image = '',\n spread = defaultPreset.params.spread,\n bias = defaultPreset.params.bias,\n angle = defaultPreset.params.angle,\n perspective = defaultPreset.params.perspective,\n count = defaultPreset.params.count,\n dispersion = defaultPreset.params.dispersion,\n dispersionShift = defaultPreset.params.dispersionShift,\n dispersionColor = defaultPreset.params.dispersionColor,\n focusCenter = defaultPreset.params.focusCenter,\n focusEdges = defaultPreset.params.focusEdges,\n swirl = defaultPreset.params.swirl,\n noise = defaultPreset.params.noise,\n noiseFrequency = defaultPreset.params.noiseFrequency,\n noiseOffset = defaultPreset.params.noiseOffset,\n lensBulge = defaultPreset.params.lensBulge,\n lensCircle = defaultPreset.params.lensCircle,\n grainMixer = defaultPreset.params.grainMixer,\n grainOverlay = defaultPreset.params.grainOverlay,\n imageX = defaultPreset.params.imageX,\n imageY = defaultPreset.params.imageY,\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}: LensDistortionProps) {\n const uniforms = {\n // Own uniforms\n u_image: image,\n u_spread: spread,\n u_bias: bias,\n u_angle: angle,\n u_perspective: perspective,\n u_count: count,\n u_dispersion: dispersion,\n u_dispersionShift: dispersionShift,\n u_dispersionColor: dispersionColor,\n u_focusCenter: focusCenter,\n u_focusEdges: focusEdges,\n u_swirl: swirl,\n u_noise: noise,\n u_noiseFrequency: noiseFrequency,\n u_noiseOffset: noiseOffset,\n u_lensBulge: lensBulge,\n u_lensCircle: lensCircle,\n u_grainMixer: grainMixer,\n u_grainOverlay: grainOverlay,\n u_imageX: imageX,\n u_imageY: imageY,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_rotation: rotation,\n u_scale: scale,\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 LensDistortionUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={lensDistortionFragmentShader}\n mipmaps={['u_image']}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
5
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.79",
3
+ "version": "0.0.80",
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.79"
29
+ "@paper-design/shaders": "0.0.80"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/react": "19.1.0"