OptionalinitInitialise GeoLeaf et crée la carte.
⚠️ map.target — ou son raccourci target/mapId — est obligatoire :
APIInitializationManager._normalizeInitOptions jette sans lui. La forme attendue est
{ map: { target }, data: { activeProfile, profilesBasePath } }.
⚠️ Distinct de GeoLeafTopLevelApi.boot : boot() lance l'application pilotée par
profil (chargement de config puis registry.init()), init() est l'enveloppe manuelle
de GeoLeaf.Core.init(). Le init du chemin de boot est celui du ModuleRegistry, pas
celui-ci.
OptionalsetApplique un thème par identifiant. Rend true si le thème a été appliqué.
OptionalloadCharge une configuration depuis une URL ou un objet. Jette (TypeError) sur autre chose.
OptionalcreateCrée une instance de carte gérée par GeoLeaf. Rend null si le contrôleur est absent.
OptionalgetRend l'instance de carte enregistrée sous cet identifiant, ou null.
OptionalgetRend toutes les instances de carte enregistrées — tableau vide si aucune.
OptionalgetRend un module enregistré par son nom, ou null.
Optionalhastrue si un module de ce nom est enregistré.
OptionalgetRend un namespace de premier niveau (GeoLeaf[name]), ou null.
OptionalgetRapport de santé de l'APIController, ou null s'il est indisponible.
OptionalgetAlias de GeoLeafTopLevelApi.getHealth.
⚠️ Les deux implémentations doivent pointer une fonction qui ne dépend pas de this —
la forme this.getHealth() jetait dès que la méthode était détachée du namespace.
Les méthodes raccourcies montées directement sur
globalThis.GeoLeaf.Tous les membres sont optionnels : le namespace est assemblé au boot (chaîne B1→B11), et un consommateur qui le lit trop tôt voit un objet partiel. C'est la même posture que
GeoLeafGlobal, qui référence ce contrat membre par membre — en ligne, jamais parextends: les lecteurs d'AST du dépôt (scripts/lib/ts-decl-read.cjs) n'itèrent que les membres déclarés, et un membre hérité leur serait invisible.