-
Notifications
You must be signed in to change notification settings - Fork 0
Compose App Features
The SolaceCore Compose application has been enhanced with comprehensive features that align with the actor and channel architecture of the SolaceCore framework. This document outlines the new features and improvements made to the multiplatform Compose application.
The application is built as a Kotlin Multiplatform project supporting both desktop and web platforms using Jetpack Compose. It provides real-time monitoring and management capabilities for the SolaceCore actor system.
File: composeApp/src/commonMain/kotlin/org/solace/composeapp/ui/components/ChannelMonitoringView.kt
- Real-time Channel Visualization: Displays active channels with connection states, metrics, and throughput information
- Connection State Indicators: Visual badges showing Connected, Disconnected, Connecting, or Error states
- Channel Metrics: Message counts (sent/received/dropped), latency, throughput, and error rates
- Source-Target Mapping: Clear display of data flow between actors
File: composeApp/src/commonMain/kotlin/org/solace/composeapp/ui/components/WorkflowVisualizationView.kt
- Visual Workflow Diagrams: Graphical representation of actor connections and data flow
- Actor Node Positioning: Automatic grid-based layout for actor visualization
- Workflow State Management: Display of workflow status (Running, Stopped, Paused, Error, Initialized)
- Interactive Elements: Visual feedback for workflow states and connections
File: composeApp/src/commonMain/kotlin/org/solace/composeapp/ui/components/ActorControlPanel.kt
- Lifecycle Controls: Start, Stop, Pause, Resume functionality for individual actors
- Bulk Operations: Quick action buttons for managing all actors simultaneously
- Actor Creation/Deletion: Interface for dynamic actor management
- State-Aware Controls: Context-sensitive buttons based on current actor state
File: composeApp/src/commonMain/kotlin/org/solace/composeapp/ui/components/ActorListView.kt
- Clickable Selection: Interactive actor selection with visual feedback
- Enhanced Metrics Display: Comprehensive display of actor performance metrics
- State Indicators: Color-coded badges for different actor states
- Responsive Design: Improved layout and spacing for better usability
File: composeApp/src/commonMain/kotlin/org/solace/composeapp/ui/data/ChannelDisplayData.kt
- Channel Data Structures: Complete data models for channel monitoring
- Workflow Representations: Data structures for workflow visualization
- Metrics Tracking: Enhanced metrics for channels and workflows
- State Management: Comprehensive state definitions for all components
File: composeApp/src/commonMain/kotlin/org/solace/composeapp/ui/service/RealTimeActorService.kt
- Multi-Component Monitoring: Simultaneous tracking of actors, channels, and workflows
- Lifecycle Management: Methods for actor creation, deletion, and state control
- Realistic Sample Data: Enhanced mock data for demonstration purposes
- Extended Update Cycles: Comprehensive real-time updates across all components
-
String Formatting: Replaced
String.format()calls with multiplatform-compatible formatting -
Time APIs: Migrated from
System.currentTimeMillis()toClock.System.now().toEpochMilliseconds() - Icon Compatibility: Simplified icon usage to avoid multiplatform compilation issues
- Two-Column Layout: Organized interface into monitoring and control sections
- Visual Feedback: Added selection states and interactive elements
- Consistent Design: Unified color scheme and typography across components
- Responsive Components: Adaptive layouts for different screen sizes
SolaceRealTimeUI
├── SystemMetricsDashboard (existing, enhanced)
├── MonitoringControlPanel (existing)
├── Left Column
│ ├── ActorListView (enhanced with selection)
│ └── ChannelMonitoringView (new)
└── Right Column
├── ActorControlPanel (new)
├── WorkflowVisualizationView (new)
└── QuickActionButtons (new)
-
RealTimeActorService provides reactive data streams for:
- Actor states and metrics
- Channel connection states and throughput
- Workflow states and structure
- System-wide metrics
-
UI Components consume these streams and provide:
- Real-time visualization updates
- Interactive controls for lifecycle management
- User feedback and status indicators
The current implementation uses mock data for demonstration. Future integration with the actual SolaceCore framework would involve:
- Actor System Integration: Connect to real ActorSupervisor for live data
- Channel Monitoring: Interface with actual Port and Channel implementations
- Workflow Management: Integration with WorkflowManager for real workflow control
- Persistence: Connect to storage systems for state persistence
The application successfully builds for both desktop and web platforms:
-
Desktop:
./gradlew :composeApp:desktopRun -
Web:
./gradlew :composeApp:webBrowserDevelopmentRun
All multiplatform compatibility issues have been resolved, and the application compiles cleanly for both target platforms.
The enhanced SolaceCore Compose application now provides a comprehensive, real-time monitoring and management interface that aligns closely with the actor and channel architecture of the SolaceCore framework. The implementation demonstrates advanced Compose UI patterns, multiplatform development practices, and provides a solid foundation for future integration with the actual SolaceCore runtime system.
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