ol 7.0.0-dev.1658343947608 → 7.0.0-dev.1658477212801

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 (100) hide show
  1. package/ImageTile.d.ts.map +1 -1
  2. package/ImageTile.js +34 -1
  3. package/ImageTile.js.map +1 -1
  4. package/Tile.d.ts.map +1 -1
  5. package/Tile.js +6 -1
  6. package/Tile.js.map +1 -1
  7. package/TileCache.d.ts.map +1 -1
  8. package/TileCache.js +6 -0
  9. package/TileCache.js.map +1 -1
  10. package/TileQueue.d.ts.map +1 -1
  11. package/TileQueue.js +3 -1
  12. package/TileQueue.js.map +1 -1
  13. package/geom/flat/deflate.d.ts.map +1 -1
  14. package/geom/flat/deflate.js +3 -0
  15. package/geom/flat/deflate.js.map +1 -1
  16. package/geom/flat/inflate.d.ts.map +1 -1
  17. package/geom/flat/inflate.js +4 -1
  18. package/geom/flat/inflate.js.map +1 -1
  19. package/package.json +2 -1
  20. package/render/webgl/BatchRenderer.d.ts +92 -0
  21. package/render/webgl/BatchRenderer.d.ts.map +1 -0
  22. package/render/webgl/BatchRenderer.js +165 -0
  23. package/render/webgl/BatchRenderer.js.map +1 -0
  24. package/render/webgl/LineStringBatchRenderer.d.ts +27 -0
  25. package/render/webgl/LineStringBatchRenderer.d.ts.map +1 -0
  26. package/render/webgl/LineStringBatchRenderer.js +114 -0
  27. package/render/webgl/LineStringBatchRenderer.js.map +1 -0
  28. package/render/webgl/MixedGeometryBatch.d.ts +306 -0
  29. package/render/webgl/MixedGeometryBatch.d.ts.map +1 -0
  30. package/render/webgl/MixedGeometryBatch.js +342 -0
  31. package/render/webgl/MixedGeometryBatch.js.map +1 -0
  32. package/render/webgl/PointBatchRenderer.d.ts +26 -0
  33. package/render/webgl/PointBatchRenderer.d.ts.map +1 -0
  34. package/render/webgl/PointBatchRenderer.js +102 -0
  35. package/render/webgl/PointBatchRenderer.js.map +1 -0
  36. package/render/webgl/PolygonBatchRenderer.d.ts +25 -0
  37. package/render/webgl/PolygonBatchRenderer.d.ts.map +1 -0
  38. package/render/webgl/PolygonBatchRenderer.js +110 -0
  39. package/render/webgl/PolygonBatchRenderer.js.map +1 -0
  40. package/render/webgl/constants.d.ts +43 -0
  41. package/render/webgl/constants.d.ts.map +1 -0
  42. package/render/webgl/constants.js +26 -0
  43. package/render/webgl/constants.js.map +1 -0
  44. package/render/webgl/utils.d.ts +76 -0
  45. package/render/webgl/utils.d.ts.map +1 -0
  46. package/render/webgl/utils.js +257 -0
  47. package/render/webgl/utils.js.map +1 -0
  48. package/renderer/canvas/TileLayer.d.ts.map +1 -1
  49. package/renderer/canvas/TileLayer.js +1 -5
  50. package/renderer/canvas/TileLayer.js.map +1 -1
  51. package/renderer/webgl/Layer.d.ts +0 -98
  52. package/renderer/webgl/Layer.d.ts.map +1 -1
  53. package/renderer/webgl/Layer.js +0 -134
  54. package/renderer/webgl/Layer.js.map +1 -1
  55. package/renderer/webgl/PointsLayer.d.ts +4 -1
  56. package/renderer/webgl/PointsLayer.d.ts.map +1 -1
  57. package/renderer/webgl/PointsLayer.js +15 -8
  58. package/renderer/webgl/PointsLayer.js.map +1 -1
  59. package/renderer/webgl/TileLayer.js +1 -1
  60. package/renderer/webgl/TileLayer.js.map +1 -1
  61. package/renderer/webgl/VectorLayer.d.ts +142 -0
  62. package/renderer/webgl/VectorLayer.d.ts.map +1 -0
  63. package/renderer/webgl/VectorLayer.js +304 -0
  64. package/renderer/webgl/VectorLayer.js.map +1 -0
  65. package/renderer/webgl/shaders.d.ts +43 -0
  66. package/renderer/webgl/shaders.d.ts.map +1 -0
  67. package/renderer/webgl/shaders.js +53 -0
  68. package/renderer/webgl/shaders.js.map +1 -0
  69. package/source/TileEventType.d.ts.map +1 -1
  70. package/source/TileEventType.js +3 -1
  71. package/source/TileEventType.js.map +1 -1
  72. package/src/ImageTile.js +34 -1
  73. package/src/Tile.js +6 -1
  74. package/src/TileCache.js +7 -0
  75. package/src/TileQueue.js +3 -1
  76. package/src/geom/flat/deflate.js +3 -0
  77. package/src/geom/flat/inflate.js +10 -7
  78. package/src/render/webgl/BatchRenderer.js +201 -0
  79. package/src/render/webgl/LineStringBatchRenderer.js +116 -0
  80. package/src/render/webgl/MixedGeometryBatch.js +364 -0
  81. package/src/render/webgl/PointBatchRenderer.js +97 -0
  82. package/src/render/webgl/PolygonBatchRenderer.js +117 -0
  83. package/src/render/webgl/constants.js +27 -0
  84. package/src/render/webgl/utils.js +351 -0
  85. package/src/renderer/canvas/TileLayer.js +1 -4
  86. package/src/renderer/webgl/Layer.js +0 -160
  87. package/src/renderer/webgl/PointsLayer.js +16 -12
  88. package/src/renderer/webgl/TileLayer.js +1 -1
  89. package/src/renderer/webgl/VectorLayer.js +409 -0
  90. package/src/renderer/webgl/shaders.js +198 -0
  91. package/src/source/TileEventType.js +3 -1
  92. package/src/webgl/Helper.js +30 -45
  93. package/src/worker/webgl.js +1 -1
  94. package/util.js +1 -1
  95. package/webgl/Helper.d.ts +17 -25
  96. package/webgl/Helper.d.ts.map +1 -1
  97. package/webgl/Helper.js +29 -43
  98. package/webgl/Helper.js.map +1 -1
  99. package/worker/webgl.js +1 -1
  100. package/worker/webgl.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ImageTile.d.ts","sourceRoot":"","sources":["src/ImageTile.js"],"names":[],"mappings":";AAQA;IACE;;;;;;;OAOG;IACH,uBAPW,OAAO,gBAAgB,EAAE,SAAS,mBAElC,MAAM,eACL,MAAM,2BACP,OAAO,WAAW,EAAE,YAAY,yDAiD1C;IApCC;;;OAGG;IACH,qBAA+B;IAE/B;;;;;OAKG;IACH,aAAe;IAIf;;;OAGG;IACH,eAAyB;IAKzB;;;OAGG;IACH,kBAAqB;IAErB;;;OAGG;IACH,0BAAyC;IAG3C;;;;OAIG;IACH,YAHY,iBAAiB,GAAC,gBAAgB,GAAC,gBAAgB,CAK9D;IAED;;;OAGG;IACH,kBAFW,iBAAiB,GAAC,gBAAgB,QAO5C;IAED;;;;OAIG;IACH,0BAKC;IAED;;;;OAIG;IACH,yBASC;IA0BD;;;;OAIG;IACH,uBAKC;CACF"}
1
+ {"version":3,"file":"ImageTile.d.ts","sourceRoot":"","sources":["src/ImageTile.js"],"names":[],"mappings":";AAQA;IACE;;;;;;;OAOG;IACH,uBAPW,OAAO,gBAAgB,EAAE,SAAS,mBAElC,MAAM,eACL,MAAM,2BACP,OAAO,WAAW,EAAE,YAAY,yDAiD1C;IApCC;;;OAGG;IACH,qBAA+B;IAE/B;;;;;OAKG;IACH,aAAe;IAIf;;;OAGG;IACH,eAAyB;IAKzB;;;OAGG;IACH,kBAAqB;IAErB;;;OAGG;IACH,0BAAyC;IAG3C;;;;OAIG;IACH,YAHY,iBAAiB,GAAC,gBAAgB,GAAC,gBAAgB,CAK9D;IAED;;;OAGG;IACH,kBAFW,iBAAiB,GAAC,gBAAgB,QAO5C;IAED;;;;OAIG;IACH,0BAKC;IAED;;;;OAIG;IACH,yBASC;IA2DD;;;;OAIG;IACH,uBAKC;CACF"}
package/ImageTile.js CHANGED
@@ -111,7 +111,40 @@ var ImageTile = /** @class */ (function (_super) {
111
111
  this.changed();
112
112
  };
113
113
  /**
114
- * Load not yet loaded URI.
114
+ * Load the image or retry if loading previously failed.
115
+ * Loading is taken care of by the tile queue, and calling this method is
116
+ * only needed for preloading or for reloading in case of an error.
117
+ *
118
+ * To retry loading tiles on failed requests, use a custom `tileLoadFunction`
119
+ * that checks for error status codes and reloads only when the status code is
120
+ * 408, 429, 500, 502, 503 and 504, and only when not too many retries have been
121
+ * made already:
122
+ *
123
+ * ```js
124
+ * const retryCodes = [408, 429, 500, 502, 503, 504];
125
+ * const retries = {};
126
+ * source.setTileLoadFunction((tile, src) => {
127
+ * const image = tile.getImage();
128
+ * fetch(src)
129
+ * .then((response) => {
130
+ * if (retryCodes.includes(response.status)) {
131
+ * retries[src] = (retries[src] || 0) + 1;
132
+ * if (retries[src] <= 3) {
133
+ * setTimeout(() => tile.load(), retries[src] * 1000);
134
+ * }
135
+ * return Promise.reject();
136
+ * }
137
+ * return response.blob();
138
+ * })
139
+ * .then((blob) => {
140
+ * const imageUrl = URL.createObjectURL(blob);
141
+ * image.src = imageUrl;
142
+ * setTimeout(() => URL.revokeObjectURL(imageUrl), 5000);
143
+ * })
144
+ * .catch(() => tile.setState(3)); // error
145
+ * });
146
+ * ```
147
+ *
115
148
  * @api
116
149
  */
117
150
  ImageTile.prototype.load = function () {
package/ImageTile.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ImageTile.js","sourceRoot":"","sources":["src/ImageTile.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageTile.js","sourceRoot":"","sources":["src/ImageTile.js"],"names":[],"mappings":"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"}
package/Tile.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["src/Tile.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA0CsB,IAAI,QAAE,MAAM,KAAG,IAAI;;;;;;;;;;;iCAcnB,OAAO,gBAAgB,EAAE,SAAS,QAAE,MAAM,QAC/D,OAAmB,sBAAsB,EAAE,OAAO,KAAG,CAAC,MAAM,GAAC,SAAS,CAAC;;;;;;;;;;;;;AAhDxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AACH;IACE;;;;OAIG;IACH,uBAJW,OAAO,gBAAgB,EAAE,SAAS,iDAsD5C;IA7CC;;OAEG;IACH,WAFU,OAAO,gBAAgB,EAAE,SAAS,CAElB;IAE1B;;;OAGG;IACH,qBAAkB;IAElB;;;;;OAKG;IACH,aAFU,IAAI,CAES;IAEvB;;;;;OAKG;IACH,KAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,aAFU,MAAM,CAG6C;IAE7D;;;;OAIG;IACH;YAFiB,MAAM,GAAE,MAAM;MAEJ;IAE3B;;OAEG;IACH,aAFU,OAAO,CAEuB;IAG1C;;OAEG;IACH,0BAEC;IAED;;OAEG;IACH,gBAAY;IAEZ;;OAEG;IACH,UAFY,MAAM,CAIjB;IAED;;;;;OAKG;IACH,kBAFa,IAAI,CAyBhB;IAED;;;OAGG;IACH,4BAgCC;IAED;;;;OAIG;IACH,gBAHY,OAAO,gBAAgB,EAAE,SAAS,CAK7C;IAED;;OAEG;IACH,gBAEC;IAED;;;;;;;OAOG;IACH,2BAMC;IAED;;;;;;OAMG;IACH,aAEC;IAED;;;;;OAKG;IACH,aAJW,MAAM,QACN,MAAM,GACL,MAAM,CAoBjB;IAED;;;;;;OAMG;IACH,iBAHW,MAAM,GACL,OAAO,CAOlB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAMhB;CACF"}
1
+ {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["src/Tile.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA0CsB,IAAI,QAAE,MAAM,KAAG,IAAI;;;;;;;;;;;iCAcnB,OAAO,gBAAgB,EAAE,SAAS,QAAE,MAAM,QAC/D,OAAmB,sBAAsB,EAAE,OAAO,KAAG,CAAC,MAAM,GAAC,SAAS,CAAC;;;;;;;;;;;;;AAhDxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AACH;IACE;;;;OAIG;IACH,uBAJW,OAAO,gBAAgB,EAAE,SAAS,iDAsD5C;IA7CC;;OAEG;IACH,WAFU,OAAO,gBAAgB,EAAE,SAAS,CAElB;IAE1B;;;OAGG;IACH,qBAAkB;IAElB;;;;;OAKG;IACH,aAFU,IAAI,CAES;IAEvB;;;;;OAKG;IACH,KAFU,MAAM,CAEH;IAEb;;;OAGG;IACH,aAFU,MAAM,CAG6C;IAE7D;;;;OAIG;IACH;YAFiB,MAAM,GAAE,MAAM;MAEJ;IAE3B;;OAEG;IACH,aAFU,OAAO,CAEuB;IAG1C;;OAEG;IACH,0BAEC;IAED;;OAEG;IACH,gBAKC;IAED;;OAEG;IACH,UAFY,MAAM,CAIjB;IAED;;;;;OAKG;IACH,kBAFa,IAAI,CAyBhB;IAED;;;OAGG;IACH,4BAgCC;IAED;;;;OAIG;IACH,gBAHY,OAAO,gBAAgB,EAAE,SAAS,CAK7C;IAED;;OAEG;IACH,gBAEC;IAED;;;;;;;OAOG;IACH,2BAMC;IAED;;;;;;OAMG;IACH,aAEC;IAED;;;;;OAKG;IACH,aAJW,MAAM,QACN,MAAM,GACL,MAAM,CAoBjB;IAED;;;;;;OAMG;IACH,iBAHW,MAAM,GACL,OAAO,CAOlB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAMhB;CACF"}
package/Tile.js CHANGED
@@ -145,7 +145,12 @@ var Tile = /** @class */ (function (_super) {
145
145
  /**
146
146
  * Called by the tile cache when the tile is removed from the cache due to expiry
147
147
  */
148
- Tile.prototype.release = function () { };
148
+ Tile.prototype.release = function () {
149
+ if (this.state === TileState.ERROR) {
150
+ // to remove the `change` listener on this tile in `ol/TileQueue#handleTileChange`
151
+ this.setState(TileState.EMPTY);
152
+ }
153
+ };
149
154
  /**
150
155
  * @return {string} Key.
151
156
  */
package/Tile.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.js","sourceRoot":"","sources":["src/Tile.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tile.js","sourceRoot":"","sources":["src/Tile.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TileCache.d.ts","sourceRoot":"","sources":["src/TileCache.js"],"names":[],"mappings":";AAMA;IAkBqB,oDAmBsR;IApCzS;;OAEG;IACH;YAFmB,MAAM,GAAE,OAAO;aAWjC;IAED;;OAEG;IACH,2BAeC;CACF"}
1
+ {"version":3,"file":"TileCache.d.ts","sourceRoot":"","sources":["src/TileCache.js"],"names":[],"mappings":";AAMA;IAuBM,oDAqB6L;IApCjM;;OAEG;IACH;YAFmB,MAAM,GAAE,OAAO;aAWjC;IAED;;OAEG;IACH,2BAeC;CACF"}
package/TileCache.js CHANGED
@@ -23,6 +23,12 @@ var TileCache = /** @class */ (function (_super) {
23
23
  function TileCache() {
24
24
  return _super !== null && _super.apply(this, arguments) || this;
25
25
  }
26
+ TileCache.prototype.clear = function () {
27
+ while (this.getCount() > 0) {
28
+ this.pop().release();
29
+ }
30
+ _super.prototype.clear.call(this);
31
+ };
26
32
  /**
27
33
  * @param {!Object<string, boolean>} usedTiles Used tiles.
28
34
  */
package/TileCache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"TileCache.js","sourceRoot":"","sources":["src/TileCache.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAE/C;IAAwB,6BAAQ;IAAhC;;IAkCA,CAAC;IAjCC;;OAEG;IACH,+BAAW,GAAX,UAAY,SAAS;QACnB,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE;YAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,SAAS,EAAE;gBAC9B,MAAM;aACP;iBAAM;gBACL,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;aACtB;SACF;IACH,CAAC;IAED;;OAEG;IACH,sCAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YACzB,OAAO;SACR;QACD,IAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CACV,UAAU,IAAI;YACZ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,AAlCD,CAAwB,QAAQ,GAkC/B;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"TileCache.js","sourceRoot":"","sources":["src/TileCache.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAE/C;IAAwB,6BAAQ;IAAhC;;IAyCA,CAAC;IAxCC,yBAAK,GAAL;QACE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;SACtB;QACD,iBAAM,KAAK,WAAE,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,+BAAW,GAAX,UAAY,SAAS;QACnB,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE;YAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,SAAS,EAAE;gBAC9B,MAAM;aACP;iBAAM;gBACL,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;aACtB;SACF;IACH,CAAC;IAED;;OAEG;IACH,sCAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YACzB,OAAO;SACR;QACD,IAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,IAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CACV,UAAU,IAAI;YACZ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,AAzCD,CAAwB,QAAQ,GAyC/B;AAED,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TileQueue.d.ts","sourceRoot":"","sources":["src/TileQueue.js"],"names":[],"mappings":"AA6HA;;;;;;;GAOG;AACH,4CAPW,OAAO,mBAAmB,EAAE,UAAU,QACtC,OAAO,WAAW,EAAE,OAAO,iBAC3B,MAAM,cACN,OAAO,iBAAiB,EAAE,UAAU,kBACpC,MAAM,GACL,MAAM,CA8BjB;;sCAzJqB,OAAO,WAAW,EAAE,OAAO,QAAE,MAAM,QAAE,OAAO,iBAAiB,EAAE,UAAU,QAAE,MAAM,KAAG,MAAM;AADhH;;GAEG;AAEH;IACE;;;OAGG;IACH,kCAHW,gBAAgB,qCAyC1B;IApBC,eAAe;IACf,+BAA8D;IAE9D;;;OAGG;IACH,4BAA6C;IAE7C;;;OAGG;IACH,sBAAsB;IAEtB;;;OAGG;IACH,0BAA2B;IAG7B;;;OAGG;IACH,yBAFY,OAAO,CASlB;IAED;;OAEG;IACH,mBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,kCAHW,OAAO,mBAAmB,EAAE,OAAO,QAmB7C;IAED;;;OAGG;IACH,+BAHW,MAAM,eACN,MAAM,QAoBhB;CACF"}
1
+ {"version":3,"file":"TileQueue.d.ts","sourceRoot":"","sources":["src/TileQueue.js"],"names":[],"mappings":"AA+HA;;;;;;;GAOG;AACH,4CAPW,OAAO,mBAAmB,EAAE,UAAU,QACtC,OAAO,WAAW,EAAE,OAAO,iBAC3B,MAAM,cACN,OAAO,iBAAiB,EAAE,UAAU,kBACpC,MAAM,GACL,MAAM,CA8BjB;;sCA3JqB,OAAO,WAAW,EAAE,OAAO,QAAE,MAAM,QAAE,OAAO,iBAAiB,EAAE,UAAU,QAAE,MAAM,KAAG,MAAM;AADhH;;GAEG;AAEH;IACE;;;OAGG;IACH,kCAHW,gBAAgB,qCAyC1B;IApBC,eAAe;IACf,+BAA8D;IAE9D;;;OAGG;IACH,4BAA6C;IAE7C;;;OAGG;IACH,sBAAsB;IAEtB;;;OAGG;IACH,0BAA2B;IAG7B;;;OAGG;IACH,yBAFY,OAAO,CASlB;IAED;;OAEG;IACH,mBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,kCAHW,OAAO,mBAAmB,EAAE,OAAO,QAqB7C;IAED;;;OAGG;IACH,+BAHW,MAAM,eACN,MAAM,QAoBhB;CACF"}
package/TileQueue.js CHANGED
@@ -91,7 +91,9 @@ var TileQueue = /** @class */ (function (_super) {
91
91
  if (state === TileState.LOADED ||
92
92
  state === TileState.ERROR ||
93
93
  state === TileState.EMPTY) {
94
- tile.removeEventListener(EventType.CHANGE, this.boundHandleTileChange_);
94
+ if (state !== TileState.ERROR) {
95
+ tile.removeEventListener(EventType.CHANGE, this.boundHandleTileChange_);
96
+ }
95
97
  var tileKey = tile.getKey();
96
98
  if (tileKey in this.tilesLoadingKeys_) {
97
99
  delete this.tilesLoadingKeys_[tileKey];
package/TileQueue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"TileQueue.js","sourceRoot":"","sources":["src/TileQueue.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileQueue.js","sourceRoot":"","sources":["src/TileQueue.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deflate.d.ts","sourceRoot":"","sources":["../../src/geom/flat/deflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,mDANW,MAAM,MAAM,CAAC,UACb,MAAM,cACN,OAAO,qBAAqB,EAAE,UAAU,UACxC,MAAM,GACL,MAAM,CAOjB;AAED;;;;;;GAMG;AACH,oDANW,MAAM,MAAM,CAAC,UACb,MAAM,eACN,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,UAC/C,MAAM,GACL,MAAM,CAejB;AAED;;;;;;;GAOG;AACH,yDAPW,MAAM,MAAM,CAAC,UACb,MAAM,gBACN,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,UACtD,MAAM,oCAEL,MAAM,MAAM,CAAC,CAuBxB;AAED;;;;;;;GAOG;AACH,8DAPW,MAAM,MAAM,CAAC,UACb,MAAM,iBACN,MAAM,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,UAC7D,MAAM,uCAEL,MAAM,MAAM,MAAM,CAAC,CAAC,CAwB/B"}
1
+ {"version":3,"file":"deflate.d.ts","sourceRoot":"","sources":["../../src/geom/flat/deflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,mDANW,MAAM,MAAM,CAAC,UACb,MAAM,cACN,OAAO,qBAAqB,EAAE,UAAU,UACxC,MAAM,GACL,MAAM,CAOjB;AAED;;;;;;GAMG;AACH,oDANW,MAAM,MAAM,CAAC,UACb,MAAM,eACN,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,UAC/C,MAAM,GACL,MAAM,CAejB;AAED;;;;;;;GAOG;AACH,yDAPW,MAAM,MAAM,CAAC,UACb,MAAM,gBACN,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,UACtD,MAAM,oCAEL,MAAM,MAAM,CAAC,CAuBxB;AAED;;;;;;;GAOG;AACH,8DAPW,MAAM,MAAM,CAAC,UACb,MAAM,iBACN,MAAM,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,UAC7D,MAAM,uCAEL,MAAM,MAAM,MAAM,CAAC,CAAC,CA2B/B"}
@@ -62,6 +62,9 @@ export function deflateMultiCoordinatesArray(flatCoordinates, offset, coordinate
62
62
  var i = 0;
63
63
  for (var j = 0, jj = coordinatesss.length; j < jj; ++j) {
64
64
  var ends = deflateCoordinatesArray(flatCoordinates, offset, coordinatesss[j], stride, endss[i]);
65
+ if (ends.length === 0) {
66
+ ends[0] = offset;
67
+ }
65
68
  endss[i++] = ends;
66
69
  offset = ends[ends.length - 1];
67
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deflate.js","sourceRoot":"","sources":["../../src/geom/flat/deflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACnD,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;KAC3C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,eAAe,EACf,MAAM,EACN,WAAW,EACX,MAAM;IAEN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACpD,IAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3C;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAe,EACf,MAAM,EACN,YAAY,EACZ,MAAM,EACN,QAAQ;IAER,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACrD,IAAM,GAAG,GAAG,kBAAkB,CAC5B,eAAe,EACf,MAAM,EACN,YAAY,CAAC,CAAC,CAAC,EACf,MAAM,CACP,CAAC;QACF,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAChB,MAAM,GAAG,GAAG,CAAC;KACd;IACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,eAAe,EACf,MAAM,EACN,aAAa,EACb,MAAM,EACN,SAAS;IAET,IAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACtD,IAAM,IAAI,GAAG,uBAAuB,CAClC,eAAe,EACf,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,EAChB,MAAM,EACN,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"deflate.js","sourceRoot":"","sources":["../../src/geom/flat/deflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACnD,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;KAC3C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,eAAe,EACf,MAAM,EACN,WAAW,EACX,MAAM;IAEN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACpD,IAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3C;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAe,EACf,MAAM,EACN,YAAY,EACZ,MAAM,EACN,QAAQ;IAER,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACrD,IAAM,GAAG,GAAG,kBAAkB,CAC5B,eAAe,EACf,MAAM,EACN,YAAY,CAAC,CAAC,CAAC,EACf,MAAM,CACP,CAAC;QACF,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAChB,MAAM,GAAG,GAAG,CAAC;KACd;IACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,eAAe,EACf,MAAM,EACN,aAAa,EACb,MAAM,EACN,SAAS;IAET,IAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACtD,IAAM,IAAI,GAAG,uBAAuB,CAClC,eAAe,EACf,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,EAChB,MAAM,EACN,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SAClB;QACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inflate.d.ts","sourceRoot":"","sources":["../../src/geom/flat/inflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;GAOG;AACH,oDAPW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,6EAEL,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAgB1D;AAED;;;;;;;GAOG;AACH,yDAPW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,gFAEL,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAwBjE;AAED;;;;;;;;GAQG;AACH,8DARW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,mFAGL,MAAM,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,CAyBxE"}
1
+ {"version":3,"file":"inflate.d.ts","sourceRoot":"","sources":["../../src/geom/flat/inflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;GAOG;AACH,oDAPW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,6EAEL,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAgB1D;AAED;;;;;;;GAOG;AACH,yDAPW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,gFAEL,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAwBjE;AAED;;;;;;;;GAQG;AACH,8DARW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,mFAGL,MAAM,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,CA4BxE"}
@@ -51,7 +51,10 @@ export function inflateMultiCoordinatesArray(flatCoordinates, offset, endss, str
51
51
  var i = 0;
52
52
  for (var j = 0, jj = endss.length; j < jj; ++j) {
53
53
  var ends = endss[j];
54
- coordinatesss[i++] = inflateCoordinatesArray(flatCoordinates, offset, ends, stride, coordinatesss[i]);
54
+ coordinatesss[i++] =
55
+ ends.length === 1 && ends[0] === offset
56
+ ? []
57
+ : inflateCoordinatesArray(flatCoordinates, offset, ends, stride, coordinatesss[i]);
55
58
  offset = ends[ends.length - 1];
56
59
  }
57
60
  coordinatesss.length = i;
@@ -1 +1 @@
1
- {"version":3,"file":"inflate.js","sourceRoot":"","sources":["../../src/geom/flat/inflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,eAAe,EACf,MAAM,EACN,GAAG,EACH,MAAM,EACN,eAAe;IAEf,IAAM,WAAW,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE;QACzC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;KACzD;IACD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAe,EACf,MAAM,EACN,IAAI,EACJ,MAAM,EACN,gBAAgB;IAEhB,IAAM,YAAY,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,CACpC,eAAe,EACf,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;QACF,MAAM,GAAG,GAAG,CAAC;KACd;IACD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,eAAe,EACf,MAAM,EACN,KAAK,EACL,MAAM,EACN,iBAAiB;IAEjB,IAAM,aAAa,GACjB,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC9C,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAC1C,eAAe,EACf,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;QACF,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"inflate.js","sourceRoot":"","sources":["../../src/geom/flat/inflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,eAAe,EACf,MAAM,EACN,GAAG,EACH,MAAM,EACN,eAAe;IAEf,IAAM,WAAW,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE;QACzC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;KACzD;IACD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAe,EACf,MAAM,EACN,IAAI,EACJ,MAAM,EACN,gBAAgB;IAEhB,IAAM,YAAY,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,CACpC,eAAe,EACf,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;QACF,MAAM,GAAG,GAAG,CAAC;KACd;IACD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,eAAe,EACf,MAAM,EACN,KAAK,EACL,MAAM,EACN,iBAAiB;IAEjB,IAAM,aAAa,GACjB,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC9C,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,aAAa,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,uBAAuB,CACrB,eAAe,EACf,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;QACR,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol",
3
- "version": "7.0.0-dev.1658343947608",
3
+ "version": "7.0.0-dev.1658477212801",
4
4
  "description": "OpenLayers mapping library",
5
5
  "keywords": [
6
6
  "map",
@@ -22,6 +22,7 @@
22
22
  "url": "https://opencollective.com/openlayers"
23
23
  },
24
24
  "dependencies": {
25
+ "earcut": "^2.2.3",
25
26
  "geotiff": "2.0.4",
26
27
  "ol-mapbox-style": "^8.0.5",
27
28
  "pbf": "3.2.1",
@@ -0,0 +1,92 @@
1
+ export default AbstractBatchRenderer;
2
+ /**
3
+ * A description of a custom attribute to be passed on to the GPU, with a value different
4
+ * for each feature.
5
+ */
6
+ export type CustomAttribute = {
7
+ /**
8
+ * Attribute name.
9
+ */
10
+ name: string;
11
+ /**
12
+ * This callback computes the numerical value of the
13
+ * attribute for a given feature.
14
+ */
15
+ callback: (arg0: import("../../Feature").default) => number;
16
+ };
17
+ /**
18
+ * @classdesc Abstract class for batch renderers.
19
+ * Batch renderers are meant to render the geometries contained in a {@link module:ol/render/webgl/GeometryBatch}
20
+ * instance. They are responsible for generating render instructions and transforming them into WebGL buffers.
21
+ */
22
+ declare class AbstractBatchRenderer {
23
+ /**
24
+ * @param {import("../../webgl/Helper.js").default} helper WebGL helper instance
25
+ * @param {Worker} worker WebGL worker instance
26
+ * @param {string} vertexShader Vertex shader
27
+ * @param {string} fragmentShader Fragment shader
28
+ * @param {Array<CustomAttribute>} customAttributes List of custom attributes
29
+ */
30
+ constructor(helper: import("../../webgl/Helper.js").default, worker: Worker, vertexShader: string, fragmentShader: string, customAttributes: Array<CustomAttribute>);
31
+ /**
32
+ * @type {import("../../webgl/Helper.js").default}
33
+ * @private
34
+ */
35
+ private helper_;
36
+ /**
37
+ * @type {Worker}
38
+ * @private
39
+ */
40
+ private worker_;
41
+ /**
42
+ * @type {WebGLProgram}
43
+ * @private
44
+ */
45
+ private program_;
46
+ /**
47
+ * A list of attributes used by the renderer.
48
+ * @type {Array<import('../../webgl/Helper.js').AttributeDescription>}
49
+ * @protected
50
+ */
51
+ protected attributes: Array<import('../../webgl/Helper.js').AttributeDescription>;
52
+ /**
53
+ * @type {Array<CustomAttribute>}
54
+ * @protected
55
+ */
56
+ protected customAttributes: Array<CustomAttribute>;
57
+ /**
58
+ * Rebuild rendering instructions and webgl buffers based on the provided frame state
59
+ * Note: this is a costly operation.
60
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
61
+ * @param {import("../../PluggableMap").FrameState} frameState Frame state.
62
+ * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
63
+ * @param {function(): void} callback Function called once the render buffers are updated
64
+ */
65
+ rebuild(batch: import("./MixedGeometryBatch.js").GeometryBatch, frameState: import("../../PluggableMap").FrameState, geometryType: import("../../geom/Geometry.js").Type, callback: () => void): void;
66
+ /**
67
+ * Render the geometries in the batch. This will also update the current transform used for rendering according to
68
+ * the invert transform of the webgl buffers
69
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
70
+ * @param {import("../../transform.js").Transform} currentTransform Transform
71
+ * @param {import("../../PluggableMap.js").FrameState} frameState Frame state.
72
+ * @param {number} offsetX X offset
73
+ */
74
+ render(batch: import("./MixedGeometryBatch.js").GeometryBatch, currentTransform: import("../../transform.js").Transform, frameState: import("../../PluggableMap.js").FrameState, offsetX: number): void;
75
+ /**
76
+ * Rebuild rendering instructions based on the provided frame state
77
+ * This is specific to the geometry type and has to be implemented by subclasses.
78
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
79
+ * @protected
80
+ */
81
+ protected generateRenderInstructions(batch: import("./MixedGeometryBatch.js").GeometryBatch): void;
82
+ /**
83
+ * Rebuild internal webgl buffers for rendering based on the current rendering instructions;
84
+ * This is asynchronous: webgl buffers wil _not_ be updated right away
85
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
86
+ * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
87
+ * @param {function(): void} callback Function called once the render buffers are updated
88
+ * @private
89
+ */
90
+ private generateBuffers_;
91
+ }
92
+ //# sourceMappingURL=BatchRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchRenderer.d.ts","sourceRoot":"","sources":["../../src/render/webgl/BatchRenderer.js"],"names":[],"mappings":";;;;;;;;;UAec,MAAM;;;;;qBACG,OAAO,eAAe,EAAE,OAAO,KAAE,MAAM;;AAM9D;;;;GAIG;AACH;IACE;;;;;;OAMG;IACH,oBANW,OAAO,uBAAuB,EAAE,OAAO,UACvC,MAAM,gBACN,MAAM,kBACN,MAAM,oBACN,MAAM,eAAe,CAAC,EAiChC;IA9BC;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,iBAAqE;IAErE;;;;OAIG;IACH,sBAHU,MAAM,OAAO,uBAAuB,EAAE,oBAAoB,CAAC,CAGjD;IAEpB;;;OAGG;IACH,4BAHU,MAAM,eAAe,CAAC,CAGQ;IAG1C;;;;;;;OAOG;IACH,eALW,OAAO,yBAAyB,EAAE,aAAa,cAC/C,OAAO,oBAAoB,EAAE,UAAU,gBACvC,OAAO,wBAAwB,EAAE,IAAI,kBACzB,IAAI,QAU1B;IAED;;;;;;;OAOG;IACH,cALW,OAAO,yBAAyB,EAAE,aAAa,oBAC/C,OAAO,oBAAoB,EAAE,SAAS,cACtC,OAAO,uBAAuB,EAAE,UAAU,WAC1C,MAAM,QAgBhB;IAED;;;;;OAKG;IACH,4CAHW,OAAO,yBAAyB,EAAE,aAAa,QAKzD;IAED;;;;;;;OAOG;IACH,yBAqEC;CACF"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * @module ol/render/webgl/BatchRenderer
3
+ */
4
+ import { WebGLWorkerMessageType } from './constants.js';
5
+ import { abstract } from '../../util.js';
6
+ import { create as createTransform, makeInverse as makeInverseTransform, multiply as multiplyTransform, translate as translateTransform, } from '../../transform.js';
7
+ /**
8
+ * @typedef {Object} CustomAttribute A description of a custom attribute to be passed on to the GPU, with a value different
9
+ * for each feature.
10
+ * @property {string} name Attribute name.
11
+ * @property {function(import("../../Feature").default):number} callback This callback computes the numerical value of the
12
+ * attribute for a given feature.
13
+ */
14
+ var workerMessageCounter = 0;
15
+ /**
16
+ * @classdesc Abstract class for batch renderers.
17
+ * Batch renderers are meant to render the geometries contained in a {@link module:ol/render/webgl/GeometryBatch}
18
+ * instance. They are responsible for generating render instructions and transforming them into WebGL buffers.
19
+ */
20
+ var AbstractBatchRenderer = /** @class */ (function () {
21
+ /**
22
+ * @param {import("../../webgl/Helper.js").default} helper WebGL helper instance
23
+ * @param {Worker} worker WebGL worker instance
24
+ * @param {string} vertexShader Vertex shader
25
+ * @param {string} fragmentShader Fragment shader
26
+ * @param {Array<CustomAttribute>} customAttributes List of custom attributes
27
+ */
28
+ function AbstractBatchRenderer(helper, worker, vertexShader, fragmentShader, customAttributes) {
29
+ /**
30
+ * @type {import("../../webgl/Helper.js").default}
31
+ * @private
32
+ */
33
+ this.helper_ = helper;
34
+ /**
35
+ * @type {Worker}
36
+ * @private
37
+ */
38
+ this.worker_ = worker;
39
+ /**
40
+ * @type {WebGLProgram}
41
+ * @private
42
+ */
43
+ this.program_ = this.helper_.getProgram(fragmentShader, vertexShader);
44
+ /**
45
+ * A list of attributes used by the renderer.
46
+ * @type {Array<import('../../webgl/Helper.js').AttributeDescription>}
47
+ * @protected
48
+ */
49
+ this.attributes = [];
50
+ /**
51
+ * @type {Array<CustomAttribute>}
52
+ * @protected
53
+ */
54
+ this.customAttributes = customAttributes;
55
+ }
56
+ /**
57
+ * Rebuild rendering instructions and webgl buffers based on the provided frame state
58
+ * Note: this is a costly operation.
59
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
60
+ * @param {import("../../PluggableMap").FrameState} frameState Frame state.
61
+ * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
62
+ * @param {function(): void} callback Function called once the render buffers are updated
63
+ */
64
+ AbstractBatchRenderer.prototype.rebuild = function (batch, frameState, geometryType, callback) {
65
+ // store transform for rendering instructions
66
+ batch.renderInstructionsTransform = this.helper_.makeProjectionTransform(frameState, createTransform());
67
+ this.generateRenderInstructions(batch);
68
+ this.generateBuffers_(batch, geometryType, callback);
69
+ };
70
+ /**
71
+ * Render the geometries in the batch. This will also update the current transform used for rendering according to
72
+ * the invert transform of the webgl buffers
73
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
74
+ * @param {import("../../transform.js").Transform} currentTransform Transform
75
+ * @param {import("../../PluggableMap.js").FrameState} frameState Frame state.
76
+ * @param {number} offsetX X offset
77
+ */
78
+ AbstractBatchRenderer.prototype.render = function (batch, currentTransform, frameState, offsetX) {
79
+ // multiply the current projection transform with the invert of the one used to fill buffers
80
+ this.helper_.makeProjectionTransform(frameState, currentTransform);
81
+ translateTransform(currentTransform, offsetX, 0);
82
+ multiplyTransform(currentTransform, batch.invertVerticesBufferTransform);
83
+ // enable program, buffers and attributes
84
+ this.helper_.useProgram(this.program_, frameState);
85
+ this.helper_.bindBuffer(batch.verticesBuffer);
86
+ this.helper_.bindBuffer(batch.indicesBuffer);
87
+ this.helper_.enableAttributes(this.attributes);
88
+ var renderCount = batch.indicesBuffer.getSize();
89
+ this.helper_.drawElements(0, renderCount);
90
+ };
91
+ /**
92
+ * Rebuild rendering instructions based on the provided frame state
93
+ * This is specific to the geometry type and has to be implemented by subclasses.
94
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
95
+ * @protected
96
+ */
97
+ AbstractBatchRenderer.prototype.generateRenderInstructions = function (batch) {
98
+ abstract();
99
+ };
100
+ /**
101
+ * Rebuild internal webgl buffers for rendering based on the current rendering instructions;
102
+ * This is asynchronous: webgl buffers wil _not_ be updated right away
103
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
104
+ * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
105
+ * @param {function(): void} callback Function called once the render buffers are updated
106
+ * @private
107
+ */
108
+ AbstractBatchRenderer.prototype.generateBuffers_ = function (batch, geometryType, callback) {
109
+ var messageId = workerMessageCounter++;
110
+ var messageType;
111
+ switch (geometryType) {
112
+ case 'Polygon':
113
+ messageType = WebGLWorkerMessageType.GENERATE_POLYGON_BUFFERS;
114
+ break;
115
+ case 'Point':
116
+ messageType = WebGLWorkerMessageType.GENERATE_POINT_BUFFERS;
117
+ break;
118
+ case 'LineString':
119
+ messageType = WebGLWorkerMessageType.GENERATE_LINE_STRING_BUFFERS;
120
+ break;
121
+ default:
122
+ // pass
123
+ }
124
+ /** @type {import('./constants.js').WebGLWorkerGenerateBuffersMessage} */
125
+ var message = {
126
+ id: messageId,
127
+ type: messageType,
128
+ renderInstructions: batch.renderInstructions.buffer,
129
+ renderInstructionsTransform: batch.renderInstructionsTransform,
130
+ customAttributesCount: this.customAttributes.length,
131
+ };
132
+ this.worker_.postMessage(message, [batch.renderInstructions.buffer]);
133
+ // leave ownership of render instructions
134
+ batch.renderInstructions = null;
135
+ var handleMessage =
136
+ /**
137
+ * @param {*} event Event.
138
+ * @this {AbstractBatchRenderer}
139
+ */
140
+ function (event) {
141
+ var received = event.data;
142
+ // this is not the response to our request: skip
143
+ if (received.id !== messageId) {
144
+ return;
145
+ }
146
+ // we've received our response: stop listening
147
+ this.worker_.removeEventListener('message', handleMessage);
148
+ // store transform & invert transform for webgl buffers
149
+ batch.verticesBufferTransform = received.renderInstructionsTransform;
150
+ makeInverseTransform(batch.invertVerticesBufferTransform, batch.verticesBufferTransform);
151
+ // copy & flush received buffers to GPU
152
+ batch.verticesBuffer.fromArrayBuffer(received.vertexBuffer);
153
+ this.helper_.flushBufferData(batch.verticesBuffer);
154
+ batch.indicesBuffer.fromArrayBuffer(received.indexBuffer);
155
+ this.helper_.flushBufferData(batch.indicesBuffer);
156
+ // take back ownership of the render instructions for further use
157
+ batch.renderInstructions = new Float32Array(received.renderInstructions);
158
+ callback();
159
+ }.bind(this);
160
+ this.worker_.addEventListener('message', handleMessage);
161
+ };
162
+ return AbstractBatchRenderer;
163
+ }());
164
+ export default AbstractBatchRenderer;
165
+ //# sourceMappingURL=BatchRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchRenderer.js","sourceRoot":"","sources":["../../src/render/webgl/BatchRenderer.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Names of attributes made available to the vertex shader.
3
+ * Please note: changing these *will* break custom shaders!
4
+ */
5
+ export type Attributes = string;
6
+ export namespace Attributes {
7
+ const SEGMENT_START: string;
8
+ const SEGMENT_END: string;
9
+ const PARAMETERS: string;
10
+ }
11
+ export default LineStringBatchRenderer;
12
+ declare class LineStringBatchRenderer extends AbstractBatchRenderer {
13
+ attributes: {
14
+ name: string;
15
+ size: number;
16
+ type: number;
17
+ }[];
18
+ /**
19
+ * Render instructions for lines are structured like so:
20
+ * [ customAttr0, ... , customAttrN, numberOfVertices0, x0, y0, ... , xN, yN, numberOfVertices1, ... ]
21
+ * @param {import("./MixedGeometryBatch.js").LineStringGeometryBatch} batch Linestring geometry batch
22
+ * @override
23
+ */
24
+ override generateRenderInstructions(batch: import("./MixedGeometryBatch.js").LineStringGeometryBatch): void;
25
+ }
26
+ import AbstractBatchRenderer from "./BatchRenderer.js";
27
+ //# sourceMappingURL=LineStringBatchRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineStringBatchRenderer.d.ts","sourceRoot":"","sources":["../../src/render/webgl/LineStringBatchRenderer.js"],"names":[],"mappings":";;;;yBAUU,MAAM;;;;;;;AAQhB;IAYI;;;;QAwBC;IAGH;;;;;OAKG;IACH,2CAHW,OAAO,yBAAyB,EAAE,uBAAuB,QAoDnE;CACF"}