@almadar/std 16.209.0 → 16.211.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 (113) hide show
  1. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +2 -2
  2. package/behaviors/lolo/infra/atoms/std-calendar-sync.lolo +5 -5
  3. package/behaviors/lolo/infra/atoms/std-cascade-on-delete.lolo +7 -1
  4. package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +3 -3
  5. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +1 -0
  6. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +40 -41
  7. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +25 -19
  8. package/behaviors/lolo/ui/core/atoms/std-confirmation.lolo +2 -0
  9. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +2 -2
  10. package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +1 -1
  11. package/behaviors/lolo/ui/core/atoms/std-modal.lolo +3 -1
  12. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +1 -1
  13. package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +4 -3
  14. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +1 -4
  15. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +33 -30
  16. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +1 -1
  17. package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +1 -1
  18. package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +1 -1
  19. package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +1 -1
  20. package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +1 -1
  21. package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +1 -1
  22. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +2 -2
  23. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +1 -1
  24. package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +2 -2
  25. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +2 -2
  26. package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +1 -1
  27. package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +1 -1
  28. package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +1 -1
  29. package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +1 -1
  30. package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +1 -1
  31. package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +1 -1
  32. package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +1 -1
  33. package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +1 -1
  34. package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +1 -1
  35. package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +2 -2
  36. package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +1 -1
  37. package/behaviors/lolo/ui/game/atoms/ui-draw-skinned-mesh.lolo +126 -0
  38. package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +1 -1
  39. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +10 -10
  40. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +10 -10
  41. package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +36 -36
  42. package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +36 -36
  43. package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +34 -34
  44. package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +10 -10
  45. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +12 -12
  46. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +12 -12
  47. package/behaviors/lolo/ui/game/organisms/std-worldmap-board-2d.lolo +20 -20
  48. package/behaviors/registry/infra/atoms/std-approval-gate.orb +20 -9
  49. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +5 -0
  50. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +28 -0
  51. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +3 -0
  52. package/behaviors/registry/infra/atoms/std-notification-center.orb +56 -24
  53. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +12 -6
  54. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +20 -0
  55. package/behaviors/registry/ui/core/atoms/std-browse.orb +51 -137
  56. package/behaviors/registry/ui/core/atoms/std-calendar.orb +101 -24
  57. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +44 -18
  58. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +44 -18
  59. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +19 -8
  60. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +20 -9
  61. package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -0
  62. package/behaviors/registry/ui/core/atoms/std-modal.orb +52 -24
  63. package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -0
  64. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +0 -3
  65. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +2 -9
  66. package/behaviors/registry/ui/core/atoms/std-thread.orb +134 -40
  67. package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -0
  68. package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -0
  69. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -0
  70. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -0
  71. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -0
  72. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -0
  73. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +2 -0
  74. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -0
  75. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +2 -0
  76. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +2 -0
  77. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -0
  78. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -0
  79. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -0
  80. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -0
  81. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -0
  82. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -0
  83. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -0
  84. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -0
  85. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -0
  86. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +2 -0
  87. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -0
  88. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +687 -0
  89. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -0
  90. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +10 -30
  91. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +10 -30
  92. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +36 -108
  93. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +36 -108
  94. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +34 -102
  95. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +10 -30
  96. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +12 -36
  97. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +12 -36
  98. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +20 -60
  99. package/dist/behaviors/exports-reader.js +2147 -2212
  100. package/dist/behaviors/functions/index.d.ts +111 -34
  101. package/dist/behaviors/functions/index.js +2145 -2211
  102. package/dist/behaviors/index.d.ts +1 -1
  103. package/dist/behaviors/index.js +2148 -2213
  104. package/dist/behaviors/query.js +2147 -2212
  105. package/dist/behaviors-embeddings.hash.json +3 -3
  106. package/dist/behaviors-embeddings.json +11 -7
  107. package/dist/behaviors-registry.json +997 -759
  108. package/dist/index.d.ts +1 -1
  109. package/dist/index.js +2148 -2213
  110. package/dist/knob-embeddings.hash.json +3 -3
  111. package/dist/knob-embeddings.json +1 -1
  112. package/dist/registry/factory-signatures.json +1 -1
  113. package/package.json +3 -3
@@ -77,26 +77,26 @@ orbital WorldMapBoard2DOrbital {
77
77
  entity GameState [runtime, shared] {
78
78
  id : string!
79
79
  units : [Unit] = [
80
- { id: "hero", position: { x: 0, y: 0 }, x: 0, y: 0, z: 0, team: "player", health: 3, maxHealth: 3, unitType: "hero", name: "Hero", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json", sprite: "blue_body_square.png", role: "player", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "player-unit", thumbnailUrl: "" } },
81
- { id: "guard", position: { x: 3, y: 3 }, x: 3, y: 3, z: 0, team: "enemy", health: 3, maxHealth: 3, unitType: "guard", name: "Guard", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json", sprite: "red_body_square.png", role: "enemy", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "enemy-unit", thumbnailUrl: "" } }
80
+ { id: "hero", position: { x: 0, y: 0 }, x: 0, y: 0, z: 0, team: "player", health: 3, maxHealth: 3, unitType: "hero", name: "Hero", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/units/soldier/soldier.png", role: "player", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "player-unit", thumbnailUrl: "" } },
81
+ { id: "guard", position: { x: 3, y: 3 }, x: 3, y: 3, z: 0, team: "enemy", health: 3, maxHealth: 3, unitType: "guard", name: "Guard", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/units/soldier/soldier.png", role: "enemy", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "enemy-unit", thumbnailUrl: "" } }
82
82
  ]
83
83
  tiles : [Tile] = [
84
- { id: "t-0-0", x: 0, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
85
- { id: "t-0-1", x: 0, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
86
- { id: "t-0-2", x: 0, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
87
- { id: "t-0-3", x: 0, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
88
- { id: "t-1-0", x: 1, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
89
- { id: "t-1-1", x: 1, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
90
- { id: "t-1-2", x: 1, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
91
- { id: "t-1-3", x: 1, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
92
- { id: "t-2-0", x: 2, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
93
- { id: "t-2-1", x: 2, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
94
- { id: "t-2-2", x: 2, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
95
- { id: "t-2-3", x: 2, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
96
- { id: "t-3-0", x: 3, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
97
- { id: "t-3-1", x: 3, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
98
- { id: "t-3-2", x: 3, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
99
- { id: "t-3-3", x: 3, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.png", atlas: "https://almadar-kflow-assets.web.app/shared/ui-boardgame-board/kenney-puzzle-assets-2/terrain/spritesheet_tilesBlue.json", sprite: "tileBlue_01.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
84
+ { id: "t-0-0", x: 0, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
85
+ { id: "t-0-1", x: 0, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
86
+ { id: "t-0-2", x: 0, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
87
+ { id: "t-0-3", x: 0, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
88
+ { id: "t-1-0", x: 1, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
89
+ { id: "t-1-1", x: 1, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
90
+ { id: "t-1-2", x: 1, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
91
+ { id: "t-1-3", x: 1, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
92
+ { id: "t-2-0", x: 2, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
93
+ { id: "t-2-1", x: 2, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
94
+ { id: "t-2-2", x: 2, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
95
+ { id: "t-2-3", x: 2, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
96
+ { id: "t-3-0", x: 3, y: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
97
+ { id: "t-3-1", x: 3, y: 1, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
98
+ { id: "t-3-2", x: 3, y: 2, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } },
99
+ { id: "t-3-3", x: 3, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
100
100
  ]
101
101
  result : string = "none"
102
102
  gold : number = 0
@@ -114,8 +114,8 @@ orbital WorldMapBoard2DOrbital {
114
114
  gridHeight: 4
115
115
  attackDamage: 1
116
116
  units: [
117
- { id: "hero", position: { x: 0, y: 0 }, x: 0, y: 0, z: 0, team: "player", health: 3, maxHealth: 3, unitType: "hero", name: "Hero", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json", sprite: "blue_body_square.png", role: "player", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "player-unit", thumbnailUrl: "" } },
118
- { id: "guard", position: { x: 3, y: 3 }, x: 3, y: 3, z: 0, team: "enemy", health: 3, maxHealth: 3, unitType: "guard", name: "Guard", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png", atlas: "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json", sprite: "red_body_square.png", role: "enemy", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "enemy-unit", thumbnailUrl: "" } }
117
+ { id: "hero", position: { x: 0, y: 0 }, x: 0, y: 0, z: 0, team: "player", health: 3, maxHealth: 3, unitType: "hero", name: "Hero", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/units/soldier/soldier.png", role: "player", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "player-unit", thumbnailUrl: "" } },
118
+ { id: "guard", position: { x: 3, y: 3 }, x: 3, y: 3, z: 0, team: "enemy", health: 3, maxHealth: 3, unitType: "guard", name: "Guard", animation: "idle", frame: 0, sprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/units/soldier/soldier.png", role: "enemy", category: "unit", animations: ["idle"], style: "vector", variant: "default", dimension: "2d", aspect: "1:1", name: "enemy-unit", thumbnailUrl: "" } }
119
119
  ]
120
120
  tiles: []
121
121
  }
@@ -649,9 +649,6 @@
649
649
  "kind": "fetch",
650
650
  "resource": "ApprovalRequest"
651
651
  },
652
- {
653
- "kind": "notify"
654
- },
655
652
  {
656
653
  "kind": "persist",
657
654
  "resource": "ApprovalRequest"
@@ -661,6 +658,10 @@
661
658
  "resolved": false,
662
659
  "resource": "@config.reviewSlot"
663
660
  },
661
+ {
662
+ "kind": "render-ui",
663
+ "resource": "toast"
664
+ },
664
665
  {
665
666
  "kind": "set",
666
667
  "resource": "@entity.decidedAt"
@@ -1580,9 +1581,14 @@
1580
1581
  }
1581
1582
  ],
1582
1583
  [
1583
- "notify",
1584
- "Approval could not be applied — the request was reopened.",
1585
- "error"
1584
+ "render-ui",
1585
+ "toast",
1586
+ {
1587
+ "dismissible": true,
1588
+ "message": "Approval could not be applied — the request was reopened.",
1589
+ "type": "alert",
1590
+ "variant": "error"
1591
+ }
1586
1592
  ]
1587
1593
  ],
1588
1594
  "event": "APPROVAL_REPLAY_FAILED",
@@ -2003,9 +2009,14 @@
2003
2009
  }
2004
2010
  ],
2005
2011
  [
2006
- "notify",
2007
- "Approval could not be applied — the request was reopened.",
2008
- "error"
2012
+ "render-ui",
2013
+ "toast",
2014
+ {
2015
+ "dismissible": true,
2016
+ "message": "Approval could not be applied — the request was reopened.",
2017
+ "type": "alert",
2018
+ "variant": "error"
2019
+ }
2009
2020
  ]
2010
2021
  ],
2011
2022
  "event": "APPROVAL_REPLAY_FAILED",
@@ -238,6 +238,7 @@
238
238
  {
239
239
  "default": "",
240
240
  "description": "Scratch: Google incremental-sync token from the last listEvents; in-memory per instance — a restart falls back to a full list.",
241
+ "intrinsic": true,
241
242
  "name": "syncToken",
242
243
  "synonyms": "sync cursor, next token",
243
244
  "type": "string"
@@ -245,6 +246,7 @@
245
246
  {
246
247
  "default": 0.0,
247
248
  "description": "When the last full push+pull cycle completed; 0 = never.",
249
+ "intrinsic": true,
248
250
  "name": "lastSyncedAt",
249
251
  "synonyms": "last sync time",
250
252
  "type": "number"
@@ -252,6 +254,7 @@
252
254
  {
253
255
  "default": "",
254
256
  "description": "Scratch: id of the target row the push loop is currently exporting.",
257
+ "intrinsic": true,
255
258
  "name": "headId",
256
259
  "synonyms": "cursor, current row",
257
260
  "type": "string"
@@ -259,6 +262,7 @@
259
262
  {
260
263
  "default": [],
261
264
  "description": "Scratch: remote events remaining in the current pull-upsert loop.",
265
+ "intrinsic": true,
262
266
  "items": {
263
267
  "properties": {
264
268
  "description": {
@@ -311,6 +315,7 @@
311
315
  {
312
316
  "default": "",
313
317
  "description": "Last sync failure detail; blank = none.",
318
+ "intrinsic": true,
314
319
  "name": "lastError",
315
320
  "synonyms": "sync error, failure",
316
321
  "type": "string"
@@ -135,6 +135,7 @@
135
135
  {
136
136
  "default": "",
137
137
  "description": "Scratch: id of the dependent row the loop is currently deleting.",
138
+ "intrinsic": true,
138
139
  "name": "headId",
139
140
  "synonyms": "current id, cursor",
140
141
  "type": "string"
@@ -216,6 +217,10 @@
216
217
  "resolved": false,
217
218
  "resource": "@config.dependentEntity"
218
219
  },
220
+ {
221
+ "kind": "persist",
222
+ "resource": "CascadeLog"
223
+ },
219
224
  {
220
225
  "kind": "set",
221
226
  "resource": "@entity.headId"
@@ -227,6 +232,10 @@
227
232
  {
228
233
  "kind": "set",
229
234
  "resource": "@entity.parentId"
235
+ },
236
+ {
237
+ "kind": "set",
238
+ "resource": "@entity.rowCount"
230
239
  }
231
240
  ],
232
241
  "emits": [
@@ -505,6 +514,16 @@
505
514
  {
506
515
  "parentId": "@entity.parentId"
507
516
  }
517
+ ],
518
+ [
519
+ "persist",
520
+ "create",
521
+ "CascadeLog",
522
+ {
523
+ "parentEntity": "@entity.parentEntity",
524
+ "parentId": "@entity.parentId",
525
+ "rowCount": "@entity.rowCount"
526
+ }
508
527
  ]
509
528
  ],
510
529
  "event": "DepsLoaded",
@@ -538,6 +557,15 @@
538
557
  },
539
558
  {
540
559
  "effects": [
560
+ [
561
+ "set",
562
+ "@entity.rowCount",
563
+ [
564
+ "+",
565
+ "@entity.rowCount",
566
+ 1.0
567
+ ]
568
+ ],
541
569
  [
542
570
  "fetch",
543
571
  "@config.dependentEntity",
@@ -268,6 +268,7 @@
268
268
  {
269
269
  "default": 0.0,
270
270
  "description": "The number of times the circuit breaker has failed.",
271
+ "intrinsic": true,
271
272
  "name": "failureCount",
272
273
  "synonyms": "error count, failures, error occurrences",
273
274
  "type": "number"
@@ -275,6 +276,7 @@
275
276
  {
276
277
  "default": 0.0,
277
278
  "description": "Number of successful operations.",
279
+ "intrinsic": true,
278
280
  "name": "successCount",
279
281
  "synonyms": "successes, hits, completions",
280
282
  "type": "number"
@@ -282,6 +284,7 @@
282
284
  {
283
285
  "default": 5.0,
284
286
  "description": "Maximum value before triggering an action.",
287
+ "intrinsic": true,
285
288
  "name": "threshold",
286
289
  "synonyms": "limit, cap, boundary",
287
290
  "type": "number"
@@ -501,13 +501,14 @@
501
501
  {
502
502
  "kind": "browser/push-subscribe"
503
503
  },
504
- {
505
- "kind": "notify"
506
- },
507
504
  {
508
505
  "kind": "persist",
509
506
  "resource": "PushSubscription"
510
507
  },
508
+ {
509
+ "kind": "render-ui",
510
+ "resource": "toast"
511
+ },
511
512
  {
512
513
  "kind": "set",
513
514
  "resource": "@entity.lastError"
@@ -711,9 +712,14 @@
711
712
  {
712
713
  "effects": [
713
714
  [
714
- "notify",
715
- "success",
716
- "Push notifications enabled on this browser"
715
+ "render-ui",
716
+ "toast",
717
+ {
718
+ "dismissible": true,
719
+ "message": "Push notifications enabled on this browser",
720
+ "type": "alert",
721
+ "variant": "success"
722
+ }
717
723
  ]
718
724
  ],
719
725
  "event": "PUSH_SAVED",
@@ -729,9 +735,14 @@
729
735
  "@payload.error"
730
736
  ],
731
737
  [
732
- "notify",
733
- "warning",
734
- "Could not enable push notifications"
738
+ "render-ui",
739
+ "toast",
740
+ {
741
+ "dismissible": true,
742
+ "message": "Could not enable push notifications",
743
+ "type": "alert",
744
+ "variant": "warning"
745
+ }
735
746
  ]
736
747
  ],
737
748
  "event": "PUSH_SUBSCRIBE_FAILED",
@@ -747,9 +758,14 @@
747
758
  "@payload.error"
748
759
  ],
749
760
  [
750
- "notify",
751
- "warning",
752
- "Could not save the push subscription"
761
+ "render-ui",
762
+ "toast",
763
+ {
764
+ "dismissible": true,
765
+ "message": "Could not save the push subscription",
766
+ "type": "alert",
767
+ "variant": "warning"
768
+ }
753
769
  ]
754
770
  ],
755
771
  "event": "PUSH_SAVE_FAILED",
@@ -763,12 +779,13 @@
763
779
  {
764
780
  "category": "lifecycle",
765
781
  "effectRow": [
766
- {
767
- "kind": "notify"
768
- },
769
782
  {
770
783
  "kind": "persist",
771
784
  "resource": "NotificationPreference"
785
+ },
786
+ {
787
+ "kind": "render-ui",
788
+ "resource": "toast"
772
789
  }
773
790
  ],
774
791
  "emits": [
@@ -1018,9 +1035,14 @@
1018
1035
  {
1019
1036
  "effects": [
1020
1037
  [
1021
- "notify",
1022
- "success",
1023
- "Notification preference saved"
1038
+ "render-ui",
1039
+ "toast",
1040
+ {
1041
+ "dismissible": true,
1042
+ "message": "Notification preference saved",
1043
+ "type": "alert",
1044
+ "variant": "success"
1045
+ }
1024
1046
  ]
1025
1047
  ],
1026
1048
  "event": "PREFERENCE_SAVED",
@@ -1031,9 +1053,14 @@
1031
1053
  {
1032
1054
  "effects": [
1033
1055
  [
1034
- "notify",
1035
- "info",
1036
- "Notification preference removed"
1056
+ "render-ui",
1057
+ "toast",
1058
+ {
1059
+ "dismissible": true,
1060
+ "message": "Notification preference removed",
1061
+ "type": "alert",
1062
+ "variant": "info"
1063
+ }
1037
1064
  ]
1038
1065
  ],
1039
1066
  "event": "PREFERENCE_DELETED",
@@ -1044,9 +1071,14 @@
1044
1071
  {
1045
1072
  "effects": [
1046
1073
  [
1047
- "notify",
1048
- "warning",
1049
- "Could not save the notification preference"
1074
+ "render-ui",
1075
+ "toast",
1076
+ {
1077
+ "dismissible": true,
1078
+ "message": "Could not save the notification preference",
1079
+ "type": "alert",
1080
+ "variant": "warning"
1081
+ }
1050
1082
  ]
1051
1083
  ],
1052
1084
  "event": "PREFERENCE_SAVE_FAILED",
@@ -642,13 +642,14 @@
642
642
  "kind": "fetch",
643
643
  "resource": "PushSubscription"
644
644
  },
645
- {
646
- "kind": "notify"
647
- },
648
645
  {
649
646
  "kind": "persist",
650
647
  "resource": "NotificationRecord"
651
648
  },
649
+ {
650
+ "kind": "render-ui",
651
+ "resource": "toast"
652
+ },
652
653
  {
653
654
  "kind": "set",
654
655
  "resource": "@entity.channel"
@@ -2107,9 +2108,14 @@
2107
2108
  true
2108
2109
  ],
2109
2110
  [
2110
- "notify",
2111
- "@config.severity",
2112
- "@config.template"
2111
+ "render-ui",
2112
+ "toast",
2113
+ {
2114
+ "dismissible": true,
2115
+ "message": "@config.template",
2116
+ "type": "alert",
2117
+ "variant": "@config.severity"
2118
+ }
2113
2119
  ]
2114
2120
  ],
2115
2121
  [
@@ -344,6 +344,10 @@
344
344
  {
345
345
  "kind": "render-ui",
346
346
  "resource": "main"
347
+ },
348
+ {
349
+ "kind": "render-ui",
350
+ "resource": "toast"
347
351
  }
348
352
  ],
349
353
  "emits": [
@@ -582,6 +586,22 @@
582
586
  "to": "composing"
583
587
  },
584
588
  {
589
+ "effects": [
590
+ [
591
+ "render-ui",
592
+ "toast",
593
+ {
594
+ "dismissible": true,
595
+ "message": [
596
+ "str/concat",
597
+ "Couldn't load the layout — ",
598
+ "@payload.error"
599
+ ],
600
+ "type": "alert",
601
+ "variant": "error"
602
+ }
603
+ ]
604
+ ],
585
605
  "event": "AppLayoutStateLoadFailed",
586
606
  "eventId": "evt_01KXG04FN1HKWQW3DZ4P2FGD8R",
587
607
  "from": "composing",