angular-three 2.0.0-beta.29 → 2.0.0-beta.291

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.
Files changed (146) hide show
  1. package/README.md +221 -4
  2. package/esm2022/index.mjs +13 -16
  3. package/esm2022/lib/canvas.mjs +131 -197
  4. package/esm2022/lib/directives/args.mjs +46 -20
  5. package/esm2022/lib/directives/selection.mjs +65 -0
  6. package/esm2022/lib/dom/events.mjs +2 -2
  7. package/esm2022/lib/events.mjs +33 -31
  8. package/esm2022/lib/html.mjs +40 -0
  9. package/esm2022/lib/instance.mjs +43 -36
  10. package/esm2022/lib/loader.mjs +60 -33
  11. package/esm2022/lib/loop.mjs +29 -26
  12. package/esm2022/lib/pipes/hexify.mjs +67 -0
  13. package/esm2022/lib/portal.mjs +173 -193
  14. package/esm2022/lib/renderer/catalogue.mjs +3 -3
  15. package/esm2022/lib/renderer/constants.mjs +5 -6
  16. package/esm2022/lib/renderer/index.mjs +362 -232
  17. package/esm2022/lib/renderer/state.mjs +49 -0
  18. package/esm2022/lib/renderer/utils.mjs +83 -87
  19. package/esm2022/lib/roots.mjs +86 -62
  20. package/esm2022/lib/routed-scene.mjs +6 -7
  21. package/esm2022/lib/store.mjs +170 -194
  22. package/esm2022/lib/three-types.mjs +2 -2
  23. package/esm2022/lib/types.mjs +1 -1
  24. package/esm2022/lib/utils/apply-props.mjs +24 -28
  25. package/esm2022/lib/utils/attach.mjs +12 -9
  26. package/esm2022/lib/utils/before-render.mjs +12 -0
  27. package/esm2022/lib/utils/is.mjs +6 -5
  28. package/esm2022/lib/utils/make.mjs +19 -17
  29. package/esm2022/lib/utils/non-nullish.mjs +7 -0
  30. package/esm2022/lib/utils/object-events.mjs +92 -0
  31. package/esm2022/lib/utils/parameters.mjs +70 -0
  32. package/esm2022/lib/utils/resolve-ref.mjs +8 -0
  33. package/esm2022/lib/utils/signal-store.mjs +59 -60
  34. package/esm2022/lib/utils/update.mjs +6 -2
  35. package/esm2022/testing/angular-three-testing.mjs +5 -0
  36. package/esm2022/testing/index.mjs +3 -0
  37. package/esm2022/testing/lib/test-bed.mjs +130 -0
  38. package/esm2022/testing/lib/test-canvas.mjs +45 -0
  39. package/esm2022/testing/lib/utils/mock-canvas.mjs +37 -0
  40. package/esm2022/testing/lib/utils/web-gl-rendering-context.mjs +752 -0
  41. package/fesm2022/angular-three-testing.mjs +966 -0
  42. package/fesm2022/angular-three-testing.mjs.map +1 -0
  43. package/fesm2022/angular-three.mjs +2470 -2598
  44. package/fesm2022/angular-three.mjs.map +1 -1
  45. package/index.d.ts +14 -15
  46. package/lib/canvas.d.ts +366 -96
  47. package/lib/directives/args.d.ts +14 -7
  48. package/lib/directives/selection.d.ts +17 -0
  49. package/lib/dom/events.d.ts +2 -3
  50. package/lib/events.d.ts +4 -80
  51. package/lib/html.d.ts +17 -0
  52. package/lib/instance.d.ts +3 -35
  53. package/lib/loader.d.ts +18 -6
  54. package/lib/loop.d.ts +11 -59
  55. package/lib/pipes/hexify.d.ts +20 -0
  56. package/lib/portal.d.ts +54 -48
  57. package/lib/renderer/catalogue.d.ts +7 -3
  58. package/lib/renderer/constants.d.ts +4 -5
  59. package/lib/renderer/index.d.ts +64 -4
  60. package/lib/renderer/state.d.ts +24 -0
  61. package/lib/renderer/utils.d.ts +8 -26
  62. package/lib/roots.d.ts +9 -7
  63. package/lib/store.d.ts +13 -141
  64. package/lib/three-types.d.ts +499 -147
  65. package/lib/types.d.ts +291 -0
  66. package/lib/utils/apply-props.d.ts +1 -3
  67. package/lib/utils/attach.d.ts +3 -5
  68. package/lib/{before-render.d.ts → utils/before-render.d.ts} +1 -1
  69. package/lib/utils/is.d.ts +13 -14
  70. package/lib/utils/make.d.ts +7 -13
  71. package/lib/utils/non-nullish.d.ts +4 -0
  72. package/lib/utils/object-events.d.ts +34 -0
  73. package/lib/utils/parameters.d.ts +20 -0
  74. package/lib/utils/resolve-ref.d.ts +2 -0
  75. package/lib/utils/signal-store.d.ts +13 -4
  76. package/lib/utils/update.d.ts +1 -1
  77. package/metadata.json +1 -1
  78. package/package.json +40 -14
  79. package/plugin/generators.json +0 -32
  80. package/plugin/package.json +3 -3
  81. package/plugin/src/generators/init/compat.d.ts +1 -3
  82. package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +18 -7
  83. package/plugin/src/generators/init/generator.d.ts +5 -5
  84. package/plugin/src/generators/init/generator.js +100 -106
  85. package/plugin/src/generators/init/generator.js.map +1 -1
  86. package/plugin/src/generators/init/schema.json +8 -11
  87. package/plugin/src/generators/utils.js +1 -2
  88. package/plugin/src/generators/utils.js.map +1 -1
  89. package/plugin/src/generators/version.d.ts +4 -0
  90. package/plugin/src/generators/version.js +8 -0
  91. package/plugin/src/generators/version.js.map +1 -0
  92. package/plugin/src/index.d.ts +0 -3
  93. package/plugin/src/index.js +0 -9
  94. package/plugin/src/index.js.map +1 -1
  95. package/testing/README.md +3 -0
  96. package/testing/index.d.ts +2 -0
  97. package/testing/lib/test-bed.d.ts +38 -0
  98. package/testing/lib/test-canvas.d.ts +11 -0
  99. package/testing/lib/utils/mock-canvas.d.ts +5 -0
  100. package/testing/lib/utils/web-gl-rendering-context.d.ts +16 -0
  101. package/testing/package.json +3 -0
  102. package/web-types.json +1 -1
  103. package/esm2022/lib/before-render.mjs +0 -13
  104. package/esm2022/lib/directives/common.mjs +0 -41
  105. package/esm2022/lib/directives/key.mjs +0 -29
  106. package/esm2022/lib/directives/parent.mjs +0 -35
  107. package/esm2022/lib/directives/repeat.mjs +0 -17
  108. package/esm2022/lib/ref.mjs +0 -48
  109. package/esm2022/lib/renderer/store.mjs +0 -408
  110. package/esm2022/lib/utils/assert-injector.mjs +0 -6
  111. package/esm2022/lib/utils/create-injection-token.mjs +0 -47
  112. package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
  113. package/lib/directives/common.d.ts +0 -15
  114. package/lib/directives/key.d.ts +0 -10
  115. package/lib/directives/parent.d.ts +0 -11
  116. package/lib/directives/repeat.d.ts +0 -7
  117. package/lib/ref.d.ts +0 -8
  118. package/lib/renderer/store.d.ts +0 -67
  119. package/lib/utils/assert-injector.d.ts +0 -2
  120. package/lib/utils/create-injection-token.d.ts +0 -27
  121. package/lib/utils/safe-detect-changes.d.ts +0 -2
  122. package/plugin/src/generators/init/files/experience/experience.component.html__tmpl__ +0 -4
  123. package/plugin/src/generators/init-cannon/compat.d.ts +0 -2
  124. package/plugin/src/generators/init-cannon/compat.js +0 -6
  125. package/plugin/src/generators/init-cannon/compat.js.map +0 -1
  126. package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
  127. package/plugin/src/generators/init-cannon/generator.js +0 -22
  128. package/plugin/src/generators/init-cannon/generator.js.map +0 -1
  129. package/plugin/src/generators/init-cannon/schema.json +0 -6
  130. package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
  131. package/plugin/src/generators/init-postprocessing/compat.js +0 -6
  132. package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
  133. package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
  134. package/plugin/src/generators/init-postprocessing/generator.js +0 -20
  135. package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
  136. package/plugin/src/generators/init-postprocessing/schema.json +0 -6
  137. package/plugin/src/generators/init-soba/compat.d.ts +0 -2
  138. package/plugin/src/generators/init-soba/compat.js +0 -6
  139. package/plugin/src/generators/init-soba/compat.js.map +0 -1
  140. package/plugin/src/generators/init-soba/generator.d.ts +0 -2
  141. package/plugin/src/generators/init-soba/generator.js +0 -26
  142. package/plugin/src/generators/init-soba/generator.js.map +0 -1
  143. package/plugin/src/generators/init-soba/schema.json +0 -6
  144. package/plugin/src/generators/versions.d.ts +0 -12
  145. package/plugin/src/generators/versions.js +0 -16
  146. package/plugin/src/generators/versions.js.map +0 -1
@@ -0,0 +1,38 @@
1
+ import { Type } from '@angular/core';
2
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
3
+ import { NgtAnyRecord, NgtCanvasOptions, NgtEventHandlers, NgtInstanceNode, NgtSignalStore, NgtState } from 'angular-three';
4
+ import { NgtTestCanvas } from './test-canvas';
5
+ export interface NgtTestGraphedObject {
6
+ type: string;
7
+ name: string;
8
+ children: NgtTestGraphedObject[];
9
+ }
10
+ export declare class NgtTestBed {
11
+ static create<T extends Type<any>>(sceneGraph: T, { mockCanvasOptions, canvasConfiguration, errorOnUnknownElements, providers, declarations, imports, teardown, deferBlockBehavior, }?: {
12
+ mockCanvasOptions?: {
13
+ width?: number;
14
+ height?: number;
15
+ beforeReturn?: (canvas: HTMLCanvasElement) => void;
16
+ };
17
+ canvasConfiguration?: Partial<Omit<NgtCanvasOptions, 'frameloop' | 'size' | 'events'>>;
18
+ } & Omit<Parameters<TestBed['configureTestingModule']>[0], 'schemas'>): {
19
+ store: NgtSignalStore<NgtState>;
20
+ fixture: ComponentFixture<NgtTestCanvas>;
21
+ scene: import("three").Scene;
22
+ sceneInstanceNode: import("angular-three").NgtLocalState;
23
+ canvas: HTMLCanvasElement;
24
+ destroy: () => void;
25
+ fireEvent: {
26
+ (el: NgtInstanceNode, eventName: keyof NgtEventHandlers, eventData?: NgtAnyRecord): Promise<void>;
27
+ setAutoDetectChanges(auto: boolean): void;
28
+ };
29
+ advance: (frames: number, delta?: number | number[]) => Promise<void>;
30
+ toGraph: () => NgtTestGraphedObject[];
31
+ };
32
+ static createToGraph(store: NgtSignalStore<NgtState>): () => NgtTestGraphedObject[];
33
+ static createAdvance(store: NgtSignalStore<NgtState>): (frames: number, delta?: number | number[]) => Promise<void>;
34
+ static createEventFirer(store: NgtSignalStore<NgtState>, fixture: ComponentFixture<NgtTestCanvas>): {
35
+ (el: NgtInstanceNode, eventName: keyof NgtEventHandlers, eventData?: NgtAnyRecord): Promise<void>;
36
+ setAutoDetectChanges(auto: boolean): void;
37
+ };
38
+ }
@@ -0,0 +1,11 @@
1
+ import { Type } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NgtTestCanvas {
4
+ sceneGraph: import("@angular/core").InputSignal<Type<any>>;
5
+ private ref?;
6
+ private environmentInjector?;
7
+ constructor();
8
+ destroy(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgtTestCanvas, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgtTestCanvas, "ngt-test-canvas", never, { "sceneGraph": { "alias": "sceneGraph"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1,5 @@
1
+ export declare function createMockCanvas({ width, height, beforeReturn, }: {
2
+ width?: number;
3
+ height?: number;
4
+ beforeReturn?: (canvas: HTMLCanvasElement) => void;
5
+ }): HTMLCanvasElement;
@@ -0,0 +1,16 @@
1
+ export declare class WebGL2RenderingContext {
2
+ [key: string]: any;
3
+ constructor(canvas: HTMLCanvasElement);
4
+ getShaderPrecisionFormat: () => {
5
+ rangeMin: number;
6
+ rangeMax: number;
7
+ precision: number;
8
+ };
9
+ private GL_VERSION;
10
+ private SCISSOR_BOX;
11
+ private VIEWPORT;
12
+ getParameter(paramId: number): string[] | number[] | undefined;
13
+ getExtension(ext: string): any;
14
+ getProgramInfoLog: () => string;
15
+ getShaderInfoLog: () => string;
16
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/angular-three-testing.mjs"
3
+ }