@needle-tools/gltf-build-pipeline 2.13.0 → 2.13.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.
Files changed (103) hide show
  1. package/CHANGELOG.md +520 -517
  2. package/README.md +38 -38
  3. package/dist/cache/cache.d.ts +55 -55
  4. package/dist/cache/cache.js +326 -326
  5. package/dist/cache/index.d.ts +1 -1
  6. package/dist/cache/index.js +1 -1
  7. package/dist/cli/index.d.ts +2 -2
  8. package/dist/cli/index.js +198 -198
  9. package/dist/config/index.d.ts +53 -53
  10. package/dist/config/index.js +152 -152
  11. package/dist/constants.d.ts +7 -7
  12. package/dist/constants.js +7 -7
  13. package/dist/extensions/NEEDLE_compression_texture/NEEDLE_compression_texture.d.ts +24 -24
  14. package/dist/extensions/NEEDLE_compression_texture/NEEDLE_compression_texture.js +54 -54
  15. package/dist/extensions/NEEDLE_compression_texture/index.d.ts +1 -1
  16. package/dist/extensions/NEEDLE_compression_texture/index.js +1 -1
  17. package/dist/extensions/NEEDLE_mesh_compression/NEEDLE_mesh_compression.d.ts +27 -27
  18. package/dist/extensions/NEEDLE_mesh_compression/NEEDLE_mesh_compression.js +88 -88
  19. package/dist/extensions/NEEDLE_mesh_compression/index.d.ts +1 -1
  20. package/dist/extensions/NEEDLE_mesh_compression/index.js +1 -1
  21. package/dist/extensions/NEEDLE_opaque/NEEDLE_opaque.d.ts +27 -27
  22. package/dist/extensions/NEEDLE_opaque/NEEDLE_opaque.js +980 -980
  23. package/dist/extensions/NEEDLE_opaque/index.d.ts +3 -3
  24. package/dist/extensions/NEEDLE_opaque/index.js +30 -30
  25. package/dist/extensions/NEEDLE_progressive/NEEDLE_progressive.d.ts +48 -48
  26. package/dist/extensions/NEEDLE_progressive/NEEDLE_progressive.js +69 -69
  27. package/dist/extensions/NEEDLE_progressive/index.d.ts +1 -1
  28. package/dist/extensions/NEEDLE_progressive/index.js +1 -1
  29. package/dist/extensions/NEEDLE_progressive_mesh_settings/index.d.ts +23 -23
  30. package/dist/extensions/NEEDLE_progressive_mesh_settings/index.js +41 -41
  31. package/dist/extensions/NEEDLE_progressive_texture_settings/index.d.ts +25 -25
  32. package/dist/extensions/NEEDLE_progressive_texture_settings/index.js +38 -38
  33. package/dist/extensions/index.d.ts +7 -7
  34. package/dist/extensions/index.js +17 -17
  35. package/dist/extensions/utils.d.ts +6 -6
  36. package/dist/extensions/utils.js +72 -72
  37. package/dist/functions/weld.3.d.ts +76 -76
  38. package/dist/functions/weld.3.js +414 -414
  39. package/dist/index.d.ts +8 -8
  40. package/dist/index.js +8 -8
  41. package/dist/scripts/index.d.ts +2 -2
  42. package/dist/scripts/index.js +2 -2
  43. package/dist/scripts/pack-gltf.d.ts +15 -15
  44. package/dist/scripts/pack-gltf.js +135 -133
  45. package/dist/scripts/stats.d.ts +2 -2
  46. package/dist/scripts/stats.js +19 -19
  47. package/dist/transforms/index.d.ts +9 -9
  48. package/dist/transforms/index.js +9 -9
  49. package/dist/transforms/needle_animation_transform.d.ts +2 -2
  50. package/dist/transforms/needle_animation_transform.js +5 -5
  51. package/dist/transforms/needle_asset.d.ts +3 -3
  52. package/dist/transforms/needle_asset.js +50 -50
  53. package/dist/transforms/needle_common.d.ts +17 -17
  54. package/dist/transforms/needle_common.js +1 -1
  55. package/dist/transforms/needle_mesh_transform.d.ts +15 -15
  56. package/dist/transforms/needle_mesh_transform.js +223 -223
  57. package/dist/transforms/needle_progressive.d.ts +45 -45
  58. package/dist/transforms/needle_progressive.js +1043 -1043
  59. package/dist/transforms/needle_texture_transform.d.ts +13 -13
  60. package/dist/transforms/needle_texture_transform.js +257 -257
  61. package/dist/transforms/needle_toktx.d.ts +26 -26
  62. package/dist/transforms/needle_toktx.js +243 -243
  63. package/dist/transforms/needle_webp.d.ts +15 -15
  64. package/dist/transforms/needle_webp.js +53 -53
  65. package/dist/transforms/toktx.d.ts +52 -52
  66. package/dist/transforms/toktx.js +221 -221
  67. package/dist/transforms/toktx_types.d.ts +78 -78
  68. package/dist/transforms/toktx_types.js +62 -62
  69. package/dist/transforms/util.d.ts +21 -21
  70. package/dist/transforms/util.js +90 -90
  71. package/dist/utils/compression_utils.d.ts +2 -2
  72. package/dist/utils/compression_utils.js +6 -6
  73. package/dist/utils/fileutils.d.ts +19 -19
  74. package/dist/utils/fileutils.js +177 -177
  75. package/dist/utils/guid.d.ts +1 -1
  76. package/dist/utils/guid.js +5 -5
  77. package/dist/utils/index.d.ts +10 -10
  78. package/dist/utils/index.js +10 -10
  79. package/dist/utils/merge.d.ts +12 -12
  80. package/dist/utils/merge.js +31 -31
  81. package/dist/utils/mesh.d.ts +13 -13
  82. package/dist/utils/mesh.js +124 -124
  83. package/dist/utils/nodeio.d.ts +6 -6
  84. package/dist/utils/nodeio.js +86 -86
  85. package/dist/utils/stats.d.ts +70 -70
  86. package/dist/utils/stats.js +258 -258
  87. package/dist/utils/texture.d.ts +5 -5
  88. package/dist/utils/texture.js +14 -14
  89. package/dist/utils/validate.d.ts +5 -5
  90. package/dist/utils/validate.js +17 -17
  91. package/dist/utils/version.d.ts +1 -1
  92. package/dist/utils/version.gen.d.ts +1 -1
  93. package/dist/utils/version.gen.js +1 -1
  94. package/dist/utils/version.js +4 -4
  95. package/package.json +79 -79
  96. package/scripts/clear-caches.mjs +3 -3
  97. package/scripts/defaults.mjs +11 -11
  98. package/scripts/fileutils.mjs +5 -5
  99. package/scripts/index.mjs +41 -41
  100. package/scripts/limit-caches.mjs +3 -3
  101. package/scripts/make-progressive.mjs +16 -16
  102. package/scripts/pack-gltf.mjs +106 -106
  103. package/tsconfig.json +19 -19
@@ -1,3 +1,3 @@
1
- import { Extension } from "@gltf-transform/core";
2
- export * from "./NEEDLE_opaque.js";
3
- export declare const ALL_EXTENSIONS: (typeof Extension)[];
1
+ import { Extension } from "@gltf-transform/core";
2
+ export * from "./NEEDLE_opaque.js";
3
+ export declare const ALL_EXTENSIONS: (typeof Extension)[];
@@ -1,30 +1,30 @@
1
- import { PropertyType } from "@gltf-transform/core";
2
- import { createOpaqueExtension } from "./NEEDLE_opaque.js";
3
- export * from "./NEEDLE_opaque.js";
4
- const opaqueOptions = {
5
- debug: process.argv.includes("debug"),
6
- };
7
- export const ALL_EXTENSIONS = [
8
- createOpaqueExtension("KHR_animation_pointer", [PropertyType.ANIMATION, PropertyType.ANIMATION_CHANNEL], { ...opaqueOptions }),
9
- createOpaqueExtension("NEEDLE_techniques_webgl", [PropertyType.NODE, PropertyType.MATERIAL, PropertyType.ROOT], { ...opaqueOptions }),
10
- createOpaqueExtension("NEEDLE_gameobject_data", PropertyType.NODE, { ...opaqueOptions }),
11
- createOpaqueExtension("NEEDLE_components", PropertyType.NODE, { ...opaqueOptions }),
12
- createOpaqueExtension("NEEDLE_persistent_assets", PropertyType.ROOT, { ...opaqueOptions }),
13
- createOpaqueExtension("NEEDLE_lightmaps", PropertyType.ROOT, { ...opaqueOptions }),
14
- createOpaqueExtension("NEEDLE_lighting_settings", PropertyType.ROOT, { ...opaqueOptions }),
15
- createOpaqueExtension("NEEDLE_render_objects", PropertyType.ROOT, { ...opaqueOptions }),
16
- createOpaqueExtension("NEEDLE_progressive", [PropertyType.TEXTURE, PropertyType.MATERIAL, PropertyType.MESH], { ...opaqueOptions }),
17
- createOpaqueExtension("EXT_texture_exr", [PropertyType.TEXTURE], { ...opaqueOptions }),
18
- createOpaqueExtension("NEEDLE_editor", [PropertyType.NODE, PropertyType.MATERIAL], { ...opaqueOptions }),
19
- createOpaqueExtension("NEEDLE_gltf_dependencies", [PropertyType.ROOT], { ...opaqueOptions }),
20
- // MaterialX
21
- createOpaqueExtension("NEEDLE_materials_mtlx", [PropertyType.ROOT, PropertyType.MATERIAL], { ...opaqueOptions }),
22
- // VRM 0.0
23
- createOpaqueExtension("VRM", [PropertyType.ROOT], { ...opaqueOptions }),
24
- // VRM 1.0 https://vrm.dev/en/vrm1/changed/
25
- createOpaqueExtension("VRMC_vrm", [PropertyType.ROOT], { ...opaqueOptions }),
26
- createOpaqueExtension("VRMC_springBone", [PropertyType.ROOT], { ...opaqueOptions }),
27
- createOpaqueExtension("VRMC_node_constraint", [PropertyType.NODE], { ...opaqueOptions }),
28
- // TODO: mtoon materials don't work yet
29
- // createOpaqueExtension("VRMC_materials_mtoon", [PropertyType.MATERIAL], { ...opaqueOptions, debug: true, breakpoint: "pointer:read" },),
30
- ];
1
+ import { PropertyType } from "@gltf-transform/core";
2
+ import { createOpaqueExtension } from "./NEEDLE_opaque.js";
3
+ export * from "./NEEDLE_opaque.js";
4
+ const opaqueOptions = {
5
+ debug: process.argv.includes("debug"),
6
+ };
7
+ export const ALL_EXTENSIONS = [
8
+ createOpaqueExtension("KHR_animation_pointer", [PropertyType.ANIMATION, PropertyType.ANIMATION_CHANNEL], { ...opaqueOptions }),
9
+ createOpaqueExtension("NEEDLE_techniques_webgl", [PropertyType.NODE, PropertyType.MATERIAL, PropertyType.ROOT], { ...opaqueOptions }),
10
+ createOpaqueExtension("NEEDLE_gameobject_data", PropertyType.NODE, { ...opaqueOptions }),
11
+ createOpaqueExtension("NEEDLE_components", PropertyType.NODE, { ...opaqueOptions }),
12
+ createOpaqueExtension("NEEDLE_persistent_assets", PropertyType.ROOT, { ...opaqueOptions }),
13
+ createOpaqueExtension("NEEDLE_lightmaps", PropertyType.ROOT, { ...opaqueOptions }),
14
+ createOpaqueExtension("NEEDLE_lighting_settings", PropertyType.ROOT, { ...opaqueOptions }),
15
+ createOpaqueExtension("NEEDLE_render_objects", PropertyType.ROOT, { ...opaqueOptions }),
16
+ createOpaqueExtension("NEEDLE_progressive", [PropertyType.TEXTURE, PropertyType.MATERIAL, PropertyType.MESH], { ...opaqueOptions }),
17
+ createOpaqueExtension("EXT_texture_exr", [PropertyType.TEXTURE], { ...opaqueOptions }),
18
+ createOpaqueExtension("NEEDLE_editor", [PropertyType.NODE, PropertyType.MATERIAL], { ...opaqueOptions }),
19
+ createOpaqueExtension("NEEDLE_gltf_dependencies", [PropertyType.ROOT], { ...opaqueOptions }),
20
+ // MaterialX
21
+ createOpaqueExtension("NEEDLE_materials_mtlx", [PropertyType.ROOT, PropertyType.MATERIAL], { ...opaqueOptions }),
22
+ // VRM 0.0
23
+ createOpaqueExtension("VRM", [PropertyType.ROOT], { ...opaqueOptions }),
24
+ // VRM 1.0 https://vrm.dev/en/vrm1/changed/
25
+ createOpaqueExtension("VRMC_vrm", [PropertyType.ROOT], { ...opaqueOptions }),
26
+ createOpaqueExtension("VRMC_springBone", [PropertyType.ROOT], { ...opaqueOptions }),
27
+ createOpaqueExtension("VRMC_node_constraint", [PropertyType.NODE], { ...opaqueOptions }),
28
+ // TODO: mtoon materials don't work yet
29
+ // createOpaqueExtension("VRMC_materials_mtoon", [PropertyType.MATERIAL], { ...opaqueOptions, debug: true, breakpoint: "pointer:read" },),
30
+ ];
@@ -1,48 +1,48 @@
1
- import { Extension, ExtensionProperty, PropertyType, ReaderContext, WriterContext } from "@gltf-transform/core";
2
- export declare const NEEDLE_PROGRESSIVE_EXTENSION_NAME = "NEEDLE_progressive";
3
- export type ProgressiveLoadingInfo = {
4
- /** guid of the asset the LODs belong to */
5
- guid: string;
6
- /** lod infos and paths */
7
- lods?: Array<LodInfo>;
8
- };
9
- type LodInfo = {
10
- /** Relative path to the LOD file */
11
- path: string;
12
- /** Hash of the LOD file. It has been generated using the file content and settings */
13
- hash: string;
14
- };
15
- export type ProgressiveTextureLodEntry = LodInfo & {
16
- width: number;
17
- height: number;
18
- };
19
- export type ProgressiveTextureModel = ProgressiveLoadingInfo & {
20
- lods?: Array<ProgressiveTextureLodEntry>;
21
- };
22
- export type ProgressiveMeshModel = ProgressiveLoadingInfo & {
23
- lods?: Array<LodInfo & {
24
- /** @deprecated Mesh vertex density TODO: remove in the future */
25
- density: number;
26
- vertexCount: number;
27
- indexCount: number;
28
- /** Densities per primitive */
29
- densities?: Array<number>;
30
- }>;
31
- };
32
- export declare class NEEDLE_progressive extends Extension {
33
- static EXTENSION_NAME: string;
34
- extensionName: string;
35
- createTexture(data: ProgressiveTextureModel): NEEDLE_progressive_property;
36
- createMesh(data: ProgressiveMeshModel): NEEDLE_progressive_property;
37
- read(_context: ReaderContext): this;
38
- write(context: WriterContext): this;
39
- }
40
- export declare class NEEDLE_progressive_property extends ExtensionProperty {
41
- static EXTENSION_NAME: string;
42
- readonly extensionName: string;
43
- parentTypes: PropertyType[];
44
- propertyType: string;
45
- init(): void;
46
- model: ProgressiveLoadingInfo;
47
- }
48
- export {};
1
+ import { Extension, ExtensionProperty, PropertyType, ReaderContext, WriterContext } from "@gltf-transform/core";
2
+ export declare const NEEDLE_PROGRESSIVE_EXTENSION_NAME = "NEEDLE_progressive";
3
+ export type ProgressiveLoadingInfo = {
4
+ /** guid of the asset the LODs belong to */
5
+ guid: string;
6
+ /** lod infos and paths */
7
+ lods?: Array<LodInfo>;
8
+ };
9
+ type LodInfo = {
10
+ /** Relative path to the LOD file */
11
+ path: string;
12
+ /** Hash of the LOD file. It has been generated using the file content and settings */
13
+ hash: string;
14
+ };
15
+ export type ProgressiveTextureLodEntry = LodInfo & {
16
+ width: number;
17
+ height: number;
18
+ };
19
+ export type ProgressiveTextureModel = ProgressiveLoadingInfo & {
20
+ lods?: Array<ProgressiveTextureLodEntry>;
21
+ };
22
+ export type ProgressiveMeshModel = ProgressiveLoadingInfo & {
23
+ lods?: Array<LodInfo & {
24
+ /** @deprecated Mesh vertex density TODO: remove in the future */
25
+ density: number;
26
+ vertexCount: number;
27
+ indexCount: number;
28
+ /** Densities per primitive */
29
+ densities?: Array<number>;
30
+ }>;
31
+ };
32
+ export declare class NEEDLE_progressive extends Extension {
33
+ static EXTENSION_NAME: string;
34
+ extensionName: string;
35
+ createTexture(data: ProgressiveTextureModel): NEEDLE_progressive_property;
36
+ createMesh(data: ProgressiveMeshModel): NEEDLE_progressive_property;
37
+ read(_context: ReaderContext): this;
38
+ write(context: WriterContext): this;
39
+ }
40
+ export declare class NEEDLE_progressive_property extends ExtensionProperty {
41
+ static EXTENSION_NAME: string;
42
+ readonly extensionName: string;
43
+ parentTypes: PropertyType[];
44
+ propertyType: string;
45
+ init(): void;
46
+ model: ProgressiveLoadingInfo;
47
+ }
48
+ export {};
@@ -1,69 +1,69 @@
1
- import { Extension, ExtensionProperty, PropertyType } from "@gltf-transform/core";
2
- // TODO: rename to NEEDLE_progressive_texture
3
- export const NEEDLE_PROGRESSIVE_EXTENSION_NAME = "NEEDLE_progressive";
4
- export class NEEDLE_progressive extends Extension {
5
- static EXTENSION_NAME = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
6
- extensionName = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
7
- createTexture(data) {
8
- const ext = new NEEDLE_progressive_property(this.document.getGraph());
9
- ext.model = data;
10
- return ext;
11
- }
12
- createMesh(data) {
13
- const ext = new NEEDLE_progressive_property(this.document.getGraph());
14
- ext.model = data;
15
- return ext;
16
- }
17
- read(_context) {
18
- // console.log("READ " + NEEDLE_PROGRESSIVE_TEXTURE_EXTENSION_NAME);
19
- return this;
20
- }
21
- write(context) {
22
- // console.log("WRITE " + NEEDLE_PROGRESSIVE_TEXTURE_EXTENSION_NAME);
23
- const root = this.document.getRoot();
24
- const textureDefinitions = context.jsonDoc.json.textures;
25
- if (textureDefinitions.length) {
26
- const textures = root.listTextures();
27
- // we use the texture image map to find the texture definition to write the extension to
28
- const textureImageIndexMap = context.imageIndexMap;
29
- for (const tex of textures) {
30
- const prop = tex.getExtension(NEEDLE_PROGRESSIVE_EXTENSION_NAME);
31
- if (prop && prop.model) {
32
- // get the image this texture is using
33
- const imageIndex = textureImageIndexMap.get(tex);
34
- // find the texture definition that uses this image and add the extension
35
- for (const def of textureDefinitions) {
36
- if (def.source === imageIndex) {
37
- def.extensions = def.extensions || {};
38
- def.extensions[NEEDLE_PROGRESSIVE_EXTENSION_NAME] = prop.model;
39
- }
40
- }
41
- }
42
- }
43
- }
44
- const meshDefinitions = context.jsonDoc.json.meshes;
45
- if (meshDefinitions?.length) {
46
- const meshIndexMap = context.meshIndexMap;
47
- const meshes = root.listMeshes();
48
- for (let i = 0; i < meshes.length; i++) {
49
- const mesh = meshes[i];
50
- const meshIndex = meshIndexMap.get(mesh);
51
- const meshExt = mesh.getExtension(NEEDLE_PROGRESSIVE_EXTENSION_NAME);
52
- if (meshExt && meshExt.model) {
53
- const meshDef = meshDefinitions[meshIndex];
54
- meshDef.extensions = meshDef.extensions || {};
55
- meshDef.extensions[NEEDLE_PROGRESSIVE_EXTENSION_NAME] = meshExt.model;
56
- }
57
- }
58
- }
59
- return this;
60
- }
61
- }
62
- export class NEEDLE_progressive_property extends ExtensionProperty {
63
- static EXTENSION_NAME = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
64
- extensionName = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
65
- parentTypes = [PropertyType.TEXTURE, PropertyType.MESH];
66
- propertyType = "progressive_texture";
67
- init() { }
68
- model;
69
- }
1
+ import { Extension, ExtensionProperty, PropertyType } from "@gltf-transform/core";
2
+ // TODO: rename to NEEDLE_progressive_texture
3
+ export const NEEDLE_PROGRESSIVE_EXTENSION_NAME = "NEEDLE_progressive";
4
+ export class NEEDLE_progressive extends Extension {
5
+ static EXTENSION_NAME = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
6
+ extensionName = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
7
+ createTexture(data) {
8
+ const ext = new NEEDLE_progressive_property(this.document.getGraph());
9
+ ext.model = data;
10
+ return ext;
11
+ }
12
+ createMesh(data) {
13
+ const ext = new NEEDLE_progressive_property(this.document.getGraph());
14
+ ext.model = data;
15
+ return ext;
16
+ }
17
+ read(_context) {
18
+ // console.log("READ " + NEEDLE_PROGRESSIVE_TEXTURE_EXTENSION_NAME);
19
+ return this;
20
+ }
21
+ write(context) {
22
+ // console.log("WRITE " + NEEDLE_PROGRESSIVE_TEXTURE_EXTENSION_NAME);
23
+ const root = this.document.getRoot();
24
+ const textureDefinitions = context.jsonDoc.json.textures;
25
+ if (textureDefinitions.length) {
26
+ const textures = root.listTextures();
27
+ // we use the texture image map to find the texture definition to write the extension to
28
+ const textureImageIndexMap = context.imageIndexMap;
29
+ for (const tex of textures) {
30
+ const prop = tex.getExtension(NEEDLE_PROGRESSIVE_EXTENSION_NAME);
31
+ if (prop && prop.model) {
32
+ // get the image this texture is using
33
+ const imageIndex = textureImageIndexMap.get(tex);
34
+ // find the texture definition that uses this image and add the extension
35
+ for (const def of textureDefinitions) {
36
+ if (def.source === imageIndex) {
37
+ def.extensions = def.extensions || {};
38
+ def.extensions[NEEDLE_PROGRESSIVE_EXTENSION_NAME] = prop.model;
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ const meshDefinitions = context.jsonDoc.json.meshes;
45
+ if (meshDefinitions?.length) {
46
+ const meshIndexMap = context.meshIndexMap;
47
+ const meshes = root.listMeshes();
48
+ for (let i = 0; i < meshes.length; i++) {
49
+ const mesh = meshes[i];
50
+ const meshIndex = meshIndexMap.get(mesh);
51
+ const meshExt = mesh.getExtension(NEEDLE_PROGRESSIVE_EXTENSION_NAME);
52
+ if (meshExt && meshExt.model) {
53
+ const meshDef = meshDefinitions[meshIndex];
54
+ meshDef.extensions = meshDef.extensions || {};
55
+ meshDef.extensions[NEEDLE_PROGRESSIVE_EXTENSION_NAME] = meshExt.model;
56
+ }
57
+ }
58
+ }
59
+ return this;
60
+ }
61
+ }
62
+ export class NEEDLE_progressive_property extends ExtensionProperty {
63
+ static EXTENSION_NAME = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
64
+ extensionName = NEEDLE_PROGRESSIVE_EXTENSION_NAME;
65
+ parentTypes = [PropertyType.TEXTURE, PropertyType.MESH];
66
+ propertyType = "progressive_texture";
67
+ init() { }
68
+ model;
69
+ }
@@ -1 +1 @@
1
- export * from "./NEEDLE_progressive.js";
1
+ export * from "./NEEDLE_progressive.js";
@@ -1 +1 @@
1
- export * from "./NEEDLE_progressive.js";
1
+ export * from "./NEEDLE_progressive.js";
@@ -1,23 +1,23 @@
1
- import { Extension, ExtensionProperty, PropertyType, ReaderContext, WriterContext } from "@gltf-transform/core";
2
- export declare interface IProgressiveMeshSettings {
3
- /**
4
- * When false no LODs will be generated for this mesh
5
- */
6
- generateLods: boolean;
7
- guid: string;
8
- }
9
- export declare class NEEDLE_progressive_mesh_settings extends Extension {
10
- static EXTENSION_NAME: string;
11
- extensionName: string;
12
- read(context: ReaderContext): this;
13
- write(context: WriterContext): this;
14
- }
15
- export declare class NEEDLE_progressive_mesh_settings_property extends ExtensionProperty implements IProgressiveMeshSettings {
16
- static EXTENSION_NAME: string;
17
- readonly extensionName: string;
18
- parentTypes: PropertyType[];
19
- propertyType: string;
20
- init(): void;
21
- generateLods: boolean;
22
- guid: string;
23
- }
1
+ import { Extension, ExtensionProperty, PropertyType, ReaderContext, WriterContext } from "@gltf-transform/core";
2
+ export declare interface IProgressiveMeshSettings {
3
+ /**
4
+ * When false no LODs will be generated for this mesh
5
+ */
6
+ generateLods: boolean;
7
+ guid: string;
8
+ }
9
+ export declare class NEEDLE_progressive_mesh_settings extends Extension {
10
+ static EXTENSION_NAME: string;
11
+ extensionName: string;
12
+ read(context: ReaderContext): this;
13
+ write(context: WriterContext): this;
14
+ }
15
+ export declare class NEEDLE_progressive_mesh_settings_property extends ExtensionProperty implements IProgressiveMeshSettings {
16
+ static EXTENSION_NAME: string;
17
+ readonly extensionName: string;
18
+ parentTypes: PropertyType[];
19
+ propertyType: string;
20
+ init(): void;
21
+ generateLods: boolean;
22
+ guid: string;
23
+ }
@@ -1,41 +1,41 @@
1
- import { Extension, ExtensionProperty, PropertyType } from "@gltf-transform/core";
2
- const EXTENSION_NAME = "NEEDLE_progressive_mesh_settings";
3
- export class NEEDLE_progressive_mesh_settings extends Extension {
4
- static EXTENSION_NAME = EXTENSION_NAME;
5
- extensionName = EXTENSION_NAME;
6
- read(context) {
7
- const definitions = context.jsonDoc.json.meshes;
8
- if (!definitions)
9
- return this;
10
- const root = this.document.getRoot();
11
- const meshes = root.listMeshes();
12
- for (let i = 0; i < definitions.length; i++) {
13
- const def = definitions[i];
14
- if (def.extensions && def.extensions[EXTENSION_NAME]) {
15
- const ext = def.extensions[EXTENSION_NAME];
16
- const prop = new NEEDLE_progressive_mesh_settings_property(this.document.getGraph(), "");
17
- Object.assign(prop, ext);
18
- let index = i;
19
- const mesh = meshes[index];
20
- if (mesh)
21
- mesh.setExtension(EXTENSION_NAME, prop);
22
- else {
23
- console.warn(`WARN: Progressive mesh at index ${i} was not found in the glTF file. This might result in falsely loaded textures for ${ext.guid} / name \"${def.name}\"`);
24
- }
25
- }
26
- }
27
- return this;
28
- }
29
- write(context) {
30
- return this;
31
- }
32
- }
33
- export class NEEDLE_progressive_mesh_settings_property extends ExtensionProperty {
34
- static EXTENSION_NAME = EXTENSION_NAME;
35
- extensionName = EXTENSION_NAME;
36
- parentTypes = [PropertyType.MESH];
37
- propertyType = EXTENSION_NAME;
38
- init() { }
39
- generateLods;
40
- guid;
41
- }
1
+ import { Extension, ExtensionProperty, PropertyType } from "@gltf-transform/core";
2
+ const EXTENSION_NAME = "NEEDLE_progressive_mesh_settings";
3
+ export class NEEDLE_progressive_mesh_settings extends Extension {
4
+ static EXTENSION_NAME = EXTENSION_NAME;
5
+ extensionName = EXTENSION_NAME;
6
+ read(context) {
7
+ const definitions = context.jsonDoc.json.meshes;
8
+ if (!definitions)
9
+ return this;
10
+ const root = this.document.getRoot();
11
+ const meshes = root.listMeshes();
12
+ for (let i = 0; i < definitions.length; i++) {
13
+ const def = definitions[i];
14
+ if (def.extensions && def.extensions[EXTENSION_NAME]) {
15
+ const ext = def.extensions[EXTENSION_NAME];
16
+ const prop = new NEEDLE_progressive_mesh_settings_property(this.document.getGraph(), "");
17
+ Object.assign(prop, ext);
18
+ let index = i;
19
+ const mesh = meshes[index];
20
+ if (mesh)
21
+ mesh.setExtension(EXTENSION_NAME, prop);
22
+ else {
23
+ console.warn(`WARN: Progressive mesh at index ${i} was not found in the glTF file. This might result in falsely loaded textures for ${ext.guid} / name \"${def.name}\"`);
24
+ }
25
+ }
26
+ }
27
+ return this;
28
+ }
29
+ write(context) {
30
+ return this;
31
+ }
32
+ }
33
+ export class NEEDLE_progressive_mesh_settings_property extends ExtensionProperty {
34
+ static EXTENSION_NAME = EXTENSION_NAME;
35
+ extensionName = EXTENSION_NAME;
36
+ parentTypes = [PropertyType.MESH];
37
+ propertyType = EXTENSION_NAME;
38
+ init() { }
39
+ generateLods;
40
+ guid;
41
+ }
@@ -1,25 +1,25 @@
1
- import { Extension, ExtensionProperty, PropertyType, ReaderContext, WriterContext } from "@gltf-transform/core";
2
- export declare interface IProgressiveTextureSettings {
3
- /**
4
- * When false the texture no progressive texture will be generated
5
- */
6
- generateLods?: boolean;
7
- maxSize: number;
8
- guid: string;
9
- }
10
- export declare class NEEDLE_progressive_texture_settings extends Extension {
11
- static EXTENSION_NAME: string;
12
- extensionName: string;
13
- read(context: ReaderContext): this;
14
- write(context: WriterContext): this;
15
- }
16
- export declare class NEEDLE_progressive_texture_settings_property extends ExtensionProperty implements IProgressiveTextureSettings {
17
- static EXTENSION_NAME: string;
18
- readonly extensionName: string;
19
- parentTypes: PropertyType[];
20
- propertyType: string;
21
- init(): void;
22
- get isValid(): boolean;
23
- maxSize: number;
24
- guid: string;
25
- }
1
+ import { Extension, ExtensionProperty, PropertyType, ReaderContext, WriterContext } from "@gltf-transform/core";
2
+ export declare interface IProgressiveTextureSettings {
3
+ /**
4
+ * When false the texture no progressive texture will be generated
5
+ */
6
+ generateLods?: boolean;
7
+ maxSize: number;
8
+ guid: string;
9
+ }
10
+ export declare class NEEDLE_progressive_texture_settings extends Extension {
11
+ static EXTENSION_NAME: string;
12
+ extensionName: string;
13
+ read(context: ReaderContext): this;
14
+ write(context: WriterContext): this;
15
+ }
16
+ export declare class NEEDLE_progressive_texture_settings_property extends ExtensionProperty implements IProgressiveTextureSettings {
17
+ static EXTENSION_NAME: string;
18
+ readonly extensionName: string;
19
+ parentTypes: PropertyType[];
20
+ propertyType: string;
21
+ init(): void;
22
+ get isValid(): boolean;
23
+ maxSize: number;
24
+ guid: string;
25
+ }
@@ -1,38 +1,38 @@
1
- import { Extension, ExtensionProperty, PropertyType } from "@gltf-transform/core";
2
- // TODO: rename to NEEDLE_progressive_texture
3
- const EXTENSION_NAME = "NEEDLE_progressive_texture_settings";
4
- export class NEEDLE_progressive_texture_settings extends Extension {
5
- static EXTENSION_NAME = EXTENSION_NAME;
6
- extensionName = EXTENSION_NAME;
7
- read(context) {
8
- const textureDefinitions = context.jsonDoc.json.textures;
9
- if (!textureDefinitions)
10
- return this;
11
- for (let i = 0; i < textureDefinitions.length; i++) {
12
- const texDef = textureDefinitions[i];
13
- if (texDef.extensions && texDef.extensions[EXTENSION_NAME]) {
14
- const ext = texDef.extensions[EXTENSION_NAME];
15
- const prop = new NEEDLE_progressive_texture_settings_property(this.document.getGraph(), "");
16
- Object.assign(prop, ext);
17
- const texture = context.textures[texDef.source];
18
- texture.setExtension(EXTENSION_NAME, prop);
19
- }
20
- }
21
- return this;
22
- }
23
- write(context) {
24
- return this;
25
- }
26
- }
27
- export class NEEDLE_progressive_texture_settings_property extends ExtensionProperty {
28
- static EXTENSION_NAME = EXTENSION_NAME;
29
- extensionName = EXTENSION_NAME;
30
- parentTypes = [PropertyType.TEXTURE];
31
- propertyType = EXTENSION_NAME;
32
- init() { }
33
- get isValid() {
34
- return this.maxSize !== undefined && this.maxSize > 0;
35
- }
36
- maxSize;
37
- guid;
38
- }
1
+ import { Extension, ExtensionProperty, PropertyType } from "@gltf-transform/core";
2
+ // TODO: rename to NEEDLE_progressive_texture
3
+ const EXTENSION_NAME = "NEEDLE_progressive_texture_settings";
4
+ export class NEEDLE_progressive_texture_settings extends Extension {
5
+ static EXTENSION_NAME = EXTENSION_NAME;
6
+ extensionName = EXTENSION_NAME;
7
+ read(context) {
8
+ const textureDefinitions = context.jsonDoc.json.textures;
9
+ if (!textureDefinitions)
10
+ return this;
11
+ for (let i = 0; i < textureDefinitions.length; i++) {
12
+ const texDef = textureDefinitions[i];
13
+ if (texDef.extensions && texDef.extensions[EXTENSION_NAME]) {
14
+ const ext = texDef.extensions[EXTENSION_NAME];
15
+ const prop = new NEEDLE_progressive_texture_settings_property(this.document.getGraph(), "");
16
+ Object.assign(prop, ext);
17
+ const texture = context.textures[texDef.source];
18
+ texture.setExtension(EXTENSION_NAME, prop);
19
+ }
20
+ }
21
+ return this;
22
+ }
23
+ write(context) {
24
+ return this;
25
+ }
26
+ }
27
+ export class NEEDLE_progressive_texture_settings_property extends ExtensionProperty {
28
+ static EXTENSION_NAME = EXTENSION_NAME;
29
+ extensionName = EXTENSION_NAME;
30
+ parentTypes = [PropertyType.TEXTURE];
31
+ propertyType = EXTENSION_NAME;
32
+ init() { }
33
+ get isValid() {
34
+ return this.maxSize !== undefined && this.maxSize > 0;
35
+ }
36
+ maxSize;
37
+ guid;
38
+ }
@@ -1,7 +1,7 @@
1
- export * from "./NEEDLE_opaque/index.js";
2
- export * from "./NEEDLE_mesh_compression/index.js";
3
- export * from "./NEEDLE_compression_texture/index.js";
4
- export * from "./NEEDLE_progressive/index.js";
5
- export * from "./NEEDLE_progressive_texture_settings/index.js";
6
- export * from "./NEEDLE_progressive_mesh_settings/index.js";
7
- export declare function registerExtensions(node: any): void;
1
+ export * from "./NEEDLE_opaque/index.js";
2
+ export * from "./NEEDLE_mesh_compression/index.js";
3
+ export * from "./NEEDLE_compression_texture/index.js";
4
+ export * from "./NEEDLE_progressive/index.js";
5
+ export * from "./NEEDLE_progressive_texture_settings/index.js";
6
+ export * from "./NEEDLE_progressive_mesh_settings/index.js";
7
+ export declare function registerExtensions(node: any): void;
@@ -1,17 +1,17 @@
1
- // export * from "./extension.js";
2
- export * from "./NEEDLE_opaque/index.js";
3
- export * from "./NEEDLE_mesh_compression/index.js";
4
- export * from "./NEEDLE_compression_texture/index.js";
5
- export * from "./NEEDLE_progressive/index.js";
6
- export * from "./NEEDLE_progressive_texture_settings/index.js";
7
- export * from "./NEEDLE_progressive_mesh_settings/index.js";
8
- import { ALL_EXTENSIONS } from '@gltf-transform/extensions';
9
- import { ALL_EXTENSIONS as NEEDLE_EXTENSIONS } from "./NEEDLE_opaque/index.js";
10
- import { NEEDLE_progressive } from './NEEDLE_progressive/index.js';
11
- export function registerExtensions(node) {
12
- node.registerExtensions(ALL_EXTENSIONS);
13
- node.registerExtensions(NEEDLE_EXTENSIONS);
14
- node.registerExtensions([
15
- NEEDLE_progressive
16
- ]);
17
- }
1
+ // export * from "./extension.js";
2
+ export * from "./NEEDLE_opaque/index.js";
3
+ export * from "./NEEDLE_mesh_compression/index.js";
4
+ export * from "./NEEDLE_compression_texture/index.js";
5
+ export * from "./NEEDLE_progressive/index.js";
6
+ export * from "./NEEDLE_progressive_texture_settings/index.js";
7
+ export * from "./NEEDLE_progressive_mesh_settings/index.js";
8
+ import { ALL_EXTENSIONS } from '@gltf-transform/extensions';
9
+ import { ALL_EXTENSIONS as NEEDLE_EXTENSIONS } from "./NEEDLE_opaque/index.js";
10
+ import { NEEDLE_progressive } from './NEEDLE_progressive/index.js';
11
+ export function registerExtensions(node) {
12
+ node.registerExtensions(ALL_EXTENSIONS);
13
+ node.registerExtensions(NEEDLE_EXTENSIONS);
14
+ node.registerExtensions([
15
+ NEEDLE_progressive
16
+ ]);
17
+ }
@@ -1,6 +1,6 @@
1
- import { ReaderContext, Texture, WriterContext } from '@gltf-transform/core';
2
- import { GLTF } from '@gltf-transform/core';
3
- export declare function tryGetInArray<T>(arr: Array<T> | undefined | null, index: number | undefined): T | null;
4
- export declare function writeExtension(prop: GLTF.IProperty | null, name: string, ext: any): void;
5
- export declare function getTexture(context: ReaderContext, tex: GLTF.ITexture): Texture;
6
- export declare function getTextureDefinition(context: WriterContext | ReaderContext, tex: Texture): GLTF.ITexture | null;
1
+ import { ReaderContext, Texture, WriterContext } from '@gltf-transform/core';
2
+ import { GLTF } from '@gltf-transform/core';
3
+ export declare function tryGetInArray<T>(arr: Array<T> | undefined | null, index: number | undefined): T | null;
4
+ export declare function writeExtension(prop: GLTF.IProperty | null, name: string, ext: any): void;
5
+ export declare function getTexture(context: ReaderContext, tex: GLTF.ITexture): Texture;
6
+ export declare function getTextureDefinition(context: WriterContext | ReaderContext, tex: Texture): GLTF.ITexture | null;