docs(D.2b): address Opus review nits — update stale class summary + EffectiveOpen note

Comment-only. (1) the InventoryController summary said "Read-only: no
container switching" — now live. (2) note the _openContainer 0-vs-playerGuid
sentinel equivalence so the dual main-pack path isn't mistaken for dead code.
No behavior change. Code-quality review verdict: APPROVED (ship to gate).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-22 14:44:44 +02:00
parent 895d8eed80
commit 9dc44c3a3d

View file

@ -8,7 +8,8 @@ namespace AcDream.App.UI.Layout;
/// Binds the imported gmInventoryUI tree (LayoutDesc 0x21000023) and populates it from /// Binds the imported gmInventoryUI tree (LayoutDesc 0x21000023) and populates it from
/// <see cref="ClientObjectTable"/>. The acdream analogue of retail /// <see cref="ClientObjectTable"/>. The acdream analogue of retail
/// gmInventoryUI/gmBackpackUI/gm3DItemsUI ::PostInit (named-retail decomp 176236/176596/176728). /// gmInventoryUI/gmBackpackUI/gm3DItemsUI ::PostInit (named-retail decomp 176236/176596/176728).
/// Read-only: no container switching / drag / wield-drop wire (later sub-phases). /// Container-switching is live (click a side bag → Use 0x0036 → ViewContents 0x0196 full-replace);
/// drag-into-bag / wield-drop wire are later sub-phases.
/// </summary> /// </summary>
public sealed class InventoryController public sealed class InventoryController
{ {
@ -237,7 +238,9 @@ public sealed class InventoryController
} }
/// <summary>The effective open container — the explicit one, or the player (main pack) by default. /// <summary>The effective open container — the explicit one, or the player (main pack) by default.
/// Resolved live (not cached at ctor) so a late-arriving player guid is handled.</summary> /// Resolved live (not cached at ctor) so a late-arriving player guid is handled. The default
/// sentinel is 0; once the main pack is explicitly opened, <c>_openContainer</c> holds the player
/// guid instead — both resolve here to the same main-pack container, so the paths are equivalent.</summary>
private uint EffectiveOpen() => _openContainer != 0 ? _openContainer : _playerGuid(); private uint EffectiveOpen() => _openContainer != 0 ? _openContainer : _playerGuid();
/// <summary>Add a populated cell wired to its click role: container cell → open+select, /// <summary>Add a populated cell wired to its click role: container cell → open+select,