@deck.gl/extensions 9.2.8 → 9.2.10
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.
- package/dist/brushing/brushing-extension.d.ts +1 -1
- package/dist/brushing/brushing-extension.d.ts.map +1 -1
- package/dist/clip/clip-extension.d.ts +2 -2
- package/dist/clip/clip-extension.d.ts.map +1 -1
- package/dist/data-filter/data-filter-extension.d.ts +2 -2
- package/dist/data-filter/data-filter-extension.d.ts.map +1 -1
- package/dist/dist.dev.js +18 -11
- package/dist/fill-style/fill-style-extension.d.ts +1 -1
- package/dist/fill-style/fill-style-extension.d.ts.map +1 -1
- package/dist/index.cjs +18 -11
- package/dist/index.cjs.map +2 -2
- package/dist/path-style/path-style-extension.d.ts +2 -2
- package/dist/path-style/path-style-extension.d.ts.map +1 -1
- package/dist/path-style/path-style-extension.js +12 -11
- package/dist/path-style/path-style-extension.js.map +1 -1
- package/dist/path-style/shaders.glsl.d.ts +6 -0
- package/dist/path-style/shaders.glsl.d.ts.map +1 -1
- package/dist/path-style/shaders.glsl.js +6 -0
- package/dist/path-style/shaders.glsl.js.map +1 -1
- package/dist.min.js +19 -13
- package/package.json +2 -2
- package/src/brushing/brushing-extension.ts +1 -1
- package/src/clip/clip-extension.ts +2 -2
- package/src/data-filter/data-filter-extension.ts +2 -2
- package/src/fill-style/fill-style-extension.ts +1 -1
- package/src/path-style/path-style-extension.ts +15 -14
- package/src/path-style/shaders.glsl.ts +14 -0
|
@@ -5,7 +5,7 @@ export type BrushingExtensionProps<DataT = any> = {
|
|
|
5
5
|
* Called to retrieve an arbitrary position for each object that it will be filtered by.
|
|
6
6
|
* Only effective if `brushingTarget` is set to `custom`.
|
|
7
7
|
*/
|
|
8
|
-
getBrushingTarget?: Accessor<DataT, [number, number]
|
|
8
|
+
getBrushingTarget?: Accessor<DataT, Readonly<[number, number]>>;
|
|
9
9
|
/**
|
|
10
10
|
* Enable/disable brushing. If brushing is disabled, all objects are rendered.
|
|
11
11
|
* @default true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brushing-extension.d.ts","sourceRoot":"","sources":["../../src/brushing/brushing-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAUjE,MAAM,MAAM,sBAAsB,CAAC,KAAK,GAAG,GAAG,IAAI;IAChD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"brushing-extension.d.ts","sourceRoot":"","sources":["../../src/brushing/brushing-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAUjE,MAAM,MAAM,sBAAsB,CAAC,KAAK,GAAG,GAAG,IAAI;IAChD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC;IAClE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,8IAA8I;AAC9I,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,cAAc;IAC3D,MAAM,CAAC,YAAY;;;;;;;;MAAgB;IACnC,MAAM,CAAC,aAAa,SAAuB;IAE3C,UAAU,IAAI,GAAG;IAMjB,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI;IA2B3F,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI;IAYzF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI;CAYvE"}
|
|
@@ -5,7 +5,7 @@ export type ClipExtensionProps = {
|
|
|
5
5
|
/** Rectangular bounds to be used for clipping the rendered region, in `[left, bottom, right, top]`.
|
|
6
6
|
* @default [0, 0, 1, 1]
|
|
7
7
|
*/
|
|
8
|
-
clipBounds?: [number, number, number, number]
|
|
8
|
+
clipBounds?: Readonly<[number, number, number, number]>;
|
|
9
9
|
/**
|
|
10
10
|
* Controls whether an object is clipped by its anchor (e.g. icon, point) or by its geometry (e.g. path, polygon).
|
|
11
11
|
* If not specified, it is automatically deduced from the layer.
|
|
@@ -13,7 +13,7 @@ export type ClipExtensionProps = {
|
|
|
13
13
|
clipByInstance?: boolean;
|
|
14
14
|
};
|
|
15
15
|
export type ClipModuleProps = {
|
|
16
|
-
bounds: [number, number, number, number]
|
|
16
|
+
bounds: Readonly<[number, number, number, number]>;
|
|
17
17
|
};
|
|
18
18
|
/** Adds support for clipping rendered layers by rectangular bounds. */
|
|
19
19
|
export default class ClipExtension extends LayerExtension {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clip-extension.d.ts","sourceRoot":"","sources":["../../src/clip/clip-extension.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AAOzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"clip-extension.d.ts","sourceRoot":"","sources":["../../src/clip/clip-extension.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AAOzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAYF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD,CAAC;AAwDF,uEAAuE;AACvE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,cAAc;IACvD,MAAM,CAAC,YAAY;;;MAAgB;IACnC,MAAM,CAAC,aAAa,SAAmB;IAEvC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,kBAAkB,CAAC;;;;;;;;;IAwB1C,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI;CAmBtD"}
|
|
@@ -22,13 +22,13 @@ export type DataFilterExtensionProps<DataT = any> = {
|
|
|
22
22
|
* If an object's filtered value is within the bounds, the object will be rendered; otherwise it will be hidden.
|
|
23
23
|
* @default [-1, 1]
|
|
24
24
|
*/
|
|
25
|
-
filterRange?: [number, number] | [number, number][];
|
|
25
|
+
filterRange?: Readonly<[number, number]> | Readonly<[number, number]>[];
|
|
26
26
|
/**
|
|
27
27
|
* If specified, objects will be faded in/out instead of abruptly shown/hidden.
|
|
28
28
|
* When the filtered value is outside of the bounds defined by `filterSoftRange` but still within the bounds defined by `filterRange`, the object will be rendered as "faded."
|
|
29
29
|
* @default null
|
|
30
30
|
*/
|
|
31
|
-
filterSoftRange?: [number, number] | [number, number][] | null;
|
|
31
|
+
filterSoftRange?: Readonly<[number, number]> | Readonly<[number, number]>[] | null;
|
|
32
32
|
/**
|
|
33
33
|
* When an object is "faded", manipulate its size so that it appears smaller or thinner. Only works if `filterSoftRange` is specified.
|
|
34
34
|
* @default true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-filter-extension.d.ts","sourceRoot":"","sources":["../../src/data-filter/data-filter-extension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACnF,OAAO,EAA0B,cAAc,EAAM,MAAM,eAAe,CAAC;AAwB3E,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtC,MAAM,MAAM,wBAAwB,CAAC,KAAK,GAAG,GAAG,IAAI;IAClD;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IACpD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,CAAC,CAAC;IACvE;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"data-filter-extension.d.ts","sourceRoot":"","sources":["../../src/data-filter/data-filter-extension.ts"],"names":[],"mappings":"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"}
|
package/dist/dist.dev.js
CHANGED
|
@@ -2445,13 +2445,19 @@ vec4 project_position_to_clipspace(
|
|
|
2445
2445
|
inject: {
|
|
2446
2446
|
"vs:#decl": `
|
|
2447
2447
|
in vec2 instanceDashArrays;
|
|
2448
|
+
#ifdef HIGH_PRECISION_DASH
|
|
2448
2449
|
in float instanceDashOffsets;
|
|
2450
|
+
#endif
|
|
2449
2451
|
out vec2 vDashArray;
|
|
2450
2452
|
out float vDashOffset;
|
|
2451
2453
|
`,
|
|
2452
2454
|
"vs:#main-end": `
|
|
2453
2455
|
vDashArray = instanceDashArrays;
|
|
2456
|
+
#ifdef HIGH_PRECISION_DASH
|
|
2454
2457
|
vDashOffset = instanceDashOffsets / width.x;
|
|
2458
|
+
#else
|
|
2459
|
+
vDashOffset = 0.0;
|
|
2460
|
+
#endif
|
|
2455
2461
|
`,
|
|
2456
2462
|
"fs:#decl": `
|
|
2457
2463
|
uniform pathStyleUniforms {
|
|
@@ -2558,8 +2564,12 @@ in float instanceOffsets;
|
|
|
2558
2564
|
return null;
|
|
2559
2565
|
}
|
|
2560
2566
|
let result = {};
|
|
2567
|
+
const defines = {};
|
|
2561
2568
|
if (extension.opts.dash) {
|
|
2562
2569
|
result = (0, import_core7._mergeShaders)(result, dashShaders);
|
|
2570
|
+
if (extension.opts.highPrecisionDash) {
|
|
2571
|
+
defines.HIGH_PRECISION_DASH = true;
|
|
2572
|
+
}
|
|
2563
2573
|
}
|
|
2564
2574
|
if (extension.opts.offset) {
|
|
2565
2575
|
result = (0, import_core7._mergeShaders)(result, offsetShaders);
|
|
@@ -2574,7 +2584,8 @@ in float instanceOffsets;
|
|
|
2574
2584
|
}
|
|
2575
2585
|
};
|
|
2576
2586
|
return {
|
|
2577
|
-
modules: [pathStyle]
|
|
2587
|
+
modules: [pathStyle],
|
|
2588
|
+
defines
|
|
2578
2589
|
};
|
|
2579
2590
|
}
|
|
2580
2591
|
initializeState(context, extension) {
|
|
@@ -2585,17 +2596,13 @@ in float instanceOffsets;
|
|
|
2585
2596
|
if (extension.opts.dash) {
|
|
2586
2597
|
attributeManager.addInstanced({
|
|
2587
2598
|
instanceDashArrays: { size: 2, accessor: "getDashArray" },
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
size: 1,
|
|
2594
|
-
update: (attribute) => {
|
|
2595
|
-
attribute.constant = true;
|
|
2596
|
-
attribute.value = [0];
|
|
2599
|
+
...extension.opts.highPrecisionDash ? {
|
|
2600
|
+
instanceDashOffsets: {
|
|
2601
|
+
size: 1,
|
|
2602
|
+
accessor: "getPath",
|
|
2603
|
+
transform: extension.getDashOffsets.bind(this)
|
|
2597
2604
|
}
|
|
2598
|
-
}
|
|
2605
|
+
} : {}
|
|
2599
2606
|
});
|
|
2600
2607
|
}
|
|
2601
2608
|
if (extension.opts.offset) {
|
|
@@ -33,7 +33,7 @@ export type FillStyleExtensionProps<DataT = any> = {
|
|
|
33
33
|
* Accessor for the offset of the pattern, relative to the original size. Offset `[0.5, 0.5]` shifts the pattern alignment by half.
|
|
34
34
|
* @default [0, 0]
|
|
35
35
|
*/
|
|
36
|
-
getFillPatternOffset?: Accessor<DataT, [number, number]
|
|
36
|
+
getFillPatternOffset?: Accessor<DataT, Readonly<[number, number]>>;
|
|
37
37
|
};
|
|
38
38
|
export type FillStyleExtensionOptions = {
|
|
39
39
|
/** If `true`, adds the ability to tile the filled area with a pattern.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fill-style-extension.d.ts","sourceRoot":"","sources":["../../src/fill-style/fill-style-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAI7C,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAkBvB,MAAM,MAAM,uBAAuB,CAAC,KAAK,GAAG,GAAG,IAAI;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC1C,wFAAwF;IACxF,kBAAkB,CAAC,EACf,MAAM,GACN,MAAM,CACJ,MAAM,EACN;QACE,gDAAgD;QAChD,CAAC,EAAE,MAAM,CAAC;QACV,+CAA+C;QAC/C,CAAC,EAAE,MAAM,CAAC;QACV,2BAA2B;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,4BAA4B;QAC5B,MAAM,EAAE,MAAM,CAAC;KAChB,CACF,CAAC;IACN;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,cAAc,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD;;OAEG;IACH,mBAAmB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fill-style-extension.d.ts","sourceRoot":"","sources":["../../src/fill-style/fill-style-extension.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAI7C,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAkBvB,MAAM,MAAM,uBAAuB,CAAC,KAAK,GAAG,GAAG,IAAI;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC1C,wFAAwF;IACxF,kBAAkB,CAAC,EACf,MAAM,GACN,MAAM,CACJ,MAAM,EACN;QACE,gDAAgD;QAChD,CAAC,EAAE,MAAM,CAAC;QACV,+CAA+C;QAC/C,CAAC,EAAE,MAAM,CAAC;QACV,2BAA2B;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,4BAA4B;QAC5B,MAAM,EAAE,MAAM,CAAC;KAChB,CACF,CAAC;IACN;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,cAAc,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD;;OAEG;IACH,mBAAmB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,gHAAgH;AAChH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,cAAc,CAAC,yBAAyB,CAAC;IACvF,MAAM,CAAC,YAAY,6CAAgB;IACnC,MAAM,CAAC,aAAa,SAAwB;gBAEhC,EAAC,OAAe,EAAC,GAAE,OAAO,CAAC,yBAAyB,CAAM;IAItE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAG,OAAO;IAIzD,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,GAAG;IAUtE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI;IAqC5F,WAAW,CACT,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EACpC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,EACnE,SAAS,EAAE,IAAI;IAWjB,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI;IAevE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC;IAKlD,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,MAAM;CAKnE"}
|
package/dist/index.cjs
CHANGED
|
@@ -971,13 +971,19 @@ var dashShaders = {
|
|
|
971
971
|
inject: {
|
|
972
972
|
"vs:#decl": `
|
|
973
973
|
in vec2 instanceDashArrays;
|
|
974
|
+
#ifdef HIGH_PRECISION_DASH
|
|
974
975
|
in float instanceDashOffsets;
|
|
976
|
+
#endif
|
|
975
977
|
out vec2 vDashArray;
|
|
976
978
|
out float vDashOffset;
|
|
977
979
|
`,
|
|
978
980
|
"vs:#main-end": `
|
|
979
981
|
vDashArray = instanceDashArrays;
|
|
982
|
+
#ifdef HIGH_PRECISION_DASH
|
|
980
983
|
vDashOffset = instanceDashOffsets / width.x;
|
|
984
|
+
#else
|
|
985
|
+
vDashOffset = 0.0;
|
|
986
|
+
#endif
|
|
981
987
|
`,
|
|
982
988
|
"fs:#decl": `
|
|
983
989
|
uniform pathStyleUniforms {
|
|
@@ -1074,8 +1080,12 @@ var PathStyleExtension = class extends import_core6.LayerExtension {
|
|
|
1074
1080
|
return null;
|
|
1075
1081
|
}
|
|
1076
1082
|
let result = {};
|
|
1083
|
+
const defines = {};
|
|
1077
1084
|
if (extension.opts.dash) {
|
|
1078
1085
|
result = (0, import_core6._mergeShaders)(result, dashShaders);
|
|
1086
|
+
if (extension.opts.highPrecisionDash) {
|
|
1087
|
+
defines.HIGH_PRECISION_DASH = true;
|
|
1088
|
+
}
|
|
1079
1089
|
}
|
|
1080
1090
|
if (extension.opts.offset) {
|
|
1081
1091
|
result = (0, import_core6._mergeShaders)(result, offsetShaders);
|
|
@@ -1090,7 +1100,8 @@ var PathStyleExtension = class extends import_core6.LayerExtension {
|
|
|
1090
1100
|
}
|
|
1091
1101
|
};
|
|
1092
1102
|
return {
|
|
1093
|
-
modules: [pathStyle]
|
|
1103
|
+
modules: [pathStyle],
|
|
1104
|
+
defines
|
|
1094
1105
|
};
|
|
1095
1106
|
}
|
|
1096
1107
|
initializeState(context, extension) {
|
|
@@ -1101,17 +1112,13 @@ var PathStyleExtension = class extends import_core6.LayerExtension {
|
|
|
1101
1112
|
if (extension.opts.dash) {
|
|
1102
1113
|
attributeManager.addInstanced({
|
|
1103
1114
|
instanceDashArrays: { size: 2, accessor: "getDashArray" },
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
size: 1,
|
|
1110
|
-
update: (attribute) => {
|
|
1111
|
-
attribute.constant = true;
|
|
1112
|
-
attribute.value = [0];
|
|
1115
|
+
...extension.opts.highPrecisionDash ? {
|
|
1116
|
+
instanceDashOffsets: {
|
|
1117
|
+
size: 1,
|
|
1118
|
+
accessor: "getPath",
|
|
1119
|
+
transform: extension.getDashOffsets.bind(this)
|
|
1113
1120
|
}
|
|
1114
|
-
}
|
|
1121
|
+
} : {}
|
|
1115
1122
|
});
|
|
1116
1123
|
}
|
|
1117
1124
|
if (extension.opts.offset) {
|