angular-three-postprocessing 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input } from '@angular/core';
2
- import { injectNgtRef, NgtArgs, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';
2
+ import { injectNgtRef, NgtArgs, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';
3
3
  import { componentInputsToCombinedStream, simpleChangesToStateObject } from 'angular-three-postprocessing';
4
4
  import { LUT3DEffect } from 'postprocessing';
5
5
  import { combineLatest, map } from 'rxjs';
@@ -37,17 +37,21 @@ export class NgtpLUT extends NgtRxStore {
37
37
  }
38
38
  NgtpLUT.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, deps: null, target: i0.ɵɵFactoryTarget.Component });
39
39
  NgtpLUT.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { blendFunction: "blendFunction", tetrahedralInterpolation: "tetrahedralInterpolation", lutRef: "lutRef", lut: "lut" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
40
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
41
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
40
+ <ng-container *args="[get('effect')]">
41
+ <ngt-primitive *ref="lutRef" />
42
+ </ng-container>
43
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
42
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, decorators: [{
43
45
  type: Component,
44
46
  args: [{
45
47
  selector: 'ngtp-lut',
46
48
  standalone: true,
47
49
  template: `
48
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
50
+ <ng-container *args="[get('effect')]">
51
+ <ngt-primitive *ref="lutRef" />
52
+ </ng-container>
49
53
  `,
50
- imports: [NgtArgs],
54
+ imports: [NgtArgs, NgtRef],
51
55
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
52
56
  inputs: ['blendFunction', 'tetrahedralInterpolation'],
53
57
  }]
@@ -56,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
56
60
  }], lut: [{
57
61
  type: Input
58
62
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXBvc3Rwcm9jZXNzaW5nL2VmZmVjdHMvc3JjL2xpYi9sdXQvbHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBWTFDLE1BQU0sT0FBTyxPQUFRLFNBQVEsVUFBVTtJQVZ2Qzs7UUFXcUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqQyxXQUFNLEdBQUcsWUFBWSxFQUFlLENBQUM7S0FvQ2pEO0lBbENHLElBQWEsR0FBRyxDQUFDLEdBQWtCO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsMEJBQTBCLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxDQUNSLFFBQVEsRUFDUixhQUFhLENBQUM7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNsQiwrQkFBK0IsQ0FDM0IsSUFBSSxFQUNKLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FDckU7U0FDSixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUM5RCxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FDTCxhQUFhLENBQUM7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDckUsQ0FBQyxFQUNGLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRCxJQUFJLEdBQUc7Z0JBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDMUIsSUFBSSx3QkFBd0I7Z0JBQUUsTUFBTSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDO1lBQ3pGLFVBQVUsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7b0dBdENRLE9BQU87d0ZBQVAsT0FBTyxnUEFQTjs7S0FFVCw0REFDUyxPQUFPOzJGQUlSLE9BQU87a0JBVm5CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7O0tBRVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLDBCQUEwQixDQUFDO2lCQUN4RDs4QkFJWSxNQUFNO3NCQUFkLEtBQUs7Z0JBRU8sR0FBRztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0UmVmLCBOZ3RBcmdzLCBOZ3RSeFN0b3JlLCBOZ3RTdG9yZSwgc3RhcnRXaXRoVW5kZWZpbmVkIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBjb21wb25lbnRJbnB1dHNUb0NvbWJpbmVkU3RyZWFtLCBzaW1wbGVDaGFuZ2VzVG9TdGF0ZU9iamVjdCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtcG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgTFVUM0RFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RwLWx1dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LXByaW1pdGl2ZSAqYXJncz1cIltnZXQoJ2VmZmVjdCcpXVwiIFtyZWZdPVwibHV0UmVmXCIgLz5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RBcmdzXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gICAgaW5wdXRzOiBbJ2JsZW5kRnVuY3Rpb24nLCAndGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBMVVQgZXh0ZW5kcyBOZ3RSeFN0b3JlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuXG4gICAgQElucHV0KCkgbHV0UmVmID0gaW5qZWN0Tmd0UmVmPExVVDNERWZmZWN0PigpO1xuXG4gICAgQElucHV0KCkgc2V0IGx1dChsdXQ6IFRIUkVFLlRleHR1cmUpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBsdXQgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB0aGlzLnNldCgocykgPT4gKHsgLi4ucywgLi4uc2ltcGxlQ2hhbmdlc1RvU3RhdGVPYmplY3QoY2hhbmdlcywgWydsdXRSZWYnLCAnbHV0J10pIH0pKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2VmZmVjdCcsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnbHV0JyksXG4gICAgICAgICAgICAgICAgY29tcG9uZW50SW5wdXRzVG9Db21iaW5lZFN0cmVhbShcbiAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgKGlucHV0KSA9PiBpbnB1dC5wcm9wTmFtZSAhPT0gJ2x1dFJlZicgJiYgaW5wdXQucHJvcE5hbWUgIT09ICdsdXQnXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0pLnBpcGUobWFwKChbbHV0LCBwcm9wc10pID0+IG5ldyBMVVQzREVmZmVjdChsdXQsIHByb3BzKSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5ob2xkKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2x1dCcpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdlZmZlY3QnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgndGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIChbbHV0LCBlZmZlY3QsIHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbl0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnZhbGlkYXRlID0gdGhpcy5zdG9yZS5nZXQoJ2ludmFsaWRhdGUnKTtcbiAgICAgICAgICAgICAgICBpZiAobHV0KSBlZmZlY3QubHV0ID0gbHV0O1xuICAgICAgICAgICAgICAgIGlmICh0ZXRyYWhlZHJhbEludGVycG9sYXRpb24pIGVmZmVjdC50ZXRyYWhlZHJhbEludGVycG9sYXRpb24gPSB0ZXRyYWhlZHJhbEludGVycG9sYXRpb247XG4gICAgICAgICAgICAgICAgaW52YWxpZGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXBvc3Rwcm9jZXNzaW5nL2VmZmVjdHMvc3JjL2xpYi9sdXQvbHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWMxQyxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQVU7SUFadkM7O1FBYXFCLFVBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFakMsV0FBTSxHQUFHLFlBQVksRUFBZSxDQUFDO0tBb0NqRDtJQWxDRyxJQUFhLEdBQUcsQ0FBQyxHQUFrQjtRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FDUixRQUFRLEVBQ1IsYUFBYSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDbEIsK0JBQStCLENBQzNCLElBQUksRUFDSixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQ3JFO1NBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDOUQsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQ0wsYUFBYSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ3JFLENBQUMsRUFDRixDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEQsSUFBSSxHQUFHO2dCQUFFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQzFCLElBQUksd0JBQXdCO2dCQUFFLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztZQUN6RixVQUFVLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7O29HQXRDUSxPQUFPO3dGQUFQLE9BQU8sZ1BBVE47Ozs7S0FJVCw0REFDUyxPQUFPLHFFQUFFLE1BQU07MkZBSWhCLE9BQU87a0JBWm5CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLDBCQUEwQixDQUFDO2lCQUN4RDs4QkFJWSxNQUFNO3NCQUFkLEtBQUs7Z0JBRU8sR0FBRztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0UmVmLCBOZ3RBcmdzLCBOZ3RSZWYsIE5ndFJ4U3RvcmUsIE5ndFN0b3JlLCBzdGFydFdpdGhVbmRlZmluZWQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNvbXBvbmVudElucHV0c1RvQ29tYmluZWRTdHJlYW0sIHNpbXBsZUNoYW5nZXNUb1N0YXRlT2JqZWN0IH0gZnJvbSAnYW5ndWxhci10aHJlZS1wb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBMVVQzREVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHAtbHV0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250YWluZXIgKmFyZ3M9XCJbZ2V0KCdlZmZlY3QnKV1cIj5cbiAgICAgICAgICAgIDxuZ3QtcHJpbWl0aXZlICpyZWY9XCJsdXRSZWZcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RBcmdzLCBOZ3RSZWZdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgICBpbnB1dHM6IFsnYmxlbmRGdW5jdGlvbicsICd0ZXRyYWhlZHJhbEludGVycG9sYXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cExVVCBleHRlbmRzIE5ndFJ4U3RvcmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG5cbiAgICBASW5wdXQoKSBsdXRSZWYgPSBpbmplY3ROZ3RSZWY8TFVUM0RFZmZlY3Q+KCk7XG5cbiAgICBASW5wdXQoKSBzZXQgbHV0KGx1dDogVEhSRUUuVGV4dHVyZSkge1xuICAgICAgICB0aGlzLnNldCh7IGx1dCB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuc2V0KChzKSA9PiAoeyAuLi5zLCAuLi5zaW1wbGVDaGFuZ2VzVG9TdGF0ZU9iamVjdChjaGFuZ2VzLCBbJ2x1dFJlZicsICdsdXQnXSkgfSkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbm5lY3QoXG4gICAgICAgICAgICAnZWZmZWN0JyxcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdsdXQnKSxcbiAgICAgICAgICAgICAgICBjb21wb25lbnRJbnB1dHNUb0NvbWJpbmVkU3RyZWFtKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpID0+IGlucHV0LnByb3BOYW1lICE9PSAnbHV0UmVmJyAmJiBpbnB1dC5wcm9wTmFtZSAhPT0gJ2x1dCdcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSkucGlwZShtYXAoKFtsdXQsIHByb3BzXSkgPT4gbmV3IExVVDNERWZmZWN0KGx1dCwgcHJvcHMpKSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmhvbGQoXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnbHV0JyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2VmZmVjdCcpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCd0ZXRyYWhlZHJhbEludGVycG9sYXRpb24nKS5waXBlKHN0YXJ0V2l0aFVuZGVmaW5lZCgpKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgKFtsdXQsIGVmZmVjdCwgdGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLmdldCgnaW52YWxpZGF0ZScpO1xuICAgICAgICAgICAgICAgIGlmIChsdXQpIGVmZmVjdC5sdXQgPSBsdXQ7XG4gICAgICAgICAgICAgICAgaWYgKHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbikgZWZmZWN0LnRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbiA9IHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbjtcbiAgICAgICAgICAgICAgICBpbnZhbGlkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input } from '@angular/core';
2
- import { injectNgtRef, NgtArgs, NgtRxStore } from 'angular-three';
2
+ import { injectNgtRef, NgtArgs, NgtRef, NgtRxStore } from 'angular-three';
3
3
  import { componentInputsToCombinedStream, NGTP_EFFECT_COMPOSER_API, simpleChangesToStateObject, } from 'angular-three-postprocessing';
4
4
  import { BlendFunction, SSAOEffect } from 'postprocessing';
5
5
  import { combineLatest, map } from 'rxjs';
@@ -54,17 +54,21 @@ export class NgtpSSAO extends NgtRxStore {
54
54
  }
55
55
  NgtpSSAO.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
56
  NgtpSSAO.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpSSAO, isStandalone: true, selector: "ngtp-ssao", inputs: { blendFunction: "blendFunction", distanceScaling: "distanceScaling", depthAwareUpsampling: "depthAwareUpsampling", normalDepthBuffer: "normalDepthBuffer", samples: "samples", rings: "rings", worldDistanceThreshold: "worldDistanceThreshold", worldDistanceFalloff: "worldDistanceFalloff", worldProximityThreshold: "worldProximityThreshold", worldProximityFalloff: "worldProximityFalloff", distanceThreshold: "distanceThreshold", distanceFalloff: "distanceFalloff", rangeThreshold: "rangeThreshold", rangeFalloff: "rangeFalloff", minRadiusScale: "minRadiusScale", luminanceInfluence: "luminanceInfluence", radius: "radius", intensity: "intensity", bias: "bias", fade: "fade", color: "color", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", ssaoRef: "ssaoRef" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
57
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
58
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
57
+ <ng-container *args="[get('effect')]">
58
+ <ngt-primitive *ref="ssaoRef" />
59
+ </ng-container>
60
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
59
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, decorators: [{
60
62
  type: Component,
61
63
  args: [{
62
64
  selector: 'ngtp-ssao',
63
65
  standalone: true,
64
66
  template: `
65
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
67
+ <ng-container *args="[get('effect')]">
68
+ <ngt-primitive *ref="ssaoRef" />
69
+ </ng-container>
66
70
  `,
67
- imports: [NgtArgs],
71
+ imports: [NgtArgs, NgtRef],
68
72
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
69
73
  inputs: [
70
74
  'blendFunction',
@@ -98,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
98
102
  }], propDecorators: { ssaoRef: [{
99
103
  type: Input
100
104
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Nhby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS1wb3N0cHJvY2Vzc2luZy9lZmZlY3RzL3NyYy9saWIvc3Nhby9zc2FvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFDSCwrQkFBK0IsRUFDL0Isd0JBQXdCLEVBQ3hCLDBCQUEwQixHQUM3QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBdUMxQyxNQUFNLE9BQU8sUUFBUyxTQUFRLFVBQVU7SUFyQ3hDOztRQXNDcUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFN0QsWUFBTyxHQUFHLFlBQVksRUFBYyxDQUFDO0tBeURqRDtJQXZEWSxVQUFVO1FBQ2YsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDTCxhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDckMsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsQ0FBQztZQUNSLGlCQUFpQixFQUFFLEdBQUc7WUFDdEIsZUFBZSxFQUFFLEdBQUc7WUFDcEIsY0FBYyxFQUFFLEdBQUc7WUFDbkIsWUFBWSxFQUFFLEdBQUc7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxHQUFHO1lBQ1YsSUFBSSxFQUFFLEdBQUc7WUFDVCxTQUFTLEVBQUUsR0FBRztZQUNkLEtBQUssRUFBRSxJQUFLO1lBQ1osb0JBQW9CLEVBQUUsSUFBSTtTQUM3QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDYixHQUFHLENBQUM7WUFDSixHQUFHLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxDQUNSLFFBQVEsRUFDUixhQUFhLENBQUM7WUFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUM3QywrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDO1NBQ2pGLENBQUMsQ0FBQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDdEQsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUVuRCxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDMUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ25GO1lBRUQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3hDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLGVBQWUsSUFBSSxDQUFDLENBQUM7YUFDbkQ7WUFFRCxPQUFPLElBQUksVUFBVSxDQUNqQixNQUFNLEVBQ04sVUFBVSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDM0QsS0FBb0QsQ0FDdkQsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7O3FHQTNEUSxRQUFRO3lGQUFSLFFBQVEsKzdCQWxDUDs7S0FFVCw0REFDUyxPQUFPOzJGQStCUixRQUFRO2tCQXJDcEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7S0FFVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxNQUFNLEVBQUU7d0JBQ0osZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULE9BQU87d0JBQ1Asd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsTUFBTTt3QkFDTixNQUFNO3dCQUNOLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsT0FBTzt3QkFDUCxRQUFRO3FCQUNYO2lCQUNKOzhCQUlZLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE5ndFJlZiwgTmd0QXJncywgTmd0UnhTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHtcbiAgICBjb21wb25lbnRJbnB1dHNUb0NvbWJpbmVkU3RyZWFtLFxuICAgIE5HVFBfRUZGRUNUX0NPTVBPU0VSX0FQSSxcbiAgICBzaW1wbGVDaGFuZ2VzVG9TdGF0ZU9iamVjdCxcbn0gZnJvbSAnYW5ndWxhci10aHJlZS1wb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBCbGVuZEZ1bmN0aW9uLCBTU0FPRWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cC1zc2FvJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2dldCgnZWZmZWN0JyldXCIgW3JlZl09XCJzc2FvUmVmXCIgLz5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RBcmdzXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gICAgaW5wdXRzOiBbXG4gICAgICAgICdibGVuZEZ1bmN0aW9uJyxcbiAgICAgICAgJ2Rpc3RhbmNlU2NhbGluZycsXG4gICAgICAgICdkZXB0aEF3YXJlVXBzYW1wbGluZycsXG4gICAgICAgICdub3JtYWxEZXB0aEJ1ZmZlcicsXG4gICAgICAgICdzYW1wbGVzJyxcbiAgICAgICAgJ3JpbmdzJyxcbiAgICAgICAgJ3dvcmxkRGlzdGFuY2VUaHJlc2hvbGQnLFxuICAgICAgICAnd29ybGREaXN0YW5jZUZhbGxvZmYnLFxuICAgICAgICAnd29ybGRQcm94aW1pdHlUaHJlc2hvbGQnLFxuICAgICAgICAnd29ybGRQcm94aW1pdHlGYWxsb2ZmJyxcbiAgICAgICAgJ2Rpc3RhbmNlVGhyZXNob2xkJyxcbiAgICAgICAgJ2Rpc3RhbmNlRmFsbG9mZicsXG4gICAgICAgICdyYW5nZVRocmVzaG9sZCcsXG4gICAgICAgICdyYW5nZUZhbGxvZmYnLFxuICAgICAgICAnbWluUmFkaXVzU2NhbGUnLFxuICAgICAgICAnbHVtaW5hbmNlSW5mbHVlbmNlJyxcbiAgICAgICAgJ3JhZGl1cycsXG4gICAgICAgICdpbnRlbnNpdHknLFxuICAgICAgICAnYmlhcycsXG4gICAgICAgICdmYWRlJyxcbiAgICAgICAgJ2NvbG9yJyxcbiAgICAgICAgJ3Jlc29sdXRpb25TY2FsZScsXG4gICAgICAgICdyZXNvbHV0aW9uWCcsXG4gICAgICAgICdyZXNvbHV0aW9uWScsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgICdoZWlnaHQnLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBTU0FPIGV4dGVuZHMgTmd0UnhTdG9yZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVmZmVjdENvbXBvc2VyQXBpID0gaW5qZWN0KE5HVFBfRUZGRUNUX0NPTVBPU0VSX0FQSSk7XG5cbiAgICBASW5wdXQoKSBzc2FvUmVmID0gaW5qZWN0Tmd0UmVmPFNTQU9FZmZlY3Q+KCk7XG5cbiAgICBvdmVycmlkZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgIGJsZW5kRnVuY3Rpb246IEJsZW5kRnVuY3Rpb24uTVVMVElQTFksXG4gICAgICAgICAgICBzYW1wbGVzOiAzMCxcbiAgICAgICAgICAgIHJpbmdzOiA0LFxuICAgICAgICAgICAgZGlzdGFuY2VUaHJlc2hvbGQ6IDEuMCxcbiAgICAgICAgICAgIGRpc3RhbmNlRmFsbG9mZjogMC4wLFxuICAgICAgICAgICAgcmFuZ2VUaHJlc2hvbGQ6IDAuNSxcbiAgICAgICAgICAgIHJhbmdlRmFsbG9mZjogMC4xLFxuICAgICAgICAgICAgbHVtaW5hbmNlSW5mbHVlbmNlOiAwLjksXG4gICAgICAgICAgICByYWRpdXM6IDIwLFxuICAgICAgICAgICAgc2NhbGU6IDAuNSxcbiAgICAgICAgICAgIGJpYXM6IDAuNSxcbiAgICAgICAgICAgIGludGVuc2l0eTogMS4wLFxuICAgICAgICAgICAgY29sb3I6IG51bGwhLFxuICAgICAgICAgICAgZGVwdGhBd2FyZVVwc2FtcGxpbmc6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgdGhpcy5zZXQoKHMpID0+ICh7XG4gICAgICAgICAgICAuLi5zLFxuICAgICAgICAgICAgLi4uc2ltcGxlQ2hhbmdlc1RvU3RhdGVPYmplY3QoY2hhbmdlcywgWydzc2FvUmVmJ10pLFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdlZmZlY3QnLFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5lZmZlY3RDb21wb3NlckFwaS5zZWxlY3QoJ2VudGl0aWVzJyksXG4gICAgICAgICAgICAgICAgdGhpcy5lZmZlY3RDb21wb3NlckFwaS5zZWxlY3QoJ2FjdGl2ZUNhbWVyYScpLFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudElucHV0c1RvQ29tYmluZWRTdHJlYW0odGhpcywgKGlucHV0KSA9PiBpbnB1dC5wcm9wTmFtZSAhPT0gJ3NzYW9SZWYnKSxcbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChbWywgbm9ybWFsUGFzcywgZG93blNhbXBsaW5nUGFzc10sIGNhbWVyYSwgcHJvcHNdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVzb2x1dGlvblNjYWxlIH0gPSB0aGlzLmVmZmVjdENvbXBvc2VyQXBpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wc1snbm9ybWFsRGVwdGhCdWZmZXInXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wc1snbm9ybWFsRGVwdGhCdWZmZXInXSA9IGRvd25TYW1wbGluZ1Bhc3MgPyBkb3duU2FtcGxpbmdQYXNzLnRleHR1cmUgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzWydyZXNvbHV0aW9uU2NhbGUnXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wc1sncmVzb2x1dGlvblNjYWxlJ10gPSByZXNvbHV0aW9uU2NhbGUgPz8gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU1NBT0VmZmVjdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbWVyYSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbFBhc3MgJiYgIWRvd25TYW1wbGluZ1Bhc3MgPyBub3JtYWxQYXNzLnRleHR1cmUgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMgYXMgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTU0FPRWZmZWN0PlsyXVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Nhby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS1wb3N0cHJvY2Vzc2luZy9lZmZlY3RzL3NyYy9saWIvc3Nhby9zc2FvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN4QiwwQkFBMEIsR0FDN0IsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQXlDMUMsTUFBTSxPQUFPLFFBQVMsU0FBUSxVQUFVO0lBdkN4Qzs7UUF3Q3FCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTdELFlBQU8sR0FBRyxZQUFZLEVBQWMsQ0FBQztLQXlEakQ7SUF2RFksVUFBVTtRQUNmLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ0wsYUFBYSxFQUFFLGFBQWEsQ0FBQyxRQUFRO1lBQ3JDLE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLENBQUM7WUFDUixpQkFBaUIsRUFBRSxHQUFHO1lBQ3RCLGVBQWUsRUFBRSxHQUFHO1lBQ3BCLGNBQWMsRUFBRSxHQUFHO1lBQ25CLFlBQVksRUFBRSxHQUFHO1lBQ2pCLGtCQUFrQixFQUFFLEdBQUc7WUFDdkIsTUFBTSxFQUFFLEVBQUU7WUFDVixLQUFLLEVBQUUsR0FBRztZQUNWLElBQUksRUFBRSxHQUFHO1lBQ1QsU0FBUyxFQUFFLEdBQUc7WUFDZCxLQUFLLEVBQUUsSUFBSztZQUNaLG9CQUFvQixFQUFFLElBQUk7U0FDN0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2IsR0FBRyxDQUFDO1lBQ0osR0FBRywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FDUixRQUFRLEVBQ1IsYUFBYSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDN0MsK0JBQStCLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQztTQUNqRixDQUFDLENBQUMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3RELE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFFbkQsSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUNuRjtZQUVELElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUN4QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxlQUFlLElBQUksQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxJQUFJLFVBQVUsQ0FDakIsTUFBTSxFQUNOLFVBQVUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzNELEtBQW9ELENBQ3ZELENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUM7SUFDTixDQUFDOztxR0EzRFEsUUFBUTt5RkFBUixRQUFRLCs3QkFwQ1A7Ozs7S0FJVCw0REFDUyxPQUFPLHFFQUFFLE1BQU07MkZBK0JoQixRQUFRO2tCQXZDcEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxNQUFNLEVBQUU7d0JBQ0osZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULE9BQU87d0JBQ1Asd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsTUFBTTt3QkFDTixNQUFNO3dCQUNOLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsT0FBTzt3QkFDUCxRQUFRO3FCQUNYO2lCQUNKOzhCQUlZLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE5ndFJlZiwgTmd0QXJncywgTmd0UmVmLCBOZ3RSeFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQge1xuICAgIGNvbXBvbmVudElucHV0c1RvQ29tYmluZWRTdHJlYW0sXG4gICAgTkdUUF9FRkZFQ1RfQ09NUE9TRVJfQVBJLFxuICAgIHNpbXBsZUNoYW5nZXNUb1N0YXRlT2JqZWN0LFxufSBmcm9tICdhbmd1bGFyLXRocmVlLXBvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IEJsZW5kRnVuY3Rpb24sIFNTQU9FZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RwLXNzYW8nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqYXJncz1cIltnZXQoJ2VmZmVjdCcpXVwiPlxuICAgICAgICAgICAgPG5ndC1wcmltaXRpdmUgKnJlZj1cInNzYW9SZWZcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RBcmdzLCBOZ3RSZWZdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgICBpbnB1dHM6IFtcbiAgICAgICAgJ2JsZW5kRnVuY3Rpb24nLFxuICAgICAgICAnZGlzdGFuY2VTY2FsaW5nJyxcbiAgICAgICAgJ2RlcHRoQXdhcmVVcHNhbXBsaW5nJyxcbiAgICAgICAgJ25vcm1hbERlcHRoQnVmZmVyJyxcbiAgICAgICAgJ3NhbXBsZXMnLFxuICAgICAgICAncmluZ3MnLFxuICAgICAgICAnd29ybGREaXN0YW5jZVRocmVzaG9sZCcsXG4gICAgICAgICd3b3JsZERpc3RhbmNlRmFsbG9mZicsXG4gICAgICAgICd3b3JsZFByb3hpbWl0eVRocmVzaG9sZCcsXG4gICAgICAgICd3b3JsZFByb3hpbWl0eUZhbGxvZmYnLFxuICAgICAgICAnZGlzdGFuY2VUaHJlc2hvbGQnLFxuICAgICAgICAnZGlzdGFuY2VGYWxsb2ZmJyxcbiAgICAgICAgJ3JhbmdlVGhyZXNob2xkJyxcbiAgICAgICAgJ3JhbmdlRmFsbG9mZicsXG4gICAgICAgICdtaW5SYWRpdXNTY2FsZScsXG4gICAgICAgICdsdW1pbmFuY2VJbmZsdWVuY2UnLFxuICAgICAgICAncmFkaXVzJyxcbiAgICAgICAgJ2ludGVuc2l0eScsXG4gICAgICAgICdiaWFzJyxcbiAgICAgICAgJ2ZhZGUnLFxuICAgICAgICAnY29sb3InLFxuICAgICAgICAncmVzb2x1dGlvblNjYWxlJyxcbiAgICAgICAgJ3Jlc29sdXRpb25YJyxcbiAgICAgICAgJ3Jlc29sdXRpb25ZJyxcbiAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgJ2hlaWdodCcsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cFNTQU8gZXh0ZW5kcyBOZ3RSeFN0b3JlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0Q29tcG9zZXJBcGkgPSBpbmplY3QoTkdUUF9FRkZFQ1RfQ09NUE9TRVJfQVBJKTtcblxuICAgIEBJbnB1dCgpIHNzYW9SZWYgPSBpbmplY3ROZ3RSZWY8U1NBT0VmZmVjdD4oKTtcblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgYmxlbmRGdW5jdGlvbjogQmxlbmRGdW5jdGlvbi5NVUxUSVBMWSxcbiAgICAgICAgICAgIHNhbXBsZXM6IDMwLFxuICAgICAgICAgICAgcmluZ3M6IDQsXG4gICAgICAgICAgICBkaXN0YW5jZVRocmVzaG9sZDogMS4wLFxuICAgICAgICAgICAgZGlzdGFuY2VGYWxsb2ZmOiAwLjAsXG4gICAgICAgICAgICByYW5nZVRocmVzaG9sZDogMC41LFxuICAgICAgICAgICAgcmFuZ2VGYWxsb2ZmOiAwLjEsXG4gICAgICAgICAgICBsdW1pbmFuY2VJbmZsdWVuY2U6IDAuOSxcbiAgICAgICAgICAgIHJhZGl1czogMjAsXG4gICAgICAgICAgICBzY2FsZTogMC41LFxuICAgICAgICAgICAgYmlhczogMC41LFxuICAgICAgICAgICAgaW50ZW5zaXR5OiAxLjAsXG4gICAgICAgICAgICBjb2xvcjogbnVsbCEsXG4gICAgICAgICAgICBkZXB0aEF3YXJlVXBzYW1wbGluZzogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB0aGlzLnNldCgocykgPT4gKHtcbiAgICAgICAgICAgIC4uLnMsXG4gICAgICAgICAgICAuLi5zaW1wbGVDaGFuZ2VzVG9TdGF0ZU9iamVjdChjaGFuZ2VzLCBbJ3NzYW9SZWYnXSksXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2VmZmVjdCcsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdENvbXBvc2VyQXBpLnNlbGVjdCgnZW50aXRpZXMnKSxcbiAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdENvbXBvc2VyQXBpLnNlbGVjdCgnYWN0aXZlQ2FtZXJhJyksXG4gICAgICAgICAgICAgICAgY29tcG9uZW50SW5wdXRzVG9Db21iaW5lZFN0cmVhbSh0aGlzLCAoaW5wdXQpID0+IGlucHV0LnByb3BOYW1lICE9PSAnc3Nhb1JlZicpLFxuICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFtbLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzXSwgY2FtZXJhLCBwcm9wc10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByZXNvbHV0aW9uU2NhbGUgfSA9IHRoaXMuZWZmZWN0Q29tcG9zZXJBcGk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BzWydub3JtYWxEZXB0aEJ1ZmZlciddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzWydub3JtYWxEZXB0aEJ1ZmZlciddID0gZG93blNhbXBsaW5nUGFzcyA/IGRvd25TYW1wbGluZ1Bhc3MudGV4dHVyZSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcHNbJ3Jlc29sdXRpb25TY2FsZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzWydyZXNvbHV0aW9uU2NhbGUnXSA9IHJlc29sdXRpb25TY2FsZSA/PyAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTU0FPRWZmZWN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FtZXJhLFxuICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsUGFzcyAmJiAhZG93blNhbXBsaW5nUGFzcyA/IG5vcm1hbFBhc3MudGV4dHVyZSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wcyBhcyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIFNTQU9FZmZlY3Q+WzJdXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input } from '@angular/core';
2
2
  import { RxActionFactory } from '@rx-angular/state/actions';
3
- import { extend, getLocalState, injectNgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';
3
+ import { extend, getLocalState, injectNgtRef, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';
4
4
  import { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';
5
5
  import { combineLatest, map } from 'rxjs';
6
6
  import * as THREE from 'three';
@@ -171,17 +171,17 @@ NgtpEffectComposer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
171
171
  { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },
172
172
  RxActionFactory,
173
173
  ], usesInheritance: true, ngImport: i0, template: `
174
- <ngt-group [ref]="composerRef">
174
+ <ngt-group *ref="composerRef">
175
175
  <ng-content />
176
176
  </ngt-group>
177
- `, isInline: true });
177
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
178
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpEffectComposer, decorators: [{
179
179
  type: Component,
180
180
  args: [{
181
181
  selector: 'ngtp-effect-composer',
182
182
  standalone: true,
183
183
  template: `
184
- <ngt-group [ref]="composerRef">
184
+ <ngt-group *ref="composerRef">
185
185
  <ng-content />
186
186
  </ngt-group>
187
187
  `,
@@ -189,6 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
189
189
  { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },
190
190
  RxActionFactory,
191
191
  ],
192
+ imports: [NgtRef],
192
193
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
193
194
  }]
194
195
  }], propDecorators: { composerRef: [{
@@ -216,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
216
217
  }], scene: [{
217
218
  type: Input
218
219
  }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXBvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0LWNvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFakQsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQWFsQixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBd0Isd0JBQXdCLENBQUMsQ0FBQztBQUU1RyxTQUFTLHdCQUF3QixDQUFDLFFBQTRCO0lBQzFELE1BQU0sR0FBRyxHQUFHLEVBQTJCLENBQUM7SUFFeEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtRQUN6QixRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFB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QXdCLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7UUFDdkcsZUFBZTtLQUNsQixpREFSUzs7OztLQUlUOzJGQU9RLGtCQUFrQjtrQkFkOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7d0JBQ3ZHLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzs4QkFFWSxXQUFXO3NCQUFuQixLQUFLO2dCQUVPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sV0FBVztzQkFBdkIsS0FBSztnQkFJTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBSU8sYUFBYTtzQkFBekIsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLGVBQWU7c0JBQTNCLEtBQUs7Z0JBSU8sYUFBYTtzQkFBekIsS0FBSztnQkFJTyxlQUFlO3NCQUEzQixLQUFLO2dCQUlPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSeEFjdGlvbkZhY3RvcnkgfSBmcm9tICdAcngtYW5ndWxhci9zdGF0ZS9hY3Rpb25zJztcbmltcG9ydCB7IGV4dGVuZCwgZ2V0TG9jYWxTdGF0ZSwgaW5qZWN0Tmd0UmVmLCBOZ3RSeFN0b3JlLCBOZ3RTdG9yZSwgc3RhcnRXaXRoVW5kZWZpbmVkIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBEZXB0aERvd25zYW1wbGluZ1Bhc3MsIEVmZmVjdENvbXBvc2VyLCBFZmZlY3RQYXNzLCBOb3JtYWxQYXNzLCBSZW5kZXJQYXNzIH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGlzV2ViR0wyQXZhaWxhYmxlIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxuZXh0ZW5kKHsgR3JvdXAgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0cEVmZmVjdENvbXBvc2VyQXBpIHtcbiAgICBjb21wb3NlcjogRWZmZWN0Q29tcG9zZXI7XG4gICAgbm9ybWFsUGFzczogTm9ybWFsUGFzcyB8IG51bGw7XG4gICAgZGVwdGhQYXNzOiBEZXB0aERvd25zYW1wbGluZ1Bhc3MgfCBudWxsO1xuICAgIHNjZW5lOiBUSFJFRS5TY2VuZTtcbiAgICBjYW1lcmE6IFRIUkVFLkNhbWVyYTtcbiAgICByZXNvbHV0aW9uU2NhbGU/OiBudW1iZXI7XG4gICAgc2VsZWN0OiBOZ3RwRWZmZWN0Q29tcG9zZXJbJ3NlbGVjdCddO1xuICAgIGdldDogTmd0cEVmZmVjdENvbXBvc2VyWydnZXQnXTtcbn1cblxuZXhwb3J0IGNvbnN0IE5HVFBfRUZGRUNUX0NPTVBPU0VSX0FQSSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3RwRWZmZWN0Q29tcG9zZXJBcGk+KCdOZ3RwRWZmZWN0Q29tcG9zZXIgQVBJJyk7XG5cbmZ1bmN0aW9uIGVmZmVjdENvbXBvc2VyQXBpRmFjdG9yeShjb21wb3NlcjogTmd0cEVmZmVjdENvbXBvc2VyKSB7XG4gICAgY29uc3QgYXBpID0ge30gYXMgTmd0cEVmZmVjdENvbXBvc2VyQXBpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXBpLCB7XG4gICAgICAgIGNvbXBvc2VyOiB7IGdldDogKCkgPT4gY29tcG9zZXIuZ2V0KCdlbnRpdGllcycpWzBdIH0sXG4gICAgICAgIG5vcm1hbFBhc3M6IHsgZ2V0OiAoKSA9PiBjb21wb3Nlci5nZXQoJ2VudGl0aWVzJylbMV0gfSxcbiAgICAgICAgZG93blNhbXBsaW5nUGFzczogeyBnZXQ6ICgpID0+IGNvbXBvc2VyLmdldCgnZW50aXRpZXMnKVsyXSB9LFxuICAgICAgICByZXNvbHV0aW9uU2NhbGU6IHsgZ2V0OiAoKSA9PiBjb21wb3Nlci5nZXQoJ3Jlc29sdXRpb25TY2FsZScpIH0sXG4gICAgICAgIHNjZW5lOiB7IGdldDogKCkgPT4gY29tcG9zZXIuZ2V0KCdhY3RpdmVTY2VuZScpIH0sXG4gICAgICAgIGNhbWVyYTogeyBnZXQ6ICgpID0+IGNvbXBvc2VyLmdldCgnYWN0aXZlQ2FtZXJhJykgfSxcbiAgICAgICAgc2VsZWN0OiB7IGdldDogKCkgPT4gY29tcG9zZXIuc2VsZWN0LmJpbmQoY29tcG9zZXIpIH0sXG4gICAgICAgIGdldDogeyBnZXQ6ICgpID0+IGNvbXBvc2VyLmdldC5iaW5kKGNvbXBvc2VyKSB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGFwaTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RwLWVmZmVjdC1jb21wb3NlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LWdyb3VwIFtyZWZdPVwiY29tcG9zZXJSZWZcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvbmd0LWdyb3VwPlxuICAgIGAsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTkdUUF9FRkZFQ1RfQ09NUE9TRVJfQVBJLCB1c2VGYWN0b3J5OiBlZmZlY3RDb21wb3NlckFwaUZhY3RvcnksIGRlcHM6IFtOZ3RwRWZmZWN0Q29tcG9zZXJdIH0sXG4gICAgICAgIFJ4QWN0aW9uRmFjdG9yeSxcbiAgICBdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cEVmZmVjdENvbXBvc2VyIGV4dGVuZHMgTmd0UnhTdG9yZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgY29tcG9zZXJSZWYgPSBpbmplY3ROZ3RSZWY8R3JvdXA+KCk7XG5cbiAgICBASW5wdXQoKSBzZXQgZW5hYmxlZChlbmFibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZW5hYmxlZCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGVwdGhCdWZmZXIoZGVwdGhCdWZmZXI6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkZXB0aEJ1ZmZlciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZGlzYWJsZU5vcm1hbFBhc3MoZGlzYWJsZU5vcm1hbFBhc3M6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBkaXNhYmxlTm9ybWFsUGFzcyB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgc3RlbmNpbEJ1ZmZlcihzdGVuY2lsQnVmZmVyOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgc3RlbmNpbEJ1ZmZlciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYXV0b0NsZWFyKGF1dG9DbGVhcjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGF1dG9DbGVhciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmVzb2x1dGlvblNjYWxlKHJlc29sdXRpb25TY2FsZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcmVzb2x1dGlvblNjYWxlIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtdWx0aXNhbXBsaW5nKG11bHRpc2FtcGxpbmc6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IG11bHRpc2FtcGxpbmcgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZyYW1lQnVmZmVyVHlwZShmcmFtZUJ1ZmZlclR5cGU6IFRIUkVFLlRleHR1cmVEYXRhVHlwZSkge1xuICAgICAgICB0aGlzLnNldCh7IGZyYW1lQnVmZmVyVHlwZSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmVuZGVyUHJpb3JpdHkocmVuZGVyUHJpb3JpdHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlbmRlclByaW9yaXR5IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBjYW1lcmEoY2FtZXJhOiBUSFJFRS5DYW1lcmEpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjYW1lcmEgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNjZW5lKHNjZW5lOiBUSFJFRS5TY2VuZSkge1xuICAgICAgICB0aGlzLnNldCh7IHNjZW5lIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIHJlbmRlclByaW9yaXR5OiAxLFxuICAgICAgICAgICAgYXV0b0NsZWFyOiB0cnVlLFxuICAgICAgICAgICAgbXVsdGlzYW1wbGluZzogMCxcbiAgICAgICAgICAgIGZyYW1lQnVmZmVyVHlwZTogVEhSRUUuSGFsZkZsb2F0VHlwZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zID0gaW5qZWN0KFJ4QWN0aW9uRmFjdG9yeTx7IHNldEJlZm9yZVJlbmRlcjogdm9pZCB9PikuY3JlYXRlKCk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2FjdGl2ZVNjZW5lJyxcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KCdzY2VuZScpLCB0aGlzLnNlbGVjdCgnc2NlbmUnKS5waXBlKHN0YXJ0V2l0aFVuZGVmaW5lZCgpKV0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChbZGVmYXVsdFNjZW5lLCBzY2VuZV0pID0+IHNjZW5lIHx8IGRlZmF1bHRTY2VuZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNvbm5lY3QoXG4gICAgICAgICAgICAnYWN0aXZlQ2FtZXJhJyxcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KCdjYW1lcmEnKSwgdGhpcy5zZWxlY3QoJ2NhbWVyYScpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpXSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFtkZWZhdWx0Q2FtZXJhLCBjYW1lcmFdKSA9PiBjYW1lcmEgfHwgZGVmYXVsdENhbWVyYSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNvbm5lY3QoXG4gICAgICAgICAgICAnZW50aXRpZXMnLFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2dsJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2FjdGl2ZVNjZW5lJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2FjdGl2ZUNhbWVyYScpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdtdWx0aXNhbXBsaW5nJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2ZyYW1lQnVmZmVyVHlwZScpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdkZXB0aEJ1ZmZlcicpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdzdGVuY2lsQnVmZmVyJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2Rpc2FibGVOb3JtYWxQYXNzJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ3Jlc29sdXRpb25TY2FsZScpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpLFxuICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgIChbXG4gICAgICAgICAgICAgICAgICAgICAgICBnbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjZW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FtZXJhLFxuICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlzYW1wbGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lQnVmZmVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlcHRoQnVmZmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlbmNpbEJ1ZmZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVOb3JtYWxQYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvblNjYWxlLFxuICAgICAgICAgICAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3ZWJHTDJBdmFpbGFibGUgPSBpc1dlYkdMMkF2YWlsYWJsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5pdGlhbGl6ZSBjb21wb3NlclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWZmZWN0Q29tcG9zZXIgPSBuZXcgRWZmZWN0Q29tcG9zZXIoZ2wsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXB0aEJ1ZmZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVuY2lsQnVmZmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpc2FtcGxpbmc6IG11bHRpc2FtcGxpbmcgPiAwICYmIHdlYkdMMkF2YWlsYWJsZSA/IG11bHRpc2FtcGxpbmcgOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lQnVmZmVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZGQgcmVuZGVyIHBhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdENvbXBvc2VyLmFkZFBhc3MobmV3IFJlbmRlclBhc3Moc2NlbmUsIGNhbWVyYSkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgbm9ybWFsIHBhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkb3duU2FtcGxpbmdQYXNzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBub3JtYWxQYXNzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZGlzYWJsZU5vcm1hbFBhc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxQYXNzID0gbmV3IE5vcm1hbFBhc3Moc2NlbmUsIGNhbWVyYSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsUGFzcy5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0Q29tcG9zZXIuYWRkUGFzcyhub3JtYWxQYXNzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzb2x1dGlvblNjYWxlICE9PSB1bmRlZmluZWQgJiYgd2ViR0wyQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25TYW1wbGluZ1Bhc3MgPSBuZXcgRGVwdGhEb3duc2FtcGxpbmdQYXNzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbEJ1ZmZlcjogbm9ybWFsUGFzcy50ZXh0dXJlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvblNjYWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93blNhbXBsaW5nUGFzcy5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdENvbXBvc2VyLmFkZFBhc3MoZG93blNhbXBsaW5nUGFzcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2VmZmVjdENvbXBvc2VyLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNldENvbXBvc2VyU2l6ZSgpO1xuICAgICAgICB0aGlzLnNldEVmZmVjdFBhc3NlZCgpO1xuICAgICAgICB0aGlzLnNldEJlZm9yZVJlbmRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29tcG9zZXJTaXplKCkge1xuICAgICAgICB0aGlzLmhvbGQoXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdCgnZW50aXRpZXMnKSwgdGhpcy5zdG9yZS5zZWxlY3QoJ3NpemUnKV0pLFxuICAgICAgICAgICAgKFtbY29tcG9zZXJdLCBzaXplXSkgPT4gdm9pZCAoY29tcG9zZXIgYXMgRWZmZWN0Q29tcG9zZXIpLnNldFNpemUoc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRFZmZlY3RQYXNzZWQoKSB7XG4gICAgICAgIHRoaXMuZWZmZWN0KFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2VudGl0aWVzJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2FjdGl2ZUNhbWVyYScpLFxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9zZXJSZWYuY2hpbGRyZW4kKCdub25PYmplY3RzJyksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIChbW2NvbXBvc2VyLCBub3JtYWxQYXNzLCBkb3duU2FtcGxpbmdQYXNzXSwgY2FtZXJhLCBlZmZlY3RzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBlZmZlY3RQYXNzOiBFZmZlY3RQYXNzO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb3NlclJlZi5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGdldExvY2FsU3RhdGUodGhpcy5jb21wb3NlclJlZi5uYXRpdmVFbGVtZW50KSkubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvc2VyXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGVmZmVjdFBhc3MgPSBuZXcgRWZmZWN0UGFzcyhjYW1lcmEsIC4uLmVmZmVjdHMpO1xuICAgICAgICAgICAgICAgICAgICBlZmZlY3RQYXNzLnJlbmRlclRvU2NyZWVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9zZXIuYWRkUGFzcyhlZmZlY3RQYXNzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vcm1hbFBhc3MpIG5vcm1hbFBhc3MuZW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkb3duU2FtcGxpbmdQYXNzKSBkb3duU2FtcGxpbmdQYXNzLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlZmZlY3RQYXNzKSBjb21wb3Nlcj8ucmVtb3ZlUGFzcyhlZmZlY3RQYXNzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vcm1hbFBhc3MpIG5vcm1hbFBhc3MuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZG93blNhbXBsaW5nUGFzcykgZG93blNhbXBsaW5nUGFzcy5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEJlZm9yZVJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyUHJpb3JpdHkgPSB0aGlzLmdldCgncmVuZGVyUHJpb3JpdHknKTtcbiAgICAgICAgY29uc3QgZW5hYmxlZCA9IHRoaXMuZ2V0KCdlbmFibGVkJyk7XG4gICAgICAgIHRoaXMuZWZmZWN0KHRoaXMuYWN0aW9ucy5zZXRCZWZvcmVSZW5kZXIkLCAoKSA9PlxuICAgICAgICAgICAgdGhpcy5zdG9yZS5nZXQoJ2ludGVybmFsJykuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICh7IGRlbHRhIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2NvbXBvc2VyXSA9IHRoaXMuZ2V0KCdlbnRpdGllcycpIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmFibGVkID0gdGhpcy5nZXQoJ2VuYWJsZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXV0b0NsZWFyID0gdGhpcy5nZXQoJ2F1dG9DbGVhcicpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBnbCA9IHRoaXMuc3RvcmUuZ2V0KCdnbCcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcG9zZXIgJiYgZW5hYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2wuYXV0b0NsZWFyID0gYXV0b0NsZWFyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9zZXIucmVuZGVyKGRlbHRhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZW5hYmxlZCA/IHJlbmRlclByaW9yaXR5IDogMFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmFjdGlvbnMuc2V0QmVmb3JlUmVuZGVyKCk7XG4gICAgfVxufVxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXBvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0LWNvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0csT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRWpELE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFhbEIsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQXdCLHdCQUF3QixDQUFDLENBQUM7QUFFNUcsU0FBUyx3QkFBd0IsQ0FBQyxRQUE0QjtJQUMxRCxNQUFNLEdBQUcsR0FBRyxFQUEyQixDQUFDO0lBRXhDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7UUFDekIsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFB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QU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRTtRQUN2RyxlQUFlO0tBQ2xCLGlEQVJTOzs7O0tBSVQsNERBS1MsTUFBTTsyRkFHUCxrQkFBa0I7a0JBZjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFO3dCQUN2RyxlQUFlO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7b0JBQ2pCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzs4QkFFWSxXQUFXO3NCQUFuQixLQUFLO2dCQUVPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sV0FBVztzQkFBdkIsS0FBSztnQkFJTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBSU8sYUFBYTtzQkFBekIsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLGVBQWU7c0JBQTNCLEtBQUs7Z0JBSU8sYUFBYTtzQkFBekIsS0FBSztnQkFJTyxlQUFlO3NCQUEzQixLQUFLO2dCQUlPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSeEFjdGlvbkZhY3RvcnkgfSBmcm9tICdAcngtYW5ndWxhci9zdGF0ZS9hY3Rpb25zJztcbmltcG9ydCB7IGV4dGVuZCwgZ2V0TG9jYWxTdGF0ZSwgaW5qZWN0Tmd0UmVmLCBOZ3RSZWYsIE5ndFJ4U3RvcmUsIE5ndFN0b3JlLCBzdGFydFdpdGhVbmRlZmluZWQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IERlcHRoRG93bnNhbXBsaW5nUGFzcywgRWZmZWN0Q29tcG9zZXIsIEVmZmVjdFBhc3MsIE5vcm1hbFBhc3MsIFJlbmRlclBhc3MgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgaXNXZWJHTDJBdmFpbGFibGUgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuXG5leHRlbmQoeyBHcm91cCB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RwRWZmZWN0Q29tcG9zZXJBcGkge1xuICAgIGNvbXBvc2VyOiBFZmZlY3RDb21wb3NlcjtcbiAgICBub3JtYWxQYXNzOiBOb3JtYWxQYXNzIHwgbnVsbDtcbiAgICBkZXB0aFBhc3M6IERlcHRoRG93bnNhbXBsaW5nUGFzcyB8IG51bGw7XG4gICAgc2NlbmU6IFRIUkVFLlNjZW5lO1xuICAgIGNhbWVyYTogVEhSRUUuQ2FtZXJhO1xuICAgIHJlc29sdXRpb25TY2FsZT86IG51bWJlcjtcbiAgICBzZWxlY3Q6IE5ndHBFZmZlY3RDb21wb3Nlclsnc2VsZWN0J107XG4gICAgZ2V0OiBOZ3RwRWZmZWN0Q29tcG9zZXJbJ2dldCddO1xufVxuXG5leHBvcnQgY29uc3QgTkdUUF9FRkZFQ1RfQ09NUE9TRVJfQVBJID0gbmV3IEluamVjdGlvblRva2VuPE5ndHBFZmZlY3RDb21wb3NlckFwaT4oJ05ndHBFZmZlY3RDb21wb3NlciBBUEknKTtcblxuZnVuY3Rpb24gZWZmZWN0Q29tcG9zZXJBcGlGYWN0b3J5KGNvbXBvc2VyOiBOZ3RwRWZmZWN0Q29tcG9zZXIpIHtcbiAgICBjb25zdCBhcGkgPSB7fSBhcyBOZ3RwRWZmZWN0Q29tcG9zZXJBcGk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcGksIHtcbiAgICAgICAgY29tcG9zZXI6IHsgZ2V0OiAoKSA9PiBjb21wb3Nlci5nZXQoJ2VudGl0aWVzJylbMF0gfSxcbiAgICAgICAgbm9ybWFsUGFzczogeyBnZXQ6ICgpID0+IGNvbXBvc2VyLmdldCgnZW50aXRpZXMnKVsxXSB9LFxuICAgICAgICBkb3duU2FtcGxpbmdQYXNzOiB7IGdldDogKCkgPT4gY29tcG9zZXIuZ2V0KCdlbnRpdGllcycpWzJdIH0sXG4gICAgICAgIHJlc29sdXRpb25TY2FsZTogeyBnZXQ6ICgpID0+IGNvbXBvc2VyLmdldCgncmVzb2x1dGlvblNjYWxlJykgfSxcbiAgICAgICAgc2NlbmU6IHsgZ2V0OiAoKSA9PiBjb21wb3Nlci5nZXQoJ2FjdGl2ZVNjZW5lJykgfSxcbiAgICAgICAgY2FtZXJhOiB7IGdldDogKCkgPT4gY29tcG9zZXIuZ2V0KCdhY3RpdmVDYW1lcmEnKSB9LFxuICAgICAgICBzZWxlY3Q6IHsgZ2V0OiAoKSA9PiBjb21wb3Nlci5zZWxlY3QuYmluZChjb21wb3NlcikgfSxcbiAgICAgICAgZ2V0OiB7IGdldDogKCkgPT4gY29tcG9zZXIuZ2V0LmJpbmQoY29tcG9zZXIpIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gYXBpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHAtZWZmZWN0LWNvbXBvc2VyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtZ3JvdXAgKnJlZj1cImNvbXBvc2VyUmVmXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25ndC1ncm91cD5cbiAgICBgLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE5HVFBfRUZGRUNUX0NPTVBPU0VSX0FQSSwgdXNlRmFjdG9yeTogZWZmZWN0Q29tcG9zZXJBcGlGYWN0b3J5LCBkZXBzOiBbTmd0cEVmZmVjdENvbXBvc2VyXSB9LFxuICAgICAgICBSeEFjdGlvbkZhY3RvcnksXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbTmd0UmVmXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBFZmZlY3RDb21wb3NlciBleHRlbmRzIE5ndFJ4U3RvcmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGNvbXBvc2VyUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG4gICAgQElucHV0KCkgc2V0IGVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGVuYWJsZWQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRlcHRoQnVmZmVyKGRlcHRoQnVmZmVyOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGVwdGhCdWZmZXIgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRpc2FibGVOb3JtYWxQYXNzKGRpc2FibGVOb3JtYWxQYXNzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGlzYWJsZU5vcm1hbFBhc3MgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHN0ZW5jaWxCdWZmZXIoc3RlbmNpbEJ1ZmZlcjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IHN0ZW5jaWxCdWZmZXIgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGF1dG9DbGVhcihhdXRvQ2xlYXI6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBhdXRvQ2xlYXIgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHJlc29sdXRpb25TY2FsZShyZXNvbHV0aW9uU2NhbGU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlc29sdXRpb25TY2FsZSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbXVsdGlzYW1wbGluZyhtdWx0aXNhbXBsaW5nOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBtdWx0aXNhbXBsaW5nIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBmcmFtZUJ1ZmZlclR5cGUoZnJhbWVCdWZmZXJUeXBlOiBUSFJFRS5UZXh0dXJlRGF0YVR5cGUpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmcmFtZUJ1ZmZlclR5cGUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHJlbmRlclByaW9yaXR5KHJlbmRlclByaW9yaXR5OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyByZW5kZXJQcmlvcml0eSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgY2FtZXJhKGNhbWVyYTogVEhSRUUuQ2FtZXJhKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgY2FtZXJhIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzY2VuZShzY2VuZTogVEhSRUUuU2NlbmUpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzY2VuZSB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICByZW5kZXJQcmlvcml0eTogMSxcbiAgICAgICAgICAgIGF1dG9DbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgIG11bHRpc2FtcGxpbmc6IDAsXG4gICAgICAgICAgICBmcmFtZUJ1ZmZlclR5cGU6IFRIUkVFLkhhbGZGbG9hdFR5cGUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9ucyA9IGluamVjdChSeEFjdGlvbkZhY3Rvcnk8eyBzZXRCZWZvcmVSZW5kZXI6IHZvaWQgfT4pLmNyZWF0ZSgpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdhY3RpdmVTY2VuZScsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdCgnc2NlbmUnKSwgdGhpcy5zZWxlY3QoJ3NjZW5lJykucGlwZShzdGFydFdpdGhVbmRlZmluZWQoKSldKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW2RlZmF1bHRTY2VuZSwgc2NlbmVdKSA9PiBzY2VuZSB8fCBkZWZhdWx0U2NlbmUpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2FjdGl2ZUNhbWVyYScsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJyksIHRoaXMuc2VsZWN0KCdjYW1lcmEnKS5waXBlKHN0YXJ0V2l0aFVuZGVmaW5lZCgpKV0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChbZGVmYXVsdENhbWVyYSwgY2FtZXJhXSkgPT4gY2FtZXJhIHx8IGRlZmF1bHRDYW1lcmEpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ2VudGl0aWVzJyxcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdnbCcpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdhY3RpdmVTY2VuZScpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdhY3RpdmVDYW1lcmEnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnbXVsdGlzYW1wbGluZycpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdmcmFtZUJ1ZmZlclR5cGUnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnZGVwdGhCdWZmZXInKS5waXBlKHN0YXJ0V2l0aFVuZGVmaW5lZCgpKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnc3RlbmNpbEJ1ZmZlcicpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdkaXNhYmxlTm9ybWFsUGFzcycpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdyZXNvbHV0aW9uU2NhbGUnKS5waXBlKHN0YXJ0V2l0aFVuZGVmaW5lZCgpKSxcbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoW1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2wsXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2VuZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbWVyYSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpc2FtcGxpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmcmFtZUJ1ZmZlclR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXB0aEJ1ZmZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZW5jaWxCdWZmZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlTm9ybWFsUGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25TY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2ViR0wyQXZhaWxhYmxlID0gaXNXZWJHTDJBdmFpbGFibGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluaXRpYWxpemUgY29tcG9zZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVmZmVjdENvbXBvc2VyID0gbmV3IEVmZmVjdENvbXBvc2VyKGdsLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGhCdWZmZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlbmNpbEJ1ZmZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXNhbXBsaW5nOiBtdWx0aXNhbXBsaW5nID4gMCAmJiB3ZWJHTDJBdmFpbGFibGUgPyBtdWx0aXNhbXBsaW5nIDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZUJ1ZmZlclR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWRkIHJlbmRlciBwYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RDb21wb3Nlci5hZGRQYXNzKG5ldyBSZW5kZXJQYXNzKHNjZW5lLCBjYW1lcmEpKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIG5vcm1hbCBwYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZG93blNhbXBsaW5nUGFzcyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbm9ybWFsUGFzcyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRpc2FibGVOb3JtYWxQYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsUGFzcyA9IG5ldyBOb3JtYWxQYXNzKHNjZW5lLCBjYW1lcmEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbFBhc3MuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdENvbXBvc2VyLmFkZFBhc3Mobm9ybWFsUGFzcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc29sdXRpb25TY2FsZSAhPT0gdW5kZWZpbmVkICYmIHdlYkdMMkF2YWlsYWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3duU2FtcGxpbmdQYXNzID0gbmV3IERlcHRoRG93bnNhbXBsaW5nUGFzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxCdWZmZXI6IG5vcm1hbFBhc3MudGV4dHVyZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb25TY2FsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25TYW1wbGluZ1Bhc3MuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RDb21wb3Nlci5hZGRQYXNzKGRvd25TYW1wbGluZ1Bhc3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtlZmZlY3RDb21wb3Nlciwgbm9ybWFsUGFzcywgZG93blNhbXBsaW5nUGFzc107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zZXRDb21wb3NlclNpemUoKTtcbiAgICAgICAgdGhpcy5zZXRFZmZlY3RQYXNzZWQoKTtcbiAgICAgICAgdGhpcy5zZXRCZWZvcmVSZW5kZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENvbXBvc2VyU2l6ZSgpIHtcbiAgICAgICAgdGhpcy5ob2xkKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3QoJ2VudGl0aWVzJyksIHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyldKSxcbiAgICAgICAgICAgIChbW2NvbXBvc2VyXSwgc2l6ZV0pID0+IHZvaWQgKGNvbXBvc2VyIGFzIEVmZmVjdENvbXBvc2VyKS5zZXRTaXplKHNpemUud2lkdGgsIHNpemUuaGVpZ2h0KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RWZmZWN0UGFzc2VkKCkge1xuICAgICAgICB0aGlzLmVmZmVjdChcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdlbnRpdGllcycpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdhY3RpdmVDYW1lcmEnKSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvc2VyUmVmLmNoaWxkcmVuJCgnbm9uT2JqZWN0cycpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAoW1tjb21wb3Nlciwgbm9ybWFsUGFzcywgZG93blNhbXBsaW5nUGFzc10sIGNhbWVyYSwgZWZmZWN0c10pID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZWZmZWN0UGFzczogRWZmZWN0UGFzcztcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9zZXJSZWYubmF0aXZlRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhnZXRMb2NhbFN0YXRlKHRoaXMuY29tcG9zZXJSZWYubmF0aXZlRWxlbWVudCkpLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBjb21wb3NlclxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBlZmZlY3RQYXNzID0gbmV3IEVmZmVjdFBhc3MoY2FtZXJhLCAuLi5lZmZlY3RzKTtcbiAgICAgICAgICAgICAgICAgICAgZWZmZWN0UGFzcy5yZW5kZXJUb1NjcmVlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvc2VyLmFkZFBhc3MoZWZmZWN0UGFzcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxQYXNzKSBub3JtYWxQYXNzLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZG93blNhbXBsaW5nUGFzcykgZG93blNhbXBsaW5nUGFzcy5lbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWZmZWN0UGFzcykgY29tcG9zZXI/LnJlbW92ZVBhc3MoZWZmZWN0UGFzcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxQYXNzKSBub3JtYWxQYXNzLmVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvd25TYW1wbGluZ1Bhc3MpIGRvd25TYW1wbGluZ1Bhc3MuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRCZWZvcmVSZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlclByaW9yaXR5ID0gdGhpcy5nZXQoJ3JlbmRlclByaW9yaXR5Jyk7XG4gICAgICAgIGNvbnN0IGVuYWJsZWQgPSB0aGlzLmdldCgnZW5hYmxlZCcpO1xuICAgICAgICB0aGlzLmVmZmVjdCh0aGlzLmFjdGlvbnMuc2V0QmVmb3JlUmVuZGVyJCwgKCkgPT5cbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZ2V0KCdpbnRlcm5hbCcpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoeyBkZWx0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtjb21wb3Nlcl0gPSB0aGlzLmdldCgnZW50aXRpZXMnKSB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5hYmxlZCA9IHRoaXMuZ2V0KCdlbmFibGVkJyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF1dG9DbGVhciA9IHRoaXMuZ2V0KCdhdXRvQ2xlYXInKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2wgPSB0aGlzLnN0b3JlLmdldCgnZ2wnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbXBvc2VyICYmIGVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdsLmF1dG9DbGVhciA9IGF1dG9DbGVhcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvc2VyLnJlbmRlcihkZWx0YSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVuYWJsZWQgPyByZW5kZXJQcmlvcml0eSA6IDBcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zLnNldEJlZm9yZVJlbmRlcigpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input } from '@angular/core';
3
- import { NgtArgs, NgtRxStore, NgtStore, injectNgtRef, startWithUndefined } from 'angular-three';
3
+ import { NgtArgs, NgtRxStore, NgtStore, injectNgtRef, startWithUndefined, NgtRef } from 'angular-three';
4
4
  import { NgtpEffect, simpleChangesToStateObject, componentInputsToCombinedStream, NGTP_EFFECT_COMPOSER_API } from 'angular-three-postprocessing';
5
5
  import { BlendFunction, BloomEffect, BrightnessContrastEffect, ColorDepthEffect, DepthEffect, DotScreenEffect, HueSaturationEffect, LUT3DEffect, NoiseEffect, ScanlineEffect, SepiaEffect, SSAOEffect, TiltShiftEffect, ToneMappingEffect, VignetteEffect } from 'postprocessing';
6
6
  import { combineLatest, map } from 'rxjs';
@@ -191,17 +191,21 @@ class NgtpLUT extends NgtRxStore {
191
191
  }
192
192
  NgtpLUT.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, deps: null, target: i0.ɵɵFactoryTarget.Component });
193
193
  NgtpLUT.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { blendFunction: "blendFunction", tetrahedralInterpolation: "tetrahedralInterpolation", lutRef: "lutRef", lut: "lut" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
194
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
195
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
194
+ <ng-container *args="[get('effect')]">
195
+ <ngt-primitive *ref="lutRef" />
196
+ </ng-container>
197
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
196
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, decorators: [{
197
199
  type: Component,
198
200
  args: [{
199
201
  selector: 'ngtp-lut',
200
202
  standalone: true,
201
203
  template: `
202
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
204
+ <ng-container *args="[get('effect')]">
205
+ <ngt-primitive *ref="lutRef" />
206
+ </ng-container>
203
207
  `,
204
- imports: [NgtArgs],
208
+ imports: [NgtArgs, NgtRef],
205
209
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
206
210
  inputs: ['blendFunction', 'tetrahedralInterpolation'],
207
211
  }]
@@ -335,17 +339,21 @@ class NgtpSSAO extends NgtRxStore {
335
339
  }
336
340
  NgtpSSAO.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, deps: null, target: i0.ɵɵFactoryTarget.Component });
337
341
  NgtpSSAO.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpSSAO, isStandalone: true, selector: "ngtp-ssao", inputs: { blendFunction: "blendFunction", distanceScaling: "distanceScaling", depthAwareUpsampling: "depthAwareUpsampling", normalDepthBuffer: "normalDepthBuffer", samples: "samples", rings: "rings", worldDistanceThreshold: "worldDistanceThreshold", worldDistanceFalloff: "worldDistanceFalloff", worldProximityThreshold: "worldProximityThreshold", worldProximityFalloff: "worldProximityFalloff", distanceThreshold: "distanceThreshold", distanceFalloff: "distanceFalloff", rangeThreshold: "rangeThreshold", rangeFalloff: "rangeFalloff", minRadiusScale: "minRadiusScale", luminanceInfluence: "luminanceInfluence", radius: "radius", intensity: "intensity", bias: "bias", fade: "fade", color: "color", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", ssaoRef: "ssaoRef" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
338
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
339
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
342
+ <ng-container *args="[get('effect')]">
343
+ <ngt-primitive *ref="ssaoRef" />
344
+ </ng-container>
345
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
340
346
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, decorators: [{
341
347
  type: Component,
342
348
  args: [{
343
349
  selector: 'ngtp-ssao',
344
350
  standalone: true,
345
351
  template: `
346
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
352
+ <ng-container *args="[get('effect')]">
353
+ <ngt-primitive *ref="ssaoRef" />
354
+ </ng-container>
347
355
  `,
348
- imports: [NgtArgs],
356
+ imports: [NgtArgs, NgtRef],
349
357
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
350
358
  inputs: [
351
359
  'blendFunction',
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-postprocessing-effects.mjs","sources":["../../../../libs/angular-three-postprocessing/effects/src/lib/bloom/bloom.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/brightness-contrast/brightness-contrast.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/color-depth/color-depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/depth/depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/dot-screen/dot-screen.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/hue-saturation/hue-saturation.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/lut/lut.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/noise/noise.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/scanline/scanline.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/sepia/sepia.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/ssao/ssao.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tilt-shift/tilt-shift.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tone-mapping/tone-mapping.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/vignette/vignette.ts","../../../../libs/angular-three-postprocessing/effects/src/angular-three-postprocessing-effects.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, BloomEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-bloom',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'mipmapBlur',\n 'luminanceThreshold',\n 'luminanceSmoothing',\n 'intensity',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n 'kernelSize',\n ],\n})\nexport class NgtpBloom extends NgtpEffect<BloomEffect> {\n override get effectConstructor() {\n return BloomEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BrightnessContrastEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-brightness-contrast',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['brightness', 'contrast'],\n})\nexport class NgtpBrightnessContrast extends NgtpEffect<BrightnessContrastEffect> {\n override get effectConstructor() {\n return BrightnessContrastEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ColorDepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-color-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['bits'],\n})\nexport class NgtpColorDepth extends NgtpEffect<ColorDepthEffect> {\n override get effectConstructor() {\n return ColorDepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['inverted'],\n})\nexport class NgtpDepth extends NgtpEffect<DepthEffect> {\n override get effectConstructor() {\n return DepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DotScreenEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-dot-screen',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['angle', 'scale'],\n})\nexport class NgtpDotScreen extends NgtpEffect<DotScreenEffect> {\n override get effectConstructor() {\n return DotScreenEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { HueSaturationEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-hue-saturation',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['hue', 'saturation'],\n})\nexport class NgtpHueSaturation extends NgtpEffect<HueSaturationEffect> {\n override get effectConstructor() {\n return HueSaturationEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { componentInputsToCombinedStream, simpleChangesToStateObject } from 'angular-three-postprocessing';\nimport { LUT3DEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-lut',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" [ref]=\"lutRef\" />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['blendFunction', 'tetrahedralInterpolation'],\n})\nexport class NgtpLUT extends NgtRxStore implements OnInit, OnChanges {\n private readonly store = inject(NgtStore);\n\n @Input() lutRef = injectNgtRef<LUT3DEffect>();\n\n @Input() set lut(lut: THREE.Texture) {\n this.set({ lut });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({ ...s, ...simpleChangesToStateObject(changes, ['lutRef', 'lut']) }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.select('lut'),\n componentInputsToCombinedStream(\n this,\n (input) => input.propName !== 'lutRef' && input.propName !== 'lut'\n ),\n ]).pipe(map(([lut, props]) => new LUT3DEffect(lut, props)))\n );\n\n this.hold(\n combineLatest([\n this.select('lut'),\n this.select('effect'),\n this.select('tetrahedralInterpolation').pipe(startWithUndefined()),\n ]),\n ([lut, effect, tetrahedralInterpolation]) => {\n const invalidate = this.store.get('invalidate');\n if (lut) effect.lut = lut;\n if (tetrahedralInterpolation) effect.tetrahedralInterpolation = tetrahedralInterpolation;\n invalidate();\n }\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, NoiseEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-noise',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['premultiply'],\n})\nexport class NgtpNoise extends NgtpEffect<NoiseEffect> {\n override get effectConstructor() {\n return NoiseEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.COLOR_DODGE;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, ScanlineEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-scanline',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['density'],\n})\nexport class NgtpScanline extends NgtpEffect<ScanlineEffect> {\n override get effectConstructor() {\n return ScanlineEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.OVERLAY;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { SepiaEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-sepia',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['intensity'],\n})\nexport class NgtpSepia extends NgtpEffect<SepiaEffect> {\n override get effectConstructor() {\n return SepiaEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRxStore } from 'angular-three';\nimport {\n componentInputsToCombinedStream,\n NGTP_EFFECT_COMPOSER_API,\n simpleChangesToStateObject,\n} from 'angular-three-postprocessing';\nimport { BlendFunction, SSAOEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-ssao',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" [ref]=\"ssaoRef\" />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'blendFunction',\n 'distanceScaling',\n 'depthAwareUpsampling',\n 'normalDepthBuffer',\n 'samples',\n 'rings',\n 'worldDistanceThreshold',\n 'worldDistanceFalloff',\n 'worldProximityThreshold',\n 'worldProximityFalloff',\n 'distanceThreshold',\n 'distanceFalloff',\n 'rangeThreshold',\n 'rangeFalloff',\n 'minRadiusScale',\n 'luminanceInfluence',\n 'radius',\n 'intensity',\n 'bias',\n 'fade',\n 'color',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n ],\n})\nexport class NgtpSSAO extends NgtRxStore implements OnInit, OnChanges {\n private readonly effectComposerApi = inject(NGTP_EFFECT_COMPOSER_API);\n\n @Input() ssaoRef = injectNgtRef<SSAOEffect>();\n\n override initialize(): void {\n super.initialize();\n this.set({\n blendFunction: BlendFunction.MULTIPLY,\n samples: 30,\n rings: 4,\n distanceThreshold: 1.0,\n distanceFalloff: 0.0,\n rangeThreshold: 0.5,\n rangeFalloff: 0.1,\n luminanceInfluence: 0.9,\n radius: 20,\n scale: 0.5,\n bias: 0.5,\n intensity: 1.0,\n color: null!,\n depthAwareUpsampling: true,\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['ssaoRef']),\n }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.effectComposerApi.select('entities'),\n this.effectComposerApi.select('activeCamera'),\n componentInputsToCombinedStream(this, (input) => input.propName !== 'ssaoRef'),\n ]).pipe(\n map(([[, normalPass, downSamplingPass], camera, props]) => {\n const { resolutionScale } = this.effectComposerApi;\n\n if (props['normalDepthBuffer'] === undefined) {\n props['normalDepthBuffer'] = downSamplingPass ? downSamplingPass.texture : null;\n }\n\n if (props['resolutionScale'] === undefined) {\n props['resolutionScale'] = resolutionScale ?? 1;\n }\n\n return new SSAOEffect(\n camera,\n normalPass && !downSamplingPass ? normalPass.texture : null,\n props as ConstructorParameters<typeof SSAOEffect>[2]\n );\n })\n )\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, TiltShiftEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tilt-shift',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'offset',\n 'rotation',\n 'focusArea',\n 'feather',\n 'bias',\n 'kernelSize',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n ],\n})\nexport class NgtpTiltShift extends NgtpEffect<TiltShiftEffect> {\n override get effectConstructor() {\n return TiltShiftEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ToneMappingEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tone-mapping',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'adaptive',\n 'mode',\n 'resolution',\n 'maxLuminance',\n 'whitePoint',\n 'middleGrey',\n 'minLuminance',\n 'averageLuminance',\n 'adaptationRate',\n ],\n})\nexport class NgtpToneMapping extends NgtpEffect<ToneMappingEffect> {\n override get effectConstructor() {\n return ToneMappingEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { VignetteEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-vignette',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['technique', 'eskil', 'offset', 'darkness'],\n})\nexport class NgtpVignette extends NgtpEffect<VignetteEffect> {\n override get effectConstructor() {\n return VignetteEffect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-three-postprocessing-effects.mjs","sources":["../../../../libs/angular-three-postprocessing/effects/src/lib/bloom/bloom.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/brightness-contrast/brightness-contrast.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/color-depth/color-depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/depth/depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/dot-screen/dot-screen.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/hue-saturation/hue-saturation.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/lut/lut.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/noise/noise.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/scanline/scanline.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/sepia/sepia.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/ssao/ssao.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tilt-shift/tilt-shift.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tone-mapping/tone-mapping.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/vignette/vignette.ts","../../../../libs/angular-three-postprocessing/effects/src/angular-three-postprocessing-effects.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, BloomEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-bloom',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'mipmapBlur',\n 'luminanceThreshold',\n 'luminanceSmoothing',\n 'intensity',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n 'kernelSize',\n ],\n})\nexport class NgtpBloom extends NgtpEffect<BloomEffect> {\n override get effectConstructor() {\n return BloomEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BrightnessContrastEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-brightness-contrast',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['brightness', 'contrast'],\n})\nexport class NgtpBrightnessContrast extends NgtpEffect<BrightnessContrastEffect> {\n override get effectConstructor() {\n return BrightnessContrastEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ColorDepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-color-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['bits'],\n})\nexport class NgtpColorDepth extends NgtpEffect<ColorDepthEffect> {\n override get effectConstructor() {\n return ColorDepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['inverted'],\n})\nexport class NgtpDepth extends NgtpEffect<DepthEffect> {\n override get effectConstructor() {\n return DepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DotScreenEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-dot-screen',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['angle', 'scale'],\n})\nexport class NgtpDotScreen extends NgtpEffect<DotScreenEffect> {\n override get effectConstructor() {\n return DotScreenEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { HueSaturationEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-hue-saturation',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['hue', 'saturation'],\n})\nexport class NgtpHueSaturation extends NgtpEffect<HueSaturationEffect> {\n override get effectConstructor() {\n return HueSaturationEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { componentInputsToCombinedStream, simpleChangesToStateObject } from 'angular-three-postprocessing';\nimport { LUT3DEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-lut',\n standalone: true,\n template: `\n <ng-container *args=\"[get('effect')]\">\n <ngt-primitive *ref=\"lutRef\" />\n </ng-container>\n `,\n imports: [NgtArgs, NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['blendFunction', 'tetrahedralInterpolation'],\n})\nexport class NgtpLUT extends NgtRxStore implements OnInit, OnChanges {\n private readonly store = inject(NgtStore);\n\n @Input() lutRef = injectNgtRef<LUT3DEffect>();\n\n @Input() set lut(lut: THREE.Texture) {\n this.set({ lut });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({ ...s, ...simpleChangesToStateObject(changes, ['lutRef', 'lut']) }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.select('lut'),\n componentInputsToCombinedStream(\n this,\n (input) => input.propName !== 'lutRef' && input.propName !== 'lut'\n ),\n ]).pipe(map(([lut, props]) => new LUT3DEffect(lut, props)))\n );\n\n this.hold(\n combineLatest([\n this.select('lut'),\n this.select('effect'),\n this.select('tetrahedralInterpolation').pipe(startWithUndefined()),\n ]),\n ([lut, effect, tetrahedralInterpolation]) => {\n const invalidate = this.store.get('invalidate');\n if (lut) effect.lut = lut;\n if (tetrahedralInterpolation) effect.tetrahedralInterpolation = tetrahedralInterpolation;\n invalidate();\n }\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, NoiseEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-noise',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['premultiply'],\n})\nexport class NgtpNoise extends NgtpEffect<NoiseEffect> {\n override get effectConstructor() {\n return NoiseEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.COLOR_DODGE;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, ScanlineEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-scanline',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['density'],\n})\nexport class NgtpScanline extends NgtpEffect<ScanlineEffect> {\n override get effectConstructor() {\n return ScanlineEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.OVERLAY;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { SepiaEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-sepia',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['intensity'],\n})\nexport class NgtpSepia extends NgtpEffect<SepiaEffect> {\n override get effectConstructor() {\n return SepiaEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRef, NgtRxStore } from 'angular-three';\nimport {\n componentInputsToCombinedStream,\n NGTP_EFFECT_COMPOSER_API,\n simpleChangesToStateObject,\n} from 'angular-three-postprocessing';\nimport { BlendFunction, SSAOEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-ssao',\n standalone: true,\n template: `\n <ng-container *args=\"[get('effect')]\">\n <ngt-primitive *ref=\"ssaoRef\" />\n </ng-container>\n `,\n imports: [NgtArgs, NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'blendFunction',\n 'distanceScaling',\n 'depthAwareUpsampling',\n 'normalDepthBuffer',\n 'samples',\n 'rings',\n 'worldDistanceThreshold',\n 'worldDistanceFalloff',\n 'worldProximityThreshold',\n 'worldProximityFalloff',\n 'distanceThreshold',\n 'distanceFalloff',\n 'rangeThreshold',\n 'rangeFalloff',\n 'minRadiusScale',\n 'luminanceInfluence',\n 'radius',\n 'intensity',\n 'bias',\n 'fade',\n 'color',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n ],\n})\nexport class NgtpSSAO extends NgtRxStore implements OnInit, OnChanges {\n private readonly effectComposerApi = inject(NGTP_EFFECT_COMPOSER_API);\n\n @Input() ssaoRef = injectNgtRef<SSAOEffect>();\n\n override initialize(): void {\n super.initialize();\n this.set({\n blendFunction: BlendFunction.MULTIPLY,\n samples: 30,\n rings: 4,\n distanceThreshold: 1.0,\n distanceFalloff: 0.0,\n rangeThreshold: 0.5,\n rangeFalloff: 0.1,\n luminanceInfluence: 0.9,\n radius: 20,\n scale: 0.5,\n bias: 0.5,\n intensity: 1.0,\n color: null!,\n depthAwareUpsampling: true,\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['ssaoRef']),\n }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.effectComposerApi.select('entities'),\n this.effectComposerApi.select('activeCamera'),\n componentInputsToCombinedStream(this, (input) => input.propName !== 'ssaoRef'),\n ]).pipe(\n map(([[, normalPass, downSamplingPass], camera, props]) => {\n const { resolutionScale } = this.effectComposerApi;\n\n if (props['normalDepthBuffer'] === undefined) {\n props['normalDepthBuffer'] = downSamplingPass ? downSamplingPass.texture : null;\n }\n\n if (props['resolutionScale'] === undefined) {\n props['resolutionScale'] = resolutionScale ?? 1;\n }\n\n return new SSAOEffect(\n camera,\n normalPass && !downSamplingPass ? normalPass.texture : null,\n props as ConstructorParameters<typeof SSAOEffect>[2]\n );\n })\n )\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, TiltShiftEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tilt-shift',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'offset',\n 'rotation',\n 'focusArea',\n 'feather',\n 'bias',\n 'kernelSize',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n ],\n})\nexport class NgtpTiltShift extends NgtpEffect<TiltShiftEffect> {\n override get effectConstructor() {\n return TiltShiftEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ToneMappingEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tone-mapping',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'adaptive',\n 'mode',\n 'resolution',\n 'maxLuminance',\n 'whitePoint',\n 'middleGrey',\n 'minLuminance',\n 'averageLuminance',\n 'adaptationRate',\n ],\n})\nexport class NgtpToneMapping extends NgtpEffect<ToneMappingEffect> {\n override get effectConstructor() {\n return ToneMappingEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { VignetteEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-vignette',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['technique', 'eskil', 'offset', 'darkness'],\n})\nexport class NgtpVignette extends NgtpEffect<VignetteEffect> {\n override get effectConstructor() {\n return VignetteEffect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Directive, Input, reflectComponentType, InjectionToken, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
- import { NgtRxStore, NgtStore, startWithUndefined, extend, injectNgtRef, getLocalState } from 'angular-three';
3
+ import { NgtRxStore, NgtStore, startWithUndefined, extend, injectNgtRef, getLocalState, NgtRef } from 'angular-three';
4
4
  import { BlendFunction, EffectComposer, RenderPass, NormalPass, DepthDownsamplingPass, EffectPass } from 'postprocessing';
5
5
  import { combineLatest, map } from 'rxjs';
6
6
  import { RxActionFactory } from '@rx-angular/state/actions';
@@ -242,17 +242,17 @@ NgtpEffectComposer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
242
242
  { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },
243
243
  RxActionFactory,
244
244
  ], usesInheritance: true, ngImport: i0, template: `
245
- <ngt-group [ref]="composerRef">
245
+ <ngt-group *ref="composerRef">
246
246
  <ng-content />
247
247
  </ngt-group>
248
- `, isInline: true });
248
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
249
249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpEffectComposer, decorators: [{
250
250
  type: Component,
251
251
  args: [{
252
252
  selector: 'ngtp-effect-composer',
253
253
  standalone: true,
254
254
  template: `
255
- <ngt-group [ref]="composerRef">
255
+ <ngt-group *ref="composerRef">
256
256
  <ng-content />
257
257
  </ngt-group>
258
258
  `,
@@ -260,6 +260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
260
260
  { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },
261
261
  RxActionFactory,
262
262
  ],
263
+ imports: [NgtRef],
263
264
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
264
265
  }]
265
266
  }], propDecorators: { composerRef: [{
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group [ref]=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n if (composer && enabled) {\n gl.autoClear = autoClear;\n composer.render(delta);\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAMM,MAAgB,UAA6B,SAAQ,UAAU,CAAA;AADrE,IAAA,WAAA,GAAA;;AAYc,QAAA,IAAA,CAAA,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;KAkC/C;IA7CG,IAAa,aAAa,CAAC,aAA4B,EAAA;AACnD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,OAAO,CAAC,OAAe,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KACzB;AAOD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACT,CAAC,CAAA,EACD,0BAA0B,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CACtE,CAAA,CAAC,CAAC;KACP;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAI;AACpE,YAAA,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC;AAC9B,YAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AACvB,YAAA,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAEO,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CACL,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACpD,CAAC,EACF,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,KAAI;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,CAAC,aAAa;AAC1B,gBAAA,CAAC,aAAa,IAAI,aAAa,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;YAClF,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;AACpE,YAAA,UAAU,EAAE,CAAC;AACjB,SAAC,CACJ,CAAC;KACL;;uGA7CiB,UAAU,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;8BAEO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,OAAO,EAAA,CAAA;sBAAnB,KAAK;;SA2CM,0BAA0B,CAAC,OAAsB,EAAE,eAAyB,EAAE,EAAA;AAC1F,IAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACzC,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAI;AACzD,QAAA,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;AAC/B,QAAA,OAAO,GAAG,CAAC;KACd,EAAE,EAAkB,CAAC,CAAC;AAC3B,CAAC;AAEK,SAAU,+BAA+B,CAC3C,SAAqB,EACrB,QAA2E,GAAA,MAAM,IAAI,EAAA;;AAErF,IAAA,MAAM,MAAM,GACR,CAAA,CAAA,EAAA,GAAA,oBAAoB,CAAC,SAAS,CAAC,WAAwB,CAAC,MAClD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAA,CACvB,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAI,EAAE,CAAC;IAE9C,OAAO,aAAa,CAChB,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI;QAC9B,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YACpC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC9C,SAAA;AACD,QAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AACzB,QAAA,OAAO,QAAQ,CAAC;AACpB,KAAC,EAAE,EAAqC,CAAC,CAC5C,CAAC;AACN;;AC3EA,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;MAaL,wBAAwB,GAAG,IAAI,cAAc,CAAwB,wBAAwB,EAAE;AAE5G,SAAS,wBAAwB,CAAC,QAA4B,EAAA;IAC1D,MAAM,GAAG,GAAG,EAA2B,CAAC;AAExC,IAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE;AACzB,QAAA,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AACpD,QAAA,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AACtD,QAAA,gBAAgB,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5D,QAAA,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;AAC/D,QAAA,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;AACjD,QAAA,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;AACnD,QAAA,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACrD,QAAA,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAClD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAgBK,MAAO,kBAAmB,SAAQ,UAAU,CAAA;AAdlD,IAAA,WAAA,GAAA;;AAea,QAAA,IAAW,CAAA,WAAA,GAAG,YAAY,EAAS,CAAC;AAyD5B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzB,QAAA,IAAO,CAAA,OAAA,GAAG,MAAM,EAAC,eAA0C,EAAC,CAAC,MAAM,EAAE,CAAC;KA2I1F;IAnMG,IAAa,OAAO,CAAC,OAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KACzB;IAED,IAAa,WAAW,CAAC,WAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;KAC7B;IAED,IAAa,iBAAiB,CAAC,iBAA0B,EAAA;AACrD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;KACnC;IAED,IAAa,aAAa,CAAC,aAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,SAAS,CAAC,SAAkB,EAAA;AACrC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;KAC3B;IAED,IAAa,eAAe,CAAC,eAAuB,EAAA;AAChD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;KACjC;IAED,IAAa,aAAa,CAAC,aAAqB,EAAA;AAC5C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,eAAe,CAAC,eAAsC,EAAA;AAC/D,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;KACjC;IAED,IAAa,cAAc,CAAC,cAAsB,EAAA;AAC9C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;KAChC;IAED,IAAa,MAAM,CAAC,MAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;KACxB;IAED,IAAa,KAAK,CAAC,KAAkB,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;KACvB;IAEQ,UAAU,GAAA;QACf,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC;AACL,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,KAAK,CAAC,aAAa;AACvC,SAAA,CAAC,CAAC;KACN;IAKD,QAAQ,GAAA;QACJ,IAAI,CAAC,OAAO,CACR,aAAa,EACb,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7F,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,YAAY,CAAC,CACxD,CACJ,CAAC;QAEF,IAAI,CAAC,OAAO,CACR,cAAc,EACd,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/F,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,MAAM,IAAI,aAAa,CAAC,CAC5D,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CACR,UAAU,EACV,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3B,YAAA,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC5D,CAAC,CAAC,IAAI,CACH,GAAG,CACC,CAAC,CACG,EAAE,EACF,KAAK,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EAClB,KAAI;AACD,YAAA,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;;AAE5C,YAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE;gBAC1C,WAAW;gBACX,aAAa;AACb,gBAAA,aAAa,EAAE,aAAa,GAAG,CAAC,IAAI,eAAe,GAAG,aAAa,GAAG,CAAC;gBACvE,eAAe;AAClB,aAAA,CAAC,CAAC;;YAGH,cAAc,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;;YAGtD,IAAI,gBAAgB,GAAG,IAAI,CAAC;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,iBAAiB,EAAE;gBACpB,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3C,gBAAA,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3B,gBAAA,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,gBAAA,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,EAAE;oBAClD,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;wBACzC,YAAY,EAAE,UAAU,CAAC,OAAO;wBAChC,eAAe;AAClB,qBAAA,CAAC,CAAC;AACH,oBAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AACjC,oBAAA,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC5C,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;SACzD,CACJ,CACJ,CACJ,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAEO,eAAe,GAAA;QACnB,IAAI,CAAC,IAAI,CACL,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACnE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,KAAM,QAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAC7F,CAAC;KACL;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CACP,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3B,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC;AAC3C,SAAA,CAAC,EACF,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAI;AAC5D,YAAA,IAAI,UAAsB,CAAC;AAC3B,YAAA,IACI,IAAI,CAAC,WAAW,CAAC,aAAa;AAC9B,gBAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;AACjE,gBAAA,QAAQ,EACV;gBACE,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AAChD,gBAAA,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;AACjC,gBAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,gBAAA,IAAI,UAAU;AAAE,oBAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC1C,gBAAA,IAAI,gBAAgB;AAAE,oBAAA,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;AACzD,aAAA;AAED,YAAA,OAAO,MAAK;AACR,gBAAA,IAAI,UAAU;oBAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,UAAU,CAAC,UAAU,CAAC,CAAC;AACjD,gBAAA,IAAI,UAAU;AAAE,oBAAA,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3C,gBAAA,IAAI,gBAAgB;AAAE,oBAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3D,aAAC,CAAC;AACN,SAAC,CACJ,CAAC;KACL;IAEO,eAAe,GAAA;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAChC,CAAC,EAAE,KAAK,EAAE,KAAI;AACV,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,QAAQ,IAAI,OAAO,EAAE;AACrB,gBAAA,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;AACzB,gBAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1B,aAAA;AACL,SAAC,EACD,OAAO,GAAG,cAAc,GAAG,CAAC,CAC/B,CACJ,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;KAClC;;+GArMQ,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EANhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE;QACvG,eAAe;KAClB,EARS,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAOQ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,IAAA,CAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAA,kBAAA,CAAoB,EAAE;wBACvG,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBACpC,CAAA;8BAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAIO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAIO,iBAAiB,EAAA,CAAA;sBAA7B,KAAK;gBAIO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAIO,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAIO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAIO,cAAc,EAAA,CAAA;sBAA1B,KAAK;gBAIO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAIO,KAAK,EAAA,CAAA;sBAAjB,KAAK;;;AClGV;;AAEG;;;;"}
1
+ {"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group *ref=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n imports: [NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n if (composer && enabled) {\n gl.autoClear = autoClear;\n composer.render(delta);\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAMM,MAAgB,UAA6B,SAAQ,UAAU,CAAA;AADrE,IAAA,WAAA,GAAA;;AAYc,QAAA,IAAA,CAAA,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;KAkC/C;IA7CG,IAAa,aAAa,CAAC,aAA4B,EAAA;AACnD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,OAAO,CAAC,OAAe,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KACzB;AAOD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACT,CAAC,CAAA,EACD,0BAA0B,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CACtE,CAAA,CAAC,CAAC;KACP;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAI;AACpE,YAAA,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC;AAC9B,YAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AACvB,YAAA,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAEO,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CACL,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACpD,CAAC,EACF,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,KAAI;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,CAAC,aAAa;AAC1B,gBAAA,CAAC,aAAa,IAAI,aAAa,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;YAClF,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;AACpE,YAAA,UAAU,EAAE,CAAC;AACjB,SAAC,CACJ,CAAC;KACL;;uGA7CiB,UAAU,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;8BAEO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,OAAO,EAAA,CAAA;sBAAnB,KAAK;;SA2CM,0BAA0B,CAAC,OAAsB,EAAE,eAAyB,EAAE,EAAA;AAC1F,IAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACzC,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAI;AACzD,QAAA,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;AAC/B,QAAA,OAAO,GAAG,CAAC;KACd,EAAE,EAAkB,CAAC,CAAC;AAC3B,CAAC;AAEK,SAAU,+BAA+B,CAC3C,SAAqB,EACrB,QAA2E,GAAA,MAAM,IAAI,EAAA;;AAErF,IAAA,MAAM,MAAM,GACR,CAAA,CAAA,EAAA,GAAA,oBAAoB,CAAC,SAAS,CAAC,WAAwB,CAAC,MAClD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAA,CACvB,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAI,EAAE,CAAC;IAE9C,OAAO,aAAa,CAChB,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI;QAC9B,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YACpC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC9C,SAAA;AACD,QAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AACzB,QAAA,OAAO,QAAQ,CAAC;AACpB,KAAC,EAAE,EAAqC,CAAC,CAC5C,CAAC;AACN;;AC3EA,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;MAaL,wBAAwB,GAAG,IAAI,cAAc,CAAwB,wBAAwB,EAAE;AAE5G,SAAS,wBAAwB,CAAC,QAA4B,EAAA;IAC1D,MAAM,GAAG,GAAG,EAA2B,CAAC;AAExC,IAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE;AACzB,QAAA,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AACpD,QAAA,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AACtD,QAAA,gBAAgB,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5D,QAAA,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;AAC/D,QAAA,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;AACjD,QAAA,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;AACnD,QAAA,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACrD,QAAA,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAClD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAiBK,MAAO,kBAAmB,SAAQ,UAAU,CAAA;AAflD,IAAA,WAAA,GAAA;;AAgBa,QAAA,IAAW,CAAA,WAAA,GAAG,YAAY,EAAS,CAAC;AAyD5B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzB,QAAA,IAAO,CAAA,OAAA,GAAG,MAAM,EAAC,eAA0C,EAAC,CAAC,MAAM,EAAE,CAAC;KA2I1F;IAnMG,IAAa,OAAO,CAAC,OAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KACzB;IAED,IAAa,WAAW,CAAC,WAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;KAC7B;IAED,IAAa,iBAAiB,CAAC,iBAA0B,EAAA;AACrD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;KACnC;IAED,IAAa,aAAa,CAAC,aAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,SAAS,CAAC,SAAkB,EAAA;AACrC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;KAC3B;IAED,IAAa,eAAe,CAAC,eAAuB,EAAA;AAChD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;KACjC;IAED,IAAa,aAAa,CAAC,aAAqB,EAAA;AAC5C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,eAAe,CAAC,eAAsC,EAAA;AAC/D,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;KACjC;IAED,IAAa,cAAc,CAAC,cAAsB,EAAA;AAC9C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;KAChC;IAED,IAAa,MAAM,CAAC,MAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;KACxB;IAED,IAAa,KAAK,CAAC,KAAkB,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;KACvB;IAEQ,UAAU,GAAA;QACf,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC;AACL,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,KAAK,CAAC,aAAa;AACvC,SAAA,CAAC,CAAC;KACN;IAKD,QAAQ,GAAA;QACJ,IAAI,CAAC,OAAO,CACR,aAAa,EACb,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7F,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,YAAY,CAAC,CACxD,CACJ,CAAC;QAEF,IAAI,CAAC,OAAO,CACR,cAAc,EACd,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/F,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,MAAM,IAAI,aAAa,CAAC,CAC5D,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CACR,UAAU,EACV,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3B,YAAA,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC5D,CAAC,CAAC,IAAI,CACH,GAAG,CACC,CAAC,CACG,EAAE,EACF,KAAK,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EAClB,KAAI;AACD,YAAA,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;;AAE5C,YAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE;gBAC1C,WAAW;gBACX,aAAa;AACb,gBAAA,aAAa,EAAE,aAAa,GAAG,CAAC,IAAI,eAAe,GAAG,aAAa,GAAG,CAAC;gBACvE,eAAe;AAClB,aAAA,CAAC,CAAC;;YAGH,cAAc,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;;YAGtD,IAAI,gBAAgB,GAAG,IAAI,CAAC;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,iBAAiB,EAAE;gBACpB,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3C,gBAAA,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3B,gBAAA,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,gBAAA,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,EAAE;oBAClD,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;wBACzC,YAAY,EAAE,UAAU,CAAC,OAAO;wBAChC,eAAe;AAClB,qBAAA,CAAC,CAAC;AACH,oBAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AACjC,oBAAA,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC5C,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;SACzD,CACJ,CACJ,CACJ,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAEO,eAAe,GAAA;QACnB,IAAI,CAAC,IAAI,CACL,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACnE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,KAAM,QAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAC7F,CAAC;KACL;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CACP,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3B,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC;AAC3C,SAAA,CAAC,EACF,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAI;AAC5D,YAAA,IAAI,UAAsB,CAAC;AAC3B,YAAA,IACI,IAAI,CAAC,WAAW,CAAC,aAAa;AAC9B,gBAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;AACjE,gBAAA,QAAQ,EACV;gBACE,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AAChD,gBAAA,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;AACjC,gBAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,gBAAA,IAAI,UAAU;AAAE,oBAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC1C,gBAAA,IAAI,gBAAgB;AAAE,oBAAA,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;AACzD,aAAA;AAED,YAAA,OAAO,MAAK;AACR,gBAAA,IAAI,UAAU;oBAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,UAAU,CAAC,UAAU,CAAC,CAAC;AACjD,gBAAA,IAAI,UAAU;AAAE,oBAAA,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3C,gBAAA,IAAI,gBAAgB;AAAE,oBAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3D,aAAC,CAAC;AACN,SAAC,CACJ,CAAC;KACL;IAEO,eAAe,GAAA;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAChC,CAAC,EAAE,KAAK,EAAE,KAAI;AACV,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,QAAQ,IAAI,OAAO,EAAE;AACrB,gBAAA,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;AACzB,gBAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1B,aAAA;AACL,SAAC,EACD,OAAO,GAAG,cAAc,GAAG,CAAC,CAC/B,CACJ,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;KAClC;;+GArMQ,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAPhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE;QACvG,eAAe;KAClB,EARS,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAKS,MAAM,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAGP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAf9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,IAAA,CAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAA,kBAAA,CAAoB,EAAE;wBACvG,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,MAAM,CAAC;oBACjB,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBACpC,CAAA;8BAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAIO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAIO,iBAAiB,EAAA,CAAA;sBAA7B,KAAK;gBAIO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAIO,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAIO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAIO,cAAc,EAAA,CAAA;sBAA1B,KAAK;gBAIO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAIO,KAAK,EAAA,CAAA;sBAAjB,KAAK;;;ACnGV;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input } from '@angular/core';
3
- import { NgtArgs, NgtRxStore, NgtStore, injectNgtRef, startWithUndefined } from 'angular-three';
3
+ import { NgtArgs, NgtRxStore, NgtStore, injectNgtRef, startWithUndefined, NgtRef } from 'angular-three';
4
4
  import { NgtpEffect, simpleChangesToStateObject, componentInputsToCombinedStream, NGTP_EFFECT_COMPOSER_API } from 'angular-three-postprocessing';
5
5
  import { BlendFunction, BloomEffect, BrightnessContrastEffect, ColorDepthEffect, DepthEffect, DotScreenEffect, HueSaturationEffect, LUT3DEffect, NoiseEffect, ScanlineEffect, SepiaEffect, SSAOEffect, TiltShiftEffect, ToneMappingEffect, VignetteEffect } from 'postprocessing';
6
6
  import { combineLatest, map } from 'rxjs';
@@ -191,17 +191,21 @@ class NgtpLUT extends NgtRxStore {
191
191
  }
192
192
  NgtpLUT.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, deps: null, target: i0.ɵɵFactoryTarget.Component });
193
193
  NgtpLUT.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { blendFunction: "blendFunction", tetrahedralInterpolation: "tetrahedralInterpolation", lutRef: "lutRef", lut: "lut" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
194
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
195
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
194
+ <ng-container *args="[get('effect')]">
195
+ <ngt-primitive *ref="lutRef" />
196
+ </ng-container>
197
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
196
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, decorators: [{
197
199
  type: Component,
198
200
  args: [{
199
201
  selector: 'ngtp-lut',
200
202
  standalone: true,
201
203
  template: `
202
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
204
+ <ng-container *args="[get('effect')]">
205
+ <ngt-primitive *ref="lutRef" />
206
+ </ng-container>
203
207
  `,
204
- imports: [NgtArgs],
208
+ imports: [NgtArgs, NgtRef],
205
209
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
206
210
  inputs: ['blendFunction', 'tetrahedralInterpolation'],
207
211
  }]
@@ -338,17 +342,21 @@ class NgtpSSAO extends NgtRxStore {
338
342
  }
339
343
  NgtpSSAO.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, deps: null, target: i0.ɵɵFactoryTarget.Component });
340
344
  NgtpSSAO.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpSSAO, isStandalone: true, selector: "ngtp-ssao", inputs: { blendFunction: "blendFunction", distanceScaling: "distanceScaling", depthAwareUpsampling: "depthAwareUpsampling", normalDepthBuffer: "normalDepthBuffer", samples: "samples", rings: "rings", worldDistanceThreshold: "worldDistanceThreshold", worldDistanceFalloff: "worldDistanceFalloff", worldProximityThreshold: "worldProximityThreshold", worldProximityFalloff: "worldProximityFalloff", distanceThreshold: "distanceThreshold", distanceFalloff: "distanceFalloff", rangeThreshold: "rangeThreshold", rangeFalloff: "rangeFalloff", minRadiusScale: "minRadiusScale", luminanceInfluence: "luminanceInfluence", radius: "radius", intensity: "intensity", bias: "bias", fade: "fade", color: "color", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", ssaoRef: "ssaoRef" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
341
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
342
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
345
+ <ng-container *args="[get('effect')]">
346
+ <ngt-primitive *ref="ssaoRef" />
347
+ </ng-container>
348
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
343
349
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, decorators: [{
344
350
  type: Component,
345
351
  args: [{
346
352
  selector: 'ngtp-ssao',
347
353
  standalone: true,
348
354
  template: `
349
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
355
+ <ng-container *args="[get('effect')]">
356
+ <ngt-primitive *ref="ssaoRef" />
357
+ </ng-container>
350
358
  `,
351
- imports: [NgtArgs],
359
+ imports: [NgtArgs, NgtRef],
352
360
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
353
361
  inputs: [
354
362
  'blendFunction',
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-postprocessing-effects.mjs","sources":["../../../../libs/angular-three-postprocessing/effects/src/lib/bloom/bloom.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/brightness-contrast/brightness-contrast.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/color-depth/color-depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/depth/depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/dot-screen/dot-screen.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/hue-saturation/hue-saturation.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/lut/lut.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/noise/noise.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/scanline/scanline.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/sepia/sepia.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/ssao/ssao.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tilt-shift/tilt-shift.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tone-mapping/tone-mapping.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/vignette/vignette.ts","../../../../libs/angular-three-postprocessing/effects/src/angular-three-postprocessing-effects.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, BloomEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-bloom',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'mipmapBlur',\n 'luminanceThreshold',\n 'luminanceSmoothing',\n 'intensity',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n 'kernelSize',\n ],\n})\nexport class NgtpBloom extends NgtpEffect<BloomEffect> {\n override get effectConstructor() {\n return BloomEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BrightnessContrastEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-brightness-contrast',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['brightness', 'contrast'],\n})\nexport class NgtpBrightnessContrast extends NgtpEffect<BrightnessContrastEffect> {\n override get effectConstructor() {\n return BrightnessContrastEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ColorDepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-color-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['bits'],\n})\nexport class NgtpColorDepth extends NgtpEffect<ColorDepthEffect> {\n override get effectConstructor() {\n return ColorDepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['inverted'],\n})\nexport class NgtpDepth extends NgtpEffect<DepthEffect> {\n override get effectConstructor() {\n return DepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DotScreenEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-dot-screen',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['angle', 'scale'],\n})\nexport class NgtpDotScreen extends NgtpEffect<DotScreenEffect> {\n override get effectConstructor() {\n return DotScreenEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { HueSaturationEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-hue-saturation',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['hue', 'saturation'],\n})\nexport class NgtpHueSaturation extends NgtpEffect<HueSaturationEffect> {\n override get effectConstructor() {\n return HueSaturationEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { componentInputsToCombinedStream, simpleChangesToStateObject } from 'angular-three-postprocessing';\nimport { LUT3DEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-lut',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" [ref]=\"lutRef\" />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['blendFunction', 'tetrahedralInterpolation'],\n})\nexport class NgtpLUT extends NgtRxStore implements OnInit, OnChanges {\n private readonly store = inject(NgtStore);\n\n @Input() lutRef = injectNgtRef<LUT3DEffect>();\n\n @Input() set lut(lut: THREE.Texture) {\n this.set({ lut });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({ ...s, ...simpleChangesToStateObject(changes, ['lutRef', 'lut']) }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.select('lut'),\n componentInputsToCombinedStream(\n this,\n (input) => input.propName !== 'lutRef' && input.propName !== 'lut'\n ),\n ]).pipe(map(([lut, props]) => new LUT3DEffect(lut, props)))\n );\n\n this.hold(\n combineLatest([\n this.select('lut'),\n this.select('effect'),\n this.select('tetrahedralInterpolation').pipe(startWithUndefined()),\n ]),\n ([lut, effect, tetrahedralInterpolation]) => {\n const invalidate = this.store.get('invalidate');\n if (lut) effect.lut = lut;\n if (tetrahedralInterpolation) effect.tetrahedralInterpolation = tetrahedralInterpolation;\n invalidate();\n }\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, NoiseEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-noise',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['premultiply'],\n})\nexport class NgtpNoise extends NgtpEffect<NoiseEffect> {\n override get effectConstructor() {\n return NoiseEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.COLOR_DODGE;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, ScanlineEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-scanline',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['density'],\n})\nexport class NgtpScanline extends NgtpEffect<ScanlineEffect> {\n override get effectConstructor() {\n return ScanlineEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.OVERLAY;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { SepiaEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-sepia',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['intensity'],\n})\nexport class NgtpSepia extends NgtpEffect<SepiaEffect> {\n override get effectConstructor() {\n return SepiaEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRxStore } from 'angular-three';\nimport {\n componentInputsToCombinedStream,\n NGTP_EFFECT_COMPOSER_API,\n simpleChangesToStateObject,\n} from 'angular-three-postprocessing';\nimport { BlendFunction, SSAOEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-ssao',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" [ref]=\"ssaoRef\" />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'blendFunction',\n 'distanceScaling',\n 'depthAwareUpsampling',\n 'normalDepthBuffer',\n 'samples',\n 'rings',\n 'worldDistanceThreshold',\n 'worldDistanceFalloff',\n 'worldProximityThreshold',\n 'worldProximityFalloff',\n 'distanceThreshold',\n 'distanceFalloff',\n 'rangeThreshold',\n 'rangeFalloff',\n 'minRadiusScale',\n 'luminanceInfluence',\n 'radius',\n 'intensity',\n 'bias',\n 'fade',\n 'color',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n ],\n})\nexport class NgtpSSAO extends NgtRxStore implements OnInit, OnChanges {\n private readonly effectComposerApi = inject(NGTP_EFFECT_COMPOSER_API);\n\n @Input() ssaoRef = injectNgtRef<SSAOEffect>();\n\n override initialize(): void {\n super.initialize();\n this.set({\n blendFunction: BlendFunction.MULTIPLY,\n samples: 30,\n rings: 4,\n distanceThreshold: 1.0,\n distanceFalloff: 0.0,\n rangeThreshold: 0.5,\n rangeFalloff: 0.1,\n luminanceInfluence: 0.9,\n radius: 20,\n scale: 0.5,\n bias: 0.5,\n intensity: 1.0,\n color: null!,\n depthAwareUpsampling: true,\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['ssaoRef']),\n }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.effectComposerApi.select('entities'),\n this.effectComposerApi.select('activeCamera'),\n componentInputsToCombinedStream(this, (input) => input.propName !== 'ssaoRef'),\n ]).pipe(\n map(([[, normalPass, downSamplingPass], camera, props]) => {\n const { resolutionScale } = this.effectComposerApi;\n\n if (props['normalDepthBuffer'] === undefined) {\n props['normalDepthBuffer'] = downSamplingPass ? downSamplingPass.texture : null;\n }\n\n if (props['resolutionScale'] === undefined) {\n props['resolutionScale'] = resolutionScale ?? 1;\n }\n\n return new SSAOEffect(\n camera,\n normalPass && !downSamplingPass ? normalPass.texture : null,\n props as ConstructorParameters<typeof SSAOEffect>[2]\n );\n })\n )\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, TiltShiftEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tilt-shift',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'offset',\n 'rotation',\n 'focusArea',\n 'feather',\n 'bias',\n 'kernelSize',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n ],\n})\nexport class NgtpTiltShift extends NgtpEffect<TiltShiftEffect> {\n override get effectConstructor() {\n return TiltShiftEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ToneMappingEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tone-mapping',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'adaptive',\n 'mode',\n 'resolution',\n 'maxLuminance',\n 'whitePoint',\n 'middleGrey',\n 'minLuminance',\n 'averageLuminance',\n 'adaptationRate',\n ],\n})\nexport class NgtpToneMapping extends NgtpEffect<ToneMappingEffect> {\n override get effectConstructor() {\n return ToneMappingEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { VignetteEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-vignette',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['technique', 'eskil', 'offset', 'darkness'],\n})\nexport class NgtpVignette extends NgtpEffect<VignetteEffect> {\n override get effectConstructor() {\n return VignetteEffect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-three-postprocessing-effects.mjs","sources":["../../../../libs/angular-three-postprocessing/effects/src/lib/bloom/bloom.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/brightness-contrast/brightness-contrast.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/color-depth/color-depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/depth/depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/dot-screen/dot-screen.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/hue-saturation/hue-saturation.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/lut/lut.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/noise/noise.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/scanline/scanline.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/sepia/sepia.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/ssao/ssao.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tilt-shift/tilt-shift.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tone-mapping/tone-mapping.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/vignette/vignette.ts","../../../../libs/angular-three-postprocessing/effects/src/angular-three-postprocessing-effects.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, BloomEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-bloom',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'mipmapBlur',\n 'luminanceThreshold',\n 'luminanceSmoothing',\n 'intensity',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n 'kernelSize',\n ],\n})\nexport class NgtpBloom extends NgtpEffect<BloomEffect> {\n override get effectConstructor() {\n return BloomEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BrightnessContrastEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-brightness-contrast',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['brightness', 'contrast'],\n})\nexport class NgtpBrightnessContrast extends NgtpEffect<BrightnessContrastEffect> {\n override get effectConstructor() {\n return BrightnessContrastEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ColorDepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-color-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['bits'],\n})\nexport class NgtpColorDepth extends NgtpEffect<ColorDepthEffect> {\n override get effectConstructor() {\n return ColorDepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['inverted'],\n})\nexport class NgtpDepth extends NgtpEffect<DepthEffect> {\n override get effectConstructor() {\n return DepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DotScreenEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-dot-screen',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['angle', 'scale'],\n})\nexport class NgtpDotScreen extends NgtpEffect<DotScreenEffect> {\n override get effectConstructor() {\n return DotScreenEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { HueSaturationEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-hue-saturation',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['hue', 'saturation'],\n})\nexport class NgtpHueSaturation extends NgtpEffect<HueSaturationEffect> {\n override get effectConstructor() {\n return HueSaturationEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { componentInputsToCombinedStream, simpleChangesToStateObject } from 'angular-three-postprocessing';\nimport { LUT3DEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-lut',\n standalone: true,\n template: `\n <ng-container *args=\"[get('effect')]\">\n <ngt-primitive *ref=\"lutRef\" />\n </ng-container>\n `,\n imports: [NgtArgs, NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['blendFunction', 'tetrahedralInterpolation'],\n})\nexport class NgtpLUT extends NgtRxStore implements OnInit, OnChanges {\n private readonly store = inject(NgtStore);\n\n @Input() lutRef = injectNgtRef<LUT3DEffect>();\n\n @Input() set lut(lut: THREE.Texture) {\n this.set({ lut });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({ ...s, ...simpleChangesToStateObject(changes, ['lutRef', 'lut']) }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.select('lut'),\n componentInputsToCombinedStream(\n this,\n (input) => input.propName !== 'lutRef' && input.propName !== 'lut'\n ),\n ]).pipe(map(([lut, props]) => new LUT3DEffect(lut, props)))\n );\n\n this.hold(\n combineLatest([\n this.select('lut'),\n this.select('effect'),\n this.select('tetrahedralInterpolation').pipe(startWithUndefined()),\n ]),\n ([lut, effect, tetrahedralInterpolation]) => {\n const invalidate = this.store.get('invalidate');\n if (lut) effect.lut = lut;\n if (tetrahedralInterpolation) effect.tetrahedralInterpolation = tetrahedralInterpolation;\n invalidate();\n }\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, NoiseEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-noise',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['premultiply'],\n})\nexport class NgtpNoise extends NgtpEffect<NoiseEffect> {\n override get effectConstructor() {\n return NoiseEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.COLOR_DODGE;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, ScanlineEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-scanline',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['density'],\n})\nexport class NgtpScanline extends NgtpEffect<ScanlineEffect> {\n override get effectConstructor() {\n return ScanlineEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.OVERLAY;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { SepiaEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-sepia',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['intensity'],\n})\nexport class NgtpSepia extends NgtpEffect<SepiaEffect> {\n override get effectConstructor() {\n return SepiaEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRef, NgtRxStore } from 'angular-three';\nimport {\n componentInputsToCombinedStream,\n NGTP_EFFECT_COMPOSER_API,\n simpleChangesToStateObject,\n} from 'angular-three-postprocessing';\nimport { BlendFunction, SSAOEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-ssao',\n standalone: true,\n template: `\n <ng-container *args=\"[get('effect')]\">\n <ngt-primitive *ref=\"ssaoRef\" />\n </ng-container>\n `,\n imports: [NgtArgs, NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'blendFunction',\n 'distanceScaling',\n 'depthAwareUpsampling',\n 'normalDepthBuffer',\n 'samples',\n 'rings',\n 'worldDistanceThreshold',\n 'worldDistanceFalloff',\n 'worldProximityThreshold',\n 'worldProximityFalloff',\n 'distanceThreshold',\n 'distanceFalloff',\n 'rangeThreshold',\n 'rangeFalloff',\n 'minRadiusScale',\n 'luminanceInfluence',\n 'radius',\n 'intensity',\n 'bias',\n 'fade',\n 'color',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n ],\n})\nexport class NgtpSSAO extends NgtRxStore implements OnInit, OnChanges {\n private readonly effectComposerApi = inject(NGTP_EFFECT_COMPOSER_API);\n\n @Input() ssaoRef = injectNgtRef<SSAOEffect>();\n\n override initialize(): void {\n super.initialize();\n this.set({\n blendFunction: BlendFunction.MULTIPLY,\n samples: 30,\n rings: 4,\n distanceThreshold: 1.0,\n distanceFalloff: 0.0,\n rangeThreshold: 0.5,\n rangeFalloff: 0.1,\n luminanceInfluence: 0.9,\n radius: 20,\n scale: 0.5,\n bias: 0.5,\n intensity: 1.0,\n color: null!,\n depthAwareUpsampling: true,\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['ssaoRef']),\n }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.effectComposerApi.select('entities'),\n this.effectComposerApi.select('activeCamera'),\n componentInputsToCombinedStream(this, (input) => input.propName !== 'ssaoRef'),\n ]).pipe(\n map(([[, normalPass, downSamplingPass], camera, props]) => {\n const { resolutionScale } = this.effectComposerApi;\n\n if (props['normalDepthBuffer'] === undefined) {\n props['normalDepthBuffer'] = downSamplingPass ? downSamplingPass.texture : null;\n }\n\n if (props['resolutionScale'] === undefined) {\n props['resolutionScale'] = resolutionScale ?? 1;\n }\n\n return new SSAOEffect(\n camera,\n normalPass && !downSamplingPass ? normalPass.texture : null,\n props as ConstructorParameters<typeof SSAOEffect>[2]\n );\n })\n )\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, TiltShiftEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tilt-shift',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'offset',\n 'rotation',\n 'focusArea',\n 'feather',\n 'bias',\n 'kernelSize',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n ],\n})\nexport class NgtpTiltShift extends NgtpEffect<TiltShiftEffect> {\n override get effectConstructor() {\n return TiltShiftEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ToneMappingEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tone-mapping',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'adaptive',\n 'mode',\n 'resolution',\n 'maxLuminance',\n 'whitePoint',\n 'middleGrey',\n 'minLuminance',\n 'averageLuminance',\n 'adaptationRate',\n ],\n})\nexport class NgtpToneMapping extends NgtpEffect<ToneMappingEffect> {\n override get effectConstructor() {\n return ToneMappingEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { VignetteEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-vignette',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['technique', 'eskil', 'offset', 'darkness'],\n})\nexport class NgtpVignette extends NgtpEffect<VignetteEffect> {\n override get effectConstructor() {\n return VignetteEffect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Directive, Input, reflectComponentType, InjectionToken, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
- import { NgtRxStore, NgtStore, startWithUndefined, extend, injectNgtRef, getLocalState } from 'angular-three';
3
+ import { NgtRxStore, NgtStore, startWithUndefined, extend, injectNgtRef, getLocalState, NgtRef } from 'angular-three';
4
4
  import { BlendFunction, EffectComposer, RenderPass, NormalPass, DepthDownsamplingPass, EffectPass } from 'postprocessing';
5
5
  import { combineLatest, map } from 'rxjs';
6
6
  import { RxActionFactory } from '@rx-angular/state/actions';
@@ -246,17 +246,17 @@ NgtpEffectComposer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
246
246
  { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },
247
247
  RxActionFactory,
248
248
  ], usesInheritance: true, ngImport: i0, template: `
249
- <ngt-group [ref]="composerRef">
249
+ <ngt-group *ref="composerRef">
250
250
  <ng-content />
251
251
  </ngt-group>
252
- `, isInline: true });
252
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
253
253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpEffectComposer, decorators: [{
254
254
  type: Component,
255
255
  args: [{
256
256
  selector: 'ngtp-effect-composer',
257
257
  standalone: true,
258
258
  template: `
259
- <ngt-group [ref]="composerRef">
259
+ <ngt-group *ref="composerRef">
260
260
  <ng-content />
261
261
  </ngt-group>
262
262
  `,
@@ -264,6 +264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImpor
264
264
  { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },
265
265
  RxActionFactory,
266
266
  ],
267
+ imports: [NgtRef],
267
268
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
268
269
  }]
269
270
  }], propDecorators: { composerRef: [{
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group [ref]=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n if (composer && enabled) {\n gl.autoClear = autoClear;\n composer.render(delta);\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAMM,MAAgB,UAA6B,SAAQ,UAAU,CAAA;AADrE,IAAA,WAAA,GAAA;;AAYc,QAAA,IAAA,CAAA,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAkC/C,KAAA;IA7CG,IAAa,aAAa,CAAC,aAA4B,EAAA;AACnD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,OAAO,CAAC,OAAe,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KACzB;AAOD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACb,YAAA,GAAG,CAAC;YACJ,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AACvE,SAAA,CAAC,CAAC,CAAC;KACP;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAI;AACpE,YAAA,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC;AAC9B,YAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AACvB,YAAA,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAEO,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CACL,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACpD,CAAC,EACF,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,KAAI;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,CAAC,aAAa;AAC1B,gBAAA,CAAC,aAAa,IAAI,aAAa,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;YAClF,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;AACpE,YAAA,UAAU,EAAE,CAAC;AACjB,SAAC,CACJ,CAAC;KACL;;uGA7CiB,UAAU,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;8BAEO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,OAAO,EAAA,CAAA;sBAAnB,KAAK;;SA2CM,0BAA0B,CAAC,OAAsB,EAAE,eAAyB,EAAE,EAAA;AAC1F,IAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACzC,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,KAAI;AACzD,QAAA,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;AAC/B,QAAA,OAAO,GAAG,CAAC;KACd,EAAE,EAAkB,CAAC,CAAC;AAC3B,CAAC;AAEK,SAAU,+BAA+B,CAC3C,SAAqB,EACrB,QAA2E,GAAA,MAAM,IAAI,EAAA;AAErF,IAAA,MAAM,MAAM,GACR,oBAAoB,CAAC,SAAS,CAAC,WAAwB,CAAC;AACpD,UAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxB,SAAA,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE9C,OAAO,aAAa,CAChB,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAI;QAC9B,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YACpC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC9C,SAAA;AACD,QAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AACzB,QAAA,OAAO,QAAQ,CAAC;AACpB,KAAC,EAAE,EAAqC,CAAC,CAC5C,CAAC;AACN;;AC3EA,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;MAaL,wBAAwB,GAAG,IAAI,cAAc,CAAwB,wBAAwB,EAAE;AAE5G,SAAS,wBAAwB,CAAC,QAA4B,EAAA;IAC1D,MAAM,GAAG,GAAG,EAA2B,CAAC;AAExC,IAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE;AACzB,QAAA,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AACpD,QAAA,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AACtD,QAAA,gBAAgB,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5D,QAAA,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;AAC/D,QAAA,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;AACjD,QAAA,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;AACnD,QAAA,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACrD,QAAA,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAClD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAgBK,MAAO,kBAAmB,SAAQ,UAAU,CAAA;AAdlD,IAAA,WAAA,GAAA;;QAea,IAAW,CAAA,WAAA,GAAG,YAAY,EAAS,CAAC;AAyD5B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAO,CAAA,OAAA,GAAG,MAAM,EAAC,eAA0C,EAAC,CAAC,MAAM,EAAE,CAAC;AA2I1F,KAAA;IAnMG,IAAa,OAAO,CAAC,OAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KACzB;IAED,IAAa,WAAW,CAAC,WAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;KAC7B;IAED,IAAa,iBAAiB,CAAC,iBAA0B,EAAA;AACrD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;KACnC;IAED,IAAa,aAAa,CAAC,aAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,SAAS,CAAC,SAAkB,EAAA;AACrC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;KAC3B;IAED,IAAa,eAAe,CAAC,eAAuB,EAAA;AAChD,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;KACjC;IAED,IAAa,aAAa,CAAC,aAAqB,EAAA;AAC5C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;KAC/B;IAED,IAAa,eAAe,CAAC,eAAsC,EAAA;AAC/D,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;KACjC;IAED,IAAa,cAAc,CAAC,cAAsB,EAAA;AAC9C,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;KAChC;IAED,IAAa,MAAM,CAAC,MAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;KACxB;IAED,IAAa,KAAK,CAAC,KAAkB,EAAA;AACjC,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;KACvB;IAEQ,UAAU,GAAA;QACf,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC;AACL,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,KAAK,CAAC,aAAa;AACvC,SAAA,CAAC,CAAC;KACN;IAKD,QAAQ,GAAA;QACJ,IAAI,CAAC,OAAO,CACR,aAAa,EACb,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7F,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,YAAY,CAAC,CACxD,CACJ,CAAC;QAEF,IAAI,CAAC,OAAO,CACR,cAAc,EACd,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/F,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,MAAM,IAAI,aAAa,CAAC,CAC5D,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CACR,UAAU,EACV,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3B,YAAA,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC5D,CAAC,CAAC,IAAI,CACH,GAAG,CACC,CAAC,CACG,EAAE,EACF,KAAK,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EAClB,KAAI;AACD,YAAA,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;;AAE5C,YAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE;gBAC1C,WAAW;gBACX,aAAa;AACb,gBAAA,aAAa,EAAE,aAAa,GAAG,CAAC,IAAI,eAAe,GAAG,aAAa,GAAG,CAAC;gBACvE,eAAe;AAClB,aAAA,CAAC,CAAC;;YAGH,cAAc,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;;YAGtD,IAAI,gBAAgB,GAAG,IAAI,CAAC;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,iBAAiB,EAAE;gBACpB,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3C,gBAAA,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3B,gBAAA,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,gBAAA,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,EAAE;oBAClD,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;wBACzC,YAAY,EAAE,UAAU,CAAC,OAAO;wBAChC,eAAe;AAClB,qBAAA,CAAC,CAAC;AACH,oBAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AACjC,oBAAA,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC5C,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;SACzD,CACJ,CACJ,CACJ,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAEO,eAAe,GAAA;QACnB,IAAI,CAAC,IAAI,CACL,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACnE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,KAAM,QAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAC7F,CAAC;KACL;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CACP,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3B,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC;AAC3C,SAAA,CAAC,EACF,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAI;AAC5D,YAAA,IAAI,UAAsB,CAAC;AAC3B,YAAA,IACI,IAAI,CAAC,WAAW,CAAC,aAAa;AAC9B,gBAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;AACjE,gBAAA,QAAQ,EACV;gBACE,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AAChD,gBAAA,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;AACjC,gBAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,gBAAA,IAAI,UAAU;AAAE,oBAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC1C,gBAAA,IAAI,gBAAgB;AAAE,oBAAA,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;AACzD,aAAA;AAED,YAAA,OAAO,MAAK;AACR,gBAAA,IAAI,UAAU;AAAE,oBAAA,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;AACjD,gBAAA,IAAI,UAAU;AAAE,oBAAA,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3C,gBAAA,IAAI,gBAAgB;AAAE,oBAAA,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3D,aAAC,CAAC;AACN,SAAC,CACJ,CAAC;KACL;IAEO,eAAe,GAAA;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAChC,CAAC,EAAE,KAAK,EAAE,KAAI;AACV,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,QAAQ,IAAI,OAAO,EAAE;AACrB,gBAAA,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;AACzB,gBAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1B,aAAA;AACL,SAAC,EACD,OAAO,GAAG,cAAc,GAAG,CAAC,CAC/B,CACJ,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;KAClC;;+GArMQ,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EANhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE;QACvG,eAAe;KAClB,EARS,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAOQ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,IAAA,CAAA;AACD,oBAAA,SAAS,EAAE;wBACP,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAA,kBAAA,CAAoB,EAAE;wBACvG,eAAe;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACpC,iBAAA,CAAA;8BAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAIO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAIO,iBAAiB,EAAA,CAAA;sBAA7B,KAAK;gBAIO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAIO,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAIO,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAIO,cAAc,EAAA,CAAA;sBAA1B,KAAK;gBAIO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAIO,KAAK,EAAA,CAAA;sBAAjB,KAAK;;;AClGV;;AAEG;;;;"}
1
+ {"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group *ref=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n imports: [NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n if (composer && enabled) {\n gl.autoClear = autoClear;\n composer.render(delta);\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three-postprocessing",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -6,5 +6,5 @@
6
6
  },
7
7
  "main": "./src/index.js",
8
8
  "types": "./src/index.d.ts",
9
- "version": "1.1.0"
9
+ "version": "1.2.0"
10
10
  }