# Provenance d'environnement d'exécution ## Objectif Une session de jeu doit pouvoir décrire son environnement sans en déduire automatiquement une règle de classement. Cette provenance servira notamment aux futurs leaderboards, Hall of Fame, analytics, replays et diagnostics. ## Dimensions V1 `engine-v1-platform-api` expose cinq dimensions indépendantes. `PlatformFamily` décrit la famille de plateforme : Android, Desktop ou Web. `DeviceClass` décrit la forme physique pertinente pour l'interaction : Phone, Tablet, Desktop ou Unknown. `ExecutionModel` distingue le code natif du WebAssembly. `RuntimeHost` distingue un processus natif, un navigateur et une WebView Tauri. `InputProfile` décrit le mode de contrôle principal : Touch, KeyboardMouse, Gamepad, Mixed ou Unknown. ## Exemples Un Galaxy S9+ exécutant l'APK actuel peut être décrit comme : ```text PlatformFamily = Android DeviceClass = Phone ExecutionModel = Native RuntimeHost = Native InputProfile = Touch ``` Un runner SDL Desktop natif : ```text PlatformFamily = Desktop DeviceClass = Desktop ExecutionModel = Native RuntimeHost = Native InputProfile = KeyboardMouse ``` Le futur POC Tauri/WASM : ```text PlatformFamily = Desktop DeviceClass = Desktop ExecutionModel = Wasm RuntimeHost = TauriWebView InputProfile = KeyboardMouse ``` Une version Web dans un navigateur de téléphone pourra au contraire être `PlatformFamily = Web`, `DeviceClass = Phone`, `ExecutionModel = Wasm`, `RuntimeHost = Browser`, `InputProfile = Touch`. ## Classements et équité La provenance ne contient aucune méthode du type `is_fair`, `difficulty` ou `comparable_with`. La difficulté relative des contrôles dépend du jeu. Un jeu de réflexe, un Snake, un puzzle et un jeu au gamepad peuvent produire des conclusions différentes. Le futur backend de score pourra donc conserver une provenance complète et appliquer une politique par jeu : classement commun, classement séparé par profil d'entrée, filtres par plateforme, ou catégories multiples. L'identité joueur reste orthogonale. Un score pourra appartenir à un utilisateur authentifié ou anonyme tout en conservant exactement la même provenance runtime. ## Données et vie privée La provenance V1 décrit des catégories techniques générales. Elle ne requiert ni modèle précis de téléphone, ni identifiant matériel, ni adresse réseau. Un besoin futur de diagnostic plus fin devra être ajouté explicitement plutôt que d'élargir silencieusement cette structure.