Update 2.77
10.6.2026
SIN-Chain-Builder Gate 3: AiScriptLab-Validierungsbrücke für den `SinApplyPlan` (nur Lese-) — validiert Pläne, wendet NICHT an; SIN bleibt fürs Schreiben GESPERRT.
Hinweise lesen
Maechen ist mit Spira verbunden
Beta Update
Aktuelle VersionshinweiseFrühere Hinweise aus der Beta-Phase, unverändert wie veröffentlicht.
Hier finden Sie das Archiv früherer Beta-Hinweise. Neue Hinweise stehen auf der Hauptseite für Updates.
10.6.2026
SIN-Chain-Builder Gate 3: AiScriptLab-Validierungsbrücke für den `SinApplyPlan` (nur Lese-) — validiert Pläne, wendet NICHT an; SIN bleibt fürs Schreiben GESPERRT.
Hinweise lesen
10.6.2026
SIN Chain Builder Tor 2: Dry-Run/Preview-Planner (`SinApplyPlan`) — nur Preview, SIN bleibt fürs Schreiben GESPERRT.
Hinweise lesen
10.6.2026
Blitzball-Preisliste wird ein BAUM: League/Tournament → 1st/2nd/3rd/Top Scorer → draw → Preise (+ RE-bewiesene Draw-Erkennung).
Hinweise lesen
10.6.2026
Navigation konsolidiert: 4 neue Aggregator-Hubs (Battle Commands, Items, Sphere Grid, Text/Reference) + eine wiederverwendbare `SubTabHub`-Komponente + eine schlankere Sidebar. Zweiter IA-Durchgang durch lane Jarvis-RIN (Halysons Notizhaufen). Neue generische Komponente `SubTabHub_Control` (`Modules/SubTabHub`): ein FFX-gestyltes Sub-Tab-Strip (wiederverwendet Blitzballs `tabPill`/mode-pill), im Code gebaut über `AddTab(label, factory, mode, pill, requiresProject)`, lazy-loaded (jeder Sub-Tab baut sein Control bei der ersten Auswahl und cached es) mit einem `requiresProject`-Bodyguard (ein projektgebundener Tab zeigt einen Platzhalter statt abzustürzen). Darauf aufbauend 4 Hubs (jeder HOSTET die bestehenden Controls, unberührt): (1) Battle Commands → `Comandos/Magias de Personagem` (command.bin) · `Monster Commands 1` (monmagic1) · `Monster Commands 2` (monmagic2); (2) → `Items` (item.bin) · `Key Items` (important.bin, guarded) · `Shop` (guarded slot payload) — und hierher von losen Screens verschoben; (3) Sphere Grid → `Explorer (DB)` · `Builder` · `Canvas` (3→1; Explorer braucht ein Projekt, / öffnen ohne eines); (4) Text / Reference → `String Explorer` · `Macro Explorer` · `Weapon Names` · `Battle Text` · `Event Explorer` (5→1). Jeder Sub-Tab trägt eine ehrliche Mode-Pill (Writer amber / Read-Only teal) mit der echten Datei/dem echten Scope. Sidebar: Core Authoring von 23 → 15 Schaltflächen reduziert; Auto-Abilities sitzt jetzt direkt neben Customizations / Aeons; Monster AI Explorer aus dem Menü entfernt (Handler/Code erhalten — nur die Nav-Option ist weg). Scope (RIN): nur Navigation/Hosting — die 4 neuen `Main_Window`-Handler bauen ein `SubTabHub` über Fabriken (`CreateKernelCommandsControl(...)` für die Kernel-Tabellen; `new XxxControl()` für den Rest) und die alten Handler bleiben im Code (`ShowKernelCommands`/`CreateKernelCommandsControl` intakt = Zurück/Vor und Nav-Restore funktionieren weiter). Berührt nicht Writer/Parser/Runtime/Save/SIN/Provider oder die INTERNALS der Module anderer Lanes (MAGIC/Sphere); es bearbeitet nur die lane `Main_Window`-Nav-Zeilen (geteilte Datei) + fügt `Modules/SubTabHub` hinzu. Die Battle-Commands-Extras (universelle Suche, Suche pro Tab, Multi-Edit) sind auf einen Nachfolger verschoben (sie berühren die Command-Editor-Logik = MAGIC-lane). MINOR (4 NEUE Navigationsmodule/Tabs + eine neue wiederverwendbare Komponente). Build kompiliert 0 Fehler / 361 Warnungen; Editor neu gestartet auf v2.74.0.0. \[previous: `v2.73.0`\] — Jarvis-RIN
Hinweise lesen
10.6.2026
Blitzball-Hub: die 5 verstreuten Bildschirme werden 1 Registerkarte "Blitzball" mit Unter-Registerkarten + einer ehrlichen Modus-Pille + einer visuellen Politur aller 5 Fenster. Navigation + UX-Konsolidierung (lane Jarvis-RIN). Die Seitenleiste hatte 5 lose Buttons (`Blitzball Prizes`/`Roster`/`Recruits`/`Prizes (Edit)`/`Prize Table`) mit kollidierenden Namen (3 sagten "prize"); jetzt ist es 1 Button `Blitzball 🏐`, der das neue Modul `BlitzballHub_Control` (`Modules/BlitzballHub`) mit 5 Unter-Registerkarten in einem FFX-stilisierten Streifen öffnet (`tabPill`-Pillen, aktive Registerkarte mit türkiser Unterstreichung): · · Prize Pool · · Atlas. Jede Unter-Registerkarte zeigt eine ehrliche Modus-Pille direkt unter dem Streifen — `WRITER LAB · <file> · RT0 proven · RT2 pending` (amber) für die 4 Writer, `READ-ONLY · Spira Data Atlas` (türkis) für Atlas — weil das äußere "Mode"-Abzeichen des Hubs jetzt neutral ist (`Atlas + Writer Lab`) und keinen einzelnen Modus mehr behaupten kann. Registerkarten sind lazy-loaded (jedes UserControl wird nur bei der ersten Auswahl gebaut und gecacht) → der Hub hält nie 4 `ByteSnapshotEditorSession`s gleichzeitig. Visuelle Politur aller 5 Fenster (nur Präsentation — kein Writer/Parser/Binding/DataModel angefasst): kleineres Hero über die neue `heroGradient`-Klasse (dedupliziert die 3 kopierten literalen Verläufe), `Save` verwendet jetzt `primaryAction` (türkis) auf den 4 Writern (vorher der am wenigsten gestylte Button jedes Bildschirms), Rosters 8 `cardSoft`-Boxen kollabieren zu einer Tabelle (ausgerichteter Header, rechtsbündige a/b/c/type), Preistabelle ist in ein Kategorie-Akkordeon gruppiert (5 kollabierbare Gruppen — League/Tournament Standings, League/Tournament Top Scorer, Roll Threshold/odds — standardmäßig geschlossen, jeweils mit Familienfarbpunkt + Ortszahl; der Textfilter erweitert passende Gruppen automatisch), um die ~849 Optionen zu zähmen, plus ein Farbstreifen pro Familie pro Zeile (türkis=preis-index, amber=odds) + verdichteter Text + normalisiertes Padding, Prize Pool gruppiert Menge/Rohdatentyp in `cardSoft` mit einer schmaleren Quantity-Spalte, Recruits stuft den `@0x`-Offset zu einem Untertitel herab und macht das Player-Combo zum primären Element, Atlas erhält eine farbige Evidenz-Pille im Raster (proved-candidate=türkis / partial=amber / metadata-only=blau / blocked=danger) und literale Farben (`#9AD7E2`/`#9EB0C2`) werden durch Token ersetzt. Neue additive Klassen in `StudioTheme.axaml` (`tabPill`/`tabPillActive`, `heroGradient`, `pillWriter`/`pillReadonly`, `numField`) — Selektoren, die es vorher nicht gab → null Regression auf anderen Bildschirmen (ich habe das globale `TabControl`-Theme NICHT angefasst, genau um die 8 Bildschirme mit nackten Registerkarten nicht zu beeinflussen). 2 neue reine Präsentations-Converter (`PrizeFamilyBrushConverter`, `EvidenceStatusBrushConverter`). MINOR (NEUES Navigationsmodul/IA + der erste wiederverwendbare Unter-Registerkarten-Streifen; die Politur allein wäre PATCH, reitet aber mit dem neuen Modul). Berührt nicht Writer/parser/runtime/save/SIN/Atlas-Provider/andere Lanes; die 5 `_Control.axaml.cs` und DataModels blieben intakt. Build kompiliert 0 Fehler / 361 Warnungen (die finale `.exe` konnte nur nicht kopiert werden, weil der Editor offen war — unabhängig vom Code). \[previous: `v2.72.0`\] — Jarvis-RIN
Hinweise lesen
10.6.2026
Blitzball-Preistabelle: bearbeitet jetzt auch die ODDS (390 Roll-Schwellen) — "alles bearbeiten". Erweitert den Tab `Blitzball Prize Table 🏐` (`v2.71.0`): zusätzlich zu den 459 Preis-Index-Sites bearbeitet es jetzt die 390 Schwellen-Immediates, die die WAHRSCHEINLICHKEITEN setzen — die `case >= N` / `case <= M`-Grenzen über `GetRandomInRange(100)` (Bytecode `29 AE <thr> 0E/0F D7/D6` = `DUP·PUSHII·GE/LE·jump`). Ein Bucket, der von `roll >= lo` und `roll <= hi` erfasst wird, hat ~`(hi-lo+1)%`-Chancen; den Bucket verbreitern = bessere Chancen für diesen Preis. Neue `BlitzballPrizeStructure_File.FindRollThresholds`/`SetThresholdAt` (Analyse begrenzt auf ≤768B einer Preis-Index-Site, damit nie ein unabhängiger Wechsel berührt wird) — mit dem GLEICHEN 2-Byte-Schreiber (`Event_File.PatchScriptUInt16`). Vereinheitlichte UI: der Filter bekommt "Roll Threshold (odds)", jede Zeile inline bearbeitbar (Preiszeilen zeigen die live aufgelöste Belohnung; Schwellenzeilen die Bucket-Grenze). Das Gate `--blitzball-prizestruct-rt0` ist erweitert und BESTEHT auf der echten `bltz0200.ebp`: 459 Preis + 390 Schwellen (195 `<=` / 195 `>=` = eine perfekte Paarung), byte-identisch ohne Bearbeitung, sowohl eine Preis-Index- als auch eine Schwellen-Bearbeitung isoliert auf ihre 2 Bytes (`<=10 → <=50` @0xC108), Rücklesen bestätigt beides. MINOR (NEUE Fähigkeit: Odds-Bearbeitung). Berührt nicht Save/Runtime/SIN/andere Lanes. Build 0 Fehler / 361 Warnungen; `--blitzball-prizestruct-rt0` PASS. Doku: `docs/reverse/FFX_BLITZBALL_PRIZE_STRUCTURE_RE_2026-06-10.md`. \[vorher: `v2.71.0`\] — Jarvis-CHAPPU
Hinweise lesen
10.6.2026
Blitzball-Preistabelle: BEARBEITEN, welchen Preis jeder PPlatzierungs-/Random-Bucket vergibt (459 Immediates in `bltz0200.ebp`) — widerlegt das Label „blocked“. Der nur-lesende Explorer (`v2.62.0`) hatte `BlitzballLeague/TournamentPrizeIndex`/`TopScorer` als `blocked` (runtime/save) — zu konservativ: Er sah nur die Lese/Anzeige-Seite in `bltz0201` (`PrizeIndex + 220 → Treasure Label`). Die Zuordnung liegt in `bltz0200.ebp` als 459 konstante Immediates im ATEL-Script: `Set BlitzballPrizeIndex[slot] = <prize-index>` in einem Wechsel über `GetRandomInRange(100)` (die Zufalls-Belohnungsverteilung). Spieldatei-editierbar, genau wie Recruiting (nur das Immediate ist 2 Bytes, da es 255 überschreitet). Neues Modul/Tab `Blitzball Prize Table 🏐` (`Modules/BlitzballPrizeStructEditor`): eine filterbare Liste (nach variable/reward/index) aller 459 Stellen mit Inline-Bearbeitung des Preis-Index + die live aufgelöste Belohnung (takara `prize+220`, oder MacroDict#8 für \>100). Neue Primitive `Event_File.PatchScriptUInt16`/`ReadScriptUInt16` (längenerhaltender 2-Byte-Immediate-Patch via `ScriptChunkOverride`) + `FfxLib/Blitzball/BlitzballPrizeStructure_File.cs` (scan/`SetPrizeIndexAt`) + Tor `Tools/BlitzballPrizeStructRt0.cs` (`--blitzball-prizestruct-rt0`). BEWIESEN an der echten `bltz0200.ebp` (222.464 B): 459 Stellen (141 League + 188 Tournament + 65 League-TS + 65 Tournament-TS = entspricht der Korpus-Zahl), no-edit byte-identisch, eine einzelne Preis-Index-Änderung auf ihre 2 Bytes isoliert (League 1st `0x0001→0x0099` @0xC0A2), Re-Read bestätigt. RE-Erkenntnis: ATEL-Var-IDs sind pro Datei (`0x28` in vs `0x30` in bltz0200); die bltz0200-IDs (`0x30`/`0x31`/`0x32`/`0x33`) sind aus den eigenen Wechsel/Set-Stellen der Datei bewiesen. Ehrlichkeit: Bearbeitet, WELCHEN Preis-Index jede PPlatzierung vergibt (Spieldatei, RT0 bewiesen, RT2 ausstehend); was jeder Index als Belohnung GIBT = takara (Tab `Blitzball Prizes (Edit)`); die Chancen (Roll-Schwellen) sind ein separates Immediate-Set, noch nicht exponiert. MINOR (NEUES Modul + neuer 2-Byte-Writer). Fasst save/runtime/SIN/andere Lanes nicht an. Build 0 Fehler / 361 Warnungen; `--blitzball-prizestruct-rt0` PASS. Doc: `docs/reverse/FFX_BLITZBALL_PRIZE_STRUCTURE_RE_2026-06-10.md`. \[previous: `v2.70.0`\] — Jarvis-CHAPPU
Hinweise lesen
10.6.2026
Blitzball-Preise-Editor: UI zum Bearbeiten der 101 Blitzball-Preise in der SPIELDATEI ( 220..320 takara.bin). Neues Modul/Tab `Blitzball Prizes (Edit) 🏐` (`Modules/BlitzballPrizesEditor`), das den Blitzball-Preis-POOL bearbeitet (Preis 0..100 → takara-Zeile 220+k → Belohnung; die in `v2.62.0` geschlossene proved-candidate-Regel): eine Master-Detail-Ansicht über die 101 Preise, jeder mit einem Item-Dropdown (Filter nach Name/id) + Menge \+ Raw Type/Kind/aufgelöste Belohnung. Es NUTZT intern das bewiesene `TreasureEditor_DataModel` wieder (Item-Wörterbuch, Namensauflösung, `ByteSnapshotEditorSession`, Full-Table-Writer), gefiltert auf Zeilen 220..320 → der Save ist DERSELBE Writer wie beim Treasures-Tab, schreibt `takara.bin` und erhält alle 498 Einträge byte-für-byte, außer dem bearbeiteten Preis. Registriert in `Main_Window` (Nav + `SetModule`). Ehrlichkeit: "Writable (Lab)"-Badge — bearbeitet den POOL (welche Belohnung jeder Preis-Index vergibt), nicht WELCHEN Preis Sie pro Liga/Turnier/Event gewinnen (= Runtime/Save); für Gear/Key-Item-Preise oder feinere Kind-Kontrolle den Treasures-Tab verwenden. Ergänzt den read-only Explorer `Blitzball Prizes 🏐` (`v2.62.0`) mit echter Bearbeitung. MINOR (NEUES Modul/Tab). Nutzt `TreasureEditor_DataModel`/`Treasure_File`/`Item_Dictionary` wieder; fügt keinen neuen Writer hinzu und berührt nicht das Spieler-Save/Runtime/SIN/andere Lanes. Build 0 Fehler / 361 Warnungen. \[vorher: `v2.69.0`\] — Jarvis-CHAPPU
Hinweise lesen