JARVIS-UI
更新 2.159
2026/6/20
v2.159.0.0Jarvis-UI
Save Editor 的「角色」分頁:與 FFXED 保持一致(技能、隊伍、OD 模式、超驅動)
- 次要更新。「角色」分頁不再僅限於屬性與批次處理按鈕:新增
SaveEditor_CharacterBindings+FfxSaveCharacterFieldCatalog模擬 FFXED v0.749 介面 — 連段、啟動/超驅動模式、隊伍(7 個槽位 @15768)、 約 95 種能力(位元陣列 @22090),20 種附帶計數器的超驅動模式、超驅動技能與特殊能力,以及球體等級/超驅動計量表(最大值為 22088/22086)。FfxSaveCore.ReadSaveBit/WriteSaveBit修正大於 7 的位元(語義 FFXED)offset + bit/8). 介面已重新規劃為 3 欄布局,與 FFXED 相同。Build Release 0 個錯誤
v2.158.2.0
v2.159.1.0PATCHJarvis-UI
執行時 DLL 管理員:ModuleMasterDetail_Shell 原型 + heroGradient + 響應式設計 + 離線/分離狀態橫幅 + 空狀態 + 無障礙 (a11y)
- 持續對 Runtime DLL Manager 進行模組逐一的 UI 審核(
Modules/RuntimeDllManager/),根據PROMPT_UI_RUNTIMEDLL_2026-06-20.md. (P0) 內嵌英雄#183444/#111C24/#3B4B2D→Classes="heroGradient"; Chrome 的十六進位碼#20303B已從.axaml(使用RailHoverBrush/PanelStrokeBrush). (P1) 第1個被消耗的 r 來自該儲存庫的ModuleMasterDetail_Shell: 主資料 = 3 張狀態卡(Game root / FFX open / Hooks);詳細資料 = 英雄 + DLL 清單。(P1)rsp:Responsive.Breakpoints+ 樣式UserControl.narrow收起主選單。(P2)橫幅廣告WarningBrush/DangerBrush當……時IsGameClosed(遊戲已關閉 — 切換鍵僅會發動「磁碟」技能)以及IsRuntimeDetached(未使用探針/掛鉤開啟 FFX — 即時狀態不可靠)。空狀態Border#EmptyState當……時!GameRootReady. (P3)AutomationProperties.Name在狀態核取方塊和動作按鈕中;ToggleA11yName按項目。**範圍符合要求:**部署/切換/DLL/掛鉤/探測的邏輯均未更動——僅視覺化容器。[先前:v2.159.0.0]
v2.159.2.0PATCHJarvis-UI
Blitzball Hub:將重複的 shell 遷移至`SubTabHub` 可重複使用
- 該
BlitzballHub_Control(Modules/BlitzballHub/) 完全複製了該SubTabHub_Control已經——子標籤區塊tabPill,tabPillActive, 懶加載 + 按分頁快取、Writer/Read-only 模式、音訊PlayAlternative()點擊後。該MenuItem_Blitzball現在來建立一個SubTabHub_Control與AddTab針對 5 個分頁(4 個 Writer + 1 個 Prize Atlas 唯讀)進行流暢化處理,並採用相同的 pill 文字以及requiresProject: false在所有情況下(4 個文字編輯器均保留各自專屬的「空白」狀態;Atlas 則在無專案狀態下開啟)。該BlitzballHub_Control(.axaml+.axaml.cs) 被 刪除 —grep找不到new BlitzballHub_Control()正在生產中。範圍已符合要求:FfxLib/Blitzball/*, RT0/RT2,ByteSnapshotEditorSession而這 5 個子編輯器的內部內容完全未經修改——僅有視覺容器有所變更。這將成為未來遷移的範本,用於SaveEditorHub(7 個硬編碼的分頁標籤)。發行版建置 0 個錯誤(401 個既有警告)
v2.159.1.0
v2.159.3.0PATCHJarvis-UI
儲存編輯器樞紐第二階段:晶片篡改 + SHA256 有效載荷 + 會話保護
- 持續對 儲存編輯器樞紐 進行模組化的 UI 審計(
Modules/SaveEditor/),根據docs/ai/PROMPT_UI_SAVEEDITOR_HUB_PHASE2_2026-06-20.md. (P0) 在標頭卡中使用類別時出現 未儲存的變更 提示autosaveChip/autosaveOrb/autosaveLabel現有的StudioTheme,連結至IsDirty— 當使用者編輯「角色/吉爾/裝備/等」時會出現,並在「儲存/另存新檔」後消失(資料模型此時已重置為零)IsDirty). (P1) 短版 SHA256 有效載荷(前 12 個字元 + "…")透過FfxSaveHash.Sha256Hex(session.Core.Data)位於頁首,附有顯示完整雜湊值(64 個字元)的工具提示;於載入/儲存/MC 切換時重新計算 — 不會於TouchDirty(hash = 記憶體中 blob 的指紋;在執行 Apply+mutate 之前,dirty ≠ hash 變更)。新屬性PayloadHashShort/PayloadHashFull與方法RefreshPayloadHash()在 DataModel 中。(P2) 替換會話前的確認:nov 該輔助程式AvaloniaDialog_Util.ConfirmYesNoAsync(是/否模式,無新增資產)會在 Load 之前(工具列 + 空狀態 CTA)以及在切換 MC 插槽之前被呼叫,當IsDirty; MC 插槽組合不再直接使用 TwoWay 綁定,而是改為透過SelectionChanged搭配確認守護程式 + 手動同步組合↔DataModel。範圍符合: FFXED 子分頁、偏移量、FfxSaveFile寫入程式、批次標籤與命令列介面--ffx-save-rt2完全未作修改——僅有 hub shell 和 DataModel 新增了屬性。建置版本 0 個錯誤。[上一版:v2.159.2.0]
v2.159.4.0PATCHJarvis-UI
Magic DLL Browser:9 個十六進位值 → 標記 + ModuleMasterDetail_Shell(第 2 個使用者)+ 空狀態 + 響應式設計 + 無障礙功能
- 持續對 Magic DLL Browser 進行模組逐一的 UI 審計(
Modules/Extras/),根據docs/ai/PROMPT_UI_MAGICDLLBROWSER_2026-06-20.md. (P0) 那11位#RRGGBBChrome(Wave4 編輯指引)#E8A040, Value Workbench 產品系列警告#E8A040,以及那 3 枚 RT2 內嵌徽章 — 已失效#3B1A1A/#E85050/#F0A0A0, 提供#3B2719/#E8A040/#F0C070, 風險#2A2A1A/#C0A040/#E8D080) 從現有的代幣/類別中提取StudioTheme:WarningBrush在指引/家庭警示文字中;徽章 rt2-dead →Classes="pillDanger"; 徽章 rt2-timing 已驗證 →Classes="pillWriter"; 標籤 rt2-timing RISK → 背景PanelAltBrush+WarningBrush(邊框/前景)。 (P1) 第二位使用者 來自ModuleMasterDetail_Shell(第 1 項 = RuntimeDllManager):主體ColumnDefinitions="330,*"手捲將外殼翻轉為MasterHeaderLabel="Magic DLLs"— master = 來源根目錄摘要 + 搜尋 + 清單方塊magic_*.dll; 詳細資訊 = 動作英雄 + Wave4 歸屬 + 直接補丁生成器 + 高密度標籤控制項(區段/匯出/匯入/音效(SeSep)/疊加槽/角色候選名單/家族比較器/邏輯反編譯/字串/警告)。MinWidthmaster ~260 來自 shell。(P2)Border#EmptyState在細節上,當……時!HasSelectedDll(標題 「未選取 DLL」 + 副標題,指引使用者選擇 DLL / 設定magicFiles\FFXroot);當主分支處於空狀態時!HasDllList(新計算出的標記Dlls.Count > 0, 通知 位於ApplyFilter以涵蓋「Refresh」和「Search」);rsp:Responsive.Breakpoints非根目錄 + 樣式UserControl.narrow當寬度小於 760px 時,主面板會收起(動作的 WrapPanel 不會裁切「萃取」/「重新打包」等關鍵按鈕)。(P3)AutomationProperties.Name在「detail」介面的約 16 個操作按鈕中(開啟 DLL/解壓縮/邏輯反編譯/重新打包/修補計畫/C/ASM 專案/語義 RE 報告/Magic 檢視器/Phyre 套件 I/O/複製/套用位元組修補程式/套用 ASCII 修補程式/預備+套用值修補程式/預備+套用主機偏移修補程式/部署 ps3data 複製本/開啟 PS3 Magic 及資料夾)。標頭卡維持為card一般(決定:heroGradient若出現在次要上下文的標頭中會造成負擔——當選取了 DLL 時,真正的英雄會出現在檢視窗格中)。適用範圍: PE 覆蓋、Direct Patch Builder、Value Workbench、邏輯反編譯、MagicDllBrowser_DataModel反編譯/重新打包/修補邏輯與事件OpenPs3MagicRequested/OpenMagicViewerRequested+ 接線編號Main_Window完全未經修改——僅視覺容器有所變更(1 項僅限 UI 的屬性)HasDllList已新增)。建置版本 0 個錯誤(401 個既有警告);零#RRGGBB字面意思是.axaml該模組。[上一頁:v2.159.3.0]
v2.159.5.0PATCHJarvis-UI
UI 可選功能總覽:透過單一 PATCH 結案 28 項可選功能待辦事項(Jarvis-UI)
- 完整執行
docs/ai/PROMPT_UI_OPTIONALS_MASTER_2026-06-20.md第 5 節 — 所有 28 個待處理的 ID 均已實作(OPT-F2 已在v2.159.4.0, 未重新編譯)。範圍:UI 優化 僅限容器(代碼片段、響應式設計、無障礙性、空狀態、藥丸式按鈕、表情符號)—— writers/save bytes/hooks/FfxLib/RT0/RT2 未修改。Spri nt B(可重複使用的 SubTabHub): OPT-B1/B2 —AutomationProperties.Name所有按鈕上tabPill產生於AddTab(),與tabA11yName可選(預設值取自標籤:「X 標籤」);OPT-B3 —BlitzballSubTabHubFactory.Create()靜態分析提取了由 5 個分頁組成的結構,該結構來自MenuItem_Blitzball(≤5 行);OPT-B4 — 佔位符的副本requiresProject現在可透過集線器進行設定(RequiresProjectMessage),保留舊版 PT 預設值。Sprint F(Magic DLL Browser 殘留): OPT-F1 — 標頭卡heroGradient; OPT-F3 — 位於 2 行固定位置 的動作按鈕(Open/View | Author/Patch,先前為單一 WrapPanel);OPT-F4 —IsMasterExpanded已儲存至資料模型(Shell 中啟用 TwoWay);OPT-F5 — 詳細資訊的英雄heroGradient; OPT-F6 — 主節點為空!HasDllList依標準Border#EmptyState(圖示 + 複製,與「詳細資訊為空」對應);OPT-F7 —StatusSeverity(無/資訊/警告/危險) 源自StatusText+ 新增StatusSeverityBrushConverter顯示錯誤/警告訊息於DangerBrush/WarningBrush; OPT-F8 —AutomationProperties.Name在「搜尋」文字方塊中;OPT-F9 — 選項按鈕WRITER LAB · native magicFiles DLL · RT2 pending在頁首。Sprint A + C(儲存編輯器): OPT-A1 — 響應式設計(頁首轉為垂直 StackPanel,操作按鈕在窄區域中堆疊);OPT-A2 — 頁首heroGradient; OPT-A3 — 藥丸READ-ONLY · FFXED port · RT2 via CLI在標頭中;OPT-A4 — 點擊後複製完整的 SHA256 雜湊值(透過剪貼簿TopLevel.Clipboard, 新的IconCopy); OPT-C1 —StatusSeverity在StatusSummary(重複使用轉換器);OPT-C2–C5 —「字元/裝備/道具/閃電球」子分頁的主清單位於Expander可折疊的 (ExpandDirection="Left", 預設展開)。Sprint A5/A6/D (Sphere Grid + Blitzball): OPT-A5 — 表情符號🏐已從SetModule《閃電球》的標題以及sectionLabel名單中的球員;OPT-A6 —♻️ Restaurar→「還原原始狀態」,✕在連結中 → 「移除」 + a11y;OPT-D1 — v1 響應式表單(3 欄網格 →WrapPanel(堆疊於 narrow);OPT-D2 —ActiveToolModeDataModel 中的枚舉 + 視圖類別toolActive在「模式」按鈕處(透過PropertyChanged(在程式碼後端中);OPT-D3 —AutomationProperties.Name在「載入/儲存/驗證」的 CTA 中。Sprint E(執行時 殘留 eDll): OPT-E2 — 橫幅上的「Refresh」按鈕IsGameClosed; OPT-E3 — C# 切換按鈕的十六進位值 (ToggleBrush/ToggleBorderBrush/ToggleForeground/ToggleGlow/RuntimeBrush) 轉為代幣RuntimeToggle*/RuntimeRuntime*在StudioTokens(透過以下方式解決:Resources.TryGetValue, 模組中無十六進位數);OPT-E1 — 跳過(toggle DLL 透過File.Move/File.Copy,沒有任何可察覺的異步操作超過 300 毫秒 — 詳見第 7 節)。Release 版本 0 個錯誤(401 個既有警告,修改過的檔案中無警告);零#RRGGBB新字句在.axaml播放過的。[上一頁:v2.159.4.0]
v2.159.6.0PATCHJarvis-UI
前端 P0/P1 視覺優化:heroGradient sweep + MonsterAi 十六進位代碼 + 窄版抽屜式選單 + P1-7 設計代碼(Jarvis-UI)
- 執行 P0/P1 的待辦事項清單
docs/ai/FRONTEND_AUDIT_P0_P1_2026-06-19.md依據已核准的計畫。範圍:UI / 設計系統的修飾 — writers/save bytes/hooks/FfxLib/RT0/RT2 未修改;MonsterAiEditor2_*(已停用) 未修改。P0-1 (heroGradient sweep): 25 個檔案中共有 26 個內嵌漸變Modules/已遷移 — 18 位教士 (#163245/#0F1821/#214F69) 看到Classes="heroGradient"; 8 種身分保留變體,作為新的命名標記(heroPurple/heroGreen/heroBrown/heroTeal/heroBlue在StudioTheme.axaml+Color代幣HeroXxxA/B/CColor在StudioTokens.axaml) — Aurora 維持紫色,AutoAbility/Formation/Customization 維持綠色,KeyItem 維持棕色,AlBhed/CtbBase/PlayerGrowth 維持青綠色,MixTable 維持藍色。Main_Window.axaml頁首(色盤PanelDeepColor(原始)內容已刻意保留。P0-2 (MonsterAi hex → tokens): 已遷移的 MonsterAiEditor 叢集中的 4 個「活躍」檔案 — 261 個十六進位常量(Background/BorderBrush/Foreground)已壓縮為{DynamicResource ...}按系列(Shell/Protect/Regen/Gold/Forbidden/Cycle + Panel/Stroke)分類,並將系列內的色偏進行標準化(約 20 個青綠色填充變為 1)AccentShellFillBrush). 已建立 14AccentXxxForegroundBrush新增(原先僅限 Gold 會員)+ 家庭Border.accentXxx(15 種樣式 + 選擇器> TextBlock) 在StudioTheme, 與Button.accen平行 tXxxexistente.MonsterAiEditor2_Control.axamlretém seus 71 hex (discontinued). **P0-4 (drawer narrow):** o bug onde emWindow.narrowo botão "≡" eCtrl+Bnão faziam nada visível (estiloWindow.narrow Border#IconRailCol → IsVisible=Falsevencia o toggle) foi resolvido — novo<Popup Name="RailDrawer">flutuante emMain_Window.axamlcom os 6 grupos de navegação como botões de texto verticais (mais escaneáveis que ícones 22px em tela pequena),IsLightDismissEnabled=True;ToggleIconRail()agora branch narrow→Popup / wide→Border. Reusa os MESMOSMenuItem_*handlers (zero mudança em handlers). **P1-7 (design tokens estruturais):** novas famílias emStudioTokens.axaml— **Spacing** (字距Xs/Sm/Md/Lg/XlThickness +StackGapSm/Md/Lgdoubles), **Radius** (RadiusSm=8/Md=10/Lg=12/Pill=999CornerRadius), **Motion** (速度:快速/正常/慢速sys:TimeSpan), **Elevation** (Border.elevation1/2/3BoxShadow). Adoção piloto:StudioTheme.axamlconsomeRadiusLg/Md/SmemBorder.card/cardSoft/Button.primaryAction/secondaryAction/railIcon/tabPill, e常規/快速處理時間nas 3 transições de microinteração (antes literais0:0:0.12/0:0:0.10);MonsterAiEditor_Control.axamldemonstraSpacingLg/Md+ combo卡片裝飾殼em 4 cards piloto. **Divergências do audit registradas:** P0-3 (Ctrl+B) já estava implementado na working tree (não era mais "comentário mentiroso"); P1-8 (shell) já tinha 2 consumidores; P1-5/P1-6 (arquitetura nav) fora do escopo por alto merge-risk. Build Release **0 erros** (401 warnings preexistentes, nenhum novo). Artefatos de sweep:work/_hero_gradient_sweep_20260620.ps1,work/_monster_ai_hex_sweep_20260620.ps1. [anterior:v2.159.5.0`]
v2.159.6.1PATCHJarvis-UI
啟動修復:ModuleMasterDetail_Shell(Jarvis-UI)的 P1-7 半徑/運動標記 + 綁定
- 後續熱修復
v2.159.6.0. StudioTheme: 參考資料 P1-7 (RadiusLg/Md/Sm,DurationNormal/Fast) 會使用{StaticResource }mas os tokens estão emApplication.Resources(StudioTokens.axaml) depois doStyleIncludedo tema →KeyNotFoundException:找不到靜態資源「RadiusLg」no boot (processo morria sem janela). Fix:{DynamicResource ...}. ModuleMasterDetail_Shell:MasterHeader/MasterList/詳細資訊/MasterHeaderLabel/IsMasterExpandedagora usamRelativeSource AncestorType=ModuleMasterDetail_Shell(antes bindavam o DataModel do módulo → lista/botões/detail vazios no Magic DLL Browser e Runtime DLL Manager). Escopo: UI container only — writers/save/hooks intocados. Build Release 0 erros. [anterior:v2.159.6.0]