@cardenelabs/cdl 0.123.0 → 0.125.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/CHANGELOG.md +55 -1
- package/README.md +14 -1
- package/dist/index.cjs +924 -134
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +924 -135
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +909 -134
- 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 +909 -134
- package/dist/react.js.map +1 -1
- package/dist/{render-CVczwfRb.d.cts → render-7yEHIUK1.d.cts} +60 -5
- package/dist/{render-CVczwfRb.d.ts → render-7yEHIUK1.d.ts} +60 -5
- package/package.json +12 -9
- package/src/builder.ts +6 -0
- package/src/index.ts +4 -0
- package/src/kinds/card.tsx +12 -4
- package/src/kinds/generic.tsx +19 -9
- package/src/kinds/station.tsx +105 -19
- package/src/kinds/terminal-mark.tsx +36 -9
- package/src/layout/edges.ts +169 -17
- package/src/layout/lanes.ts +69 -5
- package/src/layout/legend.ts +68 -0
- package/src/layout/metro-path.ts +123 -30
- package/src/layout/nodes.ts +13 -2
- package/src/layout/spec.ts +17 -1
- package/src/layout/tokens.ts +8 -1
- package/src/layout.ts +20 -2
- package/src/render/edge-head.ts +6 -0
- package/src/render/edges.tsx +27 -6
- package/src/render/legend.tsx +120 -0
- package/src/render/nodes.tsx +21 -5
- package/src/render/stage.tsx +255 -10
- package/src/render/template-fields.ts +2 -0
- package/src/types.ts +109 -7
- package/src/validate.ts +5 -0
- package/src/visual-validate.ts +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,58 @@ CDL (Chainome Diagram Language) の主要変更履歴。
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.125.0] - 2026-10-06
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **metro 路線図に担当の名札・案内線・太い線路・大きな駅・始まりと終わりの印を描けるようにした** (#1018)
|
|
13
|
+
|
|
14
|
+
`station` は半径を `--cdl-metro-station-radius`、縁の太さを `--cdl-metro-station-stroke-width`、`routing: "metro"` の線路は太さを `--cdl-metro-line-width` で上書きできる。
|
|
15
|
+
既定値は順に 16、6、10 で、CSS を読まない SVG でも同じ数値を属性に持つ。
|
|
16
|
+
始まりと終わりは線の端から推測せず、`kind: "mark-start"` と `kind: "mark-end"` の node で明示する。
|
|
17
|
+
路線図の始まりは半径 17、終わりは半径 19・縁 3.5・内側の半径 10 で描く。
|
|
18
|
+
担当の名札と案内線は路線用の lane から描き、名札・案内線・始まり・終わりを `data-cdl-role` で個別に選べる。
|
|
19
|
+
前の駅へ戻る線は太さ 6 の丸い点と行き先側の矢印で描き、分かれ道の枝は行き先との横位置に応じて上下または左右の角から出す。
|
|
20
|
+
真上から線路が入る駅の名前は駅の右へ置き、metro 線が出入りする分かれ道だけを半幅 58・半高 44、26 の太字で描く。
|
|
21
|
+
|
|
22
|
+
- **図の下へ共通の凡例を描ける `legend` option を足した** (#1019)
|
|
23
|
+
|
|
24
|
+
印の種類と文字を並べると、10 種類の印を SVG 内の図より下へ横一列に描き、凡例を含む大きさへ `viewBox` を広げる。
|
|
25
|
+
凡例全体・項目・印・文字を `data-cdl-role` で選べ、印の種類は `data-cdl-legend-mark` で選べる。
|
|
26
|
+
`legend` を書かない既存の図は、座標・`viewBox`・DOM の出力が変わらない。
|
|
27
|
+
|
|
28
|
+
- **時間軸に丸い番号、実線の軸、札から伸びる矢印なしの補助線を描けるようにした** (#1017)
|
|
29
|
+
|
|
30
|
+
`timeline-number` は番号を丸の中央に描き、`timelineAxis` は lane の中央へ実線を引く。
|
|
31
|
+
`leaderTo` を持つ札は指定した番号へ点線を伸ばし、既存の `subtitle` を札の右側へ出す。
|
|
32
|
+
既存の `station`、`lifeline`、箱、段階列の出力は変わらない。
|
|
33
|
+
|
|
34
|
+
- **同じ上端と高さの段階列に、番号と名前を付けられるようにした** (#1016)
|
|
35
|
+
|
|
36
|
+
lane に `stage` の番号と名前を書くと、段階列の面、番号、名前、見出しの区切りを別々の `data-cdl-role` で描く。
|
|
37
|
+
列の面は lane の幅いっぱいへ広がり、見本と同じ比率の余白を列の間に保つ。
|
|
38
|
+
段階列の中にある札は、名前を左、既存の `subtitle` を右の補足として出せる。
|
|
39
|
+
前の段へ戻る `back-detour` は段階の見出しより上を通り、札へ入る。
|
|
40
|
+
`stage` を書かない既存の縦列と `lane-container` / `lane-label` の出力は変わらない。
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
|
|
44
|
+
- **段を切り替えても metro 線を全て DOM に残すようにした** (#1018)
|
|
45
|
+
|
|
46
|
+
初出前の区間だけに `data-cdl-pending="true"` を出し、意匠側がまだ通っていない線路を選べる。
|
|
47
|
+
`routing: "metro"` 以外の線と、路線用の欄を持たない lane の出力は変わらない。
|
|
48
|
+
|
|
49
|
+
## [0.124.0] - 2026-10-06
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
|
|
53
|
+
- **箱の上を回る戻り線が、途中の箱を貫かない道筋を選べるようにした** (#1014)
|
|
54
|
+
|
|
55
|
+
上へ回る今までの道筋が両端以外の箱と交わる時だけ、左右の外側の列を通る道筋に替え、交わる箱が少なく短い方を選ぶ。
|
|
56
|
+
両端は今までどおり上辺から出て、上辺へ入る。
|
|
57
|
+
1 段前へ戻る線と間に箱が無い戻り線の座標は変わらない。
|
|
58
|
+
外側を回っても避けられない箱は `edge-node-cross` として検査結果に残る。
|
|
59
|
+
|
|
8
60
|
## [0.123.0] - 2026-10-05
|
|
9
61
|
|
|
10
62
|
### Added
|
|
@@ -4864,7 +4916,9 @@ Initial OSS release.
|
|
|
4864
4916
|
使わない = annotated tag を push しても GitHub Release は作られず、 Release を作っていない版で
|
|
4865
4917
|
行き止まりになる。
|
|
4866
4918
|
|
|
4867
|
-
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.
|
|
4919
|
+
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.125.0...HEAD
|
|
4920
|
+
[0.125.0]: https://github.com/cardene777/cdl/compare/v0.124.0...v0.125.0
|
|
4921
|
+
[0.124.0]: https://github.com/cardene777/cdl/compare/v0.123.0...v0.124.0
|
|
4868
4922
|
[0.123.0]: https://github.com/cardene777/cdl/compare/v0.122.0...v0.123.0
|
|
4869
4923
|
[0.122.0]: https://github.com/cardene777/cdl/compare/v0.121.0...v0.122.0
|
|
4870
4924
|
[0.121.0]: https://github.com/cardene777/cdl/compare/v0.120.0...v0.121.0
|
package/README.md
CHANGED
|
@@ -231,6 +231,11 @@ export const custom = diagram("custom", { topic: "Custom" })
|
|
|
231
231
|
`posX` / `posY` で線路上の点へ置き、既定の大きさは 24×24 になる。
|
|
232
232
|
`tone` を指定すると丸の枠色が変わる。
|
|
233
233
|
|
|
234
|
+
時間軸の番号には `timeline-number` を使う。
|
|
235
|
+
番号は 52×52 の丸の中央に描き、lane の `timelineAxis: true` で丸の中心を通る実線を引く。
|
|
236
|
+
札の `leaderTo` に番号の node id を書くと、札と丸を矢印なしの点線で結ぶ。
|
|
237
|
+
`leaderTo` を持つ `card` の `subtitle` は、札の右側へ担当の字として描く。
|
|
238
|
+
|
|
234
239
|
書ける種類の全件は `NODE_KINDS` を値として公開しているので、記法を書く側は手書きせずに引ける
|
|
235
240
|
(上の表は代表例で、全件ではない)。
|
|
236
241
|
|
|
@@ -268,10 +273,15 @@ export const custom = diagram("custom", { topic: "Custom" })
|
|
|
268
273
|
| 値 | 道筋 | 向く場面 |
|
|
269
274
|
|---|---|---|
|
|
270
275
|
| `default` | 箱を避け、角を丸めた直角の線 | 箱を避けたい図、直角の線に揃えたい図 |
|
|
271
|
-
| `back-detour` |
|
|
276
|
+
| `back-detour` | 箱の上を回って戻り、途中の箱と交わる時は外側を回る線 | 前の箱へ戻る関係 |
|
|
272
277
|
| `curve` | 両端で水平になる 3 次曲線 | 段や列をまたぐ関係を柔らかくつなぐ図 |
|
|
273
278
|
| `metro` | 横線と傾き ±1 の斜線を円弧で結ぶ線 | 路線図の線路と乗り換え |
|
|
274
279
|
|
|
280
|
+
`back-detour` は始点と終点の上辺を結び、両端より 100 上を横に渡る。
|
|
281
|
+
途中の箱と交わる時だけ、縦に並ぶ箱を避けた最も近い外側の列を通り、交わる箱が少なく短い方を選ぶ。
|
|
282
|
+
両端は外側へ回る時も上辺から出て、上辺へ入る。
|
|
283
|
+
外側を回っても避けられない箱は `edge-node-cross` として検査結果に残る。
|
|
284
|
+
|
|
275
285
|
`curve` は、行き先が右なら始点の右辺から終点の左辺へ、左なら始点の左辺から終点の右辺へ結ぶ。
|
|
276
286
|
2 つの箱の横の範囲が重なる時は、両方の右辺を結ぶ。
|
|
277
287
|
2 点の高さが同じなら直線になる。
|
|
@@ -492,6 +502,9 @@ cdl は形だけを描き、 色や影は持たない (geometry only、 style
|
|
|
492
502
|
```css
|
|
493
503
|
[data-cdl-role="node-body"][data-cdl-mark="station"] { /* 駅 */ }
|
|
494
504
|
[data-cdl-routing="metro"] [data-cdl-role="edge-line"] { /* 路線図の線 */ }
|
|
505
|
+
[data-cdl-role="node-body"][data-cdl-mark="timeline-number"] { /* 時間軸の番号 */ }
|
|
506
|
+
[data-cdl-role="timeline-axis"] { /* 時間軸の実線 */ }
|
|
507
|
+
[data-cdl-role="timeline-leader"] { /* 札から番号への補助線 */ }
|
|
495
508
|
```
|
|
496
509
|
|
|
497
510
|
線の札と主役は、次の属性で選べる。
|