@cardenelabs/dragon 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -3
- package/dist/cli.cjs +597 -375
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +597 -375
- package/dist/cli.js.map +1 -1
- package/dist/export.cjs +104 -37
- package/dist/export.cjs.map +1 -1
- package/dist/export.d.cts +1 -1
- package/dist/export.d.ts +1 -1
- package/dist/export.js +104 -37
- package/dist/export.js.map +1 -1
- package/dist/index.cjs +833 -526
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +21 -15
- package/dist/index.d.ts +21 -15
- package/dist/index.js +833 -526
- package/dist/index.js.map +1 -1
- package/dist/player.global.js +2 -2
- package/dist/{schema-BBWfniwH.d.cts → schema-9VLameDG.d.cts} +15 -3
- package/dist/{schema-BBWfniwH.d.ts → schema-9VLameDG.d.ts} +15 -3
- package/package.json +20 -8
- package/src/cli.ts +13 -14
- package/src/figure-text.ts +1 -1
- package/src/index.ts +4 -4
- package/src/look/values.ts +16 -4
- package/src/messages.ts +158 -80
- package/src/parser.ts +402 -245
- package/src/player.ts +80 -9
- package/src/printer.ts +90 -60
- package/src/render/parts.ts +28 -8
- package/src/render/svg.ts +128 -33
- package/src/schema.ts +1 -1
- package/src/tokenize.ts +11 -8
- package/src/view.ts +5 -2
- package/src/words.ts +39 -65
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @cardenelabs/dragon
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
動く図を、人は dragon記法で、AI は JSON で書くための package。
|
|
4
4
|
|
|
5
5
|
## 入れ方
|
|
6
6
|
|
|
@@ -12,15 +12,53 @@ npm install @cardenelabs/dragon
|
|
|
12
12
|
今までの記法 (日本語の鍵の YAML と JSON)、`textDslToDiagram` と `jsonToDiagram` を含む入口、`@cardenelabs/cdl` へ渡して描く仕組みは [#2983](https://github.com/cardene777/dragon/issues/2983) で消した。
|
|
13
13
|
作り直しで決めたことは [#2982](https://github.com/cardene777/dragon/issues/2982) にまとめている。
|
|
14
14
|
|
|
15
|
+
0.36.0 では記法を dragon記法に作り直したため、0.35.x の記法の file は書き直さないと読めない。
|
|
16
|
+
原本の JSON は 0.35.x と同じ形で、そのまま読める。
|
|
17
|
+
書き直す時は、下の dragon記法の節と、前の形と新しい形の対応表を見る。
|
|
18
|
+
|
|
15
19
|
この package は次の 4 つを持つ。
|
|
16
20
|
|
|
17
21
|
| 持つ物 | 形 |
|
|
18
22
|
|---|---|
|
|
19
23
|
| 原本 | 共通の骨格と図の種類ごとの欄を持つ JSON。版を持ち、古い版は読む時に変換する |
|
|
20
|
-
| 記法 |
|
|
24
|
+
| 記法 | 行の頭の英語の語で行の種類が決まる dragon記法 (下の節)。JSON と行き来でき、名前と文は日本語でも書ける ([書き方](https://github.com/cardene777/dragon/blob/main/packages/dragon/examples/quick-start.md)、[英語の書き方](https://github.com/cardene777/dragon/blob/main/packages/dragon/examples/quick-start.en.md)) |
|
|
21
25
|
| 描く部品 | 原本から時系列図と構成図を描き、段ごとに動かす部品。cdl には頼らない |
|
|
22
26
|
| 書き出し | 同じ原本から mp4、GIF、HTML、PNG を書き出す命令 |
|
|
23
27
|
|
|
28
|
+
## dragon記法
|
|
29
|
+
|
|
30
|
+
どの行も次の決まり 4 つに従う。
|
|
31
|
+
|
|
32
|
+
1. 行の種類は行の頭の英語の語で決まる。矢印の行だけは箱の名札から始まる
|
|
33
|
+
2. 鍵と値はコロンで区切り、属性は `[ ]` の中に `,` で並べる
|
|
34
|
+
3. 空白を含む名前と文は、行末か `[` の前に置く。`,` か `]` を含む値と、`[` を含む名前だけを `"` で囲む
|
|
35
|
+
4. 入れ子は `group … end` だけ。段は次の `step` までで、字下げは読みやすさのために付ける。`say` の続きの行だけは `say` より深く字下げする
|
|
36
|
+
|
|
37
|
+
行の頭の語は `sequence` `architecture` `group` `end` `box` `strip` `step` `say` `code` `act` `note` `set` で、線の行は `名札 -> 名札` と書く。
|
|
38
|
+
|
|
39
|
+
```dragon
|
|
40
|
+
architecture 注文を倉庫へ回す
|
|
41
|
+
|
|
42
|
+
group 店側 as 店 [note: 注文を受ける側, color: blue, icon: cart]
|
|
43
|
+
box 受付 [note: 注文を受ける, icon: app]
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
group 倉庫側 as 倉庫 [note: 品物を送る側, color: green, icon: box]
|
|
47
|
+
box 出荷 [note: 品物を送る, icon: truck]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
step 出荷に回す
|
|
51
|
+
say
|
|
52
|
+
受付が注文の番号を 2 つまとめて出荷に回す。
|
|
53
|
+
出荷は届いた番号の順に品物を送る。
|
|
54
|
+
受付 -> 出荷: 送ってよい [tag: "#42, #43"]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`parseNotation` は記法を原本の JSON に、`printNotation` は原本の JSON を記法に直す。
|
|
58
|
+
誤りの文の言葉は `parseNotation(text, { lang: "en" })` のように渡した言葉で決まり、渡さなければ日本語になる。
|
|
59
|
+
前の形の記法 (`時系列図` か `構成図` で始まる形) は読まず、その行の新しい形を示す誤りで止まる。
|
|
60
|
+
前の形と新しい形の対応表は [`CHANGELOG.md`](https://github.com/cardene777/dragon/blob/main/CHANGELOG.md) にある。
|
|
61
|
+
|
|
24
62
|
## 書き出し
|
|
25
63
|
|
|
26
64
|
書き出しは画面なしの Chromium で、頁と同じ描画を時刻を止めて 1 コマずつ撮る。
|
|
@@ -44,7 +82,7 @@ dragon export ccip.json --out out
|
|
|
44
82
|
| `--width <px>` | 枠の幅。見せ方 (全体を止める / 寄って追う) を選び、寄って追う窓の幅になる |
|
|
45
83
|
| `--palette <名前>` | 色味 (`clear` / `paper` / `night`、既定は `paper`) |
|
|
46
84
|
| `--theme <明暗>` | `light` か `dark` |
|
|
47
|
-
| `--lang <言葉>` | 図の中の字 (全体図の札、HTML の読み上げの名前、描けない時の断りの文) と、命令が出す使い方の文と誤りの文の言葉 (`ja` か `en`)
|
|
85
|
+
| `--lang <言葉>` | 図の中の字 (全体図の札、HTML の読み上げの名前、描けない時の断りの文) と、命令が出す使い方の文と誤りの文の言葉 (`ja` か `en`)。記法の file でも JSON の原本でも、既定は `ja` |
|
|
48
86
|
| `--fps <数>` | mp4 の 1 秒のコマの数 (既定 30) |
|
|
49
87
|
| `--gif-fps <数>` | GIF の 1 秒のコマの数 (既定 10) |
|
|
50
88
|
| `--format <形>` | 書き出す形を `,` で区切る (既定 `mp4,gif,html,png`) |
|