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:
Erik 2026-07-24 07:08:47 +02:00
parent 3e31b0ac70
commit d4ce64f56b
22 changed files with 307 additions and 41 deletions

View file

@ -38,11 +38,13 @@ public sealed class RetailWindowManager : IDisposable
UiElement outerFrame,
UiElement? contentRoot = null,
IRetainedPanelController? controller = null,
IRetainedWindowStateController? stateController = null)
IRetainedWindowStateController? stateController = null,
int authoredGeometryRevision = 0)
{
ObjectDisposedException.ThrowIf(_disposed, this);
ArgumentException.ThrowIfNullOrWhiteSpace(name);
ArgumentNullException.ThrowIfNull(outerFrame);
authoredGeometryRevision = Math.Max(0, authoredGeometryRevision);
if (!ReferenceEquals(outerFrame.Parent, _root))
throw new InvalidOperationException(
@ -56,7 +58,8 @@ public sealed class RetailWindowManager : IDisposable
if (ReferenceEquals(sameName.OuterFrame, outerFrame)
&& ReferenceEquals(sameName.ContentRoot, contentRoot ?? outerFrame)
&& ReferenceEquals(sameName.Controller, controller)
&& ReferenceEquals(sameName.StateController, resolvedStateController))
&& ReferenceEquals(sameName.StateController, resolvedStateController)
&& sameName.AuthoredGeometryRevision == authoredGeometryRevision)
return sameName;
Unregister(name);
@ -71,7 +74,8 @@ public sealed class RetailWindowManager : IDisposable
outerFrame,
contentRoot ?? outerFrame,
controller,
resolvedStateController);
resolvedStateController,
authoredGeometryRevision);
_byName.Add(name, handle);
_byFrame.Add(outerFrame, handle);
handle.NotifyInitialState();