@cardenelabs/cdl 0.16.0 → 0.17.1
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/CHANGELOG.md +98 -1
- package/dist/index.cjs +743 -195
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +222 -10
- package/dist/index.d.ts +222 -10
- package/dist/index.js +735 -196
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +465 -62
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +465 -62
- package/dist/react.js.map +1 -1
- package/dist/{render-BS1E6Mlo.d.cts → render-Dc5Pdf7e.d.cts} +175 -4
- package/dist/{render-BS1E6Mlo.d.ts → render-Dc5Pdf7e.d.ts} +175 -4
- package/package.json +1 -1
- package/src/builder.ts +19 -0
- package/src/index.ts +21 -1
- package/src/kinds/card.tsx +15 -1
- package/src/kinds/sequence-board-metrics.ts +118 -0
- package/src/kinds/sequence-board.tsx +297 -0
- package/src/kinds/storage.tsx +139 -12
- package/src/layout/nodes.ts +33 -6
- package/src/layout/spec.ts +36 -5
- package/src/layout/tokens.ts +3 -0
- package/src/presets.ts +563 -183
- package/src/render/edge-head.ts +72 -8
- package/src/render/edges.tsx +30 -9
- package/src/render/nodes.tsx +4 -0
- package/src/render/stage.tsx +40 -29
- package/src/render/template-fields.ts +6 -2
- package/src/types.ts +156 -3
- package/src/visual-validate.ts +33 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,101 @@ CDL (Chainome Diagram Language) の主要変更履歴。
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.17.1] - 2026-08-29
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **箱の題を行より大きくした** (#580)
|
|
13
|
+
|
|
14
|
+
題が 22、行の名前が 26 で **題の方が小さかった**。 呼び名も題と同じ 22 で、どちらが主か
|
|
15
|
+
字の大きさから読めない。 箱を見た人が「何の箱か」 を最初に読めない状態だった。
|
|
16
|
+
|
|
17
|
+
| 要素 | いままで | これから |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 題 | 22 | 34 |
|
|
20
|
+
| 行の名前 | 26 | 26 (据え置き、ここが基準) |
|
|
21
|
+
| 行の型 | 24 | 22 |
|
|
22
|
+
| 呼び名 | 22 | 20 |
|
|
23
|
+
|
|
24
|
+
行の名前を基準に上下へ広げる。 題を上げたぶん、1 行目の位置 (130 → 152) と題の位置
|
|
25
|
+
(78 → 86) も取り直した。 値は `layout/spec.ts` が SSOT で、検査もそこから引く。
|
|
26
|
+
|
|
27
|
+
- **横に並ぶ箱を段の芯で揃えるようにした** (#580)
|
|
28
|
+
|
|
29
|
+
#578 では上端で揃えていたが、高さの違う箱が並ぶと背の低い箱ほど上に寄り、図全体が上へ
|
|
30
|
+
引っ張られて見えた。 芯で揃えると上端と下端は箱ごとに違うが、並びの重心が 1 本に通る。
|
|
31
|
+
|
|
32
|
+
見た目検査の `row-alignment` を厳しい側 (芯のみ) に戻した。 #578 で上端も認めていたのは
|
|
33
|
+
この揃え方に合わせたもので、前提が消えたので外す。
|
|
34
|
+
|
|
35
|
+
- **格子に置く箱では縦の間隔の均一を求めないようにした** (#580)
|
|
36
|
+
|
|
37
|
+
`column-gap-uniform` は「engine が縦の間隔を制御している」 ことを前提に、そのばらつきを
|
|
38
|
+
layout の破綻として見る軸。 行頭の印を持つ箱は前提が違う = 段の位置を著者が `col` / `row`
|
|
39
|
+
で決め、高さは中身から出る (`autoStorageHeight`)。 段ごとに背が違えば間隔は必ずばらつく
|
|
40
|
+
(実測 = クラス図の 2 列目で端 132/216)。
|
|
41
|
+
|
|
42
|
+
**近づき過ぎだけは見る**。 均一を外しても、箱どうしが接する形は通さない
|
|
43
|
+
(#202 が実測した形)。
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
|
|
47
|
+
- **「いまどこか」 の色を意味の色と分けた** (#580)
|
|
48
|
+
|
|
49
|
+
順序図の板が引く朱を `--cdl-now` から取り、書かれていなければ従来どおり
|
|
50
|
+
`--cdl-tone-accent` に落ちる。
|
|
51
|
+
|
|
52
|
+
意味の 6 色は図の中で「呼び」 のような種類を描き分けるもので、利用側が系統色から取ることが
|
|
53
|
+
ある (実測 = dragon は青)。 板が指すのは意味ではなく「いまどこか」 で、役割は強調した箱の枠と
|
|
54
|
+
同じ = 利用側の主役色に揃うべき。
|
|
55
|
+
|
|
56
|
+
## [0.17.0] - 2026-08-28
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
|
|
60
|
+
- **4 図を設計どおりの見た目で描けるようにした** (#578)
|
|
61
|
+
|
|
62
|
+
設計案「箱と行と関係」 は 4 図の見た目を、意味を持つ 2 軸で組み直すもの。
|
|
63
|
+
描き手にはその 2 軸を表す仕組みが 1 つも無く、4 図のどれも設計の形で描けなかった。
|
|
64
|
+
|
|
65
|
+
| 軸 | 何で表すか |
|
|
66
|
+
|---|---|
|
|
67
|
+
| 行頭の印 | 形 (四角 / 山) × 塗り (塗る / 中空) + 下線 |
|
|
68
|
+
| 関係 | 線 (実線 / 破線) × 端の形 × 塗り × 付く側 |
|
|
69
|
+
|
|
70
|
+
箱が `rowMarks` を持ち、行ごとに印を置く。 矢印は端を両側 (`head` / `tailHead`) と
|
|
71
|
+
塗り (`headFill` / `tailHeadFill`) で持ち、`aggregates` のように **出どころ側に印が立つ**
|
|
72
|
+
関係を描けるようになった。
|
|
73
|
+
|
|
74
|
+
意匠の表 (`CLASS_RELATION_LOOK` / `ER_CARDINALITY_HEAD` / `FSM_ACTION_MARK` /
|
|
75
|
+
`SEQUENCE_MESSAGE_LOOK`) を公開する。 見本と検査が同じ表を引くので、片方だけ古くならない。
|
|
76
|
+
|
|
77
|
+
- **順序図を 1 枚の板で描くようにした** (#578)
|
|
78
|
+
|
|
79
|
+
面ごとに名札 / 余白 / 足の 3 箱と縦線を組む形をやめ、図を丸ごと 1 つの箱
|
|
80
|
+
(`sequence-board`) が描く。 言づては矢印ではなく板の中の行になり、段は「どこまで描くか」 を
|
|
81
|
+
状態 (`sequenceStepId()`) に書く。
|
|
82
|
+
|
|
83
|
+
**2 つの骨格を並立させる案は採らなかった**。 描き手が 2 つに割れると、同じ記法が版によって
|
|
84
|
+
別の絵になり、どちらを直せばよいか読み手に判らない。
|
|
85
|
+
|
|
86
|
+
`bands` で「面が動いている間」 を段の範囲で書ける。 書かなければ面ごとに
|
|
87
|
+
「最初に関わった段から最後まで」 の 1 本になる。
|
|
88
|
+
|
|
89
|
+
### Changed
|
|
90
|
+
|
|
91
|
+
- **見た目検査の 3 軸を新しい意匠に合わせた** (#578)
|
|
92
|
+
|
|
93
|
+
| 軸 | 変えたこと |
|
|
94
|
+
|---|---|
|
|
95
|
+
| `row-format` | 行頭の印を持つ箱では `key: value` を求めない (群の区切りは空の行、ふるまいの行は名前だけ) |
|
|
96
|
+
| `row-alignment` | 中心だけでなく上端が揃っていれば揃っているとみなす |
|
|
97
|
+
| `column-gap-uniform` | 端の間隔だけでなく上端どうしの間隔が揃っていればよい |
|
|
98
|
+
|
|
99
|
+
高さの違う箱を段の基準線で並べる図では、中心と端の間隔は必ずばらつく
|
|
100
|
+
(実測 = 行数の違う表で 28、クラス図の 2 列目で 132 と 300)。
|
|
101
|
+
engine が制御しているのは段の基準線であって端の間隔ではない。
|
|
102
|
+
|
|
8
103
|
## [0.16.0] - 2026-08-28
|
|
9
104
|
|
|
10
105
|
### Added
|
|
@@ -823,7 +918,9 @@ Initial OSS release.
|
|
|
823
918
|
使わない = annotated tag を push しても GitHub Release は作られず、 Release を作っていない版で
|
|
824
919
|
行き止まりになる。
|
|
825
920
|
|
|
826
|
-
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.
|
|
921
|
+
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.17.1...HEAD
|
|
922
|
+
[0.17.1]: https://github.com/cardene777/cdl/compare/v0.17.0...v0.17.1
|
|
923
|
+
[0.17.0]: https://github.com/cardene777/cdl/compare/v0.16.0...v0.17.0
|
|
827
924
|
[0.16.0]: https://github.com/cardene777/cdl/compare/v0.15.0...v0.16.0
|
|
828
925
|
[0.15.0]: https://github.com/cardene777/cdl/compare/v0.14.0...v0.15.0
|
|
829
926
|
[0.14.0]: https://github.com/cardene777/cdl/compare/v0.13.1...v0.14.0
|