angular-three-postprocessing 2.0.0-beta.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +56 -4
  2. package/esm2022/lib/effect-composer.mjs +111 -171
  3. package/esm2022/lib/effect.mjs +43 -71
  4. package/esm2022/lib/effects/ascii.mjs +120 -0
  5. package/esm2022/lib/effects/bloom.mjs +39 -0
  6. package/esm2022/lib/effects/brightness-contrast.mjs +38 -0
  7. package/esm2022/lib/effects/chromatic-abberation.mjs +38 -0
  8. package/esm2022/lib/effects/color-average.mjs +33 -0
  9. package/esm2022/lib/effects/color-depth.mjs +38 -0
  10. package/esm2022/lib/effects/depth-of-field.mjs +56 -0
  11. package/esm2022/lib/effects/depth.mjs +38 -0
  12. package/esm2022/lib/effects/dot-screen.mjs +38 -0
  13. package/esm2022/lib/effects/fxaa.mjs +38 -0
  14. package/esm2022/lib/effects/glitch.mjs +63 -0
  15. package/esm2022/lib/effects/god-rays.mjs +41 -0
  16. package/esm2022/lib/effects/grid.mjs +42 -0
  17. package/esm2022/lib/effects/hue-saturation.mjs +38 -0
  18. package/esm2022/lib/effects/index.mjs +28 -18
  19. package/esm2022/lib/effects/lens-flare.mjs +195 -0
  20. package/esm2022/lib/effects/lut.mjs +50 -0
  21. package/esm2022/lib/effects/noise.mjs +39 -0
  22. package/esm2022/lib/effects/outline.mjs +143 -0
  23. package/esm2022/lib/effects/pixelation.mjs +30 -0
  24. package/esm2022/lib/effects/scanline.mjs +43 -0
  25. package/esm2022/lib/effects/sepia.mjs +38 -0
  26. package/esm2022/lib/effects/shock-wave.mjs +38 -0
  27. package/esm2022/lib/effects/smaa.mjs +38 -0
  28. package/esm2022/lib/effects/tilt-shift-2.mjs +121 -0
  29. package/esm2022/lib/effects/tilt-shift.mjs +39 -0
  30. package/esm2022/lib/effects/vignette.mjs +38 -0
  31. package/esm2022/lib/effects/water.mjs +64 -0
  32. package/fesm2022/angular-three-postprocessing.mjs +1280 -651
  33. package/fesm2022/angular-three-postprocessing.mjs.map +1 -1
  34. package/lib/effect-composer.d.ts +24 -76
  35. package/lib/effect.d.ts +52 -23
  36. package/lib/effects/ascii.d.ts +23 -0
  37. package/lib/effects/bloom.d.ts +10 -0
  38. package/lib/effects/brightness-contrast.d.ts +15 -0
  39. package/lib/effects/chromatic-abberation.d.ts +16 -0
  40. package/lib/effects/color-average.d.ts +11 -0
  41. package/lib/effects/color-depth.d.ts +14 -0
  42. package/lib/effects/depth-of-field.d.ts +22 -0
  43. package/lib/effects/depth.d.ts +14 -0
  44. package/lib/effects/dot-screen.d.ts +15 -0
  45. package/lib/effects/fxaa.d.ts +13 -0
  46. package/lib/effects/glitch.d.ts +29 -0
  47. package/lib/effects/god-rays.d.ts +30 -0
  48. package/lib/effects/grid.d.ts +18 -0
  49. package/lib/effects/hue-saturation.d.ts +15 -0
  50. package/lib/effects/index.d.ts +27 -17
  51. package/lib/effects/lens-flare.d.ts +96 -0
  52. package/lib/effects/lut.d.ts +19 -0
  53. package/lib/effects/noise.d.ts +14 -0
  54. package/lib/effects/outline.d.ts +74 -0
  55. package/lib/effects/pixelation.d.ts +16 -0
  56. package/lib/effects/scanline.d.ts +17 -0
  57. package/lib/effects/sepia.d.ts +14 -0
  58. package/lib/effects/shock-wave.d.ts +11 -0
  59. package/lib/effects/smaa.d.ts +15 -0
  60. package/lib/effects/tilt-shift-2.d.ts +35 -0
  61. package/lib/effects/tilt-shift.d.ts +22 -0
  62. package/lib/effects/vignette.d.ts +17 -0
  63. package/lib/effects/water.d.ts +20 -0
  64. package/package.json +12 -7
  65. package/esm2022/lib/effects/bloom/bloom.mjs +0 -33
  66. package/esm2022/lib/effects/brightness-contrast/brightness-contrast.mjs +0 -29
  67. package/esm2022/lib/effects/color-depth/color-depth.mjs +0 -29
  68. package/esm2022/lib/effects/depth/depth.mjs +0 -29
  69. package/esm2022/lib/effects/dot-screen/dot-screen.mjs +0 -29
  70. package/esm2022/lib/effects/hue-saturation/hue-saturation.mjs +0 -29
  71. package/esm2022/lib/effects/lut/lut.mjs +0 -70
  72. package/esm2022/lib/effects/noise/noise.mjs +0 -33
  73. package/esm2022/lib/effects/pixelation/pixelation.mjs +0 -33
  74. package/esm2022/lib/effects/scanline/scanline.mjs +0 -33
  75. package/esm2022/lib/effects/sepia/sepia.mjs +0 -29
  76. package/esm2022/lib/effects/shock-wave/shock-wave.mjs +0 -29
  77. package/esm2022/lib/effects/smaa/smaa.mjs +0 -29
  78. package/esm2022/lib/effects/ssao/ssao.mjs +0 -213
  79. package/esm2022/lib/effects/tilt-shift/tilt-shift.mjs +0 -33
  80. package/esm2022/lib/effects/tone-mapping/tone-mapping.mjs +0 -29
  81. package/esm2022/lib/effects/vignette/vignette.mjs +0 -29
  82. package/lib/effects/bloom/bloom.d.ts +0 -13
  83. package/lib/effects/brightness-contrast/brightness-contrast.d.ts +0 -15
  84. package/lib/effects/color-depth/color-depth.d.ts +0 -14
  85. package/lib/effects/depth/depth.d.ts +0 -14
  86. package/lib/effects/dot-screen/dot-screen.d.ts +0 -15
  87. package/lib/effects/hue-saturation/hue-saturation.d.ts +0 -15
  88. package/lib/effects/lut/lut.d.ts +0 -29
  89. package/lib/effects/noise/noise.d.ts +0 -15
  90. package/lib/effects/pixelation/pixelation.d.ts +0 -20
  91. package/lib/effects/scanline/scanline.d.ts +0 -15
  92. package/lib/effects/sepia/sepia.d.ts +0 -14
  93. package/lib/effects/shock-wave/shock-wave.d.ts +0 -17
  94. package/lib/effects/smaa/smaa.d.ts +0 -16
  95. package/lib/effects/ssao/ssao.d.ts +0 -42
  96. package/lib/effects/tilt-shift/tilt-shift.d.ts +0 -23
  97. package/lib/effects/tone-mapping/tone-mapping.d.ts +0 -22
  98. package/lib/effects/vignette/vignette.d.ts +0 -17
@@ -0,0 +1,14 @@
1
+ import { BlendFunction, NoiseEffect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export type NoiseEffectOptions = Partial<NonNullable<ConstructorParameters<typeof NoiseEffect>[0]>>;
6
+ export declare class NgtpNoise {
7
+ effect: NgtpEffect;
8
+ options: import("@angular/core").InputSignal<Omit<Partial<{
9
+ blendFunction?: BlendFunction;
10
+ premultiply?: boolean;
11
+ }>, "blendFunction">>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpNoise, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpNoise, "ngtp-noise", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
14
+ }
@@ -0,0 +1,74 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { OutlineEffect } from 'postprocessing';
3
+ import { Object3D } from 'three';
4
+ import * as i0 from "@angular/core";
5
+ export type NgtpOutlineOptions = ConstructorParameters<typeof OutlineEffect>[2] & {
6
+ selection?: Array<Object3D | ElementRef<Object3D>>;
7
+ selectionLayer: number;
8
+ };
9
+ export declare class NgtpOutline {
10
+ options: import("@angular/core").InputSignalWithTransform<{
11
+ blendFunction?: import("postprocessing").BlendFunction;
12
+ patternTexture?: import("three").Texture;
13
+ patternScale?: number;
14
+ edgeStrength?: number;
15
+ pulseSpeed?: number;
16
+ visibleEdgeColor?: number;
17
+ hiddenEdgeColor?: number;
18
+ multisampling?: number;
19
+ resolutionScale?: number;
20
+ resolutionX?: number;
21
+ resolutionY?: number;
22
+ width?: number;
23
+ height?: number;
24
+ kernelSize?: import("postprocessing").KernelSize;
25
+ blur?: boolean;
26
+ xRay?: boolean;
27
+ } & {
28
+ selection?: Array<Object3D | ElementRef<Object3D>>;
29
+ selectionLayer: number;
30
+ }, "" | Partial<{
31
+ blendFunction?: import("postprocessing").BlendFunction;
32
+ patternTexture?: import("three").Texture;
33
+ patternScale?: number;
34
+ edgeStrength?: number;
35
+ pulseSpeed?: number;
36
+ visibleEdgeColor?: number;
37
+ hiddenEdgeColor?: number;
38
+ multisampling?: number;
39
+ resolutionScale?: number;
40
+ resolutionX?: number;
41
+ resolutionY?: number;
42
+ width?: number;
43
+ height?: number;
44
+ kernelSize?: import("postprocessing").KernelSize;
45
+ blur?: boolean;
46
+ xRay?: boolean;
47
+ } & {
48
+ selection?: Array<Object3D | ElementRef<Object3D>>;
49
+ selectionLayer: number;
50
+ }>>;
51
+ private ngtSelection;
52
+ private effectComposer;
53
+ private store;
54
+ private invalidate;
55
+ private selection;
56
+ private selectionLayer;
57
+ private blendFunction;
58
+ private patternTexture;
59
+ private edgeStrength;
60
+ private pulseSpeed;
61
+ private visibleEdgeColor;
62
+ private hiddenEdgeColor;
63
+ private width;
64
+ private height;
65
+ private kernelSize;
66
+ private blur;
67
+ private xRay;
68
+ private restOptions;
69
+ effect: import("@angular/core").Signal<OutlineEffect>;
70
+ constructor();
71
+ private handleSelectionChangeEffect;
72
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpOutline, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpOutline, "ngtp-outline", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
74
+ }
@@ -0,0 +1,16 @@
1
+ import { PixelationEffect } from 'postprocessing';
2
+ import * as i0 from "@angular/core";
3
+ export interface PixelationOptions {
4
+ granularity: number;
5
+ }
6
+ export declare class NgtpPixelation {
7
+ options: import("@angular/core").InputSignalWithTransform<{
8
+ granularity: number;
9
+ }, "" | Partial<{
10
+ granularity: number;
11
+ }>>;
12
+ private granularity;
13
+ effect: import("@angular/core").Signal<PixelationEffect>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpPixelation, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpPixelation, "ngtp-pixelation", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,17 @@
1
+ import { BlendFunction, ScanlineEffect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export type ScanlineEffectOptions = Partial<NonNullable<ConstructorParameters<typeof ScanlineEffect>[0]>>;
6
+ export declare class NgtpScanline {
7
+ effect: NgtpEffect;
8
+ options: import("@angular/core").InputSignalWithTransform<Omit<Partial<{
9
+ blendFunction?: BlendFunction;
10
+ density?: number;
11
+ }>, "blendFunction">, "" | Partial<Omit<Partial<{
12
+ blendFunction?: BlendFunction;
13
+ density?: number;
14
+ }>, "blendFunction">>>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpScanline, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpScanline, "ngtp-scanline", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
17
+ }
@@ -0,0 +1,14 @@
1
+ import { SepiaEffect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export type SepiaEffectOptions = Partial<NonNullable<ConstructorParameters<typeof SepiaEffect>[0]>>;
6
+ export declare class NgtpSepia {
7
+ effect: NgtpEffect;
8
+ options: import("@angular/core").InputSignal<Omit<Partial<{
9
+ blendFunction?: import("postprocessing").BlendFunction;
10
+ intensity?: number;
11
+ }>, "blendFunction">>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpSepia, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpSepia, "ngtp-sepia", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
14
+ }
@@ -0,0 +1,11 @@
1
+ import { ShockWaveEffect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export type ShockWaveEffectOptions = Partial<NonNullable<ConstructorParameters<typeof ShockWaveEffect>[0]>>;
6
+ export declare class NgtpShockWave {
7
+ effect: NgtpEffect;
8
+ options: import("@angular/core").InputSignal<Omit<Partial<import("three").Camera>, "blendFunction">>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpShockWave, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpShockWave, "ngtp-shock-wave", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
11
+ }
@@ -0,0 +1,15 @@
1
+ import { SMAAEffect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export type SMAAEffectOptions = Partial<NonNullable<ConstructorParameters<typeof SMAAEffect>[0]>>;
6
+ export declare class NgtpSMAA {
7
+ effect: NgtpEffect;
8
+ options: import("@angular/core").InputSignal<Omit<Partial<{
9
+ preset?: import("postprocessing").SMAAPreset;
10
+ edgeDetectionMode?: import("postprocessing").EdgeDetectionMode;
11
+ predicationMode?: import("postprocessing").PredicationMode;
12
+ }>, "blendFunction">>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpSMAA, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpSMAA, "ngtp-smaa", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
15
+ }
@@ -0,0 +1,35 @@
1
+ import { BlendFunction, Effect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export declare class TiltShift2Effect extends Effect {
6
+ constructor({ blendFunction, blur, // [0, 1], can go beyond 1 for extra
7
+ taper, // [0, 1], can go beyond 1 for extra
8
+ start, // [0,1] percentage x,y of screenspace
9
+ end, // [0,1] percentage x,y of screenspace
10
+ samples, // number of blur samples
11
+ direction, }?: {
12
+ blendFunction?: BlendFunction | undefined;
13
+ blur?: number | undefined;
14
+ taper?: number | undefined;
15
+ start?: number[] | undefined;
16
+ end?: number[] | undefined;
17
+ samples?: number | undefined;
18
+ direction?: number[] | undefined;
19
+ });
20
+ }
21
+ export type TiltShift2EffectOptions = Partial<NonNullable<ConstructorParameters<typeof TiltShift2Effect>[0]>>;
22
+ export declare class NgtpTiltShift2 {
23
+ effect: NgtpEffect;
24
+ options: import("@angular/core").InputSignal<Omit<Partial<{
25
+ blendFunction?: BlendFunction | undefined;
26
+ blur?: number | undefined;
27
+ taper?: number | undefined;
28
+ start?: number[] | undefined;
29
+ end?: number[] | undefined;
30
+ samples?: number | undefined;
31
+ direction?: number[] | undefined;
32
+ }>, "blendFunction">>;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpTiltShift2, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpTiltShift2, "ngtp-tilt-shift2", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
35
+ }
@@ -0,0 +1,22 @@
1
+ import { BlendFunction, TiltShiftEffect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export type TiltShiftEffectOptions = Partial<NonNullable<ConstructorParameters<typeof TiltShiftEffect>[0]>>;
6
+ export declare class NgtpTiltShift {
7
+ effect: NgtpEffect;
8
+ options: import("@angular/core").InputSignal<Omit<Partial<{
9
+ blendFunction?: BlendFunction;
10
+ offset?: number;
11
+ rotation?: number;
12
+ focusArea?: number;
13
+ feather?: number;
14
+ bias?: number;
15
+ kernelSize?: import("postprocessing").KernelSize;
16
+ resolutionScale?: number;
17
+ resolutionX?: number;
18
+ resolutionY?: number;
19
+ }>, "blendFunction">>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpTiltShift, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpTiltShift, "ngtp-tilt-shift", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
22
+ }
@@ -0,0 +1,17 @@
1
+ import { VignetteEffect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export type VignetteEffectOptions = Partial<NonNullable<ConstructorParameters<typeof VignetteEffect>[0]>>;
6
+ export declare class NgtpVignette {
7
+ effect: NgtpEffect;
8
+ options: import("@angular/core").InputSignal<Omit<Partial<{
9
+ blendFunction?: import("postprocessing").BlendFunction;
10
+ technique?: import("postprocessing").VignetteTechnique;
11
+ eskil?: boolean;
12
+ offset?: number;
13
+ darkness?: number;
14
+ }>, "blendFunction">>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpVignette, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpVignette, "ngtp-vignette", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
17
+ }
@@ -0,0 +1,20 @@
1
+ import { BlendFunction, Effect } from 'postprocessing';
2
+ import { NgtpEffect } from '../effect';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../effect";
5
+ export declare class WaterEffect extends Effect {
6
+ constructor({ blendFunction, factor }?: {
7
+ blendFunction?: BlendFunction | undefined;
8
+ factor?: number | undefined;
9
+ });
10
+ }
11
+ export type WaterEffectOptions = Partial<NonNullable<ConstructorParameters<typeof WaterEffect>[0]>>;
12
+ export declare class NgtpWater {
13
+ effect: NgtpEffect;
14
+ options: import("@angular/core").InputSignal<Omit<Partial<{
15
+ blendFunction?: BlendFunction | undefined;
16
+ factor?: number | undefined;
17
+ }>, "blendFunction">>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtpWater, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtpWater, "ngtp-water", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgtpEffect; inputs: { "blendFunction": "blendFunction"; "opacity": "opacity"; }; outputs: {}; }]>;
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three-postprocessing",
3
- "version": "2.0.0-beta.9",
3
+ "version": "2.1.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -13,7 +13,7 @@
13
13
  "email": "nartc7789@gmail.com",
14
14
  "url": "https://nartc.me"
15
15
  },
16
- "description": "Postprocessing integration with Angular Three",
16
+ "description": "Postprocessing for Angular Three",
17
17
  "keywords": [
18
18
  "angular",
19
19
  "threejs",
@@ -22,16 +22,21 @@
22
22
  ],
23
23
  "license": "MIT",
24
24
  "peerDependencies": {
25
- "@angular/common": "^16.0.0",
26
- "@angular/core": " ^16.0.0",
27
- "angular-three": "^2.0.0",
25
+ "@angular/common": ">=18.0.0 <19.0.0",
26
+ "@angular/core": ">=18.0.0 <19.0.0",
27
+ "maath": ">=0.10.0 <0.11.0",
28
28
  "postprocessing": "^6.0.0",
29
- "three": ">=0.148.0"
29
+ "three": ">=0.148.0 <0.169.0",
30
+ "three-stdlib": "^2.0.0"
30
31
  },
31
32
  "dependencies": {
32
- "tslib": "^2.3.0"
33
+ "tslib": "^2.7.0"
33
34
  },
34
35
  "sideEffects": false,
36
+ "web-types": [
37
+ "../../node_modules/angular-three/web-types.json",
38
+ "node_modules/angular-three/web-types.json"
39
+ ],
35
40
  "module": "fesm2022/angular-three-postprocessing.mjs",
36
41
  "typings": "index.d.ts",
37
42
  "exports": {
@@ -1,33 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
2
- import { NgtArgs, extend } from 'angular-three';
3
- import { BlendFunction, BloomEffect } from 'postprocessing';
4
- import { NgtpEffect } from '../../effect';
5
- import * as i0 from "@angular/core";
6
- extend({ BloomEffect });
7
- export class NgtpBloom extends NgtpEffect {
8
- constructor() {
9
- super(...arguments);
10
- this.defaultBlendFunction = BlendFunction.ADD;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpBloom, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtpBloom, isStandalone: true, selector: "ngtp-bloom", usesInheritance: true, ngImport: i0, template: `
14
- <ngt-bloom-effect ngtCompound *args="args()" [ref]="effectRef" [camera]="camera()">
15
- <ng-content />
16
- </ngt-bloom-effect>
17
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpBloom, decorators: [{
20
- type: Component,
21
- args: [{
22
- selector: 'ngtp-bloom',
23
- standalone: true,
24
- template: `
25
- <ngt-bloom-effect ngtCompound *args="args()" [ref]="effectRef" [camera]="camera()">
26
- <ng-content />
27
- </ngt-bloom-effect>
28
- `,
29
- imports: [NgtArgs],
30
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
31
- }]
32
- }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvb20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9ibG9vbS9ibG9vbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUEyQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sY0FBYyxDQUFDOztBQUVoRSxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBbUJ4QixNQUFNLE9BQU8sU0FBVSxTQUFRLFVBQXVCO0lBWHREOztRQVlVLHlCQUFvQixHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUM7S0FDbEQ7OEdBRlksU0FBUztrR0FBVCxTQUFTLDZGQVJYOzs7O0VBSVQsNERBQ1MsT0FBTzs7MkZBR0wsU0FBUztrQkFYckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RBcmdzLCBleHRlbmQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEJsZW5kRnVuY3Rpb24sIEJsb29tRWZmZWN0LCB0eXBlIEJsb29tRWZmZWN0T3B0aW9ucyB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE5ndHBFZmZlY3QsIHR5cGUgTmd0cEVmZmVjdFN0YXRlIH0gZnJvbSAnLi4vLi4vZWZmZWN0JztcblxuZXh0ZW5kKHsgQmxvb21FZmZlY3QgfSk7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0J25ndHAtYmxvb20nOiBCbG9vbUVmZmVjdE9wdGlvbnMgJiBOZ3RwRWZmZWN0U3RhdGU7XG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1ibG9vbScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ibG9vbS1lZmZlY3Qgbmd0Q29tcG91bmQgKmFyZ3M9XCJhcmdzKClcIiBbcmVmXT1cImVmZmVjdFJlZlwiIFtjYW1lcmFdPVwiY2FtZXJhKClcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtYmxvb20tZWZmZWN0PlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cEJsb29tIGV4dGVuZHMgTmd0cEVmZmVjdDxCbG9vbUVmZmVjdD4ge1xuXHRvdmVycmlkZSBkZWZhdWx0QmxlbmRGdW5jdGlvbiA9IEJsZW5kRnVuY3Rpb24uQUREO1xufVxuIl19
@@ -1,29 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
2
- import { NgtArgs, extend } from 'angular-three';
3
- import { BrightnessContrastEffect } from 'postprocessing';
4
- import { NgtpEffect } from '../../effect';
5
- import * as i0 from "@angular/core";
6
- extend({ BrightnessContrastEffect });
7
- export class NgtpBrightnessContrast extends NgtpEffect {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpBrightnessContrast, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtpBrightnessContrast, isStandalone: true, selector: "ngtp-brightness-contrast", usesInheritance: true, ngImport: i0, template: `
10
- <ngt-brightness-contrast-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
11
- <ng-content />
12
- </ngt-brightness-contrast-effect>
13
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpBrightnessContrast, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'ngtp-brightness-contrast',
19
- standalone: true,
20
- template: `
21
- <ngt-brightness-contrast-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
22
- <ng-content />
23
- </ngt-brightness-contrast-effect>
24
- `,
25
- imports: [NgtArgs],
26
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZ2h0bmVzcy1jb250cmFzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL2JyaWdodG5lc3MtY29udHJhc3QvYnJpZ2h0bmVzcy1jb250cmFzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sY0FBYyxDQUFDOztBQUVoRSxNQUFNLENBQUMsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7QUFtQnJDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUFvQzs4R0FBbkUsc0JBQXNCO2tHQUF0QixzQkFBc0IsMkdBUnhCOzs7O0VBSVQsNERBQ1MsT0FBTzs7MkZBR0wsc0JBQXNCO2tCQVhsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBCcmlnaHRuZXNzQ29udHJhc3RFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBOZ3RwRWZmZWN0LCB0eXBlIE5ndHBFZmZlY3RTdGF0ZSB9IGZyb20gJy4uLy4uL2VmZmVjdCc7XG5cbmV4dGVuZCh7IEJyaWdodG5lc3NDb250cmFzdEVmZmVjdCB9KTtcblxuZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcblx0XHQnbmd0cC1icmlnaHRuZXNzLWNvbnRyYXN0JzogeyBicmlnaHRuZXNzPzogbnVtYmVyOyBjb250cmFzdD86IG51bWJlciB9ICYgTmd0cEVmZmVjdFN0YXRlO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtYnJpZ2h0bmVzcy1jb250cmFzdCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1icmlnaHRuZXNzLWNvbnRyYXN0LWVmZmVjdCBuZ3RDb21wb3VuZCAqYXJncz1cImFyZ3MoKVwiIFtjYW1lcmFdPVwiY2FtZXJhKClcIiBbcmVmXT1cImVmZmVjdFJlZlwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1icmlnaHRuZXNzLWNvbnRyYXN0LWVmZmVjdD5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBCcmlnaHRuZXNzQ29udHJhc3QgZXh0ZW5kcyBOZ3RwRWZmZWN0PEJyaWdodG5lc3NDb250cmFzdEVmZmVjdD4ge31cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
2
- import { NgtArgs, extend } from 'angular-three';
3
- import { ColorDepthEffect } from 'postprocessing';
4
- import { NgtpEffect } from '../../effect';
5
- import * as i0 from "@angular/core";
6
- extend({ ColorDepthEffect });
7
- export class NgtpColorDepth extends NgtpEffect {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpColorDepth, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtpColorDepth, isStandalone: true, selector: "ngtp-color-depth", usesInheritance: true, ngImport: i0, template: `
10
- <ngt-color-depth-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
11
- <ng-content />
12
- </ngt-color-depth-effect>
13
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpColorDepth, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'ngtp-color-depth',
19
- standalone: true,
20
- template: `
21
- <ngt-color-depth-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
22
- <ng-content />
23
- </ngt-color-depth-effect>
24
- `,
25
- imports: [NgtArgs],
26
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItZGVwdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9jb2xvci1kZXB0aC9jb2xvci1kZXB0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sY0FBYyxDQUFDOztBQUVoRSxNQUFNLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7QUFtQjdCLE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBNEI7OEdBQW5ELGNBQWM7a0dBQWQsY0FBYyxtR0FSaEI7Ozs7RUFJVCw0REFDUyxPQUFPOzsyRkFHTCxjQUFjO2tCQVgxQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBDb2xvckRlcHRoRWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgTmd0cEVmZmVjdCwgdHlwZSBOZ3RwRWZmZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9lZmZlY3QnO1xuXG5leHRlbmQoeyBDb2xvckRlcHRoRWZmZWN0IH0pO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdCduZ3RwLWNvbG9yLWRlcHRoJzogeyBiaXRzPzogbnVtYmVyIH0gJiBOZ3RwRWZmZWN0U3RhdGU7XG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1jb2xvci1kZXB0aCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1jb2xvci1kZXB0aC1lZmZlY3Qgbmd0Q29tcG91bmQgKmFyZ3M9XCJhcmdzKClcIiBbY2FtZXJhXT1cImNhbWVyYSgpXCIgW3JlZl09XCJlZmZlY3RSZWZcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtY29sb3ItZGVwdGgtZWZmZWN0PlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cENvbG9yRGVwdGggZXh0ZW5kcyBOZ3RwRWZmZWN0PENvbG9yRGVwdGhFZmZlY3Q+IHt9XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
2
- import { NgtArgs, extend } from 'angular-three';
3
- import { DepthEffect } from 'postprocessing';
4
- import { NgtpEffect } from '../../effect';
5
- import * as i0 from "@angular/core";
6
- extend({ DepthEffect });
7
- export class NgtpDepth extends NgtpEffect {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpDepth, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtpDepth, isStandalone: true, selector: "ngtp-depth", usesInheritance: true, ngImport: i0, template: `
10
- <ngt-depth-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
11
- <ng-content />
12
- </ngt-depth-effect>
13
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpDepth, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'ngtp-depth',
19
- standalone: true,
20
- template: `
21
- <ngt-depth-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
22
- <ng-content />
23
- </ngt-depth-effect>
24
- `,
25
- imports: [NgtArgs],
26
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9kZXB0aC9kZXB0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUF3QixNQUFNLGNBQWMsQ0FBQzs7QUFFaEUsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQW1CeEIsTUFBTSxPQUFPLFNBQVUsU0FBUSxVQUF1Qjs4R0FBekMsU0FBUztrR0FBVCxTQUFTLDZGQVJYOzs7O0VBSVQsNERBQ1MsT0FBTzs7MkZBR0wsU0FBUztrQkFYckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RBcmdzLCBleHRlbmQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IERlcHRoRWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgTmd0cEVmZmVjdCwgdHlwZSBOZ3RwRWZmZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9lZmZlY3QnO1xuXG5leHRlbmQoeyBEZXB0aEVmZmVjdCB9KTtcblxuZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcblx0XHQnbmd0cC1kZXB0aCc6IHsgaW52ZXJ0ZWQ/OiBib29sZWFuIH0gJiBOZ3RwRWZmZWN0U3RhdGU7XG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1kZXB0aCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1kZXB0aC1lZmZlY3Qgbmd0Q29tcG91bmQgKmFyZ3M9XCJhcmdzKClcIiBbY2FtZXJhXT1cImNhbWVyYSgpXCIgW3JlZl09XCJlZmZlY3RSZWZcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtZGVwdGgtZWZmZWN0PlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cERlcHRoIGV4dGVuZHMgTmd0cEVmZmVjdDxEZXB0aEVmZmVjdD4ge31cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
2
- import { NgtArgs, extend } from 'angular-three';
3
- import { DotScreenEffect } from 'postprocessing';
4
- import { NgtpEffect } from '../../effect';
5
- import * as i0 from "@angular/core";
6
- extend({ DotScreenEffect });
7
- export class NgtpDotScreen extends NgtpEffect {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpDotScreen, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtpDotScreen, isStandalone: true, selector: "ngtp-dot-screen", usesInheritance: true, ngImport: i0, template: `
10
- <ngt-dot-screen-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
11
- <ng-content />
12
- </ngt-dot-screen-effect>
13
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpDotScreen, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'ngtp-dot-screen',
19
- standalone: true,
20
- template: `
21
- <ngt-dot-screen-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
22
- <ng-content />
23
- </ngt-dot-screen-effect>
24
- `,
25
- imports: [NgtArgs],
26
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90LXNjcmVlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL2RvdC1zY3JlZW4vZG90LXNjcmVlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUF3QixNQUFNLGNBQWMsQ0FBQzs7QUFFaEUsTUFBTSxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQW1CNUIsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUEyQjs4R0FBakQsYUFBYTtrR0FBYixhQUFhLGtHQVJmOzs7O0VBSVQsNERBQ1MsT0FBTzs7MkZBR0wsYUFBYTtrQkFYekIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7O0VBSVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIGV4dGVuZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgRG90U2NyZWVuRWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgTmd0cEVmZmVjdCwgdHlwZSBOZ3RwRWZmZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9lZmZlY3QnO1xuXG5leHRlbmQoeyBEb3RTY3JlZW5FZmZlY3QgfSk7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0J25ndHAtZG90LXNjcmVlbic6IHsgYW5nbGU/OiBudW1iZXI7IHNjYWxlPzogbnVtYmVyIH0gJiBOZ3RwRWZmZWN0U3RhdGU7XG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1kb3Qtc2NyZWVuJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWRvdC1zY3JlZW4tZWZmZWN0IG5ndENvbXBvdW5kICphcmdzPVwiYXJncygpXCIgW2NhbWVyYV09XCJjYW1lcmEoKVwiIFtyZWZdPVwiZWZmZWN0UmVmXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LWRvdC1zY3JlZW4tZWZmZWN0PlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cERvdFNjcmVlbiBleHRlbmRzIE5ndHBFZmZlY3Q8RG90U2NyZWVuRWZmZWN0PiB7fVxuIl19
@@ -1,29 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
2
- import { NgtArgs, extend } from 'angular-three';
3
- import { HueSaturationEffect } from 'postprocessing';
4
- import { NgtpEffect } from '../../effect';
5
- import * as i0 from "@angular/core";
6
- extend({ HueSaturationEffect });
7
- export class NgtpHueSaturation extends NgtpEffect {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpHueSaturation, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtpHueSaturation, isStandalone: true, selector: "ngtp-hue-saturation", usesInheritance: true, ngImport: i0, template: `
10
- <ngt-hue-saturation-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
11
- <ng-content />
12
- </ngt-hue-saturation-effect>
13
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpHueSaturation, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'ngtp-hue-saturation',
19
- standalone: true,
20
- template: `
21
- <ngt-hue-saturation-effect ngtCompound *args="args()" [camera]="camera()" [ref]="effectRef">
22
- <ng-content />
23
- </ngt-hue-saturation-effect>
24
- `,
25
- imports: [NgtArgs],
26
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLXNhdHVyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9odWUtc2F0dXJhdGlvbi9odWUtc2F0dXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sY0FBYyxDQUFDOztBQUVoRSxNQUFNLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFtQmhDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUErQjs4R0FBekQsaUJBQWlCO2tHQUFqQixpQkFBaUIsc0dBUm5COzs7O0VBSVQsNERBQ1MsT0FBTzs7MkZBR0wsaUJBQWlCO2tCQVg3QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBIdWVTYXR1cmF0aW9uRWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgTmd0cEVmZmVjdCwgdHlwZSBOZ3RwRWZmZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9lZmZlY3QnO1xuXG5leHRlbmQoeyBIdWVTYXR1cmF0aW9uRWZmZWN0IH0pO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdCduZ3RwLWh1ZS1zYXR1cmF0aW9uJzogeyBodWU/OiBudW1iZXI7IHNhdHVyYXRpb24/OiBudW1iZXIgfSAmIE5ndHBFZmZlY3RTdGF0ZTtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLWh1ZS1zYXR1cmF0aW9uJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWh1ZS1zYXR1cmF0aW9uLWVmZmVjdCBuZ3RDb21wb3VuZCAqYXJncz1cImFyZ3MoKVwiIFtjYW1lcmFdPVwiY2FtZXJhKClcIiBbcmVmXT1cImVmZmVjdFJlZlwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1odWUtc2F0dXJhdGlvbi1lZmZlY3Q+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RwSHVlU2F0dXJhdGlvbiBleHRlbmRzIE5ndHBFZmZlY3Q8SHVlU2F0dXJhdGlvbkVmZmVjdD4ge31cbiJdfQ==
@@ -1,70 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, Component, Input, computed, effect } from '@angular/core';
2
- import { NgtArgs, injectNgtRef, injectNgtStore, signalStore } from 'angular-three';
3
- import { BlendFunction, LUT3DEffect } from 'postprocessing';
4
- import * as i0 from "@angular/core";
5
- export class NgtpLUT {
6
- set _lut(lut) {
7
- this.inputs.set({ lut });
8
- }
9
- set _blendFunction(blendFunction) {
10
- this.inputs.set({ blendFunction });
11
- }
12
- set _tetrahedralInterpolation(tetrahedralInterpolation) {
13
- this.inputs.set({ tetrahedralInterpolation });
14
- }
15
- constructor() {
16
- this.inputs = signalStore({});
17
- this.effectRef = injectNgtRef();
18
- this.lut = this.inputs.select('lut');
19
- this.tetrahedralInterpolation = this.inputs.select('tetrahedralInterpolation');
20
- this.blendFunction = this.inputs.select('blendFunction');
21
- this.store = injectNgtStore();
22
- this.invalidate = this.store.select('invalidate');
23
- this.effect = computed(() => new LUT3DEffect(this.lut(), {
24
- blendFunction: this.blendFunction(),
25
- tetrahedralInterpolation: this.tetrahedralInterpolation(),
26
- }));
27
- this.setState();
28
- }
29
- setState() {
30
- effect(() => {
31
- const [effect, invalidate, lut, tetrahedralInterpolation] = [
32
- this.effect(),
33
- this.invalidate(),
34
- this.lut(),
35
- this.tetrahedralInterpolation(),
36
- ];
37
- if (!effect)
38
- return;
39
- if (tetrahedralInterpolation)
40
- effect.tetrahedralInterpolation = tetrahedralInterpolation;
41
- if (lut)
42
- effect.lut = lut;
43
- invalidate();
44
- });
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpLUT, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { effectRef: "effectRef", _lut: ["lut", "_lut"], _blendFunction: ["blendFunction", "_blendFunction"], _tetrahedralInterpolation: ["tetrahedralInterpolation", "_tetrahedralInterpolation"] }, ngImport: i0, template: ` <ngt-primitive *args="[effect()]" [ref]="effectRef" /> `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtpLUT, decorators: [{
50
- type: Component,
51
- args: [{
52
- selector: 'ngtp-lut',
53
- standalone: true,
54
- template: ` <ngt-primitive *args="[effect()]" [ref]="effectRef" /> `,
55
- imports: [NgtArgs],
56
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
57
- }]
58
- }], ctorParameters: function () { return []; }, propDecorators: { effectRef: [{
59
- type: Input
60
- }], _lut: [{
61
- type: Input,
62
- args: [{ required: true, alias: 'lut' }]
63
- }], _blendFunction: [{
64
- type: Input,
65
- args: [{ alias: 'blendFunction' }]
66
- }], _tetrahedralInterpolation: [{
67
- type: Input,
68
- args: [{ alias: 'tetrahedralInterpolation' }]
69
- }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdHMvbHV0L2x1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFxQjVELE1BQU0sT0FBTyxPQUFPO0lBS25CLElBQTZDLElBQUksQ0FBQyxHQUFrQjtRQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQXVDLGNBQWMsQ0FBQyxhQUE0QjtRQUNqRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQWtELHlCQUF5QixDQUFDLHdCQUFpQztRQUM1RyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBaUJEO1FBL0JRLFdBQU0sR0FBRyxXQUFXLENBQWUsRUFBRSxDQUFDLENBQUM7UUFFdEMsY0FBUyxHQUFHLFlBQVksRUFBZSxDQUFDO1FBY3pDLFFBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyw2QkFBd0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzFFLGtCQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEQsVUFBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyRCxXQUFNLEdBQUcsUUFBUSxDQUNoQixHQUFHLEVBQUUsQ0FDSixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDM0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbkMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1NBQ3pELENBQUMsQ0FDSCxDQUFDO1FBR0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxRQUFRO1FBQ2YsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHO2dCQUMzRCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNiLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLHdCQUF3QixFQUFFO2FBQy9CLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ3BCLElBQUksd0JBQXdCO2dCQUFFLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztZQUN6RixJQUFJLEdBQUc7Z0JBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDMUIsVUFBVSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBakRXLE9BQU87a0dBQVAsT0FBTywwUUFKVCwwREFBMEQsNERBQzFELE9BQU87OzJGQUdMLE9BQU87a0JBUG5CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMERBQTBEO29CQUNwRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzswRUFJUyxTQUFTO3NCQUFqQixLQUFLO2dCQUV1QyxJQUFJO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUlBLGNBQWM7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQUlpQix5QkFBeUI7c0JBQTFFLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDb21wb25lbnQsIElucHV0LCBjb21wdXRlZCwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RBcmdzLCBpbmplY3ROZ3RSZWYsIGluamVjdE5ndFN0b3JlLCBzaWduYWxTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQmxlbmRGdW5jdGlvbiwgTFVUM0RFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5cbmV4cG9ydCB0eXBlIE5ndHBMVVRTdGF0ZSA9IHtcblx0bHV0OiBUSFJFRS5UZXh0dXJlO1xuXHRibGVuZEZ1bmN0aW9uPzogQmxlbmRGdW5jdGlvbjtcblx0dGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uPzogYm9vbGVhbjtcbn07XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0J25ndHAtbHV0JzogTmd0cExVVFN0YXRlO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtbHV0Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGAgPG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbZWZmZWN0KCldXCIgW3JlZl09XCJlZmZlY3RSZWZcIiAvPiBgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cExVVCB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0cExVVFN0YXRlPih7fSk7XG5cblx0QElucHV0KCkgZWZmZWN0UmVmID0gaW5qZWN0Tmd0UmVmPExVVDNERWZmZWN0PigpO1xuXG5cdEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2x1dCcgfSkgc2V0IF9sdXQobHV0OiBUSFJFRS5UZXh0dXJlKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbHV0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdibGVuZEZ1bmN0aW9uJyB9KSBzZXQgX2JsZW5kRnVuY3Rpb24oYmxlbmRGdW5jdGlvbjogQmxlbmRGdW5jdGlvbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGJsZW5kRnVuY3Rpb24gfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3RldHJhaGVkcmFsSW50ZXJwb2xhdGlvbicgfSkgc2V0IF90ZXRyYWhlZHJhbEludGVycG9sYXRpb24odGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgdGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uIH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBsdXQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ2x1dCcpO1xuXHRwcml2YXRlIHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbiA9IHRoaXMuaW5wdXRzLnNlbGVjdCgndGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uJyk7XG5cdHByaXZhdGUgYmxlbmRGdW5jdGlvbiA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYmxlbmRGdW5jdGlvbicpO1xuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXHRwcml2YXRlIGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG5cdGVmZmVjdCA9IGNvbXB1dGVkKFxuXHRcdCgpID0+XG5cdFx0XHRuZXcgTFVUM0RFZmZlY3QodGhpcy5sdXQoKSwge1xuXHRcdFx0XHRibGVuZEZ1bmN0aW9uOiB0aGlzLmJsZW5kRnVuY3Rpb24oKSxcblx0XHRcdFx0dGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uOiB0aGlzLnRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbigpLFxuXHRcdFx0fSksXG5cdCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5zZXRTdGF0ZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRTdGF0ZSgpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgW2VmZmVjdCwgaW52YWxpZGF0ZSwgbHV0LCB0ZXRyYWhlZHJhbEludGVycG9sYXRpb25dID0gW1xuXHRcdFx0XHR0aGlzLmVmZmVjdCgpLFxuXHRcdFx0XHR0aGlzLmludmFsaWRhdGUoKSxcblx0XHRcdFx0dGhpcy5sdXQoKSxcblx0XHRcdFx0dGhpcy50ZXRyYWhlZHJhbEludGVycG9sYXRpb24oKSxcblx0XHRcdF07XG5cdFx0XHRpZiAoIWVmZmVjdCkgcmV0dXJuO1xuXHRcdFx0aWYgKHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbikgZWZmZWN0LnRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbiA9IHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbjtcblx0XHRcdGlmIChsdXQpIGVmZmVjdC5sdXQgPSBsdXQ7XG5cdFx0XHRpbnZhbGlkYXRlKCk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==