angular-three-soba 2.0.0-beta.26 → 2.0.0-beta.28
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/controls/orbit-controls/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/billboard/billboard.mjs +3 -3
- package/esm2022/abstractions/detailed/detailed.mjs +3 -3
- package/esm2022/abstractions/edges/edges.mjs +3 -3
- package/esm2022/abstractions/grid/grid.mjs +3 -3
- package/esm2022/abstractions/text/text.mjs +3 -3
- package/esm2022/abstractions/text-3d/text-3d.mjs +3 -3
- package/esm2022/cameras/camera/camera-content.mjs +3 -3
- package/esm2022/cameras/camera/camera.mjs +3 -3
- package/esm2022/cameras/cube-camera/cube-camera.mjs +9 -9
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +3 -3
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +3 -3
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +10 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +6 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +6 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +3 -3
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +6 -2
- package/esm2022/loaders/loader/loader.mjs +3 -3
- package/esm2022/loaders/progress/progress.mjs +3 -3
- package/esm2022/loaders/texture-loader/texture-loader.mjs +3 -3
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +3 -3
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +3 -3
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/point-material/point-material.mjs +3 -3
- package/esm2022/misc/animations/animations.mjs +3 -3
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +3 -3
- package/esm2022/misc/caustics/caustics.mjs +3 -3
- package/esm2022/misc/decal/decal.mjs +3 -3
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +3 -3
- package/esm2022/misc/example/example.mjs +3 -3
- package/esm2022/misc/fbo/fbo.mjs +3 -3
- package/esm2022/misc/html/html-wrapper.mjs +3 -3
- package/esm2022/misc/html/html.mjs +3 -3
- package/esm2022/misc/sampler/sampler.mjs +6 -6
- package/esm2022/misc/shadow/shadow.mjs +3 -3
- package/esm2022/misc/stats-gl/stats-gl.mjs +3 -3
- package/esm2022/misc/trail/trail.mjs +6 -6
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +3 -3
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +3 -3
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +3 -3
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +3 -3
- package/esm2022/performances/instances/instances.mjs +6 -6
- package/esm2022/performances/points/points-input.mjs +3 -3
- package/esm2022/performances/points/points.mjs +12 -12
- package/esm2022/performances/segments/segments.mjs +6 -6
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +3 -3
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +3 -3
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +5 -5
- package/esm2022/staging/backdrop/backdrop.mjs +3 -3
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +6 -6
- package/esm2022/staging/bounds/bounds.mjs +3 -3
- package/esm2022/staging/camera-shake/camera-shake.mjs +3 -3
- package/esm2022/staging/center/center.mjs +3 -3
- package/esm2022/staging/cloud/cloud.mjs +3 -3
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +3 -3
- package/esm2022/staging/environment/environment-cube.mjs +3 -3
- package/esm2022/staging/environment/environment-ground.mjs +3 -3
- package/esm2022/staging/environment/environment-input.mjs +3 -3
- package/esm2022/staging/environment/environment-map.mjs +3 -3
- package/esm2022/staging/environment/environment-portal.mjs +3 -3
- package/esm2022/staging/environment/environment.mjs +3 -3
- package/esm2022/staging/environment/utils.mjs +3 -3
- package/esm2022/staging/float/float.mjs +3 -3
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +3 -3
- package/esm2022/staging/normal-texture/normal-texture.mjs +3 -3
- package/esm2022/staging/sky/sky.mjs +3 -3
- package/esm2022/staging/sparkles/sparkles.mjs +3 -3
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +3 -3
- package/esm2022/staging/spot-light/shadow-mesh.mjs +12 -12
- package/esm2022/staging/spot-light/spot-light-input.mjs +3 -3
- package/esm2022/staging/spot-light/spot-light.mjs +3 -3
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +3 -3
- package/esm2022/staging/stage/stage.mjs +6 -6
- package/esm2022/staging/stars/stars.mjs +3 -3
- package/esm2022/staging/wireframe/wireframe-input.mjs +3 -3
- package/esm2022/staging/wireframe/wireframe.mjs +9 -9
- package/esm2022/utils/content/content.mjs +3 -3
- package/fesm2022/angular-three-soba-abstractions.mjs +18 -18
- package/fesm2022/angular-three-soba-cameras.mjs +20 -20
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +9 -5
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +27 -27
- package/fesm2022/angular-three-soba-loaders.mjs +11 -7
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +18 -18
- package/fesm2022/angular-three-soba-misc.mjs +37 -37
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +3 -3
- package/fesm2022/angular-three-soba-performances.mjs +33 -33
- package/fesm2022/angular-three-soba-shaders.mjs +2 -2
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +111 -111
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +3 -3
- package/package.json +7 -7
|
@@ -20,8 +20,8 @@ export class NgtsGizmoViewportAxis {
|
|
|
20
20
|
set _scale(scale) {
|
|
21
21
|
this.inputs.set({ scale });
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewportAxis, isStandalone: true, selector: "ngts-gizmo-viewport-axis", inputs: { _color: ["color", "_color"], _rotation: ["rotation", "_rotation"], _scale: ["scale", "_scale"] }, ngImport: i0, template: `
|
|
25
25
|
<ngt-group [rotation]="rotation()">
|
|
26
26
|
<ngt-mesh [position]="[0.4, 0, 0]">
|
|
27
27
|
<ngt-box-geometry *args="scale()" />
|
|
@@ -30,7 +30,7 @@ export class NgtsGizmoViewportAxis {
|
|
|
30
30
|
</ngt-group>
|
|
31
31
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxis, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{
|
|
36
36
|
selector: 'ngts-gizmo-viewport-axis',
|
|
@@ -127,8 +127,8 @@ export class NgtsGizmoViewportAxisHead {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
131
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
131
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewportAxisHead, isStandalone: true, selector: "ngts-gizmo-viewport-axis-head", inputs: { _arcStyle: ["arcStyle", "_arcStyle"], _label: ["label", "_label"], _labelColor: ["labelColor", "_labelColor"], _axisHeadScale: ["axisHeadScale", "_axisHeadScale"], _disabled: ["disabled", "_disabled"], _font: ["font", "_font"], viewportClickEmitter: "viewportClickEmitter" }, ngImport: i0, template: `
|
|
132
132
|
<ngt-sprite
|
|
133
133
|
ngtCompound
|
|
134
134
|
[scale]="scale()"
|
|
@@ -146,7 +146,7 @@ export class NgtsGizmoViewportAxisHead {
|
|
|
146
146
|
</ngt-sprite>
|
|
147
147
|
`, isInline: true }); }
|
|
148
148
|
}
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewportAxisHead, decorators: [{
|
|
150
150
|
type: Component,
|
|
151
151
|
args: [{
|
|
152
152
|
selector: 'ngts-gizmo-viewport-axis-head',
|
|
@@ -61,8 +61,8 @@ export class NgtsGizmoViewport {
|
|
|
61
61
|
this.gizmoApi.tweenCamera(event.object.position);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { _axisColors: ["axisColors", "_axisColors"], _axisScale: ["axisScale", "_axisScale"], _labels: ["labels", "_labels"], _axisHeadScale: ["axisHeadScale", "_axisHeadScale"], _labelColor: ["labelColor", "_labelColor"], _hideNegativeAxes: ["hideNegativeAxes", "_hideNegativeAxes"], _hideAxisHeads: ["hideAxisHeads", "_hideAxisHeads"], _disabled: ["disabled", "_disabled"], _font: ["font", "_font"] }, outputs: { viewportClick: "viewportClick" }, ngImport: i0, template: `
|
|
66
66
|
<ngt-group ngtCompound [scale]="40">
|
|
67
67
|
<ngts-gizmo-viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
|
|
68
68
|
<ngts-gizmo-viewport-axis
|
|
@@ -147,7 +147,7 @@ export class NgtsGizmoViewport {
|
|
|
147
147
|
</ngt-group>
|
|
148
148
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsGizmoViewportAxis, selector: "ngts-gizmo-viewport-axis", inputs: ["color", "rotation", "scale"] }, { kind: "component", type: NgtsGizmoViewportAxisHead, selector: "ngts-gizmo-viewport-axis-head", inputs: ["arcStyle", "label", "labelColor", "axisHeadScale", "disabled", "font", "viewportClickEmitter"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
152
|
args: [{
|
|
153
153
|
selector: 'ngts-gizmo-viewport',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { injectNgtLoader } from 'angular-three';
|
|
2
2
|
import { DRACOLoader, GLTFLoader, MeshoptDecoder } from 'three-stdlib';
|
|
3
3
|
let dracoLoader = null;
|
|
4
|
+
let decoderPath = 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/';
|
|
4
5
|
function _extensions(useDraco, useMeshOpt, extensions) {
|
|
5
6
|
return (loader) => {
|
|
6
7
|
if (extensions) {
|
|
@@ -10,7 +11,7 @@ function _extensions(useDraco, useMeshOpt, extensions) {
|
|
|
10
11
|
if (!dracoLoader) {
|
|
11
12
|
dracoLoader = new DRACOLoader();
|
|
12
13
|
}
|
|
13
|
-
dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco :
|
|
14
|
+
dracoLoader.setDecoderPath(typeof useDraco === 'string' ? useDraco : decoderPath);
|
|
14
15
|
loader.setDRACOLoader(dracoLoader);
|
|
15
16
|
}
|
|
16
17
|
if (useMeshOpt) {
|
|
@@ -27,4 +28,7 @@ export function injectNgtsGLTFLoader(path, { useDraco = true, useMeshOpt = true,
|
|
|
27
28
|
injectNgtsGLTFLoader['preload'] = (path, { useDraco = true, useMeshOpt = true, extensions, } = {}) => {
|
|
28
29
|
injectNgtLoader['preload'](() => GLTFLoader, path, _extensions(useDraco, useMeshOpt, extensions));
|
|
29
30
|
};
|
|
30
|
-
|
|
31
|
+
injectNgtsGLTFLoader['setDecoderPath'] = (path) => {
|
|
32
|
+
decoderPath = path;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x0Zi1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvZ2x0Zi1sb2FkZXIvZ2x0Zi1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRWxGLElBQUksV0FBVyxHQUF1QixJQUFJLENBQUM7QUFDM0MsSUFBSSxXQUFXLEdBQUcseURBQXlELENBQUM7QUFFNUUsU0FBUyxXQUFXLENBQUMsUUFBMEIsRUFBRSxVQUFtQixFQUFFLFVBQXlDO0lBQzlHLE9BQU8sQ0FBQyxNQUFvQixFQUFFLEVBQUU7UUFDL0IsSUFBSSxVQUFVLEVBQUU7WUFDZixVQUFVLENBQUMsTUFBb0IsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNqQixXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQzthQUNoQztZQUVELFdBQVcsQ0FBQyxjQUFjLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pGLE1BQXFCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFxQixDQUFDLGlCQUFpQixDQUN2QyxPQUFPLGNBQWMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQ3hFLENBQUM7U0FDRjtJQUNGLENBQUMsQ0FBQztBQUNILENBQUM7QUFJRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLElBQWdCLEVBQ2hCLEVBQ0MsUUFBUSxHQUFHLElBQUksRUFDZixVQUFVLEdBQUcsSUFBSSxFQUNqQixRQUFRLEVBQ1IsVUFBVSxNQU1QLEVBQUU7SUFFTixPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFO1FBQzlDLFVBQVUsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDekQsUUFBUTtLQUNSLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNqQyxJQUFnQixFQUNoQixFQUNDLFFBQVEsR0FBRyxJQUFJLEVBQ2YsVUFBVSxHQUFHLElBQUksRUFDakIsVUFBVSxNQUtQLEVBQUUsRUFDTCxFQUFFO0lBQ0YsZUFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDNUcsQ0FBQyxDQUFDO0FBQ0Ysb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ3pELFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmplY3RvciwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RMb2FkZXIsIHR5cGUgTmd0TG9hZGVyUmVzdWx0cywgdHlwZSBOZ3RPYmplY3RNYXAgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IERSQUNPTG9hZGVyLCBHTFRGTG9hZGVyLCBNZXNob3B0RGVjb2RlciwgdHlwZSBHTFRGIH0gZnJvbSAndGhyZWUtc3RkbGliJztcblxubGV0IGRyYWNvTG9hZGVyOiBEUkFDT0xvYWRlciB8IG51bGwgPSBudWxsO1xubGV0IGRlY29kZXJQYXRoID0gJ2h0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2RyYWNvL3ZlcnNpb25lZC9kZWNvZGVycy8xLjUuNS8nO1xuXG5mdW5jdGlvbiBfZXh0ZW5zaW9ucyh1c2VEcmFjbzogYm9vbGVhbiB8IHN0cmluZywgdXNlTWVzaE9wdDogYm9vbGVhbiwgZXh0ZW5zaW9ucz86IChsb2FkZXI6IEdMVEZMb2FkZXIpID0+IHZvaWQpIHtcblx0cmV0dXJuIChsb2FkZXI6IFRIUkVFLkxvYWRlcikgPT4ge1xuXHRcdGlmIChleHRlbnNpb25zKSB7XG5cdFx0XHRleHRlbnNpb25zKGxvYWRlciBhcyBHTFRGTG9hZGVyKTtcblx0XHR9XG5cblx0XHRpZiAodXNlRHJhY28pIHtcblx0XHRcdGlmICghZHJhY29Mb2FkZXIpIHtcblx0XHRcdFx0ZHJhY29Mb2FkZXIgPSBuZXcgRFJBQ09Mb2FkZXIoKTtcblx0XHRcdH1cblxuXHRcdFx0ZHJhY29Mb2FkZXIuc2V0RGVjb2RlclBhdGgodHlwZW9mIHVzZURyYWNvID09PSAnc3RyaW5nJyA/IHVzZURyYWNvIDogZGVjb2RlclBhdGgpO1xuXHRcdFx0KGxvYWRlciBhcyBHTFRGTG9hZGVyKS5zZXREUkFDT0xvYWRlcihkcmFjb0xvYWRlcik7XG5cdFx0fVxuXHRcdGlmICh1c2VNZXNoT3B0KSB7XG5cdFx0XHQobG9hZGVyIGFzIEdMVEZMb2FkZXIpLnNldE1lc2hvcHREZWNvZGVyKFxuXHRcdFx0XHR0eXBlb2YgTWVzaG9wdERlY29kZXIgPT09ICdmdW5jdGlvbicgPyBNZXNob3B0RGVjb2RlcigpIDogTWVzaG9wdERlY29kZXIsXG5cdFx0XHQpO1xuXHRcdH1cblx0fTtcbn1cblxuZXhwb3J0IHR5cGUgTmd0c0dMVEY8VCBleHRlbmRzIFBhcnRpYWw8Tmd0T2JqZWN0TWFwPj4gPSBHTFRGICYgTmd0T2JqZWN0TWFwICYgVDtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNHTFRGTG9hZGVyPFRVcmwgZXh0ZW5kcyBzdHJpbmcgfCBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuXHRwYXRoOiAoKSA9PiBUVXJsLFxuXHR7XG5cdFx0dXNlRHJhY28gPSB0cnVlLFxuXHRcdHVzZU1lc2hPcHQgPSB0cnVlLFxuXHRcdGluamVjdG9yLFxuXHRcdGV4dGVuc2lvbnMsXG5cdH06IHtcblx0XHR1c2VEcmFjbz86IGJvb2xlYW4gfCBzdHJpbmc7XG5cdFx0dXNlTWVzaE9wdD86IGJvb2xlYW47XG5cdFx0aW5qZWN0b3I/OiBJbmplY3Rvcjtcblx0XHRleHRlbnNpb25zPzogKGxvYWRlcjogR0xURkxvYWRlcikgPT4gdm9pZDtcblx0fSA9IHt9LFxuKTogU2lnbmFsPE5ndExvYWRlclJlc3VsdHM8VFVybCwgR0xURiAmIE5ndE9iamVjdE1hcD4gfCBudWxsPiB7XG5cdHJldHVybiBpbmplY3ROZ3RMb2FkZXIoKCkgPT4gR0xURkxvYWRlciwgcGF0aCwge1xuXHRcdGV4dGVuc2lvbnM6IF9leHRlbnNpb25zKHVzZURyYWNvLCB1c2VNZXNoT3B0LCBleHRlbnNpb25zKSxcblx0XHRpbmplY3Rvcixcblx0fSk7XG59XG5cbmluamVjdE5ndHNHTFRGTG9hZGVyWydwcmVsb2FkJ10gPSA8VFVybCBleHRlbmRzIHN0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG5cdHBhdGg6ICgpID0+IFRVcmwsXG5cdHtcblx0XHR1c2VEcmFjbyA9IHRydWUsXG5cdFx0dXNlTWVzaE9wdCA9IHRydWUsXG5cdFx0ZXh0ZW5zaW9ucyxcblx0fToge1xuXHRcdHVzZURyYWNvPzogYm9vbGVhbiB8IHN0cmluZztcblx0XHR1c2VNZXNoT3B0PzogYm9vbGVhbjtcblx0XHRleHRlbnNpb25zPzogKGxvYWRlcjogR0xURkxvYWRlcikgPT4gdm9pZDtcblx0fSA9IHt9LFxuKSA9PiB7XG5cdChpbmplY3ROZ3RMb2FkZXIgYXMgYW55KVsncHJlbG9hZCddKCgpID0+IEdMVEZMb2FkZXIsIHBhdGgsIF9leHRlbnNpb25zKHVzZURyYWNvLCB1c2VNZXNoT3B0LCBleHRlbnNpb25zKSk7XG59O1xuaW5qZWN0Tmd0c0dMVEZMb2FkZXJbJ3NldERlY29kZXJQYXRoJ10gPSAocGF0aDogc3RyaW5nKSA9PiB7XG5cdGRlY29kZXJQYXRoID0gcGF0aDtcbn07XG4iXX0=
|
|
@@ -71,8 +71,8 @@ export class NgtsLoader {
|
|
|
71
71
|
onCleanup(() => cancelAnimationFrame(rafId));
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
75
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { _containerClass: ["containerClass", "_containerClass"], _innerClass: ["innerClass", "_innerClass"], _barClass: ["barClass", "_barClass"], _dataClass: ["dataClass", "_dataClass"], _dataInterpolation: ["dataInterpolation", "_dataInterpolation"], _initialState: ["initialState", "_initialState"] }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true }], ngImport: i0, template: `
|
|
76
76
|
<div
|
|
77
77
|
*ngIf="shown()"
|
|
78
78
|
class="ngts-loader-container"
|
|
@@ -92,7 +92,7 @@ export class NgtsLoader {
|
|
|
92
92
|
</div>
|
|
93
93
|
`, isInline: true, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:white;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
94
94
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsLoader, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
97
|
args: [{ selector: 'ngts-loader', standalone: true, template: `
|
|
98
98
|
<div
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChangeDetectorRef, inject, runInInjectionContext, signal, untracked } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInjector, safeDetectChanges } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
export function injectNgtsProgress(injector) {
|
|
5
|
-
injector =
|
|
5
|
+
injector = assertInjector(injectNgtsProgress, injector);
|
|
6
6
|
return runInInjectionContext(injector, () => {
|
|
7
7
|
const cdr = inject(ChangeDetectorRef);
|
|
8
8
|
const progress = signal({ errors: [], active: false, progress: 0, item: '', loaded: 0, total: 0 });
|
|
@@ -49,4 +49,4 @@ export function injectNgtsProgress(injector) {
|
|
|
49
49
|
return progress.asReadonly();
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvcHJvZ3Jlc3MvcHJvZ3Jlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxRQUFtQjtJQUNyRCxRQUFRLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBT3BCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzdELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDMUIsR0FBRyxJQUFJO29CQUNQLE1BQU0sRUFBRSxJQUFJO29CQUNaLElBQUk7b0JBQ0osTUFBTTtvQkFDTixLQUFLO29CQUNMLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLEdBQUc7aUJBQ2hGLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUM7UUFFRixLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1lBQ0gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRUYsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzdDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6RSxDQUFDLENBQUMsQ0FBQztZQUNILGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztRQUVGLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hFLElBQUksTUFBTSxLQUFLLEtBQUs7Z0JBQUUsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ2xELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDMUIsR0FBRyxJQUFJO29CQUNQLElBQUk7b0JBQ0osTUFBTTtvQkFDTixLQUFLO29CQUNMLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHO2lCQUN2RixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBzaWduYWwsIHVudHJhY2tlZCwgdHlwZSBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IsIHNhZmVEZXRlY3RDaGFuZ2VzIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzUHJvZ3Jlc3MoaW5qZWN0b3I/OiBJbmplY3Rvcikge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdE5ndHNQcm9ncmVzcywgaW5qZWN0b3IpO1xuXHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXHRcdGNvbnN0IHByb2dyZXNzID0gc2lnbmFsPHtcblx0XHRcdGVycm9yczogc3RyaW5nW107XG5cdFx0XHRhY3RpdmU6IGJvb2xlYW47XG5cdFx0XHRwcm9ncmVzczogbnVtYmVyO1xuXHRcdFx0aXRlbTogc3RyaW5nO1xuXHRcdFx0bG9hZGVkOiBudW1iZXI7XG5cdFx0XHR0b3RhbDogbnVtYmVyO1xuXHRcdH0+KHsgZXJyb3JzOiBbXSwgYWN0aXZlOiBmYWxzZSwgcHJvZ3Jlc3M6IDAsIGl0ZW06ICcnLCBsb2FkZWQ6IDAsIHRvdGFsOiAwIH0pO1xuXG5cdFx0bGV0IHNhdmVMYXN0VG90YWxMb2FkZWQgPSAwO1xuXG5cdFx0VEhSRUUuRGVmYXVsdExvYWRpbmdNYW5hZ2VyLm9uU3RhcnQgPSAoaXRlbSwgbG9hZGVkLCB0b3RhbCkgPT4ge1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0cHJvZ3Jlc3MudXBkYXRlKChwcmV2KSA9PiAoe1xuXHRcdFx0XHRcdC4uLnByZXYsXG5cdFx0XHRcdFx0YWN0aXZlOiB0cnVlLFxuXHRcdFx0XHRcdGl0ZW0sXG5cdFx0XHRcdFx0bG9hZGVkLFxuXHRcdFx0XHRcdHRvdGFsLFxuXHRcdFx0XHRcdHByb2dyZXNzOiAoKGxvYWRlZCAtIHNhdmVMYXN0VG90YWxMb2FkZWQpIC8gKHRvdGFsIC0gc2F2ZUxhc3RUb3RhbExvYWRlZCkpICogMTAwLFxuXHRcdFx0XHR9KSk7XG5cdFx0XHR9KTtcblxuXHRcdFx0c2FmZURldGVjdENoYW5nZXMoY2RyKTtcblx0XHR9O1xuXG5cdFx0VEhSRUUuRGVmYXVsdExvYWRpbmdNYW5hZ2VyLm9uTG9hZCA9ICgpID0+IHtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdHByb2dyZXNzLnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgYWN0aXZlOiBmYWxzZSB9KSk7XG5cdFx0XHR9KTtcblx0XHRcdHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0fTtcblxuXHRcdFRIUkVFLkRlZmF1bHRMb2FkaW5nTWFuYWdlci5vbkVycm9yID0gKHVybCkgPT4ge1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0cHJvZ3Jlc3MudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCBlcnJvcnM6IFsuLi5wcmV2LmVycm9ycywgdXJsXSB9KSk7XG5cdFx0XHR9KTtcblx0XHRcdHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0fTtcblxuXHRcdFRIUkVFLkRlZmF1bHRMb2FkaW5nTWFuYWdlci5vblByb2dyZXNzID0gKGl0ZW0sIGxvYWRlZCwgdG90YWwpID0+IHtcblx0XHRcdGlmIChsb2FkZWQgPT09IHRvdGFsKSBzYXZlTGFzdFRvdGFsTG9hZGVkID0gdG90YWw7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRwcm9ncmVzcy51cGRhdGUoKHByZXYpID0+ICh7XG5cdFx0XHRcdFx0Li4ucHJldixcblx0XHRcdFx0XHRpdGVtLFxuXHRcdFx0XHRcdGxvYWRlZCxcblx0XHRcdFx0XHR0b3RhbCxcblx0XHRcdFx0XHRwcm9ncmVzczogKChsb2FkZWQgLSBzYXZlTGFzdFRvdGFsTG9hZGVkKSAvICh0b3RhbCAtIHNhdmVMYXN0VG90YWxMb2FkZWQpKSAqIDEwMCB8fCAxMDAsXG5cdFx0XHRcdH0pKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRzYWZlRGV0ZWN0Q2hhbmdlcyhjZHIpO1xuXHRcdH07XG5cblx0XHRyZXR1cm4gcHJvZ3Jlc3MuYXNSZWFkb25seSgpO1xuXHR9KTtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { effect, runInInjectionContext } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInjector, injectNgtLoader, injectNgtStore } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
export function injectNgtsTextureLoader(input, { onLoad, injector, } = {}) {
|
|
5
|
-
injector =
|
|
5
|
+
injector = assertInjector(injectNgtsTextureLoader, injector);
|
|
6
6
|
return runInInjectionContext(injector, () => {
|
|
7
7
|
const store = injectNgtStore();
|
|
8
8
|
const result = injectNgtLoader(() => THREE.TextureLoader, input, { injector });
|
|
@@ -25,4 +25,4 @@ export function injectNgtsTextureLoader(input, { onLoad, injector, } = {}) {
|
|
|
25
25
|
injectNgtsTextureLoader['preload'] = (input) => {
|
|
26
26
|
injectNgtLoader.preload(() => THREE.TextureLoader, input);
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbG9hZGVycy9zcmMvdGV4dHVyZS1sb2FkZXIvdGV4dHVyZS1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixNQUFNLFVBQVUsdUJBQXVCLENBQ3RDLEtBQW1CLEVBQ25CLEVBQ0MsTUFBTSxFQUNOLFFBQVEsTUFJTCxFQUFFO0lBRU4sUUFBUSxHQUFHLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RCxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxLQUFLLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUvRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUN0QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLFFBQVE7Z0JBQ1YsQ0FBQyxDQUFDLFFBQVEsWUFBWSxLQUFLLENBQUMsT0FBTztvQkFDbkMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO29CQUNaLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNCLElBQUksTUFBTTtnQkFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNwQyxLQUFtQixFQUNsQixFQUFFO0lBQ0YsZUFBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZmZlY3QsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgdHlwZSBJbmplY3RvciwgdHlwZSBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydEluamVjdG9yLCBpbmplY3ROZ3RMb2FkZXIsIGluamVjdE5ndFN0b3JlLCB0eXBlIE5ndExvYWRlclJlc3VsdHMgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNUZXh0dXJlTG9hZGVyPFRJbnB1dCBleHRlbmRzIHN0cmluZ1tdIHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG5cdGlucHV0OiAoKSA9PiBUSW5wdXQsXG5cdHtcblx0XHRvbkxvYWQsXG5cdFx0aW5qZWN0b3IsXG5cdH06IHtcblx0XHRvbkxvYWQ/OiAodGV4dHVyZTogVEhSRUUuVGV4dHVyZSB8IFRIUkVFLlRleHR1cmVbXSkgPT4gdm9pZDtcblx0XHRpbmplY3Rvcj86IEluamVjdG9yO1xuXHR9ID0ge30sXG4pOiBTaWduYWw8Tmd0TG9hZGVyUmVzdWx0czxUSW5wdXQsIFRIUkVFLlRleHR1cmU+IHwgbnVsbD4ge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdE5ndHNUZXh0dXJlTG9hZGVyLCBpbmplY3Rvcik7XG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBzdG9yZSA9IGluamVjdE5ndFN0b3JlKCk7XG5cdFx0Y29uc3QgcmVzdWx0ID0gaW5qZWN0Tmd0TG9hZGVyKCgpID0+IFRIUkVFLlRleHR1cmVMb2FkZXIsIGlucHV0LCB7IGluamVjdG9yIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IHRleHR1cmVzID0gcmVzdWx0KCk7XG5cdFx0XHRpZiAoIXRleHR1cmVzKSByZXR1cm47XG5cdFx0XHRjb25zdCBhcnJheSA9IEFycmF5LmlzQXJyYXkodGV4dHVyZXMpXG5cdFx0XHRcdD8gdGV4dHVyZXNcblx0XHRcdFx0OiB0ZXh0dXJlcyBpbnN0YW5jZW9mIFRIUkVFLlRleHR1cmVcblx0XHRcdFx0PyBbdGV4dHVyZXNdXG5cdFx0XHRcdDogT2JqZWN0LnZhbHVlcyh0ZXh0dXJlcyk7XG5cdFx0XHRpZiAob25Mb2FkKSBvbkxvYWQoYXJyYXkpO1xuXHRcdFx0YXJyYXkuZm9yRWFjaChzdG9yZS5nZXQoJ2dsJykuaW5pdFRleHR1cmUpO1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSk7XG59XG5cbmluamVjdE5ndHNUZXh0dXJlTG9hZGVyWydwcmVsb2FkJ10gPSA8VElucHV0IGV4dGVuZHMgc3RyaW5nW10gfCBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pihcblx0aW5wdXQ6ICgpID0+IFRJbnB1dCxcbikgPT4ge1xuXHQoaW5qZWN0Tmd0TG9hZGVyIGFzIGFueSkucHJlbG9hZCgoKSA9PiBUSFJFRS5UZXh0dXJlTG9hZGVyLCBpbnB1dCk7XG59O1xuIl19
|
|
@@ -32,8 +32,8 @@ export class NgtsMeshDistortMaterial {
|
|
|
32
32
|
this.material.time = clock.getElapsedTime() * this.inputs.get('speed');
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshDistortMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshDistortMaterial, isStandalone: true, selector: "ngts-mesh-distort-material", inputs: { materialRef: "materialRef", _time: ["time", "_time"], _distort: ["distort", "_distort"], _radius: ["radius", "_radius"], _speed: ["speed", "_speed"] }, ngImport: i0, template: `
|
|
37
37
|
<ngt-primitive
|
|
38
38
|
*args="[material]"
|
|
39
39
|
[ref]="materialRef"
|
|
@@ -45,7 +45,7 @@ export class NgtsMeshDistortMaterial {
|
|
|
45
45
|
/>
|
|
46
46
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshDistortMaterial, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{
|
|
51
51
|
selector: 'ngts-mesh-distort-material',
|
|
@@ -258,8 +258,8 @@ export class NgtsMeshReflectorMaterial {
|
|
|
258
258
|
projectionMatrix.elements[10] = this.clipPlane.z + 1.0;
|
|
259
259
|
projectionMatrix.elements[14] = this.clipPlane.w;
|
|
260
260
|
}
|
|
261
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
262
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
261
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshReflectorMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
262
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshReflectorMaterial, isStandalone: true, selector: "ngts-mesh-reflector-material", inputs: { materialRef: "materialRef", _resolution: ["resolution", "_resolution"], _mixBlur: ["mixBlur", "_mixBlur"], _mixStrength: ["mixStrength", "_mixStrength"], _blur: ["blur", "_blur"], _mirror: ["mirror", "_mirror"], _minDepthThreshold: ["minDepthThreshold", "_minDepthThreshold"], _maxDepthThreshold: ["maxDepthThreshold", "_maxDepthThreshold"], _depthScale: ["depthScale", "_depthScale"], _depthToBlurRatioBias: ["depthToBlurRatioBias", "_depthToBlurRatioBias"], _distortionMap: ["distortionMap", "_distortionMap"], _distortion: ["distortion", "_distortion"], _mixContrast: ["mixContrast", "_mixContrast"], _reflectorOffset: ["reflectorOffset", "_reflectorOffset"] }, ngImport: i0, template: `
|
|
263
263
|
<ngt-mesh-reflector-material
|
|
264
264
|
*ngIf="defines() as defines"
|
|
265
265
|
[key]="defines"
|
|
@@ -287,7 +287,7 @@ export class NgtsMeshReflectorMaterial {
|
|
|
287
287
|
</ngt-mesh-reflector-material>
|
|
288
288
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
289
289
|
}
|
|
290
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshReflectorMaterial, decorators: [{
|
|
291
291
|
type: Component,
|
|
292
292
|
args: [{
|
|
293
293
|
selector: 'ngts-mesh-reflector-material',
|
|
@@ -94,8 +94,8 @@ export class NgtsMeshRefractionMaterial {
|
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
98
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshRefractionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshRefractionMaterial, isStandalone: true, selector: "ngts-mesh-refraction-material", inputs: { materialRef: "materialRef", _envMap: ["envMap", "_envMap"], _bounces: ["bounces", "_bounces"], _ior: ["ior", "_ior"], _fresnel: ["fresnel", "_fresnel"], _aberrationStrength: ["aberrationStrength", "_aberrationStrength"], _color: ["color", "_color"], _fastChroma: ["fastChroma", "_fastChroma"] }, ngImport: i0, template: `
|
|
99
99
|
<ngt-mesh-refraction-material
|
|
100
100
|
*ngIf="defines() as defines"
|
|
101
101
|
[key]="defines"
|
|
@@ -116,7 +116,7 @@ export class NgtsMeshRefractionMaterial {
|
|
|
116
116
|
</ngt-mesh-refraction-material>
|
|
117
117
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
118
118
|
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshRefractionMaterial, decorators: [{
|
|
120
120
|
type: Component,
|
|
121
121
|
args: [{
|
|
122
122
|
selector: 'ngts-mesh-refraction-material',
|
|
@@ -170,8 +170,8 @@ export class NgtsMeshTranmissionMaterial {
|
|
|
170
170
|
}
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
174
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
173
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshTranmissionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
174
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshTranmissionMaterial, isStandalone: true, selector: "ngts-mesh-transmission-material", inputs: { materialRef: "materialRef", _transmissionSampler: ["transmissionSampler", "_transmissionSampler"], _backside: ["backside", "_backside"], _backsideThickness: ["backsideThickness", "_backsideThickness"], _resolution: ["resolution", "_resolution"], _backsideResolution: ["backsideResolution", "_backsideResolution"], _samples: ["samples", "_samples"], _background: ["background", "_background"], _transmission: ["transmission", "_transmission"], _thickness: ["thickness", "_thickness"], _roughness: ["roughness", "_roughness"], _chromaticAberration: ["chromaticAberration", "_chromaticAberration"], _anisotropy: ["anisotropy", "_anisotropy"], _anisotropicBlur: ["anisotropicBlur", "_anisotropicBlur"], _distortion: ["distortion", "_distortion"], _distortionScale: ["distortionScale", "_distortionScale"], _temporalDistortion: ["temporalDistortion", "_temporalDistortion"], _buffer: ["buffer", "_buffer"], _time: ["time", "_time"] }, ngImport: i0, template: `
|
|
175
175
|
<ngt-mesh-transmission-material
|
|
176
176
|
ngtCompound
|
|
177
177
|
*args="[samples(), transmissionSampler()]"
|
|
@@ -191,7 +191,7 @@ export class NgtsMeshTranmissionMaterial {
|
|
|
191
191
|
/>
|
|
192
192
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
193
193
|
}
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshTranmissionMaterial, decorators: [{
|
|
195
195
|
type: Component,
|
|
196
196
|
args: [{
|
|
197
197
|
selector: 'ngts-mesh-transmission-material',
|
|
@@ -23,8 +23,8 @@ export class NgtsMeshWobbleMaterial {
|
|
|
23
23
|
this.material.time = clock.getElapsedTime() * this.inputs.get('speed');
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshWobbleMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsMeshWobbleMaterial, isStandalone: true, selector: "ngts-mesh-wobble-material", inputs: { materialRef: "materialRef", _time: ["time", "_time"], _factor: ["factor", "_factor"], _speed: ["speed", "_speed"] }, ngImport: i0, template: `
|
|
28
28
|
<ngt-primitive
|
|
29
29
|
*args="[material]"
|
|
30
30
|
[ref]="materialRef"
|
|
@@ -35,7 +35,7 @@ export class NgtsMeshWobbleMaterial {
|
|
|
35
35
|
/>
|
|
36
36
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{
|
|
41
41
|
selector: 'ngts-mesh-wobble-material',
|
|
@@ -28,12 +28,12 @@ export class NgtsPointMaterial {
|
|
|
28
28
|
this.pointMaterialRef = injectNgtRef();
|
|
29
29
|
this.material = new PointMaterial({});
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPointMaterial, isStandalone: true, selector: "ngts-point-material", inputs: { pointMaterialRef: "pointMaterialRef" }, ngImport: i0, template: `
|
|
33
33
|
<ngt-primitive ngtCompound [ref]="pointMaterialRef" *args="[material]" attach="material" />
|
|
34
34
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointMaterial, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{
|
|
39
39
|
selector: 'ngts-point-material',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Injector, computed, effect, runInInjectionContext } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInjector, injectBeforeRender, injectNgtRef } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
export function injectNgtsAnimations(animationsFactory, { ref, injector, playFirstClip = true, } = {}) {
|
|
5
|
-
injector =
|
|
5
|
+
injector = assertInjector(injectNgtsAnimations, injector);
|
|
6
6
|
return runInInjectionContext(injector, () => {
|
|
7
7
|
let actualRef = injectNgtRef();
|
|
8
8
|
if (ref) {
|
|
@@ -56,4 +56,4 @@ export function injectNgtsAnimations(animationsFactory, { ref, injector, playFir
|
|
|
56
56
|
return { ref: actualRef, actions, mixer, names, clips, ready };
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9hbmltYXRpb25zL2FuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbkMsaUJBQThDLEVBQzlDLEVBQ0MsR0FBRyxFQUNILFFBQVEsRUFDUixhQUFhLEdBQUcsSUFBSSxNQUMrRCxFQUFFO0lBRXRGLFFBQVEsR0FBRyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQzNDLElBQUksU0FBUyxHQUFHLFlBQVksRUFBa0IsQ0FBQztRQUUvQyxJQUFJLEdBQUcsRUFBRTtZQUNSLElBQUksR0FBRyxZQUFZLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO2FBQzlCO2lCQUFNO2dCQUNOLFNBQVMsR0FBRyxHQUFHLENBQUM7YUFDaEI7U0FDRDtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxFQUEyQyxDQUFDO1FBQzVELElBQUksTUFBTSxHQUFHLEVBQTJDLENBQUM7UUFDekQsSUFBSSxNQUFNLEdBQTBCLElBQUksQ0FBQztRQUV6QyxNQUFNLEtBQUssR0FBRyxFQUEyQixDQUFDO1FBQzFDLE1BQU0sS0FBSyxHQUFHLEVBQWMsQ0FBQztRQUU3QixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV2RCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEYsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDaEIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztZQUV2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0MsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUUzQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDekMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLEdBQUcsRUFBRSxHQUFHLEVBQUU7d0JBQ1QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNsRixDQUFDO2lCQUNELENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxFQUFFO29CQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUMxQjthQUNEO1lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxlQUFlO2dCQUNmLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ1osbUJBQW1CO2dCQUNuQixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3RCLGtCQUFrQjtnQkFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDekMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUF3QyxFQUFFLE1BQU8sQ0FBQyxDQUFDO2dCQUN4RSxDQUFDLENBQUMsQ0FBQztnQkFFSCxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNoRSxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgY29tcHV0ZWQsIGVmZmVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciwgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3ROZ3RSZWYsIHR5cGUgTmd0UmVmIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzQW5pbWF0aW9ucyhcblx0YW5pbWF0aW9uc0ZhY3Rvcnk6ICgpID0+IFRIUkVFLkFuaW1hdGlvbkNsaXBbXSxcblx0e1xuXHRcdHJlZixcblx0XHRpbmplY3Rvcixcblx0XHRwbGF5Rmlyc3RDbGlwID0gdHJ1ZSxcblx0fTogeyByZWY/OiBOZ3RSZWY8VEhSRUUuT2JqZWN0M0Q+OyBwbGF5Rmlyc3RDbGlwPzogYm9vbGVhbjsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30sXG4pIHtcblx0aW5qZWN0b3IgPSBhc3NlcnRJbmplY3RvcihpbmplY3ROZ3RzQW5pbWF0aW9ucywgaW5qZWN0b3IpO1xuXHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG5cdFx0bGV0IGFjdHVhbFJlZiA9IGluamVjdE5ndFJlZjxUSFJFRS5PYmplY3QzRD4oKTtcblxuXHRcdGlmIChyZWYpIHtcblx0XHRcdGlmIChyZWYgaW5zdGFuY2VvZiBUSFJFRS5PYmplY3QzRCkge1xuXHRcdFx0XHRhY3R1YWxSZWYubmF0aXZlRWxlbWVudCA9IHJlZjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGFjdHVhbFJlZiA9IHJlZjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb25zdCBtaXhlciA9IG5ldyBUSFJFRS5BbmltYXRpb25NaXhlcihudWxsISk7XG5cdFx0Y29uc3QgYWN0aW9ucyA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIFRIUkVFLkFuaW1hdGlvbkFjdGlvbj47XG5cdFx0bGV0IGNhY2hlZCA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIFRIUkVFLkFuaW1hdGlvbkFjdGlvbj47XG5cdFx0bGV0IG9iamVjdDogVEhSRUUuT2JqZWN0M0QgfCBudWxsID0gbnVsbDtcblxuXHRcdGNvbnN0IGNsaXBzID0gW10gYXMgVEhSRUUuQW5pbWF0aW9uQ2xpcFtdO1xuXHRcdGNvbnN0IG5hbWVzID0gW10gYXMgc3RyaW5nW107XG5cblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKHsgZGVsdGEgfSkgPT4gbWl4ZXIudXBkYXRlKGRlbHRhKSk7XG5cblx0XHRjb25zdCByZWFkeSA9IGNvbXB1dGVkKCgpID0+ICEhYWN0dWFsUmVmLm5hdGl2ZUVsZW1lbnQgJiYgISFhbmltYXRpb25zRmFjdG9yeSgpLmxlbmd0aCk7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgYWN0dWFsID0gYWN0dWFsUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRpZiAoIWFjdHVhbCkgcmV0dXJuO1xuXHRcdFx0b2JqZWN0ID0gYWN0dWFsO1xuXHRcdFx0Y29uc3QgYW5pbWF0aW9ucyA9IGFuaW1hdGlvbnNGYWN0b3J5KCk7XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYW5pbWF0aW9ucy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRjb25zdCBjbGlwID0gYW5pbWF0aW9uc1tpXTtcblxuXHRcdFx0XHRuYW1lcy5wdXNoKGNsaXAubmFtZSk7XG5cdFx0XHRcdGNsaXBzLnB1c2goY2xpcCk7XG5cblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGFjdGlvbnMsIGNsaXAubmFtZSwge1xuXHRcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gY2FjaGVkW2NsaXAubmFtZV0gfHwgKGNhY2hlZFtjbGlwLm5hbWVdID0gbWl4ZXIuY2xpcEFjdGlvbihjbGlwLCBhY3R1YWwpKTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHRpZiAoaSA9PT0gMCAmJiBwbGF5Rmlyc3RDbGlwKSB7XG5cdFx0XHRcdFx0YWN0aW9uc1tjbGlwLm5hbWVdLnBsYXkoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRvbkNsZWFudXAoKCkgPT4ge1xuXHRcdFx0XHQvLyBjbGVhciBjYWNoZWRcblx0XHRcdFx0Y2FjaGVkID0ge307XG5cdFx0XHRcdC8vIHN0b3AgYWxsIGFjdGlvbnNcblx0XHRcdFx0bWl4ZXIuc3RvcEFsbEFjdGlvbigpO1xuXHRcdFx0XHQvLyB1bmNhY2hlIGFjdGlvbnNcblx0XHRcdFx0T2JqZWN0LnZhbHVlcyhhY3Rpb25zKS5mb3JFYWNoKChhY3Rpb24pID0+IHtcblx0XHRcdFx0XHRtaXhlci51bmNhY2hlQWN0aW9uKGFjdGlvbiBhcyB1bmtub3duIGFzIFRIUkVFLkFuaW1hdGlvbkNsaXAsIG9iamVjdCEpO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHRvYmplY3QgPSBudWxsO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4geyByZWY6IGFjdHVhbFJlZiwgYWN0aW9ucywgbWl4ZXIsIG5hbWVzLCBjbGlwcywgcmVhZHkgfTtcblx0fSk7XG59XG4iXX0=
|
|
@@ -14,10 +14,10 @@ export class NgtsBakeShadows {
|
|
|
14
14
|
});
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBakeShadows, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsBakeShadows, isStandalone: true, selector: "ngts-bake-shadows", ngImport: i0 }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBakeShadows, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{ selector: 'ngts-bake-shadows', standalone: true }]
|
|
23
23
|
}], ctorParameters: function () { return []; } });
|
|
@@ -286,8 +286,8 @@ export class NgtsCaustics {
|
|
|
286
286
|
}
|
|
287
287
|
});
|
|
288
288
|
}
|
|
289
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
290
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
289
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCaustics, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
290
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCaustics, isStandalone: true, selector: "ngts-caustics", inputs: { causticsRef: "causticsRef", _frames: ["frames", "_frames"], _debug: ["debug", "_debug"], _causticsOnly: ["causticsOnly", "_causticsOnly"], _backside: ["backside", "_backside"], _ior: ["ior", "_ior"], _backsideIOR: ["backsideIOR", "_backsideIOR"], _worldRadius: ["worldRadius", "_worldRadius"], _intensity: ["intensity", "_intensity"], _color: ["color", "_color"], _resolution: ["resolution", "_resolution"], _lightSource: ["lightSource", "_lightSource"] }, ngImport: i0, template: `
|
|
291
291
|
<ngt-group [ref]="causticsRef" ngtCompound>
|
|
292
292
|
<ngt-scene [ref]="sceneRef">
|
|
293
293
|
<ngt-orthographic-camera [ref]="cameraRef" [up]="[0, 1, 0]" />
|
|
@@ -314,7 +314,7 @@ export class NgtsCaustics {
|
|
|
314
314
|
</ngt-group>
|
|
315
315
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtsEdges, selector: "ngts-edges", inputs: ["edgesRef", "threshold", "color", "geometry", "userData"] }, { kind: "directive", type: NgtsSobaContent, selector: "ng-template[ngtsSobaContent]", exportAs: ["sobaContent"] }] }); }
|
|
316
316
|
}
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCaustics, decorators: [{
|
|
318
318
|
type: Component,
|
|
319
319
|
args: [{
|
|
320
320
|
selector: 'ngts-caustics',
|
|
@@ -115,8 +115,8 @@ export class NgtsDecal {
|
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
119
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsDecal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsDecal, isStandalone: true, selector: "ngts-decal", inputs: { decalRef: "decalRef", _debug: ["debug", "_debug"], _mesh: ["mesh", "_mesh"], _position: ["position", "_position"], _rotation: ["rotation", "_rotation"], _scale: ["scale", "_scale"], _map: ["map", "_map"], _polygonOffsetFactor: ["polygonOffsetFactor", "_polygonOffsetFactor"], _depthTest: ["depthTest", "_depthTest"] }, ngImport: i0, template: `
|
|
120
120
|
<ngt-mesh [ref]="decalRef" ngtCompound>
|
|
121
121
|
<ngt-value [rawValue]="true" attach="material.transparent" />
|
|
122
122
|
<ngt-value [rawValue]="true" attach="material.polygonOffset" />
|
|
@@ -133,7 +133,7 @@ export class NgtsDecal {
|
|
|
133
133
|
</ngt-mesh>
|
|
134
134
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
135
135
|
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsDecal, decorators: [{
|
|
137
137
|
type: Component,
|
|
138
138
|
args: [{
|
|
139
139
|
selector: 'ngts-decal',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ChangeDetectorRef, computed, effect, inject, runInInjectionContext } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInjector, injectBeforeRender, injectNgtRef, injectNgtStore, safeDetectChanges } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { injectNgtsFBO } from '../fbo/fbo';
|
|
5
5
|
export function injectNgtsDepthBuffer(paramsFactory = () => ({}), { injector } = {}) {
|
|
6
|
-
injector =
|
|
6
|
+
injector = assertInjector(injectNgtsDepthBuffer, injector);
|
|
7
7
|
return runInInjectionContext(injector, () => {
|
|
8
8
|
const depthBufferRef = injectNgtRef(null);
|
|
9
9
|
const store = injectNgtStore();
|
|
@@ -41,4 +41,4 @@ export function injectNgtsDepthBuffer(paramsFactory = () => ({}), { injector } =
|
|
|
41
41
|
return depthBufferRef;
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwdGgtYnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2RlcHRoLWJ1ZmZlci9kZXB0aC1idWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8zQyxNQUFNLFVBQVUscUJBQXFCLENBQ3BDLGdCQUFzRCxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNoRSxFQUFFLFFBQVEsS0FBOEIsRUFBRTtJQUUxQyxRQUFRLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNELE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQTRCLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDbkUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzRCxZQUFZLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDeEMsWUFBWSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXRELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2pDLElBQUksR0FBRyxFQUFFO2dCQUNSLGNBQWMsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFDaEQsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkI7UUFDRixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLGtCQUFrQixDQUNqQixDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUNuRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFFBQVEsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRTtnQkFDakUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3pCLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxDQUFDO2FBQ1I7UUFDRixDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsQ0FDWixDQUFDO1FBRUYsT0FBTyxjQUFjLENBQUM7SUFDdkIsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCB0eXBlIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciwgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3ROZ3RSZWYsIGluamVjdE5ndFN0b3JlLCBzYWZlRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0c0ZCTyB9IGZyb20gJy4uL2Ziby9mYm8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNEZXB0aEJ1ZmZlclBhcmFtcyB7XG5cdHNpemU6IG51bWJlcjtcblx0ZnJhbWVzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzRGVwdGhCdWZmZXIoXG5cdHBhcmFtc0ZhY3Rvcnk6ICgpID0+IFBhcnRpYWw8Tmd0c0RlcHRoQnVmZmVyUGFyYW1zPiA9ICgpID0+ICh7fSksXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdE5ndHNEZXB0aEJ1ZmZlciwgaW5qZWN0b3IpO1xuXHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgZGVwdGhCdWZmZXJSZWYgPSBpbmplY3ROZ3RSZWY8VEhSRUUuRGVwdGhUZXh0dXJlIHwgbnVsbD4obnVsbCk7XG5cdFx0Y29uc3Qgc3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXHRcdGNvbnN0IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cblx0XHRjb25zdCBzaXplID0gc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cdFx0Y29uc3QgZHByID0gc3RvcmUuc2VsZWN0KCd2aWV3cG9ydCcsICdkcHInKTtcblxuXHRcdGNvbnN0IGZib1BhcmFtcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IHBhcmFtcyA9IHsgc2l6ZTogMjU2LCBmcmFtZXM6IEluZmluaXR5LCAuLi5wYXJhbXNGYWN0b3J5KCkgfTtcblx0XHRcdGNvbnN0IHdpZHRoID0gcGFyYW1zLnNpemUgfHwgc2l6ZSgpLndpZHRoICogZHByKCk7XG5cdFx0XHRjb25zdCBoZWlnaHQgPSBwYXJhbXMuc2l6ZSB8fCBzaXplKCkuaGVpZ2h0ICogZHByKCk7XG5cdFx0XHRjb25zdCBkZXB0aFRleHR1cmUgPSBuZXcgVEhSRUUuRGVwdGhUZXh0dXJlKHdpZHRoLCBoZWlnaHQpO1xuXHRcdFx0ZGVwdGhUZXh0dXJlLmZvcm1hdCA9IFRIUkVFLkRlcHRoRm9ybWF0O1xuXHRcdFx0ZGVwdGhUZXh0dXJlLnR5cGUgPSBUSFJFRS5VbnNpZ25lZFNob3J0VHlwZTtcblx0XHRcdHJldHVybiB7IHdpZHRoLCBoZWlnaHQsIHNldHRpbmdzOiB7IGRlcHRoVGV4dHVyZSB9IH07XG5cdFx0fSk7XG5cblx0XHRjb25zdCBmYm9SZWYgPSBpbmplY3ROZ3RzRkJPKGZib1BhcmFtcywgeyBpbmplY3RvciB9KTtcblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBmYm8gPSBmYm9SZWYubmF0aXZlRWxlbWVudDtcblx0XHRcdGlmIChmYm8pIHtcblx0XHRcdFx0ZGVwdGhCdWZmZXJSZWYubmF0aXZlRWxlbWVudCA9IGZiby5kZXB0aFRleHR1cmU7XG5cdFx0XHRcdHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRsZXQgY291bnQgPSAwO1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcihcblx0XHRcdCh7IGdsLCBzY2VuZSwgY2FtZXJhIH0pID0+IHtcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0geyBzaXplOiAyNTYsIGZyYW1lczogSW5maW5pdHksIC4uLnBhcmFtc0ZhY3RvcnkoKSB9O1xuXHRcdFx0XHRjb25zdCBmYm8gPSBmYm9SZWYudW50cmFja2VkO1xuXHRcdFx0XHRpZiAoKHBhcmFtcy5mcmFtZXMgPT09IEluZmluaXR5IHx8IGNvdW50IDwgcGFyYW1zLmZyYW1lcykgJiYgZmJvKSB7XG5cdFx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KGZibyk7XG5cdFx0XHRcdFx0Z2wucmVuZGVyKHNjZW5lLCBjYW1lcmEpO1xuXHRcdFx0XHRcdGdsLnNldFJlbmRlclRhcmdldChudWxsKTtcblx0XHRcdFx0XHRjb3VudCsrO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBpbmplY3RvciB9LFxuXHRcdCk7XG5cblx0XHRyZXR1cm4gZGVwdGhCdWZmZXJSZWY7XG5cdH0pO1xufVxuIl19
|
|
@@ -81,8 +81,8 @@ export class NgtsExample {
|
|
|
81
81
|
set _bevelSize(bevelSize) {
|
|
82
82
|
this.inputs.set({ bevelSize });
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsExample, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsExample, isStandalone: true, selector: "ngts-example", inputs: { exampleRef: "exampleRef", _font: ["font", "_font"], _color: ["color", "_color"], _debug: ["debug", "_debug"], _bevelSize: ["bevelSize", "_bevelSize"] }, providers: [provideNgtsExampleApi()], ngImport: i0, template: `
|
|
86
86
|
<!-- ngtCompound is used by the Renderer to spread props from ngts-example down to ngt-group -->
|
|
87
87
|
<!-- i.e: <ngts-example [position]="[1, 1, 1]" />, [1, 1, 1] will be passed down to ngt-group -->
|
|
88
88
|
<!-- [ref] is used with the Input so that the consumer can pass an external ref and control this internal ngt-group -->
|
|
@@ -105,7 +105,7 @@ export class NgtsExample {
|
|
|
105
105
|
</ngt-group>
|
|
106
106
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsCenter, selector: "ngts-center", inputs: ["centerRef", "top", "right", "bottom", "left", "front", "back", "disableX", "disableY", "disableZ", "disable", "precise", "cacheKey"], outputs: ["centered"] }, { kind: "component", type: NgtsText3D, selector: "ngts-text-3d", inputs: ["textRef", "font", "text", "bevelEnabled", "bevelOffset", "bevelSize", "bevelThickness", "curveSegments", "bevelSegments", "height", "size", "lineHeight", "letterSpacing", "smooth"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsExample, decorators: [{
|
|
109
109
|
type: Component,
|
|
110
110
|
args: [{
|
|
111
111
|
selector: 'ngts-example',
|
package/esm2022/misc/fbo/fbo.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChangeDetectorRef, DestroyRef, computed, effect, inject, runInInjectionContext, } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInjector, injectNgtRef, injectNgtStore, safeDetectChanges } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
export function injectNgtsFBO(fboParams, { injector } = {}) {
|
|
5
|
-
injector =
|
|
5
|
+
injector = assertInjector(injectNgtsFBO, injector);
|
|
6
6
|
return runInInjectionContext(injector, () => {
|
|
7
7
|
const store = injectNgtStore();
|
|
8
8
|
const cdr = inject(ChangeDetectorRef);
|
|
@@ -44,4 +44,4 @@ export function injectNgtsFBO(fboParams, { injector } = {}) {
|
|
|
44
44
|
return targetRef;
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2Ziby9mYm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04scUJBQXFCLEdBRXJCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQWUvQixNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQThCLEVBQUUsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFDdkcsUUFBUSxHQUFHLGNBQWMsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBaUMsSUFBSSxDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFdkUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDO1lBQ2hELE1BQU0sTUFBTSxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEUsTUFBTSxPQUFPLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1RSxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBRSxLQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO1lBRXhGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1lBQ2xELE1BQU0sRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFFBQVEsQ0FBQztZQUMzRCxJQUFJLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7b0JBQ3pELFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBWTtvQkFDN0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxZQUFZO29CQUM3QixJQUFJLEVBQUUsS0FBSyxDQUFDLGFBQWE7b0JBQ3pCLEdBQUcsY0FBYztpQkFDakIsQ0FBQyxDQUFDO2dCQUNILElBQUksS0FBSztvQkFBRSxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFeEYsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQ3pCLFNBQVMsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO2dCQUNqQyxlQUFlLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQzthQUN0QztZQUVELElBQUksZUFBZSxFQUFFO2dCQUNwQixlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxPQUFPO29CQUFFLGVBQWUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUMvQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QjtRQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERlc3Ryb3lSZWYsXG5cdGNvbXB1dGVkLFxuXHRlZmZlY3QsXG5cdGluamVjdCxcblx0cnVuSW5JbmplY3Rpb25Db250ZXh0LFxuXHR0eXBlIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzc2VydEluamVjdG9yLCBpbmplY3ROZ3RSZWYsIGluamVjdE5ndFN0b3JlLCBzYWZlRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5pbnRlcmZhY2UgRkJPU2V0dGluZ3MgZXh0ZW5kcyBUSFJFRS5XZWJHTFJlbmRlclRhcmdldE9wdGlvbnMge1xuXHQvKiogRGVmaW5lcyB0aGUgY291bnQgb2YgTVNBQSBzYW1wbGVzLiBDYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wgMi4gRGVmYXVsdDogMCAqL1xuXHRzYW1wbGVzPzogbnVtYmVyO1xuXHQvKiogSWYgc2V0LCB0aGUgc2NlbmUgZGVwdGggd2lsbCBiZSByZW5kZXJlZCBpbnRvIGJ1ZmZlci5kZXB0aFRleHR1cmUuIERlZmF1bHQ6IGZhbHNlICovXG5cdGRlcHRoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzRkJPUGFyYW1zIHtcblx0d2lkdGg/OiBudW1iZXIgfCBGQk9TZXR0aW5ncztcblx0aGVpZ2h0PzogbnVtYmVyO1xuXHRzZXR0aW5ncz86IEZCT1NldHRpbmdzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c0ZCTyhmYm9QYXJhbXM6ICgpID0+IE5ndHNGQk9QYXJhbXMsIHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSkge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdE5ndHNGQk8sIGluamVjdG9yKTtcblx0cmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0XHRjb25zdCBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG5cdFx0Y29uc3QgdGFyZ2V0UmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0IHwgbnVsbD4obnVsbCk7XG5cblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHRhcmdldFJlZi5uYXRpdmVFbGVtZW50Py5kaXNwb3NlKCkpO1xuXG5cdFx0Y29uc3Qgc2l6ZSA9IHN0b3JlLnNlbGVjdCgnc2l6ZScpO1xuXHRcdGNvbnN0IGRwciA9IHN0b3JlLnNlbGVjdCgndmlld3BvcnQnLCAnZHByJyk7XG5cdFx0Y29uc3QgZmJvU2V0dGluZ3MgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCB7IHdpZHRoLCBoZWlnaHQsIHNldHRpbmdzIH0gPSBmYm9QYXJhbXMoKTtcblx0XHRcdGNvbnN0IF93aWR0aCA9IHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgPyB3aWR0aCA6IHNpemUoKS53aWR0aCAqIGRwcigpO1xuXHRcdFx0Y29uc3QgX2hlaWdodCA9IHR5cGVvZiBoZWlnaHQgPT09ICdudW1iZXInID8gaGVpZ2h0IDogc2l6ZSgpLmhlaWdodCAqIGRwcigpO1xuXHRcdFx0Y29uc3QgX3NldHRpbmdzID0gKHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgPyBzZXR0aW5ncyA6ICh3aWR0aCBhcyBGQk9TZXR0aW5ncykpIHx8IHt9O1xuXG5cdFx0XHRyZXR1cm4geyB3aWR0aDogX3dpZHRoLCBoZWlnaHQ6IF9oZWlnaHQsIHNldHRpbmdzOiBfc2V0dGluZ3MgfTtcblx0XHR9KTtcblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCB7IHdpZHRoLCBoZWlnaHQsIHNldHRpbmdzIH0gPSBmYm9TZXR0aW5ncygpO1xuXHRcdFx0Y29uc3QgeyBzYW1wbGVzID0gMCwgZGVwdGgsIC4uLnRhcmdldFNldHRpbmdzIH0gPSBzZXR0aW5ncztcblx0XHRcdGxldCB1bnRyYWNrZWRUYXJnZXQgPSB0YXJnZXRSZWYudW50cmFja2VkO1xuXHRcdFx0aWYgKCF1bnRyYWNrZWRUYXJnZXQpIHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0ID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0KHdpZHRoLCBoZWlnaHQsIHtcblx0XHRcdFx0XHRtaW5GaWx0ZXI6IFRIUkVFLkxpbmVhckZpbHRlcixcblx0XHRcdFx0XHRtYWdGaWx0ZXI6IFRIUkVFLkxpbmVhckZpbHRlcixcblx0XHRcdFx0XHR0eXBlOiBUSFJFRS5IYWxmRmxvYXRUeXBlLFxuXHRcdFx0XHRcdC4uLnRhcmdldFNldHRpbmdzLFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYgKGRlcHRoKSB0YXJnZXQuZGVwdGhUZXh0dXJlID0gbmV3IFRIUkVFLkRlcHRoVGV4dHVyZSh3aWR0aCwgaGVpZ2h0LCBUSFJFRS5GbG9hdFR5cGUpO1xuXG5cdFx0XHRcdHRhcmdldC5zYW1wbGVzID0gc2FtcGxlcztcblx0XHRcdFx0dGFyZ2V0UmVmLm5hdGl2ZUVsZW1lbnQgPSB0YXJnZXQ7XG5cdFx0XHRcdHVudHJhY2tlZFRhcmdldCA9IHRhcmdldFJlZi51bnRyYWNrZWQ7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh1bnRyYWNrZWRUYXJnZXQpIHtcblx0XHRcdFx0dW50cmFja2VkVGFyZ2V0LnNldFNpemUod2lkdGgsIGhlaWdodCk7XG5cdFx0XHRcdGlmIChzYW1wbGVzKSB1bnRyYWNrZWRUYXJnZXQuc2FtcGxlcyA9IHNhbXBsZXM7XG5cdFx0XHRcdHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gdGFyZ2V0UmVmO1xuXHR9KTtcbn1cbiJdfQ==
|