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
|
@@ -40,10 +40,10 @@ export class NgtsStageRefit {
|
|
|
40
40
|
this.boundsApi().refresh().clip().fit();
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStageRefit, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsStageRefit, isStandalone: true, selector: "ngts-stage-refit", inputs: { radius: "radius", adjustCamera: "adjustCamera" }, usesOnChanges: true, ngImport: i0 }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStageRefit, decorators: [{
|
|
47
47
|
type: Directive,
|
|
48
48
|
args: [{ selector: 'ngts-stage-refit', standalone: true }]
|
|
49
49
|
}], propDecorators: { radius: [{
|
|
@@ -115,8 +115,8 @@ export class NgtsStage {
|
|
|
115
115
|
if (this.centered.observed)
|
|
116
116
|
this.centered.emit($event);
|
|
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: NgtsStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsStage, isStandalone: true, selector: "ngts-stage", inputs: { _preset: ["preset", "_preset"], _shadows: ["shadows", "_shadows"], _adjustCamera: ["adjustCamera", "_adjustCamera"], _environment: ["environment", "_environment"], _intensity: ["intensity", "_intensity"], _center: ["center", "_center"] }, outputs: { centered: "centered" }, ngImport: i0, template: `
|
|
120
120
|
<ngt-ambient-light [intensity]="intensity() / 3" />
|
|
121
121
|
<ngt-spot-light
|
|
122
122
|
[penumbra]="1"
|
|
@@ -232,7 +232,7 @@ export class NgtsStage {
|
|
|
232
232
|
/>
|
|
233
233
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtsBounds, selector: "ngts-bounds", inputs: ["boundsRef", "damping", "fit", "clip", "observe", "margin", "eps"], outputs: ["fitted"] }, { kind: "directive", type: NgtsStageRefit, selector: "ngts-stage-refit", inputs: ["radius", "adjustCamera"] }, { 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: NgtsContactShadows, selector: "ngts-contact-shadows", inputs: ["contactShadowsRef", "opacity", "width", "height", "blur", "far", "smooth", "resolution", "frames", "scale", "color", "depthWrite", "renderOrder"] }, { kind: "component", type: NgtsAccumulativeShadows, selector: "ngts-accumulative-shadows", inputs: ["accumulativeShadowsRef", "frames", "blend", "limit", "scale", "temporal", "opacity", "alphaTest", "color", "colorBlend", "resolution", "toneMapped"] }, { kind: "component", type: NgtsRandomizedLights, selector: "ngts-randomized-lights", inputs: ["lightsRef", "frames", "position", "radius", "amount", "intensity", "ambient", "castShadow", "bias", "mapSize", "size", "near", "far"] }, { kind: "component", type: NgtsEnvironment, selector: "ngts-environment" }] }); }
|
|
234
234
|
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStage, decorators: [{
|
|
236
236
|
type: Component,
|
|
237
237
|
args: [{
|
|
238
238
|
selector: 'ngts-stage',
|
|
@@ -70,8 +70,8 @@ export class NgtsStars {
|
|
|
70
70
|
onBeforeRender({ object, state }) {
|
|
71
71
|
object.uniforms['time'].value = state.clock.getElapsedTime() * this.inputs.get('speed');
|
|
72
72
|
}
|
|
73
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
74
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStars, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsStars, isStandalone: true, selector: "ngts-stars", inputs: { starsRef: "starsRef", _radius: ["radius", "_radius"], _depth: ["depth", "_depth"], _count: ["count", "_count"], _factor: ["factor", "_factor"], _saturation: ["saturation", "_saturation"], starsFade: ["fade", "starsFade"], _speed: ["speed", "_speed"] }, ngImport: i0, template: `
|
|
75
75
|
<ngt-points [ref]="starsRef">
|
|
76
76
|
<ngt-buffer-geometry>
|
|
77
77
|
<ngt-buffer-attribute attach="attributes.position" *args="[attributes().positions, 3]" />
|
|
@@ -92,7 +92,7 @@ export class NgtsStars {
|
|
|
92
92
|
</ngt-points>
|
|
93
93
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
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: NgtsStars, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
97
|
args: [{
|
|
98
98
|
selector: 'ngts-stars',
|
|
@@ -131,10 +131,10 @@ export class NgtsWireframeInput {
|
|
|
131
131
|
set _fill(fill) {
|
|
132
132
|
this.inputs.set({ fill });
|
|
133
133
|
}
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
135
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
135
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframeInput, inputs: { _geometry: ["geometry", "_geometry"], _simplify: ["simplify", "_simplify"], _fillOpacity: ["fillOpacity", "_fillOpacity"], _fillMix: ["fillMix", "_fillMix"], _strokeOpacity: ["strokeOpacity", "_strokeOpacity"], _thickness: ["thickness", "_thickness"], _colorBackfaces: ["colorBackfaces", "_colorBackfaces"], _dashInvert: ["dashInvert", "_dashInvert"], _dash: ["dash", "_dash"], _dashRepeats: ["dashRepeats", "_dashRepeats"], _dashLength: ["dashLength", "_dashLength"], _squeeze: ["squeeze", "_squeeze"], _squeezeMin: ["squeezeMin", "_squeezeMin"], _squeezeMax: ["squeezeMax", "_squeezeMax"], _stroke: ["stroke", "_stroke"], _backfaceStroke: ["backfaceStroke", "_backfaceStroke"], _fill: ["fill", "_fill"] }, ngImport: i0 }); }
|
|
136
136
|
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeInput, decorators: [{
|
|
138
138
|
type: Directive
|
|
139
139
|
}], propDecorators: { _geometry: [{
|
|
140
140
|
type: Input,
|
|
@@ -102,12 +102,12 @@ export class NgtsWireframeWithoutCustomGeometry {
|
|
|
102
102
|
});
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithoutCustomGeometry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframeWithoutCustomGeometry, isStandalone: true, selector: "ngts-wireframe-without-custom-geometry", ngImport: i0, template: `
|
|
107
107
|
<ngt-object3D [ref]="objectRef" />
|
|
108
108
|
`, isInline: true }); }
|
|
109
109
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithoutCustomGeometry, decorators: [{
|
|
111
111
|
type: Component,
|
|
112
112
|
args: [{
|
|
113
113
|
selector: 'ngts-wireframe-without-custom-geometry',
|
|
@@ -135,8 +135,8 @@ export class NgtsWireframeWithCustomGeometry {
|
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithCustomGeometry, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframeWithCustomGeometry, isStandalone: true, selector: "ngts-wireframe-with-custom-geometry", ngImport: i0, template: `
|
|
140
140
|
<ngt-mesh *ngIf="drawnGeometry() as geometry" [geometry]="geometry">
|
|
141
141
|
<ngt-wireframe-material
|
|
142
142
|
attach="material"
|
|
@@ -164,7 +164,7 @@ export class NgtsWireframeWithCustomGeometry {
|
|
|
164
164
|
</ngt-mesh>
|
|
165
165
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
166
166
|
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframeWithCustomGeometry, decorators: [{
|
|
168
168
|
type: Component,
|
|
169
169
|
args: [{
|
|
170
170
|
selector: 'ngts-wireframe-with-custom-geometry',
|
|
@@ -201,15 +201,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
201
201
|
}]
|
|
202
202
|
}], ctorParameters: function () { return []; } });
|
|
203
203
|
export class NgtsWireframe extends NgtsWireframeInput {
|
|
204
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
205
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
204
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframe, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
205
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsWireframe, isStandalone: true, selector: "ngts-wireframe", providers: [{ provide: NgtsWireframeInput, useExisting: NgtsWireframe }], usesInheritance: true, ngImport: i0, template: `
|
|
206
206
|
<ngts-wireframe-with-custom-geometry *ngIf="geometry(); else withoutCustomGeometry" />
|
|
207
207
|
<ng-template #withoutCustomGeometry>
|
|
208
208
|
<ngts-wireframe-without-custom-geometry />
|
|
209
209
|
</ng-template>
|
|
210
210
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsWireframeWithoutCustomGeometry, selector: "ngts-wireframe-without-custom-geometry" }, { kind: "component", type: NgtsWireframeWithCustomGeometry, selector: "ngts-wireframe-with-custom-geometry" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
211
211
|
}
|
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsWireframe, decorators: [{
|
|
213
213
|
type: Component,
|
|
214
214
|
args: [{
|
|
215
215
|
selector: 'ngts-wireframe',
|
|
@@ -5,10 +5,10 @@ export class NgtsSobaContent {
|
|
|
5
5
|
this.injector = inject(Injector);
|
|
6
6
|
this.template = inject(TemplateRef);
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSobaContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsSobaContent, isStandalone: true, selector: "ng-template[ngtsSobaContent]", exportAs: ["sobaContent"], ngImport: i0 }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSobaContent, decorators: [{
|
|
12
12
|
type: Directive,
|
|
13
13
|
args: [{ selector: 'ng-template[ngtsSobaContent]', standalone: true, exportAs: 'sobaContent' }]
|
|
14
14
|
}] });
|
|
@@ -44,14 +44,14 @@ class NgtsBillboard {
|
|
|
44
44
|
ref.rotation.z = prevRotation.z;
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBillboard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsBillboard, isStandalone: true, selector: "ngts-billboard", inputs: { billboardRef: "billboardRef", _follow: ["follow", "_follow"], _lockX: ["lockX", "_lockX"], _lockY: ["lockY", "_lockY"], _lockZ: ["lockZ", "_lockZ"] }, ngImport: i0, template: `
|
|
49
49
|
<ngt-group ngtCompound [ref]="billboardRef">
|
|
50
50
|
<ng-content />
|
|
51
51
|
</ngt-group>
|
|
52
52
|
`, isInline: true }); }
|
|
53
53
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsBillboard, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{
|
|
57
57
|
selector: 'ngts-billboard',
|
|
@@ -110,14 +110,14 @@ class NgtsDetailed {
|
|
|
110
110
|
});
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
114
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsDetailed, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsDetailed, isStandalone: true, selector: "ngts-detailed", inputs: { lodRef: "lodRef", _distances: ["distances", "_distances"], _hysteresis: ["hysteresis", "_hysteresis"] }, ngImport: i0, template: `
|
|
115
115
|
<ngt-lOD ngtCompound [ref]="lodRef" (beforeRender)="onBeforeRender($event)">
|
|
116
116
|
<ng-content />
|
|
117
117
|
</ngt-lOD>
|
|
118
118
|
`, isInline: true }); }
|
|
119
119
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsDetailed, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{
|
|
123
123
|
selector: 'ngts-detailed',
|
|
@@ -175,8 +175,8 @@ class NgtsEdges {
|
|
|
175
175
|
}
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
179
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsEdges, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsEdges, isStandalone: true, selector: "ngts-edges", inputs: { edgesRef: "edgesRef", _threshold: ["threshold", "_threshold"], _color: ["color", "_color"], _geometry: ["geometry", "_geometry"], _userData: ["userData", "_userData"] }, queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef }], ngImport: i0, template: `
|
|
180
180
|
<ngt-line-segments [ref]="edgesRef" [raycast]="nullRaycast" ngtCompound>
|
|
181
181
|
<ng-container *ngIf="content; else defaultMaterial" [ngTemplateOutlet]="content" />
|
|
182
182
|
<ng-template #defaultMaterial>
|
|
@@ -185,7 +185,7 @@ class NgtsEdges {
|
|
|
185
185
|
</ngt-line-segments>
|
|
186
186
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
187
187
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsEdges, decorators: [{
|
|
189
189
|
type: Component,
|
|
190
190
|
args: [{
|
|
191
191
|
selector: 'ngts-edges',
|
|
@@ -300,8 +300,8 @@ class NgtsGrid {
|
|
|
300
300
|
worldPlanePosition.value.set(0, 0, 0).applyMatrix4(this.gridRef.nativeElement.matrixWorld);
|
|
301
301
|
});
|
|
302
302
|
}
|
|
303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
304
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
303
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
304
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsGrid, isStandalone: true, selector: "ngts-grid", inputs: { gridRef: "gridRef", _cellSize: ["cellSize", "_cellSize"], _cellThickness: ["cellThickness", "_cellThickness"], _cellColor: ["cellColor", "_cellColor"], _sectionSize: ["sectionSize", "_sectionSize"], _sectionThickness: ["sectionThickness", "_sectionThickness"], _sectionColor: ["sectionColor", "_sectionColor"], _followCamera: ["followCamera", "_followCamera"], _infiniteGrid: ["infiniteGrid", "_infiniteGrid"], _fadeDistance: ["fadeDistance", "_fadeDistance"], _fadeStrength: ["fadeStrength", "_fadeStrength"], _side: ["side", "_side"], _args: ["args", "_args"] }, ngImport: i0, template: `
|
|
305
305
|
<ngt-mesh ngtCompound [ref]="gridRef" [frustumCulled]="false">
|
|
306
306
|
<ngt-plane-geometry *args="args()" />
|
|
307
307
|
<ngt-grid-material
|
|
@@ -324,7 +324,7 @@ class NgtsGrid {
|
|
|
324
324
|
</ngt-mesh>
|
|
325
325
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
326
326
|
}
|
|
327
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsGrid, decorators: [{
|
|
328
328
|
type: Component,
|
|
329
329
|
args: [{
|
|
330
330
|
selector: 'ngts-grid',
|
|
@@ -496,15 +496,15 @@ class NgtsText3D {
|
|
|
496
496
|
}
|
|
497
497
|
});
|
|
498
498
|
}
|
|
499
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
500
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
499
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText3D, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
500
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsText3D, isStandalone: true, selector: "ngts-text-3d", inputs: { textRef: "textRef", _font: ["font", "_font"], _text: ["text", "_text"], _bevelEnabled: ["bevelEnabled", "_bevelEnabled"], _bevelOffset: ["bevelOffset", "_bevelOffset"], _bevelSize: ["bevelSize", "_bevelSize"], _bevelThickness: ["bevelThickness", "_bevelThickness"], _curveSegments: ["curveSegments", "_curveSegments"], _bevelSegments: ["bevelSegments", "_bevelSegments"], _height: ["height", "_height"], _size: ["size", "_size"], _lineHeight: ["lineHeight", "_lineHeight"], _letterSpacing: ["letterSpacing", "_letterSpacing"], _smooth: ["smooth", "_smooth"] }, ngImport: i0, template: `
|
|
501
501
|
<ngt-mesh ngtCompound [ref]="textRef">
|
|
502
502
|
<ngt-text-geometry *args="geometryArgs()" />
|
|
503
503
|
<ng-content />
|
|
504
504
|
</ngt-mesh>
|
|
505
505
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
506
506
|
}
|
|
507
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
507
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText3D, decorators: [{
|
|
508
508
|
type: Component,
|
|
509
509
|
args: [{
|
|
510
510
|
selector: 'ngts-text-3d',
|
|
@@ -683,8 +683,8 @@ class NgtsText {
|
|
|
683
683
|
});
|
|
684
684
|
});
|
|
685
685
|
}
|
|
686
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
687
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
686
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
687
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsText, isStandalone: true, selector: "ngts-text", inputs: { textRef: "textRef", text: "text", font: "font", fontSize: "fontSize", anchorX: "anchorX", anchorY: "anchorY", sdfGlyphSize: "sdfGlyphSize", characters: "characters", color: "color", maxWidth: "maxWidth", lineHeight: "lineHeight", letterSpacing: "letterSpacing", textAlign: "textAlign", clipRect: "clipRect", depthOffset: "depthOffset", direction: "direction", overflowWrap: "overflowWrap", whiteSpace: "whiteSpace", outlineWidth: "outlineWidth", outlineOffsetX: "outlineOffsetX", outlineOffsetY: "outlineOffsetY", outlineBlur: "outlineBlur", outlineColor: "outlineColor", outlineOpacity: "outlineOpacity", strokeWidth: "strokeWidth", strokeColor: "strokeColor", strokeOpacity: "strokeOpacity", fillOpacity: "fillOpacity", debugSDF: "debugSDF" }, outputs: { sync: "sync" }, ngImport: i0, template: `
|
|
688
688
|
<ngt-primitive
|
|
689
689
|
ngtCompound
|
|
690
690
|
*args="[troikaText]"
|
|
@@ -722,7 +722,7 @@ class NgtsText {
|
|
|
722
722
|
</ngt-primitive>
|
|
723
723
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
724
724
|
}
|
|
725
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
725
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsText, decorators: [{
|
|
726
726
|
type: Component,
|
|
727
727
|
args: [{
|
|
728
728
|
selector: 'ngts-text',
|
|
@@ -3,7 +3,7 @@ import { inject, TemplateRef, Directive, Input, runInInjectionContext, computed,
|
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Group, OrthographicCamera, PerspectiveCamera } from 'three';
|
|
5
5
|
import { NgTemplateOutlet, NgIf } from '@angular/common';
|
|
6
|
-
import {
|
|
6
|
+
import { assertInjector, injectNgtStore, extend, signalStore, injectNgtRef, injectBeforeRender, NgtArgs } from 'angular-three';
|
|
7
7
|
import { injectNgtsFBO } from 'angular-three-soba/misc';
|
|
8
8
|
|
|
9
9
|
class NgtsCameraContent {
|
|
@@ -14,10 +14,10 @@ class NgtsCameraContent {
|
|
|
14
14
|
static ngTemplateContextGuard(_, ctx) {
|
|
15
15
|
return true;
|
|
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: NgtsCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCameraContent, isStandalone: true, selector: "ng-template[ngtsCameraContent]", inputs: { ngtsCameraContent: "ngtsCameraContent" }, 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: NgtsCameraContent, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{ selector: 'ng-template[ngtsCameraContent]', standalone: true }]
|
|
23
23
|
}], propDecorators: { ngtsCameraContent: [{
|
|
@@ -30,7 +30,7 @@ const defaultCubeCameraState = {
|
|
|
30
30
|
far: 1000,
|
|
31
31
|
};
|
|
32
32
|
function injectNgtsCubeCamera(cubeCameraState, { injector } = {}) {
|
|
33
|
-
injector =
|
|
33
|
+
injector = assertInjector(injectNgtsCubeCamera, injector);
|
|
34
34
|
return runInInjectionContext(injector, () => {
|
|
35
35
|
const state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));
|
|
36
36
|
const resolution = computed(() => state().resolution);
|
|
@@ -71,10 +71,10 @@ class NgtsCubeCameraContent {
|
|
|
71
71
|
static ngTemplateContextGuard(_, ctx) {
|
|
72
72
|
return true;
|
|
73
73
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
75
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
75
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCubeCameraContent, isStandalone: true, selector: "ng-template[ngtsCubeCameraContent]", ngImport: i0 }); }
|
|
76
76
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCameraContent, decorators: [{
|
|
78
78
|
type: Directive,
|
|
79
79
|
args: [{ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true }]
|
|
80
80
|
}] });
|
|
@@ -128,8 +128,8 @@ class NgtsCubeCamera {
|
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", _resolution: ["resolution", "_resolution"], _near: ["near", "_near"], _far: ["far", "_far"], _envMap: ["envMap", "_envMap"], _fog: ["fog", "_fog"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCubeCameraContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
|
|
133
133
|
<ngt-group ngtCompound>
|
|
134
134
|
<ngt-primitive *args="[cubeCamera.camera()]" />
|
|
135
135
|
<ngt-group [ref]="cameraRef">
|
|
@@ -138,7 +138,7 @@ class NgtsCubeCamera {
|
|
|
138
138
|
</ngt-group>
|
|
139
139
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
140
140
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCubeCamera, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
143
|
args: [{
|
|
144
144
|
selector: 'ngts-cube-camera',
|
|
@@ -228,10 +228,10 @@ class NgtsCamera {
|
|
|
228
228
|
camera.updateProjectionMatrix();
|
|
229
229
|
});
|
|
230
230
|
}
|
|
231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
232
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
231
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCamera, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
232
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCamera, inputs: { _makeDefault: ["makeDefault", "_makeDefault"], _manual: ["manual", "_manual"], _frames: ["frames", "_frames"], _resolution: ["resolution", "_resolution"], _envMap: ["envMap", "_envMap"], cameraRef: "cameraRef" }, ngImport: i0 }); }
|
|
233
233
|
}
|
|
234
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCamera, decorators: [{
|
|
235
235
|
type: Directive
|
|
236
236
|
}], ctorParameters: function () { return []; }, propDecorators: { _makeDefault: [{
|
|
237
237
|
type: Input,
|
|
@@ -284,8 +284,8 @@ class NgtsOrthographicCamera extends NgtsCamera {
|
|
|
284
284
|
set _bottom(bottom) {
|
|
285
285
|
this.orthographicInputs.set({ bottom });
|
|
286
286
|
}
|
|
287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
287
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrthographicCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
288
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { _left: ["left", "_left"], _right: ["right", "_right"], _top: ["top", "_top"], _bottom: ["bottom", "_bottom"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
289
289
|
<ngt-orthographic-camera
|
|
290
290
|
ngtCompound
|
|
291
291
|
[ref]="cameraRef"
|
|
@@ -304,7 +304,7 @@ class NgtsOrthographicCamera extends NgtsCamera {
|
|
|
304
304
|
</ngt-group>
|
|
305
305
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
306
306
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
|
|
308
308
|
type: Component,
|
|
309
309
|
args: [{
|
|
310
310
|
selector: 'ngts-orthographic-camera',
|
|
@@ -349,8 +349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
349
349
|
|
|
350
350
|
extend({ PerspectiveCamera, Group });
|
|
351
351
|
class NgtsPerspectiveCamera extends NgtsCamera {
|
|
352
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
353
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
352
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPerspectiveCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
353
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPerspectiveCamera, isStandalone: true, selector: "ngts-perspective-camera", queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
354
354
|
<ngt-perspective-camera [ref]="cameraRef" ngtCompound>
|
|
355
355
|
<ng-container
|
|
356
356
|
*ngIf="cameraContent && !cameraContent.ngtsCameraContent"
|
|
@@ -362,7 +362,7 @@ class NgtsPerspectiveCamera extends NgtsCamera {
|
|
|
362
362
|
</ngt-group>
|
|
363
363
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
364
364
|
}
|
|
365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
365
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPerspectiveCamera, decorators: [{
|
|
366
366
|
type: Component,
|
|
367
367
|
args: [{
|
|
368
368
|
selector: 'ngts-perspective-camera',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-soba-cameras.mjs","sources":["../../../../libs/soba/cameras/src/camera/camera-content.ts","../../../../libs/soba/cameras/src/cube-camera/cube-camera.ts","../../../../libs/soba/cameras/src/camera/camera.ts","../../../../libs/soba/cameras/src/orthographic-camera/orthographic-camera.ts","../../../../libs/soba/cameras/src/perspective-camera/perspective-camera.ts","../../../../libs/soba/cameras/src/angular-three-soba-cameras.ts"],"sourcesContent":["import { Directive, inject, Input, TemplateRef } from '@angular/core';\nimport * as THREE from 'three';\n\n@Directive({ selector: 'ng-template[ngtsCameraContent]', standalone: true })\nexport class NgtsCameraContent {\n\ttemplate = inject(TemplateRef);\n\t@Input() ngtsCameraContent: true | '' = '';\n\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCameraContent,\n\t\tctx: unknown,\n\t): ctx is { fbo: THREE.WebGLRenderTarget; group?: THREE.Group } {\n\t\treturn true;\n\t}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tComponent,\n\tContentChild,\n\tDestroyRef,\n\tDirective,\n\tEmbeddedViewRef,\n\tInput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n\tcomputed,\n\teffect,\n\tinject,\n\trunInInjectionContext,\n\tuntracked,\n\ttype Injector,\n\ttype OnInit,\n\ttype Signal,\n} from '@angular/core';\nimport {\n\tNgtArgs,\n\tassertInjectionContext,\n\textend,\n\tinjectBeforeRender,\n\tinjectNgtRef,\n\tinjectNgtStore,\n\tsignalStore,\n\ttype NgtGroup,\n} from 'angular-three';\nimport * as THREE from 'three';\nimport { Group } from 'three';\n\nexport type NgtsCubeCameraState = {\n\t/** Resolution of the FBO, 256 */\n\tresolution: number;\n\t/** Camera near, 0.1 */\n\tnear: number;\n\t/** Camera far, 1000 */\n\tfar: number;\n\t/** Custom environment map that is temporarily set as the scenes background */\n\tenvMap?: THREE.Texture;\n\t/** Custom fog that is temporarily set as the scenes fog */\n\tfog?: THREE.Fog | THREE.FogExp2;\n};\n\nconst defaultCubeCameraState = {\n\tresolution: 256,\n\tnear: 0.1,\n\tfar: 1000,\n} satisfies NgtsCubeCameraState;\n\nexport function injectNgtsCubeCamera(\n\tcubeCameraState: () => Partial<NgtsCubeCameraState>,\n\t{ injector }: { injector?: Injector } = {},\n) {\n\tinjector = assertInjectionContext(injectNgtsCubeCamera, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));\n\t\tconst resolution = computed(() => state().resolution);\n\t\tconst near = computed(() => state().near);\n\t\tconst far = computed(() => state().far);\n\n\t\tconst store = injectNgtStore();\n\n\t\tconst _gl = store.select('gl');\n\t\tconst _scene = store.select('scene');\n\n\t\tconst _fbo = computed(() => {\n\t\t\tconst renderTarget = new THREE.WebGLCubeRenderTarget(resolution());\n\t\t\trenderTarget.texture.type = THREE.HalfFloatType;\n\t\t\treturn renderTarget;\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst fbo = _fbo();\n\t\t\tonCleanup(() => fbo.dispose());\n\t\t});\n\n\t\tconst _camera = computed(() => new THREE.CubeCamera(near(), far(), _fbo()));\n\n\t\tlet originalFog: THREE.Scene['fog'];\n\t\tlet originalBackground: THREE.Scene['background'];\n\n\t\tconst update = computed(() => {\n\t\t\tconst [scene, gl, camera, { envMap, fog }] = [_scene(), _gl(), _camera(), untracked(state)];\n\n\t\t\treturn () => {\n\t\t\t\toriginalFog = scene.fog;\n\t\t\t\toriginalBackground = scene.background;\n\t\t\t\tscene.background = envMap || originalBackground;\n\t\t\t\tscene.fog = fog || originalFog;\n\t\t\t\tcamera.update(gl, scene);\n\t\t\t\tscene.fog = originalFog;\n\t\t\t\tscene.background = originalBackground;\n\t\t\t};\n\t\t});\n\n\t\treturn { fbo: _fbo, camera: _camera, update };\n\t});\n}\n\nextend({ Group });\n\nexport type NgtsCubeCameraComponentState = NgtsCubeCameraState & {\n\tframes: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-group\n\t\t */\n\t\t'ngts-cube-camera': NgtsCubeCameraComponentState & NgtGroup;\n\t}\n}\n\n@Directive({ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true })\nexport class NgtsCubeCameraContent {\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCubeCameraContent,\n\t\tctx: unknown,\n\t): ctx is { texture: Signal<THREE.WebGLRenderTarget['texture']> } {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-cube-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-group ngtCompound>\n\t\t\t<ngt-primitive *args=\"[cubeCamera.camera()]\" />\n\t\t\t<ngt-group [ref]=\"cameraRef\">\n\t\t\t\t<ng-container #anchor />\n\t\t\t</ngt-group>\n\t\t</ngt-group>\n\t`,\n\timports: [NgtArgs, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsCubeCamera implements OnInit {\n\tprivate inputs = signalStore<NgtsCubeCameraComponentState>({ frames: Infinity });\n\n\t@Input() cameraRef = injectNgtRef<Group>();\n\n\t@ContentChild(NgtsCubeCameraContent, { static: true, read: TemplateRef })\n\tprivate cameraContent!: TemplateRef<{ texture: Signal<THREE.WebGLRenderTarget['texture']> }>;\n\n\t@ViewChild('anchor', { static: true, read: ViewContainerRef })\n\tprivate anchor!: ViewContainerRef;\n\n\t/** Resolution of the FBO, 256 */\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t/** Camera near, 0.1 */\n\t@Input({ alias: 'near' }) set _near(near: number) {\n\t\tthis.inputs.set({ near });\n\t}\n\n\t/** Camera far, 1000 */\n\t@Input({ alias: 'far' }) set _far(far: number) {\n\t\tthis.inputs.set({ far });\n\t}\n\n\t/** Custom environment map that is temporarily set as the scenes background */\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t/** Custom fog that is temporarily set as the scenes fog */\n\t@Input({ alias: 'fog' }) set _fog(fog: THREE.Fog | THREE.FogExp2) {\n\t\tthis.inputs.set({ fog });\n\t}\n\n\tcubeCamera = injectNgtsCubeCamera(this.inputs.state);\n\tprivate texture = computed(() => this.cubeCamera.fbo().texture);\n\tprivate contentRef?: EmbeddedViewRef<unknown>;\n\n\tconstructor() {\n\t\tthis.beforeRender();\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.contentRef?.destroy();\n\t\t});\n\t}\n\n\tngOnInit() {\n\t\tthis.contentRef = this.anchor.createEmbeddedView(this.cameraContent, { texture: this.texture });\n\t}\n\n\tprivate beforeRender() {\n\t\tlet count = 0;\n\t\tinjectBeforeRender(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!camera) return;\n\t\t\tconst update = this.cubeCamera.update();\n\t\t\tconst frames = this.inputs.get('frames');\n\t\t\tif (frames === Infinity || count < frames) {\n\t\t\t\tcamera.visible = false;\n\t\t\t\tupdate();\n\t\t\t\tcamera.visible = true;\n\t\t\t\tcount++;\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, effect, Input } from '@angular/core';\nimport { injectNgtRef, injectNgtStore, signalStore, type NgtCamera } from 'angular-three';\nimport { injectNgtsFBO } from 'angular-three-soba/misc';\n\nexport type NgtsCameraState = {\n\tmakeDefault: boolean;\n\tmanual: boolean;\n\tframes: number;\n\tresolution: number;\n\tenvMap?: THREE.Texture;\n};\n\n@Directive()\nexport abstract class NgtsCamera<TCamera extends NgtCamera> {\n\tprotected inputs = signalStore<NgtsCameraState>({\n\t\tresolution: 256,\n\t\tframes: Infinity,\n\t\tmakeDefault: false,\n\t\tmanual: false,\n\t});\n\n\t@Input({ alias: 'makeDefault' }) set _makeDefault(makeDefault: boolean) {\n\t\tthis.inputs.set({ makeDefault });\n\t}\n\n\t@Input({ alias: 'manual' }) set _manual(manual: boolean) {\n\t\tthis.inputs.set({ manual });\n\t}\n\n\t@Input({ alias: 'frames' }) set _frames(frames: number) {\n\t\tthis.inputs.set({ frames });\n\t}\n\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t@Input() cameraRef = injectNgtRef<TCamera>();\n\n\tprivate cameraResolution = this.inputs.select('resolution');\n\n\tprotected store = injectNgtStore();\n\tprotected fboRef = injectNgtsFBO(() => ({ width: this.cameraResolution() }));\n\n\tconstructor() {\n\t\tthis.setDefaultCamera();\n\t\tthis.updateProjectionMatrix();\n\t}\n\n\tprivate setDefaultCamera() {\n\t\tconst makeDefault = this.inputs.select('makeDefault');\n\t\teffect((onCleanup) => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (camera && makeDefault()) {\n\t\t\t\tconst { camera: oldCamera } = this.store.get();\n\t\t\t\tthis.store.set({ camera });\n\t\t\t\tonCleanup(() => this.store.set({ camera: oldCamera }));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateProjectionMatrix() {\n\t\tconst manual = this.inputs.select('manual');\n\t\teffect(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!manual() && camera) camera.updateProjectionMatrix();\n\t\t});\n\t}\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, Input, computed } from '@angular/core';\nimport { extend, signalStore, type NgtOrthographicCamera } from 'angular-three';\nimport { Group, OrthographicCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ OrthographicCamera, Group });\n\nexport type NgtsOrthographicCameraState = {\n\tleft: number;\n\ttop: number;\n\tright: number;\n\tbottom: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-orthographic-camera\n\t\t */\n\t\t'ngts-orthographic-camera': NgtsCameraState & NgtsOrthographicCameraState & NgtOrthographicCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-orthographic-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-orthographic-camera\n\t\t\tngtCompound\n\t\t\t[ref]=\"cameraRef\"\n\t\t\t[left]=\"cameraLeft()\"\n\t\t\t[right]=\"cameraRight()\"\n\t\t\t[top]=\"cameraTop()\"\n\t\t\t[bottom]=\"cameraBottom()\"\n\t\t>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-orthographic-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrthographicCamera extends NgtsCamera<THREE.OrthographicCamera> {\n\tprivate orthographicInputs = signalStore<NgtsOrthographicCameraState>({\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbottom: 0,\n\t});\n\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n\n\t@Input({ alias: 'left' }) set _left(left: number) {\n\t\tthis.orthographicInputs.set({ left });\n\t}\n\n\t@Input({ alias: 'right' }) set _right(right: number) {\n\t\tthis.orthographicInputs.set({ right });\n\t}\n\n\t@Input({ alias: 'top' }) set _top(top: number) {\n\t\tthis.orthographicInputs.set({ top });\n\t}\n\n\t@Input({ alias: 'bottom' }) set _bottom(bottom: number) {\n\t\tthis.orthographicInputs.set({ bottom });\n\t}\n\n\tprivate left = this.orthographicInputs.select('left');\n\tprivate right = this.orthographicInputs.select('right');\n\tprivate top = this.orthographicInputs.select('top');\n\tprivate bottom = this.orthographicInputs.select('bottom');\n\tprivate size = this.store.select('size');\n\n\tcameraLeft = computed(() => this.left() || this.size().width / -2);\n\tcameraRight = computed(() => this.right() || this.size().width / 2);\n\tcameraTop = computed(() => this.top() || this.size().height / 2);\n\tcameraBottom = computed(() => this.bottom() || this.size().height / -2);\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild } from '@angular/core';\nimport { extend, type NgtPerspectiveCamera } from 'angular-three';\nimport { Group, PerspectiveCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ PerspectiveCamera, Group });\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-perspective-camera\n\t\t */\n\t\t'ngts-perspective-camera': NgtsCameraState & NgtPerspectiveCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-perspective-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-perspective-camera [ref]=\"cameraRef\" ngtCompound>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-perspective-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsPerspectiveCamera extends NgtsCamera<PerspectiveCamera> {\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-three-soba-cameras.mjs","sources":["../../../../libs/soba/cameras/src/camera/camera-content.ts","../../../../libs/soba/cameras/src/cube-camera/cube-camera.ts","../../../../libs/soba/cameras/src/camera/camera.ts","../../../../libs/soba/cameras/src/orthographic-camera/orthographic-camera.ts","../../../../libs/soba/cameras/src/perspective-camera/perspective-camera.ts","../../../../libs/soba/cameras/src/angular-three-soba-cameras.ts"],"sourcesContent":["import { Directive, inject, Input, TemplateRef } from '@angular/core';\nimport * as THREE from 'three';\n\n@Directive({ selector: 'ng-template[ngtsCameraContent]', standalone: true })\nexport class NgtsCameraContent {\n\ttemplate = inject(TemplateRef);\n\t@Input() ngtsCameraContent: true | '' = '';\n\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCameraContent,\n\t\tctx: unknown,\n\t): ctx is { fbo: THREE.WebGLRenderTarget; group?: THREE.Group } {\n\t\treturn true;\n\t}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\tCUSTOM_ELEMENTS_SCHEMA,\n\tComponent,\n\tContentChild,\n\tDestroyRef,\n\tDirective,\n\tEmbeddedViewRef,\n\tInput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n\tcomputed,\n\teffect,\n\tinject,\n\trunInInjectionContext,\n\tuntracked,\n\ttype Injector,\n\ttype OnInit,\n\ttype Signal,\n} from '@angular/core';\nimport {\n\tNgtArgs,\n\tassertInjector,\n\textend,\n\tinjectBeforeRender,\n\tinjectNgtRef,\n\tinjectNgtStore,\n\tsignalStore,\n\ttype NgtGroup,\n} from 'angular-three';\nimport * as THREE from 'three';\nimport { Group } from 'three';\n\nexport type NgtsCubeCameraState = {\n\t/** Resolution of the FBO, 256 */\n\tresolution: number;\n\t/** Camera near, 0.1 */\n\tnear: number;\n\t/** Camera far, 1000 */\n\tfar: number;\n\t/** Custom environment map that is temporarily set as the scenes background */\n\tenvMap?: THREE.Texture;\n\t/** Custom fog that is temporarily set as the scenes fog */\n\tfog?: THREE.Fog | THREE.FogExp2;\n};\n\nconst defaultCubeCameraState = {\n\tresolution: 256,\n\tnear: 0.1,\n\tfar: 1000,\n} satisfies NgtsCubeCameraState;\n\nexport function injectNgtsCubeCamera(\n\tcubeCameraState: () => Partial<NgtsCubeCameraState>,\n\t{ injector }: { injector?: Injector } = {},\n) {\n\tinjector = assertInjector(injectNgtsCubeCamera, injector);\n\treturn runInInjectionContext(injector, () => {\n\t\tconst state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));\n\t\tconst resolution = computed(() => state().resolution);\n\t\tconst near = computed(() => state().near);\n\t\tconst far = computed(() => state().far);\n\n\t\tconst store = injectNgtStore();\n\n\t\tconst _gl = store.select('gl');\n\t\tconst _scene = store.select('scene');\n\n\t\tconst _fbo = computed(() => {\n\t\t\tconst renderTarget = new THREE.WebGLCubeRenderTarget(resolution());\n\t\t\trenderTarget.texture.type = THREE.HalfFloatType;\n\t\t\treturn renderTarget;\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst fbo = _fbo();\n\t\t\tonCleanup(() => fbo.dispose());\n\t\t});\n\n\t\tconst _camera = computed(() => new THREE.CubeCamera(near(), far(), _fbo()));\n\n\t\tlet originalFog: THREE.Scene['fog'];\n\t\tlet originalBackground: THREE.Scene['background'];\n\n\t\tconst update = computed(() => {\n\t\t\tconst [scene, gl, camera, { envMap, fog }] = [_scene(), _gl(), _camera(), untracked(state)];\n\n\t\t\treturn () => {\n\t\t\t\toriginalFog = scene.fog;\n\t\t\t\toriginalBackground = scene.background;\n\t\t\t\tscene.background = envMap || originalBackground;\n\t\t\t\tscene.fog = fog || originalFog;\n\t\t\t\tcamera.update(gl, scene);\n\t\t\t\tscene.fog = originalFog;\n\t\t\t\tscene.background = originalBackground;\n\t\t\t};\n\t\t});\n\n\t\treturn { fbo: _fbo, camera: _camera, update };\n\t});\n}\n\nextend({ Group });\n\nexport type NgtsCubeCameraComponentState = NgtsCubeCameraState & {\n\tframes: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-group\n\t\t */\n\t\t'ngts-cube-camera': NgtsCubeCameraComponentState & NgtGroup;\n\t}\n}\n\n@Directive({ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true })\nexport class NgtsCubeCameraContent {\n\tstatic ngTemplateContextGuard(\n\t\t_: NgtsCubeCameraContent,\n\t\tctx: unknown,\n\t): ctx is { texture: Signal<THREE.WebGLRenderTarget['texture']> } {\n\t\treturn true;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-cube-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-group ngtCompound>\n\t\t\t<ngt-primitive *args=\"[cubeCamera.camera()]\" />\n\t\t\t<ngt-group [ref]=\"cameraRef\">\n\t\t\t\t<ng-container #anchor />\n\t\t\t</ngt-group>\n\t\t</ngt-group>\n\t`,\n\timports: [NgtArgs, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsCubeCamera implements OnInit {\n\tprivate inputs = signalStore<NgtsCubeCameraComponentState>({ frames: Infinity });\n\n\t@Input() cameraRef = injectNgtRef<Group>();\n\n\t@ContentChild(NgtsCubeCameraContent, { static: true, read: TemplateRef })\n\tprivate cameraContent!: TemplateRef<{ texture: Signal<THREE.WebGLRenderTarget['texture']> }>;\n\n\t@ViewChild('anchor', { static: true, read: ViewContainerRef })\n\tprivate anchor!: ViewContainerRef;\n\n\t/** Resolution of the FBO, 256 */\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t/** Camera near, 0.1 */\n\t@Input({ alias: 'near' }) set _near(near: number) {\n\t\tthis.inputs.set({ near });\n\t}\n\n\t/** Camera far, 1000 */\n\t@Input({ alias: 'far' }) set _far(far: number) {\n\t\tthis.inputs.set({ far });\n\t}\n\n\t/** Custom environment map that is temporarily set as the scenes background */\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t/** Custom fog that is temporarily set as the scenes fog */\n\t@Input({ alias: 'fog' }) set _fog(fog: THREE.Fog | THREE.FogExp2) {\n\t\tthis.inputs.set({ fog });\n\t}\n\n\tcubeCamera = injectNgtsCubeCamera(this.inputs.state);\n\tprivate texture = computed(() => this.cubeCamera.fbo().texture);\n\tprivate contentRef?: EmbeddedViewRef<unknown>;\n\n\tconstructor() {\n\t\tthis.beforeRender();\n\t\tinject(DestroyRef).onDestroy(() => {\n\t\t\tthis.contentRef?.destroy();\n\t\t});\n\t}\n\n\tngOnInit() {\n\t\tthis.contentRef = this.anchor.createEmbeddedView(this.cameraContent, { texture: this.texture });\n\t}\n\n\tprivate beforeRender() {\n\t\tlet count = 0;\n\t\tinjectBeforeRender(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!camera) return;\n\t\t\tconst update = this.cubeCamera.update();\n\t\t\tconst frames = this.inputs.get('frames');\n\t\t\tif (frames === Infinity || count < frames) {\n\t\t\t\tcamera.visible = false;\n\t\t\t\tupdate();\n\t\t\t\tcamera.visible = true;\n\t\t\t\tcount++;\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, effect, Input } from '@angular/core';\nimport { injectNgtRef, injectNgtStore, signalStore, type NgtCamera } from 'angular-three';\nimport { injectNgtsFBO } from 'angular-three-soba/misc';\n\nexport type NgtsCameraState = {\n\tmakeDefault: boolean;\n\tmanual: boolean;\n\tframes: number;\n\tresolution: number;\n\tenvMap?: THREE.Texture;\n};\n\n@Directive()\nexport abstract class NgtsCamera<TCamera extends NgtCamera> {\n\tprotected inputs = signalStore<NgtsCameraState>({\n\t\tresolution: 256,\n\t\tframes: Infinity,\n\t\tmakeDefault: false,\n\t\tmanual: false,\n\t});\n\n\t@Input({ alias: 'makeDefault' }) set _makeDefault(makeDefault: boolean) {\n\t\tthis.inputs.set({ makeDefault });\n\t}\n\n\t@Input({ alias: 'manual' }) set _manual(manual: boolean) {\n\t\tthis.inputs.set({ manual });\n\t}\n\n\t@Input({ alias: 'frames' }) set _frames(frames: number) {\n\t\tthis.inputs.set({ frames });\n\t}\n\n\t@Input({ alias: 'resolution' }) set _resolution(resolution: number) {\n\t\tthis.inputs.set({ resolution });\n\t}\n\n\t@Input({ alias: 'envMap' }) set _envMap(envMap: THREE.Texture) {\n\t\tthis.inputs.set({ envMap });\n\t}\n\n\t@Input() cameraRef = injectNgtRef<TCamera>();\n\n\tprivate cameraResolution = this.inputs.select('resolution');\n\n\tprotected store = injectNgtStore();\n\tprotected fboRef = injectNgtsFBO(() => ({ width: this.cameraResolution() }));\n\n\tconstructor() {\n\t\tthis.setDefaultCamera();\n\t\tthis.updateProjectionMatrix();\n\t}\n\n\tprivate setDefaultCamera() {\n\t\tconst makeDefault = this.inputs.select('makeDefault');\n\t\teffect((onCleanup) => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (camera && makeDefault()) {\n\t\t\t\tconst { camera: oldCamera } = this.store.get();\n\t\t\t\tthis.store.set({ camera });\n\t\t\t\tonCleanup(() => this.store.set({ camera: oldCamera }));\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate updateProjectionMatrix() {\n\t\tconst manual = this.inputs.select('manual');\n\t\teffect(() => {\n\t\t\tconst camera = this.cameraRef.nativeElement;\n\t\t\tif (!manual() && camera) camera.updateProjectionMatrix();\n\t\t});\n\t}\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, Input, computed } from '@angular/core';\nimport { extend, signalStore, type NgtOrthographicCamera } from 'angular-three';\nimport { Group, OrthographicCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ OrthographicCamera, Group });\n\nexport type NgtsOrthographicCameraState = {\n\tleft: number;\n\ttop: number;\n\tright: number;\n\tbottom: number;\n};\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-orthographic-camera\n\t\t */\n\t\t'ngts-orthographic-camera': NgtsCameraState & NgtsOrthographicCameraState & NgtOrthographicCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-orthographic-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-orthographic-camera\n\t\t\tngtCompound\n\t\t\t[ref]=\"cameraRef\"\n\t\t\t[left]=\"cameraLeft()\"\n\t\t\t[right]=\"cameraRight()\"\n\t\t\t[top]=\"cameraTop()\"\n\t\t\t[bottom]=\"cameraBottom()\"\n\t\t>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-orthographic-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsOrthographicCamera extends NgtsCamera<THREE.OrthographicCamera> {\n\tprivate orthographicInputs = signalStore<NgtsOrthographicCameraState>({\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbottom: 0,\n\t});\n\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n\n\t@Input({ alias: 'left' }) set _left(left: number) {\n\t\tthis.orthographicInputs.set({ left });\n\t}\n\n\t@Input({ alias: 'right' }) set _right(right: number) {\n\t\tthis.orthographicInputs.set({ right });\n\t}\n\n\t@Input({ alias: 'top' }) set _top(top: number) {\n\t\tthis.orthographicInputs.set({ top });\n\t}\n\n\t@Input({ alias: 'bottom' }) set _bottom(bottom: number) {\n\t\tthis.orthographicInputs.set({ bottom });\n\t}\n\n\tprivate left = this.orthographicInputs.select('left');\n\tprivate right = this.orthographicInputs.select('right');\n\tprivate top = this.orthographicInputs.select('top');\n\tprivate bottom = this.orthographicInputs.select('bottom');\n\tprivate size = this.store.select('size');\n\n\tcameraLeft = computed(() => this.left() || this.size().width / -2);\n\tcameraRight = computed(() => this.right() || this.size().width / 2);\n\tcameraTop = computed(() => this.top() || this.size().height / 2);\n\tcameraBottom = computed(() => this.bottom() || this.size().height / -2);\n}\n","import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild } from '@angular/core';\nimport { extend, type NgtPerspectiveCamera } from 'angular-three';\nimport { Group, PerspectiveCamera } from 'three';\nimport { NgtsCamera, type NgtsCameraState } from '../camera/camera';\nimport { NgtsCameraContent } from '../camera/camera-content';\n\nextend({ PerspectiveCamera, Group });\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t/**\n\t\t * @extends ngt-perspective-camera\n\t\t */\n\t\t'ngts-perspective-camera': NgtsCameraState & NgtPerspectiveCamera;\n\t}\n}\n\n@Component({\n\tselector: 'ngts-perspective-camera',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-perspective-camera [ref]=\"cameraRef\" ngtCompound>\n\t\t\t<ng-container\n\t\t\t\t*ngIf=\"cameraContent && !cameraContent.ngtsCameraContent\"\n\t\t\t\t[ngTemplateOutlet]=\"cameraContent.template\"\n\t\t\t/>\n\t\t</ngt-perspective-camera>\n\t\t<ngt-group #group *ngIf=\"cameraContent && cameraContent.ngtsCameraContent\">\n\t\t\t<ng-container *ngTemplateOutlet=\"cameraContent.template; context: { fbo: fboRef.nativeElement, group }\" />\n\t\t</ngt-group>\n\t`,\n\timports: [NgIf, NgTemplateOutlet],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtsPerspectiveCamera extends NgtsCamera<PerspectiveCamera> {\n\t@ContentChild(NgtsCameraContent) cameraContent?: NgtsCameraContent;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -137,18 +137,22 @@ class NgtsOrbitControls {
|
|
|
137
137
|
});
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
142
|
-
<ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()"
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrbitControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsOrbitControls, isStandalone: true, selector: "ngts-orbit-controls", inputs: { controlsRef: "controlsRef", _camera: ["camera", "_camera"], _domElement: ["domElement", "_domElement"], _makeDefault: ["makeDefault", "_makeDefault"], _regress: ["regress", "_regress"], _target: ["target", "_target"], _enableDamping: ["enableDamping", "_enableDamping"], _keyEvents: ["keyEvents", "_keyEvents"] }, outputs: { change: "change", start: "start", end: "end" }, ngImport: i0, template: `
|
|
142
|
+
<ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()">
|
|
143
|
+
<ng-content />
|
|
144
|
+
</ngt-primitive>
|
|
143
145
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
144
146
|
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsOrbitControls, decorators: [{
|
|
146
148
|
type: Component,
|
|
147
149
|
args: [{
|
|
148
150
|
selector: 'ngts-orbit-controls',
|
|
149
151
|
standalone: true,
|
|
150
152
|
template: `
|
|
151
|
-
<ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()"
|
|
153
|
+
<ngt-primitive *args="args()" ngtCompound [enableDamping]="enableDamping()">
|
|
154
|
+
<ng-content />
|
|
155
|
+
</ngt-primitive>
|
|
152
156
|
`,
|
|
153
157
|
imports: [NgtArgs],
|
|
154
158
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|