@cardenelabs/dragon 0.33.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
@@ -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,
@@ -15281,7 +15329,12 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
15281
15329
  });
15282
15330
  }
15283
15331
  return;
15284
- 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
+ }
15285
15338
  if (typeof v !== "string" || !(VALID_PRESETS.includes(v) || VALID_ALIASES.includes(v))) {
15286
15339
  errors.push({
15287
15340
  path,
@@ -15290,6 +15343,7 @@ function \u5024\u3092\u691C\u67FB(v, \u578B, path, \u540D\u524D, errors) {
15290
15343
  });
15291
15344
  }
15292
15345
  return;
15346
+ }
15293
15347
  case "object":
15294
15348
  case "\u4E26\u3073":
15295
15349
  case "\u5FC5\u9808\u306E\u4E26\u3073":
@@ -15367,7 +15421,7 @@ function validateRelativeAnchors(actors, errors) {
15367
15421
  }
15368
15422
  function \u898B\u672C\u306E\u540D\u524D\u304B(kind) {
15369
15423
  if (typeof kind !== "string" || kind.length === 0) return false;
15370
- return kind !== "actor" && !VALID_KIND_SET.has(kind);
15424
+ return kind !== "actor" && !\u5916\u3057\u305F\u7A2E\u985E.has(kind) && !VALID_KIND_SET.has(kind);
15371
15425
  }
15372
15426
  function validateViewport(v, errors) {
15373
15427
  if (v === void 0) return;
@@ -16552,6 +16606,10 @@ function validateJson(json) {
16552
16606
  }
16553
16607
  const ao = a;
16554
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
+ }
16555
16613
  \u8868\u3067\u691C\u67FB(ao, "actor", `$.actors[${i}]`, "actor", errors);
16556
16614
  const actorEnum = (key, allowed) => {
16557
16615
  const value = ao[key];
@@ -16905,15 +16963,16 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
16905
16963
  return { name: a, kind: "actor", kindWritten: false, pos: \u4F4D\u7F6E("actors", i) };
16906
16964
  }
16907
16965
  const kindStr = a.kind ?? "actor";
16908
- 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);
16909
16968
  const \u8272 = a.color !== void 0 ? splitColorValue(a.color) : {};
16910
16969
  const \u66F8\u3044\u305F\u5EA7\u6A19 = a.at ?? a.\u70B9\u306E\u4F4D\u7F6E;
16911
16970
  return {
16912
16971
  name: a.name,
16913
- kind: isPart ? "actor" : resolveNodeKind(kindStr),
16972
+ kind: isPart || \u5916\u3057\u305F ? "actor" : resolveNodeKind(kindStr),
16914
16973
  // parts 候補は `kind` を `actor` に倒して `partId` へ退避するため、 名札に載せる種類としては
16915
16974
  // 「書かなかった」 と同じ扱いにする (#1058)
16916
- kindWritten: a.kind !== void 0 && !isPart,
16975
+ kindWritten: a.kind !== void 0 && !isPart && !\u5916\u3057\u305F,
16917
16976
  subtitle: a.subtitle,
16918
16977
  kindForm: isPart ? void 0 : a.kindForm,
16919
16978
  icon: isPart ? void 0 : a.icon,
@@ -17176,7 +17235,6 @@ function jsonToDoc(json, \u884C\u306E\u8868) {
17176
17235
  ...json.ganttSize !== void 0 ? { ganttSize: json.ganttSize } : {},
17177
17236
  ...json.quadrantLabelPosition !== void 0 ? { quadrantLabelPosition: json.quadrantLabelPosition } : {},
17178
17237
  ...json.quadrantSize !== void 0 ? { quadrantSize: json.quadrantSize } : {},
17179
- ...\u5225\u540D?.order !== void 0 ? { order: \u5225\u540D.order, orderPos: \u4F4D\u7F6E("type") } : {},
17180
17238
  ...\u5225\u540D?.shape !== void 0 ? { shape: \u5225\u540D.shape, shapePos: \u4F4D\u7F6E("type") } : {},
17181
17239
  // 前後の空白を落としてから見る。 記法側 (`v05/parser.ts`) が `trim()` してから
17182
17240
  // 空かどうかを判定するため、 揃えないと **空白だけの値で入口ごとに図が変わる**
@@ -17294,7 +17352,6 @@ var diagram_default = {
17294
17352
  "swimlane",
17295
17353
  "record",
17296
17354
  "topology",
17297
- "solidity",
17298
17355
  "gantt",
17299
17356
  "chart",
17300
17357
  "pie",
@@ -17313,7 +17370,7 @@ var diagram_default = {
17313
17370
  "c4",
17314
17371
  "mind"
17315
17372
  ],
17316
- 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'
17317
17374
  },
17318
17375
  form: {
17319
17376
  type: "string",
@@ -17675,7 +17732,7 @@ var diagram_default = {
17675
17732
  },
17676
17733
  kind: {
17677
17734
  type: "string",
17678
- 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"
17679
17736
  },
17680
17737
  subtitle: {
17681
17738
  type: "string",