angular-three-soba 2.13.0 → 3.0.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 (170) hide show
  1. package/abstractions/lib/catmull-rom-line.d.ts +247 -247
  2. package/abstractions/lib/edges.d.ts +276 -276
  3. package/abstractions/lib/grid.d.ts +45 -45
  4. package/abstractions/lib/line.d.ts +1 -1
  5. package/abstractions/lib/prism-geometry.d.ts +4 -4
  6. package/abstractions/lib/rounded-box.d.ts +1 -1
  7. package/abstractions/lib/text-3d.d.ts +51 -51
  8. package/abstractions/lib/text.d.ts +1 -1
  9. package/cameras/lib/cube-camera.d.ts +1 -1
  10. package/cameras/lib/orthographic-camera.d.ts +1 -1
  11. package/cameras/lib/perspective-camera.d.ts +1 -1
  12. package/controls/index.d.ts +0 -9
  13. package/fesm2022/angular-three-soba-abstractions.mjs +41 -52
  14. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  15. package/fesm2022/angular-three-soba-cameras.mjs +12 -15
  16. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  17. package/fesm2022/angular-three-soba-controls.mjs +16 -30
  18. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  19. package/fesm2022/angular-three-soba-gizmos.mjs +59 -60
  20. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
  21. package/fesm2022/angular-three-soba-loaders.mjs +3 -3
  22. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  23. package/fesm2022/angular-three-soba-materials.mjs +27 -35
  24. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  25. package/fesm2022/angular-three-soba-misc.mjs +27 -29
  26. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  27. package/fesm2022/angular-three-soba-performances.mjs +31 -34
  28. package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
  29. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  30. package/fesm2022/angular-three-soba-staging.mjs +91 -105
  31. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  32. package/fesm2022/angular-three-soba-stats.mjs +3 -3
  33. package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
  34. package/gizmos/lib/gizmo-helper/gizmo-viewport.d.ts +1 -1
  35. package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
  36. package/materials/lib/mesh-portal-material.d.ts +1 -1
  37. package/materials/lib/mesh-refraction-material.d.ts +1 -1
  38. package/misc/lib/computed-attribute.d.ts +3 -3
  39. package/misc/lib/decal.d.ts +1 -1
  40. package/misc/lib/html/html.d.ts +2 -2
  41. package/package.json +8 -34
  42. package/performances/lib/instances/instances.d.ts +7 -7
  43. package/performances/lib/points/points.d.ts +16 -16
  44. package/performances/lib/segments/segments.d.ts +1 -1
  45. package/staging/lib/accumulative-shadows.d.ts +1 -1
  46. package/staging/lib/caustics.d.ts +1 -1
  47. package/staging/lib/center.d.ts +2 -2
  48. package/staging/lib/contact-shadows.d.ts +1 -1
  49. package/staging/lib/lightformer.d.ts +1 -1
  50. package/staging/lib/mask.d.ts +1 -1
  51. package/staging/lib/sky.d.ts +1 -1
  52. package/staging/lib/spot-light.d.ts +1 -1
  53. package/staging/lib/stage.d.ts +5 -5
  54. package/esm2022/abstractions/angular-three-soba-abstractions.mjs +0 -5
  55. package/esm2022/abstractions/index.mjs +0 -14
  56. package/esm2022/abstractions/lib/billboard.mjs +0 -69
  57. package/esm2022/abstractions/lib/catmull-rom-line.mjs +0 -76
  58. package/esm2022/abstractions/lib/cubic-bezier-line.mjs +0 -51
  59. package/esm2022/abstractions/lib/edges.mjs +0 -66
  60. package/esm2022/abstractions/lib/gradient-texture.mjs +0 -91
  61. package/esm2022/abstractions/lib/grid.mjs +0 -103
  62. package/esm2022/abstractions/lib/helper.mjs +0 -74
  63. package/esm2022/abstractions/lib/line.mjs +0 -123
  64. package/esm2022/abstractions/lib/prism-geometry.mjs +0 -46
  65. package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +0 -73
  66. package/esm2022/abstractions/lib/rounded-box.mjs +0 -131
  67. package/esm2022/abstractions/lib/text-3d.mjs +0 -100
  68. package/esm2022/abstractions/lib/text.mjs +0 -86
  69. package/esm2022/angular-three-soba.mjs +0 -5
  70. package/esm2022/cameras/angular-three-soba-cameras.mjs +0 -5
  71. package/esm2022/cameras/index.mjs +0 -5
  72. package/esm2022/cameras/lib/camera-content.mjs +0 -14
  73. package/esm2022/cameras/lib/cube-camera.mjs +0 -102
  74. package/esm2022/cameras/lib/orthographic-camera.mjs +0 -131
  75. package/esm2022/cameras/lib/perspective-camera.mjs +0 -105
  76. package/esm2022/controls/angular-three-soba-controls.mjs +0 -5
  77. package/esm2022/controls/index.mjs +0 -9
  78. package/esm2022/controls/lib/camera-controls.mjs +0 -126
  79. package/esm2022/controls/lib/orbit-controls.mjs +0 -120
  80. package/esm2022/controls/lib/scroll-controls.mjs +0 -261
  81. package/esm2022/gizmos/angular-three-soba-gizmos.mjs +0 -5
  82. package/esm2022/gizmos/index.mjs +0 -6
  83. package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +0 -191
  84. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +0 -304
  85. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +0 -348
  86. package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +0 -265
  87. package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +0 -264
  88. package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +0 -349
  89. package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +0 -266
  90. package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +0 -232
  91. package/esm2022/gizmos/lib/transform-controls.mjs +0 -177
  92. package/esm2022/index.mjs +0 -2
  93. package/esm2022/loaders/angular-three-soba-loaders.mjs +0 -5
  94. package/esm2022/loaders/index.mjs +0 -7
  95. package/esm2022/loaders/lib/fbx-loader.mjs +0 -13
  96. package/esm2022/loaders/lib/font-loader.mjs +0 -49
  97. package/esm2022/loaders/lib/gltf-loader.mjs +0 -51
  98. package/esm2022/loaders/lib/loader.mjs +0 -103
  99. package/esm2022/loaders/lib/progress.mjs +0 -51
  100. package/esm2022/loaders/lib/texture-loader.mjs +0 -32
  101. package/esm2022/materials/angular-three-soba-materials.mjs +0 -5
  102. package/esm2022/materials/index.mjs +0 -9
  103. package/esm2022/materials/lib/custom-shader-material.mjs +0 -67
  104. package/esm2022/materials/lib/mesh-distort-material.mjs +0 -43
  105. package/esm2022/materials/lib/mesh-portal-material.mjs +0 -294
  106. package/esm2022/materials/lib/mesh-reflector-material.mjs +0 -274
  107. package/esm2022/materials/lib/mesh-refraction-material.mjs +0 -140
  108. package/esm2022/materials/lib/mesh-transmission-material.mjs +0 -188
  109. package/esm2022/materials/lib/mesh-wobble-material.mjs +0 -43
  110. package/esm2022/materials/lib/point-material.mjs +0 -34
  111. package/esm2022/misc/angular-three-soba-misc.mjs +0 -5
  112. package/esm2022/misc/index.mjs +0 -15
  113. package/esm2022/misc/lib/animations.mjs +0 -71
  114. package/esm2022/misc/lib/bake-shadows.mjs +0 -24
  115. package/esm2022/misc/lib/computed-attribute.mjs +0 -51
  116. package/esm2022/misc/lib/constants.mjs +0 -5
  117. package/esm2022/misc/lib/decal.mjs +0 -142
  118. package/esm2022/misc/lib/deprecated.mjs +0 -15
  119. package/esm2022/misc/lib/depth-buffer.mjs +0 -35
  120. package/esm2022/misc/lib/fbo.mjs +0 -86
  121. package/esm2022/misc/lib/html/html-content.mjs +0 -322
  122. package/esm2022/misc/lib/html/html.mjs +0 -129
  123. package/esm2022/misc/lib/html/utils.mjs +0 -74
  124. package/esm2022/misc/lib/intersect.mjs +0 -49
  125. package/esm2022/misc/lib/preload.mjs +0 -58
  126. package/esm2022/misc/lib/sampler.mjs +0 -122
  127. package/esm2022/misc/lib/scale-factor.mjs +0 -29
  128. package/esm2022/performances/angular-three-soba-performances.mjs +0 -5
  129. package/esm2022/performances/index.mjs +0 -7
  130. package/esm2022/performances/lib/adaptive-dpr.mjs +0 -46
  131. package/esm2022/performances/lib/adaptive-events.mjs +0 -24
  132. package/esm2022/performances/lib/detailed.mjs +0 -53
  133. package/esm2022/performances/lib/instances/instances.mjs +0 -177
  134. package/esm2022/performances/lib/instances/position-mesh.mjs +0 -51
  135. package/esm2022/performances/lib/points/points.mjs +0 -272
  136. package/esm2022/performances/lib/points/position-point.mjs +0 -53
  137. package/esm2022/performances/lib/segments/segment-object.mjs +0 -9
  138. package/esm2022/performances/lib/segments/segments.mjs +0 -126
  139. package/esm2022/shaders/angular-three-soba-shaders.mjs +0 -5
  140. package/esm2022/shaders/index.mjs +0 -4
  141. package/esm2022/shaders/lib/grid-material.mjs +0 -81
  142. package/esm2022/shaders/lib/mesh-refraction-material.mjs +0 -163
  143. package/esm2022/shaders/lib/point-material.mjs +0 -24
  144. package/esm2022/staging/angular-three-soba-staging.mjs +0 -5
  145. package/esm2022/staging/index.mjs +0 -21
  146. package/esm2022/staging/lib/accumulative-shadows.mjs +0 -180
  147. package/esm2022/staging/lib/backdrop.mjs +0 -69
  148. package/esm2022/staging/lib/bb-anchor.mjs +0 -58
  149. package/esm2022/staging/lib/bounds.mjs +0 -282
  150. package/esm2022/staging/lib/camera-shake.mjs +0 -65
  151. package/esm2022/staging/lib/caustics.mjs +0 -184
  152. package/esm2022/staging/lib/center.mjs +0 -114
  153. package/esm2022/staging/lib/contact-shadows.mjs +0 -214
  154. package/esm2022/staging/lib/environment/environment.mjs +0 -344
  155. package/esm2022/staging/lib/environment/inject-environment.mjs +0 -184
  156. package/esm2022/staging/lib/float.mjs +0 -70
  157. package/esm2022/staging/lib/lightformer.mjs +0 -103
  158. package/esm2022/staging/lib/mask.mjs +0 -74
  159. package/esm2022/staging/lib/matcap-texture.mjs +0 -79
  160. package/esm2022/staging/lib/normal-texture.mjs +0 -79
  161. package/esm2022/staging/lib/randomized-lights.mjs +0 -100
  162. package/esm2022/staging/lib/render-texture.mjs +0 -202
  163. package/esm2022/staging/lib/sky.mjs +0 -86
  164. package/esm2022/staging/lib/spot-light.mjs +0 -445
  165. package/esm2022/staging/lib/stage.mjs +0 -232
  166. package/esm2022/stats/angular-three-soba-stats.mjs +0 -5
  167. package/esm2022/stats/index.mjs +0 -2
  168. package/esm2022/stats/lib/stats.mjs +0 -57
  169. package/esm2022/vanilla-exports/angular-three-soba-vanilla-exports.mjs +0 -5
  170. package/esm2022/vanilla-exports/index.mjs +0 -3
@@ -1,188 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject, input, untracked, viewChild, } from '@angular/core';
2
- import { getLocalState, injectBeforeRender, NgtArgs, omit, pick, } from 'angular-three';
3
- import { injectFBO } from 'angular-three-soba/misc';
4
- import { MeshDiscardMaterial, MeshTransmissionMaterial } from 'angular-three-soba/vanilla-exports';
5
- import { mergeInputs } from 'ngxtension/inject-inputs';
6
- import { BackSide, FrontSide, NoToneMapping } from 'three';
7
- import * as i0 from "@angular/core";
8
- const defaultOptions = {
9
- transmissionSampler: false,
10
- backside: false,
11
- side: FrontSide,
12
- transmission: 1,
13
- thickness: 0,
14
- backsideThickness: 0,
15
- backsideEnvMapIntensity: 1,
16
- samples: 10,
17
- };
18
- export class NgtsMeshTransmissionMaterial {
19
- constructor() {
20
- this.attach = input('material');
21
- this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
22
- this.parameters = omit(this.options, [
23
- 'buffer',
24
- 'transmissionSampler',
25
- 'backside',
26
- 'side',
27
- 'transmission',
28
- 'thickness',
29
- 'backsideThickness',
30
- 'backsideEnvMapIntensity',
31
- 'samples',
32
- 'resolution',
33
- 'backsideResolution',
34
- 'background',
35
- 'anisotropy',
36
- 'anisotropicBlur',
37
- ]);
38
- this.resolution = pick(this.options, 'resolution');
39
- this.backsideResolution = pick(this.options, 'backsideResolution');
40
- this.samples = pick(this.options, 'samples');
41
- this.buffer = pick(this.options, 'buffer');
42
- this.anisotropy = pick(this.options, 'anisotropy');
43
- this.anisotropicBlur = pick(this.options, 'anisotropicBlur');
44
- this.background = pick(this.options, 'background');
45
- this.backside = pick(this.options, 'backside');
46
- this.backsideThickness = pick(this.options, 'backsideThickness');
47
- this.backsideEnvMapIntensity = pick(this.options, 'backsideEnvMapIntensity');
48
- this.transmissionSampler = pick(this.options, 'transmissionSampler');
49
- this.transmission = pick(this.options, 'transmission');
50
- this.thickness = pick(this.options, 'thickness');
51
- this.side = pick(this.options, 'side');
52
- this.materialRef = viewChild('material');
53
- this.backResolution = computed(() => this.backsideResolution() || this.resolution());
54
- this.fboBack = injectFBO(() => ({ width: this.backResolution() }));
55
- this.fboMain = injectFBO(() => ({ width: this.resolution() }));
56
- this.bufferTexture = computed(() => this.buffer() || this.fboMain().texture);
57
- this.anisotropicBlurOption = computed(() => this.anisotropicBlur() || this.anisotropy());
58
- this.discardMaterial = new MeshDiscardMaterial();
59
- this.material = computed(() => {
60
- const previousMaterial = untracked(this.materialRef)?.nativeElement;
61
- if (previousMaterial) {
62
- previousMaterial.dispose();
63
- delete previousMaterial['__ngt__'];
64
- delete previousMaterial['__ngt_renderer__'];
65
- }
66
- const [samples, transmissionSampler] = [this.samples(), this.transmissionSampler()];
67
- return new MeshTransmissionMaterial({ samples, transmissionSampler });
68
- });
69
- inject(DestroyRef).onDestroy(() => {
70
- const material = this.materialRef()?.nativeElement;
71
- if (material) {
72
- material.dispose();
73
- delete material['__ngt__'];
74
- delete material['__ngt_renderer__'];
75
- }
76
- });
77
- let oldBg;
78
- let oldEnvMapIntensity;
79
- let oldTone;
80
- let parent;
81
- injectBeforeRender(({ clock, gl, scene, camera }) => {
82
- const material = this.materialRef()?.nativeElement;
83
- if (!material)
84
- return;
85
- const [fboMain, fboBack, transmissionSampler, background, backside, backsideThickness, backsideEnvMapIntensity, thickness, side,] = [
86
- this.fboMain(),
87
- this.fboBack(),
88
- this.transmissionSampler(),
89
- this.background(),
90
- this.backside(),
91
- this.backsideThickness(),
92
- this.backsideEnvMapIntensity(),
93
- this.thickness(),
94
- this.side(),
95
- ];
96
- material.time = clock.getElapsedTime();
97
- // Render only if the buffer matches the built-in and no transmission sampler is set
98
- // @ts-expect-error - we know material.buffer is not just undefined | null
99
- if (material.buffer === fboMain.texture && !transmissionSampler) {
100
- parent = getLocalState(material)?.parent();
101
- if (parent) {
102
- // Save defaults
103
- oldTone = gl.toneMapping;
104
- oldBg = scene.background;
105
- oldEnvMapIntensity = material.envMapIntensity;
106
- // Switch off tonemapping lest it double tone maps
107
- // Save the current background and set the HDR as the new BG
108
- // Use discardmaterial, the parent will be invisible, but it's shadows will still be cast
109
- gl.toneMapping = NoToneMapping;
110
- if (background)
111
- scene.background = background;
112
- parent.material = this.discardMaterial;
113
- if (backside) {
114
- // Render into the backside buffer
115
- gl.setRenderTarget(fboBack);
116
- gl.render(scene, camera);
117
- // And now prepare the material for the main render using the backside buffer
118
- parent.material = material;
119
- Object.assign(parent.material, {
120
- buffer: fboBack.texture,
121
- thickness: backsideThickness,
122
- side: BackSide,
123
- envMapIntensity: backsideEnvMapIntensity,
124
- });
125
- }
126
- // Render into the main buffer
127
- gl.setRenderTarget(fboMain);
128
- gl.render(scene, camera);
129
- parent.material = material;
130
- Object.assign(parent.material, {
131
- buffer: fboMain.texture,
132
- thickness,
133
- side,
134
- envMapIntensity: oldEnvMapIntensity,
135
- });
136
- // Set old state back
137
- scene.background = oldBg;
138
- gl.setRenderTarget(null);
139
- gl.toneMapping = oldTone;
140
- }
141
- }
142
- });
143
- }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsMeshTransmissionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsMeshTransmissionMaterial, isStandalone: true, selector: "ngts-mesh-transmission-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
146
- <ngt-primitive
147
- *args="[material()]"
148
- #material
149
- [attach]="attach()"
150
- [parameters]="parameters()"
151
- [_transmission]="transmission()"
152
- [transmission]="transmissionSampler() ? transmission() : 0"
153
- [buffer]="bufferTexture()"
154
- [anisotropicBlur]="anisotropicBlurOption()"
155
- [side]="side()"
156
- [thickness]="thickness()"
157
- >
158
- <ng-content />
159
- </ngt-primitive>
160
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
161
- }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsMeshTransmissionMaterial, decorators: [{
163
- type: Component,
164
- args: [{
165
- selector: 'ngts-mesh-transmission-material',
166
- standalone: true,
167
- template: `
168
- <ngt-primitive
169
- *args="[material()]"
170
- #material
171
- [attach]="attach()"
172
- [parameters]="parameters()"
173
- [_transmission]="transmission()"
174
- [transmission]="transmissionSampler() ? transmission() : 0"
175
- [buffer]="bufferTexture()"
176
- [anisotropicBlur]="anisotropicBlurOption()"
177
- [side]="side()"
178
- [thickness]="thickness()"
179
- >
180
- <ng-content />
181
- </ngt-primitive>
182
- `,
183
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
184
- changeDetection: ChangeDetectionStrategy.OnPush,
185
- imports: [NgtArgs],
186
- }]
187
- }], ctorParameters: () => [] });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9saWIvbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixVQUFVLEVBRVYsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixhQUFhLEVBQ2Isa0JBQWtCLEVBRWxCLE9BQU8sRUFHUCxJQUFJLEVBQ0osSUFBSSxHQUNKLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBUyxTQUFTLEVBQVEsYUFBYSxFQUF3QixNQUFNLE9BQU8sQ0FBQzs7QUE0QjlGLE1BQU0sY0FBYyxHQUF3QztJQUMzRCxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0lBQ1osaUJBQWlCLEVBQUUsQ0FBQztJQUNwQix1QkFBdUIsRUFBRSxDQUFDO0lBQzFCLE9BQU8sRUFBRSxFQUFFO0NBQ1gsQ0FBQztBQXlCRixNQUFNLE9BQU8sNEJBQTRCO0lBNkR4QztRQTVEQSxXQUFNLEdBQUcsS0FBSyxDQUFnQixVQUFVLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQixRQUFRO1lBQ1IscUJBQXFCO1lBQ3JCLFVBQVU7WUFDVixNQUFNO1lBQ04sY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIseUJBQXlCO1lBQ3pCLFNBQVM7WUFDVCxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1NBQ2pCLENBQUMsQ0FBQztRQUVLLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQzlELFlBQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlDLG9CQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN4RCxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDOUMsYUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLHNCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDNUQsNEJBQXVCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUVoRix3QkFBbUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hFLGlCQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbEQsY0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsQyxnQkFBVyxHQUFHLFNBQVMsQ0FBeUUsVUFBVSxDQUFDLENBQUM7UUFFcEcsbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFaEYsWUFBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RCxZQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWxFLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsMEJBQXFCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUU1RSxvQkFBZSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUVwRCxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QixNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsYUFBYSxDQUFDO1lBRXBFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDdEIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNCLE9BQVEsZ0JBQWlDLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3JELE9BQVEsZ0JBQWlDLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMvRCxDQUFDO1lBRUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7WUFDcEYsT0FBTyxJQUFJLHdCQUF3QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQUdGLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLENBQUM7WUFDbkQsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDZCxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ25CLE9BQVEsUUFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDN0MsT0FBUSxRQUF5QixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUE2QixDQUFDO1FBQ2xDLElBQUksa0JBQXNDLENBQUM7UUFDM0MsSUFBSSxPQUFnQyxDQUFDO1FBQ3JDLElBQUksTUFBd0IsQ0FBQztRQUM3QixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsYUFBYSxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFFdEIsTUFBTSxDQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsSUFBSSxFQUNKLEdBQUc7Z0JBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNkLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZixJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLElBQUksRUFBRTthQUNYLENBQUM7WUFFRixRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QyxvRkFBb0Y7WUFDcEYsMEVBQTBFO1lBQzFFLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDakUsTUFBTSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQVUsQ0FBQztnQkFFbkQsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWixnQkFBZ0I7b0JBQ2hCLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO29CQUN6QixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztvQkFDekIsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztvQkFFOUMsa0RBQWtEO29CQUNsRCw0REFBNEQ7b0JBQzVELHlGQUF5RjtvQkFDekYsRUFBRSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7b0JBQy9CLElBQUksVUFBVTt3QkFBRSxLQUFLLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztvQkFDOUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO29CQUV2QyxJQUFJLFFBQVEsRUFBRSxDQUFDO3dCQUNkLGtDQUFrQzt3QkFDbEMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDNUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7d0JBQ3pCLDZFQUE2RTt3QkFDN0UsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7d0JBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTs0QkFDOUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPOzRCQUN2QixTQUFTLEVBQUUsaUJBQWlCOzRCQUM1QixJQUFJLEVBQUUsUUFBUTs0QkFDZCxlQUFlLEVBQUUsdUJBQXVCO3lCQUN4QyxDQUFDLENBQUM7b0JBQ0osQ0FBQztvQkFFRCw4QkFBOEI7b0JBQzlCLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzVCLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUV6QixNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztvQkFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO3dCQUM5QixNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU87d0JBQ3ZCLFNBQVM7d0JBQ1QsSUFBSTt3QkFDSixlQUFlLEVBQUUsa0JBQWtCO3FCQUNuQyxDQUFDLENBQUM7b0JBRUgscUJBQXFCO29CQUNyQixLQUFLLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztvQkFDekIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekIsRUFBRSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7Z0JBQzFCLENBQUM7WUFDRixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOytHQXpKVyw0QkFBNEI7bUdBQTVCLDRCQUE0Qix5ZEFwQjlCOzs7Ozs7Ozs7Ozs7Ozs7RUFlVCw0REFHUyxPQUFPOzs0RkFFTCw0QkFBNEI7a0JBdkJ4QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztFQWVUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHREZXN0cm95UmVmLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHR1bnRyYWNrZWQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRnZXRMb2NhbFN0YXRlLFxuXHRpbmplY3RCZWZvcmVSZW5kZXIsXG5cdE5ndEFueVJlY29yZCxcblx0Tmd0QXJncyxcblx0Tmd0QXR0YWNoYWJsZSxcblx0Tmd0TWVzaFBoeXNpY2FsTWF0ZXJpYWwsXG5cdG9taXQsXG5cdHBpY2ssXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0RkJPIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgTWVzaERpc2NhcmRNYXRlcmlhbCwgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3ZhbmlsbGEtZXhwb3J0cyc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBCYWNrU2lkZSwgQ29sb3IsIEZyb250U2lkZSwgTWVzaCwgTm9Ub25lTWFwcGluZywgVGV4dHVyZSwgVG9uZU1hcHBpbmcgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCB0eXBlIE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbE9wdGlvbnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbD5bMF07XG5cbmV4cG9ydCB0eXBlIE5ndHNNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWxPcHRpb25zID0gUGFydGlhbDxOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbD4gJlxuXHRPbWl0PE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbE9wdGlvbnMsICdidWZmZXInIHwgJ2FuaXNvdHJvcGljQmx1cicgfCAnc2FtcGxlcycgfCAndHJhbnNtaXNzaW9uU2FtcGxlcic+ICYge1xuXHRcdGFuaXNvdHJvcGljQmx1cj86IG51bWJlcjtcblx0XHRidWZmZXI/OiBUZXh0dXJlO1xuXHRcdC8qKiB0cmFuc21pc3Npb25TYW1wbGVyLCB5b3UgY2FuIHVzZSB0aGUgdGhyZWVqcyB0cmFuc21pc3Npb24gc2FtcGxlciB0ZXh0dXJlIHRoYXQgaXNcblx0XHQgKiAgZ2VuZXJhdGVkIG9uY2UgZm9yIGFsbCB0cmFuc21pc3NpdmUgbWF0ZXJpYWxzLiBUaGUgdXBzaWRlIGlzIHRoYXQgaXQgY2FuIGJlIGZhc3RlciBpZiB5b3Vcblx0XHQgKiAgdXNlIG11bHRpcGxlIE1lc2hQaHlzaWNhbCBhbmQgVHJhbnNtaXNzaW9uIG1hdGVyaWFscywgdGhlIGRvd25zaWRlIGlzIHRoYXQgdHJhbnNtaXNzaXZlIG1hdGVyaWFsc1xuXHRcdCAqICB1c2luZyB0aGlzIGNhbid0IHNlZSBvdGhlciB0cmFuc3BhcmVudCBvciB0cmFuc21pc3NpdmUgb2JqZWN0cywgZGVmYXVsdDogZmFsc2UgKi9cblx0XHR0cmFuc21pc3Npb25TYW1wbGVyOiBib29sZWFuO1xuXHRcdC8qKiBSZW5kZXIgdGhlIGJhY2tzaWRlIG9mIHRoZSBtYXRlcmlhbCAobW9yZSBjb3N0LCBiZXR0ZXIgcmVzdWx0cyksIGRlZmF1bHQ6IGZhbHNlICovXG5cdFx0YmFja3NpZGU6IGJvb2xlYW47XG5cdFx0LyoqIEJhY2tzaWRlIHRoaWNrbmVzcyAod2hlbiBiYWNrc2lkZSBpcyB0cnVlKSwgZGVmYXVsdDogMCAqL1xuXHRcdGJhY2tzaWRlVGhpY2tuZXNzOiBudW1iZXI7XG5cdFx0YmFja3NpZGVFbnZNYXBJbnRlbnNpdHk6IG51bWJlcjtcblx0XHQvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyLCBkZWZhdWx0OiB1bmRlZmluZWQgKGZ1bGxzY3JlZW4pICovXG5cdFx0cmVzb2x1dGlvbj86IG51bWJlcjtcblx0XHQvKiogUmVzb2x1dGlvbiBvZiB0aGUgbG9jYWwgYnVmZmVyIGZvciBiYWNrZmFjZXMsIGRlZmF1bHQ6IHVuZGVmaW5lZCAoZnVsbHNjcmVlbikgKi9cblx0XHRiYWNrc2lkZVJlc29sdXRpb24/OiBudW1iZXI7XG5cdFx0LyoqIFJlZnJhY3Rpb24gc2FtcGxlcywgZGVmYXVsdDogNiAqL1xuXHRcdHNhbXBsZXM6IG51bWJlcjtcblx0XHQvKiogQnVmZmVyIHNjZW5lIGJhY2tncm91bmQgKGNhbiBiZSBhIHRleHR1cmUsIGEgY3ViZXRleHR1cmUgb3IgYSBjb2xvciksIGRlZmF1bHQ6IG51bGwgKi9cblx0XHRiYWNrZ3JvdW5kPzogVGV4dHVyZSB8IENvbG9yO1xuXHR9O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c01lc2hUcmFuc21pc3Npb25NYXRlcmlhbE9wdGlvbnMgPSB7XG5cdHRyYW5zbWlzc2lvblNhbXBsZXI6IGZhbHNlLFxuXHRiYWNrc2lkZTogZmFsc2UsXG5cdHNpZGU6IEZyb250U2lkZSxcblx0dHJhbnNtaXNzaW9uOiAxLFxuXHR0aGlja25lc3M6IDAsXG5cdGJhY2tzaWRlVGhpY2tuZXNzOiAwLFxuXHRiYWNrc2lkZUVudk1hcEludGVuc2l0eTogMSxcblx0c2FtcGxlczogMTAsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLW1lc2gtdHJhbnNtaXNzaW9uLW1hdGVyaWFsJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZVxuXHRcdFx0KmFyZ3M9XCJbbWF0ZXJpYWwoKV1cIlxuXHRcdFx0I21hdGVyaWFsXG5cdFx0XHRbYXR0YWNoXT1cImF0dGFjaCgpXCJcblx0XHRcdFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiXG5cdFx0XHRbX3RyYW5zbWlzc2lvbl09XCJ0cmFuc21pc3Npb24oKVwiXG5cdFx0XHRbdHJhbnNtaXNzaW9uXT1cInRyYW5zbWlzc2lvblNhbXBsZXIoKSA/IHRyYW5zbWlzc2lvbigpIDogMFwiXG5cdFx0XHRbYnVmZmVyXT1cImJ1ZmZlclRleHR1cmUoKVwiXG5cdFx0XHRbYW5pc290cm9waWNCbHVyXT1cImFuaXNvdHJvcGljQmx1ck9wdGlvbigpXCJcblx0XHRcdFtzaWRlXT1cInNpZGUoKVwiXG5cdFx0XHRbdGhpY2tuZXNzXT1cInRoaWNrbmVzcygpXCJcblx0XHQ+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsIHtcblx0YXR0YWNoID0gaW5wdXQ8Tmd0QXR0YWNoYWJsZT4oJ21hdGVyaWFsJyk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbXG5cdFx0J2J1ZmZlcicsXG5cdFx0J3RyYW5zbWlzc2lvblNhbXBsZXInLFxuXHRcdCdiYWNrc2lkZScsXG5cdFx0J3NpZGUnLFxuXHRcdCd0cmFuc21pc3Npb24nLFxuXHRcdCd0aGlja25lc3MnLFxuXHRcdCdiYWNrc2lkZVRoaWNrbmVzcycsXG5cdFx0J2JhY2tzaWRlRW52TWFwSW50ZW5zaXR5Jyxcblx0XHQnc2FtcGxlcycsXG5cdFx0J3Jlc29sdXRpb24nLFxuXHRcdCdiYWNrc2lkZVJlc29sdXRpb24nLFxuXHRcdCdiYWNrZ3JvdW5kJyxcblx0XHQnYW5pc290cm9weScsXG5cdFx0J2FuaXNvdHJvcGljQmx1cicsXG5cdF0pO1xuXG5cdHByaXZhdGUgcmVzb2x1dGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVzb2x1dGlvbicpO1xuXHRwcml2YXRlIGJhY2tzaWRlUmVzb2x1dGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAnYmFja3NpZGVSZXNvbHV0aW9uJyk7XG5cdHByaXZhdGUgc2FtcGxlcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2FtcGxlcycpO1xuXHRwcml2YXRlIGJ1ZmZlciA9IHBpY2sodGhpcy5vcHRpb25zLCAnYnVmZmVyJyk7XG5cdHByaXZhdGUgYW5pc290cm9weSA9IHBpY2sodGhpcy5vcHRpb25zLCAnYW5pc290cm9weScpO1xuXHRwcml2YXRlIGFuaXNvdHJvcGljQmx1ciA9IHBpY2sodGhpcy5vcHRpb25zLCAnYW5pc290cm9waWNCbHVyJyk7XG5cdHByaXZhdGUgYmFja2dyb3VuZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnYmFja2dyb3VuZCcpO1xuXHRwcml2YXRlIGJhY2tzaWRlID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrc2lkZScpO1xuXHRwcml2YXRlIGJhY2tzaWRlVGhpY2tuZXNzID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrc2lkZVRoaWNrbmVzcycpO1xuXHRwcml2YXRlIGJhY2tzaWRlRW52TWFwSW50ZW5zaXR5ID0gcGljayh0aGlzLm9wdGlvbnMsICdiYWNrc2lkZUVudk1hcEludGVuc2l0eScpO1xuXG5cdHRyYW5zbWlzc2lvblNhbXBsZXIgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RyYW5zbWlzc2lvblNhbXBsZXInKTtcblx0dHJhbnNtaXNzaW9uID0gcGljayh0aGlzLm9wdGlvbnMsICd0cmFuc21pc3Npb24nKTtcblx0dGhpY2tuZXNzID0gcGljayh0aGlzLm9wdGlvbnMsICd0aGlja25lc3MnKTtcblx0c2lkZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2lkZScpO1xuXG5cdG1hdGVyaWFsUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8TWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsICYgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsT3B0aW9ucz4+KCdtYXRlcmlhbCcpO1xuXG5cdHByaXZhdGUgYmFja1Jlc29sdXRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJhY2tzaWRlUmVzb2x1dGlvbigpIHx8IHRoaXMucmVzb2x1dGlvbigpKTtcblxuXHRwcml2YXRlIGZib0JhY2sgPSBpbmplY3RGQk8oKCkgPT4gKHsgd2lkdGg6IHRoaXMuYmFja1Jlc29sdXRpb24oKSB9KSk7XG5cdHByaXZhdGUgZmJvTWFpbiA9IGluamVjdEZCTygoKSA9PiAoeyB3aWR0aDogdGhpcy5yZXNvbHV0aW9uKCkgfSkpO1xuXG5cdGJ1ZmZlclRleHR1cmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJ1ZmZlcigpIHx8IHRoaXMuZmJvTWFpbigpLnRleHR1cmUpO1xuXHRhbmlzb3Ryb3BpY0JsdXJPcHRpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFuaXNvdHJvcGljQmx1cigpIHx8IHRoaXMuYW5pc290cm9weSgpKTtcblxuXHRwcml2YXRlIGRpc2NhcmRNYXRlcmlhbCA9IG5ldyBNZXNoRGlzY2FyZE1hdGVyaWFsKCk7XG5cblx0bWF0ZXJpYWwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgcHJldmlvdXNNYXRlcmlhbCA9IHVudHJhY2tlZCh0aGlzLm1hdGVyaWFsUmVmKT8ubmF0aXZlRWxlbWVudDtcblxuXHRcdGlmIChwcmV2aW91c01hdGVyaWFsKSB7XG5cdFx0XHRwcmV2aW91c01hdGVyaWFsLmRpc3Bvc2UoKTtcblx0XHRcdGRlbGV0ZSAocHJldmlvdXNNYXRlcmlhbCBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9fJ107XG5cdFx0XHRkZWxldGUgKHByZXZpb3VzTWF0ZXJpYWwgYXMgTmd0QW55UmVjb3JkKVsnX19uZ3RfcmVuZGVyZXJfXyddO1xuXHRcdH1cblxuXHRcdGNvbnN0IFtzYW1wbGVzLCB0cmFuc21pc3Npb25TYW1wbGVyXSA9IFt0aGlzLnNhbXBsZXMoKSwgdGhpcy50cmFuc21pc3Npb25TYW1wbGVyKCldO1xuXHRcdHJldHVybiBuZXcgTWVzaFRyYW5zbWlzc2lvbk1hdGVyaWFsKHsgc2FtcGxlcywgdHJhbnNtaXNzaW9uU2FtcGxlciB9KTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0aW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG5cdFx0XHRjb25zdCBtYXRlcmlhbCA9IHRoaXMubWF0ZXJpYWxSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmIChtYXRlcmlhbCkge1xuXHRcdFx0XHRtYXRlcmlhbC5kaXNwb3NlKCk7XG5cdFx0XHRcdGRlbGV0ZSAobWF0ZXJpYWwgYXMgTmd0QW55UmVjb3JkKVsnX19uZ3RfXyddO1xuXHRcdFx0XHRkZWxldGUgKG1hdGVyaWFsIGFzIE5ndEFueVJlY29yZClbJ19fbmd0X3JlbmRlcmVyX18nXTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGxldCBvbGRCZzogVGV4dHVyZSB8IENvbG9yIHwgbnVsbDtcblx0XHRsZXQgb2xkRW52TWFwSW50ZW5zaXR5OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdFx0bGV0IG9sZFRvbmU6IFRvbmVNYXBwaW5nIHwgdW5kZWZpbmVkO1xuXHRcdGxldCBwYXJlbnQ6IE1lc2ggfCB1bmRlZmluZWQ7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNsb2NrLCBnbCwgc2NlbmUsIGNhbWVyYSB9KSA9PiB7XG5cdFx0XHRjb25zdCBtYXRlcmlhbCA9IHRoaXMubWF0ZXJpYWxSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmICghbWF0ZXJpYWwpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgW1xuXHRcdFx0XHRmYm9NYWluLFxuXHRcdFx0XHRmYm9CYWNrLFxuXHRcdFx0XHR0cmFuc21pc3Npb25TYW1wbGVyLFxuXHRcdFx0XHRiYWNrZ3JvdW5kLFxuXHRcdFx0XHRiYWNrc2lkZSxcblx0XHRcdFx0YmFja3NpZGVUaGlja25lc3MsXG5cdFx0XHRcdGJhY2tzaWRlRW52TWFwSW50ZW5zaXR5LFxuXHRcdFx0XHR0aGlja25lc3MsXG5cdFx0XHRcdHNpZGUsXG5cdFx0XHRdID0gW1xuXHRcdFx0XHR0aGlzLmZib01haW4oKSxcblx0XHRcdFx0dGhpcy5mYm9CYWNrKCksXG5cdFx0XHRcdHRoaXMudHJhbnNtaXNzaW9uU2FtcGxlcigpLFxuXHRcdFx0XHR0aGlzLmJhY2tncm91bmQoKSxcblx0XHRcdFx0dGhpcy5iYWNrc2lkZSgpLFxuXHRcdFx0XHR0aGlzLmJhY2tzaWRlVGhpY2tuZXNzKCksXG5cdFx0XHRcdHRoaXMuYmFja3NpZGVFbnZNYXBJbnRlbnNpdHkoKSxcblx0XHRcdFx0dGhpcy50aGlja25lc3MoKSxcblx0XHRcdFx0dGhpcy5zaWRlKCksXG5cdFx0XHRdO1xuXG5cdFx0XHRtYXRlcmlhbC50aW1lID0gY2xvY2suZ2V0RWxhcHNlZFRpbWUoKTtcblx0XHRcdC8vIFJlbmRlciBvbmx5IGlmIHRoZSBidWZmZXIgbWF0Y2hlcyB0aGUgYnVpbHQtaW4gYW5kIG5vIHRyYW5zbWlzc2lvbiBzYW1wbGVyIGlzIHNldFxuXHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHdlIGtub3cgbWF0ZXJpYWwuYnVmZmVyIGlzIG5vdCBqdXN0IHVuZGVmaW5lZCB8IG51bGxcblx0XHRcdGlmIChtYXRlcmlhbC5idWZmZXIgPT09IGZib01haW4udGV4dHVyZSAmJiAhdHJhbnNtaXNzaW9uU2FtcGxlcikge1xuXHRcdFx0XHRwYXJlbnQgPSBnZXRMb2NhbFN0YXRlKG1hdGVyaWFsKT8ucGFyZW50KCkgYXMgTWVzaDtcblxuXHRcdFx0XHRpZiAocGFyZW50KSB7XG5cdFx0XHRcdFx0Ly8gU2F2ZSBkZWZhdWx0c1xuXHRcdFx0XHRcdG9sZFRvbmUgPSBnbC50b25lTWFwcGluZztcblx0XHRcdFx0XHRvbGRCZyA9IHNjZW5lLmJhY2tncm91bmQ7XG5cdFx0XHRcdFx0b2xkRW52TWFwSW50ZW5zaXR5ID0gbWF0ZXJpYWwuZW52TWFwSW50ZW5zaXR5O1xuXG5cdFx0XHRcdFx0Ly8gU3dpdGNoIG9mZiB0b25lbWFwcGluZyBsZXN0IGl0IGRvdWJsZSB0b25lIG1hcHNcblx0XHRcdFx0XHQvLyBTYXZlIHRoZSBjdXJyZW50IGJhY2tncm91bmQgYW5kIHNldCB0aGUgSERSIGFzIHRoZSBuZXcgQkdcblx0XHRcdFx0XHQvLyBVc2UgZGlzY2FyZG1hdGVyaWFsLCB0aGUgcGFyZW50IHdpbGwgYmUgaW52aXNpYmxlLCBidXQgaXQncyBzaGFkb3dzIHdpbGwgc3RpbGwgYmUgY2FzdFxuXHRcdFx0XHRcdGdsLnRvbmVNYXBwaW5nID0gTm9Ub25lTWFwcGluZztcblx0XHRcdFx0XHRpZiAoYmFja2dyb3VuZCkgc2NlbmUuYmFja2dyb3VuZCA9IGJhY2tncm91bmQ7XG5cdFx0XHRcdFx0cGFyZW50Lm1hdGVyaWFsID0gdGhpcy5kaXNjYXJkTWF0ZXJpYWw7XG5cblx0XHRcdFx0XHRpZiAoYmFja3NpZGUpIHtcblx0XHRcdFx0XHRcdC8vIFJlbmRlciBpbnRvIHRoZSBiYWNrc2lkZSBidWZmZXJcblx0XHRcdFx0XHRcdGdsLnNldFJlbmRlclRhcmdldChmYm9CYWNrKTtcblx0XHRcdFx0XHRcdGdsLnJlbmRlcihzY2VuZSwgY2FtZXJhKTtcblx0XHRcdFx0XHRcdC8vIEFuZCBub3cgcHJlcGFyZSB0aGUgbWF0ZXJpYWwgZm9yIHRoZSBtYWluIHJlbmRlciB1c2luZyB0aGUgYmFja3NpZGUgYnVmZmVyXG5cdFx0XHRcdFx0XHRwYXJlbnQubWF0ZXJpYWwgPSBtYXRlcmlhbDtcblx0XHRcdFx0XHRcdE9iamVjdC5hc3NpZ24ocGFyZW50Lm1hdGVyaWFsLCB7XG5cdFx0XHRcdFx0XHRcdGJ1ZmZlcjogZmJvQmFjay50ZXh0dXJlLFxuXHRcdFx0XHRcdFx0XHR0aGlja25lc3M6IGJhY2tzaWRlVGhpY2tuZXNzLFxuXHRcdFx0XHRcdFx0XHRzaWRlOiBCYWNrU2lkZSxcblx0XHRcdFx0XHRcdFx0ZW52TWFwSW50ZW5zaXR5OiBiYWNrc2lkZUVudk1hcEludGVuc2l0eSxcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIFJlbmRlciBpbnRvIHRoZSBtYWluIGJ1ZmZlclxuXHRcdFx0XHRcdGdsLnNldFJlbmRlclRhcmdldChmYm9NYWluKTtcblx0XHRcdFx0XHRnbC5yZW5kZXIoc2NlbmUsIGNhbWVyYSk7XG5cblx0XHRcdFx0XHRwYXJlbnQubWF0ZXJpYWwgPSBtYXRlcmlhbDtcblx0XHRcdFx0XHRPYmplY3QuYXNzaWduKHBhcmVudC5tYXRlcmlhbCwge1xuXHRcdFx0XHRcdFx0YnVmZmVyOiBmYm9NYWluLnRleHR1cmUsXG5cdFx0XHRcdFx0XHR0aGlja25lc3MsXG5cdFx0XHRcdFx0XHRzaWRlLFxuXHRcdFx0XHRcdFx0ZW52TWFwSW50ZW5zaXR5OiBvbGRFbnZNYXBJbnRlbnNpdHksXG5cdFx0XHRcdFx0fSk7XG5cblx0XHRcdFx0XHQvLyBTZXQgb2xkIHN0YXRlIGJhY2tcblx0XHRcdFx0XHRzY2VuZS5iYWNrZ3JvdW5kID0gb2xkQmc7XG5cdFx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KG51bGwpO1xuXHRcdFx0XHRcdGdsLnRvbmVNYXBwaW5nID0gb2xkVG9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
@@ -1,43 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject, input } from '@angular/core';
2
- import { injectBeforeRender, NgtArgs, omit } from 'angular-three';
3
- import { MeshWobbleMaterial } from 'angular-three-soba/vanilla-exports';
4
- import { mergeInputs } from 'ngxtension/inject-inputs';
5
- import * as i0 from "@angular/core";
6
- const defaultOptions = {
7
- speed: 1,
8
- };
9
- export class NgtsMeshWobbleMaterial {
10
- constructor() {
11
- this.attach = input('material');
12
- this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
13
- this.parameters = omit(this.options, ['speed']);
14
- this.material = new MeshWobbleMaterial();
15
- inject(DestroyRef).onDestroy(() => this.material.dispose());
16
- injectBeforeRender(({ clock }) => {
17
- const material = this.material;
18
- material.time = clock.elapsedTime * this.options().speed;
19
- });
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsMeshWobbleMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtsMeshWobbleMaterial, isStandalone: true, selector: "ngts-mesh-wobble-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
23
- <ngt-primitive *args="[material]" [parameters]="parameters()" [attach]="attach()">
24
- <ng-content />
25
- </ngt-primitive>
26
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
29
- type: Component,
30
- args: [{
31
- selector: 'ngts-mesh-wobble-material',
32
- standalone: true,
33
- template: `
34
- <ngt-primitive *args="[material]" [parameters]="parameters()" [attach]="attach()">
35
- <ng-content />
36
- </ngt-primitive>
37
- `,
38
- imports: [NgtArgs],
39
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
40
- changeDetection: ChangeDetectionStrategy.OnPush,
41
- }]
42
- }], ctorParameters: () => [] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC13b2JibGUtbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9saWIvbWVzaC13b2JibGUtbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUEwQyxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtCQUFrQixFQUFnQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNdkQsTUFBTSxjQUFjLEdBQWtDO0lBQ3JELEtBQUssRUFBRSxDQUFDO0NBQ1IsQ0FBQztBQWNGLE1BQU0sT0FBTyxzQkFBc0I7SUFPbEM7UUFOQSxXQUFNLEdBQUcsS0FBSyxDQUFnQixVQUFVLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFM0MsYUFBUSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUduQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUU1RCxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0FkVyxzQkFBc0I7bUdBQXRCLHNCQUFzQiwwVkFUeEI7Ozs7RUFJVCw0REFDUyxPQUFPOzs0RkFJTCxzQkFBc0I7a0JBWmxDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIERlc3Ryb3lSZWYsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJlZm9yZVJlbmRlciwgTmd0QXJncywgTmd0QXR0YWNoYWJsZSwgTmd0TWVzaFN0YW5kYXJkTWF0ZXJpYWwsIG9taXQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE1lc2hXb2JibGVNYXRlcmlhbCwgTWVzaFdvYmJsZU1hdGVyaWFsUGFyYW1ldGVycyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS92YW5pbGxhLWV4cG9ydHMnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNNZXNoV29iYmxlTWF0ZXJpYWxPcHRpb25zIGV4dGVuZHMgTWVzaFdvYmJsZU1hdGVyaWFsUGFyYW1ldGVycywgUGFydGlhbDxOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbD4ge1xuXHRzcGVlZDogbnVtYmVyO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c01lc2hXb2JibGVNYXRlcmlhbE9wdGlvbnMgPSB7XG5cdHNwZWVkOiAxLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1tZXNoLXdvYmJsZS1tYXRlcmlhbCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbbWF0ZXJpYWxdXCIgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCIgW2F0dGFjaF09XCJhdHRhY2goKVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1wcmltaXRpdmU+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c01lc2hXb2JibGVNYXRlcmlhbCB7XG5cdGF0dGFjaCA9IGlucHV0PE5ndEF0dGFjaGFibGU+KCdtYXRlcmlhbCcpO1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgWydzcGVlZCddKTtcblxuXHRtYXRlcmlhbCA9IG5ldyBNZXNoV29iYmxlTWF0ZXJpYWwoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHRoaXMubWF0ZXJpYWwuZGlzcG9zZSgpKTtcblxuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBjbG9jayB9KSA9PiB7XG5cdFx0XHRjb25zdCBtYXRlcmlhbCA9IHRoaXMubWF0ZXJpYWw7XG5cdFx0XHRtYXRlcmlhbC50aW1lID0gY2xvY2suZWxhcHNlZFRpbWUgKiB0aGlzLm9wdGlvbnMoKS5zcGVlZDtcblx0XHR9KTtcblx0fVxufVxuIl19
@@ -1,34 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject, input } from '@angular/core';
2
- import { NgtArgs } from 'angular-three';
3
- import { PointMaterial } from 'angular-three-soba/shaders';
4
- import * as i0 from "@angular/core";
5
- export class NgtsPointMaterial {
6
- constructor() {
7
- this.attach = input('material');
8
- this.options = input({});
9
- this.material = new PointMaterial(this.options());
10
- inject(DestroyRef).onDestroy(() => this.material.dispose());
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPointMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtsPointMaterial, isStandalone: true, selector: "ngts-point-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
14
- <ngt-primitive *args="[material]" [attach]="attach()" [parameters]="options()">
15
- <ng-content />
16
- </ngt-primitive>
17
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPointMaterial, decorators: [{
20
- type: Component,
21
- args: [{
22
- selector: 'ngts-point-material',
23
- standalone: true,
24
- template: `
25
- <ngt-primitive *args="[material]" [attach]="attach()" [parameters]="options()">
26
- <ng-content />
27
- </ngt-primitive>
28
- `,
29
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
30
- changeDetection: ChangeDetectionStrategy.OnPush,
31
- imports: [NgtArgs],
32
- }]
33
- }], ctorParameters: () => [] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWF0ZXJpYWxzL3NyYy9saWIvcG9pbnQtbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsT0FBTyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBZTNELE1BQU0sT0FBTyxpQkFBaUI7SUFNN0I7UUFMQSxXQUFNLEdBQUcsS0FBSyxDQUFnQixVQUFVLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQUcsS0FBSyxDQUFDLEVBQThCLENBQUMsQ0FBQztRQUVoRCxhQUFRLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFHNUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0FSVyxpQkFBaUI7bUdBQWpCLGlCQUFpQixvVkFUbkI7Ozs7RUFJVCw0REFHUyxPQUFPOzs0RkFFTCxpQkFBaUI7a0JBWjdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIERlc3Ryb3lSZWYsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIE5ndEF0dGFjaGFibGUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IFBvaW50TWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvc2hhZGVycyc7XG5pbXBvcnQgeyBQb2ludHNNYXRlcmlhbFBhcmFtZXRlcnMgfSBmcm9tICd0aHJlZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtcG9pbnQtbWF0ZXJpYWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW21hdGVyaWFsXVwiIFthdHRhY2hdPVwiYXR0YWNoKClcIiBbcGFyYW1ldGVyc109XCJvcHRpb25zKClcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtcHJpbWl0aXZlPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNQb2ludE1hdGVyaWFsIHtcblx0YXR0YWNoID0gaW5wdXQ8Tmd0QXR0YWNoYWJsZT4oJ21hdGVyaWFsJyk7XG5cdG9wdGlvbnMgPSBpbnB1dCh7fSBhcyBQb2ludHNNYXRlcmlhbFBhcmFtZXRlcnMpO1xuXG5cdG1hdGVyaWFsID0gbmV3IFBvaW50TWF0ZXJpYWwodGhpcy5vcHRpb25zKCkpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4gdGhpcy5tYXRlcmlhbC5kaXNwb3NlKCkpO1xuXHR9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1zb2JhLW1pc2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWlzYy9zcmMvYW5ndWxhci10aHJlZS1zb2JhLW1pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,15 +0,0 @@
1
- export * from './lib/animations';
2
- export * from './lib/bake-shadows';
3
- export * from './lib/computed-attribute';
4
- export * from './lib/constants';
5
- export * from './lib/decal';
6
- export * from './lib/deprecated';
7
- export * from './lib/depth-buffer';
8
- export * from './lib/fbo';
9
- export * from './lib/html/html';
10
- export * from './lib/html/html-content';
11
- export * from './lib/intersect';
12
- export * from './lib/preload';
13
- export * from './lib/sampler';
14
- export * from './lib/scale-factor';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWlzYy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFrZS1zaGFkb3dzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXB1dGVkLWF0dHJpYnV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGVjYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGVwcmVjYXRlZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZXB0aC1idWZmZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmJvJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0bWwvaHRtbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9odG1sL2h0bWwtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcnNlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJlbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYW1wbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NjYWxlLWZhY3Rvcic7XG4iXX0=
@@ -1,71 +0,0 @@
1
- import { computed, effect, isSignal, signal, untracked } from '@angular/core';
2
- import { injectBeforeRender, resolveRef } from 'angular-three';
3
- import { assertInjector } from 'ngxtension/assert-injector';
4
- import { AnimationMixer } from 'three';
5
- /**
6
- * Use afterNextRender
7
- */
8
- export function injectAnimations(animations, object, { injector } = {}) {
9
- return assertInjector(injectAnimations, injector, () => {
10
- const mixer = new AnimationMixer(null);
11
- injectBeforeRender(({ delta }) => {
12
- if (!mixer.getRoot())
13
- return;
14
- mixer.update(delta);
15
- });
16
- let cached = {};
17
- const actions = {};
18
- const clips = [];
19
- const names = [];
20
- const actualObject = computed(() => {
21
- if (isSignal(object) || typeof object === 'function') {
22
- return resolveRef(object());
23
- }
24
- return resolveRef(object);
25
- });
26
- const ready = signal(false);
27
- effect((onCleanup) => {
28
- const obj = actualObject();
29
- if (!obj)
30
- return;
31
- Object.assign(mixer, { _root: obj });
32
- const maybeAnimationClips = animations();
33
- if (!maybeAnimationClips)
34
- return;
35
- const animationClips = Array.isArray(maybeAnimationClips) ? maybeAnimationClips : maybeAnimationClips.animations;
36
- for (let i = 0; i < animationClips.length; i++) {
37
- const clip = animationClips[i];
38
- names.push(clip.name);
39
- clips.push(clip);
40
- if (!actions[clip.name]) {
41
- Object.defineProperty(actions, clip.name, {
42
- enumerable: true,
43
- get: () => {
44
- if (!cached[clip.name]) {
45
- cached[clip.name] = mixer.clipAction(clip, obj);
46
- }
47
- return cached[clip.name];
48
- },
49
- });
50
- }
51
- }
52
- untracked(() => {
53
- if (!ready()) {
54
- ready.set(true);
55
- }
56
- });
57
- onCleanup(() => {
58
- // clear cached
59
- cached = {};
60
- // stop all actions
61
- mixer.stopAllAction();
62
- // uncache actions
63
- Object.values(actions).forEach((action) => {
64
- mixer.uncacheAction(action, obj);
65
- });
66
- });
67
- });
68
- return { clips, mixer, actions, names, ready };
69
- });
70
- }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9saWIvYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBd0IsUUFBUSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFrQyxjQUFjLEVBQVksTUFBTSxPQUFPLENBQUM7QUFzQmpGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUMvQixVQUE4RCxFQUM5RCxNQUFvRyxFQUNwRyxFQUFFLFFBQVEsS0FBOEIsRUFBRTtJQUUxQyxPQUFPLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3RELE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUssQ0FBQyxDQUFDO1FBQ3hDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUFFLE9BQU87WUFDN0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksTUFBTSxHQUFHLEVBQXFDLENBQUM7UUFDbkQsTUFBTSxPQUFPLEdBQUcsRUFBNkMsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxFQUEyQyxDQUFDO1FBQzFELE1BQU0sS0FBSyxHQUFHLEVBQTJDLENBQUM7UUFFMUQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDdEQsT0FBTyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBRUQsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxHQUFHLEdBQUcsWUFBWSxFQUEwQixDQUFDO1lBQ25ELElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUVyQyxNQUFNLG1CQUFtQixHQUFHLFVBQVUsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxtQkFBbUI7Z0JBQUUsT0FBTztZQUVqQyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7WUFFakgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDaEQsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUUvQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBMEIsQ0FBQyxFQUFFLENBQUM7b0JBQy9DLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7d0JBQ3pDLFVBQVUsRUFBRSxJQUFJO3dCQUNoQixHQUFHLEVBQUUsR0FBRyxFQUFFOzRCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0NBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7NEJBQ2pELENBQUM7NEJBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxQixDQUFDO3FCQUNELENBQUMsQ0FBQztnQkFDSixDQUFDO1lBQ0YsQ0FBQztZQUVELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakIsQ0FBQztZQUNGLENBQUMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxlQUFlO2dCQUNmLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ1osbUJBQW1CO2dCQUNuQixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3RCLGtCQUFrQjtnQkFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDekMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2hELENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBpc1NpZ25hbCwgU2lnbmFsLCBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QmVmb3JlUmVuZGVyLCByZXNvbHZlUmVmIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IEFuaW1hdGlvbkFjdGlvbiwgQW5pbWF0aW9uQ2xpcCwgQW5pbWF0aW9uTWl4ZXIsIE9iamVjdDNEIH0gZnJvbSAndGhyZWUnO1xuXG4vKipcbiAqIG5hbWU6IGFueSB0byBhbGxvdyBjb25zdW1lcnMgdG8gcGFzcyBpbiB0eXBlLXNhZmUgYW5pbWF0aW9uIGNsaXBzXG4gKi9cbnR5cGUgTmd0c0FuaW1hdGlvbkNsaXBXaXRob3V0TmFtZSA9IE9taXQ8QW5pbWF0aW9uQ2xpcCwgJ25hbWUnPiAmIHsgbmFtZTogYW55IH07XG5leHBvcnQgdHlwZSBOZ3RzQW5pbWF0aW9uQ2xpcCA9IE9taXQ8Tmd0c0FuaW1hdGlvbkNsaXBXaXRob3V0TmFtZSwgJ2Nsb25lJz4gJiB7IGNsb25lOiAoKSA9PiBOZ3RzQW5pbWF0aW9uQ2xpcCB9O1xuZXhwb3J0IHR5cGUgTmd0c0FuaW1hdGlvbkNsaXBzPFRBbmltYXRpb25OYW1lcyBleHRlbmRzIHN0cmluZz4gPSB7XG5cdFtOYW1lIGluIFRBbmltYXRpb25OYW1lc106IE9taXQ8Tmd0c0FuaW1hdGlvbkNsaXAsICduYW1lJz4gJiB7IG5hbWU6IE5hbWUgfTtcbn1bVEFuaW1hdGlvbk5hbWVzXTtcbmV4cG9ydCB0eXBlIE5ndHNBbmltYXRpb25BcGk8VCBleHRlbmRzIE5ndHNBbmltYXRpb25DbGlwPiA9IHtcblx0cmVhZHk6IFNpZ25hbDxib29sZWFuPjtcblx0Y2xpcHM6IFRbXTtcblx0bWl4ZXI6IEFuaW1hdGlvbk1peGVyO1xuXHRuYW1lczogVFsnbmFtZSddW107XG5cdGFjdGlvbnM6IHsgW2tleSBpbiBUWyduYW1lJ11dOiBBbmltYXRpb25BY3Rpb24gfCBudWxsIH07XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RzQW5pbWF0aW9uPFRBbmltYXRpb24gZXh0ZW5kcyBOZ3RzQW5pbWF0aW9uQ2xpcCA9IE5ndHNBbmltYXRpb25DbGlwPiA9XG5cdHwgVEFuaW1hdGlvbltdXG5cdHwgeyBhbmltYXRpb25zOiBUQW5pbWF0aW9uW10gfTtcblxuLyoqXG4gKiBVc2UgYWZ0ZXJOZXh0UmVuZGVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RBbmltYXRpb25zPFRBbmltYXRpb24gZXh0ZW5kcyBOZ3RzQW5pbWF0aW9uQ2xpcD4oXG5cdGFuaW1hdGlvbnM6ICgpID0+IE5ndHNBbmltYXRpb248VEFuaW1hdGlvbj4gfCB1bmRlZmluZWQgfCBudWxsLFxuXHRvYmplY3Q6IEVsZW1lbnRSZWY8T2JqZWN0M0Q+IHwgT2JqZWN0M0QgfCAoKCkgPT4gRWxlbWVudFJlZjxPYmplY3QzRD4gfCBPYmplY3QzRCB8IHVuZGVmaW5lZCB8IG51bGwpLFxuXHR7IGluamVjdG9yIH06IHsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30sXG4pIHtcblx0cmV0dXJuIGFzc2VydEluamVjdG9yKGluamVjdEFuaW1hdGlvbnMsIGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWl4ZXIgPSBuZXcgQW5pbWF0aW9uTWl4ZXIobnVsbCEpO1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBkZWx0YSB9KSA9PiB7XG5cdFx0XHRpZiAoIW1peGVyLmdldFJvb3QoKSkgcmV0dXJuO1xuXHRcdFx0bWl4ZXIudXBkYXRlKGRlbHRhKTtcblx0XHR9KTtcblxuXHRcdGxldCBjYWNoZWQgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBBbmltYXRpb25BY3Rpb24+O1xuXHRcdGNvbnN0IGFjdGlvbnMgPSB7fSBhcyBOZ3RzQW5pbWF0aW9uQXBpPFRBbmltYXRpb24+WydhY3Rpb25zJ107XG5cdFx0Y29uc3QgY2xpcHMgPSBbXSBhcyBOZ3RzQW5pbWF0aW9uQXBpPFRBbmltYXRpb24+WydjbGlwcyddO1xuXHRcdGNvbnN0IG5hbWVzID0gW10gYXMgTmd0c0FuaW1hdGlvbkFwaTxUQW5pbWF0aW9uPlsnbmFtZXMnXTtcblxuXHRcdGNvbnN0IGFjdHVhbE9iamVjdCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGlmIChpc1NpZ25hbChvYmplY3QpIHx8IHR5cGVvZiBvYmplY3QgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0cmV0dXJuIHJlc29sdmVSZWYob2JqZWN0KCkpO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gcmVzb2x2ZVJlZihvYmplY3QpO1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgcmVhZHkgPSBzaWduYWwoZmFsc2UpO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IG9iaiA9IGFjdHVhbE9iamVjdCgpIGFzIE9iamVjdDNEIHwgdW5kZWZpbmVkO1xuXHRcdFx0aWYgKCFvYmopIHJldHVybjtcblx0XHRcdE9iamVjdC5hc3NpZ24obWl4ZXIsIHsgX3Jvb3Q6IG9iaiB9KTtcblxuXHRcdFx0Y29uc3QgbWF5YmVBbmltYXRpb25DbGlwcyA9IGFuaW1hdGlvbnMoKTtcblx0XHRcdGlmICghbWF5YmVBbmltYXRpb25DbGlwcykgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBhbmltYXRpb25DbGlwcyA9IEFycmF5LmlzQXJyYXkobWF5YmVBbmltYXRpb25DbGlwcykgPyBtYXliZUFuaW1hdGlvbkNsaXBzIDogbWF5YmVBbmltYXRpb25DbGlwcy5hbmltYXRpb25zO1xuXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFuaW1hdGlvbkNsaXBzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGNvbnN0IGNsaXAgPSBhbmltYXRpb25DbGlwc1tpXTtcblxuXHRcdFx0XHRuYW1lcy5wdXNoKGNsaXAubmFtZSk7XG5cdFx0XHRcdGNsaXBzLnB1c2goY2xpcCk7XG5cblx0XHRcdFx0aWYgKCFhY3Rpb25zW2NsaXAubmFtZSBhcyBUQW5pbWF0aW9uWyduYW1lJ11dKSB7XG5cdFx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGFjdGlvbnMsIGNsaXAubmFtZSwge1xuXHRcdFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdFx0XHRcdGdldDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAoIWNhY2hlZFtjbGlwLm5hbWVdKSB7XG5cdFx0XHRcdFx0XHRcdFx0Y2FjaGVkW2NsaXAubmFtZV0gPSBtaXhlci5jbGlwQWN0aW9uKGNsaXAsIG9iaik7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gY2FjaGVkW2NsaXAubmFtZV07XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdGlmICghcmVhZHkoKSkge1xuXHRcdFx0XHRcdHJlYWR5LnNldCh0cnVlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRcdG9uQ2xlYW51cCgoKSA9PiB7XG5cdFx0XHRcdC8vIGNsZWFyIGNhY2hlZFxuXHRcdFx0XHRjYWNoZWQgPSB7fTtcblx0XHRcdFx0Ly8gc3RvcCBhbGwgYWN0aW9uc1xuXHRcdFx0XHRtaXhlci5zdG9wQWxsQWN0aW9uKCk7XG5cdFx0XHRcdC8vIHVuY2FjaGUgYWN0aW9uc1xuXHRcdFx0XHRPYmplY3QudmFsdWVzKGFjdGlvbnMpLmZvckVhY2goKGFjdGlvbikgPT4ge1xuXHRcdFx0XHRcdG1peGVyLnVuY2FjaGVBY3Rpb24oYWN0aW9uIGFzIEFuaW1hdGlvbkNsaXAsIG9iaik7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4geyBjbGlwcywgbWl4ZXIsIGFjdGlvbnMsIG5hbWVzLCByZWFkeSB9O1xuXHR9KTtcbn1cbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { Directive, effect } from '@angular/core';
2
- import { injectStore } from 'angular-three';
3
- import * as i0 from "@angular/core";
4
- export class NgtsBakeShadows {
5
- constructor() {
6
- const store = injectStore();
7
- const gl = store.select('gl');
8
- effect((onCleanup) => {
9
- const _gl = gl();
10
- _gl.shadowMap.autoUpdate = false;
11
- _gl.shadowMap.needsUpdate = true;
12
- onCleanup(() => {
13
- _gl.shadowMap.autoUpdate = _gl.shadowMap.needsUpdate = true;
14
- });
15
- });
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsBakeShadows, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: NgtsBakeShadows, isStandalone: true, selector: "ngts-bake-shadows", ngImport: i0 }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsBakeShadows, decorators: [{
21
- type: Directive,
22
- args: [{ standalone: true, selector: 'ngts-bake-shadows' }]
23
- }], ctorParameters: () => [] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFrZS1zaGFkb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9iYWtlLXNoYWRvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLGVBQWU7SUFDM0I7UUFDQyxNQUFNLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM1QixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUNqQyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDakMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7K0dBWlcsZUFBZTttR0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnbmd0cy1iYWtlLXNoYWRvd3MnIH0pXG5leHBvcnQgY2xhc3MgTmd0c0Jha2VTaGFkb3dzIHtcblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3Qgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRcdGNvbnN0IGdsID0gc3RvcmUuc2VsZWN0KCdnbCcpO1xuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBfZ2wgPSBnbCgpO1xuXHRcdFx0X2dsLnNoYWRvd01hcC5hdXRvVXBkYXRlID0gZmFsc2U7XG5cdFx0XHRfZ2wuc2hhZG93TWFwLm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiB7XG5cdFx0XHRcdF9nbC5zaGFkb3dNYXAuYXV0b1VwZGF0ZSA9IF9nbC5zaGFkb3dNYXAubmVlZHNVcGRhdGUgPSB0cnVlO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, effect, input, viewChild, } from '@angular/core';
2
- import { NgtArgs, getLocalState } from 'angular-three';
3
- import { BufferAttribute } from 'three';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Used exclusively as a child of a BufferGeometry.
7
- * Computes the BufferAttribute by calling the `compute` function
8
- * and attaches the attribute to the geometry.
9
- */
10
- export class NgtsComputedAttribute {
11
- constructor() {
12
- this.compute = input.required();
13
- this.name = input.required();
14
- this.options = input({});
15
- this.bufferAttribute = new BufferAttribute(new Float32Array(0), 1);
16
- this.attributeRef = viewChild('attribute');
17
- effect(() => {
18
- const bufferAttribute = this.attributeRef()?.nativeElement;
19
- if (!bufferAttribute)
20
- return;
21
- const localState = getLocalState(bufferAttribute);
22
- if (!localState)
23
- return;
24
- const geometry = bufferAttribute.parent ?? localState.parent();
25
- const attribute = this.compute()(geometry);
26
- bufferAttribute.copy(attribute);
27
- });
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsComputedAttribute, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsComputedAttribute, isStandalone: true, selector: "ngts-computed-attribute", inputs: { compute: { classPropertyName: "compute", publicName: "compute", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "attributeRef", first: true, predicate: ["attribute"], descendants: true, isSignal: true }], ngImport: i0, template: `
31
- <ngt-primitive #attribute *args="[bufferAttribute]" [attach]="['attributes', name()]" [parameters]="options()">
32
- <ng-content />
33
- </ngt-primitive>
34
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsComputedAttribute, decorators: [{
37
- type: Component,
38
- args: [{
39
- selector: 'ngts-computed-attribute',
40
- standalone: true,
41
- template: `
42
- <ngt-primitive #attribute *args="[bufferAttribute]" [attach]="['attributes', name()]" [parameters]="options()">
43
- <ng-content />
44
- </ngt-primitive>
45
- `,
46
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
47
- changeDetection: ChangeDetectionStrategy.OnPush,
48
- imports: [NgtArgs],
49
- }]
50
- }], ctorParameters: () => [] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtYXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9jb21wdXRlZC1hdHRyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQXNCLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLE9BQU8sQ0FBQzs7QUFjeEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFRakM7UUFQQSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBaUQsQ0FBQztRQUMxRSxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBaUMsQ0FBQyxDQUFDO1FBRW5ELG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUQsaUJBQVksR0FBRyxTQUFTLENBQThCLFdBQVcsQ0FBQyxDQUFDO1FBR2xFLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsYUFBYSxDQUFDO1lBQzNELElBQUksQ0FBQyxlQUFlO2dCQUFFLE9BQU87WUFFN0IsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxVQUFVO2dCQUFFLE9BQU87WUFFeEIsTUFBTSxRQUFRLEdBQUssZUFBdUIsQ0FBQyxNQUF5QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1RixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0MsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7K0dBckJXLHFCQUFxQjttR0FBckIscUJBQXFCLHlrQkFkdkI7Ozs7RUFJVCw0REFHUyxPQUFPOzs0RkFPTCxxQkFBcUI7a0JBakJqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRlZmZlY3QsXG5cdGlucHV0LFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0QnVmZmVyQXR0cmlidXRlLCBnZXRMb2NhbFN0YXRlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBCdWZmZXJBdHRyaWJ1dGUsIEJ1ZmZlckdlb21ldHJ5IH0gZnJvbSAndGhyZWUnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWNvbXB1dGVkLWF0dHJpYnV0ZScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wcmltaXRpdmUgI2F0dHJpYnV0ZSAqYXJncz1cIltidWZmZXJBdHRyaWJ1dGVdXCIgW2F0dGFjaF09XCJbJ2F0dHJpYnV0ZXMnLCBuYW1lKCldXCIgW3BhcmFtZXRlcnNdPVwib3B0aW9ucygpXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxufSlcbi8qKlxuICogVXNlZCBleGNsdXNpdmVseSBhcyBhIGNoaWxkIG9mIGEgQnVmZmVyR2VvbWV0cnkuXG4gKiBDb21wdXRlcyB0aGUgQnVmZmVyQXR0cmlidXRlIGJ5IGNhbGxpbmcgdGhlIGBjb21wdXRlYCBmdW5jdGlvblxuICogYW5kIGF0dGFjaGVzIHRoZSBhdHRyaWJ1dGUgdG8gdGhlIGdlb21ldHJ5LlxuICovXG5leHBvcnQgY2xhc3MgTmd0c0NvbXB1dGVkQXR0cmlidXRlIHtcblx0Y29tcHV0ZSA9IGlucHV0LnJlcXVpcmVkPChnZW9tZXRyeTogQnVmZmVyR2VvbWV0cnkpID0+IEJ1ZmZlckF0dHJpYnV0ZT4oKTtcblx0bmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblx0b3B0aW9ucyA9IGlucHV0KHt9IGFzIFBhcnRpYWw8Tmd0QnVmZmVyQXR0cmlidXRlPik7XG5cblx0YnVmZmVyQXR0cmlidXRlID0gbmV3IEJ1ZmZlckF0dHJpYnV0ZShuZXcgRmxvYXQzMkFycmF5KDApLCAxKTtcblx0YXR0cmlidXRlUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8QnVmZmVyQXR0cmlidXRlPj4oJ2F0dHJpYnV0ZScpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBidWZmZXJBdHRyaWJ1dGUgPSB0aGlzLmF0dHJpYnV0ZVJlZigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKCFidWZmZXJBdHRyaWJ1dGUpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoYnVmZmVyQXR0cmlidXRlKTtcblx0XHRcdGlmICghbG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBnZW9tZXRyeSA9ICgoYnVmZmVyQXR0cmlidXRlIGFzIGFueSkucGFyZW50IGFzIEJ1ZmZlckdlb21ldHJ5KSA/PyBsb2NhbFN0YXRlLnBhcmVudCgpO1xuXG5cdFx0XHRjb25zdCBhdHRyaWJ1dGUgPSB0aGlzLmNvbXB1dGUoKShnZW9tZXRyeSk7XG5cdFx0XHRidWZmZXJBdHRyaWJ1dGUuY29weShhdHRyaWJ1dGUpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- import { REVISION } from 'three';
2
- export function getVersion() {
3
- return parseInt(REVISION.replace(/\D+/g, ''));
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqQyxNQUFNLFVBQVUsVUFBVTtJQUN6QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSRVZJU0lPTiB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb24oKSB7XG5cdHJldHVybiBwYXJzZUludChSRVZJU0lPTi5yZXBsYWNlKC9cXEQrL2csICcnKSk7XG59XG4iXX0=