@cardenelabs/cdl 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/CHANGELOG.md +21 -1
- package/README.md +24 -0
- package/dist/index.cjs +9 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +9 -2
- 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 +9 -2
- package/dist/react.js.map +1 -1
- package/dist/{render-C2rcAsgk.d.cts → render-R7v2bfyz.d.cts} +18 -1
- package/dist/{render-C2rcAsgk.d.ts → render-R7v2bfyz.d.ts} +18 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/kinds/chart-slope.tsx +29 -3
- package/src/render/template-fields.ts +2 -0
- package/src/types.ts +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ CDL (Chainome Diagram Language) の主要変更履歴。
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.36.0] - 2026-09-07
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **傾き図の右の列に増減を出す見せ方を足した** (#702)
|
|
13
|
+
|
|
14
|
+
`chartSlopeForm` に `delta` を書くと、右の列が今の値ではなく増減 (`+40` / `-90`) になる。
|
|
15
|
+
欄を書かない図は今までどおり今の値を出す。
|
|
16
|
+
|
|
17
|
+
傾き図は増減を読ませる図なのに、差はどこにも字になっておらず読み手の暗算だった。
|
|
18
|
+
3 つ目の数を足すと名札が縦に衝突するか線を引く幅が縮むため、今の値を増減に置き換える形で
|
|
19
|
+
列を 2 つに保っている。 左の列は前の値のままなので、`前 + 増減 = 今` で今の値は戻せる。
|
|
20
|
+
|
|
21
|
+
増減は `chart-slope-delta` で出す。 今の値とは意味が違い、消費側が増減だけに色を当てられる
|
|
22
|
+
ようにするため。 engine 側では色を分けない = 系列の色を名前に当てているので、増減にも色を
|
|
23
|
+
当てると 1 つの図に 2 つの色の体系が混ざる。 向きは符号が持つ。
|
|
24
|
+
|
|
25
|
+
型の外の値と、前の時点を持たない図は `values` として描く。
|
|
26
|
+
|
|
8
27
|
## [0.35.0] - 2026-09-07
|
|
9
28
|
|
|
10
29
|
### Changed
|
|
@@ -1677,7 +1696,8 @@ Initial OSS release.
|
|
|
1677
1696
|
使わない = annotated tag を push しても GitHub Release は作られず、 Release を作っていない版で
|
|
1678
1697
|
行き止まりになる。
|
|
1679
1698
|
|
|
1680
|
-
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.
|
|
1699
|
+
[Unreleased]: https://github.com/cardene777/cdl/compare/v0.36.0...HEAD
|
|
1700
|
+
[0.36.0]: https://github.com/cardene777/cdl/compare/v0.35.0...v0.36.0
|
|
1681
1701
|
[0.35.0]: https://github.com/cardene777/cdl/compare/v0.34.0...v0.35.0
|
|
1682
1702
|
[0.34.0]: https://github.com/cardene777/cdl/compare/v0.33.0...v0.34.0
|
|
1683
1703
|
[0.33.0]: https://github.com/cardene777/cdl/compare/v0.32.0...v0.33.0
|
package/README.md
CHANGED
|
@@ -295,6 +295,30 @@ phase 切替に連動して `status: idle` → `status: running` のように描
|
|
|
295
295
|
|
|
296
296
|
名札の字は値と名前で role が分かれる (`chart-slope-value` / `chart-slope-name`)。
|
|
297
297
|
値だけに字体を当てられるようにするため。
|
|
298
|
+
系列の名前はその線と同じ色で描く。 線を目で辿らずに名前と線の対応が取れる。
|
|
299
|
+
|
|
300
|
+
### 右の列に何を出すか
|
|
301
|
+
|
|
302
|
+
`chart-slope` は `chartSlopeForm` で右の列の中身を選ぶ。 欄を書かない図は `values` と同じ。
|
|
303
|
+
|
|
304
|
+
| 値 | 右の列 | 向くもの |
|
|
305
|
+
|---|---|---|
|
|
306
|
+
| `values` (既定) | 今の値 | 2 時点の水準をそれぞれ読ませたい図 |
|
|
307
|
+
| `delta` | 増減 (`+40` / `-90`) | どれがどれだけ動いたかを読ませたい図 |
|
|
308
|
+
|
|
309
|
+
```ts
|
|
310
|
+
.node("move", { lane: "l", stack: 0, kind: "chart-slope", chartSlopeForm: "delta", chartData: [...] })
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
左の列はどちらでも前の値。 `前 + 増減 = 今` なので `delta` でも今の値は足せば戻る。
|
|
314
|
+
3 つ目の数を足さないので、 名札の高さも線を引く幅も変わらない。
|
|
315
|
+
|
|
316
|
+
`delta` の増減は `chart-slope-delta` で出す。 今の値とは意味が違い、 消費側が増減だけに色を
|
|
317
|
+
当てられるようにするため。 engine 側では色を分けない = 系列の色を名前に当てているので、
|
|
318
|
+
増減にも色を当てると 1 つの図に 2 つの色の体系が混ざる。 向きは符号が持つ。
|
|
319
|
+
|
|
320
|
+
型の外の値を書いた図は `values` として描く。
|
|
321
|
+
前の時点を持たない図も `values` として描く = 引く相手がいないため。
|
|
298
322
|
|
|
299
323
|
## 円グラフの見せ方
|
|
300
324
|
|
package/dist/index.cjs
CHANGED
|
@@ -25527,8 +25527,15 @@ function ChartSlopeNode({
|
|
|
25527
25527
|
const \u4E0A\u7AEF = PAD + (\u524D\u3042\u308A ? \u6642\u70B9\u306E\u7D1A + 12 : 0) + 6;
|
|
25528
25528
|
const \u4E0B\u7AEF = Math.max(\u4E0A\u7AEF + 10, node.h - PAD - 6);
|
|
25529
25529
|
const y\u3092\u53D6\u308B = (v) => \u5C3A\u306E\u5E45 > 0 ? \u4E0B\u7AEF - (v - \u6700\u5C0F) / \u5C3A\u306E\u5E45 * (\u4E0B\u7AEF - \u4E0A\u7AEF) : (\u4E0A\u7AEF + \u4E0B\u7AEF) / 2;
|
|
25530
|
+
const \u5F62 = \u524D\u3042\u308A && node.chartSlopeForm === "delta" ? "delta" : "values";
|
|
25531
|
+
const \u5897\u6E1B\u8868\u8A18 = (\u524D, \u4ECA) => {
|
|
25532
|
+
const \u5DEE = \u4ECA - \u524D;
|
|
25533
|
+
return \u5DEE > 0 ? `+${\u5B9F\u5024\u8868\u8A18(\u5DEE)}` : \u5B9F\u5024\u8868\u8A18(\u5DEE);
|
|
25534
|
+
};
|
|
25530
25535
|
const \u5DE6\u306E\u5B57 = \u7CFB\u5217\u305F\u3061.map((s) => \u5B9F\u5024\u8868\u8A18(s.\u524D));
|
|
25531
|
-
const \u53F3\u306E\u5B57 = \u7CFB\u5217\u305F\u3061.map(
|
|
25536
|
+
const \u53F3\u306E\u5B57 = \u7CFB\u5217\u305F\u3061.map(
|
|
25537
|
+
(s) => \u5F62 === "delta" ? \u5897\u6E1B\u8868\u8A18(s.\u524D, s.\u4ECA) : \u5B9F\u5024\u8868\u8A18(s.\u4ECA)
|
|
25538
|
+
);
|
|
25532
25539
|
const \u5DE6\u5024\u5E45 = Math.max(0, ...\u5DE6\u306E\u5B57.map((t) => textWidth(t, \u5024\u306E\u7D1A)));
|
|
25533
25540
|
const \u53F3\u5024\u5E45 = Math.max(0, ...\u53F3\u306E\u5B57.map((t) => textWidth(t, \u5024\u306E\u7D1A)));
|
|
25534
25541
|
const \u540D\u524D\u306B\u4F7F\u3048\u308B = Math.max(
|
|
@@ -25684,7 +25691,7 @@ function ChartSlopeNode({
|
|
|
25684
25691
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25685
25692
|
"text",
|
|
25686
25693
|
{
|
|
25687
|
-
"data-cdl-role": "chart-slope-value",
|
|
25694
|
+
"data-cdl-role": \u5F62 === "delta" ? "chart-slope-delta" : "chart-slope-value",
|
|
25688
25695
|
x: \u53F3\u8EF8x + \u8EF8\u304B\u3089\u5024\u307E\u3067,
|
|
25689
25696
|
y: \u53F3y + 5,
|
|
25690
25697
|
fontSize: \u5024\u306E\u7D1A,
|