
Product
Socket Threat Intel Now Shows Which Malware Campaigns Were Blocked or Detected
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.
@movk/sigma
Advanced tools
基于 sigma v4 的知识图谱可视化 Nuxt 模块:SigmaGraph 等声明式组件与 composables,覆盖渲染、交互、布局、分析与 DOM 覆盖层,面向 1000+ 节点的大规模图谱。
基于 sigma v4 与 graphology 的知识图谱可视化 Nuxt 模块 —— 用
SigmaGraph等组件与 composables 声明式组合渲染、交互、布局与分析,面向 1000+ 节点的大规模图谱。封装是加法,不是围墙:useSigma()返回原生Sigma与Graph实例,settings整体透传,sigma与graphology始终是 peer 依赖。
SigmaGraph 与子组件搭建图谱、覆盖层与控件,状态即视图,无需手写命令式的实例管理。useSigma() 返回原生 Sigma 与 Graph,不包 Proxy、不做代理,sigma 与 graphology 的任何方法都能直接调。data 由库做增量 diff 并保留布局坐标;传 graph 则库完全不碰数据,只负责渲染与生命周期。settings(行为/性能)分工明确,规则支持常量、属性绑定、数值映射与状态条件,SigmaGraph 自动与基础规则合成。useSigmaLayout 统一五种布局算法并托管 ForceAtlas2 / Noverlap 的 worker 生命周期,useSigmaMetrics 提供度数、中心性与社区划分。# pnpm
pnpm add @movk/sigma sigma graphology
# yarn
yarn add @movk/sigma sigma graphology
# npm
npm install @movk/sigma sigma graphology
sigma 与 graphology 是必需的 peer 依赖,由你自己安装——这样整个应用里只有一份 sigma 实例,也不会因为本模块的版本区间限制你升级上游。
在 nuxt.config.ts 中注册模块:
export default defineNuxtConfig({
modules: ['@movk/sigma'],
sigma: {
prefix: 'Sigma',
settings: { hideEdgesOnMove: true },
css: true
}
})
组件与 composables 自动导入,开箱即用。
组件本身不带高度,画布用 height: 100% 占满容器,外层需要给出确定的高度:
<script setup lang="ts">
import type { SerializedGraph } from 'graphology-types'
const data: SerializedGraph = {
attributes: {},
options: { type: 'mixed', multi: false, allowSelfLoops: true },
nodes: [
{ key: '1', attributes: { label: 'Node 1', x: 0, y: 0, size: 6, color: '#f43f5e' } },
{ key: '2', attributes: { label: 'Node 2', x: 5, y: 10, size: 6, color: '#3b82f6' } }
],
edges: [{ source: '1', target: '2', attributes: { size: 2 } }]
}
</script>
<template>
<SigmaGraph :data="data" :settings="{ hideEdgesOnMove: true }" style="height: 70vh">
<SigmaControls position="bottom-right">
<SigmaZoomControl />
<SigmaFullscreenControl />
</SigmaControls>
<SigmaTooltip />
</SigmaGraph>
</template>
组件全局加 Sigma 前缀(默认前缀可配),按领域分组:
| 分类 | 组件 |
|---|---|
| 核心 | SigmaGraph SigmaOverlay SigmaTooltip SigmaPopover SigmaContextMenu |
| 控件 | SigmaControls SigmaZoomControl SigmaFullscreenControl SigmaSearchControl SigmaLegend SigmaMiniMap |
useSigma() / useSigmaById(id) / useSigmaIds() — 注入或按 id 取当前图谱的上下文,返回原生 Sigma 与 Graph。useSigmaGraph(source?) — 把 graphology 的变更桥接成 Vue 的响应式信号。useSigmaEvents(handlers) — 声明式绑定 sigma 事件,作用域销毁时自动解绑。useSigmaSettings(source) — 把响应式配置同步到 sigma,整体透传不做键过滤。useSigmaState() — 读写 sigma 的交互状态(悬停、高亮、隐藏)。useSigmaCamera() — 缩放、复位、聚焦节点,以及图坐标到屏幕坐标的换算。useSigmaSelection(options?) — 悬浮与选中的状态机,焦点及其邻居写进 isHighlighted。useSigmaNeighborhood(options?) — 以某节点为中心逐层扩散的 BFS 邻域计算。useSigmaDrag(options?) — 把 sigma 的节点拖拽接进 Vue 响应式。useSigmaSearch(options?) — 按属性检索节点与边,可把相机聚焦到命中项。useSigmaFilter(options?) — 声明式过滤,落到 sigma 的 isHidden 状态上。useSigmaLabelTiers(options?) — 按相机比例分级显示标签。useSigmaLayout(name, options?) — 五种布局算法的统一入口,托管 worker 生命周期。useSigmaMetrics() — 度数、中心性与社区划分,按图版本缓存。useSigmaExport() — 把当前画面导出为 PNG。import { applyGraphDiff, composeStyles, defineSigmaPrimitives, degreeToTier, labelPlacements, sdfPolygon, sdfStar } from '@movk/sigma'
applyGraphDiff — 把新旧两份 SerializedGraph 做增量 diff 并应用到实例。composeStyles — 按序拼接多份 styles 声明,SigmaGraph 内部默认调用。labelPlacements / degreeToTier — 标签方位分配与度数分档,配合 useSigmaLabelTiers 使用。sdfPolygon / sdfStar — 正多边形与星形的 SDF 节点形状声明,纯数据、可直接静态引入。defineSigmaPrimitives — 声明延迟加载的渲染原语,绕开 sigma 在 SSR 下的 WebGL 顶层读取限制。src/module.ts 注册组件与 composables,把全局 settings / css 等选项写入模块配置。src/runtime 内 SigmaGraph 经 provide/inject 下发上下文,useSigma() 是子组件取实例的统一入口;styles / primitives / reducer 只在构造时读取,变更触发重建。WebGL2RenderingContext,库内一律动态导入;defineSigmaPrimitives() 让自定义渲染原语延迟到实例创建前解析。FAQs
基于 sigma v4 的知识图谱可视化 Nuxt 模块:SigmaGraph 等声明式组件与 composables,覆盖渲染、交互、布局、分析与 DOM 覆盖层,面向 1000+ 节点的大规模图谱。
The npm package @movk/sigma receives a total of 0 weekly downloads. As such, @movk/sigma popularity was classified as not popular.
We found that @movk/sigma demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.

Security News
Fixes for eMudhra and Brotli are out. Getting them everywhere they’re needed means tracking down bundled libraries, runtimes, and certificate stores.

Threat Research
/Security News
Socket uncovered secret-stealing workflows that ran in LiteLLM’s GitHub repository 11 days before the supply chain attack on PyPI and Docker.