Spaces:
Running
Running
File size: 2,130 Bytes
cdfc1f1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | # 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!
|