gitextract_qrh9r3c_/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── stale.yml │ └── workflows/ │ ├── build.yml │ ├── tests.yml │ └── website.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── babel.config.js ├── bin/ │ └── create-package.ts ├── eslint.config.mjs ├── lerna.json ├── package.json ├── packages/ │ ├── demo/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── public/ │ │ │ └── dataset.json │ │ ├── src/ │ │ │ ├── canvas-utils.ts │ │ │ ├── index.tsx │ │ │ ├── styles.css │ │ │ ├── types.ts │ │ │ ├── use-debounce.ts │ │ │ └── views/ │ │ │ ├── ClustersPanel.tsx │ │ │ ├── DescriptionPanel.tsx │ │ │ ├── GraphDataController.tsx │ │ │ ├── GraphEventsController.tsx │ │ │ ├── GraphSettingsController.tsx │ │ │ ├── GraphTitle.tsx │ │ │ ├── Panel.tsx │ │ │ ├── Root.tsx │ │ │ ├── SearchField.tsx │ │ │ └── TagsPanel.tsx │ │ ├── tsconfig.json │ │ ├── vite-env.d.ts │ │ └── vite.config.mts │ ├── edge-curve/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── edge-labels.ts │ │ │ ├── factory.ts │ │ │ ├── index.ts │ │ │ ├── shader-frag.ts │ │ │ ├── shader-vert.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── export-image/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── downloadAsImage.ts │ │ │ ├── drawOnCanvas.ts │ │ │ ├── index.ts │ │ │ ├── options.ts │ │ │ └── toImage.ts │ │ └── tsconfig.json │ ├── layer-leaflet/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── layer-maplibre/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── layer-webgl/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── bind-webgl-layer.ts │ │ │ ├── contours/ │ │ │ │ ├── index.ts │ │ │ │ ├── shader-frag.ts │ │ │ │ └── types.ts │ │ │ ├── index.ts │ │ │ └── webgl-layer-program/ │ │ │ ├── index.ts │ │ │ └── shader-vert.ts │ │ └── tsconfig.json │ ├── node-border/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── factory.ts │ │ │ ├── index.ts │ │ │ ├── shader-frag.ts │ │ │ ├── shader-vert.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── node-image/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── factory.ts │ │ │ ├── index.ts │ │ │ ├── shader-frag.ts │ │ │ ├── shader-vert.ts │ │ │ └── texture.ts │ │ └── tsconfig.json │ ├── node-piechart/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── factory.ts │ │ │ ├── index.ts │ │ │ ├── shader-frag.ts │ │ │ ├── shader-vert.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── node-square/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── program.ts │ │ │ ├── shader-frag.ts │ │ │ ├── shader-vert.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── sigma/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── package.json │ │ ├── rendering/ │ │ │ └── package.json │ │ ├── settings/ │ │ │ └── package.json │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── camera.ts │ │ │ │ ├── captors/ │ │ │ │ │ ├── captor.ts │ │ │ │ │ ├── mouse.ts │ │ │ │ │ └── touch.ts │ │ │ │ └── labels.ts │ │ │ ├── index-bundle.ts │ │ │ ├── index.ts │ │ │ ├── rendering/ │ │ │ │ ├── edge-labels.ts │ │ │ │ ├── edge.ts │ │ │ │ ├── index.ts │ │ │ │ ├── node-hover.ts │ │ │ │ ├── node-labels.ts │ │ │ │ ├── node.ts │ │ │ │ ├── program.ts │ │ │ │ ├── programs/ │ │ │ │ │ ├── edge-arrow/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── edge-arrow-head/ │ │ │ │ │ │ ├── frag.glsl.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── vert.glsl.ts │ │ │ │ │ ├── edge-clamped/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── vert.glsl.ts │ │ │ │ │ ├── edge-double-arrow/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── edge-double-clamped/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── vert.glsl.ts │ │ │ │ │ ├── edge-line/ │ │ │ │ │ │ ├── frag.glsl.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── vert.glsl.ts │ │ │ │ │ ├── edge-rectangle/ │ │ │ │ │ │ ├── frag.glsl.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── vert.glsl.ts │ │ │ │ │ ├── edge-triangle/ │ │ │ │ │ │ ├── frag.glsl.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── vert.glsl.ts │ │ │ │ │ ├── node-circle/ │ │ │ │ │ │ ├── frag.glsl.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── vert.glsl.ts │ │ │ │ │ └── node-point/ │ │ │ │ │ ├── frag.glsl.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── vert.glsl.ts │ │ │ │ └── utils.ts │ │ │ ├── settings.ts │ │ │ ├── sigma.ts │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ ├── animate.ts │ │ │ ├── colors.ts │ │ │ ├── coordinates.ts │ │ │ ├── data.ts │ │ │ ├── easings.ts │ │ │ ├── graph.ts │ │ │ ├── index.ts │ │ │ ├── matrices.ts │ │ │ ├── misc.ts │ │ │ └── normalization.ts │ │ ├── tsconfig.json │ │ ├── types/ │ │ │ └── package.json │ │ ├── utils/ │ │ │ └── package.json │ │ └── vite.config.mts │ ├── storybook/ │ │ ├── .gitignore │ │ ├── .storybook/ │ │ │ ├── main.ts │ │ │ ├── manager.tsx │ │ │ ├── preview.tsx │ │ │ └── theme.ts │ │ ├── package.json │ │ ├── public/ │ │ │ ├── arctic.gexf │ │ │ ├── data.csv │ │ │ └── pina-colada.jsonld │ │ ├── stories/ │ │ │ ├── 0-docs/ │ │ │ │ └── introduction.mdx │ │ │ ├── 1-core-features/ │ │ │ │ ├── 1-load-gexf-file/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── 2-events/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── 3-layouts/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── 4-use-reducers/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── 5-custom-rendering/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── node-gradient-frag.glsl.ts │ │ │ │ │ ├── node-gradient-vert.glsl.ts │ │ │ │ │ ├── node-gradient.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── 6-csv-to-network-map/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ └── 7-camera-control/ │ │ │ │ ├── index.html │ │ │ │ ├── index.ts │ │ │ │ └── stories.ts │ │ │ ├── 2-advanced-usecases/ │ │ │ │ ├── cluster-label/ │ │ │ │ │ ├── euroSIS.json │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── events-shadowdom/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── fit-sizes-to-positions/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── large-graphs/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── load-rdf-file/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ └── stories.ts │ │ │ │ └── mouse-manipulations/ │ │ │ │ ├── index.html │ │ │ │ ├── index.ts │ │ │ │ └── stories.ts │ │ │ ├── 3-additional-packages/ │ │ │ │ ├── edge-curve/ │ │ │ │ │ ├── arrow-heads.ts │ │ │ │ │ ├── basic.ts │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── arctic.json │ │ │ │ │ │ └── les-miserables.json │ │ │ │ │ ├── index.html │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interactions.ts │ │ │ │ │ ├── labels.ts │ │ │ │ │ ├── parallel-edges.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── export-image/ │ │ │ │ │ ├── available-options.ts │ │ │ │ │ ├── custom-layers-and-renderers.ts │ │ │ │ │ ├── index.html │ │ │ │ │ └── stories.ts │ │ │ │ ├── layer-leaflet/ │ │ │ │ │ ├── basic.ts │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── airports.json │ │ │ │ │ │ └── sample-geojson.json │ │ │ │ │ ├── geojson.ts │ │ │ │ │ ├── index.html │ │ │ │ │ ├── resize.ts │ │ │ │ │ ├── stories.ts │ │ │ │ │ └── tilelayer.ts │ │ │ │ ├── layer-maplibre/ │ │ │ │ │ ├── basic.ts │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── airports.json │ │ │ │ │ │ └── sample-geojson.json │ │ │ │ │ ├── geojson.ts │ │ │ │ │ ├── index.html │ │ │ │ │ ├── resize.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── layer-webgl/ │ │ │ │ │ ├── contours-highlight-group.ts │ │ │ │ │ ├── contours-metaballs.ts │ │ │ │ │ ├── contours-multi-levels.ts │ │ │ │ │ ├── index.html │ │ │ │ │ └── stories.ts │ │ │ │ ├── node-border/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── node-border.ts │ │ │ │ │ ├── pixels-border.ts │ │ │ │ │ ├── stories.ts │ │ │ │ │ ├── variable-sizes.ts │ │ │ │ │ └── with-images.ts │ │ │ │ ├── node-image/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── local-images.ts │ │ │ │ │ ├── node-images.ts │ │ │ │ │ ├── node-pictograms-background.ts │ │ │ │ │ ├── node-pictograms.ts │ │ │ │ │ ├── options-showcase.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── node-piechart/ │ │ │ │ │ ├── fixed-colors.ts │ │ │ │ │ ├── fixed-values.ts │ │ │ │ │ ├── index.html │ │ │ │ │ ├── offsets.ts │ │ │ │ │ └── stories.ts │ │ │ │ ├── node-square/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── mixed-programs.ts │ │ │ │ │ └── stories.ts │ │ │ │ └── utils/ │ │ │ │ ├── fit-viewport-to-nodes.ts │ │ │ │ ├── get-nodes-in-viewport.ts │ │ │ │ ├── index.html │ │ │ │ └── stories.ts │ │ │ ├── _data/ │ │ │ │ └── data.json │ │ │ └── utils.ts │ │ ├── tsconfig.json │ │ └── types/ │ │ ├── images.d.ts │ │ └── raw.d.ts │ ├── template/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── test/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── app/ │ │ │ ├── index.html │ │ │ └── index.ts │ │ ├── benchmarks/ │ │ │ └── suite.bench.ts │ │ ├── datasets/ │ │ │ ├── arctic.json │ │ │ ├── large-graph.json │ │ │ └── les-miserables.json │ │ ├── e2e/ │ │ │ └── basics.spec.ts │ │ ├── helpers.ts │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── tsconfig.json │ │ ├── unit/ │ │ │ ├── _helpers.ts │ │ │ ├── layer-leaflet/ │ │ │ │ └── lifecycle.ts │ │ │ ├── layer-maplibre/ │ │ │ │ └── lifecycle.ts │ │ │ ├── sigma/ │ │ │ │ ├── camera.ts │ │ │ │ ├── events.ts │ │ │ │ ├── lifecycle.ts │ │ │ │ ├── mouse.ts │ │ │ │ ├── rendering.ts │ │ │ │ ├── settings.ts │ │ │ │ ├── touch.ts │ │ │ │ └── utils.ts │ │ │ └── utils/ │ │ │ └── fitViewportToNodes.ts │ │ ├── vite.config.mts │ │ └── vitest.config.mts │ ├── utils/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── fitViewportToNodes.ts │ │ │ ├── getNodesInViewport.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ └── website/ │ ├── .gitignore │ ├── README.md │ ├── babel.config.js │ ├── docs/ │ │ ├── advanced/ │ │ │ ├── _category_.json │ │ │ ├── coordinate-systems.md │ │ │ ├── customization.md │ │ │ ├── data.md │ │ │ ├── events.md │ │ │ ├── layers.md │ │ │ ├── lifecycle.md │ │ │ ├── migration-v2-v3.md │ │ │ ├── new-packages.md │ │ │ ├── publish.md │ │ │ ├── renderers.md │ │ │ └── sizes.md │ │ ├── index.mdx │ │ ├── quickstart.md │ │ └── resources.md │ ├── docusaurus.config.js │ ├── package.json │ ├── sidebars.js │ ├── src/ │ │ ├── css/ │ │ │ └── custom.css │ │ └── theme/ │ │ ├── Footer/ │ │ │ └── index.js │ │ ├── Navbar/ │ │ │ └── Logo/ │ │ │ └── index.js │ │ └── NotFound.js │ └── static/ │ ├── fonts/ │ │ └── cascadia/ │ │ └── CascadiaCode-Regular.otf │ ├── homepage.html │ └── styles.css ├── tsconfig.base.json └── tsconfig.json