First off, thank you for considering contributing! This suite is built to help engineering students visualize complex mathematical concepts, and community contributions make that educational goal stronger.
Before writing any code, please check the Issues tab to see if someone is already working on the feature or bug. If not, open a new issue describing what you'd like to build or fix.
Because this suite is purely client-side (HTML/CSS/Vanilla JS) and relies on no build tools or package managers, setup is instant:
- Fork the repository to your own GitHub account.
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/Visualiser.git - Open the root
index.htmlfile in any modern web browser to view the suite. - Make your edits in the respective module folders (
/analog,/digital,/sampling).
- No Dependencies: Please avoid adding external libraries or frameworks (like React or heavy NPM packages) unless absolutely necessary. We want to keep the suite lightweight and accessible.
- Math Accuracy: If adding a new modulation technique, please ensure the mathematical models and discrete integrations are accurate and documented via inline comments.
- Accessibility: Ensure any new sliders or inputs have proper
<label>tags andaria-labelsfor screen readers.
- Create a new branch for your feature:
git checkout -b feature/your-feature-name - Commit your changes with clear, descriptive messages.
- Push to your fork and submit a Pull Request against our
mainbranch.