Update 2.84
6/11/2026
v2.84.0BETAMINOR
Rikku
Full UI responsiveness: fluid frame + app-wide sweep of "forced sizes" across every window + reusable breakpoint infra
- Delivers the owner's order: "no more forced sizes, everything responsive and auto-resizing, beauty over performance, push the cost to the user's PC". New infra:
Styles/Responsive.cs— aResponsive.Breakpointsattached property that tags the root withnarrow/medium/wideclasses based on the REAL rendered width, makingStyle Selectorwork like a CSS media query. Frame (Main_Window): fixed 290/320px sidebars →Autocolumns withMinWidth/MaxWidth; the right inspector collapses (Autocolumn → 0) when the window isn't wide, keeping 3 columns only on wide screens;MinWidth1280→1000; top-bar fixed-widthComboBox→MinWidth; breakpoints active. App-wide sweep (65 of 71.axamladjusted via multi-agent orchestration — one agent per file, SURGICAL layout-only edits): pixelColumnDefinitions137→59 (−78);StackPanel Orientation="Horizontal"→WrapPanel(×26; 252 total) so button/input rows wrap instead of clipping; safety-netScrollViewerwhere the root could overflow;ViewboxonSphereGridCanvas; WebView hosts (*Embedded) stretched;TextWrappingwhere missing; fixedWidth/Height231→211 and 35→27 (the rest are intrinsic: icons, numeric fields,DataGridcolumns, and alignment widths inside an already-reflowingWrapPanel— they don't clip). (new responsiveness infra + cross-cutting UI capability). Honesty: all 75 screens compile (Release build 0 errors;&/</>escaping guaranteed by the green build) and no{Binding}/Click/x:Namewas changed (layout-only edits) — but per-screen visual QA at small window sizes is a pending human step (I did not run the app across all 75 screens; structure/compile proven, appearance not). Does not touch logic/save/AI/runtime/RT2/Spira Forge. Files:Styles/Responsive.cs(new) +Modules/Main/Main_Window.axaml+ 65 module/control/template.axaml
v2.83.0
v2.84.10BETAPATCH
Lulu
Monster AI Editor: consolidation of 10 small bug/UX/guardrail patches, no new feature
- RT2/user attempts showed the human Monster AI surface needed contract fixes, not another tab. This cut removes the
Monster AI Editor 2sub-tab from navigation and concentrates authoring back into the mainMonster AI Editor; makes large blocks collapsible; relocates AEON/YUNALESCA/BIBLE/Live/actions for human reading; fixes localMaybeinsertion so it no longer repoints the whole entrypoint; adds controlledStop here/RET; demotes false combo badges and uses direct-sequence language when no native combo is proven; preventsforcedfrom appearing just because chance was selected; clears YUNALESCA condition leakage; switchesNulAllto the real spell; blocks start-of-battle spell casts where the runtime does not enqueue an action; improves condition/worker labels; fixes linked target/first ability/same-target flows; adds Shred-style computed target recipes + lowest-HP target; extendsAiScriptLab --ai3gates for local chance, linked rite, target recipe, computed target, and stop-after; keeps real blockers for naturalMulti-*+ Forbidden Rite and pending RT2 semantics. Honesty: this is bugfix/hardening for the existing Monster AI Editor, not a new writer outside scope
v2.84.0
v2.84.20BETAPATCH
Lulu
Monster AI Editor: 10 more bugfix patches for Forbidden Rite/Anti-Ribbon and human behavior reading
- fixes the
Forbidden Rite LABsurface that still exposed only a subset of what the realwriteChrProperty(target, field, value)pattern already supports. The Anti-Ribbon dropdown now lists direct negative fields:Poison,Petrify,Power Break,Magic Break,Armor Break,Mental Break,Berserk,Sleep(255),Slow(255), plus advancedProvoke/Threaten, while keepingZombie,Confuse,Silence(255),Darkness(255),Curse,Doom, and Doom counters.Zombie/Confuse/Silence/Darknessare explicitly marked as RT2/in-game proven in the current pattern; the expansion is recorded as operator-tested in-game through the same direct route.Death/KOstays out of the normal dropdown because thebtlActorPropertymap exposesisAlive, not a cleanStatusDeath; that needs a separate recipe/gate. BIBLE and the SIN/Anti-Ribbon plan were updated so the next agent does not reopen a gate that is already solved. This also versions the recent design notes aroundMulti-*vsSequential-*, dynamic cycles, Dark Flan, and Seymour Natus as future-design knowledge. Honesty: bugfix/hardening for the existing Monster AI Editor; no new writer outside theForbidden Rite LAB
v2.84.10
v2.84.20.1BETAREVISION
Lulu
Research: feasibility of creating NEW Auto-Abilities (weapon/armor abilities) — ALL methods + the byte-recipe formula cookbook
- (4th digit: doc/RE/research that enters the repo and does NOT change behavior — no writer/module/binding touched). Multi-agent research (3 workflows with parallel finders + adversarial verification) consolidating whether/how new auto-abilities can be created on FFX HD PC. Verdict: YES, with 3 senses of "new" and one hard split — DATA-DRIVEN vs HARDCODED-BY-ID. (1) Effects via flag combinations are data-driven and proven by offset in IDA (
sub_79C610/sub_7861B0OR-accumulate the0x6Crecord fields into the actor with no per-IDswitch) → any slot inherits the effect just by setting bytes; full byte cookbook decoded by diffing the shippeda_ability.bin(elements0x11-0x15Fire01/Ice02/Thunder04/Water08/Holy10; status touch=0x16+slot=50/strike=100; stat%0x55+0x56; auto/SOS0x5A+0x10; Ribbon0x3C+slot=255+0x60). (2) 5 genuinely free slots 129–133 (0x81-0x85) (all-zero data) → repurpose without growing the table. (3) Grow >0x86: the surprise — the engine ACCEPTS a 135th entry (sub_7AB890reads count/range from the file header, no0x86literal; buffer sized from file length); blocked only by 3 C# guards + RT2 + a byte-size cap0x25800+ a 2nd equip-menu RAM structure capped at0xC8=200. Hard limit: ~31 abilities are hardcoded-by-id (one bit in0x62/0x64/0x66, handler in C — Sensor/First Strike/Counter/Piercing/Break Limits/Capture/etc.) → not reproducible by bytes; a new KIND of effect (lifesteal/reflect%) needs a DLL hook (theDINPUT8probe +FfxHooksDllPolyHook2 infra is already proven) or an exe patch. ability-as-script (ATEL) refuted as a hook-free path for a player-equippable ability (binding gap). Cross-validated by 3 independent streams + the open-source fahrenheit struct (byte-for-byte). Honesty: real gameplay of any edited slot and all runtime/hook work = RT2/LAB pending;a_ability.binstaysreader+no-edit guardin production (no ship authorization). Docs:docs/reverse/FFX_AUTOABILITIES_NOVAS_MASTER_2026-06-11.md(index/verdict) +FFX_NEW_AUTO_ABILITY_FEASIBILITY_2026-06-11.md(static) +FFX_AUTO_ABILITY_NEW_VIA_HOOK_DLL_RUNTIME_FEASIBILITY_2026-06-11.md(runtime/DLL) +FFX_AUTOABILITIES_NOVAS_VIAS_E_FORMULAS_COOKBOOK_2026-06-11.md(12 methods + cookbook)
v2.84.20
v2.84.25BETAPATCH
Lulu
Monster AI Editor: YUNALESCA is now a clean preset area and conditions moved into the main authoring flow
- fixes the screen UX/contract that still mixed quick rites, conditions, and advanced editing in the same block. YUNALESCA now stays only as ready-made status/blessing presets, without combat rites, without
Alternate 1/2, withoutAlternate 1/3, withoutDuplicate cast, and without the redundant condition preview. The condition builder moved toAdd / change behavior, the editor's main authoring surface:onTurn,Start,Always,onHit,Any Hit,HP < %, andMaybe 1 in Know prepare the next created/changed behavior. The main toolbar is focused only on the selected action (Change ability,Duplicate action,Move up/down,Mode: queue/now,Remove action,Undo backup). Backend paths now support explicit guards when creating an ability, copying an action template, and linking Forbidden Rite under the mounted condition, without presenting this as a new writer outside the Monster AI Editor. Forbidden Rite copy was corrected to tell the truth: it applies Anti-Ribbon right after the created/changed behavior at the authored point; no false warning thatMulti-*necessarily breaks. Separate-output build passed with 0 errors
v2.84.20.1