#import "@preview/cetz:0.2.2": draw #import "consts.typ": * #let PAR-SPECIALS = "?[]" #let _par(name, display-name: auto, from-start: true, invisible: false) = { return (( type: "par", name: name, display-name: if display-name == auto {name} else {display-name}, from-start: from-start, invisible: invisible ),) } #let _exists(participants, name) = { if name == "?" or name == "[" or name == "]" { return true } for p in participants { if name == p.name { return true } } return false } #let render(x-pos, p, y: 0) = { draw.content( (x-pos.at(p.i), y), p.display-name, name: p.name, frame: "rect", padding: PAR-PAD, anchor: "south" ) }