angular-three 2.0.0-beta.300 → 2.0.0-beta.301

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",
3
- "version": "2.0.0-beta.300",
3
+ "version": "2.0.0-beta.301",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,7 +25,13 @@
25
25
  "@angular/common": ">=18.0.0 <19.0.0",
26
26
  "@angular/core": ">=18.0.0 <19.0.0",
27
27
  "ngxtension": ">=3.0.0",
28
- "three": ">=0.148.0 <0.168.0"
28
+ "three": ">=0.148.0 <0.168.0",
29
+ "node-three-gltf": ">=1.0.0 <2.0.0"
30
+ },
31
+ "peerDependenciesMeta": {
32
+ "node-three-gltf": {
33
+ "optional": true
34
+ }
29
35
  },
30
36
  "dependencies": {
31
37
  "tslib": "^2.3.0",
@@ -77,4 +83,4 @@
77
83
  }
78
84
  },
79
85
  "sideEffects": false
80
- }
86
+ }
@@ -1,7 +1,6 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  export interface GltfGeneratorSchema {
3
3
  gltfPath: string;
4
- project: string;
5
4
  console: boolean;
6
5
  modelName: string;
7
6
  meshopt: boolean;
@@ -3,55 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.gltfGenerator = gltfGenerator;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const enquirer_1 = require("enquirer");
6
- const node_fs_1 = require("node:fs");
7
- const three_stdlib_1 = require("three-stdlib");
6
+ const node_path_1 = require("node:path");
8
7
  const generator_1 = require("../add-soba/generator");
8
+ const utils_1 = require("./utils");
9
9
  function normalizeOptions(options) {
10
- let { gltfPath, project, console, modelName, outputPath, draco, meshopt } = options;
10
+ let { gltfPath, console, modelName, outputPath, draco, meshopt } = options;
11
11
  if (draco == null) {
12
12
  draco = true;
13
13
  }
14
- return { gltfPath, project, console, modelName, outputPath, draco, meshopt };
14
+ return { gltfPath, console, modelName, outputPath, draco, meshopt };
15
15
  }
16
16
  function buildSelector(fileName, prefix) {
17
17
  return `${prefix}-${fileName}`;
18
18
  }
19
- function toArrayBuffer(buf) {
20
- const ab = new ArrayBuffer(buf.length);
21
- const view = new Uint8Array(ab);
22
- for (let i = 0; i < buf.length; ++i)
23
- view[i] = buf[i];
24
- return ab;
25
- }
26
- let dracoLoader = null;
27
- let decoderPath = 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/';
28
- const loader = new three_stdlib_1.GLTFLoader();
29
- function load(input, draco, meshopt) {
30
- if (draco) {
31
- if (!dracoLoader) {
32
- dracoLoader = new three_stdlib_1.DRACOLoader();
33
- }
34
- dracoLoader.setDecoderPath(typeof draco === 'string' ? draco : decoderPath);
35
- loader.setDRACOLoader(dracoLoader);
36
- }
37
- if (meshopt) {
38
- loader.setMeshoptDecoder(typeof three_stdlib_1.MeshoptDecoder === 'function' ? (0, three_stdlib_1.MeshoptDecoder)() : three_stdlib_1.MeshoptDecoder);
39
- }
40
- const data = input.startsWith('http')
41
- ? null
42
- : (() => {
43
- const fileContent = (0, node_fs_1.readFileSync)(input);
44
- return toArrayBuffer(fileContent);
45
- })();
46
- const operationFactory = (onLoad, onError) => {
47
- return input.startsWith('http')
48
- ? loader.load.call(loader, input, onLoad, () => { }, onError)
49
- : loader.parse.call(loader, data, input, onLoad, onError);
50
- };
51
- return new Promise((resolve, reject) => {
52
- operationFactory(resolve, reject);
53
- });
54
- }
55
19
  async function gltfGenerator(tree, options) {
56
20
  const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
57
21
  const hasAngularThreeSoba = packageJson['dependencies']['angular-three-soba'] || packageJson['devDependencies']['angular-three-soba'];
@@ -67,35 +31,51 @@ async function gltfGenerator(tree, options) {
67
31
  return;
68
32
  await (0, generator_1.addSobaGenerator)(tree);
69
33
  }
34
+ const projects = (0, devkit_1.getProjects)(tree);
35
+ const applicationProjects = Array.from(projects.entries()).reduce((acc, [projectName, project]) => {
36
+ if (project.projectType === 'application') {
37
+ acc.push(projectName);
38
+ }
39
+ return acc;
40
+ }, []);
41
+ let { project } = await (0, enquirer_1.prompt)({
42
+ type: 'select',
43
+ name: 'project',
44
+ message: 'What project would you like to generate the model component for?',
45
+ choices: [...applicationProjects, 'custom'],
46
+ required: true,
47
+ });
48
+ if (project === 'custom') {
49
+ const { projectName } = await (0, enquirer_1.prompt)({
50
+ type: 'input',
51
+ name: 'projectName',
52
+ message: 'What is the name of the project to generate the model component for?',
53
+ required: true,
54
+ });
55
+ project = projectName;
56
+ }
57
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
58
+ if (!projectConfig) {
59
+ devkit_1.logger.error(`[NGT] ${project} is not a project`);
60
+ return;
61
+ }
70
62
  try {
71
- // const injectGLTF = await loadEsmModule<typeof import('angular-three-soba/loaders')>(
72
- // 'angular-three-soba/loaders',
73
- // ).then((m) => m.injectGLTF);
74
- // // const injectGLTF = await import('angular-three-soba/loaders').then((m) => m.injectGLTF);
75
- // const injectGLTF = require('angular-three-soba/loaders').injectGLTF;
76
- const { gltfPath, project, console: toConsole, modelName, outputPath, draco, meshopt } = normalizeOptions(options);
63
+ const { gltfPath, console: toConsole, modelName, outputPath, draco, meshopt } = normalizeOptions(options);
77
64
  let runtimeGltfPath;
78
65
  if (!gltfPath.startsWith('http')) {
79
66
  const { path } = await (0, enquirer_1.prompt)({
80
67
  type: 'input',
81
68
  name: 'path',
82
- message: 'What is the path to the asset file to be used at runtime (with injectGLTF)?',
69
+ message: 'What is the path to the asset file to be used at runtime with injectGLTF?',
83
70
  required: true,
84
71
  });
85
72
  runtimeGltfPath = path;
86
73
  }
87
74
  else {
88
- runtimeGltfPath = gltfPath;
75
+ runtimeGltfPath = (0, node_path_1.join)(devkit_1.workspaceRoot, gltfPath);
89
76
  }
90
- await load(runtimeGltfPath, draco, meshopt);
91
- // injectGLTF.preload(() => runtimeGltfPath, {
92
- // useDraco: draco,
93
- // useMeshOpt: meshopt,
94
- // onLoad: (data) => {
95
- // console.log('data', data);
96
- // },
97
- // });
98
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
77
+ const data = await (0, utils_1.parse)(runtimeGltfPath, draco, meshopt);
78
+ console.log(data);
99
79
  const modelNames = (0, devkit_1.names)(modelName);
100
80
  const tmpPath = `${devkit_1.workspaceRoot}/tmp/ngt-gltf/${modelNames.fileName}`;
101
81
  const output = toConsole ? tmpPath : (outputPath ?? (projectConfig.sourceRoot || `${projectConfig.root}/src`));
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/plugin/src/generators/gltf/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/plugin/src/generators/gltf/generator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  {
2
- "$schema": "https://json-schema.org/schema",
3
2
  "$id": "Gltf",
4
3
  "title": "",
5
4
  "type": "object",
@@ -13,14 +12,6 @@
13
12
  },
14
13
  "x-prompt": "Where is your gltf file located?"
15
14
  },
16
- "project": {
17
- "type": "string",
18
- "description": "The name of the project to generate the model component for.",
19
- "x-prompt": "What project would you like to generate the model component for?",
20
- "pattern": "(?:^@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*\\/[a-zA-Z0-9-~][a-zA-Z0-9-._~]*|^[a-zA-Z][^:]*)$",
21
- "x-dropdown": "projects",
22
- "x-priority": "important"
23
- },
24
15
  "console": {
25
16
  "type": "boolean",
26
17
  "description": "Print to console instead of writing to file",
@@ -0,0 +1 @@
1
+ export declare function parse(input: string, draco: boolean | string, meshopt: boolean): Promise<unknown>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parse = parse;
4
+ const node_three_gltf_1 = require("node-three-gltf");
5
+ const node_fs_1 = require("node:fs");
6
+ const three_stdlib_1 = require("three-stdlib");
7
+ function toArrayBuffer(buf) {
8
+ const ab = new ArrayBuffer(buf.length);
9
+ const view = new Uint8Array(ab);
10
+ for (let i = 0; i < buf.length; ++i)
11
+ view[i] = buf[i];
12
+ return ab;
13
+ }
14
+ let dracoLoader = null;
15
+ let decoderPath = 'https://www.gstatic.com/draco/versioned/decoders/1.5.5/';
16
+ const loader = new node_three_gltf_1.GLTFLoader();
17
+ function parse(input, draco, meshopt) {
18
+ if (draco) {
19
+ if (!dracoLoader) {
20
+ dracoLoader = new node_three_gltf_1.DRACOLoader();
21
+ }
22
+ dracoLoader.decoderPath = typeof draco === 'string' ? draco : decoderPath;
23
+ loader.setDRACOLoader(dracoLoader);
24
+ }
25
+ if (meshopt) {
26
+ loader.setMeshoptDecoder(typeof three_stdlib_1.MeshoptDecoder === 'function' ? (0, three_stdlib_1.MeshoptDecoder)() : three_stdlib_1.MeshoptDecoder);
27
+ }
28
+ const data = input.startsWith('http')
29
+ ? null
30
+ : (() => {
31
+ const fileContent = (0, node_fs_1.readFileSync)(input);
32
+ return toArrayBuffer(fileContent);
33
+ })();
34
+ const operation = (onLoad, onError) => {
35
+ return input.startsWith('http')
36
+ ? loader.load.call(loader, input, onLoad, () => { }, onError)
37
+ : loader.parse.call(loader, data, input, onLoad, onError);
38
+ };
39
+ return new Promise((resolve, reject) => {
40
+ operation(resolve, reject);
41
+ });
42
+ }
43
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../libs/plugin/src/generators/gltf/utils.ts"],"names":[],"mappings":";;AAgBA,sBA8BC;AA9CD,qDAA0D;AAC1D,qCAAuC;AACvC,+CAA8C;AAE9C,SAAS,aAAa,CAAC,GAAW;IACjC,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,IAAI,WAAW,GAAuB,IAAI,CAAC;AAC3C,IAAI,WAAW,GAAG,yDAAyD,CAAC;AAE5E,MAAM,MAAM,GAAG,IAAI,4BAAU,EAAE,CAAC;AAEhC,SAAgB,KAAK,CAAC,KAAa,EAAE,KAAuB,EAAE,OAAgB;IAC7E,IAAI,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,WAAW,GAAG,IAAI,6BAAW,EAAE,CAAC;QACjC,CAAC;QAED,WAAW,CAAC,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QACzE,MAAqB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAqB,CAAC,iBAAiB,CAAC,OAAO,6BAAc,KAAK,UAAU,CAAC,CAAC,CAAC,IAAA,6BAAc,GAAE,CAAC,CAAC,CAAC,6BAAc,CAAC,CAAC;IACpH,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QACpC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,GAAG,EAAE;YACN,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC;YACxC,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,SAAS,GAAG,CAAC,MAA2B,EAAE,OAAoC,EAAE,EAAE;QACvF,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,OAAO,CAAC;YAC5D,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACJ,CAAC"}