# Laborantin (Laboratoire — carte monde) ## 1. Définition Personnage de service associé au site “Laboratoire” sur la carte du monde. Il présente les offres rares, les services d’analyse/synthèse et sert de personnage contextuel lors des événements du laboratoire. ## 2. Fonctions * **Accueil labo** : Introduit les onglets “Offres” et “Services” et le gating (niveau/réputation). * **Analyse** : Affiche l’état d’une analyse génétique (en cours/terminée/échec) avec cause explicite. * **Synthèse** : Affiche l’état d’une synthèse (succès/échec) et la traçabilité (seed, fiabilité, rareté). * **Alerte sécurité** : Personnage contextuel d’un `LAB_SECURITY_ALERT`. ## 3. Icone * **Représentation :** Éprouvette + brin ADN. * **Couleur dominante :** Cyan néon / indigo (hérite du site labo). ## 4. Interactions * **Ouverture labo** : clic sur POI laboratoire. * **Achat offre** : drag offre → camion (le laborantin valide l’achat et affiche le reçu). * **Consultation rapport** : clic “Voir rapport”. ## 5. Annexes Techniques ### Données (JSON) ```json { "npc_id": "lab_tech_01", "type": "laborantin", "name": "Iris", "assigned_site": "lab_site_uuid", "state": "enum (IDLE, PRESENTING, ANALYZING, SYNTHESIZING, ALERT)", "theme_variant": "string" } ``` ### Règles Métier * Le laborantin est **lié** au `laboratoire.md` (site carte monde). * Les erreurs doivent être explicitement remontées : `LAB_LOCKED_REPUTATION`, `ANALYSIS_FAILED`, `LAB_SECURITY_ALERT`, etc. # Annexes UX/UI ## 0. Direction Artistique & Vue * **Style** : Néon / techno, cohérent avec `laboratoire.md`. * **Rendu** : Portrait + bulles d’état dans la modal labo ; pas nécessairement un sprite sur la carte monde. ## Affichage contextuel (modules) - **Laboratoire** (`laboratoire.md`) : nouvelles offres, analyse terminée, synthèse terminée, alerte sécurité, fermeture temporaire. - **Camion** (`camion.md`) : au moment de l’achat (drag) si le labo refuse (gating/stock/fonds). ## Skins & thèmes * Palette et décor dérivent du thème (`theme.md`), avec variante “tech” du site. * Accessoires (lunettes, badge, gants) via skins (`inventaire_skins.md`) si activé.