Tooltips
Hover each trigger, then use its companion button to mutate
data-tooltip. Contract: generated text is a snapshot at show
time — cases 1 and 5 keep the old text while visible, the rest pick the
new value up on the next show. Case 6 shows the explicit-tip way.
1. Hover tip, text changed while visible
Expected: the visible tip keeps Copy until the next show; re-hover displays Copied!.
2. Hover tip, text changed while hidden
Expected: next hover displays Saved (resync on show).
3. Click-toggle tip, text changed between toggles
Expected: reopening after the mutation displays Updated.
4. Explicit tip, markup changed
Expected: explicit tips are author-owned; the runtime never rewrites them, so the mutation shows as written.
5. Always-visible tip, text changed
Expected: stays Pinned. Generated text is a snapshot at show time and this tip only ever shows once — use an explicit tooltip (case 6) for content that must update.
6. Always-visible explicit tip, rewritten via DOM
Expected: the rewrite applies immediately — the dedicated API for dynamic content, side by side with the frozen shorthand of case 5.