From 47fe8657dd11237479caa12b320663acf3ec8de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Tue, 15 Apr 2025 23:11:19 +0200 Subject: [PATCH] somewhat finished version --- fsck2025/__init__.py | 70 ++++++++++++++++++++++---------------- fsck2025/artwork/intro.svg | 25 +++++++------- 2 files changed, 54 insertions(+), 41 deletions(-) diff --git a/fsck2025/__init__.py b/fsck2025/__init__.py index 9fa165b..659872a 100644 --- a/fsck2025/__init__.py +++ b/fsck2025/__init__.py @@ -19,34 +19,34 @@ def introFrames(args): ) # fade in logo - # frames = 1 * fps - # for i in range(0, frames): - # # source: matrix(0.66093871,0,0,0.66093871,325.49887,111.96043) - # # target: matrix(1, 0, 0, 1, 0, 0) - # size = 0.66 + easeInOutSine(i, 0.0, 1.0 - 0.66, frames) - # posx = easeInOutSine(frames - i, 0.0, 325.49887, frames) - # posy = easeInOutSine(frames - i, 0.0, 111.96043, frames) - # yield ( - # ( - # "glogo", - # "attr", - # "transform", - # # the easing function can’t handle easing from larger to smaller, so use this hacky workaround - # f"translate(0,{easeInQuad(frames - i, 0.0, 200.0, frames)})", - # ), - # ("glogo", "style", "opacity", easeOutSine(i, 0, 1, frames)), - # # scale in the fsck text banner behind the foreground elements - # # target size is 5.414656 in both x and y - # ( - # "fsck-banner", - # "attr", - # "transform", - # f"matrix({size:.4f},0,0,{size:.4f},{posx:.4f},{posy:.4f})", - # ), - # ("title", "style", "opacity", 0), - # ("persons", "style", "opacity", 0), - # ("sparkle", "style", "opacity", 0), - # ) + frames = 1 * fps + for i in range(0, frames): + # source: matrix(0.66093871,0,0,0.66093871,325.49887,111.96043) + # target: matrix(1, 0, 0, 1, 0, 0) + size = 0.66 + easeInOutSine(i, 0.0, 1.0 - 0.66, frames) + posx = easeInOutSine(frames - i, 0.0, 325.49887, frames) + posy = easeInOutSine(frames - i, 0.0, 111.96043, frames) + yield ( + ( + "glogo", + "attr", + "transform", + # the easing function can’t handle easing from larger to smaller, so use this hacky workaround + f"translate(0,{easeInQuad(frames - i, 0.0, 200.0, frames)})", + ), + ("glogo", "style", "opacity", easeOutSine(i, 0, 1, frames)), + # scale in the fsck text banner behind the foreground elements + # target size is 5.414656 in both x and y + ( + "fsck-banner", + "attr", + "transform", + f"matrix({size:.4f},0,0,{size:.4f},{posx:.4f},{posy:.4f})", + ), + ("title", "style", "opacity", 0), + ("persons", "style", "opacity", 0), + ("sparkle", "style", "opacity", 0), + ) frames = 1 * fps for i in range(0, frames): @@ -71,6 +71,12 @@ def introFrames(args): "opacity", easeOutSine(min(i * 2, intermediate), 0, 1, intermediate), ), + ( + "sparkle", + "attr", + "transform", + f"translate({-463.66869 + easeLinear(i, 0.0, 378.32308 + 463.66869, frames)}, 0)", + ), ) for i in range(intermediate, frames): yield ( @@ -87,12 +93,18 @@ def introFrames(args): "style", "opacity", easeInSine( - i-intermediate, + i - intermediate, 1, -1, frames - intermediate, ), ), + ( + "sparkle", + "attr", + "transform", + f"translate({-463.66869 + easeLinear(i, 0.0, 378.32308 + 463.66869, frames)}, 0)", + ), ) # show whole image for 5 seconds diff --git a/fsck2025/artwork/intro.svg b/fsck2025/artwork/intro.svg index 0fb6d40..4e76d0a 100644 --- a/fsck2025/artwork/intro.svg +++ b/fsck2025/artwork/intro.svg @@ -250,11 +250,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.5700866" - inkscape:cx="1074.1445" - inkscape:cy="584.36266" + inkscape:zoom="2.2664018" + inkscape:cx="1015.4863" + inkscape:cy="344.81971" inkscape:document-units="px" - inkscape:current-layer="layer3" + inkscape:current-layer="layer2" showgrid="false" inkscape:window-width="3840" inkscape:window-height="2052" @@ -768,7 +768,7 @@ inkscape:transform-center-y="-0.71428571">$title$title$personnames + id="tspan2">$personnames