ModelComponents.vue & GlobalObjects.vueCes vues servent de contrôleurs. Elles s'occupent de mapper les données des stores Pinia vers le format attendu par l'arbre.
itemsForTreeView : Un computed qui fusionne les racines (catégories) et les feuilles (composants) une fois le cache chargé.handleHoverEnter / Leave : Interfaçage avec le composable de highlight. Pour les modèles BRep/Section, on récupère tous les viewer_id enfants pour envoyer une seule requête groupée au viewer.updateVisibility : Méthode de synchro qui calcule le diff entre l'ancienne et la nouvelle sélection (compareSelections) et push les updates de visibilité vers le store de style avant de refresh le rendu.CommonTreeView.vueC'est le framework UI de l'arbre. Il est 100% générique.
options : Regroupement de search, customFilter, itemProps et selectionConfig dans un seul objet pour réduire l'empreinte de l'API du composant.handleItemClick() : Fonction de dispatch. Elle gère la réactivité selon le type de nœud (isLeaf) pour soit émettre un event métier, soit déclencher l'ouverture via useVirtualTree.v-virtual-scroll pour ne monter que les nœuds visibles dans le DOM.use_virtual_tree.jsC'est le moteur de transformation de l'arbre.
flattenTree() : Fonction récursive qui transforme l'arbre imbriqué en une liste plate. Elle traite les filtres de recherche et calcule les métadonnées (depth, isOpen, isLeaf) indispensables au v-virtual-scroll.toggleSelect() : Gère la logique de sélection (stratégie classique ou simple). En mode classique, elle propage l'état récursivement aux IDs des enfants pour assurer la cohérence de la sélection parente.openedSet / selectedSet : Passage en Set via des computed pour garantir des lookups en O(1) lors du rendu.Box.vueC'est ton wrapper de glassmorphism adaptatif.
updateBrightness() : Fonction throttlée (150ms) via useThrottleFn. Elle sample un canvas offscreen (basé sur le rendu VTK) pour déterminer la luminosité sous la box.-adaptive-blur, etc.). Le flou est réglé entre 8px et 25px selon un facteur d'atténuation exponentiel.useTemplateRef (API Vue 3.5) pour la gestion du scroll et du bounding box.