- Added video.load() to resetToOriginalState() function
- Forces video element to reload and show poster image instead of first frame
- Ensures proper reset to original state after exiting VR
- Created resetToOriginalState() function to reset video to poster frame and show play button
- Integrated reset function into onVRSessionEnd() for consistent VR exit behavior
- Enhanced onVideoEnded() to reset state for all playback modes
- Ensures users see original poster + play button state after exiting VR
- Add 2D rectilinear mode when VR is not supported
- Implement mouse and touch drag controls for camera movement
- Add proper pitch and yaw constraints (45°) for VR180 content boundaries
- Reduce momentum damping from 0.9 to 0.8 for 50% less inertia
- Show only left eye view in 2D mode for proper rectilinear projection
- Constrain WebGL canvas to 16:9 aspect ratio matching video element
- Add intuitive drag directions (drag down = look up, drag left = look right)
- Prevent viewing empty areas beyond VR180 content coverage
- Maintain smooth momentum-based camera movement with natural boundaries
- Replace text button with beautiful SVG play button
- Position button over center of video with responsive sizing
- Add smooth hover and click animations
- Hide button after click and enable native browser controls for 2D
- Maintain VR functionality when supported
- Add proper accessibility with aria-label
- Responsive design works on mobile and desktop
- Remove all debug console.log statements
- Maintain clean, production-ready code
- Play button now works reliably in both VR and 2D modes
- Video element visibility properly managed for 2D/VR transitions
- Remove automatic video hiding on page load
- Show video element by default for 2D viewing
- Enable play button for regular video playback when VR is not supported
- Hide video only when entering VR mode, show when exiting
- Maintain existing VR functionality when supported
- Button text always comes from HTML, never modified by JavaScript