@flighthq/effects-wgpu 0.1.0 → 0.2.1-next.410.a23f189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/index.d.ts +17 -10
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +17 -10
  4. package/dist/index.js.map +1 -1
  5. package/dist/wgpuBevelEffect.d.ts +4 -0
  6. package/dist/wgpuBevelEffect.d.ts.map +1 -0
  7. package/dist/wgpuBevelEffect.js +124 -0
  8. package/dist/wgpuBevelEffect.js.map +1 -0
  9. package/dist/wgpuBloomEffect.d.ts.map +1 -1
  10. package/dist/wgpuBloomEffect.js +9 -8
  11. package/dist/wgpuBloomEffect.js.map +1 -1
  12. package/dist/wgpuBlurEffect.d.ts +8 -0
  13. package/dist/wgpuBlurEffect.d.ts.map +1 -0
  14. package/dist/wgpuBlurEffect.js +70 -0
  15. package/dist/wgpuBlurEffect.js.map +1 -0
  16. package/dist/wgpuBokehDepthOfFieldEffect.d.ts.map +1 -1
  17. package/dist/wgpuBokehDepthOfFieldEffect.js +2 -2
  18. package/dist/wgpuBokehDepthOfFieldEffect.js.map +1 -1
  19. package/dist/wgpuCameraMotionBlurEffect.d.ts.map +1 -1
  20. package/dist/wgpuCameraMotionBlurEffect.js +2 -2
  21. package/dist/wgpuCameraMotionBlurEffect.js.map +1 -1
  22. package/dist/wgpuChromaticAberrationEffect.d.ts.map +1 -1
  23. package/dist/wgpuChromaticAberrationEffect.js +2 -2
  24. package/dist/wgpuChromaticAberrationEffect.js.map +1 -1
  25. package/dist/wgpuColorLutPass.d.ts +3 -0
  26. package/dist/wgpuColorLutPass.d.ts.map +1 -0
  27. package/dist/wgpuColorLutPass.js +144 -0
  28. package/dist/wgpuColorLutPass.js.map +1 -0
  29. package/dist/wgpuColorMatrixPass.d.ts +3 -0
  30. package/dist/wgpuColorMatrixPass.d.ts.map +1 -0
  31. package/dist/wgpuColorMatrixPass.js +51 -0
  32. package/dist/wgpuColorMatrixPass.js.map +1 -0
  33. package/dist/wgpuConvolutionEffect.d.ts +5 -0
  34. package/dist/wgpuConvolutionEffect.d.ts.map +1 -0
  35. package/dist/wgpuConvolutionEffect.js +108 -0
  36. package/dist/wgpuConvolutionEffect.js.map +1 -0
  37. package/dist/wgpuCrtEffect.d.ts.map +1 -1
  38. package/dist/wgpuCrtEffect.js +2 -2
  39. package/dist/wgpuCrtEffect.js.map +1 -1
  40. package/dist/wgpuDirectionalBlurEffect.d.ts.map +1 -1
  41. package/dist/wgpuDirectionalBlurEffect.js +2 -2
  42. package/dist/wgpuDirectionalBlurEffect.js.map +1 -1
  43. package/dist/wgpuDisplacementEffect.d.ts.map +1 -1
  44. package/dist/wgpuDisplacementEffect.js +2 -2
  45. package/dist/wgpuDisplacementEffect.js.map +1 -1
  46. package/dist/wgpuDitherEffect.d.ts.map +1 -1
  47. package/dist/wgpuDitherEffect.js +2 -2
  48. package/dist/wgpuDitherEffect.js.map +1 -1
  49. package/dist/wgpuDropShadowEffect.d.ts +4 -0
  50. package/dist/wgpuDropShadowEffect.d.ts.map +1 -0
  51. package/dist/wgpuDropShadowEffect.js +50 -0
  52. package/dist/wgpuDropShadowEffect.js.map +1 -0
  53. package/dist/wgpuEffectBlitShader.d.ts +17 -0
  54. package/dist/wgpuEffectBlitShader.d.ts.map +1 -0
  55. package/dist/wgpuEffectBlitShader.js +97 -0
  56. package/dist/wgpuEffectBlitShader.js.map +1 -0
  57. package/dist/wgpuEffectBoxBlur.d.ts +15 -0
  58. package/dist/wgpuEffectBoxBlur.d.ts.map +1 -0
  59. package/dist/wgpuEffectBoxBlur.js +106 -0
  60. package/dist/wgpuEffectBoxBlur.js.map +1 -0
  61. package/dist/wgpuEffectGradientRamp.d.ts +17 -0
  62. package/dist/wgpuEffectGradientRamp.d.ts.map +1 -0
  63. package/dist/wgpuEffectGradientRamp.js +89 -0
  64. package/dist/wgpuEffectGradientRamp.js.map +1 -0
  65. package/dist/wgpuEffectPass.d.ts +42 -0
  66. package/dist/wgpuEffectPass.d.ts.map +1 -0
  67. package/dist/wgpuEffectPass.js +271 -0
  68. package/dist/wgpuEffectPass.js.map +1 -0
  69. package/dist/wgpuEffectProgramCache.d.ts +2 -2
  70. package/dist/wgpuEffectProgramCache.d.ts.map +1 -1
  71. package/dist/wgpuEffectProgramCache.js +5 -5
  72. package/dist/wgpuEffectProgramCache.js.map +1 -1
  73. package/dist/wgpuEffectTintShader.d.ts +8 -0
  74. package/dist/wgpuEffectTintShader.d.ts.map +1 -0
  75. package/dist/wgpuEffectTintShader.js +109 -0
  76. package/dist/wgpuEffectTintShader.js.map +1 -0
  77. package/dist/wgpuFilmGrainEffect.d.ts.map +1 -1
  78. package/dist/wgpuFilmGrainEffect.js +2 -2
  79. package/dist/wgpuFilmGrainEffect.js.map +1 -1
  80. package/dist/wgpuFxaaEffect.d.ts.map +1 -1
  81. package/dist/wgpuFxaaEffect.js +2 -2
  82. package/dist/wgpuFxaaEffect.js.map +1 -1
  83. package/dist/wgpuGlitchEffect.d.ts.map +1 -1
  84. package/dist/wgpuGlitchEffect.js +2 -2
  85. package/dist/wgpuGlitchEffect.js.map +1 -1
  86. package/dist/wgpuGodRaysEffect.d.ts.map +1 -1
  87. package/dist/wgpuGodRaysEffect.js +2 -2
  88. package/dist/wgpuGodRaysEffect.js.map +1 -1
  89. package/dist/wgpuGradientBevelEffect.d.ts +4 -0
  90. package/dist/wgpuGradientBevelEffect.d.ts.map +1 -0
  91. package/dist/wgpuGradientBevelEffect.js +191 -0
  92. package/dist/wgpuGradientBevelEffect.js.map +1 -0
  93. package/dist/wgpuGradientGlowEffect.d.ts +4 -0
  94. package/dist/wgpuGradientGlowEffect.d.ts.map +1 -0
  95. package/dist/wgpuGradientGlowEffect.js +103 -0
  96. package/dist/wgpuGradientGlowEffect.js.map +1 -0
  97. package/dist/wgpuHalftoneEffect.d.ts.map +1 -1
  98. package/dist/wgpuHalftoneEffect.js +2 -2
  99. package/dist/wgpuHalftoneEffect.js.map +1 -1
  100. package/dist/wgpuInnerGlowEffect.d.ts +4 -0
  101. package/dist/wgpuInnerGlowEffect.d.ts.map +1 -0
  102. package/dist/wgpuInnerGlowEffect.js +50 -0
  103. package/dist/wgpuInnerGlowEffect.js.map +1 -0
  104. package/dist/wgpuInnerShadowEffect.d.ts +4 -0
  105. package/dist/wgpuInnerShadowEffect.d.ts.map +1 -0
  106. package/dist/wgpuInnerShadowEffect.js +55 -0
  107. package/dist/wgpuInnerShadowEffect.js.map +1 -0
  108. package/dist/wgpuKuwaharaEffect.d.ts.map +1 -1
  109. package/dist/wgpuKuwaharaEffect.js +2 -2
  110. package/dist/wgpuKuwaharaEffect.js.map +1 -1
  111. package/dist/wgpuLensDirtEffect.d.ts.map +1 -1
  112. package/dist/wgpuLensDirtEffect.js +2 -2
  113. package/dist/wgpuLensDirtEffect.js.map +1 -1
  114. package/dist/wgpuLensDistortionEffect.d.ts.map +1 -1
  115. package/dist/wgpuLensDistortionEffect.js +2 -2
  116. package/dist/wgpuLensDistortionEffect.js.map +1 -1
  117. package/dist/wgpuLensFlareEffect.d.ts.map +1 -1
  118. package/dist/wgpuLensFlareEffect.js +2 -2
  119. package/dist/wgpuLensFlareEffect.js.map +1 -1
  120. package/dist/wgpuMedianEffect.d.ts +5 -0
  121. package/dist/wgpuMedianEffect.d.ts.map +1 -0
  122. package/dist/wgpuMedianEffect.js +74 -0
  123. package/dist/wgpuMedianEffect.js.map +1 -0
  124. package/dist/wgpuMotionBlurEffect.d.ts.map +1 -1
  125. package/dist/wgpuMotionBlurEffect.js +6 -7
  126. package/dist/wgpuMotionBlurEffect.js.map +1 -1
  127. package/dist/wgpuOuterGlowEffect.d.ts +4 -0
  128. package/dist/wgpuOuterGlowEffect.d.ts.map +1 -0
  129. package/dist/wgpuOuterGlowEffect.js +46 -0
  130. package/dist/wgpuOuterGlowEffect.js.map +1 -0
  131. package/dist/wgpuOutlineEffect.d.ts.map +1 -1
  132. package/dist/wgpuOutlineEffect.js +2 -2
  133. package/dist/wgpuOutlineEffect.js.map +1 -1
  134. package/dist/wgpuPixelateEffect.d.ts.map +1 -1
  135. package/dist/wgpuPixelateEffect.js +2 -2
  136. package/dist/wgpuPixelateEffect.js.map +1 -1
  137. package/dist/wgpuPosterizeEffect.d.ts.map +1 -1
  138. package/dist/wgpuPosterizeEffect.js +2 -2
  139. package/dist/wgpuPosterizeEffect.js.map +1 -1
  140. package/dist/wgpuRadialBlurEffect.d.ts.map +1 -1
  141. package/dist/wgpuRadialBlurEffect.js +2 -2
  142. package/dist/wgpuRadialBlurEffect.js.map +1 -1
  143. package/dist/wgpuRenderEffectPipeline.d.ts +2 -2
  144. package/dist/wgpuRenderEffectPipeline.d.ts.map +1 -1
  145. package/dist/wgpuRenderEffectPipeline.js +74 -15
  146. package/dist/wgpuRenderEffectPipeline.js.map +1 -1
  147. package/dist/wgpuRenderEffectRegistrants.d.ts +1 -0
  148. package/dist/wgpuRenderEffectRegistrants.d.ts.map +1 -1
  149. package/dist/wgpuRenderEffectRegistrants.js +39 -28
  150. package/dist/wgpuRenderEffectRegistrants.js.map +1 -1
  151. package/dist/wgpuScanlinesEffect.d.ts.map +1 -1
  152. package/dist/wgpuScanlinesEffect.js +2 -2
  153. package/dist/wgpuScanlinesEffect.js.map +1 -1
  154. package/dist/wgpuScreenSpaceFogEffect.d.ts.map +1 -1
  155. package/dist/wgpuScreenSpaceFogEffect.js +2 -2
  156. package/dist/wgpuScreenSpaceFogEffect.js.map +1 -1
  157. package/dist/wgpuSharpenEffect.d.ts.map +1 -1
  158. package/dist/wgpuSharpenEffect.js +2 -2
  159. package/dist/wgpuSharpenEffect.js.map +1 -1
  160. package/dist/wgpuSketchEffect.d.ts.map +1 -1
  161. package/dist/wgpuSketchEffect.js +2 -2
  162. package/dist/wgpuSketchEffect.js.map +1 -1
  163. package/dist/wgpuSmaaEffect.d.ts.map +1 -1
  164. package/dist/wgpuSmaaEffect.js +2 -2
  165. package/dist/wgpuSmaaEffect.js.map +1 -1
  166. package/dist/wgpuSsaoEffect.d.ts.map +1 -1
  167. package/dist/wgpuSsaoEffect.js +2 -2
  168. package/dist/wgpuSsaoEffect.js.map +1 -1
  169. package/dist/wgpuSsrEffect.d.ts.map +1 -1
  170. package/dist/wgpuSsrEffect.js +2 -2
  171. package/dist/wgpuSsrEffect.js.map +1 -1
  172. package/dist/wgpuTaaEffect.d.ts.map +1 -1
  173. package/dist/wgpuTaaEffect.js +2 -2
  174. package/dist/wgpuTaaEffect.js.map +1 -1
  175. package/dist/wgpuTiltShiftEffect.d.ts.map +1 -1
  176. package/dist/wgpuTiltShiftEffect.js +2 -2
  177. package/dist/wgpuTiltShiftEffect.js.map +1 -1
  178. package/dist/wgpuToneMapEffect.d.ts.map +1 -1
  179. package/dist/wgpuToneMapEffect.js +2 -2
  180. package/dist/wgpuToneMapEffect.js.map +1 -1
  181. package/dist/wgpuVignetteEffect.d.ts.map +1 -1
  182. package/dist/wgpuVignetteEffect.js +2 -2
  183. package/dist/wgpuVignetteEffect.js.map +1 -1
  184. package/dist/wgpuWhiteBalanceEffect.d.ts.map +1 -1
  185. package/dist/wgpuWhiteBalanceEffect.js +2 -2
  186. package/dist/wgpuWhiteBalanceEffect.js.map +1 -1
  187. package/package.json +11 -7
  188. package/src/wgpuBevelEffect.test.ts +13 -0
  189. package/src/wgpuBlurEffect.test.ts +19 -0
  190. package/src/wgpuColorLutPass.test.ts +7 -0
  191. package/src/wgpuColorMatrixPass.test.ts +7 -0
  192. package/src/wgpuConvolutionEffect.test.ts +13 -0
  193. package/src/wgpuDropShadowEffect.test.ts +109 -0
  194. package/src/wgpuEffectBlitShader.test.ts +23 -0
  195. package/src/wgpuEffectBoxBlur.test.ts +75 -0
  196. package/src/wgpuEffectGradientRamp.test.ts +7 -0
  197. package/src/wgpuEffectPass.test.ts +51 -0
  198. package/src/wgpuEffectTintShader.test.ts +66 -0
  199. package/src/wgpuGradientBevelEffect.test.ts +13 -0
  200. package/src/wgpuGradientGlowEffect.test.ts +13 -0
  201. package/src/wgpuInnerGlowEffect.test.ts +137 -0
  202. package/src/wgpuInnerShadowEffect.test.ts +137 -0
  203. package/src/wgpuMedianEffect.test.ts +13 -0
  204. package/src/wgpuOuterGlowEffect.test.ts +108 -0
  205. package/src/wgpuRenderEffectPipeline.test.ts +2 -0
  206. package/src/wgpuRenderEffectRegistrants.test.ts +25 -14
  207. package/dist/wgpuBrightnessContrastEffect.d.ts +0 -4
  208. package/dist/wgpuBrightnessContrastEffect.d.ts.map +0 -1
  209. package/dist/wgpuBrightnessContrastEffect.js +0 -29
  210. package/dist/wgpuBrightnessContrastEffect.js.map +0 -1
  211. package/dist/wgpuChannelMixerEffect.d.ts +0 -4
  212. package/dist/wgpuChannelMixerEffect.d.ts.map +0 -1
  213. package/dist/wgpuChannelMixerEffect.js +0 -34
  214. package/dist/wgpuChannelMixerEffect.js.map +0 -1
  215. package/dist/wgpuColorGradeEffect.d.ts +0 -4
  216. package/dist/wgpuColorGradeEffect.d.ts.map +0 -1
  217. package/dist/wgpuColorGradeEffect.js +0 -52
  218. package/dist/wgpuColorGradeEffect.js.map +0 -1
  219. package/dist/wgpuExposureEffect.d.ts +0 -4
  220. package/dist/wgpuExposureEffect.d.ts.map +0 -1
  221. package/dist/wgpuExposureEffect.js +0 -28
  222. package/dist/wgpuExposureEffect.js.map +0 -1
  223. package/dist/wgpuGrayscaleEffect.d.ts +0 -4
  224. package/dist/wgpuGrayscaleEffect.d.ts.map +0 -1
  225. package/dist/wgpuGrayscaleEffect.js +0 -27
  226. package/dist/wgpuGrayscaleEffect.js.map +0 -1
  227. package/dist/wgpuHueSaturationEffect.d.ts +0 -4
  228. package/dist/wgpuHueSaturationEffect.d.ts.map +0 -1
  229. package/dist/wgpuHueSaturationEffect.js +0 -75
  230. package/dist/wgpuHueSaturationEffect.js.map +0 -1
  231. package/dist/wgpuInvertEffect.d.ts +0 -4
  232. package/dist/wgpuInvertEffect.d.ts.map +0 -1
  233. package/dist/wgpuInvertEffect.js +0 -26
  234. package/dist/wgpuInvertEffect.js.map +0 -1
  235. package/dist/wgpuLiftGammaGainEffect.d.ts +0 -4
  236. package/dist/wgpuLiftGammaGainEffect.d.ts.map +0 -1
  237. package/dist/wgpuLiftGammaGainEffect.js +0 -51
  238. package/dist/wgpuLiftGammaGainEffect.js.map +0 -1
  239. package/dist/wgpuLookupTableGradeEffect.d.ts +0 -4
  240. package/dist/wgpuLookupTableGradeEffect.d.ts.map +0 -1
  241. package/dist/wgpuLookupTableGradeEffect.js +0 -30
  242. package/dist/wgpuLookupTableGradeEffect.js.map +0 -1
  243. package/dist/wgpuSepiaEffect.d.ts +0 -4
  244. package/dist/wgpuSepiaEffect.d.ts.map +0 -1
  245. package/dist/wgpuSepiaEffect.js +0 -31
  246. package/dist/wgpuSepiaEffect.js.map +0 -1
  247. package/src/wgpuBrightnessContrastEffect.test.ts +0 -16
  248. package/src/wgpuChannelMixerEffect.test.ts +0 -13
  249. package/src/wgpuColorGradeEffect.test.ts +0 -13
  250. package/src/wgpuExposureEffect.test.ts +0 -13
  251. package/src/wgpuGrayscaleEffect.test.ts +0 -13
  252. package/src/wgpuHueSaturationEffect.test.ts +0 -13
  253. package/src/wgpuInvertEffect.test.ts +0 -13
  254. package/src/wgpuLiftGammaGainEffect.test.ts +0 -13
  255. package/src/wgpuLookupTableGradeEffect.test.ts +0 -16
  256. package/src/wgpuSepiaEffect.test.ts +0 -13
@@ -1,51 +0,0 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
2
- import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
- // Lift/gamma/gain: unpack packed-RGBA neutrals to per-channel offsets/exponents/multipliers in JS.
4
- // Neutral packed values: lift 0x000000ff, gamma 0x808080ff, gain 0xffffffff. Each vec3 is uploaded
5
- // into its own 16-byte-aligned slot so the std140 vec3 alignment is satisfied.
6
- export function applyLiftGammaGainEffectToWgpu(state, source, dest, effect) {
7
- const lift = unpackColor(effect.lift ?? 0x000000ff);
8
- const gammaRaw = unpackColor(effect.gamma ?? 0x808080ff);
9
- const gain = unpackColor(effect.gain ?? 0xffffffff);
10
- // Map gamma's 0.5-neutral to a 1.0-neutral exponent so 0x808080 leaves the image unchanged.
11
- const gamma = [
12
- 1 / Math.max(gammaRaw[0] * 2, 1e-3),
13
- 1 / Math.max(gammaRaw[1] * 2, 1e-3),
14
- 1 / Math.max(gammaRaw[2] * 2, 1e-3),
15
- ];
16
- const pipeline = getWgpuEffectPipeline(state, 'colorGrade.liftGammaGain', LIFT_GAMMA_GAIN_FRAGMENT_WGSL, 'replace');
17
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
18
- f32[0] = lift[0];
19
- f32[1] = lift[1];
20
- f32[2] = lift[2];
21
- f32[4] = gamma[0];
22
- f32[5] = gamma[1];
23
- f32[6] = gamma[2];
24
- f32[8] = gain[0];
25
- f32[9] = gain[1];
26
- f32[10] = gain[2];
27
- });
28
- }
29
- export const defaultWgpuLiftGammaGainEffectRunner = (ctx, effect) => {
30
- applyLiftGammaGainEffectToWgpu(ctx.state, ctx.source, ctx.dest, effect);
31
- };
32
- // Unpack a packed RGBA integer (0xRRGGBBAA) into normalized [r, g, b] floats. Alpha is dropped — these
33
- // grade values describe RGB channels only.
34
- function unpackColor(c) {
35
- return [((c >>> 24) & 255) / 255, ((c >>> 16) & 255) / 255, ((c >>> 8) & 255) / 255];
36
- }
37
- // Slot layout: three vec3 in 16-byte-aligned slots — [0..2]=lift, [4..6]=gamma, [8..10]=gain.
38
- const LIFT_GAMMA_GAIN_FRAGMENT_WGSL = /* wgsl */ `
39
- struct Uniforms { u_lift : vec3f, u_gamma : vec3f, u_gain : vec3f, }
40
- @group(0) @binding(0) var<uniform> uni : Uniforms;
41
- @group(1) @binding(0) var tex : texture_2d<f32>;
42
- @group(1) @binding(1) var smp : sampler;
43
-
44
- @fragment
45
- fn fs_main(@location(0) uv : vec2f) -> @location(0) vec4f {
46
- let c = textureSampleLevel(tex, smp, uv, 0.0);
47
- var rgb = c.rgb * uni.u_gain + uni.u_lift * (vec3f(1.0) - c.rgb);
48
- rgb = pow(max(rgb, vec3f(0.0)), uni.u_gamma);
49
- return vec4f(clamp(rgb, vec3f(0.0), vec3f(1.0)), c.a);
50
- }`;
51
- //# sourceMappingURL=wgpuLiftGammaGainEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wgpuLiftGammaGainEffect.js","sourceRoot":"","sources":["../src/wgpuLiftGammaGainEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,mGAAmG;AACnG,mGAAmG;AACnG,+EAA+E;AAC/E,MAAM,UAAU,8BAA8B,CAC5C,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAqC;IAErC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;IACpD,4FAA4F;IAC5F,MAAM,KAAK,GAAsC;QAC/C,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QACnC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QACnC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;KACpC,CAAC;IACF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,SAAS,CAAC,CAAC;IACpH,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC1F,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA6B,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF,uGAAuG;AACvG,2CAA2C;AAC3C,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACvF,CAAC;AAED,8FAA8F;AAC9F,MAAM,6BAA6B,GAAG,UAAU,CAAC;;;;;;;;;;;;EAY/C,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { LookupTableGradeEffect, WgpuRenderEffectRunner, WgpuRenderState, WgpuRenderTarget } from '@flighthq/types';
2
- export declare function applyLookupTableGradeEffectToWgpu(state: WgpuRenderState, source: Readonly<WgpuRenderTarget>, dest: Readonly<WgpuRenderTarget>, effect: Readonly<LookupTableGradeEffect>): void;
3
- export declare const defaultWgpuLookupTableGradeEffectRunner: WgpuRenderEffectRunner;
4
- //# sourceMappingURL=wgpuLookupTableGradeEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wgpuLookupTableGradeEffect.d.ts","sourceRoot":"","sources":["../src/wgpuLookupTableGradeEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAOzB,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GACvC,IAAI,CAMN;AAED,eAAO,MAAM,uCAAuC,EAAE,sBAErD,CAAC"}
@@ -1,30 +0,0 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
2
- import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
- // LUT grade: passthrough with a strength mix. A real 3D LUT grade needs an uploaded LUT cube texture
4
- // (size from effect.size) sampled per pixel as an extra bound texture; that texture path is not yet
5
- // wired, so this keeps the pass compiling and color-neutral until the LUT upload is added.
6
- export function applyLookupTableGradeEffectToWgpu(state, source, dest, effect) {
7
- const strength = effect.strength ?? 1;
8
- const pipeline = getWgpuEffectPipeline(state, 'colorGrade.lutGrade', LUT_GRADE_FRAGMENT_WGSL, 'replace');
9
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
10
- f32[0] = strength;
11
- });
12
- }
13
- export const defaultWgpuLookupTableGradeEffectRunner = (ctx, effect) => {
14
- applyLookupTableGradeEffectToWgpu(ctx.state, ctx.source, ctx.dest, effect);
15
- };
16
- // Slot layout: [0]=strength.
17
- const LUT_GRADE_FRAGMENT_WGSL = /* wgsl */ `
18
- struct Uniforms { u_strength : f32, _pad0 : f32, _pad1 : f32, _pad2 : f32, }
19
- @group(0) @binding(0) var<uniform> uni : Uniforms;
20
- @group(1) @binding(0) var tex : texture_2d<f32>;
21
- @group(1) @binding(1) var smp : sampler;
22
-
23
- @fragment
24
- fn fs_main(@location(0) uv : vec2f) -> @location(0) vec4f {
25
- let c = textureSampleLevel(tex, smp, uv, 0.0);
26
- // Passthrough: a real 3D LUT samples an uploaded LUT cube texture here, then mixes by u_strength.
27
- let graded = c.rgb;
28
- return vec4f(mix(c.rgb, graded, uni.u_strength), c.a);
29
- }`;
30
- //# sourceMappingURL=wgpuLookupTableGradeEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wgpuLookupTableGradeEffect.js","sourceRoot":"","sources":["../src/wgpuLookupTableGradeEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,qGAAqG;AACrG,oGAAoG;AACpG,2FAA2F;AAC3F,MAAM,UAAU,iCAAiC,CAC/C,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAwC;IAExC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;IACzG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,uCAAuC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7F,iCAAiC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAgC,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF,6BAA6B;AAC7B,MAAM,uBAAuB,GAAG,UAAU,CAAC;;;;;;;;;;;;EAYzC,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { SepiaEffect, WgpuRenderEffectRunner, WgpuRenderState, WgpuRenderTarget } from '@flighthq/types';
2
- export declare function applySepiaEffectToWgpu(state: WgpuRenderState, source: Readonly<WgpuRenderTarget>, dest: Readonly<WgpuRenderTarget>, effect: Readonly<SepiaEffect>): void;
3
- export declare const defaultWgpuSepiaEffectRunner: WgpuRenderEffectRunner;
4
- //# sourceMappingURL=wgpuSepiaEffect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wgpuSepiaEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSepiaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAK9G,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC5B,IAAI,CAMN;AAED,eAAO,MAAM,4BAA4B,EAAE,sBAE1C,CAAC"}
@@ -1,31 +0,0 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
2
- import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
- // Sepia: mix toward a sepia matrix transform by intensity.
4
- export function applySepiaEffectToWgpu(state, source, dest, effect) {
5
- const intensity = effect.intensity ?? 1;
6
- const pipeline = getWgpuEffectPipeline(state, 'colorGrade.sepia', SEPIA_FRAGMENT_WGSL, 'replace');
7
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
8
- f32[0] = intensity;
9
- });
10
- }
11
- export const defaultWgpuSepiaEffectRunner = (ctx, effect) => {
12
- applySepiaEffectToWgpu(ctx.state, ctx.source, ctx.dest, effect);
13
- };
14
- // Slot layout: [0]=intensity.
15
- const SEPIA_FRAGMENT_WGSL = /* wgsl */ `
16
- struct Uniforms { u_intensity : f32, _pad0 : f32, _pad1 : f32, _pad2 : f32, }
17
- @group(0) @binding(0) var<uniform> uni : Uniforms;
18
- @group(1) @binding(0) var tex : texture_2d<f32>;
19
- @group(1) @binding(1) var smp : sampler;
20
-
21
- @fragment
22
- fn fs_main(@location(0) uv : vec2f) -> @location(0) vec4f {
23
- let c = textureSampleLevel(tex, smp, uv, 0.0);
24
- let sepia = vec3f(
25
- dot(c.rgb, vec3f(0.393, 0.769, 0.189)),
26
- dot(c.rgb, vec3f(0.349, 0.686, 0.168)),
27
- dot(c.rgb, vec3f(0.272, 0.534, 0.131))
28
- );
29
- return vec4f(mix(c.rgb, sepia, uni.u_intensity), c.a);
30
- }`;
31
- //# sourceMappingURL=wgpuSepiaEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wgpuSepiaEffect.js","sourceRoot":"","sources":["../src/wgpuSepiaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB,CACpC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA6B;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAClG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAClF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAqB,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,mBAAmB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;EAerC,CAAC"}
@@ -1,16 +0,0 @@
1
- import {
2
- applyBrightnessContrastEffectToWgpu,
3
- defaultWgpuBrightnessContrastEffectRunner,
4
- } from './wgpuBrightnessContrastEffect';
5
-
6
- describe('applyBrightnessContrastEffectToWgpu', () => {
7
- it('is a function', () => {
8
- expect(typeof applyBrightnessContrastEffectToWgpu).toBe('function');
9
- });
10
- });
11
-
12
- describe('defaultWgpuBrightnessContrastEffectRunner', () => {
13
- it('is a function', () => {
14
- expect(typeof defaultWgpuBrightnessContrastEffectRunner).toBe('function');
15
- });
16
- });
@@ -1,13 +0,0 @@
1
- import { applyChannelMixerEffectToWgpu, defaultWgpuChannelMixerEffectRunner } from './wgpuChannelMixerEffect';
2
-
3
- describe('applyChannelMixerEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applyChannelMixerEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuChannelMixerEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuChannelMixerEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyColorGradeEffectToWgpu, defaultWgpuColorGradeEffectRunner } from './wgpuColorGradeEffect';
2
-
3
- describe('applyColorGradeEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applyColorGradeEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuColorGradeEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuColorGradeEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyExposureEffectToWgpu, defaultWgpuExposureEffectRunner } from './wgpuExposureEffect';
2
-
3
- describe('applyExposureEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applyExposureEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuExposureEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuExposureEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyGrayscaleEffectToWgpu, defaultWgpuGrayscaleEffectRunner } from './wgpuGrayscaleEffect';
2
-
3
- describe('applyGrayscaleEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applyGrayscaleEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuGrayscaleEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuGrayscaleEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyHueSaturationEffectToWgpu, defaultWgpuHueSaturationEffectRunner } from './wgpuHueSaturationEffect';
2
-
3
- describe('applyHueSaturationEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applyHueSaturationEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuHueSaturationEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuHueSaturationEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyInvertEffectToWgpu, defaultWgpuInvertEffectRunner } from './wgpuInvertEffect';
2
-
3
- describe('applyInvertEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applyInvertEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuInvertEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuInvertEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,13 +0,0 @@
1
- import { applyLiftGammaGainEffectToWgpu, defaultWgpuLiftGammaGainEffectRunner } from './wgpuLiftGammaGainEffect';
2
-
3
- describe('applyLiftGammaGainEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applyLiftGammaGainEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuLiftGammaGainEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuLiftGammaGainEffectRunner).toBe('function');
12
- });
13
- });
@@ -1,16 +0,0 @@
1
- import {
2
- applyLookupTableGradeEffectToWgpu,
3
- defaultWgpuLookupTableGradeEffectRunner,
4
- } from './wgpuLookupTableGradeEffect';
5
-
6
- describe('applyLookupTableGradeEffectToWgpu', () => {
7
- it('is a function', () => {
8
- expect(typeof applyLookupTableGradeEffectToWgpu).toBe('function');
9
- });
10
- });
11
-
12
- describe('defaultWgpuLookupTableGradeEffectRunner', () => {
13
- it('is a function', () => {
14
- expect(typeof defaultWgpuLookupTableGradeEffectRunner).toBe('function');
15
- });
16
- });
@@ -1,13 +0,0 @@
1
- import { applySepiaEffectToWgpu, defaultWgpuSepiaEffectRunner } from './wgpuSepiaEffect';
2
-
3
- describe('applySepiaEffectToWgpu', () => {
4
- it('is a function', () => {
5
- expect(typeof applySepiaEffectToWgpu).toBe('function');
6
- });
7
- });
8
-
9
- describe('defaultWgpuSepiaEffectRunner', () => {
10
- it('is a function', () => {
11
- expect(typeof defaultWgpuSepiaEffectRunner).toBe('function');
12
- });
13
- });