diff --git a/STATUS.md b/STATUS.md
index ac8ab85..a58eff5 100644
--- a/STATUS.md
+++ b/STATUS.md
@@ -1,6 +1,6 @@
# BatLLM Status
-Last updated: 2026-05-09 20:46
+Last updated: 2026-05-09 23:45
## Project Purpose
@@ -16,7 +16,7 @@ The project should remain practical, critical, and educational. Destructive or e
- Main UI framework: Kivy `2.3.1` plus KivyMD `1.2.0`.
- LLM/runtime integration: Ollama through `modelito==1.4.0` and `ollama==0.5.3`.
- Default shipped model: `smollm2` with first-run `last_served_model` intentionally blank.
-- Repository version: `0.3.5`.
+- Repository version: `0.3.6`.
### macOS/Linux
@@ -71,24 +71,25 @@ This status update followed a repository-wide audit on 2026-05-09. The audit ins
### Repository Inventory
-- Tracked files: 611.
-- Tracked source/test/application files under `src/`: 82.
+- Tracked files: 610.
+- Tracked source/test/application files under `src/`: 81.
- Tracked documentation files and generated API artefacts under `docs/`: 505.
-- Test files: 13 `test_*.py` files with 153 collected test functions by static scan.
+- Test files: 14 tracked smoke/test files with 157 collected test functions by static scan.
- Key top-level launchers and tooling: `run_batllm.py`, `run_game_analyzer.py`, `run_tests.py`, `create_release_bundles.py`, `create_homebrew_formula.py`, `validate_packaging_smoke.py`, `start_ollama.sh`, `stop_ollama.sh`, `scripts/cmr-r`, and `tools/ollama_mock_server.py`.
- CI workflows present: `.github/workflows/multiplatform.yml` and `.github/workflows/publish-homebrew-tap.yml`.
- Packaging subtree present: `packaging/homebrew/README.md` and `packaging/homebrew/requirements.txt`.
### Notable Audit Findings
-- `STATUS.md` now embeds architecture and runtime diagrams via repository SVG image links for markdown-renderer compatibility.
-- Removed tracked repository-hygiene artefacts: top-level `sdf` and `src/configs/config.yaml.bak`.
-- Fixed stale augmented system-instruction paths in `src/configs/config-llama.yaml` to use `src/assets/system_instructions/...`.
-- Removed the unused `OLLAMA_HELPER` constant from `run_tests.py`.
-- Refreshed `docs/ROADMAP.md` opening wording from `0.2.x` to `0.3.x`.
-- Updated standalone `docs/images/*modelito.svg` wording to retire stale `modelito 1.2.2` references.
-- Generated Doxygen output under `docs/code/` is large and tracked. It appears intentional, but it dominates repository size and should be regenerated only as part of deliberate API-documentation updates.
-- The current git worktree was clean before this status update.
+- Root launchers and `run_tests.py` now insert `src/` into `sys.path` before importing local modules, so the documented root commands no longer depend on an already-exported `PYTHONPATH`.
+- `src/util/compat.py` now enforces the documented supported Python window `>=3.10,<3.13`.
+- `src/configs/config-llama.yaml` and `src/configs/config-phi.yaml` were refreshed to use current schema keys, matching system-instruction asset paths, warmup-timeout defaults, and model names that match the file intent.
+- Maintained docs were aligned with repository version `0.3.6`, supported Python `>=3.10,<3.13`, and the shipped `llm.warmup_timeout` default.
+- Repository patch version was bumped from `0.3.5` to `0.3.6`.
+- Mock-Ollama smoke validation now accepts a responding `/api/version` endpoint when process-level inspection cannot identify the mock server as an Ollama process.
+- Generated Doxygen output under `docs/code/` was regenerated after source and version changes. Existing Doxygen warnings are mostly undocumented Kivy/test helper classes and remain non-blocking documentation debt.
+- Architecture and runtime-flow SVG diagrams were redrawn with larger canvases, wrapped text, boundary-aligned connectors, plain arrow labels, and clearer label placement.
+- The git worktree was clean at the start of this audit; current changes are intentional audit/remediation updates.
## Current Implementation State
@@ -150,7 +151,7 @@ This status update followed a repository-wide audit on 2026-05-09. The audit ins
- `AGENTS.md`: canonical operating instructions for coding agents in this repository.
- `STATUS.md`: this complete project status report; must be updated with any project-state change.
-- `VERSION`: active repository version (`0.3.5`).
+- `VERSION`: active repository version (`0.3.6`).
- `requirements.txt`: root development/runtime dependency pins.
- `pytest.ini`: pytest path and discovery configuration.
- `.github/workflows/`: CI and Homebrew tap publication workflows.
@@ -179,23 +180,30 @@ This status update followed a repository-wide audit on 2026-05-09. The audit ins
- `docs/RELEASE_CRITERIA_1_0.md` defines CI, reliability, UX, bundle, and documentation gates for a future 1.0 candidate.
- `docs/CHANGELOG.md` keeps active unreleased notes on the `0.x` hold and draft 1.0 notes.
- `docs/FIRST_RUN_RELEASE_CHECKLIST.md` and `docs/UI_UNIFICATION_PLAN_1_0.md` remain release-preparation references.
+- `docs/images/architecture-modelito.svg` and `docs/images/request-flow-modelito.svg` are maintained standalone SVG diagrams used by `STATUS.md`; they were refreshed for legibility and connector accuracy.
- `docs/code/` contains generated Doxygen HTML/LaTeX output and should be treated as generated documentation.
## Tests And Verification Status
### Latest Commands Run For This Audit
-- `pwd && rg --files -g 'AGENTS.md' -g '!**/.git/**' -g '!**/__pycache__/**' && git status --short` -> passed; confirmed repository path, only root `AGENTS.md`, and initially clean worktree.
-- `find . -maxdepth 2 -type f ...` plus `rg --files -g '*.py' ...` -> passed; inventoried top-level files and Python files.
-- Documentation/source inspection commands using `sed`, `find`, `git ls-files`, and AST parsing -> passed; informed this status report.
-- `rg '^def test_' src/tests -c | awk ...` -> passed; statically counted 153 test functions across 13 test files.
-- `python -m pytest -q` -> failed during collection in this container because the default `python` is Python 3.14.4 and does not have required dependencies installed (`ModuleNotFoundError: No module named 'yaml'`).
-- `python3.12 -m compileall -q src run_batllm.py run_game_analyzer.py run_tests.py create_release_bundles.py create_homebrew_formula.py validate_packaging_smoke.py` -> passed; source and launcher files compile under Python 3.12.
-- `python - <<'PY' ...` timestamp-format check -> passed; top and bottom `Last updated` lines match and use the required format.
+- `git status --short` -> passed; confirmed the worktree was clean before edits.
+- Repository audit commands using `rg`, `git ls-files`, `find`, `sed`, and `wc` -> passed; checked tracked inventory, maintained docs, source modules, config files, TODO markers, stale version/path references, ignored local artefacts, generated docs, and test inventory.
+- `.venv_BatLLM/bin/python -m pytest -q src/tests/test_multiplatform_support.py src/tests/test_history_compact.py` -> `38 passed`.
+- `.venv_BatLLM/bin/python -m pytest -q` -> `155 passed, 2 skipped`; rerun after the `0.3.6` version bump.
+- `.venv_BatLLM/bin/python run_tests.py core` -> `4 passed`.
+- `.venv_BatLLM/bin/python -m compileall -q src run_batllm.py run_game_analyzer.py run_tests.py create_release_bundles.py create_homebrew_formula.py validate_packaging_smoke.py` -> passed.
+- `.venv_BatLLM/bin/python validate_packaging_smoke.py` -> initially failed inside the restricted sandbox because PyPI DNS was blocked; rerun with network permission and passed (`Packaging smoke validation passed.`).
+- CI-style mock Ollama smoke: started `tools/ollama_mock_server.py` on `127.0.0.1:11434`, then ran `BATLLM_RUN_OLLAMA_SMOKE=1 PYTHONPATH=src KIVY_HOME=/tmp/batllm-kivy-smoke KIVY_NO_ARGS=1 KIVY_NO_CONSOLELOG=1 .venv_BatLLM/bin/python -m pytest -q src/tests/smoke_llm_payload.py` with local socket permission -> `2 passed`; the mock server was stopped afterwards.
+- `rg -n "0\.3\.5" VERSION docs src ...` -> passed with no matches after the `0.3.6` version bump.
+- `doxygen docs/code/dox_config.properties` -> passed; regenerated tracked API docs with `PROJECT_NUMBER = 0.3.6` and reported existing undocumented-class/member warnings.
+- Documentation local-link sanity check for `docs/*.md` -> passed (`documentation-local-links-ok`).
+- `python3 - <<'PY' ...` XML parse check for `docs/images/architecture-modelito.svg` and `docs/images/request-flow-modelito.svg` -> passed.
+- `rsvg-convert -o /tmp/architecture-modelito.png docs/images/architecture-modelito.svg` and `rsvg-convert -o /tmp/request-flow-modelito.png docs/images/request-flow-modelito.svg` -> passed; both diagrams rendered to temporary PNGs without errors.
### Recent Previously Recorded Validation
-The previous status report recorded these successful checks from the same release-hardening period. They remain useful historical evidence but were not rerun as part of this documentation-only audit unless listed above.
+The previous status report recorded these successful checks from the same release-hardening period. They remain useful historical evidence but were not rerun unless listed above.
- `python -m pytest -q` -> `151 passed, 2 skipped`.
- `python run_tests.py full` -> core smoke `4 passed`; full suite `153 passed`; live-Ollama lifecycle start/stop verified.
@@ -209,16 +217,17 @@ The previous status report recorded these successful checks from the same releas
- The Kivy desktop app was not launched interactively with `python run_batllm.py` in this non-interactive environment.
- The standalone analyzer was not launched interactively with `python run_game_analyzer.py` in this non-interactive environment.
-- Live Ollama lifecycle tests were not run during this audit to avoid mutating local model/service state.
-- Release bundle generation and Homebrew install smoke tests were not rerun during this audit because this change updates only `STATUS.md`.
+- A headless launcher import attempt reached Kivy window initialisation and failed with `Unable to get a Window`; this is an environment limitation, not a substitute for manual GUI launch validation.
+- `python run_tests.py full` was not run during this audit because it can start and stop a real local Ollama service.
+- Homebrew install-level smoke (`validate_packaging_smoke.py --run-homebrew-install-smoke`) was not run because it installs/uninstalls through the local Homebrew installation.
## Known Issues, Risks, And Limitations
-- The project is still on `0.3.5`; 1.0 materials are release-planning/draft references, not an active shipped 1.0 release line.
+- The project is still on `0.3.6`; 1.0 materials are release-planning/draft references, not an active shipped 1.0 release line.
- Local Ollama operations are inherently stateful. Starting/stopping the service, warming models, downloading models, or deleting models can affect real user state.
- GUI validation is limited in headless/non-interactive environments; many UI paths rely on Kivy event-loop behaviour and manual spot checks.
- `run_tests.py full` can affect a real Ollama service and should be run only with explicit maintainer intent.
-- Generated API docs under `docs/code/` may become stale when source changes unless regenerated deliberately.
+- Generated API docs under `docs/code/` are current for this audit but remain large and noisy because Doxygen also tracks LaTeX PDF artefacts.
- Homebrew distribution remains source-based and macOS/Apple-Silicon oriented.
- The saved-session v2 schema is the supported path; unsupported legacy sessions are intentionally rejected by schema helpers.
@@ -226,29 +235,29 @@ The previous status report recorded these successful checks from the same releas
### High Priority Before Release Freeze
-- Repository-hygiene follow-ups from this audit have been addressed in this update (`sdf`, `config.yaml.bak`, stale alternate config paths, unused test-runner constant, stale roadmap wording, and stale standalone modelito diagram wording).
+- No new high-priority code or maintained-documentation remediation from this audit remains open.
### Validation Pending
-- Rerun `python -m pytest -q` in a supported Python environment with `requirements.txt` installed; the container default Python 3.14 environment lacks required dependencies.
-- Optionally rerun `python validate_packaging_smoke.py` if release artefacts are expected to remain valid in the current environment.
-- Rerun `python run_tests.py full` only in an environment where live Ollama start/stop is acceptable.
- Perform manual GUI smoke checks for `python run_batllm.py` and `python run_game_analyzer.py` before release tagging.
+- Rerun `python run_tests.py full` only when the maintainer is ready for BatLLM to start/stop the configured real local Ollama service.
+- Run Homebrew install-level smoke only when mutating the local Homebrew installation is acceptable.
+- Complete Linux and Windows manual first-run checklist execution on native hosts before a release candidate.
### Documentation Pending
- Keep `STATUS.md` current after every project-state change.
- Ensure `docs/README.md`, `docs/USER_GUIDE.md`, and `docs/CONTRIBUTING.md` stay aligned with UI labels, release workflow, and config defaults.
- Keep `docs/CHANGELOG.md` clear that 1.0 notes remain draft until an actual `v1.0.0` tag is prepared.
-- Regenerate `docs/code/` only when API documentation updates are intentional.
+- Regenerate `docs/code/` only when API documentation updates are intentional, and review generated PDF churn before committing.
## Next Steps
-1. Run the narrow validation for this documentation update: `python -m pytest -q`.
-2. Keep repository-hygiene checks active for future artefacts and generated-file drift.
-3. Refresh stale documentation/diagram wording identified by the audit.
-4. Run full non-live CI-equivalent checks across source, tests, packaging smoke, and Homebrew formula generation.
-5. Schedule a maintainer-owned live Ollama validation pass before any release candidate.
+1. Run maintainer-owned manual GUI smoke checks on a machine with a display.
+2. Run maintainer-owned live Ollama validation before any release candidate if local Ollama state can be safely mutated.
+3. Complete the Linux and Windows first-run checklist on native hosts.
+4. Keep repository-hygiene checks active for future artefacts and generated-file drift.
+5. Keep `STATUS.md`, release notes, and generated API docs aligned with future source/config changes.
## Longer-Term Steps
@@ -258,4 +267,4 @@ The previous status report recorded these successful checks from the same releas
- Design the 2.0 server contract before adding web or repository-backed prompt/game sharing.
- Add broader tests for malformed model responses, slow startup, missing models, session compatibility, analyzer edge cases, and packaged first-run behaviour.
-Last updated: 2026-05-09 20:46
+Last updated: 2026-05-09 23:45
diff --git a/VERSION b/VERSION
index c2c0004..449d7e7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.3.5
+0.3.6
diff --git a/create_release_bundles.py b/create_release_bundles.py
index 47c70cb..cbc19ea 100644
--- a/create_release_bundles.py
+++ b/create_release_bundles.py
@@ -39,7 +39,7 @@ def platform_note(version: str, platform_name: str, install_hint: str) -> str:
return (
f"BatLLM {version} - {platform_name} release bundle\n\n"
"Quick start:\n"
- "1. Install Python 3.10 or newer. Python 3.11 or 3.12 is recommended.\n"
+ "1. Install Python 3.10, 3.11, or 3.12. Python 3.12 is recommended.\n"
"2. Install Ollama from the official download page for your platform.\n"
"3. Run the included install script.\n"
"4. Launch BatLLM with the included run script.\n\n"
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 5c800bb..718f458 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -4,8 +4,12 @@
## Unreleased
-- keeping release line on `0.x` pending maintainer validation; repository `VERSION` is now `0.3.5`
+- keeping release line on `0.x` pending maintainer validation; repository `VERSION` is now `0.3.6`
- continue release hardening and checklist execution before any `1.0.0` tag decision
+- aligned supported-Python documentation and launcher enforcement around Python `>=3.10,<3.13`
+- refreshed alternate config profiles so model names, movement keys, warmup-timeout defaults, and system-instruction paths match the current schema
+- bumped repository `VERSION` to `0.3.6` for the next patch release
+- corrected stale maintained-documentation references to the current `0.3.6` repository version and `llm.warmup_timeout` default
## Draft v1.0.0 Release Notes (not released)
@@ -35,7 +39,7 @@
- moved gameplay requests to direct `modelito` usage in `src/game/ollama_connector.py`
- switched the Ollama screen, configurator console, smoke helpers, and test CLI to direct `modelito` service and provider helpers
- removed the remaining pre-release compatibility and stale backup files that kept obsolete non-gameplay HTTP paths alive
-- updated the maintained docs and status report to describe the direct `modelito 1.2.2` architecture consistently
+- updated the then-current maintained docs and status report to describe the direct `modelito 1.2.2` architecture consistently
## v0.3.3 - 2026-04-21
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
index 9a915e2..a60e490 100644
--- a/docs/CONTRIBUTING.md
+++ b/docs/CONTRIBUTING.md
@@ -52,7 +52,7 @@ source .venv_BatLLM/bin/activate
pip install -r requirements.txt
```
-Use Python 3.10 or newer. Python 3.11 or 3.12 is recommended.
+Use Python 3.10, 3.11, or 3.12. Python 3.12 is recommended.
On Windows:
@@ -197,6 +197,7 @@ llm:
max_tokens: null
model: smollm2
model_timeouts: {}
+ warmup_timeout: 30.0
num_ctx: 4096
num_predict: null
num_thread: null
diff --git a/docs/FIRST_RUN_RELEASE_CHECKLIST.md b/docs/FIRST_RUN_RELEASE_CHECKLIST.md
index 3f7600c..9a6298b 100644
--- a/docs/FIRST_RUN_RELEASE_CHECKLIST.md
+++ b/docs/FIRST_RUN_RELEASE_CHECKLIST.md
@@ -54,7 +54,7 @@ Use this checklist before each release candidate.
- checklist completed by maintainer: in progress (Copilot-assisted local run)
- date: 2026-05-09
-- release candidate tag: v0.3.5-rc1
+- release candidate tag: v0.3.6-rc1
## Current Execution Record (2026-05-08)
diff --git a/docs/README.md b/docs/README.md
index 120c9fa..5d8ce33 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -70,7 +70,7 @@ BatLLM is now maintained for:
### System Requirements
-1. Python 3.10 or newer. Python 3.11 or 3.12 is recommended.
+1. Python 3.10, 3.11, or 3.12. Python 3.12 is recommended.
2. A local Ollama installation if you want to run BatLLM with the default workflow.
3. Hardware capable of running the local model you choose.
@@ -91,8 +91,8 @@ If the CLI is missing, the app can offer to install Ollama from the Ollama scree
| Topic | Current expectation | Notes |
| --- | --- | --- |
-| Python | `3.10+` | `3.11` or `3.12` is recommended for normal development and usage. |
-| BatLLM | `0.3.3` | Matches the current repository `VERSION` file and release line. |
+| Python | `>=3.10,<3.13` | `3.12` is recommended for normal development and usage. |
+| BatLLM | `0.3.6` | Matches the current repository `VERSION` file and release line. |
| Ollama workflow | local Ollama install with the CLI available | The recommended path is to manage install, start, stop, and model selection through `Ollama Config`. BatLLM can prompt to install/start Ollama, restore `llm.last_served_model`, and use the configured `llm.warmup_timeout` during service startup. |
## Quick Start
diff --git a/docs/code/dox_config.properties b/docs/code/dox_config.properties
index 0fd80e8..631812f 100644
--- a/docs/code/dox_config.properties
+++ b/docs/code/dox_config.properties
@@ -48,7 +48,7 @@ PROJECT_NAME = "BatLLM"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.3.5
+PROJECT_NUMBER = 0.3.6
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewers a
diff --git a/docs/code/html/annotated.html b/docs/code/html/annotated.html
index 007871c..a7c4446 100644
--- a/docs/code/html/annotated.html
+++ b/docs/code/html/annotated.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__board_1_1_analyzer_board-members.html b/docs/code/html/classanalyzer__board_1_1_analyzer_board-members.html
index 0ad8d82..6c410f8 100644
--- a/docs/code/html/classanalyzer__board_1_1_analyzer_board-members.html
+++ b/docs/code/html/classanalyzer__board_1_1_analyzer_board-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__board_1_1_analyzer_board.html b/docs/code/html/classanalyzer__board_1_1_analyzer_board.html
index 6b7d247..d64695c 100644
--- a/docs/code/html/classanalyzer__board_1_1_analyzer_board.html
+++ b/docs/code/html/classanalyzer__board_1_1_analyzer_board.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen-members.html b/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen-members.html
index f84e46c..b7a7a52 100644
--- a/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen-members.html
+++ b/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen.html b/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen.html
index 0ede346..aa6f7e1 100644
--- a/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen.html
+++ b/docs/code/html/classanalyzer__load__screen_1_1_analyzer_load_screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__main_1_1_game_analyzer_app-members.html b/docs/code/html/classanalyzer__main_1_1_game_analyzer_app-members.html
index f889438..e23ed7e 100644
--- a/docs/code/html/classanalyzer__main_1_1_game_analyzer_app-members.html
+++ b/docs/code/html/classanalyzer__main_1_1_game_analyzer_app-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__main_1_1_game_analyzer_app.html b/docs/code/html/classanalyzer__main_1_1_game_analyzer_app.html
index c8739d1..4a823d3 100644
--- a/docs/code/html/classanalyzer__main_1_1_game_analyzer_app.html
+++ b/docs/code/html/classanalyzer__main_1_1_game_analyzer_app.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__model_1_1_analyzer_session_model-members.html b/docs/code/html/classanalyzer__model_1_1_analyzer_session_model-members.html
index 808cc07..206686b 100644
--- a/docs/code/html/classanalyzer__model_1_1_analyzer_session_model-members.html
+++ b/docs/code/html/classanalyzer__model_1_1_analyzer_session_model-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__model_1_1_analyzer_session_model.html b/docs/code/html/classanalyzer__model_1_1_analyzer_session_model.html
index 712affc..5655836 100644
--- a/docs/code/html/classanalyzer__model_1_1_analyzer_session_model.html
+++ b/docs/code/html/classanalyzer__model_1_1_analyzer_session_model.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row-members.html b/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row-members.html
index 6aa5cb4..c3595e0 100644
--- a/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row-members.html
+++ b/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row.html b/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row.html
index f5a3d70..75d42ae 100644
--- a/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row.html
+++ b/docs/code/html/classanalyzer__model_1_1_analyzer_tree_row.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen-members.html b/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen-members.html
index 0d487c6..576f94e 100644
--- a/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen-members.html
+++ b/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen.html b/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen.html
index acaecfb..d68ddfe 100644
--- a/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen.html
+++ b/docs/code/html/classanalyzer__review__screen_1_1_analyzer_review_screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classapp__config_1_1_app_config-members.html b/docs/code/html/classapp__config_1_1_app_config-members.html
index 57e86b4..a25097e 100644
--- a/docs/code/html/classapp__config_1_1_app_config-members.html
+++ b/docs/code/html/classapp__config_1_1_app_config-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classapp__config_1_1_app_config.html b/docs/code/html/classapp__config_1_1_app_config.html
index 9e5a325..84d2091 100644
--- a/docs/code/html/classapp__config_1_1_app_config.html
+++ b/docs/code/html/classapp__config_1_1_app_config.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classbot_1_1_bot-members.html b/docs/code/html/classbot_1_1_bot-members.html
index 8da38f5..3fb1c86 100644
--- a/docs/code/html/classbot_1_1_bot-members.html
+++ b/docs/code/html/classbot_1_1_bot-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classbot_1_1_bot.html b/docs/code/html/classbot_1_1_bot.html
index 4c10cf1..df8b810 100644
--- a/docs/code/html/classbot_1_1_bot.html
+++ b/docs/code/html/classbot_1_1_bot.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classbullet_1_1_bullet-members.html b/docs/code/html/classbullet_1_1_bullet-members.html
index efe4f36..a4df860 100644
--- a/docs/code/html/classbullet_1_1_bullet-members.html
+++ b/docs/code/html/classbullet_1_1_bullet-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classbullet_1_1_bullet.html b/docs/code/html/classbullet_1_1_bullet.html
index b8efbe0..1c20f71 100644
--- a/docs/code/html/classbullet_1_1_bullet.html
+++ b/docs/code/html/classbullet_1_1_bullet.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app-members.html b/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app-members.html
index ceda21a..b6acc94 100644
--- a/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app-members.html
+++ b/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app.html b/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app.html
index 4d54498..de86b36 100644
--- a/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app.html
+++ b/docs/code/html/classconfigurator_1_1_bat_l_l_m_config_app.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_config_manager-members.html b/docs/code/html/classconfigurator_1_1_config_manager-members.html
index 0c3ad85..40f6a0a 100644
--- a/docs/code/html/classconfigurator_1_1_config_manager-members.html
+++ b/docs/code/html/classconfigurator_1_1_config_manager-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_config_manager.html b/docs/code/html/classconfigurator_1_1_config_manager.html
index 8c6c652..af73735 100644
--- a/docs/code/html/classconfigurator_1_1_config_manager.html
+++ b/docs/code/html/classconfigurator_1_1_config_manager.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_console_panel-members.html b/docs/code/html/classconfigurator_1_1_console_panel-members.html
index 5ef3504..2a79d5b 100644
--- a/docs/code/html/classconfigurator_1_1_console_panel-members.html
+++ b/docs/code/html/classconfigurator_1_1_console_panel-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_console_panel.html b/docs/code/html/classconfigurator_1_1_console_panel.html
index 6fafe94..94a5524 100644
--- a/docs/code/html/classconfigurator_1_1_console_panel.html
+++ b/docs/code/html/classconfigurator_1_1_console_panel.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_l_l_m_panel-members.html b/docs/code/html/classconfigurator_1_1_l_l_m_panel-members.html
index 000efff..2bf000e 100644
--- a/docs/code/html/classconfigurator_1_1_l_l_m_panel-members.html
+++ b/docs/code/html/classconfigurator_1_1_l_l_m_panel-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_l_l_m_panel.html b/docs/code/html/classconfigurator_1_1_l_l_m_panel.html
index a372a0d..116a6d6 100644
--- a/docs/code/html/classconfigurator_1_1_l_l_m_panel.html
+++ b/docs/code/html/classconfigurator_1_1_l_l_m_panel.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_local_models_panel-members.html b/docs/code/html/classconfigurator_1_1_local_models_panel-members.html
index 5b4e6ab..69e216b 100644
--- a/docs/code/html/classconfigurator_1_1_local_models_panel-members.html
+++ b/docs/code/html/classconfigurator_1_1_local_models_panel-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_local_models_panel.html b/docs/code/html/classconfigurator_1_1_local_models_panel.html
index 5a40a9d..769682d 100644
--- a/docs/code/html/classconfigurator_1_1_local_models_panel.html
+++ b/docs/code/html/classconfigurator_1_1_local_models_panel.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_ollama_client-members.html b/docs/code/html/classconfigurator_1_1_ollama_client-members.html
index ec98e44..c6c9a09 100644
--- a/docs/code/html/classconfigurator_1_1_ollama_client-members.html
+++ b/docs/code/html/classconfigurator_1_1_ollama_client-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_ollama_client.html b/docs/code/html/classconfigurator_1_1_ollama_client.html
index 55afac4..be5db9d 100644
--- a/docs/code/html/classconfigurator_1_1_ollama_client.html
+++ b/docs/code/html/classconfigurator_1_1_ollama_client.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_other_settings_panel-members.html b/docs/code/html/classconfigurator_1_1_other_settings_panel-members.html
index 6f2eea6..d246edc 100644
--- a/docs/code/html/classconfigurator_1_1_other_settings_panel-members.html
+++ b/docs/code/html/classconfigurator_1_1_other_settings_panel-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_other_settings_panel.html b/docs/code/html/classconfigurator_1_1_other_settings_panel.html
index 9b3b1fb..7f107e6 100644
--- a/docs/code/html/classconfigurator_1_1_other_settings_panel.html
+++ b/docs/code/html/classconfigurator_1_1_other_settings_panel.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel-members.html b/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel-members.html
index d693445..1f6c333 100644
--- a/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel-members.html
+++ b/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel.html b/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel.html
index 8b73264..e6c7034 100644
--- a/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel.html
+++ b/docs/code/html/classconfigurator_1_1_raw_y_a_m_l_panel.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_remote_models_panel-members.html b/docs/code/html/classconfigurator_1_1_remote_models_panel-members.html
index 8ea129c..a3d6d1c 100644
--- a/docs/code/html/classconfigurator_1_1_remote_models_panel-members.html
+++ b/docs/code/html/classconfigurator_1_1_remote_models_panel-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_remote_models_panel.html b/docs/code/html/classconfigurator_1_1_remote_models_panel.html
index e93c898..1b8fc93 100644
--- a/docs/code/html/classconfigurator_1_1_remote_models_panel.html
+++ b/docs/code/html/classconfigurator_1_1_remote_models_panel.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_snapshot_panel-members.html b/docs/code/html/classconfigurator_1_1_snapshot_panel-members.html
index f00a1ac..44c8f35 100644
--- a/docs/code/html/classconfigurator_1_1_snapshot_panel-members.html
+++ b/docs/code/html/classconfigurator_1_1_snapshot_panel-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classconfigurator_1_1_snapshot_panel.html b/docs/code/html/classconfigurator_1_1_snapshot_panel.html
index 9d64128..df4abfa 100644
--- a/docs/code/html/classconfigurator_1_1_snapshot_panel.html
+++ b/docs/code/html/classconfigurator_1_1_snapshot_panel.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classes.html b/docs/code/html/classes.html
index 066c014..2cd2948 100644
--- a/docs/code/html/classes.html
+++ b/docs/code/html/classes.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classgame__board_1_1_game_board-members.html b/docs/code/html/classgame__board_1_1_game_board-members.html
index dc825de..9097a16 100644
--- a/docs/code/html/classgame__board_1_1_game_board-members.html
+++ b/docs/code/html/classgame__board_1_1_game_board-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classgame__board_1_1_game_board.html b/docs/code/html/classgame__board_1_1_game_board.html
index 51c9f94..d93a0d7 100644
--- a/docs/code/html/classgame__board_1_1_game_board.html
+++ b/docs/code/html/classgame__board_1_1_game_board.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classhistory__manager_1_1_history_manager-members.html b/docs/code/html/classhistory__manager_1_1_history_manager-members.html
index 82d88fe..f3fa798 100644
--- a/docs/code/html/classhistory__manager_1_1_history_manager-members.html
+++ b/docs/code/html/classhistory__manager_1_1_history_manager-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classhistory__manager_1_1_history_manager.html b/docs/code/html/classhistory__manager_1_1_history_manager.html
index bae87e4..8d37a83 100644
--- a/docs/code/html/classhistory__manager_1_1_history_manager.html
+++ b/docs/code/html/classhistory__manager_1_1_history_manager.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classhistory__screen_1_1_history_screen-members.html b/docs/code/html/classhistory__screen_1_1_history_screen-members.html
index f1e86aa..2cf9773 100644
--- a/docs/code/html/classhistory__screen_1_1_history_screen-members.html
+++ b/docs/code/html/classhistory__screen_1_1_history_screen-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classhistory__screen_1_1_history_screen.html b/docs/code/html/classhistory__screen_1_1_history_screen.html
index 2016b9e..6939467 100644
--- a/docs/code/html/classhistory__screen_1_1_history_screen.html
+++ b/docs/code/html/classhistory__screen_1_1_history_screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classhome__screen_1_1_home_screen-members.html b/docs/code/html/classhome__screen_1_1_home_screen-members.html
index 392ab75..04e1304 100644
--- a/docs/code/html/classhome__screen_1_1_home_screen-members.html
+++ b/docs/code/html/classhome__screen_1_1_home_screen-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classhome__screen_1_1_home_screen.html b/docs/code/html/classhome__screen_1_1_home_screen.html
index 1221b0b..bd71d49 100644
--- a/docs/code/html/classhome__screen_1_1_home_screen.html
+++ b/docs/code/html/classhome__screen_1_1_home_screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classload__text__dialog_1_1_load_text_dialog-members.html b/docs/code/html/classload__text__dialog_1_1_load_text_dialog-members.html
index 03546fa..60e55ae 100644
--- a/docs/code/html/classload__text__dialog_1_1_load_text_dialog-members.html
+++ b/docs/code/html/classload__text__dialog_1_1_load_text_dialog-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classload__text__dialog_1_1_load_text_dialog.html b/docs/code/html/classload__text__dialog_1_1_load_text_dialog.html
index cd40ee5..7a87c40 100644
--- a/docs/code/html/classload__text__dialog_1_1_load_text_dialog.html
+++ b/docs/code/html/classload__text__dialog_1_1_load_text_dialog.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classmain_1_1_bat_l_l_m-members.html b/docs/code/html/classmain_1_1_bat_l_l_m-members.html
index 926564e..66c9fb0 100644
--- a/docs/code/html/classmain_1_1_bat_l_l_m-members.html
+++ b/docs/code/html/classmain_1_1_bat_l_l_m-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classmain_1_1_bat_l_l_m.html b/docs/code/html/classmain_1_1_bat_l_l_m.html
index f8e6a69..ece2f4f 100644
--- a/docs/code/html/classmain_1_1_bat_l_l_m.html
+++ b/docs/code/html/classmain_1_1_bat_l_l_m.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classnormalized__canvas_1_1_normalized_canvas-members.html b/docs/code/html/classnormalized__canvas_1_1_normalized_canvas-members.html
index ed37a00..abc0d40 100644
--- a/docs/code/html/classnormalized__canvas_1_1_normalized_canvas-members.html
+++ b/docs/code/html/classnormalized__canvas_1_1_normalized_canvas-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classnormalized__canvas_1_1_normalized_canvas.html b/docs/code/html/classnormalized__canvas_1_1_normalized_canvas.html
index 57335d8..786d70b 100644
--- a/docs/code/html/classnormalized__canvas_1_1_normalized_canvas.html
+++ b/docs/code/html/classnormalized__canvas_1_1_normalized_canvas.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__config__screen_1_1_ollama_config_screen-members.html b/docs/code/html/classollama__config__screen_1_1_ollama_config_screen-members.html
index ba00444..21bb297 100644
--- a/docs/code/html/classollama__config__screen_1_1_ollama_config_screen-members.html
+++ b/docs/code/html/classollama__config__screen_1_1_ollama_config_screen-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__config__screen_1_1_ollama_config_screen.html b/docs/code/html/classollama__config__screen_1_1_ollama_config_screen.html
index d992c5f..1d7b699 100644
--- a/docs/code/html/classollama__config__screen_1_1_ollama_config_screen.html
+++ b/docs/code/html/classollama__config__screen_1_1_ollama_config_screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__connector_1_1_client-members.html b/docs/code/html/classollama__connector_1_1_client-members.html
index d9cae1b..f6443b9 100644
--- a/docs/code/html/classollama__connector_1_1_client-members.html
+++ b/docs/code/html/classollama__connector_1_1_client-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__connector_1_1_client.html b/docs/code/html/classollama__connector_1_1_client.html
index 692ad06..009ad6b 100644
--- a/docs/code/html/classollama__connector_1_1_client.html
+++ b/docs/code/html/classollama__connector_1_1_client.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error-members.html b/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error-members.html
index 73ff637..8eaa43e 100644
--- a/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error-members.html
+++ b/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error.html b/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error.html
index 5c7606c..2da0b19 100644
--- a/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error.html
+++ b/docs/code/html/classollama__connector_1_1_l_l_m_timeout_error.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__connector_1_1_ollama_connector-members.html b/docs/code/html/classollama__connector_1_1_ollama_connector-members.html
index 11cca35..f362928 100644
--- a/docs/code/html/classollama__connector_1_1_ollama_connector-members.html
+++ b/docs/code/html/classollama__connector_1_1_ollama_connector-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classollama__connector_1_1_ollama_connector.html b/docs/code/html/classollama__connector_1_1_ollama_connector.html
index e6c59cc..66852dd 100644
--- a/docs/code/html/classollama__connector_1_1_ollama_connector.html
+++ b/docs/code/html/classollama__connector_1_1_ollama_connector.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classprompt__store_1_1_prompt_store-members.html b/docs/code/html/classprompt__store_1_1_prompt_store-members.html
index e9626df..41e4931 100644
--- a/docs/code/html/classprompt__store_1_1_prompt_store-members.html
+++ b/docs/code/html/classprompt__store_1_1_prompt_store-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classprompt__store_1_1_prompt_store.html b/docs/code/html/classprompt__store_1_1_prompt_store.html
index 3173294..92faacb 100644
--- a/docs/code/html/classprompt__store_1_1_prompt_store.html
+++ b/docs/code/html/classprompt__store_1_1_prompt_store.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot-members.html b/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot-members.html
index 9e30809..00ea9e1 100644
--- a/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot-members.html
+++ b/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot.html b/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot.html
index 50e9ef9..f621f79 100644
--- a/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot.html
+++ b/docs/code/html/classreplay__engine_1_1_gameplay_settings_snapshot.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_parsed_command-members.html b/docs/code/html/classreplay__engine_1_1_parsed_command-members.html
index a6df7e6..6c96be3 100644
--- a/docs/code/html/classreplay__engine_1_1_parsed_command-members.html
+++ b/docs/code/html/classreplay__engine_1_1_parsed_command-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_parsed_command.html b/docs/code/html/classreplay__engine_1_1_parsed_command.html
index 527fe8a..4dd3b72 100644
--- a/docs/code/html/classreplay__engine_1_1_parsed_command.html
+++ b/docs/code/html/classreplay__engine_1_1_parsed_command.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_play_resolution-members.html b/docs/code/html/classreplay__engine_1_1_play_resolution-members.html
index 151308b..592dc96 100644
--- a/docs/code/html/classreplay__engine_1_1_play_resolution-members.html
+++ b/docs/code/html/classreplay__engine_1_1_play_resolution-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_play_resolution.html b/docs/code/html/classreplay__engine_1_1_play_resolution.html
index 5332ddb..a3734ef 100644
--- a/docs/code/html/classreplay__engine_1_1_play_resolution.html
+++ b/docs/code/html/classreplay__engine_1_1_play_resolution.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_replay_event-members.html b/docs/code/html/classreplay__engine_1_1_replay_event-members.html
index 5ea745f..9bc7201 100644
--- a/docs/code/html/classreplay__engine_1_1_replay_event-members.html
+++ b/docs/code/html/classreplay__engine_1_1_replay_event-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_replay_event.html b/docs/code/html/classreplay__engine_1_1_replay_event.html
index 12ba30e..b6cd988 100644
--- a/docs/code/html/classreplay__engine_1_1_replay_event.html
+++ b/docs/code/html/classreplay__engine_1_1_replay_event.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_shot_resolution-members.html b/docs/code/html/classreplay__engine_1_1_shot_resolution-members.html
index 7776af9..72a6561 100644
--- a/docs/code/html/classreplay__engine_1_1_shot_resolution-members.html
+++ b/docs/code/html/classreplay__engine_1_1_shot_resolution-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_shot_resolution.html b/docs/code/html/classreplay__engine_1_1_shot_resolution.html
index 8e9b379..8ffd88f 100644
--- a/docs/code/html/classreplay__engine_1_1_shot_resolution.html
+++ b/docs/code/html/classreplay__engine_1_1_shot_resolution.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_turn_replay-members.html b/docs/code/html/classreplay__engine_1_1_turn_replay-members.html
index cdce615..ccd04a6 100644
--- a/docs/code/html/classreplay__engine_1_1_turn_replay-members.html
+++ b/docs/code/html/classreplay__engine_1_1_turn_replay-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classreplay__engine_1_1_turn_replay.html b/docs/code/html/classreplay__engine_1_1_turn_replay.html
index b56bdd3..0b645e3 100644
--- a/docs/code/html/classreplay__engine_1_1_turn_replay.html
+++ b/docs/code/html/classreplay__engine_1_1_turn_replay.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classsave__dialog_1_1_save_dialog-members.html b/docs/code/html/classsave__dialog_1_1_save_dialog-members.html
index 5b32444..99a8c7d 100644
--- a/docs/code/html/classsave__dialog_1_1_save_dialog-members.html
+++ b/docs/code/html/classsave__dialog_1_1_save_dialog-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classsave__dialog_1_1_save_dialog.html b/docs/code/html/classsave__dialog_1_1_save_dialog.html
index 817e7aa..4094afd 100644
--- a/docs/code/html/classsave__dialog_1_1_save_dialog.html
+++ b/docs/code/html/classsave__dialog_1_1_save_dialog.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classsession__schema_1_1_session_format_error.html b/docs/code/html/classsession__schema_1_1_session_format_error.html
index 0955e85..eea6edf 100644
--- a/docs/code/html/classsession__schema_1_1_session_format_error.html
+++ b/docs/code/html/classsession__schema_1_1_session_format_error.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classsession__schema_1_1_unsupported_legacy_session.html b/docs/code/html/classsession__schema_1_1_unsupported_legacy_session.html
index 7d5dfec..bd772e1 100644
--- a/docs/code/html/classsession__schema_1_1_unsupported_legacy_session.html
+++ b/docs/code/html/classsession__schema_1_1_unsupported_legacy_session.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classsettings__screen_1_1_settings_screen-members.html b/docs/code/html/classsettings__screen_1_1_settings_screen-members.html
index 0594f37..7778080 100644
--- a/docs/code/html/classsettings__screen_1_1_settings_screen-members.html
+++ b/docs/code/html/classsettings__screen_1_1_settings_screen-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classsettings__screen_1_1_settings_screen.html b/docs/code/html/classsettings__screen_1_1_settings_screen.html
index 3fbf13c..aceceba 100644
--- a/docs/code/html/classsettings__screen_1_1_settings_screen.html
+++ b/docs/code/html/classsettings__screen_1_1_settings_screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i-members.html b/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i-members.html
index 9cc60d7..c8e4037 100644
--- a/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i-members.html
+++ b/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i.html b/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i.html
index 29228a5..819f73b 100644
--- a/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i.html
+++ b/docs/code/html/classtests_1_1conversation__cli_1_1_conversation_c_l_i.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app-members.html
index 79cba8d..82372eb 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app.html
index 57db547..13ddfed 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_app.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout-members.html
index b15a19a..be26d0d 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout.html
index d8f28f5..0f14100 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_box_layout.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button-members.html
index 7d5d013..ca8290c 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button.html
index 3ede943..7a7e135 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_button.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field-members.html
index 8e24115..5058029 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field.html
index 22fb321..cf0bbcc 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_field.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard-members.html
index 6752891..407b3b7 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard.html
index 14201d5..7bc89a6 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_keyboard.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label-members.html
index 8bb5e2a..3b006f3 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label.html
index 6a0eb4e..c371b69 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_label.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup-members.html
index 44e5611..ec8cb03 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup.html
index 621d7f3..3453132 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_popup.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input-members.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input-members.html
index dcc1cd5..bb426de 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input-members.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input.html b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input.html
index ee91eec..3feaf23 100644
--- a/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input.html
+++ b/docs/code/html/classtests_1_1test__close__prompt__behavior_1_1_fake_text_input.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen-members.html b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen-members.html
index d751928..05ed2dc 100644
--- a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen-members.html
+++ b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen.html b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen.html
index e0bfc9f..e68f0c2 100644
--- a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen.html
+++ b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager-members.html b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager-members.html
index aabbcf3..4b69a3a 100644
--- a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager-members.html
+++ b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager.html b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager.html
index 8a2ad24..4ad9303 100644
--- a/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager.html
+++ b/docs/code/html/classtests_1_1test__game__analyzer_1_1___fake_screen_manager.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard-members.html b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard-members.html
index 0b10419..956d855 100644
--- a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard-members.html
+++ b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard.html b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard.html
index e4ec2b1..5983b64 100644
--- a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard.html
+++ b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_keyboard.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup-members.html b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup-members.html
index 4cc829a..71ce695 100644
--- a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup-members.html
+++ b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup.html b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup.html
index 55119ba..f77108a 100644
--- a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup.html
+++ b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_popup.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound-members.html b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound-members.html
index 7fdfaa0..f956986 100644
--- a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound-members.html
+++ b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound.html b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound.html
index 34ed95c..c380287 100644
--- a/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound.html
+++ b/docs/code/html/classtests_1_1test__gameplay__deterministic_1_1___fake_sound.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager-members.html b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager-members.html
index 51e81af..6e474a9 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager-members.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager.html b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager.html
index fe04933..8249ad8 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_manager.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc-members.html b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc-members.html
index ff4dbc5..4244bcc 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc-members.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc.html b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc.html
index f438335..64c3ab2 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_proc.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition-members.html b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition-members.html
index e006f95..7caff5a 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition-members.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition.html b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition.html
index d804a4e..0bac8bc 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen_1_1_dummy_transition.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc-members.html b/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc-members.html
index 5f89877..e07d7a5 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc-members.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc.html b/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc.html
index 612a11f..20711fa 100644
--- a/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc.html
+++ b/docs/code/html/classtests_1_1test__ollama__config__screen__logic_1_1_dummy_proc.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout-members.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout-members.html
index 00ae899..5d6299f 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout-members.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout.html
index ddad532..e4d7a2e 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_box_layout.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button-members.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button-members.html
index 87b5816..3250522 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button-members.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button.html
index 0332f6a..7f24407 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_button.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard-members.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard-members.html
index b1b217d..58a9d16 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard-members.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard.html
index 0b7cdc7..7c2971e 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_keyboard.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label-members.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label-members.html
index dc93c33..07d031e 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label-members.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label.html
index 0309cd3..750cffa 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_label.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup-members.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup-members.html
index b8b6753..bc70b66 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup-members.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup.html
index f249897..2fd840a 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_popup.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window-members.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window-members.html
index 5e1f54d..e11af8c 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window-members.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window-members.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window.html b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window.html
index 7517d4a..3211320 100644
--- a/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window.html
+++ b/docs/code/html/classtests_1_1test__utils__confirmation__dialog_1_1_fake_window.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/dir_1699be727a800b1d059c6f7f2b91d2ee.html b/docs/code/html/dir_1699be727a800b1d059c6f7f2b91d2ee.html
index 9039a8b..424434b 100644
--- a/docs/code/html/dir_1699be727a800b1d059c6f7f2b91d2ee.html
+++ b/docs/code/html/dir_1699be727a800b1d059c6f7f2b91d2ee.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/dir_5e44f741ef78961d5b384b3270a82363.html b/docs/code/html/dir_5e44f741ef78961d5b384b3270a82363.html
index 85c0cf0..343388e 100644
--- a/docs/code/html/dir_5e44f741ef78961d5b384b3270a82363.html
+++ b/docs/code/html/dir_5e44f741ef78961d5b384b3270a82363.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/code/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
index 34e0a4b..d4d8c00 100644
--- a/docs/code/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
+++ b/docs/code/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/dir_7c9cc791f5e827a7b759f54eb0273f79.html b/docs/code/html/dir_7c9cc791f5e827a7b759f54eb0273f79.html
index cf8d8ca..0e5da71 100644
--- a/docs/code/html/dir_7c9cc791f5e827a7b759f54eb0273f79.html
+++ b/docs/code/html/dir_7c9cc791f5e827a7b759f54eb0273f79.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/dir_b39b5091e8d1d2be4b7fc59d57749634.html b/docs/code/html/dir_b39b5091e8d1d2be4b7fc59d57749634.html
index cb84d69..c2e096e 100644
--- a/docs/code/html/dir_b39b5091e8d1d2be4b7fc59d57749634.html
+++ b/docs/code/html/dir_b39b5091e8d1d2be4b7fc59d57749634.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/dir_b7878ad5ecbf2506f4125b9d34c97e45.html b/docs/code/html/dir_b7878ad5ecbf2506f4125b9d34c97e45.html
index 97fd68b..317ec90 100644
--- a/docs/code/html/dir_b7878ad5ecbf2506f4125b9d34c97e45.html
+++ b/docs/code/html/dir_b7878ad5ecbf2506f4125b9d34c97e45.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/dir_d93a1d4020dea85bb71b237545b5e722.html b/docs/code/html/dir_d93a1d4020dea85bb71b237545b5e722.html
index cbd5bb9..09cee00 100644
--- a/docs/code/html/dir_d93a1d4020dea85bb71b237545b5e722.html
+++ b/docs/code/html/dir_d93a1d4020dea85bb71b237545b5e722.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/functions.html b/docs/code/html/functions.html
index 46d6446..e03216a 100644
--- a/docs/code/html/functions.html
+++ b/docs/code/html/functions.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/functions_func.html b/docs/code/html/functions_func.html
index be3c685..64a259c 100644
--- a/docs/code/html/functions_func.html
+++ b/docs/code/html/functions_func.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/hierarchy.html b/docs/code/html/hierarchy.html
index 08f0d0a..c138f1f 100644
--- a/docs/code/html/hierarchy.html
+++ b/docs/code/html/hierarchy.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/index.html b/docs/code/html/index.html
index 4adbd54..71b864d 100644
--- a/docs/code/html/index.html
+++ b/docs/code/html/index.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceanalyzer__board.html b/docs/code/html/namespaceanalyzer__board.html
index 05dcce6..067f583 100644
--- a/docs/code/html/namespaceanalyzer__board.html
+++ b/docs/code/html/namespaceanalyzer__board.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceanalyzer__load__screen.html b/docs/code/html/namespaceanalyzer__load__screen.html
index 99e080d..80d99ed 100644
--- a/docs/code/html/namespaceanalyzer__load__screen.html
+++ b/docs/code/html/namespaceanalyzer__load__screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceanalyzer__main.html b/docs/code/html/namespaceanalyzer__main.html
index 84a933b..b62d4ca 100644
--- a/docs/code/html/namespaceanalyzer__main.html
+++ b/docs/code/html/namespaceanalyzer__main.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
@@ -103,11 +103,6 @@
Functions
int main (list[str]|None argv=None)
-
-
-
-tuple MIN_PYTHON = (3, 10)
Standalone BatLLM Game Analyzer application.
diff --git a/docs/code/html/namespaceanalyzer__model.html b/docs/code/html/namespaceanalyzer__model.html
index 388dd6f..0d15793 100644
--- a/docs/code/html/namespaceanalyzer__model.html
+++ b/docs/code/html/namespaceanalyzer__model.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceanalyzer__review__screen.html b/docs/code/html/namespaceanalyzer__review__screen.html
index c17e9fc..5b0cd22 100644
--- a/docs/code/html/namespaceanalyzer__review__screen.html
+++ b/docs/code/html/namespaceanalyzer__review__screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceanalyzer__theme.html b/docs/code/html/namespaceanalyzer__theme.html
index b183d64..de61a46 100644
--- a/docs/code/html/namespaceanalyzer__theme.html
+++ b/docs/code/html/namespaceanalyzer__theme.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceapp__config.html b/docs/code/html/namespaceapp__config.html
index f59799d..377234c 100644
--- a/docs/code/html/namespaceapp__config.html
+++ b/docs/code/html/namespaceapp__config.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacebot.html b/docs/code/html/namespacebot.html
index 6636240..90fe641 100644
--- a/docs/code/html/namespacebot.html
+++ b/docs/code/html/namespacebot.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacecompat.html b/docs/code/html/namespacecompat.html
index d581bb3..48bb479 100644
--- a/docs/code/html/namespacecompat.html
+++ b/docs/code/html/namespacecompat.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
@@ -103,6 +103,8 @@
Variables
tuple MIN_PYTHON = (3, 10)
+
+tuple MAX_PYTHON_EXCLUSIVE = (3, 13)
Compatibility helpers.
diff --git a/docs/code/html/namespaceconfigurator.html b/docs/code/html/namespaceconfigurator.html
index 8f25b1a..6b14eba 100644
--- a/docs/code/html/namespaceconfigurator.html
+++ b/docs/code/html/namespaceconfigurator.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacegame__board.html b/docs/code/html/namespacegame__board.html
index 2f0d277..b78c295 100644
--- a/docs/code/html/namespacegame__board.html
+++ b/docs/code/html/namespacegame__board.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacehistory__screen.html b/docs/code/html/namespacehistory__screen.html
index ee21421..e98a73a 100644
--- a/docs/code/html/namespacehistory__screen.html
+++ b/docs/code/html/namespacehistory__screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacemain__conversation__cli.html b/docs/code/html/namespacemain__conversation__cli.html
index 1248c9d..534ffa7 100644
--- a/docs/code/html/namespacemain__conversation__cli.html
+++ b/docs/code/html/namespacemain__conversation__cli.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacemembers.html b/docs/code/html/namespacemembers.html
index f515713..199051d 100644
--- a/docs/code/html/namespacemembers.html
+++ b/docs/code/html/namespacemembers.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacemembers_func.html b/docs/code/html/namespacemembers_func.html
index 0d0220b..224b6e7 100644
--- a/docs/code/html/namespacemembers_func.html
+++ b/docs/code/html/namespacemembers_func.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceollama__config__screen.html b/docs/code/html/namespaceollama__config__screen.html
index a124ade..a350002 100644
--- a/docs/code/html/namespaceollama__config__screen.html
+++ b/docs/code/html/namespaceollama__config__screen.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceollama__connector.html b/docs/code/html/namespaceollama__connector.html
index f3f663a..5e9f32c 100644
--- a/docs/code/html/namespaceollama__connector.html
+++ b/docs/code/html/namespaceollama__connector.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceollama__singleton.html b/docs/code/html/namespaceollama__singleton.html
index 515990f..5732d55 100644
--- a/docs/code/html/namespaceollama__singleton.html
+++ b/docs/code/html/namespaceollama__singleton.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacepackaging__smoke.html b/docs/code/html/namespacepackaging__smoke.html
index 7264e6e..bf90476 100644
--- a/docs/code/html/namespacepackaging__smoke.html
+++ b/docs/code/html/namespacepackaging__smoke.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacepaths.html b/docs/code/html/namespacepaths.html
index eaaed58..e9dbc7b 100644
--- a/docs/code/html/namespacepaths.html
+++ b/docs/code/html/namespacepaths.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacereplay__engine.html b/docs/code/html/namespacereplay__engine.html
index d74d172..7f5d65d 100644
--- a/docs/code/html/namespacereplay__engine.html
+++ b/docs/code/html/namespacereplay__engine.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaces.html b/docs/code/html/namespaces.html
index 1a3a6dd..b58f8a0 100644
--- a/docs/code/html/namespaces.html
+++ b/docs/code/html/namespaces.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceservice.html b/docs/code/html/namespaceservice.html
index a9f0491..675cdd1 100644
--- a/docs/code/html/namespaceservice.html
+++ b/docs/code/html/namespaceservice.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacesession__schema.html b/docs/code/html/namespacesession__schema.html
index fc1d9e3..f3867f1 100644
--- a/docs/code/html/namespacesession__schema.html
+++ b/docs/code/html/namespacesession__schema.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespacetests_1_1conversation__cli.html b/docs/code/html/namespacetests_1_1conversation__cli.html
index dc9bcff..5660cb8 100644
--- a/docs/code/html/namespacetests_1_1conversation__cli.html
+++ b/docs/code/html/namespacetests_1_1conversation__cli.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceutils.html b/docs/code/html/namespaceutils.html
index b906cdc..e312b5b 100644
--- a/docs/code/html/namespaceutils.html
+++ b/docs/code/html/namespaceutils.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/html/namespaceversion.html b/docs/code/html/namespaceversion.html
index 480fe80..c67940f 100644
--- a/docs/code/html/namespaceversion.html
+++ b/docs/code/html/namespaceversion.html
@@ -28,7 +28,7 @@
- BatLLM
0.3.5
+
BatLLM 0.3.6
BatLLM: a free and libre AI literacy game for human-vs-human, AI-mediated play
diff --git a/docs/code/latex/classanalyzer__board_1_1_analyzer_board.pdf b/docs/code/latex/classanalyzer__board_1_1_analyzer_board.pdf
index 7e66c7d..aed1d2c 100644
Binary files a/docs/code/latex/classanalyzer__board_1_1_analyzer_board.pdf and b/docs/code/latex/classanalyzer__board_1_1_analyzer_board.pdf differ
diff --git a/docs/code/latex/classanalyzer__load__screen_1_1_analyzer_load_screen.pdf b/docs/code/latex/classanalyzer__load__screen_1_1_analyzer_load_screen.pdf
index 0c87788..bc933ee 100644
Binary files a/docs/code/latex/classanalyzer__load__screen_1_1_analyzer_load_screen.pdf and b/docs/code/latex/classanalyzer__load__screen_1_1_analyzer_load_screen.pdf differ
diff --git a/docs/code/latex/classanalyzer__main_1_1_game_analyzer_app.pdf b/docs/code/latex/classanalyzer__main_1_1_game_analyzer_app.pdf
index cafbaf3..2b14c9c 100644
Binary files a/docs/code/latex/classanalyzer__main_1_1_game_analyzer_app.pdf and b/docs/code/latex/classanalyzer__main_1_1_game_analyzer_app.pdf differ
diff --git a/docs/code/latex/classanalyzer__review__screen_1_1_analyzer_review_screen.pdf b/docs/code/latex/classanalyzer__review__screen_1_1_analyzer_review_screen.pdf
index a7f82ae..1e5a3bf 100644
Binary files a/docs/code/latex/classanalyzer__review__screen_1_1_analyzer_review_screen.pdf and b/docs/code/latex/classanalyzer__review__screen_1_1_analyzer_review_screen.pdf differ
diff --git a/docs/code/latex/classbot_1_1_bot.pdf b/docs/code/latex/classbot_1_1_bot.pdf
index e983400..511ed58 100644
Binary files a/docs/code/latex/classbot_1_1_bot.pdf and b/docs/code/latex/classbot_1_1_bot.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_bat_l_l_m_config_app.pdf b/docs/code/latex/classconfigurator_1_1_bat_l_l_m_config_app.pdf
index 90ede54..406c9ee 100644
Binary files a/docs/code/latex/classconfigurator_1_1_bat_l_l_m_config_app.pdf and b/docs/code/latex/classconfigurator_1_1_bat_l_l_m_config_app.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_console_panel.pdf b/docs/code/latex/classconfigurator_1_1_console_panel.pdf
index a4468da..49c07fd 100644
Binary files a/docs/code/latex/classconfigurator_1_1_console_panel.pdf and b/docs/code/latex/classconfigurator_1_1_console_panel.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_l_l_m_panel.pdf b/docs/code/latex/classconfigurator_1_1_l_l_m_panel.pdf
index c1daaa3..5b61488 100644
Binary files a/docs/code/latex/classconfigurator_1_1_l_l_m_panel.pdf and b/docs/code/latex/classconfigurator_1_1_l_l_m_panel.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_local_models_panel.pdf b/docs/code/latex/classconfigurator_1_1_local_models_panel.pdf
index eb54316..f27b49b 100644
Binary files a/docs/code/latex/classconfigurator_1_1_local_models_panel.pdf and b/docs/code/latex/classconfigurator_1_1_local_models_panel.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_other_settings_panel.pdf b/docs/code/latex/classconfigurator_1_1_other_settings_panel.pdf
index e5b489f..ad1b879 100644
Binary files a/docs/code/latex/classconfigurator_1_1_other_settings_panel.pdf and b/docs/code/latex/classconfigurator_1_1_other_settings_panel.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_raw_y_a_m_l_panel.pdf b/docs/code/latex/classconfigurator_1_1_raw_y_a_m_l_panel.pdf
index 3fe983f..1cbd4d9 100644
Binary files a/docs/code/latex/classconfigurator_1_1_raw_y_a_m_l_panel.pdf and b/docs/code/latex/classconfigurator_1_1_raw_y_a_m_l_panel.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_remote_models_panel.pdf b/docs/code/latex/classconfigurator_1_1_remote_models_panel.pdf
index 017f945..30036ff 100644
Binary files a/docs/code/latex/classconfigurator_1_1_remote_models_panel.pdf and b/docs/code/latex/classconfigurator_1_1_remote_models_panel.pdf differ
diff --git a/docs/code/latex/classconfigurator_1_1_snapshot_panel.pdf b/docs/code/latex/classconfigurator_1_1_snapshot_panel.pdf
index 4321c08..b3c484f 100644
Binary files a/docs/code/latex/classconfigurator_1_1_snapshot_panel.pdf and b/docs/code/latex/classconfigurator_1_1_snapshot_panel.pdf differ
diff --git a/docs/code/latex/classgame__board_1_1_game_board.pdf b/docs/code/latex/classgame__board_1_1_game_board.pdf
index 22e8a67..5f1fe38 100644
Binary files a/docs/code/latex/classgame__board_1_1_game_board.pdf and b/docs/code/latex/classgame__board_1_1_game_board.pdf differ
diff --git a/docs/code/latex/classhistory__screen_1_1_history_screen.pdf b/docs/code/latex/classhistory__screen_1_1_history_screen.pdf
index 2917a6d..cd716b9 100644
Binary files a/docs/code/latex/classhistory__screen_1_1_history_screen.pdf and b/docs/code/latex/classhistory__screen_1_1_history_screen.pdf differ
diff --git a/docs/code/latex/classhome__screen_1_1_home_screen.pdf b/docs/code/latex/classhome__screen_1_1_home_screen.pdf
index 7cde9a4..892071c 100644
Binary files a/docs/code/latex/classhome__screen_1_1_home_screen.pdf and b/docs/code/latex/classhome__screen_1_1_home_screen.pdf differ
diff --git a/docs/code/latex/classload__text__dialog_1_1_load_text_dialog.pdf b/docs/code/latex/classload__text__dialog_1_1_load_text_dialog.pdf
index 7377136..e0a520d 100644
Binary files a/docs/code/latex/classload__text__dialog_1_1_load_text_dialog.pdf and b/docs/code/latex/classload__text__dialog_1_1_load_text_dialog.pdf differ
diff --git a/docs/code/latex/classmain_1_1_bat_l_l_m.pdf b/docs/code/latex/classmain_1_1_bat_l_l_m.pdf
index 187066a..f034f20 100644
Binary files a/docs/code/latex/classmain_1_1_bat_l_l_m.pdf and b/docs/code/latex/classmain_1_1_bat_l_l_m.pdf differ
diff --git a/docs/code/latex/classollama__config__screen_1_1_ollama_config_screen.pdf b/docs/code/latex/classollama__config__screen_1_1_ollama_config_screen.pdf
index 8f006d3..9d07495 100644
Binary files a/docs/code/latex/classollama__config__screen_1_1_ollama_config_screen.pdf and b/docs/code/latex/classollama__config__screen_1_1_ollama_config_screen.pdf differ
diff --git a/docs/code/latex/classollama__connector_1_1_l_l_m_timeout_error.pdf b/docs/code/latex/classollama__connector_1_1_l_l_m_timeout_error.pdf
index 942af2d..272946b 100644
Binary files a/docs/code/latex/classollama__connector_1_1_l_l_m_timeout_error.pdf and b/docs/code/latex/classollama__connector_1_1_l_l_m_timeout_error.pdf differ
diff --git a/docs/code/latex/classsave__dialog_1_1_save_dialog.pdf b/docs/code/latex/classsave__dialog_1_1_save_dialog.pdf
index 665caa0..924db67 100644
Binary files a/docs/code/latex/classsave__dialog_1_1_save_dialog.pdf and b/docs/code/latex/classsave__dialog_1_1_save_dialog.pdf differ
diff --git a/docs/code/latex/classsession__schema_1_1_session_format_error.pdf b/docs/code/latex/classsession__schema_1_1_session_format_error.pdf
index a305f95..1cce337 100644
Binary files a/docs/code/latex/classsession__schema_1_1_session_format_error.pdf and b/docs/code/latex/classsession__schema_1_1_session_format_error.pdf differ
diff --git a/docs/code/latex/classsession__schema_1_1_unsupported_legacy_session.pdf b/docs/code/latex/classsession__schema_1_1_unsupported_legacy_session.pdf
index 8f3270b..4384617 100644
Binary files a/docs/code/latex/classsession__schema_1_1_unsupported_legacy_session.pdf and b/docs/code/latex/classsession__schema_1_1_unsupported_legacy_session.pdf differ
diff --git a/docs/code/latex/classsettings__screen_1_1_settings_screen.pdf b/docs/code/latex/classsettings__screen_1_1_settings_screen.pdf
index b41ac6f..7686bef 100644
Binary files a/docs/code/latex/classsettings__screen_1_1_settings_screen.pdf and b/docs/code/latex/classsettings__screen_1_1_settings_screen.pdf differ
diff --git a/docs/code/latex/namespaceanalyzer__main.tex b/docs/code/latex/namespaceanalyzer__main.tex
index 89f3908..9c1f009 100644
--- a/docs/code/latex/namespaceanalyzer__main.tex
+++ b/docs/code/latex/namespaceanalyzer__main.tex
@@ -11,12 +11,6 @@
\Hypertarget{namespaceanalyzer__main_aef5ecc26e8cadee5c028b17d0038c729}\label{namespaceanalyzer__main_aef5ecc26e8cadee5c028b17d0038c729}
int {\bfseries main} (list\+[str]\+\texorpdfstring{$\vert$}{|}None argv=None)
\end{DoxyCompactItemize}
-\doxysubsubsection*{Variables}
-\begin{DoxyCompactItemize}
-\item
-\Hypertarget{namespaceanalyzer__main_a4d99953ca9c1cb5eb00a2dacbb7f85ae}\label{namespaceanalyzer__main_a4d99953ca9c1cb5eb00a2dacbb7f85ae}
-tuple {\bfseries MIN\+\_\+\+PYTHON} = (3, 10)
-\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
diff --git a/docs/code/latex/namespacecompat.tex b/docs/code/latex/namespacecompat.tex
index 3cb5326..19d213f 100644
--- a/docs/code/latex/namespacecompat.tex
+++ b/docs/code/latex/namespacecompat.tex
@@ -10,6 +10,9 @@
\item
\Hypertarget{namespacecompat_a3e335b492159e90bfbac7ae0160c437c}\label{namespacecompat_a3e335b492159e90bfbac7ae0160c437c}
tuple {\bfseries MIN\+\_\+\+PYTHON} = (3, 10)
+\item
+\Hypertarget{namespacecompat_a998695fea74b7312a548b6349f98826e}\label{namespacecompat_a998695fea74b7312a548b6349f98826e}
+tuple {\bfseries MAX\+\_\+\+PYTHON\+\_\+\+EXCLUSIVE} = (3, 13)
\end{DoxyCompactItemize}
@@ -19,7 +22,6 @@
Keep a single place for small runtime checks such as Python version
requirements so entry scripts can import and run them early.
\end{DoxyVerb}
-
\label{doc-func-members}
\Hypertarget{namespacecompat_doc-func-members}
@@ -35,4 +37,3 @@
Args:
app_name: Display name used in the error message.
\end{DoxyVerb}
-
\ No newline at end of file
diff --git a/docs/code/latex/refman.tex b/docs/code/latex/refman.tex
index 5a5d726..cbc9c1c 100644
--- a/docs/code/latex/refman.tex
+++ b/docs/code/latex/refman.tex
@@ -212,7 +212,7 @@
\vspace*{7cm}
\begin{center}%
{\Large Bat\+LLM}\\
- [1ex]\large 0.\+3.\+5 \\
+ [1ex]\large 0.\+3.\+6 \\
\vspace*{1cm}
{\large Generated by Doxygen 1.16.1}\\
\end{center}
diff --git a/docs/images/architecture-modelito.svg b/docs/images/architecture-modelito.svg
index 4721881..0620584 100644
--- a/docs/images/architecture-modelito.svg
+++ b/docs/images/architecture-modelito.svg
@@ -1,120 +1,132 @@
-
- BatLLM architecture
- Architecture diagram showing BatLLM launchers, gameplay and analyzer surfaces, config and state, the BatLLM llm service facade, modelito, and the local Ollama runtime.
+
+ BatLLM modelito architecture
+ Application surfaces, configuration, the BatLLM LLM facade, modelito, and the local Ollama runtime.
+
+
+
-
-
-
-
- BatLLM Architecture After The Modelito 1.4.0 Migration
- Gameplay, UI, timeout policy, and config-overlay rules stay inside BatLLM. Generic provider and model-management behaviour now routes through modelito.
+
+ BatLLM modelito integration architecture
+ The Kivy tools share one configuration layer and route local-model work through the BatLLM LLM facade before delegating to modelito.
-
- Launchers
-
+
+ Launchers
+
run_batllm.py
- run_game_analyzer.py
- editor and task wrappers
+ run_game_analyzer.py
+ run_tests.py
-
- Config And State
-
+
+ Config And State
+
src/configs/config.yaml
- src/configs/app_config.py
- saved sessions and analyzer data
- timeout overrides and last_served_model
+ app_config.py overlays
+ saved sessions
+ analyzer replay data
+ timeout overrides
+ last_served_model
-
- Configurator Tooling
-
+
+ Configurator Tooling
+
src/configs/configurator.py
- local model utilities and console stream
+ local model utilities
+ console stream
-
- Gameplay Surface
-
- src/main.py and Kivy screens
- src/game/game_board.py
- src/game/ollama_connector.py
- HistoryManager and session schema
+
+ Gameplay Surface
+
+ GameBoard builds prompt history
+ OllamaConnector sends messages
+ HistoryManager stores outcomes
+ saved sessions stay replayable
-
- Analyzer Surface
-
- src/analyzer_main.py
- analyzer screens and review workflow
- shared replay engine over saved sessions
+
+ Analyzer Surface
+
+ analyzer_main.py replay UI
+ shared save file contracts
+ prompt and response inspection
-
- BatLLM LLM Facade
-
- src/llm/service.py
- shipped-config overlay resolution
- common-model timeout defaults
- remote timeout catalog logic
- CLI lifecycle helper entrypoint
+
+ BatLLM LLM Facade
+
+ src/llm/service.py
+ src/llm/ollama.py
+ shipped config overlays
+ common model timeouts
+ remote timeout catalogue
+ CLI lifecycle helper
-
- modelito
-
- OllamaProvider
- Client
- inspect_service_state
- list_local_models
- ensure_model_ready
- download_model_progress
+
+ modelito
+
+ Client.summarize()
+ OllamaProvider
+ inspect_service_state
+ list_local_models
+ list_remote_models
+ download_model_progress
-
- Local Ollama Runtime
-
- real local ollama CLI and server
- installed models and serving state
- warmup, download, delete, stop, start
- hosted at llm.url and llm.port
+
+ Local Ollama Runtime
+
+ real local Ollama server
+ installed model set
+ warm, download, delete
+ serve, stop and start
-
-
-
-
-
-
-
-
-
-
-
-
- launch
- launch
- shared config
- config-driven tooling
- timeouts and lifecycle policy
- replay compatibility
- delegate generic behaviour
- service and provider calls
- status and CLI routing
- prompt and model operations
-
\ No newline at end of file
+
+ launch
+
+
+ launch
+
+
+ shared config
+
+
+ config-driven tooling
+
+
+ prompt lifecycle policy
+
+
+ replay compatibility
+
+
+ delegate
+
+
+ service calls
+
+
+ status and CLI
+
+
+ prompt/model ops
+
diff --git a/docs/images/request-flow-modelito.svg b/docs/images/request-flow-modelito.svg
index c7695a2..837293c 100644
--- a/docs/images/request-flow-modelito.svg
+++ b/docs/images/request-flow-modelito.svg
@@ -1,108 +1,128 @@
-
- BatLLM request and model flow
- Flow chart showing model selection, local readiness, remote downloads, gameplay prompt execution, and history persistence using modelito and the local Ollama runtime.
+
+ BatLLM local model request flow
+ The path from selecting or downloading an Ollama model to gameplay prompts, provider responses, parsing, and replay storage.
+
+
+
-
-
-
-
- BatLLM Runtime Flow With Direct Modelito Integration
- The same modelito toolchain now drives local selection, remote downloads, smoke validation, the configurator console, and live gameplay requests.
+
+ Local model request and replay flow
+ Model selection, readiness checks, downloads, gameplay prompts, and saved sessions share one modelito-backed path.
-
- 1. Select Or Refresh A Model
-
+
+
+ 1. Select Or Refresh
+ A Model
+
+
Ollama screen or configurator
- asks modelito for local or remote inventory
+ refreshes local inventory
+ or remote catalogue
-
- Local model?
- choose local or remote path
-
-
- 2A. Local Model Path
-
- save llm.model
- resolve timeout through src/llm/service.py
- run modelito ensure_model_ready
- record last_served_model on success
+
+ Local Model
+ Available?
+
+
+ 2A. Serve Existing Model
+
+ save llm.model
+ resolve timeout through
+ src/llm/service.py
+ modelito readiness check
+ record last_served_model
-
- 2B. Remote Model Path
-
- run modelito download_model_progress
- update status and output log
- refresh local models after completion
- selection becomes usable locally
+
+ 2B. Download Remote Model
+
+ modelito download progress
+ update status and output log
+ refresh local list
+ model becomes playable
-
- Local Ollama
-
- real server
- installed models
- warm model
- download or delete
+
+ Local Ollama
+
+ real local server
+ installed models
+ warm and pull
+ delete safeguards
+ serve/stop/start
+ provider responses
-
- 3. Player Prompt
-
- GameBoard builds prompt and history
- OllamaConnector maps messages to modelito
- shared timeout policy is applied
+
+ 3. Player Prompt
+
+ GameBoard builds prompt
+ and history
+ OllamaConnector maps
+ messages to modelito
+ timeout policy applies
-
- 4. modelito Provider Call
-
- OllamaProvider or Client.summarize
- same path used by smoke helpers and CLI
- returns assistant text
+
+ 4. Provider Call
+
+ OllamaProvider or
+ Client.summarize()
+ same path used by
+ smoke helpers and CLI
+ returns assistant text
-
- 5. Parse And Persist
-
- gameplay response is parsed into actions
- HistoryManager stores prompts and outcomes
- saved sessions remain replayable in the analyzer
+
+ 5. Parse And Persist
+
+ gameplay response is parsed
+ into actions and narrative
+ HistoryManager stores
+ prompts and outcomes
+ analyzer replay stays valid
-
-
-
-
-
-
-
-
-
-
- refresh
- yes
- no
- warm or inspect
- download
- response text
- prompt
- record outcome
- after model is ready
-
\ No newline at end of file
+
+ refresh
+
+
+ local
+
+
+ download
+
+
+ warm/inspect
+
+
+ pull model
+
+
+ response text
+
+
+ prompt
+
+
+ record outcome
+
+
+ after model is ready
+
diff --git a/run_batllm.py b/run_batllm.py
index 46b6586..3d5d255 100644
--- a/run_batllm.py
+++ b/run_batllm.py
@@ -1,7 +1,6 @@
"""Cross-platform launcher for BatLLM."""
from __future__ import annotations
-from util.compat import require_supported_python
import sys
from pathlib import Path
@@ -13,6 +12,8 @@
sys.path.insert(0, str(SRC))
+from util.compat import require_supported_python # noqa: E402
+
require_supported_python("BatLLM")
from main import main # noqa: E402
diff --git a/run_game_analyzer.py b/run_game_analyzer.py
index 035d946..7df4d70 100644
--- a/run_game_analyzer.py
+++ b/run_game_analyzer.py
@@ -1,7 +1,6 @@
"""Cross-platform launcher for the standalone BatLLM Game Analyzer."""
from __future__ import annotations
-from util.compat import require_supported_python
import sys
from pathlib import Path
@@ -13,6 +12,8 @@
sys.path.insert(0, str(SRC))
+from util.compat import require_supported_python # noqa: E402
+
require_supported_python("BatLLM Game Analyzer")
from analyzer_main import main # noqa: E402
diff --git a/run_tests.py b/run_tests.py
index f7c5c56..547964a 100644
--- a/run_tests.py
+++ b/run_tests.py
@@ -1,7 +1,6 @@
"""Cross-platform test runner for BatLLM."""
from __future__ import annotations
-from util.compat import require_supported_python
import argparse
import os
@@ -19,6 +18,9 @@
sys.path.insert(0, str(SRC))
+from util.compat import require_supported_python # noqa: E402
+
+
def build_parser() -> argparse.ArgumentParser:
"""Create the CLI argument parser."""
parser = argparse.ArgumentParser(description="Cross-platform BatLLM test runner")
diff --git a/src/analyzer_main.py b/src/analyzer_main.py
index 4b297e7..5b03677 100644
--- a/src/analyzer_main.py
+++ b/src/analyzer_main.py
@@ -19,9 +19,6 @@
from view.analyzer_load_screen import AnalyzerLoadScreen
from view.analyzer_review_screen import AnalyzerReviewScreen
-
-MIN_PYTHON = (3, 10)
-
register_kivy_resource_paths()
Builder.load_file(str(view_path("analyzer_load_screen.kv")))
diff --git a/src/configs/config-llama.yaml b/src/configs/config-llama.yaml
index c6cd321..1eec2bd 100644
--- a/src/configs/config-llama.yaml
+++ b/src/configs/config-llama.yaml
@@ -2,6 +2,7 @@ data:
saved_sessions_folder: saved_sessions
game:
bot_diameter: 0.1
+ bot_step_length: 0.02
bullet_damage: 5
bullet_diameter: 0.02
bullet_step_length: 0.01
@@ -10,22 +11,37 @@ game:
prompt_augmentation: true
shield_initial_state: true
shield_size: 40
- step_length: 0.02
total_rounds: 2
turns_per_round: 2
llm:
debug_requests: false
- model: phi3:14b
+ last_served_model: ''
+ max_tokens: null
+ model: llama3.2:latest
+ model_timeouts: {}
num_ctx: 4096
+ num_predict: null
+ num_thread: null
path: /api/chat
port: 11434
+ seed: null
+ stop: null
system_instructions_augmented_independent: src/assets/system_instructions/augmented_independent_1.txt
system_instructions_augmented_shared: src/assets/system_instructions/augmented_shared_1.txt
system_instructions_not_augmented_independent: src/assets/system_instructions/not_augmented_independent_1.txt
system_instructions_not_augmented_shared: src/assets/system_instructions/not_augmented_shared_1.txt
+ temperature: null
+ timeout: null
+ top_k: null
+ top_p: null
url: http://localhost
+ warmup_timeout: 30.0
ui:
+ auto_start_ollama: false
+ confirm_on_exit: true
font_size: 16
frame_rate: 60
primary_color: '#0b0b0b'
+ prompt_save_on_exit: false
+ stop_ollama_on_exit: false
title: BatLLM
diff --git a/src/configs/config-phi.yaml b/src/configs/config-phi.yaml
index e3c173c..2aac140 100644
--- a/src/configs/config-phi.yaml
+++ b/src/configs/config-phi.yaml
@@ -2,6 +2,7 @@ data:
saved_sessions_folder: saved_sessions
game:
bot_diameter: 0.1
+ bot_step_length: 0.02
bullet_damage: 5
bullet_diameter: 0.02
bullet_step_length: 0.01
@@ -10,22 +11,37 @@ game:
prompt_augmentation: true
shield_initial_state: true
shield_size: 40
- step_length: 0.02
total_rounds: 2
turns_per_round: 2
llm:
debug_requests: false
- model: llama3.2:latest
+ last_served_model: ''
+ max_tokens: null
+ model: phi3:14b
+ model_timeouts: {}
num_ctx: 4096
+ num_predict: null
+ num_thread: null
path: /api/chat
port: 11434
- system_instructions_augmented_independent: src/headers/system_instructions/augmented_independent_1.txt
- system_instructions_augmented_shared: src/headers/system_instructions/augmented_shared_1.txt
+ seed: null
+ stop: null
+ system_instructions_augmented_independent: src/assets/system_instructions/augmented_independent_1.txt
+ system_instructions_augmented_shared: src/assets/system_instructions/augmented_shared_1.txt
system_instructions_not_augmented_independent: src/assets/system_instructions/not_augmented_independent_1.txt
system_instructions_not_augmented_shared: src/assets/system_instructions/not_augmented_shared_1.txt
+ temperature: null
+ timeout: null
+ top_k: null
+ top_p: null
url: http://localhost
+ warmup_timeout: 30.0
ui:
+ auto_start_ollama: false
+ confirm_on_exit: true
font_size: 16
frame_rate: 60
primary_color: '#0b0b0b'
+ prompt_save_on_exit: false
+ stop_ollama_on_exit: false
title: BatLLM
diff --git a/src/tests/smoke_llm_payload.py b/src/tests/smoke_llm_payload.py
index 39a2f6f..0897d18 100644
--- a/src/tests/smoke_llm_payload.py
+++ b/src/tests/smoke_llm_payload.py
@@ -5,6 +5,8 @@
from collections.abc import Callable
from pathlib import Path
from typing import TypeVar
+from urllib.error import URLError
+from urllib.request import urlopen
import pytest
import yaml
@@ -69,12 +71,24 @@ def _summarize_once(llm: dict, prompt: str) -> str:
)
+def _version_endpoint_responds(llm: dict) -> bool:
+ url = f"{str(llm['url']).rstrip('/')}:{int(llm['port'])}/api/version"
+ try:
+ with urlopen(url, timeout=5.0) as response:
+ return 200 <= int(response.status) < 300
+ except (OSError, URLError, TimeoutError):
+ return False
+
+
def test_ollama_health_endpoint_responds() -> None:
state = modelito_ollama_service.inspect_service_state(str(CONFIG_PATH))
- assert state.get("running") is True
- # Mock-only CI runs can report running=True with installed=False and no version.
- assert state.get("version") or state.get("installed") is False
+ if state.get("running") is True:
+ # Mock-only CI runs can report running=True with installed=False and no version.
+ assert state.get("version") or state.get("installed") is False
+ return
+
+ assert _version_endpoint_responds(_load_llm_config())
def test_ollama_chat_returns_non_empty_content() -> None:
diff --git a/src/tests/test_multiplatform_support.py b/src/tests/test_multiplatform_support.py
index 6c58ce4..88520bf 100644
--- a/src/tests/test_multiplatform_support.py
+++ b/src/tests/test_multiplatform_support.py
@@ -13,6 +13,7 @@
sys.path.insert(0, str(ROOT))
DEFAULTS = import_module("configs.app_config").DEFAULTS
+compat = import_module("util.compat")
ollama_service = import_module("llm.service")
paths = import_module("util.paths")
@@ -27,6 +28,27 @@ def test_resolve_repo_relative_finds_system_instruction_file() -> None:
assert resolved.name == "augmented_independent_1.txt"
+def test_supported_python_version_range_is_enforced(monkeypatch) -> None:
+ monkeypatch.setattr(compat.sys, "version_info", (3, 12, 9))
+ compat.require_supported_python("BatLLM")
+
+ monkeypatch.setattr(compat.sys, "version_info", (3, 9, 18))
+ try:
+ compat.require_supported_python("BatLLM")
+ except SystemExit as exc:
+ assert "Python 3.10 through 3.12" in str(exc)
+ else:
+ raise AssertionError("Python below the supported floor should be rejected")
+
+ monkeypatch.setattr(compat.sys, "version_info", (3, 13, 0))
+ try:
+ compat.require_supported_python("BatLLM")
+ except SystemExit as exc:
+ assert "Detected Python 3.13.0" in str(exc)
+ else:
+ raise AssertionError("Python at the unsupported upper bound should be rejected")
+
+
def test_prompt_asset_dir_is_absolute_and_exists() -> None:
prompt_dir = paths.prompt_asset_dir()
@@ -35,6 +57,30 @@ def test_prompt_asset_dir_is_absolute_and_exists() -> None:
assert prompt_dir.name == "prompts"
+def test_alternate_config_files_use_current_keys_and_valid_assets() -> None:
+ expected_models = {
+ "config-llama.yaml": "llama3.2:latest",
+ "config-phi.yaml": "phi3:14b",
+ }
+
+ for filename, expected_model in expected_models.items():
+ config_path = ROOT / "src" / "configs" / filename
+ data = yaml.safe_load(config_path.read_text(encoding="utf-8")) or {}
+ game = data.get("game") or {}
+ llm = data.get("llm") or {}
+
+ assert game.get("bot_step_length") is not None
+ assert "step_length" not in game
+ assert llm.get("model") == expected_model
+ assert "warmup_timeout" in llm
+ assert "model_timeouts" in llm
+
+ for key, value in llm.items():
+ if not key.startswith("system_instructions_"):
+ continue
+ assert paths.resolve_repo_relative(value).exists(), f"{filename}: {key}"
+
+
def test_load_llm_config_reads_yaml_defaults(tmp_path: Path) -> None:
config_path = tmp_path / "config.yaml"
config_path.write_text(
@@ -621,6 +667,19 @@ def test_cross_platform_launchers_compile() -> None:
py_compile.compile(str(script), doraise=True)
+def test_root_launchers_bootstrap_src_before_local_imports() -> None:
+ for script in (
+ ROOT / "run_batllm.py",
+ ROOT / "run_game_analyzer.py",
+ ROOT / "run_tests.py",
+ ):
+ text = script.read_text(encoding="utf-8")
+ path_insert_index = text.index("sys.path.insert(0, str(SRC))")
+ local_import_index = text.index("from util.compat import require_supported_python")
+
+ assert path_insert_index < local_import_index
+
+
def test_release_bundle_wrappers_include_game_analyzer_launchers() -> None:
from create_release_bundles import (
linux_wrapper_contents,
diff --git a/src/tests/test_smoke_llm_payload_helpers.py b/src/tests/test_smoke_llm_payload_helpers.py
index 768f2f3..6099637 100644
--- a/src/tests/test_smoke_llm_payload_helpers.py
+++ b/src/tests/test_smoke_llm_payload_helpers.py
@@ -99,3 +99,28 @@ def summarize(self, messages, settings=None):
}
assert calls["message"] == "Reply with exactly OK"
assert calls["settings"] == {"timeout": 88.0}
+
+
+def test_version_endpoint_responds_uses_configured_url(monkeypatch) -> None:
+ calls = {}
+
+ class FakeResponse:
+ status = 200
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, *_args):
+ return None
+
+ def fake_urlopen(url, timeout):
+ calls["url"] = url
+ calls["timeout"] = timeout
+ return FakeResponse()
+
+ monkeypatch.setattr(smoke_llm_payload, "urlopen", fake_urlopen)
+
+ assert smoke_llm_payload._version_endpoint_responds(
+ {"url": "http://127.0.0.1/", "port": 11434}
+ )
+ assert calls == {"url": "http://127.0.0.1:11434/api/version", "timeout": 5.0}
diff --git a/src/util/compat.py b/src/util/compat.py
index bc372e1..b2a6a77 100644
--- a/src/util/compat.py
+++ b/src/util/compat.py
@@ -8,6 +8,7 @@
import sys
MIN_PYTHON: tuple[int, int] = (3, 10)
+MAX_PYTHON_EXCLUSIVE: tuple[int, int] = (3, 13)
def require_supported_python(app_name: str = "BatLLM") -> None:
@@ -16,10 +17,14 @@ def require_supported_python(app_name: str = "BatLLM") -> None:
Args:
app_name: Display name used in the error message.
"""
- if sys.version_info >= MIN_PYTHON:
+ if MIN_PYTHON <= sys.version_info < MAX_PYTHON_EXCLUSIVE:
return
version = ".".join(str(part) for part in sys.version_info[:3])
+ supported = (
+ f"{MIN_PYTHON[0]}.{MIN_PYTHON[1]} through "
+ f"{MAX_PYTHON_EXCLUSIVE[0]}.{MAX_PYTHON_EXCLUSIVE[1] - 1}"
+ )
raise SystemExit(
- f"{app_name} requires Python {MIN_PYTHON[0]}.{MIN_PYTHON[1]} or newer. "
+ f"{app_name} requires Python {supported}. "
f"Detected Python {version}."
)