JARVIS-UI
Actualización 2.161
22/6/2026
v2.161.0.0MINORJarvis-UI
Fase D COMPLETA: Paleta de comandos `Ctrl+K` (Jarvis-UI)
- (nueva funcionalidad del producto: paleta de comandos con búsqueda aproximada). Commit que cierra toda la Fase D del
docs/ai/PROMPT_GLM_PHASE_D_TO_F_2026-06-20.md(D1+D2+D3+D4 + este D5). Alcance: nueva interfaz de navegación rápida — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE sin modificar. NuevoModules/Main/CommandPalette_Popup.axaml(.cs): Control de usuario propio (solo contenedor, no admite controladores) conTextBox(marcador de posición «Buscar módulos…») +ItemsControlvinculado a los datos delModuleRegistry.Allfiltrado porTitle.Contains/Description.Contains/Id.Contains(IgnoreCase). Cada resultado muestra un icono (a través deIconKeyToGeometryConverter.ResolveGeometry) + Título + Descripción (2 líneas). Al pulsar Intro se abre el primer resultado (selección implícita); al hacer clic en una fila, se abre según el ID; al pulsar Esc se cierra. Cableado enMain_Window: nuevo<Popup Name="CommandPalette" PlacementMode="Center" IsLightDismissEnabled="True">(espacio en blanco en el XAML — contenido instanciado en el código subyacente para evitar un espacio de nombres XAML adicional);ToggleCommandPalette()caché la instancia, iniciaDispatchRequested/CloseRequested(eventos) y llamaReset()antes de abrir.OnKeyDownganaif (ctrl && e.Key == Key.K) ToggleCommandPalette().Palette_DispatchRequested(id)cerrar la ventana emergente +Dispatch(id). Aceptar: Ctrl+K abre la paleta central; escribe «save» → aparece «Save Editor»; pulsa Intro para abrirlo. Fase D completa entregada en 5 commits (v2.160.1.0→v2.160.4.0PARCHES + esta VERSIÓN MENOR) Función de «Atrás/Adelante» restaurable en todos los ~72 controles a través deIRestorableModule(8 editores + 9 hubs con estado explícito; el resto sin estado mediante los métodos predeterminados de la interfaz) + Paleta de comandos Ctrl+K en los 41 módulos. Compilación de versión 0 errores (403 advertencias preexistentes). [anterior:v2.160.4.0]
v2.161.1.0PATCHJarvis-UI
Fase E parcial (E1-E8): `ModuleMasterDetail_Shell` en 8 módulos de Core Authoring (Jarvis-UI)
- (mejoras superficiales: migración del diseño; sin nuevas funcionalidades). Primeras 8 confirmaciones de la Fase E (
docs/ai/PROMPT_GLM_PHASE_D_TO_F_2026-06-20.md§4). Ámbito: solo contenedor visual — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE sin modificar; DataContext/bindings/handlers/IRestorableModule sin cambios. 8 módulos migrados del código personalizadoAuto,*/2*,5*cuadrícula (tarjeta de borde)Padding=16(expandido + ScrollViewer) para el shell canónico (Expander plegable,Padding=8, denso): E1 CtbBase, E2 PlayerGrowth, E3 Formation (la ficha «field-context» pasó a llamarse «MasterHeader»), E4 Treasure (las fichas específicas de cada tipo se conservan en «Detail» ), E5 KeyItem (2*,5*→Auto,*), E6 AutoAbility (8 tarjetas con detalles conservados), E7 BukiGetTreasureCatalog (raízMargin=18eliminado + hex#C9A227→WarningBrush), E8 MonEditorSelector (ya tenía un Expander manual — sustituido por el shell; intercambio de detalles medianteContentControl Name="ContentFrame"(que se mantiene en la ranura «Detail»). Cada módulo ha obtenidorsp:Responsive.Breakpoints="True"+ estiloUserControl.narrowque provoca el colapso del maestro en<760px. Faltan E9-E12 (Personalización/Tienda/MixTable/KernelCommands — diseños de 3 columnas/matriz, mayor riesgo). Compilación de la versión 0 errores (403 advertencias preexistentes). [anterior:v2.161.0.0]
v2.161.2.0PATCHJarvis-UI
Fase E, apartado E9: `CustomizationEditor` → `ModuleMasterDetail_Shell` (2 ventanas dentro de TabControl) (Jarvis-UI)
- (po cambio de superficie: migración del diseño; sin nueva capacidad). Continuación de la Fase E (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§3.E9). Ámbito: solo contenedor visual — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE sin modificar; DataContext/bindings/handlers/IRestorableModule sin modificar. ElCustomizationEditor_Control.axaml(396 → ~340 líneas) se migra la cuadrícula creada manualmente3*,7*(Tarjeta de fronteraPadding=16(inchado + ScrollViewer) de cadaTabItempro shell canónico — el<TabControl>externo (Gear / Aeon) se conserva; dentro de cadaTabItemAhora hay una instancia propia delModuleMasterDetail_Shell(2 shells, con las etiquetas de encabezado «Gear Recipes» / «Aeon Recipes»). Los 2 conjuntos de enlaces (GearFilterText/DisplayedGearRecipes/SelectedGearRecipe/GearEditSessionvsAeonFilterText/DisplayedAeonRecipes/SelectedAeonRecipe/AeonEditSession) quedan aislados en su shell, sin mezclarse.AutoSaveIndicator_Control(Gear/Aeon) yAtlasEvidenceBadgeStrip(Aeon) conservados. Densidad aplicada: elemento de ListBoxPadding=12→10,Margin=0,0,0,10→6, fuentes16→14,sectionLabel/mutedganaronFontSize=11. Ganórsp:Responsive.Breakpoints="True"+ estiloUserControl.narrowque fusiona ambas másteres en<760px. Faltan E10-E12 (Shop/MixTable/KernelCommands). Compilación de la versión 0 errores (403 advertencias preexistentes). [anterior:v2.161.1.0]
v2.161.3.0PATCHJarvis-UI
Fase E, apartado E10: `ShopExplorer` → `ModuleMasterDetail_Shell` (3 columnas en cascada) (Jarvis-UI)
- (mejora superficial: migración del diseño; sin nuevas funcionalidades). Continuación de la Fase E (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§3.E10). Alcance: solo contenedor visual — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE sin modificar; DataContext/bindings/handlers/IRestorableModule sin alterar. ElShopExplorer_Control.axaml(361 → ~360 líneas) se migra la cuadrícula creada manualmenteAuto,Auto,*(3 columnas en cascada: ListBox de origen | ListBox de filas de la tienda | editor de segmentos de ranuras) para el shell canónico. Decisión de arquitectura: el selector de origen (Col0) se convierte en un ComboBox compacto en el MasterHeader (LoadedSources/SelectedSource+LoadSummary+ Refresh); las filas de la tienda (Col1) se convierten en elMasterList(FilterText+DisplayedShops/SelectedShop+ retroalimentación del filtro); el editor de segmentos de ranura (Col2) convierte elDetail(WrapPanel denso de tarjetasSelectedSlotscon Image/ComboBox + Expander «Detalles avanzados» conservado).AutoSaveIndicator_ControlyAtlasEvidenceBadgeStripse han conservado. Hex → tokens: el icono visual de la ranura tenía#0D1621(fondo) y#274760(border) inline →{DynamicResource PanelDeepBrush}/{DynamicResource PanelStrokeBrush}. Ganórsp:Responsive.Breakpoints="True"+ estiloUserControl.narrowque provoca el colapso del maestro en<760px. Faltan E11-E12 (MixTable/KernelCommands). Compilación de la versión 0 errores (403 advertencias preexistentes)
v2.161.2.0
v2.161.4.0PATCHJarvis-UI
Fase E, apartado E11: `MixTableEditor` → `ModuleMasterDetail_Shell` (matriz 112×112, 3 columnas) (Jarvis-UI)
- (retoque superficial: migración del diseño; sin nuevas funcionalidades). Continuación de la Fase E (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§3.E11). Ámbito: solo contenedor visual — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE sin modificar; DataContext/bindings/handlers/IRestorableModule sin alterar. ElMixTableEditor_Control.axaml(176 → ~200 líneas) se migra la cuadrícula creada manualmente3*,3*,5*(matriz 112×112: origen ListBox | socio ListBox | detalle del resultado) para el shell canónico. Decisión arquitectónica: la matriz requiere dos selecciones encadenadas (origin → partner → result) y no encaja directamente en el modelo maestro-detalle canónico. Origin (Col0) se convierte enMasterList(carcasa solo para el eje principal,OriginFilterText/DisplayedOrigins/SelectedOrigin); el partner (Col1) se convierte en un selector dentro del Detail en un Expander que se puede contraer (por defecto, expandido —ResultFilterText/D isplayedResults/Resultado seleccionado, label "Partner Item"); result detail (Col2) vira o topo do Detail (heroheroBluepreservado + session + Combination Editor).AutoSaveIndicator_Control,GameIndex_PlantillaeAtlasEvidenceBadgeStrippreservados. Ganhoursp:Responsive.Breakpoints="True"+ styleUserControl.narrowque colapsa o master em<760px. Falta E12 (KernelCommands — maior detail do repo, maior risco). Build Release 0 erros (403 warnings preexistentes). [anterior:v2.161.3.0]
v2.161.5.0PATCHJarvis-UI
Fase E, apartado E12: `KernelCommands` → `ModuleMasterDetail_Shell` (MÁS DETALLES DEL REPO, 3 columnas + barra de sesión + hex) (Jarvis-UI)
- (retoque superficial: migración del diseño; sin nuevas funcionalidades). Última confirmación de la Fase E (
docs/ai/PROMPT_GLM_PHASE_E_HARD_AND_F_2026-06-22.md§3.E12 — el de MAYOR RIESGO del plan). Ámbito: solo contenedor visual — writers/save bytes/hooks/FfxLib/RT0/RT2/SGM/SPIRA FORGE sin modificar; DataContext/bindings/handlers/converters/IRestorableModule sin alterar. ElKernelCommands_Control.axaml(977 → ~970 líneas) se adapta al diseño de 3 columnas (3*,6*,3*lista de comandos | editor de detalles | «Dónde se utiliza») + barra de sesión del shell canónico. Decisión de arquitectura: outerRowDefinitions="Auto,*"se mantiene: la TOP SESSION BAR aparece por encima del shell (fila 0, sin cambios); el shell de la fila 1 tieneMasterList= comando ListBox (era Col0,DisplayedCommands/Selec tedCommand+FilterText+ botões Clonar/Apagar/Adicionar),Detalle= editor (era Col1, ~840 linhas de campos densos preservados byte-a-byte: Identity/Animations/Battle SFX 3 tiers/Menu/Characters/Costs/Attack Data/Element/Properties/Status/Status Special/Extra); a 3ª coluna "Where Used" (era Col2) vira um Expander colapsável dentro do Detail (default colapsado, label "Where Used — monster links").x:Nombres preservados (ThisControl,Lista de comandos,Lista de MonsterLinks) — o code-behind referenciaMonsterLinksList.ElementoSeleccionadoemOpenReferenceMonster.AutoSaveIndicator_Controle os 3 converters (Personaje/Fórmula de daño/HitCalcType) preservados. Hex → tokens no mesmo commit:#FF6B6B(LoadError foreground) →DangerBrush;#1A2A3A(Spira Ward note bg) →PanelDeepBrush;#3A6EA5(Spira Ward note border) →PanelStrokeBrush;#7EC8FF/#B8D4E8(Spira Ward note foreground) →AccentCoolBrush(token exato já existe). Ganhoursp:Responsive.Breakpoints="True"+ styleUserControl.narrowque colapsa o master em<760px. Fecha a Fase E (E1-E12 completa). Build Release 0 erros (403 warnings preexistentes). [anterior:v2.161.4.0]