add viewport watch demo