1
0
Commit Graph

71 Commits

Author SHA1 Message Date
Aiden
95b9bc7cdc added VR180 test
All checks were successful
Test / test (push) Successful in 9m26s
2026-06-10 13:18:35 +10:00
Aiden
0879f1685a status banner
All checks were successful
Test / test (push) Successful in 9m26s
2026-06-10 12:56:57 +10:00
Aiden
8402fcd640 new test hub
Some checks failed
Test / test (push) Has been cancelled
2026-06-10 12:51:31 +10:00
Aiden
030a8b724b added image support 2026-06-10 12:48:36 +10:00
Aiden
24a166046e more refactors
All checks were successful
Test / test (push) Successful in 9m32s
2026-06-10 12:37:48 +10:00
Aiden
d9a5ec9018 change bind address 2026-06-10 12:32:33 +10:00
Aiden
481ca9fc47 more refactor
All checks were successful
Test / test (push) Successful in 9m26s
2026-06-10 12:27:12 +10:00
Aiden
ca577d2e92 CI/CD
All checks were successful
Test / test (push) Successful in 10m27s
2026-06-10 11:58:18 +10:00
Aiden
a254dca518 Added tests in 2026-06-10 11:57:23 +10:00
Aiden
74706a166a Folder organisation 2026-06-10 11:55:14 +10:00
Aiden
f5c82d3b78 more refactoer 2026-06-10 11:51:34 +10:00
Aiden
cb332abd4f Further refactor 2026-06-10 11:37:02 +10:00
Aiden
899027e531 Seperation 2026-06-10 11:26:29 +10:00
Aiden
fd82e1666f npm testing 2026-06-10 11:03:43 +10:00
Aiden
7265842deb UI update 2026-06-10 10:53:06 +10:00
Aiden
36986ae639 removed built files 2026-06-10 10:37:40 +10:00
Aiden
d24e2021f2 Typescript conversion 2026-06-10 10:35:14 +10:00
Aiden
91b612785b Initial build 2026-06-10 10:19:03 +10:00
Verdi
3bd2c135a9 update demo page 2026-02-19 13:12:49 -06:00
Verdi
2194a4726e Force GitHub Pages rebuild 2026-02-19 13:09:41 -06:00
Verdi
858eb62947 Update CDN urls in readme 2026-02-19 12:32:47 -06:00
Michael Verdi
d52a722ce7 Merge pull request #5
Resolve image paths relative to script URL for CDN support
v1.0.2
2026-02-19 12:17:20 -06:00
Verdi
40e3711925 Resolve image paths relative to script URL for CDN support 2026-02-19 12:15:36 -06:00
Michael Verdi
c41ad12b32 Update index.html
Updated to use jsdelivr URLs
2026-02-19 11:23:08 -06:00
Michael Verdi
dbe6e5b1d9 Update README.md
Added jsdelivr.net CDN links
2026-02-19 11:21:45 -06:00
Michael Verdi
626b7f451b Create .gitattributes v1.0.1 2026-02-19 11:13:56 -06:00
Michael Verdi
a56e36eaf6 Merge pull request #4 from Verdi/fix/quest-stereo-v2
Fix stereo eye detection with multiple fallback methods
v1.0.0
2026-01-26 23:39:48 -06:00
Verdi
bebcb3d355 Fix stereo eye detection with multiple fallback methods
- Replace onBeforeRender stereo detection to use cascading fallbacks:
  1. Direct xrCamera.cameras[0]/[1] comparison
  2. View matrix matrixWorldInverse.elements[12] with 0.001 threshold
  3. Projection matrix elements[8] as last resort
- Add video texture sync in renderXR before render call

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 23:27:45 -06:00
Michael Verdi
f4fb9cf6bb Merge pull request #3 from Verdi/revert-1-fix/quest-stereo-rendering
Revert "Fix stereo rendering glitches on Meta Quest browsers"
2026-01-26 23:14:47 -06:00
Michael Verdi
38200c82f2 Revert "Fix stereo rendering glitches on Meta Quest browsers" 2026-01-26 23:12:43 -06:00
Michael Verdi
715e762fc9 Merge pull request #2 from Verdi/fix/quest-stereo-rendering
update video
2026-01-26 22:51:52 -06:00
Verdi
928fafa290 update video 2026-01-26 22:41:56 -06:00
Michael Verdi
065e8310e3 Merge pull request #1 from Verdi/fix/quest-stereo-rendering
Fix stereo rendering glitches on Meta Quest browsers
2026-01-26 18:23:51 -06:00
Verdi
4183ae2530 Fix stereo rendering glitches on Meta Quest browsers
Replace camera reference comparison with view matrix eye detection
for more reliable left/right eye identification. Recent Quest Browser
updates (Chromium 138/140, Horizon OS v83) changed WebXR multiview
behavior, causing the previous xrCamera.cameras[0]/[1] comparison
to fail intermittently on the left eye.

The new approach uses activeCamera.matrixWorldInverse.elements[12]
(the X translation in the view matrix) which reliably indicates:
- Negative value = left eye
- Positive value = right eye

This method is consistent across both Quest Browser and Safari/VisionOS.

Also adds explicit video texture synchronization in the render loop
to prevent timing-related glitches.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 18:20:13 -06:00
Michael Verdi
d869f75e1e Update vr180-player.js
Updated threejs CDN link with one that updates to latest version.
2026-01-26 11:07:07 -06:00
Michael Verdi
b559ea6ebf Merge remote changes with canvas positioning fix 2025-08-01 15:23:12 -05:00
Michael Verdi
85baf3cd79 Fix 2D canvas positioning bug
- Changed canvas positioning from absolute to relative in start2DMode()
- Resolves issue where content below video was hidden underneath canvas
- Fixes canvas disappearing during page resize and fullscreen operations
- Canvas now properly flows within document layout
2025-08-01 15:22:26 -05:00
Michael Verdi
0a8cb8196c Update README.md 2025-08-01 14:45:12 -05:00
Michael Verdi
5087c3cbb2 Merge remote changes with local updates 2025-08-01 14:40:20 -05:00
Michael Verdi
0ef4ca56a5 Update HTML, CSS, and video file
- Updated index.html with latest changes
- Updated vr180player/vr180-player.css with styling improvements
- Updated sbs-video.mp4 with new video content
2025-08-01 14:38:42 -05:00
Michael Verdi
ffb29bc4ec Update README.md 2025-08-01 12:43:41 -05:00
Michael Verdi
090ad5f315 Merge 2D branch: Fix canvas resizing bug in 2D mode 2025-08-01 12:37:36 -05:00
Michael Verdi
3472e2a385 Fix canvas resizing bug in 2D mode
- Fixed onWindowResize() to use container dimensions instead of hidden video element
- Updated start2DMode() to use consistent container-based sizing logic
- Added fullscreen event listeners to handle resize during fullscreen transitions
- Added minimum dimension constraints to prevent zero-sized canvas
- Canvas now maintains proper dimensions during window resize and fullscreen operations
2025-08-01 12:27:39 -05:00
Michael Verdi
957f1af8b0 Update README.md 2025-08-01 10:31:52 -05:00
Michael Verdi
896777ac30 Implement dynamic UI creation for VR180 player
- Remove static HTML elements (play button and control panel) from index.html
- Add createPlayButton() and create2DControlPanel() functions to dynamically generate UI
- Update DOMContentLoaded handler to create and insert UI elements on page load
- Maintain all existing functionality while making player more modular and self-contained
- UI elements are now created entirely by JavaScript, making the player easier to integrate
- Tested and verified: play button appears correctly, 2D mode works, controls function properly
2025-07-31 22:41:14 -05:00
Michael Verdi
07611f8a1d Reorganize repository structure and move poster.jpg back to root
- Create vr180player/ folder with organized structure:
  - vr180player/images/ for all UI control images
  - vr180player/vr180-player.js and vr180player/vr180-player.css
- Move poster.jpg back to root level alongside main content files
- Update all file references in index.html and CSS files
- Maintain clean separation between main content and player components
- All functionality preserved with improved organization
2025-07-31 22:33:41 -05:00
Michael Verdi
3b9a94a3b9 Fix touch dragging control panel behavior in 2D mode
- Modify on2DTouchStart() to check dragging state before showing controls
- Prevents controls from appearing during active touch dragging
- Makes touch behavior consistent with mouse dragging behavior
- Controls hide when dragging starts and show when dragging ends
- Resolves issue where touch dragging would show controls while mouse dragging correctly hid them
- Ensures seamless user experience across desktop and mobile devices
2025-07-31 22:11:33 -05:00
Michael Verdi
83489ea969 Implement proper mute/unmute button functionality for 2D controls
- Add CSS classes (.muted/.unmuted) for mute button state management
- Fix button logic to show action that will be taken (standard UI pattern):
  - When audio playing (unmuted): shows mute icon (click to mute)
  - When audio muted: shows unmute icon (click to unmute)
- Add proper hover states for both mute and unmute icons
- Initialize button state correctly on video load
- Smooth 0.15s transitions between all states
- Follows standard media player UI conventions
2025-07-31 22:01:20 -05:00
Michael Verdi
da4ca420f6 Fix 2D control panel positioning relative to canvas
- Fix panel positioning calculation to account for panel height
- Position panel bottom edge 10% from canvas bottom (not container)
- Ensure panel stays within canvas bounds when WebGL canvas is active
- Update positioning on window resize for responsive behavior
- Resolves issue where panel appeared partially below canvas
2025-07-31 19:24:56 -05:00
Michael Verdi
dbaefeb337 Implement 2D video controls for non-VR devices
- Add complete 2D control panel with HTML structure and CSS styling
- Implement JavaScript functionality for all control buttons:
  - Fullscreen toggle for immersive 16:9 video experience
  - Play/pause with dynamic icon switching
  - Back/forward 15-second skip controls
  - Mute/unmute toggle
  - Click-to-seek progress bar with real-time updates
- Add auto-hide behavior (5-second timeout) with mouse/touch activation
- Integrate with existing 2D mode - shows only when VR not supported
- Include all button PNG assets (normal and hover states)
- Responsive design for mobile devices
- Professional styling matching design specifications
2025-07-31 18:26:49 -05:00