slope-stability-tool/films/weiser-vector/index.html

78 lines
4.1 KiB
HTML
Raw Normal View History

2026-07-18 09:04:54 +02:00
<!doctype html>
<html><head><meta charset="UTF-8"/>
<title>Weiser Vector: The Geometry of a Citizen</title>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
<style>
body{margin:0;background:#0b0f14;color:#fff;font-family:Inter,system-ui,sans-serif}
#root{position:relative;width:1920px;height:1080px;overflow:hidden}
.clip{position:absolute;inset:0;display:grid;place-items:center;background-size:cover;background-position:center}
.overlay{position:absolute;bottom:80px;left:80px;right:80px}
h1{font-size:72px;font-weight:300;margin:0;line-height:1.1;text-shadow:0 4px 24px rgba(0,0,0,0.8)}
p{font-size:28px;font-weight:200;margin-top:24px;opacity:0.85;letter-spacing:0.03em}
.data-tag{position:absolute;top:60px;right:80px;font-family:monospace;font-size:18px;opacity:0.7;color:#4af;}
</style> <script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div id="root" data-composition-id="weiser-vector" data-start="0" data-width="1920" data-height="1080" data-duration="30">
<!-- Audio tracks (REQUIRED for voice) -->
<audio id="voice-s1" src="audio/s1.wav" data-start="0"></audio>
<audio id="voice-s2" src="audio/s2.wav" data-start="10"></audio>
<audio id="voice-s3" src="audio/s3.wav" data-start="20"></audio>
<!-- SCENE 1: Prairie Horizon -->
<section id="s1" class="clip" data-start="0" data-duration="10" data-track-index="1"
style="background-image:url('https://images.pexels.com/photos/6171190/pexels-photo-6171190.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=1080&w=1920')">
<div class="overlay">
<h1 id="s1-title">WEISER</h1>
<p id="s1-sub">Prairie coordinates locked.</p>
</div>
<div class="data-tag">lat: 44.32° N | lon: 112.54° W</div>
</section>
<!-- SCENE 2: Steel Beam -->
<section id="s2" class="clip" data-start="10" data-duration="10" data-track-index="1"
style="background-image:url('https://images.pexels.com/photos/31197870/pexels-photo-31197870.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=1080&w=1920')">
<div class="overlay">
<h1 id="s2-title">STRUCTURE</h1>
<p id="s2-sub">Shear modulus verified.</p>
</div>
<div class="data-tag">G = τ/γ | σ_yield: 450 MPa</div>
</section>
<!-- SCENE 3: Starting Blocks -->
<section id="s3" class="clip" data-start="20" data-duration="10" data-track-index="1"
style="background-image:url('https://images.pexels.com/photos/12585946/pexels-photo-12585946.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=1080&w=1920')">
<div class="overlay">
<h1 id="s3-title">VELOCITY</h1>
<p id="s3-sub">Reaction time: 0.124s.</p>
</div>
<div class="data-tag">400m split target: 47.8s</div>
</section>
<script>
window.__timelines = window.__timelines || {};
const tl = gsap.timeline({ paused: true });
// Scene 1 animations
tl.to("#s1-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 0.5);
tl.to("#s1-sub", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 1.2);
tl.to("#s1-title", { opacity: 0, y: -40, duration: 0.8, ease: "power2.in" }, 9.2);
tl.to("#s1-sub", { opacity: 0, y: -40, duration: 0.8, ease: "power2.in" }, 9.4);
// Scene 2 animations
tl.to("#s2-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 10.5);
tl.to("#s2-sub", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 11.2);
tl.to("#s2-title", { opacity: 0, y: -40, duration: 0.8, ease: "power2.in" }, 19.2);
tl.to("#s2-sub", { opacity: 0, y: -40, duration: 0.8, ease: "power2.in" }, 19.4);
// Scene 3 animations
tl.to("#s3-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 20.5);
tl.to("#s3-sub", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 21.2);
tl.to("#s3-title", { opacity: 0, y: -40, duration: 0.8, ease: "power2.in" }, 29.2);
tl.to("#s3-sub", { opacity: 0, y: -40, duration: 0.8, ease: "power2.in" }, 29.4);
window.__timelines["weiser-vector"] = tl;
</script>
</body></html>