@flighthq/effects 0.5.1-next.685.f72fc7f → 0.5.1-next.704.19c91ec

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.
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.685.f72fc7f](https://github.com/flighthq/flight/tree/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/packages/effects)
17
- - [License](https://github.com/flighthq/flight/blob/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/LICENSE.md)
16
+ - [Source for @flighthq/effects@0.5.1-next.704.19c91ec](https://github.com/flighthq/flight/tree/19c91ec3e569d6b3b471682726465a79fba9f8cb/packages/effects)
17
+ - [License](https://github.com/flighthq/flight/blob/19c91ec3e569d6b3b471682726465a79fba9f8cb/LICENSE.md)
@@ -0,0 +1,5 @@
1
+ import type { BitmapDisplacementEffect, RenderEffectPadding, RenderState, Texture2D } from '@flighthq/types/contract';
2
+ export declare function createBitmapDisplacementEffect(map: Readonly<Texture2D> | null, options?: Readonly<Omit<BitmapDisplacementEffect, 'kind' | 'map'>>): BitmapDisplacementEffect;
3
+ export declare function getBitmapDisplacementEffectPadding(effect: Readonly<BitmapDisplacementEffect>): RenderEffectPadding;
4
+ export declare function registerBitmapDisplacementEffectPaddingResolver(state: RenderState): void;
5
+ //# sourceMappingURL=bitmapDisplacementEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitmapDisplacementEffect.d.ts","sourceRoot":"","sources":["../src/bitmapDisplacementEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,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,wBAAwB,EAAE,MAAM,GAAG,KAAK,CAAC,CAAM,GACrE,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"}
@@ -0,0 +1,16 @@
1
+ import { registerRenderEffectPaddingResolver } from './renderEffectPadding';
2
+ export function createBitmapDisplacementEffect(map, options = {}) {
3
+ return { kind: 'BitmapDisplacementEffect', map, ...options };
4
+ }
5
+ export function getBitmapDisplacementEffectPadding(effect) {
6
+ const horizontal = Math.ceil(Math.abs(effect.scaleX ?? 0) * 0.5);
7
+ const vertical = Math.ceil(Math.abs(effect.scaleY ?? 0) * 0.5);
8
+ return { bottom: vertical, left: horizontal, right: horizontal, top: vertical };
9
+ }
10
+ export function registerBitmapDisplacementEffectPaddingResolver(state) {
11
+ registerRenderEffectPaddingResolver(state, 'BitmapDisplacementEffect', resolveBitmapDisplacementEffectPadding);
12
+ }
13
+ function resolveBitmapDisplacementEffectPadding(effect) {
14
+ return getBitmapDisplacementEffectPadding(effect);
15
+ }
16
+ //# sourceMappingURL=bitmapDisplacementEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitmapDisplacementEffect.js","sourceRoot":"","sources":["../src/bitmapDisplacementEffect.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,8BAA8B,CAC5C,GAA+B,EAC/B,UAAoE,EAAE;IAEtE,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;AAC/D,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,6 +1,7 @@
1
1
  export * from './autoExposureEffect';
2
2
  export * from './barrelDistortionEffect';
3
3
  export * from './bevelEffect';
4
+ export * from './bitmapDisplacementEffect';
4
5
  export * from './blendEffect';
5
6
  export * from './blendModeMath';
6
7
  export * from './bloomEffect';
@@ -51,6 +52,7 @@ export * from './pixelateEffect';
51
52
  export * from './posterizeEffect';
52
53
  export * from './radialBlurEffect';
53
54
  export * from './renderEffectDefaults';
55
+ export * from './renderEffectCaptureGeometry';
54
56
  export * from './renderEffectInputs';
55
57
  export * from './renderEffectInterpolation';
56
58
  export * from './renderEffectPadding';
@@ -1 +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"}
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,4BAA4B,CAAC;AAC3C,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,+BAA+B,CAAC;AAC9C,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"}
package/dist/contract.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './autoExposureEffect';
2
2
  export * from './barrelDistortionEffect';
3
3
  export * from './bevelEffect';
4
+ export * from './bitmapDisplacementEffect';
4
5
  export * from './blendEffect';
5
6
  export * from './blendModeMath';
6
7
  export * from './bloomEffect';
@@ -51,6 +52,7 @@ export * from './pixelateEffect';
51
52
  export * from './posterizeEffect';
52
53
  export * from './radialBlurEffect';
53
54
  export * from './renderEffectDefaults';
55
+ export * from './renderEffectCaptureGeometry';
54
56
  export * from './renderEffectInputs';
55
57
  export * from './renderEffectInterpolation';
56
58
  export * from './renderEffectPadding';
@@ -1 +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
+ {"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,4BAA4B,CAAC;AAC3C,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,+BAA+B,CAAC;AAC9C,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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { blendNonSeparableRgb, canLerpRenderEffects, computeRenderEffectPadding, computeAcesToneMap, computeAgxToneMap, computeBloomBlurRadius, computeBloomIntensity, computeBloomThreshold, computeBoxBlurPassRadius, computeBoxBlurRadius, computeColorTemperatureRgb, computeCrtMaskParams, computeDepthOfFieldCoc, computeExposureScale, computeFilmicToneMap, computeGaussianKernelWeights, computeGaussianRadiusFromSigma, computeGaussianSigmaForBlurRadius, computeGaussianSigmaFromRadius, computeGodRaysAccumulationScale, computeGodRaysLightCenter, computeGodRaysSampleWeight, computeGodRaysStepSize, computeHalftoneCellParams, computeKuwaharaGaussianWeights, computeKuwaharaSectorOffsets, computeKuwaharaSectorPixelCount, computeKuwaharaSectorSize, computeLinearDepthFromNonlinear, computeLinearSampledGaussian, computeOutlineEdgeParams, computeOutlineThicknessPx, computeReinhardExtendedToneMap, computeReinhardToneMap, computeScanlineParams, computeSeparableBlurPassCount, computeSketchEdgeParams, computeSsaoSampleKernel, computeUncharted2ToneMap, computeWhiteBalanceMultipliers, createAutoExposureEffect, createBarrelDistortionEffect, createBayerMatrix, createBevelEffect, createBlendEffect, createBloomEffect, createBlurEffect, createBokehDepthOfFieldEffect, createCameraMotionBlurEffect, createChromaticAberrationEffect, createCompositeEffect, createContactShadowsEffect, createConvolutionEffect, createCrtEffect, createCustomShaderEffect, createDirectionalBlurEffect, createDisplacementEffect, createDitherEffect, createDropShadowEffect, createFilmEmulationEffect, createFilmGrainEffect, createFxaaEffect, createGaussianKernelWeights, createGlitchEffect, createGodRaysEffect, createGradientBevelEffect, createGradientGlowEffect, createHalftoneEffect, createInnerGlowEffect, createInnerShadowEffect, createKuwaharaEffect, createLensDirtEffect, createLensDistortionEffect, createLensFlareEffect, createMedianEffect, createMotionBlurEffect, createOuterGlowEffect, createOutlineEffect, createPanniniProjectionEffect, createPixelateEffect, createPosterizeEffect, createRadialBlurEffect, createScanlinesEffect, createScreenSpaceFogEffect, createSharpenEffect, createSketchEffect, createSmaaEffect, createSsaoEffect, createSsrEffect, createTaaEffect, createTiltShiftEffect, createToneMapEffect, createVignetteEffect, createVolumetricLightEffect, createWhiteBalanceEffect, explainRenderEffectPadding, getAcesInputMatrix, getAcesOutputMatrix, getAdvancedBlendRgb, getBevelEffectPadding, getBloomEffectPadding, getBokehDepthOfFieldEffectPadding, getBlurEffectPadding, getBlurDownsampleLevel, getBlurResidualSigma, getCompositeOperatorFactors, getContactShadowsEffectPadding, getConvolutionEffectPadding, getDirectionalBlurEffectPadding, getDisplacementEffectPadding, getDropShadowEffectPadding, getGaussianKernelSize, getGradientGlowEffectPadding, getGlitchEffectPadding, getGradientBevelEffectPadding, getInnerGlowEffectPadding, getInnerShadowEffectPadding, getLinearSampledGaussianTapCount, getMedianEffectPadding, getOuterGlowEffectPadding, getOutlineEffectPadding, getRenderEffectDefaults, getRenderEffectInputs, getDirectionalRenderEffectPadding, getGaussianRenderEffectPadding, getRenderEffectKinds, getSeparableBlendChannel, getTiltShiftEffectPadding, getSobelKernelCoefficients, isNonSeparableBlendMode, lerpRenderEffect, normalizeRenderEffect, registerBlurEffectPaddingResolver, registerBevelEffectPaddingResolver, registerBloomEffectPaddingResolver, registerBokehDepthOfFieldEffectPaddingResolver, registerContactShadowsEffectPaddingResolver, registerConvolutionEffectPaddingResolver, registerDirectionalBlurEffectPaddingResolver, registerDisplacementEffectPaddingResolver, registerDropShadowEffectPaddingResolver, registerGradientBevelEffectPaddingResolver, registerGradientGlowEffectPaddingResolver, registerGlitchEffectPaddingResolver, registerInnerGlowEffectPaddingResolver, registerInnerShadowEffectPaddingResolver, registerMedianEffectPaddingResolver, registerOuterGlowEffectPaddingResolver, registerOutlineEffectPaddingResolver, registerRenderEffectPaddingResolver, registerTiltShiftEffectPaddingResolver, validateRenderEffectList, } from './contract';
1
+ export { blendNonSeparableRgb, canLerpRenderEffects, computeRenderEffectCaptureGeometry, computeRenderEffectPadding, computeAcesToneMap, computeAgxToneMap, computeBloomBlurRadius, computeBloomIntensity, computeBloomThreshold, computeBoxBlurPassRadius, computeBoxBlurRadius, computeColorTemperatureRgb, computeCrtMaskParams, computeDepthOfFieldCoc, computeExposureScale, computeFilmicToneMap, computeGaussianKernelWeights, computeGaussianRadiusFromSigma, computeGaussianSigmaForBlurRadius, computeGaussianSigmaFromRadius, computeGodRaysAccumulationScale, computeGodRaysLightCenter, computeGodRaysSampleWeight, computeGodRaysStepSize, computeHalftoneCellParams, computeKuwaharaGaussianWeights, computeKuwaharaSectorOffsets, computeKuwaharaSectorPixelCount, computeKuwaharaSectorSize, computeLinearDepthFromNonlinear, computeLinearSampledGaussian, computeOutlineEdgeParams, computeOutlineThicknessPx, computeReinhardExtendedToneMap, computeReinhardToneMap, computeScanlineParams, computeSeparableBlurPassCount, computeSketchEdgeParams, computeSsaoSampleKernel, computeUncharted2ToneMap, computeWhiteBalanceMultipliers, createAutoExposureEffect, createBarrelDistortionEffect, createBayerMatrix, createBevelEffect, createBitmapDisplacementEffect, createBlendEffect, createBloomEffect, createBlurEffect, createBokehDepthOfFieldEffect, createCameraMotionBlurEffect, createChromaticAberrationEffect, createCompositeEffect, createContactShadowsEffect, createConvolutionEffect, createCrtEffect, createCustomShaderEffect, createDirectionalBlurEffect, createDisplacementEffect, createDitherEffect, createDropShadowEffect, createFilmEmulationEffect, createFilmGrainEffect, createFxaaEffect, createGaussianKernelWeights, createGlitchEffect, createGodRaysEffect, createGradientBevelEffect, createGradientGlowEffect, createHalftoneEffect, createInnerGlowEffect, createInnerShadowEffect, createKuwaharaEffect, createLensDirtEffect, createLensDistortionEffect, createLensFlareEffect, createMedianEffect, createMotionBlurEffect, createOuterGlowEffect, createOutlineEffect, createPanniniProjectionEffect, createPixelateEffect, createPosterizeEffect, createRadialBlurEffect, createScanlinesEffect, createScreenSpaceFogEffect, createSharpenEffect, createSketchEffect, createSmaaEffect, createSsaoEffect, createSsrEffect, createTaaEffect, createTiltShiftEffect, createToneMapEffect, createVignetteEffect, createVolumetricLightEffect, createWhiteBalanceEffect, explainRenderEffectPadding, getAcesInputMatrix, getAcesOutputMatrix, getAdvancedBlendRgb, getBevelEffectPadding, getBitmapDisplacementEffectPadding, getBloomEffectPadding, getBokehDepthOfFieldEffectPadding, getBlurEffectPadding, getBlurDownsampleLevel, getBlurResidualSigma, getCompositeOperatorFactors, getContactShadowsEffectPadding, getConvolutionEffectPadding, getDirectionalBlurEffectPadding, getDisplacementEffectPadding, getDropShadowEffectPadding, getGaussianKernelSize, getGradientGlowEffectPadding, getGlitchEffectPadding, getGradientBevelEffectPadding, getInnerGlowEffectPadding, getInnerShadowEffectPadding, getLinearSampledGaussianTapCount, getMedianEffectPadding, getOuterGlowEffectPadding, getOutlineEffectPadding, getRenderEffectDefaults, getRenderEffectInputs, getDirectionalRenderEffectPadding, getGaussianRenderEffectPadding, getRenderEffectKinds, getSeparableBlendChannel, getTiltShiftEffectPadding, getSobelKernelCoefficients, isNonSeparableBlendMode, lerpRenderEffect, normalizeRenderEffect, registerBlurEffectPaddingResolver, registerBevelEffectPaddingResolver, registerBitmapDisplacementEffectPaddingResolver, registerBloomEffectPaddingResolver, registerBokehDepthOfFieldEffectPaddingResolver, registerContactShadowsEffectPaddingResolver, registerConvolutionEffectPaddingResolver, registerDirectionalBlurEffectPaddingResolver, registerDisplacementEffectPaddingResolver, registerDropShadowEffectPaddingResolver, registerGradientBevelEffectPaddingResolver, registerGradientGlowEffectPaddingResolver, registerGlitchEffectPaddingResolver, registerInnerGlowEffectPaddingResolver, registerInnerShadowEffectPaddingResolver, registerMedianEffectPaddingResolver, registerOuterGlowEffectPaddingResolver, registerOutlineEffectPaddingResolver, registerRenderEffectPaddingResolver, registerTiltShiftEffectPaddingResolver, validateRenderEffectList, } from './contract';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iCAAiC,EACjC,8BAA8B,EAC9B,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,kCAAkC,EAClC,8CAA8C,EAC9C,2CAA2C,EAC3C,wCAAwC,EACxC,4CAA4C,EAC5C,yCAAyC,EACzC,uCAAuC,EACvC,0CAA0C,EAC1C,yCAAyC,EACzC,mCAAmC,EACnC,sCAAsC,EACtC,wCAAwC,EACxC,mCAAmC,EACnC,sCAAsC,EACtC,oCAAoC,EACpC,mCAAmC,EACnC,sCAAsC,EACtC,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,kCAAkC,EAClC,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,kCAAkC,EAClC,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iCAAiC,EACjC,8BAA8B,EAC9B,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,+CAA+C,EAC/C,kCAAkC,EAClC,8CAA8C,EAC9C,2CAA2C,EAC3C,wCAAwC,EACxC,4CAA4C,EAC5C,yCAAyC,EACzC,uCAAuC,EACvC,0CAA0C,EAC1C,yCAAyC,EACzC,mCAAmC,EACnC,sCAAsC,EACtC,wCAAwC,EACxC,mCAAmC,EACnC,sCAAsC,EACtC,oCAAoC,EACpC,mCAAmC,EACnC,sCAAsC,EACtC,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { blendNonSeparableRgb, canLerpRenderEffects, computeRenderEffectPadding, computeAcesToneMap, computeAgxToneMap, computeBloomBlurRadius, computeBloomIntensity, computeBloomThreshold, computeBoxBlurPassRadius, computeBoxBlurRadius, computeColorTemperatureRgb, computeCrtMaskParams, computeDepthOfFieldCoc, computeExposureScale, computeFilmicToneMap, computeGaussianKernelWeights, computeGaussianRadiusFromSigma, computeGaussianSigmaForBlurRadius, computeGaussianSigmaFromRadius, computeGodRaysAccumulationScale, computeGodRaysLightCenter, computeGodRaysSampleWeight, computeGodRaysStepSize, computeHalftoneCellParams, computeKuwaharaGaussianWeights, computeKuwaharaSectorOffsets, computeKuwaharaSectorPixelCount, computeKuwaharaSectorSize, computeLinearDepthFromNonlinear, computeLinearSampledGaussian, computeOutlineEdgeParams, computeOutlineThicknessPx, computeReinhardExtendedToneMap, computeReinhardToneMap, computeScanlineParams, computeSeparableBlurPassCount, computeSketchEdgeParams, computeSsaoSampleKernel, computeUncharted2ToneMap, computeWhiteBalanceMultipliers, createAutoExposureEffect, createBarrelDistortionEffect, createBayerMatrix, createBevelEffect, createBlendEffect, createBloomEffect, createBlurEffect, createBokehDepthOfFieldEffect, createCameraMotionBlurEffect, createChromaticAberrationEffect, createCompositeEffect, createContactShadowsEffect, createConvolutionEffect, createCrtEffect, createCustomShaderEffect, createDirectionalBlurEffect, createDisplacementEffect, createDitherEffect, createDropShadowEffect, createFilmEmulationEffect, createFilmGrainEffect, createFxaaEffect, createGaussianKernelWeights, createGlitchEffect, createGodRaysEffect, createGradientBevelEffect, createGradientGlowEffect, createHalftoneEffect, createInnerGlowEffect, createInnerShadowEffect, createKuwaharaEffect, createLensDirtEffect, createLensDistortionEffect, createLensFlareEffect, createMedianEffect, createMotionBlurEffect, createOuterGlowEffect, createOutlineEffect, createPanniniProjectionEffect, createPixelateEffect, createPosterizeEffect, createRadialBlurEffect, createScanlinesEffect, createScreenSpaceFogEffect, createSharpenEffect, createSketchEffect, createSmaaEffect, createSsaoEffect, createSsrEffect, createTaaEffect, createTiltShiftEffect, createToneMapEffect, createVignetteEffect, createVolumetricLightEffect, createWhiteBalanceEffect, explainRenderEffectPadding, getAcesInputMatrix, getAcesOutputMatrix, getAdvancedBlendRgb, getBevelEffectPadding, getBloomEffectPadding, getBokehDepthOfFieldEffectPadding, getBlurEffectPadding, getBlurDownsampleLevel, getBlurResidualSigma, getCompositeOperatorFactors, getContactShadowsEffectPadding, getConvolutionEffectPadding, getDirectionalBlurEffectPadding, getDisplacementEffectPadding, getDropShadowEffectPadding, getGaussianKernelSize, getGradientGlowEffectPadding, getGlitchEffectPadding, getGradientBevelEffectPadding, getInnerGlowEffectPadding, getInnerShadowEffectPadding, getLinearSampledGaussianTapCount, getMedianEffectPadding, getOuterGlowEffectPadding, getOutlineEffectPadding, getRenderEffectDefaults, getRenderEffectInputs, getDirectionalRenderEffectPadding, getGaussianRenderEffectPadding, getRenderEffectKinds, getSeparableBlendChannel, getTiltShiftEffectPadding, getSobelKernelCoefficients, isNonSeparableBlendMode, lerpRenderEffect, normalizeRenderEffect, registerBlurEffectPaddingResolver, registerBevelEffectPaddingResolver, registerBloomEffectPaddingResolver, registerBokehDepthOfFieldEffectPaddingResolver, registerContactShadowsEffectPaddingResolver, registerConvolutionEffectPaddingResolver, registerDirectionalBlurEffectPaddingResolver, registerDisplacementEffectPaddingResolver, registerDropShadowEffectPaddingResolver, registerGradientBevelEffectPaddingResolver, registerGradientGlowEffectPaddingResolver, registerGlitchEffectPaddingResolver, registerInnerGlowEffectPaddingResolver, registerInnerShadowEffectPaddingResolver, registerMedianEffectPaddingResolver, registerOuterGlowEffectPaddingResolver, registerOutlineEffectPaddingResolver, registerRenderEffectPaddingResolver, registerTiltShiftEffectPaddingResolver, validateRenderEffectList, } from './contract';
1
+ export { blendNonSeparableRgb, canLerpRenderEffects, computeRenderEffectCaptureGeometry, computeRenderEffectPadding, computeAcesToneMap, computeAgxToneMap, computeBloomBlurRadius, computeBloomIntensity, computeBloomThreshold, computeBoxBlurPassRadius, computeBoxBlurRadius, computeColorTemperatureRgb, computeCrtMaskParams, computeDepthOfFieldCoc, computeExposureScale, computeFilmicToneMap, computeGaussianKernelWeights, computeGaussianRadiusFromSigma, computeGaussianSigmaForBlurRadius, computeGaussianSigmaFromRadius, computeGodRaysAccumulationScale, computeGodRaysLightCenter, computeGodRaysSampleWeight, computeGodRaysStepSize, computeHalftoneCellParams, computeKuwaharaGaussianWeights, computeKuwaharaSectorOffsets, computeKuwaharaSectorPixelCount, computeKuwaharaSectorSize, computeLinearDepthFromNonlinear, computeLinearSampledGaussian, computeOutlineEdgeParams, computeOutlineThicknessPx, computeReinhardExtendedToneMap, computeReinhardToneMap, computeScanlineParams, computeSeparableBlurPassCount, computeSketchEdgeParams, computeSsaoSampleKernel, computeUncharted2ToneMap, computeWhiteBalanceMultipliers, createAutoExposureEffect, createBarrelDistortionEffect, createBayerMatrix, createBevelEffect, createBitmapDisplacementEffect, createBlendEffect, createBloomEffect, createBlurEffect, createBokehDepthOfFieldEffect, createCameraMotionBlurEffect, createChromaticAberrationEffect, createCompositeEffect, createContactShadowsEffect, createConvolutionEffect, createCrtEffect, createCustomShaderEffect, createDirectionalBlurEffect, createDisplacementEffect, createDitherEffect, createDropShadowEffect, createFilmEmulationEffect, createFilmGrainEffect, createFxaaEffect, createGaussianKernelWeights, createGlitchEffect, createGodRaysEffect, createGradientBevelEffect, createGradientGlowEffect, createHalftoneEffect, createInnerGlowEffect, createInnerShadowEffect, createKuwaharaEffect, createLensDirtEffect, createLensDistortionEffect, createLensFlareEffect, createMedianEffect, createMotionBlurEffect, createOuterGlowEffect, createOutlineEffect, createPanniniProjectionEffect, createPixelateEffect, createPosterizeEffect, createRadialBlurEffect, createScanlinesEffect, createScreenSpaceFogEffect, createSharpenEffect, createSketchEffect, createSmaaEffect, createSsaoEffect, createSsrEffect, createTaaEffect, createTiltShiftEffect, createToneMapEffect, createVignetteEffect, createVolumetricLightEffect, createWhiteBalanceEffect, explainRenderEffectPadding, getAcesInputMatrix, getAcesOutputMatrix, getAdvancedBlendRgb, getBevelEffectPadding, getBitmapDisplacementEffectPadding, getBloomEffectPadding, getBokehDepthOfFieldEffectPadding, getBlurEffectPadding, getBlurDownsampleLevel, getBlurResidualSigma, getCompositeOperatorFactors, getContactShadowsEffectPadding, getConvolutionEffectPadding, getDirectionalBlurEffectPadding, getDisplacementEffectPadding, getDropShadowEffectPadding, getGaussianKernelSize, getGradientGlowEffectPadding, getGlitchEffectPadding, getGradientBevelEffectPadding, getInnerGlowEffectPadding, getInnerShadowEffectPadding, getLinearSampledGaussianTapCount, getMedianEffectPadding, getOuterGlowEffectPadding, getOutlineEffectPadding, getRenderEffectDefaults, getRenderEffectInputs, getDirectionalRenderEffectPadding, getGaussianRenderEffectPadding, getRenderEffectKinds, getSeparableBlendChannel, getTiltShiftEffectPadding, getSobelKernelCoefficients, isNonSeparableBlendMode, lerpRenderEffect, normalizeRenderEffect, registerBlurEffectPaddingResolver, registerBevelEffectPaddingResolver, registerBitmapDisplacementEffectPaddingResolver, registerBloomEffectPaddingResolver, registerBokehDepthOfFieldEffectPaddingResolver, registerContactShadowsEffectPaddingResolver, registerConvolutionEffectPaddingResolver, registerDirectionalBlurEffectPaddingResolver, registerDisplacementEffectPaddingResolver, registerDropShadowEffectPaddingResolver, registerGradientBevelEffectPaddingResolver, registerGradientGlowEffectPaddingResolver, registerGlitchEffectPaddingResolver, registerInnerGlowEffectPaddingResolver, registerInnerShadowEffectPaddingResolver, registerMedianEffectPaddingResolver, registerOuterGlowEffectPaddingResolver, registerOutlineEffectPaddingResolver, registerRenderEffectPaddingResolver, registerTiltShiftEffectPaddingResolver, validateRenderEffectList, } from './contract';
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iCAAiC,EACjC,8BAA8B,EAC9B,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,kCAAkC,EAClC,8CAA8C,EAC9C,2CAA2C,EAC3C,wCAAwC,EACxC,4CAA4C,EAC5C,yCAAyC,EACzC,uCAAuC,EACvC,0CAA0C,EAC1C,yCAAyC,EACzC,mCAAmC,EACnC,sCAAsC,EACtC,wCAAwC,EACxC,mCAAmC,EACnC,sCAAsC,EACtC,oCAAoC,EACpC,mCAAmC,EACnC,sCAAsC,EACtC,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { NodeAny, RenderEffect, RenderEffectCaptureGeometry, RenderState } from '@flighthq/types/contract';
2
+ /**
3
+ * Writes the substrate-independent geometry needed to capture a 2D subtree for an effect chain.
4
+ * Returns false without touching out when source is not a Node2D or its root-local bounds are empty.
5
+ */
6
+ export declare function computeRenderEffectCaptureGeometry(out: RenderEffectCaptureGeometry, state: RenderState, source: NodeAny, effects: Readonly<RenderEffect> | ReadonlyArray<Readonly<RenderEffect>>): boolean;
7
+ //# sourceMappingURL=renderEffectCaptureGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderEffectCaptureGeometry.d.ts","sourceRoot":"","sources":["../src/renderEffectCaptureGeometry.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,OAAO,EACP,YAAY,EACZ,2BAA2B,EAE3B,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAKlC;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,2BAA2B,EAChC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GACtE,OAAO,CAgBT"}
@@ -0,0 +1,36 @@
1
+ import { copyMatrix, copyRectangle, createMatrix, createRectangle, isEmptyRectangle, } from '@flighthq/geometry/contract';
2
+ import { computeNodeRootLocalBoundsRectangle, getNodeRuntime } from '@flighthq/node/contract';
3
+ import { computeRenderTargetSize, computeScene2DRenderTargetTransform } from '@flighthq/render/contract';
4
+ import { Node2DTraitsKey } from '@flighthq/types/contract';
5
+ import { computeRenderEffectPadding } from './renderEffectPadding';
6
+ /**
7
+ * Writes the substrate-independent geometry needed to capture a 2D subtree for an effect chain.
8
+ * Returns false without touching out when source is not a Node2D or its root-local bounds are empty.
9
+ */
10
+ export function computeRenderEffectCaptureGeometry(out, state, source, effects) {
11
+ if (getNodeRuntime(source).traits !== Node2DTraitsKey)
12
+ return false;
13
+ computeNodeRootLocalBoundsRectangle(_bounds, source);
14
+ if (isEmptyRectangle(_bounds))
15
+ return false;
16
+ computeRenderEffectPadding(state, effects, _padding);
17
+ computeRenderTargetSize(_targetSize, _bounds, _padding);
18
+ computeScene2DRenderTargetTransform(_captureTransform, source, _bounds, _padding.left, _padding.top);
19
+ copyRectangle(out.bounds, _bounds);
20
+ copyPadding(out.padding, _padding);
21
+ copyMatrix(out.captureTransform, _captureTransform);
22
+ out.targetHeight = _targetSize.height;
23
+ out.targetWidth = _targetSize.width;
24
+ return true;
25
+ }
26
+ function copyPadding(out, source) {
27
+ out.bottom = source.bottom;
28
+ out.left = source.left;
29
+ out.right = source.right;
30
+ out.top = source.top;
31
+ }
32
+ const _bounds = createRectangle();
33
+ const _captureTransform = createMatrix();
34
+ const _padding = { bottom: 0, left: 0, right: 0, top: 0 };
35
+ const _targetSize = { height: 0, width: 0 };
36
+ //# sourceMappingURL=renderEffectCaptureGeometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderEffectCaptureGeometry.js","sourceRoot":"","sources":["../src/renderEffectCaptureGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mCAAmC,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAC;AASzG,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAChD,GAAgC,EAChC,KAAkB,EAClB,MAAe,EACf,OAAuE;IAEvE,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,eAAe;QAAE,OAAO,KAAK,CAAC;IAEpE,mCAAmC,CAAC,OAAO,EAAE,MAAgB,CAAC,CAAC;IAC/D,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAE5C,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrD,uBAAuB,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,mCAAmC,CAAC,iBAAiB,EAAE,MAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE/G,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnC,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IACpD,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,GAAwB,EAAE,MAAqC;IAClF,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;AAClC,MAAM,iBAAiB,GAAG,YAAY,EAAE,CAAC;AACzC,MAAM,QAAQ,GAAwB,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAC/E,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC"}
@@ -56,6 +56,7 @@ const DEFAULTS = {
56
56
  sourceMode: 'draw',
57
57
  strength: 1,
58
58
  },
59
+ BitmapDisplacementEffect: { componentX: 0, componentY: 1, edgeMode: 'wrap', scaleX: 0, scaleY: 0 },
59
60
  BlendEffect: { opacity: 1 },
60
61
  BloomEffect: { brightness: 1, mipCount: 0, passes: 1, radius: 8, threshold: 0.8, thresholdKnee: 0.5 },
61
62
  BlurEffect: { blurX: 4, blurY: 4 },
@@ -1 +1 @@
1
- {"version":3,"file":"renderEffectDefaults.js","sourceRoot":"","sources":["../src/renderEffectDefaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderEffectDefaults.js","sourceRoot":"","sources":["../src/renderEffectDefaults.ts"],"names":[],"mappings":"AAEA,4FAA4F;AAC5F,iGAAiG;AACjG,uFAAuF;AACvF,+FAA+F;AAC/F,sEAAsE;AAEtE,mGAAmG;AACnG,qGAAqG;AACrG,qGAAqG;AACrG,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,kGAAkG;AAClG,kGAAkG;AAClG,oGAAoG;AACpG,qGAAqG;AACrG,2CAA2C;AAC3C,EAAE;AACF,+FAA+F;AAC/F,MAAM,UAAU,qBAAqB,CAAC,MAA8B,EAAE,GAAiB;IACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,gDAAgD;IAChD,MAAM,SAAS,GAAG,MAAiC,CAAC;IACpD,MAAM,MAAM,GAAG,GAAyC,CAAC;IACzD,2EAA2E;IAC3E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,4EAA4E;IAC5E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wFAAwF;AACxF,MAAM,QAAQ,GAA4C;IACxD,kBAAkB,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE;IACpG,sBAAsB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACnD,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,OAAO;QAClB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,CAAC;KACZ;IACD,wBAAwB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IAClG,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IAC3B,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;IACrG,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;IAClC,uBAAuB,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9E,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IACtC,yBAAyB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;IAC7E,oBAAoB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;IACnF,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAChE,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE;IACnF,qBAAqB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;IAC/C,kBAAkB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;IACnD,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAC5B,gBAAgB,EAAE;QAChB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,CAAC;KACZ;IACD,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE;IACpG,eAAe,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IACrD,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACrD,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;IACvE,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACnH,mBAAmB,EAAE;QACnB,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,OAAO;QAClB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,CAAC;KACZ;IACD,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IACvF,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,kDAAkD;IAC3F,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IACjH,iBAAiB,EAAE;QACjB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,CAAC;KACZ;IACD,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;IAC7B,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;IACjD,oBAAoB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACjD,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;IACvE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;IAC3B,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;IACjF,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IACjH,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;IAClE,uBAAuB,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;IACtD,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;IAC3B,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;IAC9B,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC3E,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;IAChD,oBAAoB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3D,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;IAC9B,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC7B,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;IAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;IACnE,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;IACzF,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IACrD,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;IAChD,cAAc,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC/E,qBAAqB,EAAE;QACrB,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,GAAG;KAChB;IACD,kBAAkB,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;CAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderEffectInputs.d.ts","sourceRoot":"","sources":["../src/renderEffectInputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKhF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,iBAAiB,EAAE,CAElG;AAID,wBAAgB,oBAAoB,IAAI,SAAS,MAAM,EAAE,CAExD;AAwBD,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAqDhD,CAAC"}
1
+ {"version":3,"file":"renderEffectInputs.d.ts","sourceRoot":"","sources":["../src/renderEffectInputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKhF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,iBAAiB,EAAE,CAElG;AAID,wBAAgB,oBAAoB,IAAI,SAAS,MAAM,EAAE,CAExD;AAwBD,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAsDhD,CAAC"}
@@ -34,6 +34,7 @@ export const RENDER_EFFECT_KINDS = [
34
34
  'AutoExposureEffect',
35
35
  'BarrelDistortionEffect',
36
36
  'BevelEffect',
37
+ 'BitmapDisplacementEffect',
37
38
  'BlendEffect',
38
39
  'BloomEffect',
39
40
  'BlurEffect',
@@ -1 +1 @@
1
- {"version":3,"file":"renderEffectInputs.js","sourceRoot":"","sources":["../src/renderEffectInputs.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,wFAAwF;AACxF,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,MAA8B;IAClE,OAAO,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,4FAA4F;AAC5F,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB;IAClC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,+FAA+F;AAC/F,+FAA+F;AAC/F,mGAAmG;AACnG,mFAAmF;AACnF,MAAM,oBAAoB,GAA2D;IACnF,kBAAkB,EAAE,CAAC,KAAK,CAAC;IAC3B,WAAW,EAAE,CAAC,KAAK,CAAC;IACpB,uBAAuB,EAAE,CAAC,OAAO,CAAC;IAClC,sBAAsB,EAAE,CAAC,QAAQ,CAAC;IAClC,oBAAoB,EAAE,CAAC,OAAO,CAAC;IAC/B,gBAAgB,EAAE,CAAC,QAAQ,CAAC;IAC5B,oBAAoB,EAAE,CAAC,OAAO,CAAC;IAC/B,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,OAAO,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,CAAC;IACtB,qBAAqB,EAAE,CAAC,OAAO,CAAC;CACjC,CAAC;AAEF,8FAA8F;AAC9F,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,oBAAoB;IACpB,wBAAwB;IACxB,aAAa;IACb,aAAa;IACb,aAAa;IACb,YAAY;IACZ,yBAAyB;IACzB,wBAAwB;IACxB,2BAA2B;IAC3B,sBAAsB;IACtB,mBAAmB;IACnB,WAAW;IACX,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;IACtB,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,yBAAyB;IACzB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"renderEffectInputs.js","sourceRoot":"","sources":["../src/renderEffectInputs.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,wFAAwF;AACxF,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,MAA8B;IAClE,OAAO,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,4FAA4F;AAC5F,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB;IAClC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,+FAA+F;AAC/F,+FAA+F;AAC/F,mGAAmG;AACnG,mFAAmF;AACnF,MAAM,oBAAoB,GAA2D;IACnF,kBAAkB,EAAE,CAAC,KAAK,CAAC;IAC3B,WAAW,EAAE,CAAC,KAAK,CAAC;IACpB,uBAAuB,EAAE,CAAC,OAAO,CAAC;IAClC,sBAAsB,EAAE,CAAC,QAAQ,CAAC;IAClC,oBAAoB,EAAE,CAAC,OAAO,CAAC;IAC/B,gBAAgB,EAAE,CAAC,QAAQ,CAAC;IAC5B,oBAAoB,EAAE,CAAC,OAAO,CAAC;IAC/B,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,OAAO,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,CAAC;IACtB,qBAAqB,EAAE,CAAC,OAAO,CAAC;CACjC,CAAC;AAEF,8FAA8F;AAC9F,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,oBAAoB;IACpB,wBAAwB;IACxB,aAAa;IACb,0BAA0B;IAC1B,aAAa;IACb,aAAa;IACb,YAAY;IACZ,yBAAyB;IACzB,wBAAwB;IACxB,2BAA2B;IAC3B,sBAAsB;IACtB,mBAAmB;IACnB,WAAW;IACX,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;IACtB,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,yBAAyB;IACzB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Kind, RenderEffect, RenderEffectPadding, RenderEffectPaddingExplanation, RenderEffectPaddingResolver, RenderState } from '@flighthq/types/contract';
2
- export declare function computeRenderEffectPadding(state: RenderState, effects: Readonly<RenderEffect> | ReadonlyArray<Readonly<RenderEffect>>): RenderEffectPadding;
2
+ export declare function computeRenderEffectPadding(state: RenderState, effects: Readonly<RenderEffect> | ReadonlyArray<Readonly<RenderEffect>>, out?: RenderEffectPadding): RenderEffectPadding;
3
3
  export declare function explainRenderEffectPadding(state: RenderState, effects: Readonly<RenderEffect> | ReadonlyArray<Readonly<RenderEffect>>): RenderEffectPaddingExplanation;
4
4
  export declare function getDirectionalRenderEffectPadding(blurX: number, blurY: number, offsetX: number, offsetY: number): RenderEffectPadding;
5
5
  export declare function getGaussianRenderEffectPadding(blurX: number, blurY: number): RenderEffectPadding;
@@ -1 +1 @@
1
- {"version":3,"file":"renderEffectPadding.d.ts","sourceRoot":"","sources":["../src/renderEffectPadding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,IAAI,EACJ,YAAY,EACZ,mBAAmB,EACnB,8BAA8B,EAC9B,2BAA2B,EAC3B,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GACtE,mBAAmB,CAOrB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GACtE,8BAA8B,CAyBhC;AAGD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,mBAAmB,CAUrB;AAGD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAIhG;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,2BAA2B,GAAG,IAAI,GAC3C,IAAI,CAYN"}
1
+ {"version":3,"file":"renderEffectPadding.d.ts","sourceRoot":"","sources":["../src/renderEffectPadding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,IAAI,EACJ,YAAY,EACZ,mBAAmB,EACnB,8BAA8B,EAC9B,2BAA2B,EAC3B,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EACvE,GAAG,CAAC,EAAE,mBAAmB,GACxB,mBAAmB,CAWrB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GACtE,8BAA8B,CAShC;AAGD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,mBAAmB,CAUrB;AAGD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAIhG;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,2BAA2B,GAAG,IAAI,GAC3C,IAAI,CAYN"}
@@ -4,7 +4,11 @@ import { RegistryEntryState, RenderRegistry } from '@flighthq/types/contract';
4
4
  // Computes the footprint of one effect or a sequential effect chain. Spatial effects add their
5
5
  // directional footprints per side; pointwise effects register the zero resolver. An unregistered kind
6
6
  // contributes the silent zero sentinel and emits only through the opt-in shared registry-miss signal.
7
- export function computeRenderEffectPadding(state, effects) {
7
+ export function computeRenderEffectPadding(state, effects, out) {
8
+ if (out !== undefined) {
9
+ writeRenderEffectPadding(out, state, effects, null, getRenderStateRuntime(state).registryMiss);
10
+ return out;
11
+ }
8
12
  const list = Array.isArray(effects) ? effects : [effects];
9
13
  const explanation = explainRenderEffectPadding(state, list);
10
14
  const emitMiss = getRenderStateRuntime(state).registryMiss;
@@ -14,29 +18,12 @@ export function computeRenderEffectPadding(state, effects) {
14
18
  return explanation.padding;
15
19
  }
16
20
  export function explainRenderEffectPadding(state, effects) {
17
- const list = Array.isArray(effects) ? effects : [effects];
18
- const entries = getRenderStateRuntime(state).registries.effectPaddingResolvers?.entries;
19
- let bottom = 0;
20
- let left = 0;
21
- let right = 0;
22
- let top = 0;
23
21
  const missingKinds = [];
24
- for (const effect of list) {
25
- const entry = entries?.get(effect.kind);
26
- if (entry?.state !== RegistryEntryState.Bound) {
27
- if (!missingKinds.includes(effect.kind))
28
- missingKinds.push(effect.kind);
29
- continue;
30
- }
31
- const padding = entry.value(effect);
32
- bottom += sanitizePadding(padding.bottom);
33
- left += sanitizePadding(padding.left);
34
- right += sanitizePadding(padding.right);
35
- top += sanitizePadding(padding.top);
36
- }
22
+ const padding = { bottom: 0, left: 0, right: 0, top: 0 };
23
+ writeRenderEffectPadding(padding, state, effects, missingKinds, null);
37
24
  return {
38
25
  missingKinds,
39
- padding: { bottom, left, right, top },
26
+ padding,
40
27
  status: missingKinds.length === 0 ? 'complete' : 'missing-resolver',
41
28
  };
42
29
  }
@@ -68,6 +55,44 @@ export function registerRenderEffectPaddingResolver(state, kind, resolver) {
68
55
  }
69
56
  runtime.registries.effectPaddingResolvers = withRegistryTableEntry(table ?? createKeyedTable('RenderEffectPaddingResolver', 'Zero'), kind, resolver);
70
57
  }
58
+ function writeRenderEffectPadding(out, state, effects, missingKinds, emitMiss) {
59
+ const list = Array.isArray(effects) ? effects : null;
60
+ const length = list === null ? 1 : list.length;
61
+ const entries = getRenderStateRuntime(state).registries.effectPaddingResolvers?.entries;
62
+ let bottom = 0;
63
+ let left = 0;
64
+ let right = 0;
65
+ let top = 0;
66
+ for (let index = 0; index < length; index++) {
67
+ const effect = (list === null ? effects : list[index]);
68
+ const entry = entries?.get(effect.kind);
69
+ if (entry?.state !== RegistryEntryState.Bound) {
70
+ if (!hasEarlierKind(list, index, effect.kind)) {
71
+ missingKinds?.push(effect.kind);
72
+ emitMiss?.(RenderRegistry.EffectPaddingResolver, effect.kind);
73
+ }
74
+ continue;
75
+ }
76
+ const padding = entry.value(effect);
77
+ bottom += sanitizePadding(padding.bottom);
78
+ left += sanitizePadding(padding.left);
79
+ right += sanitizePadding(padding.right);
80
+ top += sanitizePadding(padding.top);
81
+ }
82
+ out.bottom = bottom;
83
+ out.left = left;
84
+ out.right = right;
85
+ out.top = top;
86
+ }
87
+ function hasEarlierKind(effects, end, kind) {
88
+ if (effects === null)
89
+ return false;
90
+ for (let index = 0; index < end; index++) {
91
+ if (effects[index].kind === kind)
92
+ return true;
93
+ }
94
+ return false;
95
+ }
71
96
  function sanitizePadding(value) {
72
97
  return Number.isFinite(value) ? Math.max(0, value) : 0;
73
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderEffectPadding.js","sourceRoot":"","sources":["../src/renderEffectPadding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderEffectPadding.js","sourceRoot":"","sources":["../src/renderEffectPadding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/effects",
3
- "version": "0.5.1-next.685.f72fc7f",
3
+ "version": "0.5.1-next.704.19c91ec",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,10 +38,12 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/registry": "0.5.1-next.685.f72fc7f",
42
- "@flighthq/render": "0.5.1-next.685.f72fc7f",
43
- "@flighthq/signals": "0.5.1-next.685.f72fc7f",
44
- "@flighthq/types": "0.5.1-next.685.f72fc7f"
41
+ "@flighthq/geometry": "0.5.1-next.704.19c91ec",
42
+ "@flighthq/node": "0.5.1-next.704.19c91ec",
43
+ "@flighthq/registry": "0.5.1-next.704.19c91ec",
44
+ "@flighthq/render": "0.5.1-next.704.19c91ec",
45
+ "@flighthq/signals": "0.5.1-next.704.19c91ec",
46
+ "@flighthq/types": "0.5.1-next.704.19c91ec"
45
47
  },
46
48
  "devDependencies": {
47
49
  "typescript": "^5.3.0"
@@ -0,0 +1,86 @@
1
+ import { createRenderState, getRenderStateRuntime } from '@flighthq/render/contract';
2
+ import type { Texture2D } from '@flighthq/types/contract';
3
+ import { ImageChannel } from '@flighthq/types/contract';
4
+
5
+ import {
6
+ createBitmapDisplacementEffect,
7
+ getBitmapDisplacementEffectPadding,
8
+ registerBitmapDisplacementEffectPaddingResolver,
9
+ } from './bitmapDisplacementEffect';
10
+ import { createDisplacementEffect } from './displacementEffect';
11
+ import { getRenderEffectDefaults } from './renderEffectDefaults';
12
+ import { getRenderEffectKinds } from './renderEffectInputs';
13
+
14
+ const map = {} as Texture2D;
15
+
16
+ describe('BitmapDisplacementEffect defaults', () => {
17
+ it('uses red/green channels, zero scale, and wrapping edges', () => {
18
+ expect(getRenderEffectDefaults('BitmapDisplacementEffect')).toEqual({
19
+ componentX: ImageChannel.Red,
20
+ componentY: ImageChannel.Green,
21
+ edgeMode: 'wrap',
22
+ scaleX: 0,
23
+ scaleY: 0,
24
+ });
25
+ });
26
+
27
+ it('participates in the known effect-kind catalog', () => {
28
+ expect(getRenderEffectKinds()).toContain('BitmapDisplacementEffect');
29
+ });
30
+ });
31
+
32
+ describe('createBitmapDisplacementEffect', () => {
33
+ it('keeps bitmap-map displacement distinct from procedural displacement', () => {
34
+ expect(createBitmapDisplacementEffect(map)).toEqual({ kind: 'BitmapDisplacementEffect', map });
35
+ expect(createBitmapDisplacementEffect(map).kind).not.toBe(createDisplacementEffect().kind);
36
+ });
37
+
38
+ it('carries explicit channel, scale, and edge options', () => {
39
+ expect(
40
+ createBitmapDisplacementEffect(map, {
41
+ componentX: ImageChannel.Alpha,
42
+ componentY: ImageChannel.Blue,
43
+ edgeMode: 'clamp',
44
+ scaleX: -12,
45
+ scaleY: 7,
46
+ }),
47
+ ).toEqual({
48
+ componentX: ImageChannel.Alpha,
49
+ componentY: ImageChannel.Blue,
50
+ edgeMode: 'clamp',
51
+ kind: 'BitmapDisplacementEffect',
52
+ map,
53
+ scaleX: -12,
54
+ scaleY: 7,
55
+ });
56
+ });
57
+
58
+ it('accepts a null map as the loading sentinel', () => {
59
+ expect(createBitmapDisplacementEffect(null).map).toBeNull();
60
+ });
61
+ });
62
+
63
+ describe('getBitmapDisplacementEffectPadding', () => {
64
+ it('uses half the absolute signed scale on each axis', () => {
65
+ expect(
66
+ getBitmapDisplacementEffectPadding(
67
+ createBitmapDisplacementEffect(map, {
68
+ scaleX: -9,
69
+ scaleY: 6.25,
70
+ }),
71
+ ),
72
+ ).toEqual({ bottom: 4, left: 5, right: 5, top: 4 });
73
+ });
74
+ });
75
+
76
+ describe('registerBitmapDisplacementEffectPaddingResolver', () => {
77
+ it('registers the footprint on only the supplied state', () => {
78
+ const state = createRenderState();
79
+ const other = createRenderState();
80
+ registerBitmapDisplacementEffectPaddingResolver(state);
81
+ expect(
82
+ getRenderStateRuntime(state).registries.effectPaddingResolvers?.entries.has('BitmapDisplacementEffect'),
83
+ ).toBe(true);
84
+ expect(getRenderStateRuntime(other).registries.effectPaddingResolvers).toBeUndefined();
85
+ });
86
+ });
@@ -0,0 +1,184 @@
1
+ import { createMatrix, createRectangle, setRectangle } from '@flighthq/geometry/contract';
2
+ import {
3
+ addNodeChild,
4
+ createNode,
5
+ getNodeRuntime,
6
+ initBoundsRectangleRuntimeTrait,
7
+ initBoundsRectangleTrait,
8
+ initTransform2DRuntimeTrait,
9
+ initTransform2DTrait,
10
+ invalidateNodeLocalBounds,
11
+ } from '@flighthq/node/contract';
12
+ import { computeNodeRootLocalBoundsRectangle } from '@flighthq/node/contract';
13
+ import {
14
+ computeRenderTargetSize,
15
+ computeScene2DRenderTargetTransform,
16
+ createRenderState,
17
+ } from '@flighthq/render/contract';
18
+ import type {
19
+ HasBoundsRectangleRuntime,
20
+ HasTransform2DRuntime,
21
+ Node2D,
22
+ Node2DRuntime,
23
+ NodeAny,
24
+ MatrixLike,
25
+ Rectangle,
26
+ RenderEffect,
27
+ RenderEffectCaptureGeometry,
28
+ } from '@flighthq/types/contract';
29
+ import { Node2DTraitsKey } from '@flighthq/types/contract';
30
+
31
+ import { computeRenderEffectCaptureGeometry } from './renderEffectCaptureGeometry';
32
+ import { computeRenderEffectPadding, registerRenderEffectPaddingResolver } from './renderEffectPadding';
33
+
34
+ function createCaptureNode(bounds: Readonly<Rectangle>): Node2D {
35
+ const node = createNode('CaptureGeometryTest') as Node2D;
36
+ const runtime = getNodeRuntime(node) as Node2DRuntime;
37
+ runtime.traits = Node2DTraitsKey;
38
+ initBoundsRectangleTrait(node);
39
+ initBoundsRectangleRuntimeTrait(runtime as HasBoundsRectangleRuntime, {
40
+ computeLocalBoundsRectangle(out) {
41
+ setRectangle(out, bounds.x, bounds.y, bounds.width, bounds.height);
42
+ },
43
+ });
44
+ initTransform2DTrait(node);
45
+ initTransform2DRuntimeTrait(runtime as HasTransform2DRuntime);
46
+ invalidateNodeLocalBounds(node);
47
+ return node;
48
+ }
49
+
50
+ function createOut(): RenderEffectCaptureGeometry {
51
+ return {
52
+ bounds: createRectangle(),
53
+ captureTransform: createMatrix(),
54
+ padding: { bottom: 0, left: 0, right: 0, top: 0 },
55
+ targetHeight: 0,
56
+ targetWidth: 0,
57
+ };
58
+ }
59
+
60
+ function captureOutValues(out: Readonly<RenderEffectCaptureGeometry>): number[] {
61
+ return [
62
+ out.bounds.x,
63
+ out.bounds.y,
64
+ out.bounds.width,
65
+ out.bounds.height,
66
+ out.padding.bottom,
67
+ out.padding.left,
68
+ out.padding.right,
69
+ out.padding.top,
70
+ out.captureTransform.a,
71
+ out.captureTransform.b,
72
+ out.captureTransform.c,
73
+ out.captureTransform.d,
74
+ out.captureTransform.tx,
75
+ out.captureTransform.ty,
76
+ out.targetWidth,
77
+ out.targetHeight,
78
+ ];
79
+ }
80
+
81
+ function expectMatrixToBeCloseTo(actual: Readonly<MatrixLike>, expected: Readonly<MatrixLike>): void {
82
+ expect(actual.a).toBeCloseTo(expected.a);
83
+ expect(actual.b).toBeCloseTo(expected.b);
84
+ expect(actual.c).toBeCloseTo(expected.c);
85
+ expect(actual.d).toBeCloseTo(expected.d);
86
+ expect(actual.tx).toBeCloseTo(expected.tx);
87
+ expect(actual.ty).toBeCloseTo(expected.ty);
88
+ }
89
+
90
+ describe('computeRenderEffectCaptureGeometry', () => {
91
+ it('returns false and preserves every output field for empty root-local bounds', () => {
92
+ const state = createRenderState();
93
+ const source = createCaptureNode(createRectangle(3, 4, 0, 9));
94
+ const out = createOut();
95
+ setRectangle(out.bounds, 10, 20, 30, 40);
96
+ Object.assign(out.padding, { bottom: 1, left: 2, right: 3, top: 4 });
97
+ Object.assign(out.captureTransform, { a: 5, b: 6, c: 7, d: 8, tx: 9, ty: 10 });
98
+ out.targetWidth = 11;
99
+ out.targetHeight = 12;
100
+ const before = captureOutValues(out);
101
+
102
+ expect(computeRenderEffectCaptureGeometry(out, state, source, [])).toBe(false);
103
+ expect(captureOutValues(out)).toEqual(before);
104
+ });
105
+
106
+ it('writes asymmetric padding, target dimensions, and the matching Scene2D capture transform', () => {
107
+ const state = createRenderState();
108
+ const effect = { kind: 'acme.Asymmetric' } as RenderEffect;
109
+ registerRenderEffectPaddingResolver(state, effect.kind, () => ({ bottom: 7, left: 2, right: 5, top: 3 }));
110
+ const source = createCaptureNode(createRectangle(-10, 6, 20.4, 11.2));
111
+ source.x = 50;
112
+ source.y = -30;
113
+ source.rotation = 27;
114
+ const out = createOut();
115
+
116
+ expect(computeRenderEffectCaptureGeometry(out, state, source, effect)).toBe(true);
117
+ expect(out.bounds).toMatchObject({ height: 11.2, width: 20.4, x: -10, y: 6 });
118
+ expect(out.padding).toEqual({ bottom: 7, left: 2, right: 5, top: 3 });
119
+ expect(out.targetWidth).toBe(28);
120
+ expect(out.targetHeight).toBe(22);
121
+
122
+ const expectedTransform = createMatrix();
123
+ computeScene2DRenderTargetTransform(expectedTransform, source, out.bounds, 2, 3);
124
+ expectMatrixToBeCloseTo(out.captureTransform, expectedTransform);
125
+ });
126
+
127
+ it('matches the existing bounds, padding, target-size, and capture-transform primitives', () => {
128
+ const state = createRenderState();
129
+ const first = { kind: 'acme.First' } as RenderEffect;
130
+ const second = { kind: 'acme.Second' } as RenderEffect;
131
+ registerRenderEffectPaddingResolver(state, first.kind, () => ({ bottom: 1, left: 2, right: 3, top: 4 }));
132
+ registerRenderEffectPaddingResolver(state, second.kind, () => ({ bottom: 5, left: 6, right: 7, top: 8 }));
133
+ const source = createCaptureNode(createRectangle(-2, -3, 10.25, 20.75));
134
+ const child = createCaptureNode(createRectangle(0, 0, 4, 6));
135
+ child.x = 30;
136
+ child.y = 12;
137
+ addNodeChild(source, child);
138
+ const effects = [first, second];
139
+ const out = createOut();
140
+
141
+ expect(computeRenderEffectCaptureGeometry(out, state, source, effects)).toBe(true);
142
+
143
+ const bounds = createRectangle();
144
+ computeNodeRootLocalBoundsRectangle(bounds, source);
145
+ const padding = computeRenderEffectPadding(state, effects);
146
+ const targetSize = { height: 0, width: 0 };
147
+ computeRenderTargetSize(targetSize, bounds, padding);
148
+ const captureTransform = createMatrix();
149
+ computeScene2DRenderTargetTransform(captureTransform, source, bounds, padding.left, padding.top);
150
+ expect(out.bounds).toMatchObject(bounds);
151
+ expect(out.padding).toEqual(padding);
152
+ expectMatrixToBeCloseTo(out.captureTransform, captureTransform);
153
+ expect(out.targetHeight).toBe(targetSize.height);
154
+ expect(out.targetWidth).toBe(targetSize.width);
155
+ });
156
+
157
+ it('reuses the caller-owned bounds, padding, and transform objects across writes', () => {
158
+ const state = createRenderState();
159
+ const source = createCaptureNode(createRectangle(1, 2, 3, 4));
160
+ const out = createOut();
161
+ const bounds = out.bounds;
162
+ const padding = out.padding;
163
+ const captureTransform = out.captureTransform;
164
+
165
+ expect(computeRenderEffectCaptureGeometry(out, state, source, [])).toBe(true);
166
+ source.x = 17;
167
+ expect(computeRenderEffectCaptureGeometry(out, state, source, [])).toBe(true);
168
+ expect(out.bounds).toBe(bounds);
169
+ expect(out.padding).toBe(padding);
170
+ expect(out.captureTransform).toBe(captureTransform);
171
+ });
172
+
173
+ it('accepts a Node2D through NodeAny and refuses a non-2D node without mutation', () => {
174
+ const state = createRenderState();
175
+ const source: NodeAny = createCaptureNode(createRectangle(0, 0, 8, 9));
176
+ const out = createOut();
177
+ expect(computeRenderEffectCaptureGeometry(out, state, source, [])).toBe(true);
178
+
179
+ const non2D: NodeAny = createNode('Non2D');
180
+ const before = captureOutValues(out);
181
+ expect(computeRenderEffectCaptureGeometry(out, state, non2D, [])).toBe(false);
182
+ expect(captureOutValues(out)).toEqual(before);
183
+ });
184
+ });
@@ -41,6 +41,19 @@ describe('computeRenderEffectPadding', () => {
41
41
  expect(computeRenderEffectPadding(state, effect)).toEqual({ bottom: 0, left: 0, right: 0, top: 0 });
42
42
  });
43
43
 
44
+ it('writes into a caller-owned output object when supplied', () => {
45
+ const out = { bottom: -1, left: -1, right: -1, top: -1 };
46
+
47
+ expect(
48
+ computeRenderEffectPadding(
49
+ state,
50
+ [createBlurEffect({ blurX: 2, blurY: 1 }), createBlurEffect({ blurX: 1, blurY: 4 })],
51
+ out,
52
+ ),
53
+ ).toBe(out);
54
+ expect(out).toEqual({ bottom: 15, left: 9, right: 9, top: 15 });
55
+ });
56
+
44
57
  it('emits a shared registry miss only when the signal seam is enabled', () => {
45
58
  const misses: Array<readonly [RenderRegistry, string]> = [];
46
59
  connectSignal(enableRenderRegistrySignals(state).onRegistryMiss, (registry, kind) => {