This change improves the layout of the Read the Docs documentation by creating a dedicated API reference page.
Key changes:
- Created a new `docs/api.rst` file to contain all C++ API documentation generated from Doxygen.
- Added references to both `MedicalLib/MedicalLib.h` and `MedicalLib/Patient.h` in `api.rst`.
- Updated `docs/index.rst` to remove the inline API documentation and include a link to the new `api.rst` page in the `toctree`.
This results in a cleaner, more organized, and complete documentation site.
This commit introduces Doxygen for documentation generation and a Gitea
workflow for continuous integration.
- Adds a `Doxyfile` to configure Doxygen to build a documentation
website with diagrams.
- Updates `AGENTS.md` to require Doxygen-compatible comments for all
code.
- Adds Doxygen comments to existing C++ source files to comply with
the new standard.
- Creates a Gitea workflow (`.gitea/workflows/build.yml`) that:
- Builds the project on every push.
- Generates Doxygen documentation.
- Uploads the compiled library and the documentation website as
artifacts.
- Broke out the Patient struct and its related functions (initializePatient, updatePatient) into their own files (Patient.h, Patient.cpp) for better organization.
- Implemented the initial UpdateState logic in the updatePatient function using a mean-reverting model. This ensures that vital signs fluctuate realistically around a healthy baseline.
- Updated CMakeLists.txt to include the new Patient.cpp file in the build.
This commit introduces the initial framework for a medical simulation library.
It adds a `Patient` struct to hold vital signs, including:
- Blood Pressure (Systolic and Diastolic)
- Heart Rate
- Respiration Rate
- Body Temperature
- Oxygen Saturation
It also includes:
- An `initializePatient` function to create a patient with baseline healthy vitals.
- A placeholder `updatePatient` function for future simulation logic.
- An updated example to demonstrate the new functionality.
- Rename all files, directories, and internal project names to "MedicalLib".
- Replace the generic `add` function with a more domain-specific `calculateBMI` function as an initial example of the library's capabilities.
- Update the `AGENTS.md` file to describe the new purpose and scope of the MedicalLib library.
This commit introduces build scripts for both Windows (`build.bat`) and Linux/macOS (`build.sh`) to simplify the build process.
It also updates the `.gitignore` file to a more comprehensive version that includes common patterns for C++ projects and various IDEs.