Welcome to acoustsee! We’re building spatial audio navigation for the visually impaired, and we’d love your help and have fun with us.
Hi there! just a quick update, on branch v0.5 we are introducing an automatic file loader for grids, engines and languages. If you contribute one or several of such, you can run the file-indexer.js from /scripts that automatically generates a file listing the affected folders files.
- The
developingbranch is our zone that rapid deploys to GitHub Pages for easy and broad testing. - At
developingbranch, you can create new artifacts infuturefolder, meant as placeholder to play around new ideas and radical changes, where you could create a folder name of your liking and do as you like inside it. - You can compare your new artifacts among the consolidated files from the
pastorpresentfolder. - You could add unit tests in
tests/and runnpm test. - Submit a PR to
developingwith a clear description.
Q: Wich is the content and purpuse of the other folders?
A:
past #Historical files, usefull to have them at hand for easy comparsion to vibe a new develop.
future #Our playground, a place holder for your new features or to make radical changes.
present #Here you can PR the integration resulted from your future. // (Considering removing it for simplicity and moving this folder as the staging branch)
- Testing and validation: The staging branch serves as a pre-production environment where changes are tested to ensure they work as expected and do not introduce bugs or regressions.
- Integration testing: It allows for integration testing of multiple features or bug fixes that are developed in parallel.
- User Acceptance Testing (UAT): Stakeholders or beta testers can review the changes in the staging environment to provide feedback before the final release.
-
Main branch: This is the production-ready code. It should always be in a deployable state.
-
Developing branch: This is the main development branch where new features and bug fixes are integrated. It is the equivalent of the
developbranch in GitFlow. -
Feature branches: Developers create
featurebranches from thedevelopingbranch to work on new features or bug fixes. Once thefeatureis complete, apull requestis created to merge thefeaturebranch back into thedevelopingbranch. -
Staging branch: Periodically, the
developingbranch is merged into thestagingbranch to prepare for testing. Thestagingbranch is deployed to a staging environment where automated and manual testing can be performed. Any issues found during testing are addressed by creating new feature branches from the develop branch and merging them back into develop. -
Pull Requests to Staging: Once the changes in the
stagingbranch pass all tests and reviews, apull requestis created to merge thestagingbranch back into themainbranch. -
Release: The
mainbranch is then deployed to production.
When debugLogging is false (default) at state.js , browser console only shows errors (critical stuff), and internal logs only collect errors.
Toggle to true for full verbosity during dev.
- Create a new file in
web/languages/(e.g.,fr-FR.json) based onen-US.json. - Update
web/ui/rectangle-handlers.jsto include the language in thelanguagesarray. - Example:
// web/languages/fr-FR.json { "settingsToggle": "Paramètres {state}", "modeBtn": "Mode {mode}", ... }
// web/ui/rectangle-handlers.js const languages = ['en-US', 'es-ES', 'fr-FR'];
- Add a new file in
web/synthesis-methods/grids/(e.g.,new-grid.js) orweb/synthesis-methods/engines/(e.g.,new-engine.js). - Update
web/ui/rectangle-handlers.jsto include the new grid/engine insettings.gridTypeorsettings.synthesisEnginelogic. - Example:
// web/synthesis-methods/grids/new-grid.js export function mapFrame(data, width, height) { // Your mapping logic return data; }
- Check Issues for open bugs.
- Use the issue template to describe your fix.
- Create a Branch:
git checkout -b feature/your-feature-name
- Commit Changes:
git add . git commit -m "Add feature: describe your change"
- Push and Create a PR:
Open a Pull Request on GitHub, referencing the related issue.
git push origin feature/your-feature-name
- Use JSDoc comments for functions (see
web/ui/event-dispatcher.js). - Follow ESLint rules (run
npm run lint). - Keep code modular.
- Add tests in
tests/for new features (seetests/rectangle-handlers.test.js). - Run tests:
npm test
Please be kind, inclusive, and collaborative. Let’s make accessibility tech awesome!
Reach out via Issues.
Happy contributing!