angular-three-plugin 4.0.0-next.32 → 4.0.0-next.34

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-three-plugin",
3
- "version": "4.0.0-next.32",
3
+ "version": "4.0.0-next.34",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -41,6 +41,9 @@ export type <%= gltfResultTypeName %> = GLTF & {
41
41
  selector: '<%= selector %>',
42
42
  template: `
43
43
  @if (gltf(); as gltf) {
44
+ @let nodes = gltf.nodes;
45
+ @let materials = gltf.materials;
46
+
44
47
  <ngt-group #model [parameters]="options()" [dispose]="null">
45
48
  <%= scene %>
46
49
 
@@ -19,7 +19,8 @@ async function gltfGenerator(tree, options) {
19
19
  precision: options.precision,
20
20
  }, allPruneStrategies);
21
21
  const generateNGT = new generate_ngt_1.GenerateNGT(analyzed, options);
22
- const test = await generateNGT.print(analyzed.gltf.scene);
22
+ const test = await generateNGT.generate();
23
+ console.log(test);
23
24
  // await formatFiles(tree);
24
25
  }
25
26
  exports.default = gltfGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"gltf.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/gltf/gltf.ts"],"names":[],"mappings":";;AA4BA,sCA4BC;AAvDD,yCAAiC;AACjC,uDAAmD;AA0B5C,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,OAA4B;IAC3E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE9G,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAChC,IAAI,EACJ;QACC,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACvD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,OAAO,CAAC,SAAS;KAC5B,EACD,kBAAkB,CAClB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1D,2BAA2B;AAC5B,CAAC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"gltf.js","sourceRoot":"","sources":["../../../../../../libs/plugin/src/generators/gltf/gltf.ts"],"names":[],"mappings":";;AA4BA,sCA8BC;AAzDD,yCAAiC;AACjC,uDAAmD;AA0B5C,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,OAA4B;IAC3E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE9G,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAChC,IAAI,EACJ;QACC,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACvD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,OAAO,CAAC,SAAS;KAC5B,EACD,kBAAkB,CAClB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,2BAA2B;AAC5B,CAAC;AAED,kBAAe,aAAa,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { Object3D } from 'three';
2
1
  import type { GltfGeneratorSchema } from '../gltf';
3
2
  export declare class GenerateNGT {
4
3
  private analyzedGLTF;
@@ -7,7 +6,7 @@ export declare class GenerateNGT {
7
6
  args: boolean;
8
7
  constructor(analyzedGLTF: import('@rosskevin/gltfjsx').AnalyzedGLTF, options: GltfGeneratorSchema);
9
8
  generate(): Promise<string>;
10
- print(obj: Object3D): Promise<string>;
9
+ private print;
11
10
  private handleAngularInputs;
12
11
  private getType;
13
12
  /**
@@ -13,15 +13,18 @@ class GenerateNGT {
13
13
  this.options = options;
14
14
  }
15
15
  async generate() {
16
- return this.analyzedGLTF.gltf.scene.children.map((child) => this.print(child)).join('\n');
16
+ const gltfjsxApi = await import('@rosskevin/gltfjsx');
17
+ return this.analyzedGLTF.gltf.scene.children.map((child) => this.print(child, gltfjsxApi)).join('\n');
17
18
  }
18
- async print(obj) {
19
- const { nodeName, isRemoved, isTargetedLight, isInstancedMesh, sanitizeName } = await import('@rosskevin/gltfjsx');
19
+ print(obj,
20
+ // @ts-expect-error - type only import
21
+ gltfjsxApi) {
22
+ const { nodeName, isRemoved, isTargetedLight, isInstancedMesh, sanitizeName } = gltfjsxApi;
20
23
  let result = '';
21
24
  let children = '';
22
25
  // Children
23
26
  if (obj.children)
24
- obj.children.forEach((child) => (children += this.print(child)));
27
+ obj.children.forEach((child) => (children += this.print(child, gltfjsxApi)));
25
28
  // Bail out if the object was pruned
26
29
  if (isRemoved(obj))
27
30
  return children;
@@ -31,27 +34,27 @@ class GenerateNGT {
31
34
  // Bail out on bones
32
35
  if (!bones && type === 'bone') {
33
36
  this.args = true;
34
- return `<ngt-primitive *args=[gltf.${node}] />\n`;
37
+ return `<ngt-primitive *args=[${node}] />\n`;
35
38
  }
36
39
  const ngtType = this.getAngularThreeElement(type);
37
40
  if (isTargetedLight(obj)) {
38
41
  this.args = true;
39
- return `<${ngtType} ${this.handleAngularInputs(obj)} [target]="gltf.${node}.target">
40
- <ngt-primitive *args="[gltf.${node}.target]" ${this.handleAngularInputs(obj.target)} />
42
+ return `<${ngtType} ${this.handleAngularInputs(obj)} [target]="${node}.target">
43
+ <ngt-primitive *args="[${node}.target]" ${this.handleAngularInputs(obj.target)} />
41
44
  </${ngtType}>`;
42
45
  }
43
46
  // TODO: Instances are currently not supported for NGT components
44
47
  //
45
48
  if (isInstancedMesh(obj)) {
46
- const geo = `gltf.${node}.geometry`;
47
- const mat = 'name' in obj.material ? `gltf.materials${sanitizeName(obj.material.name)}` : `gltf.${node}.material`;
49
+ const geo = `${node}.geometry`;
50
+ const mat = 'name' in obj.material ? `materials${sanitizeName(obj.material.name)}` : `gltf.${node}.material`;
48
51
  this.args = true;
49
52
  result = `<ngt-instanced-mesh *args="[${geo}, ${mat}, ${!obj.count ? `gltf.${node}.count` : obj.count}]" `;
50
53
  }
51
54
  else {
52
55
  if (type === 'bone') {
53
56
  this.args = true;
54
- result = `<ngt-primitive *args="[gltf.${node}]" `;
57
+ result = `<ngt-primitive *args="[${node}]" `;
55
58
  }
56
59
  else {
57
60
  result = `<${this.getAngularThreeElement(type)} `;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-ngt.js","sourceRoot":"","sources":["../../../../../../../libs/plugin/src/generators/gltf/utils/generate-ngt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-ngt.js","sourceRoot":"","sources":["../../../../../../../libs/plugin/src/generators/gltf/utils/generate-ngt.ts"],"names":[],"mappings":"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"}