@maplibre/mlt 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/LICENSE.txt +231 -0
  2. package/dist/decoding/decodingUtils.js.map +1 -1
  3. package/dist/decoding/decodingUtils.spec.js +2 -2
  4. package/dist/decoding/decodingUtils.spec.js.map +1 -1
  5. package/dist/decoding/fsstDecoder.js.map +1 -1
  6. package/dist/decoding/fsstDecoder.spec.js +14 -10
  7. package/dist/decoding/fsstDecoder.spec.js.map +1 -1
  8. package/dist/decoding/geometryDecoder.js +32 -192
  9. package/dist/decoding/geometryDecoder.js.map +1 -1
  10. package/dist/decoding/geometryDecoder.spec.js.map +1 -1
  11. package/dist/decoding/geometryScaling.js.map +1 -1
  12. package/dist/decoding/intWrapper.js.map +1 -1
  13. package/dist/decoding/integerDecodingUtils.js.map +1 -1
  14. package/dist/decoding/integerDecodingUtils.spec.js.map +1 -1
  15. package/dist/decoding/integerStreamDecoder.d.ts +12 -21
  16. package/dist/decoding/integerStreamDecoder.js +234 -237
  17. package/dist/decoding/integerStreamDecoder.js.map +1 -1
  18. package/dist/decoding/integerStreamDecoder.spec.js +55 -35
  19. package/dist/decoding/integerStreamDecoder.spec.js.map +1 -1
  20. package/dist/decoding/propertyDecoder.js +11 -11
  21. package/dist/decoding/propertyDecoder.js.map +1 -1
  22. package/dist/decoding/propertyDecoder.spec.js +157 -197
  23. package/dist/decoding/propertyDecoder.spec.js.map +1 -1
  24. package/dist/decoding/stringDecoder.js +14 -13
  25. package/dist/decoding/stringDecoder.js.map +1 -1
  26. package/dist/decoding/stringDecoder.spec.js +56 -57
  27. package/dist/decoding/stringDecoder.spec.js.map +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/metadata/tile/dictionaryType.js.map +1 -1
  30. package/dist/metadata/tile/lengthType.js.map +1 -1
  31. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
  32. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  33. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
  34. package/dist/metadata/tile/offsetType.js.map +1 -1
  35. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  36. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  37. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
  38. package/dist/metadata/tile/scalarType.js.map +1 -1
  39. package/dist/metadata/tile/streamMetadata.js.map +1 -1
  40. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  41. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  42. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -1
  43. package/dist/metadata/tileset/typeMap.js.map +1 -1
  44. package/dist/mltDecoder.js +9 -9
  45. package/dist/mltDecoder.js.map +1 -1
  46. package/dist/mltDecoder.spec.js.map +1 -1
  47. package/dist/mltMetadata.js.map +1 -1
  48. package/dist/vector/constant/intConstVector.js.map +1 -1
  49. package/dist/vector/constant/longConstVector.js.map +1 -1
  50. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  51. package/dist/vector/featureTable.js.map +1 -1
  52. package/dist/vector/filter/flatSelectionVector.d.ts +27 -0
  53. package/dist/vector/filter/flatSelectionVector.js +54 -0
  54. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  55. package/dist/vector/filter/flatSelectionVector.spec.d.ts +1 -0
  56. package/dist/vector/filter/flatSelectionVector.spec.js +51 -0
  57. package/dist/vector/filter/flatSelectionVector.spec.js.map +1 -0
  58. package/dist/vector/filter/selectionVector.d.ts +8 -0
  59. package/dist/vector/filter/selectionVector.js +2 -0
  60. package/dist/vector/filter/selectionVector.js.map +1 -0
  61. package/dist/vector/filter/selectionVectorUtil.spec.d.ts +1 -0
  62. package/dist/vector/filter/selectionVectorUtil.spec.js +154 -0
  63. package/dist/vector/filter/selectionVectorUtil.spec.js.map +1 -0
  64. package/dist/vector/filter/selectionVectorUtils.d.ts +16 -0
  65. package/dist/vector/filter/selectionVectorUtils.js +37 -0
  66. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  67. package/dist/vector/filter/sequenceSelectionVector.d.ts +26 -0
  68. package/dist/vector/filter/sequenceSelectionVector.js +67 -0
  69. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  70. package/dist/vector/filter/sequenceSelectionVector.spec.d.ts +1 -0
  71. package/dist/vector/filter/sequenceSelectionVector.spec.js +115 -0
  72. package/dist/vector/filter/sequenceSelectionVector.spec.js.map +1 -0
  73. package/dist/vector/fixedSizeVector.js.map +1 -1
  74. package/dist/vector/flat/bitVector.js.map +1 -1
  75. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  76. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  77. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  78. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -1
  79. package/dist/vector/flat/intFlatVector.js.map +1 -1
  80. package/dist/vector/flat/intFlatVector.spec.js.map +1 -1
  81. package/dist/vector/flat/longFlatVector.js.map +1 -1
  82. package/dist/vector/flat/longFlatVector.spec.js.map +1 -1
  83. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  84. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  85. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -1
  86. package/dist/vector/geometry/constGeometryVector.d.ts +2 -2
  87. package/dist/vector/geometry/constGeometryVector.js +6 -6
  88. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  89. package/dist/vector/geometry/constGpuVector.d.ts +1 -1
  90. package/dist/vector/geometry/constGpuVector.js +3 -24
  91. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  92. package/dist/vector/geometry/flatGeometryVector.d.ts +2 -2
  93. package/dist/vector/geometry/flatGeometryVector.js +7 -7
  94. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  95. package/dist/vector/geometry/flatGpuVector.d.ts +1 -1
  96. package/dist/vector/geometry/flatGpuVector.js +3 -22
  97. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  98. package/dist/vector/geometry/geometryType.js.map +1 -1
  99. package/dist/vector/geometry/geometryVector.js.map +1 -1
  100. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  101. package/dist/vector/geometry/gpuVector.js.map +1 -1
  102. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
  103. package/dist/vector/geometry/topologyVector.js.map +1 -1
  104. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  105. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  106. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -1
  107. package/dist/vector/intVector.js.map +1 -1
  108. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  109. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  110. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -1
  111. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  112. package/dist/vector/variableSizeVector.js.map +1 -1
  113. package/dist/vector/vector.js.map +1 -1
  114. package/dist/vector/vectorType.js.map +1 -1
  115. package/package.json +5 -5
@@ -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,YAAwB,EACxB,gBAA4B,EACX,kBAA8B,EAC9B,iBAA6B,EAC9C,iBAA4B;QAE5B,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAP9C,gBAAW,GAAX,WAAW,CAAY;QAGvB,uBAAkB,GAAlB,kBAAkB,CAAY;QAC9B,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,YAAwB;QACjD,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"}
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,YAAwB,EACxB,gBAA4B,EACX,kBAA8B,EAC9B,iBAA6B,EAC9C,iBAA4B;QAE5B,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAP9C,gBAAW,GAAX,WAAW,CAAY;QAGvB,uBAAkB,GAAlB,kBAAkB,CAAY;QAC9B,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,YAAwB;QACjD,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: Int32Array,\n dictionaryBuffer: Uint8Array,\n private readonly symbolOffsetBuffer: Int32Array,\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: Int32Array): 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 +1 @@
1
- {"version":3,"file":"stringFsstDictionaryVector.spec.js","sourceRoot":"","sources":["../../../src/vector/fsst-dictionary/stringFsstDictionaryVector.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,IAAI,WAAuB,CAAC;IAC5B,IAAI,YAAwB,CAAC;IAC7B,IAAI,gBAA4B,CAAC;IACjC,IAAI,kBAA8B,CAAC;IACnC,IAAI,iBAA6B,CAAC;IAClC,IAAI,iBAA4B,CAAC;IAEjC,UAAU,CAAC,GAAG,EAAE;QACZ,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1C,gBAAgB,GAAG,IAAI,UAAU,CAAC;QAC9B,eAAe;SAClB,CAAC,CAAC;QACH,kBAAkB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,iBAAiB,GAAG,IAAI,UAAU,CAAC;QAC/B,eAAe;SAClB,CAAC,CAAC;QACH,iBAAiB,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,0BAA0B,CACzC,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,CACpB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"stringFsstDictionaryVector.spec.js","sourceRoot":"","sources":["../../../src/vector/fsst-dictionary/stringFsstDictionaryVector.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,IAAI,WAAuB,CAAC;IAC5B,IAAI,YAAwB,CAAC;IAC7B,IAAI,gBAA4B,CAAC;IACjC,IAAI,kBAA8B,CAAC;IACnC,IAAI,iBAA6B,CAAC;IAClC,IAAI,iBAA4B,CAAC;IAEjC,UAAU,CAAC,GAAG,EAAE;QACZ,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1C,gBAAgB,GAAG,IAAI,UAAU,CAAC;QAC9B,eAAe;SAClB,CAAC,CAAC;QACH,kBAAkB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,iBAAiB,GAAG,IAAI,UAAU,CAAC;QAC/B,eAAe;SAClB,CAAC,CAAC;QACH,iBAAiB,GAAG,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,0BAA0B,CACzC,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,CACpB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect, beforeEach } from \"vitest\";\nimport BitVector from \"../flat/bitVector\";\nimport { StringFsstDictionaryVector } from \"./stringFsstDictionaryVector\";\n\ndescribe(\"StringFsstDictionaryVector\", () => {\n let indexBuffer: Int32Array;\n let offsetBuffer: Int32Array;\n let dictionaryBuffer: Uint8Array;\n let symbolOffsetBuffer: Int32Array;\n let symbolTableBuffer: Uint8Array;\n let nullabilityBuffer: BitVector;\n\n beforeEach(() => {\n indexBuffer = new Int32Array([0, 1, 2]);\n offsetBuffer = new Int32Array([0, 5, 10]);\n dictionaryBuffer = new Uint8Array([\n /* mock data */\n ]);\n symbolOffsetBuffer = new Int32Array([0, 3, 6]);\n symbolTableBuffer = new Uint8Array([\n /* mock data */\n ]);\n nullabilityBuffer = new BitVector(new Uint8Array([0b00000001]), 2);\n });\n\n it(\"should create an instance of StringFsstDictionaryVector\", () => {\n const vector = new StringFsstDictionaryVector(\n \"testVector\",\n indexBuffer,\n offsetBuffer,\n dictionaryBuffer,\n symbolOffsetBuffer,\n symbolTableBuffer,\n nullabilityBuffer,\n );\n expect(vector).toBeInstanceOf(StringFsstDictionaryVector);\n });\n});\n"]}
@@ -1,12 +1,12 @@
1
1
  import { GeometryVector, type MortonSettings } from "./geometryVector";
2
2
  import type TopologyVector from "../../vector/geometry/topologyVector";
3
3
  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;
4
6
  export declare class ConstGeometryVector extends GeometryVector {
5
7
  private readonly _numGeometries;
6
8
  private readonly _geometryType;
7
9
  constructor(_numGeometries: number, _geometryType: number, vertexBufferType: VertexBufferType, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonSettings?: MortonSettings);
8
- static createMortonEncoded(numGeometries: number, geometryType: number, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonInfo: MortonSettings): ConstGeometryVector;
9
- static create(numGeometries: number, geometryType: number, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array): ConstGeometryVector;
10
10
  geometryType(index: number): number;
11
11
  get numGeometries(): number;
12
12
  containsPolygonGeometry(): boolean;
@@ -1,6 +1,12 @@
1
1
  import { GeometryVector } from "./geometryVector";
2
2
  import { GEOMETRY_TYPE } from "./geometryType";
3
3
  import { VertexBufferType } from "./vertexBufferType";
4
+ export function createConstGeometryVector(numGeometries, geometryType, topologyVector, vertexOffsets, vertexBuffer) {
5
+ return new ConstGeometryVector(numGeometries, geometryType, VertexBufferType.VEC_2, topologyVector, vertexOffsets, vertexBuffer);
6
+ }
7
+ export function createMortonEncodedConstGeometryVector(numGeometries, geometryType, topologyVector, vertexOffsets, vertexBuffer, mortonInfo) {
8
+ return new ConstGeometryVector(numGeometries, geometryType, VertexBufferType.MORTON, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
9
+ }
4
10
  export class ConstGeometryVector extends GeometryVector {
5
11
  _numGeometries;
6
12
  _geometryType;
@@ -9,12 +15,6 @@ export class ConstGeometryVector extends GeometryVector {
9
15
  this._numGeometries = _numGeometries;
10
16
  this._geometryType = _geometryType;
11
17
  }
12
- static createMortonEncoded(numGeometries, geometryType, topologyVector, vertexOffsets, vertexBuffer, mortonInfo) {
13
- return new ConstGeometryVector(numGeometries, geometryType, VertexBufferType.MORTON, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
14
- }
15
- static create(numGeometries, geometryType, topologyVector, vertexOffsets, vertexBuffer) {
16
- return new ConstGeometryVector(numGeometries, geometryType, VertexBufferType.VEC_2, topologyVector, vertexOffsets, vertexBuffer);
17
- }
18
18
  geometryType(index) {
19
19
  return this._geometryType;
20
20
  }
@@ -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,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,MAAM,CAAC,mBAAmB,CACtB,aAAqB,EACrB,YAAoB,EACpB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,UAA0B;QAE1B,OAAO,IAAI,mBAAmB,CAC1B,aAAa,EACb,YAAY,EACZ,gBAAgB,CAAC,MAAM,EACvB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,CACb,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM,CACT,aAAqB,EACrB,YAAoB,EACpB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB;QAExB,OAAO,IAAI,mBAAmB,CAC1B,aAAa,EACb,YAAY,EACZ,gBAAgB,CAAC,KAAK,EACtB,cAAc,EACd,aAAa,EACb,YAAY,CACf,CAAC;IACN,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"}
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,10 +1,10 @@
1
1
  import { GpuVector } from "./gpuVector";
2
2
  import type TopologyVector from "./topologyVector";
3
+ export declare function createConstGpuVector(numGeometries: number, geometryType: number, triangleOffsets: Int32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null): GpuVector;
3
4
  export declare class ConstGpuVector extends GpuVector {
4
5
  private readonly _numGeometries;
5
6
  private readonly _geometryType;
6
7
  constructor(_numGeometries: number, _geometryType: number, triangleOffsets: Int32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null);
7
- static create(numGeometries: number, geometryType: number, triangleOffsets: Int32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null): GpuVector;
8
8
  geometryType(index: number): number;
9
9
  get numGeometries(): number;
10
10
  containsSingleGeometryType(): boolean;
@@ -1,4 +1,7 @@
1
1
  import { GpuVector } from "./gpuVector";
2
+ export function createConstGpuVector(numGeometries, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector) {
3
+ return new ConstGpuVector(numGeometries, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
4
+ }
2
5
  //TODO: extend from GeometryVector -> make topology vector optional
3
6
  export class ConstGpuVector extends GpuVector {
4
7
  _numGeometries;
@@ -8,30 +11,6 @@ export class ConstGpuVector extends GpuVector {
8
11
  this._numGeometries = _numGeometries;
9
12
  this._geometryType = _geometryType;
10
13
  }
11
- static create(numGeometries, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector) {
12
- return new ConstGpuVector(numGeometries, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
13
- }
14
- /*static createMortonEncoded(
15
- numGeometries: number,
16
- geometryType: number,
17
- triangleOffsets: Int32Array,
18
- indexBuffer: Int32Array,
19
- vertexOffsets: Int32Array,
20
- vertexBuffer: Int32Array,
21
- mortonInfo: MortonSettings
22
- ): GpuVector {
23
- //TODO: refactor to use unsigned integers
24
- return new ConstGpuVector(
25
- numGeometries,
26
- geometryType,
27
- VertexBufferType.MORTON,
28
- triangleOffsets,
29
- indexBuffer,
30
- vertexOffsets,
31
- vertexBuffer,
32
- mortonInfo
33
- );
34
- }*/
35
14
  geometryType(index) {
36
15
  return this._geometryType;
37
16
  }
@@ -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,mEAAmE;AACnE,MAAM,OAAO,cAAe,SAAQ,SAAS;IAEpB;IACA;IAFrB,YACqB,cAAsB,EACtB,aAAqB,EACtC,eAA2B,EAC3B,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,MAAM,CAAC,MAAM,CACT,aAAqB,EACrB,YAAoB,EACpB,eAA2B,EAC3B,WAAuB,EACvB,YAAwB,EACxB,cAAsC;QAEtC,OAAO,IAAI,cAAc,CACrB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,cAAc,CACjB,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IAEH,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"}
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,eAA2B,EAC3B,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,eAA2B,EAC3B,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: Int32Array,\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: Int32Array,\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,11 +1,11 @@
1
1
  import { GeometryVector, type MortonSettings } from "./geometryVector";
2
2
  import type TopologyVector from "../../vector/geometry/topologyVector";
3
3
  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;
4
6
  export declare class FlatGeometryVector extends GeometryVector {
5
7
  private readonly _geometryTypes;
6
8
  constructor(vertexBufferType: VertexBufferType, _geometryTypes: Int32Array, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonSettings?: MortonSettings);
7
- static createMortonEncoded(geometryTypes: Int32Array, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array, mortonInfo: MortonSettings): FlatGeometryVector;
8
- static create(geometryTypes: Int32Array, topologyVector: TopologyVector, vertexOffsets: Int32Array, vertexBuffer: Int32Array): FlatGeometryVector;
9
9
  geometryType(index: number): number;
10
10
  get numGeometries(): number;
11
11
  containsPolygonGeometry(): boolean;
@@ -1,6 +1,13 @@
1
1
  import { GeometryVector } from "./geometryVector";
2
2
  import { GEOMETRY_TYPE } from "./geometryType";
3
3
  import { VertexBufferType } from "./vertexBufferType";
4
+ export function createFlatGeometryVector(geometryTypes, topologyVector, vertexOffsets, vertexBuffer) {
5
+ return new FlatGeometryVector(VertexBufferType.VEC_2, geometryTypes, topologyVector, vertexOffsets, vertexBuffer);
6
+ }
7
+ export function createFlatGeometryVectorMortonEncoded(geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo) {
8
+ //TODO: refactor to use unsigned integers
9
+ return new FlatGeometryVector(VertexBufferType.MORTON, geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
10
+ }
4
11
  export class FlatGeometryVector extends GeometryVector {
5
12
  _geometryTypes;
6
13
  constructor(vertexBufferType,
@@ -9,13 +16,6 @@ export class FlatGeometryVector extends GeometryVector {
9
16
  super(vertexBufferType, topologyVector, vertexOffsets, vertexBuffer, mortonSettings);
10
17
  this._geometryTypes = _geometryTypes;
11
18
  }
12
- static createMortonEncoded(geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo) {
13
- //TODO: refactor to use unsigned integers
14
- return new FlatGeometryVector(VertexBufferType.MORTON, geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
15
- }
16
- static create(geometryTypes, topologyVector, vertexOffsets, vertexBuffer) {
17
- return new FlatGeometryVector(VertexBufferType.VEC_2, geometryTypes, topologyVector, vertexOffsets, vertexBuffer);
18
- }
19
19
  geometryType(index) {
20
20
  return this._geometryTypes[index];
21
21
  }
@@ -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,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,MAAM,CAAC,mBAAmB,CACtB,aAAyB,EACzB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,UAA0B;QAE1B,yCAAyC;QACzC,OAAO,IAAI,kBAAkB,CACzB,gBAAgB,CAAC,MAAM,EACvB,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,CACb,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,MAAM,CAChB,aAAyB,EACzB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB;QAExB,OAAO,IAAI,kBAAkB,CACzB,gBAAgB,CAAC,KAAK,EACtB,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,CACf,CAAC;IACN,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"}
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,9 +1,9 @@
1
1
  import { GpuVector } from "./gpuVector";
2
2
  import type TopologyVector from "./topologyVector";
3
+ export declare function createFlatGpuVector(geometryTypes: Int32Array, triangleOffsets: Int32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null): GpuVector;
3
4
  export declare class FlatGpuVector extends GpuVector {
4
5
  private readonly _geometryTypes;
5
6
  constructor(_geometryTypes: Int32Array, triangleOffsets: Int32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector: TopologyVector | null);
6
- static create(geometryTypes: Int32Array, triangleOffsets: Int32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null): GpuVector;
7
7
  geometryType(index: number): number;
8
8
  get numGeometries(): number;
9
9
  containsSingleGeometryType(): boolean;
@@ -1,4 +1,7 @@
1
1
  import { GpuVector } from "./gpuVector";
2
+ export function createFlatGpuVector(geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector) {
3
+ return new FlatGpuVector(geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
4
+ }
2
5
  //TODO: extend from GeometryVector -> make topology vector optional
3
6
  export class FlatGpuVector extends GpuVector {
4
7
  _geometryTypes;
@@ -6,28 +9,6 @@ export class FlatGpuVector extends GpuVector {
6
9
  super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
7
10
  this._geometryTypes = _geometryTypes;
8
11
  }
9
- static create(geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector) {
10
- return new FlatGpuVector(geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
11
- }
12
- /*static createMortonEncoded(
13
- geometryTypes: Int32Array,
14
- triangleOffsets: Int32Array,
15
- indexBuffer: Int32Array,
16
- vertexOffsets: Int32Array,
17
- vertexBuffer: Int32Array,
18
- mortonInfo: MortonSettings
19
- ): GpuVector {
20
- //TODO: refactor to use unsigned integers
21
- return new FlatGpuVector(
22
- VertexBufferType.MORTON,
23
- geometryTypes,
24
- triangleOffsets,
25
- indexBuffer,
26
- vertexOffsets,
27
- vertexBuffer,
28
- mortonInfo
29
- );
30
- }*/
31
12
  geometryType(index) {
32
13
  return this._geometryTypes[index];
33
14
  }
@@ -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,mEAAmE;AACnE,MAAM,OAAO,aAAc,SAAQ,SAAS;IAEnB;IADrB,YACqB,cAA0B,EAC3C,eAA2B,EAC3B,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,MAAM,CAAC,MAAM,CACT,aAAyB,EACzB,eAA2B,EAC3B,WAAuB,EACvB,YAAwB,EACxB,cAAsC;QAEtC,OAAO,IAAI,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IAEH,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"}
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,eAA2B,EAC3B,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,eAA2B,EAC3B,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: Int32Array,\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: Int32Array,\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 +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"}
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 +1 @@
1
- {"version":3,"file":"geometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVector.ts"],"names":[],"mappings":"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","sourcesContent":["import type TopologyVector from \"../../vector/geometry/topologyVector\";\nimport { convertGeometryVector } from \"./geometryVectorConverter\";\nimport ZOrderCurve 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 = ZOrderCurve.decode(\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 +1 @@
1
- {"version":3,"file":"geometryVectorConverter.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVectorConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometryVectorConverter.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVectorConverter.ts"],"names":[],"mappings":"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","sourcesContent":["import { type GeometryVector, type MortonSettings, type CoordinatesArray } from \"./geometryVector\";\nimport ZOrderCurve from \"./zOrderCurve\";\nimport { GEOMETRY_TYPE } from \"./geometryType\";\nimport { VertexBufferType } from \"./vertexBufferType\";\nimport Point from \"@mapbox/point-geometry\";\n\nclass MvtGeometryFactory {\n createPoint(coordinate: Point): CoordinatesArray {\n return [[coordinate]];\n }\n\n createMultiPoint(points: Point[]): CoordinatesArray {\n return points.map((point) => [point]);\n }\n\n createLineString(vertices: Point[]): CoordinatesArray {\n return [vertices];\n }\n\n createMultiLineString(lineStrings: Array<Array<Point>>): CoordinatesArray {\n return lineStrings;\n }\n\n createPolygon(shell: Point[], rings: Array<Array<Point>>): CoordinatesArray {\n return [shell, ...rings];\n }\n\n createMultiPolygon(polygons: Array<Array<Point>>[]): CoordinatesArray {\n //TODO: check winding order of shell and holes\n return polygons.flat();\n }\n}\n\nexport function convertGeometryVector(geometryVector: GeometryVector): CoordinatesArray[] {\n const geometries: CoordinatesArray[] = new Array(geometryVector.numGeometries);\n let partOffsetCounter = 1;\n let ringOffsetsCounter = 1;\n let geometryOffsetsCounter = 1;\n let geometryCounter = 0;\n const geometryFactory = new MvtGeometryFactory();\n let vertexBufferOffset = 0;\n let vertexOffsetsOffset = 0;\n\n const mortonSettings = geometryVector.mortonSettings;\n const topologyVector = geometryVector.topologyVector;\n const geometryOffsets = topologyVector.geometryOffsets;\n const partOffsets = topologyVector.partOffsets;\n const ringOffsets = topologyVector.ringOffsets;\n const vertexOffsets = geometryVector.vertexOffsets;\n\n const containsPolygon = geometryVector.containsPolygonGeometry();\n const vertexBuffer = geometryVector.vertexBuffer;\n\n for (let i = 0; i < geometryVector.numGeometries; i++) {\n const geometryType = geometryVector.geometryType(i);\n if (geometryType === GEOMETRY_TYPE.POINT) {\n if (!vertexOffsets || vertexOffsets.length === 0) {\n const x = vertexBuffer[vertexBufferOffset++];\n const y = vertexBuffer[vertexBufferOffset++];\n const coordinate = new Point(x, y);\n geometries[geometryCounter++] = geometryFactory.createPoint(coordinate);\n } else if (geometryVector.vertexBufferType === VertexBufferType.VEC_2) {\n const offset = vertexOffsets[vertexOffsetsOffset++] * 2;\n const x = vertexBuffer[offset];\n const y = vertexBuffer[offset + 1];\n const coordinate = new Point(x, y);\n geometries[geometryCounter++] = geometryFactory.createPoint(coordinate);\n } else {\n const offset = vertexOffsets[vertexOffsetsOffset++];\n const mortonCode = vertexBuffer[offset];\n const vertex = ZOrderCurve.decode(mortonCode, mortonSettings.numBits, mortonSettings.coordinateShift);\n const coordinate = new Point(vertex.x, vertex.y);\n geometries[geometryCounter++] = geometryFactory.createPoint(coordinate);\n }\n\n if (geometryOffsets) geometryOffsetsCounter++;\n if (partOffsets) partOffsetCounter++;\n if (ringOffsets) ringOffsetsCounter++;\n } else if (geometryType === GEOMETRY_TYPE.MULTIPOINT) {\n const numPoints = geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];\n geometryOffsetsCounter++;\n const points: Point[] = new Array(numPoints);\n if (!vertexOffsets || vertexOffsets.length === 0) {\n for (let j = 0; j < numPoints; j++) {\n const x = vertexBuffer[vertexBufferOffset++];\n const y = vertexBuffer[vertexBufferOffset++];\n points[j] = new Point(x, y);\n }\n geometries[geometryCounter++] = geometryFactory.createMultiPoint(points);\n } else {\n for (let j = 0; j < numPoints; j++) {\n const offset = vertexOffsets[vertexOffsetsOffset++] * 2;\n const x = vertexBuffer[offset];\n const y = vertexBuffer[offset + 1];\n points[j] = new Point(x, y);\n }\n geometries[geometryCounter++] = geometryFactory.createMultiPoint(points);\n }\n } else if (geometryType === GEOMETRY_TYPE.LINESTRING) {\n let numVertices = 0;\n if (containsPolygon) {\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n } else {\n numVertices = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n }\n partOffsetCounter++;\n\n let vertices: Point[];\n if (!vertexOffsets || vertexOffsets.length === 0) {\n vertices = getLineString(vertexBuffer, vertexBufferOffset, numVertices, false);\n vertexBufferOffset += numVertices * 2;\n } else {\n vertices =\n geometryVector.vertexBufferType === VertexBufferType.VEC_2\n ? decodeDictionaryEncodedLineString(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n false,\n )\n : decodeMortonDictionaryEncodedLineString(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n false,\n mortonSettings,\n );\n vertexOffsetsOffset += numVertices;\n }\n\n geometries[geometryCounter++] = geometryFactory.createLineString(vertices);\n\n if (geometryOffsets) geometryOffsetsCounter++;\n } else if (geometryType === GEOMETRY_TYPE.POLYGON) {\n const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n partOffsetCounter++;\n const rings: CoordinatesArray = new Array(numRings - 1);\n let numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n\n if (!vertexOffsets || vertexOffsets.length === 0) {\n const shell = getLinearRing(vertexBuffer, vertexBufferOffset, numVertices);\n vertexBufferOffset += numVertices * 2;\n for (let j = 0; j < rings.length; j++) {\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n rings[j] = getLinearRing(vertexBuffer, vertexBufferOffset, numVertices);\n vertexBufferOffset += numVertices * 2;\n }\n geometries[geometryCounter++] = geometryFactory.createPolygon(shell, rings);\n } else {\n const shell =\n geometryVector.vertexBufferType === VertexBufferType.VEC_2\n ? decodeDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n )\n : decodeMortonDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n geometryFactory,\n mortonSettings,\n );\n vertexOffsetsOffset += numVertices;\n for (let j = 0; j < rings.length; j++) {\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n rings[j] =\n geometryVector.vertexBufferType === VertexBufferType.VEC_2\n ? decodeDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n )\n : decodeMortonDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n geometryFactory,\n mortonSettings,\n );\n vertexOffsetsOffset += numVertices;\n }\n geometries[geometryCounter++] = geometryFactory.createPolygon(shell, rings);\n }\n\n if (geometryOffsets) geometryOffsetsCounter++;\n } else if (geometryType === GEOMETRY_TYPE.MULTILINESTRING) {\n const numLineStrings =\n geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];\n geometryOffsetsCounter++;\n const lineStrings: CoordinatesArray = new Array(numLineStrings);\n if (!vertexOffsets || vertexOffsets.length === 0) {\n for (let j = 0; j < numLineStrings; j++) {\n let numVertices = 0;\n if (containsPolygon) {\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n } else {\n numVertices = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n }\n partOffsetCounter++;\n\n lineStrings[j] = getLineString(vertexBuffer, vertexBufferOffset, numVertices, false);\n vertexBufferOffset += numVertices * 2;\n }\n geometries[geometryCounter++] = geometryFactory.createMultiLineString(lineStrings);\n } else {\n for (let j = 0; j < numLineStrings; j++) {\n let numVertices = 0;\n if (containsPolygon) {\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n } else {\n numVertices = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n }\n partOffsetCounter++;\n\n const vertices =\n geometryVector.vertexBufferType === VertexBufferType.VEC_2\n ? decodeDictionaryEncodedLineString(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n false,\n )\n : decodeMortonDictionaryEncodedLineString(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n false,\n mortonSettings,\n );\n lineStrings[j] = vertices;\n vertexOffsetsOffset += numVertices;\n }\n geometries[geometryCounter++] = geometryFactory.createMultiLineString(lineStrings);\n }\n } else if (geometryType === GEOMETRY_TYPE.MULTIPOLYGON) {\n const numPolygons = geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];\n geometryOffsetsCounter++;\n const polygons: CoordinatesArray[] = new Array(numPolygons);\n let numVertices = 0;\n if (!vertexOffsets || vertexOffsets.length === 0) {\n for (let j = 0; j < numPolygons; j++) {\n const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n partOffsetCounter++;\n const rings: CoordinatesArray = new Array(numRings - 1);\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n const shell = getLinearRing(vertexBuffer, vertexBufferOffset, numVertices);\n vertexBufferOffset += numVertices * 2;\n for (let k = 0; k < rings.length; k++) {\n const numRingVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n rings[k] = getLinearRing(vertexBuffer, vertexBufferOffset, numRingVertices);\n vertexBufferOffset += numRingVertices * 2;\n }\n\n polygons[j] = geometryFactory.createPolygon(shell, rings);\n }\n geometries[geometryCounter++] = geometryFactory.createMultiPolygon(polygons);\n } else {\n for (let j = 0; j < numPolygons; j++) {\n const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n partOffsetCounter++;\n const rings: CoordinatesArray = new Array(numRings - 1);\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n const shell =\n geometryVector.vertexBufferType === VertexBufferType.VEC_2\n ? decodeDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n )\n : decodeMortonDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n geometryFactory,\n mortonSettings,\n );\n vertexOffsetsOffset += numVertices;\n for (let k = 0; k < rings.length; k++) {\n numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n rings[k] =\n geometryVector.vertexBufferType === VertexBufferType.VEC_2\n ? decodeDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n )\n : decodeMortonDictionaryEncodedLinearRing(\n vertexBuffer,\n vertexOffsets,\n vertexOffsetsOffset,\n numVertices,\n geometryFactory,\n mortonSettings,\n );\n vertexOffsetsOffset += numVertices;\n }\n\n polygons[j] = geometryFactory.createPolygon(shell, rings);\n }\n geometries[geometryCounter++] = geometryFactory.createMultiPolygon(polygons);\n }\n } else {\n throw new Error(\"The specified geometry type is currently not supported.\");\n }\n }\n\n return geometries;\n}\n\nfunction getLinearRing(vertexBuffer: Int32Array, startIndex: number, numVertices: number): Point[] {\n return getLineString(vertexBuffer, startIndex, numVertices, true);\n}\n\nfunction decodeDictionaryEncodedLinearRing(\n vertexBuffer: Int32Array,\n vertexOffsets: Int32Array,\n vertexOffset: number,\n numVertices: number,\n): Point[] {\n return decodeDictionaryEncodedLineString(vertexBuffer, vertexOffsets, vertexOffset, numVertices, true);\n}\n\nfunction decodeMortonDictionaryEncodedLinearRing(\n vertexBuffer: Int32Array,\n vertexOffsets: Int32Array,\n vertexOffset: number,\n numVertices: number,\n geometryFactory: MvtGeometryFactory,\n mortonSettings: MortonSettings,\n): Point[] {\n return decodeMortonDictionaryEncodedLineString(\n vertexBuffer,\n vertexOffsets,\n vertexOffset,\n numVertices,\n true,\n mortonSettings,\n );\n}\n\nfunction getLineString(\n vertexBuffer: Int32Array,\n startIndex: number,\n numVertices: number,\n closeLineString: boolean,\n): Point[] {\n const vertices: Point[] = new Array(closeLineString ? numVertices + 1 : numVertices);\n for (let i = 0; i < numVertices * 2; i += 2) {\n const x = vertexBuffer[startIndex + i];\n const y = vertexBuffer[startIndex + i + 1];\n vertices[i / 2] = new Point(x, y);\n }\n\n if (closeLineString) {\n vertices[vertices.length - 1] = vertices[0];\n }\n return vertices;\n}\n\nfunction decodeDictionaryEncodedLineString(\n vertexBuffer: Int32Array,\n vertexOffsets: Int32Array,\n vertexOffset: number,\n numVertices: number,\n closeLineString: boolean,\n): Point[] {\n const vertices: Point[] = new Array(closeLineString ? numVertices + 1 : numVertices);\n for (let i = 0; i < numVertices * 2; i += 2) {\n const offset = vertexOffsets[vertexOffset + i / 2] * 2;\n const x = vertexBuffer[offset];\n const y = vertexBuffer[offset + 1];\n vertices[i / 2] = new Point(x, y);\n }\n\n if (closeLineString) {\n vertices[vertices.length - 1] = vertices[0];\n }\n return vertices;\n}\n\nfunction decodeMortonDictionaryEncodedLineString(\n vertexBuffer: Int32Array,\n vertexOffsets: Int32Array,\n vertexOffset: number,\n numVertices: number,\n closeLineString: boolean,\n mortonSettings: MortonSettings,\n): Point[] {\n const vertices: Point[] = new Array(closeLineString ? numVertices + 1 : numVertices);\n for (let i = 0; i < numVertices; i++) {\n const offset = vertexOffsets[vertexOffset + i];\n const mortonEncodedVertex = vertexBuffer[offset];\n const vertex = ZOrderCurve.decode(mortonEncodedVertex, mortonSettings.numBits, mortonSettings.coordinateShift);\n vertices[i] = new Point(vertex.x, vertex.y);\n }\n if (closeLineString) {\n vertices[vertices.length - 1] = vertices[0];\n }\n\n return vertices;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"gpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/gpuVector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/gpuVector.ts"],"names":[],"mappings":"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","sourcesContent":["import Point from \"@mapbox/point-geometry\";\nimport { GEOMETRY_TYPE } from \"./geometryType\";\nimport { type CoordinatesArray } from \"./geometryVector\";\nimport type TopologyVector from \"./topologyVector\";\n\nexport abstract class GpuVector implements Iterable<CoordinatesArray> {\n protected constructor(\n private readonly _triangleOffsets: Int32Array,\n private readonly _indexBuffer: Int32Array,\n private readonly _vertexBuffer: Int32Array,\n private readonly _topologyVector?: TopologyVector | null,\n ) {}\n\n abstract geometryType(index: number): number;\n\n abstract get numGeometries(): number;\n\n abstract containsSingleGeometryType(): boolean;\n\n get triangleOffsets(): Int32Array {\n return this._triangleOffsets;\n }\n\n get indexBuffer(): Int32Array {\n return this._indexBuffer;\n }\n\n get vertexBuffer(): Int32Array {\n return this._vertexBuffer;\n }\n\n get topologyVector(): TopologyVector | null {\n return this._topologyVector;\n }\n\n /**\n * Returns geometries as coordinate arrays by extracting polygon outlines from topology.\n * The vertexBuffer contains the outline vertices, separate from the tessellated triangles.\n */\n getGeometries(): CoordinatesArray[] {\n if (!this._topologyVector) {\n throw new Error(\"Cannot convert GpuVector to coordinates without topology information\");\n }\n\n const geometries: CoordinatesArray[] = new Array(this.numGeometries);\n const topology = this._topologyVector;\n const partOffsets = topology.partOffsets;\n const ringOffsets = topology.ringOffsets;\n const geometryOffsets = topology.geometryOffsets;\n\n // Use counters to track position in offset arrays (like Java implementation)\n let vertexBufferOffset = 0;\n let partOffsetCounter = 1;\n let ringOffsetsCounter = 1;\n let geometryOffsetsCounter = 1;\n\n for (let i = 0; i < this.numGeometries; i++) {\n const geometryType = this.geometryType(i);\n\n switch (geometryType) {\n case GEOMETRY_TYPE.POLYGON:\n {\n // Get number of rings for this polygon\n const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n partOffsetCounter++;\n const rings: Point[][] = [];\n\n for (let j = 0; j < numRings; j++) {\n // Get number of vertices in this ring\n const numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n const ring: Point[] = [];\n\n for (let k = 0; k < numVertices; k++) {\n const x = this._vertexBuffer[vertexBufferOffset++];\n const y = this._vertexBuffer[vertexBufferOffset++];\n ring.push(new Point(x, y));\n }\n // Close the ring by duplicating the first vertex (MVT format requirement)\n if (ring.length > 0) {\n ring.push(ring[0]);\n }\n rings.push(ring);\n }\n\n geometries[i] = rings;\n if (geometryOffsets) geometryOffsetsCounter++;\n }\n break;\n case GEOMETRY_TYPE.MULTIPOLYGON:\n {\n // Get number of polygons in this multipolygon\n const numPolygons =\n geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];\n geometryOffsetsCounter++;\n const allRings: Point[][] = [];\n\n for (let p = 0; p < numPolygons; p++) {\n // Get number of rings in this polygon\n const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];\n partOffsetCounter++;\n\n for (let j = 0; j < numRings; j++) {\n // Get number of vertices in this ring\n const numVertices =\n ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];\n ringOffsetsCounter++;\n const ring: Point[] = [];\n\n for (let k = 0; k < numVertices; k++) {\n const x = this._vertexBuffer[vertexBufferOffset++];\n const y = this._vertexBuffer[vertexBufferOffset++];\n ring.push(new Point(x, y));\n }\n // Close the ring by duplicating the first vertex (MVT format requirement)\n if (ring.length > 0) {\n ring.push(ring[0]);\n }\n allRings.push(ring);\n }\n }\n\n geometries[i] = allRings;\n }\n break;\n }\n }\n return geometries;\n }\n\n [Symbol.iterator](): Iterator<CoordinatesArray> {\n /*for(let i = 1; i < this.triangleOffsets.length; i++) {\n const numTriangles = this.triangleOffsets[i] - this.triangleOffsets[i-1];\n const startIndex = this.triangleOffsets[i-1] * 3;\n const endIndex = this.triangleOffsets[i] * 3;\n }\n\n while (index < this.numGeometries) {\n yield geometries[index++];\n }*/\n\n //throw new Error(\"Iterator on a GpuVector is not implemented yet.\");\n return null;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"spaceFillingCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/spaceFillingCurve.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAgB,iBAAiB;IACjC,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,gBAAgB,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAElC,YAAY,cAAsB,EAAE,cAAsB;QACtD,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;IACnC,CAAC;IAES,mBAAmB,CAAC,MAAgC;QAC1D,mFAAmF;QACnF,IACI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAC1B,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAMD,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ"}
1
+ {"version":3,"file":"spaceFillingCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/spaceFillingCurve.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAgB,iBAAiB;IACjC,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,gBAAgB,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAElC,YAAY,cAAsB,EAAE,cAAsB;QACtD,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;IACnC,CAAC;IAES,mBAAmB,CAAC,MAAgC;QAC1D,mFAAmF;QACnF,IACI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAC1B,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAMD,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ","sourcesContent":["export default abstract class SpaceFillingCurve {\n protected tileExtent: number;\n protected _numBits: number;\n protected _coordinateShift: number;\n private readonly minBound: number;\n private readonly maxBound: number;\n\n constructor(minVertexValue: number, maxVertexValue: number) {\n // TODO: fix tile buffer problem\n this._coordinateShift = minVertexValue < 0 ? Math.abs(minVertexValue) : 0;\n this.tileExtent = maxVertexValue + this._coordinateShift;\n this._numBits = Math.ceil(Math.log2(this.tileExtent));\n this.minBound = minVertexValue;\n this.maxBound = maxVertexValue;\n }\n\n protected validateCoordinates(vertex: { x: number; y: number }): void {\n // TODO: also check for int overflow as we are limiting the sfc ids to max int size\n if (\n vertex.x < this.minBound ||\n vertex.y < this.minBound ||\n vertex.x > this.maxBound ||\n vertex.y > this.maxBound\n ) {\n throw new Error(\"The specified tile buffer size is currently not supported.\");\n }\n }\n\n abstract encode(vertex: { x: number; y: number }): number;\n\n abstract decode(mortonCode: number): { x: number; y: number };\n\n numBits(): number {\n return this._numBits;\n }\n\n coordinateShift(): number {\n return this._coordinateShift;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"topologyVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/topologyVector.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAGnB;IACA;IACA;IAJZ,yCAAyC;IACzC,YACY,gBAA4B,EAC5B,YAAwB,EACxB,YAAwB;QAFxB,qBAAgB,GAAhB,gBAAgB,CAAY;QAC5B,iBAAY,GAAZ,YAAY,CAAY;QACxB,iBAAY,GAAZ,YAAY,CAAY;IACjC,CAAC;IAEJ,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACJ"}
1
+ {"version":3,"file":"topologyVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/topologyVector.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAGnB;IACA;IACA;IAJZ,yCAAyC;IACzC,YACY,gBAA4B,EAC5B,YAAwB,EACxB,YAAwB;QAFxB,qBAAgB,GAAhB,gBAAgB,CAAY;QAC5B,iBAAY,GAAZ,YAAY,CAAY;QACxB,iBAAY,GAAZ,YAAY,CAAY;IACjC,CAAC;IAEJ,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACJ","sourcesContent":["export default class TopologyVector {\n //TODO: refactor to use unsigned integers\n constructor(\n private _geometryOffsets: Int32Array,\n private _partOffsets: Int32Array,\n private _ringOffsets: Int32Array,\n ) {}\n\n get geometryOffsets(): Int32Array {\n return this._geometryOffsets;\n }\n\n get partOffsets(): Int32Array {\n return this._partOffsets;\n }\n\n get ringOffsets(): Int32Array {\n return this._ringOffsets;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vertexBufferType.js","sourceRoot":"","sources":["../../../src/vector/geometry/vertexBufferType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,2DAAM,CAAA;IACN,yDAAK,CAAA;IACL,yDAAK,CAAA;AACT,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
1
+ {"version":3,"file":"vertexBufferType.js","sourceRoot":"","sources":["../../../src/vector/geometry/vertexBufferType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,2DAAM,CAAA;IACN,yDAAK,CAAA;IACL,yDAAK,CAAA;AACT,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B","sourcesContent":["export enum VertexBufferType {\n MORTON,\n VEC_2,\n VEC_3,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zOrderCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,iBAAiB;IACtD,MAAM,CAAC,MAAgC;QACnC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,UAAkB;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,OAAe,EAAE,eAAuB;QACtE,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC1E,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC/E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;QACrD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
1
+ {"version":3,"file":"zOrderCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,iBAAiB;IACtD,MAAM,CAAC,MAAgC;QACnC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,UAAkB;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,OAAe,EAAE,eAAuB;QACtE,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC1E,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC/E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;QACrD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ","sourcesContent":["import SpaceFillingCurve from \"./spaceFillingCurve\";\n\nexport default class ZOrderCurve extends SpaceFillingCurve {\n encode(vertex: { x: number; y: number }): number {\n this.validateCoordinates(vertex);\n const shiftedX = vertex.x + this._coordinateShift;\n const shiftedY = vertex.y + this._coordinateShift;\n let mortonCode = 0;\n for (let i = 0; i < this._numBits; i++) {\n mortonCode |= ((shiftedX & (1 << i)) << i) | ((shiftedY & (1 << i)) << (i + 1));\n }\n return mortonCode;\n }\n\n decode(mortonCode: number): { x: number; y: number } {\n const x = this.decodeMorton(mortonCode) - this._coordinateShift;\n const y = this.decodeMorton(mortonCode >> 1) - this._coordinateShift;\n return { x, y };\n }\n\n private decodeMorton(code: number): number {\n let coordinate = 0;\n for (let i = 0; i < this._numBits; i++) {\n coordinate |= (code & (1 << (2 * i))) >> i;\n }\n return coordinate;\n }\n\n static decode(mortonCode: number, numBits: number, coordinateShift: number): { x: number; y: number } {\n const x = ZOrderCurve.decodeMorton(mortonCode, numBits) - coordinateShift;\n const y = ZOrderCurve.decodeMorton(mortonCode >> 1, numBits) - coordinateShift;\n return { x, y };\n }\n\n private static decodeMorton(code: number, numBits: number): number {\n let coordinate = 0;\n for (let i = 0; i < numBits; i++) {\n coordinate |= (code & (1 << (2 * i))) >> i;\n }\n return coordinate;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zOrderCurve.spec.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACd,MAAM,aAAa,GAAG,QAAQ,CAAC;QAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"zOrderCurve.spec.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACd,MAAM,aAAa,GAAG,QAAQ,CAAC;QAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport ZOrderCurve from \"./zOrderCurve\";\n\ndescribe(\"ZOrderCurve\", () => {\n it(\"decode\", () => {\n const expectedIndex = 38865244;\n const expectedVertex = { x: 3358, y: 4130 };\n const zCurve = new ZOrderCurve(288, 4150);\n\n const actualIndex = zCurve.encode(expectedVertex);\n const actualVertex = zCurve.decode(actualIndex);\n\n expect(actualIndex).toEqual(expectedIndex);\n expect(actualVertex).toEqual(expectedVertex);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intVector.js","sourceRoot":"","sources":["../../src/vector/intVector.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"intVector.js","sourceRoot":"","sources":["../../src/vector/intVector.ts"],"names":[],"mappings":"","sourcesContent":["import { type IntFlatVector } from \"./flat/intFlatVector\";\nimport { type LongFlatVector } from \"./flat/longFlatVector\";\nimport { type IntConstVector } from \"./constant/intConstVector\";\nimport { type LongConstVector } from \"./constant/longConstVector\";\nimport { type IntSequenceVector } from \"./sequence/intSequenceVector\";\nimport { type LongSequenceVector } from \"./sequence/longSequenceVector\";\nimport { type DoubleFlatVector } from \"./flat/doubleFlatVector\";\n\nexport type IntVector =\n | IntFlatVector\n | LongFlatVector\n | DoubleFlatVector\n | IntSequenceVector\n | LongSequenceVector\n | IntConstVector\n | LongConstVector;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,iBAAkB,SAAQ,cAAkC;IACrE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IACS,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"intSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,iBAAkB,SAAQ,cAAkC;IACrE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IACS,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC;CACJ","sourcesContent":["import { SequenceVector } from \"./sequenceVector\";\n\nexport class IntSequenceVector extends SequenceVector<Int32Array, number> {\n public constructor(name: string, baseValue: number, delta: number, size: number) {\n super(name, Int32Array.of(baseValue), delta, size);\n }\n protected getValueFromBuffer(index: number): number {\n return this.dataBuffer[0] + index * this.delta;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"longSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,kBAAmB,SAAQ,cAAqC;IACzE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;CACJ"}
1
+ {"version":3,"file":"longSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,kBAAmB,SAAQ,cAAqC;IACzE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;CACJ","sourcesContent":["import { SequenceVector } from \"./sequenceVector\";\n\nexport class LongSequenceVector extends SequenceVector<BigInt64Array, bigint> {\n public constructor(name: string, baseValue: bigint, delta: bigint, size: number) {\n super(name, BigInt64Array.of(baseValue), delta, size);\n }\n\n protected getValueFromBuffer(index: number): bigint {\n return this.dataBuffer[0] + BigInt(index) * this.delta;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"longSequenceVektor.spec.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVektor.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAClF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"longSequenceVektor.spec.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVektor.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAClF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { LongSequenceVector } from \"./longSequenceVector\";\n\ndescribe(\"LongSequenceVector\", () => {\n it(\"should generate bigint sequence values\", () => {\n const vec = new LongSequenceVector(\"test\", 10n, 5n, 5); // 10n, 15n, 20n, 25n, 30n\n expect(vec.getValue(0)).toBe(10n);\n expect(vec.getValue(2)).toBe(20n);\n expect(vec.getValue(4)).toBe(30n);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/sequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAgB,cAA6C,SAAQ,MAAY;IAChE,KAAK,CAAI;IAE5B,YAAsB,IAAY,EAAE,eAAkB,EAAE,KAAQ,EAAE,IAAY;QAC1E,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ"}
1
+ {"version":3,"file":"sequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/sequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAgB,cAA6C,SAAQ,MAAY;IAChE,KAAK,CAAI;IAE5B,YAAsB,IAAY,EAAE,eAAkB,EAAE,KAAQ,EAAE,IAAY;QAC1E,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ","sourcesContent":["import Vector from \"../vector\";\n\nexport abstract class SequenceVector<T extends ArrayBufferView, K> extends Vector<T, K> {\n protected readonly delta: K;\n\n protected constructor(name: string, baseValueBuffer: T, delta: K, size: number) {\n super(name, baseValueBuffer, size);\n this.delta = delta;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"variableSizeVector.js","sourceRoot":"","sources":["../../src/vector/variableSizeVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,OAAgB,kBAAiD,SAAQ,MAAY;IAIzE;IAHd,uDAAuD;IACvD,YACI,IAAY,EACF,YAAwB,EAClC,UAAa,EACb,uBAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAJvC,iBAAY,GAAZ,YAAY,CAAY;IAKtC,CAAC;CACJ"}
1
+ {"version":3,"file":"variableSizeVector.js","sourceRoot":"","sources":["../../src/vector/variableSizeVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,OAAgB,kBAAiD,SAAQ,MAAY;IAIzE;IAHd,uDAAuD;IACvD,YACI,IAAY,EACF,YAAwB,EAClC,UAAa,EACb,uBAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAJvC,iBAAY,GAAZ,YAAY,CAAY;IAKtC,CAAC;CACJ","sourcesContent":["import type BitVector from \"./flat/bitVector\";\nimport Vector from \"./vector\";\n\nexport abstract class VariableSizeVector<T extends ArrayBufferView, K> extends Vector<T, K> {\n //TODO: switch to Uint32Array by changing the decodings\n protected constructor(\n name: string,\n protected offsetBuffer: Int32Array,\n dataBuffer: T,\n sizeOrNullabilityBuffer: number | BitVector,\n ) {\n super(name, dataBuffer, sizeOrNullabilityBuffer);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/vector/vector.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAgB,MAAM;IAKX;IACE;IALb,iBAAiB,CAAmB;IACpC,KAAK,CAAS;IAExB,YACqB,KAAa,EACX,UAAa,EAChC,uBAA2C;QAF1B,UAAK,GAAL,KAAK,CAAQ;QACX,eAAU,GAAV,UAAU,CAAG;QAGhC,IAAI,OAAO,uBAAuB,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChH,CAAC;IAED,GAAG,CAAC,KAAa;QACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACpG,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CAGJ"}
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/vector/vector.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAgB,MAAM;IAKX;IACE;IALb,iBAAiB,CAAmB;IACpC,KAAK,CAAS;IAExB,YACqB,KAAa,EACX,UAAa,EAChC,uBAA2C;QAF1B,UAAK,GAAL,KAAK,CAAQ;QACX,eAAU,GAAV,UAAU,CAAG;QAGhC,IAAI,OAAO,uBAAuB,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChH,CAAC;IAED,GAAG,CAAC,KAAa;QACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACpG,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CAGJ","sourcesContent":["import type BitVector from \"./flat/bitVector\";\n\nexport default abstract class Vector<T extends ArrayBufferView = ArrayBufferView, K = unknown> {\n protected nullabilityBuffer: BitVector | null;\n protected _size: number;\n\n constructor(\n private readonly _name: string,\n protected readonly dataBuffer: T,\n sizeOrNullabilityBuffer: number | BitVector,\n ) {\n if (typeof sizeOrNullabilityBuffer === \"number\") {\n this._size = sizeOrNullabilityBuffer;\n } else {\n this.nullabilityBuffer = sizeOrNullabilityBuffer;\n this._size = sizeOrNullabilityBuffer.size();\n }\n }\n\n getValue(index: number): K | null {\n return this.nullabilityBuffer && !this.nullabilityBuffer.get(index) ? null : this.getValueFromBuffer(index);\n }\n\n has(index: number): boolean {\n return (this.nullabilityBuffer && this.nullabilityBuffer.get(index)) || !this.nullabilityBuffer;\n }\n\n get name(): string {\n return this._name;\n }\n\n get size(): number {\n return this._size;\n }\n\n protected abstract getValueFromBuffer(index: number): K;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vectorType.js","sourceRoot":"","sources":["../../src/vector/vectorType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,2CAAI,CAAA;IACJ,6CAAK,CAAA;IACL,mDAAQ,CAAA;IACR,uDAAU,CAAA;IACV,iEAAe,CAAA;AACnB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB"}
1
+ {"version":3,"file":"vectorType.js","sourceRoot":"","sources":["../../src/vector/vectorType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IAClB,2CAAI,CAAA;IACJ,6CAAK,CAAA;IACL,mDAAQ,CAAA;IACR,uDAAU,CAAA;IACV,iEAAe,CAAA;AACnB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB","sourcesContent":["export enum VectorType {\n FLAT,\n CONST,\n SEQUENCE,\n DICTIONARY,\n FSST_DICTIONARY,\n}\n"]}