angular-three-soba 2.13.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstractions/lib/catmull-rom-line.d.ts +247 -247
- package/abstractions/lib/edges.d.ts +276 -276
- package/abstractions/lib/grid.d.ts +45 -45
- 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 +51 -51
- 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/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 -30
- 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/pivot-controls.d.ts +1 -1
- package/materials/lib/mesh-portal-material.d.ts +1 -1
- package/materials/lib/mesh-refraction-material.d.ts +1 -1
- package/misc/lib/computed-attribute.d.ts +3 -3
- package/misc/lib/decal.d.ts +1 -1
- package/misc/lib/html/html.d.ts +2 -2
- package/package.json +8 -34
- package/performances/lib/instances/instances.d.ts +7 -7
- package/performances/lib/points/points.d.ts +16 -16
- package/performances/lib/segments/segments.d.ts +1 -1
- package/staging/lib/accumulative-shadows.d.ts +1 -1
- 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/sky.d.ts +1 -1
- package/staging/lib/spot-light.d.ts +1 -1
- package/staging/lib/stage.d.ts +5 -5
- 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 -120
- 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,202 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, Directive, TemplateRef, computed, contentChild, effect, input, } from '@angular/core';
|
|
3
|
-
import { NgtArgs, NgtPortal, NgtPortalContent, extend, getLocalState, injectStore, omit, pick, prepare, } from 'angular-three';
|
|
4
|
-
import { injectFBO } from 'angular-three-soba/misc';
|
|
5
|
-
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
6
|
-
import { Group, Object3D, Scene } from 'three';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
extend({ Group });
|
|
9
|
-
export class NgtsRenderTextureContainer {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.fbo = input.required();
|
|
12
|
-
this.renderPriority = input.required();
|
|
13
|
-
this.frames = input.required();
|
|
14
|
-
this.injector = input.required();
|
|
15
|
-
this.store = injectStore();
|
|
16
|
-
effect((onCleanup) => {
|
|
17
|
-
const [renderPriority, { internal }] = [this.renderPriority(), this.store.state()];
|
|
18
|
-
let count = 0;
|
|
19
|
-
let oldAutoClear;
|
|
20
|
-
let oldXrEnabled;
|
|
21
|
-
let oldRenderTarget;
|
|
22
|
-
let oldIsPresenting;
|
|
23
|
-
const cleanup = internal.subscribe(({ gl, scene, camera }) => {
|
|
24
|
-
const [fbo, frames] = [this.fbo(), this.frames()];
|
|
25
|
-
// NOTE: render the frames ^ 2
|
|
26
|
-
// due to some race condition, we want to render double the frames here.
|
|
27
|
-
if (frames === Infinity || count < frames * frames) {
|
|
28
|
-
oldAutoClear = gl.autoClear;
|
|
29
|
-
oldXrEnabled = gl.xr.enabled;
|
|
30
|
-
oldRenderTarget = gl.getRenderTarget();
|
|
31
|
-
oldIsPresenting = gl.xr.isPresenting;
|
|
32
|
-
gl.autoClear = true;
|
|
33
|
-
gl.xr.enabled = false;
|
|
34
|
-
gl.xr.isPresenting = false;
|
|
35
|
-
gl.setRenderTarget(fbo);
|
|
36
|
-
gl.render(scene, camera);
|
|
37
|
-
gl.setRenderTarget(oldRenderTarget);
|
|
38
|
-
gl.autoClear = oldAutoClear;
|
|
39
|
-
gl.xr.enabled = oldXrEnabled;
|
|
40
|
-
gl.xr.isPresenting = oldIsPresenting;
|
|
41
|
-
count++;
|
|
42
|
-
}
|
|
43
|
-
}, renderPriority, this.store);
|
|
44
|
-
onCleanup(() => {
|
|
45
|
-
cleanup();
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsRenderTextureContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtsRenderTextureContainer, isStandalone: true, selector: "[ngtsRenderTextureContainer]", inputs: { fbo: { classPropertyName: "fbo", publicName: "fbo", isSignal: true, isRequired: true, transformFunction: null }, renderPriority: { classPropertyName: "renderPriority", publicName: "renderPriority", isSignal: true, isRequired: true, transformFunction: null }, frames: { classPropertyName: "frames", publicName: "frames", isSignal: true, isRequired: true, transformFunction: null }, injector: { classPropertyName: "injector", publicName: "injector", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsRenderTextureContainer, decorators: [{
|
|
53
|
-
type: Directive,
|
|
54
|
-
args: [{ standalone: true, selector: '[ngtsRenderTextureContainer]' }]
|
|
55
|
-
}], ctorParameters: () => [] });
|
|
56
|
-
const defaultOptions = {
|
|
57
|
-
samples: 8,
|
|
58
|
-
renderPriority: 0,
|
|
59
|
-
eventPriority: 0,
|
|
60
|
-
frames: Infinity,
|
|
61
|
-
stencilBuffer: false,
|
|
62
|
-
depthBuffer: true,
|
|
63
|
-
generateMipmaps: false,
|
|
64
|
-
};
|
|
65
|
-
export class NgtsRenderTextureContent {
|
|
66
|
-
static ngTemplateContextGuard(_, ctx) {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsRenderTextureContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: NgtsRenderTextureContent, isStandalone: true, selector: "ng-template[renderTextureContent]", ngImport: i0 }); }
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsRenderTextureContent, decorators: [{
|
|
73
|
-
type: Directive,
|
|
74
|
-
args: [{ selector: 'ng-template[renderTextureContent]', standalone: true }]
|
|
75
|
-
}] });
|
|
76
|
-
let incrementId = 0;
|
|
77
|
-
export class NgtsRenderTexture {
|
|
78
|
-
constructor() {
|
|
79
|
-
this.attach = input('map');
|
|
80
|
-
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
81
|
-
this.parameters = omit(this.options, [
|
|
82
|
-
'samples',
|
|
83
|
-
'renderPriority',
|
|
84
|
-
'eventPriority',
|
|
85
|
-
'frames',
|
|
86
|
-
'stencilBuffer',
|
|
87
|
-
'depthBuffer',
|
|
88
|
-
'generateMipmaps',
|
|
89
|
-
'compute',
|
|
90
|
-
'width',
|
|
91
|
-
'height',
|
|
92
|
-
]);
|
|
93
|
-
this.content = contentChild.required(NgtsRenderTextureContent, { read: TemplateRef });
|
|
94
|
-
this.store = injectStore();
|
|
95
|
-
this.size = this.store.select('size');
|
|
96
|
-
this.viewport = this.store.select('viewport');
|
|
97
|
-
this.fboParams = computed(() => ({
|
|
98
|
-
width: (this.options().width || this.size().width) * this.viewport().dpr,
|
|
99
|
-
height: (this.options().height || this.size().height) * this.viewport().dpr,
|
|
100
|
-
settings: {
|
|
101
|
-
samples: this.options().samples,
|
|
102
|
-
depthBuffer: this.options().depthBuffer,
|
|
103
|
-
stencilBuffer: this.options().stencilBuffer,
|
|
104
|
-
generateMipmaps: this.options().generateMipmaps,
|
|
105
|
-
},
|
|
106
|
-
}));
|
|
107
|
-
this.renderPriority = pick(this.options, 'renderPriority');
|
|
108
|
-
this.frames = pick(this.options, 'frames');
|
|
109
|
-
this.fbo = injectFBO(this.fboParams);
|
|
110
|
-
this.virtualScene = computed(() => {
|
|
111
|
-
const scene = prepare(new Scene());
|
|
112
|
-
scene.name = `ngts-render-texture-virtual-scene-${incrementId++}`;
|
|
113
|
-
return scene;
|
|
114
|
-
});
|
|
115
|
-
this.eventPriority = pick(this.options, 'eventPriority');
|
|
116
|
-
this.compute = computed(() => this.options().compute || this.uvCompute);
|
|
117
|
-
this.uvCompute = (event, root, previous) => {
|
|
118
|
-
const fbo = this.fbo();
|
|
119
|
-
if (!fbo)
|
|
120
|
-
return;
|
|
121
|
-
const state = root.snapshot;
|
|
122
|
-
const previousState = previous?.snapshot;
|
|
123
|
-
// Since this is only a texture it does not have an easy way to obtain the parent, which we
|
|
124
|
-
// need to transform event coordinates to local coordinates. We use r3f internals to find the
|
|
125
|
-
// next Object3D.
|
|
126
|
-
let parent = getLocalState(fbo.texture)?.parent();
|
|
127
|
-
while (parent && !(parent instanceof Object3D)) {
|
|
128
|
-
parent = getLocalState(parent)?.parent();
|
|
129
|
-
}
|
|
130
|
-
if (!parent)
|
|
131
|
-
return;
|
|
132
|
-
// First we call the previous state-onion-layers compute, this is what makes it possible to nest portals
|
|
133
|
-
if (previousState && !previousState.raycaster.camera) {
|
|
134
|
-
previousState.events.compute?.(event, previous, previous.snapshot.previousRoot);
|
|
135
|
-
}
|
|
136
|
-
// We run a quick check against the parent, if it isn't hit there's no need to raycast at all
|
|
137
|
-
const [intersection] = previousState?.raycaster.intersectObject(parent) || [];
|
|
138
|
-
if (!intersection)
|
|
139
|
-
return;
|
|
140
|
-
// We take that hits uv coords, set up this layers raycaster, et voilà, we have raycasting on arbitrary surfaces
|
|
141
|
-
const uv = intersection.uv;
|
|
142
|
-
if (!uv)
|
|
143
|
-
return;
|
|
144
|
-
state.raycaster.setFromCamera(state.pointer.set(uv.x * 2 - 1, uv.y * 2 - 1), state.camera);
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
onPointerOver() {
|
|
148
|
-
/* noop */
|
|
149
|
-
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsRenderTexture, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
151
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsRenderTexture, isStandalone: true, selector: "ngts-render-texture", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "content", first: true, predicate: NgtsRenderTextureContent, descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: `
|
|
152
|
-
<ngt-portal [container]="virtualScene()" [state]="{ events: { compute: compute(), priority: eventPriority() } }">
|
|
153
|
-
<ng-template portalContent let-injector="injector" let-container="container">
|
|
154
|
-
<ng-container
|
|
155
|
-
ngtsRenderTextureContainer
|
|
156
|
-
[fbo]="fbo()"
|
|
157
|
-
[renderPriority]="renderPriority()"
|
|
158
|
-
[frames]="frames()"
|
|
159
|
-
[injector]="injector"
|
|
160
|
-
[ngTemplateOutlet]="content()"
|
|
161
|
-
[ngTemplateOutletInjector]="injector"
|
|
162
|
-
[ngTemplateOutletContext]="{ container, injector }"
|
|
163
|
-
>
|
|
164
|
-
<ngt-group (pointerover)="onPointerOver()" />
|
|
165
|
-
</ng-container>
|
|
166
|
-
</ng-template>
|
|
167
|
-
</ngt-portal>
|
|
168
|
-
|
|
169
|
-
<ngt-primitive *args="[fbo().texture]" [attach]="attach()" [parameters]="parameters()" />
|
|
170
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"] }, { kind: "directive", type: NgtsRenderTextureContainer, selector: "[ngtsRenderTextureContainer]", inputs: ["fbo", "renderPriority", "frames", "injector"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[portalContent]" }, { kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
171
|
-
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsRenderTexture, decorators: [{
|
|
173
|
-
type: Component,
|
|
174
|
-
args: [{
|
|
175
|
-
selector: 'ngts-render-texture',
|
|
176
|
-
standalone: true,
|
|
177
|
-
template: `
|
|
178
|
-
<ngt-portal [container]="virtualScene()" [state]="{ events: { compute: compute(), priority: eventPriority() } }">
|
|
179
|
-
<ng-template portalContent let-injector="injector" let-container="container">
|
|
180
|
-
<ng-container
|
|
181
|
-
ngtsRenderTextureContainer
|
|
182
|
-
[fbo]="fbo()"
|
|
183
|
-
[renderPriority]="renderPriority()"
|
|
184
|
-
[frames]="frames()"
|
|
185
|
-
[injector]="injector"
|
|
186
|
-
[ngTemplateOutlet]="content()"
|
|
187
|
-
[ngTemplateOutletInjector]="injector"
|
|
188
|
-
[ngTemplateOutletContext]="{ container, injector }"
|
|
189
|
-
>
|
|
190
|
-
<ngt-group (pointerover)="onPointerOver()" />
|
|
191
|
-
</ng-container>
|
|
192
|
-
</ng-template>
|
|
193
|
-
</ngt-portal>
|
|
194
|
-
|
|
195
|
-
<ngt-primitive *args="[fbo().texture]" [attach]="attach()" [parameters]="parameters()" />
|
|
196
|
-
`,
|
|
197
|
-
imports: [NgtPortal, NgtsRenderTextureContainer, NgtPortalContent, NgtArgs, NgTemplateOutlet],
|
|
198
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
199
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
200
|
-
}]
|
|
201
|
-
}] });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXRleHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvbGliL3JlbmRlci10ZXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBRVQsV0FBVyxFQUNYLFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ04sT0FBTyxFQUdQLFNBQVMsRUFDVCxnQkFBZ0IsRUFFaEIsTUFBTSxFQUNOLGFBQWEsRUFDYixXQUFXLEVBQ1gsSUFBSSxFQUNKLElBQUksRUFDSixPQUFPLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLE1BQU0sT0FBTyxDQUFDOztBQUVsRSxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBMEJsQixNQUFNLE9BQU8sMEJBQTBCO0lBUXRDO1FBUEEsUUFBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDMUMsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBWSxDQUFDO1FBRTlCLFVBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUc3QixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFB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O0lBSEEsYUFBYTtRQUNaLFVBQVU7SUFDWCxDQUFDOytHQTFFVyxpQkFBaUI7bUdBQWpCLGlCQUFpQix5WEFnQkcsd0JBQXdCLDJCQUFVLFdBQVcsNkNBeENuRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CVCw0REFDUyxTQUFTLDJIQWhHUCwwQkFBMEIsa0lBZ0dXLGdCQUFnQix1RUFBRSxPQUFPLGdGQUFFLGdCQUFnQjs7NEZBSWhGLGlCQUFpQjtrQkEzQjdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDO29CQUM3RixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHREaXJlY3RpdmUsXG5cdEluamVjdG9yLFxuXHRUZW1wbGF0ZVJlZixcblx0Y29tcHV0ZWQsXG5cdGNvbnRlbnRDaGlsZCxcblx0ZWZmZWN0LFxuXHRpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHROZ3RBcmdzLFxuXHROZ3RBdHRhY2hhYmxlLFxuXHROZ3RDb21wdXRlRnVuY3Rpb24sXG5cdE5ndFBvcnRhbCxcblx0Tmd0UG9ydGFsQ29udGVudCxcblx0Tmd0VGV4dHVyZSxcblx0ZXh0ZW5kLFxuXHRnZXRMb2NhbFN0YXRlLFxuXHRpbmplY3RTdG9yZSxcblx0b21pdCxcblx0cGljayxcblx0cHJlcGFyZSxcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBpbmplY3RGQk8gfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbWlzYyc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBHcm91cCwgT2JqZWN0M0QsIFNjZW5lLCBXZWJHTFJlbmRlclRhcmdldCB9IGZyb20gJ3RocmVlJztcblxuZXh0ZW5kKHsgR3JvdXAgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c1JlbmRlclRleHR1cmVPcHRpb25zIGV4dGVuZHMgUGFydGlhbDxPbWl0PE5ndFRleHR1cmUsICdhdHRhY2gnPj4ge1xuXHQvKiogT3B0aW9uYWwgd2lkdGggb2YgdGhlIHRleHR1cmUsIGRlZmF1bHRzIHRvIHZpZXdwb3J0IGJvdW5kcyAqL1xuXHR3aWR0aD86IG51bWJlcjtcblx0LyoqIE9wdGlvbmFsIGhlaWdodCBvZiB0aGUgdGV4dHVyZSwgZGVmYXVsdHMgdG8gdmlld3BvcnQgYm91bmRzICovXG5cdGhlaWdodD86IG51bWJlcjtcblx0LyoqIE9wdGlvbmFsIGZibyBzYW1wbGVzICovXG5cdHNhbXBsZXM6IG51bWJlcjtcblx0LyoqIE9wdGlvbmFsIHN0ZW5jaWwgYnVmZmVyLCBkZWZhdWx0cyB0byBmYWxzZSAqL1xuXHRzdGVuY2lsQnVmZmVyOiBib29sZWFuO1xuXHQvKiogT3B0aW9uYWwgZGVwdGggYnVmZmVyLCBkZWZhdWx0cyB0byB0cnVlICovXG5cdGRlcHRoQnVmZmVyOiBib29sZWFuO1xuXHQvKiogT3B0aW9uYWwgZ2VuZXJhdGUgbWlwbWFwcywgZGVmYXVsdHMgdG8gZmFsc2UgKi9cblx0Z2VuZXJhdGVNaXBtYXBzOiBib29sZWFuO1xuXHQvKiogT3B0aW9uYWwgcmVuZGVyIHByaW9yaXR5LCBkZWZhdWx0cyB0byAwICovXG5cdHJlbmRlclByaW9yaXR5OiBudW1iZXI7XG5cdC8qKiBPcHRpb25hbCBldmVudCBwcmlvcml0eSwgZGVmYXVsdHMgdG8gMCAqL1xuXHRldmVudFByaW9yaXR5OiBudW1iZXI7XG5cdC8qKiBPcHRpb25hbCBmcmFtZSBjb3VudCwgZGVmYXVsdHMgdG8gSW5maW5pdHkuIElmIHlvdSBzZXQgaXQgdG8gMSwgaXQgd291bGQgb25seSByZW5kZXIgYSBzaW5nbGUgZnJhbWUsIGV0YyAqL1xuXHRmcmFtZXM6IG51bWJlcjtcblx0LyoqIE9wdGlvbmFsIGV2ZW50IGNvbXB1dGUsIGRlZmF1bHRzIHRvIHVuZGVmaW5lZCAqL1xuXHRjb21wdXRlPzogKGV2ZW50OiBhbnksIHN0YXRlOiBhbnksIHByZXZpb3VzOiBhbnkpID0+IGZhbHNlIHwgdW5kZWZpbmVkO1xufVxuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgc2VsZWN0b3I6ICdbbmd0c1JlbmRlclRleHR1cmVDb250YWluZXJdJyB9KVxuZXhwb3J0IGNsYXNzIE5ndHNSZW5kZXJUZXh0dXJlQ29udGFpbmVyIHtcblx0ZmJvID0gaW5wdXQucmVxdWlyZWQ8V2ViR0xSZW5kZXJUYXJnZXQ+KCk7XG5cdHJlbmRlclByaW9yaXR5ID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xuXHRmcmFtZXMgPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG5cdGluamVjdG9yID0gaW5wdXQucmVxdWlyZWQ8SW5qZWN0b3I+KCk7XG5cblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IFtyZW5kZXJQcmlvcml0eSwgeyBpbnRlcm5hbCB9XSA9IFt0aGlzLnJlbmRlclByaW9yaXR5KCksIHRoaXMuc3RvcmUuc3RhdGUoKV07XG5cblx0XHRcdGxldCBjb3VudCA9IDA7XG5cdFx0XHRsZXQgb2xkQXV0b0NsZWFyOiBib29sZWFuO1xuXHRcdFx0bGV0IG9sZFhyRW5hYmxlZDogYm9vbGVhbjtcblx0XHRcdGxldCBvbGRSZW5kZXJUYXJnZXQ6IFdlYkdMUmVuZGVyVGFyZ2V0IHwgbnVsbDtcblx0XHRcdGxldCBvbGRJc1ByZXNlbnRpbmc6IGJvb2xlYW47XG5cblx0XHRcdGNvbnN0IGNsZWFudXAgPSBpbnRlcm5hbC5zdWJzY3JpYmUoXG5cdFx0XHRcdCh7IGdsLCBzY2VuZSwgY2FtZXJhIH0pID0+IHtcblx0XHRcdFx0XHRjb25zdCBbZmJvLCBmcmFtZXNdID0gW3RoaXMuZmJvKCksIHRoaXMuZnJhbWVzKCldO1xuXHRcdFx0XHRcdC8vIE5PVEU6IHJlbmRlciAgdGhlIGZyYW1lcyBeIDJcblx0XHRcdFx0XHQvLyAgZHVlIHRvIHNvbWUgcmFjZSBjb25kaXRpb24sIHdlIHdhbnQgdG8gcmVuZGVyIGRvdWJsZSB0aGUgZnJhbWVzIGhlcmUuXG5cdFx0XHRcdFx0aWYgKGZyYW1lcyA9PT0gSW5maW5pdHkgfHwgY291bnQgPCBmcmFtZXMgKiBmcmFtZXMpIHtcblx0XHRcdFx0XHRcdG9sZEF1dG9DbGVhciA9IGdsLmF1dG9DbGVhcjtcblx0XHRcdFx0XHRcdG9sZFhyRW5hYmxlZCA9IGdsLnhyLmVuYWJsZWQ7XG5cdFx0XHRcdFx0XHRvbGRSZW5kZXJUYXJnZXQgPSBnbC5nZXRSZW5kZXJUYXJnZXQoKTtcblx0XHRcdFx0XHRcdG9sZElzUHJlc2VudGluZyA9IGdsLnhyLmlzUHJlc2VudGluZztcblx0XHRcdFx0XHRcdGdsLmF1dG9DbGVhciA9IHRydWU7XG5cdFx0XHRcdFx0XHRnbC54ci5lbmFibGVkID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRnbC54ci5pc1ByZXNlbnRpbmcgPSBmYWxzZTtcblx0XHRcdFx0XHRcdGdsLnNldFJlbmRlclRhcmdldChmYm8pO1xuXHRcdFx0XHRcdFx0Z2wucmVuZGVyKHNjZW5lLCBjYW1lcmEpO1xuXHRcdFx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KG9sZFJlbmRlclRhcmdldCk7XG5cdFx0XHRcdFx0XHRnbC5hdXRvQ2xlYXIgPSBvbGRBdXRvQ2xlYXI7XG5cdFx0XHRcdFx0XHRnbC54ci5lbmFibGVkID0gb2xkWHJFbmFibGVkO1xuXHRcdFx0XHRcdFx0Z2wueHIuaXNQcmVzZW50aW5nID0gb2xkSXNQcmVzZW50aW5nO1xuXHRcdFx0XHRcdFx0Y291bnQrKztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHJlbmRlclByaW9yaXR5LFxuXHRcdFx0XHR0aGlzLnN0b3JlLFxuXHRcdFx0KTtcblxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHtcblx0XHRcdFx0Y2xlYW51cCgpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndHNSZW5kZXJUZXh0dXJlT3B0aW9ucyA9IHtcblx0c2FtcGxlczogOCxcblx0cmVuZGVyUHJpb3JpdHk6IDAsXG5cdGV2ZW50UHJpb3JpdHk6IDAsXG5cdGZyYW1lczogSW5maW5pdHksXG5cdHN0ZW5jaWxCdWZmZXI6IGZhbHNlLFxuXHRkZXB0aEJ1ZmZlcjogdHJ1ZSxcblx0Z2VuZXJhdGVNaXBtYXBzOiBmYWxzZSxcbn07XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3JlbmRlclRleHR1cmVDb250ZW50XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOZ3RzUmVuZGVyVGV4dHVyZUNvbnRlbnQge1xuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChcblx0XHRfOiBOZ3RzUmVuZGVyVGV4dHVyZUNvbnRlbnQsXG5cdFx0Y3R4OiB1bmtub3duLFxuXHQpOiBjdHggaXMgeyBjb250YWluZXI6IE9iamVjdDNEOyBpbmplY3RvcjogSW5qZWN0b3IgfSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn1cblxubGV0IGluY3JlbWVudElkID0gMDtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1yZW5kZXItdGV4dHVyZScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wb3J0YWwgW2NvbnRhaW5lcl09XCJ2aXJ0dWFsU2NlbmUoKVwiIFtzdGF0ZV09XCJ7IGV2ZW50czogeyBjb21wdXRlOiBjb21wdXRlKCksIHByaW9yaXR5OiBldmVudFByaW9yaXR5KCkgfSB9XCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgcG9ydGFsQ29udGVudCBsZXQtaW5qZWN0b3I9XCJpbmplY3RvclwiIGxldC1jb250YWluZXI9XCJjb250YWluZXJcIj5cblx0XHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHRcdG5ndHNSZW5kZXJUZXh0dXJlQ29udGFpbmVyXG5cdFx0XHRcdFx0W2Zib109XCJmYm8oKVwiXG5cdFx0XHRcdFx0W3JlbmRlclByaW9yaXR5XT1cInJlbmRlclByaW9yaXR5KClcIlxuXHRcdFx0XHRcdFtmcmFtZXNdPVwiZnJhbWVzKClcIlxuXHRcdFx0XHRcdFtpbmplY3Rvcl09XCJpbmplY3RvclwiXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudCgpXCJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldEluamVjdG9yXT1cImluamVjdG9yXCJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb250YWluZXIsIGluamVjdG9yIH1cIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0PG5ndC1ncm91cCAocG9pbnRlcm92ZXIpPVwib25Qb2ludGVyT3ZlcigpXCIgLz5cblx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvbmd0LXBvcnRhbD5cblxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2ZibygpLnRleHR1cmVdXCIgW2F0dGFjaF09XCJhdHRhY2goKVwiIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnMoKVwiIC8+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RQb3J0YWwsIE5ndHNSZW5kZXJUZXh0dXJlQ29udGFpbmVyLCBOZ3RQb3J0YWxDb250ZW50LCBOZ3RBcmdzLCBOZ1RlbXBsYXRlT3V0bGV0XSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1JlbmRlclRleHR1cmUge1xuXHRhdHRhY2ggPSBpbnB1dDxOZ3RBdHRhY2hhYmxlPignbWFwJyk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbXG5cdFx0J3NhbXBsZXMnLFxuXHRcdCdyZW5kZXJQcmlvcml0eScsXG5cdFx0J2V2ZW50UHJpb3JpdHknLFxuXHRcdCdmcmFtZXMnLFxuXHRcdCdzdGVuY2lsQnVmZmVyJyxcblx0XHQnZGVwdGhCdWZmZXInLFxuXHRcdCdnZW5lcmF0ZU1pcG1hcHMnLFxuXHRcdCdjb21wdXRlJyxcblx0XHQnd2lkdGgnLFxuXHRcdCdoZWlnaHQnLFxuXHRdKTtcblxuXHRjb250ZW50ID0gY29udGVudENoaWxkLnJlcXVpcmVkKE5ndHNSZW5kZXJUZXh0dXJlQ29udGVudCwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KTtcblxuXHRwcml2YXRlIHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0cHJpdmF0ZSBzaXplID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NpemUnKTtcblx0cHJpdmF0ZSB2aWV3cG9ydCA9IHRoaXMuc3RvcmUuc2VsZWN0KCd2aWV3cG9ydCcpO1xuXG5cdHByaXZhdGUgZmJvUGFyYW1zID0gY29tcHV0ZWQoKCkgPT4gKHtcblx0XHR3aWR0aDogKHRoaXMub3B0aW9ucygpLndpZHRoIHx8IHRoaXMuc2l6ZSgpLndpZHRoKSAqIHRoaXMudmlld3BvcnQoKS5kcHIsXG5cdFx0aGVpZ2h0OiAodGhpcy5vcHRpb25zKCkuaGVpZ2h0IHx8IHRoaXMuc2l6ZSgpLmhlaWdodCkgKiB0aGlzLnZpZXdwb3J0KCkuZHByLFxuXHRcdHNldHRpbmdzOiB7XG5cdFx0XHRzYW1wbGVzOiB0aGlzLm9wdGlvbnMoKS5zYW1wbGVzLFxuXHRcdFx0ZGVwdGhCdWZmZXI6IHRoaXMub3B0aW9ucygpLmRlcHRoQnVmZmVyLFxuXHRcdFx0c3RlbmNpbEJ1ZmZlcjogdGhpcy5vcHRpb25zKCkuc3RlbmNpbEJ1ZmZlcixcblx0XHRcdGdlbmVyYXRlTWlwbWFwczogdGhpcy5vcHRpb25zKCkuZ2VuZXJhdGVNaXBtYXBzLFxuXHRcdH0sXG5cdH0pKTtcblxuXHRyZW5kZXJQcmlvcml0eSA9IHBpY2sodGhpcy5vcHRpb25zLCAncmVuZGVyUHJpb3JpdHknKTtcblx0ZnJhbWVzID0gcGljayh0aGlzLm9wdGlvbnMsICdmcmFtZXMnKTtcblx0ZmJvID0gaW5qZWN0RkJPKHRoaXMuZmJvUGFyYW1zKTtcblx0dmlydHVhbFNjZW5lID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IHNjZW5lID0gcHJlcGFyZShuZXcgU2NlbmUoKSk7XG5cdFx0c2NlbmUubmFtZSA9IGBuZ3RzLXJlbmRlci10ZXh0dXJlLXZpcnR1YWwtc2NlbmUtJHtpbmNyZW1lbnRJZCsrfWA7XG5cdFx0cmV0dXJuIHNjZW5lO1xuXHR9KTtcblx0ZXZlbnRQcmlvcml0eSA9IHBpY2sodGhpcy5vcHRpb25zLCAnZXZlbnRQcmlvcml0eScpO1xuXHRjb21wdXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCkuY29tcHV0ZSB8fCB0aGlzLnV2Q29tcHV0ZSk7XG5cblx0cHJpdmF0ZSB1dkNvbXB1dGU6IE5ndENvbXB1dGVGdW5jdGlvbiA9IChldmVudCwgcm9vdCwgcHJldmlvdXMpID0+IHtcblx0XHRjb25zdCBmYm8gPSB0aGlzLmZibygpO1xuXHRcdGlmICghZmJvKSByZXR1cm47XG5cdFx0Y29uc3Qgc3RhdGUgPSByb290LnNuYXBzaG90O1xuXHRcdGNvbnN0IHByZXZpb3VzU3RhdGUgPSBwcmV2aW91cz8uc25hcHNob3Q7XG5cblx0XHQvLyBTaW5jZSB0aGlzIGlzIG9ubHkgYSB0ZXh0dXJlIGl0IGRvZXMgbm90IGhhdmUgYW4gZWFzeSB3YXkgdG8gb2J0YWluIHRoZSBwYXJlbnQsIHdoaWNoIHdlXG5cdFx0Ly8gbmVlZCB0byB0cmFuc2Zvcm0gZXZlbnQgY29vcmRpbmF0ZXMgdG8gbG9jYWwgY29vcmRpbmF0ZXMuIFdlIHVzZSByM2YgaW50ZXJuYWxzIHRvIGZpbmQgdGhlXG5cdFx0Ly8gbmV4dCBPYmplY3QzRC5cblx0XHRsZXQgcGFyZW50ID0gZ2V0TG9jYWxTdGF0ZShmYm8udGV4dHVyZSk/LnBhcmVudCgpO1xuXHRcdHdoaWxlIChwYXJlbnQgJiYgIShwYXJlbnQgaW5zdGFuY2VvZiBPYmplY3QzRCkpIHtcblx0XHRcdHBhcmVudCA9IGdldExvY2FsU3RhdGUocGFyZW50KT8ucGFyZW50KCk7XG5cdFx0fVxuXG5cdFx0aWYgKCFwYXJlbnQpIHJldHVybjtcblx0XHQvLyBGaXJzdCB3ZSBjYWxsIHRoZSBwcmV2aW91cyBzdGF0ZS1vbmlvbi1sYXllcnMgY29tcHV0ZSwgdGhpcyBpcyB3aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIG5lc3QgcG9ydGFsc1xuXHRcdGlmIChwcmV2aW91c1N0YXRlICYmICFwcmV2aW91c1N0YXRlLnJheWNhc3Rlci5jYW1lcmEpIHtcblx0XHRcdHByZXZpb3VzU3RhdGUuZXZlbnRzLmNvbXB1dGU/LihldmVudCwgcHJldmlvdXMsIHByZXZpb3VzLnNuYXBzaG90LnByZXZpb3VzUm9vdCk7XG5cdFx0fVxuXHRcdC8vIFdlIHJ1biBhIHF1aWNrIGNoZWNrIGFnYWluc3QgdGhlIHBhcmVudCwgaWYgaXQgaXNuJ3QgaGl0IHRoZXJlJ3Mgbm8gbmVlZCB0byByYXljYXN0IGF0IGFsbFxuXHRcdGNvbnN0IFtpbnRlcnNlY3Rpb25dID0gcHJldmlvdXNTdGF0ZT8ucmF5Y2FzdGVyLmludGVyc2VjdE9iamVjdChwYXJlbnQpIHx8IFtdO1xuXHRcdGlmICghaW50ZXJzZWN0aW9uKSByZXR1cm47XG5cdFx0Ly8gV2UgdGFrZSB0aGF0IGhpdHMgdXYgY29vcmRzLCBzZXQgdXAgdGhpcyBsYXllcnMgcmF5Y2FzdGVyLCBldCB2b2lsw6AsIHdlIGhhdmUgcmF5Y2FzdGluZyBvbiBhcmJpdHJhcnkgc3VyZmFjZXNcblx0XHRjb25zdCB1diA9IGludGVyc2VjdGlvbi51djtcblx0XHRpZiAoIXV2KSByZXR1cm47XG5cdFx0c3RhdGUucmF5Y2FzdGVyLnNldEZyb21DYW1lcmEoc3RhdGUucG9pbnRlci5zZXQodXYueCAqIDIgLSAxLCB1di55ICogMiAtIDEpLCBzdGF0ZS5jYW1lcmEpO1xuXHR9O1xuXG5cdG9uUG9pbnRlck92ZXIoKSB7XG5cdFx0Lyogbm9vcCAqL1xuXHR9XG59XG4iXX0=
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, input } from '@angular/core';
|
|
2
|
-
import { NgtArgs, omit, pick, vector3 } from 'angular-three';
|
|
3
|
-
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
4
|
-
import { Vector3 } from 'three';
|
|
5
|
-
import { Sky } from 'three-stdlib';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export function calcPosFromAngles(inclination, azimuth, vector = new Vector3()) {
|
|
8
|
-
const theta = Math.PI * (inclination - 0.5);
|
|
9
|
-
const phi = 2 * Math.PI * (azimuth - 0.5);
|
|
10
|
-
vector.x = Math.cos(phi);
|
|
11
|
-
vector.y = Math.sin(theta);
|
|
12
|
-
vector.z = Math.sin(phi);
|
|
13
|
-
return vector;
|
|
14
|
-
}
|
|
15
|
-
const defaultOptions = {
|
|
16
|
-
distance: 1000,
|
|
17
|
-
inclination: 0.6,
|
|
18
|
-
azimuth: 0.1,
|
|
19
|
-
mieCoefficient: 0.005,
|
|
20
|
-
mieDirectionalG: 0.8,
|
|
21
|
-
rayleigh: 0.5,
|
|
22
|
-
turbidity: 10,
|
|
23
|
-
};
|
|
24
|
-
export class NgtsSky {
|
|
25
|
-
constructor() {
|
|
26
|
-
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
27
|
-
this.parameters = omit(this.options, [
|
|
28
|
-
'distance',
|
|
29
|
-
'inclination',
|
|
30
|
-
'azimuth',
|
|
31
|
-
'sunPosition',
|
|
32
|
-
'turbidity',
|
|
33
|
-
'mieCoefficient',
|
|
34
|
-
'mieDirectionalG',
|
|
35
|
-
'sunPosition',
|
|
36
|
-
]);
|
|
37
|
-
this.distance = pick(this.options, 'distance');
|
|
38
|
-
this.turbidity = pick(this.options, 'turbidity');
|
|
39
|
-
this.mieCoefficient = pick(this.options, 'mieCoefficient');
|
|
40
|
-
this.mieDirectionalG = pick(this.options, 'mieDirectionalG');
|
|
41
|
-
this.rayleigh = pick(this.options, 'rayleigh');
|
|
42
|
-
this.scale = computed(() => new Vector3().setScalar(this.distance()));
|
|
43
|
-
this.inclination = pick(this.options, 'inclination');
|
|
44
|
-
this.azimuth = pick(this.options, 'azimuth');
|
|
45
|
-
this.sunPosition = vector3(this.options, 'sunPosition', true);
|
|
46
|
-
this.calculatedSunPosition = computed(() => {
|
|
47
|
-
const sunPosition = this.sunPosition();
|
|
48
|
-
if (sunPosition)
|
|
49
|
-
return sunPosition;
|
|
50
|
-
return calcPosFromAngles(this.inclination(), this.azimuth());
|
|
51
|
-
});
|
|
52
|
-
this.sky = new Sky();
|
|
53
|
-
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSky, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtsSky, isStandalone: true, selector: "ngts-sky", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
56
|
-
<ngt-primitive *args="[sky]" [parameters]="parameters()" [scale]="scale()">
|
|
57
|
-
<ngt-value attach="material.uniforms.mieCoefficient.value" [rawValue]="mieCoefficient()" />
|
|
58
|
-
<ngt-value attach="material.uniforms.mieDirectionalG.value" [rawValue]="mieDirectionalG()" />
|
|
59
|
-
<ngt-value attach="material.uniforms.rayleigh.value" [rawValue]="rayleigh()" />
|
|
60
|
-
<ngt-value attach="material.uniforms.sunPosition.value" [rawValue]="calculatedSunPosition()" />
|
|
61
|
-
<ngt-value attach="material.uniforms.turbidity.value" [rawValue]="turbidity()" />
|
|
62
|
-
<ng-content />
|
|
63
|
-
</ngt-primitive>
|
|
64
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSky, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{
|
|
69
|
-
selector: 'ngts-sky',
|
|
70
|
-
standalone: true,
|
|
71
|
-
template: `
|
|
72
|
-
<ngt-primitive *args="[sky]" [parameters]="parameters()" [scale]="scale()">
|
|
73
|
-
<ngt-value attach="material.uniforms.mieCoefficient.value" [rawValue]="mieCoefficient()" />
|
|
74
|
-
<ngt-value attach="material.uniforms.mieDirectionalG.value" [rawValue]="mieDirectionalG()" />
|
|
75
|
-
<ngt-value attach="material.uniforms.rayleigh.value" [rawValue]="rayleigh()" />
|
|
76
|
-
<ngt-value attach="material.uniforms.sunPosition.value" [rawValue]="calculatedSunPosition()" />
|
|
77
|
-
<ngt-value attach="material.uniforms.turbidity.value" [rawValue]="turbidity()" />
|
|
78
|
-
<ng-content />
|
|
79
|
-
</ngt-primitive>
|
|
80
|
-
`,
|
|
81
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
82
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
83
|
-
imports: [NgtArgs],
|
|
84
|
-
}]
|
|
85
|
-
}] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3N0YWdpbmcvc3JjL2xpYi9za3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxPQUFPLEVBQXVCLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRW5DLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLE9BQWUsRUFBRSxTQUFrQixJQUFJLE9BQU8sRUFBRTtJQUN0RyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXpCLE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQztBQWFELE1BQU0sY0FBYyxHQUFtQjtJQUN0QyxRQUFRLEVBQUUsSUFBSTtJQUNkLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxHQUFHO0lBQ1osY0FBYyxFQUFFLEtBQUs7SUFDckIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsUUFBUSxFQUFFLEdBQUc7SUFDYixTQUFTLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFtQkYsTUFBTSxPQUFPLE9BQU87SUFqQnBCO1FBa0JDLFlBQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUUsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQy9CLFVBQVU7WUFDVixhQUFhO1lBQ2IsU0FBUztZQUNULGFBQWE7WUFDYixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixhQUFhO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsYUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLGNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsb0JBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hELGFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUxQyxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFekQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNoRCxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsMEJBQXFCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxXQUFXO2dCQUFFLE9BQU8sV0FBVyxDQUFDO1lBQ3BDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7S0FDaEI7K0dBL0JZLE9BQU87bUdBQVAsT0FBTyw4TUFkVDs7Ozs7Ozs7O0VBU1QsNERBR1MsT0FBTzs7NEZBRUwsT0FBTztrQkFqQm5CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7OztFQVNUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0TWVzaCwgTmd0VmVjdG9yMywgb21pdCwgcGljaywgdmVjdG9yMyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IFNreSB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjUG9zRnJvbUFuZ2xlcyhpbmNsaW5hdGlvbjogbnVtYmVyLCBhemltdXRoOiBudW1iZXIsIHZlY3RvcjogVmVjdG9yMyA9IG5ldyBWZWN0b3IzKCkpIHtcblx0Y29uc3QgdGhldGEgPSBNYXRoLlBJICogKGluY2xpbmF0aW9uIC0gMC41KTtcblx0Y29uc3QgcGhpID0gMiAqIE1hdGguUEkgKiAoYXppbXV0aCAtIDAuNSk7XG5cblx0dmVjdG9yLnggPSBNYXRoLmNvcyhwaGkpO1xuXHR2ZWN0b3IueSA9IE1hdGguc2luKHRoZXRhKTtcblx0dmVjdG9yLnogPSBNYXRoLnNpbihwaGkpO1xuXG5cdHJldHVybiB2ZWN0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c1NreU9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPE9taXQ8Tmd0TWVzaCwgJ3NjYWxlJz4+IHtcblx0ZGlzdGFuY2U6IG51bWJlcjtcblx0aW5jbGluYXRpb246IG51bWJlcjtcblx0YXppbXV0aDogbnVtYmVyO1xuXHRtaWVDb2VmZmljaWVudDogbnVtYmVyO1xuXHRtaWVEaXJlY3Rpb25hbEc6IG51bWJlcjtcblx0cmF5bGVpZ2g6IG51bWJlcjtcblx0dHVyYmlkaXR5OiBudW1iZXI7XG5cdHN1blBvc2l0aW9uPzogTmd0VmVjdG9yMztcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndHNTa3lPcHRpb25zID0ge1xuXHRkaXN0YW5jZTogMTAwMCxcblx0aW5jbGluYXRpb246IDAuNixcblx0YXppbXV0aDogMC4xLFxuXHRtaWVDb2VmZmljaWVudDogMC4wMDUsXG5cdG1pZURpcmVjdGlvbmFsRzogMC44LFxuXHRyYXlsZWlnaDogMC41LFxuXHR0dXJiaWRpdHk6IDEwLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1za3knLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW3NreV1cIiBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIiBbc2NhbGVdPVwic2NhbGUoKVwiPlxuXHRcdFx0PG5ndC12YWx1ZSBhdHRhY2g9XCJtYXRlcmlhbC51bmlmb3Jtcy5taWVDb2VmZmljaWVudC52YWx1ZVwiIFtyYXdWYWx1ZV09XCJtaWVDb2VmZmljaWVudCgpXCIgLz5cblx0XHRcdDxuZ3QtdmFsdWUgYXR0YWNoPVwibWF0ZXJpYWwudW5pZm9ybXMubWllRGlyZWN0aW9uYWxHLnZhbHVlXCIgW3Jhd1ZhbHVlXT1cIm1pZURpcmVjdGlvbmFsRygpXCIgLz5cblx0XHRcdDxuZ3QtdmFsdWUgYXR0YWNoPVwibWF0ZXJpYWwudW5pZm9ybXMucmF5bGVpZ2gudmFsdWVcIiBbcmF3VmFsdWVdPVwicmF5bGVpZ2goKVwiIC8+XG5cdFx0XHQ8bmd0LXZhbHVlIGF0dGFjaD1cIm1hdGVyaWFsLnVuaWZvcm1zLnN1blBvc2l0aW9uLnZhbHVlXCIgW3Jhd1ZhbHVlXT1cImNhbGN1bGF0ZWRTdW5Qb3NpdGlvbigpXCIgLz5cblx0XHRcdDxuZ3QtdmFsdWUgYXR0YWNoPVwibWF0ZXJpYWwudW5pZm9ybXMudHVyYmlkaXR5LnZhbHVlXCIgW3Jhd1ZhbHVlXT1cInR1cmJpZGl0eSgpXCIgLz5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtcHJpbWl0aXZlPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTa3kge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdkaXN0YW5jZScsXG5cdFx0J2luY2xpbmF0aW9uJyxcblx0XHQnYXppbXV0aCcsXG5cdFx0J3N1blBvc2l0aW9uJyxcblx0XHQndHVyYmlkaXR5Jyxcblx0XHQnbWllQ29lZmZpY2llbnQnLFxuXHRcdCdtaWVEaXJlY3Rpb25hbEcnLFxuXHRcdCdzdW5Qb3NpdGlvbicsXG5cdF0pO1xuXG5cdGRpc3RhbmNlID0gcGljayh0aGlzLm9wdGlvbnMsICdkaXN0YW5jZScpO1xuXHR0dXJiaWRpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3R1cmJpZGl0eScpO1xuXHRtaWVDb2VmZmljaWVudCA9IHBpY2sodGhpcy5vcHRpb25zLCAnbWllQ29lZmZpY2llbnQnKTtcblx0bWllRGlyZWN0aW9uYWxHID0gcGljayh0aGlzLm9wdGlvbnMsICdtaWVEaXJlY3Rpb25hbEcnKTtcblx0cmF5bGVpZ2ggPSBwaWNrKHRoaXMub3B0aW9ucywgJ3JheWxlaWdoJyk7XG5cblx0c2NhbGUgPSBjb21wdXRlZCgoKSA9PiBuZXcgVmVjdG9yMygpLnNldFNjYWxhcih0aGlzLmRpc3RhbmNlKCkpKTtcblxuXHRwcml2YXRlIGluY2xpbmF0aW9uID0gcGljayh0aGlzLm9wdGlvbnMsICdpbmNsaW5hdGlvbicpO1xuXHRwcml2YXRlIGF6aW11dGggPSBwaWNrKHRoaXMub3B0aW9ucywgJ2F6aW11dGgnKTtcblx0cHJpdmF0ZSBzdW5Qb3NpdGlvbiA9IHZlY3RvcjModGhpcy5vcHRpb25zLCAnc3VuUG9zaXRpb24nLCB0cnVlKTtcblx0Y2FsY3VsYXRlZFN1blBvc2l0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IHN1blBvc2l0aW9uID0gdGhpcy5zdW5Qb3NpdGlvbigpO1xuXHRcdGlmIChzdW5Qb3NpdGlvbikgcmV0dXJuIHN1blBvc2l0aW9uO1xuXHRcdHJldHVybiBjYWxjUG9zRnJvbUFuZ2xlcyh0aGlzLmluY2xpbmF0aW9uKCksIHRoaXMuYXppbXV0aCgpKTtcblx0fSk7XG5cblx0c2t5ID0gbmV3IFNreSgpO1xufVxuIl19
|