angular-three 4.0.0-next.9 → 4.0.0-next.90
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 +38 -183
- package/dom/lib/canvas.d.ts +6 -4
- package/dom/lib/renderer.d.ts +2 -1
- package/fesm2022/angular-three-dom.mjs +21 -12
- package/fesm2022/angular-three-dom.mjs.map +1 -1
- package/fesm2022/angular-three-testing.mjs +3 -3
- package/fesm2022/angular-three.mjs +275 -194
- package/fesm2022/angular-three.mjs.map +1 -1
- package/lib/directives/common.d.ts +1 -1
- package/lib/directives/selection.d.ts +5 -4
- package/lib/html.d.ts +1 -1
- package/lib/portal.d.ts +4 -4
- package/lib/renderer/renderer.d.ts +9 -3
- package/lib/three-types.d.ts +130 -418
- package/lib/types.d.ts +5 -1
- package/lib/utils/before-render.d.ts +10 -21
- package/lib/utils/is.d.ts +1 -0
- package/lib/utils/make.d.ts +2 -1
- package/metadata.json +37469 -0
- package/package.json +3 -26
- package/testing/lib/utils/web-gl-rendering-context.d.ts +1 -1
- package/web-types.json +37475 -0
- package/plugin/README.md +0 -11
- package/plugin/generators.json +0 -27
- package/plugin/src/generators/add-soba/compat.d.ts +0 -2
- package/plugin/src/generators/add-soba/compat.js +0 -6
- package/plugin/src/generators/add-soba/compat.js.map +0 -1
- package/plugin/src/generators/add-soba/generator.d.ts +0 -3
- package/plugin/src/generators/add-soba/generator.js +0 -77
- package/plugin/src/generators/add-soba/generator.js.map +0 -1
- package/plugin/src/generators/add-soba/schema.json +0 -4
- package/plugin/src/generators/init/compat.d.ts +0 -2
- package/plugin/src/generators/init/compat.js +0 -6
- package/plugin/src/generators/init/compat.js.map +0 -1
- package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +0 -28
- package/plugin/src/generators/init/generator.d.ts +0 -6
- package/plugin/src/generators/init/generator.js +0 -154
- package/plugin/src/generators/init/generator.js.map +0 -1
- package/plugin/src/generators/init/schema.json +0 -13
- package/plugin/src/generators/utils.d.ts +0 -2
- package/plugin/src/generators/utils.js +0 -35
- package/plugin/src/generators/utils.js.map +0 -1
- package/plugin/src/generators/version.d.ts +0 -17
- package/plugin/src/generators/version.js +0 -21
- package/plugin/src/generators/version.js.map +0 -1
- package/plugin/src/index.d.ts +0 -0
- package/plugin/src/index.js +0 -1
- package/plugin/src/index.js.map +0 -1
|
@@ -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/is.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare const is: {
|
|
|
14
14
|
instance: (a: unknown) => a is NgtInstanceNode;
|
|
15
15
|
object3D: (a: unknown) => a is THREE.Object3D;
|
|
16
16
|
three: <TThreeEntity extends object, TKey extends keyof TThreeEntity = keyof TThreeEntity>(a: unknown, isKey: TKey extends `is${infer K}` ? TKey : never) => a is TThreeEntity;
|
|
17
|
+
colorRepresentation: (a: unknown) => a is THREE.ColorRepresentation;
|
|
17
18
|
colorSpaceExist: <T extends NgtRendererLike | THREE.Texture | object, P = T extends NgtRendererLike ? {
|
|
18
19
|
outputColorSpace: string;
|
|
19
20
|
} : {
|
package/lib/utils/make.d.ts
CHANGED
|
@@ -3,10 +3,11 @@ 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.PerspectiveCamera | THREE.OrthographicCamera;
|
|
7
7
|
export type NgtObjectMap = {
|
|
8
8
|
nodes: Record<string, THREE.Object3D<any>>;
|
|
9
9
|
materials: Record<string, THREE.Material>;
|
|
10
|
+
meshes: Record<string, THREE.Mesh>;
|
|
10
11
|
[key: string]: any;
|
|
11
12
|
};
|
|
12
13
|
export declare function makeObjectGraph(object: THREE.Object3D): NgtObjectMap;
|