@almadar/shell-web 1.0.0 → 1.1.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.
Files changed (70) hide show
  1. package/dist/AvlGlyph-PIXU6QH5.js +5 -0
  2. package/dist/AvlStateMachine-CKGMECMG.js +8 -0
  3. package/dist/{AvlTransitionDetail-63SD6GZF.js → AvlTransitionDetail-QZX6G5KJ.js} +4 -5
  4. package/dist/AvlTransitionExplainer-26WLEIC6.js +11 -0
  5. package/dist/BehaviorView-JLZ4PKWY.js +10 -0
  6. package/dist/{FileTree-BCFnBEuQ.d.ts → FileTree-B3GDAjaQ.d.ts} +131 -4
  7. package/dist/{FlowCanvas-AUMTWMNG.js → FlowCanvas-RPII4V24.js} +10 -13
  8. package/dist/{FlowCanvas-3JRMNJLV.css → FlowCanvas-VWUPMBKB.css} +189 -191
  9. package/dist/{GameAudioProvider-ceM_n0ey.d.ts → GameAudioProvider-D7wo5ryN.d.ts} +1 -1
  10. package/dist/{KernelEngineContext-CcxGYtlr.d.ts → KernelEngineContext-CPeWQMAz.d.ts} +15 -2
  11. package/dist/ModuleCard-NJD6JQGD.js +6 -0
  12. package/dist/{OrbInspector-QCPEPUPH.js → OrbInspector-OWWKPOBF.js} +10 -13
  13. package/dist/{OrbInspector-MHLJ6OEE.css → OrbInspector-VMTMZHNQ.css} +189 -191
  14. package/dist/{Select-B-iDdnvE.d.ts → Select-C2Uq6t86.d.ts} +1 -1
  15. package/dist/{UISlotRenderer-KVFO6J7R.css → UISlotRenderer-BIS6KT7T.css} +189 -191
  16. package/dist/{UISlotRenderer-C7WWOK43.js → UISlotRenderer-PY7FIJXN.js} +10 -13
  17. package/dist/avl/index.css +189 -191
  18. package/dist/avl/index.d.ts +19 -7
  19. package/dist/avl/index.js +157 -26
  20. package/dist/{chunk-TUPZWTRE.js → chunk-2WGR4TDJ.js} +464 -35
  21. package/dist/{chunk-SP5CDJ6K.js → chunk-4YJ53G7S.js} +3 -3
  22. package/dist/{chunk-HH5KSMH5.js → chunk-7N6ZPHQ5.js} +1 -1
  23. package/dist/{chunk-CPLN6NBQ.js → chunk-AGVSO4WY.js} +2 -3
  24. package/dist/{chunk-UXLE3IPR.js → chunk-FAKU5F62.js} +205 -4
  25. package/dist/{chunk-TXAUOLWZ.js → chunk-M74BCDBQ.js} +1 -1
  26. package/dist/{chunk-LHP2TK7O.js → chunk-MS4K3K2R.js} +2908 -4574
  27. package/dist/{chunk-K4MOPSEL.js → chunk-OWNG4JZI.js} +3 -4
  28. package/dist/{chunk-AB3X7QTE.js → chunk-PRLHKBXG.js} +1 -2
  29. package/dist/{chunk-X3DMMX27.js → chunk-VHC2M26B.js} +1 -1
  30. package/dist/{chunk-E6KA4J6N.js → chunk-VUIACGDU.js} +3 -4
  31. package/dist/{chunk-ROICKAU7.js → chunk-YYIHRIDH.js} +1 -1
  32. package/dist/{chunk-3VZ36ZKO.js → chunk-ZDRDJKYB.js} +5 -2
  33. package/dist/components/index.css +189 -191
  34. package/dist/components/index.d.ts +417 -173
  35. package/dist/components/index.js +14 -17
  36. package/dist/core.d.ts +3 -3
  37. package/dist/{fx-CmQjnHmT.d.ts → fx-Br8zjvu9.d.ts} +6 -6
  38. package/dist/index.d.ts +4 -0
  39. package/dist/index.js +2 -2
  40. package/dist/{kernel-client-TZKGHJRY.js → kernel-client-JW6OH5FX.js} +24 -3
  41. package/dist/{kernel-wire-wNdAPfhJ.d.ts → kernel-wire-DGAySGhX.d.ts} +7 -0
  42. package/dist/lib/index.d.ts +2 -3
  43. package/dist/lib/index.js +2 -3
  44. package/dist/providers/index.css +189 -191
  45. package/dist/providers/index.d.ts +6 -8
  46. package/dist/providers/index.js +10 -14
  47. package/dist/runtime/index.css +189 -191
  48. package/dist/runtime/index.d.ts +6 -1
  49. package/dist/runtime/index.js +10 -13
  50. package/dist/test-support.js +2 -2
  51. package/dist/{paintDispatch-CuJLsr9Y.d.ts → verificationRegistry-oopV1J1n.d.ts} +127 -15
  52. package/package.json +8 -36
  53. package/dist/AvlGlyph-EPJKFEO3.js +0 -6
  54. package/dist/AvlStateMachine-RKZIKNGC.js +0 -9
  55. package/dist/AvlTransitionExplainer-ZBTLOM3T.js +0 -12
  56. package/dist/BehaviorView-YS5G4GNB.js +0 -11
  57. package/dist/Canvas3DHost-BkZQB5l2.d.ts +0 -552
  58. package/dist/ModuleCard-QHDGK5XK.js +0 -7
  59. package/dist/avl-3d-context-BycmO6tG.d.ts +0 -201
  60. package/dist/avl-schema-parser-CtJxJ9KU.d.ts +0 -132
  61. package/dist/avl-zoom-state-CKMVuBFg.d.ts +0 -17
  62. package/dist/chunk-4T3P43NS.js +0 -1133
  63. package/dist/chunk-DZBQA2OW.js +0 -176
  64. package/dist/chunk-EOWMARUB.js +0 -16
  65. package/dist/chunk-GFXCPUMX.js +0 -1334
  66. package/dist/chunk-ILZ7ORX7.js +0 -432
  67. package/dist/three/index.css +0 -503
  68. package/dist/three/index.d.ts +0 -1185
  69. package/dist/three/index.js +0 -3908
  70. package/dist/verificationRegistry-CVrcxG1s.d.ts +0 -122
@@ -1,4 +1,5 @@
1
1
  import { createLogger } from '@almadar/logger';
2
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
3
 
3
4
  var log = createLogger("almadar:ui:theme-color");
4
5
  var THEME_SERIES = [
@@ -198,6 +199,7 @@ var EFFECT_OPERATOR_CATEGORY = {
198
199
  "program/os-grants": "system",
199
200
  "program/compose": "system",
200
201
  "program/step": "system",
202
+ "program/navigate": "system",
201
203
  "program/resolve-rows": "system",
202
204
  "program/self": "system",
203
205
  "program/tick": "system",
@@ -234,7 +236,18 @@ var EFFECT_OPERATOR_CATEGORY = {
234
236
  "mem/atomic-cas": "system",
235
237
  "kernel/queue-front": "communication",
236
238
  "kernel/queue-back": "communication",
237
- "ffi/call": "system"
239
+ "ffi/call": "system",
240
+ "gpu/device-open": "system",
241
+ "gpu/device-close": "system",
242
+ "gpu/buffer-create": "system",
243
+ "gpu/texture-create": "system",
244
+ "gpu/sampler-create": "system",
245
+ "gpu/query-create": "system",
246
+ "gpu/shader-create": "system",
247
+ "gpu/pipeline-create": "system",
248
+ "gpu/bind-group-create": "system",
249
+ "gpu/submit": "system",
250
+ "gpu/release": "system"
238
251
  };
239
252
  var EFFECT_FAMILY_CATEGORY = {
240
253
  agent: "system",
@@ -294,6 +307,7 @@ var EFFECT_OPERATOR_ZONE = {
294
307
  "program/os-grants": "system",
295
308
  "program/compose": "system",
296
309
  "program/step": "system",
310
+ "program/navigate": "system",
297
311
  "program/resolve-rows": "system",
298
312
  "program/self": "system",
299
313
  "program/tick": "system",
@@ -330,7 +344,18 @@ var EFFECT_OPERATOR_ZONE = {
330
344
  "mem/atomic-cas": "system",
331
345
  "kernel/queue-front": "bus",
332
346
  "kernel/queue-back": "bus",
333
- "ffi/call": "system"
347
+ "ffi/call": "system",
348
+ "gpu/device-open": "system",
349
+ "gpu/device-close": "system",
350
+ "gpu/buffer-create": "system",
351
+ "gpu/texture-create": "system",
352
+ "gpu/sampler-create": "system",
353
+ "gpu/query-create": "system",
354
+ "gpu/shader-create": "system",
355
+ "gpu/pipeline-create": "system",
356
+ "gpu/bind-group-create": "system",
357
+ "gpu/submit": "system",
358
+ "gpu/release": "system"
334
359
  };
335
360
  var EFFECT_FAMILY_ZONE = {
336
361
  agent: "system",
@@ -406,7 +431,13 @@ var OPERATOR_CATEGORY_COLORS = {
406
431
  "std-audio": avlBlend("var(--color-accent)", 50, "var(--color-warning)"),
407
432
  "std-auth": avlBlend("var(--color-warning)", 60, "var(--color-primary)"),
408
433
  "std-trace": "var(--color-muted-foreground)",
409
- "std-behavior": avlBlend("var(--color-accent)", 60, "var(--color-success)")
434
+ "std-behavior": avlBlend("var(--color-accent)", 60, "var(--color-success)"),
435
+ "std-mem": avlBlend("var(--color-muted-foreground)", 70, "var(--color-error)"),
436
+ "std-mem-read": avlBlend("var(--color-muted-foreground)", 70, "var(--color-info)"),
437
+ "std-kernel": avlBlend("var(--color-muted-foreground)", 70, "var(--color-accent)"),
438
+ "std-kernel-read": avlBlend("var(--color-muted-foreground)", 70, "var(--color-success)"),
439
+ "std-ffi": avlBlend("var(--color-muted-foreground)", 70, "var(--color-warning)"),
440
+ "std-gpu": avlBlend("var(--color-muted-foreground)", 60, "var(--color-accent)")
410
441
  };
411
442
  function effectZoneOf(head) {
412
443
  if (isEffectOperator(head)) return EFFECT_OPERATOR_ZONE[head];
@@ -417,5 +448,175 @@ function effectZoneOf(head) {
417
448
  }
418
449
  return null;
419
450
  }
451
+ var log2 = createLogger("almadar:ui:avl:effect");
452
+ function headIcon(type, x, y, s, color) {
453
+ switch (type) {
454
+ case "render-ui":
455
+ return /* @__PURE__ */ jsxs("g", { children: [
456
+ /* @__PURE__ */ jsx("rect", { x: x - s, y: y - s, width: s * 2, height: s * 2, fill: "none", stroke: color, strokeWidth: 1.5, rx: 1 }),
457
+ /* @__PURE__ */ jsx("line", { x1: x, y1: y - s, x2: x, y2: y + s, stroke: color, strokeWidth: 1 }),
458
+ /* @__PURE__ */ jsx("line", { x1: x - s, y1: y, x2: x + s, y2: y, stroke: color, strokeWidth: 1 })
459
+ ] });
460
+ case "set":
461
+ return /* @__PURE__ */ jsx(
462
+ "path",
463
+ {
464
+ d: `M${x - s * 0.6},${y + s} L${x - s},${y + s * 0.4} L${x + s * 0.4},${y - s} L${x + s},${y - s * 0.4} Z`,
465
+ fill: "none",
466
+ stroke: color,
467
+ strokeWidth: 1.5,
468
+ strokeLinejoin: "round"
469
+ }
470
+ );
471
+ case "persist":
472
+ return /* @__PURE__ */ jsxs("g", { children: [
473
+ /* @__PURE__ */ jsx("ellipse", { cx: x, cy: y - s * 0.6, rx: s, ry: s * 0.4, fill: "none", stroke: color, strokeWidth: 1.5 }),
474
+ /* @__PURE__ */ jsx("line", { x1: x - s, y1: y - s * 0.6, x2: x - s, y2: y + s * 0.4, stroke: color, strokeWidth: 1.5 }),
475
+ /* @__PURE__ */ jsx("line", { x1: x + s, y1: y - s * 0.6, x2: x + s, y2: y + s * 0.4, stroke: color, strokeWidth: 1.5 }),
476
+ /* @__PURE__ */ jsx("ellipse", { cx: x, cy: y + s * 0.4, rx: s, ry: s * 0.4, fill: "none", stroke: color, strokeWidth: 1.5 })
477
+ ] });
478
+ case "fetch":
479
+ return /* @__PURE__ */ jsxs("g", { children: [
480
+ /* @__PURE__ */ jsx("line", { x1: x, y1: y - s, x2: x, y2: y + s * 0.6, stroke: color, strokeWidth: 1.5 }),
481
+ /* @__PURE__ */ jsx("polyline", { points: `${x - s * 0.5},${y + s * 0.1} ${x},${y + s} ${x + s * 0.5},${y + s * 0.1}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" })
482
+ ] });
483
+ case "emit":
484
+ return /* @__PURE__ */ jsxs("g", { children: [
485
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s * 0.3, fill: color }),
486
+ /* @__PURE__ */ jsx("path", { d: `M${x - s * 0.7},${y - s * 0.7} A${s},${s} 0 0,1 ${x + s * 0.7},${y - s * 0.7}`, fill: "none", stroke: color, strokeWidth: 1.5 }),
487
+ /* @__PURE__ */ jsx("path", { d: `M${x - s},${y - s} A${s * 1.4},${s * 1.4} 0 0,1 ${x + s},${y - s}`, fill: "none", stroke: color, strokeWidth: 1, opacity: 0.6 })
488
+ ] });
489
+ case "navigate":
490
+ return /* @__PURE__ */ jsxs("g", { children: [
491
+ /* @__PURE__ */ jsx("line", { x1: x - s, y1: y, x2: x + s * 0.6, y2: y, stroke: color, strokeWidth: 1.5 }),
492
+ /* @__PURE__ */ jsx("polyline", { points: `${x + s * 0.1},${y - s * 0.5} ${x + s},${y} ${x + s * 0.1},${y + s * 0.5}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" })
493
+ ] });
494
+ case "call-service":
495
+ return /* @__PURE__ */ jsxs("g", { children: [
496
+ /* @__PURE__ */ jsx("line", { x1: x - s, y1: y - s * 0.3, x2: x + s, y2: y - s * 0.3, stroke: color, strokeWidth: 1.5 }),
497
+ /* @__PURE__ */ jsx("polyline", { points: `${x + s * 0.5},${y - s * 0.7} ${x + s},${y - s * 0.3} ${x + s * 0.5},${y + s * 0.1}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" }),
498
+ /* @__PURE__ */ jsx("line", { x1: x + s, y1: y + s * 0.3, x2: x - s, y2: y + s * 0.3, stroke: color, strokeWidth: 1.5 }),
499
+ /* @__PURE__ */ jsx("polyline", { points: `${x - s * 0.5},${y - s * 0.1} ${x - s},${y + s * 0.3} ${x - s * 0.5},${y + s * 0.7}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" })
500
+ ] });
501
+ case "spawn":
502
+ return /* @__PURE__ */ jsxs("g", { children: [
503
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s, fill: "none", stroke: color, strokeWidth: 1.5 }),
504
+ /* @__PURE__ */ jsx("line", { x1: x - s * 0.5, y1: y, x2: x + s * 0.5, y2: y, stroke: color, strokeWidth: 1.5 }),
505
+ /* @__PURE__ */ jsx("line", { x1: x, y1: y - s * 0.5, x2: x, y2: y + s * 0.5, stroke: color, strokeWidth: 1.5 })
506
+ ] });
507
+ case "despawn":
508
+ return /* @__PURE__ */ jsxs("g", { children: [
509
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s, fill: "none", stroke: color, strokeWidth: 1.5 }),
510
+ /* @__PURE__ */ jsx("line", { x1: x - s * 0.5, y1: y, x2: x + s * 0.5, y2: y, stroke: color, strokeWidth: 1.5 })
511
+ ] });
512
+ case "do":
513
+ return /* @__PURE__ */ jsxs("g", { children: [
514
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s, fill: "none", stroke: color, strokeWidth: 1.5 }),
515
+ /* @__PURE__ */ jsx("polygon", { points: `${x - s * 0.3},${y - s * 0.5} ${x + s * 0.5},${y} ${x - s * 0.3},${y + s * 0.5}`, fill: color })
516
+ ] });
517
+ case "if":
518
+ return /* @__PURE__ */ jsx(
519
+ "polygon",
520
+ {
521
+ points: `${x},${y - s} ${x + s * 0.7},${y} ${x},${y + s} ${x - s * 0.7},${y}`,
522
+ fill: "none",
523
+ stroke: color,
524
+ strokeWidth: 1.5,
525
+ strokeLinejoin: "round"
526
+ }
527
+ );
528
+ case "log":
529
+ return /* @__PURE__ */ jsx(
530
+ "text",
531
+ {
532
+ x,
533
+ y,
534
+ textAnchor: "middle",
535
+ dominantBaseline: "central",
536
+ fill: color,
537
+ fontSize: s * 2.2,
538
+ fontFamily: "serif",
539
+ children: "\xB6"
540
+ }
541
+ );
542
+ default:
543
+ return null;
544
+ }
545
+ }
546
+ var clock = (x, y, s, color) => /* @__PURE__ */ jsxs("g", { children: [
547
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s, fill: "none", stroke: color, strokeWidth: 1.5 }),
548
+ /* @__PURE__ */ jsx("polyline", { points: `${x},${y - s * 0.6} ${x},${y} ${x + s * 0.5},${y + s * 0.3}`, fill: "none", stroke: color, strokeWidth: 1.5, strokeLinejoin: "round" })
549
+ ] });
550
+ var neuron = (x, y, s, color) => /* @__PURE__ */ jsxs("g", { children: [
551
+ /* @__PURE__ */ jsx("line", { x1: x - s, y1: y - s * 0.6, x2: x + s * 0.8, y2: y, stroke: color, strokeWidth: 1 }),
552
+ /* @__PURE__ */ jsx("line", { x1: x - s, y1: y + s * 0.6, x2: x + s * 0.8, y2: y, stroke: color, strokeWidth: 1 }),
553
+ /* @__PURE__ */ jsx("circle", { cx: x - s, cy: y - s * 0.6, r: s * 0.3, fill: color }),
554
+ /* @__PURE__ */ jsx("circle", { cx: x - s, cy: y + s * 0.6, r: s * 0.3, fill: color }),
555
+ /* @__PURE__ */ jsx("circle", { cx: x + s * 0.8, cy: y, r: s * 0.35, fill: color })
556
+ ] });
557
+ var gear = (x, y, s, color) => /* @__PURE__ */ jsxs("g", { children: [
558
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s * 0.75, fill: "none", stroke: color, strokeWidth: 1.5, strokeDasharray: `${s * 0.5} ${s * 0.3}` }),
559
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s * 0.3, fill: color })
560
+ ] });
561
+ var unknown = (x, y, s, color) => /* @__PURE__ */ jsxs("g", { children: [
562
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: s, fill: "none", stroke: color, strokeWidth: 1.2, strokeDasharray: "2 2" }),
563
+ /* @__PURE__ */ jsx("text", { x, y, textAnchor: "middle", dominantBaseline: "central", fill: color, fontSize: s * 1.4, children: "?" })
564
+ ] });
565
+ var CATEGORY_GLYPH = {
566
+ ui: (x, y, s, c) => headIcon("render-ui", x, y, s, c),
567
+ data: (x, y, s, c) => headIcon("set", x, y, s, c),
568
+ communication: (x, y, s, c) => headIcon("emit", x, y, s, c),
569
+ lifecycle: (x, y, s, c) => headIcon("spawn", x, y, s, c),
570
+ control: (x, y, s, c) => headIcon("if", x, y, s, c),
571
+ async: clock,
572
+ compute: neuron,
573
+ system: gear
574
+ };
575
+ function effectIcon(type, x, y, s, color) {
576
+ const op = asEffectOperator(type);
577
+ const own = op ? headIcon(op, x, y, s, color) : null;
578
+ if (own) return own;
579
+ const category = effectCategoryOf(type);
580
+ if (category) return CATEGORY_GLYPH[category](x, y, s, color);
581
+ log2.error("unknown-effect-operator", { effectType: type });
582
+ return unknown(x, y, s, color);
583
+ }
584
+ var AvlEffect = ({
585
+ x = 0,
586
+ y = 0,
587
+ effectType,
588
+ size = 8,
589
+ label,
590
+ color = "var(--color-primary)",
591
+ opacity = 1,
592
+ className,
593
+ showBackground = false
594
+ }) => {
595
+ const category = effectCategoryOf(effectType);
596
+ const catColors = category ? EFFECT_CATEGORY_COLORS[category] : null;
597
+ const iconColor = showBackground && catColors ? catColors.color : color;
598
+ return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
599
+ showBackground && catColors && /* @__PURE__ */ jsxs(Fragment, { children: [
600
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: size * 1.2, fill: catColors.bg }),
601
+ /* @__PURE__ */ jsx("circle", { cx: x, cy: y, r: size * 1.2, fill: "none", stroke: catColors.color, strokeWidth: 0.5, opacity: 0.3 })
602
+ ] }),
603
+ effectIcon(effectType, x, y, size, iconColor),
604
+ label && /* @__PURE__ */ jsx(
605
+ "text",
606
+ {
607
+ x,
608
+ y: y + size + 10,
609
+ textAnchor: "middle",
610
+ fill: iconColor,
611
+ fontSize: 11,
612
+ fontWeight: 500,
613
+ fontFamily: "inherit",
614
+ opacity: 0.7,
615
+ children: label
616
+ }
617
+ )
618
+ ] });
619
+ };
620
+ AvlEffect.displayName = "AvlEffect";
420
621
 
421
- export { AVL_FONT, AVL_INK, AVL_STROKE, CONNECTION_COLORS, EFFECT_CATEGORY_COLORS, OPERATOR_CATEGORY_COLORS, STATE_COLORS, THEME_SERIES, asEffectOperator, avlBlend, avlSeries, avlTint, effectCategoryOf, effectZoneOf, getStateRole, parseComputedColor, resolveThemeColor };
622
+ export { AVL_FONT, AVL_INK, AVL_STROKE, AvlEffect, CONNECTION_COLORS, EFFECT_CATEGORY_COLORS, OPERATOR_CATEGORY_COLORS, STATE_COLORS, THEME_SERIES, avlBlend, avlSeries, avlTint, effectCategoryOf, effectZoneOf, getStateRole, parseComputedColor, resolveThemeColor };
@@ -1,5 +1,5 @@
1
1
  import { traitLevelFromMounted } from './chunk-PCR37T3U.js';
2
- import { getStateRole } from './chunk-UXLE3IPR.js';
2
+ import { getStateRole } from './chunk-FAKU5F62.js';
3
3
  import { useState, useLayoutEffect } from 'react';
4
4
 
5
5
  function useContainerWidth(ref) {