acdream/docs/research/2026-07-25-slice-h-a2-cooldown-scope.md

978 B

Slice H-a2 — retained cooldown heartbeat scope

Retail updates item cooldown children from UIElement_UIItem::DoHeartbeat @ 0x004E1DF0. Hidden retained subtrees do not receive that heartbeat.

The shared acdream controller now keeps the same one-result-per-item heartbeat, but:

  • returns before reading the clock or visiting a slot when the authoritative enchantment registry has no cooldown entries;
  • visits a mounted UiItemList only when the list and every ancestor are visible;
  • clears the frame's step projection first, so a hidden-only item cannot retain a stale ring;
  • recomputes the authoritative step on the first heartbeat after the panel becomes visible;
  • retains existing future-slot and shared-cooldown-group behavior.

Focused tests cover shared groups/future cells, hidden-parent suppression and reopen, and the zero-work empty-registry path.

Release gate: 3,781 App tests passed / 3 skipped; 8,265 complete-solution tests passed / 5 skipped.