angular-three 2.0.0-beta.31 → 2.0.0-beta.310
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/README.md +221 -4
- package/esm2022/index.mjs +13 -13
- package/esm2022/lib/canvas.mjs +128 -200
- package/esm2022/lib/directives/args.mjs +46 -20
- package/esm2022/lib/directives/selection.mjs +65 -0
- package/esm2022/lib/dom/events.mjs +2 -2
- package/esm2022/lib/events.mjs +33 -31
- package/esm2022/lib/html.mjs +40 -0
- package/esm2022/lib/instance.mjs +43 -36
- package/esm2022/lib/loader.mjs +62 -31
- package/esm2022/lib/loop.mjs +28 -25
- package/esm2022/lib/pipes/hexify.mjs +67 -0
- package/esm2022/lib/portal.mjs +173 -193
- package/esm2022/lib/renderer/catalogue.mjs +2 -2
- package/esm2022/lib/renderer/constants.mjs +5 -6
- package/esm2022/lib/renderer/index.mjs +387 -234
- package/esm2022/lib/renderer/state.mjs +49 -0
- package/esm2022/lib/renderer/utils.mjs +107 -95
- package/esm2022/lib/roots.mjs +85 -61
- package/esm2022/lib/routed-scene.mjs +6 -7
- package/esm2022/lib/store.mjs +170 -194
- package/esm2022/lib/three-types.mjs +2 -2
- package/esm2022/lib/types.mjs +1 -1
- package/esm2022/lib/utils/apply-props.mjs +24 -28
- package/esm2022/lib/utils/attach.mjs +12 -9
- package/esm2022/lib/utils/before-render.mjs +12 -0
- package/esm2022/lib/utils/is.mjs +6 -5
- package/esm2022/lib/utils/make.mjs +19 -17
- package/esm2022/lib/utils/non-nullish.mjs +7 -0
- package/esm2022/lib/utils/object-events.mjs +92 -0
- package/esm2022/lib/utils/parameters.mjs +70 -0
- package/esm2022/lib/utils/resolve-ref.mjs +8 -0
- package/esm2022/lib/utils/signal-store.mjs +52 -58
- package/esm2022/lib/utils/update.mjs +8 -4
- package/esm2022/testing/angular-three-testing.mjs +5 -0
- package/esm2022/testing/index.mjs +3 -0
- package/esm2022/testing/lib/test-bed.mjs +130 -0
- package/esm2022/testing/lib/test-canvas.mjs +45 -0
- package/esm2022/testing/lib/utils/mock-canvas.mjs +37 -0
- package/esm2022/testing/lib/utils/web-gl-rendering-context.mjs +752 -0
- package/fesm2022/angular-three-testing.mjs +966 -0
- package/fesm2022/angular-three-testing.mjs.map +1 -0
- package/fesm2022/angular-three.mjs +2506 -2539
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +14 -12
- package/lib/canvas.d.ts +366 -96
- package/lib/directives/args.d.ts +14 -7
- package/lib/directives/selection.d.ts +17 -0
- package/lib/dom/events.d.ts +2 -3
- package/lib/events.d.ts +4 -80
- package/lib/html.d.ts +17 -0
- package/lib/instance.d.ts +3 -35
- package/lib/loader.d.ts +18 -6
- package/lib/loop.d.ts +11 -59
- package/lib/pipes/hexify.d.ts +20 -0
- package/lib/portal.d.ts +54 -48
- package/lib/renderer/catalogue.d.ts +7 -3
- package/lib/renderer/constants.d.ts +4 -5
- package/lib/renderer/index.d.ts +64 -4
- package/lib/renderer/state.d.ts +24 -0
- package/lib/renderer/utils.d.ts +9 -27
- package/lib/roots.d.ts +9 -7
- package/lib/store.d.ts +13 -141
- package/lib/three-types.d.ts +500 -147
- package/lib/types.d.ts +291 -0
- package/lib/utils/apply-props.d.ts +1 -3
- package/lib/utils/attach.d.ts +3 -5
- package/lib/{before-render.d.ts → utils/before-render.d.ts} +1 -1
- package/lib/utils/is.d.ts +13 -14
- package/lib/utils/make.d.ts +7 -13
- package/lib/utils/non-nullish.d.ts +4 -0
- package/lib/utils/object-events.d.ts +34 -0
- package/lib/utils/parameters.d.ts +20 -0
- package/lib/utils/resolve-ref.d.ts +2 -0
- package/lib/utils/signal-store.d.ts +13 -4
- package/lib/utils/update.d.ts +1 -1
- package/metadata.json +1 -1
- package/package.json +40 -24
- package/plugin/generators.json +8 -30
- package/plugin/package.json +3 -22
- package/plugin/src/generators/add-soba/compat.js.map +1 -0
- package/plugin/src/generators/add-soba/generator.d.ts +3 -0
- package/plugin/src/generators/add-soba/generator.js +78 -0
- package/plugin/src/generators/add-soba/generator.js.map +1 -0
- package/plugin/src/generators/add-soba/schema.json +4 -0
- package/plugin/src/generators/init/compat.d.ts +1 -3
- package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +18 -7
- package/plugin/src/generators/init/generator.d.ts +5 -5
- package/plugin/src/generators/init/generator.js +100 -106
- package/plugin/src/generators/init/generator.js.map +1 -1
- package/plugin/src/generators/init/schema.json +8 -12
- package/plugin/src/generators/utils.js +4 -3
- package/plugin/src/generators/utils.js.map +1 -1
- package/plugin/src/generators/version.d.ts +17 -0
- package/plugin/src/generators/version.js +21 -0
- package/plugin/src/generators/version.js.map +1 -0
- package/plugin/src/index.d.ts +0 -3
- package/plugin/src/index.js +0 -9
- package/plugin/src/index.js.map +1 -1
- package/testing/README.md +3 -0
- package/testing/index.d.ts +2 -0
- package/testing/lib/test-bed.d.ts +38 -0
- package/testing/lib/test-canvas.d.ts +11 -0
- package/testing/lib/utils/mock-canvas.d.ts +5 -0
- package/testing/lib/utils/web-gl-rendering-context.d.ts +16 -0
- package/testing/package.json +3 -0
- package/web-types.json +1 -1
- package/esm2022/lib/before-render.mjs +0 -13
- package/esm2022/lib/directives/common.mjs +0 -41
- package/esm2022/lib/directives/key.mjs +0 -29
- package/esm2022/lib/directives/parent.mjs +0 -35
- package/esm2022/lib/ref.mjs +0 -48
- package/esm2022/lib/renderer/store.mjs +0 -408
- package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
- package/lib/directives/common.d.ts +0 -15
- package/lib/directives/key.d.ts +0 -10
- package/lib/directives/parent.d.ts +0 -11
- package/lib/ref.d.ts +0 -8
- package/lib/renderer/store.d.ts +0 -67
- package/lib/utils/safe-detect-changes.d.ts +0 -2
- package/plugin/migrations.json +0 -16
- package/plugin/src/generators/init/files/experience/experience.component.html__tmpl__ +0 -4
- package/plugin/src/generators/init-cannon/compat.js.map +0 -1
- package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
- package/plugin/src/generators/init-cannon/generator.js +0 -23
- package/plugin/src/generators/init-cannon/generator.js.map +0 -1
- package/plugin/src/generators/init-cannon/schema.json +0 -6
- package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
- package/plugin/src/generators/init-postprocessing/compat.js +0 -6
- package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
- package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
- package/plugin/src/generators/init-postprocessing/generator.js +0 -21
- package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
- package/plugin/src/generators/init-postprocessing/schema.json +0 -6
- package/plugin/src/generators/init-soba/compat.d.ts +0 -2
- package/plugin/src/generators/init-soba/compat.js +0 -6
- package/plugin/src/generators/init-soba/compat.js.map +0 -1
- package/plugin/src/generators/init-soba/generator.d.ts +0 -2
- package/plugin/src/generators/init-soba/generator.js +0 -27
- package/plugin/src/generators/init-soba/generator.js.map +0 -1
- package/plugin/src/generators/init-soba/schema.json +0 -6
- package/plugin/src/generators/versions.d.ts +0 -13
- package/plugin/src/generators/versions.js +0 -17
- package/plugin/src/generators/versions.js.map +0 -1
- package/plugin/src/migrations/migrate-to-ngxtension/compat.d.ts +0 -2
- package/plugin/src/migrations/migrate-to-ngxtension/compat.js +0 -6
- package/plugin/src/migrations/migrate-to-ngxtension/compat.js.map +0 -1
- package/plugin/src/migrations/migrate-to-ngxtension/migrate-to-ngxtension.d.ts +0 -2
- package/plugin/src/migrations/migrate-to-ngxtension/migrate-to-ngxtension.js +0 -41
- package/plugin/src/migrations/migrate-to-ngxtension/migrate-to-ngxtension.js.map +0 -1
- /package/plugin/src/generators/{init-cannon → add-soba}/compat.d.ts +0 -0
- /package/plugin/src/generators/{init-cannon → add-soba}/compat.js +0 -0
package/lib/events.d.ts
CHANGED
|
@@ -1,83 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
export interface NgtIntersection extends THREE.Intersection {
|
|
6
|
-
/** The event source (the object which registered the handler) */
|
|
7
|
-
eventObject: THREE.Object3D;
|
|
8
|
-
}
|
|
9
|
-
export interface NgtIntersectionEvent<TSourceEvent> extends NgtIntersection {
|
|
10
|
-
/** The event source (the object which registered the handler) */
|
|
11
|
-
eventObject: THREE.Object3D;
|
|
12
|
-
/** An array of intersections */
|
|
13
|
-
intersections: NgtIntersection[];
|
|
14
|
-
/** vec3.set(pointer.x, pointer.y, 0).unproject(camera) */
|
|
15
|
-
unprojectedPoint: THREE.Vector3;
|
|
16
|
-
/** Normalized event coordinates */
|
|
17
|
-
pointer: THREE.Vector2;
|
|
18
|
-
/** Delta between first click and this event */
|
|
19
|
-
delta: number;
|
|
20
|
-
/** The ray that pierced it */
|
|
21
|
-
ray: THREE.Ray;
|
|
22
|
-
/** The camera that was used by the raycaster */
|
|
23
|
-
camera: NgtCamera;
|
|
24
|
-
/** stopPropagation will stop underlying handlers from firing */
|
|
25
|
-
stopPropagation: () => void;
|
|
26
|
-
/** The original host event */
|
|
27
|
-
nativeEvent: TSourceEvent;
|
|
28
|
-
/** If the event was stopped by calling stopPropagation */
|
|
29
|
-
stopped: boolean;
|
|
30
|
-
}
|
|
31
|
-
export type NgtCamera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
32
|
-
export type NgtThreeEvent<TEvent> = NgtIntersectionEvent<TEvent> & NgtProperties<TEvent>;
|
|
33
|
-
export type NgtDomEvent = PointerEvent | MouseEvent | WheelEvent;
|
|
34
|
-
export type NgtEventHandlers = {
|
|
35
|
-
click?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
36
|
-
contextmenu?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
37
|
-
dblclick?: (event: NgtThreeEvent<MouseEvent>) => void;
|
|
38
|
-
pointerup?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
39
|
-
pointerdown?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
40
|
-
pointerover?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
41
|
-
pointerout?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
42
|
-
pointerenter?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
43
|
-
pointerleave?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
44
|
-
pointermove?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
45
|
-
pointermissed?: (event: MouseEvent) => void;
|
|
46
|
-
pointercancel?: (event: NgtThreeEvent<PointerEvent>) => void;
|
|
47
|
-
wheel?: (event: NgtThreeEvent<WheelEvent>) => void;
|
|
48
|
-
};
|
|
49
|
-
export type NgtEvents = {
|
|
50
|
-
[TEvent in keyof NgtEventHandlers]-?: EventListener;
|
|
51
|
-
};
|
|
52
|
-
export type NgtFilterFunction = (items: THREE.Intersection[], store: NgtSignalStore<NgtState>) => THREE.Intersection[];
|
|
53
|
-
export type NgtComputeFunction = (event: NgtDomEvent, root: NgtSignalStore<NgtState>, previous: NgtSignalStore<NgtState> | null) => void;
|
|
54
|
-
export interface NgtEventManager<TTarget> {
|
|
55
|
-
/** Determines if the event layer is active */
|
|
56
|
-
enabled: boolean;
|
|
57
|
-
/** Event layer priority, higher prioritized layers come first and may stop(-propagate) lower layer */
|
|
58
|
-
priority: number;
|
|
59
|
-
/** The compute function needs to set up the raycaster and an xy- pointer */
|
|
60
|
-
compute?: NgtComputeFunction;
|
|
61
|
-
/** The filter can re-order or re-structure the intersections */
|
|
62
|
-
filter?: NgtFilterFunction;
|
|
63
|
-
/** The target node the event layer is tied to */
|
|
64
|
-
connected?: TTarget;
|
|
65
|
-
/** All the pointer event handlers through which the host forwards native events */
|
|
66
|
-
handlers?: NgtEvents;
|
|
67
|
-
/** Allows re-connecting to another target */
|
|
68
|
-
connect?: (target: TTarget) => void;
|
|
69
|
-
/** Removes all existing events handlers from the target */
|
|
70
|
-
disconnect?: () => void;
|
|
71
|
-
/** Triggers a onPointerMove with the last known event. This can be useful to enable raycasting without
|
|
72
|
-
* explicit user interaction, for instance when the camera moves a hoverable object underneath the cursor.
|
|
73
|
-
*/
|
|
74
|
-
update?: () => void;
|
|
75
|
-
}
|
|
76
|
-
export interface NgtPointerCaptureTarget {
|
|
77
|
-
intersection: NgtIntersection;
|
|
78
|
-
target: Element;
|
|
79
|
-
}
|
|
80
|
-
export declare function removeInteractivity(store: NgtSignalStore<NgtState>, object: THREE.Object3D): void;
|
|
1
|
+
import { Object3D } from 'three';
|
|
2
|
+
import { NgtDomEvent, NgtState } from './types';
|
|
3
|
+
import { NgtSignalStore } from './utils/signal-store';
|
|
4
|
+
export declare function removeInteractivity(store: NgtSignalStore<NgtState>, object: Object3D): void;
|
|
81
5
|
export declare function createEvents(store: NgtSignalStore<NgtState>): {
|
|
82
6
|
handlePointer: (name: string) => (event: NgtDomEvent) => void;
|
|
83
7
|
};
|
package/lib/html.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AbstractType, DestroyRef, ElementRef, InjectionToken, Provider, ProviderToken, Type } from '@angular/core';
|
|
2
|
+
import { HTML } from './renderer';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare function provideHTMLDomElement(): Provider;
|
|
5
|
+
export declare function provideHTMLDomElement<TDeps extends Array<ProviderToken<any>>, TValues extends {
|
|
6
|
+
[K in keyof TDeps]: TDeps[K] extends Type<infer T> | AbstractType<infer T> | InjectionToken<infer T> ? T : never;
|
|
7
|
+
}>(deps: TDeps, factory: (...args: TValues) => HTMLElement): Provider;
|
|
8
|
+
export declare abstract class NgtHTML {
|
|
9
|
+
static [HTML]: boolean;
|
|
10
|
+
protected store: import("angular-three").NgtSignalStore<import("./types").NgtState>;
|
|
11
|
+
protected destroyRef: DestroyRef;
|
|
12
|
+
protected host: ElementRef<HTMLElement>;
|
|
13
|
+
protected domElement: HTMLElement | "gl" | null;
|
|
14
|
+
constructor();
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtHTML, never>;
|
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgtHTML, never, never, {}, {}, never, never, false, never>;
|
|
17
|
+
}
|
package/lib/instance.d.ts
CHANGED
|
@@ -1,36 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import type { NgtState } from './store';
|
|
4
|
-
import type { NgtAnyRecord } from './types';
|
|
5
|
-
import { type NgtSignalStore } from './utils/signal-store';
|
|
6
|
-
export type NgtAttachFunction<TChild = any, TParent = any> = (parent: TParent, child: TChild, store: NgtSignalStore<NgtState>) => void | (() => void);
|
|
7
|
-
export type NgtAfterAttach<TChild extends NgtInstanceNode = NgtInstanceNode, TParent extends NgtInstanceNode = NgtInstanceNode> = {
|
|
8
|
-
parent: TParent;
|
|
9
|
-
node: TChild;
|
|
10
|
-
};
|
|
11
|
-
export type NgtInstanceLocalState = {
|
|
12
|
-
/** the state getter of the canvas that the instance is being rendered to */
|
|
13
|
-
store: NgtSignalStore<NgtState>;
|
|
14
|
-
nonObjects: WritableSignal<NgtInstanceNode[]>;
|
|
15
|
-
objects: WritableSignal<NgtInstanceNode[]>;
|
|
16
|
-
add: (instance: NgtInstanceNode, type: 'objects' | 'nonObjects') => void;
|
|
17
|
-
remove: (instance: NgtInstanceNode, type: 'objects' | 'nonObjects') => void;
|
|
18
|
-
nativeProps: NgtSignalStore<NgtAnyRecord>;
|
|
19
|
-
parent: WritableSignal<NgtInstanceNode | null>;
|
|
20
|
-
primitive?: boolean;
|
|
21
|
-
eventCount: number;
|
|
22
|
-
handlers: Partial<NgtEventHandlers>;
|
|
23
|
-
args?: unknown[];
|
|
24
|
-
attach?: string[] | NgtAttachFunction;
|
|
25
|
-
previousAttach?: unknown | (() => void);
|
|
26
|
-
isRaw?: boolean;
|
|
27
|
-
priority?: number;
|
|
28
|
-
afterUpdate?: EventEmitter<NgtInstanceNode>;
|
|
29
|
-
afterAttach?: EventEmitter<NgtAfterAttach>;
|
|
30
|
-
};
|
|
31
|
-
export type NgtInstanceNode<TNode = any> = {
|
|
32
|
-
__ngt__: NgtInstanceLocalState;
|
|
33
|
-
} & NgtAnyRecord & TNode;
|
|
34
|
-
export declare function getLocalState<TInstance extends object = NgtAnyRecord>(obj: TInstance | undefined): NgtInstanceLocalState;
|
|
1
|
+
import { NgtAnyRecord, NgtInstanceNode, NgtLocalState } from './types';
|
|
2
|
+
export declare function getLocalState<TInstance extends object>(obj: TInstance | undefined): NgtLocalState | undefined;
|
|
35
3
|
export declare function invalidateInstance<TInstance extends object>(instance: TInstance): void;
|
|
36
|
-
export declare function prepare<TInstance extends object = NgtAnyRecord>(object: TInstance, localState?: Partial<
|
|
4
|
+
export declare function prepare<TInstance extends object = NgtAnyRecord>(object: TInstance, localState?: Partial<NgtLocalState>): NgtInstanceNode<TInstance>;
|
package/lib/loader.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { Injector,
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
export
|
|
1
|
+
import { Injector, Signal } from '@angular/core';
|
|
2
|
+
import { Loader, Object3D } from 'three';
|
|
3
|
+
import { NgtObjectMap } from './utils/make';
|
|
4
|
+
export type NgtGLTFLike = {
|
|
5
|
+
scene: Object3D;
|
|
6
|
+
};
|
|
7
|
+
export interface NgtLoader<T> extends Loader {
|
|
5
8
|
load(url: string, onLoad?: (result: T) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: unknown) => void): unknown;
|
|
6
9
|
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<T>;
|
|
7
10
|
}
|
|
@@ -15,8 +18,17 @@ export type NgtBranchingReturn<T, Parent, Coerced> = NgtConditionalType<T, Paren
|
|
|
15
18
|
export type NgtLoaderResults<TInput extends string | string[] | Record<string, string>, TReturn> = TInput extends string[] ? TReturn[] : TInput extends object ? {
|
|
16
19
|
[key in keyof TInput]: TReturn;
|
|
17
20
|
} : TReturn;
|
|
18
|
-
|
|
21
|
+
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, }?: {
|
|
19
22
|
extensions?: NgtLoaderExtensions<TLoaderConstructor>;
|
|
20
23
|
onProgress?: (event: ProgressEvent) => void;
|
|
24
|
+
onLoad?: (data: NoInfer<TReturn>) => void;
|
|
21
25
|
injector?: Injector;
|
|
22
|
-
}): Signal<NgtLoaderResults<TUrl, NgtBranchingReturn<TReturn,
|
|
26
|
+
}): Signal<NgtLoaderResults<TUrl, NgtBranchingReturn<TReturn, NgtGLTFLike, NgtGLTFLike & NgtObjectMap>> | null>;
|
|
27
|
+
declare namespace _injectLoader {
|
|
28
|
+
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;
|
|
29
|
+
var destroy: () => void;
|
|
30
|
+
var clear: (urls: string | string[]) => void;
|
|
31
|
+
}
|
|
32
|
+
export type NgtInjectedLoader = typeof _injectLoader;
|
|
33
|
+
export declare const injectLoader: NgtInjectedLoader;
|
|
34
|
+
export {};
|
package/lib/loop.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
export type NgtGlobalRenderCallback = (timeStamp: number) => void;
|
|
1
|
+
import { NgtCanvasElement, NgtGlobalRenderCallback, NgtState } from './types';
|
|
2
|
+
import { NgtSignalStore } from './utils/signal-store';
|
|
3
|
+
export declare const roots: Map<NgtCanvasElement, NgtSignalStore<NgtState>>;
|
|
5
4
|
/**
|
|
6
5
|
* Adds a global render callback which is called each frame.
|
|
7
6
|
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#addEffect
|
|
@@ -19,73 +18,26 @@ export declare const addAfterEffect: (callback: NgtGlobalRenderCallback) => () =
|
|
|
19
18
|
export declare const addTail: (callback: NgtGlobalRenderCallback) => () => void;
|
|
20
19
|
export type NgtGlobalEffectType = 'before' | 'after' | 'tail';
|
|
21
20
|
export declare function flushGlobalEffects(type: NgtGlobalEffectType, timestamp: number): void;
|
|
22
|
-
declare
|
|
23
|
-
loop: (timestamp: number) => void;
|
|
24
|
-
/**
|
|
25
|
-
* Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.
|
|
26
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate
|
|
27
|
-
*/
|
|
28
|
-
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
29
|
-
/**
|
|
30
|
-
* Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop="never"`.
|
|
31
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance
|
|
32
|
-
*/
|
|
33
|
-
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
34
|
-
};
|
|
35
|
-
export declare const injectNgtLoop: {
|
|
21
|
+
export declare const injectLoop: {
|
|
36
22
|
(): {
|
|
37
23
|
loop: (timestamp: number) => void;
|
|
38
|
-
/**
|
|
39
|
-
* Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.
|
|
40
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate
|
|
41
|
-
*/
|
|
42
24
|
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
43
|
-
/**
|
|
44
|
-
* Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop="never"`.
|
|
45
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance
|
|
46
|
-
*/
|
|
47
25
|
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
48
26
|
};
|
|
49
27
|
(injectOptions: import("@angular/core").InjectOptions & {
|
|
50
|
-
optional?: false
|
|
28
|
+
optional?: false;
|
|
29
|
+
} & {
|
|
30
|
+
injector?: import("@angular/core").Injector;
|
|
51
31
|
}): {
|
|
52
32
|
loop: (timestamp: number) => void;
|
|
53
|
-
/**
|
|
54
|
-
* Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.
|
|
55
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate
|
|
56
|
-
*/
|
|
57
33
|
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
58
|
-
/**
|
|
59
|
-
* Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop="never"`.
|
|
60
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance
|
|
61
|
-
*/
|
|
62
34
|
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
63
35
|
};
|
|
64
|
-
(injectOptions: import("@angular/core").InjectOptions
|
|
36
|
+
(injectOptions: import("@angular/core").InjectOptions & {
|
|
37
|
+
injector?: import("@angular/core").Injector;
|
|
38
|
+
}): {
|
|
65
39
|
loop: (timestamp: number) => void;
|
|
66
|
-
/**
|
|
67
|
-
* Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.
|
|
68
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate
|
|
69
|
-
*/
|
|
70
40
|
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
71
|
-
/**
|
|
72
|
-
* Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop="never"`.
|
|
73
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance
|
|
74
|
-
*/
|
|
75
41
|
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
76
42
|
} | null;
|
|
77
|
-
}
|
|
78
|
-
loop: (timestamp: number) => void;
|
|
79
|
-
/**
|
|
80
|
-
* Invalidates the view, requesting a frame to be rendered. Will globally invalidate unless passed a root's state.
|
|
81
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#invalidate
|
|
82
|
-
*/
|
|
83
|
-
invalidate: (store?: NgtSignalStore<NgtState>, frames?: number) => void;
|
|
84
|
-
/**
|
|
85
|
-
* Advances the frameloop and runs render effects, useful for when manually rendering via `frameloop="never"`.
|
|
86
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#advance
|
|
87
|
-
*/
|
|
88
|
-
advance: (timestamp: number, runGlobalEffects?: boolean, store?: NgtSignalStore<NgtState>, frame?: XRFrame) => void;
|
|
89
|
-
}>;
|
|
90
|
-
export type NgtLoop = ReturnType<typeof createLoop>;
|
|
91
|
-
export {};
|
|
43
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class NgtHexify {
|
|
3
|
+
private document;
|
|
4
|
+
private ctx?;
|
|
5
|
+
/**
|
|
6
|
+
* transforms a:
|
|
7
|
+
* - hex string to a hex number
|
|
8
|
+
* - rgb string to a hex number
|
|
9
|
+
* - rgba string to a hex number
|
|
10
|
+
* - css color string to a hex number
|
|
11
|
+
*
|
|
12
|
+
* always default to black if failed
|
|
13
|
+
* @param value
|
|
14
|
+
*/
|
|
15
|
+
transform(value: string): number;
|
|
16
|
+
private hexStringToNumber;
|
|
17
|
+
private componentToHex;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtHexify, never>;
|
|
19
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgtHexify, "hexify", true>;
|
|
20
|
+
}
|
package/lib/portal.d.ts
CHANGED
|
@@ -1,61 +1,67 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { type NgtRenderState, type NgtSize, type NgtState } from './store';
|
|
1
|
+
import { Injector, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Camera, Object3D, Scene } from 'three';
|
|
3
|
+
import { NgtComputeFunction, NgtSize, NgtState } from './types';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
|
-
declare
|
|
7
|
-
type PrivateKeys = (typeof privateKeys)[number];
|
|
8
|
-
export interface NgtPortalInputs {
|
|
9
|
-
container: ElementRef<THREE.Object3D> | THREE.Object3D;
|
|
10
|
-
camera: ElementRef<THREE.Camera> | THREE.Camera;
|
|
11
|
-
state: Partial<Omit<NgtState, PrivateKeys> & {
|
|
12
|
-
events: Partial<Pick<NgtEventManager<any>, 'enabled' | 'priority' | 'compute' | 'connected'>>;
|
|
13
|
-
size: NgtSize;
|
|
14
|
-
}>;
|
|
15
|
-
}
|
|
16
|
-
export declare class NgtPortalBeforeRender implements OnInit {
|
|
5
|
+
export declare class NgtPortalBeforeRender {
|
|
17
6
|
private portalStore;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
ngOnInit(): void;
|
|
7
|
+
renderPriority: import("@angular/core").InputSignal<number>;
|
|
8
|
+
parentScene: import("@angular/core").InputSignal<Scene>;
|
|
9
|
+
parentCamera: import("@angular/core").InputSignal<Camera>;
|
|
10
|
+
constructor();
|
|
11
|
+
onPointerOver(): void;
|
|
24
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgtPortalBeforeRender, never>;
|
|
25
|
-
static
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgtPortalBeforeRender, "ngt-portal-before-render", never, { "renderPriority": { "alias": "renderPriority"; "required": false; "isSignal": true; }; "parentScene": { "alias": "parentScene"; "required": true; "isSignal": true; }; "parentCamera": { "alias": "parentCamera"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
26
14
|
}
|
|
27
15
|
export declare class NgtPortalContent {
|
|
28
|
-
constructor(
|
|
29
|
-
static
|
|
30
|
-
|
|
16
|
+
constructor();
|
|
17
|
+
static ngTemplateContextGuard(_: NgtPortalContent, ctx: unknown): ctx is {
|
|
18
|
+
container: Object3D;
|
|
19
|
+
injector: Injector;
|
|
20
|
+
};
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtPortalContent, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgtPortalContent, "ng-template[portalContent]", never, {}, {}, never, never, true, never>;
|
|
31
23
|
}
|
|
32
|
-
export declare
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
24
|
+
export declare const privateKeys: readonly ["setSize", "setFrameloop", "setDpr", "events", "setEvents", "invalidate", "advance", "size", "viewport"];
|
|
25
|
+
export type NgtPortalPrivateKeys = (typeof privateKeys)[number];
|
|
26
|
+
export type NgtPortalInjectableState = Partial<Omit<NgtState, NgtPortalPrivateKeys> & {
|
|
27
|
+
events?: {
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
priority?: number;
|
|
30
|
+
compute?: NgtComputeFunction;
|
|
31
|
+
connected?: any;
|
|
32
|
+
};
|
|
33
|
+
size?: NgtSize;
|
|
34
|
+
}>;
|
|
35
|
+
export declare class NgtPortal {
|
|
36
|
+
container: import("@angular/core").InputSignal<Object3D<import("three").Object3DEventMap>>;
|
|
37
|
+
state: import("@angular/core").InputSignal<Partial<Omit<NgtState, "viewport" | "size" | "setSize" | "events" | "invalidate" | "advance" | "setEvents" | "setDpr" | "setFrameloop"> & {
|
|
38
|
+
events?: {
|
|
39
|
+
enabled?: boolean;
|
|
40
|
+
priority?: number;
|
|
41
|
+
compute?: NgtComputeFunction;
|
|
42
|
+
connected?: any;
|
|
43
|
+
};
|
|
44
|
+
size?: NgtSize;
|
|
45
|
+
}>>;
|
|
46
|
+
/**
|
|
47
|
+
* @decsription turn this on to enable "HUD" like rendering
|
|
48
|
+
*/
|
|
49
|
+
autoRender: import("@angular/core").InputSignal<boolean>;
|
|
50
|
+
autoRenderPriority: import("@angular/core").InputSignal<number>;
|
|
51
|
+
portalContent: import("@angular/core").Signal<TemplateRef<any>>;
|
|
52
|
+
portalAnchor: import("@angular/core").Signal<ViewContainerRef>;
|
|
48
53
|
private injector;
|
|
49
|
-
private
|
|
54
|
+
private portalStore;
|
|
55
|
+
private parentStore;
|
|
56
|
+
parentScene: import("@angular/core").Signal<Scene>;
|
|
57
|
+
parentCamera: import("@angular/core").Signal<import("./types").NgtCameraManual>;
|
|
50
58
|
private raycaster;
|
|
51
59
|
private pointer;
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
private portalRendered;
|
|
61
|
+
renderAutoBeforeRender: import("@angular/core").Signal<boolean>;
|
|
62
|
+
private portalView?;
|
|
54
63
|
constructor();
|
|
55
|
-
ngOnInit(): void;
|
|
56
|
-
onBeforeRender(portal: NgtRenderState): void;
|
|
57
64
|
private inject;
|
|
58
65
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgtPortal, never>;
|
|
59
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgtPortal, "ngt-portal", never, { "container": { "alias": "container"; "required":
|
|
66
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgtPortal, "ngt-portal", never, { "container": { "alias": "container"; "required": true; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "autoRender": { "alias": "autoRender"; "required": false; "isSignal": true; }; "autoRenderPriority": { "alias": "autoRenderPriority"; "required": false; "isSignal": true; }; }, {}, ["portalContent"], never, true, never>;
|
|
60
67
|
}
|
|
61
|
-
export {};
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export type NgtAnyConstructor = new (...args: any[]) => any;
|
|
2
2
|
export declare function extend(objects: object): void;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const injectCatalogue: {
|
|
4
4
|
(): Record<string, NgtAnyConstructor>;
|
|
5
5
|
(injectOptions: import("@angular/core").InjectOptions & {
|
|
6
|
-
optional?: false
|
|
6
|
+
optional?: false;
|
|
7
|
+
} & {
|
|
8
|
+
injector?: import("@angular/core").Injector;
|
|
7
9
|
}): Record<string, NgtAnyConstructor>;
|
|
8
|
-
(injectOptions: import("@angular/core").InjectOptions
|
|
10
|
+
(injectOptions: import("@angular/core").InjectOptions & {
|
|
11
|
+
injector?: import("@angular/core").Injector;
|
|
12
|
+
}): Record<string, NgtAnyConstructor> | null;
|
|
9
13
|
};
|
|
@@ -7,14 +7,13 @@ export declare const SPECIAL_DOM_TAG: {
|
|
|
7
7
|
readonly NGT_VALUE: "ngt-value";
|
|
8
8
|
};
|
|
9
9
|
export declare const SPECIAL_PROPERTIES: {
|
|
10
|
-
readonly COMPOUND: "ngtCompound";
|
|
11
10
|
readonly RENDER_PRIORITY: "priority";
|
|
12
11
|
readonly ATTACH: "attach";
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
12
|
+
readonly RAW_VALUE: "rawValue";
|
|
13
|
+
readonly PARAMETERS: "parameters";
|
|
15
14
|
};
|
|
16
15
|
export declare const SPECIAL_EVENTS: {
|
|
17
16
|
readonly BEFORE_RENDER: "beforeRender";
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
17
|
+
readonly UPDATED: "updated";
|
|
18
|
+
readonly ATTACHED: "attached";
|
|
20
19
|
};
|
package/lib/renderer/index.d.ts
CHANGED
|
@@ -1,5 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { Renderer2, RendererFactory2, RendererType2 } from '@angular/core';
|
|
2
|
+
import { NgtAnyRecord, NgtState } from '../types';
|
|
3
|
+
import { NgtSignalStore } from '../utils/signal-store';
|
|
4
|
+
import { NgtAnyConstructor } from './catalogue';
|
|
5
|
+
import { NgtRendererNode, NgtRendererState } from './state';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class NgtRendererFactory implements RendererFactory2 {
|
|
8
|
+
private delegateRendererFactory;
|
|
9
|
+
private document;
|
|
10
|
+
private catalogue;
|
|
11
|
+
private rootStore;
|
|
12
|
+
private portalCommentsNodes;
|
|
13
|
+
private rendererMap;
|
|
14
|
+
private routedSet;
|
|
15
|
+
createRenderer(hostElement: any, type: RendererType2 | null): Renderer2;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgtRendererFactory, never>;
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NgtRendererFactory>;
|
|
18
|
+
}
|
|
19
|
+
export declare class NgtRenderer implements Renderer2 {
|
|
20
|
+
private delegate;
|
|
21
|
+
private rootStore;
|
|
22
|
+
private document;
|
|
23
|
+
private portalCommentsNodes;
|
|
24
|
+
private catalogue;
|
|
25
|
+
private isRoot;
|
|
26
|
+
private argsCommentNodes;
|
|
27
|
+
constructor(delegate: Renderer2, rootStore: NgtSignalStore<NgtState>, document: Document, portalCommentsNodes: Array<NgtRendererNode>, catalogue: Record<string, NgtAnyConstructor>, isRoot?: boolean);
|
|
28
|
+
createElement(name: string, namespace?: string | null | undefined): NgtAnyRecord & {
|
|
29
|
+
__ngt_renderer__: NgtRendererState;
|
|
30
|
+
};
|
|
31
|
+
createComment(value: string): NgtAnyRecord & {
|
|
32
|
+
__ngt_renderer__: NgtRendererState;
|
|
33
|
+
};
|
|
34
|
+
appendChild(parent: NgtRendererNode, newChild: NgtRendererNode): void;
|
|
35
|
+
insertBefore(parent: NgtRendererNode, newChild: NgtRendererNode): void;
|
|
36
|
+
removeChild(parent: NgtRendererNode | null, oldChild: NgtRendererNode, isHostElement?: boolean | undefined): void;
|
|
37
|
+
parentNode(node: NgtRendererNode): any;
|
|
38
|
+
private setAttributeInternal;
|
|
39
|
+
setAttribute(el: NgtRendererNode, name: string, value: string, namespace?: string | null | undefined): void;
|
|
40
|
+
removeAttribute(el: NgtRendererNode, name: string, namespace?: string | null | undefined): void;
|
|
41
|
+
setProperty(el: NgtRendererNode, name: string, value: any): void;
|
|
42
|
+
listen(target: NgtRendererNode, eventName: string, callback: (event: any) => boolean | void): () => void;
|
|
43
|
+
private destroyInternal;
|
|
44
|
+
private removeCommentNode;
|
|
45
|
+
private processPortalContainer;
|
|
46
|
+
private shouldFindGrandparentInstance;
|
|
47
|
+
private getNgtArgs;
|
|
48
|
+
private tryGetPortalStore;
|
|
49
|
+
createText: (value: string) => any;
|
|
50
|
+
destroy: () => void;
|
|
51
|
+
destroyNode: ((node: any) => void) | null;
|
|
52
|
+
selectRootElement: (selectorOrNode: string | any, preserveContent?: boolean) => any;
|
|
53
|
+
nextSibling: (node: any) => any;
|
|
54
|
+
addClass: (el: any, name: string) => void;
|
|
55
|
+
removeClass: (el: any, name: string) => void;
|
|
56
|
+
setStyle: (el: any, style: string, value: any, flags?: import("@angular/core").RendererStyleFlags2) => void;
|
|
57
|
+
removeStyle: (el: any, style: string, flags?: import("@angular/core").RendererStyleFlags2) => void;
|
|
58
|
+
setValue: (node: any, value: string) => void;
|
|
59
|
+
get data(): {
|
|
60
|
+
[key: string]: any;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export declare function provideNgtRenderer(store: NgtSignalStore<NgtState>): import("@angular/core").EnvironmentProviders;
|
|
4
64
|
export { extend } from './catalogue';
|
|
5
|
-
export { HTML } from './constants';
|
|
65
|
+
export { HTML, ROUTED_SCENE } from './constants';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injector } from '@angular/core';
|
|
2
|
+
import { NgtAnyRecord } from '../types';
|
|
3
|
+
import { NgtRendererClassId } from './utils';
|
|
4
|
+
export type NgtRendererState = [
|
|
5
|
+
type: 'three' | 'portal' | 'comment' | 'dom',
|
|
6
|
+
parent: NgtRendererNode | null,
|
|
7
|
+
children: NgtRendererNode[],
|
|
8
|
+
destroyed: boolean,
|
|
9
|
+
rawValue: any,
|
|
10
|
+
portalContainer: NgtRendererNode,
|
|
11
|
+
injectorFactory: () => Injector | undefined
|
|
12
|
+
];
|
|
13
|
+
export interface NgtRendererNode {
|
|
14
|
+
__ngt_renderer__: NgtRendererState;
|
|
15
|
+
__ngt_dom_parent__?: HTMLElement;
|
|
16
|
+
}
|
|
17
|
+
export declare function createNode(type: NgtRendererState[NgtRendererClassId.type], node: NgtAnyRecord, document: Document): NgtAnyRecord & {
|
|
18
|
+
__ngt_renderer__: NgtRendererState;
|
|
19
|
+
};
|
|
20
|
+
export declare function isDOM(node: NgtAnyRecord): boolean;
|
|
21
|
+
export declare function getClosestParentWithInstance(node: NgtRendererNode): NgtRendererNode | null;
|
|
22
|
+
export declare function setParent(node: NgtRendererNode, parent: NgtRendererNode): void;
|
|
23
|
+
export declare function addChild(node: NgtRendererNode, child: NgtRendererNode): void;
|
|
24
|
+
export declare function removeChild(node: NgtRendererNode, child: NgtRendererNode): void;
|
package/lib/renderer/utils.d.ts
CHANGED
|
@@ -1,32 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type NgtInstanceNode } from '../instance';
|
|
1
|
+
import { NgtInstanceNode } from '../types';
|
|
3
2
|
export declare const enum NgtRendererClassId {
|
|
4
3
|
type = 0,
|
|
5
4
|
parent = 1,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
compounded = 7,
|
|
12
|
-
queueOps = 8,
|
|
13
|
-
attributes = 9,
|
|
14
|
-
properties = 10,
|
|
15
|
-
rawValue = 11,
|
|
16
|
-
ref = 12,
|
|
17
|
-
portalContainer = 13,
|
|
18
|
-
injectorFactory = 14
|
|
5
|
+
children = 2,
|
|
6
|
+
destroyed = 3,
|
|
7
|
+
rawValue = 4,
|
|
8
|
+
portalContainer = 5,
|
|
9
|
+
injectorFactory = 6
|
|
19
10
|
}
|
|
20
|
-
export declare const enum NgtCompoundClassId {
|
|
21
|
-
applyFirst = 0,
|
|
22
|
-
props = 1
|
|
23
|
-
}
|
|
24
|
-
export declare const enum NgtQueueOpClassId {
|
|
25
|
-
type = 0,
|
|
26
|
-
op = 1,
|
|
27
|
-
done = 2
|
|
28
|
-
}
|
|
29
|
-
export declare function attachThreeChild(parent: NgtInstanceNode, child: NgtInstanceNode): void;
|
|
30
|
-
export declare function removeThreeChild(parent: NgtInstanceNode, child: NgtInstanceNode, dispose?: boolean): void;
|
|
31
11
|
export declare function kebabToPascal(str: string): string;
|
|
32
|
-
export declare function
|
|
12
|
+
export declare function attachThreeChild(parent: NgtInstanceNode, child: NgtInstanceNode): void;
|
|
13
|
+
export declare function removeThreeChild(child: NgtInstanceNode, parent?: NgtInstanceNode, dispose?: boolean): void;
|
|
14
|
+
export declare function processThreeEvent(instance: NgtInstanceNode, priority: number, eventName: string, callback: (event: any) => void): () => void;
|
package/lib/roots.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
import type { NgtSignalStore } from './utils/signal-store';
|
|
5
|
-
export declare const roots: Map<HTMLCanvasElement, NgtSignalStore<NgtState>>;
|
|
6
|
-
export declare function injectCanvasRootInitializer(injector?: Injector): (canvas: HTMLCanvasElement) => {
|
|
1
|
+
import { Injector } from '@angular/core';
|
|
2
|
+
import { NgtCanvasElement, NgtCanvasOptions } from './types';
|
|
3
|
+
export declare function injectCanvasRootInitializer(injector?: Injector): (canvas: NgtCanvasElement) => {
|
|
7
4
|
isConfigured: boolean;
|
|
8
5
|
destroy: (timeout?: number) => void;
|
|
9
|
-
configure: (inputs:
|
|
6
|
+
configure: (inputs: NgtCanvasOptions) => void;
|
|
10
7
|
};
|
|
11
8
|
export type NgtCanvasConfigurator = ReturnType<ReturnType<typeof injectCanvasRootInitializer>>;
|
|
9
|
+
export declare function dispose<TObj extends {
|
|
10
|
+
dispose?: () => void;
|
|
11
|
+
type?: string;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}>(obj: TObj): void;
|