JARVIS-UI
Mise à jour 2.162
22/06/2026
v2.162.0.0MINORJarvis-UI
PHASE E TERMINÉE : `ModuleMasterDetail_Shell` dans les 12 modules Core Authoring (E1-E12) (Jarvis-UI)
- (jalon de fin de phase — consolidation des 5 PATCH
v2.161.1.0→v2.161.5.0). La phase E dans son intégralité dudocs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md(§2 norme canonique + §3 E9-E12 + §4) est livrée : 12 modules Core Authoring migrés depuis les versions développées manuellementAuto,*/2*,5*/3*,6*,3*(carte de bordurePadding=16élargie + ScrollViewer) vers le shell canonique (ModuleMasterDetail_Shellavec Expander repliable,Padding=8, dense) . Modules : E1 CtbBase, E2 PlayerGrowth, E3 Formation, E4 Treasure, E5 KeyItem, E6 AutoAbility, E7 BukiGetTreasureCatalog, E8 MonEditorSelector (v2.161.1.0) + E9 CustomizationEditor (TabControl avec 2 shells Gear/Aeon,v2.161.2.0) + E10 ShopExplorer (cascade à 3 colonnes, hex→jetons,v2.161.3.0) + E11 MixTableEditor (matrice 112×112,v2.161.4.0) + E12 KernelCommands (le fichier le plus détaillé du dépôt, 977 lignes, hex→tokens,v2.161.5.0). Décisions architecturales majeures (E9-E12) : TabControl externe conservé dans Customization (2 shells) ; le sélecteur de source devient une liste déroulante (ComboBox) dans le MasterHeader de Shop ; l’axe « partner » devient un Expander dans la vue Detail de MixTable ; la barre de session est conservée au-dessus du shell + « Where Used » devient un Expander dans la vue Detail de KernelCommands. Chaque module a gagnérsp:Responsive.Breakpoints="True"+ un styleUserControl.narrowqui réduit le master en<760px. DataContext/bindings/handlers/converters/AutoSaveIndicator_Control/AtlasEvidenceBadgeStrip/IRestorableModule/x:Namesont tous inchangés. Writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE n'ont pas été modifiés. Build de publication 0 erreur (403 avertissements préexistants — référence Jarvis-UI). Suivant : Phase F (F1 icônes + emojis, F2 a11y, F3 balayage des jetons, F4 i18n). [précédent :v2.161.5.0]
v2.162.1.0PATCHJarvis-UI
Phase F §F1 : icônes utilitaires (13 nouvelles) + balayage des emojis (8 fichiers `.axaml`) (Jarvis-UI)
- (amélioration visuelle : iconographie ; aucune nouvelle fonctionnalité). Premier commit de la Phase F (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§4.F1). Portée : conteneur visuel uniquement — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE inchangés. 13 nouvelles icônes utilitaires dansStyles/StudioIcons.axaml(IconSearch/IconAdd/IconRemove/IconWarning/IconUndo/IconRedo/IconFilter/IconOpen/IconClose/IconChevronDown/IconChevronRight/IconCheck/IconX— De type Lucide, viewBox 24×24,<StreamGeometry>). Emojis Sweep dans les 8 fichiers.axamlrépertoriés : 🏐/💾/🌅/🗺️ supprimés des titressectionLabel/cardTitleet des boutons « Save ». Les boutons de sauvegarde (💾 Salvar) ont été enrichis de<PathIcon Data="{DynamicResource IconSave}"/>+ du texte (MonsterAiEditor ×2, EncounterTableExplorer ×1, AuroraChamber ×3). Les titres comportant des emojis (🌅/🗺️/🏐) ont vu leur emoji supprimé (nettoyeur qui traite les PathIcon en ligne dans TextBlock).SphereGridCanvas_Control.axamlétait déjà nettoyé (emoji supprimé dansv2.159.5.0OPT-A6). Bonus en dehors des 8 : 2 titresSetModulevisibles par l'utilisateur ("Save Editor 💾","Sphere Grid 🧩"dansMain_Window.axaml.cs) également supprimés pour assurer la cohérence visuelle de l'en-tête. Les emojis dans.cs(commentaires + chaînes d'état) n'ont pas été modifiés (hors du champ d'application). Build de publication 0 erreur (403 avertissements préexistants)
v2.162.0.0
v2.162.2.0PATCHJarvis-UI
Phase F §F2 : `AutomationProperties.Name` global sur environ 98 boutons d’action (a11y) (Jarvis-UI)
- (amélioration de l’accessibilité ; aucune nouvelle fonctionnalité). Deuxième commit de la Phase F (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§4.F2). Portée : conteneur visuel uniquement — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE inchangés. Accessibilité des boutons d’action : avant ce commit, seuls environ 8 boutons des modules F2 disposaient deAutomationProperties.Name(les lecteurs d’écran ne parvenaient pas à annoncer les boutons comportant uniquement une icône). Ajout de 98 boutons : 87 via un scriptwork/_a11y_name_sweep_20260622.ps1(dérive le nom du texte visible du bouton ; lit en UTF-8 ; ignore les boutons comportant du texte non-ASCII ou des glyphes d’icône tels que ◀/▶/… pour éviter le mojibake) dans les 12 Core Authoring + SaveEditorHub + (Customization/Shop/MixTable/KernelCommands), + 4 explicites dans KernelCommands (◀/▶ « Previous/Next FSB sample », « Import fsbankcl », « Import custom WAV »), + 2 dans le MainDashboard (Open Workspace + QuickTile{Binding Title}— icône uniquement, priorité a11y plus élevée), + 5 dans Main_Window (Music/Settings/Workspace path/Back/Forward rail icons). Après la validation : 164 occurrences deAutomationProperties.Namedans 18 fichiers deModules/(contre environ 8 dans le périmètre F2 auparavant). Hand lers/bindings/writers inchangés. Compilation de la version finale 0 erreur (403 avertissements préexistants). [précédent :v2.162.1.0]
v2.162.3.0PATCHJarvis-UI
Phase F §F3 : balayage des tokens — Remplissage uniforme → `Spacing*` (518 littéraux dans 67 fichiers) ; CornerRadius **non tokenisé** (par souci d’honnêteté) (Jarvis-UI)
- (peaufinage du système de conception ; aucune nouvelle fonctionnalité). Troisième commit de la Phase F (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§4.F3 — « taux de rotation élevé, faible valeur incrémentale »). Portée : conteneur visuel uniquement — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE inchangés. Balayage de remplissage : 518 littérauxPadding="N"uniformes (N ∈ {4,8,12,16,20}) migrés vers{DynamicResource SpacingXs/Sm/Md/Lg/Xl}dans 67 fichiers.axamldeModules/via un script conservateur (work/_padding_sweep_20260622.ps1— só substitui valores que batem exato com um token; deixou intactos os ~340 Paddings assimétricos/não-token comoPadding="10,6"/Padding="14").MonsterAiEditor2_Control.axamlnão migrado (discontinued). CornerRadius sweep (§F3b) = NO-OP honesto: os valoresCornerRadiusativos nos módulos são majoritariamente 5/6/7/14 — nenhum bate com os tokensRadiusSm=8/Md=10/Lg=12/Pill=999. Forçar o valor mais próximo seria mudança visual, não tokenização. O doc citava "158 CornerRadius" mas esse count incluíaMonsterAiEditor2_Control.axaml(discontinued, ~34 ocorrências de 8/10). Decisão documentada: deixar CornerRadius literal onde não há match exato. Pós-commit: 518Padding="{DynamicResource Spacing*}"em 67 arquivos; 0Padding="16"restantes. Handlers/bindings/writers intocados. Build Release 0 erros (403 warnings preexistentes). [anterior:v2.162.2.0]
v2.162.4.0PATCHJarvis-UI
Phase F §F4 : fondements de l’i18n (`.resx`) (Jarvis-UI)
- (fondation ; aucun changement de comportement visible par défaut — la culture par défaut reste « en »). Quatrième et dernier commit de la Phase F (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§4.F4). Portée : conteneur visuel uniquement — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE inchangés. Mise en place de l’infrastructure d’internationalisation : avant ce commit, le dépôt comptait 0.resx; chaînes codées en dur partout. Créé :Resources/Strings.resx(neutre = en, ~17 clés porteuses : titres de héros, étiquettes de rails, emplacements de palette) older, étiquettes d'action, boutons de mode) +Resources/Strings.pt.resx(satellite PT-BR) +Resources/Strings.cs(accesseur statique viaResourceManager, 1 propriété statique par clé — pouvant être liée en XAML sous la forme{x:Static res:Strings.Xxx}) +Strings.ApplyUiCulture()(litFFX_UI_LANG=pt|en; valeur par défaut = neutral/en ; définitDefaultThreadCurrentUICultureavant tout binding XAML). Câblage :App.axaml.cs Initialize()appelleStrings.ApplyUiCulture()avantAvaloniaXamlLoader.Load. Les.resxsont desEmbeddedResourceimplicites fournis par le SDK glob (Resources/**/*.resx) — vérification que le satellitept\FFXProjectEditor.resources.dllest émis. Démonstration de la liaison sur deux points porteurs : MainDashboard CTA « Ouvrir le dossier de l'espace de travail » ({x:Static res:Strings.DashboardCtaOpenWorkspace}+ nom a11y) + espace réservé de la palette de commandes (Watermark="{x:Static res:Strings.RailSearchPlaceholder}"). En toute honnêteté : l’internationalisation complète (i18n) est un travail sans fin (doc §4.F4). Ce commit pose les bases et illustre le modèle ; la migration des quelque 50 titres/descriptions du ModuleRegistry ainsi que des centaines de chaînes internes reste à traiter ultérieurement (ajouter une clé dans les 2 fichiers resx + une propriété dans Strings.cs + remplacer le littéral par{x:Static}). Aucun utilisateur non-PT n’est identifié à ce jour, doncFFX_UI_LANGn’est pas affiché dans l’interface utilisateur (variable d’environnement uniquement). Handlers/bindings/writers/save bytes/hooks inchangés. Build Release 0 erreur (403 avertissements préexistants). Clôture de l’ensemble de la phase F (F1-F4). [précédent :v2.162.3.0]
v2.162.5.0PATCHJarvis-UI
i18n : migration `ModuleRegistry` (41 modules × 5 champs) + chaînes du tableau de bord + §16–§17 TERMINÉ (Jarvis-UI)
- (réutilisation de la base i18n F4 ; aucune nouvelle fonctionnalité produit). Post-prompt
PROMPT_GLM_PHASE_E_HARD_AND_F: 205 clésMod_{id}_{Title|Description|Mode|Notes|Scope}dansStrings.resx+Strings.pt.resx(générateurwork/_gen_module_i18n_20260622.ps1);Strings.Get/Strings.Modulerecherche dynamique ;ModuleCatalogEntry.Localized*(tableau de bord, palette, info-bulle du rail, bannière viaSetModulesuperposition lorsque_currentModuleIdtouche le registre). +11 touches tableau de bord (héros chargé/vide, libellés Espace de travail/Modules/Hook).MainDashboard_ControllieLocalizedTitle/Description/Mode+{x:Static res:Strings.*}.docs/specs/EDITOR_UI_OVERHAUL_PLAN.md§16–§17 marqués DONE (v2.160.0.0).PORT_STATUS.mdréconcilié (v2.162.4.0→v2.162.5.0). Honnêteté : descriptions en portugais complètes là où le registre était déjà en portugais ; titres en anglais traduits dans le satellite ; les chaînes internes des 68SetModulelittéraux restent en attente. Smoke RT1 + fusion Halyson en attente. Portée : conteneur uniquement. Build de publication 0 erreur
v2.162.4.0
v2.162.6.0
correction : palette de commandes `Ctrl+K` + tiroir étroit `Ctrl+B` (fenêtre contextuelle `IsOpen`, tunnel KeyDown) (Jarvis-UI)
- Lane Ja rvis-UI. PATCH (corrige les raccourcis promis depuis la phase D qui n'ouvraient jamais la fenêtre superposée). Avalonia 11
PopupnécessiteIsOpen— le code utilisaitIsVisible(no-op). Raccourcis migrés vers le gestionnaire tunnel (KeyDownEvent) pour fonctionner avec le focus sur les TextBox/éditeurs enfants.PlacementTarget+Topmostdans les fenêtres contextuelles. Build de publication 0 erreur. [précédent :v2.162.5.0]
v2.162.8.0PATCH
correction : SGM 861, hook v1.30 pour l'emplacement OOB 860 (Jarvis-MAGIC-SGM)
SphereGridFullGridCompilerHook v1.30: mise à jour du numéro de démarrage942B6041252→41328, SKIP étendu (-861/-862), patch F858 uniquement pour les writers +0/+4, ALLOC-TRACE, surveillance du producteur, draw860 réactivé lorsque les tampons 861 sont prêts. RE :docs/reverse/FFX_SPHEREGRID_861_PRODUCER_RE_2026-06-20.md. Compilation de la DLL réussie ; RT2 en jeu À tester
v2.162.7.0
v2.162.9.0PATCHJarvis-UI
correction : bug MonsterAiEditor `{StaticResource Spacing*}` + couleurs « Accent neon » restaurées (Jarvis-UI)
- Deux problèmes signalés par Halyson : (1) Bug :
MonsterAiEditor_Control.axamlcomportait 4 occurrencesPadding="{StaticResource SpacingLg/Md}"qui ne se résolvaient pas au démarrage (même classe que le correctifv2.159.6.1— les tokensSpacing*résident dansApplication.Resourcesaprès leStyleInclude, ce qui entraîne l'échec deStaticResource; le balayage F3 a utilisé{DynamicResource}, mais ces 4 lignes provenaient du pilotage manuel duv2.159.6.0qui s'est échappé). Remplacé par{DynamicResource Spacing*}— corrige le bug. (2) Couleurs « laides, sans néon » : lev2.159.6.0a normalisé les 15Accent*FillBrush(Shell/Protect/Regen/Gold/Cycle/Forbidden/Crimson/Undo/Refresh/Move/Haste/Reflect/NulAll/Builder/Reaction) en teintes très sombres (#21506A/#1E5E45/etc.), ce qui a atténué l'éclat des contours néon. Restauré dans des tons plus saturés/vifs (ex. : Shell#21506A→#1A6E8C, Protect#1E5E45→#1E8050, Gold#4A4226→#6E5E2A, Cycle#3D4F78→#3A5BB0) — un compromis entre le remplissage foncé et le contour néon, qui apporte de la présence sans pour autant devenir un néon uni. Contours/premiers plans néon (#66D8F0/#6FE3B7/#AAB4FF/etc.) restent inchangés (ils étaient déjà beaux). Cela affecte tous les modules qui utilisentAccent*(MonsterAi est le plus important). Portée : conteneur visuel uniquement — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE n'ont pas été modifiés. Build de version 0 erreur (403 avertissements préexistants)
v2.162.8.0
v2.162.9.1REVISIONJarvis-MAGIC
Spira Reforge : design verrouillé — Overdrive→AP out + récompense par niveau T
- Halyson : supprimer Overdrive→AP (farm d’AP fastidieux) ; remplacement à déterminer. Mode SIN : les monstres de niveau T gagnent également des statistiques de base ↑ et davantage de butin (sans chiffres pour l’instant) (ce doc). Documents :
FFX_SPIRA_REFORGE_VANILLA_OFFENSIVE_REBALANCE_2026-06-16.md,SIN_DIFFICULTY_MODE_SPEC.md§3.4. [précédent :v2.162.9.0]
v2.162.9.2REVISIONJarvis-MAGIC
Spira Reforge : transfert du harnais de test RT2 (attribution des compétences avant la grille)
- Doc
docs/ai/PROMPT_SPIRA_REFORGE_COMMAND_RT2_TEST_HARNESS_2026-06-18.md— coller dans le chat parallèle : déploiement minimalcommand.bin,GridTeach+ sidecargrid_teach_learned.bin, autorisation viaffxprobectl call 385D10, test de fumée par pack (manifeste), liste de contrôle revenir à la version d'origine à la fin du test
v2.162.9.1
v2.162.9.4PATCH
Composition Arena+ : déploiement complet du lab + debounce de la touche Entrée (Jarvis-ARENA)
- Sortie
2147516570=ArenaMultiBossLab.dllmanquant — le déploiement copie désormais l'intégralité du dossier versmodules\tools\ArenaMultiBossLab\. Sélecteur : front montant sur Confirm + temps de recharge de 20f après la commutation (correction du désélectionnement en appuyant sur Entrée)
v2.162.9.3