ol 9.2.2-dev.1716040825122 → 9.2.2-dev.1716041028869

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.
@@ -59,6 +59,7 @@ export const NumberType: number;
59
59
  export const StringType: number;
60
60
  export const ColorType: number;
61
61
  export const NumberArrayType: number;
62
+ export const SizeType: number;
62
63
  export const AnyType: number;
63
64
  /**
64
65
  * @typedef {boolean|number|string|Array<number>} LiteralValue
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["expression.js"],"names":[],"mappings":"AAoJA;;;;GAIG;AACH,+BAHW,MAAM,GACL,MAAM,CAgBjB;AAED;;;;GAIG;AACH,oCAJW,MAAM,YACN,MAAM,GACL,OAAO,CAIlB;AAED;;;;GAIG;AACH,sCAJW,MAAM,aACN,MAAM,GACL,OAAO,CAIlB;AAED;;;;GAIG;AACH,6BAJW,MAAM,YACN,MAAM,GACL,OAAO,CAIlB;AA8BD;;GAEG;AAEH;;;;;;;GAOG;AAEH;;GAEG;AACH,qCAFY,cAAc,CAUzB;AAuBD;;GAEG;AAEH;;;;;GAKG;AACH,+BALW,iBAAiB,WACjB,cAAc,kCAEb,UAAU,CAoDrB;AA4yBD;;;;GAIG;AACH,8CAHW,OAAO,qBAAqB,EAAE,OAAO,GAAC,OAAO,sBAAsB,EAAE,OAAO,GAC3E,OAAO,GAAC,YAAY,GAAC,SAAS,GAAC,EAAE,CA2B5C;AAnhCD,yBAA0B;AAC1B,iCAA2C;AAC3C,gCAA0C;AAC1C,gCAA0C;AAC1C,+BAAyC;AACzC,qCAA+C;AAC/C,6BAAiD;AA4DjD;;GAEG;AAEH;IACE;;;OAGG;IACH,kBAHW,MAAM,SACN,YAAY,EAKtB;IAFC,aAAgB;IAChB,oBAAkB;CAErB;AAED;IACE;;;;OAIG;IACH,kBAJW,MAAM,YACN,MAAM,WACH,UAAU,IAMvB;IAHC,aAAgB;IAChB,iBAAwB;IACxB,mBAAgB;CAEnB;AA+GD;;GAEG;AACH;QAFiB,MAAM,GAAE,MAAM;EAgD7B;yBA7JW,iBAAiB,GAAC,cAAc;;;;;eAK/B,IAAI,MAAM,CAAC;;;;gBACX,IAAI,MAAM,CAAC;;;;eACX,OAAO;;;;kBACP,OAAO;;;;WACP,OAAO,kBAAkB,EAAE,SAAS,GAAC,OAAO,mBAAmB,EAAE,UAAU;;gCAsC5E,YAAY,QAAM;;;;;;;kCA0XT,MAAM,iBAAiB,CAAC,QAAE,cAAc,QAAE,MAAM,UAAU,CAAC,QAAE,MAAM,YAAG,MAAM,UAAU,CAAC,GAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA7gBrG,UAAQ,GAAC,OAAO,aAAa,EAAE,KAAK,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO;2BAwE1D,OAAO,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,MAAM,CAAC;;;;yCA4LnB,cAAc,QAAE,MAAM,KAAE,UAAU"}
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["expression.js"],"names":[],"mappings":"AAsJA;;;;GAIG;AACH,+BAHW,MAAM,GACL,MAAM,CAgBjB;AAED;;;;GAIG;AACH,oCAJW,MAAM,YACN,MAAM,GACL,OAAO,CAIlB;AAED;;;;GAIG;AACH,sCAJW,MAAM,aACN,MAAM,GACL,OAAO,CAIlB;AAED;;;;GAIG;AACH,6BAJW,MAAM,YACN,MAAM,GACL,OAAO,CAIlB;AA8BD;;GAEG;AAEH;;;;;;;GAOG;AAEH;;GAEG;AACH,qCAFY,cAAc,CAUzB;AAuBD;;GAEG;AAEH;;;;;GAKG;AACH,+BALW,iBAAiB,WACjB,cAAc,kCAEb,UAAU,CAyDrB;AA8yBD;;;;GAIG;AACH,8CAHW,OAAO,qBAAqB,EAAE,OAAO,GAAC,OAAO,sBAAsB,EAAE,OAAO,GAC3E,OAAO,GAAC,YAAY,GAAC,SAAS,GAAC,EAAE,CA2B5C;AA5hCD,yBAA0B;AAC1B,iCAA2C;AAC3C,gCAA0C;AAC1C,gCAA0C;AAC1C,+BAAyC;AACzC,qCAA+C;AAC/C,8BAAwC;AACxC,6BAAiD;AA6DjD;;GAEG;AAEH;IACE;;;OAGG;IACH,kBAHW,MAAM,SACN,YAAY,EAKtB;IAFC,aAAgB;IAChB,oBAAkB;CAErB;AAED;IACE;;;;OAIG;IACH,kBAJW,MAAM,YACN,MAAM,WACH,UAAU,IAMvB;IAHC,aAAgB;IAChB,iBAAwB;IACxB,mBAAgB;CAEnB;AAoHD;;GAEG;AACH;QAFiB,MAAM,GAAE,MAAM;EAgD7B;yBAlKW,iBAAiB,GAAC,cAAc;;;;;eAK/B,IAAI,MAAM,CAAC;;;;gBACX,IAAI,MAAM,CAAC;;;;eACX,OAAO;;;;kBACP,OAAO;;;;WACP,OAAO,kBAAkB,EAAE,SAAS,GAAC,OAAO,mBAAmB,EAAE,UAAU;;gCAsC5E,YAAY,QAAM;;;;;;;kCAiYT,MAAM,iBAAiB,CAAC,QAAE,cAAc,QAAE,MAAM,UAAU,CAAC,QAAE,MAAM,YAAG,MAAM,UAAU,CAAC,GAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAthBrG,UAAQ,GAAC,OAAO,aAAa,EAAE,KAAK,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO;2BA0E1D,OAAO,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,MAAM,CAAC;;;;yCAiMnB,cAAc,QAAE,MAAM,KAAE,UAAU"}
@@ -134,6 +134,7 @@ export const NumberType = 1 << numTypes++;
134
134
  export const StringType = 1 << numTypes++;
135
135
  export const ColorType = 1 << numTypes++;
136
136
  export const NumberArrayType = 1 << numTypes++;
137
+ export const SizeType = 1 << numTypes++;
137
138
  export const AnyType = Math.pow(2, numTypes) - 1;
138
139
 
139
140
  const typeNames = {
@@ -142,6 +143,7 @@ const typeNames = {
142
143
  [StringType]: 'string',
143
144
  [ColorType]: 'color',
144
145
  [NumberArrayType]: 'number[]',
146
+ [SizeType]: 'size',
145
147
  };
146
148
 
147
149
  const namedTypes = Object.keys(typeNames).map(Number).sort(ascending);
@@ -285,7 +287,10 @@ export function parse(encoded, context, typeHint) {
285
287
  return new LiteralExpression(BooleanType, encoded);
286
288
  }
287
289
  case 'number': {
288
- return new LiteralExpression(NumberType, encoded);
290
+ return new LiteralExpression(
291
+ typeHint === SizeType ? SizeType : NumberType,
292
+ encoded,
293
+ );
289
294
  }
290
295
  case 'string': {
291
296
  let type = StringType;
@@ -322,7 +327,9 @@ export function parse(encoded, context, typeHint) {
322
327
  }
323
328
 
324
329
  let type = NumberArrayType;
325
- if (encoded.length === 3 || encoded.length === 4) {
330
+ if (encoded.length === 2) {
331
+ type |= SizeType;
332
+ } else if (encoded.length === 3 || encoded.length === 4) {
326
333
  type |= ColorType;
327
334
  }
328
335
  if (typeHint) {
@@ -622,9 +629,11 @@ const parsers = {
622
629
  ),
623
630
  [Ops.Array]: createParser(
624
631
  (parsedArgs) => {
625
- return parsedArgs.length === 3 || parsedArgs.length === 4
626
- ? NumberArrayType | ColorType
627
- : NumberArrayType;
632
+ return parsedArgs.length === 2
633
+ ? NumberArrayType | SizeType
634
+ : parsedArgs.length === 3 || parsedArgs.length === 4
635
+ ? NumberArrayType | ColorType
636
+ : NumberArrayType;
628
637
  },
629
638
  withArgsCount(1, Infinity),
630
639
  parseArgsOfType(NumberType),
package/expr/gpu.d.ts CHANGED
@@ -18,6 +18,12 @@ export function arrayToGlsl(array: Array<number>): string;
18
18
  * @return {string} The color expressed in the `vec4(1.0, 1.0, 1.0, 1.0)` form.
19
19
  */
20
20
  export function colorToGlsl(color: string | import("../color.js").Color): string;
21
+ /**
22
+ * Normalizes and converts a number or array toa `vec2` array compatible with GLSL.
23
+ * @param {number|import('../size.js').Size} size Size.
24
+ * @return {string} The color expressed in the `vec4(1.0, 1.0, 1.0, 1.0)` form.
25
+ */
26
+ export function sizeToGlsl(size: number | import('../size.js').Size): string;
21
27
  /**
22
28
  * Returns a stable equivalent number for the string literal.
23
29
  * @param {string} string String literal value
package/expr/gpu.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["gpu.js"],"names":[],"mappings":"AA+BA;;;;GAIG;AACH,gCAHW,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,mCAHW,MAAM,MAAM,CAAC,GACZ,MAAM,CASjB;AAED;;;;;;GAMG;AACH,mCALW,MAAM,GAAC,OAAO,aAAa,EAAE,KAAK,GAGjC,MAAM,CAYjB;AAMD;;;;GAIG;AACH,kDAHW,MAAM,GACL,MAAM,CAOjB;AAED;;;;;;GAMG;AACH,qCAHW,MAAM,GACL,MAAM,CAIjB;AAED;;;;GAIG;AACH,qDAHW,MAAM,GACL,MAAM,CAIjB;AAED;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;;;;GASG;AAEH;;GAEG;AACH,yCAFY,kBAAkB,CAW7B;AAMD;;GAEG;AAEH;;;GAGG;AAEH;;;;;;GAMG;AACH,yCANW,OAAO,iBAAiB,EAAE,iBAAiB,QAC3C,MAAM,kBACN,OAAO,iBAAiB,EAAE,cAAc,sBACxC,kBAAkB,GACjB,kBAAkB,CAoB7B;AApCD,wDAAyD;6BApD5C,OAAO,iBAAiB,EAAE,cAAc;yBAIxC,OAAO,iBAAiB,EAAE,UAAU;gCAIpC,OAAO,iBAAiB,EAAE,iBAAiB;;;;;UAK1C,MAAM;;;;UACN,MAAM;;;;wBACG,OAAO,eAAe,EAAE,WAAW;;;;;;UAK5C,MAAM;;;;UACN,MAAM;;;;;;;;;;;;;;;YAOC,MAAM,GAAE,0BAA0B;;;;;;YAClC,MAAM,GAAE,0BAA0B;;;;;;YAClC,MAAM,GAAE,MAAM;;;;;;;;;;;;;WAGrB,OAAO,mBAAmB,EAAE,UAAU;;iCAsBvC,MAAM;;;;8BAIG,kBAAkB,QAAE,cAAc,QAAE,MAAM,KAAG,MAAM;2BAvK9C,4BAA4B;+BAehD,iBAAiB"}
1
+ {"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["gpu.js"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,gCAHW,MAAM,GACL,MAAM,CAKjB;AAED;;;;GAIG;AACH,mCAHW,MAAM,MAAM,CAAC,GACZ,MAAM,CASjB;AAED;;;;;;GAMG;AACH,mCALW,MAAM,GAAC,OAAO,aAAa,EAAE,KAAK,GAGjC,MAAM,CAYjB;AAED;;;;GAIG;AACH,iCAHW,MAAM,GAAC,OAAO,YAAY,EAAE,IAAI,GAC/B,MAAM,CAKjB;AAMD;;;;GAIG;AACH,kDAHW,MAAM,GACL,MAAM,CAOjB;AAED;;;;;;GAMG;AACH,qCAHW,MAAM,GACL,MAAM,CAIjB;AAED;;;;GAIG;AACH,qDAHW,MAAM,GACL,MAAM,CAIjB;AAED;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;;;;GASG;AAEH;;GAEG;AACH,yCAFY,kBAAkB,CAW7B;AAMD;;GAEG;AAEH;;;GAGG;AAEH;;;;;;GAMG;AACH,yCANW,OAAO,iBAAiB,EAAE,iBAAiB,QAC3C,MAAM,kBACN,OAAO,iBAAiB,EAAE,cAAc,sBACxC,kBAAkB,GACjB,kBAAkB,CAoB7B;AApCD,wDAAyD;6BApD5C,OAAO,iBAAiB,EAAE,cAAc;yBAIxC,OAAO,iBAAiB,EAAE,UAAU;gCAIpC,OAAO,iBAAiB,EAAE,iBAAiB;;;;;UAK1C,MAAM;;;;UACN,MAAM;;;;wBACG,OAAO,eAAe,EAAE,WAAW;;;;;;UAK5C,MAAM;;;;UACN,MAAM;;;;;;;;;;;;;;;YAOC,MAAM,GAAE,0BAA0B;;;;;;YAClC,MAAM,GAAE,0BAA0B;;;;;;YAClC,MAAM,GAAE,MAAM;;;;;;;;;;;;;WAGrB,OAAO,mBAAmB,EAAE,UAAU;;iCAsBvC,MAAM;;;;8BAIG,kBAAkB,QAAE,cAAc,QAAE,MAAM,KAAG,MAAM;2BAnL9C,4BAA4B;+BAgBhD,iBAAiB"}
package/expr/gpu.js CHANGED
@@ -10,6 +10,7 @@ import {
10
10
  NumberArrayType,
11
11
  NumberType,
12
12
  Ops,
13
+ SizeType,
13
14
  StringType,
14
15
  computeGeometryType,
15
16
  isType,
@@ -19,6 +20,7 @@ import {
19
20
  } from './expression.js';
20
21
  import {Uniforms} from '../renderer/webgl/TileLayer.js';
21
22
  import {asArray} from '../color.js';
23
+ import {toSize} from '../size.js';
22
24
 
23
25
  /**
24
26
  * @param {string} operator Operator
@@ -72,6 +74,16 @@ export function colorToGlsl(color) {
72
74
  ]);
73
75
  }
74
76
 
77
+ /**
78
+ * Normalizes and converts a number or array toa `vec2` array compatible with GLSL.
79
+ * @param {number|import('../size.js').Size} size Size.
80
+ * @return {string} The color expressed in the `vec4(1.0, 1.0, 1.0, 1.0)` form.
81
+ */
82
+ export function sizeToGlsl(size) {
83
+ const array = toSize(size);
84
+ return arrayToGlsl(array);
85
+ }
86
+
75
87
  /** @type {Object<string, number>} */
76
88
  const stringToFloatMap = {};
77
89
  let stringToFloatCounter = 0;
@@ -485,6 +497,12 @@ function compile(expression, returnType, context) {
485
497
  return arrayToGlsl(/** @type {Array<number>} */ (expression.value));
486
498
  }
487
499
 
500
+ if ((expression.type & SizeType) > 0) {
501
+ return sizeToGlsl(
502
+ /** @type {number|import('../size.js').Size} */ (expression.value),
503
+ );
504
+ }
505
+
488
506
  throw new Error(
489
507
  `Unexpected expression ${expression.value} (expected type ${typeName(
490
508
  returnType,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol",
3
- "version": "9.2.2-dev.1716040825122",
3
+ "version": "9.2.2-dev.1716041028869",
4
4
  "description": "OpenLayers mapping library",
5
5
  "keywords": [
6
6
  "map",
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 = '9.2.2-dev.1716040825122';
36
+ export const VERSION = '9.2.2-dev.1716041028869';
@@ -1 +1 @@
1
- {"version":3,"file":"styleparser.d.ts","sourceRoot":"","sources":["styleparser.js"],"names":[],"mappings":"AAsBA;;;;;;;GAOG;AACH,qDALW,OAAO,gBAAgB,EAAE,kBAAkB,SAC3C,OAAO,uBAAuB,EAAE,iBAAiB,sCAEhD,MAAM,CAWjB;AAED;;;;GAIG;AACH,iCAHW,OAAO,aAAa,EAAE,KAAK,GAAC,MAAM,GACjC,MAAM,MAAM,CAAC,CASxB;AAqCD;;;;GAIG;AACH,mCAHW,MAAO,MAAM,GACZ,MAAM,CAOjB;AAwvBD;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,yCAHW,OAAO,mBAAmB,EAAE,UAAU,GACrC,gBAAgB,CAqJ3B;;;;;aAnKa,aAAa;;;;cACb,OAAO,wCAAwC,EAAE,kBAAkB;;;;gBACnE,OAAO,wCAAwC,EAAE,oBAAoB;;8BAp1BvD,oBAAoB"}
1
+ {"version":3,"file":"styleparser.d.ts","sourceRoot":"","sources":["styleparser.js"],"names":[],"mappings":"AAuBA;;;;;;;GAOG;AACH,qDALW,OAAO,gBAAgB,EAAE,kBAAkB,SAC3C,OAAO,uBAAuB,EAAE,iBAAiB,sCAEhD,MAAM,CAWjB;AAED;;;;GAIG;AACH,iCAHW,OAAO,aAAa,EAAE,KAAK,GAAC,MAAM,GACjC,MAAM,MAAM,CAAC,CASxB;AAqCD;;;;GAIG;AACH,mCAHW,MAAO,MAAM,GACZ,MAAM,CAOjB;AAgvBD;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,yCAHW,OAAO,mBAAmB,EAAE,UAAU,GACrC,gBAAgB,CAqJ3B;;;;;aAnKa,aAAa;;;;cACb,OAAO,wCAAwC,EAAE,kBAAkB;;;;gBACnE,OAAO,wCAAwC,EAAE,oBAAoB;;8BA50BvD,oBAAoB"}
@@ -7,6 +7,7 @@ import {
7
7
  ColorType,
8
8
  NumberArrayType,
9
9
  NumberType,
10
+ SizeType,
10
11
  StringType,
11
12
  newParsingContext,
12
13
  } from '../expr/expression.js';
@@ -67,7 +68,7 @@ const UNPACK_COLOR_FN = `vec4 unpackColor(vec2 packedColor) {
67
68
  * @return {1|2|3|4} The amount of components for this value
68
69
  */
69
70
  function getGlslSizeFromType(type) {
70
- if (type === ColorType) {
71
+ if (type === ColorType || type === SizeType) {
71
72
  return 2;
72
73
  }
73
74
  if (type === NumberArrayType) {
@@ -134,7 +135,7 @@ function parseCommonSymbolProperties(style, builder, vertContext, prefix) {
134
135
  const scale = expressionToGlsl(
135
136
  vertContext,
136
137
  style[`${prefix}scale`],
137
- NumberType | NumberArrayType,
138
+ SizeType,
138
139
  );
139
140
  builder.setSymbolSizeExpression(
140
141
  `${builder.getSymbolSizeExpression()} * ${scale}`,
@@ -301,7 +302,7 @@ function parseCircleProperties(
301
302
  const scale = expressionToGlsl(
302
303
  fragContext,
303
304
  style['circle-scale'],
304
- NumberType | NumberArrayType,
305
+ SizeType,
305
306
  );
306
307
  currentPoint = `coordsPx / ${scale}`;
307
308
  }
@@ -420,11 +421,7 @@ function parseShapeProperties(
420
421
  // SCALE
421
422
  let currentPoint = 'coordsPx';
422
423
  if ('shape-scale' in style) {
423
- const scale = expressionToGlsl(
424
- fragContext,
425
- style['shape-scale'],
426
- NumberType | NumberArrayType,
427
- );
424
+ const scale = expressionToGlsl(fragContext, style['shape-scale'], SizeType);
428
425
  currentPoint = `coordsPx / ${scale}`;
429
426
  }
430
427
 
@@ -584,11 +581,7 @@ function parseIconProperties(
584
581
  );
585
582
  let scale = `1.0`;
586
583
  if (`icon-scale` in style) {
587
- scale = expressionToGlsl(
588
- vertContext,
589
- style[`icon-scale`],
590
- NumberType | NumberArrayType,
591
- );
584
+ scale = expressionToGlsl(vertContext, style[`icon-scale`], SizeType);
592
585
  }
593
586
  let shiftPx;
594
587
  if (