From f08f30b9e27727cfff089d62a4e3ab2d8b5dc976 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Fri, 21 Jun 2024 15:59:35 +0200 Subject: [PATCH] added notes --- gallery/gitea.png | Bin 0 -> 17076 bytes gallery/notes.pdf | Bin 0 -> 90766 bytes gallery/notes.typ | 114 +++++++++++++++++++++++++++++++ src/consts.typ | 8 ++- src/diagram.typ | 45 ++++++++++-- src/lib.typ | 3 +- src/note.typ | 171 ++++++++++++++++++++++++++++++++++++++++++++++ src/renderer.typ | 34 +++++++++ src/sequence.typ | 19 +++++- 9 files changed, 384 insertions(+), 10 deletions(-) create mode 100644 gallery/gitea.png create mode 100644 gallery/notes.pdf create mode 100644 gallery/notes.typ create mode 100644 src/note.typ diff --git a/gallery/gitea.png b/gallery/gitea.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2874cf2f46b8c04057dd69330f575ced933b7a GIT binary patch literal 17076 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 literal 0 HcmV?d00001 diff --git a/gallery/notes.typ b/gallery/notes.typ new file mode 100644 index 0000000..f2f20fa --- /dev/null +++ b/gallery/notes.typ @@ -0,0 +1,114 @@ +#import "/src/lib.typ" as chronos: * + +#set page(width: auto, height: auto) +#chronos.diagram({ + _par("a", display-name: "Alice") + _par("b", display-name: "Bob") + + _seq("a", "b", comment: [hello]) + _note("left", [this is a first note]) + + _seq("b", "a", comment: [ok]) + _note("right", [this is another note]) + + _seq("b", "b", comment: [I am thinking]) + _note("left", [a note\ can also be defined\ on several lines]) +}) + +#pagebreak() + +#chronos.diagram({ + _par("a", display-name: "Alice") + _par("b", display-name: "Bob") + + _note("left", [This is displayed\ left of Alice.], pos: "a", color: rgb("#00FFFF")) + _note("right", [This is displayed right of Alice.], pos: "a") + _note("over", [This is displayed over Alice.], pos: "a") + _note("over", [This is displayed\ over Bob and Alice.], pos: ("a", "b"), color: rgb("#FFAAAA")) + _note("over", [This is yet another\ example of\ a long note.], pos: ("a", "b")) +}) + +#pagebreak() + +#chronos.diagram({ + _par("caller") + _par("server") + + _seq("caller", "server", comment: [conReq]) + _note("over", [idle], pos: "caller", shape: "hex") + _seq("server", "caller", comment: [conConf]) + _note("over", ["r" as rectangle\ "h" as hexagon], pos: "server", shape: "rect") + _note("over", [this is\ on several\ lines], pos: "server", shape: "rect") + _note("over", [this is\ on several\ lines], pos: "caller", shape: "hex") +}) + +#pagebreak() + +#chronos.diagram({ + _par("a", display-name: "Alice") + _par("b", display-name: "Bob") + _par("c", display-name: "Charlie") + + _seq("a", "b", comment: [m1]) + _seq("b", "c", comment: [m2]) + + _note("over", [Old method for note over all part. with:\ `note over FirstPart, LastPart`.], pos: ("a", "c")) + _note("across", [New method with:\ `note across`.]) + + _seq("b", "a") + + _note("across", [Note across all part.], shape: "hex") +}) + +#pagebreak() + +#chronos.diagram({ + _par("a", display-name: "Alice") + _par("b", display-name: "Bob") + + _note("over", [initial state of Alice], pos: "a") + _note("over", [initial state of Bob], pos: "b") + _seq("b", "a", comment: [hello]) +}) + +#chronos.diagram({ + _par("a", display-name: "Alice") + _par("b", display-name: "Bob") + + _note("over", [initial state of Alice], pos: "a") + _note("over", [initial state of Bob], pos: "b", aligned: true) + _seq("b", "a", comment: [hello]) +}) + +#pagebreak() + +#chronos.diagram({ + _par("a", display-name: [Alice]) + _par("b", display-name: [The *Famous* Bob]) + + _seq("a", "b", comment: [hello #strike([there])]) + + _gap() + _seq("b", "a", comment: [ok]) + _note("left", [ + This is *bold*\ + This is _italics_\ + This is `monospaced`\ + This is #strike([stroked])\ + This is #underline([underlined])\ + This is #underline([waved])\ + ]) + + _seq("a", "b", comment: [A _well formatted_ message]) + _note("right", [ + This is #box(text([displayed], size: 18pt), fill: rgb("#5F9EA0"))\ + #underline([left of]) Alice. + ], pos: "a") + _note("left", [ + #underline([This], stroke: red) is #text([displayed], fill: rgb("#118888"))\ + *#text([left of], fill: rgb("#800080")) #strike([Alice], stroke: red) Bob.* + ], pos: "b") + _note("over", [ + #underline([This is hosted], stroke: rgb("#FF33FF")) by #box(baseline: 50%, image("gitea.png", width: 1cm, height: 1cm, fit: "contain")) + ], pos: ("a", "b")) +}) \ No newline at end of file diff --git a/src/consts.typ b/src/consts.typ index bac5d0c..8db4541 100644 --- a/src/consts.typ +++ b/src/consts.typ @@ -15,6 +15,12 @@ #let COLLECTIONS-DY = 3 #let QUEUE-PAD = (5pt, 3pt) +#let NOTE-PAD = (6, 3) +#let NOTE-CORNER-SIZE = 6 +#let NOTE-GAP = 3 +#let NOTE-HEX-PAD = (6, 8) + #let COL-DESTRUCTION = rgb("#A80238") #let COL-GRP-NAME = rgb("#EEEEEE") -#let COL-SEP-NAME = rgb("#EEEEEE") \ No newline at end of file +#let COL-SEP-NAME = rgb("#EEEEEE") +#let COL-NOTE = rgb("#FEFFDD") \ No newline at end of file diff --git a/src/diagram.typ b/src/diagram.typ index c2c2656..48685dc 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -57,7 +57,8 @@ // List participants let linked = () - for elmt in elmts { + let last-seq = none + for (i, elmt) in elmts.enumerate() { if elmt.type == "par" { participants.push(elmt) } else if elmt.type == "seq" { @@ -73,15 +74,44 @@ participants.at(i).from-start = false } + let p1 = elmt.p1 + let p2 = elmt.p2 if elmt.p1 == "?" { - linked.push("?" + elmt.p2) - } else { - linked.push(elmt.p1) + p1 = "?" + elmt.p2 } if elmt.p2 == "?" { - linked.push(elmt.p1 + "?") - } else { - linked.push(elmt.p2) + p2 = elmt.p1 + "?" + } + linked.push(p1) + linked.push(p2) + last-seq = ( + elmt: elmt, + i: i, + p1: p1, + p2: p2 + ) + } else if elmt.type == "note" { + elmt.insert("linked", elmt.pos == none and elmt.side != "across") + if elmt.pos == none and elmt.side != "across" { + let names = participants.map(p => p.name) + let i1 = names.position(n => n == last-seq.p1) + let i2 = names.position(n => n == last-seq.p2) + let pars = ((i1, last-seq.p1), (i2, last-seq.p2)).sorted(key: p => p.first()) + if elmt.side == "left" { + elmt.pos = pars.first().last() + } else if elmt.side == "right" { + elmt.pos = pars.last().last() + } + + let seq = last-seq.elmt + seq.insert("linked-note", elmt) + elmts.at(last-seq.i) = seq + } + elmts.at(i) = elmt + if elmt.side == "left" { + linked.push("[") + } else if elmt.side == "right" { + linked.push("]") } } } @@ -137,6 +167,7 @@ } } + set text(font: "Source Sans 3") render(participants, elmts) } diff --git a/src/lib.typ b/src/lib.typ index 8574fbd..f44c8e9 100644 --- a/src/lib.typ +++ b/src/lib.typ @@ -3,4 +3,5 @@ #import "sequence.typ": _seq #import "group.typ": _grp #import "participant.typ": _par -#import "separator.typ": _sep \ No newline at end of file +#import "separator.typ": _sep +#import "note.typ": _note \ No newline at end of file diff --git a/src/note.typ b/src/note.typ new file mode 100644 index 0000000..39281da --- /dev/null +++ b/src/note.typ @@ -0,0 +1,171 @@ +#import "@preview/cetz:0.2.2": draw +#import "consts.typ": * + +#let SIDES = ( + "left", + "right", + "over", + "across" +) + +#let SHAPES = ( + "default", + "rect", + "hex" +) + +#let _note(side, content, pos: none, color: COL-NOTE, shape: "default", aligned: false) = { + return (( + type: "note", + side: side, + content: content, + pos: pos, + color: color, + shape: shape, + aligned: aligned + ),) +} + +#let get-note-box(note) = { + let PAD = if note.shape == "hex" {NOTE-HEX-PAD} else {NOTE-PAD} + let inset = ( + left: PAD.last() * 1pt, + right: PAD.last() * 1pt, + top: PAD.first() * 1pt, + bottom: PAD.first() * 1pt, + ) + if note.shape == "default" { + inset.right += NOTE-CORNER-SIZE * 1pt + } + if note.side == "left" { + inset.right += NOTE-GAP * 1pt + } else if note.side == "right" { + inset.left += NOTE-GAP * 1pt + } + return box(note.content, inset: inset) +} + +#let get-size(note) = { + let PAD = if note.shape == "hex" {NOTE-HEX-PAD} else {NOTE-PAD} + let m = measure(box(note.content)) + let w = m.width / 1pt + PAD.last() * 2 + let h = m.height / 1pt + PAD.first() * 2 + if note.shape == "default" { + w += NOTE-CORNER-SIZE + } + return ( + width: w, + height: h + ) +} + +#let _get-base-x(pars-i, x-pos, note) = { + if note.side == "across" { + return (x-pos.first() + x-pos.last()) / 2 + } + if note.side == "over" { + if type(note.pos) == array { + let xs = note.pos.map(par => x-pos.at(pars-i.at(par))) + return xs.sum() / xs.len() + } + } + return x-pos.at(pars-i.at(note.pos)) +} + +#let render(pars-i, x-pos, note, y, lifelines) = { + let shapes = () + let PAD = if note.shape == "hex" {NOTE-HEX-PAD} else {NOTE-PAD} + let m = measure(box(note.content)) + let w = m.width / 1pt + PAD.last() * 2 + let h = m.height / 1pt + PAD.first() * 2 + let total-w = w + if note.shape == "default" { + total-w += NOTE-CORNER-SIZE + } + + let base-x = _get-base-x(pars-i, x-pos, note) + + let i = none + if note.pos != none and type(note.pos) == str { + i = pars-i.at(note.pos) + } + let x0 = base-x + if note.side == "left" { + x0 -= NOTE-GAP + x0 -= total-w + if lifelines.at(i).level != 0 { + x0 -= LIFELINE-W / 2 + } + } else if note.side == "right" { + x0 += NOTE-GAP + x0 -= lifelines.at(i).level * LIFELINE-W / 2 + } else if note.side == "over" or note.side == "across" { + x0 -= total-w / 2 + } + + let x1 = x0 + w + let x2 = x0 + total-w + let y0 = y + + if note.linked { + y0 += h / 2 + } + let y1 = y0 - h + + if note.shape == "default" { + shapes += draw.merge-path( + stroke: black + .5pt, + fill: note.color, + close: true, + { + draw.line( + (x0, y0), + (x1, y0), + (x2, y0 - NOTE-CORNER-SIZE), + (x2, y1), + (x0, y1) + ) + } + ) + shapes += draw.line((x1, y0), (x1, y0 - NOTE-CORNER-SIZE), (x2, y0 - NOTE-CORNER-SIZE), stroke: black + .5pt) + } else if note.shape == "rect" { + shapes += draw.rect( + (x0, y0), + (x2, y1), + stroke: black + .5pt, + fill: note.color + ) + } else if note.shape == "hex" { + let lx = x0 + PAD.last() + let rx = x2 - PAD.last() + let my = (y0 + y1) / 2 + shapes += draw.merge-path( + stroke: black + .5pt, + fill: note.color, + close: true, + { + draw.line( + (lx, y0), + (rx, y0), + (x2, my), + (rx, y1), + (lx, y1), + (x0, my), + ) + } + ) + } + + shapes += draw.content( + ((x0 + x1)/2, (y0 + y1)/2), + note.content, + anchor: "center" + ) + + if note.pos != none or note.side == "across" { + y -= h + } + + let r = (y, shapes) + return r +} \ No newline at end of file diff --git a/src/renderer.typ b/src/renderer.typ index bd78e8b..540a4ce 100644 --- a/src/renderer.typ +++ b/src/renderer.typ @@ -6,6 +6,7 @@ #import "sequence.typ" #import "separator.typ" #import "consts.typ": * +#import "note.typ" as note: get-note-box #let DEBUG-INVISIBLE = false @@ -61,6 +62,29 @@ par.max-lifelines = calc.max(par.max-lifelines, par.lifeline-lvl) } participants.at(i) = par + + } else if elmt.type == "note" { + let (p1, p2) = (none, none) + if elmt.side == "left" { + p1 = "[" + p2 = elmt.pos + } else if elmt.side == "right" { + p1 = elmt.pos + p2 = "]" + } + + if p1 != none and p2 != none { + let i1 = pars-i.at(p1) + let i2 = pars-i.at(p2) + cells.push( + ( + elmt: elmt, + i1: i1, + i2: i2, + cell: get-note-box(elmt) + ) + ) + } } } @@ -143,6 +167,7 @@ let draw-group = group.render.with() let draw-sep = separator.render.with(x-pos) let draw-par = participant.render.with(x-pos) + let draw-note = note.render.with(pars-i, x-pos) // Draw participants (start) for p in participants { @@ -223,6 +248,15 @@ line.lines.push(("create", y)) } lifelines.at(i) = line + + // Note + } else if elmt.type == "note" { + if not elmt.linked { + y -= Y-SPACE + let shps + (y, shps) = draw-note(elmt, y, lifelines) + shapes += shps + } } } diff --git a/src/sequence.typ b/src/sequence.typ index 23dd557..cc81393 100644 --- a/src/sequence.typ +++ b/src/sequence.typ @@ -1,6 +1,7 @@ #import "@preview/cetz:0.2.2": draw #import "consts.typ": * #import "participant.typ" +#import "note.typ" #let get-arrow-marks(sym, color) = { if type(sym) == array { @@ -61,10 +62,15 @@ y -= Y-SPACE + let h = 0 // Reserve space for comment if elmt.comment != none { - y -= measure(box(elmt.comment)).height / 1pt + 6 + h = calc.max(h, measure(box(elmt.comment)).height / 1pt + 6) } + if "linked-note" in elmt { + h = calc.max(h, note.get-size(elmt.linked-note).height / 2) + } + y -= h let i1 = pars-i.at(elmt.p1) let i2 = pars-i.at(elmt.p2) @@ -148,6 +154,12 @@ ) ) + let y0 = y + if "linked-note" in elmt { + let shps = note.render(pars-i, x-pos, elmt.linked-note, y, lifelines).last() + shapes += shps + } + if elmt.p1 == elmt.p2 { if elmt.flip { x1 = start-info.lx @@ -210,6 +222,11 @@ lifelines.at(i2) = dst-line } + if "linked-note" in elmt { + let m = note.get-size(elmt.linked-note) + y = calc.min(y, y0 - m.height / 2) + } + let r = (y, lifelines, shapes) return r } \ No newline at end of file