heat-map/films/stress-gradient/index.html

100 lines
6.3 KiB
HTML
Raw Normal View History

2026-07-21 08:17:27 +02:00
<!doctype html>
<html><head><meta charset="UTF-8"/>
<title>Thermal Shock Front — Bernardo Zubko</title>
<meta property="og:type" content="website">
<meta property="og:title" content="Thermal Shock Front — Bernardo Zubko">
<meta property="og:description" content="STABLE ARC ARGON BLANKET INTACT • 8 MPH WIND ΔT/mm = 45°C GRADIENT BIRTH CONVECTIVE COOLING FRONT • 18 MPH WIND ΔT/mm = 120°C THERMAL SHOCK HAZ FRACTURE •…">
<meta property="og:url" content="https://bernardo-zubko.4ort.net/">
<meta name="twitter:card" content="summary">
<meta name="description" content="STABLE ARC ARGON BLANKET INTACT • 8 MPH WIND ΔT/mm = 45°C GRADIENT BIRTH CONVECTIVE COOLING FRONT • 18 MPH WIND ΔT/mm = 120°C THERMAL SHOCK HAZ FRACTURE •…">
<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:'Courier New',monospace}
#root{position:relative;width:1920px;height:1080px;overflow:hidden}
.clip{position:absolute;inset:0;display:grid;place-items:center}
/* Scene backgrounds */
.bg-scene1{background:radial-gradient(circle at center,#1a1a2e 0%,#0d0d14 70%)}.bg-scene1::after{content:'';position:absolute;width:400px;height:400px;border-radius:50%;box-shadow:0 0 60px 20px #00ff88;animation:pulse 3s infinite}
.bg-scene2{background:linear-gradient(135deg,#1a1a2e 0%,#2d1a1a 50%,#1a1a2e 100%)}.bg-scene2::after{content:'';position:absolute;top:20%;left:10%;width:80%;height:60%;border-left:3px solid #ff3300;border-right:3px solid #00ffff;opacity:0.3;transform:perspective(500px) rotateX(60deg)}
.bg-scene3{background:repeating-linear-gradient(90deg,#0d0d14 0px,#0d0d14 50px,#1a0d0d 50px,#1a0d0d 100px)}.bg-scene3::before{content:'';position:absolute;width:2px;height:100vh;background:linear-gradient(to bottom,#ff3300,#ffffff,#00ffff);transform:rotate(-15deg) translateY(-20%);filter:drop-shadow(0 0 20px #ff3300)}
.bg-scene4{background:radial-gradient(ellipse at center,#0d0d14 0%,#000 90%)}
/* Typography */
.scene-title{font-size:72px;text-transform:uppercase;letter-spacing:8px;text-align:center;line-height:1.2;margin-bottom:2rem;opacity:0;transform:translateY(40px)}
.scene-sub{font-size:24px;letter-spacing:4px;text-align:center;opacity:0;transform:scale(0.95);color:#888}
.data-line{position:absolute;bottom:120px;left:80px;font-size:20px;letter-spacing:2px;opacity:0;color:#00ff88}
.data-line.stop{color:#ff3300}
/* Animations */
@keyframes pulse{0%,100%{box-shadow:0 0 60px 20px #00ff88}50%{box-shadow:0 0 80px 30px #00ff88}}
@keyframes fracture{0%{transform:translateX(0) scaleY(1)}100%{transform:translateX(120px) scaleY(1.2)}}
@keyframes gradient-form{0%{opacity:0;transform:translateY(0)}100%{opacity:1;transform:translateY(100px)}}
</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="main" data-width="1920" data-height="1080" data-duration="45" data-start="0">
<!-- Audio references (REQUIRED for voice playback) -->
<audio id="voice-s1" src="audio/s1.wav" data-start="0"></audio>
<audio id="voice-s2" src="audio/s2.wav" data-start="12"></audio>
<audio id="voice-s3" src="audio/s3.wav" data-start="24"></audio>
<audio id="voice-s4" src="audio/s4.wav" data-start="36"></audio>
<audio id="bgm" src="audio/music.mp3" data-start="0" data-volume="0.12"></audio>
<!-- Scene 1: The Calm (0-12s) -->
<section id="s1" class="clip bg-scene1" data-start="0" data-duration="12" data-track-index="1">
<h1 class="scene-title" id="s1-title">STABLE ARC</h1>
<div class="scene-sub" id="s1-sub">ARGON BLANKET INTACT • 8 MPH WIND</div>
<div class="data-line" id="s1-data">ΔT/mm = 45°C</div>
</section>
<!-- Scene 2: The Gradient Forms (12-24s) -->
<section id="s2" class="clip bg-scene2" data-start="12" data-duration="12" data-track-index="1">
<h1 class="scene-title" id="s2-title">GRADIENT BIRTH</h1>
<div class="scene-sub" id="s2-sub">CONVECTIVE COOLING FRONT • 18 MPH WIND</div>
<div class="data-line" id="s2-data">ΔT/mm = 120°C</div>
</section>
<!-- Scene 3: Fracture Propagation (24-36s) -->
<section id="s3" class="clip bg-scene3" data-start="24" data-duration="12" data-track-index="1">
<h1 class="scene-title" id="s3-title">THERMAL SHOCK</h1>
<div class="scene-sub" id="s3-sub">HAZ FRACTURE • BEAD PENETRATION LOSS 19%</div>
<div class="data-line stop" id="s3-data">CRACK VELOCITY = 2.3 m/s</div>
</section>
<!-- Scene 4: The Lesson (36-45s) -->
<section id="s4" class="clip bg-scene4" data-start="36" data-duration="9" data-track-index="1">
<h1 class="scene-title" id="s4-title">STOP BEFORE</h1>
<div class="scene-sub" id="s4-sub">THE WIND SPLITS GRANITE</div>
<div class="data-line stop" id="s4-data">BERNARDO-ZUBKO.4ORT.NET/WIND-FACTOR</div>
</section>
<script>
window.__timelines = window.__timelines || {};
const tl = gsap.timeline({ paused: true });
// Scene 1 animations (0-12s)
tl.to("#s1-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 0.5);
tl.to("#s1-sub", { opacity: 1, scale: 1, duration: 1.5, ease: "power2.out" }, 1.8);
tl.to("#s1-data", { opacity: 1, x: 0, duration: 2, ease: "expo.out" }, 3);
// Scene 2 animations (12-24s)
tl.to("#s2-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 12.5);
tl.to("#s2-sub", { opacity: 1, scale: 1, duration: 1.5, ease: "power2.out" }, 13.8);
tl.to("#s2-data", { opacity: 1, x: 0, duration: 2, ease: "expo.out" }, 15);
// Scene 3 animations (24-36s)
tl.to("#s3-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 24.5);
tl.to("#s3-sub", { opacity: 1, scale: 1, duration: 1.5, ease: "power2.out" }, 25.8);
tl.to("#s3-data", { opacity: 1, x: 0, duration: 2, ease: "expo.out" }, 27);
// Scene 4 animations (36-45s)
tl.to("#s4-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 36.5);
tl.to("#s4-sub", { opacity: 1, scale: 1, duration: 1.5, ease: "power2.out" }, 37.8);
tl.to("#s4-data", { opacity: 1, x: 0, duration: 2, ease: "expo.out" }, 39);
window.__timelines["main"] = tl;
</script>
</div>
</body></html>