JARVIS-UI
Update 2.158
6/20/2026
v2.158.0.0MINORJarvis-UI
UI audit follow-up: accent tokens, dashboard quick-launch, and global shortcuts
- Promotes ~100 literal hex values from
MonsterAiEditorintoAccent*Fill/BorderBrushtokens plusButton.accent*styles inStudioTokens/StudioTheme. Data-driven home dashboard (MainDashboard_Control): workspace-state hero, responsive quick-launch grid, andQuickLaunchRequestedrouted inMain_Window. First global app shortcuts:Ctrl+B(toggle IconRail),Alt+Left/Alt+Right(back/forward). Footer/status bar and rail menus cleaned up (emojis removed;PathIconon the workspace badge)
v2.157.0.0
v2.158.1.0PATCHJarvis-UI
Save Editor: empty state + collapsible nav + active tab
- Continues the module-by-module UI audit, now on the Save Editor (FFXED port). (P0) When
HasSession == false, theTabHostis replaced by aBorder#EmptyState(style already inStudioTheme) with an icon, "No save loaded" title, a subtitle listing accepted formats (.psu / 25848 bytes / .ffx PC / .ps2 MC), and a primary Load… CTA wired to the existingButton_Loadhandler — preferring the inverted binding (IsVisible="{Binding !HasSession}") over code-behind logic. (P1-A) Clicking Equipment/Items/Blitzball/Sphere Grid/Minigame/Misc now marks the active button: removed the statictabPillActivethat only ever sat on Character, andSelectTab(int)now applies/clears the class across all 7 buttons (same pattern asSubTabHub_Control). (P1-B) The fixed ~220px side nav becomes a left-collapsingExpander(ExpandDirection="Left", state persisted inIsSectionsExpandedon the DataModel, expanded by default) — the same pattern already validated inMonsterAiEditorLayer 4 of the overhaul. (P3 light)AutomationProperties.Nameon the toolbar Load/Save/Save As/FFXED buttons. Scope respected: FFXED logic /FfxSaveFile/ batch tags / MC multi-slot / save format /--ffx-save-rt2CLI all untouched — only the hub's visual container changed. Release build 0 errors
v2.158.0.0
v2.158.2.0PATCHJarvis-UI
Sphere Grid Builder: hex → tokens + side-panel empty state + toolbar rows
- Continues the module-by-module UI audit, now on the Sphere Grid Builder (
Modules/SphereGridBuilder/, v1 form + v2 canvas), perPROMPT_UI_SPHEREGRID_BUILDER_2026-06-20.md. (P0) The UI-chrome literal hex values are promoted to tokens:#C9A227(warning text) →{DynamicResource WarningBrush}onTopologySafetySummary,StatusSummary, andSaveSummary(v1);#F23A3A(live risk) →{DynamicResource DangerBrush}onLiveRiskWarning;#22FFFFFF/#33FFFFFF(dividers) →{DynamicResource PanelStrokeBrush}+Opacity="0.4". (P1) The canvas side panel becomes aBorder#EmptyState(style already inStudioTheme) with a "No node selected" title + a subtitle pointing to Select mode +ModeLabelwhen!HasSelection; the existing edit block switches fromIsEnabledtoIsVisible="{Binding HasSelection}". (P1) The bloated toolbar (single WrapPanel of ~20 controls) is reorganized into 3 fixed rows — Open / Mode / Validate·Save — without removing any button or touching handlers. Scope respected:SphereGridLayoutBuilder, save bytes, Square/TrueNewNode logic, and render colors inSphereGridCanvasView.csall untouched — only the visual container changed. Release build 0 errors; zero literal#RRGGBBin the module's.axaml(except a comment)
v2.158.1.0