@cardenelabs/cdl 0.30.0 → 0.30.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 +29 -1
- package/dist/index.cjs +5 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +5 -2
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +5 -2
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/layout/edges.ts +7 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cardenelabs/cdl",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"description": "CDL (Chainome Diagram Language). Mermaid-like declarative DSL that compiles to animated SVG diagrams. Built for blockchain / Solidity flows, generic enough for sequence / flow / state / ER / topology diagrams.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "cardene777",
|
package/src/layout/edges.ts
CHANGED
|
@@ -3294,7 +3294,13 @@ function 末尾を辺に沿ってずらす(
|
|
|
3294
3294
|
// 助走が最後の区間を越えると、 書き戻した直前の折れから短く戻る区間ができる。
|
|
3295
3295
|
const ux = (last.x1 - last.x2) / 長さ;
|
|
3296
3296
|
const uy = (last.y1 - last.y2) / 長さ;
|
|
3297
|
-
const
|
|
3297
|
+
const head = segs[0]!;
|
|
3298
|
+
const 最後の区間が起点を含む =
|
|
3299
|
+
Math.abs(last.x1 - head.x1) <= 0.5 && Math.abs(last.y1 - head.y1) <= 0.5;
|
|
3300
|
+
// 区間を 1 つしか持たない線では最後の区間が起点から始まるので、 助走をいっぱいまで伸ばすと折れが起点に生まれる。
|
|
3301
|
+
const 助走上限 = 最後の区間が起点を含む ? 長さ - EDGE_STUB_OUT : 長さ;
|
|
3302
|
+
const 丸めた助走 = Math.min(助走, 助走上限);
|
|
3303
|
+
if (丸めた助走 < ENDPOINT_FAN_RUNUP) return null;
|
|
3298
3304
|
const 折れ1 = { x: last.x2 + ux * 丸めた助走, y: last.y2 + uy * 丸めた助走 };
|
|
3299
3305
|
const 折れ2 = 横 ? { x: 折れ1.x, y: 折れ1.y + d } : { x: 折れ1.x + d, y: 折れ1.y };
|
|
3300
3306
|
const 終点 = 横 ? { x: last.x2, y: last.y2 + d } : { x: last.x2 + d, y: last.y2 };
|
|
@@ -3310,7 +3316,6 @@ function 末尾を辺に沿ってずらす(
|
|
|
3310
3316
|
}
|
|
3311
3317
|
|
|
3312
3318
|
// 最後の区間より前はそのまま書き戻す。 角の丸めの制御点も形ごと残す。
|
|
3313
|
-
const head = segs[0]!;
|
|
3314
3319
|
const parts: string[] = [`M ${head.x1} ${head.y1}`];
|
|
3315
3320
|
for (let i = 0; i < segs.length - 1; i++) {
|
|
3316
3321
|
const s = segs[i]!;
|