slope-stability-tool/films/weiser-vector/index.html
2026-07-18 07:04:54 +00:00

78 lines
4.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>