import sources from scattered branches

This commit is contained in:
2026-07-08 23:12:18 -04:00
parent a1cbd1657e
commit 5e9d8f1b34
9409 changed files with 97775 additions and 7 deletions

64
lib.typ Normal file
View File

@@ -0,0 +1,64 @@
#let callout(body, kind: none, label: none, outlined: false) = {
html.section(
class: ("callout", kind),
context {
let level = counter(heading).get().len() + 1
heading(label + ":", level: level, numbering: none, outlined: outlined)
body
},
)
}
#let tip = callout.with(kind: "tip", label: "Tip")
#let warn = callout.with(kind: "warn", label: "Warning")
#let note = callout.with(kind: "note", label: "Note")
#let todo(label, ..args) = callout(args.pos().join(), kind: "todo", label: "[TODO] " + label, outlined: true)
#let example(body) = todo("example", body)
#let solution(body) = todo("solution", body)
#let details(body, label: none) = {
html.details({
if label != none {
html.summary(label)
}
body
})
}
#let camera() = {
let attrs = (:)
if orbit != auto { attrs.insert("orbit", if orbit == true { "" } else { "false" }) }
if pan != auto { attrs.insert("pan", if pan == true { "" } else { "false" }) }
if zoom != auto { attrs.insert("zoom", if zoom == true { "" } else { "false" }) }
html.elem("mc-camera", attrs: attrs)
}
#let diorama(
body,
theta: auto,
phi: auto,
radius: auto,
orbit: auto,
pan: auto,
zoom: auto,
timeline: auto,
autoplay: auto,
loop: auto,
subticks: auto,
) = {
let attrs = (:)
if theta != auto { attrs.insert("theta", str(theta)) }
if phi != auto { attrs.insert("phi", str(phi)) }
if radius != auto { attrs.insert("radius", str(radius)) }
if orbit != auto { attrs.insert("orbit", if (orbit) { "" } else { "false" }) }
if pan != auto { attrs.insert("pan", if (pan) { "" } else { "false" }) }
if zoom != auto { attrs.insert("zoom", if (zoom) { "" } else { "false" }) }
if timeline != auto { attrs.insert("timeline", if (timeline) { "" } else { "false" }) }
if autoplay != auto { attrs.insert("autoplay", if (autoplay) { "" } else { "false" }) }
if loop != auto { attrs.insert("loop", if (loop) { "" } else { "false" }) }
if subticks != auto { attrs.insert("subticks", if (subticks) { "" } else { "false" }) }
html.elem("mc-diorama", body, attrs: attrs)
}
#let world(body) = html.script(body, type: "text/mc-world")