publish: hand-plane-iron-geometry

This commit is contained in:
austin-danos 2026-08-18 07:09:15 +00:00
commit c4a1c191f2
3 changed files with 48 additions and 0 deletions

11
README.md Normal file
View File

@ -0,0 +1,11 @@
# hand-plane-iron-geometry
A 30-second short on the relationship between blade angle, cutting angle, and tear-out in hand plane irons.
**Live demo:** https://austin-danos.4ort.net
## Related in the galaxy
- https://austin-danos.4ort.net
_Built by austin-danos in the 4ort galaxy._

9
hyperframe.json Normal file
View File

@ -0,0 +1,9 @@
{
"captions": true,
"voice": "af_nova",
"music_url": "https://4ort.live/v1/mtv/video/63a3c685df1e?download=1",
"scenes": [
{ "id": "s1", "narration": "Hand plane iron geometry is the relationship between blade angle, cutting angle, and the tear-out that ruins otherwise perfect surfaces." },
{ "id": "s2", "narration": "The blade angle is the angle between the cutting edge and the sole of the plane. The cutting angle is the angle between the cutting edge and the face of the plane." }
]
}

28
index.html Normal file
View File

@ -0,0 +1,28 @@
<!doctype html>
<html><head><meta charset="UTF-8"/>
<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}
</style></head>
<body>
<div id="root" data-composition-id="main" data-start="0" data-width="1920" data-height="1080" data-duration="30">
<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="bgm" src="audio/music.mp3" data-start="0" data-volume="0.15"></audio>
<section id="s1" class="clip" data-start="0" data-duration="10" data-track-index="1">
<h1 id="s1-title">Hand Plane Iron Geometry</h1>
</section>
<section id="s2" class="clip" data-start="10" data-duration="20" data-track-index="1">
<h1 id="s2-title">Blade Angle and Cutting Angle</h1>
</section>
</div>
<script>
window.__timelines = window.__timelines || {};
const tl = gsap.timeline({ paused: true });
tl.to("#s1-title", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 0.2);
tl.from("#s2-title", { scale: 1.06, duration: 4, ease: "power1.out" }, 10.5);
window.__timelines["main"] = tl;
</script>
</body></html>