@flighthq/effects-wgpu 0.1.0 → 0.2.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 (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 +122 -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 +49 -0
  52. package/dist/wgpuDropShadowEffect.js.map +1 -0
  53. package/dist/wgpuEffectBlitShader.d.ts +15 -0
  54. package/dist/wgpuEffectBlitShader.d.ts.map +1 -0
  55. package/dist/wgpuEffectBlitShader.js +71 -0
  56. package/dist/wgpuEffectBlitShader.js.map +1 -0
  57. package/dist/wgpuEffectBoxBlur.d.ts +14 -0
  58. package/dist/wgpuEffectBoxBlur.d.ts.map +1 -0
  59. package/dist/wgpuEffectBoxBlur.js +81 -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 +41 -0
  66. package/dist/wgpuEffectPass.d.ts.map +1 -0
  67. package/dist/wgpuEffectPass.js +259 -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 +189 -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 +97 -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 +37 -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 +42 -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 +43 -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 +59 -9
  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 +13 -0
  194. package/src/wgpuEffectBlitShader.test.ts +13 -0
  195. package/src/wgpuEffectBoxBlur.test.ts +7 -0
  196. package/src/wgpuEffectGradientRamp.test.ts +7 -0
  197. package/src/wgpuEffectPass.test.ts +51 -0
  198. package/src/wgpuEffectTintShader.test.ts +23 -0
  199. package/src/wgpuGradientBevelEffect.test.ts +13 -0
  200. package/src/wgpuGradientGlowEffect.test.ts +13 -0
  201. package/src/wgpuInnerGlowEffect.test.ts +13 -0
  202. package/src/wgpuInnerShadowEffect.test.ts +13 -0
  203. package/src/wgpuMedianEffect.test.ts +13 -0
  204. package/src/wgpuOuterGlowEffect.test.ts +13 -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,4 +1,4 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // Radial blur: accumulate samples stepped from the current uv toward (centerX, centerY) scaled by
4
4
  // `strength`, normalized by the sample count. Single-pass reference recipe, the Wgpu mirror of
@@ -9,7 +9,7 @@ export function applyRadialBlurEffectToWgpu(state, source, dest, effect) {
9
9
  const strength = effect.strength ?? 0.2;
10
10
  const samples = effect.samples ?? 16;
11
11
  const pipeline = getWgpuEffectPipeline(state, 'motion.radialBlur', RADIAL_BLUR_FRAGMENT_WGSL, 'replace');
12
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
12
+ drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
13
13
  f32[0] = centerX;
14
14
  f32[1] = centerY;
15
15
  f32[2] = strength;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRadialBlurEffect.js","sourceRoot":"","sources":["../src/wgpuRadialBlurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,kGAAkG;AAClG,+FAA+F;AAC/F,0CAA0C;AAC1C,MAAM,UAAU,2BAA2B,CACzC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAkC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,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,OAAO,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QAClB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACvF,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA0B,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,yBAAyB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B3C,CAAC"}
1
+ {"version":3,"file":"wgpuRadialBlurEffect.js","sourceRoot":"","sources":["../src/wgpuRadialBlurEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,kGAAkG;AAClG,+FAA+F;AAC/F,0CAA0C;AAC1C,MAAM,UAAU,2BAA2B,CACzC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAkC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,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,OAAO,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QAClB,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACvF,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA0B,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,yBAAyB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B3C,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { RenderEffect, RenderEffectPipelineOptions, WgpuRenderEffectPipeline, WgpuRenderState } from '@flighthq/types';
1
+ import type { Adjustment, RenderEffect, RenderEffectPipelineOptions, WgpuRenderEffectPipeline, WgpuRenderState } from '@flighthq/types';
2
2
  export declare function beginWgpuRenderEffectPipeline(state: WgpuRenderState, pipeline: WgpuRenderEffectPipeline): void;
3
3
  export declare function createWgpuRenderEffectPipeline(_state: WgpuRenderState, options?: Readonly<RenderEffectPipelineOptions>): WgpuRenderEffectPipeline;
4
4
  export declare function destroyWgpuRenderEffectPipeline(state: WgpuRenderState, pipeline: WgpuRenderEffectPipeline): void;
5
- export declare function endWgpuRenderEffectPipeline(state: WgpuRenderState, pipeline: WgpuRenderEffectPipeline, effects: ReadonlyArray<RenderEffect>): void;
5
+ export declare function endWgpuRenderEffectPipeline(state: WgpuRenderState, pipeline: WgpuRenderEffectPipeline, operations: ReadonlyArray<RenderEffect | Adjustment>): void;
6
6
  export declare function setWgpuRenderEffectVelocityTexture(pipeline: WgpuRenderEffectPipeline, texture: GPUTexture | null): void;
7
7
  //# sourceMappingURL=wgpuRenderEffectPipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderEffectPipeline.d.ts","sourceRoot":"","sources":["../src/wgpuRenderEffectPipeline.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAC3B,wBAAwB,EACxB,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAgBzB,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAiB9G;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,QAAQ,CAAC,2BAA2B,CAAM,GAClD,wBAAwB,CAE1B;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAMhH;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GACnC,IAAI,CAwCN;AAID,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,UAAU,GAAG,IAAI,GACzB,IAAI,CAEN"}
1
+ {"version":3,"file":"wgpuRenderEffectPipeline.d.ts","sourceRoot":"","sources":["../src/wgpuRenderEffectPipeline.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,2BAA2B,EAC3B,wBAAwB,EACxB,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAmBzB,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAiB9G;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,QAAQ,CAAC,2BAA2B,CAAM,GAClD,wBAAwB,CAS1B;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAYhH;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,aAAa,CAAC,YAAY,GAAG,UAAU,CAAC,GACnD,IAAI,CAwEN;AAID,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,UAAU,GAAG,IAAI,GACzB,IAAI,CAEN"}
@@ -1,6 +1,9 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { bakeColorLutForRun, createColorLutCache, fuseColorMatrices, getAdjustmentColorMatrix, isColorLutAdjustment, } from '@flighthq/adjustments';
2
2
  import { createMatrix } from '@flighthq/geometry';
3
3
  import { acquireWgpuRenderTarget, beginWgpuRenderTarget, createWgpuRenderTarget, createWgpuRenderTargetPool, destroyWgpuRenderTarget, destroyWgpuRenderTargetPool, endWgpuRenderTarget, getWgpuRenderStateRuntime, releaseWgpuRenderTarget, resizeWgpuRenderTarget, } from '@flighthq/render-wgpu';
4
+ import { applyColorLutPassToWgpu } from './wgpuColorLutPass';
5
+ import { applyColorMatrixPassToWgpu } from './wgpuColorMatrixPass';
6
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
4
7
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
5
8
  import { getWgpuRenderEffectRunner } from './wgpuRenderEffectRegistry';
6
9
  // Opt-in post-process pipeline, the Wgpu mirror of effects-gl's renderEffectPipeline. The caller
@@ -31,7 +34,14 @@ export function beginWgpuRenderEffectPipeline(state, pipeline) {
31
34
  beginWgpuRenderTarget(state, pipeline.sceneTarget, state.renderTransform2D ?? createMatrix(), clearColor);
32
35
  }
33
36
  export function createWgpuRenderEffectPipeline(_state, options = {}) {
34
- return { options: { ...options }, sceneTarget: null, pool: createWgpuRenderTargetPool(), velocityTexture: null };
37
+ return {
38
+ options: { ...options },
39
+ sceneTarget: null,
40
+ pool: createWgpuRenderTargetPool(),
41
+ lutCache: createColorLutCache(),
42
+ lutTexture: { texture: null, size: 0, lut: null },
43
+ velocityTexture: null,
44
+ };
35
45
  }
36
46
  export function destroyWgpuRenderEffectPipeline(state, pipeline) {
37
47
  if (pipeline.sceneTarget) {
@@ -39,8 +49,14 @@ export function destroyWgpuRenderEffectPipeline(state, pipeline) {
39
49
  pipeline.sceneTarget = null;
40
50
  }
41
51
  destroyWgpuRenderTargetPool(state, pipeline.pool);
52
+ pipeline.lutTexture.texture?.destroy();
53
+ pipeline.lutTexture.texture = null;
54
+ pipeline.lutTexture.size = 0;
55
+ pipeline.lutTexture.lut = null;
56
+ pipeline.lutCache.signature = null;
57
+ pipeline.lutCache.lut = null;
42
58
  }
43
- export function endWgpuRenderEffectPipeline(state, pipeline, effects) {
59
+ export function endWgpuRenderEffectPipeline(state, pipeline, operations) {
44
60
  const scene = pipeline.sceneTarget;
45
61
  if (scene === null)
46
62
  return;
@@ -51,14 +67,47 @@ export function endWgpuRenderEffectPipeline(state, pipeline, effects) {
51
67
  let source = scene;
52
68
  let scratchA = null;
53
69
  let scratchB = null;
54
- for (const effect of effects) {
55
- const runner = getWgpuRenderEffectRunner(state, effect.kind);
56
- if (runner === null)
57
- continue;
70
+ // A maximal run of consecutive pointwise adjustments fuses into ONE pass: all matrix-tier → one 4×5
71
+ // matrix (cheaper applyColorMatrixPass); any LUT-tier member → the whole run (matrices folded in) bakes
72
+ // into one ColorLut (applyColorLutPass). An effect (or the end of the stack) breaks the run and flushes
73
+ // it first, preserving stack order.
74
+ let pending = [];
75
+ const ensureScratch = () => {
58
76
  if (scratchA === null)
59
77
  scratchA = acquireWgpuRenderTarget(state, pipeline.pool, descriptor);
60
78
  if (scratchB === null)
61
79
  scratchB = acquireWgpuRenderTarget(state, pipeline.pool, descriptor);
80
+ };
81
+ const flushAdjustments = () => {
82
+ if (pending.length === 0)
83
+ return;
84
+ ensureScratch();
85
+ const dest = source === scratchA ? scratchB : scratchA;
86
+ if (pending.some(isColorLutAdjustment)) {
87
+ applyColorLutPassToWgpu(state, source, dest, bakeColorLutForRun(pipeline.lutCache, pending), pipeline.lutTexture);
88
+ }
89
+ else {
90
+ const matrices = [];
91
+ for (const op of pending) {
92
+ const matrix = getAdjustmentColorMatrix(op);
93
+ if (matrix !== null)
94
+ matrices.push(matrix);
95
+ }
96
+ applyColorMatrixPassToWgpu(state, source, dest, fuseColorMatrices(matrices));
97
+ }
98
+ source = dest;
99
+ pending = [];
100
+ };
101
+ for (const operation of operations) {
102
+ if (getAdjustmentColorMatrix(operation) !== null || isColorLutAdjustment(operation)) {
103
+ pending.push(operation);
104
+ continue;
105
+ }
106
+ const runner = getWgpuRenderEffectRunner(state, operation.kind);
107
+ if (runner === null)
108
+ continue;
109
+ flushAdjustments();
110
+ ensureScratch();
62
111
  const dest = source === scratchA ? scratchB : scratchA;
63
112
  runner({
64
113
  state,
@@ -70,9 +119,10 @@ export function endWgpuRenderEffectPipeline(state, pipeline, effects) {
70
119
  // depth attachment; velocity a separate pass), mirroring the Gl seam.
71
120
  sceneDepthTexture: null,
72
121
  sceneVelocityTexture: pipeline.velocityTexture,
73
- }, effect);
122
+ }, operation);
74
123
  source = dest;
75
124
  }
125
+ flushAdjustments();
76
126
  presentWgpuRenderEffectResult(state, source);
77
127
  if (scratchA !== null)
78
128
  releaseWgpuRenderTarget(pipeline.pool, scratchA);
@@ -91,7 +141,7 @@ function presentWgpuRenderEffectResult(state, source) {
91
141
  if (runtime.commandEncoder === null)
92
142
  return;
93
143
  const pipeline = getWgpuEffectPipeline(state, 'effect.present', PRESENT_FRAGMENT_WGSL, 'replace');
94
- drawWgpuFilterPass(state, source, null, pipeline, () => { });
144
+ drawWgpuEffectPass(state, source, null, pipeline, () => { });
95
145
  }
96
146
  const PRESENT_FRAGMENT_WGSL = /* wgsl */ `
97
147
  struct Uniforms { _u : f32, _pad0 : f32, _pad1 : f32, _pad2 : f32, }
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderEffectPipeline.js","sourceRoot":"","sources":["../src/wgpuRenderEffectPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuRenderEffectPipeline.js","sourceRoot":"","sources":["../src/wgpuRenderEffectPipeline.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare function registerAntialiasingWgpuRenderEffects(state: WgpuRenderS
3
3
  export declare function registerBloomWgpuRenderEffects(state: WgpuRenderState): void;
4
4
  export declare function registerBlurWgpuRenderEffects(state: WgpuRenderState): void;
5
5
  export declare function registerColorWgpuRenderEffects(state: WgpuRenderState): void;
6
+ export declare function registerCompositeWgpuRenderEffects(state: WgpuRenderState): void;
6
7
  export declare function registerScreenSpaceWgpuRenderEffects(state: WgpuRenderState): void;
7
8
  export declare function registerStandardWgpuRenderEffects(state: WgpuRenderState): void;
8
9
  export declare function registerStylizeWgpuRenderEffects(state: WgpuRenderState): void;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderEffectRegistrants.d.ts","sourceRoot":"","sources":["../src/wgpuRenderEffectRegistrants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsDvD,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAIlF;AAID,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAQ3E;AAID,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAO1E;AAKD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAc3E;AAID,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAMjF;AAKD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAO9E;AAID,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAW7E"}
1
+ {"version":3,"file":"wgpuRenderEffectRegistrants.d.ts","sourceRoot":"","sources":["../src/wgpuRenderEffectRegistrants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsDvD,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAIlF;AAID,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAQ3E;AAID,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAQ1E;AAOD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAG3E;AASD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAQ/E;AAID,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAMjF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAQ9E;AAMD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAc7E"}
@@ -1,30 +1,31 @@
1
+ import { defaultWgpuBevelEffectRunner } from './wgpuBevelEffect';
1
2
  import { defaultWgpuBloomEffectRunner } from './wgpuBloomEffect';
3
+ import { defaultWgpuBlurEffectRunner } from './wgpuBlurEffect';
2
4
  import { defaultWgpuBokehDepthOfFieldEffectRunner } from './wgpuBokehDepthOfFieldEffect';
3
- import { defaultWgpuBrightnessContrastEffectRunner } from './wgpuBrightnessContrastEffect';
4
5
  import { defaultWgpuCameraMotionBlurEffectRunner } from './wgpuCameraMotionBlurEffect';
5
- import { defaultWgpuChannelMixerEffectRunner } from './wgpuChannelMixerEffect';
6
6
  import { defaultWgpuChromaticAberrationEffectRunner } from './wgpuChromaticAberrationEffect';
7
- import { defaultWgpuColorGradeEffectRunner } from './wgpuColorGradeEffect';
7
+ import { defaultWgpuConvolutionEffectRunner } from './wgpuConvolutionEffect';
8
8
  import { defaultWgpuCrtEffectRunner } from './wgpuCrtEffect';
9
9
  import { defaultWgpuDirectionalBlurEffectRunner } from './wgpuDirectionalBlurEffect';
10
10
  import { defaultWgpuDisplacementEffectRunner } from './wgpuDisplacementEffect';
11
11
  import { defaultWgpuDitherEffectRunner } from './wgpuDitherEffect';
12
- import { defaultWgpuExposureEffectRunner } from './wgpuExposureEffect';
12
+ import { defaultWgpuDropShadowEffectRunner } from './wgpuDropShadowEffect';
13
13
  import { defaultWgpuFilmGrainEffectRunner } from './wgpuFilmGrainEffect';
14
14
  import { defaultWgpuFxaaEffectRunner } from './wgpuFxaaEffect';
15
15
  import { defaultWgpuGlitchEffectRunner } from './wgpuGlitchEffect';
16
16
  import { defaultWgpuGodRaysEffectRunner } from './wgpuGodRaysEffect';
17
- import { defaultWgpuGrayscaleEffectRunner } from './wgpuGrayscaleEffect';
17
+ import { defaultWgpuGradientBevelEffectRunner } from './wgpuGradientBevelEffect';
18
+ import { defaultWgpuGradientGlowEffectRunner } from './wgpuGradientGlowEffect';
18
19
  import { defaultWgpuHalftoneEffectRunner } from './wgpuHalftoneEffect';
19
- import { defaultWgpuHueSaturationEffectRunner } from './wgpuHueSaturationEffect';
20
- import { defaultWgpuInvertEffectRunner } from './wgpuInvertEffect';
20
+ import { defaultWgpuInnerGlowEffectRunner } from './wgpuInnerGlowEffect';
21
+ import { defaultWgpuInnerShadowEffectRunner } from './wgpuInnerShadowEffect';
21
22
  import { defaultWgpuKuwaharaEffectRunner } from './wgpuKuwaharaEffect';
22
23
  import { defaultWgpuLensDirtEffectRunner } from './wgpuLensDirtEffect';
23
24
  import { defaultWgpuLensDistortionEffectRunner } from './wgpuLensDistortionEffect';
24
25
  import { defaultWgpuLensFlareEffectRunner } from './wgpuLensFlareEffect';
25
- import { defaultWgpuLiftGammaGainEffectRunner } from './wgpuLiftGammaGainEffect';
26
- import { defaultWgpuLookupTableGradeEffectRunner } from './wgpuLookupTableGradeEffect';
26
+ import { defaultWgpuMedianEffectRunner } from './wgpuMedianEffect';
27
27
  import { defaultWgpuMotionBlurEffectRunner } from './wgpuMotionBlurEffect';
28
+ import { defaultWgpuOuterGlowEffectRunner } from './wgpuOuterGlowEffect';
28
29
  import { defaultWgpuOutlineEffectRunner } from './wgpuOutlineEffect';
29
30
  import { defaultWgpuPixelateEffectRunner } from './wgpuPixelateEffect';
30
31
  import { defaultWgpuPosterizeEffectRunner } from './wgpuPosterizeEffect';
@@ -32,7 +33,6 @@ import { defaultWgpuRadialBlurEffectRunner } from './wgpuRadialBlurEffect';
32
33
  import { registerWgpuRenderEffect } from './wgpuRenderEffectRegistry';
33
34
  import { defaultWgpuScanlinesEffectRunner } from './wgpuScanlinesEffect';
34
35
  import { defaultWgpuScreenSpaceFogEffectRunner } from './wgpuScreenSpaceFogEffect';
35
- import { defaultWgpuSepiaEffectRunner } from './wgpuSepiaEffect';
36
36
  import { defaultWgpuSharpenEffectRunner } from './wgpuSharpenEffect';
37
37
  import { defaultWgpuSketchEffectRunner } from './wgpuSketchEffect';
38
38
  import { defaultWgpuSmaaEffectRunner } from './wgpuSmaaEffect';
@@ -67,6 +67,7 @@ export function registerBloomWgpuRenderEffects(state) {
67
67
  // Blur band: BokehDepthOfFieldEffect, CameraMotionBlurEffect, DirectionalBlurEffect, MotionBlurEffect,
68
68
  // RadialBlurEffect, TiltShiftEffect.
69
69
  export function registerBlurWgpuRenderEffects(state) {
70
+ registerWgpuRenderEffect(state, 'BlurEffect', defaultWgpuBlurEffectRunner);
70
71
  registerWgpuRenderEffect(state, 'BokehDepthOfFieldEffect', defaultWgpuBokehDepthOfFieldEffectRunner);
71
72
  registerWgpuRenderEffect(state, 'CameraMotionBlurEffect', defaultWgpuCameraMotionBlurEffectRunner);
72
73
  registerWgpuRenderEffect(state, 'DirectionalBlurEffect', defaultWgpuDirectionalBlurEffectRunner);
@@ -74,24 +75,31 @@ export function registerBlurWgpuRenderEffects(state) {
74
75
  registerWgpuRenderEffect(state, 'RadialBlurEffect', defaultWgpuRadialBlurEffectRunner);
75
76
  registerWgpuRenderEffect(state, 'TiltShiftEffect', defaultWgpuTiltShiftEffectRunner);
76
77
  }
77
- // Color / tone band: BrightnessContrastEffect, ChannelMixerEffect, ColorGradeEffect, ExposureEffect,
78
- // GrayscaleEffect, HueSaturationEffect, InvertEffect, LiftGammaGainEffect, LookupTableGradeEffect,
79
- // PosterizeEffect, SepiaEffect, ToneMapEffect, WhiteBalanceEffect.
78
+ // Color / tone band: ToneMapEffect, WhiteBalanceEffect.
79
+ // (The pointwise color ops were dissolved into @flighthq/adjustments — Grayscale/Invert/Sepia/
80
+ // BrightnessContrast/ChannelMixer/Exposure as matrix-tier, and HueSaturation/LiftGammaGain/ColorGrade/
81
+ // Posterize/LookupTableGrade as LUT-tier — folded through the pipeline's generic color-matrix / color-LUT
82
+ // pass; see effect-adjustment-architecture.)
80
83
  export function registerColorWgpuRenderEffects(state) {
81
- registerWgpuRenderEffect(state, 'BrightnessContrastEffect', defaultWgpuBrightnessContrastEffectRunner);
82
- registerWgpuRenderEffect(state, 'ChannelMixerEffect', defaultWgpuChannelMixerEffectRunner);
83
- registerWgpuRenderEffect(state, 'ColorGradeEffect', defaultWgpuColorGradeEffectRunner);
84
- registerWgpuRenderEffect(state, 'ExposureEffect', defaultWgpuExposureEffectRunner);
85
- registerWgpuRenderEffect(state, 'GrayscaleEffect', defaultWgpuGrayscaleEffectRunner);
86
- registerWgpuRenderEffect(state, 'HueSaturationEffect', defaultWgpuHueSaturationEffectRunner);
87
- registerWgpuRenderEffect(state, 'InvertEffect', defaultWgpuInvertEffectRunner);
88
- registerWgpuRenderEffect(state, 'LiftGammaGainEffect', defaultWgpuLiftGammaGainEffectRunner);
89
- registerWgpuRenderEffect(state, 'LookupTableGradeEffect', defaultWgpuLookupTableGradeEffectRunner);
90
- registerWgpuRenderEffect(state, 'PosterizeEffect', defaultWgpuPosterizeEffectRunner);
91
- registerWgpuRenderEffect(state, 'SepiaEffect', defaultWgpuSepiaEffectRunner);
92
84
  registerWgpuRenderEffect(state, 'ToneMapEffect', defaultWgpuToneMapEffectRunner);
93
85
  registerWgpuRenderEffect(state, 'WhiteBalanceEffect', defaultWgpuWhiteBalanceEffectRunner);
94
86
  }
87
+ // Full standard set — composes all taxonomy bands. Registers all 43 default runners under their
88
+ // canonical kind keys. Import this when the full effect palette is needed; import individual band
89
+ // helpers when only a subset of effects is used.
90
+ // Composite band: BevelEffect, DropShadowEffect, GradientBevelEffect, GradientGlowEffect,
91
+ // InnerGlowEffect, InnerShadowEffect, OuterGlowEffect. The former filter-layer composite ops,
92
+ // now full-frame composite effects chaining tint/blur/offset passes through pooled offscreen targets.
93
+ // Symmetric with Gl's registerCompositeGlRenderEffects.
94
+ export function registerCompositeWgpuRenderEffects(state) {
95
+ registerWgpuRenderEffect(state, 'BevelEffect', defaultWgpuBevelEffectRunner);
96
+ registerWgpuRenderEffect(state, 'DropShadowEffect', defaultWgpuDropShadowEffectRunner);
97
+ registerWgpuRenderEffect(state, 'GradientBevelEffect', defaultWgpuGradientBevelEffectRunner);
98
+ registerWgpuRenderEffect(state, 'GradientGlowEffect', defaultWgpuGradientGlowEffectRunner);
99
+ registerWgpuRenderEffect(state, 'InnerGlowEffect', defaultWgpuInnerGlowEffectRunner);
100
+ registerWgpuRenderEffect(state, 'InnerShadowEffect', defaultWgpuInnerShadowEffectRunner);
101
+ registerWgpuRenderEffect(state, 'OuterGlowEffect', defaultWgpuOuterGlowEffectRunner);
102
+ }
95
103
  // Screen-space / atmospheric band: DisplacementEffect, ScreenSpaceFogEffect, SharpenEffect,
96
104
  // SsaoEffect, SsrEffect.
97
105
  export function registerScreenSpaceWgpuRenderEffects(state) {
@@ -101,28 +109,31 @@ export function registerScreenSpaceWgpuRenderEffects(state) {
101
109
  registerWgpuRenderEffect(state, 'SsaoEffect', defaultWgpuSsaoEffectRunner);
102
110
  registerWgpuRenderEffect(state, 'SsrEffect', defaultWgpuSsrEffectRunner);
103
111
  }
104
- // Full standard set — composes all taxonomy bands. Registers all 45 default runners under their
105
- // canonical kind keys. Import this when the full effect palette is needed; import individual band
106
- // helpers when only a subset of effects is used.
107
112
  export function registerStandardWgpuRenderEffects(state) {
108
113
  registerAntialiasingWgpuRenderEffects(state);
109
114
  registerBloomWgpuRenderEffects(state);
110
115
  registerBlurWgpuRenderEffects(state);
111
116
  registerColorWgpuRenderEffects(state);
117
+ registerCompositeWgpuRenderEffects(state);
112
118
  registerScreenSpaceWgpuRenderEffects(state);
113
119
  registerStylizeWgpuRenderEffects(state);
114
120
  }
115
121
  // Stylize band: CrtEffect, DitherEffect, FilmGrainEffect, GlitchEffect, HalftoneEffect,
116
- // KuwaharaEffect, OutlineEffect, PixelateEffect, ScanlinesEffect, SketchEffect.
122
+ // KuwaharaEffect, OutlineEffect, PixelateEffect, PosterizeEffect, ScanlinesEffect, SketchEffect.
123
+ // PosterizeEffect is a stylize effect, not a LUT adjustment: its hard step (floor) would be smoothed
124
+ // away by a trilinear fused LUT, so it needs a dedicated per-op pass — see effect-adjustment-architecture.
117
125
  export function registerStylizeWgpuRenderEffects(state) {
126
+ registerWgpuRenderEffect(state, 'ConvolutionEffect', defaultWgpuConvolutionEffectRunner);
118
127
  registerWgpuRenderEffect(state, 'CrtEffect', defaultWgpuCrtEffectRunner);
119
128
  registerWgpuRenderEffect(state, 'DitherEffect', defaultWgpuDitherEffectRunner);
120
129
  registerWgpuRenderEffect(state, 'FilmGrainEffect', defaultWgpuFilmGrainEffectRunner);
121
130
  registerWgpuRenderEffect(state, 'GlitchEffect', defaultWgpuGlitchEffectRunner);
122
131
  registerWgpuRenderEffect(state, 'HalftoneEffect', defaultWgpuHalftoneEffectRunner);
123
132
  registerWgpuRenderEffect(state, 'KuwaharaEffect', defaultWgpuKuwaharaEffectRunner);
133
+ registerWgpuRenderEffect(state, 'MedianEffect', defaultWgpuMedianEffectRunner);
124
134
  registerWgpuRenderEffect(state, 'OutlineEffect', defaultWgpuOutlineEffectRunner);
125
135
  registerWgpuRenderEffect(state, 'PixelateEffect', defaultWgpuPixelateEffectRunner);
136
+ registerWgpuRenderEffect(state, 'PosterizeEffect', defaultWgpuPosterizeEffectRunner);
126
137
  registerWgpuRenderEffect(state, 'ScanlinesEffect', defaultWgpuScanlinesEffectRunner);
127
138
  registerWgpuRenderEffect(state, 'SketchEffect', defaultWgpuSketchEffectRunner);
128
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuRenderEffectRegistrants.js","sourceRoot":"","sources":["../src/wgpuRenderEffectRegistrants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wgpuRenderEffectRegistrants.js","sourceRoot":"","sources":["../src/wgpuRenderEffectRegistrants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuScanlinesEffect.d.ts","sourceRoot":"","sources":["../src/wgpuScanlinesEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKlH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAChC,IAAI,CAQN;AAED,eAAO,MAAM,gCAAgC,EAAE,sBAE9C,CAAC"}
1
+ {"version":3,"file":"wgpuScanlinesEffect.d.ts","sourceRoot":"","sources":["../src/wgpuScanlinesEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMlH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAChC,IAAI,CAQN;AAED,eAAO,MAAM,gCAAgC,EAAE,sBAE9C,CAAC"}
@@ -1,11 +1,11 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // Scanlines: darken by a vertical sine band; `count` sets the line density, `intensity` the darkening.
4
4
  export function applyScanlinesEffectToWgpu(state, source, dest, effect) {
5
5
  const count = effect.count ?? 240;
6
6
  const intensity = effect.intensity ?? 0.3;
7
7
  const pipeline = getWgpuEffectPipeline(state, 'stylization.scanlines', SCANLINES_FRAGMENT_WGSL, 'replace');
8
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
8
+ drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
9
9
  f32[0] = count;
10
10
  f32[1] = intensity;
11
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuScanlinesEffect.js","sourceRoot":"","sources":["../src/wgpuScanlinesEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,uGAAuG;AACvG,MAAM,UAAU,0BAA0B,CACxC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAiC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAC3G,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACtF,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,uBAAuB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;EAczC,CAAC"}
1
+ {"version":3,"file":"wgpuScanlinesEffect.js","sourceRoot":"","sources":["../src/wgpuScanlinesEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,uGAAuG;AACvG,MAAM,UAAU,0BAA0B,CACxC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAiC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAC3G,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACtF,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,uBAAuB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;EAczC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuScreenSpaceFogEffect.d.ts","sourceRoot":"","sources":["../src/wgpuScreenSpaceFogEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AASvH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACrC,IAAI,CAkBN;AAED,eAAO,MAAM,qCAAqC,EAAE,sBAEnD,CAAC"}
1
+ {"version":3,"file":"wgpuScreenSpaceFogEffect.d.ts","sourceRoot":"","sources":["../src/wgpuScreenSpaceFogEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAUvH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACrC,IAAI,CAkBN;AAED,eAAO,MAAM,qCAAqC,EAAE,sBAEnD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // Screen-space fog: blends the scene toward an unpacked fog color by a depth proxy. The real recipe
4
4
  // reads a sampleable DEPTH texture per fragment — fog = 1 - exp(-density * remap(depth, near, far)) — but
@@ -12,7 +12,7 @@ export function applyScreenSpaceFogEffectToWgpu(state, source, dest, effect) {
12
12
  const b = ((packed >>> 8) & 0xff) / 255;
13
13
  const density = effect.density ?? 1;
14
14
  const pipeline = getWgpuEffectPipeline(state, 'atmospheric.screenSpaceFog', SCREEN_SPACE_FOG_FRAGMENT_WGSL, 'replace');
15
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
15
+ drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
16
16
  f32[0] = density;
17
17
  f32[4] = r;
18
18
  f32[5] = g;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuScreenSpaceFogEffect.js","sourceRoot":"","sources":["../src/wgpuScreenSpaceFogEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,oGAAoG;AACpG,0GAA0G;AAC1G,sGAAsG;AACtG,sGAAsG;AACtG,gFAAgF;AAChF,MAAM,UAAU,+BAA+B,CAC7C,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAsC;IAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,qBAAqB,CACpC,KAAK,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,SAAS,CACV,CAAC;IACF,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,qCAAqC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC3F,+BAA+B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA8B,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,sGAAsG;AACtG,mEAAmE;AACnE,MAAM,8BAA8B,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;EAmBhD,CAAC"}
1
+ {"version":3,"file":"wgpuScreenSpaceFogEffect.js","sourceRoot":"","sources":["../src/wgpuScreenSpaceFogEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,oGAAoG;AACpG,0GAA0G;AAC1G,sGAAsG;AACtG,sGAAsG;AACtG,gFAAgF;AAChF,MAAM,UAAU,+BAA+B,CAC7C,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAAsC;IAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,qBAAqB,CACpC,KAAK,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,SAAS,CACV,CAAC;IACF,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,qCAAqC,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC3F,+BAA+B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA8B,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,sGAAsG;AACtG,mEAAmE;AACnE,MAAM,8BAA8B,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;EAmBhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSharpenEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSharpenEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKhH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CASN;AAED,eAAO,MAAM,8BAA8B,EAAE,sBAE5C,CAAC"}
1
+ {"version":3,"file":"wgpuSharpenEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSharpenEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMhH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CASN;AAED,eAAO,MAAM,8BAA8B,EAAE,sBAE5C,CAAC"}
@@ -1,10 +1,10 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // Sharpen: unsharp mask via a 3x3 Laplacian kernel; `amount` scales the high-frequency boost.
4
4
  export function applySharpenEffectToWgpu(state, source, dest, effect) {
5
5
  const amount = effect.amount ?? 0.5;
6
6
  const pipeline = getWgpuEffectPipeline(state, 'stylization.sharpen', SHARPEN_FRAGMENT_WGSL, 'replace');
7
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
7
+ drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
8
8
  f32[0] = amount;
9
9
  // u_resolution (vec2f) aligns to slot [2].
10
10
  f32[2] = source.width;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSharpenEffect.js","sourceRoot":"","sources":["../src/wgpuSharpenEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CACtC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;IACvG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAChB,2CAA2C;QAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACpF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,uDAAuD;AACvD,MAAM,qBAAqB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;EAqBvC,CAAC"}
1
+ {"version":3,"file":"wgpuSharpenEffect.js","sourceRoot":"","sources":["../src/wgpuSharpenEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CACtC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;IACvG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAChB,2CAA2C;QAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACpF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,uDAAuD;AACvD,MAAM,qBAAqB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;EAqBvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSketchEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSketchEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAM/G,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CASN;AAED,eAAO,MAAM,6BAA6B,EAAE,sBAE3C,CAAC"}
1
+ {"version":3,"file":"wgpuSketchEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSketchEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAO/G,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CASN;AAED,eAAO,MAAM,6BAA6B,EAAE,sBAE3C,CAAC"}
@@ -1,11 +1,11 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // Sketch: detect luminance edges and invert them into dark pencil strokes over a light page; `strength`
4
4
  // scales how dark the strokes get.
5
5
  export function applySketchEffectToWgpu(state, source, dest, effect) {
6
6
  const strength = effect.strength ?? 1;
7
7
  const pipeline = getWgpuEffectPipeline(state, 'stylization.sketch', SKETCH_FRAGMENT_WGSL, 'replace');
8
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
8
+ drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
9
9
  f32[0] = strength;
10
10
  // u_resolution (vec2f) aligns to slot [2].
11
11
  f32[2] = source.width;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSketchEffect.js","sourceRoot":"","sources":["../src/wgpuSketchEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,wGAAwG;AACxG,mCAAmC;AACnC,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;IACrG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QAClB,2CAA2C;QAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACnF,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAsB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,yDAAyD;AACzD,MAAM,oBAAoB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BtC,CAAC"}
1
+ {"version":3,"file":"wgpuSketchEffect.js","sourceRoot":"","sources":["../src/wgpuSketchEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,wGAAwG;AACxG,mCAAmC;AACnC,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;IACrG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QAClB,2CAA2C;QAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACnF,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAsB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,yDAAyD;AACzD,MAAM,oBAAoB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSmaaEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSmaaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAO7G,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CAUN;AAED,eAAO,MAAM,2BAA2B,EAAE,sBAEzC,CAAC"}
1
+ {"version":3,"file":"wgpuSmaaEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSmaaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQ7G,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CAUN;AAED,eAAO,MAAM,2BAA2B,EAAE,sBAEzC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // SMAA: a single-pass edge-aware blur approximation. Full SMAA needs separate edge-detection and
4
4
  // blend-weight passes against precomputed area/search lookup textures; this single-pass approximation
@@ -8,7 +8,7 @@ export function applySmaaEffectToWgpu(state, source, dest, effect) {
8
8
  const width = source.width;
9
9
  const height = source.height;
10
10
  const pipeline = getWgpuEffectPipeline(state, 'antialiasing.smaa', SMAA_FRAGMENT_WGSL, 'replace');
11
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
11
+ drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
12
12
  f32[0] = width;
13
13
  f32[1] = height;
14
14
  f32[2] = threshold;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSmaaEffect.js","sourceRoot":"","sources":["../src/wgpuSmaaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,iGAAiG;AACjG,sGAAsG;AACtG,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CACnC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,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,KAAK,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAChB,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACjF,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,sGAAsG;AACtG,MAAM,kBAAkB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpC,CAAC"}
1
+ {"version":3,"file":"wgpuSmaaEffect.js","sourceRoot":"","sources":["../src/wgpuSmaaEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,iGAAiG;AACjG,sGAAsG;AACtG,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CACnC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,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,KAAK,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAChB,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACjF,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,sGAAsG;AACtG,MAAM,kBAAkB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSsaoEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSsaoEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAS7G,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CAUN;AAED,eAAO,MAAM,2BAA2B,EAAE,sBAEzC,CAAC"}
1
+ {"version":3,"file":"wgpuSsaoEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSsaoEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAU7G,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CAUN;AAED,eAAO,MAAM,2BAA2B,EAAE,sBAEzC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // SSAO: ambient-occlusion approximation. Real SSAO reconstructs view-space position/normals from a
4
4
  // sampleable DEPTH texture and accumulates occlusion over `samples` kernel offsets within `radius`,
@@ -9,7 +9,7 @@ export function applySsaoEffectToWgpu(state, source, dest, effect) {
9
9
  const radius = effect.radius ?? 1;
10
10
  const intensity = effect.intensity ?? 1;
11
11
  const pipeline = getWgpuEffectPipeline(state, 'atmospheric.ssao', SSAO_FRAGMENT_WGSL, 'replace');
12
- drawWgpuFilterPass(state, source, dest, pipeline, (f32) => {
12
+ drawWgpuEffectPass(state, source, dest, pipeline, (f32) => {
13
13
  f32[0] = radius;
14
14
  f32[1] = intensity;
15
15
  f32[2] = source.width;
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSsaoEffect.js","sourceRoot":"","sources":["../src/wgpuSsaoEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,mGAAmG;AACnG,oGAAoG;AACpG,sGAAsG;AACtG,sGAAsG;AACtG,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CACnC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IACjG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAChB,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACjF,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,kBAAkB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BpC,CAAC"}
1
+ {"version":3,"file":"wgpuSsaoEffect.js","sourceRoot":"","sources":["../src/wgpuSsaoEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,mGAAmG;AACnG,oGAAoG;AACpG,sGAAsG;AACtG,sGAAsG;AACtG,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CACnC,KAAsB,EACtB,MAAkC,EAClC,IAAgC,EAChC,MAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IACjG,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QAChG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAChB,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACjF,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,kBAAkB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSsrEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSsrEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQ5G,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAEhC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC1B,IAAI,CAGN;AAED,eAAO,MAAM,0BAA0B,EAAE,sBAExC,CAAC"}
1
+ {"version":3,"file":"wgpuSsrEffect.d.ts","sourceRoot":"","sources":["../src/wgpuSsrEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAS5G,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAEhC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC1B,IAAI,CAGN;AAED,eAAO,MAAM,0BAA0B,EAAE,sBAExC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { drawWgpuFilterPass } from '@flighthq/filters-wgpu';
1
+ import { drawWgpuEffectPass } from './wgpuEffectPass';
2
2
  import { getWgpuEffectPipeline } from './wgpuEffectProgramCache';
3
3
  // SSR: screen-space reflections. The real recipe ray-marches reflected rays against a sampleable DEPTH
4
4
  // buffer using view-space normals, walking `steps` increments up to `maxDistance` at the given
@@ -8,7 +8,7 @@ export function applySsrEffectToWgpu(state, source, dest,
8
8
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
9
9
  effect) {
10
10
  const pipeline = getWgpuEffectPipeline(state, 'atmospheric.ssr', SSR_FRAGMENT_WGSL, 'replace');
11
- drawWgpuFilterPass(state, source, dest, pipeline, () => { });
11
+ drawWgpuEffectPass(state, source, dest, pipeline, () => { });
12
12
  }
13
13
  export const defaultWgpuSsrEffectRunner = (ctx, effect) => {
14
14
  applySsrEffectToWgpu(ctx.state, ctx.source, ctx.dest, effect);
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuSsrEffect.js","sourceRoot":"","sources":["../src/wgpuSsrEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,uGAAuG;AACvG,+FAA+F;AAC/F,mGAAmG;AACnG,4GAA4G;AAC5G,MAAM,UAAU,oBAAoB,CAClC,KAAsB,EACtB,MAAkC,EAClC,IAAgC;AAChC,6DAA6D;AAC7D,MAA2B;IAE3B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC/F,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAmB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,UAAU,CAAC;;;;;;;;;;;EAWnC,CAAC"}
1
+ {"version":3,"file":"wgpuSsrEffect.js","sourceRoot":"","sources":["../src/wgpuSsrEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,uGAAuG;AACvG,+FAA+F;AAC/F,mGAAmG;AACnG,4GAA4G;AAC5G,MAAM,UAAU,oBAAoB,CAClC,KAAsB,EACtB,MAAkC,EAClC,IAAgC;AAChC,6DAA6D;AAC7D,MAA2B;IAE3B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC/F,kBAAkB,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwB,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAmB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,UAAU,CAAC;;;;;;;;;;;EAWnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wgpuTaaEffect.d.ts","sourceRoot":"","sources":["../src/wgpuTaaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAO5G,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC3B,IAAI,CAGN;AAED,eAAO,MAAM,0BAA0B,EAAE,sBAExC,CAAC"}
1
+ {"version":3,"file":"wgpuTaaEffect.d.ts","sourceRoot":"","sources":["../src/wgpuTaaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQ5G,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC3B,IAAI,CAGN;AAED,eAAO,MAAM,0BAA0B,EAAE,sBAExC,CAAC"}