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
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Test thoroughly in multiple browsers
- Commit with clear messages:
git commit -m "Add feature: description" - Push to your fork:
git push origin feature/your-feature-name - 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
- Clone the repository
- Open
index.htmlin a web browser - No build process required - it's vanilla JavaScript!
Project Structure
js/constants.js- Physical constants and configurationjs/math-utils.js- Mathematical utilitiesjs/quantum-mechanics.js- Wave function calculationsjs/particle-sampler.js- Particle generationjs/electron-configuration.js- Electron configuration logicjs/visualization-renderer.js- Three.js renderingjs/gui-controller.js- User interfacejs/app-controller.js- Application coordinationjs/main.js- Entry point
Questions?
Feel free to open an issue for any questions about contributing!