Compare commits

..

2 Commits

Author SHA1 Message Date
3b25d68f1e
added TODO 2024-07-30 12:19:12 +02:00
0968436c8a
implemented create event + create offset 2024-07-30 12:18:57 +02:00
5 changed files with 44 additions and 1 deletions

25
TODO.md Normal file
View File

@ -0,0 +1,25 @@
# TODO
- [x] Basic participants
- [x] Basic sequences
- [x] Separators
- [x] Gaps
- [x] Groups
- [x] Self arrows
- [x] Arrow from start / to end, small arrows
- [x] Lifelines
- [x] Different types of participants
- [x] Notes
- [ ] Synchronized arrows
- [ ] Slanted arrows
- [ ] Different types of arrow tips (WIP)
- [ ] Fix column spacing with notes over multiple columns
- [ ] Fix notes with arrows from start / to end / small arrows
- [ ] Fix group size with self arrows + notes
- [ ] Unify styling structure
- [ ] Add args verification to catch user errors + pretty error messages
- [ ] PlantUML parser
- [ ] (Message numbering)
- [ ] Different types of groups (alt/loop/etc.)
- [ ] Delays
- [ ] Auto-fit in parent

Binary file not shown.

View File

@ -135,4 +135,11 @@
_seq("[", "a", comment: [Test]) _seq("[", "a", comment: [Test])
_note("left", [This is also a note]) _note("left", [This is also a note])
})*/ })*/
#pagebreak()
#chronos.diagram({
_seq("Bob", "Alice", comment: [Hello])
_evt("Other", "create")
})

View File

@ -123,6 +123,16 @@
elmt: elmt, elmt: elmt,
i: i 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() linked = linked.dedup()

View File

@ -279,6 +279,7 @@
line.lines.push(("enable", y, elmt.lifeline-style)) line.lines.push(("enable", y, elmt.lifeline-style))
} else if elmt.event == "create" { } else if elmt.event == "create" {
y -= CREATE-OFFSET
shapes += participant.render(x-pos, par, y: y) shapes += participant.render(x-pos, par, y: y)
line.lines.push(("create", y)) line.lines.push(("create", y))
} }