From e874dde4360bfb60d067cab0402b5235d251323c Mon Sep 17 00:00:00 2001 From: krahd Date: Sat, 9 May 2026 23:46:27 -0300 Subject: [PATCH] Prepare 0.3.6 patch release --- STATUS.md | 83 +++---- VERSION | 2 +- create_release_bundles.py | 2 +- docs/CHANGELOG.md | 8 +- docs/CONTRIBUTING.md | 3 +- docs/FIRST_RUN_RELEASE_CHECKLIST.md | 2 +- docs/README.md | 6 +- docs/code/dox_config.properties | 2 +- docs/code/html/annotated.html | 2 +- ...zer__board_1_1_analyzer_board-members.html | 2 +- ...assanalyzer__board_1_1_analyzer_board.html | 2 +- ...reen_1_1_analyzer_load_screen-members.html | 2 +- ...load__screen_1_1_analyzer_load_screen.html | 2 +- ...r__main_1_1_game_analyzer_app-members.html | 2 +- ...sanalyzer__main_1_1_game_analyzer_app.html | 2 +- ...el_1_1_analyzer_session_model-members.html | 2 +- ...zer__model_1_1_analyzer_session_model.html | 2 +- ...__model_1_1_analyzer_tree_row-members.html | 2 +- ...analyzer__model_1_1_analyzer_tree_row.html | 2 +- ...en_1_1_analyzer_review_screen-members.html | 2 +- ...ew__screen_1_1_analyzer_review_screen.html | 2 +- ...assapp__config_1_1_app_config-members.html | 2 +- .../html/classapp__config_1_1_app_config.html | 2 +- docs/code/html/classbot_1_1_bot-members.html | 2 +- docs/code/html/classbot_1_1_bot.html | 2 +- .../html/classbullet_1_1_bullet-members.html | 2 +- docs/code/html/classbullet_1_1_bullet.html | 2 +- ...ator_1_1_bat_l_l_m_config_app-members.html | 2 +- ...configurator_1_1_bat_l_l_m_config_app.html | 2 +- ...nfigurator_1_1_config_manager-members.html | 2 +- .../classconfigurator_1_1_config_manager.html | 2 +- ...onfigurator_1_1_console_panel-members.html | 2 +- .../classconfigurator_1_1_console_panel.html | 2 +- ...sconfigurator_1_1_l_l_m_panel-members.html | 2 +- .../classconfigurator_1_1_l_l_m_panel.html | 2 +- ...urator_1_1_local_models_panel-members.html | 2 +- ...ssconfigurator_1_1_local_models_panel.html | 2 +- ...onfigurator_1_1_ollama_client-members.html | 2 +- .../classconfigurator_1_1_ollama_client.html | 2 +- ...ator_1_1_other_settings_panel-members.html | 2 +- ...configurator_1_1_other_settings_panel.html | 2 +- ...gurator_1_1_raw_y_a_m_l_panel-members.html | 2 +- ...assconfigurator_1_1_raw_y_a_m_l_panel.html | 2 +- ...rator_1_1_remote_models_panel-members.html | 2 +- ...sconfigurator_1_1_remote_models_panel.html | 2 +- ...nfigurator_1_1_snapshot_panel-members.html | 2 +- .../classconfigurator_1_1_snapshot_panel.html | 2 +- docs/code/html/classes.html | 2 +- ...assgame__board_1_1_game_board-members.html | 2 +- .../html/classgame__board_1_1_game_board.html | 2 +- ...__manager_1_1_history_manager-members.html | 2 +- ...shistory__manager_1_1_history_manager.html | 2 +- ...ry__screen_1_1_history_screen-members.html | 2 +- ...asshistory__screen_1_1_history_screen.html | 2 +- ...shome__screen_1_1_home_screen-members.html | 2 +- .../classhome__screen_1_1_home_screen.html | 2 +- ...__dialog_1_1_load_text_dialog-members.html | 2 +- ...ad__text__dialog_1_1_load_text_dialog.html | 2 +- .../html/classmain_1_1_bat_l_l_m-members.html | 2 +- docs/code/html/classmain_1_1_bat_l_l_m.html | 2 +- ..._canvas_1_1_normalized_canvas-members.html | 2 +- ...malized__canvas_1_1_normalized_canvas.html | 2 +- ...reen_1_1_ollama_config_screen-members.html | 2 +- ...nfig__screen_1_1_ollama_config_screen.html | 2 +- ...sollama__connector_1_1_client-members.html | 2 +- .../classollama__connector_1_1_client.html | 2 +- ...ector_1_1_l_l_m_timeout_error-members.html | 2 +- ...ma__connector_1_1_l_l_m_timeout_error.html | 2 +- ...onnector_1_1_ollama_connector-members.html | 2 +- ...llama__connector_1_1_ollama_connector.html | 2 +- ...rompt__store_1_1_prompt_store-members.html | 2 +- .../classprompt__store_1_1_prompt_store.html | 2 +- ..._1_gameplay_settings_snapshot-members.html | 2 +- ...engine_1_1_gameplay_settings_snapshot.html | 2 +- ...ay__engine_1_1_parsed_command-members.html | 2 +- ...lassreplay__engine_1_1_parsed_command.html | 2 +- ...y__engine_1_1_play_resolution-members.html | 2 +- ...assreplay__engine_1_1_play_resolution.html | 2 +- ...play__engine_1_1_replay_event-members.html | 2 +- .../classreplay__engine_1_1_replay_event.html | 2 +- ...y__engine_1_1_shot_resolution-members.html | 2 +- ...assreplay__engine_1_1_shot_resolution.html | 2 +- ...eplay__engine_1_1_turn_replay-members.html | 2 +- .../classreplay__engine_1_1_turn_replay.html | 2 +- ...ssave__dialog_1_1_save_dialog-members.html | 2 +- .../classsave__dialog_1_1_save_dialog.html | 2 +- ...sion__schema_1_1_session_format_error.html | 2 +- ...schema_1_1_unsupported_legacy_session.html | 2 +- ...s__screen_1_1_settings_screen-members.html | 2 +- ...ssettings__screen_1_1_settings_screen.html | 2 +- ...n__cli_1_1_conversation_c_l_i-members.html | 2 +- ...versation__cli_1_1_conversation_c_l_i.html | 2 +- ...prompt__behavior_1_1_fake_app-members.html | 2 +- ..._close__prompt__behavior_1_1_fake_app.html | 2 +- ..._behavior_1_1_fake_box_layout-members.html | 2 +- ..._prompt__behavior_1_1_fake_box_layout.html | 2 +- ...mpt__behavior_1_1_fake_button-members.html | 2 +- ...ose__prompt__behavior_1_1_fake_button.html | 2 +- ...ompt__behavior_1_1_fake_field-members.html | 2 +- ...lose__prompt__behavior_1_1_fake_field.html | 2 +- ...t__behavior_1_1_fake_keyboard-members.html | 2 +- ...e__prompt__behavior_1_1_fake_keyboard.html | 2 +- ...ompt__behavior_1_1_fake_label-members.html | 2 +- ...lose__prompt__behavior_1_1_fake_label.html | 2 +- ...ompt__behavior_1_1_fake_popup-members.html | 2 +- ...lose__prompt__behavior_1_1_fake_popup.html | 2 +- ..._behavior_1_1_fake_text_input-members.html | 2 +- ..._prompt__behavior_1_1_fake_text_input.html | 2 +- ...e__analyzer_1_1___fake_screen-members.html | 2 +- ...est__game__analyzer_1_1___fake_screen.html | 2 +- ...zer_1_1___fake_screen_manager-members.html | 2 +- ...e__analyzer_1_1___fake_screen_manager.html | 2 +- ...rministic_1_1___fake_keyboard-members.html | 2 +- ...ay__deterministic_1_1___fake_keyboard.html | 2 +- ...eterministic_1_1___fake_popup-members.html | 2 +- ...eplay__deterministic_1_1___fake_popup.html | 2 +- ...eterministic_1_1___fake_sound-members.html | 2 +- ...eplay__deterministic_1_1___fake_sound.html | 2 +- ...fig__screen_1_1_dummy_manager-members.html | 2 +- ...ama__config__screen_1_1_dummy_manager.html | 2 +- ...config__screen_1_1_dummy_proc-members.html | 2 +- ...ollama__config__screen_1_1_dummy_proc.html | 2 +- ...__screen_1_1_dummy_transition-members.html | 2 +- ...__config__screen_1_1_dummy_transition.html | 2 +- ..._screen__logic_1_1_dummy_proc-members.html | 2 +- ..._config__screen__logic_1_1_dummy_proc.html | 2 +- ...n__dialog_1_1_fake_box_layout-members.html | 2 +- ...firmation__dialog_1_1_fake_box_layout.html | 2 +- ...ation__dialog_1_1_fake_button-members.html | 2 +- ..._confirmation__dialog_1_1_fake_button.html | 2 +- ...ion__dialog_1_1_fake_keyboard-members.html | 2 +- ...onfirmation__dialog_1_1_fake_keyboard.html | 2 +- ...mation__dialog_1_1_fake_label-members.html | 2 +- ...__confirmation__dialog_1_1_fake_label.html | 2 +- ...mation__dialog_1_1_fake_popup-members.html | 2 +- ...__confirmation__dialog_1_1_fake_popup.html | 2 +- ...ation__dialog_1_1_fake_window-members.html | 2 +- ..._confirmation__dialog_1_1_fake_window.html | 2 +- .../dir_1699be727a800b1d059c6f7f2b91d2ee.html | 2 +- .../dir_5e44f741ef78961d5b384b3270a82363.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_7c9cc791f5e827a7b759f54eb0273f79.html | 2 +- .../dir_b39b5091e8d1d2be4b7fc59d57749634.html | 2 +- .../dir_b7878ad5ecbf2506f4125b9d34c97e45.html | 2 +- .../dir_d93a1d4020dea85bb71b237545b5e722.html | 2 +- docs/code/html/functions.html | 2 +- docs/code/html/functions_func.html | 2 +- docs/code/html/hierarchy.html | 2 +- docs/code/html/index.html | 2 +- docs/code/html/namespaceanalyzer__board.html | 2 +- .../html/namespaceanalyzer__load__screen.html | 2 +- docs/code/html/namespaceanalyzer__main.html | 7 +- docs/code/html/namespaceanalyzer__model.html | 2 +- .../namespaceanalyzer__review__screen.html | 2 +- docs/code/html/namespaceanalyzer__theme.html | 2 +- docs/code/html/namespaceapp__config.html | 2 +- docs/code/html/namespacebot.html | 2 +- docs/code/html/namespacecompat.html | 4 +- docs/code/html/namespaceconfigurator.html | 2 +- docs/code/html/namespacegame__board.html | 2 +- docs/code/html/namespacehistory__screen.html | 2 +- .../namespacemain__conversation__cli.html | 2 +- docs/code/html/namespacemembers.html | 2 +- docs/code/html/namespacemembers_func.html | 2 +- .../html/namespaceollama__config__screen.html | 2 +- .../code/html/namespaceollama__connector.html | 2 +- .../code/html/namespaceollama__singleton.html | 2 +- docs/code/html/namespacepackaging__smoke.html | 2 +- docs/code/html/namespacepaths.html | 2 +- docs/code/html/namespacereplay__engine.html | 2 +- docs/code/html/namespaces.html | 2 +- docs/code/html/namespaceservice.html | 2 +- docs/code/html/namespacesession__schema.html | 2 +- .../namespacetests_1_1conversation__cli.html | 2 +- docs/code/html/namespaceutils.html | 2 +- docs/code/html/namespaceversion.html | 2 +- ...lassanalyzer__board_1_1_analyzer_board.pdf | Bin 5781 -> 5780 bytes ..._load__screen_1_1_analyzer_load_screen.pdf | Bin 5474 -> 5475 bytes ...ssanalyzer__main_1_1_game_analyzer_app.pdf | Bin 5536 -> 5536 bytes ...iew__screen_1_1_analyzer_review_screen.pdf | Bin 5639 -> 5640 bytes docs/code/latex/classbot_1_1_bot.pdf | Bin 4974 -> 4974 bytes ...sconfigurator_1_1_bat_l_l_m_config_app.pdf | Bin 5750 -> 5750 bytes .../classconfigurator_1_1_console_panel.pdf | Bin 6116 -> 6116 bytes .../classconfigurator_1_1_l_l_m_panel.pdf | Bin 5924 -> 5924 bytes ...assconfigurator_1_1_local_models_panel.pdf | Bin 6221 -> 6220 bytes ...sconfigurator_1_1_other_settings_panel.pdf | Bin 6137 -> 6138 bytes ...lassconfigurator_1_1_raw_y_a_m_l_panel.pdf | Bin 6452 -> 6452 bytes ...ssconfigurator_1_1_remote_models_panel.pdf | Bin 6517 -> 6517 bytes .../classconfigurator_1_1_snapshot_panel.pdf | Bin 6415 -> 6420 bytes .../latex/classgame__board_1_1_game_board.pdf | Bin 5602 -> 5602 bytes ...lasshistory__screen_1_1_history_screen.pdf | Bin 5232 -> 5232 bytes .../classhome__screen_1_1_home_screen.pdf | Bin 5090 -> 5090 bytes ...oad__text__dialog_1_1_load_text_dialog.pdf | Bin 5648 -> 5647 bytes docs/code/latex/classmain_1_1_bat_l_l_m.pdf | Bin 5204 -> 5204 bytes ...onfig__screen_1_1_ollama_config_screen.pdf | Bin 5761 -> 5761 bytes ...ama__connector_1_1_l_l_m_timeout_error.pdf | Bin 5629 -> 5629 bytes .../classsave__dialog_1_1_save_dialog.pdf | Bin 5647 -> 5646 bytes ...ssion__schema_1_1_session_format_error.pdf | Bin 6699 -> 6699 bytes ..._schema_1_1_unsupported_legacy_session.pdf | Bin 6699 -> 6700 bytes ...sssettings__screen_1_1_settings_screen.pdf | Bin 5004 -> 5005 bytes docs/code/latex/namespaceanalyzer__main.tex | 6 - docs/code/latex/namespacecompat.tex | 5 +- docs/code/latex/refman.tex | 2 +- docs/images/architecture-modelito.svg | 202 ++++++++++-------- docs/images/request-flow-modelito.svg | 194 +++++++++-------- run_batllm.py | 3 +- run_game_analyzer.py | 3 +- run_tests.py | 4 +- src/analyzer_main.py | 3 - src/configs/config-llama.yaml | 20 +- src/configs/config-phi.yaml | 24 ++- src/tests/smoke_llm_payload.py | 20 +- src/tests/test_multiplatform_support.py | 59 +++++ src/tests/test_smoke_llm_payload_helpers.py | 25 +++ src/util/compat.py | 9 +- 215 files changed, 602 insertions(+), 428 deletions(-) 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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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) - - -

-Variables

-tuple MIN_PYTHON = (3, 10)

Detailed Description

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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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)

Detailed Description

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 @@
  
   Logo
   
-   
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 @@ Logo -
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 7e66c7db56b8069ebc9fe7a6eb85163649d49803..aed1d2cd51105c24ef82def8910a5972463f12eb 100644 GIT binary patch delta 677 zcmbQLJ4JT`8$Xw2h>@|CiHVi5*<=BJLu9TuzcDhmgMSxyQj&R^VXA?Vu7$~FUjZKG zdP6(A;*z4 Xe5IjuqOvu_&+{9U*I(LU3}CF_Z8%P7&|#TF-qy*J!~6hSLgN4aFT2M>LmAa4~3_(bwQO$*rKgef8n6 zM>+4smJ0g`>2UwhjMDx*M|DocK_lgv`*UVKcdwr^=}XhGL#K9L-KN2u}R&xSEV+*c<&~Qf8K^m9EGdz&G-A!@j`NQ3Cr~S2Y!-QW}jXE zD14_rOZu(t>*`A$OJ8c;_KJ7Yjx*k zRM|G8xks4)y^@!nu{!M6@l*QxZ#Ei#T{kH<|6>Jz_tuT?p0K%mnYL{EmiOIdK^CcB zuI#^m?~C$corTV`4CRj7NCwn7zwDiEJL8vq*VLl5Z+xQ?a|?c+zq;(T@7aGBJl@Vs zdVX!*i|0S{tIeLJa;4^_03&{Kn5dVNvALU}k)w&5rLlpriIK69si}*ltDC8Xvw?-V miFf~KDVp^Aw3ut5OTDJ2eum1LIg)P+qW-NocA4LM>%_7R z2GR=+KL}^O_RF37vL%KRSWU_f2KJ)kEb)>1QtU=-ods*Jy>g^{%e? zr~3rvWZmC&sb2g31ih`H`8#gy-Id@{&^&idt?{!*4+ZN4rGM)0c30k9zs%r)PP5G? zxs;3C=b|=l5-4n1x^`(xYHhf3z^gZ*=U`4!Ng?v|W@kf4#pH*gt?ZH#48DkaMfic5-86LYyL=ClUoX5Tgt__r>;@ct}=OOsQh{oD*KJSX#A5`6TA)yqC(+cXXt zO%E=U-(M$B+LE{-PsXh3-Ms3Hi=`P^`Epo1nKHRJo7XfjRWLc9$YA5K@PGJ@@A~n* zM}CXjuiyJ&QbO!O|BIH9(|U@9I93ZvwkECKWK+MeNhI7v%Z z={0BkGJ5{4Ea?rc&duVZ(S(okA6R31MGqT)KD5m7g~+9c zFV0&TzMuJEFB{+Wuqt7_$=bq7^(O_mPBrphPM=en^jIO4MfGak9VYU%sL zR_--{3C+4*Zvqw{+`Hw}mW+!J9k*ZFbu6OO{m)fY3TJpX5$%WD%aMCt~O1>S}3X?q+Ce z=wj^Z=IUbZ>f&r^U}#}#VqoOrWaMUKXG2KEO6<#ij5JPh-12ZdAi^=zR4UxH$e8$M!Fuq;f1}2tC<|audx)#QprTKZ7 z>kaJeic5-86LYyL=ClUIX5TgtslC2_N4~Gb%c-f+Wp11no|E}52|jwm>?Lm!?ak6B zqQW}s?=Mf!TLuy4ExqTi?u>taPch)Zfwl=M6P8UdIKidSpdR4lW}I-KlB>LYhuu5X zd;5P>zHOb(@|vrz>)gqU9ff{OiKZ%t1#(QK=GF%|c4 zurzfOx8EVVj;-2jZnlIsZiiX?mMkA_#gpgSX4nOBo|{ryw@FmYsE@mFr+Uvr^Q*ts zRx?ctUZ7I*-|FGsgg5K+Z8|=l>Qq1f(>kz7$}&={yXSv{{)?)Jz2q&bct{>RWg7H5L)Aj?H~UJn+YH=( z25O!87pFc@*SESFQg!*{0^w_M@Af%46*u*t+8OX6Q=(9WWq zv#1YKno{K59esg(>{>ghw zgwMIQ#yd;jo;_>&W4BicEBWfAdH!B}Va`$cq;zs4i|}N95j!VGXJbnfLj!X|Ckr!E z6Gs;_Ge-k6H#2h+M^iUP7iT9s8$v23uNP_MFfw3ZNDp9loNOa1&tb}?s_N?R#svUv C*$40d 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 cafbaf3d2b45078bb1fe90d8f5e227d859693354..2b14c9c34f0f063d56ac4979b84482ce0d58cbe9 100644 GIT binary patch delta 631 zcmZ3Wy+C_|C?A()h>@|CiHVi5*<^V>Lu76gpD{9bI^Qntq$Kk+!&Cz!T?>=VG5k`@ z^|!O64Fzhiho6bg=`xObTcxk6^FwHN>kgLnx0kfotk{;teQi?Y$%N;xt)q6EvD{Kn zIV*YAwK$FI!GtCag)W6YMWG2P6C9-+`8fR@9A+IWC~xn6?Dz2RL4R%iy-5+g54NwF ztK~iMX%EjcR&9+Ndvv0wY<$zzc4=j&soebfbMxz0yZ+iOiEz9c`L)_bq= zc0kmpL#==FzFb--;&Rec@Dh7)oA6x=`&%d2CW**DiR^1RpuYE$^mnF3=NpZ0{g3`K zkMrWG_wO&C`pjh4clr52CC^F5`@D{vetIrrvZ`yg|01h8dDV)2MtjUdwwYyX9pmY_ zEFSZ={-=Xef>OQJ#VW<8r{cNypIrM({OaL_wtEU*bZWHEiJJZFqqbkx&N2b+HsVNgu>wBsFV*c%CIo2lp zsNtKugvDvQ)>CVX1BQNuZ9<}1YYMyB%6A0!Zqv>w$PZgp=zUwmCjC+L_P>8zu6MPW z?DM;poE-jpX_nRHnJ~=x%N+ih9 t)zZY(!qm{n$l1Wj#K_Ii(bT}m%)rplz|qje(9qG&#+87I$!|qA0|3f~7)SsB delta 631 zcmZ3Wy+C_|C?A(ah@rWafti)5#bkLtLu76gpD{9bI^QmC0~5<6bCVGfT=NUHujpi-*3_G%>{$Qz+yRGGTSBM3 ztv>htQT02v1B$GM4H``rZ5|Gj9N98iELCh688f90-<8$lk8b^5Z690lQuMGZ=l;~k zA%Pt_=_v;C8yHz2e-?~Zh{MuL)x_bM) zZBwT0DahO}9eXp%ampMK#ae?@i;HVNFW#D?==src-ct{bnoC>bcZ&m@`}Fu?ws@1^StMsy7p{Wm*LXF zUrpk>gJyI(!L@Gjosi^~*ezqP)fe~7C0##nZ+9=;TM z>c@gqi%GZjz1Cl2**qoDL+DI!; z$FEatw{5!@y6UZuynMp0ZRh6CXy~~A>CLoq&BWD9u3ziP%(H%czNvf4_e!}`o43zx zU9p8veLx6j>p$FH605&Z7YERnm5elUyNesXnklt_@H tg^RPBtD}X5vAL70sf&fHnTxrbg^Qt~i<7B~qk*}djVl2ali!ML1^@vd8Vmpc 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 a7f82ae75ff48fae11f68a624b2c645cab4d8aba..1e5a3bf4f7fe70c45110e15b2e4173790f47ab1c 100644 GIT binary patch delta 678 zcmZqI>Co9w$;V|GVq|P(Vq#@%Ho2M45ShD=&ls8en{O9)Qj&R^VXA?Vu7%0w1N=P9 z^+tAf#U(|liMd=Ab6SIP^KTgl{CgMwFrU@;i_G(0pU@=?t)*GZyDsELUFDB^)VMT3 z`F75R`2EHgF6qans(!m``~BM;(J2>uJ~g=s_9jae&U#|9Jkq7zBr#)Q2av%ai9Xd01GQ-a7nTe)8=0i|wsZ z-sUrAZ@nP!Mfj!EYO{M0KHYH}4EUo=mrXVC>g$?d=fLSRwX|-J&@?s4J6)HpAIa=n zd2Rh2<)@m9dmen>-~4UP=W>BJ7wTrE+@C?RM+ln}5^Jg&q5;EFN)2^|XGZd~lTJ9;2$J z-M44gJn2c-NoDPyta6S`XJ5h_ro{4Pwd@-M_D$Yfs6K~V#=hNbo4Miczd>17LZbIO zx$f8b&v;tz=^n1syp-aS$;U;!os3Kzoh(g^4V;WDjExLUUCqs04b0sv9o@`a%w0_# kUF>WKshAuh+QJboA;A#G&h9b!fv7x(5tpi}tG^o;0B9~Ay8r+H delta 678 zcmeCsY1i3M$;V|8VrXt*$(o z^5y>ftFN(T&ytB-v(KNId3&a&=3>dGs=Z25$4wrYoXqsw+#zO?n6WT&+U3>SGv1pE ztt+p)Rq;@@aoMu{F3(d!Kdw>Xm@#$9k%Y~wtUT&1PoBRNU}0%^>+o~=$FtiXw(pGc zHlHzb>ji-?$uFZ;o861>>5eln=a1T&rkFWJMpUu3L1>1?>pvN)I=)6bM3 z9pbK?&k>WIQy=qEb=%_Xw^zFF?|DBLLA91RSzL*-*0v3e`IZJhXG|NYX8ME-1T?TP1i z9{+C5%*WZmvxs9!i-*G;CoWGG^%7Obll^&7te>sRh}&fJs=-yJ@>g% zpCsor$a|VnO5gVb9t{X z$gMX^OZMgstWk3Mp^$1}y!P|twONXOAN=;-TdZ-AJ^0t!Y8JyM2PA9d=boFV@>0F) z^vOp*_ID}P|2{tVQH!h9FL%#7H>D%zN!&9FnU|^MwM$bf{ai(9#kYkw0t!pA?(h8J zJ>Tkw^V=`g^}4eCZ$C~v>~P_Sk!P~ZN%c8bR~0F+9zK*?@|gK_!J=>Xx2)X8B5c&E za8PWX(Vusrxn{1xS7*ICI`#VQc!85W4-Z+mbC&z^>!$zsebsl407r0S=KaHlb`OlF zt=Q<)EcShu={A@9??26%8Fl&I$W(i3$*|M delta 601 zcmaE-_D*d950^!Vp}CcTnU$%-FN}vBJQMdL8+A}%7TrsHT!q)pc-8+uSSS)^DzkK`h%x{g4 zin>&Ou1-30|G(#Yi-#Jg{|5+_e{-9r-nPB%)a7Lhm-wd6v3vaW?{5_ z-R|p$*>_ggZ>=ve+Nj?z<0jaFf+bK9f?o3o%(UWXwIp_;!9`C9-QK% z=&_-7InVy8o3CvGL!+?;;h zO)_cK;`@SzI;Zb%^t&;4vW8HgldGeFiHn=DiG_=kv5~Qfi;0_yqoak9k+X%7fuV`3 OnVk(G6_a-hZ3X~2(-6i0 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 90ede546358268203ed3571604de9c695f82a300..406c9eee75b7930a48b86c5c9810ce1a9bfaa97e 100644 GIT binary patch delta 616 zcmeyS^G#>NTRtw!5F=wN6B8?A^U2@&43W7;{Km-KeEwbBNy&!hNhTIXx)vszO$5}L z>z{b1R%^07-^G10Xi~}UfL{wruedz$I2fex_jli;JSOhygFP25jc1*{D00BjA;v+( zagu|G^DIX;r6!q4O*RUbWZu0m{96`aVfpjsDev_X>$EDS_6Da)c6S6G*p$Gk8a?f) zWU9{YMGH%^vU-mn|9LsZ=--xW)lb>HcTZBii4U!1)=P++O7 z;Hmb2w&1%~_P0)o1vM7`EbLpvGylu6_jinsl*?Es|Gw@1PiNUjm$Gg5|2DCl{LJ)E zKX_J~*=~DvMd2NfABv>^RMj&`S@XGN#yS5Vtq+e}*l{Z-lOtGixqe0IpO=R}I5w`B z{8{N(=yu~jYTxT$`3v#4fBSMKQNZ2ui4x;Pb$yH6C)XT>jMv1h?cvusJkh2muxhvR z49>QN9v@m)^X#v>`C^yRZMTb0c6`eEKlj?QgdG>o1s;Cx&f$OH!*TanAp#uhw*>8L z7v(E#DUMliL@K_pTZ%Wz=7HnZTX`E?`;Y(I`FdrZNN#FT?9%pYdEtFqv#K|@Tb?Pq z_S2847Q5b?Rz)o-P?9bAXxTqUq@Z!KIUNd`;R8;iv~KmnOM5GIvTk;nV6b5xfq)n bIGZ~=nYmav8v=Ret`>GSgj7sEB)SCv2J;t7 delta 616 zcmeyS^G#>NTRtv}5JPh-12ZdA%gNvQ43W7;{Km-KeEwbB2ByX)21&*yx)#QpO$5}L z>s4+~e7jU)&TBmtZ_i6_onAIy3lwflX7z6T_TIW{H>b`UR%5s4XEOBMCo{8i2J$&M z$TW8-cq+1LDl}WD^Pf;@-fewnkF2R*{NI|lQ?K(}SKYJX*2_g5OAE5}~ek`PHwWErx z;Hmb2Hsi}y_V-qc33YOREfiBa>c07F^>>zw6PVLe>VKb@?`AU3=lr+b@skuHryc&E z>NV*?+V|%wDLl?{eu1-MA2B%}v-0nF`KM*Rq@T3ZbrWl;MViv-dKI<5ULOA7$awK& zrQqXLw+3WwRce*S8{&gf#pp(Z)viZ!T^f_0vo-6c8Oj~!UmtW`bMytAuY1`Fj zc(pC`_|UqVXMa`b>{U5sTbG?IeEapG^;+L^1(|aex1H}7nAh;Izu%-&MIbJ7Z7sjI z%tHzB9WJe+`yTM|nq_?KaK9_H`>2@hykF1Pr7yd-W$MS$sqdn9huenkdVBW0xWWDC z=hmDKAEM{o`(ziIwe{06GvTN!_ns6VQ9jvjBdj_7aLs|o(&zFuax%C7@3@|CiHVi5`Q$_aLuBq80b^wDO@Uq9Ny&!hNhTIXx)vsz=Lt$N z*9Yd`G7zZyzJAB{Cbg@BZ9<>d?r1TCq!^Pcdo2k_k-x3e75u4m5lgdH1fM_Llb^`&~CrajJ8!bNiqr zrQO|>YWT4w)vsuNPNayemuHo0a^lk~8SRsgZ_=rszi;hTzgq_{y=gi2K!54lsIBG8 zzNY@wjG3*zR%`P_0o8PO4fz!;%U5m9+a#*1BJ=#wU;8A%e__(wx1K-HCZh52+s(^I z4?k`CEB`dE&p6xSN&GXaZO|CUhkJy!L9N*%ivxR;21S2`Pdl+Uhf?jMg2A8*La*W`(q!uWme2c5cunaWw* zhRPP3re4vj;PgB4uRY}JwZl_{d0d@zWK@4#?sN-Pjy1oe-KeczzF)zg!%ic+cK=oQg8qNkeO;Ng zB>u{eU9sKQa`>j^RBt{ilNOzPHMg|2UY=Kbs0OAAiDxb!}6{hxChk4rp?#ne6L z@MY9EzwBLZJL9Z)&(@;eH@;Gdxfj02XI=j0Rcv!LsQUbi2ixvl)bBF?$n%7M@;tFX uCvz8LQx`)cH*;r0R~K_*Lql^5b3;crQ%g4sBR4Y>M>`urDkd9>Zw3Hn2O2K` delta 634 zcmaE&|3rU7xB!<$h@rWafti)5<>W*GLuBq80b^wDO@Uq92ByX)21&*yx)#Qp=Lt$N z*XL&6HW2u?F23;oEQ4E<|0vyFEHP=vNw!Q*&t1G;_8EPzIAk;UWSn7q&R1=s~}`h}+7P0_aUusC=0xP7<8zYyu|TlEE&ifDZNwtsnl z`)StS)~EK$q=(J= zC6CuHalf^SJ5IK~ZnuK#h32_O_j(kEZfy5YQva{|qavqIUnEa?8uRzLA8hK5W@<}u z7rGRrWUq|cy$|?-u-$y4Z1f$}^qC zHoAG4HO?=4m)p)dtKPGHgb8~YvFg0^BFmN%naB{J;A*5omq4;J1Gz=SS 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 c1daaa3cc4667985d691f41edeb528b7865e9cd2..5b61488bca93247620fd7fc903770e278254e042 100644 GIT binary patch delta 635 zcmZ3Yw?uElRDLeY5F=wN6B8?Av&r-M4UxIG_>Gad;sU$4lakES3{wq^bS+Fa-w}{v zt`E$=Wgt-Zef^H@O=?wrlPyk$xN-$Vn9dML%n7>6uD|18P)A^n$*=e6?c4UOnXPnu z-+R0JbNBD&(I`leWMOPkWZ_xFBJ_Z9iNHk;i2}ce@A%C1-8;XhTkEggFexGOz~+pe zGsVY}A91|yNzuDub-r3#@#Ix0Zsqh{TX*QnAB(T=_LnZ5khbL-`^81amtP8*YZY~O z=azS3d0)PVg;uF6cIY+uzhB9czRI|4lenyljQFFkGAxq+0<3qN_a8{&nzG~T`uEQE zHL_(^WNN%KLX-eg16@cU|JH8~!Zsqrc}| zz4p#9_oCF-yy^AJN2RDUtKV*Y-w4+p#4LS3WHFKIR`o!Y)udVbG?Aj!vE z?`A)YcKq->dq#)#;qui}${M(19&vf!S#*F))h@Z0OFAd;abTI(`>YMl-RggA-)PTY z>9&iLcYX5KS6|+RoXj(b*G<@W{a9Q|L&LpGPp0w3Zu8?>U1DA8Y(1kcZAzik<(}3+ zkxzoW`5Jo*w=BK)w|!&awu#N2$~_-H?Q6YuH(}Lz{jE8&L37^RV?1p0pV^Y*(T2%) vMFX7--CRwL4NRQPOkCY8Oij(rjT{|aT%CX{7e`Z96B9cdLMkQ~h;0D?2p=14 delta 635 zcmZ3Yw?uElRDLdt5JPh-12ZdAi^=o(4UxIG_>Gad;sU$44NNSP%uSL^bS;cG-w}{v zuD_pu%Rr#+dwgL&tM8XN@qR|36PZN9c-34aW`}$|$ep)ABu7NL_uu!;&e3t#d?zN~ zFQ5PZ-2GTS5s4N{7Dg9A7R4i)OAaudP*`TzazLVWxAmPpGOYLJzumLx4p&ns=lMOR zi!_|33Ajf*S1CVu&Gllmrsw)=Go%eKpL(>dN}|4A*FN`&+mz-(+02>ACC?9`Qe4Wmqi#O|af=-Y=jgqEYxd{(gJi zvn3}s?Rl=k`Fi7aTi(O_-MW(FpM90L)D?cUH*wa%((f~(YxB)G~xSi?V zS9cs=5hVFDFT8$v{I%`}Q#tfD?dvYOy54;M$L1d%uRcc1m)Gn$q|n^sdSKHF&UD>; z9v8)fm##QP_6yDV@K{`N_Fm&)w+reY?dqpKXnwkOjrY|phcp|eingzno@t#wM%XmiVj)vQNwCwdDe}EM}_~%eVckd zMf*;R+x3l6rB&stT+L^!7c;n@ovd%<;E!M>H!^c^c5`!dbTxG`G;nmba5ZsqwsbLbaW%8EA*5n*f!G!REprwK 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 eb54316959a88b7b5e9835062ee9c0ed11d3f756..f27b49bfec06b43a3a5db042e8e851eeaff06f8d 100644 GIT binary patch delta 653 zcmX?WaK>Q6E&(pf5F=wN6B8?Av&lyU43WA21&oooHiEmjlakES3{wq^bS+FaGYauA zGn!216P2zPp0gy%_0evR0L2BjSFN_)(J8LODt*+gsXpF1=i#L?QOj?$E9Xh>pDCkJ zkYMQ|c*M|!XOc+J1HqID6-OGD^URx9P;KcoXU^T6$1Rgt%$X~Mw@!6ESm9=qICt_L z_God}?x0EcE(Szcn%;W&=lSOxqyJk%*)yxNiv^^bYjtvO)~{G>-0S~3|KYWo%d1SL zwrK2>a{A?>bLCUU(T(cBA2l` zucG+Z(2->3UWi|whif1DN`U&Lc1$9(=#_?&A=>56GA?AxZ? zV%0u4(V}i**7olcs>3~mY94AG+$p?Oi@hq`dp&F392=Y8X-`0FKq2Ck(GJGG<}CtqiUGON8a)k8{B%?`ZonGJH)1IW%E!{|L(S5D_6xYoqz3z zUDE1fA+X)A5@$<9o&* zhnLOEb$!1wCa;dswO$+*A+7RH_?F4sjh69cLDi=pJo$F-f^OISRn7XT?C7`Xrd delta 654 zcmX?OaMobME&(o!5JPh-12ZdAi^)d>43WA21&oooHiEmj4NNSP%uSL^bS;cGGYauA zGn!836P2!?Y~i`J>qz;;1x^mzL&K{Jg!4CuB#B6K{;Pevq1F3#=#v}y&nnaYq!}$Z z(3mQ~BG4va&>`f}z&^q0i2(CFgNmv{cb{q$R&D#dRy0iL4&OuHD{jv$A8Qu2__`U1 z=S+Ss>*Z18uAKP9$6QR@e*W{zN0-mF@-V*fqB-NjZS_kc^=qx7?(W+1PVC*6?QWvG zrUD^iG4KtWj^Zven{b!DP{l`Lew^?bj z+I>IU3m2UbfBD~V@4JPUFU{B7pwjyLU2b0KPFwYo$UV)tcoZ`~NKsj#5mq;g5^^o>&wY2Ed?!|+{gzGUj0Vx&!CgXBHPq=m$%i;`_I-s<7w+;R`Eb5 zOJj2r6GIa-XD25US3^@%Hy0BZ7fVxTM^iIrLkl+(I~zhOCeILW;q*2zU|>l1VOO85 QDk0Bd#HFh0>hHz{0EROhUjP6A 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 e5b489fc7ac9fed2aa4563c8a584ac869fc200d9..ad1b8799ed373096d53e89dfc7cfeda97fe88455 100644 GIT binary patch delta 677 zcmeyV|4V;EjsTZsh>@|CiHVi5+2k?-LuBqo0b^wDJAqx?NlE5uhN%Wdx)vszHw*GG zGa61lAR<}+*3$1p|H>|r1shhDB)4qz43*#WKy6x6Z_?t6|Le*YJWY)jwft85{pY(s zcT*h{*`_%PI7m1hQ1DV{v}h1fdSxSUT=34lN54|_KfKF$zVvCBfDU)Xv$cYi=PpgL zIHaXKlY85#&-c7MiZ&j*(=jtl%>4W2quU=Hj(XR!Gw!8q_>20FD-A-`zlW9Ut=-+4 z{WtccS3WDtMa~Z|ZKpo)DLdvTbmb?|UEBdnR7g zcz1sN?!*72)VpdXPOpD4MJDi;{In7$GmO8M9fT)uMQ>-(mGRTlbg=7&W!7 zY}q8IYVq*5ztgo|+D&D;lJS*E4U)-&o-rW`GCF&1+Rl!(9l zq3e>id-a9ey}#kezXtciFEWLEKL#JW7ye=lT4He|x~=XOlOJ1v)vK znwglnnOhhdm{=H_8W|Y6Iy<>J8yGn|I~o`{nz-265K=MOO}s__xP$~lt|)sKS885L laY<2XVlIf4pOnQ_T#{H+Qc;we#${?@Y`~?e>gw;t1pp~)E-C;3 delta 676 zcmeyR|5JZMjsTZMh@rWafti)5#pE&pLuBqo0b^wDJAqx?1}2tC<|audx)#QpHw*GG zGa5`jAR<}+WzPMRA+B5jH$rv=9=fq)6@OfTu=hc?jTc|k+go4wbZKpu%!R=NS%68`(8mu2d=XIq%qc@ayS$kKbNA<9(P%JwoimnW(d$@AwBN zajx!3F}tC4zFJ%Hy1L&sFkvlUwo+7ydJ9l&8^gI?cUbx zug+awxt0|VISXFOPJQ50a?3~Rnxn+yrn%?mO@HXW(X_XY#eR`PXYBvqb|2LD`7hFV zcYgiuqxX7++t!^pZNI_GZOXUP{+H&J-#VW$|Mtcvlh?L?wR`Sq0_Z*mYXI- z?Ya5%;r2o!3*9}FH{@@M5qVR8Hb3Y1f7NdlYx?>{-1bd(nsYO5`9a}xQDNB}HBGJS zc9`&~S|t9~kGaxoI(fzd??*N7v<|Ls+qy_Abf)y8B?w&W6gxTP!&fwRbK%X)1fGMmF6|!*Xl0^^Cf2E9EbDEQ@n`tRZ{x zLDwa1@7>|I`6aRwqwHpE@yS;IkezXrciF2SLB*L9A0cayh>1vW~r lxTGjGF&D(jPs-vdE=epZsVGWK<1)1{vgA@#b@g}S0su-|F=GG# 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 3fe983f7004a1cfd6afb791535757f58cbd8e9d2..1cbd4d94f65ac6670c920f398f509f6af86d31b1 100644 GIT binary patch delta 636 zcmdmDw8dz{3_&i-5F=wN6B8?Av&oAD4UxHb1&xupQbN19lakES3{wq^bS+Fa-xpG6 zuJ03`vn0xuYr}=Sg-!>)ExKyA;~@96rrxB*hwhilyjT>rSEFc>W%08|#*>5HSf5(< zDoGtTd1T_5>E-HTJj><9LZ##{@A$%&?``_Mc)rfwFI@*VEz#dpwo0QyjYCMx@}%L- zMH*4ssxPlfc`QG6t>TA4eZ`zL_tt#z+j;NMyCsbc_5D*;OYQx>?cgQ}R_)&zC8^iD z+)hezJY}AGAj13{|MpD_I~!K+`QvWWbiV5C_II71>=ySt_<6ng-;~E+U4F5zcd*=~ zlVACFAIFLOJp#Y8x2bThjk|C7>Sp@E)0cbV_A?&7{7u{<{m&VmNd155OyAj5FQhe# z8!s*Vbu~_I-%kaP`T$ic?>|}>LQh}&qf!1Ue-l63w;x9``rReZy7VmWo1YkSx_7am zdcZC(N%;UK=biP-zod1i%@W{nZPITMs(7EecJ-y4tX8iBmsa0Zm+|mRST^@?+wFrb z8wGw8c~0gqIrL=OsqzIaj6R8M#SsU>Cj>M$iQi~wlj4cEvD)pnsY&*OhYa^0axBlQ zZr->~G%vR%c57ww^>#1QxhHG9)T3YjiR6>o7(MOYCcUuSDPL~Q64Wb7|1!;3FJk^v z8^1{rUm|J_-{8HJR`yr^nAh*9(zdN7dMExEZ_Tw*uC~dY;<&`-hc46IML!tzWS)mj wekUI2WN2h!?&fN4Vq{_FX6Ec-`=F< zYx39Cd#!4U;{@v0bJ=_U(Yg?N`rIFl@>ltr_}icTIPyZ_fu^r($6~(ui9x4NT{2Jz zxDjM}ZZV5n(SN^}S>0(uf*)M>oNpJZc%QQN^rDqntzHLCt-Px)i|=SkS9uL~L!&m{11M;r>D5YW^lzQVzomsjG(>af|oTe2TKV7UK~V|iV9 zbLTqIyxfY|t*+T-?Lk}jzD#mk9-VwQlJC?_UGKa|`PJLJta4`=>J{bxF-vGnF!ZiG zHYKFc4A+8y=PZR?h6r~epl&8$u?wh3M3xWrKZS&Tkx delta 193 zcmexr^wns?9YHRO5JPh-12ZdA%gN6K4UxHuLdMA4IH6tK2ByX)21&*yx)#Qpm4$Dy z82;jXTv&GgkoB>59osHlt(S;SmA0H=a!5k`b9BaC-etc^)}?x%c#%=g!t?nLf5_J7 y(2U^e9AqGTZ`}gY2P?)n`pD=>E4f0^-HeZO<2W$JW8Xz=i9cz z0~<8%G5YL#);RgBcz}zIp@FNhvyrK}xtXK6qnoLtqq&=-g^7i;tE022xuc7P9bpxd eVf06x z5hCyXd7gDnJ|`aFpy8cqT<%gGV`OX)qZtxoY-->WV_;}joD*YUU=kCfNl1Qjl0-Ad acS#9`g5&JhCcl-C=P=|_Rdw}u;{pHys7KTQ 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 22e8a67511a6c9d8532b5de3f918fbf295fe22e1..5f1fe38996f197051a80d95895e64f5f9ff0a3d0 100644 GIT binary patch delta 614 zcmaE){YZO5G#{5`h>@|CiHVi5`Q%hSLuBp(K4WC=UA|r1Ny&!hNhTIXx)vsz7x8N_ z*H4qNmODD(`>|VrlS=Mt{9SM>N~vIpg64#Ozdg%l9k{`)c){}f3%kA$hE|>kMo*?W z&W9AvDz@u1Dt>5UYSt0hzI{jCZSOgM{-G(QetHrwn+nG?R!yf(sgc_> z)PJ(}woWcyZ2RxWrik-$_G_;C?RvfRCTH)&`Cj4mkz2nXYuoftY~9(#VN+MCs${w! z`4s3?ux`!g$!j-ENUKoyd#-ZwgXh({*Yg^AH3Edb?GKYazv<7JCp~`yiz8iU{aYq+ zVTC8Nyq|2Ipl#wb{`;G^FZc6rzPhJ-pTL}#1}iSjzOYX&bNRW7(u%KzZ!D@WNmg!q z_$Y#Vf7jeUvv)qO-)LzUyd&+T0GFIx$%*)admX*Z=Q#ReRJZo)9PGSNKPhW7ufcha zV@if%>xKTjab3J>;yn{1i)L;8^7{%8Sr1k}jmg-t)qa-$hu@mMvseZ0r>oZTAK!66 zUF1iXsn?wahh(Mhc(3;96|KBtgm+yU1UaYg2Im%$(GMoL&{&Zbht+3ntYrRPJQ|X(t zO%CmR@xD4MxjMMG=C+6IjEe{JnJ?;}j=%Qo;g-pBL;{_hTwRP!Or0!^42_%}E!+&u c-CWI`oeW$JTr7>vEiBFLYzV2CtS`D50De3ZU;qFB delta 614 zcmaE){YZO5G#{5mh@rWafti)5<>XX8LuBp(K4WC=UA|r12ByX)21&*yx)#Qp7x8N_ z*H4Q7sL{5^{950nC9mCHvR}O>)0oWa+4$wY|E9|<$K*H~&+T;oUbsX?W66Qy1fE44 z673evJV9*A9YtI+LH>8{J$ja_UszXidaJOXP)z^B$26UHX0&G%tI8qq>O3$KUa*yO(E{r5T<3zhdVao4)#B6_bpl z^S^`ptzG=T^Z}&CvRTKXOyG@_}C84BLBXp^xj{LiXoma1Y zwPRRpZnAr!bNo4vhg0&>|IO!1lec`T>HDH1)x`Hxwp46j)zj4PyMFa2EsjxUzw8zv z{ioJ{?b(E7{rOvSY>n-9tW|Gw{m6aO;K3ceW2nSmEk3p&ad(J!ObY0f+Y!>6aM`6^qk$3d)L6s&fWcc;k&a9PCPoz3Jm8I z69m*IILJ6~*?2cP$`tO{d-Q6e_J_Ru^rdUpC`5>TSp2HzM6p=mBbL)WDS9`I&i895 zo@DLSQeGAn8B?S6jNe~AtVsFH*Pwi@)_LmM_<)$I)|DNi zd#~_*%ee5!&vcRb)_1IOZO0ES-z1!8`ZIOD*xtOdtuNR&A5}i%7nS?wBy0FFUf;YI z7gS%nrY;Q=-oCc^q`Op-(pI1S`k8&#)Gc!*dUl_Zc>gXs<1W8i zRec2a(-}$W(e6B-|EN!Fc@#KVOE}QU!otnO(b&n<+{D1e$js5g+}Xm+#KgtP$=K1+ R#MsQq&W4bR$$N!20|3nk1E>H1 delta 607 zcmeyM@j+w5dmb)}5JPh-12ZdA%gH}^43W7eyvE4fLf&262ByX)21&*yx)#Qp&G+dg?n6t!_+xO(7H;hZ=O`^M5`$TkDC)L|)W=`I?R{Gen=PzE^o!e^};L-3@fJLB9 zz@Q_@Ly=RV+2DMGqfmQ6b@%GSVGr)!JEwJetwO}q56$InBCOrck62F6d7^h?lSZG0 z>Pyz%9fHAYb@c3}er{jRuf0?7S=CDOn1#>P4_&F>dnfAd?k(@c)_qA=&A!XQu}Jvg z+oZl(-(}%OfF zaNCpqDPzg^^CIi&BPTd|-A&m1fpxiTyfla8!An=1BF_uSe15xk!s}}XO%z{D{$X4{ z^+EH~xof<)zH9l+p{;Eeudu-I;7*fcqBSzj@=OQw*C#GI!f3zT>jvY!Ank5t_pq~_aL!Cr$)>AVVLorHMeD_mbroqV?Rv;0x7TYfypWX+H5{w)^u zy}9$A{52=bWp{2~6Fj`=2j}EVk0K{)2?shkTbP@h8#|g9xEPqYS{S>Un^?FRni-fl U8#$X9nK@h9*$`4Od9Uzh0Hll%ZvX%Q 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 7cde9a4fe911a6224a7729cc7f9a71fe85fe3395..892071c5493b01f6f739eea3cfac9fa0a06bab42 100644 GIT binary patch delta 620 zcmaE){z!d8G7pz!h>@|CiHVi5`Q%(4LuBp>9%E$gQ=VPiNy&!hNhTIXx)vszSMf?Q z*GK2yGLWeKzWzhBqwwFFldV3XDtfJcTG6f%)@xriPp?SOym7)z=#oTK)gL~e;?@@oQT`LX z#c!IbcaaFoX(my{o11j3r!4-{bnMW{nHS~6{O{L4vzNDDdnIhw!Am)P^)mT9 zM+3p#)+?{gX86qGs3Vg6(W*&5Zp$jUm!;ax`T>y0n&56;;;9o`*g&J`8V(VZC|CZ0h#g?ZU6uP delta 620 zcmaE){z!d8G7pzUh@rWafti)5<>Xu*LuBp>9%E$gQ=VPi2ByX)21&*yx)#QpSMf?Q z*T-hxHV~=3zJ5o(uf)r#f8GZ2{LHxIxOu8Y_Hi$Ho9J%VJ`okxOZD+5GbgpLl|JV7 z{LbRvg*C+sCOAxBP8Mi8z|;}sp_n+qaR#e^gV3^q;^x=aWsl!(j-9e?)0_m$w)>&! z6@e^)UUL$rPQIfWE$Z4IG%4=F5~G@ROO8Ihy!~kX`Q!fC8=t0a3A*jI=z02`D^YLO zTw1qgcWd_7*sds3nTQgVno50D3-MbwGNUs)g!ZhzcfRN74;87~v(h<|xTfs*9)Di` zqY1~qRUMC?G|L#;W-ijOs;~Yx$@FYh&84<;PYq7TbKLVXUob)X`ZgJF<#Rjk{NGd; zV{dFNRU!BPQAj=i{;=qO6IV{|w6Y17*l17?dt^e&L+*3CvyvNHdoFf7xN#*WN?y@o zZCQCtP89p)mIeAxlK)v9)Zg~X#dg~4KI`}mTWWs4&?(=w)Zm!u-RSqd>OUUa`cAQU z@Zb03TZZ==j!0Q<+u_>DRUX5Ab%9%R_059ZtffCU}Ypg-DA6pp(pP0msxzVif6U8r_9;;R_2TyyNO4JkMXoiD(Boy_AL5x>g2RlKl_t( zbB?oLUT1V{ceU5rFA2-|)=TTj8sEEpP4Mud3g+ku_X{V_5ejrNGIzE#F>o<8GcqwY gFfemAFfuSVGc+_XHZ!zzH8gUvvmvBnvcB+U0G5IjZvX%Q 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 7377136ced9e2828a37d10e463ab1290c8fb4fc8..e0a520d4e9fee5cb1831bbb5aa27598008265407 100644 GIT binary patch delta 678 zcmbQB)339km5<9Z#K_pn#Kg+jd~!dZAu{(ApD{9*oqrd1QnI0Wl8J?pu7%0wGyFWv z^=5W<#U(|liMd=Ab6SILcilD+sQn&(=C<0DyAz*A2Z=Qo=ibbbp7h0OdTl`NRY8lO z4I(H0)w=JT<`CU7;oQu{k}orU9Z+Ds*KW|F(KNw%jw4$phi!)>J71>M!NJu_9^wOH${0{rV1~X<+JObUnlZDEKB+A z-$OYqZs+@#=tgfXUAA;n30L^D?y#jRRa!ny{P1+I$$`$SwbJWcxeL3D3vad0d1xNG zb89W*Jc9(rv-Q2+Hjn?PO`9a??mKD8_B&@iW}Fu}{!w!7x4PpE>9#+LzrIR-a%P_3 z+VzZmrnXTpXVuSJ#GQMURlnSR?)C$}1>}79MiiC4XRz<={WJSwbK}kZ20NZ7@?VN` zGOjx6shq_v$iHF3(ktgSGx8n%)*SM6R)Uve{E_2-E;86#U0kv0LaFje)flUtKe-f@ z?{3~SO|Rw$*MC9AI{T%a!A$?wPrFoF&|*C2F&Ar?#zwbRUa32e>ch633VBh`ZXJ8_ z+O%a;cf6NdXCK(RM6Gw-T+@8tt=g%#XP!$ph?Rcb7k435F5=sPT_KyM9@1Rwer5aI zi`C~UP6=Im9w_5})3*Da#BSxAn^*o@9HDvr#JLTE*Q)x@uk^hwIrDF{uBqYCb89CwJ< z?9V(ViVjTX|IPJ2PPsH&qBu>))bmi@&e;F*6C4+ z|0Rj?hlj&|^mBZ8uIYP5=0p8fk!{V&a~{fspV;WsXzG;{@K~&V`=Y74oVu;=tn}Kl z?8@2$wciW=cILEXUwUyX@^e`D?w~DmU)Hc)-fH&kMeFV}ww~`juTRZk-5#`h;_KVz zUMQJcjE#8KH?=> 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 187066a82c662204ce279223d3aaf74f7584feae..f034f200586308179360a778ee6abb50ededfec2 100644 GIT binary patch delta 616 zcmcbjaYbXp4IVDb5F=wN6B8?A^U05R43W9AyvE4fDBfM%Ny&!hNhTIXx)vsz<@uzT z>vOYj8wmVc7hiaPmcgaTsqWj{IW5*}t1R~3lo#;J(R+)_1CN723V*-bs%9Q$t3G(+ z&gVNXOU^&mZfs@=beiNa%SlP$v?BXV2gb~ajSQM9ckVv?l)ApKglDpAfTM9t$cNyo zao?*Jot6|m;~f^XxpIBEljZ64E7tFkvzGpFI=Qrdzf5h!thwLj?!2wpJyAYuf7Thh z9c}BD2Ja||UmLk|YnzI-@W)>frwVeUnlCmL|i%lU)Man>3+mS@#z}NSDa41`||g++BAzzDi?3?^5$v3K5HE( zQ`e$lvC8k9*uHw{g0HVw>{rkIH+k*feb#n`FFI7(ot7zde~~=C^;U%k>)})DxA0C( zwFvm_e=BDj%jcfNJu1&01-5;6yqXqz(|4^Wt6tMR+e@pa@T4EBmim!Wvt{nX@7}Y0 zggWZe7CLilzj-XM+`_q)tvsW!zxuAk_G1_9&RUsmUG~>|z4zw}JHo#vE}ebtNg~(e zwVxmA$OzS){v3U8*}vYfgBI3HrsnY4bLpwP{}i+&a@sT5dG`wHoKuar|8qZjsU>PV z+tyEZQopXu-16HV~-29)9Mw+LSjZrk^N_@*`N{OcvdX+=Axd|aFYpszH2`Ic)D>{eSEL|nlEuX?;U!#^x%R1DbeP? z9^^V-zoZ#+bG_U8w{DJ8=5-d-YNT3R?EQRrZjOSe#pLN0T`YB%rS}*6I|wtTfBE-z zVU5^i8^LEh7uQ!hwmqq2{C{23_wxN47N_+C-2&&g@A~$8T5XzznM&YnUEVyc$6u`D zkYe0n0OzV(ikM^f9=Xzj<$ zrwcUr=TEu!jw4O;aDnHE*2O&U_pbT6%jkC0M6Q^st@TSnH6_k%EjB60uGuj6;dk%Z zAp#urX)9~kwPhY~q+7UmN`24x(7=8*W4Gh|-1NCGqAvbZy}q(@$N^eS_cPnP4p_q=jS;YIx_o1G8;w4HiZ_PM`n>bI@0 zc(Px{7<^f~HP=eHy6UEuvrp+4Yo%SOKe>V!Z%vxaD;(%#Xk=;R=IG+;WMb)PXz6NV cY+>qRY;0)iYGGjFX5?aOXG2KEcT2tiXP13$lp}DN@r$*ihvlarqd?ZNVx#N zPsUQ7%a>iNsHvKFU%$RS@>Orqb?)60*%sF>imAW*a_#n54e3P%ne`H}x7{2k$?3M%{?PWNv5g>GK|GdfZ9ejK`e^d>r|Hx1DRHc~7U%vu9FcW@ z)x8~4&$;&62i;z0zVY|>sYVBl?))q@_;UJ_e!bq~HIo}zgeUun+Bun;nj1Npn_5^n jn^~H=8X8(SnK_#~o0>TrIGdZfIvLp65K=Muoakl%ltc}; delta 623 zcmZqFZPeZHm5<9J#L(Qzz|6|ja`JyZLu9TMzcDhmoPQU$fvK^HL6WhFu7&Yt8vzaG zdYMNPR(2h6Pn>#7RB&79>R%63^EQa&q)2!E`+d{lwD4>tb<6MbewWs8FF4RBIzeT^ zvIzzfPbM(?CvapQY+yVev}5nltG~k@-Mx2STYryAMDGLN62EDxk9$}SZBlUc*rs!u z`IKj!Tk^vvXEOTz&v*a6`d(jq>%@0enPyJOTl|;SuU>nrD%ts_K&$p==he4NgeD!l zC~(?c>)^~y=lri7I@IvE+2XIdXWRae$JgJnMz}RjD){$x&YwBY#U(70)%~V@hn+xAOZmlwFUTi^9~ot2#W|H40?Qlm9#RrjKnx0;?^H*K4F zyv>1{+&T7HjGTKH{^WhzJ}HcAeb2nM+_%2_jZRsdePM7?^L$tKthm4`(Tx6OKlziF z)~Huc_OlQ-{pXRJlb`kN{n{%Bjc)xcHTZJ+lYV2(<1LdLS%fG1iP|}tn7J978=E_s kni-h5SUMXUIypMIni-h6Ivcwh8#y}K*$`4O`JCux0F7lFB>(^b 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 942af2d5417403e9ebe23fa6b54c86287de10d54..272946b6d14457497236293e5f1a3cf721375681 100644 GIT binary patch delta 195 zcmeyX{a1TK79W>oh>@|CiHVi5`Q#ElLuBrHK4WC=8@^rKNy&!hNhTIXx)vszH}YR$ zFIh@rWafti)5<>V4RLuBrHK4WC=8@^rK2ByX)21&*yx)#QpH}YR$ zF^cf2G=G2LN8crD|JgHN+4n3h+M2_gm6#jw%Xmv>lyh-Ky!Tt(y?bw0IPcc5V>s~Q zna1SpB7shBZsr!2W-e}~CZ~I<}Su=PL|G&#^z3L=FTp5HiT46_7dF;0FFLD A$N&HU 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 665caa0b19225ba4d4b59feb68acbb1d44341b5e..924db67f0990b877fcf20b9617807f5b14df4952 100644 GIT binary patch delta 643 zcmeCz>C@TJ#>ZtDVq|P(Vq#@%K6wJ4Au{(gpD{9*gMSxyQnI0Wl8J?pu7%0wv-~{F zj3$$B2}#vQz1`c=x>a_!uBTz#a@`i26}w+WZJ2h(OYhwM@K0L}-EaEEGul+4=k%_rdC?$EL0-bzTu9S$Xj4yX9XGSF<)P zo+EC!ZkOzX@O^^$o;Gszum2ji3UV8HY`XFG18cf$K5t7;LT1*&HQ$Bie0Zy_czbJe zrqc!SkB0SAAEckQj-0;gZA&nRwzk=Qg#~&?7n>Y2t*K!7&%#na=aNe&^S`NDiR>0f zS;J0jbZpf1dK2(iZ2O|=yBwRX@2qtDvh3R41NRR*e>T3!`Q7sH>;9-OyKaVET_k@- zoZlcmJGtL$M_68Fm3RBP1pOUTqkQky%lgvzz|_^whLDQM(W0#!Mg|NF3raX-CchAs=P>6|Rdw}u;{pI6 C&JcD0 delta 644 zcmeCv>DSrN#>Zt5VrXti!mV=+LdcyVI6PtiLSgBzGmYR5!vqO;!B)d+nc58lHkq#c6%dik8S| zs0ch0U=eT?Xc1UG!AZ!0E%2Sv1OvA6@*P!ox%S+@U75O5lx4M0-N$nsi#Q~e`!<~M zd^btA`%y#Cq_~SSqzx~hdi2LTGHf!x_D;dHEmx%1UHHBHQ2mv?ccSj@-tX>;_N>lh|1mZHNVHIY{qd^*K8Yf1k}8tL)>Q{1k4G~HdTcP+8gQ+e)9=T($rIk* zI%uN!qWi~;{azn7Kb^bA`)b)C&6cU6v-1T4raualdMssU(^SvYWbc>x=m_I~uc;fD z=R9K4esW{M0WsCG6@}f=7rpN;I4JurM7b*Xb=-sZ4;TKN`KIOfoQq%Gb*t`%zsb7D z|E!yR#`>)r-Bn|>x0~!;>Kwj7{EpY!W$*U$Et7YaQk!y7$0PI5C&Au4jlG3i-0%Kr z-#BTTaI@#}-j7`KgJ0JfT>X7LOyjv`dD&Z;!;5|}pLq6IWb$#5KqpsY6JrA-3riO# zV@|CiHVi5`Q&~fLuBqLA!B4NyYMdVq+~<$BohlGT?>=VXM~@! z7|+^h&~@m`thVqeah5mtuKTz6hR5x$gIk^+t2kdj_1fKpW&FpZG>-Rt-&T0U;CwyP zcY(JylNDKoCx4f)b8;~Y=LLuBqLA!B4NyYMb<15;xYgCt`UT?^yQXM~@! z7+Y}#%{p?^ly|+x-l9#_v47n+PTVHioO!zU?k?-3Y&?osm_i;z!y#Fje z@|CiHVi5`Q!;ghREF0LdM8k4&hzgNy&!hNhTIXx)vsz&kFM} z*PGbc6_*sHCgyTg%xMkE&cCf7^7q{O9rtHtWa%GUU$IK(>0ZB=AxAU6ulUt?^Nd@O zf{}~YzrP1g&dR%F7J0qkoNbIAyU~IP45t-16nGR91eQ*45<0-4fBqa9&cY)y?tVI z;=1cqr$wvk)O>E9oO^Zd?Q3ff_11-Kx-zvv!Ah{MT3>a?gt;3px0MU1?s)XP@&MBx z9qrpQ(i03>y<+~nuAc0F=iy_E#``n3uL?FxUDI!$ee}xfMJKku`p-9i;{2ZpFIR;B zGAu28)+xWz*si6%V9M8aa|Ly*|tRlT>^4axjv47q? zRNp6Bzq!unVtYE*b)64$k51@0Bp$P6kC}i`Q*tm@s;zgysdD+2HPY;tTNd0u^88Ow zQ~9**n`Bn+5vnZ7Gfw_2(F=E8!bw(mk!t%6_qJt({(pRO4Fa9&|WWi|iYb>Ei0 zU_0F|sw18I=A<;o3tr#+7Zto%Kg%!ox3-g?NCY}LIU5+8xtW?6 znYvn7xS6{c8kv|mTbP?z7#q8~x|tf;*$`4Oxm>bU-`IeGp`e@n3|DGi3N(=cS@}s> aT*W1cMI{wQscBqh#+HU$s;aL3Zd?E$+(9=0 delta 694 zcmZ2uvf5-rn-G^ph@rWa0T3BXo*-n1%snk+jLhW_-o0eftipcPf5- zb=$ri@@_iK_(!03^542s!9pzElcp@ZvFLujV7>aErnW;TS6-BRFLrpn{QkYsE7z7> z=iV$TrEEWK-KMPPy}Y;ELU$PTM};n%HX%h_DNlYW%kooJ_P02=BO8kg=c(%)JiqFj z^miVezz(o{Zamdy>6X* zlgPKZxA5N+UX?FxpQLZ`>PBepF{+Y@D@*?~FEH%FoNq#YmP@aj>|OLl>%=?Xzw$@D ze!7*p^%m$={ad|djPnY#8u!kn4G8tud zm^}DX>v4NywP!SklF9DFcjsPAb5LZP<|x4MT)==s*h7I&fpwlyfdHIgIo1AlG z-z?fPRg~p4Q(gF6!OC+=elm$uC!P_Fe)>~TwO(cCqQcZ8G1}dy=WjkPf3$t;9WLXj zm$^$X9AAFu%HBJXcXw}lC${cuxN7!Y4vs^?2ey9?X)3-cZGAJuw#D#X`1AJ)9Uo`s zyg6pW*sT%p=-z(Y|1(!A4tJ7k|+KU(>s zbn|*w`v{vmhm#if+MaB0xOeHvG``r`aUo$@rlr}IGwM>N95q=a`8e^!Wx=QBQ|?*Z z3Nrtnux9DoBMFy6k5xq9_j+AtaJ7AUn1;CKx3b4fhi&Rv+x_oeo9reO=w#^Z>g;A} zYUE;QZfWM`=wxi@X6j^WZ0hK0Vd3m*VrpkYNX6uvLapqQ5)2cZ*gGbt3d?htbE&Gj I`nz!f089!NivR!s delta 647 zcmeBG?@`|%%EM(5VrXt<07M3p<#`N|xlugE$lU2XySNQZlamt-lT36ij5o*d@-Ww1 z*x41A6s0ESa#hUf4LY57+dyE?XYFrd(yg1XL~AiIe%j3XNNK~JFM>}Fc&+hqP~)A% zHfKM7rgfQqCbwftTKSIM#mI#Omun4#cv$aH!5j_HUZ z*elZ_{Wh$7VE&p{|Fl78hw>V(pdCr8H`y$z?@0+aNozYlb<2)Fmeqd(Ya_aK%@o~ZPqiEC?;e`$E)?iwYT;sPY~=F_T6YSaBC#MO^bC_|ds=E5S GaRC5DtQSE5 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}." )