Thank you for your interest in contributing! This project is an MVP implementation and welcomes contributions.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/rawsim-o-python-mvp.git - Create a branch:
git checkout -b feature/your-feature-name - Install dependencies:
pip install -r requirements.txt
- Follow PEP 8 Python style guide
- Use type hints where appropriate
- Add docstrings to classes and functions
- Keep functions focused and concise
core/- Core simulation elements (bots, pods, waypoints, etc.)pathfinding/- Pathfinding algorithmscontrol/- Control systems and strategiessimulation/- Simulation execution enginestatistics/- Statistics tracking and exportvisualization/- 2D visualization with Pygameutils/- Utility functionsgenerator/- Instance generation
-
New Pathfinding Algorithm
- Add to
pathfinding/directory - Implement interface compatible with existing algorithms
- Update
PathPlannerto support new method
- Add to
-
New Control Strategy
- Add to
control/directory - Follow existing patterns (TaskManager, PodSelector)
- Document algorithm and parameters
- Add to
-
New Visualization
- Consider web-based (Three.js) or 3D (Panda3D)
- Maintain compatibility with existing simulation
Before submitting:
- Test your changes locally
- Run CLI mode:
python cli.py --generate - Run visual mode:
python visualization.py --generate - Verify no errors in logs
- Additional pathfinding algorithms (CBS, PAS, BCP)
- Order generation system
- Item picking/storing logic
- Performance optimizations
- Unit tests
- 3D visualization (web-based or Panda3D)
- Configuration validation
- More statistical metrics
- Multi-threaded simulation
- Real-time monitoring dashboard
- Machine learning integration
- Benchmark suite
- Docker containerization
- Documentation website
- Tutorial notebooks
- Update README.md if you've added features
- Update docstrings and comments
- Ensure code follows style guidelines
- Test thoroughly
- Submit PR with clear description
Open an issue or discussion on GitHub.
By contributing, you agree that your contributions will be licensed under GPL-3.0.