sdk 0.7.0
NimbyRailsSDK devient **NimbyRailsFranceSDK**, avec une API publique **C++20 uniquement**.
### Rupture de compatibilité
- Nouvelle DLL : `NimbyRailsFranceSDK.dll`.
- Nouveau paquet CMake : `find_package(NimbyRailsFranceSDK 0.7 CONFIG REQUIRED)` ; cible `NimbyRailsFranceSDK::SDK`.
- Les anciens exports `NimbySdk_*` et les headers publics `nimby/sdk.h` et `nimby/observation.h` sont retirés.
- Utiliser `<nimby/client.hpp>`, `nimby::Client`, les snapshots et les getters. Les fonctions `NimbyInternal_*` et les headers `detail/` restent un pont privé, version 2, nécessaire aux helpers.
- Le TCO existant n'est pas compatible : sa migration est séparée. Remplacer seulement sa DLL ne suffit pas.
Voir le [guide de migration 0.6 vers 0.7](https://github.com/NimbyRails-France/sdk/blob/v0.7.0/docs/migration-0.7.md).
### API et outils
- `nimby::getVersion()` vérifie la DLL sans ouvrir le jeu.
- `Exception::code()` et `nimby::ErrorCode` exposent les erreurs en C++.
- `TrainService::isOnNetwork()` et `isHidden()` distinguent présence native, position masquée et valeur inconnue.
- La vitesse exige désormais un indicateur de validité explicite ; le repli historique sur `NIMBY_TRAIN_PRESENT` est retiré.
- Les trois exemples utilisent uniquement l'API C++ et le SDK installé. Configurations CLion, chargeur, paquets et documentation sont renommés.
- Les données de la 0.6.6 restent disponibles : services des trains, localisation, quais, occupations, réservations, plan de ligne et voyageurs embarqués.
### Paquets
- `NimbyRailsFranceSDK-0.7.0-windows-x64-mingw.zip` : kit de développement, DLL, en-têtes, bibliothèque d'import, documentation et exemples.
- `NimbyRailsFranceSDK-0.7.0-drop-in-windows-x64.zip` : proxy SDL et installateur.
- `NimbyRailsFranceSDK-0.7.0-hub.zip` et `project.json` : paquet Hub et métadonnées. Le catalogue Hub et le TCO doivent être migrés séparément.
- `SHA256SUMS.txt` : empreintes des trois archives et des métadonnées.
Pour une ancienne installation drop-in 0.6, utiliser son ancien script de désinstallation avant d'installer 0.7.
### Validation et limites
13/13 tests réussis en Debug et Release, dont le rejet de l'ancienne interface et l'absence des anciens exports. Les trois exemples compilent indépendamment depuis le paquet installé et passent leur contrôle de version sans jeu. Aucun nouvel essai en partie réelle pour cette migration : le jeu était fermé.
Windows x64 / C++20, kit MinGW. Les snapshots restent non atomiques et les valeurs indisponibles optionnelles. Les horaires du plan de ligne sont relatifs, sans garantie sur le parcours futur effectif.
Profil du jeu compatible (SHA-256) : `fff49ac21720abfc824c2b4f68b862727630eb0db71cfe1f9ea8f685d0db10ae`.
Les archives ne contiennent ni exécutable du jeu, ni SDL originale, ni sauvegarde.