Commit 75a49825 authored by Karen Konou's avatar Karen Konou

[DEPS] update dependencies and fix import paths for Sigma rendering

parent 94083247
Pipeline #7252 passed with stages
in 21 minutes and 10 seconds
......@@ -29,7 +29,7 @@
"debouncing": "^22.7.25",
"echarts": "~5.1.2",
"echarts-for-react": "~3.0.1",
"graphology": "~0.25.1",
"graphology": "~0.25.4",
"graphology-communities-louvain": "~2.0.1",
"graphology-layout-forceatlas2": "~0.9.2",
"graphology-layout-noverlap": "~0.4.2",
......@@ -49,7 +49,7 @@
"react-dom": "~18.2.0",
"react-tooltip": "~4.2.8",
"secp256k1": "~4.0.2",
"sigma": "~2.4.0",
"sigma": "~3.0.0",
"twgl.js": "~5.0.4",
"use-debounce": "^10.0.0",
"uuid": "8.3.2"
......@@ -3989,10 +3989,6 @@
"license": "MIT",
"optional": true
},
"node_modules/@yomguithereal/helpers": {
"version": "1.1.1",
"license": "MIT"
},
"node_modules/@zeit/schemas": {
"version": "2.36.0",
"resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz",
......@@ -11962,12 +11958,12 @@
}
},
"node_modules/sigma": {
"version": "2.4.0",
"license": "MIT",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/sigma/-/sigma-3.0.0.tgz",
"integrity": "sha512-O3w+sfyarnurPuxcBtkQ6wp5E9d0OctwMiXhQ8YUCiUX5G8Yz5XM6Vo6lsAGtMm/XvQR77+0JOzAIEeo4LpdjA==",
"dependencies": {
"@yomguithereal/helpers": "^1.1.1",
"events": "^3.3.0",
"graphology-utils": "^2.5.0"
"graphology-utils": "^2.5.2"
}
},
"node_modules/signal-exit": {
......
(builtins.getFlake ("git+file://" + toString ./.)).devShells.${builtins.currentSystem}.default
\ No newline at end of file
......@@ -242,7 +242,7 @@ drawGraphCpt = here.component "drawGraph" cpt
-- When we change state, we make it empty though.
--pure $ RH.div { ref: elRef, style: {height: "95%"} } []
-- based on https://github.com/jacomyal/sigma.js/blob/v2.4.0/src/settings.ts
-- based on https://github.com/jacomyal/sigma.js/blob/v3.0.0/src/settings.ts
-- TODO: check some of the types
type SigmaSettings =
( -- Performance
......@@ -250,9 +250,7 @@ type SigmaSettings =
--, hideLablesOnMove :: Boolean
renderLabels :: Boolean
--, renderEdgeLabels :: Boolean
--, enableEdgeClickEvents :: Boolean
--, enableEdgeWheelEvents :: Boolean
, enableEdgeHoverEvents :: Boolean
, enableEdgeEvents :: Boolean
-- Component rendering
, defaultNodeColor :: String
--, defaultNodeType :: String
......@@ -279,9 +277,9 @@ type SigmaSettings =
--, minCameraRatio :: Number
--, maxCameraRatio :: Number
-- Renderers
--, labelRenderer :: DrawLabel
--, hoverRenderer :: DrawHover
--, edgeLabelRenderer :: DrawEdgeLabel
--, defaultDrawNodeLabel :: DrawLabel
--, defaultDrawNodeHover :: DrawHover
--, defaultDrawEdgeLabel :: DrawEdgeLabel
-- Lifecycle
--, allowInvalidContainer :: Boolean
......@@ -300,9 +298,7 @@ sigmaSettings _theme =
--, hideLablesOnMove : false
renderLabels: false -- initially false, because of forceatlas
--, renderEdgeLabels : true
--, enableEdgeClickEvents : false
--, enableEdgeWheelEvents : false
, enableEdgeHoverEvents: false
, enableEdgeEvents: false
-- Component rendering
, defaultNodeColor: "#FFF"
--, defaultNodeType : "circle"
......@@ -329,9 +325,9 @@ sigmaSettings _theme =
--, minCameraRatio : Nothing
--, maxCameraRatio : Nothing
-- Renderers
--, labelRenderer : drawLabel
--, hoverRenderer : drawHover
--, edgeLabelRenderer : drawEdgeLabel
--, defaultDrawNodeLabel : drawLabel
--, defaultDrawNodeHover : drawHover
--, defaultDrawEdgeLabel : drawEdgeLabel
-- Lifecycle
--, allowInvalidContainer : false
......
......@@ -4,7 +4,7 @@ import Graph from 'graphology';
import Sigma from 'sigma';
//import { takeScreenshot } from '../../src/external-deps/sigmajs-screenshot.js';
import takeScreenshot from '../../src/external-deps/sigmajs-screenshot-with-canvas.js';
import CircleNodeProgram from 'sigma/rendering/webgl/programs/node.fast';
import { NodeCircleProgram } from 'sigma/rendering';
import ContourCircleNodeProgram from '../../src/external-deps/sigmajs-circle-with-contour.js';
import TriangleNodeProgram from '../../src/external-deps/sigmajs-triangle.js';
import ContourTriangleNodeProgram from '../../src/external-deps/sigmajs-triangle-with-contour.js';
......@@ -198,7 +198,7 @@ function _sigma(left, right, el, opts) {
const settings = {
labelRenderer: drawLabel,
nodeProgramClasses: {
circle: CircleNodeProgram.default, // TODO why default? It seems that import should be fixed
circle: NodeCircleProgram, // TODO why default? It seems that import should be fixed
ccircle: ContourCircleNodeProgram,
triangle: TriangleNodeProgram,
ctriangle: ContourTriangleNodeProgram,
......@@ -209,7 +209,7 @@ function _sigma(left, right, el, opts) {
},
...opts.settings
};
let s = new sigma(graph, el, settings);
let s = new Sigma(graph, el, settings);
console.log('[_sigma] initializing sigma with el', el, 'opts', opts.settings, 'sigma', s);
console.log('[_sigma] labelRenderedSizeThreshold', opts.settings.labelRenderedSizeThreshold);
sigmaMouseSelector(s);
......
// Based on sigma.js/src/rendering/webgl/programs/node.fast.ts
import { NodeDisplayData } from "sigma/types";
import { floatColor } from "sigma/utils";
import vertexShaderSource from "sigma/rendering/webgl/shaders/node.fast.vert.glsl";
import fragmentShaderSource from "sigma/rendering/webgl/shaders/node.fast.frag.glsl";
import { AbstractNodeProgram } from "sigma/rendering/webgl/programs/common/node";
import { RenderParams } from "sigma/rendering/webgl/programs/common/program";
import CircleNodeProgram from 'sigma/rendering/webgl/programs/node.fast';
import { NodePointProgram } from 'sigma/rendering';
const POINTS = 2;
const ATTRIBUTES = 4;
/*
export default class NodeContourFastProgram extends AbstractNodeProgram {
......@@ -20,14 +14,13 @@ export default class NodeContourFastProgram extends AbstractNodeProgram {
}
*/
export default class NodeContourFastProgram extends CircleNodeProgram {
export default class NodeContourFastProgram extends NodePointProgram {
constructor(gl) {
super(gl, vertexShaderSource, fragmentShaderSource, POINTS, ATTRIBUTES);
super(gl);
// NOTE super method above will set POINTS = 1 from CircleNodeProgram
// We need to overwrite this
// https://gitlab.iscpif.fr/gargantext/purescript-gargantext/issues/471
this.points = POINTS;
this.bind();
}
//process(data: NodeDisplayData, hidden: boolean, offset: number): void {
......
......@@ -10,7 +10,7 @@
import { NodeDisplayData } from "sigma/types";
import { floatColor } from "sigma/utils";
import { AbstractProgram, RenderParams } from "sigma/rendering/webgl/programs/common/program";
import { AbstractProgram } from "sigma/rendering";
const vertexShaderSource = `
attribute vec2 a_position;
......
......@@ -10,7 +10,7 @@
import { NodeDisplayData } from "sigma/types";
import { floatColor } from "sigma/utils";
import { AbstractProgram, RenderParams } from "sigma/rendering/webgl/programs/common/program";
import { AbstractProgram} from "sigma/rendering";
const vertexShaderSource = `
attribute vec2 a_position;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment