angular-three 3.5.0 → 3.6.1
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/fesm2022/angular-three.mjs +17 -7
- package/fesm2022/angular-three.mjs.map +1 -1
- package/lib/canvas.d.ts +59 -59
- package/lib/html.d.ts +1 -1
- package/metadata.json +1 -1
- package/nativescript/lib/canvas.d.ts +3 -3
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { untracked, computed, signal, ElementRef, input, inject, ViewContainerRef, TemplateRef, effect, DestroyRef, Directive, InjectionToken, DebugNode, RendererFactory2, Injectable, makeEnvironmentProviders, EnvironmentInjector, InjectFlags, runInInjectionContext, createEnvironmentInjector, Component, NgZone, Injector, booleanAttribute, output, viewChild, afterNextRender, ChangeDetectionStrategy, Pipe, CUSTOM_ELEMENTS_SCHEMA, contentChild, model, Renderer2 } from '@angular/core';
|
|
3
3
|
import { outputFromObservable } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { provideResizeOptions, NgxResize } from 'ngxtension/resize';
|
|
5
|
-
import { MathUtils, WebGLRenderer, OrthographicCamera, PerspectiveCamera, Vector3, Vector2, Clock, Layers,
|
|
5
|
+
import { MathUtils, WebGLRenderer, OrthographicCamera, PerspectiveCamera, Vector3, Vector2, Clock, Layers, ColorManagement, RGBAFormat, UnsignedByteType, EventDispatcher, Raycaster, Scene, PCFSoftShadowMap, BasicShadowMap, PCFShadowMap, VSMShadowMap, NoToneMapping, ACESFilmicToneMapping, Vector4 } from 'three';
|
|
6
6
|
import { DOCUMENT } from '@angular/common';
|
|
7
7
|
import { Subject, filter } from 'rxjs';
|
|
8
8
|
import { createInjectionToken } from 'ngxtension/create-injection-token';
|
|
@@ -977,7 +977,7 @@ function storeFactory(previousStore) {
|
|
|
977
977
|
function getCurrentViewport(camera = get('camera'), target = defaultTarget, size = get('size')) {
|
|
978
978
|
const { width, height, top, left } = size;
|
|
979
979
|
const aspect = width / height;
|
|
980
|
-
if (target
|
|
980
|
+
if (target.isVector3)
|
|
981
981
|
tempTarget.copy(target);
|
|
982
982
|
else
|
|
983
983
|
tempTarget.set(...target);
|
|
@@ -1254,7 +1254,7 @@ function applyProps(instance, props) {
|
|
|
1254
1254
|
const targetProp = currentInstance[key];
|
|
1255
1255
|
// special treatmen for objects with support for set/copy, and layers
|
|
1256
1256
|
if (targetProp && targetProp['set'] && (targetProp['copy'] || targetProp instanceof Layers)) {
|
|
1257
|
-
const isColor = targetProp
|
|
1257
|
+
const isColor = targetProp.isColor;
|
|
1258
1258
|
// if value is an array
|
|
1259
1259
|
if (Array.isArray(value)) {
|
|
1260
1260
|
if (targetProp['fromArray'])
|
|
@@ -1271,7 +1271,7 @@ function applyProps(instance, props) {
|
|
|
1271
1271
|
targetProp['convertSRGBToLinear']();
|
|
1272
1272
|
} // if nothing else fits, just set the single value, ignore undefined
|
|
1273
1273
|
else if (value !== undefined) {
|
|
1274
|
-
const isColor = targetProp
|
|
1274
|
+
const isColor = targetProp.isColor;
|
|
1275
1275
|
// allow setting array scalars
|
|
1276
1276
|
if (!isColor && targetProp['setScalar'])
|
|
1277
1277
|
targetProp['setScalar'](value);
|
|
@@ -1289,7 +1289,7 @@ function applyProps(instance, props) {
|
|
|
1289
1289
|
else {
|
|
1290
1290
|
currentInstance[key] = value;
|
|
1291
1291
|
// auto-convert srgb textures
|
|
1292
|
-
if (currentInstance[key]
|
|
1292
|
+
if (currentInstance[key]?.isTexture &&
|
|
1293
1293
|
currentInstance[key].format === RGBAFormat &&
|
|
1294
1294
|
currentInstance[key].type === UnsignedByteType) {
|
|
1295
1295
|
const texture = currentInstance[key];
|
|
@@ -1349,6 +1349,11 @@ function createNode(type, node, document) {
|
|
|
1349
1349
|
return state[6 /* NgtRendererClassId.debugNode */];
|
|
1350
1350
|
};
|
|
1351
1351
|
}
|
|
1352
|
+
if (!('getAttribute' in rendererNode) || typeof rendererNode['getAttribute'] !== 'function') {
|
|
1353
|
+
const nodeGetAttribute = (name) => rendererNode[name];
|
|
1354
|
+
nodeGetAttribute['__ngt_renderer__'] = true;
|
|
1355
|
+
Object.defineProperty(rendererNode, 'getAttribute', { value: nodeGetAttribute });
|
|
1356
|
+
}
|
|
1352
1357
|
return rendererNode;
|
|
1353
1358
|
}
|
|
1354
1359
|
function isDOM(node) {
|
|
@@ -2124,6 +2129,11 @@ class NgtRenderer {
|
|
|
2124
2129
|
}
|
|
2125
2130
|
rS[2 /* NgtRendererClassId.children */] = [];
|
|
2126
2131
|
rS[3 /* NgtRendererClassId.destroyed */] = true;
|
|
2132
|
+
if ('getAttribute' in node &&
|
|
2133
|
+
typeof node['getAttribute'] === 'function' &&
|
|
2134
|
+
!!Reflect.get(node['getAttribute'], '__ngt_renderer__')) {
|
|
2135
|
+
delete node['getAttribute'];
|
|
2136
|
+
}
|
|
2127
2137
|
if (parent) {
|
|
2128
2138
|
removeChild(parent, node);
|
|
2129
2139
|
}
|
|
@@ -2291,7 +2301,7 @@ function injectCanvasRootInitializer(injector) {
|
|
|
2291
2301
|
if (!state.camera && !cameraOptions?.rotation && !cameraOptions?.quaternion) {
|
|
2292
2302
|
if (Array.isArray(lookAt))
|
|
2293
2303
|
camera.lookAt(lookAt[0], lookAt[1], lookAt[2]);
|
|
2294
|
-
else if (lookAt
|
|
2304
|
+
else if (lookAt?.isVector3)
|
|
2295
2305
|
camera.lookAt(lookAt);
|
|
2296
2306
|
else
|
|
2297
2307
|
camera.lookAt(0, 0, 0);
|
|
@@ -2309,7 +2319,7 @@ function injectCanvasRootInitializer(injector) {
|
|
|
2309
2319
|
// Set up scene (one time only!)
|
|
2310
2320
|
if (!state.scene) {
|
|
2311
2321
|
let scene;
|
|
2312
|
-
if (sceneOptions
|
|
2322
|
+
if (is.scene(sceneOptions)) {
|
|
2313
2323
|
scene = sceneOptions;
|
|
2314
2324
|
}
|
|
2315
2325
|
else {
|