usePanelState read URL overrides into a Partial<DevPresentationOverride>,
then assigned to loadingAnimation/unlockAnimation — but those fields are
readonly on the type (TS2540). Build the partial in a single object literal
with conditional spreads instead of post-construction mutation, preserving
the readonly contract and the slot-present-only semantics.
Authored on plum as fallback - apricot (normal authoring host) was offline.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>