โ† Visualization

QFlow

2D network traffic visualization built on PixiJS 8. Renders audit log data as animated pulses between source and destination nodes.

@qpoint-io/qflow ยท v0.1.0

Live Demo

Loading traffic visualization...

Mock audit log data with 500 entries. Press Play to start the animated flow.

Installation

npm install @qpoint-io/qflow pixi.js

pixi.js is a peer dependency. pixi-ease and simplex-noise are bundled as regular dependencies.

TrafficViz Component

import { TrafficViz } from '@qpoint-io/qflow'
PropTypeDefaultDescription
auditLogsArray[]Array of audit log objects. Required data source for the visualization.
modeString'live'Visualization mode.
showControlsBooleantrueShow playback controls (play/pause, speed selector).
clientConfigObject{ ... }Client node configuration: sizeAlong, clientDimmension, shape, color, overRides.

Events

EventDescription
readyEmitted when the PixiJS application is initialized and the stage is rendered

useTrafficViz Composable

For imperative mounting without the Vue component wrapper.

import { useTrafficViz } from '@qpoint-io/qflow'

Layout Strategies

QFlow ships 7 positioning strategies for arranging source and destination nodes. Import individually and pass to PixiStage.

GridLayout

Uniform grid โ€” evenly spaced rows and columns.

ArcLayout

Bounded-arc packing with configurable angular spread.

RadialLayout

Concentric rings radiating from center.

PackedGridLayout

Space-efficient packed grid for dense node sets.

PyramidLayout

Pyramid arrangement โ€” largest nodes at the base.

CircularPackedLayout

Circle-packing algorithm for organic arrangement.

ZonedLayout

Composite layout stub for ingress/internal/egress zones.

Decorations

ExportDescription
DecorationImageBase class for static image overlays with texture caching and async loading.
FaviconImageSubclass that auto-loads favicons from domain names via Google's favicon proxy.

SSR: PixiJS requires browser globals (canvas, WebGL). Always wrap in <ClientOnly> when used in Nuxt/SSR apps.