@react-fabric/graph 1.0.0-beta.63 → 1.0.1
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/cjs/context/context.js +16 -0
- package/dist/cjs/graph/index.js +58 -381
- package/dist/cjs/index.js +25 -21
- package/dist/cjs/utils/edge.js +76 -0
- package/dist/cjs/utils/node.js +93 -0
- package/dist/cjs/utils/sdfFolder.js +107 -0
- package/dist/cjs/viewer/Graph.js +174 -0
- package/dist/esm/context/context.js +15 -0
- package/dist/esm/graph/index.js +59 -382
- package/dist/esm/index.js +24 -20
- package/dist/esm/utils/edge.js +75 -0
- package/dist/esm/utils/node.js +92 -0
- package/dist/esm/utils/sdfFolder.js +107 -0
- package/dist/esm/viewer/Graph.js +174 -0
- package/dist/types/context/context.d.ts +35 -0
- package/dist/types/graph/index.d.ts +47 -24
- package/dist/types/index.d.ts +28 -2
- package/dist/types/types/index.d.ts +124 -175
- package/dist/types/utils/edge.d.ts +28 -0
- package/dist/types/utils/node.d.ts +28 -0
- package/dist/types/utils/sdfFolder.d.ts +75 -0
- package/dist/types/viewer/Graph.d.ts +31 -0
- package/package.json +19 -25
- package/src/context/context.tsx +43 -0
- package/src/graph/index.ts +76 -399
- package/src/index.ts +24 -26
- package/src/types/index.ts +139 -185
- package/src/utils/edge.ts +65 -0
- package/src/utils/node.ts +105 -0
- package/src/utils/sdfFolder.ts +141 -0
- package/src/viewer/Graph.tsx +159 -0
- package/css/styles.css +0 -56
- package/dist/cjs/_virtual/_rollup-plugin-web-worker-loader__helper__auto__createBase64WorkerFactory.js +0 -14
- package/dist/cjs/_virtual/_rollup-plugin-web-worker-loader__helper__auto__isNodeJS.js +0 -9
- package/dist/cjs/_virtual/_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +0 -35
- package/dist/cjs/_virtual/_rollup-plugin-web-worker-loader__helper__node__WorkerClass.js +0 -11
- package/dist/cjs/_virtual/_rollup-plugin-web-worker-loader__helper__node__createBase64WorkerFactory.js +0 -20
- package/dist/cjs/_virtual/elk-worker.js +0 -8
- package/dist/cjs/components/ContextMenu.js +0 -133
- package/dist/cjs/components/Provider.js +0 -103
- package/dist/cjs/components/Tools.js +0 -205
- package/dist/cjs/components/Viewer.js +0 -59
- package/dist/cjs/components/context.js +0 -34
- package/dist/cjs/constants/index.js +0 -16
- package/dist/cjs/hooks/sigmaDragSelect.js +0 -169
- package/dist/cjs/hooks/sigmaHilighter.js +0 -83
- package/dist/cjs/hooks/sigmaMouseActions.js +0 -145
- package/dist/cjs/hooks/useGraphology.js +0 -41
- package/dist/cjs/hooks/useSigma.js +0 -112
- package/dist/cjs/programs/arrow-head/frag.glsl.js +0 -8
- package/dist/cjs/programs/arrow-head/index.js +0 -142
- package/dist/cjs/programs/arrow-head/vert.glsl.js +0 -8
- package/dist/cjs/programs/edge-curve/drawLabel.js +0 -136
- package/dist/cjs/programs/edge-curve/frag.glsl.js +0 -8
- package/dist/cjs/programs/edge-curve/index.js +0 -157
- package/dist/cjs/programs/edge-curve/vert.glsl.js +0 -8
- package/dist/cjs/programs/edge-line/drawLabel.js +0 -70
- package/dist/cjs/programs/edge-line/frag.glsl.js +0 -8
- package/dist/cjs/programs/edge-line/index.js +0 -166
- package/dist/cjs/programs/edge-line/vert.glsl.js +0 -8
- package/dist/cjs/programs/node-badge/factory.js +0 -250
- package/dist/cjs/programs/node-badge/frag.glsl.js +0 -8
- package/dist/cjs/programs/node-badge/index.js +0 -33
- package/dist/cjs/programs/node-badge/texture.js +0 -455
- package/dist/cjs/programs/node-badge/vert.glsl.js +0 -19
- package/dist/cjs/programs/node-circle/base/drawHover.js +0 -71
- package/dist/cjs/programs/node-circle/base/drawLabel.js +0 -113
- package/dist/cjs/programs/node-circle/base/frag.glsl.js +0 -8
- package/dist/cjs/programs/node-circle/base/index.js +0 -136
- package/dist/cjs/programs/node-circle/base/vert.glsl.js +0 -8
- package/dist/cjs/programs/node-circle/index.js +0 -15
- package/dist/cjs/programs/node-image/factory.js +0 -224
- package/dist/cjs/programs/node-image/frag.glsl.js +0 -8
- package/dist/cjs/programs/node-image/index.js +0 -14
- package/dist/cjs/programs/node-image/texture.js +0 -472
- package/dist/cjs/programs/node-image/vert.glsl.js +0 -8
- package/dist/cjs/programs/node-rect/base/drawHover.js +0 -68
- package/dist/cjs/programs/node-rect/base/drawLabel.js +0 -107
- package/dist/cjs/programs/node-rect/base/frag.glsl.js +0 -8
- package/dist/cjs/programs/node-rect/base/index.js +0 -135
- package/dist/cjs/programs/node-rect/base/vert.glsl.js +0 -8
- package/dist/cjs/programs/node-rect/index.js +0 -15
- package/dist/esm/_virtual/_rollup-plugin-web-worker-loader__helper__auto__createBase64WorkerFactory.js +0 -14
- package/dist/esm/_virtual/_rollup-plugin-web-worker-loader__helper__auto__isNodeJS.js +0 -9
- package/dist/esm/_virtual/_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +0 -34
- package/dist/esm/_virtual/_rollup-plugin-web-worker-loader__helper__node__WorkerClass.js +0 -13
- package/dist/esm/_virtual/_rollup-plugin-web-worker-loader__helper__node__createBase64WorkerFactory.js +0 -20
- package/dist/esm/_virtual/elk-worker.js +0 -8
- package/dist/esm/components/ContextMenu.js +0 -133
- package/dist/esm/components/Provider.js +0 -103
- package/dist/esm/components/Tools.js +0 -205
- package/dist/esm/components/Viewer.js +0 -59
- package/dist/esm/components/context.js +0 -33
- package/dist/esm/constants/index.js +0 -16
- package/dist/esm/hooks/sigmaDragSelect.js +0 -169
- package/dist/esm/hooks/sigmaHilighter.js +0 -83
- package/dist/esm/hooks/sigmaMouseActions.js +0 -145
- package/dist/esm/hooks/useGraphology.js +0 -41
- package/dist/esm/hooks/useSigma.js +0 -112
- package/dist/esm/programs/arrow-head/frag.glsl.js +0 -8
- package/dist/esm/programs/arrow-head/index.js +0 -141
- package/dist/esm/programs/arrow-head/vert.glsl.js +0 -8
- package/dist/esm/programs/edge-curve/drawLabel.js +0 -136
- package/dist/esm/programs/edge-curve/frag.glsl.js +0 -8
- package/dist/esm/programs/edge-curve/index.js +0 -156
- package/dist/esm/programs/edge-curve/vert.glsl.js +0 -8
- package/dist/esm/programs/edge-line/drawLabel.js +0 -70
- package/dist/esm/programs/edge-line/frag.glsl.js +0 -8
- package/dist/esm/programs/edge-line/index.js +0 -166
- package/dist/esm/programs/edge-line/vert.glsl.js +0 -8
- package/dist/esm/programs/node-badge/factory.js +0 -250
- package/dist/esm/programs/node-badge/frag.glsl.js +0 -8
- package/dist/esm/programs/node-badge/index.js +0 -32
- package/dist/esm/programs/node-badge/texture.js +0 -445
- package/dist/esm/programs/node-badge/vert.glsl.js +0 -19
- package/dist/esm/programs/node-circle/base/drawHover.js +0 -71
- package/dist/esm/programs/node-circle/base/drawLabel.js +0 -113
- package/dist/esm/programs/node-circle/base/frag.glsl.js +0 -8
- package/dist/esm/programs/node-circle/base/index.js +0 -136
- package/dist/esm/programs/node-circle/base/vert.glsl.js +0 -8
- package/dist/esm/programs/node-circle/index.js +0 -15
- package/dist/esm/programs/node-image/factory.js +0 -224
- package/dist/esm/programs/node-image/frag.glsl.js +0 -8
- package/dist/esm/programs/node-image/index.js +0 -13
- package/dist/esm/programs/node-image/texture.js +0 -462
- package/dist/esm/programs/node-image/vert.glsl.js +0 -8
- package/dist/esm/programs/node-rect/base/drawHover.js +0 -68
- package/dist/esm/programs/node-rect/base/drawLabel.js +0 -107
- package/dist/esm/programs/node-rect/base/frag.glsl.js +0 -8
- package/dist/esm/programs/node-rect/base/index.js +0 -135
- package/dist/esm/programs/node-rect/base/vert.glsl.js +0 -8
- package/dist/esm/programs/node-rect/index.js +0 -15
- package/dist/types/components/ContextMenu.d.ts +0 -1
- package/dist/types/components/Provider.d.ts +0 -3
- package/dist/types/components/Tools.d.ts +0 -1
- package/dist/types/components/Viewer.d.ts +0 -2
- package/dist/types/components/context.d.ts +0 -17
- package/dist/types/constants/index.d.ts +0 -12
- package/dist/types/graph/layout.worker.d.ts +0 -1
- package/dist/types/hooks/sigmaDragSelect.d.ts +0 -8
- package/dist/types/hooks/sigmaHilighter.d.ts +0 -3
- package/dist/types/hooks/sigmaMouseActions.d.ts +0 -3
- package/dist/types/hooks/useGraphology.d.ts +0 -6
- package/dist/types/hooks/useSigma.d.ts +0 -8
- package/dist/types/i18n/index.d.ts +0 -0
- package/dist/types/programs/arrow-head/frag.glsl.d.ts +0 -2
- package/dist/types/programs/arrow-head/index.d.ts +0 -9
- package/dist/types/programs/arrow-head/vert.glsl.d.ts +0 -2
- package/dist/types/programs/edge-curve/drawLabel.d.ts +0 -6
- package/dist/types/programs/edge-curve/frag.glsl.d.ts +0 -2
- package/dist/types/programs/edge-curve/index.d.ts +0 -43
- package/dist/types/programs/edge-curve/vert.glsl.d.ts +0 -2
- package/dist/types/programs/edge-line/drawLabel.d.ts +0 -5
- package/dist/types/programs/edge-line/frag.glsl.d.ts +0 -2
- package/dist/types/programs/edge-line/index.d.ts +0 -11
- package/dist/types/programs/edge-line/vert.glsl.d.ts +0 -2
- package/dist/types/programs/node-badge/factory.d.ts +0 -27
- package/dist/types/programs/node-badge/frag.glsl.d.ts +0 -2
- package/dist/types/programs/node-badge/index.d.ts +0 -5
- package/dist/types/programs/node-badge/texture.d.ts +0 -102
- package/dist/types/programs/node-badge/vert.glsl.d.ts +0 -2
- package/dist/types/programs/node-circle/base/drawHover.d.ts +0 -8
- package/dist/types/programs/node-circle/base/drawLabel.d.ts +0 -8
- package/dist/types/programs/node-circle/base/frag.glsl.d.ts +0 -2
- package/dist/types/programs/node-circle/base/index.d.ts +0 -37
- package/dist/types/programs/node-circle/base/vert.glsl.d.ts +0 -2
- package/dist/types/programs/node-circle/index.d.ts +0 -11
- package/dist/types/programs/node-image/factory.d.ts +0 -25
- package/dist/types/programs/node-image/frag.glsl.d.ts +0 -2
- package/dist/types/programs/node-image/index.d.ts +0 -5
- package/dist/types/programs/node-image/texture.d.ts +0 -102
- package/dist/types/programs/node-image/vert.glsl.d.ts +0 -2
- package/dist/types/programs/node-rect/base/drawHover.d.ts +0 -8
- package/dist/types/programs/node-rect/base/drawLabel.d.ts +0 -8
- package/dist/types/programs/node-rect/base/frag.glsl.d.ts +0 -2
- package/dist/types/programs/node-rect/base/index.d.ts +0 -34
- package/dist/types/programs/node-rect/base/vert.glsl.d.ts +0 -2
- package/dist/types/programs/node-rect/index.d.ts +0 -11
- package/src/components/ContextMenu.tsx +0 -138
- package/src/components/Provider.tsx +0 -116
- package/src/components/Tools.tsx +0 -68
- package/src/components/Viewer.tsx +0 -75
- package/src/components/context.ts +0 -43
- package/src/constants/index.ts +0 -22
- package/src/graph/layout.worker.ts +0 -42
- package/src/hooks/sigmaDragSelect.ts +0 -219
- package/src/hooks/sigmaHilighter.ts +0 -107
- package/src/hooks/sigmaMouseActions.ts +0 -153
- package/src/hooks/useGraphology.ts +0 -31
- package/src/hooks/useSigma.ts +0 -118
- package/src/i18n/index.ts +0 -0
- package/src/programs/arrow-head/frag.glsl.ts +0 -18
- package/src/programs/arrow-head/index.ts +0 -156
- package/src/programs/arrow-head/vert.glsl.ts +0 -75
- package/src/programs/edge-curve/drawLabel.ts +0 -166
- package/src/programs/edge-curve/frag.glsl.ts +0 -86
- package/src/programs/edge-curve/index.ts +0 -156
- package/src/programs/edge-curve/vert.glsl.ts +0 -110
- package/src/programs/edge-line/drawLabel.ts +0 -113
- package/src/programs/edge-line/frag.glsl.ts +0 -34
- package/src/programs/edge-line/index.ts +0 -163
- package/src/programs/edge-line/vert.glsl.ts +0 -104
- package/src/programs/node-badge/factory.ts +0 -325
- package/src/programs/node-badge/frag.glsl.ts +0 -79
- package/src/programs/node-badge/index.ts +0 -35
- package/src/programs/node-badge/texture.ts +0 -425
- package/src/programs/node-badge/vert.glsl.ts +0 -99
- package/src/programs/node-circle/base/drawHover.ts +0 -80
- package/src/programs/node-circle/base/drawLabel.ts +0 -145
- package/src/programs/node-circle/base/frag.glsl.ts +0 -72
- package/src/programs/node-circle/base/index.ts +0 -100
- package/src/programs/node-circle/base/vert.glsl.ts +0 -83
- package/src/programs/node-circle/index.ts +0 -19
- package/src/programs/node-image/factory.ts +0 -299
- package/src/programs/node-image/frag.glsl.ts +0 -97
- package/src/programs/node-image/index.ts +0 -7
- package/src/programs/node-image/texture.ts +0 -435
- package/src/programs/node-image/vert.glsl.ts +0 -60
- package/src/programs/node-rect/base/drawHover.ts +0 -77
- package/src/programs/node-rect/base/drawLabel.ts +0 -149
- package/src/programs/node-rect/base/frag.glsl.ts +0 -67
- package/src/programs/node-rect/base/index.ts +0 -107
- package/src/programs/node-rect/base/vert.glsl.ts +0 -87
- package/src/programs/node-rect/index.ts +0 -19
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
4
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
5
|
-
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
6
|
-
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
7
|
-
import _inherits from '@babel/runtime/helpers/inherits';
|
|
8
|
-
import { createEdgeCompoundProgram, EdgeProgram } from 'sigma/rendering';
|
|
9
|
-
import { floatColor } from 'sigma/utils';
|
|
10
|
-
import { createEdgeArrowHeadProgram } from '../arrow-head/index.js';
|
|
11
|
-
import { drawLineLabel } from './drawLabel.js';
|
|
12
|
-
import SHADER_SOURCE$1 from './frag.glsl.js';
|
|
13
|
-
import SHADER_SOURCE from './vert.glsl.js';
|
|
14
|
-
|
|
15
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
16
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
17
|
-
|
|
18
|
-
/* istanbul ignore file */
|
|
19
|
-
|
|
20
|
-
var _WebGLRenderingContex = WebGLRenderingContext,
|
|
21
|
-
UNSIGNED_BYTE = _WebGLRenderingContex.UNSIGNED_BYTE,
|
|
22
|
-
FLOAT = _WebGLRenderingContex.FLOAT;
|
|
23
|
-
var UNIFORMS = ["u_matrix", "u_zoomRatio", "u_sizeRatio", "u_correctionRatio", "u_pixelRatio", "u_feather", "u_minEdgeThickness", "u_lengthToThicknessRatio"];
|
|
24
|
-
var EdgeLineProgramBase = /*#__PURE__*/function (_EdgeProgram) {
|
|
25
|
-
function EdgeLineProgramBase() {
|
|
26
|
-
_classCallCheck(this, EdgeLineProgramBase);
|
|
27
|
-
return _callSuper(this, EdgeLineProgramBase, arguments);
|
|
28
|
-
}
|
|
29
|
-
_inherits(EdgeLineProgramBase, _EdgeProgram);
|
|
30
|
-
return _createClass(EdgeLineProgramBase, [{
|
|
31
|
-
key: "getDefinition",
|
|
32
|
-
value: function getDefinition() {
|
|
33
|
-
return {
|
|
34
|
-
VERTICES: 6,
|
|
35
|
-
VERTEX_SHADER_SOURCE: SHADER_SOURCE,
|
|
36
|
-
FRAGMENT_SHADER_SOURCE: SHADER_SOURCE$1,
|
|
37
|
-
METHOD: WebGLRenderingContext.TRIANGLES,
|
|
38
|
-
UNIFORMS: UNIFORMS,
|
|
39
|
-
ATTRIBUTES: [{
|
|
40
|
-
name: "a_positionStart",
|
|
41
|
-
size: 2,
|
|
42
|
-
type: FLOAT
|
|
43
|
-
}, {
|
|
44
|
-
name: "a_positionEnd",
|
|
45
|
-
size: 2,
|
|
46
|
-
type: FLOAT
|
|
47
|
-
}, {
|
|
48
|
-
name: "a_normal",
|
|
49
|
-
size: 2,
|
|
50
|
-
type: FLOAT
|
|
51
|
-
}, {
|
|
52
|
-
name: "a_color",
|
|
53
|
-
size: 4,
|
|
54
|
-
type: UNSIGNED_BYTE,
|
|
55
|
-
normalized: true
|
|
56
|
-
}, {
|
|
57
|
-
name: "a_opacity",
|
|
58
|
-
size: 1,
|
|
59
|
-
type: FLOAT
|
|
60
|
-
}, {
|
|
61
|
-
name: "a_id",
|
|
62
|
-
size: 4,
|
|
63
|
-
type: UNSIGNED_BYTE,
|
|
64
|
-
normalized: true
|
|
65
|
-
}, {
|
|
66
|
-
name: "a_sourceRadius",
|
|
67
|
-
size: 1,
|
|
68
|
-
type: FLOAT
|
|
69
|
-
}, {
|
|
70
|
-
name: "a_targetRadius",
|
|
71
|
-
size: 1,
|
|
72
|
-
type: FLOAT
|
|
73
|
-
}],
|
|
74
|
-
CONSTANT_ATTRIBUTES: [
|
|
75
|
-
// If 0, then position will be a_positionStart
|
|
76
|
-
// If 2, then position will be a_positionEnd
|
|
77
|
-
{
|
|
78
|
-
name: "a_positionCoef",
|
|
79
|
-
size: 1,
|
|
80
|
-
type: FLOAT
|
|
81
|
-
}, {
|
|
82
|
-
name: "a_normalCoef",
|
|
83
|
-
size: 1,
|
|
84
|
-
type: FLOAT
|
|
85
|
-
}, {
|
|
86
|
-
name: "a_sourceRadiusCoef",
|
|
87
|
-
size: 1,
|
|
88
|
-
type: FLOAT
|
|
89
|
-
}, {
|
|
90
|
-
name: "a_targetRadiusCoef",
|
|
91
|
-
size: 1,
|
|
92
|
-
type: FLOAT
|
|
93
|
-
}],
|
|
94
|
-
CONSTANT_DATA: [[0, 1, -1, 0], [0, -1, 1, 0], [1, 1, 0, 1], [1, 1, 0, 1], [0, -1, 1, 0], [1, -1, 0, -1]]
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
}, {
|
|
98
|
-
key: "processVisibleItem",
|
|
99
|
-
value: function processVisibleItem(edgeIndex, startIndex, sourceData, targetData, data) {
|
|
100
|
-
var _data$color, _data$selected, _data$opacity, _data$arrow, _data$arrow2;
|
|
101
|
-
var color = (_data$color = data.color) !== null && _data$color !== void 0 ? _data$color : this.renderer.getSetting("defaultEdgeColor");
|
|
102
|
-
if (data.selected) color = "#f00";
|
|
103
|
-
if (data.highlight) color = "#F54A4A";
|
|
104
|
-
var thickness = Math.min(data.size || 1, 0.5) * (((_data$selected = data.selected) !== null && _data$selected !== void 0 ? _data$selected : data.highlight) ? 8 : 4);
|
|
105
|
-
var x1 = sourceData.x;
|
|
106
|
-
var y1 = sourceData.y;
|
|
107
|
-
var x2 = targetData.x;
|
|
108
|
-
var y2 = targetData.y;
|
|
109
|
-
|
|
110
|
-
// Computing normals
|
|
111
|
-
var dx = x2 - x1;
|
|
112
|
-
var dy = y2 - y1;
|
|
113
|
-
var sourceRadius = sourceData.size || 1;
|
|
114
|
-
var targetRadius = targetData.size || 1;
|
|
115
|
-
var len = dx * dx + dy * dy;
|
|
116
|
-
var n1 = 0;
|
|
117
|
-
var n2 = 0;
|
|
118
|
-
if (len) {
|
|
119
|
-
len = 1 / Math.sqrt(len);
|
|
120
|
-
n1 = -dy * len * thickness;
|
|
121
|
-
n2 = dx * len * thickness;
|
|
122
|
-
}
|
|
123
|
-
var array = this.array;
|
|
124
|
-
array[startIndex++] = x1;
|
|
125
|
-
array[startIndex++] = y1;
|
|
126
|
-
array[startIndex++] = x2;
|
|
127
|
-
array[startIndex++] = y2;
|
|
128
|
-
array[startIndex++] = n1;
|
|
129
|
-
array[startIndex++] = n2;
|
|
130
|
-
array[startIndex++] = floatColor(color);
|
|
131
|
-
array[startIndex++] = (_data$opacity = data.opacity) !== null && _data$opacity !== void 0 ? _data$opacity : 1;
|
|
132
|
-
array[startIndex++] = edgeIndex;
|
|
133
|
-
array[startIndex++] = ["both", "source"].includes((_data$arrow = data.arrow) !== null && _data$arrow !== void 0 ? _data$arrow : "") ? sourceRadius : 0;
|
|
134
|
-
array[startIndex++] = ["both", "target"].includes((_data$arrow2 = data.arrow) !== null && _data$arrow2 !== void 0 ? _data$arrow2 : "") ? targetRadius : 0;
|
|
135
|
-
}
|
|
136
|
-
}, {
|
|
137
|
-
key: "setUniforms",
|
|
138
|
-
value: function setUniforms(params, _ref) {
|
|
139
|
-
var gl = _ref.gl,
|
|
140
|
-
uniformLocations = _ref.uniformLocations;
|
|
141
|
-
var u_matrix = uniformLocations.u_matrix,
|
|
142
|
-
u_zoomRatio = uniformLocations.u_zoomRatio,
|
|
143
|
-
u_feather = uniformLocations.u_feather,
|
|
144
|
-
u_pixelRatio = uniformLocations.u_pixelRatio,
|
|
145
|
-
u_correctionRatio = uniformLocations.u_correctionRatio,
|
|
146
|
-
u_sizeRatio = uniformLocations.u_sizeRatio,
|
|
147
|
-
u_minEdgeThickness = uniformLocations.u_minEdgeThickness,
|
|
148
|
-
u_lengthToThicknessRatio = uniformLocations.u_lengthToThicknessRatio;
|
|
149
|
-
gl.uniformMatrix3fv(u_matrix, false, params.matrix);
|
|
150
|
-
gl.uniform1f(u_zoomRatio, params.zoomRatio);
|
|
151
|
-
gl.uniform1f(u_sizeRatio, params.sizeRatio);
|
|
152
|
-
gl.uniform1f(u_correctionRatio, params.correctionRatio);
|
|
153
|
-
gl.uniform1f(u_pixelRatio, params.pixelRatio);
|
|
154
|
-
gl.uniform1f(u_feather, params.antiAliasingFeather);
|
|
155
|
-
gl.uniform1f(u_minEdgeThickness, params.minEdgeThickness);
|
|
156
|
-
gl.uniform1f(u_lengthToThicknessRatio, 2.5);
|
|
157
|
-
}
|
|
158
|
-
}]);
|
|
159
|
-
}(EdgeProgram);
|
|
160
|
-
var EdgeLineProgram = createEdgeCompoundProgram([EdgeLineProgramBase, createEdgeArrowHeadProgram({
|
|
161
|
-
extremity: "source"
|
|
162
|
-
}), createEdgeArrowHeadProgram({
|
|
163
|
-
extremity: "target"
|
|
164
|
-
})], drawLineLabel);
|
|
165
|
-
|
|
166
|
-
export { EdgeLineProgram };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
/* istanbul ignore file */
|
|
4
|
-
|
|
5
|
-
// language=GLSL
|
|
6
|
-
var SHADER_SOURCE = /* glsl */"\nattribute vec4 a_id;\nattribute vec4 a_color;\nattribute vec2 a_normal;\nattribute float a_opacity;\nattribute float a_normalCoef;\nattribute vec2 a_positionStart;\nattribute vec2 a_positionEnd;\nattribute float a_positionCoef;\nattribute float a_sourceRadius;\nattribute float a_targetRadius;\nattribute float a_sourceRadiusCoef;\nattribute float a_targetRadiusCoef;\n\nuniform mat3 u_matrix;\nuniform float u_sizeRatio;\nuniform float u_zoomRatio;\nuniform float u_pixelRatio;\nuniform float u_correctionRatio;\nuniform float u_minEdgeThickness;\nuniform float u_lengthToThicknessRatio;\nuniform float u_feather;\n\nvarying vec4 v_color;\nvarying vec2 v_normal;\nvarying float v_opacity;\nvarying float v_thickness;\nvarying float v_feather;\n\nconst float minThickness = 1.7;\nconst float bias = 255.0 / 254.0;\n\nvoid main() {\n vec2 normal = a_normal * a_normalCoef;\n vec2 position = a_positionStart * (1.0 - a_positionCoef) + a_positionEnd * a_positionCoef;\n\n float normalLength = length(normal);\n vec2 unitNormal = normal / normalLength;\n\n // We require edges to be at least \"minThickness\" pixels thick *on screen*\n // (so we need to compensate the size ratio):\n float pixelsThickness = max(normalLength, minThickness * u_sizeRatio);\n\n // Then, we need to retrieve the normalized thickness of the edge in the WebGL\n // referential (in a ([0, 1], [0, 1]) space), using our \"magic\" correction\n // ratio:\n float webGLThickness = pixelsThickness * u_correctionRatio / u_sizeRatio;\n\n // Here, we move the point to leave space for the arrow heads:\n // Source arrow head\n float sourceRadius = a_sourceRadius * a_sourceRadiusCoef;\n float sourceDirection = sign(sourceRadius);\n float webGLSourceRadius = sourceDirection * sourceRadius * 2.0 * u_correctionRatio / u_sizeRatio;\n float webGLSourceArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0;\n vec2 sourceCompensationVector =\n vec2(-sourceDirection * unitNormal.y, sourceDirection * unitNormal.x)\n * (webGLSourceRadius + webGLSourceArrowHeadLength);\n \n // Target arrow head\n float targetRadius = a_targetRadius * a_targetRadiusCoef;\n float targetDirection = sign(targetRadius);\n float webGLTargetRadius = targetDirection * targetRadius * 2.0 * u_correctionRatio / u_sizeRatio;\n float webGLTargetArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0;\n vec2 targetCompensationVector =\n vec2(-targetDirection * unitNormal.y, targetDirection * unitNormal.x)\n * (webGLTargetRadius + webGLTargetArrowHeadLength);\n\n if(a_sourceRadius == 0.0) {\n sourceCompensationVector = vec2(0.0, 0.0);\n }\n if(a_targetRadius == 0.0) {\n targetCompensationVector = vec2(0.0, 0.0);\n }\n\n // Here is the proper position of the vertex\n gl_Position = vec4((u_matrix * vec3(position + unitNormal * webGLThickness + sourceCompensationVector + targetCompensationVector, 1)).xy, 0, 1);\n\n // For the fragment shader though, we need a thickness that takes the \"magic\"\n // correction ratio into account (as in webGLThickness), but so that the\n // antialiasing effect does not depend on the zoom level. So here's yet\n // another thickness version:\n v_thickness = webGLThickness / u_zoomRatio;\n\n v_normal = unitNormal;\n\n v_feather = u_feather * u_correctionRatio / u_zoomRatio / u_pixelRatio * 2.0;\n\n #ifdef PICKING_MODE\n // For picking mode, we use the ID as the color:\n v_color = a_id;\n #else\n // For normal mode, we use the color:\n v_color = a_color;\n v_opacity = a_opacity;\n #endif\n\n v_color.a *= bias;\n}\n";
|
|
7
|
-
|
|
8
|
-
export { SHADER_SOURCE as default };
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
4
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
5
|
-
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
6
|
-
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
7
|
-
import _get from '@babel/runtime/helpers/get';
|
|
8
|
-
import _inherits from '@babel/runtime/helpers/inherits';
|
|
9
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
10
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
11
|
-
import { NodeProgram } from 'sigma/rendering';
|
|
12
|
-
import { floatColor } from 'sigma/utils';
|
|
13
|
-
import SHADER_SOURCE from './frag.glsl.js';
|
|
14
|
-
import { DEFAULT_TEXTURE_MANAGER_OPTIONS, TextureManager } from './texture.js';
|
|
15
|
-
import VERTEX_SHADER_SOURCE from './vert.glsl.js';
|
|
16
|
-
|
|
17
|
-
var _excluded = ["drawHover", "drawLabel", "drawingMode", "keepWithinCircle", "padding", "colorAttribute", "badgePosition"];
|
|
18
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
19
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
|
-
function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
21
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23
|
-
var ICON_MAP = {
|
|
24
|
-
star: "M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z",
|
|
25
|
-
exclaim: "M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z",
|
|
26
|
-
thumbUp: "M23,10C23,8.89 22.1,8 21,8H14.68L15.64,3.43C15.66,3.33 15.67,3.22 15.67,3.11C15.67,2.7 15.5,2.32 15.23,2.05L14.17,1L7.59,7.58C7.22,7.95 7,8.45 7,9V19A2,2 0 0,0 9,21H18C18.83,21 19.54,20.5 19.84,19.78L22.86,12.73C22.95,12.5 23,12.26 23,12V10M1,21H5V9H1V21Z",
|
|
27
|
-
thumbDown: "M19,15H23V3H19M15,3H6C5.17,3 4.46,3.5 4.16,4.22L1.14,11.27C1.05,11.5 1,11.74 1,12V14A2,2 0 0,0 3,16H9.31L8.36,20.57C8.34,20.67 8.33,20.77 8.33,20.88C8.33,21.3 8.5,21.67 8.77,21.94L9.83,23L16.41,16.41C16.78,16.05 17,15.55 17,15V5C17,3.89 16.1,3 15,3Z"
|
|
28
|
-
};
|
|
29
|
-
var POSITION = {
|
|
30
|
-
"top-left": 0,
|
|
31
|
-
"top-right": 1,
|
|
32
|
-
"bottom-left": 2,
|
|
33
|
-
"bottom-right": 3,
|
|
34
|
-
top: 4,
|
|
35
|
-
left: 5,
|
|
36
|
-
right: 6,
|
|
37
|
-
bottom: 7
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/* istanbul ignore file */
|
|
41
|
-
|
|
42
|
-
var _WebGLRenderingContex = WebGLRenderingContext,
|
|
43
|
-
UNSIGNED_BYTE = _WebGLRenderingContex.UNSIGNED_BYTE,
|
|
44
|
-
FLOAT = _WebGLRenderingContex.FLOAT;
|
|
45
|
-
var DEFAULT_CREATE_NODE_IMAGE_OPTIONS = _objectSpread(_objectSpread({}, DEFAULT_TEXTURE_MANAGER_OPTIONS), {}, {
|
|
46
|
-
drawingMode: "background",
|
|
47
|
-
keepWithinCircle: true,
|
|
48
|
-
drawLabel: undefined,
|
|
49
|
-
drawHover: undefined,
|
|
50
|
-
padding: 0,
|
|
51
|
-
colorAttribute: "color"
|
|
52
|
-
});
|
|
53
|
-
var UNIFORMS = ["u_sizeRatio", "u_correctionRatio", "u_cameraAngle", "u_percentagePadding", "u_matrix", "u_colorizeImages", "u_keepWithinCircle", "u_atlas"];
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* To share the texture between the program instances of the graph and the
|
|
57
|
-
* hovered nodes (to prevent some flickering, mostly), this program must be
|
|
58
|
-
* "built" for each sigma instance:
|
|
59
|
-
*/
|
|
60
|
-
function getNodeImageProgram(options) {
|
|
61
|
-
var _NodeImageProgram;
|
|
62
|
-
var _badgePosition$DEFAUL = _objectSpread(_objectSpread(_objectSpread({
|
|
63
|
-
badgePosition: "top-right"
|
|
64
|
-
}, DEFAULT_CREATE_NODE_IMAGE_OPTIONS), options !== null && options !== void 0 ? options : {}), {}, {
|
|
65
|
-
drawLabel: undefined,
|
|
66
|
-
drawHover: undefined
|
|
67
|
-
}),
|
|
68
|
-
drawHover = _badgePosition$DEFAUL.drawHover,
|
|
69
|
-
drawLabel = _badgePosition$DEFAUL.drawLabel;
|
|
70
|
-
_badgePosition$DEFAUL.drawingMode;
|
|
71
|
-
var keepWithinCircle = _badgePosition$DEFAUL.keepWithinCircle,
|
|
72
|
-
padding = _badgePosition$DEFAUL.padding;
|
|
73
|
-
_badgePosition$DEFAUL.colorAttribute;
|
|
74
|
-
var badgePosition = _badgePosition$DEFAUL.badgePosition,
|
|
75
|
-
textureManagerOptions = _objectWithoutProperties(_badgePosition$DEFAUL, _excluded);
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* This texture manager is shared between all instances of this exact class,
|
|
79
|
-
* returned by this call to getNodeProgramImage. This means that remounting
|
|
80
|
-
* the sigma instance will not reload the images and regenerate the texture.
|
|
81
|
-
*/
|
|
82
|
-
var textureManager = new TextureManager(textureManagerOptions);
|
|
83
|
-
return _NodeImageProgram = /*#__PURE__*/function (_NodeProgram) {
|
|
84
|
-
function NodeImageProgram(gl, pickingBuffer, renderer) {
|
|
85
|
-
var _this;
|
|
86
|
-
_classCallCheck(this, NodeImageProgram);
|
|
87
|
-
_this = _callSuper(this, NodeImageProgram, [gl, pickingBuffer, renderer]);
|
|
88
|
-
_this.textureManagerCallback = function () {
|
|
89
|
-
if (!_this) return;
|
|
90
|
-
if (_this.bindTexture) {
|
|
91
|
-
_this.atlas = textureManager.getAtlas();
|
|
92
|
-
_this.textureImage = textureManager.getTexture();
|
|
93
|
-
_this.bindTexture();
|
|
94
|
-
if (_this.latestRenderParams) _this.render(_this.latestRenderParams);
|
|
95
|
-
}
|
|
96
|
-
if (renderer !== null && renderer !== void 0 && renderer.refresh) renderer.refresh();
|
|
97
|
-
};
|
|
98
|
-
textureManager.on(TextureManager.NEW_TEXTURE_EVENT, _this.textureManagerCallback);
|
|
99
|
-
_this.atlas = textureManager.getAtlas();
|
|
100
|
-
_this.textureImage = textureManager.getTexture();
|
|
101
|
-
_this.texture = gl.createTexture();
|
|
102
|
-
_this.bindTexture();
|
|
103
|
-
return _this;
|
|
104
|
-
}
|
|
105
|
-
_inherits(NodeImageProgram, _NodeProgram);
|
|
106
|
-
return _createClass(NodeImageProgram, [{
|
|
107
|
-
key: "getDefinition",
|
|
108
|
-
value: function getDefinition() {
|
|
109
|
-
return {
|
|
110
|
-
VERTICES: 4,
|
|
111
|
-
VERTEX_SHADER_SOURCE: VERTEX_SHADER_SOURCE,
|
|
112
|
-
FRAGMENT_SHADER_SOURCE: SHADER_SOURCE,
|
|
113
|
-
METHOD: WebGLRenderingContext.TRIANGLE_FAN,
|
|
114
|
-
UNIFORMS: UNIFORMS,
|
|
115
|
-
ATTRIBUTES: [{
|
|
116
|
-
name: "a_position",
|
|
117
|
-
size: 2,
|
|
118
|
-
type: FLOAT
|
|
119
|
-
}, {
|
|
120
|
-
name: "a_size",
|
|
121
|
-
size: 1,
|
|
122
|
-
type: FLOAT
|
|
123
|
-
}, {
|
|
124
|
-
name: "a_opacity",
|
|
125
|
-
size: 1,
|
|
126
|
-
type: FLOAT
|
|
127
|
-
}, {
|
|
128
|
-
name: "a_circle",
|
|
129
|
-
size: 1,
|
|
130
|
-
type: FLOAT
|
|
131
|
-
}, {
|
|
132
|
-
name: "a_placement",
|
|
133
|
-
size: 1,
|
|
134
|
-
type: FLOAT
|
|
135
|
-
}, {
|
|
136
|
-
name: "a_fill",
|
|
137
|
-
size: 4,
|
|
138
|
-
type: UNSIGNED_BYTE,
|
|
139
|
-
normalized: true
|
|
140
|
-
}, {
|
|
141
|
-
name: "a_color",
|
|
142
|
-
size: 4,
|
|
143
|
-
type: UNSIGNED_BYTE,
|
|
144
|
-
normalized: true
|
|
145
|
-
}, {
|
|
146
|
-
name: "a_id",
|
|
147
|
-
size: 4,
|
|
148
|
-
type: UNSIGNED_BYTE,
|
|
149
|
-
normalized: true
|
|
150
|
-
}, {
|
|
151
|
-
name: "a_texture",
|
|
152
|
-
size: 4,
|
|
153
|
-
type: FLOAT
|
|
154
|
-
}],
|
|
155
|
-
CONSTANT_ATTRIBUTES: [{
|
|
156
|
-
name: "a_angle",
|
|
157
|
-
size: 1,
|
|
158
|
-
type: FLOAT
|
|
159
|
-
}],
|
|
160
|
-
CONSTANT_DATA: [[NodeImageProgram.ANGLE_1], [NodeImageProgram.ANGLE_2], [NodeImageProgram.ANGLE_3], [NodeImageProgram.ANGLE_4]]
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
}, {
|
|
164
|
-
key: "kill",
|
|
165
|
-
value: function kill() {
|
|
166
|
-
textureManager.off(TextureManager.NEW_TEXTURE_EVENT, this.textureManagerCallback);
|
|
167
|
-
}
|
|
168
|
-
}, {
|
|
169
|
-
key: "bindTexture",
|
|
170
|
-
value: function bindTexture() {
|
|
171
|
-
var gl = this.normalProgram.gl;
|
|
172
|
-
gl.bindTexture(gl.TEXTURE_2D, this.texture);
|
|
173
|
-
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this.textureImage);
|
|
174
|
-
gl.generateMipmap(gl.TEXTURE_2D);
|
|
175
|
-
}
|
|
176
|
-
}, {
|
|
177
|
-
key: "renderProgram",
|
|
178
|
-
value: function renderProgram(params, programInfo) {
|
|
179
|
-
if (!programInfo.isPicking) {
|
|
180
|
-
// Rebind texture (since it's been just unbound by picking):
|
|
181
|
-
var gl = programInfo.gl;
|
|
182
|
-
gl.bindTexture(gl.TEXTURE_2D, this.texture);
|
|
183
|
-
}
|
|
184
|
-
_superPropGet(NodeImageProgram, "renderProgram", this, 3)([params, programInfo]);
|
|
185
|
-
}
|
|
186
|
-
}, {
|
|
187
|
-
key: "processVisibleItem",
|
|
188
|
-
value: function processVisibleItem(nodeIndex, startIndex, data) {
|
|
189
|
-
var _data$badge, _badge$color, _ref, _badge$iconColor, _ICON_MAP, _data$opacity, _POSITION$badgePositi;
|
|
190
|
-
var array = this.array;
|
|
191
|
-
var badge = (_data$badge = data.badge) === null || _data$badge === void 0 ? void 0 : _data$badge.find(function (b) {
|
|
192
|
-
return b.position === badgePosition;
|
|
193
|
-
});
|
|
194
|
-
var fill = floatColor((_badge$color = badge === null || badge === void 0 ? void 0 : badge.color) !== null && _badge$color !== void 0 ? _badge$color : "#00000000");
|
|
195
|
-
var color = floatColor((_ref = (_badge$iconColor = badge === null || badge === void 0 ? void 0 : badge.iconColor) !== null && _badge$iconColor !== void 0 ? _badge$iconColor : this.renderer.getSetting("labelColor").color) !== null && _ref !== void 0 ? _ref : "#000");
|
|
196
|
-
var imageSource = badge ? (_ICON_MAP = ICON_MAP[badge.type]) !== null && _ICON_MAP !== void 0 ? _ICON_MAP : badge.path : undefined;
|
|
197
|
-
var imagePosition = imageSource ? this.atlas[imageSource] : undefined;
|
|
198
|
-
if (typeof imageSource === "string" && !imagePosition) void textureManager.registerImage(imageSource);
|
|
199
|
-
array[startIndex++] = data.x;
|
|
200
|
-
array[startIndex++] = data.y;
|
|
201
|
-
array[startIndex++] = data.size;
|
|
202
|
-
array[startIndex++] = !imageSource ? 0 : (_data$opacity = data.opacity) !== null && _data$opacity !== void 0 ? _data$opacity : 1;
|
|
203
|
-
array[startIndex++] = keepWithinCircle ? 1 : 0;
|
|
204
|
-
array[startIndex++] = (_POSITION$badgePositi = POSITION[badgePosition]) !== null && _POSITION$badgePositi !== void 0 ? _POSITION$badgePositi : 0;
|
|
205
|
-
array[startIndex++] = fill;
|
|
206
|
-
array[startIndex++] = color;
|
|
207
|
-
array[startIndex++] = nodeIndex;
|
|
208
|
-
|
|
209
|
-
// Reference texture:
|
|
210
|
-
if (imagePosition) {
|
|
211
|
-
var _this$textureImage = this.textureImage,
|
|
212
|
-
width = _this$textureImage.width,
|
|
213
|
-
height = _this$textureImage.height;
|
|
214
|
-
array[startIndex++] = imagePosition.x / width;
|
|
215
|
-
array[startIndex++] = imagePosition.y / height;
|
|
216
|
-
array[startIndex++] = imagePosition.size / width;
|
|
217
|
-
array[startIndex++] = imagePosition.size / height;
|
|
218
|
-
} else {
|
|
219
|
-
array[startIndex++] = 0;
|
|
220
|
-
array[startIndex++] = 0;
|
|
221
|
-
array[startIndex++] = 0;
|
|
222
|
-
array[startIndex++] = 0;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}, {
|
|
226
|
-
key: "setUniforms",
|
|
227
|
-
value: function setUniforms(params, _ref2) {
|
|
228
|
-
var gl = _ref2.gl,
|
|
229
|
-
uniformLocations = _ref2.uniformLocations;
|
|
230
|
-
var u_sizeRatio = uniformLocations.u_sizeRatio,
|
|
231
|
-
u_correctionRatio = uniformLocations.u_correctionRatio,
|
|
232
|
-
u_matrix = uniformLocations.u_matrix,
|
|
233
|
-
u_atlas = uniformLocations.u_atlas,
|
|
234
|
-
u_keepWithinCircle = uniformLocations.u_keepWithinCircle,
|
|
235
|
-
u_cameraAngle = uniformLocations.u_cameraAngle,
|
|
236
|
-
u_percentagePadding = uniformLocations.u_percentagePadding;
|
|
237
|
-
this.latestRenderParams = params;
|
|
238
|
-
gl.uniform1f(u_correctionRatio, params.correctionRatio);
|
|
239
|
-
gl.uniform1f(u_sizeRatio, params.sizeRatio);
|
|
240
|
-
gl.uniform1f(u_cameraAngle, params.cameraAngle);
|
|
241
|
-
gl.uniform1f(u_percentagePadding, padding);
|
|
242
|
-
gl.uniformMatrix3fv(u_matrix, false, params.matrix);
|
|
243
|
-
gl.uniform1i(u_atlas, 0);
|
|
244
|
-
gl.uniform1i(u_keepWithinCircle, keepWithinCircle ? 1 : 0);
|
|
245
|
-
}
|
|
246
|
-
}]);
|
|
247
|
-
}(NodeProgram), _defineProperty(_NodeImageProgram, "ANGLE_1", 1 * Math.PI / 4), _defineProperty(_NodeImageProgram, "ANGLE_2", 3 * Math.PI / 4), _defineProperty(_NodeImageProgram, "ANGLE_3", 5 * Math.PI / 4), _defineProperty(_NodeImageProgram, "ANGLE_4", 7 * Math.PI / 4), _defineProperty(_NodeImageProgram, "drawLabel", drawLabel), _defineProperty(_NodeImageProgram, "drawHover", drawHover), _NodeImageProgram;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
export { getNodeImageProgram as default };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
/* istanbul ignore file */
|
|
4
|
-
|
|
5
|
-
// language=GLSL
|
|
6
|
-
var SHADER_SOURCE = /* glsl */"\nprecision highp float;\n\nvarying vec4 v_fill;\nvarying vec4 v_color;\nvarying vec4 v_texture;\nvarying vec2 v_diffVector;\nvarying float v_opacity;\nvarying float v_radius;\n\nuniform sampler2D u_atlas;\nuniform float u_correctionRatio;\nuniform float u_cameraAngle;\nuniform float u_percentagePadding;\nuniform bool u_keepWithinCircle;\nuniform bool u_shape;\n\nconst vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0);\n\nconst float radius = 0.5;\n\nvoid main(void) {\n float border = 2.0 * u_correctionRatio;\n float dist = length(v_diffVector);\n vec4 color = v_fill;\n\n float c = cos(-u_cameraAngle);\n float s = sin(-u_cameraAngle);\n vec2 diffVector = mat2(c, s, -s, c) * (v_diffVector);\n\n // No antialiasing for picking mode:\n #ifdef PICKING_MODE\n border = 0.0;\n gl_FragColor = v_color;\n\n #else\n // First case: No image to display\n if (v_texture.w <= 0.0) {\n color = v_fill;\n }\n\n // Second case: Image loaded into the texture\n else {\n float paddingRatio = 1.0 + 2.0 * u_percentagePadding;\n float coef = 1.0;\n vec2 coordinateInTexture = diffVector * vec2(paddingRatio, -paddingRatio) / v_radius / 2.0 * coef + vec2(0.5, 0.5);\n vec4 texel = texture2D(u_atlas, (v_texture.xy + coordinateInTexture * v_texture.zw), -1.0);\n\n // Colorize all visible image pixels:\n color = mix(v_fill, v_color, texel.a);\n \n // Erase pixels \"in the padding\":\n if (abs(diffVector.x) > v_radius / paddingRatio || abs(diffVector.y) > v_radius / paddingRatio) {\n color = v_fill;\n }\n }\n\n // Crop in a circle when u_keepWithinCircle is truthy:\n if(v_opacity == 0.0) {\n gl_FragColor = transparent;\n }\n else if (dist - v_radius + border > border)\n gl_FragColor = transparent;\n else if (dist - v_radius + border > 0.0) {\n gl_FragColor = mix(v_fill, transparent, (dist - v_radius + border) / border);\n }\n else {\n gl_FragColor = mix(v_fill, color, v_opacity);\n }\n #endif\n \n\n}\n";
|
|
7
|
-
|
|
8
|
-
export { SHADER_SOURCE as default };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import getNodeImageProgram from './factory.js';
|
|
4
|
-
|
|
5
|
-
/* istanbul ignore file */
|
|
6
|
-
|
|
7
|
-
var NodeBadgeProgram = function NodeBadgeProgram(isCircle) {
|
|
8
|
-
return [getNodeImageProgram({
|
|
9
|
-
keepWithinCircle: isCircle,
|
|
10
|
-
badgePosition: "top-right"
|
|
11
|
-
}), getNodeImageProgram({
|
|
12
|
-
keepWithinCircle: isCircle,
|
|
13
|
-
badgePosition: "top-left"
|
|
14
|
-
}), getNodeImageProgram({
|
|
15
|
-
keepWithinCircle: isCircle,
|
|
16
|
-
badgePosition: "bottom-right"
|
|
17
|
-
}), getNodeImageProgram({
|
|
18
|
-
keepWithinCircle: isCircle,
|
|
19
|
-
badgePosition: "bottom-left"
|
|
20
|
-
}), getNodeImageProgram({
|
|
21
|
-
keepWithinCircle: isCircle,
|
|
22
|
-
badgePosition: "top"
|
|
23
|
-
}), getNodeImageProgram({
|
|
24
|
-
keepWithinCircle: isCircle,
|
|
25
|
-
badgePosition: "left"
|
|
26
|
-
}), getNodeImageProgram({
|
|
27
|
-
keepWithinCircle: isCircle,
|
|
28
|
-
badgePosition: "right"
|
|
29
|
-
})];
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export { NodeBadgeProgram, getNodeImageProgram as createNodeImageProgram };
|