@flighthq/effects-canvas 0.1.0

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 (245) hide show
  1. package/dist/canvasBloomEffect.d.ts +4 -0
  2. package/dist/canvasBloomEffect.d.ts.map +1 -0
  3. package/dist/canvasBloomEffect.js +43 -0
  4. package/dist/canvasBloomEffect.js.map +1 -0
  5. package/dist/canvasBokehDepthOfFieldEffect.d.ts +4 -0
  6. package/dist/canvasBokehDepthOfFieldEffect.d.ts.map +1 -0
  7. package/dist/canvasBokehDepthOfFieldEffect.js +10 -0
  8. package/dist/canvasBokehDepthOfFieldEffect.js.map +1 -0
  9. package/dist/canvasBrightnessContrastEffect.d.ts +4 -0
  10. package/dist/canvasBrightnessContrastEffect.d.ts.map +1 -0
  11. package/dist/canvasBrightnessContrastEffect.js +13 -0
  12. package/dist/canvasBrightnessContrastEffect.js.map +1 -0
  13. package/dist/canvasCameraMotionBlurEffect.d.ts +4 -0
  14. package/dist/canvasCameraMotionBlurEffect.d.ts.map +1 -0
  15. package/dist/canvasCameraMotionBlurEffect.js +11 -0
  16. package/dist/canvasCameraMotionBlurEffect.js.map +1 -0
  17. package/dist/canvasChannelMixerEffect.d.ts +4 -0
  18. package/dist/canvasChannelMixerEffect.d.ts.map +1 -0
  19. package/dist/canvasChannelMixerEffect.js +11 -0
  20. package/dist/canvasChannelMixerEffect.js.map +1 -0
  21. package/dist/canvasChromaticAberrationEffect.d.ts +4 -0
  22. package/dist/canvasChromaticAberrationEffect.d.ts.map +1 -0
  23. package/dist/canvasChromaticAberrationEffect.js +11 -0
  24. package/dist/canvasChromaticAberrationEffect.js.map +1 -0
  25. package/dist/canvasColorGradeEffect.d.ts +4 -0
  26. package/dist/canvasColorGradeEffect.d.ts.map +1 -0
  27. package/dist/canvasColorGradeEffect.js +21 -0
  28. package/dist/canvasColorGradeEffect.js.map +1 -0
  29. package/dist/canvasCrtEffect.d.ts +4 -0
  30. package/dist/canvasCrtEffect.d.ts.map +1 -0
  31. package/dist/canvasCrtEffect.js +11 -0
  32. package/dist/canvasCrtEffect.js.map +1 -0
  33. package/dist/canvasDirectionalBlurEffect.d.ts +4 -0
  34. package/dist/canvasDirectionalBlurEffect.d.ts.map +1 -0
  35. package/dist/canvasDirectionalBlurEffect.js +11 -0
  36. package/dist/canvasDirectionalBlurEffect.js.map +1 -0
  37. package/dist/canvasDisplacementEffect.d.ts +4 -0
  38. package/dist/canvasDisplacementEffect.d.ts.map +1 -0
  39. package/dist/canvasDisplacementEffect.js +10 -0
  40. package/dist/canvasDisplacementEffect.js.map +1 -0
  41. package/dist/canvasDitherEffect.d.ts +4 -0
  42. package/dist/canvasDitherEffect.d.ts.map +1 -0
  43. package/dist/canvasDitherEffect.js +11 -0
  44. package/dist/canvasDitherEffect.js.map +1 -0
  45. package/dist/canvasEffectCompositing.d.ts +6 -0
  46. package/dist/canvasEffectCompositing.d.ts.map +1 -0
  47. package/dist/canvasEffectCompositing.js +77 -0
  48. package/dist/canvasEffectCompositing.js.map +1 -0
  49. package/dist/canvasExposureEffect.d.ts +4 -0
  50. package/dist/canvasExposureEffect.d.ts.map +1 -0
  51. package/dist/canvasExposureEffect.js +11 -0
  52. package/dist/canvasExposureEffect.js.map +1 -0
  53. package/dist/canvasFilmGrainEffect.d.ts +4 -0
  54. package/dist/canvasFilmGrainEffect.d.ts.map +1 -0
  55. package/dist/canvasFilmGrainEffect.js +50 -0
  56. package/dist/canvasFilmGrainEffect.js.map +1 -0
  57. package/dist/canvasFxaaEffect.d.ts +4 -0
  58. package/dist/canvasFxaaEffect.d.ts.map +1 -0
  59. package/dist/canvasFxaaEffect.js +11 -0
  60. package/dist/canvasFxaaEffect.js.map +1 -0
  61. package/dist/canvasGlitchEffect.d.ts +4 -0
  62. package/dist/canvasGlitchEffect.d.ts.map +1 -0
  63. package/dist/canvasGlitchEffect.js +11 -0
  64. package/dist/canvasGlitchEffect.js.map +1 -0
  65. package/dist/canvasGodRaysEffect.d.ts +4 -0
  66. package/dist/canvasGodRaysEffect.d.ts.map +1 -0
  67. package/dist/canvasGodRaysEffect.js +11 -0
  68. package/dist/canvasGodRaysEffect.js.map +1 -0
  69. package/dist/canvasGrayscaleEffect.d.ts +4 -0
  70. package/dist/canvasGrayscaleEffect.d.ts.map +1 -0
  71. package/dist/canvasGrayscaleEffect.js +10 -0
  72. package/dist/canvasGrayscaleEffect.js.map +1 -0
  73. package/dist/canvasHalftoneEffect.d.ts +4 -0
  74. package/dist/canvasHalftoneEffect.d.ts.map +1 -0
  75. package/dist/canvasHalftoneEffect.js +10 -0
  76. package/dist/canvasHalftoneEffect.js.map +1 -0
  77. package/dist/canvasHueSaturationEffect.d.ts +4 -0
  78. package/dist/canvasHueSaturationEffect.d.ts.map +1 -0
  79. package/dist/canvasHueSaturationEffect.js +13 -0
  80. package/dist/canvasHueSaturationEffect.js.map +1 -0
  81. package/dist/canvasInvertEffect.d.ts +4 -0
  82. package/dist/canvasInvertEffect.d.ts.map +1 -0
  83. package/dist/canvasInvertEffect.js +10 -0
  84. package/dist/canvasInvertEffect.js.map +1 -0
  85. package/dist/canvasKuwaharaEffect.d.ts +4 -0
  86. package/dist/canvasKuwaharaEffect.d.ts.map +1 -0
  87. package/dist/canvasKuwaharaEffect.js +11 -0
  88. package/dist/canvasKuwaharaEffect.js.map +1 -0
  89. package/dist/canvasLensDirtEffect.d.ts +4 -0
  90. package/dist/canvasLensDirtEffect.d.ts.map +1 -0
  91. package/dist/canvasLensDirtEffect.js +11 -0
  92. package/dist/canvasLensDirtEffect.js.map +1 -0
  93. package/dist/canvasLensDistortionEffect.d.ts +4 -0
  94. package/dist/canvasLensDistortionEffect.d.ts.map +1 -0
  95. package/dist/canvasLensDistortionEffect.js +10 -0
  96. package/dist/canvasLensDistortionEffect.js.map +1 -0
  97. package/dist/canvasLensFlareEffect.d.ts +4 -0
  98. package/dist/canvasLensFlareEffect.d.ts.map +1 -0
  99. package/dist/canvasLensFlareEffect.js +11 -0
  100. package/dist/canvasLensFlareEffect.js.map +1 -0
  101. package/dist/canvasLiftGammaGainEffect.d.ts +4 -0
  102. package/dist/canvasLiftGammaGainEffect.d.ts.map +1 -0
  103. package/dist/canvasLiftGammaGainEffect.js +11 -0
  104. package/dist/canvasLiftGammaGainEffect.js.map +1 -0
  105. package/dist/canvasLookupTableGradeEffect.d.ts +4 -0
  106. package/dist/canvasLookupTableGradeEffect.d.ts.map +1 -0
  107. package/dist/canvasLookupTableGradeEffect.js +10 -0
  108. package/dist/canvasLookupTableGradeEffect.js.map +1 -0
  109. package/dist/canvasMotionBlurEffect.d.ts +4 -0
  110. package/dist/canvasMotionBlurEffect.d.ts.map +1 -0
  111. package/dist/canvasMotionBlurEffect.js +11 -0
  112. package/dist/canvasMotionBlurEffect.js.map +1 -0
  113. package/dist/canvasOutlineEffect.d.ts +4 -0
  114. package/dist/canvasOutlineEffect.d.ts.map +1 -0
  115. package/dist/canvasOutlineEffect.js +11 -0
  116. package/dist/canvasOutlineEffect.js.map +1 -0
  117. package/dist/canvasPixelateEffect.d.ts +4 -0
  118. package/dist/canvasPixelateEffect.d.ts.map +1 -0
  119. package/dist/canvasPixelateEffect.js +36 -0
  120. package/dist/canvasPixelateEffect.js.map +1 -0
  121. package/dist/canvasPosterizeEffect.d.ts +4 -0
  122. package/dist/canvasPosterizeEffect.d.ts.map +1 -0
  123. package/dist/canvasPosterizeEffect.js +10 -0
  124. package/dist/canvasPosterizeEffect.js.map +1 -0
  125. package/dist/canvasRadialBlurEffect.d.ts +4 -0
  126. package/dist/canvasRadialBlurEffect.d.ts.map +1 -0
  127. package/dist/canvasRadialBlurEffect.js +11 -0
  128. package/dist/canvasRadialBlurEffect.js.map +1 -0
  129. package/dist/canvasRenderEffectPipeline.d.ts +9 -0
  130. package/dist/canvasRenderEffectPipeline.d.ts.map +1 -0
  131. package/dist/canvasRenderEffectPipeline.js +97 -0
  132. package/dist/canvasRenderEffectPipeline.js.map +1 -0
  133. package/dist/canvasRenderEffectRegistration.d.ts +7 -0
  134. package/dist/canvasRenderEffectRegistration.d.ts.map +1 -0
  135. package/dist/canvasRenderEffectRegistration.js +150 -0
  136. package/dist/canvasRenderEffectRegistration.js.map +1 -0
  137. package/dist/canvasRenderEffectRegistry.d.ts +5 -0
  138. package/dist/canvasRenderEffectRegistry.d.ts.map +1 -0
  139. package/dist/canvasRenderEffectRegistry.js +24 -0
  140. package/dist/canvasRenderEffectRegistry.js.map +1 -0
  141. package/dist/canvasScanlinesEffect.d.ts +4 -0
  142. package/dist/canvasScanlinesEffect.d.ts.map +1 -0
  143. package/dist/canvasScanlinesEffect.js +28 -0
  144. package/dist/canvasScanlinesEffect.js.map +1 -0
  145. package/dist/canvasScreenSpaceFogEffect.d.ts +4 -0
  146. package/dist/canvasScreenSpaceFogEffect.d.ts.map +1 -0
  147. package/dist/canvasScreenSpaceFogEffect.js +10 -0
  148. package/dist/canvasScreenSpaceFogEffect.js.map +1 -0
  149. package/dist/canvasSepiaEffect.d.ts +4 -0
  150. package/dist/canvasSepiaEffect.d.ts.map +1 -0
  151. package/dist/canvasSepiaEffect.js +10 -0
  152. package/dist/canvasSepiaEffect.js.map +1 -0
  153. package/dist/canvasSharpenEffect.d.ts +4 -0
  154. package/dist/canvasSharpenEffect.d.ts.map +1 -0
  155. package/dist/canvasSharpenEffect.js +11 -0
  156. package/dist/canvasSharpenEffect.js.map +1 -0
  157. package/dist/canvasSketchEffect.d.ts +4 -0
  158. package/dist/canvasSketchEffect.d.ts.map +1 -0
  159. package/dist/canvasSketchEffect.js +11 -0
  160. package/dist/canvasSketchEffect.js.map +1 -0
  161. package/dist/canvasSmaaEffect.d.ts +4 -0
  162. package/dist/canvasSmaaEffect.d.ts.map +1 -0
  163. package/dist/canvasSmaaEffect.js +11 -0
  164. package/dist/canvasSmaaEffect.js.map +1 -0
  165. package/dist/canvasSsaoEffect.d.ts +4 -0
  166. package/dist/canvasSsaoEffect.d.ts.map +1 -0
  167. package/dist/canvasSsaoEffect.js +11 -0
  168. package/dist/canvasSsaoEffect.js.map +1 -0
  169. package/dist/canvasSsrEffect.d.ts +4 -0
  170. package/dist/canvasSsrEffect.d.ts.map +1 -0
  171. package/dist/canvasSsrEffect.js +11 -0
  172. package/dist/canvasSsrEffect.js.map +1 -0
  173. package/dist/canvasTaaEffect.d.ts +4 -0
  174. package/dist/canvasTaaEffect.d.ts.map +1 -0
  175. package/dist/canvasTaaEffect.js +11 -0
  176. package/dist/canvasTaaEffect.js.map +1 -0
  177. package/dist/canvasTiltShiftEffect.d.ts +4 -0
  178. package/dist/canvasTiltShiftEffect.d.ts.map +1 -0
  179. package/dist/canvasTiltShiftEffect.js +11 -0
  180. package/dist/canvasTiltShiftEffect.js.map +1 -0
  181. package/dist/canvasToneMapEffect.d.ts +4 -0
  182. package/dist/canvasToneMapEffect.d.ts.map +1 -0
  183. package/dist/canvasToneMapEffect.js +12 -0
  184. package/dist/canvasToneMapEffect.js.map +1 -0
  185. package/dist/canvasVignetteEffect.d.ts +4 -0
  186. package/dist/canvasVignetteEffect.d.ts.map +1 -0
  187. package/dist/canvasVignetteEffect.js +41 -0
  188. package/dist/canvasVignetteEffect.js.map +1 -0
  189. package/dist/canvasWhiteBalanceEffect.d.ts +4 -0
  190. package/dist/canvasWhiteBalanceEffect.d.ts.map +1 -0
  191. package/dist/canvasWhiteBalanceEffect.js +11 -0
  192. package/dist/canvasWhiteBalanceEffect.js.map +1 -0
  193. package/dist/index.d.ts +49 -0
  194. package/dist/index.d.ts.map +1 -0
  195. package/dist/index.js +49 -0
  196. package/dist/index.js.map +1 -0
  197. package/package.json +42 -0
  198. package/src/canvasBloomEffect.test.ts +13 -0
  199. package/src/canvasBokehDepthOfFieldEffect.test.ts +16 -0
  200. package/src/canvasBrightnessContrastEffect.test.ts +16 -0
  201. package/src/canvasCameraMotionBlurEffect.test.ts +16 -0
  202. package/src/canvasChannelMixerEffect.test.ts +13 -0
  203. package/src/canvasChromaticAberrationEffect.test.ts +16 -0
  204. package/src/canvasColorGradeEffect.test.ts +13 -0
  205. package/src/canvasCrtEffect.test.ts +13 -0
  206. package/src/canvasDirectionalBlurEffect.test.ts +16 -0
  207. package/src/canvasDisplacementEffect.test.ts +13 -0
  208. package/src/canvasDitherEffect.test.ts +13 -0
  209. package/src/canvasEffectCompositing.test.ts +63 -0
  210. package/src/canvasExposureEffect.test.ts +13 -0
  211. package/src/canvasFilmGrainEffect.test.ts +13 -0
  212. package/src/canvasFxaaEffect.test.ts +13 -0
  213. package/src/canvasGlitchEffect.test.ts +13 -0
  214. package/src/canvasGodRaysEffect.test.ts +13 -0
  215. package/src/canvasGrayscaleEffect.test.ts +13 -0
  216. package/src/canvasHalftoneEffect.test.ts +13 -0
  217. package/src/canvasHueSaturationEffect.test.ts +13 -0
  218. package/src/canvasInvertEffect.test.ts +13 -0
  219. package/src/canvasKuwaharaEffect.test.ts +13 -0
  220. package/src/canvasLensDirtEffect.test.ts +13 -0
  221. package/src/canvasLensDistortionEffect.test.ts +16 -0
  222. package/src/canvasLensFlareEffect.test.ts +13 -0
  223. package/src/canvasLiftGammaGainEffect.test.ts +13 -0
  224. package/src/canvasLookupTableGradeEffect.test.ts +16 -0
  225. package/src/canvasMotionBlurEffect.test.ts +13 -0
  226. package/src/canvasOutlineEffect.test.ts +13 -0
  227. package/src/canvasPixelateEffect.test.ts +13 -0
  228. package/src/canvasPosterizeEffect.test.ts +13 -0
  229. package/src/canvasRadialBlurEffect.test.ts +13 -0
  230. package/src/canvasRenderEffectPipeline.test.ts +66 -0
  231. package/src/canvasRenderEffectRegistration.test.ts +162 -0
  232. package/src/canvasRenderEffectRegistry.test.ts +41 -0
  233. package/src/canvasScanlinesEffect.test.ts +13 -0
  234. package/src/canvasScreenSpaceFogEffect.test.ts +16 -0
  235. package/src/canvasSepiaEffect.test.ts +13 -0
  236. package/src/canvasSharpenEffect.test.ts +13 -0
  237. package/src/canvasSketchEffect.test.ts +13 -0
  238. package/src/canvasSmaaEffect.test.ts +13 -0
  239. package/src/canvasSsaoEffect.test.ts +13 -0
  240. package/src/canvasSsrEffect.test.ts +13 -0
  241. package/src/canvasTaaEffect.test.ts +13 -0
  242. package/src/canvasTiltShiftEffect.test.ts +13 -0
  243. package/src/canvasToneMapEffect.test.ts +13 -0
  244. package/src/canvasVignetteEffect.test.ts +13 -0
  245. package/src/canvasWhiteBalanceEffect.test.ts +13 -0
@@ -0,0 +1,4 @@
1
+ import type { CanvasRenderEffectRunner, CanvasRenderTarget, WhiteBalanceEffect } from '@flighthq/types';
2
+ export declare function applyWhiteBalanceEffectToCanvas(source: Readonly<CanvasRenderTarget>, dest: Readonly<CanvasRenderTarget>, _effect: Readonly<WhiteBalanceEffect>): void;
3
+ export declare const defaultCanvasWhiteBalanceEffectRunner: CanvasRenderEffectRunner;
4
+ //# sourceMappingURL=canvasWhiteBalanceEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasWhiteBalanceEffect.d.ts","sourceRoot":"","sources":["../src/canvasWhiteBalanceEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAOxG,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAClC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACpC,IAAI,CAEN;AAED,eAAO,MAAM,qCAAqC,EAAE,wBAEnD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { passthroughCanvasEffectPass } from './canvasEffectCompositing';
2
+ // White balance (PASSTHROUGH): a per-channel temperature/tint shift (only the coarse colorGrade hue
3
+ // approximation exists as CSS). No CSS filter equivalent for the full effect, but expressible per-pixel
4
+ // via getImageData/putImageData; not yet implemented — passthrough for now.
5
+ export function applyWhiteBalanceEffectToCanvas(source, dest, _effect) {
6
+ passthroughCanvasEffectPass(dest, source);
7
+ }
8
+ export const defaultCanvasWhiteBalanceEffectRunner = (ctx, effect) => {
9
+ applyWhiteBalanceEffectToCanvas(ctx.source, ctx.dest, effect);
10
+ };
11
+ //# sourceMappingURL=canvasWhiteBalanceEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasWhiteBalanceEffect.js","sourceRoot":"","sources":["../src/canvasWhiteBalanceEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAExE,oGAAoG;AACpG,wGAAwG;AACxG,4EAA4E;AAC5E,MAAM,UAAU,+BAA+B,CAC7C,MAAoC,EACpC,IAAkC,EAClC,OAAqC;IAErC,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,qCAAqC,GAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7F,+BAA+B,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA4B,CAAC,CAAC;AACtF,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ export * from './canvasBloomEffect';
2
+ export * from './canvasBokehDepthOfFieldEffect';
3
+ export * from './canvasBrightnessContrastEffect';
4
+ export * from './canvasCameraMotionBlurEffect';
5
+ export * from './canvasChannelMixerEffect';
6
+ export * from './canvasChromaticAberrationEffect';
7
+ export * from './canvasColorGradeEffect';
8
+ export * from './canvasCrtEffect';
9
+ export * from './canvasDirectionalBlurEffect';
10
+ export * from './canvasDisplacementEffect';
11
+ export * from './canvasDitherEffect';
12
+ export * from './canvasEffectCompositing';
13
+ export * from './canvasExposureEffect';
14
+ export * from './canvasFilmGrainEffect';
15
+ export * from './canvasFxaaEffect';
16
+ export * from './canvasGlitchEffect';
17
+ export * from './canvasGodRaysEffect';
18
+ export * from './canvasGrayscaleEffect';
19
+ export * from './canvasHalftoneEffect';
20
+ export * from './canvasHueSaturationEffect';
21
+ export * from './canvasInvertEffect';
22
+ export * from './canvasKuwaharaEffect';
23
+ export * from './canvasLensDirtEffect';
24
+ export * from './canvasLensDistortionEffect';
25
+ export * from './canvasLensFlareEffect';
26
+ export * from './canvasLiftGammaGainEffect';
27
+ export * from './canvasLookupTableGradeEffect';
28
+ export * from './canvasMotionBlurEffect';
29
+ export * from './canvasOutlineEffect';
30
+ export * from './canvasPixelateEffect';
31
+ export * from './canvasPosterizeEffect';
32
+ export * from './canvasRadialBlurEffect';
33
+ export * from './canvasRenderEffectPipeline';
34
+ export * from './canvasRenderEffectRegistration';
35
+ export * from './canvasRenderEffectRegistry';
36
+ export * from './canvasScanlinesEffect';
37
+ export * from './canvasScreenSpaceFogEffect';
38
+ export * from './canvasSepiaEffect';
39
+ export * from './canvasSharpenEffect';
40
+ export * from './canvasSketchEffect';
41
+ export * from './canvasSmaaEffect';
42
+ export * from './canvasSsaoEffect';
43
+ export * from './canvasSsrEffect';
44
+ export * from './canvasTaaEffect';
45
+ export * from './canvasTiltShiftEffect';
46
+ export * from './canvasToneMapEffect';
47
+ export * from './canvasVignetteEffect';
48
+ export * from './canvasWhiteBalanceEffect';
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,49 @@
1
+ export * from './canvasBloomEffect';
2
+ export * from './canvasBokehDepthOfFieldEffect';
3
+ export * from './canvasBrightnessContrastEffect';
4
+ export * from './canvasCameraMotionBlurEffect';
5
+ export * from './canvasChannelMixerEffect';
6
+ export * from './canvasChromaticAberrationEffect';
7
+ export * from './canvasColorGradeEffect';
8
+ export * from './canvasCrtEffect';
9
+ export * from './canvasDirectionalBlurEffect';
10
+ export * from './canvasDisplacementEffect';
11
+ export * from './canvasDitherEffect';
12
+ export * from './canvasEffectCompositing';
13
+ export * from './canvasExposureEffect';
14
+ export * from './canvasFilmGrainEffect';
15
+ export * from './canvasFxaaEffect';
16
+ export * from './canvasGlitchEffect';
17
+ export * from './canvasGodRaysEffect';
18
+ export * from './canvasGrayscaleEffect';
19
+ export * from './canvasHalftoneEffect';
20
+ export * from './canvasHueSaturationEffect';
21
+ export * from './canvasInvertEffect';
22
+ export * from './canvasKuwaharaEffect';
23
+ export * from './canvasLensDirtEffect';
24
+ export * from './canvasLensDistortionEffect';
25
+ export * from './canvasLensFlareEffect';
26
+ export * from './canvasLiftGammaGainEffect';
27
+ export * from './canvasLookupTableGradeEffect';
28
+ export * from './canvasMotionBlurEffect';
29
+ export * from './canvasOutlineEffect';
30
+ export * from './canvasPixelateEffect';
31
+ export * from './canvasPosterizeEffect';
32
+ export * from './canvasRadialBlurEffect';
33
+ export * from './canvasRenderEffectPipeline';
34
+ export * from './canvasRenderEffectRegistration';
35
+ export * from './canvasRenderEffectRegistry';
36
+ export * from './canvasScanlinesEffect';
37
+ export * from './canvasScreenSpaceFogEffect';
38
+ export * from './canvasSepiaEffect';
39
+ export * from './canvasSharpenEffect';
40
+ export * from './canvasSketchEffect';
41
+ export * from './canvasSmaaEffect';
42
+ export * from './canvasSsaoEffect';
43
+ export * from './canvasSsrEffect';
44
+ export * from './canvasTaaEffect';
45
+ export * from './canvasTiltShiftEffect';
46
+ export * from './canvasToneMapEffect';
47
+ export * from './canvasVignetteEffect';
48
+ export * from './canvasWhiteBalanceEffect';
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@flighthq/effects-canvas",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "src/**/*.test.ts",
16
+ "!dist/**/*.test.js",
17
+ "!dist/**/*.test.d.ts",
18
+ "!dist/**/*.test.js.map",
19
+ "!dist/**/*.test.d.ts.map"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc -b",
23
+ "clean": "tsc -b --clean",
24
+ "test": "vitest run --config vitest.config.ts",
25
+ "test:watch": "vitest --watch --config vitest.config.ts",
26
+ "prepack": "npm run clean && npm run clean:dist && npm run build",
27
+ "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
28
+ },
29
+ "dependencies": {
30
+ "@flighthq/displayobject-canvas": "0.1.0",
31
+ "@flighthq/effects": "0.1.0",
32
+ "@flighthq/filters": "0.1.0",
33
+ "@flighthq/filters-canvas": "0.1.0",
34
+ "@flighthq/geometry": "0.1.0",
35
+ "@flighthq/types": "0.1.0"
36
+ },
37
+ "devDependencies": {
38
+ "typescript": "^5.3.0"
39
+ },
40
+ "description": "Canvas 2D recipes for render effects (CSS-filter and draw-op compositing pipeline)",
41
+ "sideEffects": false
42
+ }
@@ -0,0 +1,13 @@
1
+ import { applyBloomEffectToCanvas, defaultCanvasBloomEffectRunner } from './canvasBloomEffect';
2
+
3
+ describe('applyBloomEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyBloomEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasBloomEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasBloomEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,16 @@
1
+ import {
2
+ applyBokehDepthOfFieldEffectToCanvas,
3
+ defaultCanvasBokehDepthOfFieldEffectRunner,
4
+ } from './canvasBokehDepthOfFieldEffect';
5
+
6
+ describe('applyBokehDepthOfFieldEffectToCanvas', () => {
7
+ it('is a function', () => {
8
+ expect(typeof applyBokehDepthOfFieldEffectToCanvas).toBe('function');
9
+ });
10
+ });
11
+
12
+ describe('defaultCanvasBokehDepthOfFieldEffectRunner', () => {
13
+ it('is a function', () => {
14
+ expect(typeof defaultCanvasBokehDepthOfFieldEffectRunner).toBe('function');
15
+ });
16
+ });
@@ -0,0 +1,16 @@
1
+ import {
2
+ applyBrightnessContrastEffectToCanvas,
3
+ defaultCanvasBrightnessContrastEffectRunner,
4
+ } from './canvasBrightnessContrastEffect';
5
+
6
+ describe('applyBrightnessContrastEffectToCanvas', () => {
7
+ it('is a function', () => {
8
+ expect(typeof applyBrightnessContrastEffectToCanvas).toBe('function');
9
+ });
10
+ });
11
+
12
+ describe('defaultCanvasBrightnessContrastEffectRunner', () => {
13
+ it('is a function', () => {
14
+ expect(typeof defaultCanvasBrightnessContrastEffectRunner).toBe('function');
15
+ });
16
+ });
@@ -0,0 +1,16 @@
1
+ import {
2
+ applyCameraMotionBlurEffectToCanvas,
3
+ defaultCanvasCameraMotionBlurEffectRunner,
4
+ } from './canvasCameraMotionBlurEffect';
5
+
6
+ describe('applyCameraMotionBlurEffectToCanvas', () => {
7
+ it('is a function', () => {
8
+ expect(typeof applyCameraMotionBlurEffectToCanvas).toBe('function');
9
+ });
10
+ });
11
+
12
+ describe('defaultCanvasCameraMotionBlurEffectRunner', () => {
13
+ it('is a function', () => {
14
+ expect(typeof defaultCanvasCameraMotionBlurEffectRunner).toBe('function');
15
+ });
16
+ });
@@ -0,0 +1,13 @@
1
+ import { applyChannelMixerEffectToCanvas, defaultCanvasChannelMixerEffectRunner } from './canvasChannelMixerEffect';
2
+
3
+ describe('applyChannelMixerEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyChannelMixerEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasChannelMixerEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasChannelMixerEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,16 @@
1
+ import {
2
+ applyChromaticAberrationEffectToCanvas,
3
+ defaultCanvasChromaticAberrationEffectRunner,
4
+ } from './canvasChromaticAberrationEffect';
5
+
6
+ describe('applyChromaticAberrationEffectToCanvas', () => {
7
+ it('is a function', () => {
8
+ expect(typeof applyChromaticAberrationEffectToCanvas).toBe('function');
9
+ });
10
+ });
11
+
12
+ describe('defaultCanvasChromaticAberrationEffectRunner', () => {
13
+ it('is a function', () => {
14
+ expect(typeof defaultCanvasChromaticAberrationEffectRunner).toBe('function');
15
+ });
16
+ });
@@ -0,0 +1,13 @@
1
+ import { applyColorGradeEffectToCanvas, defaultCanvasColorGradeEffectRunner } from './canvasColorGradeEffect';
2
+
3
+ describe('applyColorGradeEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyColorGradeEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasColorGradeEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasColorGradeEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyCrtEffectToCanvas, defaultCanvasCrtEffectRunner } from './canvasCrtEffect';
2
+
3
+ describe('applyCrtEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyCrtEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasCrtEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasCrtEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,16 @@
1
+ import {
2
+ applyDirectionalBlurEffectToCanvas,
3
+ defaultCanvasDirectionalBlurEffectRunner,
4
+ } from './canvasDirectionalBlurEffect';
5
+
6
+ describe('applyDirectionalBlurEffectToCanvas', () => {
7
+ it('is a function', () => {
8
+ expect(typeof applyDirectionalBlurEffectToCanvas).toBe('function');
9
+ });
10
+ });
11
+
12
+ describe('defaultCanvasDirectionalBlurEffectRunner', () => {
13
+ it('is a function', () => {
14
+ expect(typeof defaultCanvasDirectionalBlurEffectRunner).toBe('function');
15
+ });
16
+ });
@@ -0,0 +1,13 @@
1
+ import { applyDisplacementEffectToCanvas, defaultCanvasDisplacementEffectRunner } from './canvasDisplacementEffect';
2
+
3
+ describe('applyDisplacementEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyDisplacementEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasDisplacementEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasDisplacementEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyDitherEffectToCanvas, defaultCanvasDitherEffectRunner } from './canvasDitherEffect';
2
+
3
+ describe('applyDitherEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyDitherEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasDitherEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasDitherEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,63 @@
1
+ import type { CanvasRenderTarget } from '@flighthq/types';
2
+
3
+ import {
4
+ drawCanvasAccumulationPass,
5
+ drawCanvasEffectPass,
6
+ drawCanvasImageDataPass,
7
+ passthroughCanvasEffectPass,
8
+ } from './canvasEffectCompositing';
9
+
10
+ describe('drawCanvasAccumulationPass', () => {
11
+ it('is a function', () => {
12
+ expect(typeof drawCanvasAccumulationPass).toBe('function');
13
+ });
14
+ it('calls perSampleTransform for each sample', () => {
15
+ const dest = makeTarget();
16
+ const source = makeTarget();
17
+ let calls = 0;
18
+ drawCanvasAccumulationPass(dest, source, 3, () => {
19
+ calls++;
20
+ });
21
+ expect(calls).toBe(3);
22
+ });
23
+ });
24
+
25
+ describe('drawCanvasEffectPass', () => {
26
+ it('is a function', () => {
27
+ expect(typeof drawCanvasEffectPass).toBe('function');
28
+ });
29
+ });
30
+
31
+ describe('drawCanvasImageDataPass', () => {
32
+ it('is a function', () => {
33
+ expect(typeof drawCanvasImageDataPass).toBe('function');
34
+ });
35
+ it('calls transform with the pixel buffer', () => {
36
+ const dest = makeTarget(2, 2);
37
+ const source = makeTarget(2, 2);
38
+ // Fill source with a known color.
39
+ source.context.fillStyle = 'rgb(100,150,200)';
40
+ source.context.fillRect(0, 0, 2, 2);
41
+ let called = false;
42
+ drawCanvasImageDataPass(dest, source, (_data, pixelCount) => {
43
+ called = true;
44
+ expect(pixelCount).toBe(4);
45
+ });
46
+ expect(called).toBe(true);
47
+ });
48
+ });
49
+
50
+ describe('passthroughCanvasEffectPass', () => {
51
+ it('is a function', () => {
52
+ expect(typeof passthroughCanvasEffectPass).toBe('function');
53
+ });
54
+ });
55
+
56
+ // Minimal CanvasRenderTarget factory for unit tests.
57
+ function makeTarget(w = 4, h = 4): CanvasRenderTarget {
58
+ const canvas = document.createElement('canvas');
59
+ canvas.width = w;
60
+ canvas.height = h;
61
+ const context = canvas.getContext('2d') as CanvasRenderingContext2D;
62
+ return { canvas, context, width: w, height: h } as CanvasRenderTarget;
63
+ }
@@ -0,0 +1,13 @@
1
+ import { applyExposureEffectToCanvas, defaultCanvasExposureEffectRunner } from './canvasExposureEffect';
2
+
3
+ describe('applyExposureEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyExposureEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasExposureEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasExposureEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyFilmGrainEffectToCanvas, defaultCanvasFilmGrainEffectRunner } from './canvasFilmGrainEffect';
2
+
3
+ describe('applyFilmGrainEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyFilmGrainEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasFilmGrainEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasFilmGrainEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyFxaaEffectToCanvas, defaultCanvasFxaaEffectRunner } from './canvasFxaaEffect';
2
+
3
+ describe('applyFxaaEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyFxaaEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasFxaaEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasFxaaEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyGlitchEffectToCanvas, defaultCanvasGlitchEffectRunner } from './canvasGlitchEffect';
2
+
3
+ describe('applyGlitchEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyGlitchEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasGlitchEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasGlitchEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyGodRaysEffectToCanvas, defaultCanvasGodRaysEffectRunner } from './canvasGodRaysEffect';
2
+
3
+ describe('applyGodRaysEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyGodRaysEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasGodRaysEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasGodRaysEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyGrayscaleEffectToCanvas, defaultCanvasGrayscaleEffectRunner } from './canvasGrayscaleEffect';
2
+
3
+ describe('applyGrayscaleEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyGrayscaleEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasGrayscaleEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasGrayscaleEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyHalftoneEffectToCanvas, defaultCanvasHalftoneEffectRunner } from './canvasHalftoneEffect';
2
+
3
+ describe('applyHalftoneEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyHalftoneEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasHalftoneEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasHalftoneEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyHueSaturationEffectToCanvas, defaultCanvasHueSaturationEffectRunner } from './canvasHueSaturationEffect';
2
+
3
+ describe('applyHueSaturationEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyHueSaturationEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasHueSaturationEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasHueSaturationEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyInvertEffectToCanvas, defaultCanvasInvertEffectRunner } from './canvasInvertEffect';
2
+
3
+ describe('applyInvertEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyInvertEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasInvertEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasInvertEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyKuwaharaEffectToCanvas, defaultCanvasKuwaharaEffectRunner } from './canvasKuwaharaEffect';
2
+
3
+ describe('applyKuwaharaEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyKuwaharaEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasKuwaharaEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasKuwaharaEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyLensDirtEffectToCanvas, defaultCanvasLensDirtEffectRunner } from './canvasLensDirtEffect';
2
+
3
+ describe('applyLensDirtEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyLensDirtEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasLensDirtEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasLensDirtEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,16 @@
1
+ import {
2
+ applyLensDistortionEffectToCanvas,
3
+ defaultCanvasLensDistortionEffectRunner,
4
+ } from './canvasLensDistortionEffect';
5
+
6
+ describe('applyLensDistortionEffectToCanvas', () => {
7
+ it('is a function', () => {
8
+ expect(typeof applyLensDistortionEffectToCanvas).toBe('function');
9
+ });
10
+ });
11
+
12
+ describe('defaultCanvasLensDistortionEffectRunner', () => {
13
+ it('is a function', () => {
14
+ expect(typeof defaultCanvasLensDistortionEffectRunner).toBe('function');
15
+ });
16
+ });
@@ -0,0 +1,13 @@
1
+ import { applyLensFlareEffectToCanvas, defaultCanvasLensFlareEffectRunner } from './canvasLensFlareEffect';
2
+
3
+ describe('applyLensFlareEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyLensFlareEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasLensFlareEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasLensFlareEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,13 @@
1
+ import { applyLiftGammaGainEffectToCanvas, defaultCanvasLiftGammaGainEffectRunner } from './canvasLiftGammaGainEffect';
2
+
3
+ describe('applyLiftGammaGainEffectToCanvas', () => {
4
+ it('is a function', () => {
5
+ expect(typeof applyLiftGammaGainEffectToCanvas).toBe('function');
6
+ });
7
+ });
8
+
9
+ describe('defaultCanvasLiftGammaGainEffectRunner', () => {
10
+ it('is a function', () => {
11
+ expect(typeof defaultCanvasLiftGammaGainEffectRunner).toBe('function');
12
+ });
13
+ });
@@ -0,0 +1,16 @@
1
+ import {
2
+ applyLookupTableGradeEffectToCanvas,
3
+ defaultCanvasLookupTableGradeEffectRunner,
4
+ } from './canvasLookupTableGradeEffect';
5
+
6
+ describe('applyLookupTableGradeEffectToCanvas', () => {
7
+ it('is a function', () => {
8
+ expect(typeof applyLookupTableGradeEffectToCanvas).toBe('function');
9
+ });
10
+ });
11
+
12
+ describe('defaultCanvasLookupTableGradeEffectRunner', () => {
13
+ it('is a function', () => {
14
+ expect(typeof defaultCanvasLookupTableGradeEffectRunner).toBe('function');
15
+ });
16
+ });