Shared expiry descriptor.
type "never" — no auto-expiry
"encounter" — expires when the active combat ends
"nDowns" — expires after value downs of combat time elapse
(relative to createdAtDown)
"nDraws" — TempStack only: removed once value cards have
been consumed (tracked separately via the stack's
remaining cardIds; this type is informational)
value numeric duration; null when type is "never"/"encounter"
createdAtDown combat-down counter snapshot at creation; null when not
created during combat
Shared expiry descriptor. type "never" — no auto-expiry "encounter" — expires when the active combat ends "nDowns" — expires after
valuedowns of combat time elapse (relative tocreatedAtDown) "nDraws" — TempStack only: removed oncevaluecards have been consumed (tracked separately via the stack's remaining cardIds; this type is informational) value numeric duration; null when type is "never"/"encounter" createdAtDown combat-down counter snapshot at creation; null when not created during combat