From 0c0aa0a4202376e4e7c34b64c07ae81761f93f89 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sun, 13 Jul 2025 14:36:25 +0200 Subject: [PATCH 01/13] refactored setup process --- src/core/setup.typ | 317 +++++++++++++++++++++++++++++++++++++++ src/{ => core}/utils.typ | 10 ++ src/diagram.typ | 213 +------------------------- 3 files changed, 331 insertions(+), 209 deletions(-) create mode 100644 src/core/setup.typ rename src/{ => core}/utils.typ (93%) diff --git a/src/core/setup.typ b/src/core/setup.typ new file mode 100644 index 0000000..e8d07e9 --- /dev/null +++ b/src/core/setup.typ @@ -0,0 +1,317 @@ +#import "utils.typ": is-elmt, get-group-span +#import "../participant.typ": _exists as par-exists, _par + +#let flatten-group(elmts, i) = { + let group = elmts.at(i) + elmts.at(i) = group + return ( + elmts.slice(0, i + 1) + + group.elmts + + (( + type: "grp-end", + start-i: i + ),) + + elmts.slice(i+1) + ) +} + +#let update-group-children(elmts, i) = { + let elmts = elmts + let group-end = elmts.at(i) + + elmts.at(group-end.start-i).elmts = elmts.slice(group-end.start-i + 1, i) + return elmts +} + +#let convert-return(elmts, i, activation-history) = { + if activation-history.len() == 0 { + panic("Cannot return if no lifeline is activated") + } + let elmts = elmts + let activation-history = activation-history + let ret = elmts.at(i) + let seq = activation-history.pop() + elmts.at(i) = _seq( + seq.p2, seq.p1, + comment: ret.comment, + disable-src: true, + dashed: true + ).first() + return (elmts, activation-history) +} + +#let unwrap-containers(elmts) = { + let elmts = elmts + let i = 0 + let activation-history = () + + // Flatten groups + convert returns + while i < elmts.len() { + let elmt = elmts.at(i) + if not is-elmt(elmt) { + i += 1 + continue + } + + if elmt.type == "grp" { + elmts = flatten-group(elmts, i) + + } else if elmt.type == "seq" { + if elmt.enable-dst { + activation-history.push(elmt) + } + + } else if elmt.type == "evt" { + if elmt.event == "enable" { + for elmt2 in elmts.slice(0, i).rev() { + if elmt2.type == "seq" { + activation-history.push(elmt2) + break + } + } + } + + } else if elmt.type == "ret" { + (elmts, activation-history) = convert-return(elmts, i, activation-history) + } + i += 1 + } + + return (elmts, activation-history) +} + + +#let prepare-seq-participants(ctx, seq) = { + let ctx = ctx + if not par-exists(ctx.participants, seq.p1) { + ctx.participants.push(_par(seq.p1).first()) + } + if not par-exists(ctx.participants, seq.p2) { + ctx.participants.push(_par( + seq.p2, + from-start: not seq.create-dst + ).first()) + + } else if seq.create-dst { + let i = ctx.participants.position(p => p.name == seq.p2) + ctx.participants.at(i).from-start = false + } + + let p1 = seq.p1 + let p2 = seq.p2 + if seq.p1 == "?" { + p1 = "?" + seq.p2 + } + if seq.p2 == "?" { + p2 = seq.p1 + "?" + } + ctx.linked.push(p1) + ctx.linked.push(p2) + ctx.last-seq = ( + elmt: seq, + i: ctx.i, + p1: p1, + p2: p2 + ) + return ctx +} + +#let prepare-note-participants(ctx, note) = { + let ctx = ctx + let note = note + note.insert( + "linked", + note.pos == none and note.side != "across" + ) + if note.pos == none and note.side != "across" { + let names = ctx.participants.map(p => p.name) + let i1 = names.position(n => n == ctx.last-seq.p1) + let i2 = names.position(n => n == ctx.last-seq.p2) + let pars = ( + (i1, ctx.last-seq.p1), + (i2, ctx.last-seq.p2) + ).sorted(key: p => p.first()) + + if note.side == "left" { + note.pos = pars.first().last() + } else if note.side == "right" { + note.pos = pars.last().last() + } + + let seq = last-seq.note + seq.insert("linked-note", note) + ctx.elmts.at(last-seq.i) = seq + } + if note.aligned { + let n = last-note.note + n.aligned-with = note + ctx.elmts.at(last-note.i) = n + } + if note.side == "left" { + ctx.linked.push("[") + } else if note.side == "right" { + ctx.linked.push("]") + } + + let pars = none + if type(note.pos) == str { + pars = (note.pos,) + } else if type(note.pos) == array { + pars = note.pos + } + if pars != none { + for par in pars { + if not par-exists(ctx.participants, par) { + participants.push(_par(par).first()) + } + } + } + + ctx.elmts.at(ctx.i) = note + + ctx.last-note = ( + elmt: note, + i: ctx.i + ) + + return ctx +} + +#let prepare-evt-participants(ctx, evt) = { + let par = evt.participant + if not par-exists(ctx.participants, par) { + let p = _par( + par, + from-start: evt.event != "create" + ).first() + ctx.participants.push(p) + + } else if evt.event == "create" { + let i = ctx.participants.position(p => p.name == par) + ctx.participants.at(i).from-start = false + } + return ctx +} + +#let normalize-special-participants(elmt) = { + if elmt.p1 == "?" { + elmt.p1 = "?" + elmt.p2 + } else if elmt.p2 == "?" { + elmt.p2 = elmt.p1 + "?" + } + return elmt +} + +#let prepare-participants(elmts) = { + let ctx = ( + linked: (), + last-seq: none, + last-note: none, + participants: (), + elmts: elmts, + i: 0 + ) + + for (i, elmt) in ctx.elmts.enumerate() { + ctx.i = i + if not is-elmt(elmt) { + continue + } + + if elmt.type == "par" { + ctx.participants.push(elmt) + + } else if elmt.type == "seq" { + ctx = prepare-seq-participants(ctx, elmt) + + } else if elmt.type == "note" { + ctx = prepare-note-participants(ctx, elmt) + + } else if elmt.type == "evt" { + ctx = prepare-evt-participants(ctx, elmt) + } + } + ctx.linked = ctx.linked.dedup() + + let pars = ctx.participants + let participants = () + + if "[" in ctx.linked { + participants.push(_par("[", invisible: true).first()) + } + + for (i, p) in pars.enumerate() { + let before = _par( + "?" + p.name, + invisible: true + ).first() + let after = _par( + p.name + "?", + invisible: true + ).first() + + if before.name in ctx.linked { + if participants.len() == 0 or not participants.last().name.ends-with("?") { + participants.push(before) + } else { + participants.insert(-1, before) + } + } + + participants.push(p) + + if after.name in ctx.linked { + participants.push(after) + } + } + if "]" in ctx.linked { + participants.push(_par( + "]", + invisible: true + ).first()) + } + + return (ctx.elmts, participants) +} + +#let finalize-setup(elmts, participants) = { + for (i, p) in participants.enumerate() { + p.insert("i", i) + participants.at(i) = p + } + + let containers = () + + for (i, elmt) in elmts.enumerate() { + if not is-elmt(elmt) { + continue + } + if elmt.type == "seq" { + elmts.at(i) = normalize-special-participants(elmt) + } else if elmt.type == "grp-end" { + // Put back elements in group because they might have changed + elmts = update-group-children(elmts, i) + } else if elmt.type in ("grp", "alt") { + containers.push(i) + } + } + + // Compute groups spans (horizontal) + for i in containers { + let elmt = elmts.at(i) + let (min-i, max-i) = get-group-span(participants, elmt) + elmts.at(i).insert("min-i", min-i) + elmts.at(i).insert("max-i", max-i) + } + + return (elmts, participants) +} + +#let setup(elements) = { + let (elmts, activation-history) = unwrap-containers(elements) + + let participants + (elmts, participants) = prepare-participants(elmts) + + return finalize-setup(elmts, participants) +} \ No newline at end of file diff --git a/src/utils.typ b/src/core/utils.typ similarity index 93% rename from src/utils.typ rename to src/core/utils.typ index e8d750d..25d4801 100644 --- a/src/utils.typ +++ b/src/core/utils.typ @@ -1,3 +1,13 @@ +#let is-elmt(elmt) = { + if type(elmt) != dictionary { + return false + } + if "type" not in elmt { + return false + } + return true +} + #let normalize-units(value) = { if type(value) == int or type(value) == float { return value diff --git a/src/diagram.typ b/src/diagram.typ index 0e78117..0dc89aa 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -1,8 +1,10 @@ -#import "utils.typ": get-group-span, fit-canvas +#import "core/utils.typ": fit-canvas #import "renderer.typ": render #import "participant.typ" as participant: _par, PAR-SPECIALS #import "sequence.typ": _seq +#import "core/setup.typ": setup + #let _gap(size: 20) = { return (( type: "gap", @@ -36,214 +38,7 @@ return } - let participants = () - let elmts = elements - let i = 0 - - let activation-history = () - - // Flatten groups + convert returns - while i < elmts.len() { - let elmt = elmts.at(i) - if elmt.type == "grp" { - elmt.elmts = elmt.elmts.map(e => { - if e.type == "seq" { - if e.p1 == "?" { - e.p1 = "?" + e.p2 - } else if e.p2 == "?" { - e.p2 = e.p1 + "?" - } - } - e - }) - elmts.at(i) = elmt - elmts = ( - elmts.slice(0, i + 1) + - elmt.elmts + - (( - type: "grp-end", - start-i: i - ),) + - elmts.slice(i+1) - ) - } else if elmt.type == "grp-end" { - // Put back elements in group because they might have changed - elmts.at(elmt.start-i).elmts = elmts.slice(elmt.start-i + 1, i) - - } else if elmt.type == "seq" { - if elmt.enable-dst { - activation-history.push(elmt) - } - } else if elmt.type == "evt" { - if elmt.event == "enable" { - for elmt2 in elmts.slice(0, i).rev() { - if elmt2.type == "seq" { - activation-history.push(elmt2) - break - } - } - } - } else if elmt.type == "ret" { - if activation-history.len() == 0 { - panic("Cannot return if no lifeline is activated") - } - let seq = activation-history.pop() - elmts.at(i) = _seq( - seq.p2, seq.p1, - comment: elmt.comment, - disable-src: true, - dashed: true - ).first() - } - i += 1 - } - - // List participants - let linked = () - let last-seq = none - let last-note = none - for (i, elmt) in elmts.enumerate() { - if elmt.type == "par" { - participants.push(elmt) - } else if elmt.type == "seq" { - if not participant._exists(participants, elmt.p1) { - participants.push(_par(elmt.p1).first()) - } - if not participant._exists(participants, elmt.p2) { - let par = _par(elmt.p2, from-start: not elmt.create-dst).first() - participants.push(par) - - } else if elmt.create-dst { - let i = participants.position(p => p.name == elmt.p2) - participants.at(i).from-start = false - } - - let p1 = elmt.p1 - let p2 = elmt.p2 - if elmt.p1 == "?" { - p1 = "?" + elmt.p2 - } - if 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 - } - if elmt.aligned { - let n = last-note.elmt - n.aligned-with = elmt - elmts.at(last-note.i) = n - } - elmts.at(i) = elmt - if elmt.side == "left" { - linked.push("[") - } else if elmt.side == "right" { - linked.push("]") - } - - let pars = none - if type(elmt.pos) == str { - pars = (elmt.pos,) - } else if type(elmt.pos) == array { - pars = elmt.pos - } - if pars != none { - for par in pars { - if not participant._exists(participants, par) { - participants.push(_par(par).first()) - } - } - } - - last-note = ( - elmt: elmt, - i: i - ) - } else if elmt.type == "evt" { - let par = elmt.participant - if not participant._exists(participants, par) { - let p = _par(par, from-start: elmt.event != "create").first() - participants.push(p) - - } else if elmt.event == "create" { - let i = participants.position(p => p.name == par) - participants.at(i).from-start = false - } - } - } - linked = linked.dedup() - - let pars = participants - participants = () - - if "[" in linked { - participants.push(_par("[", invisible: true).first()) - } - - for (i, p) in pars.enumerate() { - let before = _par("?" + p.name, invisible: true).first() - let after = _par(p.name + "?", invisible: true).first() - - if before.name in linked { - if participants.len() == 0 or not participants.last().name.ends-with("?") { - participants.push(before) - } else { - participants.insert(-1, before) - } - } - - participants.push(p) - - if after.name in linked { - participants.push(after) - } - } - if "]" in linked { - participants.push(_par("]", invisible: true).first()) - } - - // Add index to participant - for (i, p) in participants.enumerate() { - p.insert("i", i) - participants.at(i) = p - } - - // Compute groups spans (horizontal) - for (i, elmt) in elmts.enumerate() { - if elmt.type == "grp" or elmt.type == "alt" { - let (min-i, max-i) = get-group-span(participants, elmt) - elmts.at(i).insert("min-i", min-i) - elmts.at(i).insert("max-i", max-i) - } else if elmt.type == "seq" { - if elmt.p1 == "?" { - elmts.at(i).p1 = "?" + elmt.p2 - } else if elmt.p2 == "?" { - elmts.at(i).p2 = elmt.p1 + "?" - } - } - } + let (elmts, participants) = setup(elements) let canvas = render(participants, elmts) fit-canvas(canvas, width: width) -- 2.49.0 From 276e9dae1bb1a99564c70120934954172aee5bde Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sun, 13 Jul 2025 16:06:02 +0200 Subject: [PATCH 02/13] refactored pre-rendering --- src/{ => core}/renderer.typ | 368 ++++++++++++++++++++++-------------- src/diagram.typ | 2 +- 2 files changed, 232 insertions(+), 138 deletions(-) rename src/{ => core}/renderer.typ (59%) diff --git a/src/renderer.typ b/src/core/renderer.typ similarity index 59% rename from src/renderer.typ rename to src/core/renderer.typ index 205ca58..9a137c6 100644 --- a/src/renderer.typ +++ b/src/core/renderer.typ @@ -1,119 +1,157 @@ -#import "/src/cetz.typ": canvas, draw -#import "utils.typ": get-participants-i, get-style, normalize-units -#import "group.typ" -#import "participant.typ" +#import "/src/cetz.typ" as cetz: canvas, draw +#import "utils.typ": get-participants-i, get-style, normalize-units, is-elmt +#import "../group.typ" +#import "../participant.typ" #import participant: PAR-SPECIALS -#import "sequence.typ" -#import "separator.typ" -#import "sync.typ" -#import "consts.typ": * -#import "note.typ" as note: get-note-box +#import "../sequence.typ" +#import "../separator.typ" +#import "../sync.typ" +#import "../consts.typ": * +#import "../note.typ" as note: get-note-box +#import "../styles.typ" #let DEBUG-INVISIBLE = false -#let get-columns-width(participants, elements) = { - participants = participants.map(p => { +#let init-lifelines(participants) = { + return participants.map(p => { p.insert("lifeline-lvl", 0) p.insert("max-lifelines", 0) p }) - let pars-i = get-participants-i(participants) - let cells = () +} - // Unwrap syncs +#let unwrap-syncs(elements) = { let i = 0 while i < elements.len() { let elmt = elements.at(i) if elmt.type == "sync" { - elements = elements.slice(0, i + 1) + elmt.elmts + elements.slice(i + 1) + elements = ( + elements.slice(0, i + 1) + + elmt.elmts + + elements.slice(i + 1) + ) } i += 1 } + return elements +} - // Compute max lifeline levels +#let seq-update-lifelines(participants, pars-i, seq) = { + let participants = participants + let com = if seq.comment == none {""} else {seq.comment} + let i1 = pars-i.at(seq.p1) + let i2 = pars-i.at(seq.p2) + let cell = ( + elmt: seq, + i1: calc.min(i1, i2), + i2: calc.max(i1, i2), + cell: box(com, inset: 3pt) + ) + + if seq.disable-src or seq.destroy-src { + let p = participants.at(i1) + p.lifeline-lvl -= 1 + participants.at(i1) = p + } + if seq.disable-dst { + let p = participants.at(i2) + p.lifeline-lvl -= 1 + participants.at(i2) = p + } + if seq.enable-dst { + let p = participants.at(i2) + p.lifeline-lvl += 1 + p.max-lifelines = calc.max(p.max-lifelines, p.lifeline-lvl) + participants.at(i2) = p + } + + return (participants, cell) +} + +#let evt-update-lifelines(participants, pars-i, evt) = { + let par-name = evt.participant + let i = pars-i.at(par-name) + let par = participants.at(i) + if evt.event == "disable" or evt.event == "destroy" { + par.lifeline-lvl -= 1 + + } else if evt.event == "enable" { + par.lifeline-lvl += 1 + par.max-lifelines = calc.max(par.max-lifelines, par.lifeline-lvl) + } + participants.at(i) = par + return participants +} + +#let note-get-cell(note) = { + let (p1, p2) = (none, none) + let cell = none + if note.side == "left" { + p1 = "[" + p2 = note.pos + cell = get-note-box(note) + } else if note.side == "right" { + p1 = note.pos + p2 = "]" + cell = get-note-box(note) + } else if note.side == "over" and note.aligned-with != none { + let box1 = get-note-box(note) + let box2 = get-note-box(note.aligned-with) + let m1 = measure(box1) + let m2 = measure(box2) + cell = box( + width: (m1.width + m2.width) / 2, + height: calc.max(m1.height, m2.height) + ) + p1 = note.pos + p2 = note.aligned-with.pos + } else { + return none + } + + let i1 = pars-i.at(p1) + let i2 = pars-i.at(p2) + cell = ( + elmt: note, + i1: calc.min(i1, i2), + i2: calc.max(i1, i2), + cell: cell + ) + + return cell +} + +#let compute-max-lifeline-levels(participants, elements, pars-i) = { + let cells = () for elmt in elements { if elmt.type == "seq" { - let com = if elmt.comment == none {""} else {elmt.comment} - let i1 = pars-i.at(elmt.p1) - let i2 = pars-i.at(elmt.p2) - cells.push( - ( - elmt: elmt, - i1: calc.min(i1, i2), - i2: calc.max(i1, i2), - cell: box(com, inset: 3pt) - ) + let cell + (participants, cell) = seq-update-lifelines( + participants, + pars-i, + elmt ) - - if elmt.disable-src or elmt.destroy-src { - let p = participants.at(i1) - p.lifeline-lvl -= 1 - participants.at(i1) = p - } - if elmt.disable-dst { - let p = participants.at(i2) - p.lifeline-lvl -= 1 - participants.at(i2) = p - } - if elmt.enable-dst { - let p = participants.at(i2) - p.lifeline-lvl += 1 - p.max-lifelines = calc.max(p.max-lifelines, p.lifeline-lvl) - participants.at(i2) = p - } + cells.push(cell) } else if elmt.type == "evt" { - let par-name = elmt.participant - let i = pars-i.at(par-name) - let par = participants.at(i) - if elmt.event == "disable" or elmt.event == "destroy" { - par.lifeline-lvl -= 1 - - } else if elmt.event == "enable" { - par.lifeline-lvl += 1 - par.max-lifelines = calc.max(par.max-lifelines, par.lifeline-lvl) - } - participants.at(i) = par + participants = evt-update-lifelines( + participants, + pars-i, + elmt + ) } else if elmt.type == "note" { - let (p1, p2) = (none, none) - let cell = none - if elmt.side == "left" { - p1 = "[" - p2 = elmt.pos - cell = get-note-box(elmt) - } else if elmt.side == "right" { - p1 = elmt.pos - p2 = "]" - cell = get-note-box(elmt) - } else if elmt.side == "over" { - if elmt.aligned-with != none { - let box1 = get-note-box(elmt) - let box2 = get-note-box(elmt.aligned-with) - let m1 = measure(box1) - let m2 = measure(box2) - cell = box(width: (m1.width + m2.width) / 2, height: calc.max(m1.height, m2.height)) - p1 = elmt.pos - p2 = elmt.aligned-with.pos - } - } - - if p1 != none and p2 != none and cell != none { - let i1 = pars-i.at(p1) - let i2 = pars-i.at(p2) - cells.push( - ( - elmt: elmt, - i1: calc.min(i1, i2), - i2: calc.max(i1, i2), - cell: cell - ) - ) + let cell = note-get-cell(elmt) + if cell != none { + cells.push(cell) } } } - // Compute column widths - // Compute minimum widths for participant names and shapes + return (participants, elements, cells) +} + +/// Compute minimum widths for participant names and shapes +#let participants-min-col-widths(participants) = { let widths = () for i in range(participants.len() - 1) { let p1 = participants.at(i) @@ -124,11 +162,15 @@ let w2 = m2.width widths.push(w1 / 2pt + w2 / 2pt + PAR-SPACE) } + return widths +} - // Compute minimum width for over notes - for n in elements.filter(e => (e.type == "note" and - e.side == "over" and - type(e.pos) == str)) { +/// Compute minimum width for over notes +#let notes-min-col-widths(elements, widths, pars-i) = { + let widths = widths + let notes = elements.filter(e => e.type == "note") + for n in notes.filter(e => (e.side == "over" and + type(e.pos) == str)) { let m = note.get-size(n) let i = pars-i.at(n.pos) @@ -146,8 +188,12 @@ ) } } + return widths +} - // Compute minimum width for simple sequences (spanning 1 column) +/// Compute minimum width for simple sequences (spanning 1 column) +#let simple-seq-min-col-widths(cells, widths) = { + let widths = widths for cell in cells.filter(c => c.i2 - c.i1 == 1) { let m = measure(cell.cell) widths.at(cell.i1) = calc.max( @@ -155,9 +201,14 @@ m.width / 1pt + COMMENT-PAD ) } + return widths +} - // Compute minimum width for self sequences - for cell in cells.filter(c => c.elmt.type == "seq" and c.i1 == c.i2) { +/// Compute minimum width for self sequences +#let self-seq-min-col-widths(cells, widths) = { + let widths = widths + for cell in cells.filter(c => (c.elmt.type == "seq" and + c.i1 == c.i2)) { let m = measure(cell.cell) let i = cell.i1 if cell.elmt.flip { @@ -170,72 +221,112 @@ ) } } + return widths +} - // Compute remaining widths for longer sequences (spanning multiple columns) +/// Compute remaining widths for longer sequences (spanning multiple columns) +#let long-seq-min-col-widths(cells, widths) = { + let widths = widths let multicol-cells = cells.filter(c => c.i2 - c.i1 > 1) multicol-cells = multicol-cells.sorted(key: c => { c.i1 * 1000 + c.i2 }) for cell in multicol-cells { let m = measure(cell.cell) + let width = ( + m.width / 1pt + + COMMENT-PAD - + widths.slice(cell.i1, cell.i2 - 1).sum() + ) widths.at(cell.i2 - 1) = calc.max( - widths.at(cell.i2 - 1), - m.width / 1pt + COMMENT-PAD - widths.slice(cell.i1, cell.i2 - 1).sum() + widths.at(cell.i2 - 1), width ) } + return widths +} - // Add lifeline widths - for (i, w) in widths.enumerate() { +/// Add lifeline widths +#let col-widths-add-lifelines(participants, widths) = { + return widths.enumerate().map(((i, w)) => { let p1 = participants.at(i) let p2 = participants.at(i + 1) - let w = w + p1.max-lifelines * LIFELINE-W / 2 + w += p1.max-lifelines * LIFELINE-W / 2 if p2.max-lifelines != 0 { w += LIFELINE-W / 2 } - widths.at(i) = w - } + return w + }) +} - for elmt in elements { - if elmt.type == "col" { - let i1 = pars-i.at(elmt.p1) - let i2 = pars-i.at(elmt.p2) - if calc.abs(i1 - i2) != 1 { - let i-min = calc.min(i1, i2) - let i-max = calc.max(i1, i2) - let others = pars-i.pairs() - .sorted(key: p => p.last()) - .slice(i-min + 1, i-max) - .map(p => "'" + p.first() + "'") - .join(", ") - panic( - "Column participants must be consecutive (participants (" + - others + - ") are in between)" - ) - } - let i = calc.min(i1, i2) - - if elmt.width != auto { - widths.at(i) = normalize-units(elmt.width) - } - - let width = widths.at(i) - width = calc.max(width, normalize-units(elmt.min-width)) - if elmt.max-width != none { - width = calc.min(width, normalize-units(elmt.max-width)) - } - widths.at(i) = width + normalize-units(elmt.margin) +#let process-col-elements(elements, widths, pars-i) = { + let widths = widths + let cols = elements.filter(e => e.type == "col") + for col in cols { + let i1 = pars-i.at(col.p1) + let i2 = pars-i.at(col.p2) + if calc.abs(i1 - i2) != 1 { + let i-min = calc.min(i1, i2) + let i-max = calc.max(i1, i2) + let others = pars-i.pairs() + .sorted(key: p => p.last()) + .slice(i-min + 1, i-max) + .map(p => "'" + p.first() + "'") + .join(", ") + panic( + "Column participants must be consecutive (participants (" + + others + + ") are in between)" + ) } - } + let i = calc.min(i1, i2) + let width = widths.at(i) + + if col.width != auto { + width = normalize-units(col.width) + } + + width = calc.max( + width, + normalize-units(col.min-width) + ) + if col.max-width != none { + width = calc.min( + width, + normalize-units(col.max-width) + ) + } + widths.at(i) = width + normalize-units(col.margin) + } + return widths +} + +#let get-columns-width(participants, elements, pars-i) = { + elements = elements.filter(is-elmt) + elements = unwrap-syncs(elements) + + let cells + (participants, elements, cells) = compute-max-lifeline-levels(participants, elements, pars-i) + + let widths = participants-min-col-widths(participants) + widths = notes-min-col-widths(elements, widths, pars-i) + widths = simple-seq-min-col-widths(cells, widths) + widths = self-seq-min-col-widths(cells, widths) + widths = long-seq-min-col-widths(cells, widths) + widths = col-widths-add-lifelines(participants, widths) + widths = process-col-elements(elements, widths, pars-i) return widths } #let render(participants, elements) = context canvas(length: 1pt, { + let participants = participants + let elements = elements + let shapes = () + participants = init-lifelines(participants) let pars-i = get-participants-i(participants) - let widths = get-columns-width(participants, elements) + let widths = get-columns-width(participants, elements, pars-i) // Compute each column's X position let x-pos = (0,) @@ -267,8 +358,11 @@ // Draw elemnts for elmt in elements { + if not is-elmt(elmt) { + shapes.push(elmt) + // Sequences - if elmt.type == "seq" { + } else if elmt.type == "seq" { let shps (y, lifelines, shps) = draw-seq(elmt, y, lifelines) shapes += shps diff --git a/src/diagram.typ b/src/diagram.typ index 0dc89aa..6156ad1 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -1,5 +1,5 @@ #import "core/utils.typ": fit-canvas -#import "renderer.typ": render +#import "core/renderer.typ": render #import "participant.typ" as participant: _par, PAR-SPECIALS #import "sequence.typ": _seq -- 2.49.0 From 4f916359a987c4408ae97a40902509b0c6a877e5 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sun, 13 Jul 2025 16:09:10 +0200 Subject: [PATCH 03/13] renamed get- to compute-columns-widths --- src/core/renderer.typ | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/core/renderer.typ b/src/core/renderer.typ index 9a137c6..6ee01ca 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -8,7 +8,6 @@ #import "../sync.typ" #import "../consts.typ": * #import "../note.typ" as note: get-note-box -#import "../styles.typ" #let DEBUG-INVISIBLE = false @@ -301,7 +300,7 @@ return widths } -#let get-columns-width(participants, elements, pars-i) = { +#let compute-columns-width(participants, elements, pars-i) = { elements = elements.filter(is-elmt) elements = unwrap-syncs(elements) @@ -326,7 +325,7 @@ participants = init-lifelines(participants) let pars-i = get-participants-i(participants) - let widths = get-columns-width(participants, elements, pars-i) + let widths = compute-columns-width(participants, elements, pars-i) // Compute each column's X position let x-pos = (0,) -- 2.49.0 From e27bb9a9eb9402771947a26690e01fd522133110 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 14 Jul 2025 15:40:21 +0200 Subject: [PATCH 04/13] base for CeTZ integration migrated contextual variables to CeTZ context shared-state adapted participant rendering --- src/core/renderer.typ | 179 ++++++++---------------- src/core/utils.typ | 14 ++ src/participant.typ | 306 +----------------------------------------- 3 files changed, 74 insertions(+), 425 deletions(-) diff --git a/src/core/renderer.typ b/src/core/renderer.typ index 6ee01ca..df8cf2c 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -1,8 +1,9 @@ #import "/src/cetz.typ" as cetz: canvas, draw -#import "utils.typ": get-participants-i, get-style, normalize-units, is-elmt +#import "utils.typ": * #import "../group.typ" -#import "../participant.typ" -#import participant: PAR-SPECIALS +//#import "../participant.typ" +//#import participant: PAR-SPECIALS +#import "draw/participant.typ" #import "../sequence.typ" #import "../separator.typ" #import "../sync.typ" @@ -317,45 +318,65 @@ return widths } -#let render(participants, elements) = context canvas(length: 1pt, { - let participants = participants - let elements = elements +#let setup-ctx(participants, elements) = (ctx => { + let state = ctx.at("shared-state", default: (:)) - let shapes = () - participants = init-lifelines(participants) - let pars-i = get-participants-i(participants) - - let widths = compute-columns-width(participants, elements, pars-i) + let chronos-ctx = ( + participants: init-lifelines(participants), + pars-i: get-participants-i(participants), + y: 0, + groups: (), + lifelines: participants.map(_ => ( + level: 0, + lines: () + )) + ) + chronos-ctx.insert( + "widths", + compute-columns-width( + chronos-ctx.participants, + elements, + chronos-ctx.pars-i + ) + ) // Compute each column's X position let x-pos = (0,) - for width in widths { + for width in chronos-ctx.widths { x-pos.push(x-pos.last() + width) } + chronos-ctx.insert("x-pos", x-pos) + state.insert("chronos", chronos-ctx) + ctx.shared-state = state + return ( + ctx: ctx + ) +},) +#let render(participants, elements) = context canvas(length: 1pt, { + let shapes = () + setup-ctx(participants, elements) + + /* let draw-seq = sequence.render.with(pars-i, x-pos, participants) let draw-group = group.render.with() let draw-else = group.render-else.with() let draw-sep = separator.render.with(x-pos) - let draw-par = participant.render.with(x-pos) + //let draw-par = participant.render.with(x-pos) let draw-note = note.render.with(pars-i, x-pos) let draw-sync = sync.render.with(pars-i, x-pos, participants) + */ // Draw participants (start) - for p in participants { - if p.from-start and not p.invisible and p.show-top { - shapes += draw-par(p) + get-ctx(ctx => { + for p in ctx.participants { + if p.from-start and not p.invisible and p.show-top { + (p.draw)(p) + } } - } + }) - let y = 0 - let groups = () - let lifelines = participants.map(_ => ( - level: 0, - lines: () - )) - - // Draw elemnts + // Draw elements for elmt in elements { if not is-elmt(elmt) { shapes.push(elmt) @@ -372,7 +393,12 @@ let m = measure( box( elmt.name, - inset: (left: 5pt, right: 5pt, top: 3pt, bottom: 3pt), + inset: ( + left: 5pt, + right: 5pt, + top: 3pt, + bottom: 3pt + ), ) ) groups = groups.map(g => { @@ -482,10 +508,13 @@ } } - y -= Y-SPACE + set-ctx(ctx => { + ctx.y -= Y-SPACE + return ctx + }) // Draw vertical lines + lifelines + end participants - shapes += draw.on-layer(-1, { + draw.on-layer(-1, { if DEBUG-INVISIBLE { for p in participants.filter(p => p.invisible) { let color = if p.name.starts-with("?") {green} else if p.name.ends-with("?") {red} else {blue} @@ -504,99 +533,7 @@ } } - for p in participants.filter(p => not p.invisible) { - let x = x-pos.at(p.i) - - // Draw vertical line - let last-y = 0 - - let rects = () - let destructions = () - let lines = () - - // Compute lifeline rectangles + destruction positions - for line in lifelines.at(p.i).lines { - let event = line.first() - if event == "create" { - last-y = line.at(1) - - } else if event == "enable" { - if lines.len() == 0 { - draw.line( - (x, last-y), - (x, line.at(1)), - stroke: p.line-stroke - ) - } - lines.push(line) - - } else if event == "disable" or event == "destroy" { - let lvl = 0 - if lines.len() != 0 { - let l = lines.pop() - lvl = lines.len() - rects.push(( - x + lvl * LIFELINE-W / 2, - l.at(1), - line.at(1), - l.at(2) - )) - last-y = line.at(1) - } - - if event == "destroy" { - destructions.push((x + lvl * LIFELINE-W / 2, line.at(1))) - } - } else if event == "delay-start" { - draw.line( - (x, last-y), - (x, line.at(1)), - stroke: p.line-stroke - ) - last-y = line.at(1) - } else if event == "delay-end" { - draw.line( - (x, last-y), - (x, line.at(1)), - stroke: ( - dash: "loosely-dotted", - paint: gray.darken(40%), - thickness: .8pt - ) - ) - last-y = line.at(1) - } - } - - draw.line( - (x, last-y), - (x, y), - stroke: p.line-stroke - ) - - // Draw lifeline rectangles (reverse for bottom to top) - for rect in rects.rev() { - let (cx, y0, y1, style) = rect - let style = get-style("lifeline", style) - draw.rect( - (cx - LIFELINE-W / 2, y0), - (cx + LIFELINE-W / 2, y1), - ..style - ) - } - - // Draw lifeline destructions - for dest in destructions { - let (cx, cy) = dest - draw.line((cx - 8, cy - 8), (cx + 8, cy + 8), stroke: COL-DESTRUCTION + 2pt) - draw.line((cx - 8, cy + 8), (cx + 8, cy - 8), stroke: COL-DESTRUCTION + 2pt) - } - - // Draw participants (end) - if p.show-bottom { - draw-par(p, y: y, bottom: true) - } - } + participant.render-lifelines() }) shapes diff --git a/src/core/utils.typ b/src/core/utils.typ index 25d4801..011ecd7 100644 --- a/src/core/utils.typ +++ b/src/core/utils.typ @@ -1,3 +1,5 @@ +#import "../cetz.typ": draw + #let is-elmt(elmt) = { if type(elmt) != dictionary { return false @@ -89,4 +91,16 @@ height: new-h, scale(x: r, y: r, reflow: true, canvas) ) +}) + +#let set-ctx(func) = draw.set-ctx(c => { + let ctx = c.shared-state.chronos + ctx = func(ctx) + c.shared-state.chronos = ctx + return c +}) + +#let get-ctx(func) = draw.get-ctx(c => { + let ctx = c.shared-state.chronos + func(ctx) }) \ No newline at end of file diff --git a/src/participant.typ b/src/participant.typ index aa38c37..c8095db 100644 --- a/src/participant.typ +++ b/src/participant.typ @@ -1,5 +1,6 @@ #import "/src/cetz.typ": draw #import "consts.typ": * +#import "core/draw/participant.typ" #let PAR-SPECIALS = "?[]" #let SHAPES = ( @@ -36,6 +37,7 @@ } return (( type: "par", + draw: participant.render, name: name, display-name: if display-name == auto {name} else {display-name}, from-start: from-start, @@ -61,307 +63,3 @@ } return false } - -#let get-size(par) = { - if par.invisible { - return (width: 0pt, height: 0pt) - } - let m = measure(box(par.display-name)) - let w = m.width - let h = m.height - let (shape-w, shape-h) = ( - participant: (w + PAR-PAD.last() * 2, h + PAR-PAD.first() * 2), - actor: (ACTOR-WIDTH * 1pt, ACTOR-WIDTH * 2pt + SYM-GAP * 1pt + h), - boundary: (BOUNDARY-HEIGHT * 2pt, BOUNDARY-HEIGHT * 1pt + SYM-GAP * 1pt + h), - control: (CONTROL-HEIGHT * 1pt, CONTROL-HEIGHT * 1pt + SYM-GAP * 1pt + h), - entity: (ENTITY-HEIGHT * 1pt, ENTITY-HEIGHT * 1pt + 2pt + SYM-GAP * 1pt + h), - database: (DATABASE-WIDTH * 1pt, DATABASE-WIDTH * 4pt / 3 + SYM-GAP * 1pt + h), - collections: ( - w + COLLECTIONS-PAD.last() * 2 + calc.abs(COLLECTIONS-DX) * 1pt, - h + COLLECTIONS-PAD.first() * 2 + calc.abs(COLLECTIONS-DY) * 1pt, - ), - queue: ( - w + QUEUE-PAD.last() * 2 + 3 * (h + QUEUE-PAD.first() * 2) / 4, - h + QUEUE-PAD.first() * 2 - ), - custom: ( - measure(par.custom-image).width, - measure(par.custom-image).height + SYM-GAP * 1pt + h - ) - ).at(par.shape) - - return ( - width: calc.max(w, shape-w), - height: calc.max(h, shape-h) - ) -} - -#let _render-participant(x, y, p, m, bottom) = { - let w = m.width / 1pt - let h = m.height / 1pt - let x0 = x - w / 2 - PAR-PAD.last() / 1pt - let x1 = x + w / 2 + PAR-PAD.last() / 1pt - let y0 = y + h + PAR-PAD.first() / 1pt * 2 - if bottom { - y0 = y - } - let y1 = y0 - h - PAR-PAD.first() / 1pt * 2 - - draw.rect( - (x0, y0), - (x1, y1), - radius: 2pt, - fill: p.color, - stroke: black + .5pt - ) - draw.content( - ((x0 + x1) / 2, (y0 + y1) / 2), - p.display-name, - anchor: "center" - ) -} - -#let _render-actor(x, y, p, m, bottom) = { - let w2 = ACTOR-WIDTH / 2 - let head-r = ACTOR-WIDTH / 4 - let height = ACTOR-WIDTH * 2 - let arms-y = height * 0.375 - - let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + height + SYM-GAP} - draw.circle( - (x, y0 - head-r), - radius: head-r, - fill: p.color, - stroke: black + .5pt - ) - draw.line((x, y0 - head-r * 2), (x, y0 - height + w2), stroke: black + .5pt) - draw.line((x - w2, y0 - arms-y), (x + w2, y0 - arms-y), stroke: black + .5pt) - draw.line((x - w2, y0 - height), (x, y0 - height + w2), (x + w2, y0 - height), stroke: black + .5pt) - draw.content( - (x, y), - p.display-name, - anchor: if bottom {"north"} else {"south"} - ) -} - -#let _render-boundary(x, y, p, m, bottom) = { - let circle-r = BOUNDARY-HEIGHT / 2 - let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + BOUNDARY-HEIGHT + SYM-GAP} - let x0 = x - BOUNDARY-HEIGHT - let y1 = y0 - circle-r - let y2 = y0 - BOUNDARY-HEIGHT - - draw.circle( - (x + circle-r, y1), - radius: circle-r, - fill: p.color, - stroke: black + .5pt - ) - draw.line( - (x0, y0), (x0, y2), - stroke: black + .5pt - ) - draw.line( - (x0, y1), (x, y1), - stroke: black + .5pt - ) - draw.content( - (x, y), - p.display-name, - anchor: if bottom {"north"} else {"south"} - ) -} - -#let _render-control(x, y, p, m, bottom) = { - let r = CONTROL-HEIGHT / 2 - let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + CONTROL-HEIGHT + SYM-GAP} - - draw.circle( - (x, y0 - r), - radius: r, - fill: p.color, - stroke: black + .5pt - ) - draw.mark((x, y0), (x - r / 2, y0), symbol: "stealth", fill: black) - draw.content( - (x, y), - p.display-name, - anchor: if bottom {"north"} else {"south"} - ) -} - -#let _render-entity(x, y, p, m, bottom) = { - let r = ENTITY-HEIGHT / 2 - let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + ENTITY-HEIGHT + SYM-GAP} - let y1 = y0 - ENTITY-HEIGHT - 1.5 - - draw.circle( - (x, y0 - r), - radius: r, - fill: p.color, - stroke: black + .5pt - ) - draw.line( - (x - r, y1), - (x + r, y1), - stroke: black + .5pt - ) - draw.content( - (x, y), - p.display-name, - anchor: if bottom {"north"} else {"south"} - ) -} - -#let _render-database(x, y, p, m, bottom) = { - let height = DATABASE-WIDTH * 4 / 3 - let rx = DATABASE-WIDTH / 2 - let ry = rx / 2 - let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + height + SYM-GAP} - let y1 = y0 - height - - draw.merge-path( - close: true, - fill: p.color, - stroke: black + .5pt, - { - draw.bezier((x - rx, y0 - ry), (x, y0), (x - rx, y0 - ry/2), (x - rx/2, y0)) - draw.bezier((), (x + rx, y0 - ry), (x + rx/2, y0), (x + rx, y0 - ry/2)) - draw.line((), (x + rx, y1 + ry)) - draw.bezier((), (x, y1), (x + rx, y1 + ry/2), (x + rx/2, y1)) - draw.bezier((), (x - rx, y1 + ry), (x - rx/2, y1), (x - rx, y1 + ry/2)) - } - ) - draw.merge-path( - stroke: black + .5pt, - { - draw.bezier((x - rx, y0 - ry), (x, y0 - ry*2), (x - rx, y0 - 3*ry/2), (x - rx/2, y0 - ry*2)) - draw.bezier((), (x + rx, y0 - ry), (x + rx/2, y0 - ry*2), (x + rx, y0 - 3*ry/2)) - } - ) - draw.content( - (x, y), - p.display-name, - anchor: if bottom {"north"} else {"south"} - ) -} - -#let _render-collections(x, y, p, m, bottom) = { - let w = m.width / 1pt - let h = m.height / 1pt - let dx = COLLECTIONS-DX - let dy = COLLECTIONS-DY - let total-w = w + PAR-PAD.last() * 2 / 1pt + calc.abs(dx) - let total-h = h + PAR-PAD.first() * 2 / 1pt + calc.abs(dy) - - let x0 = x - total-w / 2 - let x1 = x0 + calc.abs(dx) - let x3 = x0 + total-w - let x2 = x3 - calc.abs(dx) - - let y0 = if bottom {y} else {y + total-h} - let y1 = y0 - calc.abs(dy) - let y3 = y0 - total-h - let y2 = y3 + calc.abs(dy) - - let r1 = (x1, y0, x3, y2) - let r2 = (x0, y1, x2, y3) - - if dx < 0 { - r1.at(0) = x0 - r1.at(2) = x2 - r2.at(0) = x1 - r2.at(2) = x3 - } - - if dy < 0 { - r1.at(1) = y1 - r1.at(3) = y3 - r2.at(1) = y0 - r2.at(3) = y2 - } - draw.rect( - (r1.at(0), r1.at(1)), - (r1.at(2), r1.at(3)), - fill: p.color, - stroke: black + .5pt - ) - draw.rect( - (r2.at(0), r2.at(1)), - (r2.at(2), r2.at(3)), - fill: p.color, - stroke: black + .5pt - ) - - draw.content( - ((r2.at(0) + r2.at(2)) / 2, (r2.at(1) + r2.at(3)) / 2), - p.display-name, - anchor: "center" - ) -} - -#let _render-queue(x, y, p, m, bottom) = { - let w = (m.width + QUEUE-PAD.last() * 2) / 1pt - let h = (m.height + QUEUE-PAD.first() * 2) / 1pt - let total-h = h - let ry = total-h / 2 - let rx = ry / 2 - let total-w = w + 3 + 3 * rx - - let x0 = x - total-w / 2 - let y0 = if bottom {y} else {y + total-h} - let y1 = y0 - total-h - let x-left = x0 + rx - let x-right = x-left + w + rx - draw.merge-path( - close: true, - fill: p.color, - stroke: black + .5pt, - { - draw.bezier((x-right, y0), (x-right + rx, y0 - ry), (x-right + rx/2, y0), (x-right + rx, y0 - ry/2)) - draw.bezier((), (x-right, y1), (x-right + rx, y1 + ry/2), (x-right + rx/2, y1)) - draw.line((), (x-left, y1)) - draw.bezier((), (x-left - rx, y0 - ry), (x-left - rx/2, y1), (x-left - rx, y1 + ry/2)) - draw.bezier((), (x-left, y0), (x-left - rx, y0 - ry/2), (x-left - rx/2, y0)) - } - ) - draw.merge-path( - stroke: black + .5pt, - { - draw.bezier((x-right, y0), (x-right - rx, y0 - ry), (x-right - rx/2, y0), (x-right - rx, y0 - ry/2)) - draw.bezier((), (x-right, y1), (x-right - rx, y1 + ry/2), (x-right - rx/2, y1)) - } - ) - draw.content( - ((x-left + x-right - rx) / 2, y0 - ry), - p.display-name, - anchor: "center" - ) -} - -#let _render-custom(x, y, p, m, bottom) = { - let image-m = measure(p.custom-image) - let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + image-m.height / 1pt + SYM-GAP} - draw.content((x - image-m.width / 2pt, y0), p.custom-image, anchor: "north-west") - draw.content( - (x, y), - p.display-name, - anchor: if bottom {"north"} else {"south"} - ) -} - -#let render(x-pos, p, y: 0, bottom: false) = { - let m = measure(box(p.display-name)) - let func = ( - participant: _render-participant, - actor: _render-actor, - boundary: _render-boundary, - control: _render-control, - entity: _render-entity, - database: _render-database, - collections: _render-collections, - queue: _render-queue, - custom: _render-custom, - ).at(p.shape) - func(x-pos.at(p.i), y, p, m, bottom) -} \ No newline at end of file -- 2.49.0 From 3a1c274e83dbd0c3c8de7bec34bc558f1256569a Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 14 Jul 2025 16:30:25 +0200 Subject: [PATCH 05/13] refactored sequences, sync and gaps --- src/core/draw/event.typ | 31 +++ src/core/draw/participant.typ | 405 ++++++++++++++++++++++++++++++++++ src/core/draw/sequence.typ | 360 ++++++++++++++++++++++++++++++ src/core/draw/sync.typ | 32 +++ src/core/renderer.typ | 44 +--- src/core/utils.typ | 5 +- src/diagram.typ | 11 +- src/participant.typ | 4 +- src/sequence.typ | 337 +--------------------------- src/sync.typ | 21 +- 10 files changed, 849 insertions(+), 401 deletions(-) create mode 100644 src/core/draw/event.typ create mode 100644 src/core/draw/participant.typ create mode 100644 src/core/draw/sequence.typ create mode 100644 src/core/draw/sync.typ diff --git a/src/core/draw/event.typ b/src/core/draw/event.typ new file mode 100644 index 0000000..5dc8996 --- /dev/null +++ b/src/core/draw/event.typ @@ -0,0 +1,31 @@ +#import "../utils.typ": get-ctx, set-ctx +#import "../../consts.typ": * + +#let render(evt) = get-ctx(ctx => { + let par-name = evt.participant + let i = ctx.pars-i.at(par-name) + let par = ctx.participants.at(i) + let line = ctx.lifelines.at(i) + let entry = (evt.event, ctx.y) + + if evt.event == "disable" { + line.level -= 1 + } else if evt.event == "enable" { + line.level += 1 + entry.push(evt.lifeline-style) + } else if evt.event == "create" { + ctx.y -= CREATE-OFFSET + entry.at(1) = ctx.y + (par.draw)(par) + } else if evt.event == "destroy" { + } else { + panic("Unknown event '" + evt.event + "'") + } + + line.lines.push(entry) + set-ctx(c => { + c.lifelines.at(i) = line + c.y = ctx.y + return c + }) +}) \ No newline at end of file diff --git a/src/core/draw/participant.typ b/src/core/draw/participant.typ new file mode 100644 index 0000000..5f76a4d --- /dev/null +++ b/src/core/draw/participant.typ @@ -0,0 +1,405 @@ +#import "../../consts.typ": * +#import "../../cetz.typ": draw +#import "../utils.typ": get-ctx, set-ctx, get-style + +#let get-size(par) = { + if par.invisible { + return (width: 0pt, height: 0pt) + } + let m = measure(box(par.display-name)) + let w = m.width + let h = m.height + let (shape-w, shape-h) = ( + participant: (w + PAR-PAD.last() * 2, h + PAR-PAD.first() * 2), + actor: (ACTOR-WIDTH * 1pt, ACTOR-WIDTH * 2pt + SYM-GAP * 1pt + h), + boundary: (BOUNDARY-HEIGHT * 2pt, BOUNDARY-HEIGHT * 1pt + SYM-GAP * 1pt + h), + control: (CONTROL-HEIGHT * 1pt, CONTROL-HEIGHT * 1pt + SYM-GAP * 1pt + h), + entity: (ENTITY-HEIGHT * 1pt, ENTITY-HEIGHT * 1pt + 2pt + SYM-GAP * 1pt + h), + database: (DATABASE-WIDTH * 1pt, DATABASE-WIDTH * 4pt / 3 + SYM-GAP * 1pt + h), + collections: ( + w + COLLECTIONS-PAD.last() * 2 + calc.abs(COLLECTIONS-DX) * 1pt, + h + COLLECTIONS-PAD.first() * 2 + calc.abs(COLLECTIONS-DY) * 1pt, + ), + queue: ( + w + QUEUE-PAD.last() * 2 + 3 * (h + QUEUE-PAD.first() * 2) / 4, + h + QUEUE-PAD.first() * 2 + ), + custom: ( + measure(par.custom-image).width, + measure(par.custom-image).height + SYM-GAP * 1pt + h + ) + ).at(par.shape) + + return ( + width: calc.max(w, shape-w), + height: calc.max(h, shape-h) + ) +} + +#let _render-participant(x, y, p, m, bottom) = { + let w = m.width / 1pt + let h = m.height / 1pt + let x0 = x - w / 2 - PAR-PAD.last() / 1pt + let x1 = x + w / 2 + PAR-PAD.last() / 1pt + let y0 = y + h + PAR-PAD.first() / 1pt * 2 + if bottom { + y0 = y + } + let y1 = y0 - h - PAR-PAD.first() / 1pt * 2 + + draw.rect( + (x0, y0), + (x1, y1), + radius: 2pt, + fill: p.color, + stroke: black + .5pt + ) + draw.content( + ((x0 + x1) / 2, (y0 + y1) / 2), + p.display-name, + anchor: "center" + ) +} + +#let _render-actor(x, y, p, m, bottom) = { + let w2 = ACTOR-WIDTH / 2 + let head-r = ACTOR-WIDTH / 4 + let height = ACTOR-WIDTH * 2 + let arms-y = height * 0.375 + + let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + height + SYM-GAP} + draw.circle( + (x, y0 - head-r), + radius: head-r, + fill: p.color, + stroke: black + .5pt + ) + draw.line((x, y0 - head-r * 2), (x, y0 - height + w2), stroke: black + .5pt) + draw.line((x - w2, y0 - arms-y), (x + w2, y0 - arms-y), stroke: black + .5pt) + draw.line((x - w2, y0 - height), (x, y0 - height + w2), (x + w2, y0 - height), stroke: black + .5pt) + draw.content( + (x, y), + p.display-name, + anchor: if bottom {"north"} else {"south"} + ) +} + +#let _render-boundary(x, y, p, m, bottom) = { + let circle-r = BOUNDARY-HEIGHT / 2 + let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + BOUNDARY-HEIGHT + SYM-GAP} + let x0 = x - BOUNDARY-HEIGHT + let y1 = y0 - circle-r + let y2 = y0 - BOUNDARY-HEIGHT + + draw.circle( + (x + circle-r, y1), + radius: circle-r, + fill: p.color, + stroke: black + .5pt + ) + draw.line( + (x0, y0), (x0, y2), + stroke: black + .5pt + ) + draw.line( + (x0, y1), (x, y1), + stroke: black + .5pt + ) + draw.content( + (x, y), + p.display-name, + anchor: if bottom {"north"} else {"south"} + ) +} + +#let _render-control(x, y, p, m, bottom) = { + let r = CONTROL-HEIGHT / 2 + let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + CONTROL-HEIGHT + SYM-GAP} + + draw.circle( + (x, y0 - r), + radius: r, + fill: p.color, + stroke: black + .5pt + ) + draw.mark((x, y0), (x - r / 2, y0), symbol: "stealth", fill: black) + draw.content( + (x, y), + p.display-name, + anchor: if bottom {"north"} else {"south"} + ) +} + +#let _render-entity(x, y, p, m, bottom) = { + let r = ENTITY-HEIGHT / 2 + let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + ENTITY-HEIGHT + SYM-GAP} + let y1 = y0 - ENTITY-HEIGHT - 1.5 + + draw.circle( + (x, y0 - r), + radius: r, + fill: p.color, + stroke: black + .5pt + ) + draw.line( + (x - r, y1), + (x + r, y1), + stroke: black + .5pt + ) + draw.content( + (x, y), + p.display-name, + anchor: if bottom {"north"} else {"south"} + ) +} + +#let _render-database(x, y, p, m, bottom) = { + let height = DATABASE-WIDTH * 4 / 3 + let rx = DATABASE-WIDTH / 2 + let ry = rx / 2 + let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + height + SYM-GAP} + let y1 = y0 - height + + draw.merge-path( + close: true, + fill: p.color, + stroke: black + .5pt, + { + draw.bezier((x - rx, y0 - ry), (x, y0), (x - rx, y0 - ry/2), (x - rx/2, y0)) + draw.bezier((), (x + rx, y0 - ry), (x + rx/2, y0), (x + rx, y0 - ry/2)) + draw.line((), (x + rx, y1 + ry)) + draw.bezier((), (x, y1), (x + rx, y1 + ry/2), (x + rx/2, y1)) + draw.bezier((), (x - rx, y1 + ry), (x - rx/2, y1), (x - rx, y1 + ry/2)) + } + ) + draw.merge-path( + stroke: black + .5pt, + { + draw.bezier((x - rx, y0 - ry), (x, y0 - ry*2), (x - rx, y0 - 3*ry/2), (x - rx/2, y0 - ry*2)) + draw.bezier((), (x + rx, y0 - ry), (x + rx/2, y0 - ry*2), (x + rx, y0 - 3*ry/2)) + } + ) + draw.content( + (x, y), + p.display-name, + anchor: if bottom {"north"} else {"south"} + ) +} + +#let _render-collections(x, y, p, m, bottom) = { + let w = m.width / 1pt + let h = m.height / 1pt + let dx = COLLECTIONS-DX + let dy = COLLECTIONS-DY + let total-w = w + PAR-PAD.last() * 2 / 1pt + calc.abs(dx) + let total-h = h + PAR-PAD.first() * 2 / 1pt + calc.abs(dy) + + let x0 = x - total-w / 2 + let x1 = x0 + calc.abs(dx) + let x3 = x0 + total-w + let x2 = x3 - calc.abs(dx) + + let y0 = if bottom {y} else {y + total-h} + let y1 = y0 - calc.abs(dy) + let y3 = y0 - total-h + let y2 = y3 + calc.abs(dy) + + let r1 = (x1, y0, x3, y2) + let r2 = (x0, y1, x2, y3) + + if dx < 0 { + r1.at(0) = x0 + r1.at(2) = x2 + r2.at(0) = x1 + r2.at(2) = x3 + } + + if dy < 0 { + r1.at(1) = y1 + r1.at(3) = y3 + r2.at(1) = y0 + r2.at(3) = y2 + } + draw.rect( + (r1.at(0), r1.at(1)), + (r1.at(2), r1.at(3)), + fill: p.color, + stroke: black + .5pt + ) + draw.rect( + (r2.at(0), r2.at(1)), + (r2.at(2), r2.at(3)), + fill: p.color, + stroke: black + .5pt + ) + + draw.content( + ((r2.at(0) + r2.at(2)) / 2, (r2.at(1) + r2.at(3)) / 2), + p.display-name, + anchor: "center" + ) +} + +#let _render-queue(x, y, p, m, bottom) = { + let w = (m.width + QUEUE-PAD.last() * 2) / 1pt + let h = (m.height + QUEUE-PAD.first() * 2) / 1pt + let total-h = h + let ry = total-h / 2 + let rx = ry / 2 + let total-w = w + 3 + 3 * rx + + let x0 = x - total-w / 2 + let y0 = if bottom {y} else {y + total-h} + let y1 = y0 - total-h + let x-left = x0 + rx + let x-right = x-left + w + rx + draw.merge-path( + close: true, + fill: p.color, + stroke: black + .5pt, + { + draw.bezier((x-right, y0), (x-right + rx, y0 - ry), (x-right + rx/2, y0), (x-right + rx, y0 - ry/2)) + draw.bezier((), (x-right, y1), (x-right + rx, y1 + ry/2), (x-right + rx/2, y1)) + draw.line((), (x-left, y1)) + draw.bezier((), (x-left - rx, y0 - ry), (x-left - rx/2, y1), (x-left - rx, y1 + ry/2)) + draw.bezier((), (x-left, y0), (x-left - rx, y0 - ry/2), (x-left - rx/2, y0)) + } + ) + draw.merge-path( + stroke: black + .5pt, + { + draw.bezier((x-right, y0), (x-right - rx, y0 - ry), (x-right - rx/2, y0), (x-right - rx, y0 - ry/2)) + draw.bezier((), (x-right, y1), (x-right - rx, y1 + ry/2), (x-right - rx/2, y1)) + } + ) + draw.content( + ((x-left + x-right - rx) / 2, y0 - ry), + p.display-name, + anchor: "center" + ) +} + +#let _render-custom(x, y, p, m, bottom) = { + let image-m = measure(p.custom-image) + let y0 = if bottom {y - m.height / 1pt - SYM-GAP} else {y + m.height / 1pt + image-m.height / 1pt + SYM-GAP} + draw.content((x - image-m.width / 2pt, y0), p.custom-image, anchor: "north-west") + draw.content( + (x, y), + p.display-name, + anchor: if bottom {"north"} else {"south"} + ) +} + +#let render(par, y: 0, bottom: false) = draw.group(cetz-ctx => { + let ctx = cetz-ctx.shared-state.chronos + let m = measure(box(par.display-name)) + let func = ( + participant: _render-participant, + actor: _render-actor, + boundary: _render-boundary, + control: _render-control, + entity: _render-entity, + database: _render-database, + collections: _render-collections, + queue: _render-queue, + custom: _render-custom, + ).at(par.shape) + func(ctx.x-pos.at(par.i), y, par, m, bottom) +},) + +#let render-lifelines() = get-ctx(ctx => { + let participants = ctx.participants + for p in participants.filter(p => not p.invisible) { + let x = ctx.x-pos.at(p.i) + + // Draw vertical line + let last-y = 0 + + let rects = () + let destructions = () + let lines = () + + // Compute lifeline rectangles + destruction positions + for line in ctx.lifelines.at(p.i).lines { + let event = line.first() + if event == "create" { + last-y = line.at(1) + + } else if event == "enable" { + if lines.len() == 0 { + draw.line( + (x, last-y), + (x, line.at(1)), + stroke: p.line-stroke + ) + } + lines.push(line) + + } else if event == "disable" or event == "destroy" { + let lvl = 0 + if lines.len() != 0 { + let l = lines.pop() + lvl = lines.len() + rects.push(( + x + lvl * LIFELINE-W / 2, + l.at(1), + line.at(1), + l.at(2) + )) + last-y = line.at(1) + } + + if event == "destroy" { + destructions.push((x + lvl * LIFELINE-W / 2, line.at(1))) + } + } else if event == "delay-start" { + draw.line( + (x, last-y), + (x, line.at(1)), + stroke: p.line-stroke + ) + last-y = line.at(1) + } else if event == "delay-end" { + draw.line( + (x, last-y), + (x, line.at(1)), + stroke: ( + dash: "loosely-dotted", + paint: gray.darken(40%), + thickness: .8pt + ) + ) + last-y = line.at(1) + } + } + + draw.line( + (x, last-y), + (x, ctx.y), + stroke: p.line-stroke + ) + + // Draw lifeline rectangles (reverse for bottom to top) + for rect in rects.rev() { + let (cx, y0, y1, style) = rect + let style = get-style("lifeline", style) + draw.rect( + (cx - LIFELINE-W / 2, y0), + (cx + LIFELINE-W / 2, y1), + ..style + ) + } + + // Draw lifeline destructions + for dest in destructions { + let (cx, cy) = dest + draw.line((cx - 8, cy - 8), (cx + 8, cy + 8), stroke: COL-DESTRUCTION + 2pt) + draw.line((cx - 8, cy + 8), (cx + 8, cy - 8), stroke: COL-DESTRUCTION + 2pt) + } + + // Draw participants (end) + if p.show-bottom { + (p.draw)(p, y: ctx.y, bottom: true) + } + } +},) \ No newline at end of file diff --git a/src/core/draw/sequence.typ b/src/core/draw/sequence.typ new file mode 100644 index 0000000..0df14a3 --- /dev/null +++ b/src/core/draw/sequence.typ @@ -0,0 +1,360 @@ +#import "../utils.typ": get-ctx, set-ctx +#import "../../consts.typ": * +#import "../../cetz.typ": draw, vector + + +#let get-arrow-marks(sym, color) = { + if sym == none { + return none + } + if type(sym) == array { + return sym.map(s => get-arrow-marks(s, color)) + } + ( + "": none, + ">": (symbol: ">", fill: color), + ">>": (symbol: "straight"), + "\\": (symbol: ">", fill: color, harpoon: true, flip: true), + "\\\\": (symbol: "straight", harpoon: true, flip: true), + "/": (symbol: ">", fill: color, harpoon: true), + "//": (symbol: "straight", harpoon: true), + "x": none, + "o": none, + ).at(sym) +} + +#let reverse-arrow-mark(mark) = { + if type(mark) == array { + return mark.map(m => reverse-arrow-mark(m)) + } + let mark2 = mark + if type(mark) == dictionary and mark.at("harpoon", default: false) { + let flipped = mark.at("flip", default: false) + mark2.insert("flip", not flipped) + } + return mark2 +} + +#let is-tip-of-type(type_, tip) = { + if type(tip) == str and tip == type_ { + return true + } + if type(tip) == array and tip.contains(type_) { + return true + } + return false +} +#let is-circle-tip = is-tip-of-type.with("o") +#let is-cross-tip = is-tip-of-type.with("x") + +#let render(seq) = get-ctx(ctx => { + ctx.y -= Y-SPACE + + let i1 = ctx.pars-i.at(seq.p1) + let i2 = ctx.pars-i.at(seq.p2) + let width = calc.abs(ctx.x-pos.at(i1) - ctx.x-pos.at(i2)) + + let h = 0 + let comment = if seq.comment == none {none} else { + let w = calc.min(width * 1pt, measure(seq.comment).width) + box( + width: if i1 == i2 {auto} else {w}, + seq.comment + ) + } + // Reserve space for comment + if comment != none { + h = calc.max(h, measure(comment).height / 1pt + 6) + } + if "linked-note" in seq { + h = calc.max(h, note.get-size(seq.linked-note).height / 2) + } + ctx.y -= h + + let start-info = ( + i: i1, + x: ctx.x-pos.at(i1), + y: ctx.y, + ll-lvl: ctx.lifelines.at(i1).level * LIFELINE-W / 2 + ) + let end-info = ( + i: i2, + x: ctx.x-pos.at(i2), + y: ctx.y, + ll-lvl: ctx.lifelines.at(i2).level * LIFELINE-W / 2 + ) + let slant = if seq.slant == auto { + DEFAULT-SLANT + } else if seq.slant != none { + seq.slant + } else { + 0 + } + end-info.y -= slant + if seq.p1 == seq.p2 { + end-info.y -= 10 + } + + if seq.disable-src { + let src-line = ctx.lifelines.at(i1) + src-line.level -= 1 + src-line.lines.push(("disable", start-info.y)) + ctx.lifelines.at(i1) = src-line + } + if seq.destroy-src { + let src-line = ctx.lifelines.at(i1) + src-line.lines.push(("destroy", start-info.y)) + ctx.lifelines.at(i1) = src-line + } + if seq.disable-dst { + let dst-line = ctx.lifelines.at(i2) + dst-line.level -= 1 + dst-line.lines.push(("disable", end-info.y)) + ctx.lifelines.at(i2) = dst-line + } + if seq.destroy-dst { + let dst-line = ctx.lifelines.at(i2) + dst-line.lines.push(("destroy", end-info.y)) + ctx.lifelines.at(i2) = dst-line + } + if seq.enable-dst { + let dst-line = ctx.lifelines.at(i2) + dst-line.level += 1 + ctx.lifelines.at(i2) = dst-line + } + if seq.create-dst { + let par = ctx.participants.at(i2) + let m = measure(box(par.display-name)) + let f = if i1 > i2 {-1} else {1} + end-info.x -= (m.width + PAR-PAD.last() * 2) / 2pt * f + (par.draw)(par, y: end-info.y) + } + + end-info.ll-lvl = ctx.lifelines.at(i2).level * LIFELINE-W / 2 + + // Compute left/right position at start/end + start-info.insert("lx", start-info.x) + if start-info.ll-lvl != 0 { start-info.lx -= LIFELINE-W / 2 } + end-info.insert("lx", end-info.x) + if end-info.ll-lvl != 0 { end-info.lx -= LIFELINE-W / 2 } + + start-info.insert("rx", start-info.x + start-info.ll-lvl) + end-info.insert("rx", end-info.x + end-info.ll-lvl) + + // Choose correct points to link + let x1 = start-info.rx + let x2 = end-info.lx + + if (start-info.i > end-info.i) { + x1 = start-info.lx + x2 = end-info.rx + } + + let style = ( + mark: ( + start: get-arrow-marks(seq.start-tip, seq.color), + end: get-arrow-marks(seq.end-tip, seq.color), + scale: 1.2 + ), + stroke: ( + dash: if seq.dashed {(2pt,2pt)} else {"solid"}, + paint: seq.color, + thickness: .5pt + ) + ) + + let y0 = start-info.y + if "linked-note" in seq { + // TODO: adapt note.render + note.render(seq.linked-note, y: start-info.y) + } + + let flip-mark = end-info.i <= start-info.i + if seq.flip { + flip-mark = not flip-mark + } + if flip-mark { + style.mark.end = reverse-arrow-mark(style.mark.end) + } + + let pts + let comment-pt + let comment-anchor + let comment-angle = 0deg + + if seq.p1 == seq.p2 { + if seq.flip { + x1 = start-info.lx + } else { + x2 = end-info.rx + } + + let x-mid = if seq.flip { + calc.min(x1, x2) - 20 + } else { + calc.max(x1, x2) + 20 + } + + pts = ( + (x1, start-info.y), + (x-mid, start-info.y), + (x-mid, end-info.y), + (x2, end-info.y) + ) + + if comment != none { + comment-anchor = ( + start: if x-mid < x1 {"south-east"} else {"south-west"}, + end: if x-mid < x1 {"south-west"} else {"south-east"}, + left: "south-west", + right: "south-east", + center: "south", + ).at(seq.comment-align) + + comment-pt = ( + start: pts.first(), + end: pts.at(1), + left: if x-mid < x1 {pts.at(1)} else {pts.first()}, + right: if x-mid < x1 {pts.first()} else {pts.at(1)}, + center: (pts.first(), 50%, pts.at(1)) + ).at(seq.comment-align) + } + + } else { + pts = ( + (x1, start-info.y), + (x2, end-info.y) + ) + + if comment != none { + let start-pt = pts.first() + let end-pt = pts.last() + if seq.start-tip != "" { + start-pt = (pts.first(), COMMENT-PAD, pts.last()) + } + if seq.end-tip != "" { + end-pt = (pts.last(), COMMENT-PAD, pts.first()) + } + + comment-pt = ( + start: start-pt, + end: end-pt, + left: if x2 < x1 {end-pt} else {start-pt}, + right: if x2 < x1 {start-pt} else {end-pt}, + center: (start-pt, 50%, end-pt) + ).at(seq.comment-align) + + comment-anchor = ( + start: if x2 < x1 {"south-east"} else {"south-west"}, + end: if x2 < x1 {"south-west"} else {"south-east"}, + left: "south-west", + right: "south-east", + center: "south", + ).at(seq.comment-align) + } + + let (p1, p2) = pts + if x2 < x1 { + (p1, p2) = (p2, p1) + } + comment-angle = vector.angle2(p1, p2) + } + + // Start circle tip + if is-circle-tip(seq.start-tip) { + draw.circle( + pts.first(), + radius: CIRCLE-TIP-RADIUS, + stroke: none, + fill: seq.color, + name: "_circle-start-tip" + ) + pts.at(0) = "_circle-start-tip" + + // Start cross tip + } else if is-cross-tip(seq.start-tip) { + let size = CROSS-TIP-SIZE + let cross-pt = ( + pts.first(), + size * 2, + pts.at(1) + ) + draw.line( + (rel: (-size, -size), to: cross-pt), + (rel: (size, size), to: cross-pt), + stroke: seq.color + 1.5pt + ) + draw.line( + (rel: (-size, size), to: cross-pt), + (rel: (size, -size), to: cross-pt), + stroke: seq.color + 1.5pt + ) + pts.at(0) = cross-pt + } + + // End circle tip + if is-circle-tip(seq.end-tip) { + draw.circle( + pts.last(), + radius: 3, + stroke: none, + fill: seq.color, + name: "_circle-end-tip" + ) + pts.at(pts.len() - 1) = "_circle-end-tip" + + // End cross tip + } else if is-cross-tip(seq.end-tip) { + let size = CROSS-TIP-SIZE + let cross-pt = ( + pts.last(), + size * 2, + pts.at(pts.len() - 2) + ) + draw.line( + (rel: (-size, -size), to: cross-pt), + (rel: (size, size), to: cross-pt), + stroke: seq.color + 1.5pt + ) + draw.line( + (rel: (-size, size), to: cross-pt), + (rel: (size, -size), to: cross-pt), + stroke: seq.color + 1.5pt + ) + pts.at(pts.len() - 1) = cross-pt + } + + draw.line(..pts, ..style) + + if comment != none { + draw.content( + comment-pt, + comment, + anchor: comment-anchor, + angle: comment-angle, + padding: 3pt + ) + } + + if seq.create-dst { + let dst-line = ctx.lifelines.at(i2) + dst-line.lines.push(("create", end-info.y)) + ctx.lifelines.at(i2) = dst-line + } + if seq.enable-dst { + let dst-line = ctx.lifelines.at(i2) + dst-line.lines.push(("enable", end-info.y, seq.lifeline-style)) + ctx.lifelines.at(i2) = dst-line + } + + if "linked-note" in seq { + let m = note.get-size(seq.linked-note) + end-info.y = calc.min(end-info.y, y0 - m.height / 2) + } + + set-ctx(c => { + c.y = end-info.y + c.lifelines = ctx.lifelines + return c + }) +}) diff --git a/src/core/draw/sync.typ b/src/core/draw/sync.typ new file mode 100644 index 0000000..6c63522 --- /dev/null +++ b/src/core/draw/sync.typ @@ -0,0 +1,32 @@ +#import "../utils.typ": get-ctx, set-ctx, is-elmt + +#let render(sync) = get-ctx(ctx => { + set-ctx(c => { + c.sync-ys = () + return c + }) + + for e in sync.elmts { + assert(is-elmt(e), message: "Sync element can only contain chronos elements, found " + repr(e)) + assert( + e.type == "seq", + message: "Sync element can only contain sequences, found '" + e.type + "'" + ) + + set-ctx(c => { + c.y = ctx.y + return c + }) + (e.draw)(e) + set-ctx(c => { + c.sync-ys.push(c.y) + return c + }) + } + + set-ctx(c => { + c.y = calc.min(..c.sync-ys) + c.remove("sync-ys") + return c + }) +}) \ No newline at end of file diff --git a/src/core/renderer.typ b/src/core/renderer.typ index df8cf2c..d26a6ca 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -379,13 +379,9 @@ // Draw elements for elmt in elements { if not is-elmt(elmt) { - shapes.push(elmt) - - // Sequences - } else if elmt.type == "seq" { - let shps - (y, lifelines, shps) = draw-seq(elmt, y, lifelines) - shapes += shps + (elmt,) + } else if "draw" in elmt and elmt.type != "par" { + (elmt.draw)(elmt) // Groups (start) -> reserve space for labels + store position } else if elmt.type == "grp" { @@ -440,10 +436,6 @@ let shps (y, shps) = draw-sep(elmt, y) shapes += shps - - // Gap - } else if elmt.type == "gap" { - y -= elmt.size // Delay } else if elmt.type == "delay" { @@ -465,30 +457,6 @@ } y = y1 - // Event - } else if elmt.type == "evt" { - let par-name = elmt.participant - let i = pars-i.at(par-name) - let par = participants.at(i) - let line = lifelines.at(i) - if elmt.event == "disable" { - line.level -= 1 - line.lines.push(("disable", y)) - - } else if elmt.event == "destroy" { - line.lines.push(("destroy", y)) - - } else if elmt.event == "enable" { - line.level += 1 - line.lines.push(("enable", y, elmt.lifeline-style)) - - } else if elmt.event == "create" { - y -= CREATE-OFFSET - shapes += participant.render(x-pos, par, y: y) - line.lines.push(("create", y)) - } - lifelines.at(i) = line - // Note } else if elmt.type == "note" { if not elmt.linked { @@ -499,12 +467,6 @@ (y, shps) = draw-note(elmt, y, lifelines) shapes += shps } - - // Synched sequences - } else if elmt.type == "sync" { - let shps - (y, lifelines, shps) = draw-sync(elmt, y, lifelines) - shapes += shps } } diff --git a/src/core/utils.typ b/src/core/utils.typ index 011ecd7..dfc682a 100644 --- a/src/core/utils.typ +++ b/src/core/utils.typ @@ -95,8 +95,9 @@ #let set-ctx(func) = draw.set-ctx(c => { let ctx = c.shared-state.chronos - ctx = func(ctx) - c.shared-state.chronos = ctx + let new-ctx = func(ctx) + assert(new-ctx != none, message: "set-ctx must return a context!") + c.shared-state.chronos = new-ctx return c }) diff --git a/src/diagram.typ b/src/diagram.typ index 6156ad1..41335c4 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -1,13 +1,19 @@ -#import "core/utils.typ": fit-canvas +#import "core/utils.typ": fit-canvas, set-ctx #import "core/renderer.typ": render #import "participant.typ" as participant: _par, PAR-SPECIALS #import "sequence.typ": _seq - +#import "core/draw/event.typ": render as evt-render #import "core/setup.typ": setup +#let gap-render(gap) = set-ctx(ctx => { + ctx.y -= gap.size + return ctx +}) + #let _gap(size: 20) = { return (( type: "gap", + draw: gap-render, size: size ),) } @@ -15,6 +21,7 @@ #let _evt(participant, event) = { return (( type: "evt", + draw: evt-render, participant: participant, event: event, lifeline-style: auto diff --git a/src/participant.typ b/src/participant.typ index c8095db..1c2ca3e 100644 --- a/src/participant.typ +++ b/src/participant.typ @@ -1,6 +1,6 @@ #import "/src/cetz.typ": draw #import "consts.typ": * -#import "core/draw/participant.typ" +#import "core/draw/participant.typ": render as par-render #let PAR-SPECIALS = "?[]" #let SHAPES = ( @@ -37,7 +37,7 @@ } return (( type: "par", - draw: participant.render, + draw: par-render, name: name, display-name: if display-name == auto {name} else {display-name}, from-start: from-start, diff --git a/src/sequence.typ b/src/sequence.typ index eb315de..a3e367c 100644 --- a/src/sequence.typ +++ b/src/sequence.typ @@ -2,50 +2,7 @@ #import "consts.typ": * #import "participant.typ" #import "note.typ" - -#let get-arrow-marks(sym, color) = { - if sym == none { - return none - } - if type(sym) == array { - return sym.map(s => get-arrow-marks(s, color)) - } - ( - "": none, - ">": (symbol: ">", fill: color), - ">>": (symbol: "straight"), - "\\": (symbol: ">", fill: color, harpoon: true, flip: true), - "\\\\": (symbol: "straight", harpoon: true, flip: true), - "/": (symbol: ">", fill: color, harpoon: true), - "//": (symbol: "straight", harpoon: true), - "x": none, - "o": none, - ).at(sym) -} - -#let reverse-arrow-mark(mark) = { - if type(mark) == array { - return mark.map(m => reverse-arrow-mark(m)) - } - let mark2 = mark - if type(mark) == dictionary and mark.at("harpoon", default: false) { - let flipped = mark.at("flip", default: false) - mark2.insert("flip", not flipped) - } - return mark2 -} - -#let is-tip-of-type(type_, tip) = { - if type(tip) == str and tip == type_ { - return true - } - if type(tip) == array and tip.contains(type_) { - return true - } - return false -} -#let is-circle-tip = is-tip-of-type.with("o") -#let is-cross-tip = is-tip-of-type.with("x") +#import "core/draw/sequence.typ" #let _seq( p1, @@ -68,6 +25,7 @@ ) = { return (( type: "seq", + draw: sequence.render, p1: p1, p2: p2, comment: comment, @@ -94,294 +52,3 @@ comment: comment ),) } - -#let render(pars-i, x-pos, participants, elmt, y, lifelines) = { - let shapes = () - - y -= Y-SPACE - - let i1 = pars-i.at(elmt.p1) - let i2 = pars-i.at(elmt.p2) - let width = calc.abs(x-pos.at(i1) - x-pos.at(i2)) - - let h = 0 - let comment = if elmt.comment == none {none} else { - let w = calc.min(width * 1pt, measure(elmt.comment).width) - box( - width: if i1 == i2 {auto} else {w}, - elmt.comment - ) - } - // Reserve space for comment - if comment != none { - h = calc.max(h, measure(comment).height / 1pt + 6) - } - if "linked-note" in elmt { - h = calc.max(h, note.get-size(elmt.linked-note).height / 2) - } - y -= h - - let start-info = ( - i: i1, - x: x-pos.at(i1), - y: y, - ll-lvl: lifelines.at(i1).level * LIFELINE-W / 2 - ) - let end-info = ( - i: i2, - x: x-pos.at(i2), - y: y, - ll-lvl: lifelines.at(i2).level * LIFELINE-W / 2 - ) - let slant = if elmt.slant == auto { - DEFAULT-SLANT - } else if elmt.slant != none { - elmt.slant - } else { - 0 - } - end-info.y -= slant - if elmt.p1 == elmt.p2 { - end-info.y -= 10 - } - - if elmt.disable-src { - let src-line = lifelines.at(i1) - src-line.level -= 1 - src-line.lines.push(("disable", start-info.y)) - lifelines.at(i1) = src-line - } - if elmt.destroy-src { - let src-line = lifelines.at(i1) - src-line.lines.push(("destroy", start-info.y)) - lifelines.at(i1) = src-line - } - if elmt.disable-dst { - let dst-line = lifelines.at(i2) - dst-line.level -= 1 - dst-line.lines.push(("disable", end-info.y)) - lifelines.at(i2) = dst-line - } - if elmt.destroy-dst { - let dst-line = lifelines.at(i2) - dst-line.lines.push(("destroy", end-info.y)) - lifelines.at(i2) = dst-line - } - if elmt.enable-dst { - let dst-line = lifelines.at(i2) - dst-line.level += 1 - lifelines.at(i2) = dst-line - } - if elmt.create-dst { - let par = participants.at(i2) - let m = measure(box(par.display-name)) - let f = if i1 > i2 {-1} else {1} - end-info.x -= (m.width + PAR-PAD.last() * 2) / 2pt * f - shapes += participant.render(x-pos, par, y: end-info.y) - } - - end-info.ll-lvl = lifelines.at(i2).level * LIFELINE-W / 2 - - // Compute left/right position at start/end - start-info.insert("lx", start-info.x) - if start-info.ll-lvl != 0 { start-info.lx -= LIFELINE-W / 2 } - end-info.insert("lx", end-info.x) - if end-info.ll-lvl != 0 { end-info.lx -= LIFELINE-W / 2 } - - start-info.insert("rx", start-info.x + start-info.ll-lvl) - end-info.insert("rx", end-info.x + end-info.ll-lvl) - - // Choose correct points to link - let x1 = start-info.rx - let x2 = end-info.lx - - if (start-info.i > end-info.i) { - x1 = start-info.lx - x2 = end-info.rx - } - - let style = ( - mark: ( - start: get-arrow-marks(elmt.start-tip, elmt.color), - end: get-arrow-marks(elmt.end-tip, elmt.color), - scale: 1.2 - ), - stroke: ( - dash: if elmt.dashed {(2pt,2pt)} else {"solid"}, - paint: elmt.color, - thickness: .5pt - ) - ) - - let y0 = start-info.y - if "linked-note" in elmt { - let shps = note.render(pars-i, x-pos, elmt.linked-note, start-info.y, lifelines).last() - shapes += shps - } - - let flip-mark = end-info.i <= start-info.i - if elmt.flip { - flip-mark = not flip-mark - } - if flip-mark { - style.mark.end = reverse-arrow-mark(style.mark.end) - } - - let pts - let comment-pt - let comment-anchor - let comment-angle = 0deg - - if elmt.p1 == elmt.p2 { - if elmt.flip { - x1 = start-info.lx - } else { - x2 = end-info.rx - } - - let x-mid = if elmt.flip { - calc.min(x1, x2) - 20 - } else { - calc.max(x1, x2) + 20 - } - - pts = ( - (x1, start-info.y), - (x-mid, start-info.y), - (x-mid, end-info.y), - (x2, end-info.y) - ) - - if comment != none { - comment-anchor = ( - start: if x-mid < x1 {"south-east"} else {"south-west"}, - end: if x-mid < x1 {"south-west"} else {"south-east"}, - left: "south-west", - right: "south-east", - center: "south", - ).at(elmt.comment-align) - - comment-pt = ( - start: pts.first(), - end: pts.at(1), - left: if x-mid < x1 {pts.at(1)} else {pts.first()}, - right: if x-mid < x1 {pts.first()} else {pts.at(1)}, - center: (pts.first(), 50%, pts.at(1)) - ).at(elmt.comment-align) - } - - } else { - pts = ( - (x1, start-info.y), - (x2, end-info.y) - ) - - if comment != none { - let start-pt = pts.first() - let end-pt = pts.last() - if elmt.start-tip != "" { - start-pt = (pts.first(), COMMENT-PAD, pts.last()) - } - if elmt.end-tip != "" { - end-pt = (pts.last(), COMMENT-PAD, pts.first()) - } - - comment-pt = ( - start: start-pt, - end: end-pt, - left: if x2 < x1 {end-pt} else {start-pt}, - right: if x2 < x1 {start-pt} else {end-pt}, - center: (start-pt, 50%, end-pt) - ).at(elmt.comment-align) - - comment-anchor = ( - start: if x2 < x1 {"south-east"} else {"south-west"}, - end: if x2 < x1 {"south-west"} else {"south-east"}, - left: "south-west", - right: "south-east", - center: "south", - ).at(elmt.comment-align) - } - - let (p1, p2) = pts - if x2 < x1 { - (p1, p2) = (p2, p1) - } - comment-angle = vector.angle2(p1, p2) - } - - // Start circle tip - if is-circle-tip(elmt.start-tip) { - shapes += draw.circle(pts.first(), radius: CIRCLE-TIP-RADIUS, stroke: none, fill: elmt.color, name: "_circle-start-tip") - pts.at(0) = "_circle-start-tip" - - // Start cross tip - } else if is-cross-tip(elmt.start-tip) { - let size = CROSS-TIP-SIZE - let cross-pt = (pts.first(), size * 2, pts.at(1)) - shapes += draw.line( - (rel: (-size, -size), to: cross-pt), - (rel: (size, size), to: cross-pt), - stroke: elmt.color + 1.5pt - ) - shapes += draw.line( - (rel: (-size, size), to: cross-pt), - (rel: (size, -size), to: cross-pt), - stroke: elmt.color + 1.5pt - ) - pts.at(0) = cross-pt - } - - // End circle tip - if is-circle-tip(elmt.end-tip) { - shapes += draw.circle(pts.last(), radius: 3, stroke: none, fill: elmt.color, name: "_circle-end-tip") - pts.at(pts.len() - 1) = "_circle-end-tip" - - // End cross tip - } else if is-cross-tip(elmt.end-tip) { - let size = CROSS-TIP-SIZE - let cross-pt = (pts.last(), size * 2, pts.at(pts.len() - 2)) - shapes += draw.line( - (rel: (-size, -size), to: cross-pt), - (rel: (size, size), to: cross-pt), - stroke: elmt.color + 1.5pt - ) - shapes += draw.line( - (rel: (-size, size), to: cross-pt), - (rel: (size, -size), to: cross-pt), - stroke: elmt.color + 1.5pt - ) - pts.at(pts.len() - 1) = cross-pt - } - - shapes += draw.line(..pts, ..style) - - if comment != none { - shapes += draw.content( - comment-pt, - comment, - anchor: comment-anchor, - angle: comment-angle, - padding: 3pt - ) - } - - if elmt.create-dst { - let dst-line = lifelines.at(i2) - dst-line.lines.push(("create", end-info.y)) - lifelines.at(i2) = dst-line - } - if elmt.enable-dst { - let dst-line = lifelines.at(i2) - dst-line.lines.push(("enable", end-info.y, elmt.lifeline-style)) - lifelines.at(i2) = dst-line - } - - if "linked-note" in elmt { - let m = note.get-size(elmt.linked-note) - end-info.y = calc.min(end-info.y, y0 - m.height / 2) - } - - let r = (end-info.y, lifelines, shapes) - return r -} \ No newline at end of file diff --git a/src/sync.typ b/src/sync.typ index 41f0891..85106ff 100644 --- a/src/sync.typ +++ b/src/sync.typ @@ -1,27 +1,10 @@ #import "sequence.typ" +#import "core/draw/sync.typ" #let _sync(elmts) = { return (( type: "sync", + draw: sync.render, elmts: elmts ),) } - -#let render(pars-i, x-pos, participants, elmt, y, lifelines) = { - let draw-seq = sequence.render.with(pars-i, x-pos, participants) - - let shapes = () - - let end-y = y - - for e in elmt.elmts { - let yi - let shps - (yi, lifelines, shps) = draw-seq(e, y, lifelines) - shapes += shps - end-y = calc.min(end-y, yi) - } - - let r = (end-y, lifelines, shapes) - return r -} \ No newline at end of file -- 2.49.0 From b1ad3b98d2889f50a29ffa009765368f075a868b Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 14 Jul 2025 17:02:16 +0200 Subject: [PATCH 06/13] refactored notes --- src/core/draw/note.typ | 169 +++++++++++++++++++++++++++++++++++++ src/core/draw/sequence.typ | 3 +- src/core/renderer.typ | 29 +------ src/core/setup.typ | 12 +-- src/note.typ | 146 +------------------------------- 5 files changed, 183 insertions(+), 176 deletions(-) create mode 100644 src/core/draw/note.typ diff --git a/src/core/draw/note.typ b/src/core/draw/note.typ new file mode 100644 index 0000000..af80923 --- /dev/null +++ b/src/core/draw/note.typ @@ -0,0 +1,169 @@ +#import "../../consts.typ": * +#import "../utils.typ": get-ctx, set-ctx +#import "../../cetz.typ": draw + +#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 (calc.min(..xs) + calc.max(..xs)) / 2 + } + } + return x-pos.at(pars-i.at(note.pos)) +} + +#let get-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 pre-render(note) = { + +} + +#let render(note, y: auto, forced: false) = { + if not note.linked { + if not note.aligned { + set-ctx(c => { + c.y -= Y-SPACE + return c + }) + } + } else if not forced { + return () + } + + get-ctx(ctx => { + let y = y + if y == auto { + y = ctx.y + } + + + 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(ctx.pars-i, ctx.x-pos, note) + + let i = none + if note.pos != none and type(note.pos) == str { + i = ctx.pars-i.at(note.pos) + } + let x0 = base-x + if note.side == "left" { + x0 -= NOTE-GAP + x0 -= total-w + if ctx.lifelines.at(i).level != 0 { + x0 -= LIFELINE-W / 2 + } + } else if note.side == "right" { + x0 += NOTE-GAP + x0 += ctx.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" { + 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) + ) + } + ) + draw.line((x1, y0), (x1, y0 - NOTE-CORNER-SIZE), (x2, y0 - NOTE-CORNER-SIZE), stroke: black + .5pt) + } else if note.shape == "rect" { + 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 + 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), + ) + } + ) + } + + draw.content( + ((x0 + x1)/2, (y0 + y1)/2), + note.content, + anchor: "center" + ) + + if note.aligned-with == none and (note.pos != none or note.side == "across") { + set-ctx(c => { + c.y -= h + return c + }) + } + }) +} \ No newline at end of file diff --git a/src/core/draw/sequence.typ b/src/core/draw/sequence.typ index 0df14a3..17c5ffc 100644 --- a/src/core/draw/sequence.typ +++ b/src/core/draw/sequence.typ @@ -1,6 +1,7 @@ #import "../utils.typ": get-ctx, set-ctx #import "../../consts.typ": * #import "../../cetz.typ": draw, vector +#import "note.typ" #let get-arrow-marks(sym, color) = { @@ -166,7 +167,7 @@ let y0 = start-info.y if "linked-note" in seq { // TODO: adapt note.render - note.render(seq.linked-note, y: start-info.y) + (seq.linked-note.draw)(seq.linked-note, y: start-info.y, forced: true) } let flip-mark = end-info.i <= start-info.i diff --git a/src/core/renderer.typ b/src/core/renderer.typ index d26a6ca..b09e9b7 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -8,7 +8,7 @@ #import "../separator.typ" #import "../sync.typ" #import "../consts.typ": * -#import "../note.typ" as note: get-note-box +#import "draw/note.typ": get-box as get-note-box, get-size as get-note-size #let DEBUG-INVISIBLE = false @@ -83,7 +83,7 @@ return participants } -#let note-get-cell(note) = { +#let note-get-cell(pars-i, note) = { let (p1, p2) = (none, none) let cell = none if note.side == "left" { @@ -140,7 +140,7 @@ ) } else if elmt.type == "note" { - let cell = note-get-cell(elmt) + let cell = note-get-cell(pars-i, elmt) if cell != none { cells.push(cell) } @@ -172,7 +172,7 @@ for n in notes.filter(e => (e.side == "over" and type(e.pos) == str)) { - let m = note.get-size(n) + let m = get-note-size(n) let i = pars-i.at(n.pos) if i < widths.len() { @@ -356,16 +356,6 @@ #let render(participants, elements) = context canvas(length: 1pt, { let shapes = () setup-ctx(participants, elements) - - /* - let draw-seq = sequence.render.with(pars-i, x-pos, participants) - let draw-group = group.render.with() - let draw-else = group.render-else.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) - let draw-sync = sync.render.with(pars-i, x-pos, participants) - */ // Draw participants (start) get-ctx(ctx => { @@ -456,17 +446,6 @@ ) } y = y1 - - // Note - } else if elmt.type == "note" { - if not elmt.linked { - if not elmt.aligned { - y -= Y-SPACE - } - let shps - (y, shps) = draw-note(elmt, y, lifelines) - shapes += shps - } } } diff --git a/src/core/setup.typ b/src/core/setup.typ index e8d07e9..bc899e7 100644 --- a/src/core/setup.typ +++ b/src/core/setup.typ @@ -108,7 +108,7 @@ ctx.linked.push(p1) ctx.linked.push(p2) ctx.last-seq = ( - elmt: seq, + seq: seq, i: ctx.i, p1: p1, p2: p2 @@ -138,14 +138,14 @@ note.pos = pars.last().last() } - let seq = last-seq.note + let seq = ctx.last-seq.seq seq.insert("linked-note", note) - ctx.elmts.at(last-seq.i) = seq + ctx.elmts.at(ctx.last-seq.i) = seq } if note.aligned { - let n = last-note.note + let n = ctx.last-note.note n.aligned-with = note - ctx.elmts.at(last-note.i) = n + ctx.elmts.at(ctx.last-note.i) = n } if note.side == "left" { ctx.linked.push("[") @@ -170,7 +170,7 @@ ctx.elmts.at(ctx.i) = note ctx.last-note = ( - elmt: note, + note: note, i: ctx.i ) diff --git a/src/note.typ b/src/note.typ index 14d3c98..0c62e5c 100644 --- a/src/note.typ +++ b/src/note.typ @@ -1,5 +1,6 @@ #import "/src/cetz.typ": draw #import "consts.typ": * +#import "core/draw/note.typ" #let SIDES = ( "left", @@ -30,6 +31,7 @@ } return (( type: "note", + draw: note.render, side: side, content: content, pos: pos, @@ -39,147 +41,3 @@ aligned-with: none ),) } - -#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 (calc.min(..xs) + calc.max(..xs)) / 2 - } - } - 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.aligned-with == none and (note.pos != none or note.side == "across") { - y -= h - } - - let r = (y, shapes) - return r -} \ No newline at end of file -- 2.49.0 From babce5195ebb48f5b1ab4837573b842fa7da101e Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 14 Jul 2025 17:02:33 +0200 Subject: [PATCH 07/13] fixed create event participant position --- src/core/draw/event.typ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/draw/event.typ b/src/core/draw/event.typ index 5dc8996..df9c027 100644 --- a/src/core/draw/event.typ +++ b/src/core/draw/event.typ @@ -16,7 +16,7 @@ } else if evt.event == "create" { ctx.y -= CREATE-OFFSET entry.at(1) = ctx.y - (par.draw)(par) + (par.draw)(par, y: ctx.y) } else if evt.event == "destroy" { } else { panic("Unknown event '" + evt.event + "'") -- 2.49.0 From aed215ff179fbb3c3b4fbdee4d399fe862d6aed2 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 14 Jul 2025 17:23:49 +0200 Subject: [PATCH 08/13] refactored groups, separators and delays --- src/core/draw/delay.typ | 27 ++++++++ src/core/draw/group.typ | 120 ++++++++++++++++++++++++++++++++++++ src/core/draw/separator.typ | 46 ++++++++++++++ src/core/renderer.typ | 77 ----------------------- src/core/setup.typ | 2 + src/group.typ | 60 +----------------- src/separator.typ | 50 ++------------- 7 files changed, 202 insertions(+), 180 deletions(-) create mode 100644 src/core/draw/delay.typ create mode 100644 src/core/draw/group.typ create mode 100644 src/core/draw/separator.typ diff --git a/src/core/draw/delay.typ b/src/core/draw/delay.typ new file mode 100644 index 0000000..9a204ea --- /dev/null +++ b/src/core/draw/delay.typ @@ -0,0 +1,27 @@ +#import "../utils.typ": get-ctx, set-ctx +#import "../../cetz.typ": draw + +#let render(delay) = get-ctx(ctx => { + let y0 = ctx.y + let y1 = ctx.y - delay.size + for (i, line) in ctx.lifelines.enumerate() { + line.lines.push(("delay-start", y0)) + line.lines.push(("delay-end", y1)) + ctx.lifelines.at(i) = line + } + if delay.name != none { + let x0 = ctx.x-pos.first() + let x1 = ctx.x-pos.last() + draw.content( + ((x0 + x1) / 2, (y0 + y1) / 2), + anchor: "center", + delay.name + ) + } + ctx.y = y1 + set-ctx(c => { + c.y = ctx.y + c.lifelines = ctx.lifelines + return c + }) +}) \ No newline at end of file diff --git a/src/core/draw/group.typ b/src/core/draw/group.typ new file mode 100644 index 0000000..631091a --- /dev/null +++ b/src/core/draw/group.typ @@ -0,0 +1,120 @@ +#import "../utils.typ": get-ctx, set-ctx +#import "../../consts.typ": * +#import "../../cetz.typ": draw + +#let render-start(grp) = get-ctx(ctx => { + let grp = grp + ctx.y -= Y-SPACE + let m = measure( + box( + grp.name, + inset: ( + left: 5pt, + right: 5pt, + top: 3pt, + bottom: 3pt + ), + ) + ) + ctx.groups = ctx.groups.map(g => { + if g.at(1).min-i == grp.min-i { g.at(2) += 1 } + if g.at(1).max-i == grp.max-i { g.at(3) += 1 } + g + }) + if grp.grp-type == "alt" { + grp.insert("elses", ()) + } + ctx.groups.push((ctx.y, grp, 0, 0)) + ctx.y -= m.height / 1pt + + set-ctx(c => { + c.y = ctx.y + c.groups = ctx.groups + return c + }) +}) + + +#let draw-group(x0, x1, y0, y1, group) = { + let name = text(group.name, weight: "bold") + let m = measure(box(name)) + let w = m.width / 1pt + 15 + let h = m.height / 1pt + 6 + draw.rect( + (x0, y0), + (x1, y1) + ) + draw.merge-path( + fill: COL-GRP-NAME, + close: true, + { + draw.line( + (x0, y0), + (x0 + w, y0), + (x0 + w, y0 - h / 2), + (x0 + w - 5, y0 - h), + (x0, y0 - h) + ) + } + ) + draw.content( + (x0, y0), + name, + anchor: "north-west", + padding: (left: 5pt, right: 10pt, top: 3pt, bottom: 3pt) + ) + + if group.desc != none { + draw.content( + (x0 + w, y0), + text([\[#group.desc\]], weight: "bold", size: .8em), + anchor: "north-west", + padding: 3pt + ) + } +} + +#let draw-else(x0, x1, y, elmt) = { + draw.line( + (x0, y), + (x1, y), + stroke: (dash: (2pt, 1pt), thickness: .5pt) + ) + draw.content( + (x0, y), + text([\[#elmt.desc\]], weight: "bold", size: .8em), + anchor: "north-west", + padding: 3pt + ) +} + +#let render-end(group) = get-ctx(ctx => { + ctx.y -= Y-SPACE + let (start-y, group, start-lvl, end-lvl) = ctx.groups.pop() + let x0 = ctx.x-pos.at(group.min-i) - start-lvl * 10 - 20 + let x1 = ctx.x-pos.at(group.max-i) + end-lvl * 10 + 20 + + draw-group(x0, x1, start-y, ctx.y, group) + + if group.grp-type == "alt" { + for (else-y, else-elmt) in group.elses { + draw-else(x0, x1, else-y, else-elmt) + } + } + + set-ctx(c => { + c.y = ctx.y + c.groups = ctx.groups + return c + }) +}) + +#let render-else(else_) = set-ctx(ctx => { + ctx.y -= Y-SPACE + let m = measure(text([\[#else_.desc\]], weight: "bold", size: .8em)) + ctx.groups.last().at(1).elses.push(( + ctx.y, else_ + )) + ctx.y -= m.height / 1pt + return ctx +}) \ No newline at end of file diff --git a/src/core/draw/separator.typ b/src/core/draw/separator.typ new file mode 100644 index 0000000..44b0f23 --- /dev/null +++ b/src/core/draw/separator.typ @@ -0,0 +1,46 @@ +#import "../utils.typ": get-ctx, set-ctx +#import "../../consts.typ": * +#import "../../cetz.typ": draw + +#let render(sep) = get-ctx(ctx => { + ctx.y -= Y-SPACE + + let x0 = ctx.x-pos.first() - 20 + let x1 = ctx.x-pos.last() + 20 + let m = measure( + box( + sep.name, + inset: (left: 3pt, right: 3pt, top: 5pt, bottom: 5pt) + ) + ) + let w = m.width / 1pt + let h = m.height / 1pt + let cx = (x0 + x1) / 2 + let xl = cx - w / 2 + let xr = cx + w / 2 + + ctx.y -= h / 2 + draw.rect( + (x0, ctx.y), + (x1, ctx.y - 3), + stroke: none, + fill: white + ) + draw.line((x0, ctx.y), (x1, ctx.y)) + ctx.y -= 3 + draw.line((x0, ctx.y), (x1, ctx.y)) + draw.content( + ((x0 + x1) / 2, ctx.y + 1.5), + sep.name, + anchor: "center", + padding: (5pt, 3pt), + frame: "rect", + fill: COL-SEP-NAME + ) + ctx.y -= h / 2 + + set-ctx(c => { + c.y = ctx.y + return c + }) +}) diff --git a/src/core/renderer.typ b/src/core/renderer.typ index b09e9b7..8081885 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -354,7 +354,6 @@ },) #let render(participants, elements) = context canvas(length: 1pt, { - let shapes = () setup-ctx(participants, elements) // Draw participants (start) @@ -372,80 +371,6 @@ (elmt,) } else if "draw" in elmt and elmt.type != "par" { (elmt.draw)(elmt) - - // Groups (start) -> reserve space for labels + store position - } else if elmt.type == "grp" { - y -= Y-SPACE - let m = measure( - box( - elmt.name, - inset: ( - left: 5pt, - right: 5pt, - top: 3pt, - bottom: 3pt - ), - ) - ) - groups = groups.map(g => { - if g.at(1).min-i == elmt.min-i { g.at(2) += 1 } - if g.at(1).max-i == elmt.max-i { g.at(3) += 1 } - g - }) - if elmt.grp-type == "alt" { - elmt.insert("elses", ()) - } - groups.push((y, elmt, 0, 0)) - y -= m.height / 1pt - - // Groups (end) -> actual drawing - } else if elmt.type == "grp-end" { - y -= Y-SPACE - let (start-y, group, start-lvl, end-lvl) = groups.pop() - let x0 = x-pos.at(group.min-i) - start-lvl * 10 - 20 - let x1 = x-pos.at(group.max-i) + end-lvl * 10 + 20 - shapes += draw-group(x0, x1, start-y, y, group) - - if group.grp-type == "alt" { - for (else-y, else-elmt) in group.elses { - shapes += draw-else(x0, x1, else-y, else-elmt) - } - } - - // Alt's elses -> reserve space for label + store position - } else if elmt.type == "else" { - y -= Y-SPACE - let m = measure(text([\[#elmt.desc\]], weight: "bold", size: .8em)) - groups.last().at(1).elses.push(( - y, elmt - )) - y -= m.height / 1pt - - // Separator - } else if elmt.type == "sep" { - let shps - (y, shps) = draw-sep(elmt, y) - shapes += shps - - // Delay - } else if elmt.type == "delay" { - let y0 = y - let y1 = y - elmt.size - for (i, line) in lifelines.enumerate() { - line.lines.push(("delay-start", y0)) - line.lines.push(("delay-end", y1)) - lifelines.at(i) = line - } - if elmt.name != none { - let x0 = x-pos.first() - let x1 = x-pos.last() - shapes += draw.content( - ((x0 + x1) / 2, (y0 + y1) / 2), - anchor: "center", - elmt.name - ) - } - y = y1 } } @@ -476,6 +401,4 @@ participant.render-lifelines() }) - - shapes }) \ No newline at end of file diff --git a/src/core/setup.typ b/src/core/setup.typ index bc899e7..85b9444 100644 --- a/src/core/setup.typ +++ b/src/core/setup.typ @@ -1,5 +1,6 @@ #import "utils.typ": is-elmt, get-group-span #import "../participant.typ": _exists as par-exists, _par +#import "draw/group.typ": render-end as grp-render-end #let flatten-group(elmts, i) = { let group = elmts.at(i) @@ -9,6 +10,7 @@ group.elmts + (( type: "grp-end", + draw: grp-render-end, start-i: i ),) + elmts.slice(i+1) diff --git a/src/group.typ b/src/group.typ index db0933b..fcaa43d 100644 --- a/src/group.typ +++ b/src/group.typ @@ -1,9 +1,11 @@ #import "/src/cetz.typ": draw #import "consts.typ": * +#import "core/draw/group.typ" #let _grp(name, desc: none, type: "default", elmts) = { return (( type: "grp", + draw: group.render-start, name: name, desc: desc, grp-type: type, @@ -20,6 +22,7 @@ let else-elmts = args.at(i + 1, default: ()) all-elmts.push(( type: "else", + draw: group.render-else, desc: else-desc )) all-elmts += else-elmts @@ -40,60 +43,3 @@ } #let _opt(desc, elmts) = grp("opt", desc: desc, type: "opt", elmts) #let _break(desc, elmts) = grp("break", desc: desc, type: "break", elmts) - -#let render(x0, x1, y0, y1, group) = { - let shapes = () - let name = text(group.name, weight: "bold") - let m = measure(box(name)) - let w = m.width / 1pt + 15 - let h = m.height / 1pt + 6 - shapes += draw.rect( - (x0, y0), - (x1, y1) - ) - shapes += draw.merge-path( - fill: COL-GRP-NAME, - close: true, - { - draw.line( - (x0, y0), - (x0 + w, y0), - (x0 + w, y0 - h / 2), - (x0 + w - 5, y0 - h), - (x0, y0 - h) - ) - } - ) - shapes += draw.content( - (x0, y0), - name, - anchor: "north-west", - padding: (left: 5pt, right: 10pt, top: 3pt, bottom: 3pt) - ) - - if group.desc != none { - shapes += draw.content( - (x0 + w, y0), - text([\[#group.desc\]], weight: "bold", size: .8em), - anchor: "north-west", - padding: 3pt - ) - } - - return shapes -} - -#let render-else(x0, x1, y, elmt) = { - let shapes = draw.line( - (x0, y), - (x1, y), - stroke: (dash: (2pt, 1pt), thickness: .5pt) - ) - shapes += draw.content( - (x0, y), - text([\[#elmt.desc\]], weight: "bold", size: .8em), - anchor: "north-west", - padding: 3pt - ) - return shapes -} \ No newline at end of file diff --git a/src/separator.typ b/src/separator.typ index e0d1b71..68de017 100644 --- a/src/separator.typ +++ b/src/separator.typ @@ -1,9 +1,12 @@ #import "/src/cetz.typ": draw #import "consts.typ": * +#import "core/draw/separator.typ" +#import "core/draw/delay.typ" #let _sep(name) = { return (( type: "sep", + draw: separator.render, name: name ),) } @@ -11,53 +14,8 @@ #let _delay(name: none, size: 30) = { return (( type: "delay", + draw: delay.render, name: name, size: size ),) -} - -#let render(x-pos, elmt, y) = { - let shapes = () - y -= Y-SPACE - - let x0 = x-pos.first() - 20 - let x1 = x-pos.last() + 20 - let m = measure( - box( - elmt.name, - inset: (left: 3pt, right: 3pt, top: 5pt, bottom: 5pt) - ) - ) - let w = m.width / 1pt - let h = m.height / 1pt - let cx = (x0 + x1) / 2 - let xl = cx - w / 2 - let xr = cx + w / 2 - - y -= h / 2 - shapes += draw.rect( - (x0, y), - (x1, y - 3), - stroke: none, - fill: white - ) - shapes += draw.line((x0, y), (x1, y)) - //shapes += draw.line((x0, y), (xl, y)) - //shapes += draw.line((xr, y), (x1, y)) - y -= 3 - shapes += draw.line((x0, y), (x1, y)) - //shapes += draw.line((x0, y), (xl, y)) - //shapes += draw.line((xr, y), (x1, y)) - shapes += draw.content( - ((x0 + x1) / 2, y + 1.5), - elmt.name, - anchor: "center", - padding: (5pt, 3pt), - frame: "rect", - fill: COL-SEP-NAME - ) - y -= h / 2 - - let r = (y, shapes) - return r } \ No newline at end of file -- 2.49.0 From ef2541f26798f65a8c679be8903025dd2f2660d1 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 14 Jul 2025 17:29:51 +0200 Subject: [PATCH 09/13] refactored debug rendering --- src/core/renderer.typ | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/core/renderer.typ b/src/core/renderer.typ index 8081885..4f604d8 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -353,6 +353,24 @@ ) },) +#let render-debug() = get-ctx(ctx => { + for p in ctx.participants.filter(p => p.invisible) { + let color = if p.name.starts-with("?") {green} else if p.name.ends-with("?") {red} else {blue} + let x = ctx.x-pos.at(p.i) + draw.line( + (x, 0), + (x, ctx.y), + stroke: (paint: color, dash: "dotted") + ) + draw.content( + (x, 0), + p.display-name, + anchor: "west", + angle: 90deg + ) + } +}) + #let render(participants, elements) = context canvas(length: 1pt, { setup-ctx(participants, elements) @@ -379,24 +397,9 @@ return ctx }) - // Draw vertical lines + lifelines + end participants draw.on-layer(-1, { if DEBUG-INVISIBLE { - for p in participants.filter(p => p.invisible) { - let color = if p.name.starts-with("?") {green} else if p.name.ends-with("?") {red} else {blue} - let x = x-pos.at(p.i) - draw.line( - (x, 0), - (x, y), - stroke: (paint: color, dash: "dotted") - ) - draw.content( - (x, 0), - p.display-name, - anchor: "west", - angle: 90deg - ) - } + render-debug() } participant.render-lifelines() -- 2.49.0 From 08f7eea0e47ed302d1ca683eb540169d01f3ffb4 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Tue, 15 Jul 2025 12:36:30 +0200 Subject: [PATCH 10/13] reorganized imports --- src/core/draw/delay.typ | 5 +++-- src/core/draw/event.typ | 4 ++-- src/core/draw/group.typ | 7 ++++--- src/core/draw/note.typ | 7 ++++--- src/core/draw/participant.typ | 7 ++++--- src/core/draw/separator.typ | 7 ++++--- src/core/draw/sequence.typ | 8 ++++---- src/core/draw/sync.typ | 2 +- src/core/renderer.typ | 19 +++++++++---------- src/core/setup.typ | 5 +++-- src/core/utils.typ | 2 +- src/diagram.typ | 6 ++---- src/group.typ | 2 -- src/note.typ | 1 - src/participant.typ | 6 ++---- src/separator.typ | 4 +--- src/sequence.typ | 4 ---- src/sync.typ | 1 - 18 files changed, 44 insertions(+), 53 deletions(-) diff --git a/src/core/draw/delay.typ b/src/core/draw/delay.typ index 9a204ea..3b0a000 100644 --- a/src/core/draw/delay.typ +++ b/src/core/draw/delay.typ @@ -1,5 +1,6 @@ -#import "../utils.typ": get-ctx, set-ctx -#import "../../cetz.typ": draw +#import "/src/cetz.typ": draw + +#import "/src/core/utils.typ": get-ctx, set-ctx #let render(delay) = get-ctx(ctx => { let y0 = ctx.y diff --git a/src/core/draw/event.typ b/src/core/draw/event.typ index df9c027..bc39297 100644 --- a/src/core/draw/event.typ +++ b/src/core/draw/event.typ @@ -1,5 +1,5 @@ -#import "../utils.typ": get-ctx, set-ctx -#import "../../consts.typ": * +#import "/src/consts.typ": * +#import "/src/core/utils.typ": get-ctx, set-ctx #let render(evt) = get-ctx(ctx => { let par-name = evt.participant diff --git a/src/core/draw/group.typ b/src/core/draw/group.typ index 631091a..083aa09 100644 --- a/src/core/draw/group.typ +++ b/src/core/draw/group.typ @@ -1,6 +1,7 @@ -#import "../utils.typ": get-ctx, set-ctx -#import "../../consts.typ": * -#import "../../cetz.typ": draw +#import "/src/cetz.typ": draw + +#import "/src/consts.typ": * +#import "/src/core/utils.typ": get-ctx, set-ctx #let render-start(grp) = get-ctx(ctx => { let grp = grp diff --git a/src/core/draw/note.typ b/src/core/draw/note.typ index af80923..004f1c7 100644 --- a/src/core/draw/note.typ +++ b/src/core/draw/note.typ @@ -1,6 +1,7 @@ -#import "../../consts.typ": * -#import "../utils.typ": get-ctx, set-ctx -#import "../../cetz.typ": draw +#import "/src/cetz.typ": draw + +#import "/src/consts.typ": * +#import "/src/core/utils.typ": get-ctx, set-ctx #let get-size(note) = { let PAD = if note.shape == "hex" {NOTE-HEX-PAD} else {NOTE-PAD} diff --git a/src/core/draw/participant.typ b/src/core/draw/participant.typ index 5f76a4d..e93d715 100644 --- a/src/core/draw/participant.typ +++ b/src/core/draw/participant.typ @@ -1,6 +1,7 @@ -#import "../../consts.typ": * -#import "../../cetz.typ": draw -#import "../utils.typ": get-ctx, set-ctx, get-style +#import "/src/cetz.typ": draw + +#import "/src/consts.typ": * +#import "/src/core/utils.typ": get-ctx, get-style, set-ctx #let get-size(par) = { if par.invisible { diff --git a/src/core/draw/separator.typ b/src/core/draw/separator.typ index 44b0f23..ecc0db2 100644 --- a/src/core/draw/separator.typ +++ b/src/core/draw/separator.typ @@ -1,6 +1,7 @@ -#import "../utils.typ": get-ctx, set-ctx -#import "../../consts.typ": * -#import "../../cetz.typ": draw +#import "/src/cetz.typ": draw + +#import "/src/consts.typ": * +#import "/src/core/utils.typ": get-ctx, set-ctx #let render(sep) = get-ctx(ctx => { ctx.y -= Y-SPACE diff --git a/src/core/draw/sequence.typ b/src/core/draw/sequence.typ index 17c5ffc..81c591a 100644 --- a/src/core/draw/sequence.typ +++ b/src/core/draw/sequence.typ @@ -1,8 +1,8 @@ -#import "../utils.typ": get-ctx, set-ctx -#import "../../consts.typ": * -#import "../../cetz.typ": draw, vector -#import "note.typ" +#import "/src/cetz.typ": draw, vector +#import "note.typ" +#import "/src/consts.typ": * +#import "/src/core/utils.typ": get-ctx, set-ctx #let get-arrow-marks(sym, color) = { if sym == none { diff --git a/src/core/draw/sync.typ b/src/core/draw/sync.typ index 6c63522..1a300a7 100644 --- a/src/core/draw/sync.typ +++ b/src/core/draw/sync.typ @@ -1,4 +1,4 @@ -#import "../utils.typ": get-ctx, set-ctx, is-elmt +#import "/src/core/utils.typ": get-ctx, is-elmt, set-ctx #let render(sync) = get-ctx(ctx => { set-ctx(c => { diff --git a/src/core/renderer.typ b/src/core/renderer.typ index 4f604d8..a4d341a 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -1,14 +1,13 @@ -#import "/src/cetz.typ" as cetz: canvas, draw -#import "utils.typ": * -#import "../group.typ" -//#import "../participant.typ" -//#import participant: PAR-SPECIALS -#import "draw/participant.typ" -#import "../sequence.typ" -#import "../separator.typ" -#import "../sync.typ" -#import "../consts.typ": * +#import "/src/cetz.typ": canvas, draw + #import "draw/note.typ": get-box as get-note-box, get-size as get-note-size +#import "draw/participant.typ" +#import "utils.typ": * +#import "/src/consts.typ": * +#import "/src/group.typ" +#import "/src/separator.typ" +#import "/src/sequence.typ" +#import "/src/sync.typ" #let DEBUG-INVISIBLE = false diff --git a/src/core/setup.typ b/src/core/setup.typ index 85b9444..3d8f7fe 100644 --- a/src/core/setup.typ +++ b/src/core/setup.typ @@ -1,6 +1,7 @@ -#import "utils.typ": is-elmt, get-group-span -#import "../participant.typ": _exists as par-exists, _par #import "draw/group.typ": render-end as grp-render-end +#import "utils.typ": get-group-span, is-elmt +#import "/src/participant.typ": _exists as par-exists, _par +#import "/src/sequence.typ": _seq #let flatten-group(elmts, i) = { let group = elmts.at(i) diff --git a/src/core/utils.typ b/src/core/utils.typ index dfc682a..7698037 100644 --- a/src/core/utils.typ +++ b/src/core/utils.typ @@ -1,4 +1,4 @@ -#import "../cetz.typ": draw +#import "/src/cetz.typ": draw #let is-elmt(elmt) = { if type(elmt) != dictionary { diff --git a/src/diagram.typ b/src/diagram.typ index 41335c4..aafa73b 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -1,9 +1,7 @@ -#import "core/utils.typ": fit-canvas, set-ctx -#import "core/renderer.typ": render -#import "participant.typ" as participant: _par, PAR-SPECIALS -#import "sequence.typ": _seq #import "core/draw/event.typ": render as evt-render +#import "core/renderer.typ": render #import "core/setup.typ": setup +#import "core/utils.typ": fit-canvas, set-ctx #let gap-render(gap) = set-ctx(ctx => { ctx.y -= gap.size diff --git a/src/group.typ b/src/group.typ index fcaa43d..8e29d6f 100644 --- a/src/group.typ +++ b/src/group.typ @@ -1,5 +1,3 @@ -#import "/src/cetz.typ": draw -#import "consts.typ": * #import "core/draw/group.typ" #let _grp(name, desc: none, type: "default", elmts) = { diff --git a/src/note.typ b/src/note.typ index 0c62e5c..948b8d5 100644 --- a/src/note.typ +++ b/src/note.typ @@ -1,4 +1,3 @@ -#import "/src/cetz.typ": draw #import "consts.typ": * #import "core/draw/note.typ" diff --git a/src/participant.typ b/src/participant.typ index 1c2ca3e..57f0383 100644 --- a/src/participant.typ +++ b/src/participant.typ @@ -1,6 +1,4 @@ -#import "/src/cetz.typ": draw -#import "consts.typ": * -#import "core/draw/participant.typ": render as par-render +#import "core/draw/participant.typ" #let PAR-SPECIALS = "?[]" #let SHAPES = ( @@ -37,7 +35,7 @@ } return (( type: "par", - draw: par-render, + draw: participant.render, name: name, display-name: if display-name == auto {name} else {display-name}, from-start: from-start, diff --git a/src/separator.typ b/src/separator.typ index 68de017..46815e8 100644 --- a/src/separator.typ +++ b/src/separator.typ @@ -1,7 +1,5 @@ -#import "/src/cetz.typ": draw -#import "consts.typ": * -#import "core/draw/separator.typ" #import "core/draw/delay.typ" +#import "core/draw/separator.typ" #let _sep(name) = { return (( diff --git a/src/sequence.typ b/src/sequence.typ index a3e367c..c99df3a 100644 --- a/src/sequence.typ +++ b/src/sequence.typ @@ -1,7 +1,3 @@ -#import "/src/cetz.typ": draw, vector -#import "consts.typ": * -#import "participant.typ" -#import "note.typ" #import "core/draw/sequence.typ" #let _seq( diff --git a/src/sync.typ b/src/sync.typ index 85106ff..5d6ce2e 100644 --- a/src/sync.typ +++ b/src/sync.typ @@ -1,4 +1,3 @@ -#import "sequence.typ" #import "core/draw/sync.typ" #let _sync(elmts) = { -- 2.49.0 From d51a08830d6a6d5b2129839695ed4a8ffa1c5b3e Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Wed, 16 Jul 2025 15:10:13 +0200 Subject: [PATCH 11/13] updated CeTZ to v0.4.0 --- src/cetz.typ | 2 +- src/core/draw/group.typ | 18 ++++----- src/core/draw/note.typ | 49 +++++++++++-------------- src/core/draw/sequence.typ | 8 ++-- tests/group/ref/1.png | Bin 46844 -> 46830 bytes tests/group/ref/2.png | Bin 5419 -> 5425 bytes tests/group/ref/3.png | Bin 6842 -> 6836 bytes tests/note/position/ref/1.png | Bin 23681 -> 23694 bytes tests/note/position/ref/2.png | Bin 13704 -> 13702 bytes tests/note/position/ref/3.png | Bin 36022 -> 36033 bytes tests/note/shape/ref/1.png | Bin 25800 -> 25725 bytes tests/note/styled-body/ref/1.png | Bin 51543 -> 51546 bytes tests/sequence/comment-align/ref/1.png | Bin 58220 -> 58033 bytes tests/sequence/comment-align/ref/2.png | Bin 28606 -> 28702 bytes tests/sequence/special-par/ref/1.png | Bin 30051 -> 30029 bytes tests/sequence/tips/ref/1.png | Bin 24107 -> 24114 bytes tests/sequence/tips/ref/2.png | Bin 24050 -> 24207 bytes tests/sequence/tips/ref/3.png | Bin 26963 -> 26918 bytes 18 files changed, 33 insertions(+), 44 deletions(-) diff --git a/src/cetz.typ b/src/cetz.typ index 980a619..eb7ec62 100644 --- a/src/cetz.typ +++ b/src/cetz.typ @@ -1 +1 @@ -#import "@preview/cetz:0.3.4": * \ No newline at end of file +#import "@preview/cetz:0.4.0": * \ No newline at end of file diff --git a/src/core/draw/group.typ b/src/core/draw/group.typ index 083aa09..25aafaf 100644 --- a/src/core/draw/group.typ +++ b/src/core/draw/group.typ @@ -45,18 +45,14 @@ (x0, y0), (x1, y1) ) - draw.merge-path( + draw.line( + (x0, y0), + (x0 + w, y0), + (x0 + w, y0 - h / 2), + (x0 + w - 5, y0 - h), + (x0, y0 - h), fill: COL-GRP-NAME, - close: true, - { - draw.line( - (x0, y0), - (x0 + w, y0), - (x0 + w, y0 - h / 2), - (x0 + w - 5, y0 - h), - (x0, y0 - h) - ) - } + close: true ) draw.content( (x0, y0), diff --git a/src/core/draw/note.typ b/src/core/draw/note.typ index 004f1c7..d8b353d 100644 --- a/src/core/draw/note.typ +++ b/src/core/draw/note.typ @@ -49,10 +49,6 @@ return box(note.content, inset: inset) } -#let pre-render(note) = { - -} - #let render(note, y: auto, forced: false) = { if not note.linked { if not note.aligned { @@ -111,21 +107,22 @@ let y1 = y0 - h if note.shape == "default" { - draw.merge-path( + draw.line( + (x0, y0), + (x1, y0), + (x2, y0 - NOTE-CORNER-SIZE), + (x2, y1), + (x0, y1), stroke: black + .5pt, fill: note.color, - close: true, - { - draw.line( - (x0, y0), - (x1, y0), - (x2, y0 - NOTE-CORNER-SIZE), - (x2, y1), - (x0, y1) - ) - } + close: true + ) + draw.line( + (x1, y0), + (x1, y0 - NOTE-CORNER-SIZE), + (x2, y0 - NOTE-CORNER-SIZE), + stroke: black + .5pt ) - draw.line((x1, y0), (x1, y0 - NOTE-CORNER-SIZE), (x2, y0 - NOTE-CORNER-SIZE), stroke: black + .5pt) } else if note.shape == "rect" { draw.rect( (x0, y0), @@ -137,20 +134,16 @@ let lx = x0 + PAD.last() let rx = x2 - PAD.last() let my = (y0 + y1) / 2 - draw.merge-path( + draw.line( + (lx, y0), + (rx, y0), + (x2, my), + (rx, y1), + (lx, y1), + (x0, my), stroke: black + .5pt, fill: note.color, - close: true, - { - draw.line( - (lx, y0), - (rx, y0), - (x2, my), - (rx, y1), - (lx, y1), - (x0, my), - ) - } + close: true ) } diff --git a/src/core/draw/sequence.typ b/src/core/draw/sequence.typ index 81c591a..0d0ae47 100644 --- a/src/core/draw/sequence.typ +++ b/src/core/draw/sequence.typ @@ -15,10 +15,10 @@ "": none, ">": (symbol: ">", fill: color), ">>": (symbol: "straight"), - "\\": (symbol: ">", fill: color, harpoon: true, flip: true), - "\\\\": (symbol: "straight", harpoon: true, flip: true), - "/": (symbol: ">", fill: color, harpoon: true), - "//": (symbol: "straight", harpoon: true), + "\\": (symbol: ">", fill: color, harpoon: true), + "\\\\": (symbol: "straight", harpoon: true), + "/": (symbol: ">", fill: color, harpoon: true, flip: true), + "//": (symbol: "straight", harpoon: true, flip: true), "x": none, "o": none, ).at(sym) diff --git a/tests/group/ref/1.png b/tests/group/ref/1.png index 4c6b690847e44c86a930f258e6ef382856da6607..8ee09a40ccf65d90f502d356e99fd09e0bf70f8b 100644 GIT binary patch delta 35470 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 z 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 M!gbZERII}P4+3}SkpKVy delta 35552 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�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 SyYavXUI+Fb-cx`-$@&|V@{`>F delta 1734 zcmZvbdstIt7{IxtP%Sl?3A^9C3%=xU!xb?Rxan8l z_sP!~% z_M7m$^{DVEXr=i1EH`(2M>M(J`#2%Pl4?xL0*_@omG{?TM|h61HW^=*d%tICVAtGK z+{Mxh-NM=EO%aTxKY5^Ob_~A15u5C)t^TROirs7{3IIwoy8YAcO74D0CX$GLLapeoDIgc$XyW{z9@O3FiFVfp*!$jJjTDv;~g&iLc!&t+pyYrPVoZIu)9 znIaCKTlCgZ%#{?)Dx)}Sr?>czZNDY$JFRDuyd$I2#|7Ij!v)vg5bggQ>#=5joqOvY zmNfrHO?neovZLnfW7|yTd^UW@BLwoiw*RiihN5cd^$uF;2GiQg81WC7Frx z#O_b%fePsZh2l^-mNZVuPfZ`6^=EO`Y_;!V$=AFIvQ|u{uQOdCQSX@NK>%XPvtnao z!w0{FHF%^?rl$K~ZCq2r)|$AcYUr7+aXu$EH#a9ICoiumTT+Mw#6v|7&1ObkULIl~ zkx1FuI+e-|l2d`}2_+>ZnVBPLAqnyE$|o(^B{PGke*f`oY?T+g$_FSCfmb`rObefG zoLMqzOBZK`?w%?N|7CEQTEK>T1b*@LoE-&O1I^?CUZ%IFCyloo0V9}vd_7*LY#6!o z(PL4OZdd{uIvbFVsgIYImLAj*7N0(GF>T<7L=gx&FQLrExb%-<*sGid){rvpic;})m zKq`VrZZj9|J0G1AfOw`WI=!P#r*|?$B2j4bD{0Skww`mi<-#dpOxY3`J zbP=W50rN{*@_bwG7(GG~9u$;6)>AvJZiV2nWL`!p zPKR>M9xrU#e}R2po)vtgBdTey`ld*hVP(5{IlkA^5vn4$8;AH@1H~6W*JesEE{1PYQ$J%Lyi1R+YEZgXgW%Y!(6b88Y)2}A@i{Dc7?zX zpt`y`(xV(L9;y|>`zgr2#I+o{z2MVWA6d3CGbCOc$0Oto%Wh4rWvO0{0FO(h(w3H% z;ZL#LB(95#%dk^Hsv?kg++wkyC2I;R{UKPM#cyn+&}cR225^`$F){wNaaR+z*2eh+ zqM1WumBB~<-F@qlakEW{d!SSG&%KZQ5&&bp=V`lu=UFJFUTs(2`} zL3!;XOgSLM-@MsAV&L{q6^l0z!4KBa+`oKCCu4~wOQdtT@1F5f!spvD@XvE*+S}8` z;vkG#7~YSNBov zXzn{9dqk2~Ba-IMvf8^kkXN%tup3xw9ajJMbYcx-T@e*3!&qkQI+lZji_`ymIg+>A pvqtT4tUebHmNRyX+mF!7s=S`)NcD5Ezu6&Y4{_h_=IF!a{{a20j$8l$ diff --git a/tests/group/ref/3.png b/tests/group/ref/3.png index 3c8b5bba8fe53655b98b5d0b96a8f9b8bf937654..87c8628eacd3cfbb3b4d9a2cf1e5a57866d3d7b9 100644 GIT binary patch delta 4656 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 Qxre4i^NOBYKE|BzABfLY#{d8T diff --git a/tests/note/position/ref/1.png b/tests/note/position/ref/1.png index 4ac364d31b77d0fc7588a4144f20a51da6c24cfa..276c4b44a480dcf12a8e7afc84697b34d2800fb6 100644 GIT binary patch delta 17962 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 PgN*fb^>bP0l+XkKn)18a delta 17977 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 OnbzhGW{oC3&;A8~RS*{d delta 2598 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 IM6N<$g0!dVz5oCK diff --git a/tests/note/position/ref/3.png b/tests/note/position/ref/3.png index 06d4a602dc9e908e090e7882fca8ece449ec8a29..c4091b251f3621e4cde7eae27cbf6add8493eb2b 100644 GIT binary patch delta 1735 zcmZ8gdpMhS8-C;P#hRA1)lk|jQ+B1TP}SC9#3_iXGFsIjZ5=9U&@>Yi&8vEubXga4 zPKz%rgqoo$rNpSFp_mb6#wrfgY0*f~MIFD_wrk(M@4x%Ge%JN8@8`bnr@la=tw1Bw z6vnPK+YA9;O!O^l>OXb)GLLAd%zgQ2vdZ56>)DW46e@P73|25A4~NE*VAs^#47TaDyS7K;<~pfw046P~YF%!)Hz5Z^c-MfXK0sPD^U zjH`6|{f34F7Hi}6>u3L1j6xMqt_NAF5>uGWcQZ35MQjuSA<7>f9u6``!6#KRnJg=7 zXEKE;k${r$@Nku`H6D+?O=xN<6^mDg>!NIIYy|Ei45>KB+`@uiSU8m$5=*1eA|s_} z(&)m%f?Q6nmh9WNZ%M6Aa8xQ=L*nD(yIwt@?1bD?CK)C=Zm-EW-aUKC&CN|l5vjuR zH>q1sl)(&URbU-lCmnVHt3UVc4%Q7&4?JjqyK&=27BM0=R-sfX6#?&(98;E8Kc)V| z<1s8L3I7eBFPF>fp^N~aXL4o59>sAlk>%v%ba#6rU@{G$FRodo%|`u|1{<|}>S)1s z?r<$!N82T{Gh*)BLE-Z^(I;qn+%&LvCiPmzG}0^)Sh47Gc}dax~Za>?vmjI+FNxcaIAWaaT5kj?tfOAVpUdA;@+^;V+;w2Yd^*m zy++BNIL-Zg%sb$cVTYZf%xCXJXtBi9(!)TaAuAn0>Nn_o@p(9A(jo$M{<<&njL|?T zN5GjY^8(2P_mZ?HU0>u9EWnuh3M)6xonr$9_9X^sJJGhkoqxn!PDwQUbyyyiF`X_^ zYr=IgIDm-2;Pi8b`qLVq;ku^-+PD1qk1%J97QW!rQFv*(AQRQBO@;0nfbhaOk`h%4 zT@S!8#~mo)TE-P#xxx_D^D*Tct!CgP({q}dH%t6%(Q42~G1@AZE2?UoUeCV?E8RNUB=v{%qQp+?3)Gy0IG}WiaTu!e%a-8!#6h^OiN}6RRfI z2K^}L9Hd3-jV`&B4FO_~W1h&^3ZT#H-;hlED z6IV&s6@upZ6F;Euw682EpFT~L;zyzfhmSSNMh||&KBpoZ^Y-u(bA_UD91#Jji*67N z49r>c)X_Te*`~)&paXxRuUjUM>EZqIHsxCL&HEo!-b6ZB8=G6&G>&>ME-uB{hlY;c zjJAKVunL-b&9q$qRFk)-h;=qFu)m)XGRi1_P9`;Z$N6FJR+wfH>1{3~px(HsH}9k{ zUo#b>zfD^M_FJ(d)yi-wCnxz;e^^6s;{nR^ZJvDg`Rfj+t4?xS%e}4pj~-jQS6uvf zmRT9xa^Kd$?wxDnp+oT*l1mo0knUb8Y}^i~1i3;f#r(VP9y}9DC+%YdSlJpU4&$K%_b(+j`0KOK<@vs%3}FSO{gbtmVid@f(UwJoaJZ*j~m zc*g@-P*MKbV4gRNmTM~+n{Vye(bejM<93S8vgeO>NVglX-gHNbJQh2A4X!n6Vcn-s fch^mYw_x=TGV)6v76mFHHvupA(}Zf*i)sG>uq!;k delta 1762 zcmZ`(eK^x=AOESOCu(%GQJOvJ$lE5Q4(2U8IEJLUc-GDlc^QXEM-FW@*3+4twS$EA z;CPvt@?_1X<|Pi&Ib+FaA#JP}PA|3`QO3?sb&Yxvr_Hsn+jP->XZ_=)t5a-GqwkJkY zMZ-r$fu~EVqP0r^0ALIO;8UO##5&JzNhbV*iYOG1_}#&Bhnn&I@F#V$Bu(a1IIf|g zA^iGPPXw-#osyh<%x*g=dq6A}D-=I_rni=tmkR_gq|=8PB%Co4f%6d}aD|~KO(<(& zE>yZ3_fk)~u38^sSp6lqH%6+x;g6aA-Ef5IMlwHANP~Z2)LWJN%C+=?TA2z#E}Xj? zW;3$BS|0#>gkYb!(2s#OL6&qjIyyQf1-WV6*joDo^j{&DnasPHniw*foRN`1BDLaC zCk%6;GbZ9#%Ak|Sz_ty()`ff;u_ToHT{C{%AKN#u7mLLP1Oz}RN9$$JG$PBQUuB$d zTau43n}qwt6Di_O)%*9cH5yGpL4iyr8yY&gC=_w^KSAKItEUq0-izViym_;YSEC%`Q_zhI;IQWB3G$Y8ckaJ!&t%STj`snC=`uGlO-JoIl~xcdK$ICe;Dp| zpIW#@r_%%X44!k6=su**FwQKayivZvCVk(0aV!XxGc=1wB|uUhB{gNDiIBVmvzj$N zDSs2nu@Z56JdtbKBS5-98-TUe_ypO*fDeCI41&oA^JEiz*IWZ;SLOc$jOOcR%D)>g zn6>T=_3l7W_x?wHa80K_H`#e z2J_J%%bg9Qns}U++sG;oYJh^WN)7b#< z-QZ=h)y1IZQguGGO+OKo5dh=C2%H*P15Ozb?trvn=Q#>1l9Kl~3Cj>%;`o(JxgzaJ zjN9O&bO)vN;_Il?Zw14$UFjL$I}ctHP9Oup&jYB5#BHR(dmYcZe;pFSdGGkJ+&gRb z4eQ>U3WuvxlavWvL}T88(to|>x16JNg%B6YQ`o@}9U2cu4??6{7ho@DOvAqAj-=81HesO_Pd2q|& z;QRK=gnh@XhbH|aX!{EyvUtn~n}gBV@V`(|ZsTw_ZoDljeoZ&bxN>yoj;-|xqV^Kc zIRp5fVx2-X*Y>KTKF1jC@&biI32}L~)3b5$@sA(F18cjHTtDv6S$SJs&V$XN9d>rT zsYI`zN6rXFBg1ZC-Rq7;M_;fpeMY?~1d?61(yX@8_Za}4&ov@EN>%BZDDLmKa~!AC zUxl*yKX_0NIPm7^lHPciZ;#{3Q&Mna!%C3sVx4t*k zs_#@Uu}a-KlE$j4nG_AQsZ-P?rv)>odTdN#=GPWsCJT0;K)_dDhGH5HouvK=l?zSQ diff --git a/tests/note/shape/ref/1.png b/tests/note/shape/ref/1.png index e9bff45d1735d50279c4da64b8ae1c004ae601c5..0baabbe127174055a34a2daf50e2574ebe7efc3f 100644 GIT binary patch delta 21713 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 N(NNV^DOEzE{{saU&R75d delta 21519 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 blh`z&r5W$%k7#A$X}|-mkI}2pvB&=pC!M>= diff --git a/tests/note/styled-body/ref/1.png b/tests/note/styled-body/ref/1.png index 49b7d78f24db4a40de570f26055bb59fd256c6cb..e10a0deee08c890d4fd28cd145fe4c7845488278 100644 GIT binary patch delta 44698 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 ku{$Ndl$1&yaLIkV9J1+A~&Qvd(} delta 44653 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 C7uzZT diff --git a/tests/sequence/comment-align/ref/2.png b/tests/sequence/comment-align/ref/2.png index 9823f8beb187689e625974ccab880363b04cef5c..31185af708dc04d2a9c8b2b9e6ae57ae1dd43385 100644 GIT binary patch delta 24406 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 Yi}z-SCRvy-Tmlkh1r7O9Ig5aQ0lbE+`2YX_ delta 24006 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 diff --git a/tests/sequence/special-par/ref/1.png b/tests/sequence/special-par/ref/1.png index aa44644bc0ee36ede61aabe6c58fae4c5ffa073b..1259a7e9221a853c9d7a6a87df79cec64c8ef27d 100644 GIT binary patch delta 23009 zcmZs?2RNKh)IKa)vRKWQqPJ*Sg6Kp5AqgM&3RAvKWiZ8U|rt~b)P z-ktuzpRKF`u|2~{n-`h-kLnJ})^=LYn7Vl;f`fy-^w*EF72z_?Ogr7os}TjKcuc&D z!(QYjy_=`Sr(tNZu{}#fw1}jXRP0PGdbp?(!Dl@G^JlA3Gt-G9`6Kl^++O?bgbLwcQJ@(S0Vl91rB@{?5%5IZACW@4j!Gurt=?RK_ zSXa!I?nSVZ&LVDLDdCoEZfqcn`^@JRXIaE=feT1GJ3G$%_mPOR^mG;WirqysS8HrV zDDxQ1hkR76XUTBS&5z`M)e?!sNIYD|PDzK`ah#KjYi(`qC01Y~Jnd-+Z1Et%+W&8W z2;JSgPp_s1L-l!5xhRNG1WMqmuEDhfS})ej;gsgbwPS~ewJ}N|J@bdO0msum@;h-Pou=A@+-=PIY28I|*505OfKH7gR z(IGjLwJQhS|2ivnd3kwsbmUS@Hlv?~9{>x2_xKxzV=*JKuwdj^0WfU;j#z;$(Z`S* z7sH0oAvQV4jq7Kk2xLHK;^A1JueU;A*w+t)kq0nX|41ZzOex!aQ^&yI&(Y?j3j6r< zw79VFstmBh^=%5@6%`fb`!!8@$gho{ERMv-$Irq+5rF%09Kq=5>D>~IY40K= z5^Y|++QeWwkf7@xS%KFr#U&)lN=p?K6g5;RR$6WX0|W~-qqDLa^v5ZNj?zEnkhO%9#41o6~X_p99wB+<<3c) zii(OTSz@FJ9l{maZU}D3jJ%!-;E&+0-2yo86X48XVm3atwdH1KmzR}s@$y!_d$<1k zx0INe3%4Q^OclD;&CM+-C1v$>BbfWIOzijWF+5%T{rmTpD9*LB628#akHkOUUm09k zvGfy@lKT1e>xah1vqP7y?d{>Ap^JgmmRbZIb*KxL6H{0bzCt8_Vv+&7mc{BFno}&P zfIuWXT?us~L5>G!gHHqhvjg+b1Yae57^~;hu}^Nw*A3AP5|0gwONG0yDlgxcPn=sj zBrD@pTi4IX=WB*{1?Gs;lYZIqlgg(K%({V>rFO5IF{9{lUc3rBYfUgSK@c1*VlIfF zV}W$|)1GI3nBra*qmkoJhi{P+;C?CAExR0^^Tq5iu_qD|{n$B)xD~(6OoHq&U)ScK zKuyV#;mShC?qUwkDC7rLULT5hw-^(FwHCn^&&M%j%J;U|O`HLjKg{e))cTRnyTl^f z?l6UXauWQeIUcx0f+F1NCb$I>j&L%Q%6%ODmJbQvM|NbMJjl~8ry{_O?PKlY>oI?r zIMCiPIZhmk4MXX03em;1y8E{n`?eU1(pOAw*5B0ryz*gmEqLYlrvmd99&_diR%kqF)7!bhla}KEjWu( z;6E*zuq)(?;H^izo7(mOJ5}Pq0@iWb+nY60extV-qMo^64;L6txx384W6@UF1!X+Mwh=`QvaHbB< z{rss_0a3$Y^+q64m0DX{^@1ihLt`+Zea$T`ltiJrWo!fSrD|zv#pzG*wKx~OIc#0; zA(!0^7@3&T?{FiiqN0-2inXB$UT@y8MdRDl&nyO2pZQ6>-t=hV{=2dg${=de=UDIB zG&j45KBguOAKNAk$MNW~7yff`0Sld1NSY8M>1Su&k zeL$W+hEQbWBd3I3aD?Z?ueM?R{n z>yN%}ANdRwZQUeNObx?UjW7y@l;E*NrzsciC*DdF{$|IYu2MYyx{>>sSlQyIiE< z{A_=f3(-6?f9w2&8BM28icW%jAhxJ^F(+bLt!FQs>7k_VB>psqk0#RX?+=NW+2cVR zM2II(y|9q*Jnd4rAfv2KGgb`ln9mKQ!Wv667BWP?ut>)z><=5)ixUgOzbmVizuTT$ zj}D2s7NuKm*I65DLgAv&Qd&2>7mbEi*pr(RPe0e*3=aHrkpSswga^uGJ*6N}rbt?^ zKkxke$KJ2S_*K7owKJJ|MbPpaia_Z{+GvDYaXzyY>;NL)uh%$JV|g=1Inh=)vv~ae zjIy|j>hecp??M;ml2NdvQ%dizhh)g=E2}D6=4zq++tio++pL4*ZwJk6A6NR93|ncJ z=rCtjRIkmjox!~1k&3*KJt7HBMY6ag{|a5M)h;4jHX__02p)L)Jo_Q==j5m~&iHq{<&7cu7^FaB0!wRY%E>zgX^{3vr=p6!64H z<-Cpp4+?w>zkXBjA4GBq(!~@I#-ec2S;<KMzP~L!XTtEX(D!hxg+jMna}09PiMi92eZR^lTVW)oA@# zn|}<5C z&Xk?xT~3t52zFq@5;s}W`rn&%niYXJ?JM{w&k``=TM_0Y^!F`>yC$XLbzhEKQWW3Q zc4QYKVCzCm-~NzTF3o|feB1Ii^phbEJwr(Hk4C;j##pjL0|*nz?SlO*oWzC4sEDjQ zE~==;S>EFj8WA(*2y~Jgb8N>7*@K%41Qa~8)7DjN5-6_uj=DS6w#cB*S5l){s$(;87CIC+;o8sX0Ke} zhY{q@zRy*)6m=0-27cgn@%?06*+#44n!PIeF|HtAgt3eT#_Wp5&L4V$PvHGo0UQVu zGFz$W1DopTtbX6Z3b_k%EDu85c3Tr3>JYV|Fqf4*FAF)ffF+`G!WY`C#mVzL zPkhf1YUJdakW1HI7yFryJHFgOpDJEu;H%#0p(A=$pdi({5YCkQPPrmhg5=LKCXlL7dfFm9}u&j9@GUB{MqSW2Qm#&hrTXcMKLVd*!CEWke#=^v`XjhEDe_##^AT|Kmu)w3R6rouE^&1zlU<7RjKQ-d*ZR_&AxN9qg8QB+65& z`$S2BC?lo&l`_KJ_VJ9LI~sEmi<@#bT2r+b{iJK$E|k}1CN?f0gqg#-92D${$kI|0 zvTMv20OQw%0Pv~9Ik9uXn@a48bB))Skt7-LB(lUe9Ml}v_cZJDElIJ!$Q9I~^)oFq z+cbCpgeSOoOET6>+1KgkkJ+>sTPHSiC?ZCzY7BYSPX2)Fprvu;5H6V3em(v26f*Rf zjhlFOWwBMwfF2gW@zL&5u#hkOHf{6sj`bQGun-y&{QWnxJ0}}%pY+QMDn8C^dr79W zy{Mdw>wDY^ZalV!oib=yuKScdF+s6FhjWhr@48P30~WQ6AN08QXE4r)_??&4df+(O zz6U~rl3X`&2mbV0nIvfti_1kEoN=2JXq6DKs1+xE>v9$)3GdQhR=V%mls)Ho8$Yzu@wQP$$s-&{56-d}tWEo9U9pr7F|mD1ZN3O*veSdZzX<_oj=>eJE6cSZ zS#4r8UvyvyH!K7upCZotG@(F=K@I}dw_(x!$WvY(`lG>=g+MqmG`o(#?tvZwk==a{ zN44H0CE=WF57iyKvIY!ayZ65iop$Pt@LWB#{e`tifZ9S)&$iAWFx#T6D zUAjfU2hCmv*@mYd)DD|lTNm4Jz49!Pk7OF(_7GXemwHk;c_*s5t?lI+FUh)_xLi=5 z&Rwbj6C)!{A;cX4^cY7zaj4vME1VAe$zT!`R60zp*5fwdfnKjahFEzp{iCsvkAWsQ8e48!< zc0L$?mw5>t{30bnh70zNO0Gn0@pU5)FYknlaOMgR@pwd%B0WkbYxT8QvYq+Wuw+Qn zoMSfbRG=Wp9SCPSJe9-p_xC?O^XovE?k+CM8Nn`Dzss=OT3d$;hd6*1cyHxHa5En< z#;KtOEJWpv-+i9EynICc?9+_Buxs?XY#)JA%@mx+UWt$7QC{pr^3AS~bn(T)T{Ig9Lt z%jyBLZsa)ra|yPgiwNTFjg9+9Yiri8THD&5*BG6?_*+QS8>U)<#Z2iUs?&|q#PeO9 zsU^dhuyoGMWd7ub%ZzUbHWLu56aNjiGR7wR1(x1-ur5Mny&f=AC?LRANqNb)rQIg` z6QkHoB*ocagV}%?kAQSr05>N=T%tYj8r~P%l)~--Vws2=RP?)kQgM%=MIrRS3V^Eb)V=2NIePmP7xQ z@iU)9;(+x$^&`Jz*=YRWj-DR8C1FHw`rwM<@@v>@*!fFD?`V$qTc2t@lFEJ!@~*CU z#r8cm$P4&%JV);6%{}wa3UR}8DT9SA^7ML44!zMxzSrft!S~XlO74ODRRTxqV2L@l zP4rrn#CzH3_D~(po{!5Rj*gD@xiUzZ183OcS|PeRn{X@thmByT zBE_SZ9#$2Iii$L`bAb^ii7(x_qMJUD3%;A6zQ@D^vfo+?7{_l zr5=3i36r#0(Szxi>tf7HbiU5+8eB&avulJkh|hn;4S7<5(@_%&Jf8I5A1O^svye|v zJY+>Rw6xSgqdtC9(G?*@+7F0B5#`F2liHz*U!)zw75SCYX@WToq{8;{;}~NUJ`%EW z*4cVkDRwVxk-^M=6}-Ww4`)u$=tWD9CHBrn3Oj}~z(cYhAE%S}l3iHt#JbQC262!e zoMhzMA4EKtTc!^T!A)RR6vMJ!z@o?Ek!y(E`tsc6;~(4HkKaF7GPO5L^AD@2`zq*4 zKbt5c{L7~Kt8Z$a{%vRnxssr;+^=eR^sW}w9m_kn4)^!@G4DzWdY6`1kK(5pgtTbCVTo(s%Am1S6B;A2 zdBQK{a(d5#(&&S6<=G%^ZBfW9O0Tz}o%D#B59hv^RHf+h6P!nql6p$?SFU%~8xdpb zS7ixbxn*>Qu;D&M>z~gp@18AK;a>@*rYZ4dJWJxr6<|T+mL6PbDc>(dttX9fhr|1S zItAArl=zHPaQmVvzE?d_v(6|POUQPKEPtLH7ZAc1rs}EnJZl*oCZt%t84o1I_>acY zwQn+Pcu&#h6_GPVB0T9HsL^v|*dnU+^r}WbJ4T0BR`Rl*5oO>NY^@#~jOV^3addLp zAjBKIqHw|Z{5eX^%)HC`?k)$xHtzS)+*j)sm+y(pF>sw=e{YlM^S{) z>k%nw3w!7xCVJ_g?NtRA$2WV%gr+Fnvat(^(flcp$2@Gv7=@Ad5rASnT0!?($ybR9eyxvkAQ# z93$<&g*7c2PEUWh3KZ9Acp!dsd@Oui{iasg{2}Y)Y)p3aGT6#*tgU{r?wda~Q~F>8 zVs_=&?i7p4p^ePQ6BXVkHDU^VPsJ+V)i;tQSlq~eVm<3#@{rh>XHEdY!gVqgJoxy; z`04B?7M?D$9%kVit~tdFODCZR zT{t_LY9L&l*<+GmV4W7^&=|+*;+Jgb-)nNn%}$Sxbt@-R2MdD%!1Tx>FNgWO zdGp5G`#uFx;y`ySfN6jfOL&UrBe{cwS58Xgj;{VAciMH;Ja}8WQvN{k`fQO@^_~C+&r~%LvH|;6ze>cKKCA!E`A^wL` z`iBAmb@V@cUwa$iCM@^?(#juO_mUJR12{2Z#^vLjqidsK*+hm~@ycu9>5cO{O|lXr z*Nk1ncSE$j@QjThV;tZ-2!gsW3y@(zcHzR=kdE~R+*D<{WpO5-<{ZgzyD(qalmYuB z6LQ6dn6?)#9^cseVJ{raoHn|~qj`;Cp`X4iy>0{ve>d@Me6|F@jNKShMJpGglnXtY z=0@W{K3l6qFmu?y+Vd|@NvIiCA9+DZhCaIb`|A2_0$r^yeq*Q`#4%cFm7W-EujDG-o@ zIQI|PHfwMPbGDk3qhm#Rc{T`?qU0wXt{GHQ4|@j(_olg%T+O>H>`BUnyH7&pFk4&p z?(RYvbw(y8B6PQ`2|&9~M?QcmY;o?~+jFs(`}PR4147@_)Kn0(BD^I10ksE{h1^g% zDd0_4xuQ^-XNOC7nEf6r$C<gLrYu zUR(w^W{oKyO-Qar*@UpL@b}3{ULGF6EM3D(zB!2zb~XrdWo2d5PwKm4y+C?2*T*Fi z7&%|C$PQ$CXQyvz51`23*AST?Z5~Dx)c*YNI%%+QWOvQy{zpvS_(#hU{O2%C;D)>p~ME`z)xFg}QMI&G}l+5)!N9v8ZMSuJ>qVAQn_da}7^o|ykB}7q+ zZMyYM)5}I@Owd5?pOYQep&&eB6~et;%;QP-wc$+b$Y6tdN0+*Kr+GT!WP|3O_`{z6 z{iS}5Rm{u0jG5)p{3mguRvTXni$c6EP9J{%U^52QrnmpuoL+|U?k!f!7GD`m{rl&n zvej1(p$rQlLxz1Q-dpMuvHSK;IhnJhqy*+-&N+6nGylBOc&=U-uXd3N zhGOz-g;A4niw~giN8v8NXB#_$ZwjP;FE_B(Lqtr`JXKR84HbRa7rQ-{-`5#RoDhv2 zl@jsP1#fj6jB{-?H?x_nFmum=p`RBxGyhxSa_1CxiSMvV9z=M15Nk}xwg%WW`wI<3b zBmNElw@)Vo+`k}bc_dq+Iql&~g<8nio9`bTX2@9;-m1o04yHWl4bNB)#JS1ee_ML8 z!-(^F#gKttXIaTLubn048c&E1+W77-4}2|rdXUkU3+DIDxgbAAU)XWBeddOwWb=pHf-^(`k?>S1yUa25_+3S%2{G4+MrvhB9Av)!qd3gJha-`5!`N!e93it zT4*({&iM_eZv!1^x2SgEHzeVLGluZu{3uF260a5UmvL&k$&TNX0WbCGEHx4((V{Shi6|(!b`+aSy##)8> zA}`=9epfC!Iu5ah2q$IWmzpSjw$xp2P``h^)ECEXRr`+o!>{k4n#mK46ZmX#emM~mo^#-l=wGF?t!r5v}WNNI24WFj-TPmKARYX+6 zC(52%hqNQBn|)74>UN_TW4*})Uq2{FgeI-`#WAt-&Q8|NHn`*~D#K~XtmT*U-i?`6 z>6Rn(_Y8(Tf6pp$#{21t8p(^$)-NcqqkbrdJaQIql*D0)GLH`>;v$#jPrO|~EaA2; z(}VhG_s=3p@4DYQ`mBG+i&eL>vPwu=2a{D1`p8`+qBrJl6IBXYhAl(Fv*Hztzc!3b zE>ARyjy;hYtqtZiX8f1D%4T~YPC*yKIim_f?z~9#;>C+l9VmamLy5IA-SWspN(Cgx z;qR}7#FXpPE&7Vc5Hc+^``~x> zx=)Ted9UL&4W@F>OvHK;lJvCA|8lx6#53dfkLvuFEC#72i`-XT-`4*w9y)Iee32hT zy7h<89MQ_|t8jz8s~fSQEr6h!Ug&D#g%mA5$ixn5*#;ino!BhNa3`XFT+?>seg{9c zEW1K1<0Cqr%Glo()(o7_N<)&vwEbxyM@qmi*&uR?NC=UUnjU#6Ce)6;FVEn!-j9b7 z_#A!w-uugMHD~t-Kh=K0gUTpkiOa_a*MIxI`|-`6W1R__Duyjt90cOaHXi09?>mz= z|Ewn-WKtNK*+sCWa6PYpYtZ-|tlnDDuqcUTkWg@ow7pZ4$0jurJR|9wFPMohKKd?A zT7JrSk|vJI3>9ti$qlLI>j*a<)g!x4y6T}~3f9!c{~TOk1agZ91$cgQOnBB@So55l4bjuO zs!CIReY!b=yTbNwH8QBZQ1wetN9|5f)JZ8A%u4tgs3PjNKUqA`W|p7%8l75u%1wpA|Kv}{9wC!+q1fw!roMq1!)+^0-s&ht3=ZS-hq3vv9Lv0xaNWZ|^MY21onTf+vg z=|{=-mw}+#(2v2j6j9}(4TPT%5oFYT4QD+u=*2#$qKjx2+)a$E^TDTg@Qyp#@|qOr z2u&Du^8xpx3J>Qm&295ZXD{|a9Iysry`JV&8z-mA$akC%9$c>Q?|Dg5MHOn@_XT`P zJLSCuG3OYBXp{5K&z4T{cUM?d`ewdC%+MzrjUenS!%8FOMa0py3)9 zkT$sBOOIZYLZ-arKb|JG+EO9@3B#c6F#^|A*8c(m=Sx6)`UOUZRbcmzTTyvwt*<45A?MT}#U)IPEDZDS;+&W@ZM^ZQyrMpQSCp44Ipw zKYl#^J=X+8c}q)6ARt5$h+OL`tJ8CH)nSl5CvI-;<-achinXy>2Rl26h1A&-Q3Rlg z=73dA+nbl>=8JzBsa4g~zE4b0o^OB^_3ztS3gZPETZFCm=`JRUn%Bq2=i|qZ7tZ)# zX!`etK-8zNtDB-+sH>~nY%035nDD{L&Zu&_{%`(t&r=BcER z5IAGXH#ThV{27^^)_0L)DlI8N5ROJiM_&U1W+czI$w_J7V{Qab=J2Z1d%2;yy1JE0 z9r0}cvwh2#FJE2(5`;Zn1sG|yvN|?4c6Vrf{oOSdb<8pX5v|L!XV0!yB}7FDx^}l` z>d(0N1q2ROhcn?&a$H$$ZS5<5Ha0dh8Y#q;Bq9b3;W88Mn1ujix&qkYZWv~YHU93- z>8U757ns(y%Kq8e+1}pX#YJ;6T;QN*gFxNJN5aL)c}=w~uqzdh8yOkNk~RBZ`s}I* zX99T`&&3XRvhwig=-TVXN|V3lYZtOwQH!Ed3YuRiZfR=X(p1$XQB`dZ#2$u1O}P0muD&>lZpoJd&9xDEM83S|mXbdMB8Aq-lpz?$4Rp$<@ft ztgrtX=~~y0=g6gMiM)|&{?V^rzqYo9Hji{UDb0XzlqYp_c^O7e>Ux(1AE;2hrT#vK zJS#sqaOE!1DgCMQ?Ua#`5lk*ADe2dZ!{;{<;ax7k8~yy=k8jYxQVe-cE-r?YrTO{M z-DsY=Dl_^hg?tuz$to;P6OFDpJfAENwWOql1HL*+l8R2k9yR%N2QAS{CYX-bWCY z&&?TWz3|I+in{}0rTiKbb8Fuif-HbRl)&qf73lt4TsnNDg@k(0f6mW=czJ$)9(S$9{&4(u^<9ka>I8|wxnKSeA z#lHmk_{gGqbe}(e(H4k`jYY)f<>j$IxeUw$0GbBM7&kgJq%rwY2VJMZF*G__^F)-4 zVEyPE5V|x3{4Wzv0oU@FfsygMFz$RrHU~(nfQ8^DCN6IG>Q&briO&}NB+FM+1 z<6i1K;sYx|I$JarV6|f86MD?eO2IyrJd=__)i(ck{`v1;zcSL&0?=C?5)UDyC`A}s zf}*mr@~=t=61Qv#VD{;CkEVxmcjL)?MHTrt{=~nllzsYHh?6SnExzNj5iTuYu+_E}A?JOBHO*L7kf6Myx zZ3Sv{tt&9mtrMHl?8ZV!s1~(Q<#OJw>1Hw`%pcNinQOnNnr~;;jT(lY;!@!? zof4e{GkrI*Pfi$XxZ;a$`{Ok-Rwe!Y{6wn6E%V9~@QuwE7ZU;Ue0ogEH2T# zRWj*C?#-j=EE8t(=RB~|2|FvT`SbJhMd$B_XWxWLftg=J7~-C^+Tm;P1=ngc&3$K4 zNU0rIZg)<3o4SOvy7HPfyzPQXk%9362Kx$I8j6x$p)^ix{W4aK5Wj=ZAX< z1nU?>+#FN_7LnA+?}Ugh6Ip1Gt{mE~?w3J4qqfR&`m*-QrzY*BpGG{XubXq8K(*kn zBP`~inp;o*8+stTO&0nAF_dPfpH9I262j(B4art3R$*TLmjLG`lbHda@Q$7yShrrZx>>*QE3W;2X_Q`9^GjUg3oO0l1453@7yOr zHBn^d9xBId<^vG+!HpKB`IrTPSD)9(&bF%5G4{fDjbjlCtaq#Q%bokXVK1OhRqjE{ zx|=M}F|TEy+c(QYFC(2yDxZr*{I!*)g}g}U?Tc?Dk616mTLGjc=>yA*EU>3ao=rwE7>RmR8hz*1NBfvulJGx; zq4yH+P1z!7{AmBj7Xsmba|3|779!bc;qJrlCCMnTB9f{4PA*ZfhL_g?i>sHm-QFSg zm}uXvhg3%N8|Tm-NR~DaA`jEFf@bue->$T|FJ+)}6 zd}fdES39IQD~EG+=(F*lR=LYgwWwzCFB6sjk=QonuQ$5Nq&ku@xn> z`99K*_V=IP9}%~|*^TPuu}Q_55#3|e?9(=%r9c7oNFJ!&7eg{mE0VLWP9*XF7B^rf(NjQ4^uA@0BTQ)i)0$6I ze%PcdA7KD<-jMFE`hn3vcYwDkpJ&#aU%hN^MQvJ8{ab-wa8k58b;FRPcooUvTGl%L}FG5JXZC)pK$K!I7Qsj5DP)k!o^XKiVEl#G`&hHeZ;z z_DxCqdcHR>1f+#whC&(KSNz#DqWUFoUQM?JIq@QP16lR!J5*5}5yKYD(C%A$+;ljE z^UP-|`wtkTMt176kHiKBq`h5#-uyqI`*rOOR_x67cc4GQ3IX|cAnX{l;0LlYK@d^) z(T2G7y=a?9czYw^(9zLRBpj_@uEu^RKLswM_nVFXCJzB(ss+9V69=LG!9mTK4Oo)` zsQ`=wk+F}x;7D1L?fvD=1uRyATYB>w)->SrFYjp41~)b*HSaG=P5 z8O;(M08AI1LqU9FUafcWyvMv6M1E(fAnj|xzX94{-Lxhv4X&wSCipo&zj<`-({fA% zLy$Yak{B5ZydyEfa}9Ok6!L+}75xGXQRLTaNcPAoP!kxGr(l4Rjlc+kCmXL^2!uFx zb^KJI2?mH{rKO~ZLOY#B1#kTyvw)Esj>QUGa|^%OI$PlW$R{9XC-{d-0zkm3^e^0v zhl5LGxFGhuMlIKbifv!ISfUd)B?8nTT{AB2E${{7e{KKY>KoAh|H_;H{To}e;g)e- zvT!&#`CK@2`{d7R^!0C<4SSbdIFkXH-M8e@Hotao2FjO=E3Ns#l*tw7mxBTZM$+){ zB|oXQrY5e`L3U8)#SFyA9>8{pKMgb6S5=;U+$DIX^x=)dI>FkHzbxFdL8eU8Me=CU zm$FRX4GE*an_p6$7bf+1?AtnI4EhV*CGP?OGzcYJUUJg6c)6D?i22A{ssn>anSVVZ zAs|pwU2R4Sj55xZtSk>r02zC2AQViaKlAek`~uUsWBqdggHlrwnZrdJfH6`TiKzj~ zNIh;3fB&n58Li^tVgmz%7=^Bp2A41xHv4uPJY8iKup%xlF7EC}0E&Ppbw`Ok5zKju z@o4`kFUa%L48nk742TP*=Q${dFz*0$1~hyiK#WoF^zZ=Qa&>vgojI&ebB$Pfg^Ay%*4Nk9=?{lp!yG<$k&z(ghK2?XswfO%V)JNl zaL|y)+Uy^|8{b@AWrrXUxU!~1*LEt?D#^;q0u>aQ*#93L9*3^w_Xd3Vra`^%0 z>i-A)%KUS)YxMaa#+?=Y@5Ktqg4ZxKfoXe z;3_~R30Nv1aKY5?ouB&vvZ%393~()eoo08vO|IL*fi9grv087dkEv~{DOGm~%}2Vh z{mcs0h*URSz)8!Xq0#)TLi@S9kmeL$i)5fZh}q~CaFT-WJm zjXO`BIz#cAi2nUo(ywUWBM`4F9l|VMoC^$D2}IZ&oY7D7q(+fxaVGDc_$+xeVPMSB zZ~_+Cw8V%C`<<>$H}S*FBcDeRqD)k_)p|hv*ftB4pT?eNCfrmS(v%Y(O?6ZDYQ=Zv zUBdVvEFtkWClF9z5H`8(vEd0s{va$`>{nXvov zbLS*MahWjyp^$$qQ1$xaU8n!%(^bdg!~qx!?#Rg7zk6OP-fIV9xuacyIhiGvwz>-G45sPbEz^&Q7e94MyX4grozq_exmkvw2wCk<4iE;(_#!v z&Ppyv@P-8Q?YU<@EF z?0w1{HM4EyyjY?W8NyPUq%<#;J340b&8kLI9^;&5S2HCj^=-p#|4cF%H@HK&FsK@r zzJK>%t$wL4p2U zLhpsE_2nT1x!d5=;^;?Blcd59HcOut5Ap0e{q2|(FCT8I%wa3A#_@pdx@8}xWOuX} zJFT!a#E3#2qVV49mgSE{n7~p82fDfkS2~*nlols9lWDa;$y6BhREsqsMF9$sYB>`t zc`PwP!lpzAqDGkM3BVj24To0GZ1V{NHZ_6-A7{$GW{T{_lOJ&a?VLY~qK zed85Wh4*v7+}$sHN=k)(!FVv}ieknyjkkjAU%!4;EGR5Insmwn ziZ&08WA`CKm#x>5jDHiKcDL}6V{!wRKR(zZ3PUjfS0XQPJOkxc8st3Wlij!DPkH8%oU^R47>+WPnmI?y5b|{>ca}P+Vv7%5 zl5=+{8ZR+)jq2&NpC}?{a*Tqmgei~yr<+v zUNmhxD=j;V(hu-#wp$<*Y2H$+$HXjc2K-jtvm%z+LSdpgSe3%_h@+5D>Xd`>IB*sknOe69y!co`hgWQT) zD|V@SUd9C|j?Cfx1yn!g-*bPGG!JAop(6qAg(|`8GWftjPK{b66A)6PGh1XM7nc#v zW8Zv$vJuXdUGyPU+Bb<8{V>ml+)Z0*?F@wP(IFm7s^r0d7N6Y@45x~|V_{!dpjv0` zwHV{Ioq3S-q`AX%3) z52Fm6u&WEXA(~D14CX2s*O! zZZo+qer4jY=lx$y`O~Xd@VRrIK}tT$>OX{$Q?VkeMA8Guj_sOt749V@k+i^nl)2l; zBr_dozPvi}Xn?&IrH}Q}%Z;24d^klz9$fZ3YB#jexU$pPD|3MeRCRK|wiRM>_0>JS zl)rY@76_RTQGNcXlQV7*L4itti#WFMU>>*r&1uF0WzL9x$_B zqPVj<{g@_Y3qmIR1h`9jYtph6XEJo@jGw^GxOjZ8vc8Kgp$p>-Ygl@Z(Bpp1=UO{1 z8tz7t?WF}+G_iH~w^B8wQIdw5R}TEUqBP4VsHP6n>Riq!D6_USFqhBG z{rjWo`e*`A|Ndqs#wye+CYlEmL$V=)%}@kv;D`z3q(LHhID6}@XXeF zb-NGaTxAO6Kz_K-M#0|e#i}X!ScL@dB?PwATi_x! zAMvz{v2%FK@NgJEX_wc-^nJ7BQ5?`klUDe?r9BQI9WC?~Uk$}HI`oriCh7x};vT_z z9{HiJ2G2nCf;u6(@~0dzHEs4q4I9x_?iqe+G%>?GslxdHjlI&IL8#F40x?E}erC(t zmmOk^#C-KD2q}meQJB^5+kD?#@}B22d~#5*Scms#(5BP<_V}^$Jfa^{WP`8B*5_K@ zZ_wmG(}m8B^{#I)&^u)%;c~E4VZ61rnR_%@G;&6f8K=^39#_-D>gwMLPk=>6G_WEw z!UHbm9P1PL*v3%*uE8{$IkfCK7uhC%Fl^8#l_H)(uE&Rh??s{%Hzt1F?Twoz@xG}@ z%8rC8QIIR4y)=~sHBFo(jCJuihyJ^V_0OgE-VrxJC{0+m?NK&f{%GX7?I`~IT73jp z#$UEUU4$&nLyGnKJ4)yXFV3y_BU+cx;kf-@6OXgncab7mZP|(tdB1AU@Mc7BmeqW4v*qBd-dwkuU za$7SS{bk%tve=X$ax|pj#p45cAdKx!hAW|#UpMNO)frdL0ca}YrgVt#u>^IpFIM>h zrb&qr@LU+&_5c`%C1i}&#!V{MAq!;vcOc{?m7P`B;V_Im?Tvh*j1c8b`>c-2DbdG3 zf<(b>pA~pbjDWhOf8wS8s*ph7`;XZG9KbbY@eh~XwKh$}uu~=48d4+Hn;h#UGKYVk zG>u>50GVc`+9`Vw*Pvj-R<3pWEylbe*EK-_ajNJ`|Gy`yDV95kHcoi0big z%PlH-3cW@U#SU599!=6t`)3z>UKe{yse_iFvVka6zkD_A$2A+2ySlduQaGp5;az5Y zG(aQf(;@{bvl(uI$HIZe&P}{rw=7xNQj*b^1|M7lVZItc-sGl3y}=}?@gge`RK5J1 z=wd{p+X0e5--Q}ENEbw{Qyi*l5vJY_rt#I)52BIGt(1vMn%&G1>SVJ2Pb1g;Pv!gn z3&{%SBzqnQM~TcRWgT^FB4kHdA-l|5Mpni-_TH(y5!owyL`G!q5wcf@tnYRD`~%-# z?jO$MJnnPd*L9uydOcsyaf^a}Fq@Me=1nY2MxUdv+HfrZfij29Y)dmNF;UVO!qBI_ z^YxRC8r7z~L3`XWlPG4$FDBio{f-}#6(Q_{U^R&C@d%?_k_cqA4B+%XK{ZI%FL-zhFCq6h-ILmXLS z7caq$)@F|Fcqx%W&NV$fy_nu=E*$Y-4}eQ2r#a_pU$#43fl&Y2!LBS2P}0hS{ptg< z9Jb1_(Em2#=!f(hk}r4DxoBvXRra<#73Rrvz)fC@2lDD=oU$E=2*8 z7j3hhL^pAgdcHha&HxI}6{pPqGEJ3tNv2i|*t2>hff#Rg2)O7Ab#DY#)z*r>yb|2v zTn(+`kAK>_-Om8n6f_5bu5wL5k~t!_R@vQJELoOw+h-Yc(}8CU*lL`s>+}T>*iHaQ z*VbMDM$6|XFi!2pIxoH0n)?cJA(od--Fv5b>TiWDsG#K(73k_U#n6UoumRnHM?*g- zufa|){zL(4ON%yko>Iox$e0cdvANQr<A8%(k|K&$M#4i66l=L~RZH0cXG7z`^{Ra5IS0Oyrw zt3&10C#I%WQtJ6%QY=6_r?0mckXnv6=_$9oeS9{u+BvWQ>}SzH!pH0D|MdtK(0?%~ zTx?$-85vpsjaLL~2_V+e7cBtp-^gZK$yOV^mwV8h>*?mk!$TI_0{A5)C?L7XtBi^q z;uLvi-D_(n{9{)EM+`w6dO+%rkBXvMl}GewQi{L!@bGx{jHDWK>?k%EjS>AWcKjl~ zZ&}Jo>Y)vkx--MDNb5gf9lLOqtbf(DG1}mA{T`iz;u+xCA$D(g>vYT7n-6Q0r!OLcc=`q>yP-r4TJj$jd?=|+y%El zBK~Aa+W23AzJHyBpes8w98DQ7wPC!p_CfH5@-79R)?(90p;lk0;6C+7tJy%L$ zIOmn6X8Xm^WS;%O8A(Wi!(3J{K^w*x@@jf=@&j3Ca{x*(o2A^Ka0USz2DN(Ll-xdh zNQ7c&fyCn3S^Ao&X)Cmbs8bcmA?7a6)=u( zS6vClscVn@Im6zvbSlu2SX`4E!rT(Wb5H@ep%Z9TMCJ>oC<>RJfYtr2E%-O}EcfkvW1C*7K+-I+yR-&X9RY$o*v*reJMEaLZ0O zYGBD3t1U@^$V1-{lpDu3Z@b*`!!+sV*E2GMWTAZJ#PQ$Q^s= zh%fvZs9Xm;nge60Q!M+NT`kYU?GSjA1$b*At((jT!sz4_<^{|nl(r91WX*R^@$-(# z0FL-_^JL3f26QjsX3a}9(X1bS+K$b+-YHLk*kM`yIh~eYxa0%yF8Q|}ODL=B%)PZ{r^!Bq=VNlZT1$pJ2Q0-FLEWk4({B(6ySlDyR|>-&3Cc7^AR|uTWQVraquzsW-zJG=evJJR?Q~Fg1SFT zbVp-;OVUM>2OtEFDxm>9KUNtsbNV&ssF}BZGd5)S=8FF=w{ojiHd_=5cG6DzWlTUG zCb5j+ZF*2RcZ|}S49rl@1KBfTF1#^vuLk=4E${UPaWcHkMmx(1=XP!K@W9Vb9-?3r znu2z#%wcezj7v!sneBKDC}T@y@!vw+kA@F4w%r+Db;bR$z4JQ<;^9yre^F=5ouzi@ zoQU>0WDSY8nBi3+fy#`h%YO3-vr>0;Xyn9CH^Hy$PD zYzx-x-?9y&uqOj{=N4;{|0R&vpu;4xq}Zck%f2m%6s|uFYUk~7e!&D+sk&(lx(0|1 zcSEd6G2g=qGnUrF8^u{|Z{Kmgk@ar}*+Q>nWOR5ZmC3FGSq-#4)nwmti|SH8leAyL zHtAHB;cId)mWhWmX*pZzD4z>j@|bZG7Lt>E9WC=m*Q29^e7{W@Qe>B0d3&xSmpB!I z=q{a&sj@UDo~S5^VY8AZGS-VRw0cVH${HN=)#@(sA0NG#Q>(|&%Sxd?n=?G$B&lbs z41+16F5}dwt%eh?T#8qaqA*W3p_|uC;iRUx|Hddl34=UbBjGZZ=UZYW(IVrrg*PdZ zHC^S)?`&(5!y#-?SEPPRZ63_eo%t>A-Fw|aJk#ezh|Rh{mt9j+lbtcYLpXO#O-&_I z4lD^Do5Rzfur_nhs1_F&7ZnwqrooZ<5vgTs^F4Llofsdlsi^p+2r5t3iLo(qE|E{4 zK85va>*~@+b#%11pFmi&tl+DpdjHN3Afw<8a4W>c#ksh+oP7l)bjRJ^y35(;a{^@k zAa1O;w-*GJ5ys-@6^i-~S+j5K<8wMcpY5dx>Q+Bw_ACws;3e&+*TafKaLTEU&4qws+kA{#B;v^i(LO zix22>fv!b@Qi)_S37u{Gd}(2NdL%^V=FKkPQ8!6_>g9FZ9+6U8YkIczBrP$q;nh}y z6PU$}z`4Dhol00#)*z6{4P1#%~N%*w_l4g+_L078BtAqeVBK-$`Q zM|V9_jgSG>V3<^aw)WQeIF1*PU3FSoPS1T#T^f*DUdMx7T}s*ul^_s8$h0V=^NF#( z{#pBU(z%WY`l)1*wehE6pQdtVhVc(oejn^3Zj84Zm$-!+8m=Xq8wVIDP7K}qV6TWG z3Zl4#MiJ#{qBye*;{C}Wgc|<9bS1{SYq9$||NG3v-G*vmQLA4jzT3#X9w{qJX=&+$ z3`gi5RMq@BYB^=>O9!mI{5-ybvBo>@`Y|r-n z{ZJ>VT0zE$wf1G{%-fE8Bizx?Rz#H`U55^p&9gXEKJV5{o`=53}>LA|T#nfP)E8 zvVD)y(f!lipVil!R_n(Tc<)t&l=yJU>Y!DBg*MET4z8qjG1NamrbSV&$jDwGFHffY z#R$8FiHXwbJ;%|{bAicV9w5TF_~BR~Ze=>gL;g1i_KN?ALv>V;;%Wfshup?IyWc7< z{A)P@%rs%*59ATb`Q%4BIwu2pDkF0(4~MUYj(R^- z-T}3-a$$#NF(mzWIR|E&6khaP(k5qMV#>hbj4#8N7U_ZlA@o$eAs1LlCESovbO`Zt zoqPj(UAp18z`%Dk*bu8m;HL-=qIhv!HkdC|N(OT@D6_5(SE+qmFr1V%IXO>$RodHo zcyqe`nI6=FuL*BdNtLX#8U6 zDC2DKP*()Rwx)hPN!i|=@_!qvHwrC4Wz}m`G5+*v$$vLkZZ{ldXl0L%(pmN<3U}xe z5fuSbh6F$V;P2At?YNZ{Dd2uN_Ecce2%6rEYj;;PI zi{n2UsEnM$D9PVVrJ=GGdVPG8m`^qg!_>WN0Rbg%z z2a5IX!C6^#c}RuAB$Fwev`I$esoc;P4N3QP;&=J#mxf?G zrRuws;N^isO5KD!(=PD+(N#{(6qGXaDCbTHP| zi^94@z3qAshqCGkv;W*^NSio#l}=F8QgSe)pzjK&0C7f(K8>K1Z3<($_oAiM*vPXK-DZ zf7B(}&vV{3HC#ueqS`red`+MZ3t~iJH}a#gJ2!vn$>OlQH(`@Zz;rtUq~hRnK`mivC$1FUS~6_tA*hZeS=m9zO^(K97@ zTG~Ot-N^|r6M+U4opRF?QkeEf)=2r~<&Qt7?H%q{4UiLX=R;Nk`Gq=?T|W#64%&Bj>jw(Hw#Z;R4=lgf zyg2C{8u}Rn#pp6Rh{t%8mSD?3Rq!t2L5}cUFAD+B4?3PwGEnz7$%ldohEJ3N=ZyIH ziuaFwSg`0uN$@N^->0M{KU5fSjBi9eO;KMS+}W9!nzE9kxe}~!Jnubb=U~6_G|zc- z!?)qk#a_Z|X}2IL=|!6Qh#-(A`2Ifdl=gk)BrL%VyFWN6ip3z)e4nYEWSyRx)AkRn zY=lx)ex@}xt_LYU_Hu+KX^g20cML=XhYwV`uSJ9A-UZqI^O1&IO(Zcf7cX*N#FWU! cU8L_J+Pof~xzAU1O!$V9qB^=r-pv310Q;f-p#T5? delta 23182 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 LNkvXXu0mjfl~*Q4 delta 21154 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%0D?+Sqa;O{^9UJkVPjYsIu zR{mQ5OMicgzC8V{9Q}<==Q|YtM=$>v1pwv0sbcYs&gUzq&;LZRjQ#||XH3UO)kDQV Oz-4J}ZT5?aTkIdX6C1|> delta 21360 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 Date: Wed, 16 Jul 2025 15:29:30 +0200 Subject: [PATCH 12/13] grouped some elmt defs in misc.typ --- src/diagram.typ | 35 ------------------------- src/lib.typ | 7 +++-- src/misc.typ | 63 +++++++++++++++++++++++++++++++++++++++++++++ src/participant.typ | 4 +-- src/separator.typ | 19 -------------- src/sync.typ | 9 ------- 6 files changed, 68 insertions(+), 69 deletions(-) create mode 100644 src/misc.typ delete mode 100644 src/separator.typ delete mode 100644 src/sync.typ diff --git a/src/diagram.typ b/src/diagram.typ index aafa73b..a16809e 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -3,41 +3,6 @@ #import "core/setup.typ": setup #import "core/utils.typ": fit-canvas, set-ctx -#let gap-render(gap) = set-ctx(ctx => { - ctx.y -= gap.size - return ctx -}) - -#let _gap(size: 20) = { - return (( - type: "gap", - draw: gap-render, - size: size - ),) -} - -#let _evt(participant, event) = { - return (( - type: "evt", - draw: evt-render, - participant: participant, - event: event, - lifeline-style: auto - ),) -} - -#let _col(p1, p2, width: auto, margin: 0, min-width: 0, max-width: none) = { - return (( - type: "col", - p1: p1, - p2: p2, - width: width, - margin: margin, - min-width: min-width, - max-width: max-width - ),) -} - #let diagram(elements, width: auto) = { if elements == none { return diff --git a/src/lib.typ b/src/lib.typ index ccae827..b972768 100644 --- a/src/lib.typ +++ b/src/lib.typ @@ -1,9 +1,8 @@ #let version = version(0, 2, 2) -#import "diagram.typ": diagram, from-plantuml, _gap, _evt, _col +#import "diagram.typ": diagram, from-plantuml #import "sequence.typ": _seq, _ret #import "group.typ": _grp, _loop, _alt, _opt, _break #import "participant.typ": _par -#import "separator.typ": _sep, _delay -#import "note.typ": _note -#import "sync.typ": _sync \ No newline at end of file +#import "misc.typ": _sep, _delay, _sync, _gap, _evt, _col +#import "note.typ": _note \ No newline at end of file diff --git a/src/misc.typ b/src/misc.typ new file mode 100644 index 0000000..9ea0e39 --- /dev/null +++ b/src/misc.typ @@ -0,0 +1,63 @@ +#import "core/draw/delay.typ" +#import "core/draw/separator.typ" +#import "core/draw/sync.typ" + +#let _sep(name) = { + return (( + type: "sep", + draw: separator.render, + name: name + ),) +} + +#let _delay(name: none, size: 30) = { + return (( + type: "delay", + draw: delay.render, + name: name, + size: size + ),) +} + +#let _sync(elmts) = { + return (( + type: "sync", + draw: sync.render, + elmts: elmts + ),) +} + +#let gap-render(gap) = set-ctx(ctx => { + ctx.y -= gap.size + return ctx +}) + +#let _gap(size: 20) = { + return (( + type: "gap", + draw: gap-render, + size: size + ),) +} + +#let _evt(participant, event) = { + return (( + type: "evt", + draw: evt-render, + participant: participant, + event: event, + lifeline-style: auto + ),) +} + +#let _col(p1, p2, width: auto, margin: 0, min-width: 0, max-width: none) = { + return (( + type: "col", + p1: p1, + p2: p2, + width: width, + margin: margin, + min-width: min-width, + max-width: max-width + ),) +} \ No newline at end of file diff --git a/src/participant.typ b/src/participant.typ index 57f0383..1a4b4b2 100644 --- a/src/participant.typ +++ b/src/participant.typ @@ -1,6 +1,6 @@ #import "core/draw/participant.typ" -#let PAR-SPECIALS = "?[]" +#let PAR-SPECIALS = ("?", "[", "]") #let SHAPES = ( "participant", "actor", @@ -50,7 +50,7 @@ } #let _exists(participants, name) = { - if name == "?" or name == "[" or name == "]" { + if name in PAR-SPECIALS { return true } diff --git a/src/separator.typ b/src/separator.typ deleted file mode 100644 index 46815e8..0000000 --- a/src/separator.typ +++ /dev/null @@ -1,19 +0,0 @@ -#import "core/draw/delay.typ" -#import "core/draw/separator.typ" - -#let _sep(name) = { - return (( - type: "sep", - draw: separator.render, - name: name - ),) -} - -#let _delay(name: none, size: 30) = { - return (( - type: "delay", - draw: delay.render, - name: name, - size: size - ),) -} \ No newline at end of file diff --git a/src/sync.typ b/src/sync.typ deleted file mode 100644 index 5d6ce2e..0000000 --- a/src/sync.typ +++ /dev/null @@ -1,9 +0,0 @@ -#import "core/draw/sync.typ" - -#let _sync(elmts) = { - return (( - type: "sync", - draw: sync.render, - elmts: elmts - ),) -} -- 2.49.0 From 90d97a9ae55de2884dabbd44d515e52ebb4c5378 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Wed, 16 Jul 2025 15:32:40 +0200 Subject: [PATCH 13/13] fixed imports --- src/core/renderer.typ | 4 ---- src/misc.typ | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/core/renderer.typ b/src/core/renderer.typ index a4d341a..1b5418c 100644 --- a/src/core/renderer.typ +++ b/src/core/renderer.typ @@ -4,10 +4,6 @@ #import "draw/participant.typ" #import "utils.typ": * #import "/src/consts.typ": * -#import "/src/group.typ" -#import "/src/separator.typ" -#import "/src/sequence.typ" -#import "/src/sync.typ" #let DEBUG-INVISIBLE = false diff --git a/src/misc.typ b/src/misc.typ index 9ea0e39..86eb4a0 100644 --- a/src/misc.typ +++ b/src/misc.typ @@ -1,6 +1,7 @@ #import "core/draw/delay.typ" #import "core/draw/separator.typ" #import "core/draw/sync.typ" +#import "core/utils.typ": set-ctx #let _sep(name) = { return (( -- 2.49.0