angular-three-soba 2.14.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.
- package/abstractions/lib/catmull-rom-line.d.ts +117 -117
- package/abstractions/lib/edges.d.ts +126 -126
- package/abstractions/lib/grid.d.ts +15 -15
- package/abstractions/lib/line.d.ts +1 -1
- package/abstractions/lib/prism-geometry.d.ts +4 -4
- package/abstractions/lib/rounded-box.d.ts +1 -1
- package/abstractions/lib/text-3d.d.ts +22 -22
- package/abstractions/lib/text.d.ts +1 -1
- package/cameras/lib/cube-camera.d.ts +1 -1
- package/cameras/lib/orthographic-camera.d.ts +1 -1
- package/cameras/lib/perspective-camera.d.ts +1 -1
- package/controls/index.d.ts +0 -9
- package/controls/lib/camera-controls.d.ts +1 -1
- package/controls/lib/orbit-controls.d.ts +1 -1
- package/fesm2022/angular-three-soba-abstractions.mjs +41 -52
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +12 -15
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +16 -24
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +59 -60
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +27 -35
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +27 -29
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +31 -34
- 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 +91 -105
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +3 -3
- package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
- package/gizmos/lib/gizmo-helper/gizmo-viewport.d.ts +1 -1
- package/gizmos/lib/pivot-controls/axis-arrow.d.ts +1 -1
- package/gizmos/lib/pivot-controls/axis-rotator.d.ts +1 -1
- package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
- package/gizmos/lib/pivot-controls/plane-slider.d.ts +1 -1
- package/gizmos/lib/pivot-controls/scaling-sphere.d.ts +1 -1
- package/gizmos/lib/transform-controls.d.ts +2 -2
- package/materials/lib/custom-shader-material.d.ts +2 -2
- package/materials/lib/mesh-portal-material.d.ts +9 -9
- package/materials/lib/mesh-refraction-material.d.ts +2 -2
- package/materials/lib/mesh-transmission-material.d.ts +1 -1
- package/misc/lib/computed-attribute.d.ts +6 -6
- package/misc/lib/decal.d.ts +1 -1
- package/misc/lib/html/html.d.ts +2 -2
- package/misc/lib/sampler.d.ts +1 -1
- package/package.json +11 -37
- package/performances/lib/instances/instances.d.ts +5 -5
- package/performances/lib/points/points.d.ts +10 -10
- package/performances/lib/segments/segments.d.ts +4 -4
- package/shaders/lib/mesh-refraction-material.d.ts +2 -2
- package/staging/lib/caustics.d.ts +1 -1
- package/staging/lib/center.d.ts +2 -2
- package/staging/lib/contact-shadows.d.ts +1 -1
- package/staging/lib/lightformer.d.ts +1 -1
- package/staging/lib/mask.d.ts +1 -1
- package/staging/lib/render-texture.d.ts +1 -1
- package/staging/lib/spot-light.d.ts +2 -2
- package/esm2022/abstractions/angular-three-soba-abstractions.mjs +0 -5
- package/esm2022/abstractions/index.mjs +0 -14
- package/esm2022/abstractions/lib/billboard.mjs +0 -69
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +0 -76
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +0 -51
- package/esm2022/abstractions/lib/edges.mjs +0 -66
- package/esm2022/abstractions/lib/gradient-texture.mjs +0 -91
- package/esm2022/abstractions/lib/grid.mjs +0 -103
- package/esm2022/abstractions/lib/helper.mjs +0 -74
- package/esm2022/abstractions/lib/line.mjs +0 -123
- package/esm2022/abstractions/lib/prism-geometry.mjs +0 -46
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +0 -73
- package/esm2022/abstractions/lib/rounded-box.mjs +0 -131
- package/esm2022/abstractions/lib/text-3d.mjs +0 -100
- package/esm2022/abstractions/lib/text.mjs +0 -86
- package/esm2022/angular-three-soba.mjs +0 -5
- package/esm2022/cameras/angular-three-soba-cameras.mjs +0 -5
- package/esm2022/cameras/index.mjs +0 -5
- package/esm2022/cameras/lib/camera-content.mjs +0 -14
- package/esm2022/cameras/lib/cube-camera.mjs +0 -102
- package/esm2022/cameras/lib/orthographic-camera.mjs +0 -131
- package/esm2022/cameras/lib/perspective-camera.mjs +0 -105
- package/esm2022/controls/angular-three-soba-controls.mjs +0 -5
- package/esm2022/controls/index.mjs +0 -9
- package/esm2022/controls/lib/camera-controls.mjs +0 -126
- package/esm2022/controls/lib/orbit-controls.mjs +0 -114
- package/esm2022/controls/lib/scroll-controls.mjs +0 -261
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +0 -5
- package/esm2022/gizmos/index.mjs +0 -6
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +0 -191
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +0 -304
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +0 -348
- package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +0 -265
- package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +0 -264
- package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +0 -349
- package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +0 -266
- package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +0 -232
- package/esm2022/gizmos/lib/transform-controls.mjs +0 -177
- package/esm2022/index.mjs +0 -2
- package/esm2022/loaders/angular-three-soba-loaders.mjs +0 -5
- package/esm2022/loaders/index.mjs +0 -7
- package/esm2022/loaders/lib/fbx-loader.mjs +0 -13
- package/esm2022/loaders/lib/font-loader.mjs +0 -49
- package/esm2022/loaders/lib/gltf-loader.mjs +0 -51
- package/esm2022/loaders/lib/loader.mjs +0 -103
- package/esm2022/loaders/lib/progress.mjs +0 -51
- package/esm2022/loaders/lib/texture-loader.mjs +0 -32
- package/esm2022/materials/angular-three-soba-materials.mjs +0 -5
- package/esm2022/materials/index.mjs +0 -9
- package/esm2022/materials/lib/custom-shader-material.mjs +0 -67
- package/esm2022/materials/lib/mesh-distort-material.mjs +0 -43
- package/esm2022/materials/lib/mesh-portal-material.mjs +0 -294
- package/esm2022/materials/lib/mesh-reflector-material.mjs +0 -274
- package/esm2022/materials/lib/mesh-refraction-material.mjs +0 -140
- package/esm2022/materials/lib/mesh-transmission-material.mjs +0 -188
- package/esm2022/materials/lib/mesh-wobble-material.mjs +0 -43
- package/esm2022/materials/lib/point-material.mjs +0 -34
- package/esm2022/misc/angular-three-soba-misc.mjs +0 -5
- package/esm2022/misc/index.mjs +0 -15
- package/esm2022/misc/lib/animations.mjs +0 -71
- package/esm2022/misc/lib/bake-shadows.mjs +0 -24
- package/esm2022/misc/lib/computed-attribute.mjs +0 -51
- package/esm2022/misc/lib/constants.mjs +0 -5
- package/esm2022/misc/lib/decal.mjs +0 -142
- package/esm2022/misc/lib/deprecated.mjs +0 -15
- package/esm2022/misc/lib/depth-buffer.mjs +0 -35
- package/esm2022/misc/lib/fbo.mjs +0 -86
- package/esm2022/misc/lib/html/html-content.mjs +0 -322
- package/esm2022/misc/lib/html/html.mjs +0 -129
- package/esm2022/misc/lib/html/utils.mjs +0 -74
- package/esm2022/misc/lib/intersect.mjs +0 -49
- package/esm2022/misc/lib/preload.mjs +0 -58
- package/esm2022/misc/lib/sampler.mjs +0 -122
- package/esm2022/misc/lib/scale-factor.mjs +0 -29
- package/esm2022/performances/angular-three-soba-performances.mjs +0 -5
- package/esm2022/performances/index.mjs +0 -7
- package/esm2022/performances/lib/adaptive-dpr.mjs +0 -46
- package/esm2022/performances/lib/adaptive-events.mjs +0 -24
- package/esm2022/performances/lib/detailed.mjs +0 -53
- package/esm2022/performances/lib/instances/instances.mjs +0 -177
- package/esm2022/performances/lib/instances/position-mesh.mjs +0 -51
- package/esm2022/performances/lib/points/points.mjs +0 -272
- package/esm2022/performances/lib/points/position-point.mjs +0 -53
- package/esm2022/performances/lib/segments/segment-object.mjs +0 -9
- package/esm2022/performances/lib/segments/segments.mjs +0 -126
- package/esm2022/shaders/angular-three-soba-shaders.mjs +0 -5
- package/esm2022/shaders/index.mjs +0 -4
- package/esm2022/shaders/lib/grid-material.mjs +0 -81
- package/esm2022/shaders/lib/mesh-refraction-material.mjs +0 -163
- package/esm2022/shaders/lib/point-material.mjs +0 -24
- package/esm2022/staging/angular-three-soba-staging.mjs +0 -5
- package/esm2022/staging/index.mjs +0 -21
- package/esm2022/staging/lib/accumulative-shadows.mjs +0 -180
- package/esm2022/staging/lib/backdrop.mjs +0 -69
- package/esm2022/staging/lib/bb-anchor.mjs +0 -58
- package/esm2022/staging/lib/bounds.mjs +0 -282
- package/esm2022/staging/lib/camera-shake.mjs +0 -65
- package/esm2022/staging/lib/caustics.mjs +0 -184
- package/esm2022/staging/lib/center.mjs +0 -114
- package/esm2022/staging/lib/contact-shadows.mjs +0 -214
- package/esm2022/staging/lib/environment/environment.mjs +0 -344
- package/esm2022/staging/lib/environment/inject-environment.mjs +0 -184
- package/esm2022/staging/lib/float.mjs +0 -70
- package/esm2022/staging/lib/lightformer.mjs +0 -103
- package/esm2022/staging/lib/mask.mjs +0 -74
- package/esm2022/staging/lib/matcap-texture.mjs +0 -79
- package/esm2022/staging/lib/normal-texture.mjs +0 -79
- package/esm2022/staging/lib/randomized-lights.mjs +0 -100
- package/esm2022/staging/lib/render-texture.mjs +0 -202
- package/esm2022/staging/lib/sky.mjs +0 -86
- package/esm2022/staging/lib/spot-light.mjs +0 -445
- package/esm2022/staging/lib/stage.mjs +0 -232
- package/esm2022/stats/angular-three-soba-stats.mjs +0 -5
- package/esm2022/stats/index.mjs +0 -2
- package/esm2022/stats/lib/stats.mjs +0 -57
- package/esm2022/vanilla-exports/angular-three-soba-vanilla-exports.mjs +0 -5
- package/esm2022/vanilla-exports/index.mjs +0 -3
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Directive, effect, ElementRef, inject, model, signal } from '@angular/core';
|
|
2
|
-
import { addAfterEffect, addEffect, resolveRef } from 'angular-three';
|
|
3
|
-
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export function injectIntersect(object, { injector, source = signal(false) } = {}) {
|
|
6
|
-
return assertInjector(injectIntersect, injector, () => {
|
|
7
|
-
let check = false;
|
|
8
|
-
let temp = false;
|
|
9
|
-
effect((onCleanup) => {
|
|
10
|
-
const obj = resolveRef(object());
|
|
11
|
-
if (!obj)
|
|
12
|
-
return;
|
|
13
|
-
// Stamp out frustum check pre-emptively
|
|
14
|
-
const unsub1 = addEffect(() => {
|
|
15
|
-
check = false;
|
|
16
|
-
return true;
|
|
17
|
-
});
|
|
18
|
-
// If the object is inside the frustum three will call onRender
|
|
19
|
-
const oldOnRender = obj.onBeforeRender.bind(obj);
|
|
20
|
-
obj.onBeforeRender = () => (check = true);
|
|
21
|
-
// Compare the check value against the temp value, if it differs set state
|
|
22
|
-
const unsub2 = addAfterEffect(() => {
|
|
23
|
-
if (check !== temp)
|
|
24
|
-
source.set((temp = check));
|
|
25
|
-
return true;
|
|
26
|
-
});
|
|
27
|
-
onCleanup(() => {
|
|
28
|
-
obj.onBeforeRender = oldOnRender;
|
|
29
|
-
unsub1();
|
|
30
|
-
unsub2();
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
return source.asReadonly();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
export class NgtsIntersect {
|
|
37
|
-
constructor() {
|
|
38
|
-
this.intersect = model(false);
|
|
39
|
-
const host = inject(ElementRef);
|
|
40
|
-
injectIntersect(() => host, { source: this.intersect });
|
|
41
|
-
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsIntersect, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtsIntersect, isStandalone: true, selector: "[intersect]", inputs: { intersect: { classPropertyName: "intersect", publicName: "intersect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intersect: "intersectChange" }, ngImport: i0 }); }
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsIntersect, decorators: [{
|
|
46
|
-
type: Directive,
|
|
47
|
-
args: [{ standalone: true, selector: '[intersect]' }]
|
|
48
|
-
}], ctorParameters: () => [] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9pbnRlcnNlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUc1RCxNQUFNLFVBQVUsZUFBZSxDQUM5QixNQUE4RCxFQUM5RCxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFnRSxFQUFFO0lBRXBHLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3JELElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFFakIsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUVqQix3Q0FBd0M7WUFDeEMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDZCxPQUFPLElBQUksQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDO1lBRUgsK0RBQStEO1lBQy9ELE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pELEdBQUcsQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFFMUMsMEVBQTBFO1lBQzFFLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xDLElBQUksS0FBSyxLQUFLLElBQUk7b0JBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxPQUFPLElBQUksQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxHQUFHLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztnQkFDakMsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDNUIsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBR0QsTUFBTSxPQUFPLGFBQWE7SUFHekI7UUFGQSxjQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBdUIsVUFBVSxDQUFDLENBQUM7UUFDdEQsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQU5XLGFBQWE7bUdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdG9yLCBtb2RlbCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYWRkQWZ0ZXJFZmZlY3QsIGFkZEVmZmVjdCwgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvcic7XG5pbXBvcnQgeyBPYmplY3QzRCB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEludGVyc2VjdDxUT2JqZWN0IGV4dGVuZHMgT2JqZWN0M0Q+KFxuXHRvYmplY3Q6ICgpID0+IEVsZW1lbnRSZWY8VE9iamVjdD4gfCBUT2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbCxcblx0eyBpbmplY3Rvciwgc291cmNlID0gc2lnbmFsKGZhbHNlKSB9OiB7IGluamVjdG9yPzogSW5qZWN0b3I7IHNvdXJjZT86IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+IH0gPSB7fSxcbikge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0SW50ZXJzZWN0LCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGxldCBjaGVjayA9IGZhbHNlO1xuXHRcdGxldCB0ZW1wID0gZmFsc2U7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3Qgb2JqID0gcmVzb2x2ZVJlZihvYmplY3QoKSk7XG5cdFx0XHRpZiAoIW9iaikgcmV0dXJuO1xuXG5cdFx0XHQvLyBTdGFtcCBvdXQgZnJ1c3R1bSBjaGVjayBwcmUtZW1wdGl2ZWx5XG5cdFx0XHRjb25zdCB1bnN1YjEgPSBhZGRFZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjaGVjayA9IGZhbHNlO1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH0pO1xuXG5cdFx0XHQvLyBJZiB0aGUgb2JqZWN0IGlzIGluc2lkZSB0aGUgZnJ1c3R1bSB0aHJlZSB3aWxsIGNhbGwgb25SZW5kZXJcblx0XHRcdGNvbnN0IG9sZE9uUmVuZGVyID0gb2JqLm9uQmVmb3JlUmVuZGVyLmJpbmQob2JqKTtcblx0XHRcdG9iai5vbkJlZm9yZVJlbmRlciA9ICgpID0+IChjaGVjayA9IHRydWUpO1xuXG5cdFx0XHQvLyBDb21wYXJlIHRoZSBjaGVjayB2YWx1ZSBhZ2FpbnN0IHRoZSB0ZW1wIHZhbHVlLCBpZiBpdCBkaWZmZXJzIHNldCBzdGF0ZVxuXHRcdFx0Y29uc3QgdW5zdWIyID0gYWRkQWZ0ZXJFZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRpZiAoY2hlY2sgIT09IHRlbXApIHNvdXJjZS5zZXQoKHRlbXAgPSBjaGVjaykpO1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH0pO1xuXG5cdFx0XHRvbkNsZWFudXAoKCkgPT4ge1xuXHRcdFx0XHRvYmoub25CZWZvcmVSZW5kZXIgPSBvbGRPblJlbmRlcjtcblx0XHRcdFx0dW5zdWIxKCk7XG5cdFx0XHRcdHVuc3ViMigpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gc291cmNlLmFzUmVhZG9ubHkoKTtcblx0fSk7XG59XG5cbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ1tpbnRlcnNlY3RdJyB9KVxuZXhwb3J0IGNsYXNzIE5ndHNJbnRlcnNlY3Qge1xuXHRpbnRlcnNlY3QgPSBtb2RlbChmYWxzZSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgaG9zdCA9IGluamVjdDxFbGVtZW50UmVmPE9iamVjdDNEPj4oRWxlbWVudFJlZik7XG5cdFx0aW5qZWN0SW50ZXJzZWN0KCgpID0+IGhvc3QsIHsgc291cmNlOiB0aGlzLmludGVyc2VjdCB9KTtcblx0fVxufVxuIl19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { computed, Directive, effect, model } from '@angular/core';
|
|
2
|
-
import { injectStore, resolveRef } from 'angular-three';
|
|
3
|
-
import { CubeCamera, WebGLCubeRenderTarget } from 'three';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NgtsPreload {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.all = model();
|
|
8
|
-
this.scene = model();
|
|
9
|
-
this.camera = model();
|
|
10
|
-
this.store = injectStore();
|
|
11
|
-
this.gl = this.store.select('gl');
|
|
12
|
-
this.defaultScene = this.store.select('scene');
|
|
13
|
-
this.defaultCamera = this.store.select('camera');
|
|
14
|
-
this.trueScene = computed(() => {
|
|
15
|
-
const scene = this.scene();
|
|
16
|
-
if (scene)
|
|
17
|
-
return resolveRef(scene);
|
|
18
|
-
return this.defaultScene();
|
|
19
|
-
});
|
|
20
|
-
this.trueCamera = computed(() => {
|
|
21
|
-
const camera = this.camera();
|
|
22
|
-
if (camera)
|
|
23
|
-
return resolveRef(camera);
|
|
24
|
-
return this.defaultCamera();
|
|
25
|
-
});
|
|
26
|
-
effect(() => {
|
|
27
|
-
const invisible = [];
|
|
28
|
-
const [all, scene, camera, gl] = [this.all(), this.trueScene(), this.trueCamera(), this.gl()];
|
|
29
|
-
if (!scene || !camera)
|
|
30
|
-
return;
|
|
31
|
-
if (all) {
|
|
32
|
-
// Find all invisible objects, store and then flip them
|
|
33
|
-
scene.traverse((object) => {
|
|
34
|
-
if (!object.visible) {
|
|
35
|
-
invisible.push(object);
|
|
36
|
-
object.visible = true;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
// Now compile the scene
|
|
41
|
-
gl.compile(scene, camera);
|
|
42
|
-
// And for good measure, hit it with a cube camera
|
|
43
|
-
const cubeRenderTarget = new WebGLCubeRenderTarget(128);
|
|
44
|
-
const cubeCamera = new CubeCamera(0.01, 100000, cubeRenderTarget);
|
|
45
|
-
cubeCamera.update(gl, scene);
|
|
46
|
-
cubeRenderTarget.dispose();
|
|
47
|
-
// Flips these objects back
|
|
48
|
-
invisible.forEach((object) => (object.visible = false));
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPreload, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
52
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtsPreload, isStandalone: true, selector: "ngts-preload", inputs: { all: { classPropertyName: "all", publicName: "all", isSignal: true, isRequired: false, transformFunction: null }, scene: { classPropertyName: "scene", publicName: "scene", isSignal: true, isRequired: false, transformFunction: null }, camera: { classPropertyName: "camera", publicName: "camera", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { all: "allChange", scene: "sceneChange", camera: "cameraChange" }, ngImport: i0 }); }
|
|
53
|
-
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPreload, decorators: [{
|
|
55
|
-
type: Directive,
|
|
56
|
-
args: [{ selector: 'ngts-preload', standalone: true }]
|
|
57
|
-
}], ctorParameters: () => [] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9saWIvcHJlbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBVSxVQUFVLEVBQVkscUJBQXFCLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBRzVFLE1BQU0sT0FBTyxXQUFXO0lBcUJ2QjtRQXBCQSxRQUFHLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDdkIsVUFBSyxHQUFHLEtBQUssRUFBbUMsQ0FBQztRQUNqRCxXQUFNLEdBQUcsS0FBSyxFQUErQixDQUFDO1FBRXRDLFVBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN0QixPQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsaUJBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxrQkFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLEtBQUs7Z0JBQUUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxNQUFNO2dCQUFFLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBR0YsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQztZQUVqQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUU5RixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBRTlCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1QsdURBQXVEO2dCQUN2RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3ZCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUN2QixDQUFDO2dCQUNGLENBQUMsQ0FBQyxDQUFDO1lBQ0osQ0FBQztZQUVELHdCQUF3QjtZQUN4QixFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUUxQixrREFBa0Q7WUFDbEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUUzQiwyQkFBMkI7WUFDM0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOytHQW5EVyxXQUFXO21HQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RTdG9yZSwgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQ2FtZXJhLCBDdWJlQ2FtZXJhLCBPYmplY3QzRCwgV2ViR0xDdWJlUmVuZGVyVGFyZ2V0IH0gZnJvbSAndGhyZWUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICduZ3RzLXByZWxvYWQnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c1ByZWxvYWQge1xuXHRhbGwgPSBtb2RlbDxib29sZWFuPigpO1xuXHRzY2VuZSA9IG1vZGVsPE9iamVjdDNEIHwgRWxlbWVudFJlZjxPYmplY3QzRD4+KCk7XG5cdGNhbWVyYSA9IG1vZGVsPENhbWVyYSB8IEVsZW1lbnRSZWY8Q2FtZXJhPj4oKTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBnbCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdnbCcpO1xuXHRwcml2YXRlIGRlZmF1bHRTY2VuZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzY2VuZScpO1xuXHRwcml2YXRlIGRlZmF1bHRDYW1lcmEgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJyk7XG5cblx0cHJpdmF0ZSB0cnVlU2NlbmUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3Qgc2NlbmUgPSB0aGlzLnNjZW5lKCk7XG5cdFx0aWYgKHNjZW5lKSByZXR1cm4gcmVzb2x2ZVJlZihzY2VuZSk7XG5cdFx0cmV0dXJuIHRoaXMuZGVmYXVsdFNjZW5lKCk7XG5cdH0pO1xuXHRwcml2YXRlIHRydWVDYW1lcmEgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgY2FtZXJhID0gdGhpcy5jYW1lcmEoKTtcblx0XHRpZiAoY2FtZXJhKSByZXR1cm4gcmVzb2x2ZVJlZihjYW1lcmEpO1xuXHRcdHJldHVybiB0aGlzLmRlZmF1bHRDYW1lcmEoKTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGludmlzaWJsZTogT2JqZWN0M0RbXSA9IFtdO1xuXG5cdFx0XHRjb25zdCBbYWxsLCBzY2VuZSwgY2FtZXJhLCBnbF0gPSBbdGhpcy5hbGwoKSwgdGhpcy50cnVlU2NlbmUoKSwgdGhpcy50cnVlQ2FtZXJhKCksIHRoaXMuZ2woKV07XG5cblx0XHRcdGlmICghc2NlbmUgfHwgIWNhbWVyYSkgcmV0dXJuO1xuXG5cdFx0XHRpZiAoYWxsKSB7XG5cdFx0XHRcdC8vIEZpbmQgYWxsIGludmlzaWJsZSBvYmplY3RzLCBzdG9yZSBhbmQgdGhlbiBmbGlwIHRoZW1cblx0XHRcdFx0c2NlbmUudHJhdmVyc2UoKG9iamVjdCkgPT4ge1xuXHRcdFx0XHRcdGlmICghb2JqZWN0LnZpc2libGUpIHtcblx0XHRcdFx0XHRcdGludmlzaWJsZS5wdXNoKG9iamVjdCk7XG5cdFx0XHRcdFx0XHRvYmplY3QudmlzaWJsZSA9IHRydWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gTm93IGNvbXBpbGUgdGhlIHNjZW5lXG5cdFx0XHRnbC5jb21waWxlKHNjZW5lLCBjYW1lcmEpO1xuXG5cdFx0XHQvLyBBbmQgZm9yIGdvb2QgbWVhc3VyZSwgaGl0IGl0IHdpdGggYSBjdWJlIGNhbWVyYVxuXHRcdFx0Y29uc3QgY3ViZVJlbmRlclRhcmdldCA9IG5ldyBXZWJHTEN1YmVSZW5kZXJUYXJnZXQoMTI4KTtcblx0XHRcdGNvbnN0IGN1YmVDYW1lcmEgPSBuZXcgQ3ViZUNhbWVyYSgwLjAxLCAxMDAwMDAsIGN1YmVSZW5kZXJUYXJnZXQpO1xuXHRcdFx0Y3ViZUNhbWVyYS51cGRhdGUoZ2wsIHNjZW5lKTtcblx0XHRcdGN1YmVSZW5kZXJUYXJnZXQuZGlzcG9zZSgpO1xuXG5cdFx0XHQvLyBGbGlwcyB0aGVzZSBvYmplY3RzIGJhY2tcblx0XHRcdGludmlzaWJsZS5mb3JFYWNoKChvYmplY3QpID0+IChvYmplY3QudmlzaWJsZSA9IGZhbHNlKSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, input, viewChild, } from '@angular/core';
|
|
2
|
-
import { checkUpdate, extend, getLocalState, omit, pick, resolveRef } from 'angular-three';
|
|
3
|
-
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
-
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
5
|
-
import { Color, Group, InstancedBufferAttribute, Object3D, Vector3 } from 'three';
|
|
6
|
-
import { MeshSurfaceSampler } from 'three-stdlib';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export function injectSurfaceSampler(mesh, options = () => ({}), { injector } = {}) {
|
|
9
|
-
return assertInjector(injectSurfaceSampler, injector, () => {
|
|
10
|
-
const initialBufferAttribute = (() => {
|
|
11
|
-
const arr = Array.from({ length: options().count ?? 16 }, () => [
|
|
12
|
-
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
13
|
-
]).flat();
|
|
14
|
-
return new InstancedBufferAttribute(Float32Array.from(arr), 16);
|
|
15
|
-
})();
|
|
16
|
-
return computed(() => {
|
|
17
|
-
const currentMesh = resolveRef(mesh());
|
|
18
|
-
if (!currentMesh)
|
|
19
|
-
return initialBufferAttribute;
|
|
20
|
-
const localState = getLocalState(currentMesh);
|
|
21
|
-
if (!localState)
|
|
22
|
-
return initialBufferAttribute;
|
|
23
|
-
const nonObjects = localState.nonObjects();
|
|
24
|
-
if (!nonObjects ||
|
|
25
|
-
!nonObjects.length ||
|
|
26
|
-
nonObjects.every((nonObject) => !nonObject.isBufferGeometry)) {
|
|
27
|
-
return initialBufferAttribute;
|
|
28
|
-
}
|
|
29
|
-
const sampler = new MeshSurfaceSampler(currentMesh);
|
|
30
|
-
const { weight, count = 16, transform, instanceMesh } = options();
|
|
31
|
-
if (weight) {
|
|
32
|
-
sampler.setWeightAttribute(weight);
|
|
33
|
-
}
|
|
34
|
-
sampler.build();
|
|
35
|
-
const position = new Vector3();
|
|
36
|
-
const normal = new Vector3();
|
|
37
|
-
const color = new Color();
|
|
38
|
-
const dummy = new Object3D();
|
|
39
|
-
const instance = resolveRef(instanceMesh);
|
|
40
|
-
currentMesh.updateMatrixWorld(true);
|
|
41
|
-
for (let i = 0; i < count; i++) {
|
|
42
|
-
sampler.sample(position, normal, color);
|
|
43
|
-
if (typeof transform === 'function') {
|
|
44
|
-
transform({ dummy, sampledMesh: currentMesh, position, normal, color }, i);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
dummy.position.copy(position);
|
|
48
|
-
}
|
|
49
|
-
dummy.updateMatrix();
|
|
50
|
-
if (instance) {
|
|
51
|
-
instance.setMatrixAt(i, dummy.matrix);
|
|
52
|
-
}
|
|
53
|
-
dummy.matrix.toArray(initialBufferAttribute.array, i * 16);
|
|
54
|
-
}
|
|
55
|
-
if (instance) {
|
|
56
|
-
checkUpdate(instance.instanceMatrix);
|
|
57
|
-
}
|
|
58
|
-
checkUpdate(initialBufferAttribute);
|
|
59
|
-
return new InstancedBufferAttribute(initialBufferAttribute.array, initialBufferAttribute.itemSize).copy(initialBufferAttribute);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
const defaultOptions = {
|
|
64
|
-
count: 16,
|
|
65
|
-
};
|
|
66
|
-
export class NgtsSampler {
|
|
67
|
-
constructor() {
|
|
68
|
-
this.mesh = input(null);
|
|
69
|
-
this.instances = input(null);
|
|
70
|
-
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
71
|
-
this.parameters = omit(this.options, ['weight', 'transform', 'count']);
|
|
72
|
-
// NOTE: this could have been a viewChild.required, but we need to _try_ to consume
|
|
73
|
-
// this Signal earlier than when a viewChild.required would resolve.
|
|
74
|
-
this.groupRef = viewChild('group');
|
|
75
|
-
extend({ Group });
|
|
76
|
-
const sampleState = computed(() => {
|
|
77
|
-
const group = this.groupRef()?.nativeElement;
|
|
78
|
-
const localState = getLocalState(group);
|
|
79
|
-
if (!localState)
|
|
80
|
-
return { mesh: null, instanced: null };
|
|
81
|
-
const [mesh, instances] = [resolveRef(this.mesh()), resolveRef(this.instances())];
|
|
82
|
-
const objects = localState.objects();
|
|
83
|
-
return {
|
|
84
|
-
mesh: mesh ?? objects.find((c) => c.type === 'Mesh'),
|
|
85
|
-
instanced: instances ?? objects.find((c) => !!Object.getOwnPropertyDescriptor(c, 'instanceMatrix')),
|
|
86
|
-
};
|
|
87
|
-
});
|
|
88
|
-
const meshToSample = pick(sampleState, 'mesh');
|
|
89
|
-
const instancedToSample = pick(sampleState, 'instanced');
|
|
90
|
-
// NOTE: because injectSurfaceSampler returns a computed, we need to consume
|
|
91
|
-
// this computed in a Reactive Context (an effect) to ensure the inner logic of
|
|
92
|
-
// injectSurfaceSampler is run properly.
|
|
93
|
-
const sampler = injectSurfaceSampler(meshToSample, () => ({
|
|
94
|
-
count: this.options().count,
|
|
95
|
-
transform: this.options().transform,
|
|
96
|
-
weight: this.options().weight,
|
|
97
|
-
instanceMesh: instancedToSample(),
|
|
98
|
-
}));
|
|
99
|
-
effect(sampler);
|
|
100
|
-
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSampler, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsSampler, isStandalone: true, selector: "ngts-sampler", inputs: { mesh: { classPropertyName: "mesh", publicName: "mesh", isSignal: true, isRequired: false, transformFunction: null }, instances: { classPropertyName: "instances", publicName: "instances", isSignal: true, isRequired: false, transformFunction: null }, 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: `
|
|
103
|
-
<ngt-group #group [parameters]="parameters()">
|
|
104
|
-
<ng-content />
|
|
105
|
-
</ngt-group>
|
|
106
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
|
-
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSampler, decorators: [{
|
|
109
|
-
type: Component,
|
|
110
|
-
args: [{
|
|
111
|
-
selector: 'ngts-sampler',
|
|
112
|
-
standalone: true,
|
|
113
|
-
template: `
|
|
114
|
-
<ngt-group #group [parameters]="parameters()">
|
|
115
|
-
<ng-content />
|
|
116
|
-
</ngt-group>
|
|
117
|
-
`,
|
|
118
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
119
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
120
|
-
}]
|
|
121
|
-
}], ctorParameters: () => [] });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9saWIvc2FtcGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLE1BQU0sRUFHTixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBWSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBdUIsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN2SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBa0NsRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLElBQXNELEVBQ3RELFVBS0ksR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDZCxFQUFFLFFBQVEsS0FBOEIsRUFBRTtJQUUxQyxPQUFPLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQzFELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQy9ELENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFB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SUFDakIsQ0FBQzsrR0F6Q1csV0FBVzttR0FBWCxXQUFXLDhqQkFSYjs7OztFQUlUOzs0RkFJVyxXQUFXO2tCQVh2QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7O0VBSVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRlZmZlY3QsXG5cdEVsZW1lbnRSZWYsXG5cdEluamVjdG9yLFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNoZWNrVXBkYXRlLCBleHRlbmQsIGdldExvY2FsU3RhdGUsIE5ndEdyb3VwLCBvbWl0LCBwaWNrLCByZXNvbHZlUmVmIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IEJ1ZmZlckdlb21ldHJ5LCBDb2xvciwgR3JvdXAsIEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSwgSW5zdGFuY2VkTWVzaCwgTWVzaCwgT2JqZWN0M0QsIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBNZXNoU3VyZmFjZVNhbXBsZXIgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuXG5pbnRlcmZhY2UgU2FtcGxlUGF5bG9hZCB7XG5cdC8qKlxuXHQgKiBUaGUgcG9zaXRpb24gb2YgdGhlIHNhbXBsZS5cblx0ICovXG5cdHBvc2l0aW9uOiBWZWN0b3IzO1xuXHQvKipcblx0ICogVGhlIG5vcm1hbCBvZiB0aGUgbWVzaCBhdCB0aGUgc2FtcGxlZCBwb3NpdGlvbi5cblx0ICovXG5cdG5vcm1hbDogVmVjdG9yMztcblx0LyoqXG5cdCAqIFRoZSB2ZXJ0ZXggY29sb3Igb2YgdGhlIG1lc2ggYXQgdGhlIHNhbXBsZWQgcG9zaXRpb24uXG5cdCAqL1xuXHRjb2xvcjogQ29sb3I7XG59XG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybUZuID0gKHBheWxvYWQ6IFRyYW5zZm9ybVBheWxvYWQsIGk6IG51bWJlcikgPT4gdm9pZDtcblxuaW50ZXJmYWNlIFRyYW5zZm9ybVBheWxvYWQgZXh0ZW5kcyBTYW1wbGVQYXlsb2FkIHtcblx0LyoqXG5cdCAqIFRoZSBkdW1teSBvYmplY3QgdXNlZCB0byB0cmFuc2Zvcm0gZWFjaCBpbnN0YW5jZS5cblx0ICogVGhpcyBvYmplY3QncyBtYXRyaXggd2lsbCBiZSB1cGRhdGVkIGFmdGVyIHRyYW5zZm9ybWluZyAmIGl0IHdpbGwgYmUgdXNlZFxuXHQgKiB0byBzZXQgdGhlIGluc3RhbmNlJ3MgbWF0cml4LlxuXHQgKi9cblx0ZHVtbXk6IE9iamVjdDNEO1xuXHQvKipcblx0ICogVGhlIG1lc2ggdGhhdCdzIGluaXRpYWxseSBwYXNzZWQgdG8gdGhlIHNhbXBsZXIuXG5cdCAqIFVzZSB0aGlzIGlmIHlvdSBuZWVkIHRvIGFwcGx5IHRyYW5zZm9ybXMgZnJvbSB5b3VyIG1lc2ggdG8geW91ciBpbnN0YW5jZXNcblx0ICogb3IgaWYgeW91IG5lZWQgdG8gZ3JhYiBhdHRyaWJ1dGVzIGZyb20gdGhlIGdlb21ldHJ5LlxuXHQgKi9cblx0c2FtcGxlZE1lc2g6IE1lc2g7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RTdXJmYWNlU2FtcGxlcihcblx0bWVzaDogKCkgPT4gRWxlbWVudFJlZjxNZXNoPiB8IE1lc2ggfCBudWxsIHwgdW5kZWZpbmVkLFxuXHRvcHRpb25zOiAoKSA9PiB7XG5cdFx0Y291bnQ/OiBudW1iZXI7XG5cdFx0dHJhbnNmb3JtPzogVHJhbnNmb3JtRm47XG5cdFx0d2VpZ2h0Pzogc3RyaW5nO1xuXHRcdGluc3RhbmNlTWVzaD86IEVsZW1lbnRSZWY8SW5zdGFuY2VkTWVzaD4gfCBJbnN0YW5jZWRNZXNoIHwgbnVsbDtcblx0fSA9ICgpID0+ICh7fSksXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0U3VyZmFjZVNhbXBsZXIsIGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgaW5pdGlhbEJ1ZmZlckF0dHJpYnV0ZSA9ICgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcnIgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBvcHRpb25zKCkuY291bnQgPz8gMTYgfSwgKCkgPT4gW1xuXHRcdFx0XHQxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxLFxuXHRcdFx0XSkuZmxhdCgpO1xuXHRcdFx0cmV0dXJuIG5ldyBJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUoRmxvYXQzMkFycmF5LmZyb20oYXJyKSwgMTYpO1xuXHRcdH0pKCk7XG5cblx0XHRyZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgY3VycmVudE1lc2ggPSByZXNvbHZlUmVmKG1lc2goKSk7XG5cdFx0XHRpZiAoIWN1cnJlbnRNZXNoKSByZXR1cm4gaW5pdGlhbEJ1ZmZlckF0dHJpYnV0ZTtcblxuXHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoY3VycmVudE1lc2gpO1xuXHRcdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm4gaW5pdGlhbEJ1ZmZlckF0dHJpYnV0ZTtcblxuXHRcdFx0Y29uc3Qgbm9uT2JqZWN0cyA9IGxvY2FsU3RhdGUubm9uT2JqZWN0cygpO1xuXHRcdFx0aWYgKFxuXHRcdFx0XHQhbm9uT2JqZWN0cyB8fFxuXHRcdFx0XHQhbm9uT2JqZWN0cy5sZW5ndGggfHxcblx0XHRcdFx0bm9uT2JqZWN0cy5ldmVyeSgobm9uT2JqZWN0KSA9PiAhKG5vbk9iamVjdCBhcyBCdWZmZXJHZW9tZXRyeSkuaXNCdWZmZXJHZW9tZXRyeSlcblx0XHRcdCkge1xuXHRcdFx0XHRyZXR1cm4gaW5pdGlhbEJ1ZmZlckF0dHJpYnV0ZTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3Qgc2FtcGxlciA9IG5ldyBNZXNoU3VyZmFjZVNhbXBsZXIoY3VycmVudE1lc2gpO1xuXHRcdFx0Y29uc3QgeyB3ZWlnaHQsIGNvdW50ID0gMTYsIHRyYW5zZm9ybSwgaW5zdGFuY2VNZXNoIH0gPSBvcHRpb25zKCk7XG5cblx0XHRcdGlmICh3ZWlnaHQpIHtcblx0XHRcdFx0c2FtcGxlci5zZXRXZWlnaHRBdHRyaWJ1dGUod2VpZ2h0KTtcblx0XHRcdH1cblxuXHRcdFx0c2FtcGxlci5idWlsZCgpO1xuXG5cdFx0XHRjb25zdCBwb3NpdGlvbiA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0XHRjb25zdCBub3JtYWwgPSBuZXcgVmVjdG9yMygpO1xuXHRcdFx0Y29uc3QgY29sb3IgPSBuZXcgQ29sb3IoKTtcblx0XHRcdGNvbnN0IGR1bW15ID0gbmV3IE9iamVjdDNEKCk7XG5cdFx0XHRjb25zdCBpbnN0YW5jZSA9IHJlc29sdmVSZWYoaW5zdGFuY2VNZXNoKTtcblxuXHRcdFx0Y3VycmVudE1lc2gudXBkYXRlTWF0cml4V29ybGQodHJ1ZSk7XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuXHRcdFx0XHRzYW1wbGVyLnNhbXBsZShwb3NpdGlvbiwgbm9ybWFsLCBjb2xvcik7XG5cblx0XHRcdFx0aWYgKHR5cGVvZiB0cmFuc2Zvcm0gPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm0oeyBkdW1teSwgc2FtcGxlZE1lc2g6IGN1cnJlbnRNZXNoLCBwb3NpdGlvbiwgbm9ybWFsLCBjb2xvciB9LCBpKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRkdW1teS5wb3NpdGlvbi5jb3B5KHBvc2l0aW9uKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGR1bW15LnVwZGF0ZU1hdHJpeCgpO1xuXG5cdFx0XHRcdGlmIChpbnN0YW5jZSkge1xuXHRcdFx0XHRcdGluc3RhbmNlLnNldE1hdHJpeEF0KGksIGR1bW15Lm1hdHJpeCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRkdW1teS5tYXRyaXgudG9BcnJheShpbml0aWFsQnVmZmVyQXR0cmlidXRlLmFycmF5LCBpICogMTYpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoaW5zdGFuY2UpIHtcblx0XHRcdFx0Y2hlY2tVcGRhdGUoaW5zdGFuY2UuaW5zdGFuY2VNYXRyaXgpO1xuXHRcdFx0fVxuXG5cdFx0XHRjaGVja1VwZGF0ZShpbml0aWFsQnVmZmVyQXR0cmlidXRlKTtcblxuXHRcdFx0cmV0dXJuIG5ldyBJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUoaW5pdGlhbEJ1ZmZlckF0dHJpYnV0ZS5hcnJheSwgaW5pdGlhbEJ1ZmZlckF0dHJpYnV0ZS5pdGVtU2l6ZSkuY29weShcblx0XHRcdFx0aW5pdGlhbEJ1ZmZlckF0dHJpYnV0ZSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNTYW1wbGVyT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0R3JvdXA+IHtcblx0LyoqXG5cdCAqIFRoZSBOQU1FIG9mIHRoZSB3ZWlnaHQgYXR0cmlidXRlIHRvIHVzZSB3aGVuIHNhbXBsaW5nLlxuXHQgKlxuXHQgKiBAc2VlIGh0dHBzOi8vdGhyZWVqcy5vcmcvZG9jcy8jZXhhbXBsZXMvZW4vbWF0aC9NZXNoU3VyZmFjZVNhbXBsZXIuc2V0V2VpZ2h0QXR0cmlidXRlXG5cdCAqL1xuXHR3ZWlnaHQ/OiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUcmFuc2Zvcm1hdGlvbiB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5zdGFuY2UuXG5cdCAqIFJlY2VpdmVzIGEgZHVtbXkgb2JqZWN0M0Qgd2l0aCBhbGwgdGhlIHNhbXBsZWQgZGF0YSAoIEBzZWUgVHJhbnNmb3JtUGF5bG9hZCApLlxuXHQgKiBJdCBzaG91bGQgbXV0YXRlIGB0cmFuc2Zvcm1QYXlsb2FkLmR1bW15YC5cblx0ICpcblx0ICogQHNlZSAoIEB0b2RvIGFkZCBsaW5rIHRvIGV4YW1wbGUgKVxuXHQgKlxuXHQgKiBUaGVyZSBpcyBubyBuZWVkIHRvIHVwZGF0ZSB0aGUgZHVtbXkncyBtYXRyaXhcblx0ICovXG5cdHRyYW5zZm9ybT86IFRyYW5zZm9ybUZuO1xuXHRjb3VudDogbnVtYmVyO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c1NhbXBsZXJPcHRpb25zID0ge1xuXHRjb3VudDogMTYsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXNhbXBsZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1NhbXBsZXIge1xuXHRtZXNoID0gaW5wdXQ8RWxlbWVudFJlZjxNZXNoPiB8IE1lc2ggfCBudWxsPihudWxsKTtcblx0aW5zdGFuY2VzID0gaW5wdXQ8RWxlbWVudFJlZjxJbnN0YW5jZWRNZXNoPiB8IEluc3RhbmNlZE1lc2ggfCBudWxsPihudWxsKTtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIFsnd2VpZ2h0JywgJ3RyYW5zZm9ybScsICdjb3VudCddKTtcblxuXHQvLyBOT1RFOiB0aGlzIGNvdWxkIGhhdmUgYmVlbiBhIHZpZXdDaGlsZC5yZXF1aXJlZCwgYnV0IHdlIG5lZWQgdG8gX3RyeV8gdG8gY29uc3VtZVxuXHQvLyAgdGhpcyBTaWduYWwgZWFybGllciB0aGFuIHdoZW4gYSB2aWV3Q2hpbGQucmVxdWlyZWQgd291bGQgcmVzb2x2ZS5cblx0Z3JvdXBSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwIH0pO1xuXG5cdFx0Y29uc3Qgc2FtcGxlU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBncm91cCA9IHRoaXMuZ3JvdXBSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGdyb3VwKTtcblx0XHRcdGlmICghbG9jYWxTdGF0ZSkgcmV0dXJuIHsgbWVzaDogbnVsbCwgaW5zdGFuY2VkOiBudWxsIH07XG5cblx0XHRcdGNvbnN0IFttZXNoLCBpbnN0YW5jZXNdID0gW3Jlc29sdmVSZWYodGhpcy5tZXNoKCkpLCByZXNvbHZlUmVmKHRoaXMuaW5zdGFuY2VzKCkpXTtcblx0XHRcdGNvbnN0IG9iamVjdHMgPSBsb2NhbFN0YXRlLm9iamVjdHMoKTtcblxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0bWVzaDogbWVzaCA/PyAob2JqZWN0cy5maW5kKChjKSA9PiBjLnR5cGUgPT09ICdNZXNoJykgYXMgTWVzaCksXG5cdFx0XHRcdGluc3RhbmNlZDpcblx0XHRcdFx0XHRpbnN0YW5jZXMgPz8gKG9iamVjdHMuZmluZCgoYykgPT4gISFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsICdpbnN0YW5jZU1hdHJpeCcpKSBhcyBJbnN0YW5jZWRNZXNoKSxcblx0XHRcdH07XG5cdFx0fSk7XG5cblx0XHRjb25zdCBtZXNoVG9TYW1wbGUgPSBwaWNrKHNhbXBsZVN0YXRlLCAnbWVzaCcpO1xuXHRcdGNvbnN0IGluc3RhbmNlZFRvU2FtcGxlID0gcGljayhzYW1wbGVTdGF0ZSwgJ2luc3RhbmNlZCcpO1xuXG5cdFx0Ly8gTk9URTogYmVjYXVzZSBpbmplY3RTdXJmYWNlU2FtcGxlciByZXR1cm5zIGEgY29tcHV0ZWQsIHdlIG5lZWQgdG8gY29uc3VtZVxuXHRcdC8vICB0aGlzIGNvbXB1dGVkIGluIGEgUmVhY3RpdmUgQ29udGV4dCAoYW4gZWZmZWN0KSB0byBlbnN1cmUgdGhlIGlubmVyIGxvZ2ljIG9mXG5cdFx0Ly8gIGluamVjdFN1cmZhY2VTYW1wbGVyIGlzIHJ1biBwcm9wZXJseS5cblx0XHRjb25zdCBzYW1wbGVyID0gaW5qZWN0U3VyZmFjZVNhbXBsZXIobWVzaFRvU2FtcGxlLCAoKSA9PiAoe1xuXHRcdFx0Y291bnQ6IHRoaXMub3B0aW9ucygpLmNvdW50LFxuXHRcdFx0dHJhbnNmb3JtOiB0aGlzLm9wdGlvbnMoKS50cmFuc2Zvcm0sXG5cdFx0XHR3ZWlnaHQ6IHRoaXMub3B0aW9ucygpLndlaWdodCxcblx0XHRcdGluc3RhbmNlTWVzaDogaW5zdGFuY2VkVG9TYW1wbGUoKSxcblx0XHR9KSk7XG5cdFx0ZWZmZWN0KHNhbXBsZXIpO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Vector3 } from 'three';
|
|
2
|
-
const tV0 = new Vector3();
|
|
3
|
-
const tV1 = new Vector3();
|
|
4
|
-
const tV2 = new Vector3();
|
|
5
|
-
function getPoint2(point3, camera, size) {
|
|
6
|
-
const widthHalf = size.width / 2;
|
|
7
|
-
const heightHalf = size.height / 2;
|
|
8
|
-
camera.updateMatrixWorld(false);
|
|
9
|
-
const vector = point3.project(camera);
|
|
10
|
-
vector.x = vector.x * widthHalf + widthHalf;
|
|
11
|
-
vector.y = -(vector.y * heightHalf) + heightHalf;
|
|
12
|
-
return vector;
|
|
13
|
-
}
|
|
14
|
-
function getPoint3(point2, camera, size, zValue = 1) {
|
|
15
|
-
const vector = tV0.set((point2.x / size.width) * 2 - 1, -(point2.y / size.height) * 2 + 1, zValue);
|
|
16
|
-
vector.unproject(camera);
|
|
17
|
-
return vector;
|
|
18
|
-
}
|
|
19
|
-
export function calculateScaleFactor(point3, radiusPx, camera, size) {
|
|
20
|
-
const point2 = getPoint2(tV2.copy(point3), camera, size);
|
|
21
|
-
let scale = 0;
|
|
22
|
-
for (let i = 0; i < 2; ++i) {
|
|
23
|
-
const point2off = tV1.copy(point2).setComponent(i, point2.getComponent(i) + radiusPx);
|
|
24
|
-
const point3off = getPoint3(point2off, camera, size, point2off.z);
|
|
25
|
-
scale = Math.max(scale, point3.distanceTo(point3off));
|
|
26
|
-
}
|
|
27
|
-
return scale;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGUtZmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9zY2FsZS1mYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFVLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUV4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUUxQixTQUFTLFNBQVMsQ0FBQyxNQUFlLEVBQUUsTUFBYyxFQUFFLElBQWE7SUFDaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDNUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsTUFBZSxFQUFFLE1BQWMsRUFBRSxJQUFhLEVBQUUsU0FBaUIsQ0FBQztJQUNwRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFlLEVBQUUsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsSUFBYTtJQUNwRyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3RGLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd0U2l6ZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQ2FtZXJhLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuXG5jb25zdCB0VjAgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdFYxID0gbmV3IFZlY3RvcjMoKTtcbmNvbnN0IHRWMiA9IG5ldyBWZWN0b3IzKCk7XG5cbmZ1bmN0aW9uIGdldFBvaW50Mihwb2ludDM6IFZlY3RvcjMsIGNhbWVyYTogQ2FtZXJhLCBzaXplOiBOZ3RTaXplKSB7XG5cdGNvbnN0IHdpZHRoSGFsZiA9IHNpemUud2lkdGggLyAyO1xuXHRjb25zdCBoZWlnaHRIYWxmID0gc2l6ZS5oZWlnaHQgLyAyO1xuXHRjYW1lcmEudXBkYXRlTWF0cml4V29ybGQoZmFsc2UpO1xuXHRjb25zdCB2ZWN0b3IgPSBwb2ludDMucHJvamVjdChjYW1lcmEpO1xuXHR2ZWN0b3IueCA9IHZlY3Rvci54ICogd2lkdGhIYWxmICsgd2lkdGhIYWxmO1xuXHR2ZWN0b3IueSA9IC0odmVjdG9yLnkgKiBoZWlnaHRIYWxmKSArIGhlaWdodEhhbGY7XG5cdHJldHVybiB2ZWN0b3I7XG59XG5cbmZ1bmN0aW9uIGdldFBvaW50Myhwb2ludDI6IFZlY3RvcjMsIGNhbWVyYTogQ2FtZXJhLCBzaXplOiBOZ3RTaXplLCB6VmFsdWU6IG51bWJlciA9IDEpIHtcblx0Y29uc3QgdmVjdG9yID0gdFYwLnNldCgocG9pbnQyLnggLyBzaXplLndpZHRoKSAqIDIgLSAxLCAtKHBvaW50Mi55IC8gc2l6ZS5oZWlnaHQpICogMiArIDEsIHpWYWx1ZSk7XG5cdHZlY3Rvci51bnByb2plY3QoY2FtZXJhKTtcblx0cmV0dXJuIHZlY3Rvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZVNjYWxlRmFjdG9yKHBvaW50MzogVmVjdG9yMywgcmFkaXVzUHg6IG51bWJlciwgY2FtZXJhOiBDYW1lcmEsIHNpemU6IE5ndFNpemUpIHtcblx0Y29uc3QgcG9pbnQyID0gZ2V0UG9pbnQyKHRWMi5jb3B5KHBvaW50MyksIGNhbWVyYSwgc2l6ZSk7XG5cdGxldCBzY2FsZSA9IDA7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgMjsgKytpKSB7XG5cdFx0Y29uc3QgcG9pbnQyb2ZmID0gdFYxLmNvcHkocG9pbnQyKS5zZXRDb21wb25lbnQoaSwgcG9pbnQyLmdldENvbXBvbmVudChpKSArIHJhZGl1c1B4KTtcblx0XHRjb25zdCBwb2ludDNvZmYgPSBnZXRQb2ludDMocG9pbnQyb2ZmLCBjYW1lcmEsIHNpemUsIHBvaW50Mm9mZi56KTtcblx0XHRzY2FsZSA9IE1hdGgubWF4KHNjYWxlLCBwb2ludDMuZGlzdGFuY2VUbyhwb2ludDNvZmYpKTtcblx0fVxuXHRyZXR1cm4gc2NhbGU7XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1zb2JhLXBlcmZvcm1hbmNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9wZXJmb3JtYW5jZXMvc3JjL2FuZ3VsYXItdGhyZWUtc29iYS1wZXJmb3JtYW5jZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './lib/adaptive-dpr';
|
|
2
|
-
export * from './lib/adaptive-events';
|
|
3
|
-
export * from './lib/detailed';
|
|
4
|
-
export * from './lib/instances/instances';
|
|
5
|
-
export * from './lib/points/points';
|
|
6
|
-
export * from './lib/segments/segments';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvcGVyZm9ybWFuY2VzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FkYXB0aXZlLWRwcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGl2ZS1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGV0YWlsZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5zdGFuY2VzL2luc3RhbmNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb2ludHMvcG9pbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlZ21lbnRzL3NlZ21lbnRzJztcbiJdfQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Directive, effect, inject, input, untracked } from '@angular/core';
|
|
2
|
-
import { injectStore } from 'angular-three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgtsAdaptiveDpr {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.pixelated = input(false);
|
|
7
|
-
const store = injectStore();
|
|
8
|
-
const gl = store.select('gl');
|
|
9
|
-
const active = store.select('internal', 'active');
|
|
10
|
-
const current = store.select('performance', 'current');
|
|
11
|
-
const initialDpr = store.select('viewport', 'initialDpr');
|
|
12
|
-
const setDpr = store.select('setDpr');
|
|
13
|
-
effect(() => {
|
|
14
|
-
const [_current, pixelated, domElement, _setDpr, _initialDpr] = [
|
|
15
|
-
current(),
|
|
16
|
-
untracked(this.pixelated),
|
|
17
|
-
untracked(gl).domElement,
|
|
18
|
-
untracked(setDpr),
|
|
19
|
-
untracked(initialDpr),
|
|
20
|
-
];
|
|
21
|
-
_setDpr(_current * _initialDpr);
|
|
22
|
-
if (pixelated && domElement)
|
|
23
|
-
domElement.style.imageRendering = _current === 1 ? 'auto' : 'pixelated';
|
|
24
|
-
});
|
|
25
|
-
inject(DestroyRef).onDestroy(() => {
|
|
26
|
-
const [domElement, _active, _setDpr, _initialDpr, pixelated] = [
|
|
27
|
-
untracked(gl).domElement,
|
|
28
|
-
untracked(active),
|
|
29
|
-
untracked(setDpr),
|
|
30
|
-
untracked(initialDpr),
|
|
31
|
-
untracked(this.pixelated),
|
|
32
|
-
];
|
|
33
|
-
if (_active)
|
|
34
|
-
_setDpr(_initialDpr);
|
|
35
|
-
if (pixelated && domElement)
|
|
36
|
-
domElement.style.imageRendering = 'auto';
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsAdaptiveDpr, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtsAdaptiveDpr, isStandalone: true, selector: "ngts-adaptive-dpr", inputs: { pixelated: { classPropertyName: "pixelated", publicName: "pixelated", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsAdaptiveDpr, decorators: [{
|
|
43
|
-
type: Directive,
|
|
44
|
-
args: [{ selector: 'ngts-adaptive-dpr', standalone: true }]
|
|
45
|
-
}], ctorParameters: () => [] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRpdmUtZHByLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3BlcmZvcm1hbmNlcy9zcmMvbGliL2FkYXB0aXZlLWRwci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLGVBQWU7SUFHM0I7UUFGQSxjQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3hCLE1BQU0sS0FBSyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV0QyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRztnQkFDL0QsT0FBTyxFQUFFO2dCQUNULFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN6QixTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVTtnQkFDeEIsU0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDakIsU0FBUyxDQUFDLFVBQVUsQ0FBQzthQUNyQixDQUFDO1lBRUYsT0FBTyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQztZQUNoQyxJQUFJLFNBQVMsSUFBSSxVQUFVO2dCQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3RHLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsR0FBRztnQkFDOUQsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVU7Z0JBQ3hCLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pCLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pCLFNBQVMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ3pCLENBQUM7WUFFRixJQUFJLE9BQU87Z0JBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksU0FBUyxJQUFJLFVBQVU7Z0JBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0FwQ1csZUFBZTttR0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICduZ3RzLWFkYXB0aXZlLWRwcicsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOZ3RzQWRhcHRpdmVEcHIge1xuXHRwaXhlbGF0ZWQgPSBpbnB1dChmYWxzZSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3Qgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRcdGNvbnN0IGdsID0gc3RvcmUuc2VsZWN0KCdnbCcpO1xuXHRcdGNvbnN0IGFjdGl2ZSA9IHN0b3JlLnNlbGVjdCgnaW50ZXJuYWwnLCAnYWN0aXZlJyk7XG5cdFx0Y29uc3QgY3VycmVudCA9IHN0b3JlLnNlbGVjdCgncGVyZm9ybWFuY2UnLCAnY3VycmVudCcpO1xuXHRcdGNvbnN0IGluaXRpYWxEcHIgPSBzdG9yZS5zZWxlY3QoJ3ZpZXdwb3J0JywgJ2luaXRpYWxEcHInKTtcblx0XHRjb25zdCBzZXREcHIgPSBzdG9yZS5zZWxlY3QoJ3NldERwcicpO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IFtfY3VycmVudCwgcGl4ZWxhdGVkLCBkb21FbGVtZW50LCBfc2V0RHByLCBfaW5pdGlhbERwcl0gPSBbXG5cdFx0XHRcdGN1cnJlbnQoKSxcblx0XHRcdFx0dW50cmFja2VkKHRoaXMucGl4ZWxhdGVkKSxcblx0XHRcdFx0dW50cmFja2VkKGdsKS5kb21FbGVtZW50LFxuXHRcdFx0XHR1bnRyYWNrZWQoc2V0RHByKSxcblx0XHRcdFx0dW50cmFja2VkKGluaXRpYWxEcHIpLFxuXHRcdFx0XTtcblxuXHRcdFx0X3NldERwcihfY3VycmVudCAqIF9pbml0aWFsRHByKTtcblx0XHRcdGlmIChwaXhlbGF0ZWQgJiYgZG9tRWxlbWVudCkgZG9tRWxlbWVudC5zdHlsZS5pbWFnZVJlbmRlcmluZyA9IF9jdXJyZW50ID09PSAxID8gJ2F1dG8nIDogJ3BpeGVsYXRlZCc7XG5cdFx0fSk7XG5cblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHtcblx0XHRcdGNvbnN0IFtkb21FbGVtZW50LCBfYWN0aXZlLCBfc2V0RHByLCBfaW5pdGlhbERwciwgcGl4ZWxhdGVkXSA9IFtcblx0XHRcdFx0dW50cmFja2VkKGdsKS5kb21FbGVtZW50LFxuXHRcdFx0XHR1bnRyYWNrZWQoYWN0aXZlKSxcblx0XHRcdFx0dW50cmFja2VkKHNldERwciksXG5cdFx0XHRcdHVudHJhY2tlZChpbml0aWFsRHByKSxcblx0XHRcdFx0dW50cmFja2VkKHRoaXMucGl4ZWxhdGVkKSxcblx0XHRcdF07XG5cblx0XHRcdGlmIChfYWN0aXZlKSBfc2V0RHByKF9pbml0aWFsRHByKTtcblx0XHRcdGlmIChwaXhlbGF0ZWQgJiYgZG9tRWxlbWVudCkgZG9tRWxlbWVudC5zdHlsZS5pbWFnZVJlbmRlcmluZyA9ICdhdXRvJztcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Directive, effect, inject } from '@angular/core';
|
|
2
|
-
import { injectStore } from 'angular-three';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgtsAdaptiveEvents {
|
|
5
|
-
constructor() {
|
|
6
|
-
const store = injectStore();
|
|
7
|
-
const current = store.select('performance', 'current');
|
|
8
|
-
const currentEnabled = store.snapshot.events.enabled;
|
|
9
|
-
effect((onCleanup) => {
|
|
10
|
-
const _current = current();
|
|
11
|
-
onCleanup(() => store.snapshot.setEvents({ enabled: _current === 1 }));
|
|
12
|
-
});
|
|
13
|
-
inject(DestroyRef).onDestroy(() => {
|
|
14
|
-
store.snapshot.setEvents({ enabled: currentEnabled });
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsAdaptiveEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: NgtsAdaptiveEvents, isStandalone: true, selector: "ngts-adaptive-events", ngImport: i0 }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsAdaptiveEvents, decorators: [{
|
|
21
|
-
type: Directive,
|
|
22
|
-
args: [{ standalone: true, selector: 'ngts-adaptive-events' }]
|
|
23
|
-
}], ctorParameters: () => [] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRpdmUtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3BlcmZvcm1hbmNlcy9zcmMvbGliL2FkYXB0aXZlLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzVDLE1BQU0sT0FBTyxrQkFBa0I7SUFDOUI7UUFDQyxNQUFNLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2RCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFFckQsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDM0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0FkVyxrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnbmd0cy1hZGFwdGl2ZS1ldmVudHMnIH0pXG5leHBvcnQgY2xhc3MgTmd0c0FkYXB0aXZlRXZlbnRzIHtcblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3Qgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRcdGNvbnN0IGN1cnJlbnQgPSBzdG9yZS5zZWxlY3QoJ3BlcmZvcm1hbmNlJywgJ2N1cnJlbnQnKTtcblx0XHRjb25zdCBjdXJyZW50RW5hYmxlZCA9IHN0b3JlLnNuYXBzaG90LmV2ZW50cy5lbmFibGVkO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IF9jdXJyZW50ID0gY3VycmVudCgpO1xuXHRcdFx0b25DbGVhbnVwKCgpID0+IHN0b3JlLnNuYXBzaG90LnNldEV2ZW50cyh7IGVuYWJsZWQ6IF9jdXJyZW50ID09PSAxIH0pKTtcblx0XHR9KTtcblxuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuXHRcdFx0c3RvcmUuc25hcHNob3Quc2V0RXZlbnRzKHsgZW5hYmxlZDogY3VycmVudEVuYWJsZWQgfSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, effect, input, viewChild, } from '@angular/core';
|
|
2
|
-
import { extend, getLocalState, injectBeforeRender, omit, pick } from 'angular-three';
|
|
3
|
-
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
4
|
-
import { LOD } from 'three';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
const defaultOptions = {
|
|
7
|
-
hysteresis: 0,
|
|
8
|
-
};
|
|
9
|
-
export class NgtsDetailed {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.distances = input.required();
|
|
12
|
-
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
13
|
-
this.parameters = omit(this.options, ['hysteresis']);
|
|
14
|
-
this.lodRef = viewChild.required('lod');
|
|
15
|
-
this.hysteresis = pick(this.options, 'hysteresis');
|
|
16
|
-
extend({ LOD });
|
|
17
|
-
effect(() => {
|
|
18
|
-
const lod = this.lodRef().nativeElement;
|
|
19
|
-
const localState = getLocalState(lod);
|
|
20
|
-
if (!localState)
|
|
21
|
-
return;
|
|
22
|
-
const [, distances, hysteresis] = [localState.objects(), this.distances(), this.hysteresis()];
|
|
23
|
-
lod.levels.length = 0;
|
|
24
|
-
lod.children.forEach((object, index) => {
|
|
25
|
-
lod.levels.push({ object, distance: distances[index], hysteresis });
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
injectBeforeRender(({ camera }) => {
|
|
29
|
-
this.lodRef().nativeElement.update(camera);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsDetailed, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", 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: `
|
|
34
|
-
<ngt-lOD #lod [parameters]="parameters()">
|
|
35
|
-
<ng-content />
|
|
36
|
-
</ngt-lOD>
|
|
37
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsDetailed, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{
|
|
42
|
-
selector: 'ngts-detailed',
|
|
43
|
-
standalone: true,
|
|
44
|
-
template: `
|
|
45
|
-
<ngt-lOD #lod [parameters]="parameters()">
|
|
46
|
-
<ng-content />
|
|
47
|
-
</ngt-lOD>
|
|
48
|
-
`,
|
|
49
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
50
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
51
|
-
}]
|
|
52
|
-
}], ctorParameters: () => [] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvcGVyZm9ybWFuY2VzL3NyYy9saWIvZGV0YWlsZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFVLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBTTVCLE1BQU0sY0FBYyxHQUF3QjtJQUMzQyxVQUFVLEVBQUUsQ0FBQztDQUNiLENBQUM7QUFhRixNQUFNLE9BQU8sWUFBWTtJQVF4QjtRQVBBLGNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDdkMsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRWhELFdBQU0sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFrQixLQUFLLENBQUMsQ0FBQztRQUM1QyxlQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFHckQsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUVoQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUN4QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTztZQUN4QixNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQzlGLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN0QixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDdEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7K0dBekJXLFlBQVk7bUdBQVosWUFBWSxxY0FSZDs7OztFQUlUOzs0RkFJVyxZQUFZO2tCQVh4QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7O0VBSVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdGVmZmVjdCxcblx0RWxlbWVudFJlZixcblx0aW5wdXQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGdldExvY2FsU3RhdGUsIGluamVjdEJlZm9yZVJlbmRlciwgTmd0TE9ELCBvbWl0LCBwaWNrIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBMT0QgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0RldGFpbGVkT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8Tmd0TE9EPiB7XG5cdGh5c3RlcmVzaXM6IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndHNEZXRhaWxlZE9wdGlvbnMgPSB7XG5cdGh5c3RlcmVzaXM6IDAsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWRldGFpbGVkJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWxPRCAjbG9kIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1sT0Q+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNEZXRhaWxlZCB7XG5cdGRpc3RhbmNlcyA9IGlucHV0LnJlcXVpcmVkPG51bWJlcltdPigpO1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgWydoeXN0ZXJlc2lzJ10pO1xuXG5cdGxvZFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPExPRD4+KCdsb2QnKTtcblx0cHJpdmF0ZSBoeXN0ZXJlc2lzID0gcGljayh0aGlzLm9wdGlvbnMsICdoeXN0ZXJlc2lzJyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgTE9EIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGxvZCA9IHRoaXMubG9kUmVmKCkubmF0aXZlRWxlbWVudDtcblx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGxvZCk7XG5cdFx0XHRpZiAoIWxvY2FsU3RhdGUpIHJldHVybjtcblx0XHRcdGNvbnN0IFssIGRpc3RhbmNlcywgaHlzdGVyZXNpc10gPSBbbG9jYWxTdGF0ZS5vYmplY3RzKCksIHRoaXMuZGlzdGFuY2VzKCksIHRoaXMuaHlzdGVyZXNpcygpXTtcblx0XHRcdGxvZC5sZXZlbHMubGVuZ3RoID0gMDtcblx0XHRcdGxvZC5jaGlsZHJlbi5mb3JFYWNoKChvYmplY3QsIGluZGV4KSA9PiB7XG5cdFx0XHRcdGxvZC5sZXZlbHMucHVzaCh7IG9iamVjdCwgZGlzdGFuY2U6IGRpc3RhbmNlc1tpbmRleF0sIGh5c3RlcmVzaXMgfSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBjYW1lcmEgfSkgPT4ge1xuXHRcdFx0dGhpcy5sb2RSZWYoKS5uYXRpdmVFbGVtZW50LnVwZGF0ZShjYW1lcmEpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|