Flow is a modern, cross-platform application for designing and optimizing production chains commonly found in factory-building games like Factorio or Satisfactory. It provides an intuitive node-based interface for visualizing and planning complex manufacturing processes.
- Visual Node Editor: Drag-and-drop interface for creating and managing production chains
- Real-time Validation: Immediate feedback on connection validity and production chain integrity
- Type-Safe Connections: Ensures resources are connected correctly based on item types
- Production Planning: Design and optimize complex manufacturing processes
- Recipe Nodes: Represent production recipes with inputs, outputs, and processing details
- Splerger Nodes: Manage resource distribution and collection for improved flow control
- SubGraph Nodes: Create hierarchical organization through nested production chains
- Dynamic Connectors: Flexible connection system with type validation and compatibility checks
- Game Integration: Modular plugin system for supporting different factory-building games
- Dynamic Loading: Automatic discovery and loading of game plugins
- Resource Management: Complete game data support including:
- Items and resources
- Manufacturing machines
- Production recipes
- Processing times and power consumption
- Cross-Platform: Built with .NET 9.0 and Avalonia UI
- Modern Architecture: MVVM design pattern with clean, maintainable code
- Performance Optimized: Connection path caching and efficient hit testing
- Type Safety: Strong type checking and runtime validation
- Event-Driven: Responsive UI with real-time updates
- .NET 9.0 Runtime
- Supported Platforms:
- Windows
- macOS
- Linux
- Web (via WebAssembly)
- Install the .NET 9.0 Runtime
- Download and install Flow
- Place game plugins in the
plugins
directory - Launch Flow and start designing your production chains
The project follows strict software engineering principles:
- Test-Driven Development (TDD)
- SOLID principles
- Clean architecture
- Comprehensive error handling
- Performance optimization
- Accessibility compliance
Flow.App
: Main application and UI componentsFlow.Core
: Core domain models and interfacesFlow.Tests
: Test projectsFlow.Games.*
: Game-specific plugin implementations
Contributions are welcome! Please refer to CONTRIBUTING.md for development guidelines and best practices.
This project is licensed under the MIT License - see the LICENSE file for details.