TAbby/hell.typ
2025-10-07 22:58:33 +02:00

40 lines
840 B
Typst

// compile with 164.2ppi
#import "@preview/cetz:0.3.1";
#let fps = 60;
#let frames = 6 * fps;
#set page(paper: "presentation-16-9", fill: rgb("202020"))
#set text(font: "Departure Mono", size: 36pt, fill: rgb("ffffff"))
#let cursor(t, blink_rate: 0.3) = {
text(if calc.rem(t, blink_rate * 2) < blink_rate { "ω" } else { " " })
}
#let done = false;
#let frame = 0;
#while not done {
frame += 1
if frame > frames {
done = true
} else {
let t = frame / fps
page[#cetz.canvas({
import cetz.draw: *
// rect((0 + t * 10, 0), (2 + t * 10, 10), fill: white)
// rect((30,0), (40,1), fill: white)
circle((1,1), name: "spinner")
line(
(1, 1),
..range(0, frame + 1).map(f => (anchor: f * 1deg, name: "spinner")),
fill: white,
stroke: 0pt
)
})]
}
}