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: HTMLElement | "gl" | null;
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<"portal"> | NgtRendererNode<"platform">;
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 dynamic, consumers should set up `injectBeforeRender` in
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 injector = inject(Injector);
14
- *
15
- * effect((onCleanup) => {
16
- * const priority = this.priority(); // track priority
17
- *
18
- * const sub = injectBeforeRender(
19
- * ({ gl, camera }) => {
20
- * // before render logic
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;
@@ -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.PerspectiveCamera | THREE.OrthographicCamera;
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>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three",
3
- "version": "4.0.0-next.13",
3
+ "version": "4.0.0-next.15",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },