@markandre13/usd.js 0.0.5 → 0.0.6

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 (72) hide show
  1. package/README.md +10 -2
  2. package/dist/compression/integers.js +2 -0
  3. package/dist/compression/integers.js.map +1 -1
  4. package/dist/crate/Crate.d.ts +2 -0
  5. package/dist/crate/Crate.js +25 -6
  6. package/dist/crate/Crate.js.map +1 -1
  7. package/dist/crate/CrateDataType.d.ts +1 -1
  8. package/dist/crate/CrateDataType.js +3 -0
  9. package/dist/crate/CrateDataType.js.map +1 -1
  10. package/dist/crate/Field.d.ts +2 -1
  11. package/dist/crate/Field.js +2 -2
  12. package/dist/crate/Field.js.map +1 -1
  13. package/dist/crate/FieldSets.js +1 -0
  14. package/dist/crate/FieldSets.js.map +1 -1
  15. package/dist/crate/Fields.d.ts +1 -9
  16. package/dist/crate/Fields.js +10 -4
  17. package/dist/crate/Fields.js.map +1 -1
  18. package/dist/crate/ListOp.d.ts +29 -0
  19. package/dist/crate/ListOp.js +22 -0
  20. package/dist/crate/ListOp.js.map +1 -0
  21. package/dist/crate/ValueRep.d.ts +1 -1
  22. package/dist/crate/ValueRep.js +6 -3
  23. package/dist/crate/ValueRep.js.map +1 -1
  24. package/dist/nodes/attributes/FloatArrayAttr.d.ts +6 -0
  25. package/dist/nodes/attributes/FloatArrayAttr.js +18 -0
  26. package/dist/nodes/attributes/FloatArrayAttr.js.map +1 -0
  27. package/dist/nodes/attributes/FloatAttr.js.map +1 -1
  28. package/dist/nodes/attributes/IntArrayAttr.d.ts +3 -1
  29. package/dist/nodes/attributes/IntArrayAttr.js +5 -1
  30. package/dist/nodes/attributes/IntArrayAttr.js.map +1 -1
  31. package/dist/nodes/attributes/Relationship.d.ts +1 -1
  32. package/dist/nodes/attributes/TokenAttr.d.ts +2 -2
  33. package/dist/nodes/attributes/TokenAttr.js +12 -2
  34. package/dist/nodes/attributes/TokenAttr.js.map +1 -1
  35. package/dist/nodes/attributes/Vec3fArrayAttr.d.ts +3 -1
  36. package/dist/nodes/attributes/Vec3fArrayAttr.js +5 -1
  37. package/dist/nodes/attributes/Vec3fArrayAttr.js.map +1 -1
  38. package/dist/nodes/geometry/GeomSubset.d.ts +66 -1
  39. package/dist/nodes/geometry/GeomSubset.js +101 -8
  40. package/dist/nodes/geometry/GeomSubset.js.map +1 -1
  41. package/dist/nodes/geometry/Mesh.d.ts +7 -4
  42. package/dist/nodes/geometry/Mesh.js +28 -5
  43. package/dist/nodes/geometry/Mesh.js.map +1 -1
  44. package/dist/nodes/geometry/PointBased.d.ts +1 -0
  45. package/dist/nodes/geometry/PointBased.js +12 -0
  46. package/dist/nodes/geometry/PointBased.js.map +1 -1
  47. package/dist/nodes/geometry/SkelBindingAPI.d.ts +19 -2
  48. package/dist/nodes/shader/Material.d.ts +1 -0
  49. package/dist/nodes/shader/Material.js +13 -0
  50. package/dist/nodes/shader/Material.js.map +1 -1
  51. package/dist/nodes/shader/blender/ImageTexture.d.ts +12 -0
  52. package/dist/nodes/shader/blender/ImageTexture.js +59 -0
  53. package/dist/nodes/shader/blender/ImageTexture.js.map +1 -0
  54. package/dist/nodes/shader/blender/PrincipledBSDF.d.ts +14 -0
  55. package/dist/nodes/shader/blender/PrincipledBSDF.js +82 -0
  56. package/dist/nodes/shader/blender/PrincipledBSDF.js.map +1 -0
  57. package/dist/nodes/shader/blender/UVMap.d.ts +9 -0
  58. package/dist/nodes/shader/blender/UVMap.js +32 -0
  59. package/dist/nodes/shader/blender/UVMap.js.map +1 -0
  60. package/dist/nodes/skeleton/BlendShape.d.ts +21 -0
  61. package/dist/nodes/skeleton/BlendShape.js +46 -0
  62. package/dist/nodes/skeleton/BlendShape.js.map +1 -0
  63. package/dist/nodes/skeleton/SkelAnimation.d.ts +26 -0
  64. package/dist/nodes/skeleton/SkelAnimation.js +50 -0
  65. package/dist/nodes/skeleton/SkelAnimation.js.map +1 -0
  66. package/dist/nodes/skeleton/Skeleton.d.ts +10 -0
  67. package/dist/nodes/skeleton/Skeleton.js +14 -0
  68. package/dist/nodes/skeleton/Skeleton.js.map +1 -1
  69. package/dist/nodes/usd/UsdNode.d.ts +4 -1
  70. package/dist/nodes/usd/UsdNode.js +21 -0
  71. package/dist/nodes/usd/UsdNode.js.map +1 -1
  72. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"FloatAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/FloatAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAO,SAAU,SAAQ,OAAO;IAElC,YAAY,MAAe,EAAE,IAAY,EAAE,KAAa;QACpD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAC7C,CAAA;QACD,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAC/C,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"FloatAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/FloatAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAO,SAAU,SAAQ,OAAO;IAElC,YAAY,MAAe,EAAE,IAAY,EAAE,KAAa;QACpD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAC7C,CAAA;QACD,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,KAAe,CAAC,CACzD,CAAA;IACL,CAAC;CACJ"}
@@ -1,6 +1,8 @@
1
+ import { Variability } from "../../crate/Variability";
1
2
  import { UsdNode } from "../usd/UsdNode";
2
3
  export declare class IntArrayAttr extends UsdNode {
3
4
  value: ArrayLike<number>;
4
- constructor(parent: UsdNode, name: string, value: ArrayLike<number>);
5
+ variability?: Variability;
6
+ constructor(parent: UsdNode, name: string, value: ArrayLike<number>, variability?: Variability);
5
7
  encodeFields(): void;
6
8
  }
@@ -1,15 +1,19 @@
1
1
  import { SpecType } from "../../crate/SpecType";
2
2
  import { UsdNode } from "../usd/UsdNode";
3
3
  export class IntArrayAttr extends UsdNode {
4
- constructor(parent, name, value) {
4
+ constructor(parent, name, value, variability) {
5
5
  super(parent.crate, parent, -1, name, false);
6
6
  this.spec_type = SpecType.Attribute;
7
7
  this.value = value;
8
+ this.variability = variability;
8
9
  }
9
10
  encodeFields() {
10
11
  super.encodeFields();
11
12
  const crate = this.crate;
12
13
  crate.fieldsets.fieldset_indices.push(crate.fields.setToken("typeName", "int[]"));
14
+ if (this.variability !== undefined) {
15
+ crate.fieldsets.fieldset_indices.push(crate.fields.setVariability("variability", this.variability));
16
+ }
13
17
  crate.fieldsets.fieldset_indices.push(crate.fields.setIntArray("default", this.value));
14
18
  }
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IntArrayAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/IntArrayAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAO,YAAa,SAAQ,OAAO;IAErC,YAAY,MAAe,EAAE,IAAY,EAAE,KAAwB;QAC/D,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAC7C,CAAA;QACD,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAClD,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"IntArrayAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/IntArrayAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAO,YAAa,SAAQ,OAAO;IAGrC,YAAY,MAAe,EAAE,IAAY,EAAE,KAAwB,EAAE,WAAyB;QAC1F,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAC7C,CAAA;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAC/D,CAAA;QACL,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAClD,CAAA;IACL,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- import type { ListOp } from "../../crate/Fields";
1
+ import type { ListOp } from "../../crate/ListOp";
2
2
  import { UsdNode } from "../usd/UsdNode";
3
3
  export declare class Relationship extends UsdNode {
4
4
  value: ListOp<UsdNode>;
@@ -2,7 +2,7 @@ import { UsdNode } from "../usd/UsdNode";
2
2
  import type { Variability } from "../../crate/Variability";
3
3
  export declare class TokenAttr extends UsdNode {
4
4
  variability?: Variability;
5
- token?: string;
6
- constructor(parent: UsdNode, name: string, variability?: Variability, token?: string);
5
+ token?: string | string[];
6
+ constructor(parent: UsdNode, name: string, variability?: Variability, token?: string | string[]);
7
7
  encodeFields(): void;
8
8
  }
@@ -10,12 +10,22 @@ export class TokenAttr extends UsdNode {
10
10
  encodeFields() {
11
11
  super.encodeFields();
12
12
  const crate = this.crate;
13
- crate.fieldsets.fieldset_indices.push(crate.fields.setToken("typeName", "token"));
13
+ if (Array.isArray(this.token)) {
14
+ crate.fieldsets.fieldset_indices.push(crate.fields.setToken("typeName", "token[]"));
15
+ }
16
+ else {
17
+ crate.fieldsets.fieldset_indices.push(crate.fields.setToken("typeName", "token"));
18
+ }
14
19
  if (this.variability !== undefined) {
15
20
  crate.fieldsets.fieldset_indices.push(crate.fields.setVariability("variability", this.variability));
16
21
  }
17
22
  if (this.token !== undefined) {
18
- crate.fieldsets.fieldset_indices.push(crate.fields.setToken("default", this.token));
23
+ if (Array.isArray(this.token)) {
24
+ crate.fieldsets.fieldset_indices.push(crate.fields.setTokenArray("default", this.token));
25
+ }
26
+ else {
27
+ crate.fieldsets.fieldset_indices.push(crate.fields.setToken("default", this.token));
28
+ }
19
29
  }
20
30
  }
21
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TokenAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/TokenAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAGxC,MAAM,OAAO,SAAU,SAAQ,OAAO;IAGlC,YAAY,MAAe,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAc;QAChF,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAC7C,CAAA;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAC/D,CAAA;QACL,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAC/C,CAAA;QACL,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"TokenAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/TokenAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAGxC,MAAM,OAAO,SAAU,SAAQ,OAAO;IAGlC,YAAY,MAAe,EAAE,IAAY,EAAE,WAAyB,EAAE,KAAyB;QAC3F,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAC/C,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAC7C,CAAA;QACL,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAC/D,CAAA;QACL,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CACpD,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAC/C,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -1,8 +1,10 @@
1
+ import { Variability } from "../../crate/Variability";
1
2
  import { UsdNode } from "../usd/UsdNode";
2
3
  export declare class Vec3fArrayAttr extends UsdNode {
3
4
  value: ArrayLike<number>;
4
5
  typeName: string;
5
6
  interpolation?: string;
6
- constructor(parent: UsdNode, name: string, value: ArrayLike<number>, typeName: "float3[]" | "point3f[]" | "normal3f[]");
7
+ variability?: Variability;
8
+ constructor(parent: UsdNode, name: string, value: ArrayLike<number>, typeName: "float3[]" | "point3f[]" | "normal3f[]" | "vector3f[]", variability?: Variability);
7
9
  encodeFields(): void;
8
10
  }
@@ -1,16 +1,20 @@
1
1
  import { SpecType } from "../../crate/SpecType";
2
2
  import { UsdNode } from "../usd/UsdNode";
3
3
  export class Vec3fArrayAttr extends UsdNode {
4
- constructor(parent, name, value, typeName) {
4
+ constructor(parent, name, value, typeName, variability) {
5
5
  super(parent.crate, parent, -1, name, false);
6
6
  this.spec_type = SpecType.Attribute;
7
7
  this.value = value;
8
8
  this.typeName = typeName;
9
+ this.variability = variability;
9
10
  }
10
11
  encodeFields() {
11
12
  super.encodeFields();
12
13
  const crate = this.crate;
13
14
  crate.fieldsets.fieldset_indices.push(crate.fields.setToken("typeName", this.typeName));
15
+ if (this.variability !== undefined) {
16
+ crate.fieldsets.fieldset_indices.push(crate.fields.setVariability("variability", this.variability));
17
+ }
14
18
  crate.fieldsets.fieldset_indices.push(crate.fields.setVec3fArray("default", this.value));
15
19
  if (this.interpolation !== undefined) {
16
20
  crate.fieldsets.fieldset_indices.push(crate.fields.setToken("interpolation", this.interpolation));
@@ -1 +1 @@
1
- {"version":3,"file":"Vec3fArrayAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/Vec3fArrayAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAO,cAAe,SAAQ,OAAO;IAIvC,YACI,MAAe,EACf,IAAY,EACZ,KAAwB,EACxB,QAAiD;QAEjD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CACnD,CAAA;QACD,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CACpD,CAAA;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAC7D,CAAA;QACL,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"Vec3fArrayAttr.js","sourceRoot":"","sources":["../../../src/nodes/attributes/Vec3fArrayAttr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAO,cAAe,SAAQ,OAAO;IAKvC,YACI,MAAe,EACf,IAAY,EACZ,KAAwB,EACxB,QAAgE,EAChE,WAAyB;QAEzB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAEQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CACnD,CAAA;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAC/D,CAAA;QACL,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CACpD,CAAA;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAC7D,CAAA;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -1,5 +1,70 @@
1
+ import { ListOp } from "../../crate/ListOp";
2
+ import { Material } from "../shader/Material";
3
+ import { Typed } from "../usd/Typed";
1
4
  import { UsdNode } from "../usd/UsdNode";
2
- export declare class GeomSubset extends UsdNode {
5
+ /**
6
+ * Encodes a subset of a piece of geometry (i.e. a UsdGeomImageable)
7
+ * as a set of indices. Currently supports encoding subsets of faces,
8
+ * points, edges, segments, and tetrahedrons.
9
+ *
10
+ * To apply to a geometric prim, a GeomSubset prim must be the prim's direct
11
+ * child in namespace, and possess a concrete defining specifier (i.e. def).
12
+ * This restriction makes it easy and efficient to discover subsets of a prim.
13
+ * We might want to relax this restriction if it's common to have multiple
14
+ * <b>families</b> of subsets on a gprim and if it's useful to be able to
15
+ * organize subsets belonging to a <b>family</b> under a common scope. See
16
+ * 'familyName' attribute for more info on defining a family of subsets.
17
+ *
18
+ * defined in pxr/usd/usdGeom/schema.usda
19
+ */
20
+ export declare class GeomSubset extends Typed {
3
21
  constructor(parent: UsdNode, name: string);
4
22
  encodeFields(): void;
23
+ private apiSchemas?;
24
+ private prependApiSchema;
25
+ /**
26
+ * The type of element that the indices target. "elementType" can
27
+ * have one of the following values:
28
+ * - face: Identifies faces on a Gprim's surface. For a
29
+ * UsdGeomMesh, each element of the _indices_ attribute would refer to
30
+ * an element of the Mesh's _faceCounts_ attribute. For a UsdGeomTetMesh,
31
+ * each element of the _indices_ attribute would refer to an element of
32
+ * the Mesh's _surfaceFaceVertexIndices_ attribute.</li>
33
+ * - point: for any UsdGeomPointBased, each
34
+ * element of the _indices_ attribute would refer to an element of the
35
+ * Mesh's _points_ attribute</li>
36
+ * - edge: for any UsdGeomMesh, each pair of elements
37
+ * in the _indices_ attribute would refer to a pair of points of the
38
+ * Mesh's _points_ attribute that are connected as an implicit edge on the
39
+ * Mesh. These edges are derived from the Mesh's _faceVertexIndices_
40
+ * attribute. Edges are not currently defined for a UsdGeomTetMesh, but
41
+ * could be derived from all tetrahedron edges or surface face edges only
42
+ * if a specific use-case arises.</li>
43
+ * - segment: for any Curve, each pair of elements
44
+ * in the _indices_ attribute would refer to a pair of indices
45
+ * (_curveIndex_, _segmentIndex_) where _curveIndex_ is the position of
46
+ * the specified curve in the Curve's _curveVertexCounts_ attribute, and
47
+ * _segmentIndex_ is the index of the segment within that curve.</li>
48
+ * - tetrahedron: for any UsdGeomTetMesh, each element of the
49
+ * _indices_ attribute would refer to an element of the TetMesh's
50
+ * _tetVertexIndices_ attribute.
51
+ * </li></ul>
52
+ */
53
+ set elementType(value: "face" | "point" | "edge" | "segment" | "tetrahedron" | undefined);
54
+ /**
55
+ * The set of indices included in this subset. The indices need not
56
+ * be sorted, but the same index should not appear more than once. Indices
57
+ * are invalid if outside the range [0, elementCount) for the given time on
58
+ * the parent geometric prim.
59
+ */
60
+ set indices(value: ArrayLike<number> | undefined);
61
+ /**
62
+ * The name of the family of subsets that this subset belongs to.
63
+ * This is optional and is primarily useful when there are multiple
64
+ * families of subsets under a geometric prim. In some cases, this could
65
+ * also be used for achieving proper roundtripping of subset data between
66
+ * DCC apps.
67
+ */
68
+ set familyName(value: string | undefined);
69
+ set materialBinding(value: ListOp<Material> | undefined);
5
70
  }
@@ -1,19 +1,112 @@
1
1
  import { Specifier } from "../../crate/Specifier";
2
2
  import { SpecType } from "../../crate/SpecType";
3
- import { UsdNode } from "../usd/UsdNode";
4
- export class GeomSubset extends UsdNode {
3
+ import { Variability } from "../../crate/Variability";
4
+ import { IntArrayAttr } from "../attributes/IntArrayAttr";
5
+ import { Relationship } from "../attributes/Relationship";
6
+ import { VariabilityAttr } from "../attributes/VariabilityAttr";
7
+ import { Typed } from "../usd/Typed";
8
+ /**
9
+ * Encodes a subset of a piece of geometry (i.e. a UsdGeomImageable)
10
+ * as a set of indices. Currently supports encoding subsets of faces,
11
+ * points, edges, segments, and tetrahedrons.
12
+ *
13
+ * To apply to a geometric prim, a GeomSubset prim must be the prim's direct
14
+ * child in namespace, and possess a concrete defining specifier (i.e. def).
15
+ * This restriction makes it easy and efficient to discover subsets of a prim.
16
+ * We might want to relax this restriction if it's common to have multiple
17
+ * <b>families</b> of subsets on a gprim and if it's useful to be able to
18
+ * organize subsets belonging to a <b>family</b> under a common scope. See
19
+ * 'familyName' attribute for more info on defining a family of subsets.
20
+ *
21
+ * defined in pxr/usd/usdGeom/schema.usda
22
+ */
23
+ export class GeomSubset extends Typed {
5
24
  constructor(parent, name) {
6
25
  super(parent.crate, parent, -1, name, false);
7
26
  this.spec_type = SpecType.Prim;
27
+ this.specifier = Specifier.Def;
28
+ this.typeName = "GeomSubset";
8
29
  }
9
30
  encodeFields() {
10
31
  super.encodeFields();
11
- const crate = this.crate;
12
- crate.fieldsets.fieldset_indices.push(crate.fields.setSpecifier("specifier", Specifier.Def));
13
- crate.fieldsets.fieldset_indices.push(crate.fields.setToken("typeName", "GeomSubset"));
14
- crate.fieldsets.fieldset_indices.push(crate.fields.setTokenListOp("apiSchemas", {
15
- prepend: ["MaterialBindingAPI"]
16
- }));
32
+ this.setTokenListOp("apiSchemas", this.apiSchemas);
33
+ }
34
+ prependApiSchema(name) {
35
+ if (this.apiSchemas === undefined) {
36
+ this.apiSchemas = {};
37
+ }
38
+ if (this.apiSchemas.prepend === undefined) {
39
+ this.apiSchemas.prepend = [];
40
+ }
41
+ if (this.apiSchemas.prepend.find(it => it === name) === undefined) {
42
+ this.apiSchemas.prepend.push(name);
43
+ }
44
+ }
45
+ /**
46
+ * The type of element that the indices target. "elementType" can
47
+ * have one of the following values:
48
+ * - face: Identifies faces on a Gprim's surface. For a
49
+ * UsdGeomMesh, each element of the _indices_ attribute would refer to
50
+ * an element of the Mesh's _faceCounts_ attribute. For a UsdGeomTetMesh,
51
+ * each element of the _indices_ attribute would refer to an element of
52
+ * the Mesh's _surfaceFaceVertexIndices_ attribute.</li>
53
+ * - point: for any UsdGeomPointBased, each
54
+ * element of the _indices_ attribute would refer to an element of the
55
+ * Mesh's _points_ attribute</li>
56
+ * - edge: for any UsdGeomMesh, each pair of elements
57
+ * in the _indices_ attribute would refer to a pair of points of the
58
+ * Mesh's _points_ attribute that are connected as an implicit edge on the
59
+ * Mesh. These edges are derived from the Mesh's _faceVertexIndices_
60
+ * attribute. Edges are not currently defined for a UsdGeomTetMesh, but
61
+ * could be derived from all tetrahedron edges or surface face edges only
62
+ * if a specific use-case arises.</li>
63
+ * - segment: for any Curve, each pair of elements
64
+ * in the _indices_ attribute would refer to a pair of indices
65
+ * (_curveIndex_, _segmentIndex_) where _curveIndex_ is the position of
66
+ * the specified curve in the Curve's _curveVertexCounts_ attribute, and
67
+ * _segmentIndex_ is the index of the segment within that curve.</li>
68
+ * - tetrahedron: for any UsdGeomTetMesh, each element of the
69
+ * _indices_ attribute would refer to an element of the TetMesh's
70
+ * _tetVertexIndices_ attribute.
71
+ * </li></ul>
72
+ */
73
+ set elementType(value) {
74
+ this.deleteChild("elementType");
75
+ if (value !== undefined) {
76
+ new VariabilityAttr(this, "elementType", Variability.Uniform, value);
77
+ }
78
+ }
79
+ /**
80
+ * The set of indices included in this subset. The indices need not
81
+ * be sorted, but the same index should not appear more than once. Indices
82
+ * are invalid if outside the range [0, elementCount) for the given time on
83
+ * the parent geometric prim.
84
+ */
85
+ set indices(value) {
86
+ this.deleteChild("indices");
87
+ if (value !== undefined) {
88
+ new IntArrayAttr(this, "indices", value);
89
+ }
90
+ }
91
+ /**
92
+ * The name of the family of subsets that this subset belongs to.
93
+ * This is optional and is primarily useful when there are multiple
94
+ * families of subsets under a geometric prim. In some cases, this could
95
+ * also be used for achieving proper roundtripping of subset data between
96
+ * DCC apps.
97
+ */
98
+ set familyName(value) {
99
+ this.deleteChild("familyName");
100
+ if (value !== undefined) {
101
+ new VariabilityAttr(this, "familyName", Variability.Uniform, value);
102
+ }
103
+ }
104
+ set materialBinding(value) {
105
+ this.deleteChild("material:binding");
106
+ if (value !== undefined) {
107
+ this.prependApiSchema("MaterialBindingAPI");
108
+ new Relationship(this, "material:binding", value);
109
+ }
17
110
  }
18
111
  }
19
112
  //# sourceMappingURL=GeomSubset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeomSubset.js","sourceRoot":"","sources":["../../../src/nodes/geometry/GeomSubset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,OAAO,UAAW,SAAQ,OAAO;IACnC,YAAY,MAAe,EAAE,IAAY;QACrC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAA;IAClC,CAAC;IACQ,YAAY;QACjB,KAAK,CAAC,YAAY,EAAE,CAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAExB,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CACxD,CAAA;QACD,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAClD,CAAA;QAED,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE;YACtC,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAClC,CAAC,CACL,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"GeomSubset.js","sourceRoot":"","sources":["../../../src/nodes/geometry/GeomSubset.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { ListOp } from "../../crate/Fields";
1
+ import type { ListOp } from "../../crate/ListOp";
2
2
  import type { UsdNode } from "../usd/UsdNode";
3
- import type { Skeleton } from "../skeleton/Skeleton";
3
+ import { Skeleton } from "../skeleton/Skeleton";
4
4
  import { PointBased, SubdivisionScheme } from "./PointBased";
5
5
  import { SkelBindingAPI } from "./SkelBindingAPI";
6
+ import { BlendShape } from "../skeleton/BlendShape";
6
7
  /**
7
8
  * Encodes a mesh with optional subdivision properties and features.
8
9
  *
@@ -35,7 +36,7 @@ export declare class Mesh extends PointBased implements SkelBindingAPI {
35
36
  constructor(parent: UsdNode, name: string);
36
37
  encodeFields(): void;
37
38
  private apiSchemas?;
38
- protected prependApiSchema(name: string): void;
39
+ private prependApiSchema;
39
40
  set blenderDataName(value: string | undefined);
40
41
  /**
41
42
  * Flat list of the index (into the _points_ attribute) of each
@@ -74,7 +75,7 @@ export declare class Mesh extends PointBased implements SkelBindingAPI {
74
75
  set subdivisionScheme(value: SubdivisionScheme | undefined);
75
76
  set materialBinding(value: ListOp<UsdNode> | undefined);
76
77
  set familyType(value: "partition" | "nonOverlapping" | "unrestricted" | undefined);
77
- set skeleton(value: Skeleton | undefined);
78
+ set skeleton(value: Skeleton | ListOp<Skeleton> | undefined);
78
79
  set geomBindTransform(value: ArrayLike<number> | undefined);
79
80
  set jointIndices(value: {
80
81
  elementSize: number;
@@ -84,4 +85,6 @@ export declare class Mesh extends PointBased implements SkelBindingAPI {
84
85
  elementSize: number;
85
86
  indices: ArrayLike<number>;
86
87
  } | undefined);
88
+ set blendShapes(value: string[] | undefined);
89
+ set blendShapeTargets(value: BlendShape[] | undefined);
87
90
  }
@@ -6,7 +6,9 @@ import { IntArrayAttr } from "../attributes/IntArrayAttr";
6
6
  import { VariabilityAttr } from "../attributes/VariabilityAttr";
7
7
  import { Relationship } from "../attributes/Relationship";
8
8
  import { StringAttr } from "../attributes/StringAttr";
9
+ import { Skeleton } from "../skeleton/Skeleton";
9
10
  import { PointBased } from "./PointBased";
11
+ import { TokenAttr } from "../attributes/TokenAttr";
10
12
  /**
11
13
  * Encodes a mesh with optional subdivision properties and features.
12
14
  *
@@ -134,10 +136,11 @@ export class Mesh extends PointBased {
134
136
  // pxr/usd/usdShade/schema.usda
135
137
  set materialBinding(value) {
136
138
  this.deleteChild("material:binding");
137
- if (value !== undefined) {
138
- this.prependApiSchema("MaterialBindingAPI");
139
- new Relationship(this, "material:binding", value);
139
+ if (value === undefined) {
140
+ return;
140
141
  }
142
+ this.prependApiSchema("MaterialBindingAPI");
143
+ new Relationship(this, "material:binding", value);
141
144
  }
142
145
  //
143
146
  // GeomSubset
@@ -153,13 +156,18 @@ export class Mesh extends PointBased {
153
156
  //
154
157
  set skeleton(value) {
155
158
  this.deleteChild("skel:skeleton");
156
- if (value !== undefined) {
157
- this.prependApiSchema("SkelBindingAPI");
159
+ if (value === undefined) {
160
+ return;
161
+ }
162
+ this.prependApiSchema("SkelBindingAPI");
163
+ if (value instanceof Skeleton) {
158
164
  new Relationship(this, "skel:skeleton", {
159
165
  isExplicit: true,
160
166
  explicit: [value]
161
167
  });
168
+ return;
162
169
  }
170
+ new Relationship(this, "skel:skeleton", value);
163
171
  }
164
172
  set geomBindTransform(value) {
165
173
  this.deleteChild("primvars:skel:geomBindTransform");
@@ -195,5 +203,20 @@ export class Mesh extends PointBased {
195
203
  });
196
204
  }
197
205
  }
206
+ set blendShapes(value) {
207
+ this.deleteChild("skel:blendShapes");
208
+ if (value !== undefined) {
209
+ new TokenAttr(this, "skel:blendShapes", Variability.Uniform, value);
210
+ }
211
+ }
212
+ set blendShapeTargets(value) {
213
+ this.deleteChild("skel:blendShapeTargets");
214
+ if (value !== undefined) {
215
+ new Relationship(this, "skel:blendShapeTargets", {
216
+ isExplicit: true,
217
+ explicit: value
218
+ });
219
+ }
220
+ }
198
221
  }
199
222
  //# sourceMappingURL=Mesh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mesh.js","sourceRoot":"","sources":["../../../src/nodes/geometry/Mesh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mesh.js","sourceRoot":"","sources":["../../../src/nodes/geometry/Mesh.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class PointBased extends Gprim {
24
24
  */
25
25
  set normals(value: ArrayLike<number> | undefined);
26
26
  set texCoords(value: ArrayLike<number> | undefined);
27
+ set texIndices(value: ArrayLike<number> | undefined);
27
28
  interpolateBoundary: InterpolateBoundary;
28
29
  faceVaryingLinearInterpolation: FaceVaryingLinearInterpolation;
29
30
  }
@@ -1,6 +1,7 @@
1
1
  import { Vec2fArrayAttr } from "../attributes/Vec2fArrayAttr";
2
2
  import { Vec3fArrayAttr } from "../attributes/Vec3fArrayAttr";
3
3
  import { Gprim } from "./Gprim";
4
+ import { Attribute } from "../attributes/Attribute";
4
5
  /**
5
6
  * Base class for all UsdGeomGprims that possess points,
6
7
  * providing common attributes such as normals and velocities.
@@ -47,5 +48,16 @@ export class PointBased extends Gprim {
47
48
  attr.interpolation = "faceVarying";
48
49
  }
49
50
  }
51
+ set texIndices(value) {
52
+ this.deleteChild("primvars:st:indices");
53
+ if (value !== undefined) {
54
+ new Attribute(this, "primvars:st:indices", (node) => {
55
+ node.setToken("typeName", "int[]");
56
+ node.setIntArray("default", value);
57
+ });
58
+ // const attr = new Vec2fArrayAttr(this.crate, this, "primvars:st:indices", value, "texCoord2f[]")
59
+ // attr.interpolation = "faceVarying"
60
+ }
61
+ }
50
62
  }
51
63
  //# sourceMappingURL=PointBased.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PointBased.js","sourceRoot":"","sources":["../../../src/nodes/geometry/PointBased.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAe/B;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAArC;;QAqCI,wBAAmB,GAAwB,eAAe,CAAC;QAC3D,mCAA8B,GAAmC,cAAc,CAAC;IACpF,CAAC;IAtCG;;;OAGG;IACH,IAAI,MAAM,CAAC,KAAoC;QAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;QAC1D,CAAC;IACL,CAAC;IACD,wBAAwB;IACxB,2BAA2B;IAC3B;;;;;;;;;OASG;IACH,IAAI,OAAO,CAAC,KAAoC;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;YACrE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QACtC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,CAAC,KAAoC;QAC9C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;YACvF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QACtC,CAAC;IACL,CAAC;CAGJ"}
1
+ {"version":3,"file":"PointBased.js","sourceRoot":"","sources":["../../../src/nodes/geometry/PointBased.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAenD;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAArC;;QAgDI,wBAAmB,GAAwB,eAAe,CAAC;QAC3D,mCAA8B,GAAmC,cAAc,CAAC;IACpF,CAAC;IAjDG;;;OAGG;IACH,IAAI,MAAM,CAAC,KAAoC;QAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;QAC1D,CAAC;IACL,CAAC;IACD,wBAAwB;IACxB,2BAA2B;IAC3B;;;;;;;;;OASG;IACH,IAAI,OAAO,CAAC,KAAoC;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;YACrE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QACtC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,CAAC,KAAoC;QAC9C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;YACvF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QACtC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,KAAoC;QAC/C,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAA;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,SAAS,CAAC,IAAI,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAClC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;YACF,kGAAkG;YAClG,qCAAqC;QACzC,CAAC;IACL,CAAC;CAGJ"}
@@ -1,3 +1,5 @@
1
+ import { ListOp } from "../../crate/ListOp";
2
+ import { BlendShape } from "../skeleton/BlendShape";
1
3
  import type { Skeleton } from "../skeleton/Skeleton";
2
4
  /**
3
5
  * Provides API for authoring and extracting all the skinning-related
@@ -10,7 +12,7 @@ export interface SkelBindingAPI {
10
12
  * possess a mapping and weighting to the joints of the identified
11
13
  * Skeleton.
12
14
  */
13
- set skeleton(value: Skeleton | undefined);
15
+ set skeleton(value: Skeleton | ListOp<Skeleton> | undefined);
14
16
  /**
15
17
  * Encodes the bind-time world space transforms of the prim.
16
18
  * If the transform is identical for a group of gprims that share a common
@@ -29,7 +31,7 @@ export interface SkelBindingAPI {
29
31
  * apply to each point. Indices must point be valid. Null influences should
30
32
  * be defined by setting values in jointWeights to zero.
31
33
  *
32
- * [ point0 -> (joint0, joint1), ...]
34
+ * [ point0 -> (joint_0, ..., joint_elementSize), ...]
33
35
  */
34
36
  set jointIndices(value: {
35
37
  elementSize: number;
@@ -50,4 +52,19 @@ export interface SkelBindingAPI {
50
52
  elementSize: number;
51
53
  indices: ArrayLike<number>;
52
54
  } | undefined);
55
+ /**
56
+ * An array of tokens defining the order onto which blend shape
57
+ * weights from an animation source map onto the *skel:blendShapeTargets*
58
+ * rel of a binding site. If authored, the number of elements must be equal
59
+ * to the number of targets in the _blendShapeTargets_ rel. This property
60
+ * is not inherited hierarchically, and is expected to be authored directly
61
+ * on the skinnable primitive to which the blend shapes apply.
62
+ */
63
+ set blendShapes(value: string[] | undefined);
64
+ /**
65
+ * Ordered list of all target blend shapes. This property is not
66
+ * inherited hierarchically, and is expected to be authored directly on
67
+ * the skinnable primitive to which the the blend shapes apply.
68
+ */
69
+ set blendShapeTargets(value: BlendShape[] | undefined);
53
70
  }
@@ -8,5 +8,6 @@ import { NodeGraph } from "./NodeGraph";
8
8
  */
9
9
  export declare class Material extends NodeGraph {
10
10
  constructor(parent: UsdNode, name: string);
11
+ set surface(value: UsdNode | undefined);
11
12
  set blenderDataName(value: string | undefined);
12
13
  }
@@ -2,6 +2,7 @@ import { Specifier } from "../../crate/Specifier";
2
2
  import { SpecType } from "../../crate/SpecType";
3
3
  import { StringAttr } from "../attributes/StringAttr";
4
4
  import { NodeGraph } from "./NodeGraph";
5
+ import { Attribute } from "../attributes/Attribute";
5
6
  /**
6
7
  * A Material provides a container into which multiple "render contexts"
7
8
  * can add data that defines a "shading material" for a renderer.
@@ -15,6 +16,18 @@ export class Material extends NodeGraph {
15
16
  this.specifier = Specifier.Def;
16
17
  this.typeName = "Material";
17
18
  }
19
+ set surface(value) {
20
+ this.deleteChild("outputs:surface");
21
+ if (value !== undefined) {
22
+ new Attribute(this, "outputs:surface", (node) => {
23
+ node.setToken("typeName", "token");
24
+ node.setPathListOp("connectionPaths", {
25
+ isExplicit: true,
26
+ explicit: [value]
27
+ });
28
+ });
29
+ }
30
+ }
18
31
  set blenderDataName(value) {
19
32
  this.deleteChild("userProperties:blender:data_name");
20
33
  if (value !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/nodes/shader/Material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,OAAO,QAAS,SAAQ,SAAS;IACnC,YAAY,MAAe,EAAE,IAAY;QACrC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;IAC9B,CAAC;IACD,IAAI,eAAe,CAAC,KAAyB;QACzC,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAA;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,UAAU,CAAC,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;QACnF,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/nodes/shader/Material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,OAAO,QAAS,SAAQ,SAAS;IACnC,YAAY,MAAe,EAAE,IAAY;QACrC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,KAA0B;QAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;QACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAClC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE;oBAClC,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,CAAC,KAAK,CAAC;iBACpB,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IACD,IAAI,eAAe,CAAC,KAAyB;QACzC,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAA;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,UAAU,CAAC,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACrF,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { UsdNode } from "../../usd/UsdNode";
2
+ import { Shader } from "../Shader";
3
+ export type WrapMode = "black" | "clamp" | "repeat" | "mirror" | "useMetadata";
4
+ export declare class ImageTexture extends Shader {
5
+ set infoId(value: string | undefined);
6
+ set file(value: string | undefined);
7
+ set sourceColorSpace(value: "raw" | "sRGB" | "auto" | undefined);
8
+ set uvCoords(value: UsdNode | undefined);
9
+ set wrapS(value: WrapMode | undefined);
10
+ set wrapT(value: WrapMode | undefined);
11
+ get outputsRGB(): UsdNode;
12
+ }