angular-three-soba 4.0.0-next.9 → 4.0.0-next.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstractions/README.md +1 -1
- package/abstractions/lib/catmull-rom-line.d.ts +16 -15
- package/abstractions/lib/edges.d.ts +17 -15
- package/abstractions/lib/text-3d.d.ts +1 -1
- package/abstractions/lib/text.d.ts +5 -1
- package/cameras/lib/camera-content.d.ts +1 -2
- package/cameras/lib/cube-camera.d.ts +2 -2
- package/cameras/lib/orthographic-camera.d.ts +6 -5
- package/cameras/lib/perspective-camera.d.ts +2 -5
- package/controls/README.md +28 -28
- package/controls/index.d.ts +1 -0
- package/controls/lib/camera-controls.d.ts +1 -1
- package/controls/lib/orbit-controls.d.ts +11 -6
- package/controls/lib/trackball-controls.d.ts +27 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +87 -47
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +61 -37
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +128 -36
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +124 -86
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-materials.mjs +82 -86
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +55 -48
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +152 -35
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +183 -144
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +3 -3
- package/gizmos/lib/gizmo-helper/gizmo-helper.d.ts +4 -3
- package/loaders/README.md +39 -39
- package/materials/lib/mesh-transmission-material.d.ts +4 -4
- package/misc/README.md +16 -16
- package/misc/lib/deprecated.d.ts +0 -6
- package/misc/lib/depth-buffer.d.ts +1 -1
- package/misc/lib/fbo.d.ts +1 -3
- package/misc/lib/html/html-content.d.ts +2 -2
- package/misc/lib/html/html.d.ts +4 -4
- package/package.json +6 -6
- package/performances/index.d.ts +1 -0
- package/performances/lib/adaptive-dpr.d.ts +1 -1
- package/performances/lib/bvh.d.ts +49 -0
- package/shaders/lib/mesh-refraction-material.d.ts +2 -2
- package/staging/lib/caustics.d.ts +3 -3
- package/staging/lib/environment/inject-environment.d.ts +1 -2
- package/staging/lib/render-texture.d.ts +5 -4
- package/staging/lib/stage.d.ts +12 -11
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, effect, untracked, inject, DestroyRef, Directive, viewChild, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, computed } from '@angular/core';
|
|
3
|
-
import { injectStore, omit, pick, extend, getInstanceState, injectBeforeRender, resolveRef, checkUpdate, vector3, NgtArgs } from 'angular-three';
|
|
2
|
+
import { input, booleanAttribute, effect, untracked, inject, DestroyRef, Directive, viewChild, signal, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, computed } from '@angular/core';
|
|
3
|
+
import { injectStore, omit, pick, extend, is, getInstanceState, injectBeforeRender, resolveRef, checkUpdate, vector3, NgtArgs } from 'angular-three';
|
|
4
4
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
5
5
|
import * as THREE from 'three';
|
|
6
|
-
import { LOD, InstancedMesh, InstancedBufferAttribute, Points, BufferAttribute, BufferGeometry } from 'three';
|
|
6
|
+
import { Group, LOD, InstancedMesh, InstancedBufferAttribute, Points, BufferAttribute, BufferGeometry } from 'three';
|
|
7
|
+
import { SAH, acceleratedRaycast, computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh';
|
|
7
8
|
import { setUpdateRange } from 'angular-three-soba/misc';
|
|
8
9
|
import { Line2, LineMaterial, LineSegmentsGeometry } from 'three-stdlib';
|
|
9
10
|
|
|
10
11
|
class NgtsAdaptiveDpr {
|
|
11
12
|
constructor() {
|
|
12
|
-
this.pixelated = input(false);
|
|
13
|
+
this.pixelated = input(false, { transform: booleanAttribute });
|
|
13
14
|
const store = injectStore();
|
|
14
15
|
effect(() => {
|
|
15
16
|
const [current, pixelated, domElement, setDpr, initialDpr] = [
|
|
@@ -37,10 +38,10 @@ class NgtsAdaptiveDpr {
|
|
|
37
38
|
domElement.style.imageRendering = 'auto';
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
41
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsAdaptiveDpr, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.1", type: NgtsAdaptiveDpr, isStandalone: true, selector: "ngts-adaptive-dpr", inputs: { pixelated: { classPropertyName: "pixelated", publicName: "pixelated", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
42
43
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsAdaptiveDpr, decorators: [{
|
|
44
45
|
type: Directive,
|
|
45
46
|
args: [{ selector: 'ngts-adaptive-dpr' }]
|
|
46
47
|
}], ctorParameters: () => [] });
|
|
@@ -57,14 +58,130 @@ class NgtsAdaptiveEvents {
|
|
|
57
58
|
store.snapshot.setEvents({ enabled: currentEnabled });
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
61
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsAdaptiveEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
62
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: NgtsAdaptiveEvents, isStandalone: true, selector: "ngts-adaptive-events", ngImport: i0 }); }
|
|
62
63
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsAdaptiveEvents, decorators: [{
|
|
64
65
|
type: Directive,
|
|
65
66
|
args: [{ selector: 'ngts-adaptive-events' }]
|
|
66
67
|
}], ctorParameters: () => [] });
|
|
67
68
|
|
|
69
|
+
const defaultOptions$2 = {
|
|
70
|
+
enabled: true,
|
|
71
|
+
firstHitOnly: false,
|
|
72
|
+
strategy: SAH,
|
|
73
|
+
verbose: false,
|
|
74
|
+
setBoundingBox: true,
|
|
75
|
+
maxDepth: 40,
|
|
76
|
+
maxLeafTris: 10,
|
|
77
|
+
indirect: false,
|
|
78
|
+
};
|
|
79
|
+
class NgtsBVH {
|
|
80
|
+
constructor() {
|
|
81
|
+
this.options = input(defaultOptions$2, { transform: mergeInputs(defaultOptions$2) });
|
|
82
|
+
this.parameters = omit(this.options, [
|
|
83
|
+
'enabled',
|
|
84
|
+
'firstHitOnly',
|
|
85
|
+
'strategy',
|
|
86
|
+
'verbose',
|
|
87
|
+
'setBoundingBox',
|
|
88
|
+
'maxDepth',
|
|
89
|
+
'maxLeafTris',
|
|
90
|
+
'indirect',
|
|
91
|
+
]);
|
|
92
|
+
this.groupRef = viewChild.required('group');
|
|
93
|
+
this.store = injectStore();
|
|
94
|
+
this.enabled = pick(this.options, 'enabled');
|
|
95
|
+
this.firstHitOnly = pick(this.options, 'firstHitOnly');
|
|
96
|
+
this.strategy = pick(this.options, 'strategy');
|
|
97
|
+
this.verbose = pick(this.options, 'verbose');
|
|
98
|
+
this.setBoundingBox = pick(this.options, 'setBoundingBox');
|
|
99
|
+
this.maxDepth = pick(this.options, 'maxDepth');
|
|
100
|
+
this.maxLeafTris = pick(this.options, 'maxLeafTris');
|
|
101
|
+
this.indirect = pick(this.options, 'indirect');
|
|
102
|
+
this.reset = signal(Math.random());
|
|
103
|
+
this.retryMap = new Map();
|
|
104
|
+
this.MAX_RETRIES = 3;
|
|
105
|
+
extend({ Group });
|
|
106
|
+
effect((onCleanup) => {
|
|
107
|
+
const enabled = this.enabled();
|
|
108
|
+
if (!enabled)
|
|
109
|
+
return;
|
|
110
|
+
const group = this.groupRef().nativeElement;
|
|
111
|
+
// track reset
|
|
112
|
+
this.reset();
|
|
113
|
+
// Hijacking the raycast method to do it for individual meshes is not an option as it would
|
|
114
|
+
// This can only safely work if the component is used once, but there is no alternative.
|
|
115
|
+
// cost too much memory ...
|
|
116
|
+
const [firstHitOnly, strategy, verbose, setBoundingBox, maxDepth, maxLeafTris, indirect, raycaster] = [
|
|
117
|
+
untracked(this.firstHitOnly),
|
|
118
|
+
untracked(this.strategy),
|
|
119
|
+
untracked(this.verbose),
|
|
120
|
+
untracked(this.setBoundingBox),
|
|
121
|
+
untracked(this.maxDepth),
|
|
122
|
+
untracked(this.maxLeafTris),
|
|
123
|
+
untracked(this.indirect),
|
|
124
|
+
this.store.snapshot.raycaster,
|
|
125
|
+
];
|
|
126
|
+
const options = { strategy, verbose, setBoundingBox, maxDepth, maxLeafTris, indirect };
|
|
127
|
+
raycaster.firstHitOnly = firstHitOnly;
|
|
128
|
+
let timeoutId;
|
|
129
|
+
group.traverse((child) => {
|
|
130
|
+
if (is.three(child, 'isMesh') &&
|
|
131
|
+
!child.geometry.boundsTree &&
|
|
132
|
+
child.raycast === THREE.Mesh.prototype.raycast) {
|
|
133
|
+
const geometry = child.geometry;
|
|
134
|
+
const retryCount = this.retryMap.get(child) ?? 0;
|
|
135
|
+
// retry 3 times
|
|
136
|
+
if (!Object.keys(geometry.attributes).length && retryCount <= this.MAX_RETRIES) {
|
|
137
|
+
this.retryMap.set(child, retryCount + 1);
|
|
138
|
+
timeoutId = setTimeout(() => {
|
|
139
|
+
this.reset.set(Math.random());
|
|
140
|
+
});
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
child.raycast = acceleratedRaycast;
|
|
144
|
+
child.geometry.computeBoundsTree = computeBoundsTree;
|
|
145
|
+
child.geometry.disposeBoundsTree = disposeBoundsTree;
|
|
146
|
+
child.geometry.computeBoundsTree(options);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
onCleanup(() => {
|
|
150
|
+
timeoutId && clearTimeout(timeoutId);
|
|
151
|
+
delete raycaster.firstHitOnly;
|
|
152
|
+
group.traverse((child) => {
|
|
153
|
+
if (is.three(child, 'isMesh') && child.geometry.boundsTree) {
|
|
154
|
+
child.geometry.disposeBoundsTree();
|
|
155
|
+
child.raycast = THREE.Mesh.prototype.raycast;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
inject(DestroyRef).onDestroy(() => {
|
|
161
|
+
this.retryMap.clear();
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsBVH, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsBVH, isStandalone: true, selector: "ngts-bvh", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
166
|
+
<ngt-group #group [parameters]="parameters()">
|
|
167
|
+
<ng-content />
|
|
168
|
+
</ngt-group>
|
|
169
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
170
|
+
}
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsBVH, decorators: [{
|
|
172
|
+
type: Component,
|
|
173
|
+
args: [{
|
|
174
|
+
selector: 'ngts-bvh',
|
|
175
|
+
template: `
|
|
176
|
+
<ngt-group #group [parameters]="parameters()">
|
|
177
|
+
<ng-content />
|
|
178
|
+
</ngt-group>
|
|
179
|
+
`,
|
|
180
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
181
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
182
|
+
}]
|
|
183
|
+
}], ctorParameters: () => [] });
|
|
184
|
+
|
|
68
185
|
const defaultOptions$1 = {
|
|
69
186
|
hysteresis: 0,
|
|
70
187
|
};
|
|
@@ -91,14 +208,14 @@ class NgtsDetailed {
|
|
|
91
208
|
this.lodRef().nativeElement.update(camera);
|
|
92
209
|
});
|
|
93
210
|
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
211
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsDetailed, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
212
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsDetailed, isStandalone: true, selector: "ngts-detailed", inputs: { distances: { classPropertyName: "distances", publicName: "distances", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lodRef", first: true, predicate: ["lod"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
96
213
|
<ngt-lOD #lod [parameters]="parameters()">
|
|
97
214
|
<ng-content />
|
|
98
215
|
</ngt-lOD>
|
|
99
216
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
100
217
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsDetailed, decorators: [{
|
|
102
219
|
type: Component,
|
|
103
220
|
args: [{
|
|
104
221
|
selector: 'ngts-detailed',
|
|
@@ -178,14 +295,14 @@ class NgtsInstance {
|
|
|
178
295
|
onCleanup(() => cleanup());
|
|
179
296
|
});
|
|
180
297
|
}
|
|
181
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
182
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
298
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsInstance, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
299
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsInstance, isStandalone: true, selector: "ngts-instance", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "positionMeshRef", first: true, predicate: ["positionMesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
183
300
|
<ngt-position-mesh #positionMesh [instance]="instances.instancedMeshRef()" [parameters]="options()">
|
|
184
301
|
<ng-content />
|
|
185
302
|
</ngt-position-mesh>
|
|
186
303
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
187
304
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsInstance, decorators: [{
|
|
189
306
|
type: Component,
|
|
190
307
|
args: [{
|
|
191
308
|
selector: 'ngts-instance',
|
|
@@ -267,8 +384,8 @@ class NgtsInstances {
|
|
|
267
384
|
this.instances = this.instances.filter((i) => i !== ref);
|
|
268
385
|
};
|
|
269
386
|
}
|
|
270
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
271
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
387
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
388
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsInstances, isStandalone: true, selector: "ngts-instances", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "instancedMeshRef", first: true, predicate: ["instancedMesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
272
389
|
<ngt-instanced-mesh
|
|
273
390
|
#instancedMesh
|
|
274
391
|
[userData]="{ instances }"
|
|
@@ -294,7 +411,7 @@ class NgtsInstances {
|
|
|
294
411
|
</ngt-instanced-mesh>
|
|
295
412
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
296
413
|
}
|
|
297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
414
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsInstances, decorators: [{
|
|
298
415
|
type: Component,
|
|
299
416
|
args: [{
|
|
300
417
|
selector: 'ngts-instances',
|
|
@@ -390,14 +507,14 @@ class NgtsPoint {
|
|
|
390
507
|
onCleanup(() => cleanUp());
|
|
391
508
|
});
|
|
392
509
|
}
|
|
393
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
394
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
510
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPoint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
511
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsPoint, isStandalone: true, selector: "ngts-point", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "positionPointRef", first: true, predicate: ["positionPoint"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
395
512
|
<ngt-position-point #positionPoint [parameters]="options()" [instance]="points.pointsRef()">
|
|
396
513
|
<ng-content />
|
|
397
514
|
</ngt-position-point>
|
|
398
515
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
399
516
|
}
|
|
400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPoint, decorators: [{
|
|
401
518
|
type: Component,
|
|
402
519
|
args: [{
|
|
403
520
|
selector: 'ngts-point',
|
|
@@ -432,8 +549,8 @@ class NgtsPointsBuffer {
|
|
|
432
549
|
checkUpdate(attributes['size']);
|
|
433
550
|
});
|
|
434
551
|
}
|
|
435
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
436
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1
|
|
552
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPointsBuffer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
553
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: NgtsPointsBuffer, isStandalone: true, selector: "ngts-points-buffer", inputs: { positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: true, transformFunction: null }, colors: { classPropertyName: "colors", publicName: "colors", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null }, stride: { classPropertyName: "stride", publicName: "stride", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "pointsRef", first: true, predicate: ["points"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
437
554
|
<ngt-points #points [parameters]="options()">
|
|
438
555
|
<ngt-buffer-geometry>
|
|
439
556
|
<ngt-buffer-attribute
|
|
@@ -466,7 +583,7 @@ class NgtsPointsBuffer {
|
|
|
466
583
|
</ngt-points>
|
|
467
584
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
468
585
|
}
|
|
469
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPointsBuffer, decorators: [{
|
|
470
587
|
type: Component,
|
|
471
588
|
args: [{
|
|
472
589
|
selector: 'ngts-points-buffer',
|
|
@@ -563,8 +680,8 @@ class NgtsPointsInstances {
|
|
|
563
680
|
this.positionPoints = this.positionPoints.filter((p) => p !== ref);
|
|
564
681
|
};
|
|
565
682
|
}
|
|
566
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
567
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
683
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPointsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
684
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsPointsInstances, isStandalone: true, selector: "ngts-points-instances", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "pointsRef", first: true, predicate: ["points"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
568
685
|
<ngt-points
|
|
569
686
|
#points
|
|
570
687
|
[userData]="{ instances: positionPoints }"
|
|
@@ -599,7 +716,7 @@ class NgtsPointsInstances {
|
|
|
599
716
|
</ngt-points>
|
|
600
717
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
601
718
|
}
|
|
602
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
719
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPointsInstances, decorators: [{
|
|
603
720
|
type: Component,
|
|
604
721
|
args: [{
|
|
605
722
|
selector: 'ngts-points-instances',
|
|
@@ -665,12 +782,12 @@ class NgtsSegment {
|
|
|
665
782
|
onCleanup(() => cleanUp());
|
|
666
783
|
});
|
|
667
784
|
}
|
|
668
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
669
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
785
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsSegment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
786
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsSegment, isStandalone: true, selector: "ngts-segment", inputs: { start: { classPropertyName: "start", publicName: "start", isSignal: true, isRequired: true, transformFunction: null }, end: { classPropertyName: "end", publicName: "end", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "segmentRef", first: true, predicate: ["segment"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
670
787
|
<ngt-segment-object #segment [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
|
|
671
788
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
672
789
|
}
|
|
673
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
790
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsSegment, decorators: [{
|
|
674
791
|
type: Component,
|
|
675
792
|
args: [{
|
|
676
793
|
selector: 'ngts-segment',
|
|
@@ -741,8 +858,8 @@ class NgtsSegments {
|
|
|
741
858
|
this.segments = this.segments.filter((i) => i !== ref);
|
|
742
859
|
};
|
|
743
860
|
}
|
|
744
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
745
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
861
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsSegments, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
862
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsSegments, isStandalone: true, selector: "ngts-segments", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lineRef", first: true, predicate: ["line"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
746
863
|
<ngt-primitive #line *args="[line]">
|
|
747
864
|
<ngt-primitive *args="[geometry]" attach="geometry" />
|
|
748
865
|
<ngt-primitive *args="[material]" attach="material" [parameters]="materialParameters()" />
|
|
@@ -750,7 +867,7 @@ class NgtsSegments {
|
|
|
750
867
|
</ngt-primitive>
|
|
751
868
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
752
869
|
}
|
|
753
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
870
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsSegments, decorators: [{
|
|
754
871
|
type: Component,
|
|
755
872
|
args: [{
|
|
756
873
|
selector: 'ngts-segments',
|
|
@@ -771,5 +888,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
|
771
888
|
* Generated bundle index. Do not edit.
|
|
772
889
|
*/
|
|
773
890
|
|
|
774
|
-
export { NgtsAdaptiveDpr, NgtsAdaptiveEvents, NgtsDetailed, NgtsInstance, NgtsInstances, NgtsPoint, NgtsPointsBuffer, NgtsPointsInstances, NgtsSegment, NgtsSegments };
|
|
891
|
+
export { NgtsAdaptiveDpr, NgtsAdaptiveEvents, NgtsBVH, NgtsDetailed, NgtsInstance, NgtsInstances, NgtsPoint, NgtsPointsBuffer, NgtsPointsInstances, NgtsSegment, NgtsSegments };
|
|
775
892
|
//# sourceMappingURL=angular-three-soba-performances.mjs.map
|