@cardenelabs/dragon 0.32.0 → 0.34.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
@@ -53,7 +53,7 @@ flow:
53
53
  | 欄 | 何を書くか |
54
54
  | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
55
55
  | `title` | 図の題 |
56
- | `type` | 図種 (`sequence` / `flow` / `flowchart` / `swimlane` / `record` / `topology` / `gantt` / `mind` / `tree` / `c4` / `chart` / その他)。 古い綴りは組に読み替える = `solidity` は `sequence` と `order: 種類`、数を描く 9 つ (`pie` 等) は `chart` と同じ綴りの `shape` |
56
+ | `type` | 図種 (`sequence` / `flow` / `flowchart` / `swimlane` / `record` / `topology` / `gantt` / `mind` / `tree` / `c4` / `chart` / その他)。 古い綴りは組に読み替える = 数を描く 9 つ (`pie` 等) は `chart` と同じ綴りの `shape` |
57
57
  | `actors` | 箱 |
58
58
  | `flow` | 矢印 |
59
59
  | `states` | 状態の初期値 |
package/dist/index.cjs CHANGED
@@ -113,8 +113,8 @@ function resolveLegendMark(s) {
113
113
  function \u610F\u5320\u306E\u5B57\u306E\u6E2C\u308A\u65B9(_theme) {
114
114
  return "widest";
115
115
  }
116
- function \u610F\u5320\u306E\u5186\u306E\u533A\u753B\u306E\u9593(theme, node) {
117
- return theme === "neon" && node.kind === "chart-pie" ? 3 : void 0;
116
+ function \u610F\u5320\u306E\u5186\u306E\u533A\u753B\u306E\u9593(_theme, _node) {
117
+ return void 0;
118
118
  }
119
119
  function \u68D2\u3092\u63CF\u304F\u7BC0\u304B(node) {
120
120
  return node.kind === "chart-bar" || node.kind === "gantt-timeline" || node.kind === "chart-stacked-bar" || node.kind === "funnel-stages" && node.funnelForm === "proportional-bars";
@@ -552,17 +552,10 @@ function \u5F8C\u308D\u3078\u623B\u308B\u77E2\u5370\u304B(kind, fromId, toId, \u
552
552
 
553
553
  // src/compile/order.ts
554
554
  var \u7A2E\u985E\u306E\u6BB5 = {
555
- eoa: 0,
556
555
  actor: 0,
557
- multisig: 0,
558
556
  signer: 0,
559
- wallet: 0,
560
- contract: 1,
561
- proxy: 1,
562
- library: 1,
563
- interface: 1,
564
- storage: 2,
565
- event: 3
557
+ storage: 1,
558
+ event: 2
566
559
  };
567
560
  var \u8868\u306B\u7121\u3044\u7A2E\u985E\u306E\u6BB5 = 5;
568
561
  var \u4E26\u3073\u9806\u3092\u9078\u3079\u308B\u56F3\u7A2E = /* @__PURE__ */ new Set(["sequence"]);
@@ -622,12 +615,6 @@ function \u59CB\u307E\u308A\u3068\u7D42\u308F\u308A\u306E\u6C7A\u3081\u65B9(doc,
622
615
  var \u8A18\u6CD5\u3060\u3051\u306E\u7A2E\u985E\u306E\u8AAD\u307F\u66FF\u3048 = {
623
616
  entity: "storage",
624
617
  state: "card",
625
- contract: "card",
626
- proxy: "card",
627
- library: "card",
628
- interface: "card",
629
- eoa: "person",
630
- multisig: "signer",
631
618
  loop: "card"
632
619
  };
633
620
  function \u63CF\u3051\u308B\u7A2E\u5225(kind) {
@@ -3359,6 +3346,79 @@ function \u7DE8\u96C6\u8DDD\u96E2(a, b, \u4E0A\u9650) {
3359
3346
  return \u524D[b.length];
3360
3347
  }
3361
3348
 
3349
+ // src/v05/removed-syntax.ts
3350
+ var \u5916\u3057\u305F\u56F3\u7A2E = /* @__PURE__ */ new Map([
3351
+ ["solidity", "`type: sequence` \u3068 `order: \u7A2E\u985E`"]
3352
+ ]);
3353
+ var \u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E = [
3354
+ "shape-kanban-card",
3355
+ "shape-message-bubble",
3356
+ "shape-gear",
3357
+ "shape-network-node",
3358
+ "shape-iot-sensor",
3359
+ "shape-robot-arm",
3360
+ "shape-satellite",
3361
+ "shape-website",
3362
+ "shape-cdn-edge",
3363
+ "shape-api-gateway",
3364
+ "shape-storefront",
3365
+ "shape-warehouse",
3366
+ "shape-online-shop",
3367
+ "shape-customer-service",
3368
+ "shape-lawyer",
3369
+ "shape-auditor",
3370
+ "shape-regulator",
3371
+ "shape-notary",
3372
+ "shape-trader",
3373
+ "shape-smart-contract",
3374
+ "shape-blockchain-block",
3375
+ "shape-blockchain",
3376
+ "shape-bitcoin-chain",
3377
+ "shape-ethereum-chain",
3378
+ "shape-blockchain-node",
3379
+ "shape-rpc-node",
3380
+ "shape-wallet",
3381
+ "shape-nft",
3382
+ "shape-token",
3383
+ "shape-bank",
3384
+ "shape-trust-bank",
3385
+ "shape-payment-provider",
3386
+ "shape-credit-card",
3387
+ "shape-brokerage",
3388
+ "shape-exchange",
3389
+ "shape-atm"
3390
+ ];
3391
+ var \u633F\u7D75\u306E\u4EE3\u308F\u308A = "\u57FA\u672C\u306E\u5F62 (`shape-file` / `shape-cylinder` \u306A\u3069) \u3092\u4F7F\u3046\u304B\u3001\u7BB1\u306B `kindForm: icon` \u3068 `icon` \u3092\u66F8\u304F";
3392
+ var \u5916\u3057\u305F\u7A2E\u985E = new Map([
3393
+ ["contract", "`card`"],
3394
+ ["proxy", "`card`"],
3395
+ ["library", "`card`"],
3396
+ ["interface", "`card`"],
3397
+ ["eoa", "`person`"],
3398
+ ["multisig", "`signer`"],
3399
+ ["alb", "`api`"],
3400
+ ["ecs", "`microservice`"],
3401
+ ["iam", "`admin`"],
3402
+ ["kms", "`admin`"],
3403
+ ["lambda", "`function`"],
3404
+ ["rds", "`database`"],
3405
+ ["s3", "`storage`"],
3406
+ ...\u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E.map((k) => [k, \u633F\u7D75\u306E\u4EE3\u308F\u308A])
3407
+ ]);
3408
+ function \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(kind) {
3409
+ const \u4EE3\u308F\u308A = \u5916\u3057\u305F\u7A2E\u985E.get(kind);
3410
+ if (\u4EE3\u308F\u308A === void 0) return void 0;
3411
+ return {
3412
+ message: `\u7BB1\u306E\u7A2E\u985E "${kind}" \u306F\u5916\u3057\u307E\u3057\u305F`,
3413
+ hint: \u5916\u3057\u305F\u633F\u7D75\u306E\u7A2E\u985E.includes(kind) ? \u4EE3\u308F\u308A : `\u4EE3\u308F\u308A\u306B ${\u4EE3\u308F\u308A} \u3092\u66F8\u304F`
3414
+ };
3415
+ }
3416
+ function \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(type) {
3417
+ const \u4EE3\u308F\u308A = \u5916\u3057\u305F\u56F3\u7A2E.get(type);
3418
+ if (\u4EE3\u308F\u308A === void 0) return void 0;
3419
+ return { message: `\u56F3\u7A2E "${type}" \u306F\u5916\u3057\u307E\u3057\u305F`, hint: `\u4EE3\u308F\u308A\u306B ${\u4EE3\u308F\u308A} \u3092\u66F8\u304F` };
3420
+ }
3421
+
3362
3422
  // src/relative-pos.ts
3363
3423
  var RELATIVE_DIRECTIONS = ["right", "left", "above", "below"];
3364
3424
  var RELATIVE_GAP_DEFAULT = 160;
@@ -5239,7 +5299,6 @@ var PRESET_TYPES = /* @__PURE__ */ new Set([
5239
5299
  "mind"
5240
5300
  ]);
5241
5301
  var TYPE_ALIASES = new Map([
5242
- ["solidity", { type: "sequence", order: "\u7A2E\u985E" }],
5243
5302
  ...SHAPES.map((s) => [s, { type: "chart", shape: s }])
5244
5303
  ]);
5245
5304
  function shape\u306E\u6848\u5185(type) {
@@ -5251,34 +5310,14 @@ var NODE_KIND_DEFAULT = "actor";
5251
5310
  var DSL_ONLY_KINDS = [
5252
5311
  "entity",
5253
5312
  "state",
5254
- "contract",
5255
- "eoa",
5256
- "multisig",
5257
- "proxy",
5258
- "library",
5259
- "interface",
5260
5313
  // 繰り返しの箱 (#2523)。 描画側は分かれ道の図の形としてだけ持ち、種類としては持たないため
5261
5314
  // ここに置く。 分かれ道の図では形に読み替わり (`compile/flowchart.ts`)、それ以外の図種では
5262
5315
  // `記法だけの種類の読み替え` が札に落とす
5263
5316
  "loop"
5264
5317
  ];
5265
5318
  var INFRA_KIND_ALIAS = {
5266
- alb: "shape-api-gateway",
5267
- // 入口で振り分ける
5268
5319
  browser: "frontend",
5269
5320
  // 画面側
5270
- ecs: "microservice",
5271
- // コンテナ群
5272
- iam: "admin",
5273
- // 権限を守る
5274
- kms: "admin",
5275
- // 鍵を守る
5276
- lambda: "function",
5277
- // 呼ぶと動く
5278
- rds: "database",
5279
- // 表を持つ
5280
- s3: "storage",
5281
- // 置き場
5282
5321
  secret: "storage",
5283
5322
  // 機密の置き場
5284
5323
  user: "person",
@@ -5945,12 +5984,12 @@ function parseTextDslV05(src) {
5945
5984
  if (head.key === "type") {
5946
5985
  const v = (head.value ?? "").trim().toLowerCase();
5947
5986
  const \u5225\u540D = TYPE_ALIASES.get(v);
5948
- if (\u5225\u540D !== void 0) {
5987
+ const \u5916\u3057\u305F = \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(v);
5988
+ if (\u5916\u3057\u305F !== void 0) {
5989
+ errors.push({ line: line.no, ...\u5916\u3057\u305F });
5990
+ type = "sequence";
5991
+ } else if (\u5225\u540D !== void 0) {
5949
5992
  type = \u5225\u540D.type;
5950
- if (order === null && \u5225\u540D.order !== void 0) {
5951
- order = \u5225\u540D.order;
5952
- orderLine = line.no;
5953
- }
5954
5993
  if (\u5225\u540D.shape !== void 0) {
5955
5994
  aliasShape = \u5225\u540D.shape;
5956
5995
  aliasShapeLine = line.no;
@@ -7709,6 +7748,12 @@ function reportV04Kind(kindRaw, line, errors) {
7709
7748
  hint: `v0.5 \u3067\u306F\u82F1\u8A9E\u3067\u66F8\u304F (\`${\u82F1\u8A9E}\`)`
7710
7749
  });
7711
7750
  }
7751
+ function reportRemovedKind(kindRaw, line, errors) {
7752
+ const \u77E5\u3089\u305B = \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(kindRaw);
7753
+ if (\u77E5\u3089\u305B === void 0) return false;
7754
+ errors.push({ line, ...\u77E5\u3089\u305B });
7755
+ return true;
7756
+ }
7712
7757
  var COLOR_KEYS = /* @__PURE__ */ new Set(["\u8272", "color", "tone"]);
7713
7758
  var SCALE_KEYS = /* @__PURE__ */ new Set(["scale", "\u500D\u7387"]);
7714
7759
  var SCALE_ORDER = ["scale", "\u500D\u7387"];
@@ -7758,9 +7803,10 @@ function applyContinuationLines(actor, rest, errors) {
7758
7803
  case "\u7A2E\u985E": {
7759
7804
  const k = stripQuotes(raw).toLowerCase();
7760
7805
  reportV04Kind(k, ln.no, errors);
7761
- const isPart = k !== "" && !NODE_KIND_VALID.has(k);
7762
- out.kind = isPart ? NODE_KIND_DEFAULT : resolveNodeKind(k);
7763
- out.kindWritten = k !== "" && !isPart;
7806
+ const \u5916\u3057\u305F = reportRemovedKind(k, ln.no, errors);
7807
+ const isPart = k !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(k);
7808
+ out.kind = isPart || \u5916\u3057\u305F ? NODE_KIND_DEFAULT : resolveNodeKind(k);
7809
+ out.kindWritten = k !== "" && !isPart && !\u5916\u3057\u305F;
7764
7810
  out.partId = isPart ? k : void 0;
7765
7811
  break;
7766
7812
  }
@@ -8578,7 +8624,8 @@ function parseActor2(line, errors) {
8578
8624
  if (!namePart2) return null;
8579
8625
  const opts = \u4E2D\u62EC\u5F27\u306E\u5225\u540D\u3092\u5BC4\u305B\u308B(parseInlineMapping(mapMatch.inner));
8580
8626
  const kindRaw = (opts.kind ?? "").toLowerCase();
8581
- const isPart = kindRaw !== "" && !NODE_KIND_VALID.has(kindRaw);
8627
+ const \u5916\u3057\u305F = reportRemovedKind(kindRaw, line.no, errors);
8628
+ const isPart = kindRaw !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(kindRaw);
8582
8629
  const inlineScale = resolveScale(writtenScaleFields(mapMatch.inner), line.no, errors);
8583
8630
  reportScaleOnNonPart(isPart, inlineScale.keys[0], line.no, errors);
8584
8631
  reportUnknownInlineKeys(isPart, mapMatch.inner, line.no, errors);
@@ -8624,7 +8671,7 @@ function parseActor2(line, errors) {
8624
8671
  kind,
8625
8672
  // parts 候補は `kind` を既定に倒して `partId` へ退避するため、 名札に載せる種類としては
8626
8673
  // 「書かなかった」 と同じ扱いにする (#1058)
8627
- kindWritten: kindRaw !== "" && !isPart,
8674
+ kindWritten: kindRaw !== "" && !isPart && !\u5916\u3057\u305F,
8628
8675
  subtitle: opts.subtitle,
8629
8676
  kindForm: \u9589\u3058\u305F\u7BB1\u306E\u5024("kindForm", KIND_FORM_VALUES),
8630
8677
  icon: \u9589\u3058\u305F\u7BB1\u306E\u5024("icon", CDL_ICON_VALUES),
@@ -8695,7 +8742,8 @@ function parseActor2(line, errors) {
8695
8742
  const rest = raw.slice(idx + 1).trim();
8696
8743
  if (!namePart2) return null;
8697
8744
  const v = classifyValues(splitValues(rest), line.no, errors);
8698
- const isPart = v.kind !== "" && !NODE_KIND_VALID.has(v.kind);
8745
+ const \u5916\u3057\u305F = reportRemovedKind(v.kind, line.no, errors);
8746
+ const isPart = v.kind !== "" && !\u5916\u3057\u305F && !NODE_KIND_VALID.has(v.kind);
8699
8747
  reportV04Kind(v.kind, line.no, errors);
8700
8748
  reportScaleOnNonPart(isPart, v.scaleKeys?.[0], line.no, errors);
8701
8749
  const kind = isPart ? NODE_KIND_DEFAULT : resolveNodeKind(NODE_KIND_VALID.has(v.kind) ? v.kind : "");
@@ -8704,7 +8752,7 @@ function parseActor2(line, errors) {
8704
8752
  kind,
8705
8753
  // parts 候補は `kind` を既定に倒して `partId` へ退避するため、 名札に載せる種類としては
8706
8754
  // 「書かなかった」 と同じ扱いにする (#1058)
8707
- kindWritten: v.kind !== "" && !isPart,
8755
+ kindWritten: v.kind !== "" && !isPart && !\u5916\u3057\u305F,
8708
8756
  // parts では `tone` を状態の上書きとして扱うため、 色として渡さない
8709
8757
  tone: isPart ? void 0 : v.tone,
8710
8758
  subtitle: v.subtitle,
@@ -12725,8 +12773,6 @@ function \u914D\u8272\u3068\u7E1E\u3092\u5F53\u3066\u308B(diagram12, doc) {
12725
12773
  if (\u914D\u8272 === void 0) return;
12726
12774
  diagram12.palette = \u914D\u8272;
12727
12775
  for (const node of diagram12.nodes) {
12728
- const \u5186\u306E\u533A\u753B\u306E\u9593 = \u610F\u5320\u306E\u5186\u306E\u533A\u753B\u306E\u9593(\u914D\u8272, node);
12729
- if (\u5186\u306E\u533A\u753B\u306E\u9593 !== void 0) node.chartPieSliceGap = \u5186\u306E\u533A\u753B\u306E\u9593;
12730
12776
  if (\u68D2\u3092\u63CF\u304F\u7BC0\u304B(node)) {
12731
12777
  const \u68D2\u306E\u89D2 = \u610F\u5320\u306E\u68D2\u306E\u89D2(\u914D\u8272, node);
12732
12778
  if (\u68D2\u306E\u89D2 !== void 0) node.barCornerRadii = \u68D2\u306E\u89D2;
@@ -15283,7 +15329,12 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
15283
15329
  });
15284
15330
  }
15285
15331
  return;
15286
- case "\u5FC5\u9808\u306E\u56F3\u7A2E":
15332
+ case "\u5FC5\u9808\u306E\u56F3\u7A2E": {
15333
+ const \u5916\u3057\u305F = typeof v === "string" ? \u5916\u3057\u305F\u56F3\u7A2E\u306E\u77E5\u3089\u305B(v) : void 0;
15334
+ if (\u5916\u3057\u305F !== void 0) {
15335
+ errors.push({ path, message: `${\u540D\u524D} "${String(v)}" was removed`, hint: \u5916\u3057\u305F.hint });
15336
+ return;
15337
+ }
15287
15338
  if (typeof v !== "string" || !(VALID_PRESETS.includes(v) || VALID_ALIASES.includes(v))) {
15288
15339
  errors.push({
15289
15340
  path,
@@ -15292,6 +15343,7 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
15292
15343
  });
15293
15344
  }
15294
15345
  return;
15346
+ }
15295
15347
  case "object":
15296
15348
  case "\u4E26\u3073":
15297
15349
  case "\u5FC5\u9808\u306E\u4E26\u3073":
@@ -15369,7 +15421,7 @@ function validateRelativeAnchors(actors, errors) {
15369
15421
  }
15370
15422
  function \u898B\u672C\u306E\u540D\u524D\u304B(kind) {
15371
15423
  if (typeof kind !== "string" || kind.length === 0) return false;
15372
- return kind !== "actor" && !VALID_KIND_SET.has(kind);
15424
+ return kind !== "actor" && !\u5916\u3057\u305F\u7A2E\u985E.has(kind) && !VALID_KIND_SET.has(kind);
15373
15425
  }
15374
15426
  function validateViewport(v, errors) {
15375
15427
  if (v === void 0) return;
@@ -16554,6 +16606,10 @@ function validateJson(json) {
16554
16606
  }
16555
16607
  const ao = a;
16556
16608
  checkUnknownKeys(ao, "actor", `$.actors[${i}]`, errors);
16609
+ const \u5916\u3057\u305F = typeof ao.kind === "string" ? \u5916\u3057\u305F\u7A2E\u985E\u306E\u77E5\u3089\u305B(ao.kind) : void 0;
16610
+ if (\u5916\u3057\u305F !== void 0) {
16611
+ errors.push({ path: `$.actors[${i}].kind`, message: `kind "${String(ao.kind)}" was removed`, hint: \u5916\u3057\u305F.hint });
16612
+ }
16557
16613
  \u8868\u3067\u691C\u67FB(ao, "actor", `$.actors[${i}]`, "actor", errors);
16558
16614
  const actorEnum = (key, allowed) => {
16559
16615
  const value = ao[key];
@@ -16907,15 +16963,16 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
16907
16963
  return { name: a, kind: "actor", kindWritten: false, pos: \u4F4D\u7F6E("actors", i) };
16908
16964
  }
16909
16965
  const kindStr = a.kind ?? "actor";
16910
- const isPart = kindStr !== "actor" && !VALID_KIND_SET.has(kindStr);
16966
+ const isPart = \u898B\u672C\u306E\u540D\u524D\u304B(kindStr);
16967
+ const \u5916\u3057\u305F = \u5916\u3057\u305F\u7A2E\u985E.has(kindStr);
16911
16968
  const \u8272 = a.color !== void 0 ? splitColorValue(a.color) : {};
16912
16969
  const \u66F8\u3044\u305F\u5EA7\u6A19 = a.at ?? a.\u70B9\u306E\u4F4D\u7F6E;
16913
16970
  return {
16914
16971
  name: a.name,
16915
- kind: isPart ? "actor" : resolveNodeKind(kindStr),
16972
+ kind: isPart || \u5916\u3057\u305F ? "actor" : resolveNodeKind(kindStr),
16916
16973
  // parts 候補は `kind` を `actor` に倒して `partId` へ退避するため、 名札に載せる種類としては
16917
16974
  // 「書かなかった」 と同じ扱いにする (#1058)
16918
- kindWritten: a.kind !== void 0 && !isPart,
16975
+ kindWritten: a.kind !== void 0 && !isPart && !\u5916\u3057\u305F,
16919
16976
  subtitle: a.subtitle,
16920
16977
  kindForm: isPart ? void 0 : a.kindForm,
16921
16978
  icon: isPart ? void 0 : a.icon,
@@ -17178,7 +17235,6 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
17178
17235
  ...json.ganttSize !== void 0 ? { ganttSize: json.ganttSize } : {},
17179
17236
  ...json.quadrantLabelPosition !== void 0 ? { quadrantLabelPosition: json.quadrantLabelPosition } : {},
17180
17237
  ...json.quadrantSize !== void 0 ? { quadrantSize: json.quadrantSize } : {},
17181
- ...\u5225\u540D?.order !== void 0 ? { order: \u5225\u540D.order, orderPos: \u4F4D\u7F6E("type") } : {},
17182
17238
  ...\u5225\u540D?.shape !== void 0 ? { shape: \u5225\u540D.shape, shapePos: \u4F4D\u7F6E("type") } : {},
17183
17239
  // 前後の空白を落としてから見る。 記法側 (`v05/parser.ts`) が `trim()` してから
17184
17240
  // 空かどうかを判定するため、 揃えないと **空白だけの値で入口ごとに図が変わる**
@@ -17296,7 +17352,6 @@ var diagram_default = {
17296
17352
  "swimlane",
17297
17353
  "record",
17298
17354
  "topology",
17299
- "solidity",
17300
17355
  "gantt",
17301
17356
  "chart",
17302
17357
  "pie",
@@ -17315,7 +17370,7 @@ var diagram_default = {
17315
17370
  "c4",
17316
17371
  "mind"
17317
17372
  ],
17318
- 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) / flowchart (\u5206\u304B\u308C\u9053\u3068\u5224\u65AD\u3092\u542B\u3080\u624B\u9806) / swimlane (\u8CAC\u52D9\u3054\u3068\u306E\u6D41\u308C) / record (\u7BB1\u304C\u884C\u3092\u6301\u3061\u95A2\u4FC2\u3092\u6301\u3064\u56F3\u3002 \u8868\u306E\u3064\u306A\u304C\u308A\u3001\u79FB\u308A\u5909\u308F\u308A\u3001UML \u30AF\u30E9\u30B9\u95A2\u4FC2\u306B\u3082\u4F7F\u3046) / topology (network) / 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] chart (\u6570\u306E\u4E26\u3073) \u306F actors \u306B `- \u540D\u524D: "45"` \u306E\u5F62\u3067\u6570\u3092\u66F8\u304D\u3001 shape \u3067\u5F62\u3092\u9078\u3076 (pie = \u5272\u5408 / bar = \u68D2\u306E\u9AD8\u3055 / line = \u7DDA\u306E\u9AD8\u3055\u3067\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 / slope = 2 \u6642\u70B9\u3092\u76F4\u7DDA\u3067\u3064\u306A\u304E\u5897\u6E1B\u3068\u9806\u4F4D\u306E\u5165\u308C\u66FF\u308F\u308A\u3092\u793A\u3059)\u3002 shape \u304C stat \u3068 stacked \u3068 slope \u306E\u6642\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)\u3002 [\u53E4\u3044\u7DB4\u308A] solidity \u306F sequence \u3068 order: kind \u306E\u7D44\u3001 pie / bar / line / gauge / radial / stat / waffle / stacked / slope \u306F chart \u3068\u540C\u3058\u7DB4\u308A\u306E shape \u306E\u7D44\u3068\u540C\u3058\u6271\u3044\u306B\u306A\u308B'
17373
+ 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) / flowchart (\u5206\u304B\u308C\u9053\u3068\u5224\u65AD\u3092\u542B\u3080\u624B\u9806) / swimlane (\u8CAC\u52D9\u3054\u3068\u306E\u6D41\u308C) / record (\u7BB1\u304C\u884C\u3092\u6301\u3061\u95A2\u4FC2\u3092\u6301\u3064\u56F3\u3002 \u8868\u306E\u3064\u306A\u304C\u308A\u3001\u79FB\u308A\u5909\u308F\u308A\u3001UML \u30AF\u30E9\u30B9\u95A2\u4FC2\u306B\u3082\u4F7F\u3046) / topology (network) / 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] chart (\u6570\u306E\u4E26\u3073) \u306F actors \u306B `- \u540D\u524D: "45"` \u306E\u5F62\u3067\u6570\u3092\u66F8\u304D\u3001 shape \u3067\u5F62\u3092\u9078\u3076 (pie = \u5272\u5408 / bar = \u68D2\u306E\u9AD8\u3055 / line = \u7DDA\u306E\u9AD8\u3055\u3067\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 / slope = 2 \u6642\u70B9\u3092\u76F4\u7DDA\u3067\u3064\u306A\u304E\u5897\u6E1B\u3068\u9806\u4F4D\u306E\u5165\u308C\u66FF\u308F\u308A\u3092\u793A\u3059)\u3002 shape \u304C stat \u3068 stacked \u3068 slope \u306E\u6642\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)\u3002 [\u53E4\u3044\u7DB4\u308A] pie / bar / line / gauge / radial / stat / waffle / stacked / slope \u306F chart \u3068\u540C\u3058\u7DB4\u308A\u306E shape \u306E\u7D44\u3068\u540C\u3058\u6271\u3044\u306B\u306A\u308B'
17319
17374
  },
17320
17375
  form: {
17321
17376
  type: "string",
@@ -17677,7 +17732,7 @@ var diagram_default = {
17677
17732
  },
17678
17733
  kind: {
17679
17734
  type: "string",
17680
- description: "node kind\u3002 shape-* \u3092\u6307\u5B9A\u3057\u3066 49 shape \u4E2D\u304B\u3089\u9078\u3076\u3002 \u4F8B: 'shape-wallet' / 'shape-smart-contract' / 'shape-cloud' / 'shape-file' / 'actor' (default) / 'function' / 'storage' / 'event' \u7B49\u3002 \u7A2E\u5225\u306B\u7121\u3044\u540D\u524D\u306F\u90E8\u54C1\u306E\u540D\u524D\u3068\u3057\u3066\u90E8\u54C1\u306E\u4E00\u89A7 (partsCatalog) \u304B\u3089\u5F15\u304D\u3001\u4E00\u89A7\u306B\u3082\u7121\u3051\u308C\u3070\u7A2E\u5225\u3092\u66F8\u304B\u306A\u304B\u3063\u305F\u7BB1\u306B\u306A\u308B\u3002 \u90E8\u54C1\u3092\u6301\u3064\u4E00\u89A7\u3092\u6E21\u3057\u305F\u6642\u306F\u77E5\u3089\u305B\u3092\u51FA\u3057\u3001\u7DB4\u308A\u306E\u8FD1\u3044\u540D\u524D\u3092\u6848\u5185\u3059\u308B\u3002"
17735
+ description: "node kind\u3002 shape-* \u3092\u6307\u5B9A\u3059\u308B\u3068\u57FA\u672C\u306E\u5F62 (\u7BB1\u306E\u5F62\u305D\u306E\u3082\u306E\u3092\u63CF\u304F) \u3068\u6C4E\u7528\u306E\u633F\u7D75 (\u7A93 / \u7AEF\u672B / \u30B3\u30FC\u30C9\u306E\u672D / \u643A\u5E2F / \u30B5\u30FC\u30D0\u30FC\u306E\u68DA) \u304B\u3089\u9078\u3079\u308B\u3002 \u4F8B: 'shape-cloud' / 'shape-file' / 'shape-window' / 'actor' (default) / 'function' / 'storage' / 'event' \u7B49\u3002 \u7A2E\u5225\u306B\u7121\u3044\u540D\u524D\u306F\u90E8\u54C1\u306E\u540D\u524D\u3068\u3057\u3066\u90E8\u54C1\u306E\u4E00\u89A7 (partsCatalog) \u304B\u3089\u5F15\u304D\u3001\u4E00\u89A7\u306B\u3082\u7121\u3051\u308C\u3070\u7A2E\u5225\u3092\u66F8\u304B\u306A\u304B\u3063\u305F\u7BB1\u306B\u306A\u308B\u3002 \u90E8\u54C1\u3092\u6301\u3064\u4E00\u89A7\u3092\u6E21\u3057\u305F\u6642\u306F\u77E5\u3089\u305B\u3092\u51FA\u3057\u3001\u7DB4\u308A\u306E\u8FD1\u3044\u540D\u524D\u3092\u6848\u5185\u3059\u308B\u3002"
17681
17736
  },
17682
17737
  subtitle: {
17683
17738
  type: "string",