add transient storage for viewport