타이밍 그림
타이밍 그림은 값과 카드를 타이밍 보기(view timing)로 보이는 그림입니다. 가로축이 장면 시간이고, 줄마다 값의 상태 띠, 0과 1의 높낮이 선, 카드 사이를 오가는 이동이 놓입니다. WaveDrom과 PlantUML 타이밍 그림이 그리는 잠금 유지 시간, 요청과 응답 핸드셰이크 같은 그림에 씁니다.
최소 예제
보기 블록의 이름은 줄입니다. 값 이름은 값 줄이고 카드 이름은 카드 줄입니다. 값이 모든 장면에서 0과 1만 가지면 높낮이 선이고, 그 밖에는 값 글을 담은 띠입니다.
문법
| 줄 | 뜻 |
|---|---|
view timing ["라벨"] {, } |
타이밍 보기. 블록 안에 줄 이름을 적는다 |
| 값 이름, 카드 이름 | 줄 하나. 카드는 순서 보기 참여자가 될 수 있는 카드다 |
note 값=상태 "글" |
값이 그 상태를 가진 구간마다 양쪽 화살표와 글을 값 줄 아래에 둔다 |
줄 종류와 선택 사항은 그림 문법의 문법 표가 정본이고, 보기 규칙은 카드와 보기에 있습니다.
장면과 움직임
타이밍 보기는 따로 사건을 적지 않습니다. 같은 원본의 이동(a -> b)과 값 바꾸기(set=, on)가 그리는 시간표를 읽으므로, 순서 보기나 그래프 보기의 점이 닿는 순간에 띠가 바뀝니다. 장면 탭은 그 장면의 시간 축으로 바꾸고, 재생 중에는 재생 막대가 지나간 만큼 드러납니다. 장면 상태(status=)는 카드 줄 이름 옆 알약입니다. 잠금과 시간 초과는 timing 예제, 요청·응답 핸드셰이크는 handshake 예제가 보입니다.
흔한 오류
| 원인 | 메시지 | code | 고치는 방법 |
|---|---|---|---|
| 값도 카드도 아닌 이름 | unknown value or card "m". ... |
syntax |
선언한 값이나 카드 이름을 적습니다 |
| 이동하지 않는 카드(격자, 차트 등) | a timing row is a value or a card that sends and receives moves (...). "g" is a grid |
syntax |
그 카드의 값을 줄로 적습니다 |
| 카드 줄을 가리키는 구간 표시 | "a" is a card row. A timing note marks the times a value holds a state |
syntax |
값 줄을 가리킵니다 |
| 블록 없는 보기 | a timing view lists its rows in a block: view timing { |
syntax |
블록에 줄을 적습니다 |
code는 thinkflow check figure.thinkflow --json으로 봅니다.