-
Notifications
You must be signed in to change notification settings - Fork 0
Actor Graph View
github-actions[bot] edited this page Jun 27, 2026
·
1 revision
The Actor Graph View provides a visual, interactive representation of your actor system, displaying actors as nodes and communication channels as edges in a force-directed graph layout.
- Force-Directed Layout: Uses the Fruchterman-Reingold algorithm to automatically position actors based on their connections
-
State Visualization: Actors are color-coded by their current state
- 🟢 Green: Running
- ⚫ Gray: Stopped
- 🔴 Red: Error
- 🟠 Orange: Paused
- 🔵 Blue: Initialized
- Pan: Click and drag to move the graph
- Zoom: Pinch to zoom in/out (or use scroll wheel on desktop)
- Scale range: 0.5x to 3x
- Click any node to select it and view details
- Click again to deselect
- Selected nodes are highlighted with:
- Larger center indicator
- Primary color text
- Highlighted incident edges
When an actor is selected, a details panel appears showing:
- Current state badge with description
- Lifecycle control buttons:
- Start: Start a stopped/initialized actor
- Pause: Pause a running actor
- Resume: Resume a paused actor
- Stop: Stop a running/paused actor
- Delete: Remove the actor from the system
- Received: Total messages received
- Processed: Total messages processed successfully
- Failed: Total failed messages
- Success Rate: Percentage of successful message processing
- Avg Time: Average processing time in milliseconds
- Throughput: Visual bar showing processed vs received messages
- Latency: Average processing time indicator
- Error Rate: Failed messages visualization
The Actor Graph View is automatically included in the main monitoring interface when you start the application. It appears above the traditional list views.
- Start Monitoring: Click the "Start" button in the monitoring controls
- View the Graph: The graph automatically populates with current actors
- Explore: Use pan/zoom to navigate
- Inspect: Click any node to see detailed metrics and controls
- 💡 The layout recalculates automatically when actors are added or removed
- 💡 Edge colors indicate channel health (green=connected, red=error, gray=disconnected)
- 💡 Use the graph for quick visual identification of problem areas
- 💡 Selection highlights help trace message flow through connected actors
The Actor Graph View includes accessibility features:
- Semantic Roles: Nodes are marked as buttons for screen readers
- Content Descriptions: Each node includes actor name and state information
- Keyboard Navigation: Nodes can be focused and activated via keyboard
- Color Contrast: All colors meet WCAG contrast guidelines
- ForceDirectedLayout: Implements the graph layout algorithm
- ActorGraphCanvas: Main interactive canvas with pan/zoom
- ActorDetailsPanel: Shows detailed information and controls
- ActorGraphView: Top-level component that integrates everything
- Layout calculations are cached and only recompute on topology changes
- Edges are drawn with Canvas API for efficient rendering
- Node composables are lightweight and minimal
- ✅ Desktop (JVM): Full support
- ✅ JavaScript (Wasm): Full support
- 🔜 iOS/Android: Planned for future release
./gradlew :composeApp:allTests# Desktop
./gradlew :composeApp:desktopJar
# JavaScript
./gradlew :composeApp:jsBrowserProductionWebpackPotential improvements for future releases:
- Advanced Charts: Integration with KoalaPlot for time-series visualizations
- Layout Persistence: Save/restore graph layout across sessions
- Large Graph Support: Optimizations for graphs with >200 nodes
- Custom Layouts: Alternative layout algorithms (hierarchical, circular)
- Filtering: Hide/show specific actors based on state or metrics
- Export: Save graph as image or data export
When contributing to the Actor Graph View:
- Maintain multiplatform compatibility (commonMain)
- Add tests for new layout algorithms
- Follow existing accessibility patterns
- Update documentation for new features
- Fruchterman, T. M. J., & Reingold, E. M. (1991). "Graph drawing by force-directed placement"
- Compose Multiplatform: https://www.jetbrains.com/compose-multiplatform/
- Material Design 3: https://m3.material.io/
SolaceCore SSOT wiki · published from wiki/ by .github/workflows/publish-wiki.yml · edit the source in the repo, not the wiki.
Orientation
- Architectural Deep Dive
- Architecture Overview
- Design vs Implementation
- Framework Actor System
- Framework Architectural Vision
- Framework Concurrency and Communication
- Framework Data Storage and Management
- Framework Deployment and Containerization
- Framework Development Roadmap
- Framework Hot-Pluggable System
- Framework Implementation Status
- Framework Observability and Monitoring
- Framework Port System
- Framework System Architecture
- Framework Workflow Management
- Project Status
- Project Status Report
- Quick Status
- Solace Core Framework Architecture
- SolaceCore Architecture Overview
- Vision & Solace AI
Runtime
- Actor Builder
- Actor Communication Sequence Diagram
- Actor Core Definitions
- Actor Graph View
- Actor Metrics
- Actor Module Architecture
- Actor Queue Hibernation and Correlation
- Actor Roadmap
- Actor State Recovery Subsystem
- Actor State Serialization Subsystem
- Actor Supervision Module
- Actor System Architecture
- Actor System Class Diagram
- Actor Usage Examples
- Compose App Features
- JVM Scripting Implementations
- Kernel & Ports
- Kernel Channel System
- Kernel Future Enhancements
- Kernel Module Architecture
- Kernel Port Implementations and Exceptions
- Kernel Port Usage Example
- Kernel Testing Strategy
- Lifecycle Class Diagram
- Lifecycle Management Architecture
- Pipeline DSL
- Real-Time UI Implementation
- Scripting Module Architecture
- Scripting Module Design
- Scripting Supporting Components
- Shared Memory
- Storage & Persistence
- Storage Abstractions Architecture
- Storage Caching Subsystem
- Storage Checklist
- Storage Compression Subsystem
- Storage Core Interfaces
- Storage Encryption Subsystem
- Storage File-Based Architecture
- Storage File-Based Implementations
- Storage In-Memory Architecture
- Storage In-Memory Implementations
- Storage JVM Serialization Utilities
- Storage Module Architecture
- Storage Serialization Compression Encryption
- Storage Specialized Interfaces Architecture
- Storage Status and Future Plans
- Storage Testing
- Storage Thread Safety Guide
- Storage Thread Safety and Deadlock Prevention
- Storage Transactions
- Storage Usage Examples
- Supervisor and Hot Swap
- SupervisorActor
- System Architecture Diagram
- Workflow Management Architecture
- Workflow Management Design Concept
- Workflow Orchestration
Solace AI
- Confusion Corrector
- Inference Cube
- Inference Cube Technical Architecture
- Long-Term Memory
- MCP and Tool Format
- Memory & Reflection
- Memory Compression
- Memory Feature Overview
- Memory Retrieval
- Mood & Emotional Model
- Mood Module Implementation
- Mouth Tool Technical Spec
- Multimodal Nudging
- Perception Actors
- Provider Specs
- Reflection Memory
- Solace AI Overview
- Supervisor AI
- Supervisor Emotional Model Integration
- Time Actor
- Voice & Mouth Tool
- Working Memory
- Zoom Level Technical Spec
- Zoom Levels
Reference
- Advanced Workflow Example
- Basic Actor Usage
- Build System and Dependencies
- Development Tooling and Practices
- Documentation Catalog
- Documentation Index
- Feature Index
- Glossary
- How the Wiki Publishes
- JVM Utilities
- Kotlin Implementation Details
- Kotlin-Aligned Architecture Overview
- Kotlin-Aligned Contributing
- Kotlin-Aligned Core Architectural Principles
- Kotlin-Aligned Daily Development Workflow
- Kotlin-Aligned Development Examples
- Kotlin-Aligned Development Workflow
- Kotlin-Aligned Documentation
- Kotlin-Aligned Implementation Status
- Kotlin-Aligned Key Concepts
- Kotlin-Aligned Known Issues
- Kotlin-Aligned Quick Start
- Kotlin-Aligned Running the System
- Kotlin-Aligned System Architecture
- LangChain Actor Code Changes
- LangChain Actor Usage Improvements
- LangChain ActorInterface Code Changes
- LangChain Best Practices
- LangChain Bugs
- LangChain Chain Implementation
- LangChain Code Changes
- LangChain Code Changes Rollout and Impact
- LangChain Configuration Management Improvements
- LangChain Configuration Recommendations
- LangChain Core Architecture Recommendations
- LangChain Directory Structure Changes
- LangChain Documentation Improvements
- LangChain Dynamic Wiring Rollout Notes
- LangChain Fix Proposal
- LangChain Implementation Priorities
- LangChain Lifecycle Management Improvements
- LangChain Memory Integration Recommendations
- LangChain Metrics and Observability Recommendations
- LangChain Migration Strategy
- LangChain New Files Needed
- LangChain New Packages to Add
- LangChain Package-by-Package Improvements
- LangChain Patterns
- LangChain Port Code Changes
- LangChain Port System Recommendations
- LangChain Port Usability Improvements
- LangChain Prompt Management Recommendations
- LangChain Recommendations
- LangChain Recommendations Rollout Plan
- LangChain Required Interface Changes
- LangChain Testing Changes
- LangChain Testing Improvements
- LangChain Testing Recommendations
- LangChain Tool Integration Recommendations
- LangChain Type-Safe Dynamic Wiring
- LangChain Type-Safe Dynamic Wiring System
- LangChain Usage Design Improvements
- Master Checklist
- Roadmap
- Roadmap Issues
- Roadmap Phase 1 Stability and Testing
- Roadmap Phase 2 Production Infrastructure
- Roadmap Phase 3 Documentation and Developer Experience
- Roadmap Phase 4 Graph Database Integration
- Roadmap Phase 5 Security Framework
- Roadmap Phase 6 Distributed System
- Roadmap Phase 7 Advanced Features
- Roadmap Phase 8 Ecosystem Development
- Roadmap Timeline and Success Metrics
- Setup Instructions
- Sketch Architecture
- Status Documentation
- Task 1 Core Tests
- Task 2 Connection Wiring
- Task 3 Concurrency Issues
- Task 4 Dynamic Registration
- Task 5 Integration Tests
- Task 6 Deadlock Detection
- Task Documentation
- Test Coverage Checklist
- Testing Strategy