@cardenelabs/dragon 0.15.0 → 0.16.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 CHANGED
@@ -84,6 +84,7 @@ flow:
84
84
  | `subtitle` | 題の下の補足 (`補足` とも書ける) |
85
85
  | `eyebrow` | 題の上の小見出し |
86
86
  | `value` | 箱に出す値 (`値` とも書ける) |
87
+ | `previous` | 前の時点の値 (`前の値` とも書ける)。 `type: stacked` が 2 本目の帯として描く |
87
88
  | `rows` | 箱の中に並べる行 (`行` とも書ける) |
88
89
  | `lane` | どの縦列に置くか |
89
90
  | `stack` | 縦列の中の何段目に置くか |
package/dist/index.cjs CHANGED
@@ -1996,6 +1996,11 @@ var PRESET_TYPES = /* @__PURE__ */ new Set([
1996
1996
  "pie",
1997
1997
  "bar",
1998
1998
  "line",
1999
+ "gauge",
2000
+ "radial",
2001
+ "stat",
2002
+ "waffle",
2003
+ "stacked",
1999
2004
  "funnel",
2000
2005
  "tree",
2001
2006
  "journey",
@@ -3429,6 +3434,11 @@ function applyContinuationLines(actor, rest, errors) {
3429
3434
  case "\u5024":
3430
3435
  out.value = stripQuotes(raw);
3431
3436
  break;
3437
+ // 前の時点の値 (#1450)。 内訳を帯で示す図と値 1 つを大きく示す図が読む
3438
+ case "previous":
3439
+ case "\u524D\u306E\u5024":
3440
+ out.previous = stripQuotes(raw);
3441
+ break;
3432
3442
  case "shape":
3433
3443
  case "\u56F3\u5F62":
3434
3444
  out.shape = \u56F3\u5F62\u3068\u3057\u3066\u8AAD\u3080(raw, ln.no, errors);
@@ -3576,6 +3586,9 @@ var ACTOR_ITEM_KEYS = /* @__PURE__ */ new Set([
3576
3586
  "\u88DC\u8DB3",
3577
3587
  "value",
3578
3588
  "\u5024",
3589
+ // 前の時点の値 (#1450)。 内訳の変化を帯で示す図と、値 1 つを大きく示す図が読む
3590
+ "previous",
3591
+ "\u524D\u306E\u5024",
3579
3592
  "rows",
3580
3593
  "\u884C",
3581
3594
  // 箱の中に描く図形 (#1374)
@@ -3701,6 +3714,7 @@ var ACTOR_RESERVED_FIELDS = /* @__PURE__ */ new Set([
3701
3714
  "subtitle",
3702
3715
  "eyebrow",
3703
3716
  "value",
3717
+ "previous",
3704
3718
  "rows",
3705
3719
  "lane",
3706
3720
  "stack",
@@ -3803,6 +3817,7 @@ var INLINE_ACTOR_ALIASES = {
3803
3817
  \u7A2E\u985E: "kind",
3804
3818
  \u88DC\u8DB3: "subtitle",
3805
3819
  \u5024: "value",
3820
+ \u524D\u306E\u5024: "previous",
3806
3821
  \u884C: "rows"
3807
3822
  };
3808
3823
  function \u4E2D\u62EC\u5F27\u306E\u5225\u540D\u3092\u5BC4\u305B\u308B(opts) {
@@ -3821,6 +3836,7 @@ var INLINE_ACTOR_KEYS = /* @__PURE__ */ new Set([
3821
3836
  "subtitle",
3822
3837
  "eyebrow",
3823
3838
  "value",
3839
+ "previous",
3824
3840
  "rows",
3825
3841
  "lane",
3826
3842
  "stack",
@@ -3932,6 +3948,7 @@ function parseActor2(line, errors) {
3932
3948
  owner: isPart ? void 0 : opts.owner,
3933
3949
  end: isPart ? void 0 : opts.end,
3934
3950
  value: opts.value,
3951
+ previous: opts.previous,
3935
3952
  rows: opts.rows ? opts.rows.replace(/^\[|\]$/g, "").split(/,(?![^[]*\])/).map((x) => stripQuotes(x.trim())).filter(Boolean) : void 0,
3936
3953
  lane: opts.lane,
3937
3954
  // 箱の中に描く図形 (#1374)。 パーツでは状態の上書きとして意味を持つため横取りしない
@@ -4263,16 +4280,34 @@ function parsePhase(block, errors) {
4263
4280
  continue;
4264
4281
  }
4265
4282
  if (key === "draw") {
4266
- const \u8A9E = stripQuotes(value).trim();
4283
+ const [\u8A9E = "", \u5272\u5408\u306E\u6587\u5B57, ...\u4F59\u308A] = stripQuotes(value).trim().split(/\s+/);
4267
4284
  if (!DRAW_WORDS.has(\u8A9E)) {
4268
4285
  errors.push({
4269
4286
  line: ln.no,
4270
4287
  message: `draw \u306B\u66F8\u3051\u306A\u3044\u8A9E\u3067\u3059: "${\u8A9E}"`,
4271
4288
  hint: `\u4F7F\u3048\u308B\u8A9E = ${[...DRAW_WORDS].join(", ")}`
4272
4289
  });
4290
+ } else if (\u4F59\u308A.length > 0) {
4291
+ errors.push({
4292
+ line: ln.no,
4293
+ message: `draw \u306B\u66F8\u3051\u308B\u9805\u76EE\u306F\u8A9E\u3068\u5272\u5408\u306E 2 \u3064\u307E\u3067\u3067\u3059: "${stripQuotes(value).trim()}"`,
4294
+ hint: "use `draw: line 0.4`"
4295
+ });
4273
4296
  } else {
4274
4297
  phase.draw = \u8A9E;
4275
4298
  phase.drawPos = { line: ln.no };
4299
+ if (\u5272\u5408\u306E\u6587\u5B57 !== void 0) {
4300
+ const \u5272\u5408 = Number(\u5272\u5408\u306E\u6587\u5B57);
4301
+ if (!Number.isFinite(\u5272\u5408) || \u5272\u5408 <= 0 || \u5272\u5408 > 1) {
4302
+ errors.push({
4303
+ line: ln.no,
4304
+ message: `draw \u306E\u5272\u5408\u304C\u7BC4\u56F2\u5916\u3067\u3059: "${\u5272\u5408\u306E\u6587\u5B57}"`,
4305
+ hint: "0 \u3088\u308A\u5927\u304D\u304F 1 \u4EE5\u4E0B\u3067\u66F8\u304D\u307E\u3059 (\u4F8B `draw: line 0.4`)"
4306
+ });
4307
+ } else {
4308
+ phase.drawRatio = \u5272\u5408;
4309
+ }
4310
+ }
4276
4311
  }
4277
4312
  i += 1;
4278
4313
  continue;
@@ -4816,6 +4851,21 @@ function compileToCdl(doc, opts) {
4816
4851
  case "line":
4817
4852
  diagram2 = compileValueChart(doc, "line", "chart-line", opts?.onNotice);
4818
4853
  break;
4854
+ case "gauge":
4855
+ diagram2 = compileValueChart(doc, "gauge", "chart-gauge", opts?.onNotice);
4856
+ break;
4857
+ case "radial":
4858
+ diagram2 = compileValueChart(doc, "radial", "chart-radial", opts?.onNotice);
4859
+ break;
4860
+ case "stat":
4861
+ diagram2 = compileValueChart(doc, "stat", "chart-stat", opts?.onNotice);
4862
+ break;
4863
+ case "waffle":
4864
+ diagram2 = compileValueChart(doc, "waffle", "chart-waffle", opts?.onNotice);
4865
+ break;
4866
+ case "stacked":
4867
+ diagram2 = compileValueChart(doc, "stacked", "chart-stacked-bar", opts?.onNotice);
4868
+ break;
4819
4869
  case "funnel":
4820
4870
  diagram2 = compileFunnel(doc, opts?.onNotice);
4821
4871
  break;
@@ -5074,6 +5124,11 @@ var \u56F3\u7A2E\u306E\u4F5C\u308A = {
5074
5124
  pie: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5075
5125
  bar: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5076
5126
  line: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5127
+ gauge: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5128
+ radial: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5129
+ stat: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5130
+ waffle: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5131
+ stacked: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5077
5132
  funnel: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5078
5133
  tree: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
5079
5134
  journey: "\u56F3\u5168\u4F53\u3092 1 \u7BB1",
@@ -5232,6 +5287,11 @@ var \u7A7A\u306E\u5F62\u306E\u9003\u3052\u5148 = {
5232
5287
  pie: [],
5233
5288
  bar: [],
5234
5289
  line: [],
5290
+ gauge: [],
5291
+ radial: [],
5292
+ stat: [],
5293
+ waffle: [],
5294
+ stacked: [],
5235
5295
  funnel: [],
5236
5296
  tree: [],
5237
5297
  journey: [],
@@ -7080,10 +7140,13 @@ function \u53C2\u7167\u3059\u308B\u540D\u524D(value) {
7080
7140
  function compileValueChart(doc, \u578B, kind, onNotice) {
7081
7141
  const b = cdl.diagram(slugify(doc.title), { topic: doc.title });
7082
7142
  const CHART_W = 640;
7083
- const CHART_H = \u578B === "pie" ? 320 : 368;
7143
+ const \u4F4E\u3044\u578B = \u578B === "pie" || \u578B === "gauge" || \u578B === "radial" || \u578B === "waffle" || \u578B === "stat";
7144
+ const CHART_H = \u4F4E\u3044\u578B ? 320 : 368;
7084
7145
  b.lane("chart", { width: CHART_W + 64 });
7085
7146
  const data = [];
7086
7147
  const \u8AAD\u3081\u306A\u3044 = [];
7148
+ const \u524D\u304C\u8AAD\u3081\u306A\u3044 = [];
7149
+ let \u524D\u304C\u8AAD\u3081\u306A\u3044\u884C = 0;
7087
7150
  const \u672A\u5BA3\u8A00 = [];
7088
7151
  let \u672A\u5BA3\u8A00\u884C = 0;
7089
7152
  const \u53C2\u7167\u3067\u304D\u308B = \u6570\u306E\u6B04\u304B\u3089\u53C2\u7167\u3067\u304D\u308B\u540D\u524D(doc);
@@ -7101,9 +7164,29 @@ function compileValueChart(doc, \u578B, kind, onNotice) {
7101
7164
  \u672A\u5BA3\u8A00.push(a.name);
7102
7165
  continue;
7103
7166
  }
7104
- data.push({ label: \u7BB1\u306E\u984C(a), value, ...a.tone !== void 0 ? { tone: a.tone } : {} });
7167
+ const \u524D = a.previous === void 0 ? null : parseChartValue(a.previous);
7168
+ if (a.previous !== void 0 && \u524D === null) {
7169
+ if (\u524D\u304C\u8AAD\u3081\u306A\u3044.length === 0) \u524D\u304C\u8AAD\u3081\u306A\u3044\u884C = a.pos?.line ?? 0;
7170
+ \u524D\u304C\u8AAD\u3081\u306A\u3044.push(a.name);
7171
+ }
7172
+ data.push({
7173
+ label: \u7BB1\u306E\u984C(a),
7174
+ value,
7175
+ ...\u524D === null ? {} : { previous: \u524D },
7176
+ ...a.tone !== void 0 ? { tone: a.tone } : {}
7177
+ });
7105
7178
  }
7106
- const \u8A9E = \u578B === "pie" ? { \u91CF: "\u5272\u5408", \u56F3: "\u5186", \u4F8B: '"45%"' } : \u578B === "bar" ? { \u91CF: "\u5024", \u56F3: "\u68D2", \u4F8B: '"420"' } : { \u91CF: "\u5024", \u56F3: "\u6298\u308C\u7DDA", \u4F8B: '"180"' };
7179
+ const \u8A9E\u306E\u8868 = {
7180
+ pie: { \u91CF: "\u5272\u5408", \u56F3: "\u5186", \u4F8B: '"45%"' },
7181
+ bar: { \u91CF: "\u5024", \u56F3: "\u68D2", \u4F8B: '"420"' },
7182
+ line: { \u91CF: "\u5024", \u56F3: "\u6298\u308C\u7DDA", \u4F8B: '"180"' },
7183
+ gauge: { \u91CF: "\u5024", \u56F3: "\u534A\u5186", \u4F8B: '"680"' },
7184
+ radial: { \u91CF: "\u5024", \u56F3: "\u5F27", \u4F8B: '"72"' },
7185
+ stat: { \u91CF: "\u5024", \u56F3: "\u5927\u304D\u306A\u6570\u5B57", \u4F8B: '"1200"' },
7186
+ waffle: { \u91CF: "\u5272\u5408", \u56F3: "100 \u500B\u306E\u5370", \u4F8B: '"45%"' },
7187
+ stacked: { \u91CF: "\u5185\u8A33\u306E\u5024", \u56F3: "\u5E2F", \u4F8B: '"320"' }
7188
+ };
7189
+ const \u8A9E = \u8A9E\u306E\u8868[\u578B];
7107
7190
  const \u4F1D\u3048\u308B = (\u7A2E\u985E, \u540D\u524D, message, line = 0) => {
7108
7191
  onNotice?.({ kind: \u7A2E\u985E, actor: \u540D\u524D, line, message });
7109
7192
  if (typeof console !== "undefined" && console.warn) console.warn(`[dragon] ${message}`);
@@ -7124,6 +7207,14 @@ function compileValueChart(doc, \u578B, kind, onNotice) {
7124
7207
  \u672A\u5BA3\u8A00\u884C
7125
7208
  );
7126
7209
  }
7210
+ if (\u524D\u304C\u8AAD\u3081\u306A\u3044.length > 0) {
7211
+ \u4F1D\u3048\u308B(
7212
+ "chart-value-unreadable",
7213
+ \u524D\u304C\u8AAD\u3081\u306A\u3044[0],
7214
+ `type: ${\u578B} \u3067\u524D\u306E\u6642\u70B9\u306E\u5024\u3092\u8AAD\u3081\u306A\u3044\u9805\u76EE\u304C\u3042\u308A\u307E\u3059 (\u524D\u306E\u5024\u3092\u4F7F\u3044\u307E\u305B\u3093): ${\u524D\u304C\u8AAD\u3081\u306A\u3044.join(", ")}\u3002 \`- \u540D\u524D: { value: ` + \u8A9E.\u4F8B + ", previous: " + \u8A9E.\u4F8B + " }` \u306E\u5F62\u3067\u66F8\u3044\u3066\u304F\u3060\u3055\u3044",
7215
+ \u524D\u304C\u8AAD\u3081\u306A\u3044\u884C
7216
+ );
7217
+ }
7127
7218
  if (doc.flow.length > 0) {
7128
7219
  \u4F1D\u3048\u308B(
7129
7220
  "chart-edge-dropped",
@@ -7619,6 +7710,7 @@ var \u653E\u5C04\u3067\u63CF\u3051\u306A\u3044\u6B04\u306E\u540D\u524D = {
7619
7710
  stack: "\u7A4D\u3080\u9806",
7620
7711
  initial: "\u59CB\u307E\u308A / \u7D42\u308F\u308A \u306E\u5370",
7621
7712
  final: "\u59CB\u307E\u308A / \u7D42\u308F\u308A \u306E\u5370",
7713
+ previous: "\u524D\u306E\u6642\u70B9\u306E\u5024",
7622
7714
  colorHex: "\u8272\u756A\u53F7",
7623
7715
  stateOverride: "\u72B6\u614B\u306E\u4E0A\u66F8\u304D",
7624
7716
  // 位置は「登場人物ごとの箱をどこに置くか」 の指定で、 箱が 1 つの図では置く先が無い
@@ -7986,6 +8078,9 @@ function injectPhasesFallback(diagram2, doc) {
7986
8078
  body: p.body ?? "",
7987
8079
  activate: activateIds,
7988
8080
  ...drawIds.length > 0 ? { draw: drawIds } : {},
8081
+ // 描く速さ (#1441)。 **描く相手が決まった段にだけ載せる** = 語が効かない図種
8082
+ // (`drawIds` が空) で割合だけ渡すと、描画側が「draw が空なのに割合がある」 と知らせる
8083
+ ...drawIds.length > 0 && p.drawRatio !== void 0 ? { drawRatio: p.drawRatio } : {},
7989
8084
  tweens: (p.tweens ?? []).map((t) => ({ stateId: t.state, from: t.from, to: t.to })),
7990
8085
  sets: (p.sets ?? []).map((s) => ({ stateId: s.state, value: s.value })),
7991
8086
  ...p.badge ? { badge: p.badge } : {}
@@ -8265,8 +8360,14 @@ function \u59CB\u307E\u308A\u3068\u7D42\u308F\u308A\u306E\u6C7A\u3081\u65B9(doc)
8265
8360
  \u7D42\u308F\u308A: (a, idx) => \u66F8\u3044\u305F\u7D42\u308F\u308A ? a.final === true : idx === doc.actors.length - 1 && doc.actors.length > 1
8266
8361
  };
8267
8362
  }
8363
+ var \u72B6\u614B\u306E\u56F3\u306E\u65E2\u5B9A\u306E\u7A2E\u985E = "card";
8364
+ function \u65E2\u5B9A\u3068\u9055\u3046\u7A2E\u985E\u3092\u66F8\u3044\u305F(doc) {
8365
+ return doc.actors.some(
8366
+ (a) => a.kindWritten === true && \u63CF\u3051\u308B\u7A2E\u5225(a.kind) !== \u72B6\u614B\u306E\u56F3\u306E\u65E2\u5B9A\u306E\u7A2E\u985E
8367
+ );
8368
+ }
8268
8369
  function compileState(doc) {
8269
- if (doc.animate && doc.animate.phases.length > 0) {
8370
+ if (doc.animate && doc.animate.phases.length > 0 || \u65E2\u5B9A\u3068\u9055\u3046\u7A2E\u985E\u3092\u66F8\u3044\u305F(doc)) {
8270
8371
  return compileGenericWithAnimate(doc, { kind: "state", laneWidth: 360 });
8271
8372
  }
8272
8373
  const fsm = cdl.stateMachine({
@@ -9137,6 +9238,8 @@ var ACCEPTED_KEYS = {
9137
9238
  "subtitle",
9138
9239
  "eyebrow",
9139
9240
  "value",
9241
+ // 前の時点の値 (#1450)。 内訳の変化を帯で示す図と、値 1 つを大きく示す図が読む
9242
+ "previous",
9140
9243
  "rows",
9141
9244
  "lane",
9142
9245
  "stack",
@@ -9189,7 +9292,7 @@ var ACCEPTED_KEYS = {
9189
9292
  "overlay",
9190
9293
  "pos"
9191
9294
  ],
9192
- phase: ["step", "duration", "focus", "body", "badge", "tween", "set", "draw"],
9295
+ phase: ["step", "duration", "focus", "body", "badge", "tween", "set", "draw", "drawRatio"],
9193
9296
  viewport: ["width", "height", "scale", "laneWidth", "gap", "laneGap", "nodeGap", "labelMargin"],
9194
9297
  lane: ["x", "width", "label", "contain", "lifeline", "pos"],
9195
9298
  group: ["label", "lanes"],
@@ -9229,6 +9332,7 @@ var \u6B04\u306E\u578B\u8868 = {
9229
9332
  subtitle: "\u6587\u5B57\u5217",
9230
9333
  eyebrow: "\u6587\u5B57\u5217",
9231
9334
  value: "\u6587\u5B57\u5217",
9335
+ previous: "\u6587\u5B57\u5217",
9232
9336
  rows: "\u6587\u5B57\u5217\u306E\u4E26\u3073",
9233
9337
  lane: "\u6587\u5B57\u5217",
9234
9338
  stack: "\u6570",
@@ -9289,7 +9393,8 @@ var \u6B04\u306E\u578B\u8868 = {
9289
9393
  badge: "\u6587\u5B57\u5217",
9290
9394
  tween: "object",
9291
9395
  set: "object",
9292
- draw: "\u63CF\u304F\u3082\u306E"
9396
+ draw: "\u63CF\u304F\u3082\u306E",
9397
+ drawRatio: "\u6570"
9293
9398
  },
9294
9399
  viewport: {
9295
9400
  width: "\u6570",
@@ -10327,6 +10432,7 @@ function jsonToDoc(json) {
10327
10432
  subtitle: a.subtitle,
10328
10433
  eyebrow: a.eyebrow,
10329
10434
  value: a.value,
10435
+ previous: a.previous,
10330
10436
  rows: a.rows,
10331
10437
  lane: a.lane,
10332
10438
  stack: a.stack,
@@ -10427,6 +10533,9 @@ function jsonToDoc(json) {
10427
10533
  badge: p.badge,
10428
10534
  // 書いた段だけが欄を持つ。 空文字を置くと「書いた」 と「書いていない」 が同じ形になる
10429
10535
  ...p.draw !== void 0 ? { draw: p.draw, drawPos: p0 } : {},
10536
+ // 割合は `draw` がある段にだけ写す。 単独で書いても描く相手が決まらず何も起きないので、
10537
+ // 記法側 (同じ行に書かせる形) と同じ状態に揃える
10538
+ ...p.draw !== void 0 && p.drawRatio !== void 0 ? { drawRatio: p.drawRatio } : {},
10430
10539
  // 段の中で動かす分 (#1186)。 記法側の `tweens` / `sets` と同じ形に写す。
10431
10540
  // 空の配列を置かないのは、記法側が「無ければ field ごと持たない」 形だから
10432
10541
  ...p.tween && Object.keys(p.tween).length > 0 ? {
@@ -10522,6 +10631,11 @@ var diagram_default = {
10522
10631
  "pie",
10523
10632
  "bar",
10524
10633
  "line",
10634
+ "gauge",
10635
+ "radial",
10636
+ "stat",
10637
+ "waffle",
10638
+ "stacked",
10525
10639
  "funnel",
10526
10640
  "tree",
10527
10641
  "journey",
@@ -10529,11 +10643,11 @@ var diagram_default = {
10529
10643
  "c4",
10530
10644
  "mind"
10531
10645
  ],
10532
- description: '\u56F3\u306E\u7A2E\u985E\u3002 \u578B\u3054\u3068\u306B actors \u306E\u66F8\u304D\u65B9\u304C\u9055\u3046\u3002 [\u95A2\u4FC2\u3092\u63CF\u304F] sequence (\u6642\u7CFB\u5217\u306E\u547C\u3073\u51FA\u3057) / flow (\u51E6\u7406\u306E\u6D41\u308C) / swimlane (\u8CAC\u52D9\u3054\u3068\u306E\u6D41\u308C) / er (DB \u306E schema) / state (\u72B6\u614B\u306E\u9077\u79FB) / topology (network) / solidity (contract) / class (UML \u306E class) / c4 (architecture) / mind (\u767A\u60F3\u306E\u679D\u5206\u304B\u308C) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306B\u77E2\u5370\u3092\u66F8\u304F\u3002 [\u5024\u3092\u63CF\u304F] pie (\u5272\u5408) / bar (\u68D2\u306E\u9AD8\u3055) / line (\u7DDA\u306E\u9AD8\u3055\u3001 \u66F8\u3044\u305F\u9806\u306B\u4E26\u3076) \u306F actors \u306B `- \u540D\u524D: "45"` \u306E\u5F62\u3067\u6570\u3092\u66F8\u304F\u3002 funnel (\u6BB5\u3054\u3068\u306B\u6E1B\u308B\u6570) \u3082\u540C\u3058\u5F62\u3002 [\u8A9E\u3092\u63CF\u304F] journey (\u4F53\u9A13\u306E\u8D77\u4F0F) \u306F `- \u767B\u9332: "\u4E0D\u6E80"` \u306E\u5F62\u3067 \u6700\u9AD8 / \u6E80\u8DB3 / \u666E\u901A / \u4E0D\u6E80 / \u6012\u308A \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 quadrant (2 \u8EF8\u306E\u4ED5\u5206\u3051) \u306F `- \u91CD\u8907\u524A\u9664: "\u5DE6\u4E0A"` \u306E\u5F62\u3067 \u5DE6\u4E0A / \u53F3\u4E0A / \u5DE6\u4E0B / \u53F3\u4E0B \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 [\u6642\u671F\u3092\u63CF\u304F] gantt (\u5DE5\u7A0B\u306E\u4E26\u3073) \u306F `- \u8A2D\u8A08: "1\u6708"` \u306E\u5F62\u3067\u59CB\u307E\u308A\u306E\u6642\u671F\u3092\u66F8\u304D\u3001 flow \u306E\u77E2\u5370\u3067\u524D\u5F8C\u95A2\u4FC2\u3092\u66F8\u304F\u3002 [\u89AA\u5B50\u3092\u63CF\u304F] tree (\u89AA\u5B50\u306E\u5165\u308C\u5B50) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306E\u77E2\u5370\u3067\u89AA\u5B50\u3092\u66F8\u304F (\u77E2\u5370\u306E\u5148\u304C\u5B50)'
10646
+ description: '\u56F3\u306E\u7A2E\u985E\u3002 \u578B\u3054\u3068\u306B actors \u306E\u66F8\u304D\u65B9\u304C\u9055\u3046\u3002 [\u95A2\u4FC2\u3092\u63CF\u304F] sequence (\u6642\u7CFB\u5217\u306E\u547C\u3073\u51FA\u3057) / flow (\u51E6\u7406\u306E\u6D41\u308C) / swimlane (\u8CAC\u52D9\u3054\u3068\u306E\u6D41\u308C) / er (DB \u306E schema) / state (\u72B6\u614B\u306E\u9077\u79FB) / topology (network) / solidity (contract) / class (UML \u306E class) / c4 (architecture) / mind (\u767A\u60F3\u306E\u679D\u5206\u304B\u308C) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306B\u77E2\u5370\u3092\u66F8\u304F\u3002 [\u5024\u3092\u63CF\u304F] pie (\u5272\u5408) / bar (\u68D2\u306E\u9AD8\u3055) / line (\u7DDA\u306E\u9AD8\u3055\u3001 \u66F8\u3044\u305F\u9806\u306B\u4E26\u3076) / gauge (\u5408\u8A08\u3092\u534A\u5186\u3067\u793A\u3059) / radial (\u5F27\u306E\u9577\u3055\u3067\u6BD4\u3079\u308B) / stat (\u5024 1 \u3064\u3092\u5927\u304D\u304F\u793A\u3059) / waffle (\u5272\u5408\u3092 100 \u500B\u306E\u5370\u3067\u793A\u3059) / stacked (\u5185\u8A33\u3092\u5E2F\u3067\u793A\u3059) \u306F actors \u306B `- \u540D\u524D: "45"` \u306E\u5F62\u3067\u6570\u3092\u66F8\u304F\u3002 stat \u3068 stacked \u306F `- \u540D\u524D: { value: "320", previous: "280" }` \u306E\u5F62\u3067\u524D\u306E\u6642\u70B9\u306E\u5024\u3082\u66F8\u3051\u308B\u3002 funnel (\u6BB5\u3054\u3068\u306B\u6E1B\u308B\u6570) \u3082\u540C\u3058\u5F62\u3002 [\u8A9E\u3092\u63CF\u304F] journey (\u4F53\u9A13\u306E\u8D77\u4F0F) \u306F `- \u767B\u9332: "\u4E0D\u6E80"` \u306E\u5F62\u3067 \u6700\u9AD8 / \u6E80\u8DB3 / \u666E\u901A / \u4E0D\u6E80 / \u6012\u308A \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 quadrant (2 \u8EF8\u306E\u4ED5\u5206\u3051) \u306F `- \u91CD\u8907\u524A\u9664: "\u5DE6\u4E0A"` \u306E\u5F62\u3067 \u5DE6\u4E0A / \u53F3\u4E0A / \u5DE6\u4E0B / \u53F3\u4E0B \u306E\u3069\u308C\u304B\u3092\u66F8\u304F\u3002 [\u6642\u671F\u3092\u63CF\u304F] gantt (\u5DE5\u7A0B\u306E\u4E26\u3073) \u306F `- \u8A2D\u8A08: "1\u6708"` \u306E\u5F62\u3067\u59CB\u307E\u308A\u306E\u6642\u671F\u3092\u66F8\u304D\u3001 flow \u306E\u77E2\u5370\u3067\u524D\u5F8C\u95A2\u4FC2\u3092\u66F8\u304F\u3002 [\u89AA\u5B50\u3092\u63CF\u304F] tree (\u89AA\u5B50\u306E\u5165\u308C\u5B50) \u306F actors \u306B\u540D\u524D\u3092\u4E26\u3079 flow \u306E\u77E2\u5370\u3067\u89AA\u5B50\u3092\u66F8\u304F (\u77E2\u5370\u306E\u5148\u304C\u5B50)'
10533
10647
  },
10534
10648
  eyebrow: {
10535
10649
  type: "string",
10536
- description: "\u56F3\u8868\u306E\u7BB1\u306E\u4E0A\u306B\u51FA\u3059\u5C0F\u898B\u51FA\u3057 (\u7701\u7565\u53EF)\u3002 \u52B9\u304F\u306E\u306F\u56F3\u5168\u4F53\u3092 1 \u7BB1\u306B\u3059\u308B\u578B (pie / bar / line / funnel / tree / journey / quadrant / mind / gantt) \u3060\u3051\u3002 \u7BB1\u3054\u3068\u306B\u5206\u304B\u308C\u308B\u578B\u3067\u306F\u76F8\u624B\u304C\u6C7A\u307E\u3089\u306A\u3044\u305F\u3081\u3001 actors[].eyebrow \u306B\u66F8\u304F"
10650
+ description: "\u56F3\u8868\u306E\u7BB1\u306E\u4E0A\u306B\u51FA\u3059\u5C0F\u898B\u51FA\u3057 (\u7701\u7565\u53EF)\u3002 \u52B9\u304F\u306E\u306F\u56F3\u5168\u4F53\u3092 1 \u7BB1\u306B\u3059\u308B\u578B (pie / bar / line / gauge / radial / stat / waffle / stacked / funnel / tree / journey / quadrant / mind / gantt) \u3060\u3051\u3002 \u7BB1\u3054\u3068\u306B\u5206\u304B\u308C\u308B\u578B\u3067\u306F\u76F8\u624B\u304C\u6C7A\u307E\u3089\u306A\u3044\u305F\u3081\u3001 actors[].eyebrow \u306B\u66F8\u304F"
10537
10651
  },
10538
10652
  axes: {
10539
10653
  type: "object",
@@ -10602,6 +10716,10 @@ var diagram_default = {
10602
10716
  type: "string",
10603
10717
  description: "actor \u6570\u5024\u8868\u793A (kind: actor \u7528)"
10604
10718
  },
10719
+ previous: {
10720
+ type: "string",
10721
+ description: "\u524D\u306E\u6642\u70B9\u306E\u5024\u3002 type: stacked \u304C 2 \u672C\u76EE\u306E\u5E2F\u3068\u3057\u3066\u63CF\u304D\u3001type: stat \u304C\u5DEE\u3068\u3057\u3066\u51FA\u3059\u3002 \u66F8\u304B\u306A\u3044\u56F3\u306F 1 \u672C\u306E\u307E\u307E"
10722
+ },
10605
10723
  rows: {
10606
10724
  type: "array",
10607
10725
  items: {
@@ -11079,6 +11197,12 @@ var diagram_default = {
11079
11197
  enum: ["line", "bar", "pie", "journey", "mind", "tree", "gantt", "funnel"],
11080
11198
  description: "\u3053\u306E phase \u3067\u8D77\u70B9\u304B\u3089\u63CF\u304F\u3082\u306E\u3002 \u8A9E\u306F\u56F3\u7A2E\u3068\u63C3\u3048\u308B\u3002 line / journey = \u7DDA\u304C\u5DE6\u7AEF\u304B\u3089\u53F3\u3078\u4F38\u3073\u308B / bar = \u68D2\u304C\u6A2A\u8EF8\u304B\u3089\u4E0A\u3078\u4F38\u3073\u308B / pie = \u6247\u304C 12 \u6642\u304B\u3089\u6642\u8A08\u56DE\u308A\u306B\u958B\u304F / mind = \u679D\u304C\u4E2D\u5FC3\u304B\u3089\u5916\u3078\u4F38\u3073\u308B / tree = \u679D\u304C\u6839\u304B\u3089\u4E0B\u3078\u4F38\u3073\u308B / gantt = \u5E2F\u304C\u5404\u59CB\u7AEF\u304B\u3089\u53F3\u3078\u4F38\u3073\u308B / funnel = \u6BB5\u304C\u4E0A\u7AEF\u304B\u3089\u9806\u306B\u7A4D\u307E\u308C\u308B"
11081
11199
  },
11200
+ drawRatio: {
11201
+ type: "number",
11202
+ exclusiveMinimum: 0,
11203
+ maximum: 1,
11204
+ description: "\u63CF\u304D\u7D42\u3048\u308B\u307E\u3067\u306B phase \u306E\u4F55\u5272\u3092\u4F7F\u3046\u304B\u3002 0.4 \u306A\u3089\u9032\u307F\u304C 0.4 \u306B\u9054\u3057\u305F\u6642\u70B9\u3067\u63CF\u304D\u7D42\u308F\u308A\u3001\u6B8B\u308A\u306F\u63CF\u304D\u7D42\u308F\u3063\u305F\u59FF\u306E\u307E\u307E\u5024\u3060\u3051\u304C\u52D5\u304F\u3002 \u66F8\u304B\u306A\u3051\u308C\u3070 phase \u306E\u7D42\u308F\u308A\u306B\u63CF\u304D\u7D42\u308F\u308B\u3002 draw \u3068\u4E00\u7DD2\u306B\u66F8\u304F (draw \u304C\u7121\u3044\u3068\u4F55\u3082\u8D77\u304D\u306A\u3044)"
11205
+ },
11082
11206
  tween: {
11083
11207
  type: "object",
11084
11208
  description: "\u3053\u306E phase \u3067\u88DC\u9593\u3059\u308B\u72B6\u614B\u3002 \u72B6\u614B\u540D -> [\u958B\u59CB\u5024, \u7D42\u4E86\u5024]\u3002 \u540D\u524D\u306F\u82F1\u5B57\u304B _ \u3067\u59CB\u3081\u3001 \u82F1\u6570\u5B57\u3068 _ \u3060\u3051\u3092\u4F7F\u3046",