Spaces:
Running
Running
| # Contributing to Electron Cloud Visualizer | |
| Thank you for your interest in contributing to the Electron Cloud Visualizer project! | |
| ## How to Contribute | |
| ### Reporting Bugs | |
| If you find a bug, please create an issue with: | |
| - A clear description of the problem | |
| - Steps to reproduce the issue | |
| - Expected vs actual behavior | |
| - Browser and OS information | |
| - Screenshots if applicable | |
| ### Suggesting Features | |
| Feature suggestions are welcome! Please create an issue describing: | |
| - The feature you'd like to see | |
| - Why it would be useful | |
| - How it might work | |
| ### Code Contributions | |
| 1. **Fork the repository** | |
| 2. **Create a feature branch**: `git checkout -b feature/your-feature-name` | |
| 3. **Make your changes** | |
| 4. **Test thoroughly** in multiple browsers | |
| 5. **Commit with clear messages**: `git commit -m "Add feature: description"` | |
| 6. **Push to your fork**: `git push origin feature/your-feature-name` | |
| 7. **Create a Pull Request** | |
| ### Code Style | |
| - Use clear, descriptive variable and function names | |
| - Add comments for complex logic | |
| - Follow existing code formatting | |
| - Keep functions focused and modular | |
| - Document public APIs with JSDoc comments | |
| ### Testing | |
| Before submitting a PR: | |
| - Test in Chrome, Firefox, and Safari | |
| - Verify all features work correctly | |
| - Check console for errors | |
| - Test with different atomic numbers | |
| - Verify performance with high particle counts | |
| ## Development Setup | |
| 1. Clone the repository | |
| 2. Open `index.html` in a web browser | |
| 3. No build process required - it's vanilla JavaScript! | |
| ## Project Structure | |
| - `js/constants.js` - Physical constants and configuration | |
| - `js/math-utils.js` - Mathematical utilities | |
| - `js/quantum-mechanics.js` - Wave function calculations | |
| - `js/particle-sampler.js` - Particle generation | |
| - `js/electron-configuration.js` - Electron configuration logic | |
| - `js/visualization-renderer.js` - Three.js rendering | |
| - `js/gui-controller.js` - User interface | |
| - `js/app-controller.js` - Application coordination | |
| - `js/main.js` - Entry point | |
| ## Questions? | |
| Feel free to open an issue for any questions about contributing! | |