@flowmap.gl/layers 8.0.0-alpha.9 → 8.0.2

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 (54) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/.turbo/turbo-dev.log +26 -0
  3. package/LICENSE +2 -2
  4. package/dist/AnimatedFlowLinesLayer/AnimatedFlowLinesLayer.d.ts.map +1 -1
  5. package/dist/AnimatedFlowLinesLayer/AnimatedFlowLinesLayer.js +16 -22
  6. package/dist/AnimatedFlowLinesLayer/AnimatedFlowLinesLayerFragment.glsl.d.ts.map +1 -1
  7. package/dist/AnimatedFlowLinesLayer/AnimatedFlowLinesLayerFragment.glsl.js +4 -16
  8. package/dist/AnimatedFlowLinesLayer/AnimatedFlowLinesLayerVertex.glsl.d.ts.map +1 -1
  9. package/dist/AnimatedFlowLinesLayer/AnimatedFlowLinesLayerVertex.glsl.js +4 -16
  10. package/dist/AnimatedFlowLinesLayer/index.d.ts.map +1 -1
  11. package/dist/AnimatedFlowLinesLayer/index.js +6 -1
  12. package/dist/FlowCirclesLayer/FlowCirclesLayer.d.ts +1 -1
  13. package/dist/FlowCirclesLayer/FlowCirclesLayer.d.ts.map +1 -1
  14. package/dist/FlowCirclesLayer/FlowCirclesLayer.js +9 -18
  15. package/dist/FlowCirclesLayer/FlowCirclesLayerFragment.glsl.d.ts +1 -1
  16. package/dist/FlowCirclesLayer/FlowCirclesLayerFragment.glsl.d.ts.map +1 -1
  17. package/dist/FlowCirclesLayer/FlowCirclesLayerFragment.glsl.js +5 -16
  18. package/dist/FlowCirclesLayer/FlowCirclesLayerVertex.glsl.d.ts.map +1 -1
  19. package/dist/FlowCirclesLayer/FlowCirclesLayerVertex.glsl.js +4 -16
  20. package/dist/FlowCirclesLayer/index.d.ts.map +1 -1
  21. package/dist/FlowCirclesLayer/index.js +6 -1
  22. package/dist/FlowLinesLayer/FlowLinesLayer.d.ts.map +1 -1
  23. package/dist/FlowLinesLayer/FlowLinesLayer.js +79 -73
  24. package/dist/FlowLinesLayer/FlowLinesLayerFragment.glsl.d.ts.map +1 -1
  25. package/dist/FlowLinesLayer/FlowLinesLayerFragment.glsl.js +4 -16
  26. package/dist/FlowLinesLayer/FlowLinesLayerVertex.glsl.d.ts +1 -1
  27. package/dist/FlowLinesLayer/FlowLinesLayerVertex.glsl.d.ts.map +1 -1
  28. package/dist/FlowLinesLayer/FlowLinesLayerVertex.glsl.js +5 -21
  29. package/dist/FlowLinesLayer/index.d.ts.map +1 -1
  30. package/dist/FlowLinesLayer/index.js +6 -1
  31. package/dist/FlowmapLayer.d.ts +17 -9
  32. package/dist/FlowmapLayer.d.ts.map +1 -1
  33. package/dist/FlowmapLayer.js +241 -141
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +6 -1
  36. package/dist/types.d.ts +12 -7
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js +6 -1
  39. package/package.json +7 -3
  40. package/src/AnimatedFlowLinesLayer/AnimatedFlowLinesLayer.ts +7 -19
  41. package/src/AnimatedFlowLinesLayer/AnimatedFlowLinesLayerFragment.glsl.ts +3 -15
  42. package/src/AnimatedFlowLinesLayer/AnimatedFlowLinesLayerVertex.glsl.ts +3 -15
  43. package/src/AnimatedFlowLinesLayer/index.ts +6 -0
  44. package/src/FlowCirclesLayer/FlowCirclesLayer.ts +3 -15
  45. package/src/FlowCirclesLayer/FlowCirclesLayerFragment.glsl.ts +4 -15
  46. package/src/FlowCirclesLayer/FlowCirclesLayerVertex.glsl.ts +3 -15
  47. package/src/FlowCirclesLayer/index.ts +6 -0
  48. package/src/FlowLinesLayer/FlowLinesLayer.ts +74 -80
  49. package/src/FlowLinesLayer/FlowLinesLayerFragment.glsl.ts +3 -15
  50. package/src/FlowLinesLayer/FlowLinesLayerVertex.glsl.ts +4 -20
  51. package/src/FlowLinesLayer/index.ts +6 -0
  52. package/src/FlowmapLayer.ts +164 -78
  53. package/src/index.ts +6 -0
  54. package/src/types.ts +17 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAEtD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAEtD,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,11 @@
1
+ /*
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
1
6
  export { default as AnimatedFlowLinesLayer } from './AnimatedFlowLinesLayer';
2
7
  export { default as FlowLinesLayer } from './FlowLinesLayer';
3
8
  export { default as FlowCirclesLayer } from './FlowCirclesLayer';
4
9
  export { default as FlowmapLayer } from './FlowmapLayer';
5
10
  export * from './types';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sSUFBSSxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxPQUFPLElBQUksY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE9BQU8sSUFBSSxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxPQUFPLElBQUksWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkQsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge2RlZmF1bHQgYXMgQW5pbWF0ZWRGbG93TGluZXNMYXllcn0gZnJvbSAnLi9BbmltYXRlZEZsb3dMaW5lc0xheWVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBGbG93TGluZXNMYXllcn0gZnJvbSAnLi9GbG93TGluZXNMYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRmxvd0NpcmNsZXNMYXllcn0gZnJvbSAnLi9GbG93Q2lyY2xlc0xheWVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBGbG93bWFwTGF5ZXJ9IGZyb20gJy4vRmxvd21hcExheWVyJztcbmV4cG9ydCB0eXBlIHtGbG93bWFwTGF5ZXJQcm9wc30gZnJvbSAnLi9GbG93bWFwTGF5ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBQyxPQUFPLElBQUksc0JBQXNCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsT0FBTyxJQUFJLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLElBQUksZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxJQUFJLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgRmxvd21hcC5nbCBjb250cmlidXRvcnNcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFRlcmFseXRpY3NcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuZXhwb3J0IHtkZWZhdWx0IGFzIEFuaW1hdGVkRmxvd0xpbmVzTGF5ZXJ9IGZyb20gJy4vQW5pbWF0ZWRGbG93TGluZXNMYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRmxvd0xpbmVzTGF5ZXJ9IGZyb20gJy4vRmxvd0xpbmVzTGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZsb3dDaXJjbGVzTGF5ZXJ9IGZyb20gJy4vRmxvd0NpcmNsZXNMYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRmxvd21hcExheWVyfSBmcm9tICcuL0Zsb3dtYXBMYXllcic7XG5leHBvcnQgdHlwZSB7Rmxvd21hcExheWVyUHJvcHN9IGZyb20gJy4vRmxvd21hcExheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
package/dist/types.d.ts CHANGED
@@ -1,31 +1,36 @@
1
1
  import { AggregateFlow, ClusterNode, LocationTotals } from '@flowmap.gl/data';
2
- export declare type LayerProps = Record<string, unknown>;
2
+ export type LayerProps = Record<string, unknown>;
3
3
  export declare enum PickingType {
4
4
  LOCATION = "location",
5
5
  FLOW = "flow"
6
6
  }
7
- export declare type DeckGLLayer = Record<string, any>;
7
+ export type DeckGLLayer = Record<string, any>;
8
8
  export interface PickingInfo<T> {
9
9
  layer: DeckGLLayer;
10
10
  index: number;
11
+ picked: boolean;
11
12
  object: T | undefined;
12
13
  x: number;
13
14
  y: number;
14
15
  coordinate: [number, number];
16
+ event: MouseEvent | undefined;
15
17
  }
16
- export interface LocationPickingInfo<L> extends PickingInfo<L | ClusterNode> {
18
+ export interface LocationPickingInfoObject<L> {
19
+ id: string | number;
17
20
  type: PickingType.LOCATION;
18
- id: string;
21
+ location: L | ClusterNode;
19
22
  name: string;
20
23
  totals: LocationTotals;
21
24
  circleRadius: number;
22
- event: MouseEvent | undefined;
23
25
  }
24
- export interface FlowPickingInfo<L, F> extends PickingInfo<F | AggregateFlow> {
26
+ export type LocationPickingInfo<L> = PickingInfo<LocationPickingInfoObject<L>>;
27
+ export interface FlowPickingInfoObject<L, F> {
25
28
  type: PickingType.FLOW;
29
+ flow: F | AggregateFlow;
26
30
  origin: L | ClusterNode;
27
31
  dest: L | ClusterNode;
28
32
  count: number;
29
33
  }
30
- export declare type FlowmapLayerPickingInfo<L, F> = LocationPickingInfo<L> | FlowPickingInfo<L, F>;
34
+ export type FlowPickingInfo<L, F> = PickingInfo<FlowPickingInfoObject<L, F>>;
35
+ export type FlowmapLayerPickingInfo<L, F> = LocationPickingInfo<L> | FlowPickingInfo<L, F>;
31
36
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,WAAW,EACX,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,oBAAY,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAEd;AAED,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE9C,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;IAC1E,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,GAAG,aAAa,CAAC;IAC3E,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,oBAAY,uBAAuB,CAAC,CAAC,EAAE,CAAC,IACpC,mBAAmB,CAAC,CAAC,CAAC,GAEtB,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,aAAa,EAEb,WAAW,EACX,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAEd;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE9C,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC3B,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC;IACxB,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAO7E,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,CAAC,IACpC,mBAAmB,CAAC,CAAC,CAAC,GAEtB,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
package/dist/types.js CHANGED
@@ -1,3 +1,8 @@
1
+ /*
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
1
6
  export var PickingType;
2
7
  (function (PickingType) {
3
8
  PickingType["LOCATION"] = "location";
@@ -17,4 +22,4 @@ export var PickingType;
17
22
  // .type === 'FeatureCollection'
18
23
  // );
19
24
  // }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixvQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsbUNBQW1DO0FBQ3JDLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQXVDRCw2REFBNkQ7QUFDN0QsNERBQTREO0FBRTVELDBCQUEwQjtBQUMxQiw0REFBNEQ7QUFDNUQsc0JBQXNCO0FBRXRCLHVDQUF1QztBQUN2QywwQkFBMEI7QUFDMUIsMEVBQTBFO0FBQzFFLGFBQWE7QUFDYiwyRUFBMkU7QUFDM0Usc0NBQXNDO0FBQ3RDLE9BQU87QUFDUCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWdncmVnYXRlRmxvdyxcbiAgQ2x1c3RlcixcbiAgQ2x1c3Rlck5vZGUsXG4gIExvY2F0aW9uVG90YWxzLFxufSBmcm9tICdAZmxvd21hcC5nbC9kYXRhJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJQcm9wcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgZW51bSBQaWNraW5nVHlwZSB7XG4gIExPQ0FUSU9OID0gJ2xvY2F0aW9uJyxcbiAgRkxPVyA9ICdmbG93JyxcbiAgLy8gTE9DQVRJT05fQVJFQSA9ICdsb2NhdGlvbi1hcmVhJyxcbn1cblxuZXhwb3J0IHR5cGUgRGVja0dMTGF5ZXIgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tpbmdJbmZvPFQ+IHtcbiAgbGF5ZXI6IERlY2tHTExheWVyO1xuICBpbmRleDogbnVtYmVyO1xuICBvYmplY3Q6IFQgfCB1bmRlZmluZWQ7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICBjb29yZGluYXRlOiBbbnVtYmVyLCBudW1iZXJdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uUGlja2luZ0luZm88TD4gZXh0ZW5kcyBQaWNraW5nSW5mbzxMIHwgQ2x1c3Rlck5vZGU+IHtcbiAgdHlwZTogUGlja2luZ1R5cGUuTE9DQVRJT047XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdG90YWxzOiBMb2NhdGlvblRvdGFscztcbiAgY2lyY2xlUmFkaXVzOiBudW1iZXI7XG4gIGV2ZW50OiBNb3VzZUV2ZW50IHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dQaWNraW5nSW5mbzxMLCBGPiBleHRlbmRzIFBpY2tpbmdJbmZvPEYgfCBBZ2dyZWdhdGVGbG93PiB7XG4gIHR5cGU6IFBpY2tpbmdUeXBlLkZMT1c7XG4gIG9yaWdpbjogTCB8IENsdXN0ZXJOb2RlO1xuICBkZXN0OiBMIHwgQ2x1c3Rlck5vZGU7XG4gIGNvdW50OiBudW1iZXI7XG59XG5cbi8vIGV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25BcmVhUGlja2luZ0luZm8gZXh0ZW5kcyBQaWNraW5nSW5mbzxQaWNraW5nSW5mb0RhdGE+IHtcbi8vICAgdHlwZTogUGlja2luZ1R5cGUuTE9DQVRJT05fQVJFQTtcbi8vICAgb2JqZWN0OiBGbG93TG9jYXRpb247XG4vLyB9XG5cbmV4cG9ydCB0eXBlIEZsb3dtYXBMYXllclBpY2tpbmdJbmZvPEwsIEY+ID1cbiAgfCBMb2NhdGlvblBpY2tpbmdJbmZvPEw+XG4gIC8vIHwgTG9jYXRpb25BcmVhUGlja2luZ0luZm9cbiAgfCBGbG93UGlja2luZ0luZm88TCwgRj47XG5cbi8vIGltcG9ydCB7RmVhdHVyZUNvbGxlY3Rpb24sIEdlb21ldHJ5T2JqZWN0fSBmcm9tICdnZW9qc29uJztcbi8vIGV4cG9ydCB0eXBlIExvY2F0aW9uUHJvcGVydGllcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4vLyBleHBvcnQgdHlwZSBMb2NhdGlvbnMgPVxuLy8gICB8IEZlYXR1cmVDb2xsZWN0aW9uPEdlb21ldHJ5T2JqZWN0LCBMb2NhdGlvblByb3BlcnRpZXM+XG4vLyAgIHwgRmxvd0xvY2F0aW9uW107XG5cbi8vIGV4cG9ydCBmdW5jdGlvbiBpc0ZlYXR1cmVDb2xsZWN0aW9uKFxuLy8gICBsb2NhdGlvbnM6IExvY2F0aW9ucyxcbi8vICk6IGxvY2F0aW9ucyBpcyBGZWF0dXJlQ29sbGVjdGlvbjxHZW9tZXRyeU9iamVjdCwgTG9jYXRpb25Qcm9wZXJ0aWVzPiB7XG4vLyAgIHJldHVybiAoXG4vLyAgICAgKGxvY2F0aW9ucyBhcyBGZWF0dXJlQ29sbGVjdGlvbjxHZW9tZXRyeU9iamVjdCwgTG9jYXRpb25Qcm9wZXJ0aWVzPilcbi8vICAgICAgIC50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nXG4vLyAgICk7XG4vLyB9XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQVdILE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsb0NBQXFCLENBQUE7SUFDckIsNEJBQWEsQ0FBQTtJQUNiLG1DQUFtQztBQUNyQyxDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUE4Q0QsNkRBQTZEO0FBQzdELDREQUE0RDtBQUU1RCwwQkFBMEI7QUFDMUIsNERBQTREO0FBQzVELHNCQUFzQjtBQUV0Qix1Q0FBdUM7QUFDdkMsMEJBQTBCO0FBQzFCLDBFQUEwRTtBQUMxRSxhQUFhO0FBQ2IsMkVBQTJFO0FBQzNFLHNDQUFzQztBQUN0QyxPQUFPO0FBQ1AsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIEZsb3dtYXAuZ2wgY29udHJpYnV0b3JzXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMCBUZXJhbHl0aWNzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7XG4gIEFnZ3JlZ2F0ZUZsb3csXG4gIENsdXN0ZXIsXG4gIENsdXN0ZXJOb2RlLFxuICBMb2NhdGlvblRvdGFscyxcbn0gZnJvbSAnQGZsb3dtYXAuZ2wvZGF0YSc7XG5cbmV4cG9ydCB0eXBlIExheWVyUHJvcHMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuZXhwb3J0IGVudW0gUGlja2luZ1R5cGUge1xuICBMT0NBVElPTiA9ICdsb2NhdGlvbicsXG4gIEZMT1cgPSAnZmxvdycsXG4gIC8vIExPQ0FUSU9OX0FSRUEgPSAnbG9jYXRpb24tYXJlYScsXG59XG5cbmV4cG9ydCB0eXBlIERlY2tHTExheWVyID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IGludGVyZmFjZSBQaWNraW5nSW5mbzxUPiB7XG4gIGxheWVyOiBEZWNrR0xMYXllcjtcbiAgaW5kZXg6IG51bWJlcjtcbiAgcGlja2VkOiBib29sZWFuO1xuICBvYmplY3Q6IFQgfCB1bmRlZmluZWQ7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICBjb29yZGluYXRlOiBbbnVtYmVyLCBudW1iZXJdO1xuICBldmVudDogTW91c2VFdmVudCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvblBpY2tpbmdJbmZvT2JqZWN0PEw+IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgdHlwZTogUGlja2luZ1R5cGUuTE9DQVRJT047XG4gIGxvY2F0aW9uOiBMIHwgQ2x1c3Rlck5vZGU7XG4gIG5hbWU6IHN0cmluZztcbiAgdG90YWxzOiBMb2NhdGlvblRvdGFscztcbiAgY2lyY2xlUmFkaXVzOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uUGlja2luZ0luZm88TD4gPSBQaWNraW5nSW5mbzxMb2NhdGlvblBpY2tpbmdJbmZvT2JqZWN0PEw+PjtcblxuZXhwb3J0IGludGVyZmFjZSBGbG93UGlja2luZ0luZm9PYmplY3Q8TCwgRj4ge1xuICB0eXBlOiBQaWNraW5nVHlwZS5GTE9XO1xuICBmbG93OiBGIHwgQWdncmVnYXRlRmxvdztcbiAgb3JpZ2luOiBMIHwgQ2x1c3Rlck5vZGU7XG4gIGRlc3Q6IEwgfCBDbHVzdGVyTm9kZTtcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRmxvd1BpY2tpbmdJbmZvPEwsIEY+ID0gUGlja2luZ0luZm88Rmxvd1BpY2tpbmdJbmZvT2JqZWN0PEwsIEY+PjtcblxuLy8gZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbkFyZWFQaWNraW5nSW5mbyBleHRlbmRzIFBpY2tpbmdJbmZvPFBpY2tpbmdJbmZvRGF0YT4ge1xuLy8gICB0eXBlOiBQaWNraW5nVHlwZS5MT0NBVElPTl9BUkVBO1xuLy8gICBvYmplY3Q6IEZsb3dMb2NhdGlvbjtcbi8vIH1cblxuZXhwb3J0IHR5cGUgRmxvd21hcExheWVyUGlja2luZ0luZm88TCwgRj4gPVxuICB8IExvY2F0aW9uUGlja2luZ0luZm88TD5cbiAgLy8gfCBMb2NhdGlvbkFyZWFQaWNraW5nSW5mb1xuICB8IEZsb3dQaWNraW5nSW5mbzxMLCBGPjtcblxuLy8gaW1wb3J0IHtGZWF0dXJlQ29sbGVjdGlvbiwgR2VvbWV0cnlPYmplY3R9IGZyb20gJ2dlb2pzb24nO1xuLy8gZXhwb3J0IHR5cGUgTG9jYXRpb25Qcm9wZXJ0aWVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbi8vIGV4cG9ydCB0eXBlIExvY2F0aW9ucyA9XG4vLyAgIHwgRmVhdHVyZUNvbGxlY3Rpb248R2VvbWV0cnlPYmplY3QsIExvY2F0aW9uUHJvcGVydGllcz5cbi8vICAgfCBGbG93TG9jYXRpb25bXTtcblxuLy8gZXhwb3J0IGZ1bmN0aW9uIGlzRmVhdHVyZUNvbGxlY3Rpb24oXG4vLyAgIGxvY2F0aW9uczogTG9jYXRpb25zLFxuLy8gKTogbG9jYXRpb25zIGlzIEZlYXR1cmVDb2xsZWN0aW9uPEdlb21ldHJ5T2JqZWN0LCBMb2NhdGlvblByb3BlcnRpZXM+IHtcbi8vICAgcmV0dXJuIChcbi8vICAgICAobG9jYXRpb25zIGFzIEZlYXR1cmVDb2xsZWN0aW9uPEdlb21ldHJ5T2JqZWN0LCBMb2NhdGlvblByb3BlcnRpZXM+KVxuLy8gICAgICAgLnR5cGUgPT09ICdGZWF0dXJlQ29sbGVjdGlvbidcbi8vICAgKTtcbi8vIH1cbiJdfQ==
package/package.json CHANGED
@@ -1,24 +1,28 @@
1
1
  {
2
2
  "name": "@flowmap.gl/layers",
3
- "version": "8.0.0-alpha.9",
3
+ "version": "8.0.2",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "repository": "git@github.com:FlowmapBlue/flowmap.gl.git",
7
+ "repository": "git@github.com:visgl/flowmap.gl.git",
8
8
  "author": "Ilya Boyandin <ilya@boyandin.me>",
9
9
  "license": "Apache-2.0",
10
+ "type": "module",
10
11
  "scripts": {
11
12
  "dev": "tsc --watch",
12
13
  "build": "rm -rf dist && tsc",
13
14
  "prepare": "yarn build"
14
15
  },
16
+ "dependencies": {
17
+ "@flowmap.gl/data": "^8.0.2"
18
+ },
15
19
  "peerDependencies": {
16
20
  "@deck.gl/core": "^8.6.5",
17
21
  "@deck.gl/layers": "^8.6.5",
18
22
  "@luma.gl/constants": "^8.5.10",
19
23
  "@luma.gl/core": "^8.5.10"
20
24
  },
21
- "gitHead": "ad8c99695027f4dca3e5cc4672e07bf6dcd89580",
25
+ "gitHead": "b55bad6919f236f7e38def565e27f231b9323e38",
22
26
  "publishConfig": {
23
27
  "access": "public"
24
28
  }
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
 
19
7
  import {Layer, picking, project32} from '@deck.gl/core';
@@ -95,11 +83,13 @@ export default class AnimatedFlowLinesLayer<F> extends Layer {
95
83
  attributeManager.addInstanced({
96
84
  instanceSourcePositions: {
97
85
  size: 3,
86
+ type: GL.DOUBLE,
98
87
  transition: true,
99
88
  accessor: 'getSourcePosition',
100
89
  },
101
90
  instanceTargetPositions: {
102
91
  size: 3,
92
+ type: GL.DOUBLE,
103
93
  transition: true,
104
94
  accessor: 'getTargetPosition',
105
95
  },
@@ -139,10 +129,8 @@ export default class AnimatedFlowLinesLayer<F> extends Layer {
139
129
 
140
130
  if (changeFlags.extensionsChanged) {
141
131
  const {gl} = this.context;
142
- if (this.state.model) {
143
- this.state.model.delete();
144
- }
145
- this.setState({model: this._getModel(gl)});
132
+ this.state.model?.delete();
133
+ this.state.model = this._getModel(gl);
146
134
  this.getAttributeManager().invalidateAll();
147
135
  }
148
136
  }
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
 
19
7
  export default `\
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
  export default `\
19
7
  #define SHADER_NAME animated-flow-lines-layer-vertex-shader
@@ -1,3 +1,9 @@
1
+ /*
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
1
7
  import AnimatedFlowLinesLayer from './AnimatedFlowLinesLayer';
2
8
 
3
9
  export default AnimatedFlowLinesLayer;
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
 
19
7
  import {Layer, picking, project32} from '@deck.gl/core';
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
  export default `\
19
7
  #define SHADER_NAME flow-circles-layer-fragment-shader
@@ -69,6 +57,7 @@ void main(void) {
69
57
  gl_FragColor = mix(gl_FragColor, ringColor, smoothstep(step3, step4, distToCenter));
70
58
  gl_FragColor = mix(gl_FragColor, outlineColor, smoothstep(step5, step6, distToCenter));
71
59
  // gl_FragColor = mix(gl_FragColor, emptyColor / 255., smoothstep(step6, 1.0, distToCenter));
60
+ gl_FragColor.a = vColor.a;
72
61
  gl_FragColor.a *= smoothstep(0.0, SOFT_OUTLINE, 1.0 - distToCenter);
73
62
  DECKGL_FILTER_COLOR(gl_FragColor, geometry);
74
63
  }
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
  export default `\
19
7
  #define SHADER_NAME flow-circles-layer-vertex-shader
@@ -1,3 +1,9 @@
1
+ /*
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
1
7
  import FlowCirclesLayer from './FlowCirclesLayer';
2
8
 
3
9
  export default FlowCirclesLayer;
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
 
19
7
  import {Layer, picking, project32} from '@deck.gl/core';
@@ -45,6 +33,71 @@ export interface Props<F> extends LayerProps {
45
33
  const DEFAULT_COLOR: RGBA = [0, 132, 193, 255];
46
34
  const INNER_SIDE_OUTLINE_THICKNESS = 1;
47
35
 
36
+ // source_target_mix, perpendicular_offset_in_thickness_units, direction_of_travel_offset_in_thickness_units
37
+ // prettier-ignore
38
+ const POSITIONS = [
39
+ 1, 0, 0, // 0
40
+ 1, 2, -3, // 1
41
+ 1, 1, -3, // 2
42
+
43
+
44
+ 1, 0, 0, // 0
45
+ 1, 1, -3, // 2
46
+ 0, 1, 0, // 3
47
+
48
+
49
+ 1, 0, 0, // 0
50
+ 0, 1, 0, // 3
51
+ 0, 0, 0, // 4
52
+ ];
53
+ /**
54
+ 1
55
+ ··
56
+ · ··
57
+ · ··
58
+ 3 2 · ··
59
+ ······························· ··
60
+ · ······· ···· ··
61
+ · ········ ····· ··
62
+ · ··············· ····· ··
63
+ · ········ ········
64
+ · ················
65
+ 4 ························································ 0
66
+
67
+ */
68
+
69
+ function getOutlinePixelOffsets(tout: number, tin: number) {
70
+ // perpendicular_offset_in_pixels, direction_of_travel_offset_in_pixels, fill_outline_color_mix
71
+ // prettier-ignore
72
+ return ([
73
+
74
+ -tin, 2*tout, 1, // 0
75
+ 2*tout, -tout, 1, // 1
76
+ tout, -tout, 1, // 2
77
+
78
+ -tin, 2*tout, 1, // 0
79
+ tout, -tout, 1, // 2
80
+ tout, -tout, 1, // 3
81
+
82
+ -tin, 2*tout, 1, // 0
83
+ tout, -tout, 1, // 3
84
+ -tin, -tout, 1, // 4
85
+ ]);
86
+ }
87
+
88
+ // prettier-ignore
89
+ const ZEROES = [
90
+ 0, 0, 0,
91
+ 0, 0, 0,
92
+ 0, 0, 0,
93
+ 0, 0, 0,
94
+ 0, 0, 0,
95
+ 0, 0, 0,
96
+ 0, 0, 0,
97
+ 0, 0, 0,
98
+ 0, 0, 0,
99
+ ];
100
+
48
101
  class FlowLinesLayer<F> extends Layer {
49
102
  static layerName = 'FlowLinesLayer';
50
103
  static defaultProps = {
@@ -137,6 +190,7 @@ class FlowLinesLayer<F> extends Layer {
137
190
  .setUniforms({
138
191
  ...uniforms,
139
192
  outlineColor: outlineColor.map((x: number) => x / 255),
193
+ // outlineColor: [1, 0, 0, 1],
140
194
  thicknessUnit: thicknessUnit * 2.0,
141
195
  gap: 0.5,
142
196
  })
@@ -150,80 +204,20 @@ class FlowLinesLayer<F> extends Layer {
150
204
  const {drawOutline, outlineThickness} = this.props;
151
205
  if (drawOutline) {
152
206
  // source_target_mix, perpendicular_offset_in_thickness_units, direction_of_travel_offset_in_thickness_units
153
- // prettier-ignore
154
- positions = positions.concat([
155
- // Outline
156
- 0, 0, 0,
157
- 0, 1, 0,
158
- 1, 0, 0,
159
-
160
- 0, 1, 0,
161
- 1, 0, -3,
162
- 1, 1, -3,
163
-
164
- 1, 0, 0,
165
- 1, 2, -3,
166
- 1, 0, -3,
167
- ],
168
- );
169
-
207
+ positions = positions.concat(POSITIONS);
170
208
  const tout = outlineThickness;
171
209
  const tin = INNER_SIDE_OUTLINE_THICKNESS; // the outline shouldn't cover the opposite arrow
172
- // perpendicular_offset_in_pixels, direction_of_travel_offset_in_pixels, fill_outline_color_mix
173
- // prettier-ignore
174
- pixelOffsets = pixelOffsets.concat([
175
- // Outline
176
- -tin, -tout, 1,
177
- tout, -tout, 1,
178
- -tin, tout, 1,
179
-
180
- tout, -tout, 1,
181
- -tin, 0, 1,
182
- tout, 0, 1,
183
-
184
- -tin, 3 * tout, 1,
185
- 2 * tout, -tout, 1,
186
- -tin, -tout, 1,
187
- ]);
210
+ pixelOffsets = pixelOffsets.concat(getOutlinePixelOffsets(tout, tin));
188
211
  }
189
212
 
190
- // prettier-ignore
191
- positions = positions.concat([
192
- // Fill
193
- 0, 0, 0,
194
- 0, 1, 0,
195
- 1, 0, 0,
196
-
197
- 0, 1, 0,
198
- 1, 0, -3,
199
- 1, 1, -3,
200
-
201
- 1, 0, 0,
202
- 1, 2, -3,
203
- 1, 0, -3,
204
- ]);
205
-
206
- // prettier-ignore
207
- pixelOffsets = pixelOffsets.concat([
208
- // Fill
209
- 0, 0, 0,
210
- 0, 0, 0,
211
- 0, 0, 0,
212
-
213
- 0, 0, 0,
214
- 0, 0, 0,
215
- 0, 0, 0,
216
-
217
- 0, 0, 0,
218
- 0, 0, 0,
219
- 0, 0, 0,
220
- ]);
213
+ positions = positions.concat(POSITIONS);
214
+ pixelOffsets = pixelOffsets.concat(ZEROES);
221
215
 
222
216
  return new Model(gl, {
223
217
  id: this.props.id,
224
218
  ...this.getShaders(),
225
219
  geometry: new Geometry({
226
- drawType: GL.TRIANGLES,
220
+ drawMode: GL.TRIANGLES,
227
221
  attributes: {
228
222
  positions: new Float32Array(positions),
229
223
  normals: new Float32Array(pixelOffsets),
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
  export default `\
19
7
  #define SHADER_NAME flow-line-layer-fragment-shader
@@ -1,19 +1,7 @@
1
1
  /*
2
- * Copyright 2022 FlowmapBlue
3
- * Copyright 2018-2020 Teralytics, modified by FlowmapBlue
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
17
5
  */
18
6
  export default `\
19
7
  #define SHADER_NAME flow-line-layer-vertex-shader
@@ -91,11 +79,7 @@ void main(void) {
91
79
  DECKGL_FILTER_GL_POSITION(gl_Position, geometry);
92
80
 
93
81
  vec4 fillColor = vec4(instanceColors.rgb, instanceColors.a * opacity) / 255.;
94
- if (instancePickable <= 0.5) {
95
- vColor = mix(fillColor, vec4(outlineColor.xyz, instanceThickness), normals.z);
96
- } else {
97
- vColor = mix(fillColor, vec4(outlineColor.xyz, outlineColor.w * fillColor.w), normals.z);
98
- }
82
+ vColor = mix(fillColor, vec4(outlineColor.xyz, outlineColor.w * fillColor.w), normals.z);
99
83
  DECKGL_FILTER_COLOR(vColor, geometry);
100
84
  }
101
85
  `;
@@ -1,3 +1,9 @@
1
+ /*
2
+ * Copyright (c) Flowmap.gl contributors
3
+ * Copyright (c) 2018-2020 Teralytics
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
1
7
  import FlowLinesLayer from './FlowLinesLayer';
2
8
 
3
9
  export default FlowLinesLayer;