@flighthq/effects 0.2.1-next.841.373388f → 0.3.0-edge.1458.0c01b63

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 (203) hide show
  1. package/dist/autoExposureEffect.d.ts +1 -1
  2. package/dist/autoExposureEffect.d.ts.map +1 -1
  3. package/dist/barrelDistortionEffect.d.ts +1 -1
  4. package/dist/barrelDistortionEffect.d.ts.map +1 -1
  5. package/dist/bevelEffect.d.ts +3 -1
  6. package/dist/bevelEffect.d.ts.map +1 -1
  7. package/dist/bevelEffect.js +12 -0
  8. package/dist/bevelEffect.js.map +1 -1
  9. package/dist/blendEffect.d.ts +1 -1
  10. package/dist/blendEffect.d.ts.map +1 -1
  11. package/dist/blendModeMath.d.ts +1 -1
  12. package/dist/blendModeMath.d.ts.map +1 -1
  13. package/dist/blendModeMath.js +1 -1
  14. package/dist/blendModeMath.js.map +1 -1
  15. package/dist/bloomEffect.d.ts +3 -1
  16. package/dist/bloomEffect.d.ts.map +1 -1
  17. package/dist/bloomEffect.js +11 -0
  18. package/dist/bloomEffect.js.map +1 -1
  19. package/dist/blurEffect.d.ts +3 -1
  20. package/dist/blurEffect.d.ts.map +1 -1
  21. package/dist/blurEffect.js +10 -0
  22. package/dist/blurEffect.js.map +1 -1
  23. package/dist/bokehDepthOfFieldEffect.d.ts +3 -1
  24. package/dist/bokehDepthOfFieldEffect.d.ts.map +1 -1
  25. package/dist/bokehDepthOfFieldEffect.js +11 -0
  26. package/dist/bokehDepthOfFieldEffect.js.map +1 -1
  27. package/dist/cameraMotionBlurEffect.d.ts +1 -1
  28. package/dist/cameraMotionBlurEffect.d.ts.map +1 -1
  29. package/dist/chromaticAberrationEffect.d.ts +1 -1
  30. package/dist/chromaticAberrationEffect.d.ts.map +1 -1
  31. package/dist/compositeEffect.d.ts +1 -1
  32. package/dist/compositeEffect.d.ts.map +1 -1
  33. package/dist/compositeOperatorMath.d.ts +1 -1
  34. package/dist/compositeOperatorMath.d.ts.map +1 -1
  35. package/dist/compositeOperatorMath.js +1 -1
  36. package/dist/compositeOperatorMath.js.map +1 -1
  37. package/dist/contactShadowsEffect.d.ts +3 -1
  38. package/dist/contactShadowsEffect.d.ts.map +1 -1
  39. package/dist/contactShadowsEffect.js +11 -0
  40. package/dist/contactShadowsEffect.js.map +1 -1
  41. package/dist/contract.d.ts +73 -0
  42. package/dist/contract.d.ts.map +1 -0
  43. package/dist/contract.js +73 -0
  44. package/dist/contract.js.map +1 -0
  45. package/dist/convolutionEffect.d.ts +3 -1
  46. package/dist/convolutionEffect.d.ts.map +1 -1
  47. package/dist/convolutionEffect.js +17 -0
  48. package/dist/convolutionEffect.js.map +1 -1
  49. package/dist/crtEffect.d.ts +1 -1
  50. package/dist/crtEffect.d.ts.map +1 -1
  51. package/dist/customShaderEffect.d.ts +1 -1
  52. package/dist/customShaderEffect.d.ts.map +1 -1
  53. package/dist/directionalBlurEffect.d.ts +3 -1
  54. package/dist/directionalBlurEffect.d.ts.map +1 -1
  55. package/dist/directionalBlurEffect.js +16 -0
  56. package/dist/directionalBlurEffect.js.map +1 -1
  57. package/dist/displacementEffect.d.ts +3 -1
  58. package/dist/displacementEffect.d.ts.map +1 -1
  59. package/dist/displacementEffect.js +13 -0
  60. package/dist/displacementEffect.js.map +1 -1
  61. package/dist/ditherEffect.d.ts +1 -1
  62. package/dist/ditherEffect.d.ts.map +1 -1
  63. package/dist/dropShadowEffect.d.ts +3 -1
  64. package/dist/dropShadowEffect.d.ts.map +1 -1
  65. package/dist/dropShadowEffect.js +12 -0
  66. package/dist/dropShadowEffect.js.map +1 -1
  67. package/dist/edgeDetectMath.d.ts +1 -1
  68. package/dist/edgeDetectMath.d.ts.map +1 -1
  69. package/dist/filmEmulationEffect.d.ts +1 -1
  70. package/dist/filmEmulationEffect.d.ts.map +1 -1
  71. package/dist/filmGrainEffect.d.ts +1 -1
  72. package/dist/filmGrainEffect.d.ts.map +1 -1
  73. package/dist/fxaaEffect.d.ts +1 -1
  74. package/dist/fxaaEffect.d.ts.map +1 -1
  75. package/dist/glitchEffect.d.ts +3 -1
  76. package/dist/glitchEffect.d.ts.map +1 -1
  77. package/dist/glitchEffect.js +13 -0
  78. package/dist/glitchEffect.js.map +1 -1
  79. package/dist/godRaysEffect.d.ts +1 -1
  80. package/dist/godRaysEffect.d.ts.map +1 -1
  81. package/dist/godRaysMath.d.ts +1 -1
  82. package/dist/godRaysMath.d.ts.map +1 -1
  83. package/dist/gradientBevelEffect.d.ts +3 -1
  84. package/dist/gradientBevelEffect.d.ts.map +1 -1
  85. package/dist/gradientBevelEffect.js +12 -0
  86. package/dist/gradientBevelEffect.js.map +1 -1
  87. package/dist/gradientGlowEffect.d.ts +3 -1
  88. package/dist/gradientGlowEffect.d.ts.map +1 -1
  89. package/dist/gradientGlowEffect.js +10 -0
  90. package/dist/gradientGlowEffect.js.map +1 -1
  91. package/dist/halftoneEffect.d.ts +1 -1
  92. package/dist/halftoneEffect.d.ts.map +1 -1
  93. package/dist/index.d.ts +1 -71
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +1 -71
  96. package/dist/index.js.map +1 -1
  97. package/dist/innerGlowEffect.d.ts +3 -1
  98. package/dist/innerGlowEffect.d.ts.map +1 -1
  99. package/dist/innerGlowEffect.js +10 -0
  100. package/dist/innerGlowEffect.js.map +1 -1
  101. package/dist/innerShadowEffect.d.ts +3 -1
  102. package/dist/innerShadowEffect.d.ts.map +1 -1
  103. package/dist/innerShadowEffect.js +12 -0
  104. package/dist/innerShadowEffect.js.map +1 -1
  105. package/dist/kuwaharaEffect.d.ts +1 -1
  106. package/dist/kuwaharaEffect.d.ts.map +1 -1
  107. package/dist/kuwaharaMath.d.ts +1 -1
  108. package/dist/kuwaharaMath.d.ts.map +1 -1
  109. package/dist/lensDirtEffect.d.ts +1 -1
  110. package/dist/lensDirtEffect.d.ts.map +1 -1
  111. package/dist/lensDistortionEffect.d.ts +1 -1
  112. package/dist/lensDistortionEffect.d.ts.map +1 -1
  113. package/dist/lensFlareEffect.d.ts +1 -1
  114. package/dist/lensFlareEffect.d.ts.map +1 -1
  115. package/dist/medianEffect.d.ts +3 -1
  116. package/dist/medianEffect.d.ts.map +1 -1
  117. package/dist/medianEffect.js +11 -0
  118. package/dist/medianEffect.js.map +1 -1
  119. package/dist/motionBlurEffect.d.ts +1 -1
  120. package/dist/motionBlurEffect.d.ts.map +1 -1
  121. package/dist/outerGlowEffect.d.ts +3 -1
  122. package/dist/outerGlowEffect.d.ts.map +1 -1
  123. package/dist/outerGlowEffect.js +10 -0
  124. package/dist/outerGlowEffect.js.map +1 -1
  125. package/dist/outlineEffect.d.ts +3 -1
  126. package/dist/outlineEffect.d.ts.map +1 -1
  127. package/dist/outlineEffect.js +11 -0
  128. package/dist/outlineEffect.js.map +1 -1
  129. package/dist/panniniProjectionEffect.d.ts +1 -1
  130. package/dist/panniniProjectionEffect.d.ts.map +1 -1
  131. package/dist/pixelateEffect.d.ts +1 -1
  132. package/dist/pixelateEffect.d.ts.map +1 -1
  133. package/dist/posterizeEffect.d.ts +1 -1
  134. package/dist/posterizeEffect.d.ts.map +1 -1
  135. package/dist/radialBlurEffect.d.ts +1 -1
  136. package/dist/radialBlurEffect.d.ts.map +1 -1
  137. package/dist/renderEffectDefaults.d.ts +1 -1
  138. package/dist/renderEffectDefaults.d.ts.map +1 -1
  139. package/dist/renderEffectInputs.d.ts +1 -1
  140. package/dist/renderEffectInputs.d.ts.map +1 -1
  141. package/dist/renderEffectInterpolation.d.ts +1 -1
  142. package/dist/renderEffectInterpolation.d.ts.map +1 -1
  143. package/dist/renderEffectPadding.d.ts +7 -0
  144. package/dist/renderEffectPadding.d.ts.map +1 -0
  145. package/dist/renderEffectPadding.js +69 -0
  146. package/dist/renderEffectPadding.js.map +1 -0
  147. package/dist/renderEffectValidation.d.ts +1 -1
  148. package/dist/renderEffectValidation.d.ts.map +1 -1
  149. package/dist/scanlinesEffect.d.ts +1 -1
  150. package/dist/scanlinesEffect.d.ts.map +1 -1
  151. package/dist/screenSpaceFogEffect.d.ts +1 -1
  152. package/dist/screenSpaceFogEffect.d.ts.map +1 -1
  153. package/dist/sharpenEffect.d.ts +1 -1
  154. package/dist/sharpenEffect.d.ts.map +1 -1
  155. package/dist/sketchEffect.d.ts +1 -1
  156. package/dist/sketchEffect.d.ts.map +1 -1
  157. package/dist/smaaEffect.d.ts +1 -1
  158. package/dist/smaaEffect.d.ts.map +1 -1
  159. package/dist/ssaoEffect.d.ts +1 -1
  160. package/dist/ssaoEffect.d.ts.map +1 -1
  161. package/dist/ssrEffect.d.ts +1 -1
  162. package/dist/ssrEffect.d.ts.map +1 -1
  163. package/dist/taaEffect.d.ts +1 -1
  164. package/dist/taaEffect.d.ts.map +1 -1
  165. package/dist/tiltShiftEffect.d.ts +3 -1
  166. package/dist/tiltShiftEffect.d.ts.map +1 -1
  167. package/dist/tiltShiftEffect.js +11 -0
  168. package/dist/tiltShiftEffect.js.map +1 -1
  169. package/dist/toneMapEffect.d.ts +1 -1
  170. package/dist/toneMapEffect.d.ts.map +1 -1
  171. package/dist/toneMapMath.d.ts +2 -2
  172. package/dist/toneMapMath.d.ts.map +1 -1
  173. package/dist/vignetteEffect.d.ts +1 -1
  174. package/dist/vignetteEffect.d.ts.map +1 -1
  175. package/dist/volumetricLightEffect.d.ts +1 -1
  176. package/dist/volumetricLightEffect.d.ts.map +1 -1
  177. package/dist/whiteBalanceEffect.d.ts +1 -1
  178. package/dist/whiteBalanceEffect.d.ts.map +1 -1
  179. package/package.json +8 -2
  180. package/src/bevelEffect.test.ts +24 -1
  181. package/src/blendEffect.test.ts +1 -1
  182. package/src/blendModeMath.test.ts +1 -1
  183. package/src/bloomEffect.test.ts +31 -1
  184. package/src/blurEffect.test.ts +26 -1
  185. package/src/bokehDepthOfFieldEffect.test.ts +28 -1
  186. package/src/compositeEffect.test.ts +1 -1
  187. package/src/compositeOperatorMath.test.ts +1 -1
  188. package/src/contactShadowsEffect.test.ts +28 -1
  189. package/src/convolutionEffect.test.ts +28 -1
  190. package/src/directionalBlurEffect.test.ts +28 -1
  191. package/src/displacementEffect.test.ts +28 -1
  192. package/src/dropShadowEffect.test.ts +28 -1
  193. package/src/glitchEffect.test.ts +24 -1
  194. package/src/gradientBevelEffect.test.ts +32 -1
  195. package/src/gradientGlowEffect.test.ts +27 -1
  196. package/src/innerGlowEffect.test.ts +28 -1
  197. package/src/innerShadowEffect.test.ts +30 -1
  198. package/src/medianEffect.test.ts +24 -1
  199. package/src/outerGlowEffect.test.ts +28 -1
  200. package/src/outlineEffect.test.ts +24 -1
  201. package/src/renderEffectDefaults.test.ts +1 -1
  202. package/src/renderEffectPadding.test.ts +114 -0
  203. package/src/tiltShiftEffect.test.ts +28 -1
@@ -1,3 +1,3 @@
1
- import type { AutoExposureEffect } from '@flighthq/types';
1
+ import type { AutoExposureEffect } from '@flighthq/types/contract';
2
2
  export declare function createAutoExposureEffect(options?: Readonly<Omit<AutoExposureEffect, 'kind'>>): AutoExposureEffect;
3
3
  //# sourceMappingURL=autoExposureEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoExposureEffect.d.ts","sourceRoot":"","sources":["../src/autoExposureEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAM,GAAG,kBAAkB,CAErH"}
1
+ {"version":3,"file":"autoExposureEffect.d.ts","sourceRoot":"","sources":["../src/autoExposureEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAM,GAAG,kBAAkB,CAErH"}
@@ -1,3 +1,3 @@
1
- import type { BarrelDistortionEffect } from '@flighthq/types';
1
+ import type { BarrelDistortionEffect } from '@flighthq/types/contract';
2
2
  export declare function createBarrelDistortionEffect(options?: Readonly<Omit<BarrelDistortionEffect, 'kind'>>): BarrelDistortionEffect;
3
3
  //# sourceMappingURL=barrelDistortionEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barrelDistortionEffect.d.ts","sourceRoot":"","sources":["../src/barrelDistortionEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAM,GAC3D,sBAAsB,CAExB"}
1
+ {"version":3,"file":"barrelDistortionEffect.d.ts","sourceRoot":"","sources":["../src/barrelDistortionEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAM,GAC3D,sBAAsB,CAExB"}
@@ -1,3 +1,5 @@
1
- import type { BevelEffect } from '@flighthq/types';
1
+ import type { BevelEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createBevelEffect(options?: Readonly<Omit<BevelEffect, 'kind'>>): BevelEffect;
3
+ export declare function getBevelEffectPadding(effect: Readonly<BevelEffect>): RenderEffectPadding;
4
+ export declare function registerBevelEffectPaddingResolver(state: RenderState): void;
3
5
  //# sourceMappingURL=bevelEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bevelEffect.d.ts","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAM,GAAG,WAAW,CAEhG"}
1
+ {"version":3,"file":"bevelEffect.d.ts","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,mBAAmB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK5G,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAM,GAAG,WAAW,CAEhG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,mBAAmB,CASxF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE3E"}
@@ -1,5 +1,17 @@
1
+ import { getDirectionalRenderEffectPadding, registerRenderEffectPaddingResolver } from './renderEffectPadding';
1
2
  // Bevel composite effect: the directional gradient of the blurred silhouette drives a highlight/shadow edge band, clipped by bevelType, then applies sourceMode compositing.
2
3
  export function createBevelEffect(options = {}) {
3
4
  return { kind: 'BevelEffect', ...options };
4
5
  }
6
+ export function getBevelEffectPadding(effect) {
7
+ const angle = ((effect.angle ?? 45) * Math.PI) / 180;
8
+ const distance = effect.distance ?? 4;
9
+ return getDirectionalRenderEffectPadding(effect.blurX ?? 4, effect.blurY ?? 4, Math.cos(angle) * distance, Math.sin(angle) * distance);
10
+ }
11
+ export function registerBevelEffectPaddingResolver(state) {
12
+ registerRenderEffectPaddingResolver(state, 'BevelEffect', resolveBevelEffectPadding);
13
+ }
14
+ function resolveBevelEffectPadding(effect) {
15
+ return getBevelEffectPadding(effect);
16
+ }
5
17
  //# sourceMappingURL=bevelEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bevelEffect.js","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AAEA,6KAA6K;AAC7K,MAAM,UAAU,iBAAiB,CAAC,UAA+C,EAAE;IACjF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"bevelEffect.js","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE/G,6KAA6K;AAC7K,MAAM,UAAU,iBAAiB,CAAC,UAA+C,EAAE;IACjF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,OAAO,iCAAiC,CACtC,MAAM,CAAC,KAAK,IAAI,CAAC,EACjB,MAAM,CAAC,KAAK,IAAI,CAAC,EACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,EAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,KAAkB;IACnE,mCAAmC,CAAC,KAAK,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA8B;IAC/D,OAAO,qBAAqB,CAAC,MAA+B,CAAC,CAAC;AAChE,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { AdvancedBlendMode, BlendEffect } from '@flighthq/types';
1
+ import type { AdvancedBlendMode, BlendEffect } from '@flighthq/types/contract';
2
2
  export declare function createBlendEffect(mode: AdvancedBlendMode, options?: Readonly<Omit<BlendEffect, 'kind' | 'mode'>>): BlendEffect;
3
3
  //# sourceMappingURL=blendEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blendEffect.d.ts","sourceRoot":"","sources":["../src/blendEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAStE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,CAAM,GACzD,WAAW,CAEb"}
1
+ {"version":3,"file":"blendEffect.d.ts","sourceRoot":"","sources":["../src/blendEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAS/E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,CAAM,GACzD,WAAW,CAEb"}
@@ -1,4 +1,4 @@
1
- import { AdvancedBlendMode } from '@flighthq/types';
1
+ import { AdvancedBlendMode } from '@flighthq/types/contract';
2
2
  export declare function blendNonSeparableRgb(mode: AdvancedBlendMode, cbR: number, cbG: number, cbB: number, csR: number, csG: number, csB: number, out: [number, number, number] | Float32Array | number[]): void;
3
3
  export declare function getAdvancedBlendRgb(mode: AdvancedBlendMode, cbR: number, cbG: number, cbB: number, csR: number, csG: number, csB: number, out: [number, number, number] | Float32Array | number[]): void;
4
4
  export declare function getSeparableBlendChannel(mode: AdvancedBlendMode, cb: number, cs: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"blendModeMath.d.ts","sourceRoot":"","sources":["../src/blendModeMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAiBpD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,GAAG,MAAM,EAAE,GACtD,IAAI,CAgCN;AAKD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,GAAG,MAAM,EAAE,GACtD,IAAI,CAWN;AAID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA4BhG;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAOxE"}
1
+ {"version":3,"file":"blendModeMath.d.ts","sourceRoot":"","sources":["../src/blendModeMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAiB7D,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,GAAG,MAAM,EAAE,GACtD,IAAI,CAgCN;AAKD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,GAAG,MAAM,EAAE,GACtD,IAAI,CAWN;AAID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA4BhG;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAOxE"}
@@ -1,4 +1,4 @@
1
- import { AdvancedBlendMode } from '@flighthq/types';
1
+ import { AdvancedBlendMode } from '@flighthq/types/contract';
2
2
  // Pure blend-mode math — the substrate-agnostic ground truth the GL (and any future) backend shaders
3
3
  // mirror, so the composite-recipe fragment source can be verified against plain numbers. All values are
4
4
  // normalized 0..1 (backdrop `cb`, source `cs`). The formulas follow the W3C Compositing and Blending
@@ -1 +1 @@
1
- {"version":3,"file":"blendModeMath.js","sourceRoot":"","sources":["../src/blendModeMath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blendModeMath.js","sourceRoot":"","sources":["../src/blendModeMath.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- import type { BloomEffect } from '@flighthq/types';
1
+ import type { BloomEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function computeBloomBlurRadius(effect: Readonly<BloomEffect>): number;
3
3
  export declare function computeBloomIntensity(effect: Readonly<BloomEffect>): number;
4
4
  export declare function computeBloomThreshold(effect: Readonly<BloomEffect>): number;
5
5
  export declare function createBloomEffect(options?: Readonly<Omit<BloomEffect, 'kind'>>): BloomEffect;
6
+ export declare function getBloomEffectPadding(effect: Readonly<BloomEffect>): RenderEffectPadding;
7
+ export declare function registerBloomEffectPaddingResolver(state: RenderState): void;
6
8
  //# sourceMappingURL=bloomEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bloomEffect.d.ts","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMnD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAE3E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAE3E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAM,GAAG,WAAW,CAEhG"}
1
+ {"version":3,"file":"bloomEffect.d.ts","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,mBAAmB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQ5G,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAE3E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAE3E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAM,GAAG,WAAW,CAEhG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAGxF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE3E"}
@@ -1,3 +1,4 @@
1
+ import { getGaussianRenderEffectPadding, registerRenderEffectPaddingResolver } from './renderEffectPadding';
1
2
  // HDR bloom intent and its shared recipe math. The parameter math is substrate-agnostic so the Gl and
2
3
  // Wgpu bloom recipes derive identical bright-pass cutoff, additive strength, and blur radius from the
3
4
  // same intent.
@@ -13,4 +14,14 @@ export function computeBloomThreshold(effect) {
13
14
  export function createBloomEffect(options = {}) {
14
15
  return { kind: 'BloomEffect', ...options };
15
16
  }
17
+ export function getBloomEffectPadding(effect) {
18
+ const radius = computeBloomBlurRadius(effect);
19
+ return getGaussianRenderEffectPadding(radius, radius);
20
+ }
21
+ export function registerBloomEffectPaddingResolver(state) {
22
+ registerRenderEffectPaddingResolver(state, 'BloomEffect', resolveBloomEffectPadding);
23
+ }
24
+ function resolveBloomEffectPadding(effect) {
25
+ return getBloomEffectPadding(effect);
26
+ }
16
27
  //# sourceMappingURL=bloomEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bloomEffect.js","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,sGAAsG;AACtG,eAAe;AAEf,MAAM,UAAU,sBAAsB,CAAC,MAA6B;IAClE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,OAAO,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,OAAO,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAA+C,EAAE;IACjF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"bloomEffect.js","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5G,sGAAsG;AACtG,sGAAsG;AACtG,eAAe;AAEf,MAAM,UAAU,sBAAsB,CAAC,MAA6B;IAClE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,OAAO,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,OAAO,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAA+C,EAAE;IACjF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,KAAkB;IACnE,mCAAmC,CAAC,KAAK,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA8B;IAC/D,OAAO,qBAAqB,CAAC,MAA+B,CAAC,CAAC;AAChE,CAAC"}
@@ -1,3 +1,5 @@
1
- import type { BlurEffect } from '@flighthq/types';
1
+ import type { BlurEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createBlurEffect(options?: Readonly<Omit<BlurEffect, 'kind'>>): BlurEffect;
3
+ export declare function getBlurEffectPadding(effect: Readonly<BlurEffect>): RenderEffectPadding;
4
+ export declare function registerBlurEffectPaddingResolver(state: RenderState): void;
3
5
  //# sourceMappingURL=blurEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blurEffect.d.ts","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAM,GAAG,UAAU,CAE7F"}
1
+ {"version":3,"file":"blurEffect.d.ts","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,mBAAmB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAO3G,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAM,GAAG,UAAU,CAE7F;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAEtF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE1E"}
@@ -1,7 +1,17 @@
1
+ import { getGaussianRenderEffectPadding, registerRenderEffectPaddingResolver } from './renderEffectPadding';
1
2
  // Plain separable Gaussian blur intent. `blurX`/`blurY` are the per-axis Gaussian standard deviations
2
3
  // in pixels; the backends realize them as a two-pass separable blur bouncing through an offscreen
3
4
  // target. The spatial-effect sibling of the directional/radial/motion blur variants.
4
5
  export function createBlurEffect(options = {}) {
5
6
  return { kind: 'BlurEffect', ...options };
6
7
  }
8
+ export function getBlurEffectPadding(effect) {
9
+ return getGaussianRenderEffectPadding(effect.blurX ?? 4, effect.blurY ?? 4);
10
+ }
11
+ export function registerBlurEffectPaddingResolver(state) {
12
+ registerRenderEffectPaddingResolver(state, 'BlurEffect', resolveBlurEffectPadding);
13
+ }
14
+ function resolveBlurEffectPadding(effect) {
15
+ return getBlurEffectPadding(effect);
16
+ }
7
17
  //# sourceMappingURL=blurEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blurEffect.js","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,kGAAkG;AAClG,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,UAA8C,EAAE;IAC/E,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"blurEffect.js","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5G,sGAAsG;AACtG,kGAAkG;AAClG,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,UAA8C,EAAE;IAC/E,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,OAAO,8BAA8B,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAkB;IAClE,mCAAmC,CAAC,KAAK,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA8B;IAC9D,OAAO,oBAAoB,CAAC,MAA8B,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,3 +1,5 @@
1
- import type { BokehDepthOfFieldEffect } from '@flighthq/types';
1
+ import type { BokehDepthOfFieldEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createBokehDepthOfFieldEffect(options?: Readonly<Omit<BokehDepthOfFieldEffect, 'kind'>>): BokehDepthOfFieldEffect;
3
+ export declare function getBokehDepthOfFieldEffectPadding(effect: Readonly<BokehDepthOfFieldEffect>): RenderEffectPadding;
4
+ export declare function registerBokehDepthOfFieldEffectPaddingResolver(state: RenderState): void;
3
5
  //# sourceMappingURL=bokehDepthOfFieldEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bokehDepthOfFieldEffect.d.ts","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAM,GAC5D,uBAAuB,CAEzB"}
1
+ {"version":3,"file":"bokehDepthOfFieldEffect.d.ts","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAgB,mBAAmB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIxH,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAM,GAC5D,uBAAuB,CAEzB;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,mBAAmB,CAGhH;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEvF"}
@@ -1,4 +1,15 @@
1
+ import { registerRenderEffectPaddingResolver } from './renderEffectPadding';
1
2
  export function createBokehDepthOfFieldEffect(options = {}) {
2
3
  return { kind: 'BokehDepthOfFieldEffect', ...options };
3
4
  }
5
+ export function getBokehDepthOfFieldEffectPadding(effect) {
6
+ const radius = Math.ceil(Math.max(0, effect.maxBlur ?? 4));
7
+ return { bottom: radius, left: radius, right: radius, top: radius };
8
+ }
9
+ export function registerBokehDepthOfFieldEffectPaddingResolver(state) {
10
+ registerRenderEffectPaddingResolver(state, 'BokehDepthOfFieldEffect', resolveBokehDepthOfFieldEffectPadding);
11
+ }
12
+ function resolveBokehDepthOfFieldEffectPadding(effect) {
13
+ return getBokehDepthOfFieldEffectPadding(effect);
14
+ }
4
15
  //# sourceMappingURL=bokehDepthOfFieldEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bokehDepthOfFieldEffect.js","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAC3C,UAA2D,EAAE;IAE7D,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,OAAO,EAAE,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"bokehDepthOfFieldEffect.js","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,6BAA6B,CAC3C,UAA2D,EAAE;IAE7D,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,OAAO,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAAyC;IACzF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,8CAA8C,CAAC,KAAkB;IAC/E,mCAAmC,CAAC,KAAK,EAAE,yBAAyB,EAAE,qCAAqC,CAAC,CAAC;AAC/G,CAAC;AAED,SAAS,qCAAqC,CAAC,MAA8B;IAC3E,OAAO,iCAAiC,CAAC,MAA2C,CAAC,CAAC;AACxF,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { CameraMotionBlurEffect } from '@flighthq/types';
1
+ import type { CameraMotionBlurEffect } from '@flighthq/types/contract';
2
2
  export declare function createCameraMotionBlurEffect(options?: Readonly<Omit<CameraMotionBlurEffect, 'kind'>>): CameraMotionBlurEffect;
3
3
  //# sourceMappingURL=cameraMotionBlurEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cameraMotionBlurEffect.d.ts","sourceRoot":"","sources":["../src/cameraMotionBlurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAM,GAC3D,sBAAsB,CAExB"}
1
+ {"version":3,"file":"cameraMotionBlurEffect.d.ts","sourceRoot":"","sources":["../src/cameraMotionBlurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAM,GAC3D,sBAAsB,CAExB"}
@@ -1,3 +1,3 @@
1
- import type { ChromaticAberrationEffect } from '@flighthq/types';
1
+ import type { ChromaticAberrationEffect } from '@flighthq/types/contract';
2
2
  export declare function createChromaticAberrationEffect(options?: Readonly<Omit<ChromaticAberrationEffect, 'kind'>>): ChromaticAberrationEffect;
3
3
  //# sourceMappingURL=chromaticAberrationEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chromaticAberrationEffect.d.ts","sourceRoot":"","sources":["../src/chromaticAberrationEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAM,GAC9D,yBAAyB,CAE3B"}
1
+ {"version":3,"file":"chromaticAberrationEffect.d.ts","sourceRoot":"","sources":["../src/chromaticAberrationEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAM,GAC9D,yBAAyB,CAE3B"}
@@ -1,3 +1,3 @@
1
- import type { CompositeEffect, CompositeOperator } from '@flighthq/types';
1
+ import type { CompositeEffect, CompositeOperator } from '@flighthq/types/contract';
2
2
  export declare function createCompositeEffect(operator: CompositeOperator, options?: Readonly<Omit<CompositeEffect, 'kind' | 'operator'>>): CompositeEffect;
3
3
  //# sourceMappingURL=compositeEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compositeEffect.d.ts","sourceRoot":"","sources":["../src/compositeEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAQ1E,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,CAAC,CAAM,GACjE,eAAe,CAEjB"}
1
+ {"version":3,"file":"compositeEffect.d.ts","sourceRoot":"","sources":["../src/compositeEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAQnF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,CAAC,CAAM,GACjE,eAAe,CAEjB"}
@@ -1,3 +1,3 @@
1
- import { CompositeOperator } from '@flighthq/types';
1
+ import { CompositeOperator } from '@flighthq/types/contract';
2
2
  export declare function getCompositeOperatorFactors(operator: CompositeOperator, sourceAlpha: number, backdropAlpha: number, out: [number, number] | Float32Array | number[]): void;
3
3
  //# sourceMappingURL=compositeOperatorMath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compositeOperatorMath.d.ts","sourceRoot":"","sources":["../src/compositeOperatorMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAUpD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,GAAG,MAAM,EAAE,GAC9C,IAAI,CAsDN"}
1
+ {"version":3,"file":"compositeOperatorMath.d.ts","sourceRoot":"","sources":["../src/compositeOperatorMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAU7D,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,GAAG,MAAM,EAAE,GAC9C,IAAI,CAsDN"}
@@ -1,4 +1,4 @@
1
- import { CompositeOperator } from '@flighthq/types';
1
+ import { CompositeOperator } from '@flighthq/types/contract';
2
2
  // Premultiplied Porter-Duff coverage factors — the substrate-agnostic ground truth for how an isolated
3
3
  // layer (`source`) merges into its backdrop. The composited pixel is `Fa*source + Fb*backdrop` applied to
4
4
  // premultiplied color (rgb and a alike), where Fa/Fb depend only on the operator and the two coverage
@@ -1 +1 @@
1
- {"version":3,"file":"compositeOperatorMath.js","sourceRoot":"","sources":["../src/compositeOperatorMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,uGAAuG;AACvG,0GAA0G;AAC1G,sGAAsG;AACtG,0GAA0G;AAC1G,wGAAwG;AACxG,2GAA2G;AAC3G,qGAAqG;AACrG,oFAAoF;AACpF,MAAM,UAAU,2BAA2B,CACzC,QAA2B,EAC3B,WAAmB,EACnB,aAAqB,EACrB,GAA+C;IAE/C,MAAM,EAAE,GAAG,WAAW,CAAC;IACvB,MAAM,EAAE,GAAG,aAAa,CAAC;IACzB,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,CAAC;IACf,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,iBAAiB,CAAC,KAAK;YAC1B,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,IAAI;YACzB,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,eAAe;YACpC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,EAAE,CAAC;YACR,MAAM;QACR,KAAK,iBAAiB,CAAC,aAAa;YAClC,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,EAAE,CAAC;YACR,MAAM;QACR,KAAK,iBAAiB,CAAC,cAAc;YACnC,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;QACR,KAAK,iBAAiB,CAAC,eAAe;YACpC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,UAAU;YAC/B,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;QACR,KAAK,iBAAiB,CAAC,QAAQ;YAC7B,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,SAAS;YAC9B,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,GAAG;YACxB,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;QACR;YACE,oCAAoC;YACpC,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;IACV,CAAC;IACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACZ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"compositeOperatorMath.js","sourceRoot":"","sources":["../src/compositeOperatorMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,uGAAuG;AACvG,0GAA0G;AAC1G,sGAAsG;AACtG,0GAA0G;AAC1G,wGAAwG;AACxG,2GAA2G;AAC3G,qGAAqG;AACrG,oFAAoF;AACpF,MAAM,UAAU,2BAA2B,CACzC,QAA2B,EAC3B,WAAmB,EACnB,aAAqB,EACrB,GAA+C;IAE/C,MAAM,EAAE,GAAG,WAAW,CAAC;IACvB,MAAM,EAAE,GAAG,aAAa,CAAC;IACzB,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,CAAC;IACf,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,iBAAiB,CAAC,KAAK;YAC1B,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,IAAI;YACzB,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,eAAe;YACpC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,EAAE,CAAC;YACR,MAAM;QACR,KAAK,iBAAiB,CAAC,aAAa;YAClC,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,EAAE,CAAC;YACR,MAAM;QACR,KAAK,iBAAiB,CAAC,cAAc;YACnC,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;QACR,KAAK,iBAAiB,CAAC,eAAe;YACpC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,UAAU;YAC/B,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;QACR,KAAK,iBAAiB,CAAC,QAAQ;YAC7B,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,SAAS;YAC9B,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,CAAC,CAAC;YACP,MAAM;QACR,KAAK,iBAAiB,CAAC,GAAG;YACxB,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;QACR;YACE,oCAAoC;YACpC,EAAE,GAAG,CAAC,CAAC;YACP,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM;IACV,CAAC;IACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACZ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACd,CAAC"}
@@ -1,3 +1,5 @@
1
- import type { ContactShadowsEffect } from '@flighthq/types';
1
+ import type { ContactShadowsEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createContactShadowsEffect(options?: Readonly<Omit<ContactShadowsEffect, 'kind'>>): ContactShadowsEffect;
3
+ export declare function getContactShadowsEffectPadding(_effect: Readonly<ContactShadowsEffect>): RenderEffectPadding;
4
+ export declare function registerContactShadowsEffectPaddingResolver(state: RenderState): void;
3
5
  //# sourceMappingURL=contactShadowsEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contactShadowsEffect.d.ts","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAM,GACzD,oBAAoB,CAEtB"}
1
+ {"version":3,"file":"contactShadowsEffect.d.ts","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAgB,mBAAmB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIrH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAM,GACzD,oBAAoB,CAEtB;AAGD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,mBAAmB,CAE3G;AAED,wBAAgB,2CAA2C,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEpF"}
@@ -1,4 +1,15 @@
1
+ import { registerRenderEffectPaddingResolver } from './renderEffectPadding';
1
2
  export function createContactShadowsEffect(options = {}) {
2
3
  return { kind: 'ContactShadowsEffect', ...options };
3
4
  }
5
+ // Contact shadows are a screen-space depth treatment and do not expand a node-local silhouette.
6
+ export function getContactShadowsEffectPadding(_effect) {
7
+ return { bottom: 0, left: 0, right: 0, top: 0 };
8
+ }
9
+ export function registerContactShadowsEffectPaddingResolver(state) {
10
+ registerRenderEffectPaddingResolver(state, 'ContactShadowsEffect', resolveContactShadowsEffectPadding);
11
+ }
12
+ function resolveContactShadowsEffectPadding(effect) {
13
+ return getContactShadowsEffectPadding(effect);
14
+ }
4
15
  //# sourceMappingURL=contactShadowsEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contactShadowsEffect.js","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,0BAA0B,CACxC,UAAwD,EAAE;IAE1D,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"contactShadowsEffect.js","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,0BAA0B,CACxC,UAAwD,EAAE;IAE1D,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,8BAA8B,CAAC,OAAuC;IACpF,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,2CAA2C,CAAC,KAAkB;IAC5E,mCAAmC,CAAC,KAAK,EAAE,sBAAsB,EAAE,kCAAkC,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,kCAAkC,CAAC,MAA8B;IACxE,OAAO,8BAA8B,CAAC,MAAwC,CAAC,CAAC;AAClF,CAAC"}
@@ -0,0 +1,73 @@
1
+ export * from './autoExposureEffect';
2
+ export * from './barrelDistortionEffect';
3
+ export * from './bevelEffect';
4
+ export * from './blendEffect';
5
+ export * from './blendModeMath';
6
+ export * from './bloomEffect';
7
+ export * from './blurDownsample';
8
+ export * from './blurEffect';
9
+ export * from './bokehDepthOfFieldEffect';
10
+ export * from './boxBlurMath';
11
+ export * from './cameraMotionBlurEffect';
12
+ export * from './chromaticAberrationEffect';
13
+ export * from './colorTemperatureMath';
14
+ export * from './compositeEffect';
15
+ export * from './compositeOperatorMath';
16
+ export * from './contactShadowsEffect';
17
+ export * from './convolutionEffect';
18
+ export * from './crtEffect';
19
+ export * from './customShaderEffect';
20
+ export * from './depthMath';
21
+ export * from './directionalBlurEffect';
22
+ export * from './displacementEffect';
23
+ export * from './dropShadowEffect';
24
+ export * from './ditherEffect';
25
+ export * from './edgeDetectMath';
26
+ export * from './filmEmulationEffect';
27
+ export * from './filmGrainEffect';
28
+ export * from './fxaaEffect';
29
+ export * from './gaussianKernel';
30
+ export * from './gaussianMath';
31
+ export * from './glitchEffect';
32
+ export * from './godRaysEffect';
33
+ export * from './godRaysMath';
34
+ export * from './gradientBevelEffect';
35
+ export * from './gradientGlowEffect';
36
+ export * from './halftoneEffect';
37
+ export * from './innerGlowEffect';
38
+ export * from './innerShadowEffect';
39
+ export * from './kuwaharaEffect';
40
+ export * from './kuwaharaMath';
41
+ export * from './lensDirtEffect';
42
+ export * from './lensDistortionEffect';
43
+ export * from './lensFlareEffect';
44
+ export * from './linearSampledGaussian';
45
+ export * from './medianEffect';
46
+ export * from './motionBlurEffect';
47
+ export * from './outerGlowEffect';
48
+ export * from './outlineEffect';
49
+ export * from './panniniProjectionEffect';
50
+ export * from './pixelateEffect';
51
+ export * from './posterizeEffect';
52
+ export * from './radialBlurEffect';
53
+ export * from './renderEffectDefaults';
54
+ export * from './renderEffectInputs';
55
+ export * from './renderEffectInterpolation';
56
+ export * from './renderEffectPadding';
57
+ export * from './renderEffectValidation';
58
+ export * from './scanlinesEffect';
59
+ export * from './screenSpaceFogEffect';
60
+ export * from './sharpenEffect';
61
+ export * from './sketchEffect';
62
+ export * from './smaaEffect';
63
+ export * from './ssaoEffect';
64
+ export * from './ssrEffect';
65
+ export * from './stylizeMath';
66
+ export * from './taaEffect';
67
+ export * from './tiltShiftEffect';
68
+ export * from './toneMapEffect';
69
+ export * from './toneMapMath';
70
+ export * from './vignetteEffect';
71
+ export * from './volumetricLightEffect';
72
+ export * from './whiteBalanceEffect';
73
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,73 @@
1
+ export * from './autoExposureEffect';
2
+ export * from './barrelDistortionEffect';
3
+ export * from './bevelEffect';
4
+ export * from './blendEffect';
5
+ export * from './blendModeMath';
6
+ export * from './bloomEffect';
7
+ export * from './blurDownsample';
8
+ export * from './blurEffect';
9
+ export * from './bokehDepthOfFieldEffect';
10
+ export * from './boxBlurMath';
11
+ export * from './cameraMotionBlurEffect';
12
+ export * from './chromaticAberrationEffect';
13
+ export * from './colorTemperatureMath';
14
+ export * from './compositeEffect';
15
+ export * from './compositeOperatorMath';
16
+ export * from './contactShadowsEffect';
17
+ export * from './convolutionEffect';
18
+ export * from './crtEffect';
19
+ export * from './customShaderEffect';
20
+ export * from './depthMath';
21
+ export * from './directionalBlurEffect';
22
+ export * from './displacementEffect';
23
+ export * from './dropShadowEffect';
24
+ export * from './ditherEffect';
25
+ export * from './edgeDetectMath';
26
+ export * from './filmEmulationEffect';
27
+ export * from './filmGrainEffect';
28
+ export * from './fxaaEffect';
29
+ export * from './gaussianKernel';
30
+ export * from './gaussianMath';
31
+ export * from './glitchEffect';
32
+ export * from './godRaysEffect';
33
+ export * from './godRaysMath';
34
+ export * from './gradientBevelEffect';
35
+ export * from './gradientGlowEffect';
36
+ export * from './halftoneEffect';
37
+ export * from './innerGlowEffect';
38
+ export * from './innerShadowEffect';
39
+ export * from './kuwaharaEffect';
40
+ export * from './kuwaharaMath';
41
+ export * from './lensDirtEffect';
42
+ export * from './lensDistortionEffect';
43
+ export * from './lensFlareEffect';
44
+ export * from './linearSampledGaussian';
45
+ export * from './medianEffect';
46
+ export * from './motionBlurEffect';
47
+ export * from './outerGlowEffect';
48
+ export * from './outlineEffect';
49
+ export * from './panniniProjectionEffect';
50
+ export * from './pixelateEffect';
51
+ export * from './posterizeEffect';
52
+ export * from './radialBlurEffect';
53
+ export * from './renderEffectDefaults';
54
+ export * from './renderEffectInputs';
55
+ export * from './renderEffectInterpolation';
56
+ export * from './renderEffectPadding';
57
+ export * from './renderEffectValidation';
58
+ export * from './scanlinesEffect';
59
+ export * from './screenSpaceFogEffect';
60
+ export * from './sharpenEffect';
61
+ export * from './sketchEffect';
62
+ export * from './smaaEffect';
63
+ export * from './ssaoEffect';
64
+ export * from './ssrEffect';
65
+ export * from './stylizeMath';
66
+ export * from './taaEffect';
67
+ export * from './tiltShiftEffect';
68
+ export * from './toneMapEffect';
69
+ export * from './toneMapMath';
70
+ export * from './vignetteEffect';
71
+ export * from './volumetricLightEffect';
72
+ export * from './whiteBalanceEffect';
73
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
@@ -1,3 +1,5 @@
1
- import type { ConvolutionEffect } from '@flighthq/types';
1
+ import type { ConvolutionEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createConvolutionEffect(options: Readonly<Omit<ConvolutionEffect, 'kind'>>): ConvolutionEffect;
3
+ export declare function getConvolutionEffectPadding(effect: Readonly<ConvolutionEffect>): RenderEffectPadding;
4
+ export declare function registerConvolutionEffectPaddingResolver(state: RenderState): void;
3
5
  //# sourceMappingURL=convolutionEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convolutionEffect.d.ts","sourceRoot":"","sources":["../src/convolutionEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAE7G"}
1
+ {"version":3,"file":"convolutionEffect.d.ts","sourceRoot":"","sources":["../src/convolutionEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAgB,mBAAmB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIlH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAE7G;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,mBAAmB,CASpG;AAED,wBAAgB,wCAAwC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEjF"}
@@ -1,4 +1,21 @@
1
+ import { registerRenderEffectPaddingResolver } from './renderEffectPadding';
1
2
  export function createConvolutionEffect(options) {
2
3
  return { kind: 'ConvolutionEffect', ...options };
3
4
  }
5
+ export function getConvolutionEffectPadding(effect) {
6
+ const offsetX = Math.floor(Math.max(0, effect.matrixX) * 0.5);
7
+ const offsetY = Math.floor(Math.max(0, effect.matrixY) * 0.5);
8
+ return {
9
+ bottom: offsetY,
10
+ left: Math.max(0, effect.matrixX - 1 - offsetX),
11
+ right: offsetX,
12
+ top: Math.max(0, effect.matrixY - 1 - offsetY),
13
+ };
14
+ }
15
+ export function registerConvolutionEffectPaddingResolver(state) {
16
+ registerRenderEffectPaddingResolver(state, 'ConvolutionEffect', resolveConvolutionEffectPadding);
17
+ }
18
+ function resolveConvolutionEffectPadding(effect) {
19
+ return getConvolutionEffectPadding(effect);
20
+ }
4
21
  //# sourceMappingURL=convolutionEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convolutionEffect.js","sourceRoot":"","sources":["../src/convolutionEffect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,OAAkD;IACxF,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"convolutionEffect.js","sourceRoot":"","sources":["../src/convolutionEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,uBAAuB,CAAC,OAAkD;IACxF,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAmC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAC9D,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC;QAC/C,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,KAAkB;IACzE,mCAAmC,CAAC,KAAK,EAAE,mBAAmB,EAAE,+BAA+B,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,+BAA+B,CAAC,MAA8B;IACrE,OAAO,2BAA2B,CAAC,MAAqC,CAAC,CAAC;AAC5E,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { CrtEffect } from '@flighthq/types';
1
+ import type { CrtEffect } from '@flighthq/types/contract';
2
2
  export declare function createCrtEffect(options?: Readonly<Omit<CrtEffect, 'kind'>>): CrtEffect;
3
3
  //# sourceMappingURL=crtEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crtEffect.d.ts","sourceRoot":"","sources":["../src/crtEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wBAAgB,eAAe,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAM,GAAG,SAAS,CAE1F"}
1
+ {"version":3,"file":"crtEffect.d.ts","sourceRoot":"","sources":["../src/crtEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,wBAAgB,eAAe,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAM,GAAG,SAAS,CAE1F"}
@@ -1,3 +1,3 @@
1
- import type { CustomShaderEffect } from '@flighthq/types';
1
+ import type { CustomShaderEffect } from '@flighthq/types/contract';
2
2
  export declare function createCustomShaderEffect(options: Readonly<Omit<CustomShaderEffect, 'kind'>>): CustomShaderEffect;
3
3
  //# sourceMappingURL=customShaderEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"customShaderEffect.d.ts","sourceRoot":"","sources":["../src/customShaderEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAEhH"}
1
+ {"version":3,"file":"customShaderEffect.d.ts","sourceRoot":"","sources":["../src/customShaderEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAEhH"}
@@ -1,3 +1,5 @@
1
- import type { DirectionalBlurEffect } from '@flighthq/types';
1
+ import type { DirectionalBlurEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createDirectionalBlurEffect(options?: Readonly<Omit<DirectionalBlurEffect, 'kind'>>): DirectionalBlurEffect;
3
+ export declare function getDirectionalBlurEffectPadding(effect: Readonly<DirectionalBlurEffect>): RenderEffectPadding;
4
+ export declare function registerDirectionalBlurEffectPaddingResolver(state: RenderState): void;
3
5
  //# sourceMappingURL=directionalBlurEffect.d.ts.map