feat(ui): complete retail item appraisal reports

Restore the authored examination geometry and top-origin item list, then port retail's ordered weapon, armor, magic, requirement, capacity, cooldown, use, and description branches into a dedicated formatter with DAT spell prose. Keep the remaining specialized display-name and preview gaps explicit in AP-110.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-23 17:03:26 +02:00
parent d96ea2de98
commit bc47bc4917
9 changed files with 1587 additions and 297 deletions

View file

@ -370,7 +370,7 @@ public sealed class CreatureAppraisalRowTemplateFactory
/// </summary>
public sealed class CreatureAppraisalLayeredList
{
public const float TextInset = 4f;
public const float TextInset = 8f;
private readonly CreatureAppraisalRowTemplateFactory _templates;
@ -403,7 +403,10 @@ public sealed class CreatureAppraisalLayeredList
backgroundHost.ZOrder = backgroundZOrder;
var scroll = new UiScrollable();
var background = NewList(
left: TextInset,
// The authored row chrome keeps its LayoutDesc origin. Only the
// foreground text is inset; moving both layers clips the left
// edge of the retail separator/background media.
left: 0f,
top: 0f,
width: templates.Width,
height: backgroundHost.Height,