angular-three 4.0.0-next.13 → 4.0.0-next.15
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/lib/html.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare function provideHTMLDomElement<TDeps extends Array<ProviderToken<
|
|
|
8
8
|
}>(deps: TDeps, factory: (...args: TValues) => HTMLElement): Provider;
|
|
9
9
|
export declare abstract class NgtHTML {
|
|
10
10
|
static [NGT_HTML_FLAG]: boolean;
|
|
11
|
-
protected domElement:
|
|
11
|
+
protected domElement: "gl" | HTMLElement | null;
|
|
12
12
|
constructor();
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgtHTML, never>;
|
|
14
14
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NgtHTML, never, never, {}, {}, never, never, true, never>;
|
|
@@ -28,7 +28,7 @@ export declare class NgtRenderer2 implements Renderer2 {
|
|
|
28
28
|
[key: string]: any;
|
|
29
29
|
};
|
|
30
30
|
destroy(): void;
|
|
31
|
-
createElement(name: string, namespace?: string | null): NgtRendererNode<"three"> | NgtRendererNode<"
|
|
31
|
+
createElement(name: string, namespace?: string | null): NgtRendererNode<"three"> | NgtRendererNode<"platform"> | NgtRendererNode<"portal">;
|
|
32
32
|
createComment(value: string): NgtRendererNode<"comment">;
|
|
33
33
|
createText(value: string): NgtRendererNode<"text">;
|
|
34
34
|
destroyNode: (node: NgtRendererNode) => void;
|
|
@@ -4,32 +4,21 @@ import type { NgtBeforeRenderRecord } from '../types';
|
|
|
4
4
|
* `injectBeforeRender` invokes its callback on every frame. Hence, the notion of tracking
|
|
5
5
|
* changes (i.e: signals) does not really matter since we're getting latest values of the things we need on every frame anyway.
|
|
6
6
|
*
|
|
7
|
-
* If `priority` is
|
|
8
|
-
* an `effect` and track `priority` changes. Make use of `onCleanup` to clean up
|
|
9
|
-
* previous before render subscription
|
|
7
|
+
* If `priority` is a Signal, `injectBeforeRender` will set up an Effect internally and returns the `EffectRef#destroy` instead.
|
|
10
8
|
*
|
|
11
9
|
* @example
|
|
12
10
|
* ```ts
|
|
13
|
-
* const
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* },
|
|
22
|
-
* {
|
|
23
|
-
* priority,
|
|
24
|
-
* injector, // injector is needed since injectBeforeRender is invoked in effect body
|
|
25
|
-
* }
|
|
26
|
-
* });
|
|
27
|
-
*
|
|
28
|
-
* onCleanup(() => sub());
|
|
29
|
-
* });
|
|
11
|
+
* const destroy = injectBeforeRender(
|
|
12
|
+
* ({ gl, camera }) => {
|
|
13
|
+
* // before render logic
|
|
14
|
+
* },
|
|
15
|
+
* {
|
|
16
|
+
* priority: this.priority, // this.priority is a Signal<number>
|
|
17
|
+
* }
|
|
18
|
+
* )
|
|
30
19
|
* ```
|
|
31
20
|
*/
|
|
32
21
|
export declare function injectBeforeRender(cb: NgtBeforeRenderRecord['callback'], { priority, injector }?: {
|
|
33
|
-
priority?: number;
|
|
22
|
+
priority?: number | (() => number);
|
|
34
23
|
injector?: Injector;
|
|
35
24
|
}): () => void;
|
package/lib/utils/make.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { NgtCanvasElement, NgtDpr, NgtGLOptions, NgtIntersection, NgtSize }
|
|
|
3
3
|
export declare function makeId(event?: NgtIntersection): string;
|
|
4
4
|
export declare function makeDpr(dpr: NgtDpr, window?: Window): number;
|
|
5
5
|
export declare function makeRendererInstance<TCanvas extends NgtCanvasElement>(glOptions: NgtGLOptions, canvas: TCanvas): THREE.WebGLRenderer;
|
|
6
|
-
export declare function makeCameraInstance(isOrthographic: boolean, size: NgtSize): THREE.
|
|
6
|
+
export declare function makeCameraInstance(isOrthographic: boolean, size: NgtSize): THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
7
7
|
export type NgtObjectMap = {
|
|
8
8
|
nodes: Record<string, THREE.Object3D<any>>;
|
|
9
9
|
materials: Record<string, THREE.Material>;
|