fix(ui): restore modern spell formula presentation
Resolve spell-examination component cells through their DAT icon DIDs, project scarab and prismatic-taper formulas when ACE disables component enforcement, and version authored window geometry so stale examination sizes reset once without losing user layout behavior. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
3e31b0ac70
commit
d4ce64f56b
22 changed files with 307 additions and 41 deletions
|
|
@ -58,6 +58,9 @@ public sealed class RetailWindowLayoutPersistence : IDisposable
|
|||
UiWindowLayout? saved = _store.LoadWindowLayout(
|
||||
character, resolution, handle.Name, fallback);
|
||||
if (saved is not { } layout) continue;
|
||||
layout = MigrateAuthoredGeometry(
|
||||
layout,
|
||||
AuthoredGeometry(handle, fallback));
|
||||
|
||||
Apply(
|
||||
handle,
|
||||
|
|
@ -110,6 +113,10 @@ public sealed class RetailWindowLayoutPersistence : IDisposable
|
|||
UiWindowLayout? saved = _store.LoadNamedWindowLayout(
|
||||
profileName, handle.Name, Capture(handle));
|
||||
if (saved is not { } layout) continue;
|
||||
UiWindowLayout fallback = Capture(handle);
|
||||
layout = MigrateAuthoredGeometry(
|
||||
layout,
|
||||
AuthoredGeometry(handle, fallback));
|
||||
Apply(
|
||||
handle,
|
||||
layout,
|
||||
|
|
@ -166,9 +173,34 @@ public sealed class RetailWindowLayoutPersistence : IDisposable
|
|||
state.PersistedHeight ?? handle.Height,
|
||||
handle.IsVisible,
|
||||
state.Collapsed,
|
||||
state.Maximized);
|
||||
state.Maximized,
|
||||
handle.AuthoredGeometryRevision);
|
||||
}
|
||||
|
||||
private static UiWindowLayout MigrateAuthoredGeometry(
|
||||
UiWindowLayout saved,
|
||||
UiWindowLayout authored)
|
||||
{
|
||||
if (saved.AuthoredGeometryRevision >= authored.AuthoredGeometryRevision)
|
||||
return saved;
|
||||
|
||||
return saved with
|
||||
{
|
||||
Width = authored.Width,
|
||||
Height = authored.Height,
|
||||
AuthoredGeometryRevision = authored.AuthoredGeometryRevision,
|
||||
};
|
||||
}
|
||||
|
||||
private static UiWindowLayout AuthoredGeometry(
|
||||
RetailWindowHandle handle,
|
||||
UiWindowLayout current) => current with
|
||||
{
|
||||
Width = handle.AuthoredWidth,
|
||||
Height = handle.AuthoredHeight,
|
||||
AuthoredGeometryRevision = handle.AuthoredGeometryRevision,
|
||||
};
|
||||
|
||||
private static void Apply(
|
||||
RetailWindowHandle handle,
|
||||
UiWindowLayout layout,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue