playermap_graph
Version:
A React library for intuition visualization using force-directed graphs
128 lines (99 loc) • 3.06 kB
Markdown
# PlayerMap Graph
A React library for visualizing player graphs with 2D, 3D, and VR capabilities.
## Features
### Visualization Modes
- **2D**: Classic two-dimensional visualization with force-directed layout
- **3D**: Immersive three-dimensional visualization
- **VR**: Virtual reality mode for a fully immersive experience
### Core Features
- Interactive graph exploration (click on nodes to view their relationships)
- Smart data filtering
- Detailed view of selected nodes
- Navigation history (back/forward)
- Interactive legend for node type identification
### Advanced Features
- Smart data filtering with subject/predicate/object search
- Detailed node view with comprehensive information
- Claims and positions management
- Connection tracking (follows/followers)
- Activity history
- Multi-endpoint support (Base Mainnet, Base Testnet, Playground API)
## Installation
```
npm install playermap_graph
```
## For local usage
```bash
npm install
npm run build:lib
```
## Configuration
### Endpoints
The library supports multiple endpoints configured in `src/api.js`:
- Base Mainnet
- Base Testnet
- Playground API (OffChain)
### Agent Graph Configuration
To customize the Agent graph visualization, modify the `AGENT_OBJECT_ID` constant in:
- `src/hooks/useGraphState.js`
- `src/GraphVisualization.jsx`
## Usage
```jsx
import {
GraphVisualization,
GraphVR,
NodeDetailsSidebar,
} from "playermap_graph";
function App() {
return (
<div>
{/* 2D Visualization */}
<GraphVisualization
endpoint="baseSepolia"
walletAddress="0x..."
onNodeSelect={(node) => console.log(node)}
onLoadingChange={(loading) => console.log(loading)}
/>
{/* VR Visualization */}
<GraphVR />
{/* Details Sidebar */}
<NodeDetailsSidebar />
</div>
);
}
```
## Available Components
### Main Components
- `GraphVisualization`: 2D/3D graph visualization with all features
- `GraphVR`: Immersive VR visualization
- `NodeDetailsSidebar`: Detailed node sidebar
- `GraphLegend`: Interactive graph legend
- `EndpointSelector`: Endpoint selector
- `LoadingAnimation`: Loading animation
### Navigation Components
- `NavigationBar`: Main navigation bar
- `ViewModeSelector`: Visualization mode selector
- `FilterBar`: Advanced filtering bar
### Detail Components
- `ClaimCard`: Claims display
- `PositionCard`: Positions display
- `ActivityCard`: Activity display
- `FollowersCard`: Connections display
## API and Utilities
### API
- `api.js`: Main API interface
- `Base.js`: Base Mainnet implementation
- `BaseSepolia.js`: Base Testnet implementation
### Utilities
- `graphData.js`: Graph data manipulation functions
- `nodeColors.js`: Node colors configuration
- `hooks/useGraphState.js`: Graph state management
## Architecture
The library uses a modular architecture with:
- State management via React Hooks
- GraphQL communication with endpoints
- Multi-endpoint support with fallback
- Data caching system
- Performance-optimized handling of large graphs
## License
MIT