@markandre13/usd.js 0.0.4 → 0.0.5

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 (153) hide show
  1. package/dist/compression/compress.js +5 -2
  2. package/dist/compression/compress.js.map +1 -1
  3. package/dist/compression/integers.js +11 -0
  4. package/dist/compression/integers.js.map +1 -1
  5. package/dist/compression/lz4.d.ts +18 -1
  6. package/dist/compression/lz4.js +100 -17
  7. package/dist/compression/lz4.js.map +1 -1
  8. package/dist/crate/BootStrap.js +2 -0
  9. package/dist/crate/BootStrap.js.map +1 -1
  10. package/dist/crate/Crate.d.ts +8 -1
  11. package/dist/crate/Crate.js +49 -4
  12. package/dist/crate/Crate.js.map +1 -1
  13. package/dist/crate/Fields.d.ts +1 -1
  14. package/dist/crate/Fields.js +26 -1
  15. package/dist/crate/Fields.js.map +1 -1
  16. package/dist/crate/Paths.d.ts +1 -1
  17. package/dist/crate/Paths.js +16 -2
  18. package/dist/crate/Paths.js.map +1 -1
  19. package/dist/crate/Reader.js +3 -3
  20. package/dist/crate/Reader.js.map +1 -1
  21. package/dist/crate/SpecType.d.ts +3 -3
  22. package/dist/crate/SpecType.js +2 -0
  23. package/dist/crate/SpecType.js.map +1 -1
  24. package/dist/crate/Specifier.d.ts +1 -1
  25. package/dist/crate/Specs.js +1 -0
  26. package/dist/crate/Specs.js.map +1 -1
  27. package/dist/crate/Stage.d.ts +1 -1
  28. package/dist/crate/Stage.js +1 -0
  29. package/dist/crate/Stage.js.map +1 -1
  30. package/dist/crate/Strings.js +5 -0
  31. package/dist/crate/Strings.js.map +1 -1
  32. package/dist/crate/Tokens.js +47 -1
  33. package/dist/crate/Tokens.js.map +1 -1
  34. package/dist/crate/ValueRep.d.ts +1 -1
  35. package/dist/crate/ValueRep.js +27 -3
  36. package/dist/crate/ValueRep.js.map +1 -1
  37. package/dist/crate/Variability.d.ts +1 -1
  38. package/dist/crate/Writer.d.ts +3 -0
  39. package/dist/crate/Writer.js +21 -0
  40. package/dist/crate/Writer.js.map +1 -1
  41. package/dist/detail/hexdump.js +1 -0
  42. package/dist/detail/hexdump.js.map +1 -1
  43. package/dist/nodes/attributes/AssetPathAttr.d.ts +1 -1
  44. package/dist/nodes/attributes/AssetPathAttr.js +1 -1
  45. package/dist/nodes/attributes/AssetPathAttr.js.map +1 -1
  46. package/dist/nodes/attributes/Attribute.d.ts +1 -1
  47. package/dist/nodes/attributes/Attribute.js +1 -1
  48. package/dist/nodes/attributes/Attribute.js.map +1 -1
  49. package/dist/nodes/attributes/BooleanAttr.d.ts +1 -1
  50. package/dist/nodes/attributes/BooleanAttr.js +1 -1
  51. package/dist/nodes/attributes/BooleanAttr.js.map +1 -1
  52. package/dist/nodes/attributes/Color3fAttr.d.ts +3 -3
  53. package/dist/nodes/attributes/Color3fAttr.js +1 -1
  54. package/dist/nodes/attributes/Color3fAttr.js.map +1 -1
  55. package/dist/nodes/attributes/FloatAttr.d.ts +1 -1
  56. package/dist/nodes/attributes/FloatAttr.js +1 -1
  57. package/dist/nodes/attributes/FloatAttr.js.map +1 -1
  58. package/dist/nodes/attributes/IntArrayAttr.d.ts +1 -1
  59. package/dist/nodes/attributes/IntArrayAttr.js +1 -1
  60. package/dist/nodes/attributes/IntArrayAttr.js.map +1 -1
  61. package/dist/nodes/attributes/Relationship.d.ts +1 -1
  62. package/dist/nodes/attributes/Relationship.js +1 -1
  63. package/dist/nodes/attributes/Relationship.js.map +1 -1
  64. package/dist/nodes/attributes/StringAttr.d.ts +1 -1
  65. package/dist/nodes/attributes/StringAttr.js +1 -1
  66. package/dist/nodes/attributes/StringAttr.js.map +1 -1
  67. package/dist/nodes/attributes/TokenAttr.d.ts +1 -1
  68. package/dist/nodes/attributes/TokenAttr.js +1 -1
  69. package/dist/nodes/attributes/TokenAttr.js.map +1 -1
  70. package/dist/nodes/attributes/VariabilityAttr.d.ts +1 -1
  71. package/dist/nodes/attributes/VariabilityAttr.js +1 -1
  72. package/dist/nodes/attributes/VariabilityAttr.js.map +1 -1
  73. package/dist/nodes/attributes/Vec2fArrayAttr.d.ts +1 -1
  74. package/dist/nodes/attributes/Vec2fArrayAttr.js +1 -1
  75. package/dist/nodes/attributes/Vec2fArrayAttr.js.map +1 -1
  76. package/dist/nodes/attributes/Vec3fArrayAttr.d.ts +1 -1
  77. package/dist/nodes/attributes/Vec3fArrayAttr.js +1 -1
  78. package/dist/nodes/attributes/Vec3fArrayAttr.js.map +1 -1
  79. package/dist/nodes/geometry/Boundable.d.ts +6 -0
  80. package/dist/nodes/geometry/Boundable.js +6 -0
  81. package/dist/nodes/geometry/Boundable.js.map +1 -1
  82. package/dist/nodes/geometry/Camera.d.ts +7 -2
  83. package/dist/nodes/geometry/Camera.js +36 -0
  84. package/dist/nodes/geometry/Camera.js.map +1 -1
  85. package/dist/nodes/geometry/GeomSubset.d.ts +1 -1
  86. package/dist/nodes/geometry/GeomSubset.js +1 -1
  87. package/dist/nodes/geometry/GeomSubset.js.map +1 -1
  88. package/dist/nodes/geometry/Gprim.d.ts +28 -0
  89. package/dist/nodes/geometry/Gprim.js +30 -0
  90. package/dist/nodes/geometry/Gprim.js.map +1 -1
  91. package/dist/nodes/geometry/Imageable.d.ts +9 -0
  92. package/dist/nodes/geometry/Imageable.js +9 -0
  93. package/dist/nodes/geometry/Imageable.js.map +1 -1
  94. package/dist/nodes/geometry/Mesh.d.ts +69 -7
  95. package/dist/nodes/geometry/Mesh.js +100 -10
  96. package/dist/nodes/geometry/Mesh.js.map +1 -1
  97. package/dist/nodes/geometry/PointBased.d.ts +19 -2
  98. package/dist/nodes/geometry/PointBased.js +24 -12
  99. package/dist/nodes/geometry/PointBased.js.map +1 -1
  100. package/dist/nodes/geometry/Scope.d.ts +9 -1
  101. package/dist/nodes/geometry/Scope.js +8 -0
  102. package/dist/nodes/geometry/Scope.js.map +1 -1
  103. package/dist/nodes/geometry/SkelBindingAPI.d.ts +53 -0
  104. package/dist/nodes/geometry/SkelBindingAPI.js +2 -0
  105. package/dist/nodes/geometry/SkelBindingAPI.js.map +1 -0
  106. package/dist/nodes/geometry/Xform.d.ts +6 -1
  107. package/dist/nodes/geometry/Xform.js +5 -0
  108. package/dist/nodes/geometry/Xform.js.map +1 -1
  109. package/dist/nodes/geometry/Xformable.d.ts +9 -3
  110. package/dist/nodes/geometry/Xformable.js +6 -0
  111. package/dist/nodes/geometry/Xformable.js.map +1 -1
  112. package/dist/nodes/lux/BoundableLightBase.d.ts +8 -0
  113. package/dist/nodes/lux/BoundableLightBase.js +8 -0
  114. package/dist/nodes/lux/BoundableLightBase.js.map +1 -1
  115. package/dist/nodes/lux/DomeLight.d.ts +11 -1
  116. package/dist/nodes/lux/DomeLight.js +10 -0
  117. package/dist/nodes/lux/DomeLight.js.map +1 -1
  118. package/dist/nodes/lux/NonboundableLightBase.d.ts +1 -1
  119. package/dist/nodes/lux/NonboundableLightBase.js +10 -1
  120. package/dist/nodes/lux/NonboundableLightBase.js.map +1 -1
  121. package/dist/nodes/lux/SphereLight.d.ts +9 -1
  122. package/dist/nodes/lux/SphereLight.js +8 -0
  123. package/dist/nodes/lux/SphereLight.js.map +1 -1
  124. package/dist/nodes/shader/Material.d.ts +7 -1
  125. package/dist/nodes/shader/Material.js +6 -0
  126. package/dist/nodes/shader/Material.js.map +1 -1
  127. package/dist/nodes/shader/NodeGraph.d.ts +7 -0
  128. package/dist/nodes/shader/NodeGraph.js +7 -0
  129. package/dist/nodes/shader/NodeGraph.js.map +1 -1
  130. package/dist/nodes/shader/Shader.d.ts +9 -1
  131. package/dist/nodes/shader/Shader.js +8 -0
  132. package/dist/nodes/shader/Shader.js.map +1 -1
  133. package/dist/nodes/skeleton/SkelRoot.d.ts +6 -1
  134. package/dist/nodes/skeleton/SkelRoot.js +5 -0
  135. package/dist/nodes/skeleton/SkelRoot.js.map +1 -1
  136. package/dist/nodes/skeleton/Skeleton.d.ts +41 -4
  137. package/dist/nodes/skeleton/Skeleton.js +37 -0
  138. package/dist/nodes/skeleton/Skeleton.js.map +1 -1
  139. package/dist/nodes/usd/PseudoRoot.d.ts +1 -1
  140. package/dist/nodes/usd/PseudoRoot.js +21 -1
  141. package/dist/nodes/usd/PseudoRoot.js.map +1 -1
  142. package/dist/nodes/usd/SchemaBase.d.ts +1 -1
  143. package/dist/nodes/usd/SchemaBase.js +1 -1
  144. package/dist/nodes/usd/SchemaBase.js.map +1 -1
  145. package/dist/nodes/usd/Typed.d.ts +10 -0
  146. package/dist/nodes/usd/Typed.js +10 -0
  147. package/dist/nodes/usd/Typed.js.map +1 -1
  148. package/dist/{crate → nodes/usd}/UsdNode.d.ts +18 -9
  149. package/dist/{crate → nodes/usd}/UsdNode.js +35 -2
  150. package/dist/nodes/usd/UsdNode.js.map +1 -0
  151. package/package.json +8 -8
  152. package/dist/crate/UsdNode.js.map +0 -1
  153. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,4 +1,8 @@
1
- import { compressBlock, compressBound, decompressBlock } from "./lz4";
1
+ // git clone https://github.com/PixarAnimationStudios/OpenUSD.git
2
+ // pxr/usd/sdf/crateFile.h
3
+ import { compressBlock, compressBound, decompressBlock, LZ4_MAX_INPUT_SIZE } from "./lz4";
4
+ // OpenUSD/pxr/base/tf/fastCompression.cpp: TfFastCompression::DecompressFromBuffer(...)
5
+ // tinyusdz/src/lz4-compression.cc: LZ4Compression::DecompressFromBuffer(...)
2
6
  export function decompressFromBuffer(src, dst) {
3
7
  const nChunks = src.at(0);
4
8
  if (nChunks > 127) {
@@ -14,7 +18,6 @@ export function decompressFromBuffer(src, dst) {
14
18
  throw Error("decompressFromBuffer(): chunks are not implemented yet");
15
19
  }
16
20
  export function compressToBuffer(src, dst) {
17
- const LZ4_MAX_INPUT_SIZE = 0x7E000000;
18
21
  if (src.length < LZ4_MAX_INPUT_SIZE) {
19
22
  if (dst.length < compressBound(src.length) + 1) {
20
23
  throw Error(`compressToBuffer(): dst has ${dst.length} octets but at least ${compressBound(src.length) + 1} are needed`);
@@ -1 +1 @@
1
- {"version":3,"file":"compress.js","sourceRoot":"","sources":["../../src/compression/compress.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAQrE,MAAM,UAAU,oBAAoB,CAAC,GAAe,EAAE,GAAe;IACjE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC1B,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACR,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC/D,CAAC;QACD,OAAO,CAAC,CAAA;IACZ,CAAC;IACD,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAe,EAAE,GAAe;IAC7D,MAAM,kBAAkB,GAAG,UAAU,CAAA;IACrC,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC,+BAA+B,GAAG,CAAC,MAAM,wBAAwB,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC5H,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,GAAC,CAAC,CAAC,CAAA;QAC/E,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAA;AACrE,CAAC"}
1
+ {"version":3,"file":"compress.js","sourceRoot":"","sources":["../../src/compression/compress.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,0BAA0B;AAC1B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAMzF,wFAAwF;AACxF,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,GAAe,EAAE,GAAe;IACjE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC1B,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACR,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC/D,CAAC;QACD,OAAO,CAAC,CAAA;IACZ,CAAC;IACD,MAAM,KAAK,CAAC,wDAAwD,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAe,EAAE,GAAe;IAC7D,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC,+BAA+B,GAAG,CAAC,MAAM,wBAAwB,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC5H,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,GAAC,CAAC,CAAC,CAAA;QAC/E,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAA;AACrE,CAAC"}
@@ -1,3 +1,8 @@
1
+ // encode / decode int32
2
+ // int32: common value
3
+ // sequence of uint8 containing 4 Codes
4
+ // sequence of int8|int16|int32 as defined by the codes
5
+ // encoded values are the difference to the previous value
1
6
  var Code;
2
7
  (function (Code) {
3
8
  Code[Code["Common"] = 0] = "Common";
@@ -51,6 +56,7 @@ export function encodeIntegers(input, output) {
51
56
  if (input.length === 0) {
52
57
  return 0;
53
58
  }
59
+ // First find the most common element value.
54
60
  let commonValue = 0;
55
61
  {
56
62
  let commonCount = 0;
@@ -71,11 +77,15 @@ export function encodeIntegers(input, output) {
71
77
  commonCount = count;
72
78
  }
73
79
  else if (count == commonCount && val > commonValue) {
80
+ // Take the largest common value in case of a tie -- this gives
81
+ // the biggest potential savings in the encoded stream.
74
82
  commonValue = val;
75
83
  }
76
84
  prevVal = input[cur];
77
85
  }
78
86
  }
87
+ // Now code the values.
88
+ // Write most common value.
79
89
  output.setInt32(0, commonValue, true);
80
90
  let numInts = input.length;
81
91
  const arg = {
@@ -109,6 +119,7 @@ export function encodeIntegers(input, output) {
109
119
  }
110
120
  function decodeNHelper(N, arg) {
111
121
  const codeByte = arg.src.getUint8(arg.codesIn++);
122
+ // console.log(`decodeNHelper(N=${N}): codeByte=${codeByte}`)
112
123
  for (let i = 0; i != N; ++i) {
113
124
  const x = (codeByte & (3 << (2 * i))) >> (2 * i);
114
125
  switch (x) {
@@ -1 +1 @@
1
- {"version":3,"file":"integers.js","sourceRoot":"","sources":["../../src/compression/integers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integers.js","sourceRoot":"","sources":["../../src/compression/integers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,20 @@
1
+ export declare const LZ4_MAX_INPUT_SIZE = 2113929216;
1
2
  export declare function decompressBlock(src: Uint8Array, dst: Uint8Array, sIndex: number, sLength: number, dIndex: number): number;
2
- export declare function compressBound(n: number): number;
3
+ /**
4
+ * Provides the maximum size that LZ4 compression may output in a "worst case" scenario (input data not compressible)
5
+ * This function is primarily useful for memory allocation purposes (destination buffer size).
6
+ *
7
+ * @param inputSize max supported value is LZ4_MAX_INPUT_SIZE
8
+ * @returns maximum output size in a "worst case" scenario or 0, if input size is incorrect (too large or negative)
9
+ */
10
+ export declare function compressBound(inputSize: number): number;
11
+ /**
12
+ * compress src into dst
13
+ *
14
+ * @param src
15
+ * @param dst
16
+ * @param sIndex
17
+ * @param sLength
18
+ * @returns size of compressed data in dst
19
+ */
3
20
  export declare function compressBlock(src: Uint8Array, dst: Uint8Array, sIndex: number, sLength: number): number;
@@ -1,12 +1,28 @@
1
- const LZ4_MIN_MATCH = 4;
2
- const LZ4_MIN_LENGTH = 13;
1
+ //
2
+ // copied on 2025-11-30 from https://github.com/Benzinga/lz4js
3
+ // copyright 2018 John Chadwick, licensed under ISC
4
+ // with the following changes
5
+ // * compressBlock():
6
+ // * fix: return something when input which can't be compressed
7
+ // * fix: increase size of remaining literals to compatible with lz4.org's decompressBlock()
8
+ // * added comments
9
+ // * use capital letters for constants
10
+ // * remove hashtable argument
11
+ // * decompressBlock()
12
+ // * add additional restrictions from lz4.org to validate compressBlock()'s correctness
13
+ // Compression format parameters/constants.
14
+ const LZ4_MIN_MATCH = 4; // we are looking for matches of at least 4 bytes
15
+ const LZ4_MIN_LENGTH = 13; // don't compress when input is less than 13 bytes
3
16
  const LZ4_SEARCH_LIMIT = 5;
4
17
  const LZ4_SKIP_TRIGGER = 6;
5
- const LZ4_HASH_TABLE_SIZE = 1 << 16;
18
+ const LZ4_HASH_TABLE_SIZE = 1 << 16; // hash table has space for uint32_t entries (64k entries)
19
+ export const LZ4_MAX_INPUT_SIZE = 0x7E000000; // 2 113 929 216 bytes
20
+ // Token constants.
6
21
  const LZ4_ML_BITS = 4;
7
22
  const LZ4_ML_MASK = (1 << LZ4_ML_BITS) - 1;
8
23
  const LZ4_RUN_BITS = 4;
9
24
  const LZ4_RUN_MASK = (1 << LZ4_RUN_BITS) - 1;
25
+ // Shared buffers
10
26
  const hashTable = new Uint32Array(LZ4_HASH_TABLE_SIZE);
11
27
  const util = {
12
28
  hashU32: function hashU32(a) {
@@ -28,11 +44,15 @@ const util = {
28
44
  };
29
45
  export function decompressBlock(src, dst, sIndex, sLength, dIndex) {
30
46
  let mLength, mOffset, sEnd, n, i;
47
+ // Setup initial state.
31
48
  sEnd = sIndex + sLength;
49
+ // Consume entire input block.
32
50
  while (sIndex < sEnd) {
33
51
  var token = src[sIndex++];
52
+ // Copy literals.
34
53
  var literalCount = (token >> 4);
35
54
  if (literalCount > 0) {
55
+ // Parse length.
36
56
  if (literalCount === 0xf) {
37
57
  while (true) {
38
58
  literalCount += src[sIndex];
@@ -41,10 +61,12 @@ export function decompressBlock(src, dst, sIndex, sLength, dIndex) {
41
61
  }
42
62
  }
43
63
  }
64
+ // Copy literals
44
65
  for (n = sIndex + literalCount; sIndex < n;) {
45
66
  dst[dIndex++] = src[sIndex++];
46
67
  }
47
68
  }
69
+ // additional condition from lz4.c not needed for this implementation
48
70
  {
49
71
  const ip = sIndex - literalCount;
50
72
  const op = dIndex - literalCount;
@@ -54,7 +76,11 @@ export function decompressBlock(src, dst, sIndex, sLength, dIndex) {
54
76
  const iend = sEnd;
55
77
  const MFLIMIT = 12;
56
78
  const LASTLITERALS = 5;
79
+ // if end of output or input buffer
57
80
  if ((cpy > oend - MFLIMIT) || (ip + length > iend - (2 + 1 + LASTLITERALS))) {
81
+ /* We must be on the last sequence (or invalid) because of the parsing limitations
82
+ * so check that we exactly consume the input and don't overrun the output buffer.
83
+ */
58
84
  if ((ip + length != iend) || (cpy > oend)) {
59
85
  return -ip - 1;
60
86
  }
@@ -63,8 +89,11 @@ export function decompressBlock(src, dst, sIndex, sLength, dIndex) {
63
89
  if (sIndex >= sEnd) {
64
90
  break;
65
91
  }
92
+ // Copy match.
66
93
  mLength = (token & 0xf);
94
+ // Parse offset.
67
95
  mOffset = src[sIndex++] | (src[sIndex++] << 8);
96
+ // Parse length.
68
97
  if (mLength === 0xf) {
69
98
  while (true) {
70
99
  mLength += src[sIndex];
@@ -74,6 +103,7 @@ export function decompressBlock(src, dst, sIndex, sLength, dIndex) {
74
103
  }
75
104
  }
76
105
  mLength += LZ4_MIN_MATCH;
106
+ // Copy match.
77
107
  for (i = dIndex - mOffset, n = i + mLength; i < n;) {
78
108
  dst[dIndex++] = dst[i++] | 0;
79
109
  }
@@ -81,69 +111,121 @@ export function decompressBlock(src, dst, sIndex, sLength, dIndex) {
81
111
  return dIndex;
82
112
  }
83
113
  ;
84
- export function compressBound(n) {
85
- return (n + (n / 255) + 16) | 0;
114
+ /**
115
+ * Provides the maximum size that LZ4 compression may output in a "worst case" scenario (input data not compressible)
116
+ * This function is primarily useful for memory allocation purposes (destination buffer size).
117
+ *
118
+ * @param inputSize max supported value is LZ4_MAX_INPUT_SIZE
119
+ * @returns maximum output size in a "worst case" scenario or 0, if input size is incorrect (too large or negative)
120
+ */
121
+ export function compressBound(inputSize) {
122
+ if (inputSize > LZ4_MAX_INPUT_SIZE) {
123
+ return 0;
124
+ }
125
+ // (unsigned)(inputSize) > (unsigned)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16)
126
+ return (inputSize + (inputSize / 255) + 16) | 0;
86
127
  }
87
128
  ;
129
+ /**
130
+ * compress src into dst
131
+ *
132
+ * @param src
133
+ * @param dst
134
+ * @param sIndex
135
+ * @param sLength
136
+ * @returns size of compressed data in dst
137
+ */
88
138
  export function compressBlock(src, dst, sIndex, sLength) {
89
- var mIndex, mAnchor, mLength, mOffset;
139
+ var mIndex, mAnchor, mLength, mOffset; //, mStep = 1
90
140
  var literalCount, dIndex, sEnd, n;
91
- dIndex = 0;
92
- sEnd = sLength + sIndex;
93
- mAnchor = sIndex;
141
+ // Setup initial state.
142
+ dIndex = 0; // destination index for output
143
+ sEnd = sLength + sIndex; // end of source
144
+ mAnchor = sIndex; // match anchor: position after which there wasn't a match yet
145
+ // Process only if block is large enough.
94
146
  if (sLength >= LZ4_MIN_LENGTH) {
95
147
  hashTable.fill(0);
96
148
  let searchMatchNb = (1 << LZ4_SKIP_TRIGGER) + 3;
149
+ // Consume until last n literals (Lz4 spec limitation.)
150
+ // while (sIndex + LZ4_MIN_MATCH < sEnd - LZ4_SEARCH_LIMIT) { // 4 5 2 = 11
97
151
  while (sIndex + LZ4_MIN_MATCH < sEnd - LZ4_SEARCH_LIMIT - 2) {
98
152
  var seq = util.readU32(src, sIndex);
153
+ // console.log(`step=${mStep}, searchMatchNb=${searchMatchNb}, seq[${sIndex.toString().padStart(4, ' ')}] = 0x${seq.toString(16).padStart(8, '0')}`)
99
154
  var hash = util.hashU32(seq) >>> 0;
155
+ // Crush hash to 16 bits.
100
156
  hash = ((hash >> 16) ^ hash) >>> 0 & 0xffff;
157
+ // Look for a match in the hashtable. NOTE: remove one; see below.
101
158
  mIndex = hashTable[hash] - 1;
159
+ // Put pos in hash table. NOTE: add one so that zero = invalid.
102
160
  hashTable[hash] = sIndex + 1;
103
- if (mIndex < 0
104
- || ((sIndex - mIndex) >>> 16) > 0
105
- || util.readU32(src, mIndex) !== seq) {
161
+ // Determine if there is a match (within range.)
162
+ // continue looking for a match when
163
+ if (mIndex < 0 // seq not found in hashtable
164
+ || ((sIndex - mIndex) >>> 16) > 0 // OR distance between match and source exceeds 16 bits
165
+ || util.readU32(src, mIndex) !== seq) // OR value referenced by hashtable actually differs
166
+ {
167
+ // speed up search the longer the search takes
106
168
  const mStep = searchMatchNb++ >> LZ4_SKIP_TRIGGER;
107
169
  sIndex += mStep;
108
- continue;
170
+ continue; // keep looking for match
109
171
  }
172
+ // console.log(`matched sequence with earlier one at ${mIndex}`)
110
173
  searchMatchNb = (1 << LZ4_SKIP_TRIGGER) + 3;
111
- literalCount = sIndex - mAnchor;
112
- mOffset = sIndex - mIndex;
174
+ // Calculate literal count and offset.
175
+ literalCount = sIndex - mAnchor; // number of bytes since the last match
176
+ mOffset = sIndex - mIndex; // offset from current source position to the matched position
177
+ // We've already matched one word, so get that out of the way.
113
178
  sIndex += LZ4_MIN_MATCH;
114
179
  mIndex += LZ4_MIN_MATCH;
115
- mLength = sIndex;
180
+ // Determine match length.
181
+ // N.B.: mLength does not include minMatch, Lz4 adds it back in decoding.
182
+ // console.log(`compare match at mIndex=${mIndex} with at sIndex=${sIndex}`)
183
+ mLength = sIndex; // sIndex when starting to calculate length
116
184
  while (sIndex < sEnd - LZ4_SEARCH_LIMIT && src[sIndex] === src[mIndex]) {
117
185
  sIndex++;
118
186
  mIndex++;
119
187
  }
120
- mLength = sIndex - mLength;
188
+ // console.log(`sIndex=${sIndex}, mIndex=${mIndex}`)
189
+ mLength = sIndex - mLength; // sIndex after calculating length - sIndex when starting calculating length
190
+ // write token containing the lengths
191
+ // console.log(`literalsToFollow := mLength ${mLength} < mlMask ${LZ4_ML_MASK} ? mLength : mlMask`)
121
192
  var literalsToFollow = mLength < LZ4_ML_MASK ? mLength : LZ4_ML_MASK;
122
193
  if (literalCount >= LZ4_RUN_MASK) {
194
+ // console.log(`dst[${dIndex}] := token: 0x${LZ4_RUN_MASK.toString(16)}${literalsToFollow.toString(16)}`)
123
195
  dst[dIndex++] = (LZ4_RUN_MASK << LZ4_ML_BITS) + literalsToFollow;
124
196
  for (n = literalCount - LZ4_RUN_MASK; n >= 0xff; n -= 0xff) {
197
+ // console.log(`dst[${dIndex}] := token: 0xff`)
125
198
  dst[dIndex++] = 0xff;
126
199
  }
200
+ // console.log(`dst[${dIndex}] := token: 0x${n.toString(16).padStart(2, '0')}`)
127
201
  dst[dIndex++] = n;
128
202
  }
129
203
  else {
204
+ // console.log(`dst[${dIndex}] := token: ${literalCount.toString(16)} / ${literalsToFollow.toString(16)}`)
130
205
  dst[dIndex++] = (literalCount << LZ4_ML_BITS) + literalsToFollow;
131
206
  }
207
+ // copy literals inside which the match was found
132
208
  for (var i = 0; i < literalCount; i++) {
133
209
  dst[dIndex++] = src[mAnchor + i];
134
210
  }
211
+ // write offset where to find the match relative to current position
135
212
  dst[dIndex++] = mOffset;
136
213
  dst[dIndex++] = (mOffset >> 8);
214
+ // write length of the match
137
215
  if (mLength >= LZ4_ML_MASK) {
138
216
  for (n = mLength - LZ4_ML_MASK; n >= 0xff; n -= 0xff) {
139
217
  dst[dIndex++] = 0xff;
140
218
  }
141
219
  dst[dIndex++] = n;
142
220
  }
221
+ // move the anchor
143
222
  mAnchor = sIndex;
144
223
  }
145
224
  }
225
+ // write remaining literals for which no match was found
226
+ // write token with the length
146
227
  literalCount = sEnd - mAnchor;
228
+ // console.log(`literalCount=${literalCount}`)
147
229
  if (literalCount >= LZ4_RUN_MASK) {
148
230
  dst[dIndex++] = (LZ4_RUN_MASK << LZ4_ML_BITS);
149
231
  for (n = literalCount - LZ4_RUN_MASK; n >= 0xff; n -= 0xff) {
@@ -154,6 +236,7 @@ export function compressBlock(src, dst, sIndex, sLength) {
154
236
  else {
155
237
  dst[dIndex++] = (literalCount << LZ4_ML_BITS);
156
238
  }
239
+ // copy the remaining literals
157
240
  sIndex = mAnchor;
158
241
  while (sIndex < sEnd) {
159
242
  dst[dIndex++] = src[sIndex++];
@@ -1 +1 @@
1
- {"version":3,"file":"lz4.js","sourceRoot":"","sources":["../../src/compression/lz4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lz4.js","sourceRoot":"","sources":["../../src/compression/lz4.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export class BootStrap {
13
13
  };
14
14
  reader.offset += 5;
15
15
  this.tocOffset = reader.getUint64();
16
+ // console.log(`tocOffset: ${this.tocOffset}`)
17
+ // console.log(`VERSION %o`, this.version)
16
18
  }
17
19
  else {
18
20
  this.indent = "PXR-USDC";
@@ -1 +1 @@
1
- {"version":3,"file":"BootStrap.js","sourceRoot":"","sources":["../../src/crate/BootStrap.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IAUlB,YAAY,MAAe;QACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAA;YAC7E,CAAC;YACD,IAAI,CAAC,OAAO,GAAG;gBACX,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;aAC3B,CAAA;YACD,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YAClB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QAGvC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAA;YACxB,IAAI,CAAC,OAAO,GAAG;gBACX,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;aACX,CAAA;YACD,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAc;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IACD,SAAS,CAAC,MAAc;QACpB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAChC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,MAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAA;IACxC,CAAC;CAEJ"}
1
+ {"version":3,"file":"BootStrap.js","sourceRoot":"","sources":["../../src/crate/BootStrap.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IAUlB,YAAY,MAAe;QACvB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACjC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAA;YAC7E,CAAC;YACD,IAAI,CAAC,OAAO,GAAG;gBACX,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;aAC3B,CAAA;YACD,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YAClB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YACnC,8CAA8C;YAC9C,0CAA0C;QAC9C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAA;YACxB,IAAI,CAAC,OAAO,GAAG;gBACX,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;aACX,CAAA;YACD,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAc;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IACD,SAAS,CAAC,MAAc;QACpB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAChC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,MAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAA;IACxC,CAAC;CAEJ"}
@@ -1,7 +1,7 @@
1
1
  import { BootStrap } from "./BootStrap";
2
2
  import type { Reader } from "./Reader";
3
3
  import { TableOfContents } from "./TableOfContents";
4
- import { UsdNode } from "./UsdNode";
4
+ import { UsdNode } from "../nodes/usd/UsdNode";
5
5
  import { Tokens } from "./Tokens";
6
6
  import { Fields } from "./Fields";
7
7
  import { Paths } from "./Paths";
@@ -22,6 +22,13 @@ export declare class Crate {
22
22
  reader: Reader;
23
23
  writer: Writer;
24
24
  constructor(reader?: Reader);
25
+ /**
26
+ * Serialize root into this.writer
27
+ *
28
+ * NOTE: not idempotent
29
+ *
30
+ * @param root
31
+ */
25
32
  serialize(root: UsdNode): void;
26
33
  forEachField(fieldSetIndex: number, block: (name: string, value: ValueRep) => void): void;
27
34
  private buildNodeTree;
@@ -1,6 +1,6 @@
1
1
  import { BootStrap } from "./BootStrap";
2
2
  import { TableOfContents } from "./TableOfContents";
3
- import { UsdNode } from "./UsdNode";
3
+ import { UsdNode } from "../nodes/usd/UsdNode";
4
4
  import { Tokens } from "./Tokens";
5
5
  import { Fields } from "./Fields";
6
6
  import { JUMP_NEXT_IS_CHILD_NO_SIBLINGS, JUMP_NO_CHILD_NEXT_IS_SIBLING, JUMP_NO_CHILD_NO_SIBLINGS, Paths } from "./Paths";
@@ -30,13 +30,25 @@ export class Crate {
30
30
  this.paths = new Paths(reader);
31
31
  this.toc.seek(SectionName.SPECS);
32
32
  this.specs = new Specs(reader);
33
+ // build node tree
33
34
  this.paths._nodes = new Array(this.paths.num_nodes);
35
+ // for(let i = 0; i<this.paths.pathIndexes.length; ++i) {
36
+ // const idx = this.paths.pathIndexes[i]
37
+ // let tkn = this.paths.tokenIndexes[i]
38
+ // if (tkn < 0) {
39
+ // tkn = -tkn
40
+ // }
41
+ // const jmp = this.paths.jumps[i]
42
+ // console.log(` ${i} ${idx} ${this.tokens.get(tkn)} ${jmp} `)
43
+ // }
34
44
  const node = this.buildNodeTree({
35
45
  pathIndexes: this.paths.pathIndexes,
36
46
  tokenIndexes: this.paths.tokenIndexes,
37
47
  jumps: this.paths.jumps,
38
48
  depth: 0
39
49
  });
50
+ // console.log(`XXX: this.paths._nodes.length=${this.paths._nodes.length}, this.specs.pathIndexes.length=${this.specs.pathIndexes.length}, this.specs.fieldsetIndexes.length=${this.specs.fieldsetIndexes.length}, this.specs.specTypeIndexes.length=${this.specs.specTypeIndexes.length}`)
51
+ // move this into buildNodeTree so that we can directly instantiate classes like Xform, Mesh, ...
40
52
  for (let i = 0; i < this.specs.pathIndexes.length; ++i) {
41
53
  if (this.paths._nodes[i] === undefined) {
42
54
  for (let j = 0; j < this.paths._nodes.length; ++j) {
@@ -63,12 +75,20 @@ export class Crate {
63
75
  this.specs = new Specs();
64
76
  }
65
77
  }
78
+ /**
79
+ * Serialize root into this.writer
80
+ *
81
+ * NOTE: not idempotent
82
+ *
83
+ * @param root
84
+ */
66
85
  serialize(root) {
67
- this.strings.add(";-)");
86
+ this.strings.add(";-)"); // this seems to be by convention
68
87
  const writer = this.writer;
69
- this.bootstrap.skip(writer);
88
+ this.bootstrap.skip(writer); // leave room for bootstrap
70
89
  this.paths.encode(this.tokens, root);
71
90
  root.encode();
91
+ // WRITE SECTIONS
72
92
  let start, size;
73
93
  start = writer.tell();
74
94
  this.tokens.serialize(writer);
@@ -124,35 +144,47 @@ export class Crate {
124
144
  else {
125
145
  isPrimPropertyPath = true;
126
146
  }
147
+ // console.log(`thisIndex = ${thisIndex}, pathIndexes.size = ${arg.pathIndexes.length}`)
127
148
  if (parentNode === undefined) {
128
149
  if (thisIndex >= arg.pathIndexes.length) {
129
150
  throw Error("yikes: Index exceeds pathIndexes.size()");
130
151
  }
131
152
  root = parentNode = new UsdNode(this, undefined, idx, "/", true);
132
153
  root.depth = 0;
154
+ // console.log(`buildNodeTree(): this.paths._nodes![${idx}] := /`)
133
155
  this.paths._nodes[idx] = parentNode;
134
156
  }
135
157
  else {
136
158
  if (thisIndex >= arg.tokenIndexes.length) {
137
159
  throw Error(`Index ${thisIndex} exceeds tokenIndexes.length = ${arg.tokenIndexes.length}. $}`);
138
160
  }
161
+ // console.log(`tokenIndex = ${tokenIndex}, _tokens.size = ${this.tokens!.length}`)
139
162
  const elemToken = this.tokens.get(tokenIndex);
140
163
  if (this.paths._nodes[idx] !== undefined) {
141
164
  console.warn(`Crate.buildNodeTree(): node[${idx}] is already set at ${parentNode.getFullPathName()}, can't set ${elemToken}, already set to ${this.paths._nodes[idx].getFullPathName()}`);
165
+ // throw Error(`yikes: node[${idx}] is already set at ${parentNode.getFullPathName()}, can't set ${elemToken}, already set to ${this.paths._nodes![idx].name}`)
142
166
  }
143
167
  else {
144
168
  this.paths._nodes[idx] = new UsdNode(this, parentNode, idx, elemToken, isPrimPropertyPath);
145
169
  this.paths._nodes[idx].depth = parentNode.depth + 1;
170
+ // console.log(`buildNodeTree(): this.paths._nodes![${idx}] := ${" ".repeat(parentNode.depth!+1)}${elemToken}`)
146
171
  }
147
172
  }
173
+ // console.log(`${idx} ${" ".repeat(this.paths._nodes![idx].depth!)} ${this.paths._nodes![idx].name}`)
174
+ // if (this.tokens[tokenIndex] === undefined) {
175
+ // console.log(`BUMMER at tokenIndex ${tokenIndex}`)
176
+ // console.log(this.tokens)
177
+ // }
148
178
  hasChild = jump > 0 || jump === -1;
149
179
  hasSibling = jump >= 0;
150
180
  if (hasChild) {
151
181
  if (hasSibling) {
152
182
  const siblingIndex = thisIndex + jump;
183
+ // ++arg.depth
153
184
  this.buildNodeTree(arg, parentNode, siblingIndex);
185
+ // --arg.depth
154
186
  }
155
- parentNode = this.paths._nodes[idx];
187
+ parentNode = this.paths._nodes[idx]; // reset parent path
156
188
  }
157
189
  }
158
190
  return root;
@@ -182,10 +214,23 @@ export class Crate {
182
214
  const fieldset_index = this.specs.fieldsetIndexes[idx];
183
215
  const spec_type = this.specs.specTypeIndexes[idx];
184
216
  let fields = "";
217
+ // console.log(`fieldset indices lenght: ${this.fieldsets.fieldset_indices.length}`)
185
218
  for (let i = fieldset_index; this.fieldsets.fieldset_indices[i] >= 0; ++i) {
186
219
  const fieldIndex = this.fieldsets.fieldset_indices[i];
187
220
  fields = `${fields}${fieldIndex},`;
221
+ // console.log(` fieldIndex=${fieldIndex}`)
222
+ // console.log(this.fields)
223
+ // const field = this.fields.fields![fieldIndex]
224
+ // const token = this.tokens.get(field.tokenIndex)
225
+ // fields = `${fields}${token},`
188
226
  }
227
+ // for (let j = fieldset_index!; this.fieldsets.fieldset_indices[j] >= 0; ++j) {
228
+ // const fieldIndex = this.fieldsets.fieldset_indices[i]
229
+ // // const field = this.fields.fields![fieldIndex]
230
+ // // this.fields.tokenIndices[f]
231
+ // // const token = this.tokens.get(field.tokenIndex)
232
+ // fields = `${fieldIndex};`
233
+ // }
189
234
  console.log(` ${i} ${node.index} ${" ".repeat(node.depth)} ${node.name} (${jumpName}), ${SpecType[spec_type]}, fields @ ${fieldset_index}: ${fields}`);
190
235
  }
191
236
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Crate.js","sourceRoot":"","sources":["../../src/crate/Crate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Crate.js","sourceRoot":"","sources":["../../src/crate/Crate.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import type { Strings } from "./Strings";
6
6
  import type { Tokens } from "./Tokens";
7
7
  import type { Variability } from "./Variability";
8
8
  import { Writer } from "./Writer.js";
9
- import { UsdNode } from "./UsdNode.js";
9
+ import { UsdNode } from "../nodes/usd/UsdNode.js";
10
10
  export interface ListOp<T> {
11
11
  isExplicit?: boolean;
12
12
  explicit?: T[];