ol 10.3.2-dev.1737448999971 → 10.3.2-dev.1737622602778

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.
@@ -249,6 +249,7 @@ class WebGLVectorLayerRenderer extends WebGLLayerRenderer {
249
249
  this.styleVariables_,
250
250
  this.helper,
251
251
  this.hitDetectionEnabled_,
252
+ 'filter' in style ? style.filter : null,
252
253
  ),
253
254
  );
254
255
  }
@@ -543,20 +544,24 @@ class WebGLVectorLayerRenderer extends WebGLLayerRenderer {
543
544
  * @param {import('../../render/webgl/VectorStyleRenderer.js').WebGLBuffers} buffers Buffers
544
545
  */
545
546
  disposeBuffers(buffers) {
547
+ /**
548
+ * @param {Array<import('../../webgl/Buffer.js').default>} typeBuffers Buffers
549
+ */
550
+ const disposeBuffersOfType = (typeBuffers) => {
551
+ for (const buffer of typeBuffers) {
552
+ if (buffer) {
553
+ this.helper.deleteBuffer(buffer);
554
+ }
555
+ }
556
+ };
546
557
  if (buffers.pointBuffers) {
547
- buffers.pointBuffers
548
- .filter(Boolean)
549
- .forEach((buffer) => this.helper.deleteBuffer(buffer));
558
+ disposeBuffersOfType(buffers.pointBuffers);
550
559
  }
551
560
  if (buffers.lineStringBuffers) {
552
- buffers.lineStringBuffers
553
- .filter(Boolean)
554
- .forEach((buffer) => this.helper.deleteBuffer(buffer));
561
+ disposeBuffersOfType(buffers.lineStringBuffers);
555
562
  }
556
563
  if (buffers.polygonBuffers) {
557
- buffers.polygonBuffers
558
- .filter(Boolean)
559
- .forEach((buffer) => this.helper.deleteBuffer(buffer));
564
+ disposeBuffersOfType(buffers.polygonBuffers);
560
565
  }
561
566
  }
562
567
 
@@ -566,7 +571,9 @@ class WebGLVectorLayerRenderer extends WebGLLayerRenderer {
566
571
  */
567
572
  disposeInternal() {
568
573
  this.buffers_.forEach((buffers) => {
569
- this.disposeBuffers(buffers);
574
+ if (buffers) {
575
+ this.disposeBuffers(buffers);
576
+ }
570
577
  });
571
578
  if (this.sourceListenKeys_) {
572
579
  this.sourceListenKeys_.forEach(function (key) {
@@ -1 +1 @@
1
- {"version":3,"file":"VectorTileLayer.d.ts","sourceRoot":"","sources":["VectorTileLayer.js"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;EAIE;;;;;6BAOW,OAAO,2CAA2C,EAAE,SAAS;0BAG7D,OAAO,2CAA2C,EAAE,MAAM;;;;;WAKzD,OAAO,qBAAqB,EAAE,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,cAAc;;;;;;;;;;;;;;;;;;;;AATlG;;GAEG;AACH;;GAEG;AAEH;;;;;;;;;GASG;AAEH;;GAEG;AAEH;;;;GAIG;AACH;IACE;;;OAGG;IACH,uBAHW,SAAS,WACT,OAAO,EAuFjB;IA5EC;;;OAGG;IACH,6BAAwD;IAExD;;;OAGG;IACH,gBAAiB;IAEjB;;;OAGG;IACH,wBAA8C;IAE9C;;;OAGG;IACH,wBAAyB;IAEzB;;;;;;OAMG;IACH,oCAAoD;IAEpD;;OAEG;IACH,sBAAsC;IACtC;;OAEG;IACH,iBAA4B;IAE5B;;;OAGG;IACH,wBAA2B;IAE3B;;OAEG;IACH,yBAGC;IAGD;;;OAGG;IACH,4BAMC;IAED;;;OAGG;IACH,yBAAqB;IAKvB;;;OAGG;IACH,wBAHW,OAAO,QAWjB;IAED;;;OAGG;IACH,sBAEC;IAED;;OAEG;IACH,yBAwCC;IAED;;OAEG;IACH,sBAYC;IAUD;;OAEG;IACH,8DAWC;IAED;;OAEG;IACH,uEAMC;IAED;;OAEG;IACH,yDA0BC;IAED;;OAEG;IACH,4FAeC;IAED;;;;;;;OAOG;IACH,uBAoBC;IAED;;OAEG;IACH,sNA4BC;IAED;;;OAGG;IACH,4BAFW,OAAO,cAAc,EAAE,UAAU,QAEd;CAS/B;uCAzXM,oBAAoB;yBALF,6BAA6B"}
1
+ {"version":3,"file":"VectorTileLayer.d.ts","sourceRoot":"","sources":["VectorTileLayer.js"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;EAIE;;;;;6BAOW,OAAO,2CAA2C,EAAE,SAAS;0BAG7D,OAAO,2CAA2C,EAAE,MAAM;;;;;WAKzD,OAAO,qBAAqB,EAAE,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,cAAc;;;;;;;;;;;;;;;;;;;;AATlG;;GAEG;AACH;;GAEG;AAEH;;;;;;;;;GASG;AAEH;;GAEG;AAEH;;;;GAIG;AACH;IACE;;;OAGG;IACH,uBAHW,SAAS,WACT,OAAO,EAuFjB;IA5EC;;;OAGG;IACH,6BAAwD;IAExD;;;OAGG;IACH,gBAAiB;IAEjB;;;OAGG;IACH,wBAA8C;IAE9C;;;OAGG;IACH,wBAAyB;IAEzB;;;;;;OAMG;IACH,oCAAoD;IAEpD;;OAEG;IACH,sBAAsC;IACtC;;OAEG;IACH,iBAA4B;IAE5B;;;OAGG;IACH,wBAA2B;IAE3B;;OAEG;IACH,yBAGC;IAGD;;;OAGG;IACH,4BAMC;IAED;;;OAGG;IACH,yBAAqB;IAKvB;;;OAGG;IACH,wBAHW,OAAO,QAWjB;IAED;;;OAGG;IACH,sBAEC;IAED;;OAEG;IACH,yBAyCC;IAED;;OAEG;IACH,sBAYC;IAUD;;OAEG;IACH,8DAWC;IAED;;OAEG;IACH,uEAMC;IAED;;OAEG;IACH,yDA0BC;IAED;;OAEG;IACH,4FAeC;IAED;;;;;;;OAOG;IACH,uBAoBC;IAED;;OAEG;IACH,sNA+BC;IAED;;;OAGG;IACH,4BAFW,OAAO,cAAc,EAAE,UAAU,QAEd;CAS/B;uCA7XM,oBAAoB;yBALF,6BAA6B"}
@@ -218,6 +218,7 @@ class WebGLVectorTileLayerRenderer extends WebGLBaseTileLayerRenderer {
218
218
  this.styleVariables_,
219
219
  this.helper,
220
220
  this.hitDetectionEnabled_,
221
+ 'filter' in style ? style.filter : null,
221
222
  );
222
223
  });
223
224
  }
@@ -376,6 +377,9 @@ class WebGLVectorTileLayerRenderer extends WebGLBaseTileLayerRenderer {
376
377
  for (let i = 0, ii = this.styleRenderers_.length; i < ii; i++) {
377
378
  const renderer = this.styleRenderers_[i];
378
379
  const buffers = tileRepresentation.buffers[i];
380
+ if (!buffers) {
381
+ continue;
382
+ }
379
383
  renderer.render(buffers, frameState, () => {
380
384
  this.applyUniforms_(
381
385
  alpha,
package/util.js CHANGED
@@ -33,4 +33,4 @@ export function getUid(obj) {
33
33
  * OpenLayers version.
34
34
  * @type {string}
35
35
  */
36
- export const VERSION = '10.3.2-dev.1737448999971';
36
+ export const VERSION = '10.3.2-dev.1737622602778';
@@ -34,6 +34,11 @@ declare class TileGeometry extends BaseTileRepresentation<import("../VectorRende
34
34
  * @private
35
35
  */
36
36
  private generateMaskBuffer_;
37
+ /**
38
+ * Will release a set of Webgl buffers
39
+ * @param {import('../render/webgl/VectorStyleRenderer.js').WebGLBuffers} buffers Buffers
40
+ */
41
+ disposeBuffers(buffers: import("../render/webgl/VectorStyleRenderer.js").WebGLBuffers): void;
37
42
  }
38
43
  import BaseTileRepresentation from './BaseTileRepresentation.js';
39
44
  import WebGLArrayBuffer from './Buffer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"TileGeometry.d.ts","sourceRoot":"","sources":["TileGeometry.js"],"names":[],"mappings":";uBAca,OAAO,qBAAqB,EAAE,OAAO;AADlD;;GAEG;AAEH;;GAEG;AACH;IACE;;;OAGG;IACH,qBAHW,OAAO,6BAA6B,EAAE,yBAAyB,CAAC,QAAQ,CAAC,kBACzE,KAAK,CAAC,OAAO,wCAAwC,EAAE,OAAO,CAAC,EA4BzE;IAvBC;;OAEG;IACH,eAAsC;IAEtC;;OAEG;IACH,wBAAqC;IAErC;;OAEG;IACH,SAFU,KAAK,CAAC,OAAO,wCAAwC,EAAE,YAAY,CAAC,CAE7D;IAEjB;;;;OAIG;IACH,+BAAmE;IAKrE;;OAEG;IACH,4BAaC;CAiCF;mCA5FkC,6BAA6B;6BACnC,aAAa"}
1
+ {"version":3,"file":"TileGeometry.d.ts","sourceRoot":"","sources":["TileGeometry.js"],"names":[],"mappings":";uBAca,OAAO,qBAAqB,EAAE,OAAO;AADlD;;GAEG;AAEH;;GAEG;AACH;IACE;;;OAGG;IACH,qBAHW,OAAO,6BAA6B,EAAE,yBAAyB,CAAC,QAAQ,CAAC,kBACzE,KAAK,CAAC,OAAO,wCAAwC,EAAE,OAAO,CAAC,EA4BzE;IAvBC;;OAEG;IACH,eAAsC;IAEtC;;OAEG;IACH,wBAAqC;IAErC;;OAEG;IACH,SAFU,KAAK,CAAC,OAAO,wCAAwC,EAAE,YAAY,CAAC,CAE7D;IAEjB;;;;OAIG;IACH,+BAAmE;IAKrE;;OAEG;IACH,4BAaC;IA4CD;;;OAGG;IACH,wBAFW,OAAO,wCAAwC,EAAE,YAAY,QAsBvE;CACF;mCAhIkC,6BAA6B;6BACnC,aAAa"}
@@ -100,6 +100,42 @@ class TileGeometry extends BaseTileRepresentation {
100
100
  this.setReady();
101
101
  });
102
102
  }
103
+
104
+ /**
105
+ * @override
106
+ */
107
+ disposeInternal() {
108
+ this.buffers.forEach((buffers) => {
109
+ this.disposeBuffers(buffers);
110
+ });
111
+ super.disposeInternal();
112
+ }
113
+
114
+ /**
115
+ * Will release a set of Webgl buffers
116
+ * @param {import('../render/webgl/VectorStyleRenderer.js').WebGLBuffers} buffers Buffers
117
+ */
118
+ disposeBuffers(buffers) {
119
+ /**
120
+ * @param {Array<WebGLArrayBuffer>} typeBuffers Buffers
121
+ */
122
+ const disposeBuffersOfType = (typeBuffers) => {
123
+ for (const buffer of typeBuffers) {
124
+ if (buffer) {
125
+ this.helper.deleteBuffer(buffer);
126
+ }
127
+ }
128
+ };
129
+ if (buffers.pointBuffers) {
130
+ disposeBuffersOfType(buffers.pointBuffers);
131
+ }
132
+ if (buffers.lineStringBuffers) {
133
+ disposeBuffersOfType(buffers.lineStringBuffers);
134
+ }
135
+ if (buffers.polygonBuffers) {
136
+ disposeBuffersOfType(buffers.polygonBuffers);
137
+ }
138
+ }
103
139
  }
104
140
 
105
141
  export default TileGeometry;
@@ -1 +1 @@
1
- {"version":3,"file":"styleparser.d.ts","sourceRoot":"","sources":["styleparser.js"],"names":[],"mappings":"AA2BA;;;;;;;GAOG;AACH,qDALW,OAAO,gBAAgB,EAAE,kBAAkB,SAC3C,OAAO,uBAAuB,EAAE,iBAAiB,iBACjD,MAAM,GACL,MAAM,CAUjB;AAED;;;;GAIG;AACH,iCAHW,OAAO,aAAa,EAAE,KAAK,GAAC,MAAM,GACjC,KAAK,CAAC,MAAM,CAAC,CASxB;AAqCD;;;;GAIG;AACH,mCAHW,MAAO,MAAM,GACZ,MAAM,CAOjB;AAgvBD;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AACH,yCALW,OAAO,kBAAkB,EAAE,SAAS,cACpC,OAAO,kBAAkB,EAAE,cAAc,WACzC,OAAO,uBAAuB,EAAE,iBAAiB,GAChD,gBAAgB,CAgK3B;;;;;aAhLa,aAAa;;;;cACb,OAAO,wCAAwC,EAAE,kBAAkB;;;;gBACnE,OAAO,wCAAwC,EAAE,oBAAoB;;8BAn0BvD,oBAAoB"}
1
+ {"version":3,"file":"styleparser.d.ts","sourceRoot":"","sources":["styleparser.js"],"names":[],"mappings":"AA2BA;;;;;;;GAOG;AACH,qDALW,OAAO,gBAAgB,EAAE,kBAAkB,SAC3C,OAAO,uBAAuB,EAAE,iBAAiB,iBACjD,MAAM,GACL,MAAM,CAUjB;AAED;;;;GAIG;AACH,iCAHW,OAAO,aAAa,EAAE,KAAK,GAAC,MAAM,GACjC,KAAK,CAAC,MAAM,CAAC,CASxB;AAqCD;;;;GAIG;AACH,mCAHW,MAAO,MAAM,GACZ,MAAM,CAOjB;AAgvBD;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AACH,yCALW,OAAO,kBAAkB,EAAE,SAAS,cACpC,OAAO,kBAAkB,EAAE,cAAc,WACzC,OAAO,uBAAuB,EAAE,iBAAiB,GAChD,gBAAgB,CAkK3B;;;;;aAlLa,aAAa;;;;cACb,OAAO,wCAAwC,EAAE,kBAAkB;;;;gBACnE,OAAO,wCAAwC,EAAE,oBAAoB;;8BAn0BvD,oBAAoB"}
@@ -901,6 +901,8 @@ export function parseLiteralStyle(style, variables, filter) {
901
901
  parseStrokeProperties(style, builder, uniforms, vertContext, fragContext);
902
902
  parseFillProperties(style, builder, uniforms, vertContext, fragContext);
903
903
 
904
+ // note that the style filter may have already been applied earlier when building the rendering instructions
905
+ // this is still needed in case a filter cannot be evaluated statically beforehand (e.g. depending on time)
904
906
  if (filter) {
905
907
  const parsedFilter = expressionToGlsl(fragContext, filter, BooleanType);
906
908
  builder.setFragmentDiscardExpression(`!${parsedFilter}`);