@cardenelabs/cdl 0.57.1 → 0.58.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/dist/index.js CHANGED
@@ -351,6 +351,122 @@ function inputDefaultValue(input) {
351
351
  }
352
352
  }
353
353
 
354
+ // src/lang.ts
355
+ function resolveLang(value) {
356
+ return value === "ja" ? "ja" : "en";
357
+ }
358
+ var en = {
359
+ /** `shape-terminal` の 2 行目 (命令の出力) */
360
+ "terminal.output": "\u2192 12 chunks in 1.8s",
361
+ /** `shape-code-block` の札の file 名 */
362
+ "codeBlock.fileName": "utils.ts",
363
+ /** `shape-kanban-card` の課題の番号 */
364
+ "kanbanCard.id": "CAR-1111",
365
+ /** `shape-kanban-card` の状態の札 */
366
+ "kanbanCard.status": "IN PROG",
367
+ /** `shape-kanban-card` の題の下の説明 */
368
+ "kanbanCard.task": "shape-driven kind \u5B9F\u88C5",
369
+ /** `shape-kanban-card` の期日 */
370
+ "kanbanCard.due": "Jul 10",
371
+ /** `shape-smart-contract` の契約の本文の 1 行 */
372
+ "smartContract.call": "function execute()",
373
+ /** `shape-blockchain-block` の題を渡さない時の見出し */
374
+ "blockchainBlock.title": "Block #421,873",
375
+ /** `shape-blockchain-block` の 1 行目の名前 (塊を識別する値) */
376
+ "blockchainBlock.hash": "hash",
377
+ /** `shape-blockchain-block` の 2 行目の名前 (1 つ前の塊の識別値) */
378
+ "blockchainBlock.prev": "prev",
379
+ /** `shape-blockchain-block` の 3 行目の名前 (取引をまとめた木の根) */
380
+ "blockchainBlock.merkle": "merkle",
381
+ /** `shape-blockchain-block` の 4 行目の名前 (採掘で試した値) */
382
+ "blockchainBlock.nonce": "nonce",
383
+ /** `shape-blockchain-block` の 5 行目の名前 (取引の件数) */
384
+ "blockchainBlock.tx": "tx",
385
+ /** `shape-blockchain-block` の 5 行目の値 */
386
+ "blockchainBlock.txCount": "142 tx",
387
+ /** `shape-rpc-node` の稼働の札 */
388
+ "rpcNode.status": "RPC ONLINE",
389
+ /** `shape-trust-bank` の看板 */
390
+ "trustBank.sign": "TRUST",
391
+ /** `shape-payment-provider` の看板 */
392
+ "paymentProvider.sign": "PAY",
393
+ /** `shape-payment-provider` の状態の札 */
394
+ "paymentProvider.status": "PROCESSING",
395
+ /** `shape-brokerage` の株価の帯 */
396
+ "brokerage.ticker": "\u25B2NKY 38,240 \u25B2AAPL 194",
397
+ /** `shape-brokerage` の看板 */
398
+ "brokerage.sign": "$ SECURITIES",
399
+ /** `shape-exchange` の看板 */
400
+ "exchange.sign": "EXCHANGE",
401
+ /** `shape-exchange` の看板の下の札 */
402
+ "exchange.sub": "clearing",
403
+ /** `shape-atm` の天井の看板 */
404
+ "atm.sign": "ATM CORNER",
405
+ /** `shape-atm` の画面の案内 */
406
+ "atm.screen": "SELECT AMOUNT",
407
+ /** `shape-atm` の決める鍵 */
408
+ "atm.ok": "OK",
409
+ /** `shape-atm` のカードを入れる口の札 */
410
+ "atm.cardSlot": "CARD SLOT",
411
+ /** `shape-storefront` の看板 */
412
+ "storefront.sign": "SHOP",
413
+ /** `shape-storefront` の扉の札 */
414
+ "storefront.open": "OPEN",
415
+ /** `shape-warehouse` の看板 */
416
+ "warehouse.sign": "WAREHOUSE",
417
+ /** `shape-api-gateway` の看板 */
418
+ "apiGateway.sign": "API GATEWAY",
419
+ /** `shape-api-gateway` の 3 行目の要求の種類 */
420
+ "apiGateway.delete": "DEL",
421
+ /** `shape-api-gateway` の 1 行目の宛先 */
422
+ "apiGateway.users": "/users",
423
+ /** `shape-api-gateway` の 2 行目の宛先 */
424
+ "apiGateway.orders": "/orders",
425
+ /** `shape-api-gateway` の 3 行目の宛先 */
426
+ "apiGateway.session": "/session"
427
+ };
428
+ var ja = {
429
+ "terminal.output": "\u2192 1.8 \u79D2\u3067\u5B8C\u4E86",
430
+ "codeBlock.fileName": "\u5171\u901A.ts",
431
+ "kanbanCard.id": "#1111",
432
+ "kanbanCard.status": "\u9032\u884C\u4E2D",
433
+ "kanbanCard.task": "\u5F62\u3092\u5B9F\u88C5",
434
+ "kanbanCard.due": "7/10",
435
+ "smartContract.call": "\u81EA\u52D5\u3067\u5B9F\u884C\u3059\u308B",
436
+ "blockchainBlock.title": "\u30D6\u30ED\u30C3\u30AF #421,873",
437
+ "blockchainBlock.hash": "\u30CF\u30C3\u30B7\u30E5",
438
+ "blockchainBlock.prev": "\u76F4\u524D",
439
+ "blockchainBlock.merkle": "\u6728\u306E\u6839",
440
+ "blockchainBlock.nonce": "\u30CE\u30F3\u30B9",
441
+ "blockchainBlock.tx": "\u53D6\u5F15",
442
+ "blockchainBlock.txCount": "142 \u4EF6",
443
+ "rpcNode.status": "RPC \u7A3C\u50CD\u4E2D",
444
+ "trustBank.sign": "\u4FE1\u8A17",
445
+ "paymentProvider.sign": "\u6C7A\u6E08",
446
+ "paymentProvider.status": "\u51E6\u7406\u4E2D",
447
+ "brokerage.ticker": "\u25B2\u65E5\u7D4C 38,240 \u25B2\u6771\u8A3C 2,710",
448
+ "brokerage.sign": "\xA5 \u8A3C\u5238",
449
+ "exchange.sign": "\u53D6\u5F15\u6240",
450
+ "exchange.sub": "\u6E05\u7B97",
451
+ "atm.sign": "ATM \u30B3\u30FC\u30CA\u30FC",
452
+ "atm.screen": "\u91D1\u984D\u3092\u9078\u629E",
453
+ "atm.ok": "\u78BA\u5B9A",
454
+ "atm.cardSlot": "\u30AB\u30FC\u30C9\u633F\u5165\u53E3",
455
+ "storefront.sign": "\u5546\u5E97",
456
+ "storefront.open": "\u55B6\u696D",
457
+ "warehouse.sign": "\u5009\u5EAB",
458
+ "apiGateway.sign": "API \u5165\u53E3",
459
+ "apiGateway.delete": "DELETE",
460
+ "apiGateway.users": "/\u5229\u7528\u8005",
461
+ "apiGateway.orders": "/\u6CE8\u6587",
462
+ "apiGateway.session": "/\u63A5\u7D9A"
463
+ };
464
+ var CDL_TEXT = { en, ja };
465
+ function \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang) {
466
+ const \u8A00\u8A9E = lang ?? "en";
467
+ return (key) => CDL_TEXT[\u8A00\u8A9E][key];
468
+ }
469
+
354
470
  // src/formula/ast.ts
355
471
  var ALLOWED_MATH_FNS = /* @__PURE__ */ new Set([
356
472
  "min",
@@ -11513,6 +11629,8 @@ function diagram(id, options) {
11513
11629
  ...options.structuredData === "exclude" ? { structuredData: "exclude" } : {},
11514
11630
  // 配色の名前は素通しする。 空文字の遮断は `layout` が持つ (後段が必ず通るため)
11515
11631
  ...options.palette !== void 0 ? { palette: options.palette } : {},
11632
+ // 言語も素通しする。 型の外の値を既定に落とすのは `layout` の 1 箇所に置く
11633
+ ...options.lang !== void 0 ? { lang: options.lang } : {},
11516
11634
  // 種類の名前も同じ経路で渡し、空文字の扱いを `layout` の 1 箇所に揃える
11517
11635
  ...options.type !== void 0 ? { type: options.type } : {},
11518
11636
  // inputs / formulas / scrollTriggers / eventBindings は空なら省略 (static diagram の JSON 形状維持)
@@ -20946,6 +21064,9 @@ function layout(diag) {
20946
21064
  // **遮断はここだけに置く**。 描画は必ず組み立てを通り、組み立て API も `er` も
20947
21065
  // 素通しにしてある。 上流にも置くと、どの入力でも通らない分岐が残る
20948
21066
  ...diag.palette ? { palette: diag.palette } : {},
21067
+ // 描画側の固定の字の言語 (#847)。 既定 (`en`) と型の外の値は持たせない = 配置の結果の形を
21068
+ // 変更前と揃え、記法の書き損じで一部の字だけ日本語になる形を作らない
21069
+ ...resolveLang(diag.lang) === "ja" ? { lang: "ja" } : {},
20949
21070
  // 種類も配色と同じく空の目印を出さない。 遮断をここに揃えると手書きの図にも効く
20950
21071
  ...diag.type ? { type: diag.type } : {},
20951
21072
  bboxes,
@@ -27775,6 +27896,11 @@ var commonFrame2 = (active) => ({
27775
27896
  var ASCENT3 = 0.72;
27776
27897
  var DESCENT3 = 0.25;
27777
27898
  var MONO_ADVANCE = 0.62;
27899
+ function \u7B49\u5E45\u306E\u6841(s) {
27900
+ let \u6841 = 0;
27901
+ for (const c of s) \u6841 += (c.codePointAt(0) ?? 0) >= 11904 ? 2 : 1;
27902
+ return \u6841;
27903
+ }
27778
27904
  var LABEL_SUB_RATIO = 11 / 16;
27779
27905
  var LABEL_EYE_RATIO = 12 / 16;
27780
27906
  var LABEL_EYE_GAP = 8;
@@ -27872,7 +27998,8 @@ function ShapeWindowNode({ node, active }) {
27872
27998
  commonLabel2(node, node.cx, \u540D\u524D.y, \u540D\u524D.size)
27873
27999
  ] });
27874
28000
  }
27875
- function ShapeTerminalNode({ node, active }) {
28001
+ function ShapeTerminalNode({ node, active, lang }) {
28002
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
27876
28003
  const frame = commonFrame2(active);
27877
28004
  const \u7DDA = frame.strokeWidth / 2;
27878
28005
  const x = node.cx - node.w / 2 + \u7DDA;
@@ -27893,10 +28020,10 @@ function ShapeTerminalNode({ node, active }) {
27893
28020
  { \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" },
27894
28021
  { \u5DE6: 30, \u5B57: 12.5, \u8272: "#e6edf3", \u6587: "pnpm build" }
27895
28022
  ],
27896
- [{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: "\u2192 12 chunks in 1.8s" }],
28023
+ [{ \u5DE6: 16, \u5B57: 12, \u8272: "#8b95a5", \u6587: \u5B57\u5F15("terminal.output") }],
27897
28024
  [{ \u5DE6: 16, \u5B57: 12.5, \u8272: "#7cd88f", \u6587: "$" }]
27898
28025
  ];
27899
- const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((t) => t.\u5DE6 + t.\u6587.length * MONO_ADVANCE * t.\u5B57)) + \u4F59\u767D;
28026
+ const \u81EA\u7136\u5E45 = Math.max(...\u884C.flat().map((c) => c.\u5DE6 + \u7B49\u5E45\u306E\u6841(c.\u6587) * MONO_ADVANCE * c.\u5B57)) + \u4F59\u767D;
27900
28027
  const \u81EA\u7136\u9AD8 = \u5E2F + \u5148\u982D + \u884C\u9593 * (\u884C.length - 1) + Math.max(\u30AB\u30FC\u30BD\u30EB.\u4E0B, 12.5 * DESCENT3);
27901
28028
  const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, bodyH / \u81EA\u7136\u9AD8);
27902
28029
  const barH = \u5E2F * \u500D;
@@ -28006,7 +28133,8 @@ function ShapeTerminalNode({ node, active }) {
28006
28133
  )
28007
28134
  ] });
28008
28135
  }
28009
- function ShapeCodeBlockNode({ node, active }) {
28136
+ function ShapeCodeBlockNode({ node, active, lang }) {
28137
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
28010
28138
  const frame = commonFrame2(active);
28011
28139
  const \u7DDA = frame.strokeWidth / 2;
28012
28140
  const x = node.cx - node.w / 2 + \u7DDA;
@@ -28096,7 +28224,7 @@ function ShapeCodeBlockNode({ node, active }) {
28096
28224
  fontFamily: lineFont,
28097
28225
  textAnchor: "middle",
28098
28226
  fill: "#e6edf3",
28099
- children: "utils.ts"
28227
+ children: \u5B57\u5F15("codeBlock.fileName")
28100
28228
  }
28101
28229
  ),
28102
28230
  /* @__PURE__ */ jsx("circle", { cx: x + tabW - \u4E38, cy: y + tabH / 2, r: 3 * \u500D, fill: "#7cd88f", stroke: "none" }),
@@ -28172,7 +28300,8 @@ function ShapeCodeBlockNode({ node, active }) {
28172
28300
  )
28173
28301
  ] });
28174
28302
  }
28175
- function ShapeKanbanCardNode({ node, active }) {
28303
+ function ShapeKanbanCardNode({ node, active, lang }) {
28304
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
28176
28305
  const frame = commonFrame2(active);
28177
28306
  const \u7DDA = frame.strokeWidth / 2;
28178
28307
  const \u5F71 = 3;
@@ -28184,7 +28313,7 @@ function ShapeKanbanCardNode({ node, active }) {
28184
28313
  const \u5DE6\u53F3\u4F59\u767D = 14;
28185
28314
  const \u4E0A\u6BB5\u9699\u9593 = 8;
28186
28315
  const \u512A\u5148\u5E2F\u9AD8 = 10;
28187
- const ID\u6587 = "CAR-1111";
28316
+ const ID\u6587 = \u5B57\u5F15("kanbanCard.id");
28188
28317
  const ID\u57FA\u6E96 = 30;
28189
28318
  const ID\u5B57 = 11;
28190
28319
  const ID\u5B57\u9593 = 1;
@@ -28203,7 +28332,7 @@ function ShapeKanbanCardNode({ node, active }) {
28203
28332
  const \u4E0B\u5E2F = FOOTER\u4E0B - AVATAR\u4E2D\u5FC3Y + AVATAR\u534A\u5F84 + AVATAR\u67A0 / 2 + \u5E2F\u9593\u4F59\u767D;
28204
28333
  const \u4E2D\u5E2F = \u540D\u524D\u5B57 * ASCENT3 + \u540D\u524D\u5B57 * \u8AAC\u660E\u57FA\u6E96\u6BD4 + \u540D\u524D\u5B57 * \u8AAC\u660E\u5B57\u6BD4 * DESCENT3;
28205
28334
  const \u81EA\u7136\u9AD8 = \u4E0A\u5E2F + \u4E2D\u5E2F + \u4E0B\u5E2F;
28206
- const ID\u5E45 = ID\u6587.length * MONO_ADVANCE * ID\u5B57 + ID\u5B57\u9593 * ID\u6587.length;
28335
+ const ID\u5E45 = \u7B49\u5E45\u306E\u6841(ID\u6587) * MONO_ADVANCE * ID\u5B57 + ID\u5B57\u9593 * [...ID\u6587].length;
28207
28336
  const \u81EA\u7136\u5E45 = \u5DE6\u53F3\u4F59\u767D + ID\u5E45 + \u4E0A\u6BB5\u9699\u9593 + PILL\u5E45 + \u5DE6\u53F3\u4F59\u767D;
28208
28337
  const \u500D = Math.min(1, w / \u81EA\u7136\u5E45, h / \u81EA\u7136\u9AD8);
28209
28338
  const priorityBarH = \u512A\u5148\u5E2F\u9AD8 * \u500D;
@@ -28282,7 +28411,7 @@ function ShapeKanbanCardNode({ node, active }) {
28282
28411
  textAnchor: "middle",
28283
28412
  fill: "#5a4a1a",
28284
28413
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
28285
- children: "IN PROG"
28414
+ children: \u5B57\u5F15("kanbanCard.status")
28286
28415
  }
28287
28416
  ),
28288
28417
  /* @__PURE__ */ jsx(
@@ -28306,7 +28435,7 @@ function ShapeKanbanCardNode({ node, active }) {
28306
28435
  fontSize: \u540D\u524D.size * \u8AAC\u660E\u5B57\u6BD4,
28307
28436
  textAnchor: "middle",
28308
28437
  fill: "var(--cdl-text-dim, #5a6270)",
28309
- children: "shape-driven kind \u5B9F\u88C5"
28438
+ children: \u5B57\u5F15("kanbanCard.task")
28310
28439
  }
28311
28440
  ),
28312
28441
  /* @__PURE__ */ jsxs("g", { transform: `translate(${x + \u5DE6\u53F3\u4F59\u767D * \u500D}, ${footY})`, children: [
@@ -28369,7 +28498,7 @@ function ShapeKanbanCardNode({ node, active }) {
28369
28498
  fontWeight: 600,
28370
28499
  textAnchor: "end",
28371
28500
  fill: "var(--cdl-text-dim, #5a6270)",
28372
- children: "Jul 10"
28501
+ children: \u5B57\u5F15("kanbanCard.due")
28373
28502
  }
28374
28503
  )
28375
28504
  ] })
@@ -29413,7 +29542,8 @@ function EthereumDiamond({ cx, cy, h, colors }) {
29413
29542
  /* @__PURE__ */ jsx("path", { d: `M ${cx} ${midY} L ${cx + w} ${cy + h * 0.05} L ${cx} ${lowerBotY} Z`, fill: c.dark, stroke: c.stroke, strokeWidth: 0.6, strokeLinejoin: "round" })
29414
29543
  ] });
29415
29544
  }
29416
- function ShapeSmartContractNode({ node, active }) {
29545
+ function ShapeSmartContractNode({ node, active, lang }) {
29546
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
29417
29547
  const frame = commonFrame4(active);
29418
29548
  const r = shapeRegion(node);
29419
29549
  const docW = SMART_CONTRACT_W;
@@ -29449,7 +29579,7 @@ function ShapeSmartContractNode({ node, active }) {
29449
29579
  /* @__PURE__ */ jsx("path", { "data-cdl-role": "node-body", d: path, ...frame, strokeLinejoin: "round" }),
29450
29580
  /* @__PURE__ */ jsx("path", { d: foldPath, fill: "none", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
29451
29581
  [y + 40, y + 58, y + 76, y + 94].map((ly, i) => /* @__PURE__ */ jsx("rect", { x: x + 16, y: ly - 3, width: docW - 32 - i * 22, height: 5, rx: 1, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.7, stroke: "none" }, i)),
29452
- /* @__PURE__ */ jsx("text", { x: x + 16, y: y + docH - 46, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-tone-accent, #2d6a8f)", children: "function execute()" }),
29582
+ /* @__PURE__ */ jsx("text", { x: x + 16, y: y + docH - 46, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-tone-accent, #2d6a8f)", children: \u5B57\u5F15("smartContract.call") }),
29453
29583
  /* @__PURE__ */ jsx(
29454
29584
  "polygon",
29455
29585
  {
@@ -29470,14 +29600,14 @@ function ShapeSmartContractNode({ node, active }) {
29470
29600
  }
29471
29601
  var \u5B57\u306E\u5E45 = (text, size) => Math.max(displayWidth(text) * size * MONO_ADVANCE_RATIO, textWidth(text, size));
29472
29602
  var BLOCK_DEFAULT_FIELDS = [
29473
- { label: "hash", value: "0xaf31c9d2..." },
29474
- { label: "prev", value: "0x7b3f92c1..." },
29475
- { label: "merkle", value: "0xc1892f4a..." },
29476
- { label: "nonce", value: "82,914" },
29477
- { label: "tx", value: "142 tx" }
29603
+ { key: "hash", label: "blockchainBlock.hash", value: { text: "0xaf31c9d2..." } },
29604
+ { key: "prev", label: "blockchainBlock.prev", value: { text: "0x7b3f92c1..." } },
29605
+ { key: "merkle", label: "blockchainBlock.merkle", value: { text: "0xc1892f4a..." } },
29606
+ { key: "nonce", label: "blockchainBlock.nonce", value: { text: "82,914" } },
29607
+ { key: "tx", label: "blockchainBlock.tx", value: { \u8F9E\u66F8: "blockchainBlock.txCount" } }
29478
29608
  ];
29479
- var BLOCK_DEFAULT_TITLE = "Block #421,873";
29480
- function ShapeBlockchainBlockNode({ node, active }) {
29609
+ function ShapeBlockchainBlockNode({ node, active, lang }) {
29610
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
29481
29611
  const frame = commonFrame4(active);
29482
29612
  const r = shapeRegion(node);
29483
29613
  const bw = BLOCK_W;
@@ -29487,11 +29617,15 @@ function ShapeBlockchainBlockNode({ node, active }) {
29487
29617
  const x = cx - bw / 2;
29488
29618
  const y = cy - bh / 2;
29489
29619
  const \u6E21\u3055\u308C\u305F = (v) => (v ?? "").trim();
29490
- const \u898B\u51FA\u3057 = \u6E21\u3055\u308C\u305F(node.title) || BLOCK_DEFAULT_TITLE;
29491
- const fields = BLOCK_DEFAULT_FIELDS.map((f) => ({
29492
- label: f.label,
29493
- value: f.label === "hash" ? \u6E21\u3055\u308C\u305F(node.subtitle) || f.value : f.value
29494
- }));
29620
+ const \u898B\u51FA\u3057 = \u6E21\u3055\u308C\u305F(node.title) || \u5B57\u5F15("blockchainBlock.title");
29621
+ const fields = BLOCK_DEFAULT_FIELDS.map((f) => {
29622
+ const \u65E2\u5B9A\u5024 = "text" in f.value ? f.value.text : \u5B57\u5F15(f.value.\u8F9E\u66F8);
29623
+ return {
29624
+ key: f.key,
29625
+ label: \u5B57\u5F15(f.label),
29626
+ value: f.key === "hash" ? \u6E21\u3055\u308C\u305F(node.subtitle) || \u65E2\u5B9A\u5024 : \u65E2\u5B9A\u5024
29627
+ };
29628
+ });
29495
29629
  const \u898B\u51FA\u3057\u306E\u5E45 = bw - 14 - 30;
29496
29630
  const art = /* @__PURE__ */ jsxs("g", { children: [
29497
29631
  /* @__PURE__ */ jsx("rect", { x: x + 6, y: y + 6, width: bw, height: bh, rx: 8, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
@@ -29501,7 +29635,7 @@ function ShapeBlockchainBlockNode({ node, active }) {
29501
29635
  /* @__PURE__ */ jsx("circle", { cx: x + bw - 16, cy: y + 16, r: 5.5, fill: "#7cd88f", stroke: "#ffffff", strokeWidth: 1.5 }),
29502
29636
  fields.map((f, i) => /* @__PURE__ */ jsxs("g", { children: [
29503
29637
  /* @__PURE__ */ jsx("text", { x: x + 14, y: y + 54 + i * 22, fontSize: 10.5, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "var(--cdl-text-dim, #5a6270)", children: f.label }),
29504
- /* @__PURE__ */ jsx("text", { "data-cdl-role": `blockchain-block-${f.label}`, x: x + bw - 14, y: y + 54 + i * 22, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 600, textAnchor: "end", fill: "var(--cdl-text, #1a1f2a)", children: \u5E45\u3067\u5207\u308B(f.value, 11, bw - 28 - \u5B57\u306E\u5E45(f.label, 10.5) - 8, \u5B57\u306E\u5E45) }),
29638
+ /* @__PURE__ */ jsx("text", { "data-cdl-role": `blockchain-block-${f.key}`, x: x + bw - 14, y: y + 54 + i * 22, fontSize: 11, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 600, textAnchor: "end", fill: "var(--cdl-text, #1a1f2a)", children: \u5E45\u3067\u5207\u308B(f.value, 11, bw - 28 - \u5B57\u306E\u5E45(f.label, 10.5) - 8, \u5B57\u306E\u5E45) }),
29505
29639
  /* @__PURE__ */ jsx("line", { x1: x + 14, y1: y + 60 + i * 22, x2: x + bw - 14, y2: y + 60 + i * 22, stroke: "var(--cdl-divider, #d4d4d8)", strokeWidth: 0.5, opacity: 0.5 })
29506
29640
  ] }, i)),
29507
29641
  /* @__PURE__ */ jsxs("g", { transform: `translate(${cx - 32}, ${y + bh - 26})`, children: [
@@ -29706,7 +29840,8 @@ function ShapeBlockchainNodeNode({ node, active }) {
29706
29840
  bottomLabel2(node, r.cx, r.label)
29707
29841
  ] });
29708
29842
  }
29709
- function ShapeRpcNodeNode({ node, active }) {
29843
+ function ShapeRpcNodeNode({ node, active, lang }) {
29844
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
29710
29845
  const frame = commonFrame4(active);
29711
29846
  const r = shapeRegion(node);
29712
29847
  const cx = r.cx;
@@ -29719,7 +29854,7 @@ function ShapeRpcNodeNode({ node, active }) {
29719
29854
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: bw, height: bh, rx: 10, fill: "#1a2332", stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
29720
29855
  /* @__PURE__ */ jsx("rect", { x, y, width: bw, height: 30, rx: 10, fill: "#2d3a4f", stroke: "none" }),
29721
29856
  /* @__PURE__ */ jsx("circle", { cx: x + 14, cy: y + 15, r: 5, fill: "#27c93f", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.4;1;0.4", dur: "1.5s", repeatCount: "indefinite" }) }),
29722
- /* @__PURE__ */ jsx("text", { x: x + 26, y: y + 20, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, fill: "#7cd88f", children: "RPC ONLINE" }),
29857
+ /* @__PURE__ */ jsx("text", { x: x + 26, y: y + 20, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fontWeight: 700, fill: "#7cd88f", children: \u5B57\u5F15("rpcNode.status") }),
29723
29858
  /* @__PURE__ */ jsx("text", { x: cx, y: cy + 6, fontSize: 30, fontWeight: 700, textAnchor: "middle", fill: "#e6edf3", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "{...}" }),
29724
29859
  /* @__PURE__ */ jsx("text", { x: cx, y: cy + 26, fontSize: 11, textAnchor: "middle", fill: "#7a8290", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "JSON-RPC 2.0" }),
29725
29860
  /* @__PURE__ */ jsx("rect", { x: x + 16, y: y + bh - 24, width: bw - 32, height: 8, rx: 4, fill: "#0f1419", stroke: "none" }),
@@ -30005,7 +30140,8 @@ var TRUST_BASE_H = 14;
30005
30140
  var TRUST_BODY_OUT = 8;
30006
30141
  var TRUST_BLD_W_MIN = 140;
30007
30142
  var TRUST_BLD_W_MAX = 280;
30008
- function ShapeTrustBankNode({ node, active }) {
30143
+ function ShapeTrustBankNode({ node, active, lang }) {
30144
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30009
30145
  const frame = commonFrame5(active);
30010
30146
  const r = shapeRegion(node);
30011
30147
  const \u7DDA = frame.strokeWidth / 2;
@@ -30042,7 +30178,7 @@ function ShapeTrustBankNode({ node, active }) {
30042
30178
  return /* @__PURE__ */ jsx("rect", { x: r.cx - w / 2, y: y + bldH + i * BANK_STEP_DY, width: w, height: BANK_STEP_H, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.5 + i * 0.15, stroke: frame.stroke, strokeWidth: BANK_STEP_SW }, i);
30043
30179
  }),
30044
30180
  /* @__PURE__ */ jsx("path", { d: `M ${x - 6} ${y + pedimentH} L ${r.cx} ${y + 2} L ${x + bldW + 6} ${y + pedimentH} Z`, fill: "var(--cdl-node-fill, #ffffff)", stroke: frame.stroke, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
30045
- /* @__PURE__ */ jsx("text", { x: r.cx, y: y + pedimentH - 8, fontSize: 15, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: "TRUST" }),
30181
+ /* @__PURE__ */ jsx("text", { x: r.cx, y: y + pedimentH - 8, fontSize: 15, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "var(--cdl-tone-accent, #2d6a8f)", fontFamily: "Georgia, serif", children: \u5B57\u5F15("trustBank.sign") }),
30046
30182
  /* @__PURE__ */ jsx("rect", { x: x - 4, y: y + pedimentH, width: bldW + 8, height: architraveH, fill: "var(--cdl-divider, #d4d4d8)", fillOpacity: 0.4, stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
30047
30183
  Array.from({ length: nCols }, (_, i) => i).map((i) => {
30048
30184
  const colCx = x + 15 + colGap + i * (colW + colGap) + colW / 2;
@@ -30061,7 +30197,8 @@ function ShapeTrustBankNode({ node, active }) {
30061
30197
  bottomLabel3(node, r.cx, r.label)
30062
30198
  ] });
30063
30199
  }
30064
- function ShapePaymentProviderNode({ node, active }) {
30200
+ function ShapePaymentProviderNode({ node, active, lang }) {
30201
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30065
30202
  const frame = commonFrame5(active);
30066
30203
  const r = shapeRegion(node);
30067
30204
  const cx = r.cx;
@@ -30078,13 +30215,13 @@ function ShapePaymentProviderNode({ node, active }) {
30078
30215
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: boxW, height: boxH, rx: 10, fill: "#255a7a", stroke: accentDark, strokeWidth: frame.strokeWidth }),
30079
30216
  /* @__PURE__ */ jsx("rect", { x, y, width: boxW, height: headerH, rx: 10, fill: accentDarker }),
30080
30217
  /* @__PURE__ */ jsx("rect", { x, y: y + headerH - 8, width: boxW, height: 8, fill: accentDarker }),
30081
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 22, fontSize: 16, fontWeight: 700, letterSpacing: 4, textAnchor: "middle", fill: "#e5c07b", children: "PAY" }),
30218
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + 22, fontSize: 16, fontWeight: 700, letterSpacing: 4, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("paymentProvider.sign") }),
30082
30219
  /* @__PURE__ */ jsxs("g", { children: [
30083
30220
  /* @__PURE__ */ jsx("circle", { cx, cy: cy + 4, r: 22, fill: "none", stroke: "#e5c07b", strokeWidth: 3.5, strokeDasharray: "38 24", strokeLinecap: "round", children: /* @__PURE__ */ jsx("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${cx} ${cy + 4}`, to: `360 ${cx} ${cy + 4}`, dur: "2s", repeatCount: "indefinite" }) }),
30084
30221
  /* @__PURE__ */ jsx("circle", { cx, cy: cy + 4, r: 10, fill: "#e5c07b", stroke: accentDarker, strokeWidth: 1.5 }),
30085
30222
  /* @__PURE__ */ jsx("text", { x: cx, y: cy + 9, fontSize: 13, fontWeight: 700, textAnchor: "middle", fill: accentDarker, fontFamily: "Georgia, serif", children: "$" })
30086
30223
  ] }),
30087
- /* @__PURE__ */ jsx("text", { x: cx, y: y + boxH - 16, fontSize: 9, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: "PROCESSING" }),
30224
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + boxH - 16, fontSize: 9, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("paymentProvider.status") }),
30088
30225
  bottomLabel3(node, r.cx, r.label)
30089
30226
  ] });
30090
30227
  }
@@ -30132,7 +30269,8 @@ var BROKERAGE_SHADE_OUT = 2;
30132
30269
  var BROKERAGE_W_MIN = BROKERAGE_COLS * BROKERAGE_CELL_W + (BROKERAGE_COLS - 1) * BROKERAGE_GAP_X + 6;
30133
30270
  var BROKERAGE_W_MAX = 140;
30134
30271
  var BROKERAGE_H_MIN = BROKERAGE_TICK_H + BROKERAGE_LOGO_H + BROKERAGE_BASE_H;
30135
- function ShapeBrokerageNode({ node, active }) {
30272
+ function ShapeBrokerageNode({ node, active, lang }) {
30273
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30136
30274
  const frame = commonFrame5(active);
30137
30275
  const r = shapeRegion(node);
30138
30276
  const cx = r.cx;
@@ -30168,9 +30306,9 @@ function ShapeBrokerageNode({ node, active }) {
30168
30306
  /* @__PURE__ */ jsx("rect", { x: x - BROKERAGE_SHADE_OUT, y, width: BROKERAGE_SHADE_OUT * 2, height: h, fill: accentDarker }),
30169
30307
  /* @__PURE__ */ jsx("rect", { x, y, width: w, height: BROKERAGE_TICK_H, fill: "#0f1830", stroke: "none" }),
30170
30308
  /* @__PURE__ */ jsx("rect", { x: x + 2, y: y + 2, width: w - 4, height: 8, fill: "#1a2340", stroke: "none" }),
30171
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 9, fontSize: 5.5, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "\u25B2NKY 38,240 \u25B2AAPL 194" }),
30309
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + 9, fontSize: 5.5, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("brokerage.ticker") }),
30172
30310
  /* @__PURE__ */ jsx("rect", { x, y: y + BROKERAGE_TICK_H, width: w, height: BROKERAGE_LOGO_H, fill: "#e5c07b", stroke: "none" }),
30173
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 30, fontSize: 12, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: "$ SECURITIES" }),
30311
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + 30, fontSize: 12, fontWeight: 700, letterSpacing: 2.5, textAnchor: "middle", fill: "#0f1830", children: \u5B57\u5F15("brokerage.sign") }),
30174
30312
  Array.from({ length: rows }).map(
30175
30313
  (_, ri) => Array.from({ length: cols }).map((_2, ci) => {
30176
30314
  const wx = gridStartX + ci * (cellW + gapX);
@@ -30191,7 +30329,8 @@ function ShapeBrokerageNode({ node, active }) {
30191
30329
  bottomLabel3(node, r.cx, r.label)
30192
30330
  ] });
30193
30331
  }
30194
- function ShapeExchangeNode({ node, active }) {
30332
+ function ShapeExchangeNode({ node, active, lang }) {
30333
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30195
30334
  const frame = commonFrame5(active);
30196
30335
  const r = shapeRegion(node);
30197
30336
  const cx = r.cx;
@@ -30236,9 +30375,9 @@ function ShapeExchangeNode({ node, active }) {
30236
30375
  ] }, `d${i}`);
30237
30376
  }),
30238
30377
  /* @__PURE__ */ jsx("path", { d: hexPath, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth, strokeLinejoin: "round" }),
30239
- /* @__PURE__ */ jsx("text", { x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: "EXCHANGE" }),
30378
+ /* @__PURE__ */ jsx("text", { x: cx, y: cy - 8, fontSize: 10, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("exchange.sign") }),
30240
30379
  /* @__PURE__ */ jsx("text", { "data-cdl-role": "node-body", x: cx, y: cy + 12, fontSize: 22, fontWeight: 700, textAnchor: "middle", fill: "#e5c07b", children: "\u21C4" }),
30241
- /* @__PURE__ */ jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: "clearing" }),
30380
+ /* @__PURE__ */ jsx("text", { x: cx, y: cy + 26, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("exchange.sub") }),
30242
30381
  nodes.map((n, i) => /* @__PURE__ */ jsx("circle", { cx: n.cx, cy: n.cy, r: 8, fill: n.fill, stroke: accentDarker, strokeWidth: 1.5 }, `n${i}`))
30243
30382
  ] });
30244
30383
  return /* @__PURE__ */ jsxs("g", { children: [
@@ -30260,7 +30399,8 @@ var ATM_PANEL_H = 146;
30260
30399
  var ATM_W_MIN = 100;
30261
30400
  var ATM_W_MAX = 140;
30262
30401
  var ATM_H_MIN = ATM_SIGN_H + ATM_SIGN_GAP + 30 + ATM_FLOOR_RESERVE;
30263
- function ShapeAtmNode({ node, active }) {
30402
+ function ShapeAtmNode({ node, active, lang }) {
30403
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30264
30404
  const frame = commonFrame5(active);
30265
30405
  const r = shapeRegion(node);
30266
30406
  const cx = r.cx;
@@ -30294,12 +30434,12 @@ function ShapeAtmNode({ node, active }) {
30294
30434
  const \u7D75 = /* @__PURE__ */ jsxs("g", { children: [
30295
30435
  /* @__PURE__ */ jsx("ellipse", { cx, cy: y + totalH + ATM_SHADOW_DY, rx: totalW * ATM_SHADOW_RX_RATIO, ry: ATM_SHADOW_RY, fill: frame.stroke, opacity: 0.15, stroke: "none" }),
30296
30436
  /* @__PURE__ */ jsx("rect", { x: centerX - totalW / 2, y: signY, width: totalW, height: signH, fill: accentDarker, stroke: "#000", strokeWidth: ATM_SIGN_SW }),
30297
- /* @__PURE__ */ jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: "ATM CORNER" }),
30437
+ /* @__PURE__ */ jsx("text", { x: centerX, y: signY + 17, fontSize: 11, fontWeight: 700, letterSpacing: 2, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.sign") }),
30298
30438
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x: atmX, y: atmY, width: atmW, height: atmH, rx: 6, fill: "#255a7a", stroke: accentDarker, strokeWidth: frame.strokeWidth }),
30299
30439
  /* @__PURE__ */ jsxs("g", { transform: `translate(${centerX} ${atmY}) scale(${\u9762})`, children: [
30300
30440
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 8, y: 10, width: ATM_PANEL_W - 16, height: 52, rx: 3, fill: "#0f1830", stroke: "#000", strokeWidth: 1.5 }),
30301
30441
  /* @__PURE__ */ jsx("text", { x: 0, y: 30, fontSize: 10, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "\u304A\u5F15\u51FA\u3057" }),
30302
- /* @__PURE__ */ jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: "SELECT AMOUNT" }),
30442
+ /* @__PURE__ */ jsx("text", { x: 0, y: 44, fontSize: 8, fontWeight: 700, textAnchor: "middle", fill: "#a4b5f2", children: \u5B57\u5F15("atm.screen") }),
30303
30443
  /* @__PURE__ */ jsx("text", { x: 0, y: 56, fontSize: 10, fontWeight: 700, textAnchor: "middle", fill: "#4ea36a", children: "\xA5 20,000" }),
30304
30444
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 8, y: 68, width: ATM_PANEL_W - 16, height: 42, rx: 2, fill: "#8b949e", stroke: "#5a6270", strokeWidth: 1 }),
30305
30445
  (() => {
@@ -30313,7 +30453,7 @@ function ShapeAtmNode({ node, active }) {
30313
30453
  ["5", "#5a6270"],
30314
30454
  ["6", "#5a6270"],
30315
30455
  ["0", "#5a6270"],
30316
- ["OK", "#4ea36a"]
30456
+ [\u5B57\u5F15("atm.ok"), "#4ea36a"]
30317
30457
  ];
30318
30458
  const keyW = 18;
30319
30459
  const keyH = 10;
@@ -30326,13 +30466,16 @@ function ShapeAtmNode({ node, active }) {
30326
30466
  const ky = 74 + row * (keyH + 2);
30327
30467
  return /* @__PURE__ */ jsxs("g", { children: [
30328
30468
  /* @__PURE__ */ jsx("rect", { x: kx, y: ky, width: keyW, height: keyH, fill: k[1], stroke: "#0f1830", strokeWidth: 0.8 }),
30329
- /* @__PURE__ */ jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: k[0] === "OK" ? 6 : 7, fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
30469
+ /* @__PURE__ */ jsx("text", { x: kx + keyW / 2, y: ky + 7, fontSize: (
30470
+ /* 決める鍵 (末尾) は 2 字あるので小さく描く。 字は言語で変わるため位置で見分ける */
30471
+ i === keys.length - 1 ? 6 : 7
30472
+ ), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", children: k[0] })
30330
30473
  ] }, `k${i}`);
30331
30474
  });
30332
30475
  })(),
30333
30476
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 12, y: 116, width: ATM_PANEL_W - 24, height: 8, rx: 1.5, fill: "#0f1830", stroke: accentDarker, strokeWidth: 1 }),
30334
30477
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 15, y: 118, width: ATM_PANEL_W - 30, height: 4, rx: 0.5, fill: "#e5c07b" }),
30335
- /* @__PURE__ */ jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: "CARD SLOT" }),
30478
+ /* @__PURE__ */ jsx("text", { x: 0, y: 132, fontSize: 6, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#e5c07b", children: \u5B57\u5F15("atm.cardSlot") }),
30336
30479
  /* @__PURE__ */ jsx("rect", { x: \u9762\u5DE6 + 12, y: 136, width: ATM_PANEL_W - 24, height: 4, rx: 1, fill: "#0f1830" })
30337
30480
  ] }),
30338
30481
  /* @__PURE__ */ jsx("rect", { x: centerX - totalW / 2, y: floorY, width: totalW, height: 6, fill: "#8b949e", stroke: "none" }),
@@ -30417,7 +30560,8 @@ function ShapeWebsiteNode({ node, active }) {
30417
30560
  bottomLabel4(node, r.cx, r.label)
30418
30561
  ] });
30419
30562
  }
30420
- function ShapeStorefrontNode({ node, active }) {
30563
+ function ShapeStorefrontNode({ node, active, lang }) {
30564
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30421
30565
  const frame = commonFrame6(active);
30422
30566
  const r = shapeRegion(node);
30423
30567
  const cx = r.cx;
@@ -30443,7 +30587,7 @@ function ShapeStorefrontNode({ node, active }) {
30443
30587
  return /* @__PURE__ */ jsxs("g", { children: [
30444
30588
  /* @__PURE__ */ jsx("ellipse", { cx, cy: y + bh + 8, rx: bw * 0.5, ry: 5, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
30445
30589
  /* @__PURE__ */ jsx("rect", { x, y, width: bw, height: signH, fill: accent, stroke: accentDark, strokeWidth: 2 }),
30446
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 18, fontSize: 16, fontWeight: 900, letterSpacing: 8, textAnchor: "middle", fill: "#ffffff", children: "SHOP" }),
30590
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + 18, fontSize: 16, fontWeight: 900, letterSpacing: 8, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("storefront.sign") }),
30447
30591
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y: facadeY, width: bw, height: facadeH, fill: "#e0e4e8", stroke: "#5a6270", strokeWidth: frame.strokeWidth }),
30448
30592
  /* @__PURE__ */ jsx("rect", { x: winX, y: winY, width: winW, height: winH, fill: "#a4c5d9", stroke: accentDarker, strokeWidth: 2 }),
30449
30593
  /* @__PURE__ */ jsx("line", { x1: winX + winW / 2, y1: winY, x2: winX + winW / 2, y2: winY + winH, stroke: accentDarker, strokeWidth: 1 }),
@@ -30457,7 +30601,7 @@ function ShapeStorefrontNode({ node, active }) {
30457
30601
  /* @__PURE__ */ jsx("line", { x1: doorX + 4, y1: doorY + doorH * 0.38, x2: doorX + doorW - 4, y2: doorY + doorH * 0.38, stroke: accentDarker, strokeWidth: 1 }),
30458
30602
  /* @__PURE__ */ jsx("line", { x1: doorX + 4, y1: doorY + doorH * 0.72, x2: doorX + doorW - 4, y2: doorY + doorH * 0.72, stroke: accentDarker, strokeWidth: 1 }),
30459
30603
  /* @__PURE__ */ jsx("rect", { x: doorX + doorW / 2 - 20, y: doorY + doorH * 0.85, width: 40, height: 12, fill: "#e5c07b", stroke: "#a67c00", strokeWidth: 1.5 }),
30460
- /* @__PURE__ */ jsx("text", { x: doorX + doorW / 2, y: doorY + doorH * 0.85 + 9, fontSize: 8, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#5a3a10", children: "OPEN" }),
30604
+ /* @__PURE__ */ jsx("text", { x: doorX + doorW / 2, y: doorY + doorH * 0.85 + 9, fontSize: 8, fontWeight: 700, letterSpacing: 1, textAnchor: "middle", fill: "#5a3a10", children: \u5B57\u5F15("storefront.open") }),
30461
30605
  /* @__PURE__ */ jsx("circle", { cx: doorX + 6, cy: doorY + doorH * 0.55, r: 1.5, fill: "#c15a4a" }),
30462
30606
  /* @__PURE__ */ jsx("rect", { x: x - 6, y: y + bh - 6, width: bw + 12, height: 8, fill: "#5a6270", stroke: "none" }),
30463
30607
  bottomLabel4(node, r.cx, r.label)
@@ -30474,7 +30618,8 @@ var WAREHOUSE_SHADOW_RX_RATIO = 0.5;
30474
30618
  var WAREHOUSE_H_MIN = WAREHOUSE_ROOF_H + WAREHOUSE_SIGN_H + 68;
30475
30619
  var WAREHOUSE_W_MIN = 160;
30476
30620
  var WAREHOUSE_W_MAX = 240;
30477
- function ShapeWarehouseNode({ node, active }) {
30621
+ function ShapeWarehouseNode({ node, active, lang }) {
30622
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30478
30623
  const frame = commonFrame6(active);
30479
30624
  const r = shapeRegion(node);
30480
30625
  const cx = r.cx;
@@ -30503,7 +30648,7 @@ function ShapeWarehouseNode({ node, active }) {
30503
30648
  /* @__PURE__ */ jsx("path", { d: `M ${x - WAREHOUSE_ROOF_OUT} ${y + roofH} L ${x + 12} ${y + 2} L ${x + bw - 12} ${y + 2} L ${x + bw + WAREHOUSE_ROOF_OUT} ${y + roofH} Z`, fill: "#5a6270", stroke: accentDarker, strokeWidth: WAREHOUSE_ROOF_SW, strokeLinejoin: "round" }),
30504
30649
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y: y + roofH, width: bw, height: bh - roofH - 12, fill: "#a89d8f", stroke: "#5a6270", strokeWidth: frame.strokeWidth }),
30505
30650
  /* @__PURE__ */ jsx("rect", { x, y: y + roofH, width: bw, height: signH, fill: "#c15a4a", stroke: "#8b3f2f", strokeWidth: 1.5 }),
30506
- /* @__PURE__ */ jsx("text", { x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: "WAREHOUSE" }),
30651
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + roofH + 17, fontSize: 12, fontWeight: 900, letterSpacing: 6, textAnchor: "middle", fill: "#ffffff", children: \u5B57\u5F15("warehouse.sign") }),
30507
30652
  /* @__PURE__ */ jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: shutterH, fill: "#8b949e", stroke: accentDarker, strokeWidth: 2 }),
30508
30653
  /* @__PURE__ */ jsx("rect", { x: shutterX, y: shutterY, width: shutterW, height: 5, fill: "#5a6270", stroke: "none" }),
30509
30654
  Array.from({ length: 10 }, (_, i) => i).map((i) => /* @__PURE__ */ jsx(
@@ -30660,7 +30805,8 @@ var API_ROWS = 3;
30660
30805
  var API_H_MIN = API_ROW_TOP + (API_ROWS - 1) * API_ROW_PITCH_MIN + API_ROW_H + API_ROW_BOTTOM_PAD;
30661
30806
  var API_W_MIN = 200;
30662
30807
  var API_W_MAX = 300;
30663
- function ShapeApiGatewayNode({ node, active }) {
30808
+ function ShapeApiGatewayNode({ node, active, lang }) {
30809
+ const \u5B57\u5F15 = \u5B57\u5F15\u304D\u3092\u4F5C\u308B(lang);
30664
30810
  const frame = commonFrame6(active);
30665
30811
  const r = shapeRegion(node);
30666
30812
  const cx = r.cx;
@@ -30671,6 +30817,7 @@ function ShapeApiGatewayNode({ node, active }) {
30671
30817
  const x = cx - bw / 2;
30672
30818
  const y = r.cy - \u7E26 / 2 + \u4F59\u767D;
30673
30819
  const \u5E83\u304C\u308A = { \u4E0A: \u7E26 / 2, \u4E0B: \u7E26 / 2, \u5DE6: bw / 2 + \u4F59\u767D, \u53F3: bw / 2 + \u4F59\u767D };
30820
+ const \u7A2E\u985E\u306E\u5B57 = (s) => Math.min(11, 11 * 48 / Math.max(displayWidth(s) * 11 * MONO_ADVANCE_RATIO, textWidth(s, 11)));
30674
30821
  const rowPitch = Math.max(
30675
30822
  API_ROW_PITCH_MIN,
30676
30823
  (bh - API_ROW_TOP - API_ROW_H - API_ROW_BOTTOM_PAD) / (API_ROWS - 1)
@@ -30679,15 +30826,15 @@ function ShapeApiGatewayNode({ node, active }) {
30679
30826
  /* @__PURE__ */ jsx("rect", { x: x + DROP_SHADOW_D, y: y + DROP_SHADOW_D, width: bw, height: bh, rx: 10, fill: frame.stroke, opacity: 0.2, stroke: "none" }),
30680
30827
  /* @__PURE__ */ jsx("rect", { "data-cdl-role": "node-body", x, y, width: bw, height: bh, rx: 10, fill: "#1a2332", stroke: frame.stroke, strokeWidth: frame.strokeWidth }),
30681
30828
  /* @__PURE__ */ jsx("rect", { x, y, width: bw, height: 36, rx: 10, fill: "var(--cdl-tone-accent, #2d6a8f)", stroke: "none" }),
30682
- /* @__PURE__ */ jsx("text", { x: cx, y: y + 24, fontSize: 14, fontWeight: 700, letterSpacing: 3, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: "API GATEWAY" }),
30829
+ /* @__PURE__ */ jsx("text", { x: cx, y: y + 24, fontSize: 14, fontWeight: 700, letterSpacing: 3, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: \u5B57\u5F15("apiGateway.sign") }),
30683
30830
  [
30684
- { method: "GET", path: "/users", color: "#27c93f" },
30685
- { method: "POST", path: "/orders", color: "#e5c07b" },
30686
- { method: "DEL", path: "/session", color: "#c9302c" }
30831
+ { method: "GET", path: \u5B57\u5F15("apiGateway.users"), color: "#27c93f" },
30832
+ { method: "POST", path: \u5B57\u5F15("apiGateway.orders"), color: "#e5c07b" },
30833
+ { method: \u5B57\u5F15("apiGateway.delete"), path: \u5B57\u5F15("apiGateway.session"), color: "#c9302c" }
30687
30834
  ].map((e, i) => /* @__PURE__ */ jsxs("g", { transform: `translate(${x + 16}, ${y + API_ROW_TOP + i * rowPitch})`, children: [
30688
30835
  /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: bw - 32, height: API_ROW_H, rx: 4, fill: "#0f1419", stroke: "none" }),
30689
30836
  /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: 54, height: API_ROW_H, rx: 4, fill: e.color, stroke: "none" }),
30690
- /* @__PURE__ */ jsx("text", { x: 27, y: 16, fontSize: 11, fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: e.method }),
30837
+ /* @__PURE__ */ jsx("text", { x: 27, y: 16, fontSize: \u7A2E\u985E\u306E\u5B57(e.method), fontWeight: 700, textAnchor: "middle", fill: "#ffffff", fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", children: e.method }),
30691
30838
  /* @__PURE__ */ jsx("text", { x: 64, y: 16, fontSize: 12, fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace", fill: "#e6edf3", children: e.path }),
30692
30839
  /* @__PURE__ */ jsx("circle", { cx: bw - 44, cy: 12, r: 4, fill: "#27c93f", stroke: "none", children: /* @__PURE__ */ jsx("animate", { attributeName: "opacity", values: "0.4;1;0.4", dur: `${1.2 + i * 0.3}s`, repeatCount: "indefinite" }) })
30693
30840
  ] }, i))
@@ -30992,7 +31139,8 @@ function CdlNodeView({
30992
31139
  stateValues,
30993
31140
  currentPhaseId,
30994
31141
  chartLineScale,
30995
- \u95A2\u4FC2\u306E\u53D7\u3051\u53E3
31142
+ \u95A2\u4FC2\u306E\u53D7\u3051\u53E3,
31143
+ lang
30996
31144
  }) {
30997
31145
  const value = node.value ? interpolate(node.value, stateValues) : void 0;
30998
31146
  const rows = (node.rows ?? []).map((r) => interpolate(r, stateValues));
@@ -31208,11 +31356,11 @@ function CdlNodeView({
31208
31356
  case "shape-window":
31209
31357
  return /* @__PURE__ */ jsx(ShapeWindowNode, { node: resolvedNode, active });
31210
31358
  case "shape-terminal":
31211
- return /* @__PURE__ */ jsx(ShapeTerminalNode, { node: resolvedNode, active });
31359
+ return /* @__PURE__ */ jsx(ShapeTerminalNode, { node: resolvedNode, active, lang });
31212
31360
  case "shape-code-block":
31213
- return /* @__PURE__ */ jsx(ShapeCodeBlockNode, { node: resolvedNode, active });
31361
+ return /* @__PURE__ */ jsx(ShapeCodeBlockNode, { node: resolvedNode, active, lang });
31214
31362
  case "shape-kanban-card":
31215
- return /* @__PURE__ */ jsx(ShapeKanbanCardNode, { node: resolvedNode, active });
31363
+ return /* @__PURE__ */ jsx(ShapeKanbanCardNode, { node: resolvedNode, active, lang });
31216
31364
  case "shape-message-bubble":
31217
31365
  return /* @__PURE__ */ jsx(ShapeMessageBubbleNode, { node: resolvedNode, active });
31218
31366
  case "shape-gear":
@@ -31230,11 +31378,11 @@ function CdlNodeView({
31230
31378
  case "shape-satellite":
31231
31379
  return /* @__PURE__ */ jsx(ShapeSatelliteNode, { node: resolvedNode, active });
31232
31380
  case "shape-smart-contract":
31233
- return /* @__PURE__ */ jsx(ShapeSmartContractNode, { node: resolvedNode, active });
31381
+ return /* @__PURE__ */ jsx(ShapeSmartContractNode, { node: resolvedNode, active, lang });
31234
31382
  case "shape-blockchain-block":
31235
- return /* @__PURE__ */ jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active });
31383
+ return /* @__PURE__ */ jsx(ShapeBlockchainBlockNode, { node: resolvedNode, active, lang });
31236
31384
  case "shape-rpc-node":
31237
- return /* @__PURE__ */ jsx(ShapeRpcNodeNode, { node: resolvedNode, active });
31385
+ return /* @__PURE__ */ jsx(ShapeRpcNodeNode, { node: resolvedNode, active, lang });
31238
31386
  case "shape-wallet":
31239
31387
  return /* @__PURE__ */ jsx(ShapeWalletNode, { node: resolvedNode, active });
31240
31388
  case "shape-nft":
@@ -31252,29 +31400,29 @@ function CdlNodeView({
31252
31400
  case "shape-bank":
31253
31401
  return /* @__PURE__ */ jsx(ShapeBankNode, { node: resolvedNode, active });
31254
31402
  case "shape-trust-bank":
31255
- return /* @__PURE__ */ jsx(ShapeTrustBankNode, { node: resolvedNode, active });
31403
+ return /* @__PURE__ */ jsx(ShapeTrustBankNode, { node: resolvedNode, active, lang });
31256
31404
  case "shape-payment-provider":
31257
- return /* @__PURE__ */ jsx(ShapePaymentProviderNode, { node: resolvedNode, active });
31405
+ return /* @__PURE__ */ jsx(ShapePaymentProviderNode, { node: resolvedNode, active, lang });
31258
31406
  case "shape-credit-card":
31259
31407
  return /* @__PURE__ */ jsx(ShapeCreditCardNode, { node: resolvedNode, active });
31260
31408
  case "shape-brokerage":
31261
- return /* @__PURE__ */ jsx(ShapeBrokerageNode, { node: resolvedNode, active });
31409
+ return /* @__PURE__ */ jsx(ShapeBrokerageNode, { node: resolvedNode, active, lang });
31262
31410
  case "shape-exchange":
31263
- return /* @__PURE__ */ jsx(ShapeExchangeNode, { node: resolvedNode, active });
31411
+ return /* @__PURE__ */ jsx(ShapeExchangeNode, { node: resolvedNode, active, lang });
31264
31412
  case "shape-atm":
31265
- return /* @__PURE__ */ jsx(ShapeAtmNode, { node: resolvedNode, active });
31413
+ return /* @__PURE__ */ jsx(ShapeAtmNode, { node: resolvedNode, active, lang });
31266
31414
  case "shape-website":
31267
31415
  return /* @__PURE__ */ jsx(ShapeWebsiteNode, { node: resolvedNode, active });
31268
31416
  case "shape-storefront":
31269
- return /* @__PURE__ */ jsx(ShapeStorefrontNode, { node: resolvedNode, active });
31417
+ return /* @__PURE__ */ jsx(ShapeStorefrontNode, { node: resolvedNode, active, lang });
31270
31418
  case "shape-warehouse":
31271
- return /* @__PURE__ */ jsx(ShapeWarehouseNode, { node: resolvedNode, active });
31419
+ return /* @__PURE__ */ jsx(ShapeWarehouseNode, { node: resolvedNode, active, lang });
31272
31420
  case "shape-online-shop":
31273
31421
  return /* @__PURE__ */ jsx(ShapeOnlineShopNode, { node: resolvedNode, active });
31274
31422
  case "shape-cdn-edge":
31275
31423
  return /* @__PURE__ */ jsx(ShapeCdnEdgeNode, { node: resolvedNode, active });
31276
31424
  case "shape-api-gateway":
31277
- return /* @__PURE__ */ jsx(ShapeApiGatewayNode, { node: resolvedNode, active });
31425
+ return /* @__PURE__ */ jsx(ShapeApiGatewayNode, { node: resolvedNode, active, lang });
31278
31426
  case "shape-auditor":
31279
31427
  return /* @__PURE__ */ jsx(ShapeAuditorNode, { node: resolvedNode, active });
31280
31428
  case "shape-regulator":
@@ -31649,6 +31797,7 @@ function CdlStage({
31649
31797
  {
31650
31798
  node,
31651
31799
  active: activeSet.has(node.id),
31800
+ lang: laid.lang,
31652
31801
  \u95A2\u4FC2\u306E\u53D7\u3051\u53E3: \u7BB1\u306E\u53D7\u3051\u53E3,
31653
31802
  drawing: \u63CF\u304F,
31654
31803
  progress: \u63CF\u304F ? \u63CF\u304F\u9032\u307F : progress,
@@ -33272,6 +33421,6 @@ function slugify(s) {
33272
33421
  return s.toLowerCase().replace(/[^a-z0-9぀-ゟ゠-ヿ一-龯]+/g, "-").replace(/^-|-$/g, "");
33273
33422
  }
33274
33423
 
33275
- export { ARROW_ANGLE_MAX_DEG, ARROW_ENDPOINT_CENTER_TOL, CHAIN_MIN_CLEARANCE, CHAIN_SHIFT_MAX_ACCUMULATED, CHAIN_SHIFT_MAX_ITER, CLASS_RELATION_LOOK, CLEARANCE_LABEL_LABEL, CLEARANCE_LANE_LABEL, CLEARANCE_NODE_LABEL, CLEARANCE_PATH_LABEL, COLUMN_GAP_VARIANCE_TOL, CdlDiagramThumbnail, CdlDiagramView, DETOUR_GAP, DETOUR_SLOT_GAP, DIST_LABEL_PATH_MAX, DIST_LABEL_PATH_MIN, EDGE_HEADS, EDGE_HEAD_DEFAULT, EDGE_HEAD_FILLS, EDGE_HEAD_FILL_DEFAULT, EDGE_LABEL_TEXT, EDGE_REVEALS, EDGE_REVEAL_DEFAULT, EDGE_STUB_OUT, EDGE_STYLES, ER_CARDINALITY_HEAD, FAN_GAP, FONT_RENDER_TOLERANCE_WORLD, FSM_ACTION_MARK, LABEL_INIT_CLEARANCE, LABEL_INIT_CLEARANCE_DOTTED_FLOW, LABEL_SIZE_TOLERANCE_WORLD, LABEL_TO_PATH_CLEARANCE, LANE_BORDER_CLEARANCE_TOL, MARKER_GLOW_RADIUS, MIN_COLUMN_ALIGNMENT_TOLERANCE, MIN_ROW_ALIGNMENT_TOLERANCE, NEAR_COLLISION_DEFAULT_MIN, NEAR_COLLISION_POLICY, NODE_FRAME_SELECTOR, NODE_KINDS, RELATION_FOCUSES, RELATION_FOCUS_DEFAULT, ROW_GAP_VARIANCE_TOL, SEQUENCE_MESSAGE_LOOK, SPEC_CLEARANCE_POLICY, STAGE_SVG_SELECTOR, TARGET_LABEL_PATH_DIST, TONES, WCAG_AA_LARGE, WCAG_AA_NORMAL, applyDerivedValues, assertNever, attachEventHandlers, batch, bboxClearance, bboxDiffWorld, cdlAdapter, chart, classDiagram, compile, computeEventBindingKey, computeFormulaKey, computeInputSignalKey, computeScrollProgress, computeScrollTriggerKey, computeStateValues, computeViewportScale, computed, countEdgeCrossings, countOrderCrossings, createFormulaComputeds, createInputSignals, createInteractiveSignalsAccessor, createScrollProgressHandle, createScrollProgressSignals, diagram, effect, er, evaluate as evaluateFormula, extractIdentifiers, flow, flowchart, funnel, gantt, hasInteractivePrimitives, infrastructure, inputDefaultValue, interpolate, isLargeText, labelInitClearance, layout, layoutWithValidation, mindMap, network, orderNodes, parseFormula, pointRectEdgeDistance, pointToSegmentDistance2 as pointToSegmentDistance, predictLabelBBoxWorld, predictNodeBBoxWorld, projectEdgeLabel, projectNode, projectPathSegment, pxToWorld, quadrant, rectRectClearance, rectRectOverlapArea, relatedFocusSet, rendersRows, requiredContrastRatio, requiredNearClearance, requiredRowsHeight, requiredRowsWidth, requiredSpecClearance, resolveEdgeLabelOverlapsWithChain, resolveEdgeLabelOverlapsWithChainAndPropagate, resolveLabelClearanceAfterPathPasses, resolveOverlapsWithChain, resolveTarget, resolveTargetAll, segmentsIntersect2 as segmentsIntersect, sequence, sequenceBoardMetrics, sequenceStepId, signal, stateMachine, stateMachine2, swimlane, topology, tree, untrack, userJourney, validate, verifyAllDiagramsDom, verifyAuthorIntent, verifyAuthorIntentAll, verifyDiagramDom, visualValidate, visualValidateAll, visualValidateLaid, withDerivedValues, worldToPx };
33424
+ export { ARROW_ANGLE_MAX_DEG, ARROW_ENDPOINT_CENTER_TOL, CHAIN_MIN_CLEARANCE, CHAIN_SHIFT_MAX_ACCUMULATED, CHAIN_SHIFT_MAX_ITER, CLASS_RELATION_LOOK, CLEARANCE_LABEL_LABEL, CLEARANCE_LANE_LABEL, CLEARANCE_NODE_LABEL, CLEARANCE_PATH_LABEL, COLUMN_GAP_VARIANCE_TOL, CdlDiagramThumbnail, CdlDiagramView, DETOUR_GAP, DETOUR_SLOT_GAP, DIST_LABEL_PATH_MAX, DIST_LABEL_PATH_MIN, EDGE_HEADS, EDGE_HEAD_DEFAULT, EDGE_HEAD_FILLS, EDGE_HEAD_FILL_DEFAULT, EDGE_LABEL_TEXT, EDGE_REVEALS, EDGE_REVEAL_DEFAULT, EDGE_STUB_OUT, EDGE_STYLES, ER_CARDINALITY_HEAD, FAN_GAP, FONT_RENDER_TOLERANCE_WORLD, FSM_ACTION_MARK, LABEL_INIT_CLEARANCE, LABEL_INIT_CLEARANCE_DOTTED_FLOW, LABEL_SIZE_TOLERANCE_WORLD, LABEL_TO_PATH_CLEARANCE, LANE_BORDER_CLEARANCE_TOL, MARKER_GLOW_RADIUS, MIN_COLUMN_ALIGNMENT_TOLERANCE, MIN_ROW_ALIGNMENT_TOLERANCE, NEAR_COLLISION_DEFAULT_MIN, NEAR_COLLISION_POLICY, NODE_FRAME_SELECTOR, NODE_KINDS, RELATION_FOCUSES, RELATION_FOCUS_DEFAULT, ROW_GAP_VARIANCE_TOL, SEQUENCE_MESSAGE_LOOK, SPEC_CLEARANCE_POLICY, STAGE_SVG_SELECTOR, TARGET_LABEL_PATH_DIST, TONES, WCAG_AA_LARGE, WCAG_AA_NORMAL, applyDerivedValues, assertNever, attachEventHandlers, batch, bboxClearance, bboxDiffWorld, cdlAdapter, chart, classDiagram, compile, computeEventBindingKey, computeFormulaKey, computeInputSignalKey, computeScrollProgress, computeScrollTriggerKey, computeStateValues, computeViewportScale, computed, countEdgeCrossings, countOrderCrossings, createFormulaComputeds, createInputSignals, createInteractiveSignalsAccessor, createScrollProgressHandle, createScrollProgressSignals, diagram, effect, er, evaluate as evaluateFormula, extractIdentifiers, flow, flowchart, funnel, gantt, hasInteractivePrimitives, infrastructure, inputDefaultValue, interpolate, isLargeText, labelInitClearance, layout, layoutWithValidation, mindMap, network, orderNodes, parseFormula, pointRectEdgeDistance, pointToSegmentDistance2 as pointToSegmentDistance, predictLabelBBoxWorld, predictNodeBBoxWorld, projectEdgeLabel, projectNode, projectPathSegment, pxToWorld, quadrant, rectRectClearance, rectRectOverlapArea, relatedFocusSet, rendersRows, requiredContrastRatio, requiredNearClearance, requiredRowsHeight, requiredRowsWidth, requiredSpecClearance, resolveEdgeLabelOverlapsWithChain, resolveEdgeLabelOverlapsWithChainAndPropagate, resolveLabelClearanceAfterPathPasses, resolveLang, resolveOverlapsWithChain, resolveTarget, resolveTargetAll, segmentsIntersect2 as segmentsIntersect, sequence, sequenceBoardMetrics, sequenceStepId, signal, stateMachine, stateMachine2, swimlane, topology, tree, untrack, userJourney, validate, verifyAllDiagramsDom, verifyAuthorIntent, verifyAuthorIntentAll, verifyDiagramDom, visualValidate, visualValidateAll, visualValidateLaid, withDerivedValues, worldToPx };
33276
33425
  //# sourceMappingURL=index.js.map
33277
33426
  //# sourceMappingURL=index.js.map