File: /home/panomity.de/vr.panomity.com/test-splat.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Splat-Test p7</title>
<style>html,body{margin:0;height:100%;overflow:hidden;background:#000}</style>
</head>
<body>
<script type="importmap">
{
"imports": {
"three": "https://unpkg.com/three@0.160.0/build/three.module.js",
"gaussian-splats-3d": "https://unpkg.com/@mkkellogg/gaussian-splats-3d@0.4.7/build/gaussian-splats-3d.module.js"
}
}
</script>
<script type="module">
import * as GaussianSplats3D from 'gaussian-splats-3d';
const params = new URLSearchParams(location.search);
const yaw = parseFloat(params.get('yaw') || '0') * Math.PI / 180;
const url = params.get('url') || '/panos/p7.tiles/splat.splat';
// Unsere Splats: x rechts, y unten, z vorwärts → Kamera-Up ist -y.
const look = [Math.sin(yaw), 0, Math.cos(yaw)];
const viewer = new GaussianSplats3D.Viewer({
cameraUp: [0, -1, 0],
initialCameraPosition: [0, 0, 0.001],
initialCameraLookAt: look,
sharedMemoryForWorkers: false,
});
viewer.addSplatScene(url, { showLoadingUI: true, progressiveLoad: false })
.then(() => {
viewer.start();
window.__splatReady = true;
})
.catch(e => { window.__splatError = String(e); });
</script>
</body>
</html>