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!