angular-three 4.2.3 → 4.2.4-next.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/fesm2022/angular-three-dom.mjs +12 -7
- package/fesm2022/angular-three-dom.mjs.map +1 -1
- package/fesm2022/angular-three-testing.mjs +17 -30
- package/fesm2022/angular-three-testing.mjs.map +1 -1
- package/fesm2022/angular-three.mjs +1568 -653
- package/fesm2022/angular-three.mjs.map +1 -1
- package/package.json +1 -1
- package/types/angular-three-dom.d.ts +1 -2
- package/types/angular-three.d.ts +117 -68
package/package.json
CHANGED
|
@@ -42,9 +42,8 @@ declare function createPointerEvents(store: SignalState<NgtState>): NgtEventMana
|
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
44
|
declare class NgtCanvasContent {
|
|
45
|
-
private canvas;
|
|
46
45
|
constructor();
|
|
47
|
-
static ngTemplateContextGuard(_: NgtCanvasContent,
|
|
46
|
+
static ngTemplateContextGuard(_: NgtCanvasContent, _ctx: unknown): _ctx is {
|
|
48
47
|
$implicit: HTMLCanvasElement;
|
|
49
48
|
host: HTMLElement;
|
|
50
49
|
};
|
package/types/angular-three.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Injector, Signal, WritableSignal, ElementRef, Provider, ProviderToken, Type, AbstractType, InjectionToken, ResourceRef, RendererFactory2, RendererType2, Renderer2, ChangeDetectorRef, InjectOptions, OutputEmitterRef, ValueEqualityFn } from '@angular/core';
|
|
2
|
+
import { Injector, Signal, WritableSignal, ElementRef, Provider, ProviderToken, Type, AbstractType, InjectionToken, ResourceRef, RendererFactory2, RendererType2, Renderer2, RendererStyleFlags2, ChangeDetectorRef, InjectOptions, OutputEmitterRef, ValueEqualityFn } from '@angular/core';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Object3D } from 'three';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
@@ -22,6 +22,7 @@ import * as angular_three from 'angular-three';
|
|
|
22
22
|
declare abstract class NgtCommonDirective<TValue> {
|
|
23
23
|
private vcr;
|
|
24
24
|
private template;
|
|
25
|
+
private renderer;
|
|
25
26
|
protected injector: Injector;
|
|
26
27
|
protected injected: boolean;
|
|
27
28
|
protected injectedValue: TValue | null;
|
|
@@ -553,7 +554,7 @@ interface NgtInstanceState<TObject extends NgtAnyRecord = NgtAnyRecord> {
|
|
|
553
554
|
object: TObject & {
|
|
554
555
|
__ngt__?: NgtInstanceState<TObject>;
|
|
555
556
|
};
|
|
556
|
-
add: (instance: NgtInstanceNode, type: 'objects' | 'nonObjects') => void;
|
|
557
|
+
add: (instance: NgtInstanceNode, type: 'objects' | 'nonObjects', before?: NgtInstanceNode | null) => void;
|
|
557
558
|
remove: (instance: NgtInstanceNode, type: 'objects' | 'nonObjects') => void;
|
|
558
559
|
setParent: (parent: NgtInstanceNode | null) => void;
|
|
559
560
|
updateGeometryStamp: () => void;
|
|
@@ -680,7 +681,7 @@ interface NgtState {
|
|
|
680
681
|
previousRoot: SignalState<NgtState> | null;
|
|
681
682
|
/** Internals */
|
|
682
683
|
internal: NgtInternalState;
|
|
683
|
-
/**
|
|
684
|
+
/** @deprecated Retained for compatibility; ancestor notifications are microtask-batched. */
|
|
684
685
|
maxNotificationSkipCount?: number;
|
|
685
686
|
}
|
|
686
687
|
interface NgtCanvasOptions {
|
|
@@ -736,7 +737,6 @@ declare class NgtParent extends NgtCommonDirective<THREE.Object3D | null | undef
|
|
|
736
737
|
protected shouldSkipRender: _angular_core.Signal<boolean>;
|
|
737
738
|
constructor();
|
|
738
739
|
validate(): boolean;
|
|
739
|
-
protected beforeCreateView(): void;
|
|
740
740
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgtParent, never>;
|
|
741
741
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgtParent, "ng-template[parent]", never, { "parent": { "alias": "parent"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
742
742
|
}
|
|
@@ -831,24 +831,12 @@ declare function createEvents(store: SignalState<NgtState>): {
|
|
|
831
831
|
*/
|
|
832
832
|
/** Flag indicating a node is managed by the Angular Three renderer */
|
|
833
833
|
declare const NGT_RENDERER_NODE_FLAG = "__ngt_renderer__";
|
|
834
|
-
/**
|
|
835
|
-
declare const
|
|
836
|
-
/** Flag for portal content template comments */
|
|
837
|
-
declare const NGT_PORTAL_CONTENT_FLAG = "__ngt_renderer_portal_content__";
|
|
838
|
-
/** Flag for args directive comments */
|
|
839
|
-
declare const NGT_ARGS_FLAG = "__ngt_renderer_args__";
|
|
840
|
-
/** Flag for parent directive comments */
|
|
841
|
-
declare const NGT_PARENT_FLAG = "__ngt_renderer_parent__";
|
|
842
|
-
/** Internal flag for adding comment nodes */
|
|
843
|
-
declare const NGT_INTERNAL_ADD_COMMENT_FLAG = "__ngt_renderer_add_comment__";
|
|
844
|
-
/** Internal flag for setting parent on comment nodes */
|
|
845
|
-
declare const NGT_INTERNAL_SET_PARENT_COMMENT_FLAG = "__ngt_renderer_set_parent_comment__";
|
|
834
|
+
/** Internal hook for scoping structural directive context to embedded view creation */
|
|
835
|
+
declare const NGT_RENDERER_CONTEXT_FLAG = "__ngt_renderer_context__";
|
|
846
836
|
/** Flag for getting node attributes */
|
|
847
837
|
declare const NGT_GET_NODE_ATTRIBUTE_FLAG = "__ngt_get_node_attribute__";
|
|
848
838
|
/** Flag for DOM parent element reference */
|
|
849
839
|
declare const NGT_DOM_PARENT_FLAG = "__ngt_dom_parent__";
|
|
850
|
-
/** Flag indicating the delegate renderer's destroyNode has been patched */
|
|
851
|
-
declare const NGT_DELEGATE_RENDERER_DESTROY_NODE_PATCHED_FLAG = "__ngt_delegate_renderer_destroy_node_patched__";
|
|
852
840
|
/** Flag for HTML directive classes */
|
|
853
841
|
declare const NGT_HTML_FLAG = "__ngt_html__";
|
|
854
842
|
/** Native Three.js EventDispatcher events */
|
|
@@ -897,7 +885,7 @@ declare function provideHTMLDomElement<TDeps extends Array<ProviderToken<any>>,
|
|
|
897
885
|
*/
|
|
898
886
|
declare abstract class NgtHTML {
|
|
899
887
|
static [NGT_HTML_FLAG]: boolean;
|
|
900
|
-
protected domElement:
|
|
888
|
+
protected domElement: "gl" | HTMLElement | null;
|
|
901
889
|
constructor();
|
|
902
890
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgtHTML, never>;
|
|
903
891
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgtHTML, never, never, {}, {}, never, never, true, never>;
|
|
@@ -970,6 +958,8 @@ declare function invalidateInstance<TInstance extends NgtAnyRecord>(instance: Ng
|
|
|
970
958
|
* ```
|
|
971
959
|
*/
|
|
972
960
|
declare function prepare<TInstance extends NgtAnyRecord = NgtAnyRecord>(object: TInstance, type: string, instanceState?: Partial<NgtInstanceState>): NgtInstanceNode<TInstance>;
|
|
961
|
+
/** @internal */
|
|
962
|
+
declare function flushAncestorNotifications(): void;
|
|
973
963
|
|
|
974
964
|
/**
|
|
975
965
|
* Generates a unique identifier.
|
|
@@ -1073,6 +1063,11 @@ type NgtLoaderReturnType<T, L extends NgtLoaderProto<T>> = T extends unknown ? A
|
|
|
1073
1063
|
type NgtLoaderExtensions<T extends {
|
|
1074
1064
|
prototype: NgtLoaderProto<any>;
|
|
1075
1065
|
}> = (loader: T['prototype']) => void;
|
|
1066
|
+
/**
|
|
1067
|
+
* Semantic components that identify a configured loader. Tuple entries use
|
|
1068
|
+
* value identity for primitives and reference identity for objects/functions.
|
|
1069
|
+
*/
|
|
1070
|
+
type NgtLoaderCacheKey = readonly unknown[];
|
|
1076
1071
|
/**
|
|
1077
1072
|
* Conditional type utility.
|
|
1078
1073
|
*/
|
|
@@ -1094,14 +1089,20 @@ type NgtLoaderResults<TInput extends string | string[] | Record<string, string>,
|
|
|
1094
1089
|
* @deprecated Use loaderResource instead. Will be removed in v5.0.0
|
|
1095
1090
|
* @since v4.0.0~
|
|
1096
1091
|
*/
|
|
1097
|
-
declare function _injectLoader<TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>, TReturn = NgtLoaderReturnType<TData, TLoaderConstructor>>(loaderConstructorFactory: (inputs: string[]) => TLoaderConstructor, inputs: () => TUrl, { extensions, onProgress, onLoad, injector, }?: {
|
|
1092
|
+
declare function _injectLoader<TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>, TReturn = NgtLoaderReturnType<TData, TLoaderConstructor>>(loaderConstructorFactory: (inputs: string[]) => TLoaderConstructor, inputs: () => TUrl, { extensions, cacheKey, onProgress, onLoad, injector, }?: {
|
|
1098
1093
|
extensions?: NgtLoaderExtensions<TLoaderConstructor>;
|
|
1094
|
+
/**
|
|
1095
|
+
* Semantic loader configuration. Supply this when an extension's captured
|
|
1096
|
+
* configuration can change, or when equivalent extension closures should
|
|
1097
|
+
* share preloaded results. Configured requests without a key are isolated.
|
|
1098
|
+
*/
|
|
1099
|
+
cacheKey?: () => NgtLoaderCacheKey;
|
|
1099
1100
|
onProgress?: (event: ProgressEvent) => void;
|
|
1100
1101
|
onLoad?: (data: NoInfer<TReturn>) => void;
|
|
1101
1102
|
injector?: Injector;
|
|
1102
1103
|
}): Signal<NgtLoaderResults<TUrl, NgtBranchingReturn<TReturn, NgtGLTFLike, NgtGLTFLike & NgtObjectMap>> | null>;
|
|
1103
1104
|
declare namespace _injectLoader {
|
|
1104
|
-
var preload: <TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>>(loaderConstructorFactory: (inputs: string[]) => TLoaderConstructor, inputs: () => TUrl, extensions?: NgtLoaderExtensions<TLoaderConstructor>, onLoad?: (data: NoInfer<TData>) => void) => void;
|
|
1105
|
+
var preload: <TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>>(loaderConstructorFactory: (inputs: string[]) => TLoaderConstructor, inputs: () => TUrl, extensions?: NgtLoaderExtensions<TLoaderConstructor>, onLoad?: (data: NoInfer<TData>) => void, cacheKey?: () => NgtLoaderCacheKey) => void;
|
|
1105
1106
|
var destroy: () => void;
|
|
1106
1107
|
var clear: (urls: string | string[]) => void;
|
|
1107
1108
|
}
|
|
@@ -1149,14 +1150,21 @@ declare const injectLoader: NgtInjectedLoader;
|
|
|
1149
1150
|
* }
|
|
1150
1151
|
* ```
|
|
1151
1152
|
*/
|
|
1152
|
-
declare function loaderResource<TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>, TReturn = NgtLoaderReturnType<TData, TLoaderConstructor>>(loaderConstructorFactory: (url: TUrl) => TLoaderConstructor, input: () => TUrl, { extensions, onLoad, onProgress, injector, }?: {
|
|
1153
|
+
declare function loaderResource<TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>, TReturn = NgtLoaderReturnType<TData, TLoaderConstructor>>(loaderConstructorFactory: (url: TUrl) => TLoaderConstructor, input: () => TUrl, { extensions, cacheKey, onLoad, onProgress, injector, }?: {
|
|
1153
1154
|
extensions?: NgtLoaderExtensions<TLoaderConstructor>;
|
|
1155
|
+
/**
|
|
1156
|
+
* Semantic loader configuration. Components are compared by primitive value
|
|
1157
|
+
* or object/function identity. Required when captured extension configuration
|
|
1158
|
+
* changes, and useful for sharing equivalent preload/load closures. Configured
|
|
1159
|
+
* requests without a key are isolated.
|
|
1160
|
+
*/
|
|
1161
|
+
cacheKey?: () => NgtLoaderCacheKey;
|
|
1154
1162
|
onLoad?: (data: NoInfer<NgtLoaderResults<TUrl, NgtBranchingReturn<TReturn, NgtGLTFLike, NgtGLTFLike & NgtObjectMap>>>) => void;
|
|
1155
1163
|
onProgress?: (event: ProgressEvent) => void;
|
|
1156
1164
|
injector?: Injector;
|
|
1157
1165
|
}): ResourceRef<NgtLoaderResults<TUrl, NgtBranchingReturn<TReturn, NgtGLTFLike, NgtGLTFLike & NgtObjectMap>> | undefined>;
|
|
1158
1166
|
declare namespace loaderResource {
|
|
1159
|
-
var preload: <TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>>(loaderConstructor: TLoaderConstructor, inputs: TUrl, extensions?: NgtLoaderExtensions<TLoaderConstructor
|
|
1167
|
+
var preload: <TData, TUrl extends string | string[] | Record<string, string>, TLoaderConstructor extends NgtLoaderProto<TData>>(loaderConstructor: TLoaderConstructor, inputs: TUrl, extensions?: NgtLoaderExtensions<TLoaderConstructor>, cacheKey?: NgtLoaderCacheKey) => void;
|
|
1160
1168
|
var destroy: () => void;
|
|
1161
1169
|
var clear: (urls: string | string[]) => void;
|
|
1162
1170
|
}
|
|
@@ -1311,7 +1319,7 @@ declare class NgtPortalAutoRender {
|
|
|
1311
1319
|
* ```
|
|
1312
1320
|
*/
|
|
1313
1321
|
declare class NgtPortalContent {
|
|
1314
|
-
static ngTemplateContextGuard(_: NgtPortalContent,
|
|
1322
|
+
static ngTemplateContextGuard(_: NgtPortalContent, _ctx: unknown): _ctx is {
|
|
1315
1323
|
injector: Injector;
|
|
1316
1324
|
};
|
|
1317
1325
|
constructor();
|
|
@@ -1364,12 +1372,15 @@ declare class NgtPortalImpl {
|
|
|
1364
1372
|
private previousStore;
|
|
1365
1373
|
private portalStore;
|
|
1366
1374
|
private injector;
|
|
1375
|
+
private document;
|
|
1367
1376
|
private size;
|
|
1368
1377
|
private events;
|
|
1369
1378
|
private restState;
|
|
1370
1379
|
private portalContentRendered;
|
|
1371
1380
|
portalRendered: _angular_core.Signal<boolean>;
|
|
1372
1381
|
private portalViewRef?;
|
|
1382
|
+
/** @internal Subscribe to invalidations originating in this portal layer. */
|
|
1383
|
+
onInvalidate(listener: () => void): () => void;
|
|
1373
1384
|
constructor();
|
|
1374
1385
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgtPortalImpl, never>;
|
|
1375
1386
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgtPortalImpl, "ngt-portal", never, { "container": { "alias": "container"; "required": true; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; }, {}, ["contentRef", "anchorRef"], never, true, never>;
|
|
@@ -1429,50 +1440,73 @@ declare const NGT_CATALOGUE: InjectionToken<Record<string, NgtConstructorReprese
|
|
|
1429
1440
|
*/
|
|
1430
1441
|
declare function injectCatalogue(): Record<string, NgtConstructorRepresentation>;
|
|
1431
1442
|
|
|
1443
|
+
type NgtRendererAnchor = {
|
|
1444
|
+
kind: 'canvas' | 'portal';
|
|
1445
|
+
store: SignalState<NgtState>;
|
|
1446
|
+
domParent?: NgtRendererNode<'portal'>;
|
|
1447
|
+
} | {
|
|
1448
|
+
kind: 'args' | 'parent';
|
|
1449
|
+
injector: Injector;
|
|
1450
|
+
};
|
|
1432
1451
|
type ThreeRendererState = [
|
|
1433
1452
|
type: 'three',
|
|
1434
1453
|
destroyed: boolean,
|
|
1435
1454
|
rawValue: any | undefined,
|
|
1436
1455
|
portalContainer: never | undefined,
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1456
|
+
parent: NgtRendererNode | undefined,
|
|
1457
|
+
children: NgtRendererNode[],
|
|
1458
|
+
parentOverride: NgtRendererNode<'three'> | undefined,
|
|
1459
|
+
anchor: NgtRendererAnchor | undefined,
|
|
1460
|
+
owner: NgtRendererNode | undefined,
|
|
1461
|
+
ownedNodes: Set<NgtRendererNode> | undefined
|
|
1440
1462
|
];
|
|
1441
1463
|
type PortalRendererState = [
|
|
1442
1464
|
type: 'portal',
|
|
1443
1465
|
destroyed: boolean,
|
|
1444
1466
|
rawValue: never | undefined,
|
|
1445
1467
|
portalContainer: NgtRendererNode<'three'> | undefined,
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1468
|
+
parent: NgtRendererNode | undefined,
|
|
1469
|
+
children: NgtRendererNode[],
|
|
1470
|
+
parentOverride: never | undefined,
|
|
1471
|
+
anchor: NgtRendererAnchor | undefined,
|
|
1472
|
+
owner: NgtRendererNode | undefined,
|
|
1473
|
+
ownedNodes: Set<NgtRendererNode> | undefined
|
|
1449
1474
|
];
|
|
1450
1475
|
type PlatformRendererState = [
|
|
1451
1476
|
type: 'platform',
|
|
1452
1477
|
destroyed: boolean,
|
|
1453
1478
|
rawValue: never | undefined,
|
|
1454
1479
|
portalContainer: never | undefined,
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1480
|
+
parent: NgtRendererNode | undefined,
|
|
1481
|
+
children: NgtRendererNode[],
|
|
1482
|
+
parentOverride: never | undefined,
|
|
1483
|
+
anchor: NgtRendererAnchor | undefined,
|
|
1484
|
+
owner: NgtRendererNode | undefined,
|
|
1485
|
+
ownedNodes: Set<NgtRendererNode> | undefined
|
|
1458
1486
|
];
|
|
1459
1487
|
type CommentRendererState = [
|
|
1460
1488
|
type: 'comment',
|
|
1461
1489
|
destroyed: boolean,
|
|
1462
1490
|
rawValue: never | undefined,
|
|
1463
1491
|
portalContainer: never | undefined,
|
|
1464
|
-
injector: Injector | undefined,
|
|
1465
1492
|
parent: NgtRendererNode | undefined,
|
|
1466
|
-
children: NgtRendererNode[]
|
|
1493
|
+
children: NgtRendererNode[],
|
|
1494
|
+
parentOverride: never | undefined,
|
|
1495
|
+
anchor: NgtRendererAnchor | undefined,
|
|
1496
|
+
owner: NgtRendererNode | undefined,
|
|
1497
|
+
ownedNodes: Set<NgtRendererNode> | undefined
|
|
1467
1498
|
];
|
|
1468
1499
|
type TextRendererState = [
|
|
1469
1500
|
type: 'text',
|
|
1470
1501
|
destroyed: boolean,
|
|
1471
1502
|
rawValue: never | undefined,
|
|
1472
1503
|
portalContainer: never | undefined,
|
|
1473
|
-
injector: never | undefined,
|
|
1474
1504
|
parent: NgtRendererNode | undefined,
|
|
1475
|
-
children: NgtRendererNode[]
|
|
1505
|
+
children: NgtRendererNode[],
|
|
1506
|
+
parentOverride: never | undefined,
|
|
1507
|
+
anchor: NgtRendererAnchor | undefined,
|
|
1508
|
+
owner: NgtRendererNode | undefined,
|
|
1509
|
+
ownedNodes: Set<NgtRendererNode> | undefined
|
|
1476
1510
|
];
|
|
1477
1511
|
type NgtRendererStateMap = {
|
|
1478
1512
|
three: ThreeRendererState;
|
|
@@ -1481,10 +1515,12 @@ type NgtRendererStateMap = {
|
|
|
1481
1515
|
comment: CommentRendererState;
|
|
1482
1516
|
text: TextRendererState;
|
|
1483
1517
|
};
|
|
1484
|
-
|
|
1518
|
+
type NgtRendererNodeType = keyof NgtRendererStateMap;
|
|
1519
|
+
interface NgtRendererNode<TType extends NgtRendererNodeType = NgtRendererNodeType> extends NgtAnyRecord {
|
|
1485
1520
|
[NGT_RENDERER_NODE_FLAG]: NgtRendererStateMap[TType];
|
|
1486
1521
|
[NGT_DOM_PARENT_FLAG]?: HTMLElement;
|
|
1487
1522
|
}
|
|
1523
|
+
declare function setRendererAnchor(node: unknown, anchor: NgtRendererAnchor): boolean;
|
|
1488
1524
|
|
|
1489
1525
|
/**
|
|
1490
1526
|
* Configuration options for the Angular Three renderer factory.
|
|
@@ -1496,13 +1532,8 @@ interface NgtRendererFactory2Options {
|
|
|
1496
1532
|
*/
|
|
1497
1533
|
verbose?: boolean;
|
|
1498
1534
|
/**
|
|
1499
|
-
*
|
|
1500
|
-
*
|
|
1501
|
-
* number of notifications, Angular Three caches and skips notifications when possible.
|
|
1502
|
-
*
|
|
1503
|
-
* However, this can cause missed notifications in some cases. Control the number of skips with this option.
|
|
1504
|
-
*
|
|
1505
|
-
* @default 5
|
|
1535
|
+
* @deprecated Ancestor notifications are now deterministically coalesced once per microtask.
|
|
1536
|
+
* This option is retained for source compatibility and no longer changes runtime behavior.
|
|
1506
1537
|
*/
|
|
1507
1538
|
maxNotificationSkipCount?: number;
|
|
1508
1539
|
}
|
|
@@ -1534,12 +1565,15 @@ declare class NgtRendererFactory2 implements RendererFactory2 {
|
|
|
1534
1565
|
private catalogue;
|
|
1535
1566
|
private document;
|
|
1536
1567
|
private options;
|
|
1537
|
-
private
|
|
1568
|
+
private rendererByDelegate;
|
|
1538
1569
|
/**
|
|
1539
1570
|
* NOTE: We use `useFactory` to instantiate `NgtRendererFactory2`
|
|
1540
1571
|
*/
|
|
1541
1572
|
constructor(delegateRendererFactory: RendererFactory2);
|
|
1542
1573
|
createRenderer(hostElement: any, type: RendererType2 | null): Renderer2;
|
|
1574
|
+
begin(): void;
|
|
1575
|
+
end(): void;
|
|
1576
|
+
whenRenderingDone(): Promise<any>;
|
|
1543
1577
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgtRendererFactory2, never>;
|
|
1544
1578
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NgtRendererFactory2>;
|
|
1545
1579
|
}
|
|
@@ -1560,37 +1594,52 @@ declare class NgtRenderer2 implements Renderer2 {
|
|
|
1560
1594
|
private catalogue;
|
|
1561
1595
|
private document;
|
|
1562
1596
|
private options;
|
|
1563
|
-
|
|
1564
|
-
private
|
|
1565
|
-
private
|
|
1566
|
-
|
|
1567
|
-
|
|
1597
|
+
private directiveInjectors;
|
|
1598
|
+
private parameterKeys;
|
|
1599
|
+
private attachedListeners;
|
|
1600
|
+
private updatedListeners;
|
|
1601
|
+
readonly data: {
|
|
1568
1602
|
[key: string]: any;
|
|
1569
1603
|
};
|
|
1604
|
+
constructor(delegateRenderer: Renderer2, catalogue: Record<string, NgtConstructorRepresentation>, document: Document, options: NgtRendererFactory2Options);
|
|
1570
1605
|
destroy(): void;
|
|
1571
|
-
createElement(name: string, namespace?: string | null):
|
|
1572
|
-
createComment(value: string):
|
|
1573
|
-
createText(value: string):
|
|
1574
|
-
destroyNode
|
|
1606
|
+
createElement(name: string, namespace?: string | null): any;
|
|
1607
|
+
createComment(value: string): any;
|
|
1608
|
+
createText(value: string): any;
|
|
1609
|
+
destroyNode(node: NgtRendererNode): void;
|
|
1575
1610
|
appendChild(parent: NgtRendererNode, newChild: NgtRendererNode, refChild?: NgtRendererNode, isMove?: boolean): void;
|
|
1576
1611
|
insertBefore(parent: NgtRendererNode, newChild: NgtRendererNode, refChild: NgtRendererNode, isMove?: boolean): void;
|
|
1577
|
-
removeChild(parent: NgtRendererNode, oldChild: NgtRendererNode, isHostElement?: boolean): void;
|
|
1612
|
+
removeChild(parent: NgtRendererNode, oldChild: NgtRendererNode, isHostElement?: boolean, requireSynchronousElementRemoval?: boolean): void;
|
|
1578
1613
|
parentNode(node: NgtRendererNode): any;
|
|
1579
1614
|
removeAttribute(el: NgtRendererNode, name: string, namespace?: string | null): void;
|
|
1580
1615
|
setAttribute(el: NgtRendererNode, name: string, value: string, namespace?: string | null): void;
|
|
1581
1616
|
setProperty(el: NgtRendererNode, name: string, value: any): void;
|
|
1582
|
-
listen(target: 'window' | 'document' | 'body' | NgtRendererNode, eventName: string, callback: (event: any) => boolean | void): () => void;
|
|
1617
|
+
listen(target: 'window' | 'document' | 'body' | NgtRendererNode, eventName: string, callback: (event: any) => boolean | void, options?: Parameters<Renderer2['listen']>[3]): () => void;
|
|
1583
1618
|
private appendThreeRendererNodes;
|
|
1584
1619
|
private setNodeRelationship;
|
|
1620
|
+
private findNearestThreeParent;
|
|
1621
|
+
private findTargetThreeParent;
|
|
1622
|
+
private portalStore;
|
|
1623
|
+
private findNearestPortalStore;
|
|
1624
|
+
private findFirstThreeDescendant;
|
|
1625
|
+
private findThreeInsertionReference;
|
|
1626
|
+
private findThreeReferenceAfterLogicalNode;
|
|
1627
|
+
private attachThreeDescendants;
|
|
1628
|
+
private detachThreeDescendants;
|
|
1629
|
+
private destroyOwnedNodes;
|
|
1630
|
+
private listenToInstanceEvent;
|
|
1631
|
+
private registerWithOptions;
|
|
1585
1632
|
private getNgtDirective;
|
|
1633
|
+
[NGT_RENDERER_CONTEXT_FLAG]: <T>(injector: Injector, callback: () => T) => T;
|
|
1586
1634
|
private normalizeAttach;
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1635
|
+
private updateAttachment;
|
|
1636
|
+
addClass(el: NgtRendererNode, name: string): void;
|
|
1637
|
+
removeClass(el: NgtRendererNode, name: string): void;
|
|
1638
|
+
setStyle(el: NgtRendererNode, style: string, value: any, flags?: RendererStyleFlags2): void;
|
|
1639
|
+
removeStyle(el: NgtRendererNode, style: string, flags?: RendererStyleFlags2): void;
|
|
1640
|
+
selectRootElement(selectorOrNode: string | any, preserveContent?: boolean): any;
|
|
1641
|
+
nextSibling(node: NgtRendererNode): any;
|
|
1642
|
+
setValue(node: NgtRendererNode, value: string): void;
|
|
1594
1643
|
}
|
|
1595
1644
|
|
|
1596
1645
|
/**
|
|
@@ -1611,7 +1660,7 @@ declare class NgtRenderer2 implements Renderer2 {
|
|
|
1611
1660
|
* ```
|
|
1612
1661
|
*/
|
|
1613
1662
|
declare function canvasRootInitializer(injector?: Injector): (canvas: NgtCanvasElement) => {
|
|
1614
|
-
isConfigured: boolean;
|
|
1663
|
+
readonly isConfigured: boolean;
|
|
1615
1664
|
destroy: (timeout?: number) => void;
|
|
1616
1665
|
configure: (inputs: NgtCanvasOptions) => void;
|
|
1617
1666
|
};
|
|
@@ -1991,7 +2040,7 @@ declare const is: {
|
|
|
1991
2040
|
* Generic Three.js type check using the is* pattern.
|
|
1992
2041
|
* @example is.three<THREE.Mesh>(obj, 'isMesh')
|
|
1993
2042
|
*/
|
|
1994
|
-
three: <TThreeEntity extends object, TKey extends keyof TThreeEntity = keyof TThreeEntity>(a: unknown, isKey: TKey extends `is${
|
|
2043
|
+
three: <TThreeEntity extends object, TKey extends keyof TThreeEntity = keyof TThreeEntity>(a: unknown, isKey: TKey extends `is${string}` ? TKey : never) => a is TThreeEntity;
|
|
1995
2044
|
/** Checks if value is a valid Three.js ColorRepresentation */
|
|
1996
2045
|
colorRepresentation: (a: unknown) => a is THREE.ColorRepresentation;
|
|
1997
2046
|
/** Checks if object has colorSpace or outputColorSpace property */
|
|
@@ -2265,5 +2314,5 @@ declare function checkUpdate(value: unknown): void;
|
|
|
2265
2314
|
*/
|
|
2266
2315
|
declare function updateCamera(camera: NgtCamera, size: NgtSize): void;
|
|
2267
2316
|
|
|
2268
|
-
export { NGT_APPLY_PROPS,
|
|
2269
|
-
export type { DeepSignal, NgtAfterAttach, NgtAllObject3DEventsMap, NgtAnyRecord, NgtArguments, NgtAttachFunction, NgtAttachable, NgtBeforeRenderEvent, NgtBeforeRenderRecord, NgtBranchingReturn, NgtCamera, NgtCameraLike, NgtCameraParameters, NgtCanvasConfigurator, NgtCanvasElement, NgtCanvasOptions, NgtColor, NgtComputeFunction, NgtConditionalType, NgtConstructorRepresentation, NgtDisposable, NgtDomEvent, NgtDpr, NgtElementProperties, NgtEquConfig, NgtEuler, NgtEventHandlers, NgtEventManager, NgtEventPrefix, NgtEvents, NgtFilterFunction, NgtFrameloop, NgtGLDefaultOptions, NgtGLOptions, NgtGLTFLike, NgtGlobalEffectType, NgtGlobalRenderCallback, NgtInjectedLoader, NgtInstanceHierarchyState, NgtInstanceNode, NgtInstanceState, NgtInternalState, NgtIntersection, NgtIntersectionEvent, NgtIsProperties, NgtLayers, NgtLoader, NgtLoaderExtensions, NgtLoaderProto, NgtLoaderResults, NgtLoaderReturnType, NgtMathProperties, NgtMathRepresentation, NgtMathType, NgtMathTypes, NgtMatrix3, NgtMatrix4, NgtMutable, NgtNodeElement, NgtNodeEventListener, NgtNodeEventMap, NgtNonFunctionKeys, NgtNonMutableProperties, NgtNonPartialProperties, NgtNullableRaycast, NgtNullish, NgtObject3DEventsMap, NgtObjectMap, NgtOverwrite, NgtPerformance, NgtPointerCaptureTarget, NgtPortalState, NgtProperties, NgtQuaternion, NgtRaycastableRepresentation, NgtRenderState, NgtRendererFactory2Options, NgtRendererLike, NgtShadows, NgtSize, NgtState, NgtThreeElement, NgtThreeElements, NgtThreeEvent, NgtVector2, NgtVector3, NgtVector4, NgtVectorRepresentation, NgtViewport, NgtXRManager, PartialStateUpdater, SignalState, StateSource, ThreeAddedEvent, ThreeChangeEvent, ThreeChildAddedEvent, ThreeChildRemovedEvent, ThreeDisposeEvent, ThreeRemovedEvent, WritableStateSource };
|
|
2317
|
+
export { NGT_APPLY_PROPS, NGT_CATALOGUE, NGT_DOM_PARENT_FLAG, NGT_GET_NODE_ATTRIBUTE_FLAG, NGT_HTML_FLAG, NGT_LOOP, NGT_RENDERER_CONTEXT_FLAG, NGT_RENDERER_NODE_FLAG, NGT_RENDERER_OPTIONS, NGT_STORE, NgtArgs, NgtElementEvents, NgtHTML, NgtHexify, NgtObjectEvents, NgtParent, NgtPortal, NgtPortalAutoRender, NgtPortalContent, NgtPortalImpl, NgtRenderer2, NgtRendererFactory2, NgtRoutedScene, NgtSelect, NgtSelection, NgtSelectionApi, THREE_NATIVE_EVENTS, addAfterEffect, addEffect, addTail, applyProps, attach, beforeRender, canvasRootInitializer, checkNeedsUpdate, checkUpdate, createAttachFunction, createEvents, detach, dispose, elementEvents, extend, flushAncestorNotifications, flushGlobalEffects, getEmitter, getInstanceState, getLocalState, hasListener, injectBeforeRender, injectCatalogue, injectLoader, injectLoop, injectObjectEvents, injectStore, invalidateInstance, is, loaderResource, makeCameraInstance, makeDpr, makeId, makeObjectGraph, makeRendererInstance, merge, objectEvents, omit, pick, prepare, provideHTMLDomElement, remove, removeInteractivity, resolveInstanceKey, resolveRef, roots, setRendererAnchor, signalState, storeFactory, toDeepSignal, updateCamera, uuidv4Fallback, vector2, vector3, vector4 };
|
|
2318
|
+
export type { DeepSignal, NgtAfterAttach, NgtAllObject3DEventsMap, NgtAnyRecord, NgtArguments, NgtAttachFunction, NgtAttachable, NgtBeforeRenderEvent, NgtBeforeRenderRecord, NgtBranchingReturn, NgtCamera, NgtCameraLike, NgtCameraParameters, NgtCanvasConfigurator, NgtCanvasElement, NgtCanvasOptions, NgtColor, NgtComputeFunction, NgtConditionalType, NgtConstructorRepresentation, NgtDisposable, NgtDomEvent, NgtDpr, NgtElementProperties, NgtEquConfig, NgtEuler, NgtEventHandlers, NgtEventManager, NgtEventPrefix, NgtEvents, NgtFilterFunction, NgtFrameloop, NgtGLDefaultOptions, NgtGLOptions, NgtGLTFLike, NgtGlobalEffectType, NgtGlobalRenderCallback, NgtInjectedLoader, NgtInstanceHierarchyState, NgtInstanceNode, NgtInstanceState, NgtInternalState, NgtIntersection, NgtIntersectionEvent, NgtIsProperties, NgtLayers, NgtLoader, NgtLoaderCacheKey, NgtLoaderExtensions, NgtLoaderProto, NgtLoaderResults, NgtLoaderReturnType, NgtMathProperties, NgtMathRepresentation, NgtMathType, NgtMathTypes, NgtMatrix3, NgtMatrix4, NgtMutable, NgtNodeElement, NgtNodeEventListener, NgtNodeEventMap, NgtNonFunctionKeys, NgtNonMutableProperties, NgtNonPartialProperties, NgtNullableRaycast, NgtNullish, NgtObject3DEventsMap, NgtObjectMap, NgtOverwrite, NgtPerformance, NgtPointerCaptureTarget, NgtPortalState, NgtProperties, NgtQuaternion, NgtRaycastableRepresentation, NgtRenderState, NgtRendererAnchor, NgtRendererFactory2Options, NgtRendererLike, NgtShadows, NgtSize, NgtState, NgtThreeElement, NgtThreeElements, NgtThreeEvent, NgtVector2, NgtVector3, NgtVector4, NgtVectorRepresentation, NgtViewport, NgtXRManager, PartialStateUpdater, SignalState, StateSource, ThreeAddedEvent, ThreeChangeEvent, ThreeChildAddedEvent, ThreeChildRemovedEvent, ThreeDisposeEvent, ThreeRemovedEvent, WritableStateSource };
|