Compare commits
	
		
			7 Commits
		
	
	
		
			5e70e5179f
			...
			7ad39decb6
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7ad39decb6 | |||
| b8b775c3ce | |||
| 2a35b86f6e | |||
| 2a46612bfb | |||
| 964d708280 | |||
| e1a5b0b431 | |||
| cdfdd96966 | 
							
								
								
									
										33
									
								
								.gitea/workflows/ci.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,33 @@ | |||||||
|  | name: CI | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: [ main, dev ] | ||||||
|  |   pull_request: | ||||||
|  |     branches: [ main, dev ] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   tests: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     container: catthehacker/ubuntu:act-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|  |       - name: Install tytanic | ||||||
|  |         uses: taiki-e/cache-cargo-install-action@v2 | ||||||
|  |         with: | ||||||
|  |           tool: tytanic@0.2.2 | ||||||
|  |  | ||||||
|  |       - name: Run test suite | ||||||
|  |         run: tt run | ||||||
|  |  | ||||||
|  |       - name: Archive artifacts | ||||||
|  |         uses: actions/upload-artifact@v4 | ||||||
|  |         if: always() | ||||||
|  |         with: | ||||||
|  |           name: artifacts | ||||||
|  |           path: | | ||||||
|  |             tests/**/diff/*.png | ||||||
|  |             tests/**/out/*.png | ||||||
|  |             tests/**/ref/*.png | ||||||
|  |           retention-days: 5 | ||||||
							
								
								
									
										6
									
								
								justfile
									
									
									
									
									
								
							
							
						
						| @@ -10,3 +10,9 @@ manual: | |||||||
| gallery: | gallery: | ||||||
|   for f in "{{gallery_dir}}"/*.typ; do typst c --root . "$f" "${f%typ}pdf"; done |   for f in "{{gallery_dir}}"/*.typ; do typst c --root . "$f" "${f%typ}pdf"; done | ||||||
|   for f in "{{gallery_dir}}"/readme/*.typ; do typst c --root . "$f" "${f%typ}png"; done |   for f in "{{gallery_dir}}"/readme/*.typ; do typst c --root . "$f" "${f%typ}png"; done | ||||||
|  |  | ||||||
|  | test *filter: | ||||||
|  |   tt run {{filter}} | ||||||
|  |  | ||||||
|  | update-test *filter: | ||||||
|  |   tt update {{filter}} | ||||||
							
								
								
									
										4
									
								
								tests/empty/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/empty/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 105 B | 
							
								
								
									
										6
									
								
								tests/empty/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,6 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({}) | ||||||
|  |  | ||||||
|  | #diagram(()) | ||||||
							
								
								
									
										4
									
								
								tests/group/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/group/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 46 KiB | 
							
								
								
									
										
											BIN
										
									
								
								tests/group/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								tests/group/ref/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.7 KiB | 
							
								
								
									
										51
									
								
								tests/group/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,51 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _seq("Alice", "Bob", comment: "Authentication Request") | ||||||
|  |  | ||||||
|  |   _alt( | ||||||
|  |     "successful case", { | ||||||
|  |       _seq("Bob", "Alice", comment: "Authentication Accepted") | ||||||
|  |     }, | ||||||
|  |     "some kind of failure", { | ||||||
|  |       _seq("Bob", "Alice", comment: "Authentication Failure") | ||||||
|  |  | ||||||
|  |       _grp("My own label", desc: "My own label2", { | ||||||
|  |         _seq("Alice", "Log", comment: "Log attack start") | ||||||
|  |         _loop("1000 times", { | ||||||
|  |           _seq("Alice", "Bob", comment: "DNS Attack") | ||||||
|  |         }) | ||||||
|  |         _seq("Alice", "Log", comment: "Log attack end") | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     "Another type of failure", { | ||||||
|  |       _seq("Bob", "Alice", comment: "Please repeat") | ||||||
|  |     } | ||||||
|  |   ) | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | #pagebreak() | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: box(width: 1.5em, height: .5em), show-bottom: false) | ||||||
|  |   _par("b", display-name: box(width: 1.5em, height: .5em), show-bottom: false) | ||||||
|  |   _col("a", "b", width: 2cm) | ||||||
|  |   _loop("a<1", min: 1, { | ||||||
|  |     _seq("a", "b", end-tip: ">>") | ||||||
|  |     _seq("b", "a", end-tip: ">>") | ||||||
|  |   }) | ||||||
|  |   _seq("a", "b", end-tip: ">>") | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | #pagebreak() | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("A") | ||||||
|  |   _par("B") | ||||||
|  |   _col("A", "B", width: 3cm) | ||||||
|  |   _seq("A", "B", enable-dst: true) | ||||||
|  |   _alt([desc], { | ||||||
|  |     _ret() | ||||||
|  |   }) | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/note/color/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/color/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 33 KiB | 
							
								
								
									
										13
									
								
								tests/note/color/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,13 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: "Alice") | ||||||
|  |   _par("b", display-name: "Bob") | ||||||
|  |  | ||||||
|  |   _note("left", [This is displayed\ left of Alice.], pos: "a", color: rgb("#00FFFF")) | ||||||
|  |   _note("right", [This is displayed right of Alice.], pos: "a") | ||||||
|  |   _note("over", [This is displayed over Alice.], pos: "a") | ||||||
|  |   _note("over", [This is displayed\ over Bob and Alice.], pos: ("a", "b"), color: rgb("#FFAAAA")) | ||||||
|  |   _note("over", [This is yet another\ example of\ a long note.], pos: ("a", "b")) | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/note/position/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/position/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 23 KiB | 
							
								
								
									
										
											BIN
										
									
								
								tests/note/position/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								tests/note/position/ref/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 35 KiB | 
							
								
								
									
										49
									
								
								tests/note/position/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,49 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: "Alice") | ||||||
|  |   _par("b", display-name: "Bob") | ||||||
|  |  | ||||||
|  |   _seq("a", "b", comment: [hello]) | ||||||
|  |   _note("left", [this is a first note]) | ||||||
|  |  | ||||||
|  |   _seq("b", "a", comment: [ok]) | ||||||
|  |   _note("right", [this is another note]) | ||||||
|  |  | ||||||
|  |   _seq("b", "b", comment: [I am thinking]) | ||||||
|  |   _note("left", [a note\ can also be defined\ on several lines]) | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | #pagebreak() | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: "Alice") | ||||||
|  |   _par("b", display-name: "Bob") | ||||||
|  |  | ||||||
|  |   _note("over", [initial state of Alice], pos: "a") | ||||||
|  |   _note("over", [initial state of Bob], pos: "b") | ||||||
|  |   _seq("b", "a", comment: [hello]) | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | #pagebreak() | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: "Alice") | ||||||
|  |   _par("b", display-name: "Bob") | ||||||
|  |   _par("c", display-name: "Charlie") | ||||||
|  |   _par("d", display-name: "Donald") | ||||||
|  |   _par("e", display-name: "Eddie") | ||||||
|  |  | ||||||
|  |   _note("across", [This note float above all participants]) | ||||||
|  |  | ||||||
|  |   _note("over", [initial state of Alice], pos: "a") | ||||||
|  |   _note("over", [initial state of Bob the builder], pos: "b", aligned: true) | ||||||
|  |  | ||||||
|  |   _note("over", [Note 1], pos: "a") | ||||||
|  |   _note("over", [Note 2], pos: "b", aligned: true) | ||||||
|  |   _note("over", [Note 3], pos: "c", aligned: true) | ||||||
|  |  | ||||||
|  |   _seq("a", "d") | ||||||
|  |   _note("over", [this is an extremely long note], pos: ("d", "e")) | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/note/shape/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/shape/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 25 KiB | 
							
								
								
									
										14
									
								
								tests/note/shape/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,14 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("caller") | ||||||
|  |   _par("server") | ||||||
|  |  | ||||||
|  |   _seq("caller", "server", comment: [conReq]) | ||||||
|  |   _note("over", [idle], pos: "caller", shape: "hex") | ||||||
|  |   _seq("server", "caller", comment: [conConf]) | ||||||
|  |   _note("over", ["r" as rectangle\ "h" as hexagon], pos: "server", shape: "rect") | ||||||
|  |   _note("over", [this is\ on several\ lines], pos: "server", shape: "rect") | ||||||
|  |   _note("over", [this is\ on several\ lines], pos: "caller", shape: "hex") | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/note/styled-body/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/note/styled-body/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 50 KiB | 
							
								
								
									
										33
									
								
								tests/note/styled-body/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,33 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: [Alice]) | ||||||
|  |   _par("b", display-name: [The *Famous* Bob]) | ||||||
|  |  | ||||||
|  |   _seq("a", "b", comment: [hello #strike([there])]) | ||||||
|  |  | ||||||
|  |   _gap() | ||||||
|  |   _seq("b", "a", comment: [ok]) | ||||||
|  |   _note("left", [ | ||||||
|  |     This is *bold*\ | ||||||
|  |     This is _italics_\ | ||||||
|  |     This is `monospaced`\ | ||||||
|  |     This is #strike([stroked])\ | ||||||
|  |     This is #underline([underlined])\ | ||||||
|  |     This is #underline([waved])\ | ||||||
|  |   ]) | ||||||
|  |  | ||||||
|  |   _seq("a", "b", comment: [A _well formatted_ message]) | ||||||
|  |   _note("right", [ | ||||||
|  |     This is #box(text([displayed], size: 18pt), fill: rgb("#5F9EA0"))\ | ||||||
|  |     #underline([left of]) Alice. | ||||||
|  |   ], pos: "a") | ||||||
|  |   _note("left", [ | ||||||
|  |     #underline([This], stroke: red) is #text([displayed], fill: rgb("#118888"))\ | ||||||
|  |     *#text([left of], fill: rgb("#800080")) #strike([Alice], stroke: red) Bob.* | ||||||
|  |   ], pos: "b") | ||||||
|  |   _note("over", [ | ||||||
|  |     #underline([This is hosted], stroke: rgb("#FF33FF")) by #box(baseline: 50%, image("/gallery/gitea.png", width: 1cm, height: 1cm, fit: "contain")) | ||||||
|  |   ], pos: ("a", "b")) | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/participant/shapes/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/participant/shapes/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 102 KiB | 
							
								
								
									
										21
									
								
								tests/participant/shapes/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,21 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #let TYPST = image("/gallery/typst.png", width: 1.5cm, height: 1.5cm, fit: "contain") | ||||||
|  | #let FERRIS = image("/gallery/ferris.png", width: 1.5cm, height: 1.5cm, fit: "contain") | ||||||
|  | #let ME = image("/gallery/me.jpg", width: 1.5cm, height: 1.5cm, fit: "contain") | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("Foo", display-name: "Participant", shape: "participant") | ||||||
|  |   _par("Foo1", display-name: "Actor", shape: "actor") | ||||||
|  |   _par("Foo2", display-name: "Boundary", shape: "boundary") | ||||||
|  |   _par("Foo3", display-name: "Control", shape: "control") | ||||||
|  |   _par("Foo4", display-name: "Entity", shape: "entity") | ||||||
|  |   _par("Foo5", display-name: "Database", shape: "database") | ||||||
|  |   _par("Foo6", display-name: "Collections", shape: "collections") | ||||||
|  |   _par("Foo7", display-name: "Queue", shape: "queue") | ||||||
|  |   _par("Foo8", display-name: "Typst", shape: "custom", custom-image: TYPST) | ||||||
|  |   _par("Foo9", display-name: "Ferris", shape: "custom", custom-image: FERRIS) | ||||||
|  |   _par("Foo10", display-name: "Baryhobal", shape: "custom", custom-image: ME) | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/sequence/comment-align/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/comment-align/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 57 KiB | 
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/comment-align/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 28 KiB | 
							
								
								
									
										57
									
								
								tests/sequence/comment-align/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,57 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("alice", display-name: "Alice") | ||||||
|  |   _par("bob", display-name: "Bob") | ||||||
|  |   _seq("alice", "bob", comment: "This is a very long comment") | ||||||
|  |  | ||||||
|  |   // Left to right | ||||||
|  |   _seq("alice", "bob", comment: "Start aligned", comment-align: "start") | ||||||
|  |   _seq("alice", "bob", comment: "End aligned", comment-align: "end") | ||||||
|  |   _seq("alice", "bob", comment: "Left aligned", comment-align: "left") | ||||||
|  |   _seq("alice", "bob", comment: "Right aligned", comment-align: "right") | ||||||
|  |   _seq("alice", "bob", comment: "Centered", comment-align: "center") | ||||||
|  |   _gap() | ||||||
|  |  | ||||||
|  |   // Right to left | ||||||
|  |   _seq("bob", "alice", comment: "Start aligned", comment-align: "start") | ||||||
|  |   _seq("bob", "alice", comment: "End aligned", comment-align: "end") | ||||||
|  |   _seq("bob", "alice", comment: "Left aligned", comment-align: "left") | ||||||
|  |   _seq("bob", "alice", comment: "Right aligned", comment-align: "right") | ||||||
|  |   _seq("bob", "alice", comment: "Centered", comment-align: "center") | ||||||
|  |   _gap() | ||||||
|  |  | ||||||
|  |   // Slant left to right | ||||||
|  |   _seq("alice", "bob", comment: "Start aligned", comment-align: "start", slant: 10) | ||||||
|  |   _seq("alice", "bob", comment: "End aligned", comment-align: "end", slant: 10) | ||||||
|  |   _seq("alice", "bob", comment: "Left aligned", comment-align: "left", slant: 10) | ||||||
|  |   _seq("alice", "bob", comment: "Right aligned", comment-align: "right", slant: 10) | ||||||
|  |   _seq("alice", "bob", comment: "Centered", comment-align: "center", slant: 10) | ||||||
|  |   _gap() | ||||||
|  |  | ||||||
|  |   // Slant right to left | ||||||
|  |   _seq("bob", "alice", comment: "Start aligned", comment-align: "start", slant: 10) | ||||||
|  |   _seq("bob", "alice", comment: "End aligned", comment-align: "end", slant: 10) | ||||||
|  |   _seq("bob", "alice", comment: "Left aligned", comment-align: "left", slant: 10) | ||||||
|  |   _seq("bob", "alice", comment: "Right aligned", comment-align: "right", slant: 10) | ||||||
|  |   _seq("bob", "alice", comment: "Centered", comment-align: "center", slant: 10) | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | #pagebreak() | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("alice", display-name: "Alice") | ||||||
|  |  | ||||||
|  |   _seq("alice", "alice", comment: "Start aligned", comment-align: "start") | ||||||
|  |   _seq("alice", "alice", comment: "End aligned", comment-align: "end") | ||||||
|  |   _seq("alice", "alice", comment: "Left aligned", comment-align: "left") | ||||||
|  |   _seq("alice", "alice", comment: "Right aligned", comment-align: "right") | ||||||
|  |   _seq("alice", "alice", comment: "Centered", comment-align: "center") | ||||||
|  |  | ||||||
|  |   _seq("alice", "alice", comment: "Start aligned", comment-align: "start", flip: true) | ||||||
|  |   _seq("alice", "alice", comment: "End aligned", comment-align: "end", flip: true) | ||||||
|  |   _seq("alice", "alice", comment: "Left aligned", comment-align: "left", flip: true) | ||||||
|  |   _seq("alice", "alice", comment: "Right aligned", comment-align: "right", flip: true) | ||||||
|  |   _seq("alice", "alice", comment: "Centered", comment-align: "center", flip: true) | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/sequence/special-par/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/special-par/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 29 KiB | 
							
								
								
									
										12
									
								
								tests/sequence/special-par/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,12 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _seq("?", "Alice", comment: [?->\ *short* to actor1]) | ||||||
|  |   _seq("[", "Alice", comment: [\[->\ *from start* to actor1]) | ||||||
|  |   _seq("[", "Bob", comment: [\[->\ *from start* to actor2]) | ||||||
|  |   _seq("?", "Bob", comment: [?->\ *short* to actor2]) | ||||||
|  |   _seq("Alice", "]", comment: [->\]\ from actor1 *to end*]) | ||||||
|  |   _seq("Alice", "?", comment: [->?\ *short* from actor1]) | ||||||
|  |   _seq("Alice", "Bob", comment: [->\ from actor1 to actor2]) | ||||||
|  | }) | ||||||
							
								
								
									
										4
									
								
								tests/sequence/tips/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | # generated by tytanic, do not edit | ||||||
|  |  | ||||||
|  | diff/** | ||||||
|  | out/** | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/tips/ref/1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 24 KiB | 
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/tips/ref/2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 24 KiB | 
							
								
								
									
										
											BIN
										
									
								
								tests/sequence/tips/ref/3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 26 KiB | 
							
								
								
									
										84
									
								
								tests/sequence/tips/test.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,84 @@ | |||||||
|  | #set page(width: auto, height: auto) | ||||||
|  | #import "/src/lib.typ": * | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: "Alice") | ||||||
|  |   _par("b", display-name: "Bob") | ||||||
|  |  | ||||||
|  |   _seq("a", "b", end-tip: ">", comment: `->`) | ||||||
|  |   _seq("a", "b", end-tip: ">>", comment: `->>`) | ||||||
|  |   _seq("a", "b", end-tip: "\\", comment: `-\`) | ||||||
|  |   _seq("a", "b", end-tip: "\\\\", comment: `-\\`) | ||||||
|  |   _seq("a", "b", end-tip: "/", comment: `-/`) | ||||||
|  |   _seq("a", "b", end-tip: "//", comment: `-//`) | ||||||
|  |   _seq("a", "b", end-tip: "x", comment: `->x`) | ||||||
|  |   _seq("a", "b", start-tip: "x", comment: `x->`) | ||||||
|  |   _seq("a", "b", start-tip: "o", comment: `o->`) | ||||||
|  |   _seq("a", "b", end-tip: ("o", ">"), comment: `->o`) | ||||||
|  |   _seq("a", "b", start-tip: "o", end-tip: ("o", ">"), comment: `o->o`) | ||||||
|  |   _seq("a", "b", start-tip: ">", end-tip: ">", comment: `<->`) | ||||||
|  |   _seq("a", "b", start-tip: ("o", ">"), end-tip: ("o", ">"), comment: `o<->o`) | ||||||
|  |   _seq("a", "b", start-tip: "x", end-tip: "x", comment: `x<->x`) | ||||||
|  |   _seq("a", "b", end-tip: ("o", ">>"), comment: `->>o`) | ||||||
|  |   _seq("a", "b", end-tip: ("o", "\\"), comment: `-\o`) | ||||||
|  |   _seq("a", "b", end-tip: ("o", "\\\\"), comment: `-\\o`) | ||||||
|  |   _seq("a", "b", end-tip: ("o", "/"), comment: `-/o`) | ||||||
|  |   _seq("a", "b", end-tip: ("o", "//"), comment: `-//o`) | ||||||
|  |   _seq("a", "b", start-tip: "x", end-tip: ("o", ">"), comment: `x->o`) | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | #pagebreak() | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: "Alice") | ||||||
|  |   _par("b", display-name: "Bob") | ||||||
|  |  | ||||||
|  |   _seq("b", "a", end-tip: ">", comment: `->`) | ||||||
|  |   _seq("b", "a", end-tip: ">>", comment: `->>`) | ||||||
|  |   _seq("b", "a", end-tip: "\\", comment: `-\`) | ||||||
|  |   _seq("b", "a", end-tip: "\\\\", comment: `-\\`) | ||||||
|  |   _seq("b", "a", end-tip: "/", comment: `-/`) | ||||||
|  |   _seq("b", "a", end-tip: "//", comment: `-//`) | ||||||
|  |   _seq("b", "a", end-tip: "x", comment: `->x`) | ||||||
|  |   _seq("b", "a", start-tip: "x", comment: `x->`) | ||||||
|  |   _seq("b", "a", start-tip: "o", comment: `o->`) | ||||||
|  |   _seq("b", "a", end-tip: ("o", ">"), comment: `->o`) | ||||||
|  |   _seq("b", "a", start-tip: "o", end-tip: ("o", ">"), comment: `o->o`) | ||||||
|  |   _seq("b", "a", start-tip: ">", end-tip: ">", comment: `<->`) | ||||||
|  |   _seq("b", "a", start-tip: ("o", ">"), end-tip: ("o", ">"), comment: `o<->o`) | ||||||
|  |   _seq("b", "a", start-tip: "x", end-tip: "x", comment: `x<->x`) | ||||||
|  |   _seq("b", "a", end-tip: ("o", ">>"), comment: `->>o`) | ||||||
|  |   _seq("b", "a", end-tip: ("o", "\\"), comment: `-\o`) | ||||||
|  |   _seq("b", "a", end-tip: ("o", "\\\\"), comment: `-\\o`) | ||||||
|  |   _seq("b", "a", end-tip: ("o", "/"), comment: `-/o`) | ||||||
|  |   _seq("b", "a", end-tip: ("o", "//"), comment: `-//o`) | ||||||
|  |   _seq("b", "a", start-tip: "x", end-tip: ("o", ">"), comment: `x->o`) | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | #pagebreak() | ||||||
|  |  | ||||||
|  | #diagram({ | ||||||
|  |   _par("a", display-name: "Alice") | ||||||
|  |   _par("b", display-name: "Bob") | ||||||
|  |  | ||||||
|  |   _seq("a", "a", end-tip: ">", comment: `->`) | ||||||
|  |   _seq("a", "a", end-tip: ">>", comment: `->>`) | ||||||
|  |   _seq("a", "a", end-tip: "\\", comment: `-\`) | ||||||
|  |   _seq("a", "a", end-tip: "\\\\", comment: `-\\`) | ||||||
|  |   _seq("a", "a", end-tip: "/", comment: `-/`) | ||||||
|  |   _seq("a", "a", end-tip: "//", comment: `-//`) | ||||||
|  |   _seq("a", "a", end-tip: "x", comment: `->x`) | ||||||
|  |   _seq("a", "a", start-tip: "x", comment: `x->`) | ||||||
|  |   _seq("a", "a", start-tip: "o", comment: `o->`) | ||||||
|  |   _seq("a", "a", end-tip: ("o", ">"), comment: `->o`) | ||||||
|  |   _seq("a", "a", start-tip: "o", end-tip: ("o", ">"), comment: `o->o`) | ||||||
|  |   _seq("a", "a", start-tip: ">", end-tip: ">", comment: `<->`) | ||||||
|  |   _seq("a", "a", start-tip: ("o", ">"), end-tip: ("o", ">"), comment: `o<->o`) | ||||||
|  |   _seq("a", "a", start-tip: "x", end-tip: "x", comment: `x<->x`) | ||||||
|  |   _seq("a", "a", end-tip: ("o", ">>"), comment: `->>o`) | ||||||
|  |   _seq("a", "a", end-tip: ("o", "\\"), comment: `-\o`) | ||||||
|  |   _seq("a", "a", end-tip: ("o", "\\\\"), comment: `-\\o`) | ||||||
|  |   _seq("a", "a", end-tip: ("o", "/"), comment: `-/o`) | ||||||
|  |   _seq("a", "a", end-tip: ("o", "//"), comment: `-//o`) | ||||||
|  |   _seq("a", "a", start-tip: "x", end-tip: ("o", ">"), comment: `x->o`) | ||||||
|  | }) | ||||||