forked from EXT/VR180-Web-Player
@@ -146,6 +146,64 @@ a {
|
||||
color: #275425;
|
||||
}
|
||||
|
||||
.demo-gallery-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.demo-gallery-tile {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
padding: 0 0 12px;
|
||||
border: 1px solid #d5d5cf;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
font-weight: 700;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.demo-gallery-tile:hover {
|
||||
border-color: #83837a;
|
||||
}
|
||||
|
||||
.demo-gallery-tile img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
aspect-ratio: 16 / 9;
|
||||
object-fit: cover;
|
||||
background: #111;
|
||||
}
|
||||
|
||||
.demo-gallery-tile span {
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.demo-focused-links {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-top: 22px;
|
||||
}
|
||||
|
||||
.demo-focused-links a {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-height: 36px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid #d5d5cf;
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
color: #4f4f48;
|
||||
text-decoration: none;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 650;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.demo-page {
|
||||
padding: 20px;
|
||||
|
||||
@@ -12,45 +12,111 @@
|
||||
<header class="demo-topbar">
|
||||
<div>
|
||||
<h1 class="demo-brand">VR Web Player Tests</h1>
|
||||
<p class="demo-kicker">Open a focused page for each media and projection combination.</p>
|
||||
<p class="demo-kicker">Click a thumbnail. XR-capable browsers launch immersive VR; other browsers open the fallback modal.</p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<nav class="demo-grid" aria-label="Player test pages">
|
||||
<a class="demo-card" href="./test-3d-image.html">
|
||||
<h2>3D Image</h2>
|
||||
<p>Flat SBS image on a rectangular plane.</p>
|
||||
<span class="demo-meta">image / plane</span>
|
||||
</a>
|
||||
<a class="demo-card" href="./test-vr180-3d-image.html">
|
||||
<h2>VR180 3D Image</h2>
|
||||
<p>SBS image on the VR180 hemisphere.</p>
|
||||
<span class="demo-meta">image / vr180</span>
|
||||
</a>
|
||||
<a class="demo-card" href="./test-3d-image-carousel.html">
|
||||
<h2>3D Image Carousel</h2>
|
||||
<p>Flat SBS image carousel with previous and next controls.</p>
|
||||
<span class="demo-meta">image carousel / plane</span>
|
||||
</a>
|
||||
<a class="demo-card" href="./test-vr180-3d-image-carousel.html">
|
||||
<h2>VR180 Image Carousel</h2>
|
||||
<p>VR180 SBS image carousel in one immersive session.</p>
|
||||
<span class="demo-meta">image carousel / vr180</span>
|
||||
</a>
|
||||
<a class="demo-card" href="./test-3d-video.html">
|
||||
<h2>3D Video</h2>
|
||||
<p>Flat SBS video on a rectangular plane.</p>
|
||||
<span class="demo-meta">video / plane</span>
|
||||
</a>
|
||||
<a class="demo-card" href="./test-vr180-3d-video.html">
|
||||
<h2>VR180 3D Video</h2>
|
||||
<p>SBS video on the VR180 hemisphere.</p>
|
||||
<span class="demo-meta">video / vr180</span>
|
||||
</a>
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-gallery-grid" aria-label="Launcher gallery">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="image"
|
||||
data-projection="plane"
|
||||
data-src="../media/169_3d_test.png"
|
||||
data-title="3D Image Plane"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/169_3d_test.png" alt="3D Image Plane">
|
||||
<span>3D Image</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="image"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_Test.png"
|
||||
data-title="VR180 3D Image"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/VR180_SBS_Test.png" alt="VR180 3D Image">
|
||||
<span>VR180 Image</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-carousel
|
||||
data-media-type="image"
|
||||
data-projection="plane"
|
||||
data-src="../media/169_3d_test.png, ../media/169_3d_test.png?slide=2"
|
||||
data-title="3D Image Plane"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/169_3d_test.png" alt="3D Image Plane carousel">
|
||||
<span>3D Image Carousel</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-carousel
|
||||
data-media-type="image"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_Test.png, ../media/VR180_SBS_Test.png?slide=2"
|
||||
data-title="VR180 3D Image"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/VR180_SBS_Test.png" alt="VR180 3D Image carousel">
|
||||
<span>VR180 Image Carousel</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="video"
|
||||
data-projection="plane"
|
||||
data-src="../media/sbs-video.mp4"
|
||||
data-poster="../poster.jpg"
|
||||
data-title="3D Video Plane"
|
||||
data-type="video/mp4"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../poster.jpg" alt="3D Video Plane">
|
||||
<span>3D Video</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="video"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_TEST.mp4"
|
||||
data-poster="../poster.jpg"
|
||||
data-title="VR180 3D Video"
|
||||
data-type="video/mp4"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../poster.jpg" alt="VR180 3D Video">
|
||||
<span>VR180 Video</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<nav class="demo-focused-links" aria-label="Focused player test pages">
|
||||
<a href="./test-3d-image.html">3D image</a>
|
||||
<a href="./test-vr180-3d-image.html">VR180 image</a>
|
||||
<a href="./test-3d-image-carousel.html">3D image carousel</a>
|
||||
<a href="./test-vr180-3d-image-carousel.html">VR180 image carousel</a>
|
||||
<a href="./test-3d-video.html">3D video</a>
|
||||
<a href="./test-vr180-3d-video.html">VR180 video</a>
|
||||
</nav>
|
||||
|
||||
<p class="demo-note">Image tests use files in <code>../media/</code>. Video tests expect <code>../media/sbs-video.mp4</code>.</p>
|
||||
</div>
|
||||
</main>
|
||||
<script type="module" src="./demo-xr-status.js"></script>
|
||||
<script type="module" src="../vr180player/vr180-player.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -20,9 +20,20 @@
|
||||
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-player-frame" data-vr-web-player data-projection="plane" data-carousel>
|
||||
<img src="../media/169_3d_test.png" alt="Demo SBS image one" title="3D Image Plane 1" crossorigin="anonymous">
|
||||
<img src="../media/169_3d_test.png?slide=2" alt="Demo SBS image two" title="3D Image Plane 2" crossorigin="anonymous">
|
||||
<div class="demo-player-frame demo-gallery-grid">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-carousel
|
||||
data-media-type="image"
|
||||
data-projection="plane"
|
||||
data-src="../media/169_3d_test.png, ../media/169_3d_test.png?slide=2"
|
||||
data-title="3D Image Plane"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/169_3d_test.png" alt="3D Image Plane carousel">
|
||||
<span>Open 3D Image Carousel</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -20,8 +20,19 @@
|
||||
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-player-frame" data-vr-web-player data-projection="plane">
|
||||
<img src="../media/169_3d_test.png" alt="Demo SBS image" title="3D Image Plane" crossorigin="anonymous">
|
||||
<div class="demo-player-frame demo-gallery-grid">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="image"
|
||||
data-projection="plane"
|
||||
data-src="../media/169_3d_test.png"
|
||||
data-title="3D Image Plane"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/169_3d_test.png" alt="3D Image Plane">
|
||||
<span>Open 3D Image</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -20,10 +20,21 @@
|
||||
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-player-frame" data-vr-web-player data-projection="plane">
|
||||
<video poster="../poster.jpg" title="3D Video Plane" crossorigin="anonymous" playsinline preload="metadata">
|
||||
<source src="../media/sbs-video.mp4" type="video/mp4">
|
||||
</video>
|
||||
<div class="demo-player-frame demo-gallery-grid">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="video"
|
||||
data-projection="plane"
|
||||
data-src="../media/sbs-video.mp4"
|
||||
data-poster="../poster.jpg"
|
||||
data-title="3D Video Plane"
|
||||
data-type="video/mp4"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../poster.jpg" alt="3D Video Plane">
|
||||
<span>Open 3D Video</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
84
test-pages/test-gallery-launchers.html
Normal file
84
test-pages/test-gallery-launchers.html
Normal file
@@ -0,0 +1,84 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
|
||||
<title>Gallery Launcher Test</title>
|
||||
<link rel="stylesheet" href="./demo.css">
|
||||
</head>
|
||||
<body>
|
||||
<main class="demo-page">
|
||||
<div class="demo-shell">
|
||||
<header class="demo-topbar">
|
||||
<div>
|
||||
<h1 class="demo-brand">Gallery Launchers</h1>
|
||||
<p class="demo-kicker">Click a thumbnail. XR-capable browsers launch immersive VR; other browsers open the fallback modal.</p>
|
||||
</div>
|
||||
<a class="demo-back" href="./index.html">Back</a>
|
||||
</header>
|
||||
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-gallery-grid" aria-label="Launcher gallery">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="image"
|
||||
data-projection="plane"
|
||||
data-src="../media/169_3d_test.png"
|
||||
data-title="3D Image Plane"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/169_3d_test.png" alt="3D Image Plane">
|
||||
<span>3D Image</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="image"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_Test.png"
|
||||
data-title="VR180 3D Image"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/VR180_SBS_Test.png" alt="VR180 3D Image">
|
||||
<span>VR180 Image</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="video"
|
||||
data-projection="plane"
|
||||
data-src="../media/sbs-video.mp4"
|
||||
data-poster="../poster.jpg"
|
||||
data-title="3D Video Plane"
|
||||
data-type="video/mp4"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../poster.jpg" alt="3D Video Plane">
|
||||
<span>3D Video</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="video"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_TEST.mp4"
|
||||
data-poster="../poster.jpg"
|
||||
data-title="VR180 3D Video"
|
||||
data-type="video/mp4"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../poster.jpg" alt="VR180 3D Video">
|
||||
<span>VR180 Video</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script type="module" src="./demo-xr-status.js"></script>
|
||||
<script type="module" src="../vr180player/vr180-player.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -20,9 +20,20 @@
|
||||
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-player-frame" data-vr-web-player data-projection="vr180" data-carousel>
|
||||
<img src="../media/VR180_SBS_Test.png" alt="Demo VR180 SBS image one" title="VR180 3D Image 1" crossorigin="anonymous">
|
||||
<img src="../media/VR180_SBS_Test.png?slide=2" alt="Demo VR180 SBS image two" title="VR180 3D Image 2" crossorigin="anonymous">
|
||||
<div class="demo-player-frame demo-gallery-grid">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-carousel
|
||||
data-media-type="image"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_Test.png, ../media/VR180_SBS_Test.png?slide=2"
|
||||
data-title="VR180 3D Image"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/VR180_SBS_Test.png" alt="VR180 3D Image carousel">
|
||||
<span>Open VR180 Image Carousel</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -20,8 +20,19 @@
|
||||
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-player-frame" data-vr-web-player data-projection="vr180">
|
||||
<img src="../media/VR180_SBS_Test.png" alt="Demo VR180 SBS image" title="VR180 3D Image" crossorigin="anonymous">
|
||||
<div class="demo-player-frame demo-gallery-grid">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="image"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_Test.png"
|
||||
data-title="VR180 3D Image"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../media/VR180_SBS_Test.png" alt="VR180 3D Image">
|
||||
<span>Open VR180 Image</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -20,10 +20,21 @@
|
||||
|
||||
<p class="demo-xr-status" data-demo-xr-status>Checking immersive WebXR support...</p>
|
||||
|
||||
<div class="demo-player-frame" data-vr-web-player data-projection="vr180">
|
||||
<video poster="../poster.jpg" title="VR180 3D Video" crossorigin="anonymous" playsinline preload="metadata">
|
||||
<source src="../media/VR180_SBS_TEST.mp4" type="video/mp4">
|
||||
</video>
|
||||
<div class="demo-player-frame demo-gallery-grid">
|
||||
<button
|
||||
type="button"
|
||||
class="demo-gallery-tile"
|
||||
data-vr-web-launcher
|
||||
data-media-type="video"
|
||||
data-projection="vr180"
|
||||
data-src="../media/VR180_SBS_TEST.mp4"
|
||||
data-poster="../poster.jpg"
|
||||
data-title="VR180 3D Video"
|
||||
data-type="video/mp4"
|
||||
data-crossorigin="anonymous">
|
||||
<img src="../poster.jpg" alt="VR180 3D Video">
|
||||
<span>Open VR180 Video</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
Reference in New Issue
Block a user