viewport library

Viewport system - pan, zoom, minimap, and graph data.

Classes

GraphViewport
Represents the viewport transformation for a node flow graph.
MinimapPainter<T>
Custom painter for rendering the minimap visualization.
NodeFlowMinimap<T>
A minimap widget that provides an overview of the entire node flow graph.
NodeGraph<T>
Immutable data class for graph serialization/deserialization All state management is handled by NodeFlowController

Extension Types

GraphOffset
Extension type representing a delta/movement in graph coordinate space.
GraphPosition
Extension type representing an absolute position in graph/world coordinate space.
GraphRect
Extension type representing a rectangle in graph/world coordinate space.
ScreenOffset
Extension type representing a delta/movement in screen coordinate space.
ScreenPosition
Extension type representing an absolute position in screen coordinate space.
ScreenRect
Extension type representing a rectangle in screen coordinate space.

Extensions

GraphPositionOffsetExtension on GraphPosition
Extension methods for applying GraphOffset to GraphPosition.
MinimapControllerExtension on NodeFlowController<T>
Extension adding minimap navigation functionality to NodeFlowController.
ScreenPositionOffsetExtension on ScreenPosition
Extension methods for applying ScreenOffset to ScreenPosition.

Functions

defaultNodeFromJson<T>(Map<String, dynamic> json, T fromJsonT(Object? json)) Node<T>
Default factory for deserializing nodes with type routing.