Skip to content

Developer Notes

Documentation notice

This documentation was generated with help from a large language model and has not been fully vetted by the developer. Verify critical details against the source code and current application behavior.

Repo structure

  • src/ewald/ is the active package.
  • src/ewald/ui/ contains Qt windows and widgets.
  • src/ewald/data/, src/ewald/io/, src/ewald/processing/ contain core state, I/O, and workflow logic.
  • .github/workflows/ contains CI and docs deployment.

How to run tests

From an activated EWALD environment:

bash pytest

How to build docs

bash python -m pip install -r docs/requirements.txt mkdocs build mkdocs serve

How to add a new UI tool

  1. Add the new tool module under src/ewald/ui/.
  2. Wire launch/close behavior into src/ewald/ui/main_window.py.
  3. Register signals so project state changes flow back into existing views.
  4. Add docs coverage (overview + tutorial if user-facing).
  5. Add regression test coverage where feasible.

How to add a new documentation page

  1. Follow the dedicated contributor guide: add-new-documentation-page.
  2. Add a .md file under docs/.
  3. Add a short parent section in mkdocs.yml.
  4. Include:
  5. purpose
  6. prerequisites
  7. expected outcomes
  8. known limitations
  9. Include planned/experimental markers where needed.

Documentation style rules

  • Follow style guide.
  • Keep section names and feature names consistent with active UI names.