angular-three-plugin 4.0.0-next.99 → 4.0.1

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 CHANGED
@@ -1,11 +1,87 @@
1
- # plugin
1
+ # `angular-three-plugin`
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
3
+ Nx plugin for Angular Three providing generators and utilities for 3D application development.
4
4
 
5
- ## Building
5
+ ## Documentation
6
6
 
7
- Run `nx build plugin` to build the library.
7
+ All public APIs are documented with JSDoc comments. Your IDE will provide inline documentation, parameter hints, and examples as you code.
8
8
 
9
- ## Running unit tests
9
+ ### Official Documentation
10
10
 
11
- Run `nx test plugin` to execute the unit tests via [Jest](https://jestjs.io).
11
+ Please visit [Angular Three Documentation](https://angularthree.netlify.app)
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install -D angular-three-plugin
17
+ # yarn add -D angular-three-plugin
18
+ # pnpm add -D angular-three-plugin
19
+ ```
20
+
21
+ ## Generators
22
+
23
+ ### `init`
24
+
25
+ Initializes Angular Three in your application. This generator:
26
+
27
+ - Installs `angular-three`, `three`, `@types/three`, and `ngxtension`
28
+ - Enables `skipLibCheck` in tsconfig for Three.js compatibility
29
+ - Adds `provideNgtRenderer()` to your application providers
30
+ - Optionally generates a starter SceneGraph component
31
+
32
+ ```bash
33
+ nx g angular-three-plugin:init
34
+ ```
35
+
36
+ Options:
37
+
38
+ | Option | Description | Default |
39
+ | ------------ | ---------------------------------------- | ----------------- |
40
+ | `sceneGraph` | How to generate the SceneGraph component | `'generate-only'` |
41
+
42
+ SceneGraph options:
43
+
44
+ - `append` - Append to parent component template
45
+ - `replace` - Replace parent component template
46
+ - `generate-only` - Generate component but don't modify template
47
+ - `none` - Don't generate a SceneGraph component
48
+
49
+ ### `aux`
50
+
51
+ Adds auxiliary Angular Three packages to your project:
52
+
53
+ ```bash
54
+ nx g angular-three-plugin:aux
55
+ ```
56
+
57
+ Available packages:
58
+
59
+ - `angular-three-soba` - Utilities and abstractions
60
+ - `angular-three-rapier` - Rapier physics engine
61
+ - `angular-three-postprocessing` - Post-processing effects
62
+ - `angular-three-cannon` - Cannon.js physics engine
63
+ - `angular-three-tweakpane` - Tweakpane UI controls
64
+ - `angular-three-theatre` - Theatre.js animation toolkit
65
+
66
+ ### `gltf`
67
+
68
+ Generates an Angular component from a GLTF/GLB 3D model:
69
+
70
+ ```bash
71
+ nx g angular-three-plugin:gltf --modelPath=src/assets/model.glb --output=src/app/model.ts
72
+ ```
73
+
74
+ Options:
75
+
76
+ | Option | Description | Default |
77
+ | ---------------- | --------------------------------------- | --------- |
78
+ | `modelPath` | Path to GLTF/GLB model | Required |
79
+ | `output` | Output path for generated component | Required |
80
+ | `className` | Component class name | `'Model'` |
81
+ | `selectorPrefix` | Component selector prefix | `'app'` |
82
+ | `draco` | Use DracoLoader for compressed models | `null` |
83
+ | `shadows` | Enable shadow casting/receiving | `false` |
84
+ | `transform` | Transform meshes via gltf-transform | `false` |
85
+ | `instance` | Instance re-occurring geometry | `false` |
86
+ | `bones` | Layout bones declaratively | `false` |
87
+ | `console` | Print output to console instead of file | `false` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three-plugin",
3
- "version": "4.0.0-next.99",
3
+ "version": "4.0.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -19,10 +19,10 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@nx/devkit": "^20.0.0",
22
+ "@nx/devkit": "^21.0.0",
23
23
  "@rosskevin/gltfjsx": "^7.0.0",
24
24
  "node-three-gltf": "^2.0.0",
25
- "nx": "^20.0.0",
25
+ "nx": "^21.0.0",
26
26
  "ts-morph": "^25.0.0",
27
27
  "tslib": "^2.3.0"
28
28
  },
@@ -1,3 +1,24 @@
1
1
  import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Adds auxiliary Angular Three packages to an existing Angular Three project.
4
+ *
5
+ * This generator allows you to add optional packages like:
6
+ * - angular-three-soba: Utilities and abstractions for 3D scenes
7
+ * - angular-three-rapier: Rapier physics engine integration
8
+ * - angular-three-postprocessing: Post-processing effects
9
+ * - angular-three-cannon: Cannon.js physics engine integration
10
+ * - angular-three-tweakpane: Tweakpane UI controls
11
+ * - angular-three-theatre: Theatre.js animation toolkit
12
+ *
13
+ * Each package is installed with its required peer dependencies.
14
+ *
15
+ * @param tree - The Nx virtual file system tree
16
+ * @returns A function that triggers package installation, or void if no packages selected
17
+ *
18
+ * @example
19
+ * ```bash
20
+ * nx g angular-three-plugin:aux
21
+ * ```
22
+ */
2
23
  export declare function auxGenerator(tree: Tree): Promise<() => void>;
3
24
  export default auxGenerator;
@@ -5,6 +5,27 @@ const devkit_1 = require("@nx/devkit");
5
5
  const enquirer_1 = require("enquirer");
6
6
  const utils_1 = require("../../utils");
7
7
  const versions_1 = require("../../versions");
8
+ /**
9
+ * Adds auxiliary Angular Three packages to an existing Angular Three project.
10
+ *
11
+ * This generator allows you to add optional packages like:
12
+ * - angular-three-soba: Utilities and abstractions for 3D scenes
13
+ * - angular-three-rapier: Rapier physics engine integration
14
+ * - angular-three-postprocessing: Post-processing effects
15
+ * - angular-three-cannon: Cannon.js physics engine integration
16
+ * - angular-three-tweakpane: Tweakpane UI controls
17
+ * - angular-three-theatre: Theatre.js animation toolkit
18
+ *
19
+ * Each package is installed with its required peer dependencies.
20
+ *
21
+ * @param tree - The Nx virtual file system tree
22
+ * @returns A function that triggers package installation, or void if no packages selected
23
+ *
24
+ * @example
25
+ * ```bash
26
+ * nx g angular-three-plugin:aux
27
+ * ```
28
+ */
8
29
  async function auxGenerator(tree) {
9
30
  devkit_1.logger.info('[NGT] Initialize auxiliary packages');
10
31
  const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
@@ -27,6 +48,7 @@ async function auxGenerator(tree) {
27
48
  'angular-three-postprocessing',
28
49
  'angular-three-cannon',
29
50
  'angular-three-tweakpane',
51
+ 'angular-three-theatre',
30
52
  ],
31
53
  });
32
54
  const packagesToAdd = {};
@@ -1 +1 @@
1
- {"version":3,"file":"aux.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/aux/aux.ts"],"names":[],"mappings":";;AAKA,oCAgEC;AArED,uCAAoH;AACpH,uCAAkC;AAClC,uCAA8C;AAC9C,6CAAmD;AAE5C,KAAK,UAAU,YAAY,CAAC,IAAU;IAC5C,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,eAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IAED,MAAM,UAAU,GACf,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAErG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;IACR,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,iBAAM,EAAyB;QACzD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE;YACR,oBAAoB;YACpB,sBAAsB;YACtB,8BAA8B;YAC9B,sBAAsB;YACtB,yBAAyB;SACzB;KACD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,KAAK,EAAE,CAAC;YACX,eAAM,CAAC,IAAI,CAAC,SAAS,GAAG,iCAAiC,CAAC,CAAC;YAC3D,SAAS;QACV,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAEhC,IAAI,4BAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,4BAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,aAAa,CAAC,OAAO,CAAC,GAAG,4BAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAED,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;YAClC,IAAA,uBAAe,EAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO;IACR,CAAC;IAED,IAAA,qCAA4B,EAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAExB,OAAO,GAAG,EAAE;QACX,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;AACH,CAAC;AAED,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"aux.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/aux/aux.ts"],"names":[],"mappings":";;AA0BA,oCAiEC;AA3FD,uCAAoH;AACpH,uCAAkC;AAClC,uCAA8C;AAC9C,6CAAmD;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,YAAY,CAAC,IAAU;IAC5C,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,eAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IAED,MAAM,UAAU,GACf,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAErG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;IACR,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,iBAAM,EAAyB;QACzD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE;YACR,oBAAoB;YACpB,sBAAsB;YACtB,8BAA8B;YAC9B,sBAAsB;YACtB,yBAAyB;YACzB,uBAAuB;SACvB;KACD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,KAAK,EAAE,CAAC;YACX,eAAM,CAAC,IAAI,CAAC,SAAS,GAAG,iCAAiC,CAAC,CAAC;YAC3D,SAAS;QACV,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAEhC,IAAI,4BAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,4BAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,aAAa,CAAC,OAAO,CAAC,GAAG,4BAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAED,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;YAClC,IAAA,uBAAe,EAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO;IACR,CAAC;IAED,IAAA,qCAA4B,EAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAExB,OAAO,GAAG,EAAE;QACX,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;AACH,CAAC;AAED,kBAAe,YAAY,CAAC"}
@@ -7,11 +7,11 @@
7
7
 
8
8
  import type * as THREE from 'three';
9
9
  import { Group<%= threeImports %> } from 'three';
10
- import { extend, type NgtThreeElements, NgtObjectEvents<% if (args) { %>, NgtArgs<% } %> } from 'angular-three';
11
- import { Component, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, input, viewChild, ElementRef, inject, effect<% if (animations.length) { %>, model<% } %> } from '@angular/core';
12
- import { injectGLTF } from 'angular-three-soba/loaders';
10
+ import { extend, type NgtThreeElements, NgtElementEvents, NgtObjectEvents<% if (args) { %>, NgtArgs<% } %> } from 'angular-three';
11
+ import { Component, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, input, viewChild, ElementRef, inject<% if (animations.length) { %>, effect, model<% } %> } from '@angular/core';
12
+ import { gltfResource } from 'angular-three-soba/loaders';
13
13
  import type { GLTF } from 'three-stdlib';<% if (animations.length) { %>
14
- import { injectAnimations, type NgtsAnimationClips, type NgtsAnimationApi } from 'angular-three-soba/misc';<% } %><% if (perspective) { %>
14
+ import { animations, type NgtsAnimationClips, type NgtsAnimationApi } from 'angular-three-soba/misc';<% } %><% if (perspective) { %>
15
15
  import { NgtsPerspectiveCamera } from 'angular-three-soba/cameras';<% } %><% if (orthographic) { %>
16
16
  import { NgtsOrthographicCamera } from 'angular-three-soba/cameras';<% } %>
17
17
  <% if (useImportAttribute) { %>
@@ -19,7 +19,7 @@ import { NgtsOrthographicCamera } from 'angular-three-soba/cameras';<% } %>
19
19
  import <%= gltfName %> from '<%= gltfPath %>' with { loader: 'file' };
20
20
  <% } %>
21
21
  <% if (preload) { %>
22
- injectGLTF.preload(() => <% if (useImportAttribute) { %><%= gltfName %><% } else { %>'<%= gltfPath %>'<% } %>);
22
+ gltfResource.preload(<% if (useImportAttribute) { %><%= gltfName %><% } else { %>'<%= gltfPath %>'<% } %>);
23
23
  <% } %>
24
24
  <% if (animations.length) { %>
25
25
  type ActionName = <% animations.map(clip => "\""+ clip.name + "\"").join(" | ") %>;
@@ -40,7 +40,7 @@ export type <%= gltfResultTypeName %> = GLTF & {
40
40
  @Component({
41
41
  selector: '<%= selector %>',
42
42
  template: `
43
- @if (gltf(); as gltf) {
43
+ @if (gltf.value(); as gltf) {
44
44
  @let nodes = gltf.nodes;
45
45
  @let materials = gltf.materials;
46
46
 
@@ -58,6 +58,10 @@ export type <%= gltfResultTypeName %> = GLTF & {
58
58
  directive: NgtObjectEvents,
59
59
  outputs: ['click', 'dblclick', 'contextmenu', 'pointerup', 'pointerdown', 'pointerover', 'pointerout', 'pointerenter', 'pointerleave', 'pointermove', 'pointermissed', 'pointercancel', 'wheel'],
60
60
  },
61
+ {
62
+ directive: NgtElementEvents,
63
+ outputs: ['attached', 'updated', 'created', 'disposed']
64
+ }
61
65
  ],<% if (angularImports.length) { %>
62
66
  imports: [<% angularImports.join(', ') %>]<% } %>
63
67
  })
@@ -69,25 +73,23 @@ export class <%= className %> {
69
73
 
70
74
  modelRef = viewChild<ElementRef<Group>>('model');
71
75
 
72
- protected gltf = injectGLTF<<%= gltfResultTypeName %>>(() => <% if (useImportAttribute) { %> <%= gltfName %> <% } else { %> '<%= url %>' <% } %><% if (gltfOptions) { %>, <%= gltfOptions %><% } %>);
76
+ protected gltf = gltfResource<<%= gltfResultTypeName %>>(() => <% if (useImportAttribute) { %> <%= gltfName %> <% } else { %> '<%= url %>' <% } %><% if (gltfOptions) { %>, <%= gltfOptions %><% } %>);
73
77
 
74
78
  constructor() {
75
79
  extend({ Group<%= threeImports %> });
76
80
 
77
81
  <% if (animations.length) { %>
78
- const animations = injectAnimations(this.gltf, this.modelRef);
82
+ const _animations = animations(this.gltf, this.modelRef);
79
83
  effect(() => {
80
- if (!animations.isReady) return;
81
- this.animations.set(animations);
84
+ if (!_animations.isReady) return;
85
+ this.animations.set(_animations);
82
86
  });
83
87
  <% } %>
84
88
 
85
89
  const objectEvents = inject(NgtObjectEvents, { host: true });
86
- effect(() => {
87
- const model = this.modelRef()?.nativeElement;
88
- if (!model) return;
90
+ const elementEvents = inject(NgtElementEvents, { host: true });
89
91
 
90
- objectEvents.ngtObjectEvents.set(model);
91
- });
92
+ objectEvents.events.set(this.modelRef);
93
+ elementEvents.events.set(this.modelRef);
92
94
  }
93
95
  }
@@ -1,12 +1,30 @@
1
1
  import type { GltfGeneratorSchema } from './gltf';
2
+ /**
3
+ * Generates Angular Three template code from an analyzed GLTF model.
4
+ *
5
+ * This class traverses the GLTF scene graph and produces Angular template
6
+ * syntax with proper ngt-* elements, input bindings, and type information.
7
+ */
2
8
  export declare class GenerateNGT {
3
9
  private analyzedGLTF;
4
10
  private gltfjsxAPI;
5
11
  private options;
12
+ /** Set of Three.js types used in the model, for generating imports */
6
13
  ngtTypes: Set<string>;
14
+ /** Whether NgtArgs directive is needed (for primitives, bones, etc.) */
7
15
  args: boolean;
8
16
  constructor(analyzedGLTF: import('@rosskevin/gltfjsx').AnalyzedGLTF, gltfjsxAPI: typeof import('@rosskevin/gltfjsx'), options: GltfGeneratorSchema);
17
+ /**
18
+ * Generates the Angular template content for the GLTF scene.
19
+ *
20
+ * @returns Template string containing ngt-* elements for all scene children
21
+ */
9
22
  generate(): string;
23
+ /**
24
+ * Collects and returns options needed for the template file generation.
25
+ *
26
+ * @returns Object containing imports, type definitions, and feature flags
27
+ */
10
28
  getGenerateOptions(): {
11
29
  animations: import("three").AnimationClip[];
12
30
  extras: string;
@@ -19,14 +37,38 @@ export declare class GenerateNGT {
19
37
  materialsTypes: string;
20
38
  angularImports: any[];
21
39
  };
40
+ /**
41
+ * Filters ngtTypes to only include types that need explicit imports.
42
+ * Excludes Group (always top-level), cameras (use ngts-* components), Bone, and Object3D.
43
+ */
22
44
  private get ngtTypesArr();
45
+ /**
46
+ * Recursively prints an Object3D and its children as Angular template elements.
47
+ *
48
+ * @param obj - The Three.js Object3D to convert
49
+ * @returns Template string for this object and its descendants
50
+ */
23
51
  private print;
52
+ /**
53
+ * Converts Object3D properties to Angular input binding syntax.
54
+ *
55
+ * @param obj - The Object3D to extract properties from
56
+ * @param skipName - Whether to skip the name property
57
+ * @returns String of Angular input bindings (e.g., '[position]="..." [rotation]="..."')
58
+ */
24
59
  private handleAngularInputs;
60
+ /**
61
+ * Determines the type name for an Object3D, handling special cases.
62
+ *
63
+ * @param obj - The Object3D to get the type for
64
+ * @returns Lowercase type name (e.g., 'mesh', 'group', 'PerspectiveCamera')
65
+ */
25
66
  private getType;
26
67
  /**
27
- * Transforms a type like "mesh" into "ngt-mesh".
28
- * @param {string} type
29
- * @returns
68
+ * Transforms a type name into its Angular Three element selector.
69
+ *
70
+ * @param type - The type name (e.g., 'mesh', 'perspectiveCamera')
71
+ * @returns The Angular Three element selector (e.g., 'ngt-mesh', 'ngts-perspective-camera')
30
72
  */
31
73
  private getAngularThreeElement;
32
74
  }
@@ -1,11 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GenerateNGT = void 0;
4
+ /**
5
+ * Generates Angular Three template code from an analyzed GLTF model.
6
+ *
7
+ * This class traverses the GLTF scene graph and produces Angular template
8
+ * syntax with proper ngt-* elements, input bindings, and type information.
9
+ */
4
10
  class GenerateNGT {
5
11
  analyzedGLTF;
6
12
  gltfjsxAPI;
7
13
  options;
14
+ /** Set of Three.js types used in the model, for generating imports */
8
15
  ngtTypes = new Set();
16
+ /** Whether NgtArgs directive is needed (for primitives, bones, etc.) */
9
17
  args = false;
10
18
  constructor(
11
19
  // @ts-expect-error - type only import
@@ -16,9 +24,19 @@ class GenerateNGT {
16
24
  this.gltfjsxAPI = gltfjsxAPI;
17
25
  this.options = options;
18
26
  }
27
+ /**
28
+ * Generates the Angular template content for the GLTF scene.
29
+ *
30
+ * @returns Template string containing ngt-* elements for all scene children
31
+ */
19
32
  generate() {
20
33
  return this.analyzedGLTF.gltf.scene.children.map((child) => this.print(child)).join('\n');
21
34
  }
35
+ /**
36
+ * Collects and returns options needed for the template file generation.
37
+ *
38
+ * @returns Object containing imports, type definitions, and feature flags
39
+ */
22
40
  getGenerateOptions() {
23
41
  const perspective = this.ngtTypes.has('PerspectiveCamera');
24
42
  const orthographic = this.ngtTypes.has('OrthographicCamera');
@@ -64,6 +82,10 @@ class GenerateNGT {
64
82
  angularImports,
65
83
  };
66
84
  }
85
+ /**
86
+ * Filters ngtTypes to only include types that need explicit imports.
87
+ * Excludes Group (always top-level), cameras (use ngts-* components), Bone, and Object3D.
88
+ */
67
89
  get ngtTypesArr() {
68
90
  return Array.from(this.ngtTypes).filter((t) =>
69
91
  // group always is the top-level object
@@ -77,6 +99,12 @@ class GenerateNGT {
77
99
  // we don't render ngt-object3D
78
100
  t !== 'Object3D');
79
101
  }
102
+ /**
103
+ * Recursively prints an Object3D and its children as Angular template elements.
104
+ *
105
+ * @param obj - The Three.js Object3D to convert
106
+ * @returns Template string for this object and its descendants
107
+ */
80
108
  print(obj) {
81
109
  const { nodeName, isRemoved, isTargetedLight, isInstancedMesh, sanitizeName } = this.gltfjsxAPI;
82
110
  let result = '';
@@ -140,6 +168,13 @@ class GenerateNGT {
140
168
  }
141
169
  return result;
142
170
  }
171
+ /**
172
+ * Converts Object3D properties to Angular input binding syntax.
173
+ *
174
+ * @param obj - The Object3D to extract properties from
175
+ * @param skipName - Whether to skip the name property
176
+ * @returns String of Angular input bindings (e.g., '[position]="..." [rotation]="..."')
177
+ */
143
178
  handleAngularInputs(obj, skipName = false) {
144
179
  const properties = this.analyzedGLTF.calculateProps(obj);
145
180
  let propertiesString = '';
@@ -160,6 +195,12 @@ class GenerateNGT {
160
195
  }
161
196
  return propertiesString;
162
197
  }
198
+ /**
199
+ * Determines the type name for an Object3D, handling special cases.
200
+ *
201
+ * @param obj - The Object3D to get the type for
202
+ * @returns Lowercase type name (e.g., 'mesh', 'group', 'PerspectiveCamera')
203
+ */
163
204
  getType(obj) {
164
205
  let type = obj.type.charAt(0).toLowerCase() + obj.type.slice(1);
165
206
  if (type === 'object3D') {
@@ -174,9 +215,10 @@ class GenerateNGT {
174
215
  return type;
175
216
  }
176
217
  /**
177
- * Transforms a type like "mesh" into "ngt-mesh".
178
- * @param {string} type
179
- * @returns
218
+ * Transforms a type name into its Angular Three element selector.
219
+ *
220
+ * @param type - The type name (e.g., 'mesh', 'perspectiveCamera')
221
+ * @returns The Angular Three element selector (e.g., 'ngt-mesh', 'ngts-perspective-camera')
180
222
  */
181
223
  getAngularThreeElement(type) {
182
224
  if (type === 'object3D') {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-ngt.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/gltf/generate-ngt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-ngt.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/gltf/generate-ngt.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,82 @@
1
1
  import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Schema options for the GLTF generator.
4
+ */
2
5
  export interface GltfGeneratorSchema {
6
+ /** Path to the GLTF/GLB model file */
3
7
  modelPath: string;
8
+ /** Output path for the generated component */
4
9
  output: string;
10
+ /** Name for the generated component class */
5
11
  className: string;
12
+ /** Prefix for the component selector */
6
13
  selectorPrefix: string;
14
+ /** Whether to use DracoLoader for compressed models */
7
15
  draco: boolean;
16
+ /** Whether to layout bones declaratively */
8
17
  bones: boolean;
18
+ /** Whether to include metadata as userData */
9
19
  meta: boolean;
20
+ /** Whether meshes should cast and receive shadows */
10
21
  shadows: boolean;
22
+ /** Number of fractional digits for numeric values */
11
23
  precision: number;
24
+ /** Whether to print output to console instead of file */
12
25
  console: boolean;
26
+ /** Whether to instance re-occurring geometry */
13
27
  instance: boolean;
28
+ /** Whether to instance every geometry */
14
29
  instanceAll: boolean;
30
+ /** Whether to transform meshes via gltf-transform */
15
31
  transform: boolean;
32
+ /** Degrade meshes via gltf-transform */
16
33
  degrade: string;
34
+ /** Resolution for mesh degradation */
17
35
  degradeResolution: number;
36
+ /** Resolution for texture resizing */
18
37
  resolution: number;
38
+ /** Whether to keep meshes separate (don't join) */
19
39
  keepMeshes: boolean;
40
+ /** Whether to keep materials separate (don't palette join) */
20
41
  keepMaterials: boolean;
42
+ /** Whether to keep unused vertex attributes */
21
43
  keepAttributes: boolean;
44
+ /** Whether to keep object names */
22
45
  keepNames: boolean;
46
+ /** Whether to keep groups */
23
47
  keepGroups: boolean;
48
+ /** Texture format for transformed models */
24
49
  format: 'jpeg' | 'png' | 'webp' | 'avif';
50
+ /** Whether to simplify meshes */
25
51
  simplify: boolean;
52
+ /** Simplifier ratio */
26
53
  ratio: number;
54
+ /** Simplifier error threshold */
27
55
  error: number;
56
+ /** Custom header to add to generated file */
28
57
  header: string;
58
+ /** Whether to enable verbose logging */
29
59
  verbose: boolean;
30
60
  }
61
+ /**
62
+ * Generates an Angular component from a GLTF/GLB 3D model file.
63
+ *
64
+ * This generator uses gltfjsx to analyze the model and creates a fully-typed
65
+ * Angular component with:
66
+ * - Proper Three.js type definitions for nodes, materials, and bones
67
+ * - Animation support with typed animation clips and API
68
+ * - Optional mesh transformation and optimization via gltf-transform
69
+ * - Draco compression support
70
+ * - Shadow casting/receiving configuration
71
+ *
72
+ * @param tree - The Nx virtual file system tree
73
+ * @param options - Generator options for model processing and output
74
+ *
75
+ * @example
76
+ * ```bash
77
+ * nx g angular-three-plugin:gltf --modelPath=src/assets/model.glb --output=src/app/model.ts
78
+ * nx g angular-three-plugin:gltf path/to/model.gltf --output=src/app/model.ts --transform --shadows
79
+ * ```
80
+ */
31
81
  export declare function gltfGenerator(tree: Tree, options: GltfGeneratorSchema): Promise<never>;
32
82
  export default gltfGenerator;
@@ -4,6 +4,14 @@ exports.gltfGenerator = gltfGenerator;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const node_path_1 = require("node:path");
6
6
  const generate_ngt_1 = require("./generate-ngt");
7
+ /**
8
+ * Normalizes and processes generator options into a format suitable for gltfjsx.
9
+ *
10
+ * @param tree - The Nx virtual file system tree
11
+ * @param options - Raw generator options
12
+ * @param gltfJsx - The gltfjsx library module
13
+ * @returns Normalized options including paths, names, and configuration objects
14
+ */
7
15
  // @ts-expect-error - type only import
8
16
  function normalizeOptions(tree, options, gltfJsx) {
9
17
  const { Log } = gltfJsx;
@@ -58,6 +66,26 @@ function normalizeOptions(tree, options, gltfJsx) {
58
66
  gltfResultTypeName,
59
67
  };
60
68
  }
69
+ /**
70
+ * Generates an Angular component from a GLTF/GLB 3D model file.
71
+ *
72
+ * This generator uses gltfjsx to analyze the model and creates a fully-typed
73
+ * Angular component with:
74
+ * - Proper Three.js type definitions for nodes, materials, and bones
75
+ * - Animation support with typed animation clips and API
76
+ * - Optional mesh transformation and optimization via gltf-transform
77
+ * - Draco compression support
78
+ * - Shadow casting/receiving configuration
79
+ *
80
+ * @param tree - The Nx virtual file system tree
81
+ * @param options - Generator options for model processing and output
82
+ *
83
+ * @example
84
+ * ```bash
85
+ * nx g angular-three-plugin:gltf --modelPath=src/assets/model.glb --output=src/app/model.ts
86
+ * nx g angular-three-plugin:gltf path/to/model.gltf --output=src/app/model.ts --transform --shadows
87
+ * ```
88
+ */
61
89
  async function gltfGenerator(tree, options) {
62
90
  const gltfjsx = await import('@rosskevin/gltfjsx');
63
91
  const { loadGLTF, AnalyzedGLTF, gltfTransform, compareFileSizes } = gltfjsx;
@@ -1 +1 @@
1
- {"version":3,"file":"gltf.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/gltf/gltf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltf.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/gltf/gltf.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CUSTOM_ELEMENTS_SCHEMA, Component, viewChild, ElementRef, ChangeDetectionStrategy } from '@angular/core';
2
- import { extend, injectBeforeRender } from 'angular-three';
2
+ import { extend, beforeRender } from 'angular-three';
3
3
  import { Mesh, BoxGeometry, MeshBasicMaterial } from 'three';
4
4
 
5
5
  @Component({
@@ -19,7 +19,7 @@ export class SceneGraph {
19
19
  constructor() {
20
20
  extend({ Mesh, BoxGeometry, MeshBasicMaterial });
21
21
 
22
- injectBeforeRender(({ delta }) => {
22
+ beforeRender(({ delta }) => {
23
23
  const mesh = this.meshRef().nativeElement;
24
24
  mesh.rotation.x += delta;
25
25
  mesh.rotation.y += delta;
@@ -1,6 +1,30 @@
1
1
  import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Schema options for the init generator.
4
+ */
2
5
  export interface InitGeneratorSchema {
6
+ /** How to handle SceneGraph component generation */
3
7
  sceneGraph: 'append' | 'replace' | 'generate-only' | 'none';
4
8
  }
9
+ /**
10
+ * Initializes Angular Three in an Angular application.
11
+ *
12
+ * This generator performs the following steps:
13
+ * 1. Installs angular-three, three, @types/three, and ngxtension dependencies
14
+ * 2. Enables skipLibCheck in tsconfig for Three.js compatibility
15
+ * 3. Adds metadata.json to VSCode settings for template IntelliSense
16
+ * 4. Adds provideNgtRenderer() to the application's providers
17
+ * 5. Optionally generates a starter SceneGraph component
18
+ *
19
+ * @param tree - The Nx virtual file system tree
20
+ * @param options - Generator options including sceneGraph generation mode
21
+ * @returns A function that triggers package installation, or void if already installed
22
+ *
23
+ * @example
24
+ * ```bash
25
+ * nx g angular-three-plugin:init
26
+ * nx g angular-three-plugin:init --sceneGraph=append
27
+ * ```
28
+ */
5
29
  export declare function initGenerator(tree: Tree, options: InitGeneratorSchema): Promise<() => void>;
6
30
  export default initGenerator;
@@ -8,7 +8,26 @@ const ts_morph_1 = require("ts-morph");
8
8
  const utils_1 = require("../../utils");
9
9
  const versions_1 = require("../../versions");
10
10
  const utils_2 = require("./utils");
11
- // TODO: (chau) add tests when there are better testing strategy for prompt
11
+ /**
12
+ * Initializes Angular Three in an Angular application.
13
+ *
14
+ * This generator performs the following steps:
15
+ * 1. Installs angular-three, three, @types/three, and ngxtension dependencies
16
+ * 2. Enables skipLibCheck in tsconfig for Three.js compatibility
17
+ * 3. Adds metadata.json to VSCode settings for template IntelliSense
18
+ * 4. Adds provideNgtRenderer() to the application's providers
19
+ * 5. Optionally generates a starter SceneGraph component
20
+ *
21
+ * @param tree - The Nx virtual file system tree
22
+ * @param options - Generator options including sceneGraph generation mode
23
+ * @returns A function that triggers package installation, or void if already installed
24
+ *
25
+ * @example
26
+ * ```bash
27
+ * nx g angular-three-plugin:init
28
+ * nx g angular-three-plugin:init --sceneGraph=append
29
+ * ```
30
+ */
12
31
  async function initGenerator(tree, options) {
13
32
  devkit_1.logger.log('[NGT] Initializing Angular Three...');
14
33
  const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/init/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/init/init.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@
27
27
  "label": "Generate a SceneGraph component but do not write to template"
28
28
  },
29
29
  {
30
- "none": "none",
30
+ "value": "none",
31
31
  "label": "Do not generate a SceneGraph component"
32
32
  }
33
33
  ]
@@ -1,5 +1,27 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  import { ObjectLiteralExpression, SourceFile } from 'ts-morph';
3
+ /**
4
+ * Logs an error message and gracefully stops the setup process.
5
+ *
6
+ * @param tree - The Nx virtual file system tree
7
+ * @param message - Error message to display
8
+ * @returns A function that triggers package installation
9
+ */
3
10
  export declare function stopSetup(tree: Tree, message: string): Promise<() => void>;
11
+ /**
12
+ * Completes the setup process by formatting files and returning a package installation task.
13
+ *
14
+ * @param tree - The Nx virtual file system tree
15
+ * @returns A function that triggers package installation
16
+ */
4
17
  export declare function finishSetup(tree: Tree): Promise<() => void>;
18
+ /**
19
+ * Modifies the application config to add provideNgtRenderer() to the providers array.
20
+ * Handles both inline config objects and external app.config.ts files.
21
+ *
22
+ * @param tree - The Nx virtual file system tree
23
+ * @param config - The ObjectLiteralExpression representing the app config
24
+ * @param sf - The ts-morph SourceFile containing the config
25
+ * @returns A save promise, or a function to stop setup if providers array is invalid
26
+ */
5
27
  export declare function handleAppConfig(tree: Tree, config: ObjectLiteralExpression, sf: SourceFile): Promise<void | (() => Promise<() => void>)>;
@@ -5,16 +5,38 @@ exports.finishSetup = finishSetup;
5
5
  exports.handleAppConfig = handleAppConfig;
6
6
  const devkit_1 = require("@nx/devkit");
7
7
  const ts_morph_1 = require("ts-morph");
8
+ /**
9
+ * Logs an error message and gracefully stops the setup process.
10
+ *
11
+ * @param tree - The Nx virtual file system tree
12
+ * @param message - Error message to display
13
+ * @returns A function that triggers package installation
14
+ */
8
15
  async function stopSetup(tree, message) {
9
16
  devkit_1.logger.info(`[NGT] ${message}. Stopping setup`);
10
17
  return await finishSetup(tree);
11
18
  }
19
+ /**
20
+ * Completes the setup process by formatting files and returning a package installation task.
21
+ *
22
+ * @param tree - The Nx virtual file system tree
23
+ * @returns A function that triggers package installation
24
+ */
12
25
  async function finishSetup(tree) {
13
26
  await (0, devkit_1.formatFiles)(tree);
14
27
  return () => {
15
28
  (0, devkit_1.installPackagesTask)(tree);
16
29
  };
17
30
  }
31
+ /**
32
+ * Modifies the application config to add provideNgtRenderer() to the providers array.
33
+ * Handles both inline config objects and external app.config.ts files.
34
+ *
35
+ * @param tree - The Nx virtual file system tree
36
+ * @param config - The ObjectLiteralExpression representing the app config
37
+ * @param sf - The ts-morph SourceFile containing the config
38
+ * @returns A save promise, or a function to stop setup if providers array is invalid
39
+ */
18
40
  async function handleAppConfig(tree, config, sf) {
19
41
  // add angular-three/dom import
20
42
  sf.addImportDeclaration({ moduleSpecifier: 'angular-three/dom', namedImports: ['provideNgtRenderer'] });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/init/utils.ts"],"names":[],"mappings":";;AAGA,8BAGC;AAED,kCAKC;AAED,0CAyBC;AAxCD,uCAA4E;AAC5E,uCAAqG;AAE9F,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAAe;IAC1D,eAAM,CAAC,IAAI,CAAC,SAAS,OAAO,kBAAkB,CAAC,CAAC;IAChD,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,IAAU;IAC3C,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACX,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,MAA+B,EAAE,EAAc;IAChG,+BAA+B;IAC/B,EAAE,CAAC,oBAAoB,CAAC,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAExG,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAkC,EAAE;QACzF,OAAO,eAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,CAAC,qBAAqB,CAAC;YAC5B,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,cAAc,GAAI,iBAAwC,CAAC,oBAAoB,CACpF,qBAAU,CAAC,sBAAsB,CACjC,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;IAC9E,CAAC;IAED,cAAc,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAClD,OAAO,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/init/utils.ts"],"names":[],"mappings":";;AAUA,8BAGC;AAQD,kCAKC;AAWD,0CAyBC;AA9DD,uCAA4E;AAC5E,uCAAqG;AAErG;;;;;;GAMG;AACI,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAAe;IAC1D,eAAM,CAAC,IAAI,CAAC,SAAS,OAAO,kBAAkB,CAAC,CAAC;IAChD,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,IAAU;IAC3C,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACX,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,MAA+B,EAAE,EAAc;IAChG,+BAA+B;IAC/B,EAAE,CAAC,oBAAoB,CAAC,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAExG,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAkC,EAAE;QACzF,OAAO,eAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,CAAC,qBAAqB,CAAC;YAC5B,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,cAAc,GAAI,iBAAwC,CAAC,oBAAoB,CACpF,qBAAU,CAAC,sBAAsB,CACjC,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;IAC9E,CAAC;IAED,cAAc,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAClD,OAAO,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -1,6 +1,26 @@
1
1
  import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Schema options for the migrate-tweakpane generator.
4
+ */
2
5
  export interface MigrateTweakpaneGeneratorSchema {
6
+ /** Optional project name to limit migration scope */
3
7
  project?: string;
4
8
  }
9
+ /**
10
+ * Migrates old NgtTweak* components to the new Tweakpane* naming convention.
11
+ *
12
+ * This generator performs the following replacements across all files:
13
+ * - `ngt-tweak*` selectors → `tweakpane*`
14
+ * - `NgtTweak*` class names → `Tweakpane*`
15
+ *
16
+ * @param tree - The Nx virtual file system tree
17
+ * @param options - Generator options, optionally limiting to a specific project
18
+ *
19
+ * @example
20
+ * ```bash
21
+ * nx g angular-three-plugin:migrate-tweakpane
22
+ * nx g angular-three-plugin:migrate-tweakpane --project=my-app
23
+ * ```
24
+ */
5
25
  export declare function migrateTweakpane(tree: Tree, options: MigrateTweakpaneGeneratorSchema): Promise<void>;
6
26
  export default migrateTweakpane;
@@ -2,6 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.migrateTweakpane = migrateTweakpane;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ /**
6
+ * Migrates old NgtTweak* components to the new Tweakpane* naming convention.
7
+ *
8
+ * This generator performs the following replacements across all files:
9
+ * - `ngt-tweak*` selectors → `tweakpane*`
10
+ * - `NgtTweak*` class names → `Tweakpane*`
11
+ *
12
+ * @param tree - The Nx virtual file system tree
13
+ * @param options - Generator options, optionally limiting to a specific project
14
+ *
15
+ * @example
16
+ * ```bash
17
+ * nx g angular-three-plugin:migrate-tweakpane
18
+ * nx g angular-three-plugin:migrate-tweakpane --project=my-app
19
+ * ```
20
+ */
5
21
  async function migrateTweakpane(tree, options) {
6
22
  if (options.project) {
7
23
  const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
@@ -18,6 +34,12 @@ async function migrateTweakpane(tree, options) {
18
34
  }
19
35
  await (0, devkit_1.formatFiles)(tree);
20
36
  }
37
+ /**
38
+ * Performs the actual file migration for a given project root.
39
+ *
40
+ * @param tree - The Nx virtual file system tree
41
+ * @param root - The root path of the project to migrate
42
+ */
21
43
  function migrateByPath(tree, root) {
22
44
  (0, devkit_1.visitNotIgnoredFiles)(tree, root, (path) => {
23
45
  const fileContent = tree.read(path, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-tweakpane.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/migrate-tweakpane/migrate-tweakpane.ts"],"names":[],"mappings":";;AAMA,4CAgBC;AAtBD,uCAA4G;AAMrG,KAAK,UAAU,gBAAgB,CAAC,IAAU,EAAE,OAAwC;IAC1F,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,IAAU,EAAE,IAAY;IAC9C,IAAA,6BAAoB,EAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,WAAW;iBAChC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC;iBACpC,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;YACjD,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"migrate-tweakpane.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/migrate-tweakpane/migrate-tweakpane.ts"],"names":[],"mappings":";;AA0BA,4CAgBC;AA1CD,uCAA4G;AAU5G;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,gBAAgB,CAAC,IAAU,EAAE,OAAwC;IAC1F,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAU,EAAE,IAAY;IAC9C,IAAA,6BAAoB,EAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,WAAW;iBAChC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC;iBACpC,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;YACjD,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
package/src/utils.d.ts CHANGED
@@ -1,2 +1,9 @@
1
1
  import { type Tree } from '@nx/devkit';
2
+ /**
3
+ * Adds a metadata JSON file path to VSCode's html.customData settings.
4
+ * This enables TypeScript type definitions and IntelliSense for Angular Three elements in templates.
5
+ *
6
+ * @param tree - The Nx virtual file system tree
7
+ * @param metadataJsonPath - Path to the metadata JSON file (e.g., 'angular-three/metadata.json')
8
+ */
2
9
  export declare function addMetadataJson(tree: Tree, metadataJsonPath: string): void;
package/src/utils.js CHANGED
@@ -2,6 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addMetadataJson = addMetadataJson;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ /**
6
+ * Adds a metadata JSON file path to VSCode's html.customData settings.
7
+ * This enables TypeScript type definitions and IntelliSense for Angular Three elements in templates.
8
+ *
9
+ * @param tree - The Nx virtual file system tree
10
+ * @param metadataJsonPath - Path to the metadata JSON file (e.g., 'angular-three/metadata.json')
11
+ */
5
12
  function addMetadataJson(tree, metadataJsonPath) {
6
13
  if (!metadataJsonPath.includes('node_modules')) {
7
14
  metadataJsonPath = `./node_modules/${metadataJsonPath}`;
package/src/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../libs/plugin/src/utils.ts"],"names":[],"mappings":";;AAEA,0CAoCC;AAtCD,uCAAsE;AAEtE,SAAgB,eAAe,CAAC,IAAU,EAAE,gBAAwB;IACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAChD,gBAAgB,GAAG,kBAAkB,gBAAgB,EAAE,CAAC;IACzD,CAAC;IAED,iDAAiD;IACjD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IAEnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,eAAM,CAAC,IAAI,CACjB;gCAC6B,gBAAgB;;CAE/C,CACE,CAAC;IACH,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAE5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,IAAA,kBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAA,mBAAU,EAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7C,IACC,IAAI,CAAC,iBAAiB,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAClD,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../libs/plugin/src/utils.ts"],"names":[],"mappings":";;AASA,0CAoCC;AA7CD,uCAAsE;AAEtE;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,IAAU,EAAE,gBAAwB;IACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAChD,gBAAgB,GAAG,kBAAkB,gBAAgB,EAAE,CAAC;IACzD,CAAC;IAED,iDAAiD;IACjD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IAEnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,eAAM,CAAC,IAAI,CACjB;gCAC6B,gBAAgB;;CAE/C,CACE,CAAC;IACH,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAE5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,IAAA,kBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAA,mBAAU,EAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7C,IACC,IAAI,CAAC,iBAAiB,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAClD,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC"}
package/src/versions.d.ts CHANGED
@@ -1,5 +1,13 @@
1
- export declare const ANGULAR_THREE_VERSION = "next";
2
- export declare const THREE_VERSION = "^0.173.0";
3
- export declare const THREE_TYPE_VERSION = "^0.173.0";
4
- export declare const NGXTENSION_VERSION = "^4.0.0";
1
+ /** Default version of angular-three to install */
2
+ export declare const ANGULAR_THREE_VERSION = "^4.0.0";
3
+ /** Default version of three to install */
4
+ export declare const THREE_VERSION = "^0.182.0";
5
+ /** Default version of @types/three to install */
6
+ export declare const THREE_TYPE_VERSION = "^0.182.0";
7
+ /** Default version of ngxtension to install */
8
+ export declare const NGXTENSION_VERSION = "^7.0.0";
9
+ /**
10
+ * Peer dependencies for each auxiliary Angular Three package.
11
+ * These are installed alongside the main package when using the aux generator.
12
+ */
5
13
  export declare const PEER_DEPENDENCIES: Record<string, Record<string, string>>;
package/src/versions.js CHANGED
@@ -1,39 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PEER_DEPENDENCIES = exports.NGXTENSION_VERSION = exports.THREE_TYPE_VERSION = exports.THREE_VERSION = exports.ANGULAR_THREE_VERSION = void 0;
4
- exports.ANGULAR_THREE_VERSION = 'next';
5
- exports.THREE_VERSION = '^0.173.0';
6
- exports.THREE_TYPE_VERSION = '^0.173.0';
7
- exports.NGXTENSION_VERSION = '^4.0.0';
4
+ /** Default version of angular-three to install */
5
+ exports.ANGULAR_THREE_VERSION = '^4.0.0';
6
+ /** Default version of three to install */
7
+ exports.THREE_VERSION = '^0.182.0';
8
+ /** Default version of @types/three to install */
9
+ exports.THREE_TYPE_VERSION = '^0.182.0';
10
+ /** Default version of ngxtension to install */
11
+ exports.NGXTENSION_VERSION = '^7.0.0';
12
+ /**
13
+ * Peer dependencies for each auxiliary Angular Three package.
14
+ * These are installed alongside the main package when using the aux generator.
15
+ */
8
16
  exports.PEER_DEPENDENCIES = {
9
17
  'angular-three-soba': {
10
- 'three-stdlib': '^2.0.0',
11
- '@pmndrs/vanilla': '^1.20.0',
12
- '@monogrid/gainmap-js': '^3.0.0',
13
- 'camera-controls': '^2.8.0',
14
- 'hls.js': '^1.5.0',
15
- maath: '~0.10.0',
16
- meshline: '^3.1.0',
17
- 'stats-gl': '^2.0.0',
18
- 'three-custom-shader-material': '~6.3.0',
19
- 'three-mesh-bvh': '~0.9.0',
20
- 'troika-three-text': '~0.52.0',
18
+ 'three-stdlib': '^2.36.0',
19
+ '@pmndrs/vanilla': '^1.25.0',
20
+ '@monogrid/gainmap-js': '^3.4.0',
21
+ 'camera-controls': '^2.10.0',
22
+ 'hls.js': '^1.6.0',
23
+ maath: '^0.10.8',
24
+ meshline: '^3.3.0',
25
+ 'stats-gl': '^3.8.0',
26
+ 'three-custom-shader-material': '^6.4.0',
27
+ 'three-mesh-bvh': '^0.9.0',
28
+ 'troika-three-text': '^0.52.0',
21
29
  },
22
30
  'angular-three-rapier': {
23
- '@dimforge/rapier3d-compat': '~0.14.0',
31
+ '@dimforge/rapier3d-compat': '^0.19.0',
32
+ 'three-stdlib': '^2.36.0',
24
33
  },
25
34
  'angular-three-postprocessing': {
26
- maath: '~0.10.0',
27
- n8ao: '~1.9.0',
28
- postprocessing: '^6.0.0',
35
+ maath: '^0.10.8',
36
+ n8ao: '^1.10.0',
37
+ postprocessing: '^6.38.0',
38
+ 'three-stdlib': '^2.36.0',
29
39
  },
30
40
  'angular-three-cannon': {
31
- '@pmndrs/cannon-worker-api': '^2.0.0',
41
+ '@pmndrs/cannon-worker-api': '^2.4.0',
32
42
  'cannon-es': '^0.20.0',
33
43
  'cannon-es-debugger': '^1.0.0',
34
44
  },
35
45
  'angular-three-tweakpane': {
36
- tweakpane: '^4.0.0',
46
+ '@tweakpane/core': '^2.0.5',
47
+ tweakpane: '^4.0.5',
48
+ },
49
+ 'angular-three-theatre': {
50
+ '@theatre/core': '^0.7.2',
51
+ '@theatre/studio': '^0.7.2',
37
52
  },
38
53
  };
39
54
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../libs/plugin/src/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,MAAM,CAAC;AAC/B,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAChC,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE9B,QAAA,iBAAiB,GAA2C;IACxE,oBAAoB,EAAE;QACrB,cAAc,EAAE,QAAQ;QACxB,iBAAiB,EAAE,SAAS;QAC5B,sBAAsB,EAAE,QAAQ;QAChC,iBAAiB,EAAE,QAAQ;QAC3B,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,QAAQ;QACpB,8BAA8B,EAAE,QAAQ;QACxC,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,SAAS;KAC9B;IACD,sBAAsB,EAAE;QACvB,2BAA2B,EAAE,SAAS;KACtC;IACD,8BAA8B,EAAE;QAC/B,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,QAAQ;KACxB;IACD,sBAAsB,EAAE;QACvB,2BAA2B,EAAE,QAAQ;QACrC,WAAW,EAAE,SAAS;QACtB,oBAAoB,EAAE,QAAQ;KAC9B;IACD,yBAAyB,EAAE;QAC1B,SAAS,EAAE,QAAQ;KACnB;CACD,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../libs/plugin/src/versions.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AACrC,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAC9C,0CAA0C;AAC7B,QAAA,aAAa,GAAG,UAAU,CAAC;AACxC,iDAAiD;AACpC,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAC7C,+CAA+C;AAClC,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;GAGG;AACU,QAAA,iBAAiB,GAA2C;IACxE,oBAAoB,EAAE;QACrB,cAAc,EAAE,SAAS;QACzB,iBAAiB,EAAE,SAAS;QAC5B,sBAAsB,EAAE,QAAQ;QAChC,iBAAiB,EAAE,SAAS;QAC5B,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,QAAQ;QACpB,8BAA8B,EAAE,QAAQ;QACxC,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,SAAS;KAC9B;IACD,sBAAsB,EAAE;QACvB,2BAA2B,EAAE,SAAS;QACtC,cAAc,EAAE,SAAS;KACzB;IACD,8BAA8B,EAAE;QAC/B,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,SAAS;KACzB;IACD,sBAAsB,EAAE;QACvB,2BAA2B,EAAE,QAAQ;QACrC,WAAW,EAAE,SAAS;QACtB,oBAAoB,EAAE,QAAQ;KAC9B;IACD,yBAAyB,EAAE;QAC1B,iBAAiB,EAAE,QAAQ;QAC3B,SAAS,EAAE,QAAQ;KACnB;IACD,uBAAuB,EAAE;QACxB,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,QAAQ;KAC3B;CACD,CAAC"}