@flighthq/effects 0.5.1-next.820.97b3830 → 0.5.1-next.903.f434bc2

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 (231) hide show
  1. package/README.md +2 -2
  2. package/dist/autoExposureEffect.d.ts +2 -1
  3. package/dist/autoExposureEffect.d.ts.map +1 -1
  4. package/dist/autoExposureEffect.js +12 -2
  5. package/dist/autoExposureEffect.js.map +1 -1
  6. package/dist/barrelDistortionEffect.d.ts +2 -1
  7. package/dist/barrelDistortionEffect.d.ts.map +1 -1
  8. package/dist/barrelDistortionEffect.js +10 -2
  9. package/dist/barrelDistortionEffect.js.map +1 -1
  10. package/dist/bevelEffect.d.ts +2 -1
  11. package/dist/bevelEffect.d.ts.map +1 -1
  12. package/dist/bevelEffect.js +20 -2
  13. package/dist/bevelEffect.js.map +1 -1
  14. package/dist/bitmapDisplacementEffect.d.ts +2 -1
  15. package/dist/bitmapDisplacementEffect.d.ts.map +1 -1
  16. package/dist/bitmapDisplacementEffect.js +14 -2
  17. package/dist/bitmapDisplacementEffect.js.map +1 -1
  18. package/dist/blendEffect.d.ts +2 -1
  19. package/dist/blendEffect.d.ts.map +1 -1
  20. package/dist/blendEffect.js +11 -2
  21. package/dist/blendEffect.js.map +1 -1
  22. package/dist/bloomEffect.d.ts +2 -1
  23. package/dist/bloomEffect.d.ts.map +1 -1
  24. package/dist/bloomEffect.js +12 -2
  25. package/dist/bloomEffect.js.map +1 -1
  26. package/dist/blurEffect.d.ts +2 -1
  27. package/dist/blurEffect.d.ts.map +1 -1
  28. package/dist/blurEffect.js +10 -2
  29. package/dist/blurEffect.js.map +1 -1
  30. package/dist/bokehDepthOfFieldEffect.d.ts +2 -1
  31. package/dist/bokehDepthOfFieldEffect.d.ts.map +1 -1
  32. package/dist/bokehDepthOfFieldEffect.js +11 -2
  33. package/dist/bokehDepthOfFieldEffect.js.map +1 -1
  34. package/dist/cameraMotionBlurEffect.d.ts +2 -1
  35. package/dist/cameraMotionBlurEffect.d.ts.map +1 -1
  36. package/dist/cameraMotionBlurEffect.js +10 -2
  37. package/dist/cameraMotionBlurEffect.js.map +1 -1
  38. package/dist/chromaticAberrationEffect.d.ts +2 -1
  39. package/dist/chromaticAberrationEffect.d.ts.map +1 -1
  40. package/dist/chromaticAberrationEffect.js +10 -2
  41. package/dist/chromaticAberrationEffect.js.map +1 -1
  42. package/dist/compositeEffect.d.ts +2 -1
  43. package/dist/compositeEffect.d.ts.map +1 -1
  44. package/dist/compositeEffect.js +10 -2
  45. package/dist/compositeEffect.js.map +1 -1
  46. package/dist/contactShadowsEffect.d.ts +2 -1
  47. package/dist/contactShadowsEffect.d.ts.map +1 -1
  48. package/dist/contactShadowsEffect.js +12 -2
  49. package/dist/contactShadowsEffect.js.map +1 -1
  50. package/dist/contract.d.ts +55 -0
  51. package/dist/contract.d.ts.map +1 -1
  52. package/dist/contract.js +55 -0
  53. package/dist/contract.js.map +1 -1
  54. package/dist/convolutionEffect.d.ts +2 -1
  55. package/dist/convolutionEffect.d.ts.map +1 -1
  56. package/dist/convolutionEffect.js +16 -2
  57. package/dist/convolutionEffect.js.map +1 -1
  58. package/dist/crtEffect.d.ts +2 -1
  59. package/dist/crtEffect.d.ts.map +1 -1
  60. package/dist/crtEffect.js +12 -2
  61. package/dist/crtEffect.js.map +1 -1
  62. package/dist/customShaderEffect.d.ts +2 -1
  63. package/dist/customShaderEffect.d.ts.map +1 -1
  64. package/dist/customShaderEffect.js +10 -2
  65. package/dist/customShaderEffect.js.map +1 -1
  66. package/dist/directionalBlurEffect.d.ts +2 -1
  67. package/dist/directionalBlurEffect.d.ts.map +1 -1
  68. package/dist/directionalBlurEffect.js +11 -2
  69. package/dist/directionalBlurEffect.js.map +1 -1
  70. package/dist/displacementEffect.d.ts +2 -1
  71. package/dist/displacementEffect.d.ts.map +1 -1
  72. package/dist/displacementEffect.js +11 -2
  73. package/dist/displacementEffect.js.map +1 -1
  74. package/dist/ditherEffect.d.ts +2 -1
  75. package/dist/ditherEffect.d.ts.map +1 -1
  76. package/dist/ditherEffect.js +9 -2
  77. package/dist/ditherEffect.js.map +1 -1
  78. package/dist/dropShadowEffect.d.ts +2 -1
  79. package/dist/dropShadowEffect.d.ts.map +1 -1
  80. package/dist/dropShadowEffect.js +17 -2
  81. package/dist/dropShadowEffect.js.map +1 -1
  82. package/dist/filmEmulationEffect.d.ts +2 -1
  83. package/dist/filmEmulationEffect.d.ts.map +1 -1
  84. package/dist/filmEmulationEffect.js +12 -2
  85. package/dist/filmEmulationEffect.js.map +1 -1
  86. package/dist/filmGrainEffect.d.ts +2 -1
  87. package/dist/filmGrainEffect.d.ts.map +1 -1
  88. package/dist/filmGrainEffect.js +11 -2
  89. package/dist/filmGrainEffect.js.map +1 -1
  90. package/dist/fxaaEffect.d.ts +2 -1
  91. package/dist/fxaaEffect.d.ts.map +1 -1
  92. package/dist/fxaaEffect.js +10 -2
  93. package/dist/fxaaEffect.js.map +1 -1
  94. package/dist/glitchEffect.d.ts +2 -1
  95. package/dist/glitchEffect.d.ts.map +1 -1
  96. package/dist/glitchEffect.js +12 -2
  97. package/dist/glitchEffect.js.map +1 -1
  98. package/dist/godRaysEffect.d.ts +2 -1
  99. package/dist/godRaysEffect.d.ts.map +1 -1
  100. package/dist/godRaysEffect.js +15 -2
  101. package/dist/godRaysEffect.js.map +1 -1
  102. package/dist/gradientBevelEffect.d.ts +2 -1
  103. package/dist/gradientBevelEffect.d.ts.map +1 -1
  104. package/dist/gradientBevelEffect.js +19 -2
  105. package/dist/gradientBevelEffect.js.map +1 -1
  106. package/dist/gradientGlowEffect.d.ts +2 -1
  107. package/dist/gradientGlowEffect.d.ts.map +1 -1
  108. package/dist/gradientGlowEffect.js +16 -2
  109. package/dist/gradientGlowEffect.js.map +1 -1
  110. package/dist/halftoneEffect.d.ts +2 -1
  111. package/dist/halftoneEffect.d.ts.map +1 -1
  112. package/dist/halftoneEffect.js +10 -2
  113. package/dist/halftoneEffect.js.map +1 -1
  114. package/dist/innerGlowEffect.d.ts +2 -1
  115. package/dist/innerGlowEffect.d.ts.map +1 -1
  116. package/dist/innerGlowEffect.js +15 -2
  117. package/dist/innerGlowEffect.js.map +1 -1
  118. package/dist/innerShadowEffect.d.ts +2 -1
  119. package/dist/innerShadowEffect.d.ts.map +1 -1
  120. package/dist/innerShadowEffect.js +17 -2
  121. package/dist/innerShadowEffect.js.map +1 -1
  122. package/dist/kuwaharaEffect.d.ts +2 -1
  123. package/dist/kuwaharaEffect.d.ts.map +1 -1
  124. package/dist/kuwaharaEffect.js +9 -2
  125. package/dist/kuwaharaEffect.js.map +1 -1
  126. package/dist/lensDirtEffect.d.ts +2 -1
  127. package/dist/lensDirtEffect.d.ts.map +1 -1
  128. package/dist/lensDirtEffect.js +11 -2
  129. package/dist/lensDirtEffect.js.map +1 -1
  130. package/dist/lensDistortionEffect.d.ts +2 -1
  131. package/dist/lensDistortionEffect.d.ts.map +1 -1
  132. package/dist/lensDistortionEffect.js +10 -2
  133. package/dist/lensDistortionEffect.js.map +1 -1
  134. package/dist/lensFlareEffect.d.ts +2 -1
  135. package/dist/lensFlareEffect.d.ts.map +1 -1
  136. package/dist/lensFlareEffect.js +12 -2
  137. package/dist/lensFlareEffect.js.map +1 -1
  138. package/dist/medianEffect.d.ts +2 -1
  139. package/dist/medianEffect.d.ts.map +1 -1
  140. package/dist/medianEffect.js +9 -2
  141. package/dist/medianEffect.js.map +1 -1
  142. package/dist/motionBlurEffect.d.ts +2 -1
  143. package/dist/motionBlurEffect.d.ts.map +1 -1
  144. package/dist/motionBlurEffect.js +10 -2
  145. package/dist/motionBlurEffect.js.map +1 -1
  146. package/dist/outerGlowEffect.d.ts +2 -1
  147. package/dist/outerGlowEffect.d.ts.map +1 -1
  148. package/dist/outerGlowEffect.js +15 -2
  149. package/dist/outerGlowEffect.js.map +1 -1
  150. package/dist/outlineEffect.d.ts +2 -1
  151. package/dist/outlineEffect.d.ts.map +1 -1
  152. package/dist/outlineEffect.js +11 -2
  153. package/dist/outlineEffect.js.map +1 -1
  154. package/dist/panniniProjectionEffect.d.ts +2 -1
  155. package/dist/panniniProjectionEffect.d.ts.map +1 -1
  156. package/dist/panniniProjectionEffect.js +10 -2
  157. package/dist/panniniProjectionEffect.js.map +1 -1
  158. package/dist/pixelateEffect.d.ts +2 -1
  159. package/dist/pixelateEffect.d.ts.map +1 -1
  160. package/dist/pixelateEffect.js +9 -2
  161. package/dist/pixelateEffect.js.map +1 -1
  162. package/dist/posterizeEffect.d.ts +2 -1
  163. package/dist/posterizeEffect.d.ts.map +1 -1
  164. package/dist/posterizeEffect.js +9 -2
  165. package/dist/posterizeEffect.js.map +1 -1
  166. package/dist/radialBlurEffect.d.ts +2 -1
  167. package/dist/radialBlurEffect.d.ts.map +1 -1
  168. package/dist/radialBlurEffect.js +12 -2
  169. package/dist/radialBlurEffect.js.map +1 -1
  170. package/dist/renderEffect.d.ts +3 -0
  171. package/dist/renderEffect.d.ts.map +1 -0
  172. package/dist/renderEffect.js +4 -0
  173. package/dist/renderEffect.js.map +1 -0
  174. package/dist/scanlinesEffect.d.ts +2 -1
  175. package/dist/scanlinesEffect.d.ts.map +1 -1
  176. package/dist/scanlinesEffect.js +10 -2
  177. package/dist/scanlinesEffect.js.map +1 -1
  178. package/dist/screenSpaceFogEffect.d.ts +2 -1
  179. package/dist/screenSpaceFogEffect.d.ts.map +1 -1
  180. package/dist/screenSpaceFogEffect.js +12 -2
  181. package/dist/screenSpaceFogEffect.js.map +1 -1
  182. package/dist/sharpenEffect.d.ts +2 -1
  183. package/dist/sharpenEffect.d.ts.map +1 -1
  184. package/dist/sharpenEffect.js +9 -2
  185. package/dist/sharpenEffect.js.map +1 -1
  186. package/dist/sketchEffect.d.ts +2 -1
  187. package/dist/sketchEffect.d.ts.map +1 -1
  188. package/dist/sketchEffect.js +9 -2
  189. package/dist/sketchEffect.js.map +1 -1
  190. package/dist/smaaEffect.d.ts +2 -1
  191. package/dist/smaaEffect.d.ts.map +1 -1
  192. package/dist/smaaEffect.js +9 -2
  193. package/dist/smaaEffect.js.map +1 -1
  194. package/dist/ssaoEffect.d.ts +2 -1
  195. package/dist/ssaoEffect.d.ts.map +1 -1
  196. package/dist/ssaoEffect.js +12 -2
  197. package/dist/ssaoEffect.js.map +1 -1
  198. package/dist/ssrEffect.d.ts +2 -1
  199. package/dist/ssrEffect.d.ts.map +1 -1
  200. package/dist/ssrEffect.js +11 -2
  201. package/dist/ssrEffect.js.map +1 -1
  202. package/dist/taaEffect.d.ts +2 -1
  203. package/dist/taaEffect.d.ts.map +1 -1
  204. package/dist/taaEffect.js +9 -2
  205. package/dist/taaEffect.js.map +1 -1
  206. package/dist/tiltShiftEffect.d.ts +2 -1
  207. package/dist/tiltShiftEffect.d.ts.map +1 -1
  208. package/dist/tiltShiftEffect.js +11 -2
  209. package/dist/tiltShiftEffect.js.map +1 -1
  210. package/dist/toneMapEffect.d.ts +2 -1
  211. package/dist/toneMapEffect.d.ts.map +1 -1
  212. package/dist/toneMapEffect.js +11 -2
  213. package/dist/toneMapEffect.js.map +1 -1
  214. package/dist/vignetteEffect.d.ts +2 -1
  215. package/dist/vignetteEffect.d.ts.map +1 -1
  216. package/dist/vignetteEffect.js +12 -2
  217. package/dist/vignetteEffect.js.map +1 -1
  218. package/dist/volumetricLightEffect.d.ts +2 -1
  219. package/dist/volumetricLightEffect.d.ts.map +1 -1
  220. package/dist/volumetricLightEffect.js +14 -2
  221. package/dist/volumetricLightEffect.js.map +1 -1
  222. package/dist/whiteBalanceEffect.d.ts +2 -1
  223. package/dist/whiteBalanceEffect.d.ts.map +1 -1
  224. package/dist/whiteBalanceEffect.js +10 -2
  225. package/dist/whiteBalanceEffect.js.map +1 -1
  226. package/package.json +9 -9
  227. package/src/renderEffectCaptureGeometry.test.ts +7 -4
  228. package/src/renderEffectDefaults.test.ts +26 -6
  229. package/src/renderEffectInputs.test.ts +10 -2
  230. package/src/renderEffectInterpolation.test.ts +4 -2
  231. package/src/renderEffectPadding.test.ts +26 -5
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/effects`. The `@flig
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/effects@0.5.1-next.820.97b3830](https://github.com/flighthq/flight/tree/97b3830e843209d92da169e02a52c0574efe5c09/packages/effects)
17
- - [License](https://github.com/flighthq/flight/blob/97b3830e843209d92da169e02a52c0574efe5c09/LICENSE.md)
16
+ - [Source for @flighthq/effects@0.5.1-next.903.f434bc2](https://github.com/flighthq/flight/tree/f434bc233778d75aeea61995df3a8cfaec459a85/packages/effects)
17
+ - [License](https://github.com/flighthq/flight/blob/f434bc233778d75aeea61995df3a8cfaec459a85/LICENSE.md)
@@ -1,3 +1,4 @@
1
- import type { EntityWithoutRuntime, AutoExposureEffect } from '@flighthq/types/contract';
1
+ import type { AutoExposureEffect, EntityConstruction, EntityWithoutRuntime } from '@flighthq/types/contract';
2
2
  export declare function createAutoExposureEffect(options?: Readonly<Omit<EntityWithoutRuntime<AutoExposureEffect>, 'kind'>>): AutoExposureEffect;
3
+ export declare function initializeAutoExposureEffect(out: EntityConstruction<AutoExposureEffect>, options: Readonly<Omit<EntityWithoutRuntime<AutoExposureEffect>, 'kind'>>): void;
3
4
  //# sourceMappingURL=autoExposureEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoExposureEffect.d.ts","sourceRoot":"","sources":["../src/autoExposureEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAM,GAC7E,kBAAkB,CAEpB"}
1
+ {"version":3,"file":"autoExposureEffect.d.ts","sourceRoot":"","sources":["../src/autoExposureEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAI7G,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAM,GAC7E,kBAAkB,CAIpB;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,EAC3C,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,GACxE,IAAI,CAMN"}
@@ -1,5 +1,15 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  export function createAutoExposureEffect(options = {}) {
3
- return createEntity({ kind: 'AutoExposureEffect', ...options });
4
+ const out = allocateEntity();
5
+ initializeAutoExposureEffect(out, options);
6
+ return finishEntity(out);
7
+ }
8
+ export function initializeAutoExposureEffect(out, options) {
9
+ initializeRenderEffect(out, 'AutoExposureEffect');
10
+ out.adaptationSpeed = options.adaptationSpeed;
11
+ out.exposureCompensation = options.exposureCompensation;
12
+ out.maxExposure = options.maxExposure;
13
+ out.minExposure = options.minExposure;
4
14
  }
5
15
  //# sourceMappingURL=autoExposureEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoExposureEffect.js","sourceRoot":"","sources":["../src/autoExposureEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,UAAU,wBAAwB,CACtC,UAA4E,EAAE;IAE9E,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"autoExposureEffect.js","sourceRoot":"","sources":["../src/autoExposureEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,wBAAwB,CACtC,UAA4E,EAAE;IAE9E,MAAM,GAAG,GAAG,cAAc,EAAsB,CAAC;IACjD,4BAA4B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,GAA2C,EAC3C,OAAyE;IAEzE,sBAAsB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAClD,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAC9C,GAAG,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACxD,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AACxC,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { EntityWithoutRuntime, BarrelDistortionEffect } from '@flighthq/types/contract';
1
+ import type { BarrelDistortionEffect, EntityConstruction, EntityWithoutRuntime } from '@flighthq/types/contract';
2
2
  export declare function createBarrelDistortionEffect(options?: Readonly<Omit<EntityWithoutRuntime<BarrelDistortionEffect>, 'kind'>>): BarrelDistortionEffect;
3
+ export declare function initializeBarrelDistortionEffect(out: EntityConstruction<BarrelDistortionEffect>, options: Readonly<Omit<EntityWithoutRuntime<BarrelDistortionEffect>, 'kind'>>): void;
3
4
  //# sourceMappingURL=barrelDistortionEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barrelDistortionEffect.d.ts","sourceRoot":"","sources":["../src/barrelDistortionEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAM,GACjF,sBAAsB,CAExB"}
1
+ {"version":3,"file":"barrelDistortionEffect.d.ts","sourceRoot":"","sources":["../src/barrelDistortionEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIjH,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAM,GACjF,sBAAsB,CAIxB;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,EAC/C,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAC,GAC5E,IAAI,CAIN"}
@@ -1,5 +1,13 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  export function createBarrelDistortionEffect(options = {}) {
3
- return createEntity({ kind: 'BarrelDistortionEffect', ...options });
4
+ const out = allocateEntity();
5
+ initializeBarrelDistortionEffect(out, options);
6
+ return finishEntity(out);
7
+ }
8
+ export function initializeBarrelDistortionEffect(out, options) {
9
+ initializeRenderEffect(out, 'BarrelDistortionEffect');
10
+ out.amount = options.amount;
11
+ out.scale = options.scale;
4
12
  }
5
13
  //# sourceMappingURL=barrelDistortionEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"barrelDistortionEffect.js","sourceRoot":"","sources":["../src/barrelDistortionEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,UAAU,4BAA4B,CAC1C,UAAgF,EAAE;IAElF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"barrelDistortionEffect.js","sourceRoot":"","sources":["../src/barrelDistortionEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,4BAA4B,CAC1C,UAAgF,EAAE;IAElF,MAAM,GAAG,GAAG,cAAc,EAA0B,CAAC;IACrD,gCAAgC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,GAA+C,EAC/C,OAA6E;IAE7E,sBAAsB,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACtD,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5B,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { EntityWithoutRuntime, BevelEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
1
+ import type { BevelEffect, EntityConstruction, EntityWithoutRuntime, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createBevelEffect(options?: Readonly<Omit<EntityWithoutRuntime<BevelEffect>, 'kind'>>): BevelEffect;
3
3
  export declare function getBevelEffectPadding(effect: Readonly<BevelEffect>): RenderEffectPadding;
4
+ export declare function initializeBevelEffect(out: EntityConstruction<BevelEffect>, options: Readonly<Omit<EntityWithoutRuntime<BevelEffect>, 'kind'>>): void;
4
5
  export declare function registerBevelEffectPaddingResolver(state: RenderState): void;
5
6
  //# sourceMappingURL=bevelEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bevelEffect.d.ts","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EAEX,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAM,GACtE,WAAW,CAEb;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,mBAAmB,CASxF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE3E"}
1
+ {"version":3,"file":"bevelEffect.d.ts","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAM,GACtE,WAAW,CAIb;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,mBAAmB,CASxF;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EACpC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,GACjE,IAAI,CAcN;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE3E"}
@@ -1,14 +1,32 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  import { getDirectionalRenderEffectPadding, registerRenderEffectPaddingResolver } from './renderEffectPadding';
3
4
  // Bevel composite effect: the directional gradient of the blurred silhouette drives a highlight/shadow edge band, clipped by bevelType, then applies sourceMode compositing.
4
5
  export function createBevelEffect(options = {}) {
5
- return createEntity({ kind: 'BevelEffect', ...options });
6
+ const out = allocateEntity();
7
+ initializeBevelEffect(out, options);
8
+ return finishEntity(out);
6
9
  }
7
10
  export function getBevelEffectPadding(effect) {
8
11
  const angle = ((effect.angle ?? 45) * Math.PI) / 180;
9
12
  const distance = effect.distance ?? 4;
10
13
  return getDirectionalRenderEffectPadding(effect.blurX ?? 4, effect.blurY ?? 4, Math.cos(angle) * distance, Math.sin(angle) * distance);
11
14
  }
15
+ export function initializeBevelEffect(out, options) {
16
+ initializeRenderEffect(out, 'BevelEffect');
17
+ out.angle = options.angle;
18
+ out.bevelType = options.bevelType;
19
+ out.blurX = options.blurX;
20
+ out.blurY = options.blurY;
21
+ out.distance = options.distance;
22
+ out.highlightAlpha = options.highlightAlpha;
23
+ out.highlightColor = options.highlightColor;
24
+ out.quality = options.quality;
25
+ out.shadowAlpha = options.shadowAlpha;
26
+ out.shadowColor = options.shadowColor;
27
+ out.sourceMode = options.sourceMode;
28
+ out.strength = options.strength;
29
+ }
12
30
  export function registerBevelEffectPaddingResolver(state) {
13
31
  registerRenderEffectPaddingResolver(state, 'BevelEffect', resolveBevelEffectPadding);
14
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bevelEffect.js","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD,OAAO,EAAE,iCAAiC,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE/G,6KAA6K;AAC7K,MAAM,UAAU,iBAAiB,CAC/B,UAAqE,EAAE;IAEvE,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC3D,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
+ {"version":3,"file":"bevelEffect.js","sourceRoot":"","sources":["../src/bevelEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,iCAAiC,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE/G,6KAA6K;AAC7K,MAAM,UAAU,iBAAiB,CAC/B,UAAqE,EAAE;IAEvE,MAAM,GAAG,GAAG,cAAc,EAAe,CAAC;IAC1C,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,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,qBAAqB,CACnC,GAAoC,EACpC,OAAkE;IAElE,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC3C,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAClC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAChC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC5C,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC5C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACpC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClC,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,5 +1,6 @@
1
- import type { EntityWithoutRuntime, BitmapDisplacementEffect, RenderEffectPadding, RenderState, Texture2D } from '@flighthq/types/contract';
1
+ import type { BitmapDisplacementEffect, EntityConstruction, EntityWithoutRuntime, RenderEffectPadding, RenderState, Texture2D } from '@flighthq/types/contract';
2
2
  export declare function createBitmapDisplacementEffect(map: Readonly<Texture2D> | null, options?: Readonly<Omit<EntityWithoutRuntime<BitmapDisplacementEffect>, 'kind' | 'map'>>): BitmapDisplacementEffect;
3
3
  export declare function getBitmapDisplacementEffectPadding(effect: Readonly<BitmapDisplacementEffect>): RenderEffectPadding;
4
+ export declare function initializeBitmapDisplacementEffect(out: EntityConstruction<BitmapDisplacementEffect>, map: Readonly<Texture2D> | null, options: Readonly<Omit<EntityWithoutRuntime<BitmapDisplacementEffect>, 'kind' | 'map'>>): void;
4
5
  export declare function registerBitmapDisplacementEffectPaddingResolver(state: RenderState): void;
5
6
  //# sourceMappingURL=bitmapDisplacementEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapDisplacementEffect.d.ts","sourceRoot":"","sources":["../src/bitmapDisplacementEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EAExB,mBAAmB,EACnB,WAAW,EACX,SAAS,EACV,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,EAC/B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAM,GAC3F,wBAAwB,CAE1B;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,QAAQ,CAAC,wBAAwB,CAAC,GAAG,mBAAmB,CAIlH;AAED,wBAAgB,+CAA+C,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAExF"}
1
+ {"version":3,"file":"bitmapDisplacementEffect.d.ts","sourceRoot":"","sources":["../src/bitmapDisplacementEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACX,SAAS,EACV,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,EAC/B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAM,GAC3F,wBAAwB,CAI1B;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,QAAQ,CAAC,wBAAwB,CAAC,GAAG,mBAAmB,CAIlH;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,EACjD,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,EAC/B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GACtF,IAAI,CAQN;AAED,wBAAgB,+CAA+C,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAExF"}
@@ -1,13 +1,25 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  import { registerRenderEffectPaddingResolver } from './renderEffectPadding';
3
4
  export function createBitmapDisplacementEffect(map, options = {}) {
4
- return createEntity({ kind: 'BitmapDisplacementEffect', map, ...options });
5
+ const out = allocateEntity();
6
+ initializeBitmapDisplacementEffect(out, map, options);
7
+ return finishEntity(out);
5
8
  }
6
9
  export function getBitmapDisplacementEffectPadding(effect) {
7
10
  const horizontal = Math.ceil(Math.abs(effect.scaleX ?? 0) * 0.5);
8
11
  const vertical = Math.ceil(Math.abs(effect.scaleY ?? 0) * 0.5);
9
12
  return { bottom: vertical, left: horizontal, right: horizontal, top: vertical };
10
13
  }
14
+ export function initializeBitmapDisplacementEffect(out, map, options) {
15
+ initializeRenderEffect(out, 'BitmapDisplacementEffect');
16
+ out.map = map;
17
+ out.componentX = options.componentX;
18
+ out.componentY = options.componentY;
19
+ out.scaleX = options.scaleX;
20
+ out.scaleY = options.scaleY;
21
+ out.edgeMode = options.edgeMode;
22
+ }
11
23
  export function registerBitmapDisplacementEffectPaddingResolver(state) {
12
24
  registerRenderEffectPaddingResolver(state, 'BitmapDisplacementEffect', resolveBitmapDisplacementEffectPadding);
13
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapDisplacementEffect.js","sourceRoot":"","sources":["../src/bitmapDisplacementEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzD,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,8BAA8B,CAC5C,GAA+B,EAC/B,UAA0F,EAAE;IAE5F,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,MAA0C;IAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,+CAA+C,CAAC,KAAkB;IAChF,mCAAmC,CAAC,KAAK,EAAE,0BAA0B,EAAE,sCAAsC,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,sCAAsC,CAAC,MAA8B;IAC5E,OAAO,kCAAkC,CAAC,MAA4C,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"bitmapDisplacementEffect.js","sourceRoot":"","sources":["../src/bitmapDisplacementEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAWzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,8BAA8B,CAC5C,GAA+B,EAC/B,UAA0F,EAAE;IAE5F,MAAM,GAAG,GAAG,cAAc,EAA4B,CAAC;IACvD,kCAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,MAA0C;IAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,GAAiD,EACjD,GAA+B,EAC/B,OAAuF;IAEvF,sBAAsB,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;IACxD,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACd,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACpC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACpC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,+CAA+C,CAAC,KAAkB;IAChF,mCAAmC,CAAC,KAAK,EAAE,0BAA0B,EAAE,sCAAsC,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,sCAAsC,CAAC,MAA8B;IAC5E,OAAO,kCAAkC,CAAC,MAA4C,CAAC,CAAC;AAC1F,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { EntityWithoutRuntime, AdvancedBlendMode, BlendEffect } from '@flighthq/types/contract';
1
+ import type { AdvancedBlendMode, BlendEffect, EntityConstruction, EntityWithoutRuntime } from '@flighthq/types/contract';
2
2
  export declare function createBlendEffect(mode: AdvancedBlendMode, options?: Readonly<Omit<EntityWithoutRuntime<BlendEffect>, 'kind' | 'mode'>>): BlendEffect;
3
+ export declare function initializeBlendEffect(out: EntityConstruction<BlendEffect>, mode: AdvancedBlendMode, options: Readonly<Omit<EntityWithoutRuntime<BlendEffect>, 'kind' | 'mode'>>): void;
3
4
  //# sourceMappingURL=blendEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blendEffect.d.ts","sourceRoot":"","sources":["../src/blendEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AASrG,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAM,GAC/E,WAAW,CAEb"}
1
+ {"version":3,"file":"blendEffect.d.ts","sourceRoot":"","sources":["../src/blendEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAWlC,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAM,GAC/E,WAAW,CAIb;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EACpC,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAC1E,IAAI,CAKN"}
@@ -1,4 +1,5 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  // Advanced-blend composite effect: blends the incoming pipeline layer over a registered backdrop using
3
4
  // a destination-reading / non-separable mode (the AdvancedBlendMode vocabulary the fixed-function
4
5
  // BlendMode enum deliberately excludes). `mode` is required; `backdropKey` names the per-state backdrop
@@ -7,6 +8,14 @@ import { createEntity } from '@flighthq/entity/contract';
7
8
  // offscreen and samples layer + backdrop — it is an effect you apply explicitly, not a cheap node
8
9
  // property.
9
10
  export function createBlendEffect(mode, options = {}) {
10
- return createEntity({ kind: 'BlendEffect', mode, ...options });
11
+ const out = allocateEntity();
12
+ initializeBlendEffect(out, mode, options);
13
+ return finishEntity(out);
14
+ }
15
+ export function initializeBlendEffect(out, mode, options) {
16
+ initializeRenderEffect(out, 'BlendEffect');
17
+ out.mode = mode;
18
+ out.backdropKey = options.backdropKey;
19
+ out.opacity = options.opacity;
11
20
  }
12
21
  //# sourceMappingURL=blendEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blendEffect.js","sourceRoot":"","sources":["../src/blendEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,uGAAuG;AACvG,kGAAkG;AAClG,wGAAwG;AACxG,0GAA0G;AAC1G,kGAAkG;AAClG,kGAAkG;AAClG,YAAY;AACZ,MAAM,UAAU,iBAAiB,CAC/B,IAAuB,EACvB,UAA8E,EAAE;IAEhF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"blendEffect.js","sourceRoot":"","sources":["../src/blendEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,uGAAuG;AACvG,kGAAkG;AAClG,wGAAwG;AACxG,0GAA0G;AAC1G,kGAAkG;AAClG,kGAAkG;AAClG,YAAY;AACZ,MAAM,UAAU,iBAAiB,CAC/B,IAAuB,EACvB,UAA8E,EAAE;IAEhF,MAAM,GAAG,GAAG,cAAc,EAAe,CAAC;IAC1C,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,GAAoC,EACpC,IAAuB,EACvB,OAA2E;IAE3E,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC3C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAChC,CAAC"}
@@ -1,8 +1,9 @@
1
- import type { EntityWithoutRuntime, BloomEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
1
+ import type { BloomEffect, EntityConstruction, EntityWithoutRuntime, 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<EntityWithoutRuntime<BloomEffect>, 'kind'>>): BloomEffect;
6
6
  export declare function getBloomEffectPadding(effect: Readonly<BloomEffect>): RenderEffectPadding;
7
+ export declare function initializeBloomEffect(out: EntityConstruction<BloomEffect>, options: Readonly<Omit<EntityWithoutRuntime<BloomEffect>, 'kind'>>): void;
7
8
  export declare function registerBloomEffectPaddingResolver(state: RenderState): void;
8
9
  //# sourceMappingURL=bloomEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bloomEffect.d.ts","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EAEX,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAQlC,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,CAC/B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAM,GACtE,WAAW,CAEb;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAGxF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE3E"}
1
+ {"version":3,"file":"bloomEffect.d.ts","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AASlC,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,CAC/B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAM,GACtE,WAAW,CAIb;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAGxF;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EACpC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,GACjE,IAAI,CAMN;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE3E"}
@@ -1,4 +1,5 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  import { getGaussianRenderEffectPadding, registerRenderEffectPaddingResolver } from './renderEffectPadding';
3
4
  // HDR bloom intent and its shared recipe math. The parameter math is substrate-agnostic so the Gl and
4
5
  // Wgpu bloom recipes derive identical bright-pass cutoff, additive strength, and blur radius from the
@@ -13,12 +14,21 @@ export function computeBloomThreshold(effect) {
13
14
  return effect.threshold ?? 0.8;
14
15
  }
15
16
  export function createBloomEffect(options = {}) {
16
- return createEntity({ kind: 'BloomEffect', ...options });
17
+ const out = allocateEntity();
18
+ initializeBloomEffect(out, options);
19
+ return finishEntity(out);
17
20
  }
18
21
  export function getBloomEffectPadding(effect) {
19
22
  const radius = computeBloomBlurRadius(effect);
20
23
  return getGaussianRenderEffectPadding(radius, radius);
21
24
  }
25
+ export function initializeBloomEffect(out, options) {
26
+ initializeRenderEffect(out, 'BloomEffect');
27
+ out.threshold = options.threshold;
28
+ out.intensity = options.intensity;
29
+ out.radius = options.radius;
30
+ out.passes = options.passes;
31
+ }
22
32
  export function registerBloomEffectPaddingResolver(state) {
23
33
  registerRenderEffectPaddingResolver(state, 'BloomEffect', resolveBloomEffectPadding);
24
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bloomEffect.js","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD,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,CAC/B,UAAqE,EAAE;IAEvE,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC3D,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
+ {"version":3,"file":"bloomEffect.js","sourceRoot":"","sources":["../src/bloomEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,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,CAC/B,UAAqE,EAAE;IAEvE,MAAM,GAAG,GAAG,cAAc,EAAe,CAAC;IAC1C,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,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,qBAAqB,CACnC,GAAoC,EACpC,OAAkE;IAElE,sBAAsB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAClC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAClC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAC9B,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,5 +1,6 @@
1
- import type { EntityWithoutRuntime, BlurEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
1
+ import type { BlurEffect, EntityConstruction, EntityWithoutRuntime, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createBlurEffect(options?: Readonly<Omit<EntityWithoutRuntime<BlurEffect>, 'kind'>>): BlurEffect;
3
3
  export declare function getBlurEffectPadding(effect: Readonly<BlurEffect>): RenderEffectPadding;
4
+ export declare function initializeBlurEffect(out: EntityConstruction<BlurEffect>, options: Readonly<Omit<EntityWithoutRuntime<BlurEffect>, 'kind'>>): void;
4
5
  export declare function registerBlurEffectPaddingResolver(state: RenderState): void;
5
6
  //# sourceMappingURL=blurEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blurEffect.d.ts","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAEV,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAM,GAAG,UAAU,CAEnH;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAEtF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE1E"}
1
+ {"version":3,"file":"blurEffect.d.ts","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAM,GAAG,UAAU,CAInH;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAEtF;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,EACnC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,GAChE,IAAI,CAIN;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE1E"}
@@ -1,14 +1,22 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  import { getGaussianRenderEffectPadding, registerRenderEffectPaddingResolver } from './renderEffectPadding';
3
4
  // Plain separable Gaussian blur intent. `blurX`/`blurY` are the per-axis Gaussian standard deviations
4
5
  // in pixels; the backends realize them as a two-pass separable blur bouncing through an offscreen
5
6
  // target. The spatial-effect sibling of the directional/radial/motion blur variants.
6
7
  export function createBlurEffect(options = {}) {
7
- return createEntity({ kind: 'BlurEffect', ...options });
8
+ const out = allocateEntity();
9
+ initializeBlurEffect(out, options);
10
+ return finishEntity(out);
8
11
  }
9
12
  export function getBlurEffectPadding(effect) {
10
13
  return getGaussianRenderEffectPadding(effect.blurX ?? 4, effect.blurY ?? 4);
11
14
  }
15
+ export function initializeBlurEffect(out, options) {
16
+ initializeRenderEffect(out, 'BlurEffect');
17
+ out.blurX = options.blurX;
18
+ out.blurY = options.blurY;
19
+ }
12
20
  export function registerBlurEffectPaddingResolver(state) {
13
21
  registerRenderEffectPaddingResolver(state, 'BlurEffect', resolveBlurEffectPadding);
14
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blurEffect.js","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5G,sGAAsG;AACtG,kGAAkG;AAClG,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,UAAoE,EAAE;IACrG,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC1D,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
+ {"version":3,"file":"blurEffect.js","sourceRoot":"","sources":["../src/blurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5G,sGAAsG;AACtG,kGAAkG;AAClG,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,UAAoE,EAAE;IACrG,MAAM,GAAG,GAAG,cAAc,EAAc,CAAC;IACzC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,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,oBAAoB,CAClC,GAAmC,EACnC,OAAiE;IAEjE,sBAAsB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5B,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,5 +1,6 @@
1
- import type { EntityWithoutRuntime, BokehDepthOfFieldEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
1
+ import type { BokehDepthOfFieldEffect, EntityConstruction, EntityWithoutRuntime, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createBokehDepthOfFieldEffect(options?: Readonly<Omit<EntityWithoutRuntime<BokehDepthOfFieldEffect>, 'kind'>>): BokehDepthOfFieldEffect;
3
3
  export declare function getBokehDepthOfFieldEffectPadding(effect: Readonly<BokehDepthOfFieldEffect>): RenderEffectPadding;
4
+ export declare function initializeBokehDepthOfFieldEffect(out: EntityConstruction<BokehDepthOfFieldEffect>, options: Readonly<Omit<EntityWithoutRuntime<BokehDepthOfFieldEffect>, 'kind'>>): void;
4
5
  export declare function registerBokehDepthOfFieldEffectPaddingResolver(state: RenderState): void;
5
6
  //# sourceMappingURL=bokehDepthOfFieldEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bokehDepthOfFieldEffect.d.ts","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EAEvB,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAM,GAClF,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
+ {"version":3,"file":"bokehDepthOfFieldEffect.d.ts","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAM,GAClF,uBAAuB,CAIzB;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,mBAAmB,CAGhH;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,EAChD,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAC,GAC7E,IAAI,CAKN;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEvF"}
@@ -1,12 +1,21 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  import { registerRenderEffectPaddingResolver } from './renderEffectPadding';
3
4
  export function createBokehDepthOfFieldEffect(options = {}) {
4
- return createEntity({ kind: 'BokehDepthOfFieldEffect', ...options });
5
+ const out = allocateEntity();
6
+ initializeBokehDepthOfFieldEffect(out, options);
7
+ return finishEntity(out);
5
8
  }
6
9
  export function getBokehDepthOfFieldEffectPadding(effect) {
7
10
  const radius = Math.ceil(Math.max(0, effect.maxBlur ?? 4));
8
11
  return { bottom: radius, left: radius, right: radius, top: radius };
9
12
  }
13
+ export function initializeBokehDepthOfFieldEffect(out, options) {
14
+ initializeRenderEffect(out, 'BokehDepthOfFieldEffect');
15
+ out.focusDistance = options.focusDistance;
16
+ out.focusRange = options.focusRange;
17
+ out.maxBlur = options.maxBlur;
18
+ }
10
19
  export function registerBokehDepthOfFieldEffectPaddingResolver(state) {
11
20
  registerRenderEffectPaddingResolver(state, 'BokehDepthOfFieldEffect', resolveBokehDepthOfFieldEffectPadding);
12
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bokehDepthOfFieldEffect.js","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,6BAA6B,CAC3C,UAAiF,EAAE;IAEnF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACvE,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
+ {"version":3,"file":"bokehDepthOfFieldEffect.js","sourceRoot":"","sources":["../src/bokehDepthOfFieldEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,6BAA6B,CAC3C,UAAiF,EAAE;IAEnF,MAAM,GAAG,GAAG,cAAc,EAA2B,CAAC;IACtD,iCAAiC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,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,iCAAiC,CAC/C,GAAgD,EAChD,OAA8E;IAE9E,sBAAsB,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACvD,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC1C,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACpC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAChC,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,4 @@
1
- import type { EntityWithoutRuntime, CameraMotionBlurEffect } from '@flighthq/types/contract';
1
+ import type { CameraMotionBlurEffect, EntityConstruction, EntityWithoutRuntime } from '@flighthq/types/contract';
2
2
  export declare function createCameraMotionBlurEffect(options?: Readonly<Omit<EntityWithoutRuntime<CameraMotionBlurEffect>, 'kind'>>): CameraMotionBlurEffect;
3
+ export declare function initializeCameraMotionBlurEffect(out: EntityConstruction<CameraMotionBlurEffect>, options: Readonly<Omit<EntityWithoutRuntime<CameraMotionBlurEffect>, 'kind'>>): void;
3
4
  //# sourceMappingURL=cameraMotionBlurEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cameraMotionBlurEffect.d.ts","sourceRoot":"","sources":["../src/cameraMotionBlurEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAM,GACjF,sBAAsB,CAExB"}
1
+ {"version":3,"file":"cameraMotionBlurEffect.d.ts","sourceRoot":"","sources":["../src/cameraMotionBlurEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIjH,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAM,GACjF,sBAAsB,CAIxB;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,EAC/C,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAC,GAC5E,IAAI,CAIN"}
@@ -1,5 +1,13 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  export function createCameraMotionBlurEffect(options = {}) {
3
- return createEntity({ kind: 'CameraMotionBlurEffect', ...options });
4
+ const out = allocateEntity();
5
+ initializeCameraMotionBlurEffect(out, options);
6
+ return finishEntity(out);
7
+ }
8
+ export function initializeCameraMotionBlurEffect(out, options) {
9
+ initializeRenderEffect(out, 'CameraMotionBlurEffect');
10
+ out.intensity = options.intensity;
11
+ out.samples = options.samples;
4
12
  }
5
13
  //# sourceMappingURL=cameraMotionBlurEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cameraMotionBlurEffect.js","sourceRoot":"","sources":["../src/cameraMotionBlurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,UAAU,4BAA4B,CAC1C,UAAgF,EAAE;IAElF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"cameraMotionBlurEffect.js","sourceRoot":"","sources":["../src/cameraMotionBlurEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,4BAA4B,CAC1C,UAAgF,EAAE;IAElF,MAAM,GAAG,GAAG,cAAc,EAA0B,CAAC;IACrD,gCAAgC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,GAA+C,EAC/C,OAA6E;IAE7E,sBAAsB,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACtD,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAClC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAChC,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { EntityWithoutRuntime, ChromaticAberrationEffect } from '@flighthq/types/contract';
1
+ import type { ChromaticAberrationEffect, EntityConstruction, EntityWithoutRuntime } from '@flighthq/types/contract';
2
2
  export declare function createChromaticAberrationEffect(options?: Readonly<Omit<EntityWithoutRuntime<ChromaticAberrationEffect>, 'kind'>>): ChromaticAberrationEffect;
3
+ export declare function initializeChromaticAberrationEffect(out: EntityConstruction<ChromaticAberrationEffect>, options: Readonly<Omit<EntityWithoutRuntime<ChromaticAberrationEffect>, 'kind'>>): void;
3
4
  //# sourceMappingURL=chromaticAberrationEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chromaticAberrationEffect.d.ts","sourceRoot":"","sources":["../src/chromaticAberrationEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEhG,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAM,GACpF,yBAAyB,CAE3B"}
1
+ {"version":3,"file":"chromaticAberrationEffect.d.ts","sourceRoot":"","sources":["../src/chromaticAberrationEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIpH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAM,GACpF,yBAAyB,CAI3B;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,kBAAkB,CAAC,yBAAyB,CAAC,EAClD,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC,GAC/E,IAAI,CAIN"}
@@ -1,5 +1,13 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  export function createChromaticAberrationEffect(options = {}) {
3
- return createEntity({ kind: 'ChromaticAberrationEffect', ...options });
4
+ const out = allocateEntity();
5
+ initializeChromaticAberrationEffect(out, options);
6
+ return finishEntity(out);
7
+ }
8
+ export function initializeChromaticAberrationEffect(out, options) {
9
+ initializeRenderEffect(out, 'ChromaticAberrationEffect');
10
+ out.intensity = options.intensity;
11
+ out.radial = options.radial;
4
12
  }
5
13
  //# sourceMappingURL=chromaticAberrationEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chromaticAberrationEffect.js","sourceRoot":"","sources":["../src/chromaticAberrationEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,UAAU,+BAA+B,CAC7C,UAAmF,EAAE;IAErF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"chromaticAberrationEffect.js","sourceRoot":"","sources":["../src/chromaticAberrationEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,UAAU,+BAA+B,CAC7C,UAAmF,EAAE;IAErF,MAAM,GAAG,GAAG,cAAc,EAA6B,CAAC;IACxD,mCAAmC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,GAAkD,EAClD,OAAgF;IAEhF,sBAAsB,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IACzD,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAClC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAC9B,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { EntityWithoutRuntime, CompositeEffect, CompositeOperator } from '@flighthq/types/contract';
1
+ import type { CompositeEffect, CompositeOperator, EntityConstruction, EntityWithoutRuntime } from '@flighthq/types/contract';
2
2
  export declare function createCompositeEffect(operator: CompositeOperator, options?: Readonly<Omit<EntityWithoutRuntime<CompositeEffect>, 'kind' | 'operator'>>): CompositeEffect;
3
+ export declare function initializeCompositeEffect(out: EntityConstruction<CompositeEffect>, operator: CompositeOperator, options: Readonly<Omit<EntityWithoutRuntime<CompositeEffect>, 'kind' | 'operator'>>): void;
3
4
  //# sourceMappingURL=compositeEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compositeEffect.d.ts","sourceRoot":"","sources":["../src/compositeEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAQzG,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAM,GACvF,eAAe,CAEjB"}
1
+ {"version":3,"file":"compositeEffect.d.ts","sourceRoot":"","sources":["../src/compositeEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAUlC,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAM,GACvF,eAAe,CAIjB;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,kBAAkB,CAAC,eAAe,CAAC,EACxC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,GAClF,IAAI,CAIN"}
@@ -1,4 +1,5 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  // Porter-Duff composite effect: merges the incoming pipeline layer over a registered backdrop with a
3
4
  // coverage operator (the CompositeOperator vocabulary — Erase = DestinationOut, Alpha = DestinationIn,
4
5
  // and the rest of the set). `operator` is required; `backdropKey` names the per-state backdrop texture the
@@ -6,6 +7,13 @@ import { createEntity } from '@flighthq/entity/contract';
6
7
  // than a shader blend, but still an explicit effect because a non-source-over operator is only meaningful
7
8
  // against an isolated layer.
8
9
  export function createCompositeEffect(operator, options = {}) {
9
- return createEntity({ kind: 'CompositeEffect', operator, ...options });
10
+ const out = allocateEntity();
11
+ initializeCompositeEffect(out, operator, options);
12
+ return finishEntity(out);
13
+ }
14
+ export function initializeCompositeEffect(out, operator, options) {
15
+ initializeRenderEffect(out, 'CompositeEffect');
16
+ out.operator = operator;
17
+ out.backdropKey = options.backdropKey;
10
18
  }
11
19
  //# sourceMappingURL=compositeEffect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compositeEffect.js","sourceRoot":"","sources":["../src/compositeEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qGAAqG;AACrG,uGAAuG;AACvG,2GAA2G;AAC3G,0GAA0G;AAC1G,0GAA0G;AAC1G,6BAA6B;AAC7B,MAAM,UAAU,qBAAqB,CACnC,QAA2B,EAC3B,UAAsF,EAAE;IAExF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"compositeEffect.js","sourceRoot":"","sources":["../src/compositeEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,qGAAqG;AACrG,uGAAuG;AACvG,2GAA2G;AAC3G,0GAA0G;AAC1G,0GAA0G;AAC1G,6BAA6B;AAC7B,MAAM,UAAU,qBAAqB,CACnC,QAA2B,EAC3B,UAAsF,EAAE;IAExF,MAAM,GAAG,GAAG,cAAc,EAAmB,CAAC;IAC9C,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,GAAwC,EACxC,QAA2B,EAC3B,OAAmF;IAEnF,sBAAsB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC/C,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AACxC,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { EntityWithoutRuntime, ContactShadowsEffect, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
1
+ import type { ContactShadowsEffect, EntityConstruction, EntityWithoutRuntime, RenderEffectPadding, RenderState } from '@flighthq/types/contract';
2
2
  export declare function createContactShadowsEffect(options?: Readonly<Omit<EntityWithoutRuntime<ContactShadowsEffect>, 'kind'>>): ContactShadowsEffect;
3
3
  export declare function getContactShadowsEffectPadding(_effect: Readonly<ContactShadowsEffect>): RenderEffectPadding;
4
+ export declare function initializeContactShadowsEffect(out: EntityConstruction<ContactShadowsEffect>, options: Readonly<Omit<EntityWithoutRuntime<ContactShadowsEffect>, 'kind'>>): void;
4
5
  export declare function registerContactShadowsEffectPaddingResolver(state: RenderState): void;
5
6
  //# sourceMappingURL=contactShadowsEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contactShadowsEffect.d.ts","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAM,GAC/E,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
+ {"version":3,"file":"contactShadowsEffect.d.ts","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAM,GAC/E,oBAAoB,CAItB;AAGD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,mBAAmB,CAE3G;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,EAC7C,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAC,GAC1E,IAAI,CAMN;AAED,wBAAgB,2CAA2C,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEpF"}
@@ -1,12 +1,22 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
+ import { initializeRenderEffect } from './renderEffect';
2
3
  import { registerRenderEffectPaddingResolver } from './renderEffectPadding';
3
4
  export function createContactShadowsEffect(options = {}) {
4
- return createEntity({ kind: 'ContactShadowsEffect', ...options });
5
+ const out = allocateEntity();
6
+ initializeContactShadowsEffect(out, options);
7
+ return finishEntity(out);
5
8
  }
6
9
  // Contact shadows are a screen-space depth treatment and do not expand a node-local silhouette.
7
10
  export function getContactShadowsEffectPadding(_effect) {
8
11
  return { bottom: 0, left: 0, right: 0, top: 0 };
9
12
  }
13
+ export function initializeContactShadowsEffect(out, options) {
14
+ initializeRenderEffect(out, 'ContactShadowsEffect');
15
+ out.distance = options.distance;
16
+ out.opacity = options.opacity;
17
+ out.samples = options.samples;
18
+ out.smoothness = options.smoothness;
19
+ }
10
20
  export function registerContactShadowsEffectPaddingResolver(state) {
11
21
  registerRenderEffectPaddingResolver(state, 'ContactShadowsEffect', resolveContactShadowsEffectPadding);
12
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contactShadowsEffect.js","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,0BAA0B,CACxC,UAA8E,EAAE;IAEhF,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,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"}
1
+ {"version":3,"file":"contactShadowsEffect.js","sourceRoot":"","sources":["../src/contactShadowsEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,0BAA0B,CACxC,UAA8E,EAAE;IAEhF,MAAM,GAAG,GAAG,cAAc,EAAwB,CAAC;IACnD,8BAA8B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,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,8BAA8B,CAC5C,GAA6C,EAC7C,OAA2E;IAE3E,sBAAsB,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACpD,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAChC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;AACtC,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"}