Étape 0a.3 : moteur embarqué (cœur de gnubg), engine.h et engine-cli

Fusion du travail du sous-agent (branche moteur-embarque-travail) ; plan
supprimé à la clôture, son résultat est repris dans la merge request.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 14:02:56 +01:00
co-authored by Claude Opus 5.5
68 changed files with 131963 additions and 15 deletions
+13 -6
View File
@@ -8,15 +8,18 @@ Les contenus pédagogiques (leçons, textes) sont sous licence CC BY-SA 4.0.
- **GNU Backgammon** — https://www.gnu.org/software/gnubg/
Copyright © les auteurs de GNU Backgammon. Licence GPLv3 ou ultérieure.
Ustagammon s'appuie entièrement sur son moteur pour les règles, les coups,
le videau et les évaluations.
le videau et les évaluations. Copie non modifiée de son cœur dans
`engine/gnubg/` (commit 14b6798 ; liste dans `engine/gnubg/PROVENANCE.md`),
avec ses poids `gnubg.weights` dans `engine/data/`.
- **Table d'équité de match Kazaross-XG2** (`engine/data/Kazaross-XG2.xml`),
Copyright © 2011 Neil Kazaross, transcrite pour gnubg par Michael Petch ;
distribuée avec gnubg, copie libre sous réserve de garder sa notice.
Les projets suivants sont étudiés comme points de départ ; ils seront crédités
précisément ici dès que du code en sera repris :
Étudié comme référence de lecture, sans reprise de code :
- **gnubg-nn**, bibliothèque d'évaluation de GNU Backgammon —
https://git.savannah.gnu.org/cgit/gnubg/gnubg-nn.git
- **CBG**, portage Android de GNU Backgammon (GPLv3) —
https://github.com/clavierhaus/gnubg-android
https://github.com/clavierhaus/gnubg-android ; son fichier
`jni-bridge/src/stubs.c` a servi de repère pour isoler le cœur de gnubg.
## Outils de développement
@@ -33,6 +36,10 @@ précisément ici dès que du code en sera repris :
`gnubg_ts0.bd` sont produits par ce programme.
- **jq** (licence MIT), lecture des JSON dans `tests/test_reference.sh` ;
utilisé sur le PC, pas dans Docker.
- **Image `ustagammon/build-c`** (`docker/build-c/Dockerfile`), construite sur
Debian trixie : gcc (GPLv3 avec exception d'exécution), make (GPLv3),
GLib (LGPL 2.1 ou ultérieure, uniquement pour les outils `makeweights` et
`makebearoff` lancés au build ; le moteur embarqué n'en contient rien).
## Remerciements