@maplibre/mlt 1.1.6 → 1.1.8

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 (221) hide show
  1. package/dist/decoding/bigEndianDecode.d.ts +13 -0
  2. package/dist/decoding/bigEndianDecode.js +50 -0
  3. package/dist/decoding/bigEndianDecode.js.map +1 -0
  4. package/dist/decoding/decodingTestUtils.d.ts +2 -2
  5. package/dist/decoding/decodingTestUtils.js +20 -21
  6. package/dist/decoding/decodingTestUtils.js.map +1 -1
  7. package/dist/decoding/decodingUtils.js +4 -2
  8. package/dist/decoding/decodingUtils.js.map +1 -1
  9. package/dist/decoding/fastPforDecoder.d.ts +47 -0
  10. package/dist/decoding/fastPforDecoder.js +482 -0
  11. package/dist/decoding/fastPforDecoder.js.map +1 -0
  12. package/dist/decoding/fastPforShared.d.ts +7 -0
  13. package/dist/decoding/fastPforShared.js +29 -0
  14. package/dist/decoding/fastPforShared.js.map +1 -0
  15. package/dist/decoding/fastPforUnpack.d.ts +23 -0
  16. package/dist/decoding/fastPforUnpack.js +910 -0
  17. package/dist/decoding/fastPforUnpack.js.map +1 -0
  18. package/dist/decoding/geometryDecoder.d.ts +2 -2
  19. package/dist/decoding/geometryDecoder.js +52 -49
  20. package/dist/decoding/geometryDecoder.js.map +1 -1
  21. package/dist/decoding/intWrapper.js +0 -1
  22. package/dist/decoding/intWrapper.js.map +1 -1
  23. package/dist/decoding/integerDecodingUtils.d.ts +33 -25
  24. package/dist/decoding/integerDecodingUtils.js +115 -52
  25. package/dist/decoding/integerDecodingUtils.js.map +1 -1
  26. package/dist/decoding/integerStreamDecoder.d.ts +15 -11
  27. package/dist/decoding/integerStreamDecoder.js +159 -65
  28. package/dist/decoding/integerStreamDecoder.js.map +1 -1
  29. package/dist/decoding/propertyDecoder.js +38 -36
  30. package/dist/decoding/propertyDecoder.js.map +1 -1
  31. package/dist/decoding/stringDecoder.js +19 -23
  32. package/dist/decoding/stringDecoder.js.map +1 -1
  33. package/dist/decoding/unpackNullableUtils.d.ts +2 -2
  34. package/dist/decoding/unpackNullableUtils.js.map +1 -1
  35. package/dist/encoding/bigEndianEncode.d.ts +7 -0
  36. package/dist/encoding/bigEndianEncode.js +16 -0
  37. package/dist/encoding/bigEndianEncode.js.map +1 -0
  38. package/dist/encoding/constGeometryVectorEncoder.d.ts +19 -0
  39. package/dist/encoding/constGeometryVectorEncoder.js +248 -0
  40. package/dist/encoding/constGeometryVectorEncoder.js.map +1 -0
  41. package/dist/encoding/encodingUtils.d.ts +2 -2
  42. package/dist/encoding/encodingUtils.js +3 -3
  43. package/dist/encoding/encodingUtils.js.map +1 -1
  44. package/dist/encoding/fastPforEncoder.d.ts +18 -0
  45. package/dist/encoding/fastPforEncoder.js +310 -0
  46. package/dist/encoding/fastPforEncoder.js.map +1 -0
  47. package/dist/encoding/integerEncodingUtils.d.ts +20 -20
  48. package/dist/encoding/integerEncodingUtils.js +64 -48
  49. package/dist/encoding/integerEncodingUtils.js.map +1 -1
  50. package/dist/encoding/integerStreamEncoder.d.ts +3 -2
  51. package/dist/encoding/integerStreamEncoder.js +57 -23
  52. package/dist/encoding/integerStreamEncoder.js.map +1 -1
  53. package/dist/encoding/packNullableUtils.d.ts +1 -1
  54. package/dist/encoding/packNullableUtils.js.map +1 -1
  55. package/dist/encoding/propertyEncoder.d.ts +1 -1
  56. package/dist/encoding/propertyEncoder.js +17 -24
  57. package/dist/encoding/propertyEncoder.js.map +1 -1
  58. package/dist/encoding/stringEncoder.js +9 -42
  59. package/dist/encoding/stringEncoder.js.map +1 -1
  60. package/dist/encoding/zOrderCurveEncoder.js +1 -1
  61. package/dist/encoding/zOrderCurveEncoder.js.map +1 -1
  62. package/dist/metadata/tile/logicalStreamType.d.ts +8 -12
  63. package/dist/metadata/tile/logicalStreamType.js +1 -19
  64. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  65. package/dist/metadata/tile/streamMetadataDecoder.d.ts +1 -1
  66. package/dist/metadata/tile/streamMetadataDecoder.js +9 -4
  67. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  68. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +1 -1
  69. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  70. package/dist/metadata/tileset/typeMap.d.ts +10 -2
  71. package/dist/metadata/tileset/typeMap.js +25 -15
  72. package/dist/metadata/tileset/typeMap.js.map +1 -1
  73. package/dist/mltDecoder.js +46 -47
  74. package/dist/mltDecoder.js.map +1 -1
  75. package/dist/mltMetadata.js.map +1 -1
  76. package/dist/vector/constant/int32ConstVector.d.ts +6 -0
  77. package/dist/vector/constant/int32ConstVector.js +10 -0
  78. package/dist/vector/constant/int32ConstVector.js.map +1 -0
  79. package/dist/vector/constant/int64ConstVector.d.ts +6 -0
  80. package/dist/vector/constant/int64ConstVector.js +10 -0
  81. package/dist/vector/constant/int64ConstVector.js.map +1 -0
  82. package/dist/vector/dictionary/stringDictionaryVector.d.ts +1 -2
  83. package/dist/vector/dictionary/stringDictionaryVector.js +0 -3
  84. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  85. package/dist/vector/featureTable.d.ts +7 -8
  86. package/dist/vector/featureTable.js +10 -42
  87. package/dist/vector/featureTable.js.map +1 -1
  88. package/dist/vector/filter/flatSelectionVector.d.ts +1 -1
  89. package/dist/vector/filter/flatSelectionVector.js +0 -2
  90. package/dist/vector/filter/flatSelectionVector.js.map +1 -1
  91. package/dist/vector/filter/selectionVectorUtils.d.ts +1 -1
  92. package/dist/vector/filter/selectionVectorUtils.js.map +1 -1
  93. package/dist/vector/filter/sequenceSelectionVector.d.ts +1 -1
  94. package/dist/vector/filter/sequenceSelectionVector.js +1 -5
  95. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -1
  96. package/dist/vector/flat/bitVector.js +0 -2
  97. package/dist/vector/flat/bitVector.js.map +1 -1
  98. package/dist/vector/flat/booleanFlatVector.js +0 -1
  99. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  100. package/dist/vector/flat/{intFlatVector.d.ts → int32FlatVector.d.ts} +1 -1
  101. package/dist/vector/flat/{intFlatVector.js → int32FlatVector.js} +2 -2
  102. package/dist/vector/flat/int32FlatVector.js.map +1 -0
  103. package/dist/vector/flat/{longFlatVector.d.ts → int64FlatVector.d.ts} +1 -1
  104. package/dist/vector/flat/{longFlatVector.js → int64FlatVector.js} +2 -2
  105. package/dist/vector/flat/int64FlatVector.js.map +1 -0
  106. package/dist/vector/flat/stringFlatVector.d.ts +0 -1
  107. package/dist/vector/flat/stringFlatVector.js +0 -2
  108. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  109. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +1 -3
  110. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +0 -42
  111. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  112. package/dist/vector/geometry/constGeometryVector.d.ts +5 -5
  113. package/dist/vector/geometry/constGeometryVector.js +1 -3
  114. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  115. package/dist/vector/geometry/constGpuVector.d.ts +4 -4
  116. package/dist/vector/geometry/constGpuVector.js +1 -3
  117. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  118. package/dist/vector/geometry/flatGeometryVector.d.ts +4 -4
  119. package/dist/vector/geometry/flatGeometryVector.js +1 -5
  120. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  121. package/dist/vector/geometry/flatGpuVector.d.ts +3 -3
  122. package/dist/vector/geometry/flatGpuVector.js +0 -1
  123. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  124. package/dist/vector/geometry/geometryType.js.map +1 -1
  125. package/dist/vector/geometry/geometryVector.d.ts +7 -8
  126. package/dist/vector/geometry/geometryVector.js +0 -13
  127. package/dist/vector/geometry/geometryVector.js.map +1 -1
  128. package/dist/vector/geometry/geometryVectorConverter.d.ts +1 -1
  129. package/dist/vector/geometry/geometryVectorConverter.js +167 -211
  130. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  131. package/dist/vector/geometry/gpuVector.d.ts +6 -6
  132. package/dist/vector/geometry/gpuVector.js +0 -4
  133. package/dist/vector/geometry/gpuVector.js.map +1 -1
  134. package/dist/vector/geometry/topologyVector.d.ts +5 -9
  135. package/dist/vector/geometry/topologyVector.js +1 -19
  136. package/dist/vector/geometry/topologyVector.js.map +1 -1
  137. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  138. package/dist/vector/idVector.d.ts +8 -0
  139. package/dist/vector/idVector.js +2 -0
  140. package/dist/vector/idVector.js.map +1 -0
  141. package/dist/vector/sequence/{intSequenceVector.d.ts → int32SequenceVector.d.ts} +1 -1
  142. package/dist/vector/sequence/{intSequenceVector.js → int32SequenceVector.js} +2 -2
  143. package/dist/vector/sequence/int32SequenceVector.js.map +1 -0
  144. package/dist/vector/sequence/{longSequenceVector.d.ts → int64SequenceVector.d.ts} +1 -1
  145. package/dist/vector/sequence/{longSequenceVector.js → int64SequenceVector.js} +2 -2
  146. package/dist/vector/sequence/int64SequenceVector.js.map +1 -0
  147. package/dist/vector/sequence/sequenceVector.js +0 -1
  148. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  149. package/dist/vector/variableSizeVector.js +0 -1
  150. package/dist/vector/variableSizeVector.js.map +1 -1
  151. package/dist/vector/vector.js +1 -5
  152. package/dist/vector/vector.js.map +1 -1
  153. package/dist/vector/vectorType.js.map +1 -1
  154. package/package.json +9 -10
  155. package/dist/decoding/decodingUtils.spec.d.ts +0 -1
  156. package/dist/decoding/decodingUtils.spec.js +0 -141
  157. package/dist/decoding/decodingUtils.spec.js.map +0 -1
  158. package/dist/decoding/fsstDecoder.spec.d.ts +0 -1
  159. package/dist/decoding/fsstDecoder.spec.js +0 -57
  160. package/dist/decoding/fsstDecoder.spec.js.map +0 -1
  161. package/dist/decoding/integerDecodingUtils.spec.d.ts +0 -1
  162. package/dist/decoding/integerDecodingUtils.spec.js +0 -300
  163. package/dist/decoding/integerDecodingUtils.spec.js.map +0 -1
  164. package/dist/decoding/integerStreamDecoder.spec.d.ts +0 -1
  165. package/dist/decoding/integerStreamDecoder.spec.js +0 -402
  166. package/dist/decoding/integerStreamDecoder.spec.js.map +0 -1
  167. package/dist/decoding/propertyDecoder.spec.d.ts +0 -1
  168. package/dist/decoding/propertyDecoder.spec.js +0 -448
  169. package/dist/decoding/propertyDecoder.spec.js.map +0 -1
  170. package/dist/decoding/stringDecoder.spec.d.ts +0 -1
  171. package/dist/decoding/stringDecoder.spec.js +0 -387
  172. package/dist/decoding/stringDecoder.spec.js.map +0 -1
  173. package/dist/decoding/unpackNullableUtils.spec.d.ts +0 -1
  174. package/dist/decoding/unpackNullableUtils.spec.js +0 -71
  175. package/dist/decoding/unpackNullableUtils.spec.js.map +0 -1
  176. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.spec.d.ts +0 -1
  177. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.spec.js +0 -142
  178. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.spec.js.map +0 -1
  179. package/dist/mltDecoder.spec.d.ts +0 -1
  180. package/dist/mltDecoder.spec.js +0 -152
  181. package/dist/mltDecoder.spec.js.map +0 -1
  182. package/dist/vector/constant/intConstVector.d.ts +0 -6
  183. package/dist/vector/constant/intConstVector.js +0 -10
  184. package/dist/vector/constant/intConstVector.js.map +0 -1
  185. package/dist/vector/constant/longConstVector.d.ts +0 -6
  186. package/dist/vector/constant/longConstVector.js +0 -10
  187. package/dist/vector/constant/longConstVector.js.map +0 -1
  188. package/dist/vector/filter/flatSelectionVector.spec.d.ts +0 -1
  189. package/dist/vector/filter/flatSelectionVector.spec.js +0 -51
  190. package/dist/vector/filter/flatSelectionVector.spec.js.map +0 -1
  191. package/dist/vector/filter/selectionVectorUtil.spec.d.ts +0 -1
  192. package/dist/vector/filter/selectionVectorUtil.spec.js +0 -154
  193. package/dist/vector/filter/selectionVectorUtil.spec.js.map +0 -1
  194. package/dist/vector/filter/sequenceSelectionVector.spec.d.ts +0 -1
  195. package/dist/vector/filter/sequenceSelectionVector.spec.js +0 -115
  196. package/dist/vector/filter/sequenceSelectionVector.spec.js.map +0 -1
  197. package/dist/vector/flat/floatFlatVector.spec.d.ts +0 -1
  198. package/dist/vector/flat/floatFlatVector.spec.js +0 -14
  199. package/dist/vector/flat/floatFlatVector.spec.js.map +0 -1
  200. package/dist/vector/flat/intFlatVector.js.map +0 -1
  201. package/dist/vector/flat/intFlatVector.spec.d.ts +0 -1
  202. package/dist/vector/flat/intFlatVector.spec.js +0 -15
  203. package/dist/vector/flat/intFlatVector.spec.js.map +0 -1
  204. package/dist/vector/flat/longFlatVector.js.map +0 -1
  205. package/dist/vector/flat/longFlatVector.spec.d.ts +0 -1
  206. package/dist/vector/flat/longFlatVector.spec.js +0 -14
  207. package/dist/vector/flat/longFlatVector.spec.js.map +0 -1
  208. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +0 -1
  209. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +0 -28
  210. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +0 -1
  211. package/dist/vector/geometry/zOrderCurve.spec.d.ts +0 -1
  212. package/dist/vector/geometry/zOrderCurve.spec.js +0 -25
  213. package/dist/vector/geometry/zOrderCurve.spec.js.map +0 -1
  214. package/dist/vector/intVector.d.ts +0 -8
  215. package/dist/vector/intVector.js +0 -2
  216. package/dist/vector/intVector.js.map +0 -1
  217. package/dist/vector/sequence/intSequenceVector.js.map +0 -1
  218. package/dist/vector/sequence/longSequenceVector.js.map +0 -1
  219. package/dist/vector/sequence/longSequenceVektor.spec.d.ts +0 -1
  220. package/dist/vector/sequence/longSequenceVektor.spec.js +0 -11
  221. package/dist/vector/sequence/longSequenceVektor.spec.js.map +0 -1
@@ -1,6 +1,4 @@
1
1
  export default class BitVector {
2
- values;
3
- _size;
4
2
  /**
5
3
  * @param values The byte buffer containing the bit values in least-significant bit (LSB)
6
4
  * numbering
@@ -1 +1 @@
1
- {"version":3,"file":"bitVector.js","sourceRoot":"","sources":["../../../src/vector/flat/bitVector.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,SAAS;IACT,MAAM,CAAa;IACnB,KAAK,CAAS;IAE/B;;;OAGG;IACH,YAAY,MAAkB,EAAE,IAAY;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,KAAa;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAc;QAC7B,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ","sourcesContent":["export default class BitVector {\n private readonly values: Uint8Array;\n private readonly _size: number;\n\n /**\n * @param values The byte buffer containing the bit values in least-significant bit (LSB)\n * numbering\n */\n constructor(values: Uint8Array, size: number) {\n this.values = values;\n this._size = size;\n }\n\n get(index: number): boolean {\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n const b = this.values[byteIndex];\n return ((b >> bitIndex) & 1) === 1;\n }\n\n set(index: number, value: boolean): void {\n //TODO: refactor -> improve quick and dirty solution\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n this.values[byteIndex] = this.values[byteIndex] | ((value ? 1 : 0) << bitIndex);\n }\n\n getInt(index: number): number {\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n const b = this.values[byteIndex];\n return (b >> bitIndex) & 1;\n }\n\n size(): number {\n return this._size;\n }\n\n getBuffer(): Uint8Array {\n return this.values;\n }\n}\n"]}
1
+ {"version":3,"file":"bitVector.js","sourceRoot":"","sources":["../../../src/vector/flat/bitVector.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,SAAS;IAI1B;;;OAGG;IACH,YAAY,MAAkB,EAAE,IAAY;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,KAAa;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAc;QAC7B,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ","sourcesContent":["export default class BitVector {\n private readonly values: Uint8Array;\n private readonly _size: number;\n\n /**\n * @param values The byte buffer containing the bit values in least-significant bit (LSB)\n * numbering\n */\n constructor(values: Uint8Array, size: number) {\n this.values = values;\n this._size = size;\n }\n\n get(index: number): boolean {\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n const b = this.values[byteIndex];\n return ((b >> bitIndex) & 1) === 1;\n }\n\n set(index: number, value: boolean): void {\n //TODO: refactor -> improve quick and dirty solution\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n this.values[byteIndex] = this.values[byteIndex] | ((value ? 1 : 0) << bitIndex);\n }\n\n getInt(index: number): number {\n const byteIndex = Math.floor(index / 8);\n const bitIndex = index % 8;\n const b = this.values[byteIndex];\n return (b >> bitIndex) & 1;\n }\n\n size(): number {\n return this._size;\n }\n\n getBuffer(): Uint8Array {\n return this.values;\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  import Vector from "../vector";
2
2
  export class BooleanFlatVector extends Vector {
3
- dataVector;
4
3
  constructor(name, dataVector, sizeOrNullabilityBuffer) {
5
4
  super(name, dataVector.getBuffer(), sizeOrNullabilityBuffer);
6
5
  this.dataVector = dataVector;
@@ -1 +1 @@
1
- {"version":3,"file":"booleanFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/booleanFlatVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,iBAAkB,SAAQ,MAA2B;IAC7C,UAAU,CAAY;IAEvC,YAAY,IAAY,EAAE,UAAqB,EAAE,uBAA2C;QACxF,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ","sourcesContent":["import type BitVector from \"./bitVector\";\nimport Vector from \"../vector\";\n\nexport class BooleanFlatVector extends Vector<Uint8Array, boolean> {\n private readonly dataVector: BitVector;\n\n constructor(name: string, dataVector: BitVector, sizeOrNullabilityBuffer: number | BitVector) {\n super(name, dataVector.getBuffer(), sizeOrNullabilityBuffer);\n this.dataVector = dataVector;\n }\n\n protected getValueFromBuffer(index: number): boolean {\n return this.dataVector.get(index);\n }\n}\n"]}
1
+ {"version":3,"file":"booleanFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/booleanFlatVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,iBAAkB,SAAQ,MAA2B;IAG9D,YAAY,IAAY,EAAE,UAAqB,EAAE,uBAA2C;QACxF,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACJ","sourcesContent":["import type BitVector from \"./bitVector\";\nimport Vector from \"../vector\";\n\nexport class BooleanFlatVector extends Vector<Uint8Array, boolean> {\n private readonly dataVector: BitVector;\n\n constructor(name: string, dataVector: BitVector, sizeOrNullabilityBuffer: number | BitVector) {\n super(name, dataVector.getBuffer(), sizeOrNullabilityBuffer);\n this.dataVector = dataVector;\n }\n\n protected getValueFromBuffer(index: number): boolean {\n return this.dataVector.get(index);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import { FixedSizeVector } from "../fixedSizeVector";
2
- export declare class IntFlatVector extends FixedSizeVector<Int32Array, number> {
2
+ export declare class Int32FlatVector extends FixedSizeVector<Int32Array | Uint32Array, number> {
3
3
  protected getValueFromBuffer(index: number): number;
4
4
  }
@@ -1,7 +1,7 @@
1
1
  import { FixedSizeVector } from "../fixedSizeVector";
2
- export class IntFlatVector extends FixedSizeVector {
2
+ export class Int32FlatVector extends FixedSizeVector {
3
3
  getValueFromBuffer(index) {
4
4
  return this.dataBuffer[index];
5
5
  }
6
6
  }
7
- //# sourceMappingURL=intFlatVector.js.map
7
+ //# sourceMappingURL=int32FlatVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"int32FlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/int32FlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,eAAgB,SAAQ,eAAiD;IACxE,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ","sourcesContent":["import { FixedSizeVector } from \"../fixedSizeVector\";\n\nexport class Int32FlatVector extends FixedSizeVector<Int32Array | Uint32Array, number> {\n protected getValueFromBuffer(index: number): number {\n return this.dataBuffer[index];\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import { FixedSizeVector } from "../fixedSizeVector";
2
- export declare class LongFlatVector extends FixedSizeVector<BigInt64Array, bigint> {
2
+ export declare class Int64FlatVector extends FixedSizeVector<BigInt64Array | BigUint64Array, bigint> {
3
3
  protected getValueFromBuffer(index: number): bigint;
4
4
  }
@@ -1,7 +1,7 @@
1
1
  import { FixedSizeVector } from "../fixedSizeVector";
2
- export class LongFlatVector extends FixedSizeVector {
2
+ export class Int64FlatVector extends FixedSizeVector {
3
3
  getValueFromBuffer(index) {
4
4
  return this.dataBuffer[index];
5
5
  }
6
6
  }
7
- //# sourceMappingURL=longFlatVector.js.map
7
+ //# sourceMappingURL=int64FlatVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"int64FlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/int64FlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,eAAgB,SAAQ,eAAuD;IAC9E,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACJ","sourcesContent":["import { FixedSizeVector } from \"../fixedSizeVector\";\n\nexport class Int64FlatVector extends FixedSizeVector<BigInt64Array | BigUint64Array, bigint> {\n protected getValueFromBuffer(index: number): bigint {\n return this.dataBuffer[index];\n }\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  import { VariableSizeVector } from "../variableSizeVector";
2
2
  import type BitVector from "./bitVector";
3
3
  export declare class StringFlatVector extends VariableSizeVector<Uint8Array, string> {
4
- private readonly textEncoder;
5
4
  constructor(name: string, offsetBuffer: Uint32Array, dataBuffer: Uint8Array, nullabilityBuffer?: BitVector);
6
5
  protected getValueFromBuffer(index: number): string;
7
6
  }
@@ -1,10 +1,8 @@
1
1
  import { VariableSizeVector } from "../variableSizeVector";
2
2
  import { decodeString } from "../../decoding/decodingUtils";
3
3
  export class StringFlatVector extends VariableSizeVector {
4
- textEncoder;
5
4
  constructor(name, offsetBuffer, dataBuffer, nullabilityBuffer) {
6
5
  super(name, offsetBuffer, dataBuffer, nullabilityBuffer ?? offsetBuffer.length - 1);
7
- this.textEncoder = new TextEncoder();
8
6
  }
9
7
  getValueFromBuffer(index) {
10
8
  const start = this.offsetBuffer[index];
@@ -1 +1 @@
1
- {"version":3,"file":"stringFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/stringFlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,gBAAiB,SAAQ,kBAAsC;IACvD,WAAW,CAAc;IAE1C,YAAY,IAAY,EAAE,YAAyB,EAAE,UAAsB,EAAE,iBAA6B;QACtG,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACzC,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACJ","sourcesContent":["import { VariableSizeVector } from \"../variableSizeVector\";\nimport type BitVector from \"./bitVector\";\nimport { decodeString } from \"../../decoding/decodingUtils\";\n\nexport class StringFlatVector extends VariableSizeVector<Uint8Array, string> {\n private readonly textEncoder: TextEncoder;\n\n constructor(name: string, offsetBuffer: Uint32Array, dataBuffer: Uint8Array, nullabilityBuffer?: BitVector) {\n super(name, offsetBuffer, dataBuffer, nullabilityBuffer ?? offsetBuffer.length - 1);\n this.textEncoder = new TextEncoder();\n }\n\n protected getValueFromBuffer(index: number): string {\n const start = this.offsetBuffer[index];\n const end = this.offsetBuffer[index + 1];\n return decodeString(this.dataBuffer, start, end);\n }\n}\n"]}
1
+ {"version":3,"file":"stringFlatVector.js","sourceRoot":"","sources":["../../../src/vector/flat/stringFlatVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,gBAAiB,SAAQ,kBAAsC;IACxE,YAAY,IAAY,EAAE,YAAyB,EAAE,UAAsB,EAAE,iBAA6B;QACtG,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxF,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;CACJ","sourcesContent":["import { VariableSizeVector } from \"../variableSizeVector\";\nimport type BitVector from \"./bitVector\";\nimport { decodeString } from \"../../decoding/decodingUtils\";\n\nexport class StringFlatVector extends VariableSizeVector<Uint8Array, string> {\n constructor(name: string, offsetBuffer: Uint32Array, dataBuffer: Uint8Array, nullabilityBuffer?: BitVector) {\n super(name, offsetBuffer, dataBuffer, nullabilityBuffer ?? offsetBuffer.length - 1);\n }\n\n protected getValueFromBuffer(index: number): string {\n const start = this.offsetBuffer[index];\n const end = this.offsetBuffer[index + 1];\n return decodeString(this.dataBuffer, start, end);\n }\n}\n"]}
@@ -4,11 +4,9 @@ export declare class StringFsstDictionaryVector extends VariableSizeVector<Uint8
4
4
  private readonly indexBuffer;
5
5
  private readonly symbolOffsetBuffer;
6
6
  private readonly symbolTableBuffer;
7
- private readonly textEncoder;
8
7
  private symbolLengthBuffer;
9
- private lengthBuffer;
10
8
  private decodedDictionary;
11
- constructor(name: string, indexBuffer: Int32Array, offsetBuffer: Uint32Array, dictionaryBuffer: Uint8Array, symbolOffsetBuffer: Uint32Array, symbolTableBuffer: Uint8Array, nullabilityBuffer: BitVector);
9
+ constructor(name: string, indexBuffer: Uint32Array, offsetBuffer: Uint32Array, dictionaryBuffer: Uint8Array, symbolOffsetBuffer: Uint32Array, symbolTableBuffer: Uint8Array, nullabilityBuffer: BitVector);
12
10
  protected getValueFromBuffer(index: number): string;
13
11
  private offsetToLengthBuffer;
14
12
  }
@@ -2,59 +2,17 @@ import { VariableSizeVector } from "../variableSizeVector";
2
2
  import { decodeFsst } from "../../decoding/fsstDecoder";
3
3
  import { decodeString } from "../../decoding/decodingUtils";
4
4
  export class StringFsstDictionaryVector extends VariableSizeVector {
5
- indexBuffer;
6
- symbolOffsetBuffer;
7
- symbolTableBuffer;
8
- textEncoder;
9
- // TODO: extend from StringVector
10
- symbolLengthBuffer;
11
- lengthBuffer;
12
- decodedDictionary;
13
5
  constructor(name, indexBuffer, offsetBuffer, dictionaryBuffer, symbolOffsetBuffer, symbolTableBuffer, nullabilityBuffer) {
14
6
  super(name, offsetBuffer, dictionaryBuffer, nullabilityBuffer);
15
7
  this.indexBuffer = indexBuffer;
16
8
  this.symbolOffsetBuffer = symbolOffsetBuffer;
17
9
  this.symbolTableBuffer = symbolTableBuffer;
18
- this.textEncoder = new TextEncoder();
19
10
  }
20
11
  getValueFromBuffer(index) {
21
- //if (this.decodedValues == null) {
22
- /*if (this.decodedDictionary == null) {
23
- if (this.symbolLengthBuffer == null) {
24
- // TODO: change FsstEncoder to take offsets instead of length to get rid of this conversion
25
- this.symbolLengthBuffer = this.offsetToLengthBuffer(this.symbolOffsetBuffer);
26
- this.lengthBuffer = this.offsetToLengthBuffer(this.offsetBuffer);
27
- }
28
-
29
- const dictionaryBuffer = decodeFsst(this.symbolTableBuffer, this.symbolLengthBuffer,
30
- this.dataBuffer);
31
-
32
- this.decodedDictionary = new Array<string>(this.lengthBuffer.length);
33
- let i = 0;
34
- let strStart = 0;
35
- for (const strLength of this.lengthBuffer) {
36
- this.decodedDictionary[i++] = decodeString(dictionaryBuffer, strStart, strStart + strLength);
37
- strStart += strLength;
38
- }
39
-
40
- /!*this.decodedValues = new Array(this.indexBuffer.length);
41
- i = 0;
42
- for (const index of this.indexBuffer) {
43
- const value = decodedDictionary[index];
44
- this.decodedValues[i++] = value;
45
- }*!/
46
- }*/
47
- /*this.decodedValues = new Array(this.indexBuffer.length);
48
- i = 0;
49
- for (const index of this.indexBuffer) {
50
- const value = decodedDictionary[index];
51
- this.decodedValues[i++] = value;
52
- }*/
53
12
  if (this.decodedDictionary == null) {
54
13
  if (this.symbolLengthBuffer == null) {
55
14
  // TODO: change FsstEncoder to take offsets instead of length to get rid of this conversion
56
15
  this.symbolLengthBuffer = this.offsetToLengthBuffer(this.symbolOffsetBuffer);
57
- this.lengthBuffer = this.offsetToLengthBuffer(this.offsetBuffer);
58
16
  }
59
17
  this.decodedDictionary = decodeFsst(this.symbolTableBuffer, this.symbolLengthBuffer, this.dataBuffer);
60
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stringFsstDictionaryVector.js","sourceRoot":"","sources":["../../../src/vector/fsst-dictionary/stringFsstDictionaryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,0BAA2B,SAAQ,kBAAsC;IAU7D;IAGA;IACA;IAbJ,WAAW,CAAc;IAE1C,iCAAiC;IACzB,kBAAkB,CAAc;IAChC,YAAY,CAAc;IAC1B,iBAAiB,CAAa;IAEtC,YACI,IAAY,EACK,WAAuB,EACxC,YAAyB,EACzB,gBAA4B,EACX,kBAA+B,EAC/B,iBAA6B,EAC9C,iBAA4B;QAE5B,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAP9C,gBAAW,GAAX,WAAW,CAAY;QAGvB,uBAAkB,GAAlB,kBAAkB,CAAa;QAC/B,sBAAiB,GAAjB,iBAAiB,CAAY;QAI9C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACzC,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,mCAAmC;QACnC;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH;;;;;eAKO;QAEP,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBAClC,2FAA2F;gBAC3F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC7E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1G,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,mCAAmC;IAC3B,oBAAoB,CAAC,YAAyB;QAClD,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,cAAc,CAAC;YAC9C,cAAc,GAAG,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { VariableSizeVector } from \"../variableSizeVector\";\nimport type BitVector from \"../flat/bitVector\";\nimport { decodeFsst } from \"../../decoding/fsstDecoder\";\nimport { decodeString } from \"../../decoding/decodingUtils\";\n\nexport class StringFsstDictionaryVector extends VariableSizeVector<Uint8Array, string> {\n private readonly textEncoder: TextEncoder;\n\n // TODO: extend from StringVector\n private symbolLengthBuffer: Uint32Array;\n private lengthBuffer: Uint32Array;\n private decodedDictionary: Uint8Array;\n\n constructor(\n name: string,\n private readonly indexBuffer: Int32Array,\n offsetBuffer: Uint32Array,\n dictionaryBuffer: Uint8Array,\n private readonly symbolOffsetBuffer: Uint32Array,\n private readonly symbolTableBuffer: Uint8Array,\n nullabilityBuffer: BitVector,\n ) {\n super(name, offsetBuffer, dictionaryBuffer, nullabilityBuffer);\n this.textEncoder = new TextEncoder();\n }\n\n protected getValueFromBuffer(index: number): string {\n //if (this.decodedValues == null) {\n /*if (this.decodedDictionary == null) {\n if (this.symbolLengthBuffer == null) {\n // TODO: change FsstEncoder to take offsets instead of length to get rid of this conversion\n this.symbolLengthBuffer = this.offsetToLengthBuffer(this.symbolOffsetBuffer);\n this.lengthBuffer = this.offsetToLengthBuffer(this.offsetBuffer);\n }\n\n const dictionaryBuffer = decodeFsst(this.symbolTableBuffer, this.symbolLengthBuffer,\n this.dataBuffer);\n\n this.decodedDictionary = new Array<string>(this.lengthBuffer.length);\n let i = 0;\n let strStart = 0;\n for (const strLength of this.lengthBuffer) {\n this.decodedDictionary[i++] = decodeString(dictionaryBuffer, strStart, strStart + strLength);\n strStart += strLength;\n }\n\n /!*this.decodedValues = new Array(this.indexBuffer.length);\n i = 0;\n for (const index of this.indexBuffer) {\n const value = decodedDictionary[index];\n this.decodedValues[i++] = value;\n }*!/\n }*/\n /*this.decodedValues = new Array(this.indexBuffer.length);\n i = 0;\n for (const index of this.indexBuffer) {\n const value = decodedDictionary[index];\n this.decodedValues[i++] = value;\n }*/\n\n if (this.decodedDictionary == null) {\n if (this.symbolLengthBuffer == null) {\n // TODO: change FsstEncoder to take offsets instead of length to get rid of this conversion\n this.symbolLengthBuffer = this.offsetToLengthBuffer(this.symbolOffsetBuffer);\n this.lengthBuffer = this.offsetToLengthBuffer(this.offsetBuffer);\n }\n\n this.decodedDictionary = decodeFsst(this.symbolTableBuffer, this.symbolLengthBuffer, this.dataBuffer);\n }\n\n const offset = this.indexBuffer[index];\n const start = this.offsetBuffer[offset];\n const end = this.offsetBuffer[offset + 1];\n return decodeString(this.decodedDictionary, start, end);\n }\n\n // TODO: get rid of that conversion\n private offsetToLengthBuffer(offsetBuffer: Uint32Array): Uint32Array {\n const lengthBuffer = new Uint32Array(offsetBuffer.length - 1);\n let previousOffset = offsetBuffer[0];\n for (let i = 1; i < offsetBuffer.length; i++) {\n const offset = offsetBuffer[i];\n lengthBuffer[i - 1] = offset - previousOffset;\n previousOffset = offset;\n }\n\n return lengthBuffer;\n }\n}\n"]}
1
+ {"version":3,"file":"stringFsstDictionaryVector.js","sourceRoot":"","sources":["../../../src/vector/fsst-dictionary/stringFsstDictionaryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,OAAO,0BAA2B,SAAQ,kBAAsC;IAKlF,YACI,IAAY,EACK,WAAwB,EACzC,YAAyB,EACzB,gBAA4B,EACX,kBAA+B,EAC/B,iBAA6B,EAC9C,iBAA4B;QAE5B,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAP9C,gBAAW,GAAX,WAAW,CAAa;QAGxB,uBAAkB,GAAlB,kBAAkB,CAAa;QAC/B,sBAAiB,GAAjB,iBAAiB,CAAY;IAIlD,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBAClC,2FAA2F;gBAC3F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1G,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,mCAAmC;IAC3B,oBAAoB,CAAC,YAAyB;QAClD,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,cAAc,CAAC;YAC9C,cAAc,GAAG,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ","sourcesContent":["import { VariableSizeVector } from \"../variableSizeVector\";\nimport type BitVector from \"../flat/bitVector\";\nimport { decodeFsst } from \"../../decoding/fsstDecoder\";\nimport { decodeString } from \"../../decoding/decodingUtils\";\n\nexport class StringFsstDictionaryVector extends VariableSizeVector<Uint8Array, string> {\n // TODO: extend from StringVector\n private symbolLengthBuffer: Uint32Array;\n private decodedDictionary: Uint8Array;\n\n constructor(\n name: string,\n private readonly indexBuffer: Uint32Array,\n offsetBuffer: Uint32Array,\n dictionaryBuffer: Uint8Array,\n private readonly symbolOffsetBuffer: Uint32Array,\n private readonly symbolTableBuffer: Uint8Array,\n nullabilityBuffer: BitVector,\n ) {\n super(name, offsetBuffer, dictionaryBuffer, nullabilityBuffer);\n }\n\n protected getValueFromBuffer(index: number): string {\n if (this.decodedDictionary == null) {\n if (this.symbolLengthBuffer == null) {\n // TODO: change FsstEncoder to take offsets instead of length to get rid of this conversion\n this.symbolLengthBuffer = this.offsetToLengthBuffer(this.symbolOffsetBuffer);\n }\n\n this.decodedDictionary = decodeFsst(this.symbolTableBuffer, this.symbolLengthBuffer, this.dataBuffer);\n }\n\n const offset = this.indexBuffer[index];\n const start = this.offsetBuffer[offset];\n const end = this.offsetBuffer[offset + 1];\n return decodeString(this.decodedDictionary, start, end);\n }\n\n // TODO: get rid of that conversion\n private offsetToLengthBuffer(offsetBuffer: Uint32Array): Uint32Array {\n const lengthBuffer = new Uint32Array(offsetBuffer.length - 1);\n let previousOffset = offsetBuffer[0];\n for (let i = 1; i < offsetBuffer.length; i++) {\n const offset = offsetBuffer[i];\n lengthBuffer[i - 1] = offset - previousOffset;\n previousOffset = offset;\n }\n\n return lengthBuffer;\n }\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  import { GeometryVector, type MortonSettings } from "./geometryVector";
2
- import type TopologyVector from "../../vector/geometry/topologyVector";
3
2
  import { VertexBufferType } from "./vertexBufferType";
4
- export declare function createConstGeometryVector(numGeometries: number, geometryType: number, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array): ConstGeometryVector;
5
- export declare function createMortonEncodedConstGeometryVector(numGeometries: number, geometryType: number, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonInfo: MortonSettings): ConstGeometryVector;
3
+ import type { TopologyVector } from "../../vector/geometry/topologyVector";
4
+ export declare function createConstGeometryVector(numGeometries: number, geometryType: number, topologyVector: TopologyVector, vertexOffsets: Uint32Array | undefined, vertexBuffer: Int32Array | Uint32Array): ConstGeometryVector;
5
+ export declare function createMortonEncodedConstGeometryVector(numGeometries: number, geometryType: number, topologyVector: TopologyVector, vertexOffsets: Uint32Array | undefined, vertexBuffer: Int32Array | Uint32Array, mortonInfo: MortonSettings): ConstGeometryVector;
6
6
  export declare class ConstGeometryVector extends GeometryVector {
7
7
  private readonly _numGeometries;
8
8
  private readonly _geometryType;
9
- constructor(_numGeometries: number, _geometryType: number, vertexBufferType: VertexBufferType, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonSettings?: MortonSettings);
10
- geometryType(index: number): number;
9
+ constructor(_numGeometries: number, _geometryType: number, vertexBufferType: VertexBufferType, topologyVector: TopologyVector, vertexOffsets: Uint32Array | undefined, vertexBuffer: Int32Array | Uint32Array, mortonSettings?: MortonSettings);
10
+ geometryType(_index: number): number;
11
11
  get numGeometries(): number;
12
12
  containsPolygonGeometry(): boolean;
13
13
  containsSingleGeometryType(): boolean;
@@ -8,14 +8,12 @@ export function createMortonEncodedConstGeometryVector(numGeometries, geometryTy
8
8
  return new ConstGeometryVector(numGeometries, geometryType, VertexBufferType.MORTON, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
9
9
  }
10
10
  export class ConstGeometryVector extends GeometryVector {
11
- _numGeometries;
12
- _geometryType;
13
11
  constructor(_numGeometries, _geometryType, vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings) {
14
12
  super(vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings);
15
13
  this._numGeometries = _numGeometries;
16
14
  this._geometryType = _geometryType;
17
15
  }
18
- geometryType(index) {
16
+ geometryType(_index) {
19
17
  return this._geometryType;
20
18
  }
21
19
  get numGeometries() {
@@ -1 +1 @@
1
- {"version":3,"file":"constGeometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/constGeometryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,yBAAyB,CACrC,aAAqB,EACrB,YAAoB,EACpB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB;IAExB,OAAO,IAAI,mBAAmB,CAC1B,aAAa,EACb,YAAY,EACZ,gBAAgB,CAAC,KAAK,EACtB,cAAc,EACd,aAAa,EACb,YAAY,CACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sCAAsC,CAClD,aAAqB,EACrB,YAAoB,EACpB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,UAA0B;IAE1B,OAAO,IAAI,mBAAmB,CAC1B,aAAa,EACb,YAAY,EACZ,gBAAgB,CAAC,MAAM,EACvB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,CACb,CAAC;AACN,CAAC;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IAE9B;IACA;IAFrB,YACqB,cAAsB,EACtB,aAAqB,EACtC,gBAAkC,EAClC,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,cAA+B;QAE/B,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QARpE,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;IAQ1C,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,uBAAuB;QACnB,OAAO,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,YAAY,CAAC;IAC7G,CAAC;IAED,0BAA0B;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["import { GeometryVector, type MortonSettings } from \"./geometryVector\";\nimport type TopologyVector from \"../../vector/geometry/topologyVector\";\nimport { GEOMETRY_TYPE } from \"./geometryType\";\nimport { VertexBufferType } from \"./vertexBufferType\";\n\nexport function createConstGeometryVector(\n numGeometries: number,\n geometryType: number,\n topologyVector: TopologyVector,\n vertexOffsets: Int32Array,\n vertexBuffer: Int32Array,\n): ConstGeometryVector {\n return new ConstGeometryVector(\n numGeometries,\n geometryType,\n VertexBufferType.VEC_2,\n topologyVector,\n vertexOffsets,\n vertexBuffer,\n );\n}\n\nexport function createMortonEncodedConstGeometryVector(\n numGeometries: number,\n geometryType: number,\n topologyVector: TopologyVector,\n vertexOffsets: Int32Array,\n vertexBuffer: Int32Array,\n mortonInfo: MortonSettings,\n): ConstGeometryVector {\n return new ConstGeometryVector(\n numGeometries,\n geometryType,\n VertexBufferType.MORTON,\n topologyVector,\n vertexOffsets,\n vertexBuffer,\n mortonInfo,\n );\n}\n\nexport class ConstGeometryVector extends GeometryVector {\n constructor(\n private readonly _numGeometries: number,\n private readonly _geometryType: number,\n vertexBufferType: VertexBufferType,\n topologyVector: TopologyVector,\n vertexOffsets: Int32Array,\n vertexBuffer: Int32Array,\n mortonSettings?: MortonSettings,\n ) {\n super(vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings);\n }\n\n geometryType(index: number): number {\n return this._geometryType;\n }\n\n get numGeometries(): number {\n return this._numGeometries;\n }\n\n containsPolygonGeometry(): boolean {\n return this._geometryType === GEOMETRY_TYPE.POLYGON || this._geometryType === GEOMETRY_TYPE.MULTIPOLYGON;\n }\n\n containsSingleGeometryType(): boolean {\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"constGeometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/constGeometryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,UAAU,yBAAyB,CACrC,aAAqB,EACrB,YAAoB,EACpB,cAA8B,EAC9B,aAAsC,EACtC,YAAsC;IAEtC,OAAO,IAAI,mBAAmB,CAC1B,aAAa,EACb,YAAY,EACZ,gBAAgB,CAAC,KAAK,EACtB,cAAc,EACd,aAAa,EACb,YAAY,CACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sCAAsC,CAClD,aAAqB,EACrB,YAAoB,EACpB,cAA8B,EAC9B,aAAsC,EACtC,YAAsC,EACtC,UAA0B;IAE1B,OAAO,IAAI,mBAAmB,CAC1B,aAAa,EACb,YAAY,EACZ,gBAAgB,CAAC,MAAM,EACvB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,CACb,CAAC;AACN,CAAC;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACnD,YACqB,cAAsB,EACtB,aAAqB,EACtC,gBAAkC,EAClC,cAA8B,EAC9B,aAAsC,EACtC,YAAsC,EACtC,cAA+B;QAE/B,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QARpE,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;IAQ1C,CAAC;IAED,YAAY,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,uBAAuB;QACnB,OAAO,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,YAAY,CAAC;IAC7G,CAAC;IAED,0BAA0B;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["import { GeometryVector, type MortonSettings } from \"./geometryVector\";\nimport { GEOMETRY_TYPE } from \"./geometryType\";\nimport { VertexBufferType } from \"./vertexBufferType\";\nimport type { TopologyVector } from \"../../vector/geometry/topologyVector\";\n\nexport function createConstGeometryVector(\n numGeometries: number,\n geometryType: number,\n topologyVector: TopologyVector,\n vertexOffsets: Uint32Array | undefined,\n vertexBuffer: Int32Array | Uint32Array,\n): ConstGeometryVector {\n return new ConstGeometryVector(\n numGeometries,\n geometryType,\n VertexBufferType.VEC_2,\n topologyVector,\n vertexOffsets,\n vertexBuffer,\n );\n}\n\nexport function createMortonEncodedConstGeometryVector(\n numGeometries: number,\n geometryType: number,\n topologyVector: TopologyVector,\n vertexOffsets: Uint32Array | undefined,\n vertexBuffer: Int32Array | Uint32Array,\n mortonInfo: MortonSettings,\n): ConstGeometryVector {\n return new ConstGeometryVector(\n numGeometries,\n geometryType,\n VertexBufferType.MORTON,\n topologyVector,\n vertexOffsets,\n vertexBuffer,\n mortonInfo,\n );\n}\n\nexport class ConstGeometryVector extends GeometryVector {\n constructor(\n private readonly _numGeometries: number,\n private readonly _geometryType: number,\n vertexBufferType: VertexBufferType,\n topologyVector: TopologyVector,\n vertexOffsets: Uint32Array | undefined,\n vertexBuffer: Int32Array | Uint32Array,\n mortonSettings?: MortonSettings,\n ) {\n super(vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings);\n }\n\n geometryType(_index: number): number {\n return this._geometryType;\n }\n\n get numGeometries(): number {\n return this._numGeometries;\n }\n\n containsPolygonGeometry(): boolean {\n return this._geometryType === GEOMETRY_TYPE.POLYGON || this._geometryType === GEOMETRY_TYPE.MULTIPOLYGON;\n }\n\n containsSingleGeometryType(): boolean {\n return true;\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { GpuVector } from "./gpuVector";
2
- import type TopologyVector from "./topologyVector";
3
- export declare function createConstGpuVector(numGeometries: number, geometryType: number, triangleOffsets: Uint32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null): GpuVector;
2
+ import type { TopologyVector } from "./topologyVector";
3
+ export declare function createConstGpuVector(numGeometries: number, geometryType: number, triangleOffsets: Uint32Array, indexBuffer: Uint32Array, vertexBuffer: Int32Array | Uint32Array, topologyVector?: TopologyVector): GpuVector;
4
4
  export declare class ConstGpuVector extends GpuVector {
5
5
  private readonly _numGeometries;
6
6
  private readonly _geometryType;
7
- constructor(_numGeometries: number, _geometryType: number, triangleOffsets: Uint32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null);
8
- geometryType(index: number): number;
7
+ constructor(_numGeometries: number, _geometryType: number, triangleOffsets: Uint32Array, indexBuffer: Uint32Array, vertexBuffer: Int32Array | Uint32Array, topologyVector?: TopologyVector);
8
+ geometryType(_index: number): number;
9
9
  get numGeometries(): number;
10
10
  containsSingleGeometryType(): boolean;
11
11
  }
@@ -4,14 +4,12 @@ export function createConstGpuVector(numGeometries, geometryType, triangleOffset
4
4
  }
5
5
  //TODO: extend from GeometryVector -> make topology vector optional
6
6
  export class ConstGpuVector extends GpuVector {
7
- _numGeometries;
8
- _geometryType;
9
7
  constructor(_numGeometries, _geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector) {
10
8
  super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
11
9
  this._numGeometries = _numGeometries;
12
10
  this._geometryType = _geometryType;
13
11
  }
14
- geometryType(index) {
12
+ geometryType(_index) {
15
13
  return this._geometryType;
16
14
  }
17
15
  get numGeometries() {
@@ -1 +1 @@
1
- {"version":3,"file":"constGpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/constGpuVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,UAAU,oBAAoB,CAChC,aAAqB,EACrB,YAAoB,EACpB,eAA4B,EAC5B,WAAuB,EACvB,YAAwB,EACxB,cAAsC;IAEtC,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AACvH,CAAC;AAED,mEAAmE;AACnE,MAAM,OAAO,cAAe,SAAQ,SAAS;IAEpB;IACA;IAFrB,YACqB,cAAsB,EACtB,aAAqB,EACtC,eAA4B,EAC5B,WAAuB,EACvB,YAAwB,EACxB,cAAsC;QAEtC,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAPjD,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;IAO1C,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,0BAA0B;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["import { GpuVector } from \"./gpuVector\";\nimport type TopologyVector from \"./topologyVector\";\n\nexport function createConstGpuVector(\n numGeometries: number,\n geometryType: number,\n triangleOffsets: Uint32Array,\n indexBuffer: Int32Array,\n vertexBuffer: Int32Array,\n topologyVector?: TopologyVector | null,\n): GpuVector {\n return new ConstGpuVector(numGeometries, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n}\n\n//TODO: extend from GeometryVector -> make topology vector optional\nexport class ConstGpuVector extends GpuVector {\n constructor(\n private readonly _numGeometries: number,\n private readonly _geometryType: number,\n triangleOffsets: Uint32Array,\n indexBuffer: Int32Array,\n vertexBuffer: Int32Array,\n topologyVector?: TopologyVector | null,\n ) {\n super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n }\n\n geometryType(index: number): number {\n return this._geometryType;\n }\n\n get numGeometries(): number {\n return this._numGeometries;\n }\n\n containsSingleGeometryType(): boolean {\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"constGpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/constGpuVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,UAAU,oBAAoB,CAChC,aAAqB,EACrB,YAAoB,EACpB,eAA4B,EAC5B,WAAwB,EACxB,YAAsC,EACtC,cAA+B;IAE/B,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AACvH,CAAC;AAED,mEAAmE;AACnE,MAAM,OAAO,cAAe,SAAQ,SAAS;IACzC,YACqB,cAAsB,EACtB,aAAqB,EACtC,eAA4B,EAC5B,WAAwB,EACxB,YAAsC,EACtC,cAA+B;QAE/B,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAPjD,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;IAO1C,CAAC;IAED,YAAY,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,0BAA0B;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["import { GpuVector } from \"./gpuVector\";\nimport type { TopologyVector } from \"./topologyVector\";\n\nexport function createConstGpuVector(\n numGeometries: number,\n geometryType: number,\n triangleOffsets: Uint32Array,\n indexBuffer: Uint32Array,\n vertexBuffer: Int32Array | Uint32Array,\n topologyVector?: TopologyVector,\n): GpuVector {\n return new ConstGpuVector(numGeometries, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n}\n\n//TODO: extend from GeometryVector -> make topology vector optional\nexport class ConstGpuVector extends GpuVector {\n constructor(\n private readonly _numGeometries: number,\n private readonly _geometryType: number,\n triangleOffsets: Uint32Array,\n indexBuffer: Uint32Array,\n vertexBuffer: Int32Array | Uint32Array,\n topologyVector?: TopologyVector,\n ) {\n super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n }\n\n geometryType(_index: number): number {\n return this._geometryType;\n }\n\n get numGeometries(): number {\n return this._numGeometries;\n }\n\n containsSingleGeometryType(): boolean {\n return true;\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { GeometryVector, type MortonSettings } from "./geometryVector";
2
- import type TopologyVector from "../../vector/geometry/topologyVector";
3
2
  import { VertexBufferType } from "./vertexBufferType";
4
- export declare function createFlatGeometryVector(geometryTypes: Int32Array, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array): FlatGeometryVector;
5
- export declare function createFlatGeometryVectorMortonEncoded(geometryTypes: Int32Array, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonInfo: MortonSettings): FlatGeometryVector;
3
+ import type { TopologyVector } from "../../vector/geometry/topologyVector";
4
+ export declare function createFlatGeometryVector(geometryTypes: Uint32Array, topologyVector: TopologyVector, vertexOffsets: Uint32Array | undefined, vertexBuffer: Int32Array | Uint32Array): FlatGeometryVector;
5
+ export declare function createFlatGeometryVectorMortonEncoded(geometryTypes: Uint32Array, topologyVector: TopologyVector, vertexOffsets: Uint32Array | undefined, vertexBuffer: Int32Array | Uint32Array, mortonInfo: MortonSettings): FlatGeometryVector;
6
6
  export declare class FlatGeometryVector extends GeometryVector {
7
7
  private readonly _geometryTypes;
8
- constructor(vertexBufferType: VertexBufferType, _geometryTypes: Int32Array, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonSettings?: MortonSettings);
8
+ constructor(vertexBufferType: VertexBufferType, _geometryTypes: Uint32Array, topologyVector: TopologyVector, vertexOffsets: Uint32Array | undefined, vertexBuffer: Int32Array | Uint32Array, mortonSettings?: MortonSettings);
9
9
  geometryType(index: number): number;
10
10
  get numGeometries(): number;
11
11
  containsPolygonGeometry(): boolean;
@@ -5,14 +5,10 @@ export function createFlatGeometryVector(geometryTypes, topologyVector, vertexOf
5
5
  return new FlatGeometryVector(VertexBufferType.VEC_2, geometryTypes, topologyVector, vertexOffsets, vertexBuffer);
6
6
  }
7
7
  export function createFlatGeometryVectorMortonEncoded(geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo) {
8
- //TODO: refactor to use unsigned integers
9
8
  return new FlatGeometryVector(VertexBufferType.MORTON, geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
10
9
  }
11
10
  export class FlatGeometryVector extends GeometryVector {
12
- _geometryTypes;
13
- constructor(vertexBufferType,
14
- //TODO: refactor -> use UInt8Array
15
- _geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonSettings) {
11
+ constructor(vertexBufferType, _geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonSettings) {
16
12
  super(vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings);
17
13
  this._geometryTypes = _geometryTypes;
18
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flatGeometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGeometryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,wBAAwB,CACpC,aAAyB,EACzB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB;IAExB,OAAO,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,aAAyB,EACzB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,UAA0B;IAE1B,yCAAyC;IACzC,OAAO,IAAI,kBAAkB,CACzB,gBAAgB,CAAC,MAAM,EACvB,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,CACb,CAAC;AACN,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAI7B;IAHrB,YACI,gBAAkC;IAClC,kCAAkC;IACjB,cAA0B,EAC3C,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,cAA+B;QAE/B,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QANpE,mBAAc,GAAd,cAAc,CAAY;IAO/C,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,uBAAuB;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;gBACxG,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,0BAA0B;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ","sourcesContent":["import { GeometryVector, type MortonSettings } from \"./geometryVector\";\nimport type TopologyVector from \"../../vector/geometry/topologyVector\";\nimport { GEOMETRY_TYPE } from \"./geometryType\";\nimport { VertexBufferType } from \"./vertexBufferType\";\n\nexport function createFlatGeometryVector(\n geometryTypes: Int32Array,\n topologyVector: TopologyVector,\n vertexOffsets: Int32Array,\n vertexBuffer: Int32Array,\n): FlatGeometryVector {\n return new FlatGeometryVector(VertexBufferType.VEC_2, geometryTypes, topologyVector, vertexOffsets, vertexBuffer);\n}\n\nexport function createFlatGeometryVectorMortonEncoded(\n geometryTypes: Int32Array,\n topologyVector: TopologyVector,\n vertexOffsets: Int32Array,\n vertexBuffer: Int32Array,\n mortonInfo: MortonSettings,\n): FlatGeometryVector {\n //TODO: refactor to use unsigned integers\n return new FlatGeometryVector(\n VertexBufferType.MORTON,\n geometryTypes,\n topologyVector,\n vertexOffsets,\n vertexBuffer,\n mortonInfo,\n );\n}\n\nexport class FlatGeometryVector extends GeometryVector {\n constructor(\n vertexBufferType: VertexBufferType,\n //TODO: refactor -> use UInt8Array\n private readonly _geometryTypes: Int32Array,\n topologyVector: TopologyVector,\n vertexOffsets: Int32Array,\n vertexBuffer: Int32Array,\n mortonSettings?: MortonSettings,\n ) {\n super(vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings);\n }\n\n geometryType(index: number): number {\n return this._geometryTypes[index];\n }\n\n get numGeometries(): number {\n return this._geometryTypes.length;\n }\n\n containsPolygonGeometry(): boolean {\n for (let i = 0; i < this.numGeometries; i++) {\n if (this.geometryType(i) === GEOMETRY_TYPE.POLYGON || this.geometryType(i) === GEOMETRY_TYPE.MULTIPOLYGON) {\n return true;\n }\n }\n return false;\n }\n\n containsSingleGeometryType(): boolean {\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"flatGeometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGeometryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,UAAU,wBAAwB,CACpC,aAA0B,EAC1B,cAA8B,EAC9B,aAAsC,EACtC,YAAsC;IAEtC,OAAO,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,aAA0B,EAC1B,cAA8B,EAC9B,aAAsC,EACtC,YAAsC,EACtC,UAA0B;IAE1B,OAAO,IAAI,kBAAkB,CACzB,gBAAgB,CAAC,MAAM,EACvB,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,CACb,CAAC;AACN,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAClD,YACI,gBAAkC,EACjB,cAA2B,EAC5C,cAA8B,EAC9B,aAAsC,EACtC,YAAsC,EACtC,cAA+B;QAE/B,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QANpE,mBAAc,GAAd,cAAc,CAAa;IAOhD,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,uBAAuB;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;gBACxG,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,0BAA0B;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ","sourcesContent":["import { GeometryVector, type MortonSettings } from \"./geometryVector\";\nimport { GEOMETRY_TYPE } from \"./geometryType\";\nimport { VertexBufferType } from \"./vertexBufferType\";\nimport type { TopologyVector } from \"../../vector/geometry/topologyVector\";\n\nexport function createFlatGeometryVector(\n geometryTypes: Uint32Array,\n topologyVector: TopologyVector,\n vertexOffsets: Uint32Array | undefined,\n vertexBuffer: Int32Array | Uint32Array,\n): FlatGeometryVector {\n return new FlatGeometryVector(VertexBufferType.VEC_2, geometryTypes, topologyVector, vertexOffsets, vertexBuffer);\n}\n\nexport function createFlatGeometryVectorMortonEncoded(\n geometryTypes: Uint32Array,\n topologyVector: TopologyVector,\n vertexOffsets: Uint32Array | undefined,\n vertexBuffer: Int32Array | Uint32Array,\n mortonInfo: MortonSettings,\n): FlatGeometryVector {\n return new FlatGeometryVector(\n VertexBufferType.MORTON,\n geometryTypes,\n topologyVector,\n vertexOffsets,\n vertexBuffer,\n mortonInfo,\n );\n}\n\nexport class FlatGeometryVector extends GeometryVector {\n constructor(\n vertexBufferType: VertexBufferType,\n private readonly _geometryTypes: Uint32Array,\n topologyVector: TopologyVector,\n vertexOffsets: Uint32Array | undefined,\n vertexBuffer: Int32Array | Uint32Array,\n mortonSettings?: MortonSettings,\n ) {\n super(vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings);\n }\n\n geometryType(index: number): number {\n return this._geometryTypes[index];\n }\n\n get numGeometries(): number {\n return this._geometryTypes.length;\n }\n\n containsPolygonGeometry(): boolean {\n for (let i = 0; i < this.numGeometries; i++) {\n if (this.geometryType(i) === GEOMETRY_TYPE.POLYGON || this.geometryType(i) === GEOMETRY_TYPE.MULTIPOLYGON) {\n return true;\n }\n }\n return false;\n }\n\n containsSingleGeometryType(): boolean {\n return false;\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { GpuVector } from "./gpuVector";
2
- import type TopologyVector from "./topologyVector";
3
- export declare function createFlatGpuVector(geometryTypes: Int32Array, triangleOffsets: Uint32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null): GpuVector;
2
+ import type { TopologyVector } from "./topologyVector";
3
+ export declare function createFlatGpuVector(geometryTypes: Uint32Array, triangleOffsets: Uint32Array, indexBuffer: Uint32Array, vertexBuffer: Int32Array | Uint32Array, topologyVector?: TopologyVector): GpuVector;
4
4
  export declare class FlatGpuVector extends GpuVector {
5
5
  private readonly _geometryTypes;
6
- constructor(_geometryTypes: Int32Array, triangleOffsets: Uint32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector: TopologyVector | null);
6
+ constructor(_geometryTypes: Uint32Array, triangleOffsets: Uint32Array, indexBuffer: Uint32Array, vertexBuffer: Int32Array | Uint32Array, topologyVector?: TopologyVector);
7
7
  geometryType(index: number): number;
8
8
  get numGeometries(): number;
9
9
  containsSingleGeometryType(): boolean;
@@ -4,7 +4,6 @@ export function createFlatGpuVector(geometryTypes, triangleOffsets, indexBuffer,
4
4
  }
5
5
  //TODO: extend from GeometryVector -> make topology vector optional
6
6
  export class FlatGpuVector extends GpuVector {
7
- _geometryTypes;
8
7
  constructor(_geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector) {
9
8
  super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
10
9
  this._geometryTypes = _geometryTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"flatGpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGpuVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,UAAU,mBAAmB,CAC/B,aAAyB,EACzB,eAA4B,EAC5B,WAAuB,EACvB,YAAwB,EACxB,cAAsC;IAEtC,OAAO,IAAI,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AACxG,CAAC;AAED,mEAAmE;AACnE,MAAM,OAAO,aAAc,SAAQ,SAAS;IAEnB;IADrB,YACqB,cAA0B,EAC3C,eAA4B,EAC5B,WAAuB,EACvB,YAAwB,EACxB,cAAqC;QAErC,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QANjD,mBAAc,GAAd,cAAc,CAAY;IAO/C,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,0BAA0B;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ","sourcesContent":["import { GpuVector } from \"./gpuVector\";\nimport type TopologyVector from \"./topologyVector\";\n\nexport function createFlatGpuVector(\n geometryTypes: Int32Array,\n triangleOffsets: Uint32Array,\n indexBuffer: Int32Array,\n vertexBuffer: Int32Array,\n topologyVector?: TopologyVector | null,\n): GpuVector {\n return new FlatGpuVector(geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n}\n\n//TODO: extend from GeometryVector -> make topology vector optional\nexport class FlatGpuVector extends GpuVector {\n constructor(\n private readonly _geometryTypes: Int32Array,\n triangleOffsets: Uint32Array,\n indexBuffer: Int32Array,\n vertexBuffer: Int32Array,\n topologyVector: TopologyVector | null,\n ) {\n super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n }\n\n geometryType(index: number): number {\n return this._geometryTypes[index];\n }\n\n get numGeometries(): number {\n return this._geometryTypes.length;\n }\n\n containsSingleGeometryType(): boolean {\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"flatGpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGpuVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,UAAU,mBAAmB,CAC/B,aAA0B,EAC1B,eAA4B,EAC5B,WAAwB,EACxB,YAAsC,EACtC,cAA+B;IAE/B,OAAO,IAAI,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AACxG,CAAC;AAED,mEAAmE;AACnE,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC,YACqB,cAA2B,EAC5C,eAA4B,EAC5B,WAAwB,EACxB,YAAsC,EACtC,cAA+B;QAE/B,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QANjD,mBAAc,GAAd,cAAc,CAAa;IAOhD,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,0BAA0B;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ","sourcesContent":["import { GpuVector } from \"./gpuVector\";\nimport type { TopologyVector } from \"./topologyVector\";\n\nexport function createFlatGpuVector(\n geometryTypes: Uint32Array,\n triangleOffsets: Uint32Array,\n indexBuffer: Uint32Array,\n vertexBuffer: Int32Array | Uint32Array,\n topologyVector?: TopologyVector,\n): GpuVector {\n return new FlatGpuVector(geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n}\n\n//TODO: extend from GeometryVector -> make topology vector optional\nexport class FlatGpuVector extends GpuVector {\n constructor(\n private readonly _geometryTypes: Uint32Array,\n triangleOffsets: Uint32Array,\n indexBuffer: Uint32Array,\n vertexBuffer: Int32Array | Uint32Array,\n topologyVector?: TopologyVector,\n ) {\n super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);\n }\n\n geometryType(index: number): number {\n return this._geometryTypes[index];\n }\n\n get numGeometries(): number {\n return this._geometryTypes.length;\n }\n\n containsSingleGeometryType(): boolean {\n return false;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"geometryType.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,mDAAK,CAAA;IACL,6DAAU,CAAA;IACV,uDAAO,CAAA;IACP,6DAAU,CAAA;IACV,uEAAe,CAAA;IACf,iEAAY,CAAA;AAChB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,2EAAK,CAAA;IACL,qFAAU,CAAA;IACV,+EAAO,CAAA;AACX,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,QAIpC","sourcesContent":["export enum GEOMETRY_TYPE {\n POINT,\n LINESTRING,\n POLYGON,\n MULTIPOINT,\n MULTILINESTRING,\n MULTIPOLYGON,\n}\n\nexport enum SINGLE_PART_GEOMETRY_TYPE {\n POINT,\n LINESTRING,\n POLYGON,\n}\n"]}
1
+ {"version":3,"file":"geometryType.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,mDAAS,CAAA;IACT,6DAAc,CAAA;IACd,uDAAW,CAAA;IACX,6DAAc,CAAA;IACd,uEAAmB,CAAA;IACnB,iEAAgB,CAAA;AACpB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,2EAAS,CAAA;IACT,qFAAc,CAAA;IACd,+EAAW,CAAA;AACf,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,QAIpC","sourcesContent":["export enum GEOMETRY_TYPE {\n POINT = 0,\n LINESTRING = 1,\n POLYGON = 2,\n MULTIPOINT = 3,\n MULTILINESTRING = 4,\n MULTIPOLYGON = 5,\n}\n\nexport enum SINGLE_PART_GEOMETRY_TYPE {\n POINT = 0,\n LINESTRING = 1,\n POLYGON = 2,\n}\n"]}
@@ -1,7 +1,7 @@
1
- import type TopologyVector from "../../vector/geometry/topologyVector";
2
- import { type GEOMETRY_TYPE } from "./geometryType";
3
- import { type VertexBufferType } from "./vertexBufferType";
4
1
  import type Point from "@mapbox/point-geometry";
2
+ import type { GEOMETRY_TYPE } from "./geometryType";
3
+ import type { VertexBufferType } from "./vertexBufferType";
4
+ import type { TopologyVector } from "../../vector/geometry/topologyVector";
5
5
  export type CoordinatesArray = Array<Array<Point>>;
6
6
  export type Geometry = {
7
7
  coordinates: CoordinatesArray;
@@ -11,18 +11,17 @@ export interface MortonSettings {
11
11
  numBits: number;
12
12
  coordinateShift: number;
13
13
  }
14
- export declare abstract class GeometryVector implements Iterable<Geometry> {
14
+ export declare abstract class GeometryVector {
15
15
  private readonly _vertexBufferType;
16
16
  private readonly _topologyVector;
17
17
  private readonly _vertexOffsets;
18
18
  private readonly _vertexBuffer;
19
19
  private readonly _mortonSettings?;
20
- protected constructor(_vertexBufferType: VertexBufferType, _topologyVector: TopologyVector, _vertexOffsets: Int32Array, _vertexBuffer: Int32Array, _mortonSettings?: MortonSettings);
20
+ protected constructor(_vertexBufferType: VertexBufferType, _topologyVector: TopologyVector, _vertexOffsets: Uint32Array | undefined, _vertexBuffer: Int32Array | Uint32Array, _mortonSettings?: MortonSettings);
21
21
  get vertexBufferType(): VertexBufferType;
22
22
  get topologyVector(): TopologyVector;
23
- get vertexOffsets(): Int32Array;
24
- get vertexBuffer(): Int32Array;
25
- [Symbol.iterator](): Iterator<Geometry>;
23
+ get vertexOffsets(): Uint32Array | undefined;
24
+ get vertexBuffer(): Int32Array | Uint32Array;
26
25
  getSimpleEncodedVertex(index: number): [number, number];
27
26
  getVertex(index: number): [number, number];
28
27
  getGeometries(): CoordinatesArray[];
@@ -1,11 +1,6 @@
1
1
  import { convertGeometryVector } from "./geometryVectorConverter";
2
2
  import { decodeZOrderCurve } from "./zOrderCurve";
3
3
  export class GeometryVector {
4
- _vertexBufferType;
5
- _topologyVector;
6
- _vertexOffsets;
7
- _vertexBuffer;
8
- _mortonSettings;
9
4
  constructor(_vertexBufferType, _topologyVector, _vertexOffsets, _vertexBuffer, _mortonSettings) {
10
5
  this._vertexBufferType = _vertexBufferType;
11
6
  this._topologyVector = _topologyVector;
@@ -25,14 +20,6 @@ export class GeometryVector {
25
20
  get vertexBuffer() {
26
21
  return this._vertexBuffer;
27
22
  }
28
- *[Symbol.iterator]() {
29
- const geometries = convertGeometryVector(this);
30
- let index = 0;
31
- while (index < this.numGeometries) {
32
- yield { coordinates: geometries[index], type: this.geometryType(index) };
33
- index++;
34
- }
35
- }
36
23
  /* Allows faster access to the vertices since morton encoding is currently not used in the POC. Morton encoding
37
24
  will be used after adapting the shader to decode the morton codes on the GPU. */
38
25
  getSimpleEncodedVertex(index) {
@@ -1 +1 @@
1
- {"version":3,"file":"geometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAiBlD,MAAM,OAAgB,cAAc;IAEX;IACA;IACA;IACA;IACA;IALrB,YACqB,iBAAmC,EACnC,eAA+B,EAC/B,cAA0B,EAC1B,aAAyB,EACzB,eAAgC;QAJhC,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,mBAAc,GAAd,cAAc,CAAY;QAC1B,kBAAa,GAAb,aAAa,CAAY;QACzB,oBAAe,GAAf,eAAe,CAAiB;IAClD,CAAC;IAEJ,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACd,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;IAED;uFACmF;IACnF,sBAAsB,CAAC,KAAa;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,SAAS,CAAC,KAAa;QACnB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,yEAAyE;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5D,sFAAsF;YACtF,MAAM,MAAM,GAAG,iBAAiB,CAC5B,mBAAmB,EACnB,IAAI,CAAC,cAAc,CAAC,OAAO,EAC3B,IAAI,CAAC,cAAc,CAAC,eAAe,CACtC,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,aAAa;QACT,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CASJ","sourcesContent":["import type TopologyVector from \"../../vector/geometry/topologyVector\";\nimport { convertGeometryVector } from \"./geometryVectorConverter\";\nimport { decodeZOrderCurve } from \"./zOrderCurve\";\nimport { type GEOMETRY_TYPE } from \"./geometryType\";\nimport { type VertexBufferType } from \"./vertexBufferType\";\nimport type Point from \"@mapbox/point-geometry\";\n\nexport type CoordinatesArray = Array<Array<Point>>;\n\nexport type Geometry = {\n coordinates: CoordinatesArray;\n type: GEOMETRY_TYPE;\n};\n\nexport interface MortonSettings {\n numBits: number;\n coordinateShift: number;\n}\n\nexport abstract class GeometryVector implements Iterable<Geometry> {\n protected constructor(\n private readonly _vertexBufferType: VertexBufferType,\n private readonly _topologyVector: TopologyVector,\n private readonly _vertexOffsets: Int32Array,\n private readonly _vertexBuffer: Int32Array,\n private readonly _mortonSettings?: MortonSettings,\n ) {}\n\n get vertexBufferType(): VertexBufferType {\n return this._vertexBufferType;\n }\n\n get topologyVector(): TopologyVector {\n return this._topologyVector;\n }\n\n get vertexOffsets(): Int32Array {\n return this._vertexOffsets;\n }\n\n get vertexBuffer(): Int32Array {\n return this._vertexBuffer;\n }\n *[Symbol.iterator](): Iterator<Geometry> {\n const geometries = convertGeometryVector(this);\n let index = 0;\n\n while (index < this.numGeometries) {\n yield { coordinates: geometries[index], type: this.geometryType(index) };\n index++;\n }\n }\n\n /* Allows faster access to the vertices since morton encoding is currently not used in the POC. Morton encoding\n will be used after adapting the shader to decode the morton codes on the GPU. */\n getSimpleEncodedVertex(index: number): [number, number] {\n const offset = this.vertexOffsets ? this.vertexOffsets[index] * 2 : index * 2;\n const x = this.vertexBuffer[offset];\n const y = this.vertexBuffer[offset + 1];\n return [x, y];\n }\n\n //TODO: add scaling information to the constructor\n getVertex(index: number): [number, number] {\n if (this.vertexOffsets && this.mortonSettings) {\n //TODO: move decoding of the morton codes on the GPU in the vertex shader\n const vertexOffset = this.vertexOffsets[index];\n const mortonEncodedVertex = this.vertexBuffer[vertexOffset];\n //TODO: improve performance -> inline calculation and move to decoding of VertexBuffer\n const vertex = decodeZOrderCurve(\n mortonEncodedVertex,\n this.mortonSettings.numBits,\n this.mortonSettings.coordinateShift,\n );\n return [vertex.x, vertex.y];\n }\n\n const offset = this.vertexOffsets ? this.vertexOffsets[index] * 2 : index * 2;\n const x = this.vertexBuffer[offset];\n const y = this.vertexBuffer[offset + 1];\n return [x, y];\n }\n\n getGeometries(): CoordinatesArray[] {\n return convertGeometryVector(this);\n }\n\n get mortonSettings(): MortonSettings | undefined {\n return this._mortonSettings;\n }\n\n abstract containsPolygonGeometry(): boolean;\n\n abstract geometryType(index: number): number;\n\n abstract get numGeometries(): number;\n\n abstract containsSingleGeometryType(): boolean;\n}\n"]}
1
+ {"version":3,"file":"geometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAkBlD,MAAM,OAAgB,cAAc;IAChC,YACqB,iBAAmC,EACnC,eAA+B,EAC/B,cAAuC,EACvC,aAAuC,EACvC,eAAgC;QAJhC,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,mBAAc,GAAd,cAAc,CAAyB;QACvC,kBAAa,GAAb,aAAa,CAA0B;QACvC,oBAAe,GAAf,eAAe,CAAiB;IAClD,CAAC;IAEJ,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;uFACmF;IACnF,sBAAsB,CAAC,KAAa;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,SAAS,CAAC,KAAa;QACnB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,yEAAyE;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5D,sFAAsF;YACtF,MAAM,MAAM,GAAG,iBAAiB,CAC5B,mBAAmB,EACnB,IAAI,CAAC,cAAc,CAAC,OAAO,EAC3B,IAAI,CAAC,cAAc,CAAC,eAAe,CACtC,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,aAAa;QACT,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CASJ","sourcesContent":["import { convertGeometryVector } from \"./geometryVectorConverter\";\nimport { decodeZOrderCurve } from \"./zOrderCurve\";\nimport type Point from \"@mapbox/point-geometry\";\nimport type { GEOMETRY_TYPE } from \"./geometryType\";\nimport type { VertexBufferType } from \"./vertexBufferType\";\nimport type { TopologyVector } from \"../../vector/geometry/topologyVector\";\n\nexport type CoordinatesArray = Array<Array<Point>>;\n\nexport type Geometry = {\n coordinates: CoordinatesArray;\n type: GEOMETRY_TYPE;\n};\n\nexport interface MortonSettings {\n numBits: number;\n coordinateShift: number;\n}\n\nexport abstract class GeometryVector {\n protected constructor(\n private readonly _vertexBufferType: VertexBufferType,\n private readonly _topologyVector: TopologyVector,\n private readonly _vertexOffsets: Uint32Array | undefined,\n private readonly _vertexBuffer: Int32Array | Uint32Array,\n private readonly _mortonSettings?: MortonSettings,\n ) {}\n\n get vertexBufferType(): VertexBufferType {\n return this._vertexBufferType;\n }\n\n get topologyVector(): TopologyVector {\n return this._topologyVector;\n }\n\n get vertexOffsets(): Uint32Array | undefined {\n return this._vertexOffsets;\n }\n\n get vertexBuffer(): Int32Array | Uint32Array {\n return this._vertexBuffer;\n }\n\n /* Allows faster access to the vertices since morton encoding is currently not used in the POC. Morton encoding\n will be used after adapting the shader to decode the morton codes on the GPU. */\n getSimpleEncodedVertex(index: number): [number, number] {\n const offset = this.vertexOffsets ? this.vertexOffsets[index] * 2 : index * 2;\n const x = this.vertexBuffer[offset];\n const y = this.vertexBuffer[offset + 1];\n return [x, y];\n }\n\n //TODO: add scaling information to the constructor\n getVertex(index: number): [number, number] {\n if (this.vertexOffsets && this.mortonSettings) {\n //TODO: move decoding of the morton codes on the GPU in the vertex shader\n const vertexOffset = this.vertexOffsets[index];\n const mortonEncodedVertex = this.vertexBuffer[vertexOffset];\n //TODO: improve performance -> inline calculation and move to decoding of VertexBuffer\n const vertex = decodeZOrderCurve(\n mortonEncodedVertex,\n this.mortonSettings.numBits,\n this.mortonSettings.coordinateShift,\n );\n return [vertex.x, vertex.y];\n }\n\n const offset = this.vertexOffsets ? this.vertexOffsets[index] * 2 : index * 2;\n const x = this.vertexBuffer[offset];\n const y = this.vertexBuffer[offset + 1];\n return [x, y];\n }\n\n getGeometries(): CoordinatesArray[] {\n return convertGeometryVector(this);\n }\n\n get mortonSettings(): MortonSettings | undefined {\n return this._mortonSettings;\n }\n\n abstract containsPolygonGeometry(): boolean;\n\n abstract geometryType(index: number): number;\n\n abstract get numGeometries(): number;\n\n abstract containsSingleGeometryType(): boolean;\n}\n"]}
@@ -1,2 +1,2 @@
1
- import { type GeometryVector, type CoordinatesArray } from "./geometryVector";
1
+ import type { GeometryVector, CoordinatesArray } from "./geometryVector";
2
2
  export declare function convertGeometryVector(geometryVector: GeometryVector): CoordinatesArray[];