@almadar/std 8.3.0 → 8.4.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 (187) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +62 -62
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +101 -101
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +100 -100
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +103 -103
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +386 -386
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +66 -66
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +114 -114
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +61 -61
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +109 -109
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +196 -196
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +347 -347
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +61 -60
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +187 -187
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +180 -180
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +108 -108
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +107 -107
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +184 -184
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1130 -1130
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +2998 -2998
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2135 -2135
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1033 -1033
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +784 -784
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +798 -798
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1139 -1139
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +776 -776
  27. package/behaviors/registry/app/organisms/std-cms.orb +469 -469
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +338 -338
  29. package/behaviors/registry/app/organisms/std-crm.orb +832 -832
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1350 -1350
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +975 -975
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +573 -573
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1370 -1370
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +617 -617
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1177 -1177
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +871 -871
  37. package/behaviors/registry/app/organisms/std-lms.orb +839 -839
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +667 -667
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +667 -667
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +230 -230
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +682 -682
  42. package/behaviors/registry/core/atoms/std-browse.orb +53 -53
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +89 -89
  44. package/behaviors/registry/core/atoms/std-calendar.orb +57 -57
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +196 -196
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +19 -19
  47. package/behaviors/registry/core/atoms/std-display.orb +383 -383
  48. package/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  49. package/behaviors/registry/core/atoms/std-filter.orb +42 -42
  50. package/behaviors/registry/core/atoms/std-gallery.orb +54 -54
  51. package/behaviors/registry/core/atoms/std-modal.orb +12 -12
  52. package/behaviors/registry/core/atoms/std-pagination.orb +42 -42
  53. package/behaviors/registry/core/atoms/std-push.orb +42 -42
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +179 -179
  55. package/behaviors/registry/core/atoms/std-related.orb +34 -34
  56. package/behaviors/registry/core/atoms/std-search.orb +68 -68
  57. package/behaviors/registry/core/atoms/std-selection.orb +90 -90
  58. package/behaviors/registry/core/atoms/std-tabs.orb +52 -52
  59. package/behaviors/registry/core/molecules/std-cart.orb +45 -45
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +7 -7
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +127 -127
  62. package/behaviors/registry/core/molecules/std-list.orb +46 -46
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +147 -147
  64. package/behaviors/registry/game/atoms/std-collision.orb +121 -121
  65. package/behaviors/registry/game/atoms/std-combat.orb +68 -68
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +48 -48
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  69. package/behaviors/registry/game/atoms/std-movement.orb +306 -306
  70. package/behaviors/registry/game/atoms/std-overworld.orb +68 -68
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  72. package/behaviors/registry/game/atoms/std-quest.orb +124 -124
  73. package/behaviors/registry/game/atoms/std-timer.orb +274 -274
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +145 -145
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +67 -67
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +218 -218
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +90 -90
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +372 -372
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +345 -345
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +540 -540
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +14 -14
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +86 -86
  83. package/behaviors/registry/service/atoms/std-service-email.orb +72 -72
  84. package/behaviors/registry/service/atoms/std-service-github.orb +98 -98
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +118 -118
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +118 -118
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +103 -103
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +95 -95
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +107 -107
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +104 -104
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +966 -966
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +905 -905
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +62 -62
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +101 -101
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +100 -100
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +103 -103
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +386 -386
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +66 -66
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +114 -114
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +61 -61
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +109 -109
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +196 -196
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +347 -347
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +61 -60
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +187 -187
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +180 -180
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +108 -108
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +107 -107
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +184 -184
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1130 -1130
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +2998 -2998
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2135 -2135
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1033 -1033
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +784 -784
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +798 -798
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1139 -1139
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +776 -776
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +469 -469
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +338 -338
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +832 -832
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1350 -1350
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +975 -975
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +573 -573
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1370 -1370
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +617 -617
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1177 -1177
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +871 -871
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +839 -839
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +667 -667
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +667 -667
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +230 -230
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +682 -682
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +53 -53
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +89 -89
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +57 -57
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +196 -196
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +19 -19
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +383 -383
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +42 -42
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +54 -54
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +12 -12
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +42 -42
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +42 -42
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +179 -179
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +34 -34
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +68 -68
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +90 -90
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +52 -52
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +45 -45
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +7 -7
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +127 -127
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +46 -46
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +147 -147
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +121 -121
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +68 -68
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +48 -48
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +306 -306
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +68 -68
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +124 -124
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +274 -274
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +145 -145
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +67 -67
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +218 -218
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +90 -90
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +372 -372
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +345 -345
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +540 -540
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +14 -14
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +86 -86
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +72 -72
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +98 -98
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +118 -118
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +118 -118
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +103 -103
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +95 -95
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +107 -107
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +104 -104
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +966 -966
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +905 -905
  187. package/package.json +1 -1
@@ -158,8 +158,8 @@
158
158
  "ArmyBattle",
159
159
  {
160
160
  "emit": {
161
- "success": "ArmyBattleLoaded",
162
- "failure": "ArmyBattleLoadFailed"
161
+ "failure": "ArmyBattleLoadFailed",
162
+ "success": "ArmyBattleLoaded"
163
163
  }
164
164
  }
165
165
  ],
@@ -167,14 +167,12 @@
167
167
  "render-ui",
168
168
  "main",
169
169
  {
170
- "showTopBar": true,
171
- "type": "game-shell",
172
170
  "appName": "Strategy Game",
173
171
  "children": [
174
172
  {
175
173
  "type": "game-menu",
176
- "subtitle": "Turn-Based Strategy",
177
174
  "title": "Army Battle",
175
+ "subtitle": "Turn-Based Strategy",
178
176
  "menuItems": [
179
177
  {
180
178
  "event": "START",
@@ -183,7 +181,9 @@
183
181
  }
184
182
  ]
185
183
  }
186
- ]
184
+ ],
185
+ "type": "game-shell",
186
+ "showTopBar": true
187
187
  }
188
188
  ]
189
189
  ]
@@ -198,8 +198,6 @@
198
198
  "main",
199
199
  {
200
200
  "showTopBar": true,
201
- "appName": "Strategy Game",
202
- "type": "game-shell",
203
201
  "children": [
204
202
  {
205
203
  "stats": [
@@ -208,13 +206,15 @@
208
206
  "value": "@entity.turn"
209
207
  },
210
208
  {
211
- "value": "@entity.score",
212
- "label": "Score"
209
+ "label": "Score",
210
+ "value": "@entity.score"
213
211
  }
214
212
  ],
215
213
  "type": "game-hud"
216
214
  }
217
- ]
215
+ ],
216
+ "type": "game-shell",
217
+ "appName": "Strategy Game"
218
218
  }
219
219
  ]
220
220
  ]
@@ -242,9 +242,8 @@
242
242
  "render-ui",
243
243
  "main",
244
244
  {
245
- "type": "game-shell",
246
- "showTopBar": true,
247
245
  "appName": "Strategy Game",
246
+ "type": "game-shell",
248
247
  "children": [
249
248
  {
250
249
  "stats": [
@@ -253,13 +252,14 @@
253
252
  "label": "Turn"
254
253
  },
255
254
  {
256
- "value": "@entity.score",
257
- "label": "Score"
255
+ "label": "Score",
256
+ "value": "@entity.score"
258
257
  }
259
258
  ],
260
259
  "type": "game-hud"
261
260
  }
262
- ]
261
+ ],
262
+ "showTopBar": true
263
263
  }
264
264
  ]
265
265
  ]
@@ -273,19 +273,19 @@
273
273
  "render-ui",
274
274
  "modal",
275
275
  {
276
- "title": "Paused",
277
276
  "menuItems": [
278
277
  {
279
- "label": "Resume",
280
278
  "event": "RESUME",
279
+ "label": "Resume",
281
280
  "variant": "primary"
282
281
  },
283
282
  {
284
- "event": "RESTART",
285
283
  "label": "Quit",
284
+ "event": "RESTART",
286
285
  "variant": "ghost"
287
286
  }
288
287
  ],
288
+ "title": "Paused",
289
289
  "type": "game-menu"
290
290
  }
291
291
  ]
@@ -301,36 +301,36 @@
301
301
  "main",
302
302
  {
303
303
  "type": "game-shell",
304
+ "appName": "Strategy Game",
304
305
  "showTopBar": true,
305
306
  "children": [
306
307
  {
308
+ "type": "game-over-screen",
309
+ "title": "Battle Over",
307
310
  "stats": [
308
311
  {
309
312
  "label": "Turns",
310
313
  "value": "@entity.turn"
311
314
  },
312
315
  {
313
- "value": "@entity.score",
314
- "label": "Score"
316
+ "label": "Score",
317
+ "value": "@entity.score"
315
318
  }
316
319
  ],
317
- "type": "game-over-screen",
318
320
  "menuItems": [
319
321
  {
322
+ "label": "Play Again",
320
323
  "event": "RESTART",
321
- "variant": "primary",
322
- "label": "Play Again"
324
+ "variant": "primary"
323
325
  },
324
326
  {
325
327
  "event": "RESTART",
326
- "label": "Main Menu",
327
- "variant": "secondary"
328
+ "variant": "secondary",
329
+ "label": "Main Menu"
328
330
  }
329
- ],
330
- "title": "Battle Over"
331
+ ]
331
332
  }
332
- ],
333
- "appName": "Strategy Game"
333
+ ]
334
334
  }
335
335
  ]
336
336
  ]
@@ -354,9 +354,9 @@
354
354
  "render-ui",
355
355
  "main",
356
356
  {
357
+ "appName": "Strategy Game",
357
358
  "showTopBar": true,
358
359
  "type": "game-shell",
359
- "appName": "Strategy Game",
360
360
  "children": [
361
361
  {
362
362
  "type": "game-hud",
@@ -390,24 +390,24 @@
390
390
  "render-ui",
391
391
  "main",
392
392
  {
393
+ "type": "game-shell",
394
+ "showTopBar": true,
395
+ "appName": "Strategy Game",
393
396
  "children": [
394
397
  {
398
+ "type": "game-hud",
395
399
  "stats": [
396
400
  {
397
- "value": "@entity.turn",
398
- "label": "Turn"
401
+ "label": "Turn",
402
+ "value": "@entity.turn"
399
403
  },
400
404
  {
401
405
  "label": "Score",
402
406
  "value": "@entity.score"
403
407
  }
404
- ],
405
- "type": "game-hud"
408
+ ]
406
409
  }
407
- ],
408
- "appName": "Strategy Game",
409
- "type": "game-shell",
410
- "showTopBar": true
410
+ ]
411
411
  }
412
412
  ]
413
413
  ]
@@ -426,23 +426,23 @@
426
426
  "render-ui",
427
427
  "main",
428
428
  {
429
+ "type": "game-shell",
430
+ "appName": "Strategy Game",
431
+ "showTopBar": true,
429
432
  "children": [
430
433
  {
431
- "subtitle": "Turn-Based Strategy",
432
- "type": "game-menu",
433
- "title": "Army Battle",
434
434
  "menuItems": [
435
435
  {
436
436
  "variant": "primary",
437
437
  "label": "Start Battle",
438
438
  "event": "START"
439
439
  }
440
- ]
440
+ ],
441
+ "type": "game-menu",
442
+ "title": "Army Battle",
443
+ "subtitle": "Turn-Based Strategy"
441
444
  }
442
- ],
443
- "appName": "Strategy Game",
444
- "showTopBar": true,
445
- "type": "game-shell"
445
+ ]
446
446
  }
447
447
  ]
448
448
  ]
@@ -457,6 +457,7 @@
457
457
  "main",
458
458
  {
459
459
  "showTopBar": true,
460
+ "type": "game-shell",
460
461
  "appName": "Strategy Game",
461
462
  "children": [
462
463
  {
@@ -468,11 +469,10 @@
468
469
  "label": "Start Battle"
469
470
  }
470
471
  ],
471
- "title": "Army Battle",
472
- "type": "game-menu"
472
+ "type": "game-menu",
473
+ "title": "Army Battle"
473
474
  }
474
- ],
475
- "type": "game-shell"
475
+ ]
476
476
  }
477
477
  ]
478
478
  ]
@@ -592,19 +592,19 @@
592
592
  "render-ui",
593
593
  "main",
594
594
  {
595
- "type": "game-shell",
596
595
  "children": [
597
596
  {
597
+ "title": "Combat Log",
598
598
  "autoScroll": true,
599
599
  "type": "combat-log",
600
- "maxVisible": 10.0,
601
- "title": "Combat Log",
602
600
  "showTimestamps": true,
603
- "events": "@ArmyBattle"
601
+ "events": "@ArmyBattle",
602
+ "maxVisible": 10.0
604
603
  }
605
604
  ],
606
- "appName": "Strategy Game",
607
- "showTopBar": true
605
+ "showTopBar": true,
606
+ "type": "game-shell",
607
+ "appName": "Strategy Game"
608
608
  }
609
609
  ]
610
610
  ]
@@ -618,19 +618,19 @@
618
618
  "render-ui",
619
619
  "main",
620
620
  {
621
+ "showTopBar": true,
622
+ "type": "game-shell",
623
+ "appName": "Strategy Game",
621
624
  "children": [
622
625
  {
623
- "type": "combat-log",
624
- "autoScroll": true,
625
626
  "events": "@ArmyBattle",
626
627
  "maxVisible": 10.0,
628
+ "type": "combat-log",
627
629
  "showTimestamps": true,
628
- "title": "Combat Log"
630
+ "title": "Combat Log",
631
+ "autoScroll": true
629
632
  }
630
- ],
631
- "showTopBar": true,
632
- "type": "game-shell",
633
- "appName": "Strategy Game"
633
+ ]
634
634
  }
635
635
  ]
636
636
  ]
@@ -794,21 +794,21 @@
794
794
  "main",
795
795
  {
796
796
  "align": "center",
797
- "type": "stack",
797
+ "className": "py-12",
798
798
  "children": [
799
799
  {
800
800
  "type": "spinner"
801
801
  },
802
802
  {
803
- "color": "muted",
804
803
  "content": "Loading…",
805
- "type": "typography",
806
- "variant": "caption"
804
+ "variant": "caption",
805
+ "color": "muted",
806
+ "type": "typography"
807
807
  }
808
808
  ],
809
- "gap": "md",
809
+ "type": "stack",
810
810
  "direction": "vertical",
811
- "className": "py-12"
811
+ "gap": "md"
812
812
  }
813
813
  ]
814
814
  ]
@@ -822,113 +822,113 @@
822
822
  "render-ui",
823
823
  "main",
824
824
  {
825
- "showTopBar": true,
826
- "type": "game-shell",
827
- "appName": "Strategy Game",
828
825
  "children": [
829
826
  {
830
- "direction": "vertical",
831
- "gap": "lg",
832
827
  "children": [
833
828
  {
829
+ "direction": "horizontal",
830
+ "justify": "between",
834
831
  "type": "stack",
835
832
  "children": [
836
833
  {
837
- "gap": "md",
838
834
  "type": "stack",
839
835
  "children": [
840
836
  {
841
- "name": "map",
842
- "type": "icon"
837
+ "type": "icon",
838
+ "name": "map"
843
839
  },
844
840
  {
845
- "content": "Territory Map",
841
+ "type": "typography",
846
842
  "variant": "h2",
847
- "type": "typography"
843
+ "content": "Territory Map"
848
844
  }
849
845
  ],
846
+ "gap": "md",
850
847
  "direction": "horizontal"
851
848
  },
852
849
  {
853
- "label": "Exploring",
854
- "pulse": false,
855
850
  "status": "online",
856
- "type": "status-dot"
851
+ "pulse": false,
852
+ "type": "status-dot",
853
+ "label": "Exploring"
857
854
  }
858
855
  ],
859
- "justify": "between",
860
- "gap": "md",
861
- "direction": "horizontal"
856
+ "gap": "md"
862
857
  },
863
858
  {
864
859
  "type": "divider"
865
860
  },
866
861
  {
867
- "height": "200px",
868
862
  "type": "map-view",
869
863
  "zoom": 10.0,
870
- "markers": []
864
+ "markers": [],
865
+ "height": "200px"
871
866
  },
872
867
  {
873
- "entity": "@payload.data",
874
- "type": "data-grid",
875
- "itemActions": [
876
- {
877
- "label": "Travel",
878
- "event": "TRAVEL"
879
- }
880
- ],
881
868
  "renderItem": [
882
869
  "fn",
883
870
  "item",
884
871
  {
885
872
  "type": "stack",
873
+ "direction": "vertical",
886
874
  "gap": "sm",
887
875
  "children": [
888
876
  {
889
- "type": "stack",
890
- "direction": "horizontal",
891
- "justify": "between",
892
- "align": "center",
893
877
  "children": [
894
878
  {
895
- "type": "stack",
896
879
  "gap": "sm",
897
- "align": "center",
898
880
  "children": [
899
881
  {
900
882
  "name": "map-pin",
901
883
  "type": "icon"
902
884
  },
903
885
  {
904
- "variant": "h4",
905
886
  "content": "@item.name",
906
- "type": "typography"
887
+ "type": "typography",
888
+ "variant": "h4"
907
889
  }
908
890
  ],
909
- "direction": "horizontal"
891
+ "direction": "horizontal",
892
+ "type": "stack",
893
+ "align": "center"
910
894
  },
911
895
  {
912
896
  "type": "badge",
913
897
  "label": "@item.owner"
914
898
  }
915
- ]
899
+ ],
900
+ "type": "stack",
901
+ "direction": "horizontal",
902
+ "align": "center",
903
+ "justify": "between"
916
904
  },
917
905
  {
918
- "type": "typography",
919
906
  "variant": "caption",
907
+ "type": "typography",
920
908
  "content": "@item.defense"
921
909
  }
922
- ],
923
- "direction": "vertical"
910
+ ]
911
+ }
912
+ ],
913
+ "itemActions": [
914
+ {
915
+ "label": "Travel",
916
+ "event": "TRAVEL"
924
917
  }
925
918
  ],
919
+ "type": "data-grid",
920
+ "entity": "@payload.data",
926
921
  "fields": []
927
922
  }
928
923
  ],
924
+ "direction": "vertical",
925
+ "gap": "lg",
929
926
  "type": "stack"
930
927
  }
931
- ]
928
+ ],
929
+ "appName": "Strategy Game",
930
+ "type": "game-shell",
931
+ "showTopBar": true
932
932
  }
933
933
  ]
934
934
  ]
@@ -942,19 +942,18 @@
942
942
  "render-ui",
943
943
  "main",
944
944
  {
945
- "className": "py-12",
946
- "type": "stack",
947
945
  "align": "center",
946
+ "className": "py-12",
948
947
  "children": [
949
948
  {
950
- "name": "alert-triangle",
951
949
  "type": "icon",
952
- "color": "destructive"
950
+ "color": "destructive",
951
+ "name": "alert-triangle"
953
952
  },
954
953
  {
954
+ "content": "Failed to load territory",
955
955
  "type": "typography",
956
- "variant": "h3",
957
- "content": "Failed to load territory"
956
+ "variant": "h3"
958
957
  },
959
958
  {
960
959
  "content": "@payload.error",
@@ -963,15 +962,16 @@
963
962
  "type": "typography"
964
963
  },
965
964
  {
966
- "label": "Retry",
967
- "type": "button",
968
- "icon": "rotate-ccw",
969
965
  "action": "INIT",
970
- "variant": "primary"
966
+ "type": "button",
967
+ "variant": "primary",
968
+ "label": "Retry",
969
+ "icon": "rotate-ccw"
971
970
  }
972
971
  ],
973
972
  "direction": "vertical",
974
- "gap": "md"
973
+ "gap": "md",
974
+ "type": "stack"
975
975
  }
976
976
  ]
977
977
  ]
@@ -985,43 +985,43 @@
985
985
  "render-ui",
986
986
  "main",
987
987
  {
988
- "showTopBar": true,
989
- "appName": "Strategy Game",
990
988
  "type": "game-shell",
989
+ "appName": "Strategy Game",
991
990
  "children": [
992
991
  {
992
+ "gap": "lg",
993
993
  "align": "center",
994
+ "type": "stack",
995
+ "direction": "vertical",
994
996
  "children": [
995
997
  {
998
+ "type": "stack",
999
+ "direction": "horizontal",
996
1000
  "children": [
997
1001
  {
998
1002
  "name": "loader",
999
1003
  "type": "icon"
1000
1004
  },
1001
1005
  {
1002
- "content": "Traveling...",
1003
1006
  "type": "typography",
1004
- "variant": "h2"
1007
+ "variant": "h2",
1008
+ "content": "Traveling..."
1005
1009
  }
1006
1010
  ],
1007
- "direction": "horizontal",
1008
- "type": "stack",
1009
1011
  "gap": "md"
1010
1012
  },
1011
1013
  {
1012
1014
  "type": "divider"
1013
1015
  },
1014
1016
  {
1015
- "variant": "body",
1017
+ "content": "Traveling to the destination territorys map.",
1016
1018
  "type": "typography",
1017
- "content": "Traveling to the destination territorys map."
1019
+ "variant": "body"
1018
1020
  }
1019
- ],
1020
- "type": "stack",
1021
- "gap": "lg",
1022
- "direction": "vertical"
1021
+ ]
1023
1022
  }
1024
- ]
1023
+ ],
1024
+ "showTopBar": true
1025
1025
  }
1026
1026
  ]
1027
1027
  ]
@@ -1046,19 +1046,19 @@
1046
1046
  "main",
1047
1047
  {
1048
1048
  "type": "stack",
1049
- "className": "py-12",
1049
+ "align": "center",
1050
1050
  "gap": "md",
1051
+ "className": "py-12",
1051
1052
  "direction": "vertical",
1052
- "align": "center",
1053
1053
  "children": [
1054
1054
  {
1055
1055
  "type": "spinner"
1056
1056
  },
1057
1057
  {
1058
- "content": "Loading…",
1059
- "color": "muted",
1060
1058
  "variant": "caption",
1061
- "type": "typography"
1059
+ "type": "typography",
1060
+ "color": "muted",
1061
+ "content": "Loading…"
1062
1062
  }
1063
1063
  ]
1064
1064
  }
@@ -1074,25 +1074,27 @@
1074
1074
  "render-ui",
1075
1075
  "main",
1076
1076
  {
1077
- "type": "game-shell",
1078
1077
  "appName": "Strategy Game",
1078
+ "showTopBar": true,
1079
+ "type": "game-shell",
1079
1080
  "children": [
1080
1081
  {
1081
- "direction": "vertical",
1082
1082
  "type": "stack",
1083
+ "gap": "lg",
1084
+ "direction": "vertical",
1083
1085
  "children": [
1084
1086
  {
1085
- "gap": "md",
1087
+ "type": "stack",
1086
1088
  "justify": "between",
1089
+ "gap": "md",
1087
1090
  "direction": "horizontal",
1088
1091
  "children": [
1089
1092
  {
1090
1093
  "direction": "horizontal",
1091
- "type": "stack",
1092
1094
  "children": [
1093
1095
  {
1094
- "type": "icon",
1095
- "name": "map"
1096
+ "name": "map",
1097
+ "type": "icon"
1096
1098
  },
1097
1099
  {
1098
1100
  "content": "Territorys Map",
@@ -1100,15 +1102,15 @@
1100
1102
  "type": "typography"
1101
1103
  }
1102
1104
  ],
1105
+ "type": "stack",
1103
1106
  "gap": "md"
1104
1107
  },
1105
1108
  {
1106
1109
  "status": "online",
1107
- "label": "Entered",
1108
- "type": "status-dot"
1110
+ "type": "status-dot",
1111
+ "label": "Entered"
1109
1112
  }
1110
- ],
1111
- "type": "stack"
1113
+ ]
1112
1114
  },
1113
1115
  {
1114
1116
  "type": "divider"
@@ -1119,28 +1121,30 @@
1119
1121
  "fn",
1120
1122
  "item",
1121
1123
  {
1122
- "direction": "vertical",
1123
- "type": "stack",
1124
1124
  "gap": "sm",
1125
+ "type": "stack",
1126
+ "direction": "vertical",
1125
1127
  "children": [
1126
1128
  {
1127
- "justify": "between",
1129
+ "type": "stack",
1128
1130
  "direction": "horizontal",
1131
+ "justify": "between",
1132
+ "align": "center",
1129
1133
  "children": [
1130
1134
  {
1131
- "direction": "horizontal",
1135
+ "gap": "sm",
1132
1136
  "type": "stack",
1137
+ "direction": "horizontal",
1133
1138
  "align": "center",
1134
- "gap": "sm",
1135
1139
  "children": [
1136
1140
  {
1137
1141
  "name": "map-pin",
1138
1142
  "type": "icon"
1139
1143
  },
1140
1144
  {
1141
- "content": "@item.name",
1142
1145
  "type": "typography",
1143
- "variant": "h4"
1146
+ "variant": "h4",
1147
+ "content": "@item.name"
1144
1148
  }
1145
1149
  ]
1146
1150
  },
@@ -1148,13 +1152,11 @@
1148
1152
  "label": "@item.owner",
1149
1153
  "type": "badge"
1150
1154
  }
1151
- ],
1152
- "align": "center",
1153
- "type": "stack"
1155
+ ]
1154
1156
  },
1155
1157
  {
1156
- "content": "@item.defense",
1157
1158
  "type": "typography",
1159
+ "content": "@item.defense",
1158
1160
  "variant": "caption"
1159
1161
  }
1160
1162
  ]
@@ -1168,24 +1170,22 @@
1168
1170
  },
1169
1171
  {
1170
1172
  "direction": "horizontal",
1171
- "justify": "end",
1172
1173
  "children": [
1173
1174
  {
1174
- "variant": "ghost",
1175
- "icon": "arrow-left",
1176
1175
  "type": "button",
1177
1176
  "label": "Back to Map",
1178
- "action": "BACK"
1177
+ "variant": "ghost",
1178
+ "action": "BACK",
1179
+ "icon": "arrow-left"
1179
1180
  }
1180
1181
  ],
1181
- "type": "stack",
1182
- "gap": "sm"
1182
+ "justify": "end",
1183
+ "gap": "sm",
1184
+ "type": "stack"
1183
1185
  }
1184
- ],
1185
- "gap": "lg"
1186
+ ]
1186
1187
  }
1187
- ],
1188
- "showTopBar": true
1188
+ ]
1189
1189
  }
1190
1190
  ]
1191
1191
  ]
@@ -1199,36 +1199,36 @@
1199
1199
  "render-ui",
1200
1200
  "main",
1201
1201
  {
1202
- "type": "stack",
1203
- "className": "py-12",
1204
- "direction": "vertical",
1205
- "gap": "md",
1206
1202
  "children": [
1207
1203
  {
1208
1204
  "type": "icon",
1209
- "color": "destructive",
1210
- "name": "alert-triangle"
1205
+ "name": "alert-triangle",
1206
+ "color": "destructive"
1211
1207
  },
1212
1208
  {
1213
- "type": "typography",
1214
1209
  "content": "Failed to load territory",
1210
+ "type": "typography",
1215
1211
  "variant": "h3"
1216
1212
  },
1217
1213
  {
1218
- "variant": "body",
1219
- "type": "typography",
1220
1214
  "content": "@payload.error",
1215
+ "type": "typography",
1216
+ "variant": "body",
1221
1217
  "color": "muted"
1222
1218
  },
1223
1219
  {
1224
- "label": "Retry",
1225
- "variant": "primary",
1226
1220
  "icon": "rotate-ccw",
1227
1221
  "type": "button",
1228
- "action": "INIT"
1222
+ "label": "Retry",
1223
+ "action": "INIT",
1224
+ "variant": "primary"
1229
1225
  }
1230
1226
  ],
1231
- "align": "center"
1227
+ "direction": "vertical",
1228
+ "type": "stack",
1229
+ "align": "center",
1230
+ "gap": "md",
1231
+ "className": "py-12"
1232
1232
  }
1233
1233
  ]
1234
1234
  ]
@@ -1243,8 +1243,8 @@
1243
1243
  "Territory",
1244
1244
  {
1245
1245
  "emit": {
1246
- "success": "TerritoryLoaded",
1247
- "failure": "TerritoryLoadFailed"
1246
+ "failure": "TerritoryLoadFailed",
1247
+ "success": "TerritoryLoaded"
1248
1248
  }
1249
1249
  }
1250
1250
  ],
@@ -1252,22 +1252,22 @@
1252
1252
  "render-ui",
1253
1253
  "main",
1254
1254
  {
1255
- "type": "stack",
1256
- "direction": "vertical",
1257
1255
  "className": "py-12",
1258
- "align": "center",
1259
- "gap": "md",
1256
+ "type": "stack",
1260
1257
  "children": [
1261
1258
  {
1262
1259
  "type": "spinner"
1263
1260
  },
1264
1261
  {
1265
1262
  "content": "Loading…",
1266
- "variant": "caption",
1267
1263
  "color": "muted",
1264
+ "variant": "caption",
1268
1265
  "type": "typography"
1269
1266
  }
1270
- ]
1267
+ ],
1268
+ "direction": "vertical",
1269
+ "gap": "md",
1270
+ "align": "center"
1271
1271
  }
1272
1272
  ]
1273
1273
  ]
@@ -1281,30 +1281,30 @@
1281
1281
  "render-ui",
1282
1282
  "main",
1283
1283
  {
1284
- "showTopBar": true,
1284
+ "appName": "Strategy Game",
1285
1285
  "children": [
1286
1286
  {
1287
- "direction": "vertical",
1288
- "type": "stack",
1289
1287
  "gap": "lg",
1288
+ "type": "stack",
1290
1289
  "children": [
1291
1290
  {
1291
+ "direction": "horizontal",
1292
1292
  "children": [
1293
1293
  {
1294
- "direction": "horizontal",
1295
- "type": "stack",
1296
- "gap": "md",
1297
1294
  "children": [
1298
1295
  {
1299
- "name": "map",
1300
- "type": "icon"
1296
+ "type": "icon",
1297
+ "name": "map"
1301
1298
  },
1302
1299
  {
1303
1300
  "content": "Territory Map",
1304
1301
  "variant": "h2",
1305
1302
  "type": "typography"
1306
1303
  }
1307
- ]
1304
+ ],
1305
+ "direction": "horizontal",
1306
+ "gap": "md",
1307
+ "type": "stack"
1308
1308
  },
1309
1309
  {
1310
1310
  "type": "status-dot",
@@ -1313,81 +1313,81 @@
1313
1313
  "label": "Exploring"
1314
1314
  }
1315
1315
  ],
1316
- "direction": "horizontal",
1317
- "justify": "between",
1316
+ "gap": "md",
1318
1317
  "type": "stack",
1319
- "gap": "md"
1318
+ "justify": "between"
1320
1319
  },
1321
1320
  {
1322
1321
  "type": "divider"
1323
1322
  },
1324
1323
  {
1325
- "type": "map-view",
1326
1324
  "height": "200px",
1327
- "zoom": 10.0,
1328
- "markers": []
1325
+ "markers": [],
1326
+ "type": "map-view",
1327
+ "zoom": 10.0
1329
1328
  },
1330
1329
  {
1331
- "entity": "@payload.data",
1332
- "fields": [],
1333
- "itemActions": [
1334
- {
1335
- "label": "Travel",
1336
- "event": "TRAVEL"
1337
- }
1338
- ],
1339
1330
  "type": "data-grid",
1331
+ "entity": "@payload.data",
1340
1332
  "renderItem": [
1341
1333
  "fn",
1342
1334
  "item",
1343
1335
  {
1344
- "gap": "sm",
1345
- "direction": "vertical",
1346
1336
  "type": "stack",
1337
+ "direction": "vertical",
1347
1338
  "children": [
1348
1339
  {
1349
1340
  "direction": "horizontal",
1350
1341
  "align": "center",
1342
+ "type": "stack",
1343
+ "justify": "between",
1351
1344
  "children": [
1352
1345
  {
1353
- "type": "stack",
1354
- "gap": "sm",
1355
- "align": "center",
1356
- "direction": "horizontal",
1357
1346
  "children": [
1358
1347
  {
1359
1348
  "type": "icon",
1360
1349
  "name": "map-pin"
1361
1350
  },
1362
1351
  {
1363
- "type": "typography",
1364
1352
  "variant": "h4",
1365
- "content": "@item.name"
1353
+ "content": "@item.name",
1354
+ "type": "typography"
1366
1355
  }
1367
- ]
1356
+ ],
1357
+ "align": "center",
1358
+ "direction": "horizontal",
1359
+ "type": "stack",
1360
+ "gap": "sm"
1368
1361
  },
1369
1362
  {
1370
- "type": "badge",
1371
- "label": "@item.owner"
1363
+ "label": "@item.owner",
1364
+ "type": "badge"
1372
1365
  }
1373
- ],
1374
- "justify": "between",
1375
- "type": "stack"
1366
+ ]
1376
1367
  },
1377
1368
  {
1378
- "content": "@item.defense",
1379
1369
  "variant": "caption",
1370
+ "content": "@item.defense",
1380
1371
  "type": "typography"
1381
1372
  }
1382
- ]
1373
+ ],
1374
+ "gap": "sm"
1375
+ }
1376
+ ],
1377
+ "fields": [],
1378
+ "itemActions": [
1379
+ {
1380
+ "label": "Travel",
1381
+ "event": "TRAVEL"
1383
1382
  }
1384
1383
  ]
1385
1384
  }
1386
- ]
1385
+ ],
1386
+ "direction": "vertical"
1387
1387
  }
1388
1388
  ],
1389
- "type": "game-shell",
1390
- "appName": "Strategy Game"
1389
+ "showTopBar": true,
1390
+ "type": "game-shell"
1391
1391
  }
1392
1392
  ]
1393
1393
  ]
@@ -1401,36 +1401,36 @@
1401
1401
  "render-ui",
1402
1402
  "main",
1403
1403
  {
1404
- "type": "stack",
1405
- "gap": "md",
1404
+ "direction": "vertical",
1406
1405
  "align": "center",
1407
- "className": "py-12",
1408
1406
  "children": [
1409
1407
  {
1410
- "color": "destructive",
1408
+ "type": "icon",
1411
1409
  "name": "alert-triangle",
1412
- "type": "icon"
1410
+ "color": "destructive"
1413
1411
  },
1414
1412
  {
1415
- "type": "typography",
1416
1413
  "content": "Failed to load territory",
1414
+ "type": "typography",
1417
1415
  "variant": "h3"
1418
1416
  },
1419
1417
  {
1420
1418
  "type": "typography",
1421
- "variant": "body",
1422
1419
  "content": "@payload.error",
1423
- "color": "muted"
1420
+ "color": "muted",
1421
+ "variant": "body"
1424
1422
  },
1425
1423
  {
1426
1424
  "icon": "rotate-ccw",
1427
- "label": "Retry",
1428
1425
  "type": "button",
1429
1426
  "action": "INIT",
1427
+ "label": "Retry",
1430
1428
  "variant": "primary"
1431
1429
  }
1432
1430
  ],
1433
- "direction": "vertical"
1431
+ "className": "py-12",
1432
+ "type": "stack",
1433
+ "gap": "md"
1434
1434
  }
1435
1435
  ]
1436
1436
  ]
@@ -1580,8 +1580,8 @@
1580
1580
  "Resource",
1581
1581
  {
1582
1582
  "emit": {
1583
- "failure": "ResourceLoadFailed",
1584
- "success": "ResourceLoaded"
1583
+ "success": "ResourceLoaded",
1584
+ "failure": "ResourceLoadFailed"
1585
1585
  }
1586
1586
  }
1587
1587
  ],
@@ -1589,34 +1589,35 @@
1589
1589
  "render-ui",
1590
1590
  "main",
1591
1591
  {
1592
- "type": "game-shell",
1593
1592
  "showTopBar": true,
1594
- "appName": "Strategy Game",
1593
+ "type": "game-shell",
1595
1594
  "children": [
1596
1595
  {
1597
1596
  "type": "scaled-diagram",
1598
1597
  "children": [
1599
1598
  {
1599
+ "gap": "lg",
1600
+ "type": "stack",
1600
1601
  "children": [
1601
1602
  {
1603
+ "type": "breadcrumb",
1602
1604
  "items": [
1603
1605
  {
1604
- "label": "Home",
1605
- "href": "/"
1606
+ "href": "/",
1607
+ "label": "Home"
1606
1608
  },
1607
1609
  {
1608
1610
  "label": "Resources"
1609
1611
  }
1610
- ],
1611
- "type": "breadcrumb"
1612
+ ]
1612
1613
  },
1613
1614
  {
1614
- "type": "stack",
1615
1615
  "gap": "md",
1616
- "direction": "horizontal",
1617
1616
  "justify": "between",
1618
1617
  "children": [
1619
1618
  {
1619
+ "gap": "md",
1620
+ "type": "stack",
1620
1621
  "children": [
1621
1622
  {
1622
1623
  "name": "database",
@@ -1628,25 +1629,28 @@
1628
1629
  "variant": "h2"
1629
1630
  }
1630
1631
  ],
1631
- "gap": "md",
1632
- "type": "stack",
1633
1632
  "direction": "horizontal"
1634
1633
  },
1635
1634
  {
1636
- "type": "button",
1637
1635
  "label": "Refresh",
1638
- "variant": "secondary",
1639
1636
  "action": "REFRESH",
1637
+ "type": "button",
1638
+ "variant": "secondary",
1640
1639
  "icon": "refresh-cw"
1641
1640
  }
1642
- ]
1641
+ ],
1642
+ "type": "stack",
1643
+ "direction": "horizontal"
1643
1644
  },
1644
1645
  {
1645
1646
  "type": "divider"
1646
1647
  },
1647
1648
  {
1649
+ "padding": "md",
1650
+ "type": "box",
1648
1651
  "children": [
1649
1652
  {
1653
+ "type": "simple-grid",
1650
1654
  "cols": 3.0,
1651
1655
  "children": [
1652
1656
  {
@@ -1655,43 +1659,38 @@
1655
1659
  "type": "stat-display"
1656
1660
  },
1657
1661
  {
1658
- "type": "stat-display",
1662
+ "value": "@entity.food",
1659
1663
  "label": "Food",
1660
- "value": "@entity.food"
1664
+ "type": "stat-display"
1661
1665
  },
1662
1666
  {
1667
+ "value": "@entity.wood",
1663
1668
  "type": "stat-display",
1664
- "label": "Wood",
1665
- "value": "@entity.wood"
1669
+ "label": "Wood"
1666
1670
  },
1667
1671
  {
1668
1672
  "value": "@entity.iron",
1669
- "label": "Iron",
1670
- "type": "stat-display"
1673
+ "type": "stat-display",
1674
+ "label": "Iron"
1671
1675
  }
1672
- ],
1673
- "type": "simple-grid"
1676
+ ]
1674
1677
  }
1675
- ],
1676
- "padding": "md",
1677
- "type": "box"
1678
+ ]
1678
1679
  },
1679
1680
  {
1680
1681
  "type": "divider"
1681
1682
  },
1682
1683
  {
1683
- "type": "grid",
1684
- "cols": 2.0,
1685
1684
  "children": [
1686
1685
  {
1686
+ "type": "card",
1687
1687
  "children": [
1688
1688
  {
1689
1689
  "type": "typography",
1690
- "content": "Chart View",
1691
- "variant": "caption"
1690
+ "variant": "caption",
1691
+ "content": "Chart View"
1692
1692
  }
1693
- ],
1694
- "type": "card"
1693
+ ]
1695
1694
  },
1696
1695
  {
1697
1696
  "children": [
@@ -1704,10 +1703,11 @@
1704
1703
  "type": "card"
1705
1704
  }
1706
1705
  ],
1707
- "gap": "md"
1706
+ "cols": 2.0,
1707
+ "gap": "md",
1708
+ "type": "grid"
1708
1709
  },
1709
1710
  {
1710
- "type": "line-chart",
1711
1711
  "data": [
1712
1712
  {
1713
1713
  "value": 12.0,
@@ -1718,22 +1718,23 @@
1718
1718
  "value": 19.0
1719
1719
  },
1720
1720
  {
1721
- "value": 15.0,
1722
- "date": "Mar"
1721
+ "date": "Mar",
1722
+ "value": 15.0
1723
1723
  },
1724
1724
  {
1725
1725
  "value": 25.0,
1726
1726
  "date": "Apr"
1727
1727
  },
1728
1728
  {
1729
- "value": 22.0,
1730
- "date": "May"
1729
+ "date": "May",
1730
+ "value": 22.0
1731
1731
  },
1732
1732
  {
1733
1733
  "date": "Jun",
1734
1734
  "value": 30.0
1735
1735
  }
1736
- ]
1736
+ ],
1737
+ "type": "line-chart"
1737
1738
  },
1738
1739
  {
1739
1740
  "type": "chart-legend",
@@ -1749,11 +1750,10 @@
1749
1750
  ]
1750
1751
  },
1751
1752
  {
1752
- "width": 400.0,
1753
1753
  "edges": [
1754
1754
  {
1755
- "source": "a",
1756
- "target": "b"
1755
+ "target": "b",
1756
+ "source": "a"
1757
1757
  },
1758
1758
  {
1759
1759
  "source": "b",
@@ -1761,6 +1761,7 @@
1761
1761
  }
1762
1762
  ],
1763
1763
  "height": 200.0,
1764
+ "type": "graph-view",
1764
1765
  "nodes": [
1765
1766
  {
1766
1767
  "label": "Start",
@@ -1775,16 +1776,15 @@
1775
1776
  "id": "c"
1776
1777
  }
1777
1778
  ],
1778
- "type": "graph-view"
1779
+ "width": 400.0
1779
1780
  }
1780
1781
  ],
1781
- "gap": "lg",
1782
- "direction": "vertical",
1783
- "type": "stack"
1782
+ "direction": "vertical"
1784
1783
  }
1785
1784
  ]
1786
1785
  }
1787
- ]
1786
+ ],
1787
+ "appName": "Strategy Game"
1788
1788
  }
1789
1789
  ]
1790
1790
  ]
@@ -1799,8 +1799,8 @@
1799
1799
  "Resource",
1800
1800
  {
1801
1801
  "emit": {
1802
- "success": "ResourceLoaded",
1803
- "failure": "ResourceLoadFailed"
1802
+ "failure": "ResourceLoadFailed",
1803
+ "success": "ResourceLoaded"
1804
1804
  }
1805
1805
  }
1806
1806
  ],
@@ -1808,15 +1808,11 @@
1808
1808
  "render-ui",
1809
1809
  "main",
1810
1810
  {
1811
- "appName": "Strategy Game",
1812
- "type": "game-shell",
1813
1811
  "showTopBar": true,
1814
1812
  "children": [
1815
1813
  {
1816
- "type": "scaled-diagram",
1817
1814
  "children": [
1818
1815
  {
1819
- "type": "stack",
1820
1816
  "children": [
1821
1817
  {
1822
1818
  "items": [
@@ -1831,68 +1827,68 @@
1831
1827
  "type": "breadcrumb"
1832
1828
  },
1833
1829
  {
1834
- "direction": "horizontal",
1835
1830
  "type": "stack",
1831
+ "direction": "horizontal",
1832
+ "justify": "between",
1833
+ "gap": "md",
1836
1834
  "children": [
1837
1835
  {
1838
- "type": "stack",
1839
- "direction": "horizontal",
1840
- "gap": "md",
1841
1836
  "children": [
1842
1837
  {
1843
- "type": "icon",
1844
- "name": "database"
1838
+ "name": "database",
1839
+ "type": "icon"
1845
1840
  },
1846
1841
  {
1842
+ "content": "Resources",
1847
1843
  "variant": "h2",
1848
- "type": "typography",
1849
- "content": "Resources"
1844
+ "type": "typography"
1850
1845
  }
1851
- ]
1846
+ ],
1847
+ "gap": "md",
1848
+ "direction": "horizontal",
1849
+ "type": "stack"
1852
1850
  },
1853
1851
  {
1854
- "type": "button",
1855
1852
  "variant": "secondary",
1856
- "action": "REFRESH",
1853
+ "label": "Refresh",
1857
1854
  "icon": "refresh-cw",
1858
- "label": "Refresh"
1855
+ "type": "button",
1856
+ "action": "REFRESH"
1859
1857
  }
1860
- ],
1861
- "gap": "md",
1862
- "justify": "between"
1858
+ ]
1863
1859
  },
1864
1860
  {
1865
1861
  "type": "divider"
1866
1862
  },
1867
1863
  {
1868
- "type": "box",
1869
1864
  "padding": "md",
1865
+ "type": "box",
1870
1866
  "children": [
1871
1867
  {
1868
+ "type": "simple-grid",
1872
1869
  "cols": 3.0,
1873
1870
  "children": [
1874
1871
  {
1875
- "value": "@entity.gold",
1876
1872
  "type": "stat-display",
1873
+ "value": "@entity.gold",
1877
1874
  "label": "Gold"
1878
1875
  },
1879
1876
  {
1880
- "value": "@entity.food",
1881
1877
  "type": "stat-display",
1878
+ "value": "@entity.food",
1882
1879
  "label": "Food"
1883
1880
  },
1884
1881
  {
1882
+ "type": "stat-display",
1885
1883
  "label": "Wood",
1886
- "value": "@entity.wood",
1887
- "type": "stat-display"
1884
+ "value": "@entity.wood"
1888
1885
  },
1889
1886
  {
1890
1887
  "label": "Iron",
1891
1888
  "type": "stat-display",
1892
1889
  "value": "@entity.iron"
1893
1890
  }
1894
- ],
1895
- "type": "simple-grid"
1891
+ ]
1896
1892
  }
1897
1893
  ]
1898
1894
  },
@@ -1900,50 +1896,50 @@
1900
1896
  "type": "divider"
1901
1897
  },
1902
1898
  {
1903
- "gap": "md",
1904
- "type": "grid",
1905
1899
  "cols": 2.0,
1906
1900
  "children": [
1907
1901
  {
1908
- "type": "card",
1909
1902
  "children": [
1910
1903
  {
1911
1904
  "variant": "caption",
1912
1905
  "content": "Chart View",
1913
1906
  "type": "typography"
1914
1907
  }
1915
- ]
1908
+ ],
1909
+ "type": "card"
1916
1910
  },
1917
1911
  {
1918
- "type": "card",
1919
1912
  "children": [
1920
1913
  {
1921
1914
  "type": "typography",
1922
- "variant": "caption",
1923
- "content": "Graph View"
1915
+ "content": "Graph View",
1916
+ "variant": "caption"
1924
1917
  }
1925
- ]
1918
+ ],
1919
+ "type": "card"
1926
1920
  }
1927
- ]
1921
+ ],
1922
+ "type": "grid",
1923
+ "gap": "md"
1928
1924
  },
1929
1925
  {
1930
1926
  "type": "line-chart",
1931
1927
  "data": [
1932
1928
  {
1933
- "date": "Jan",
1934
- "value": 12.0
1929
+ "value": 12.0,
1930
+ "date": "Jan"
1935
1931
  },
1936
1932
  {
1937
- "date": "Feb",
1938
- "value": 19.0
1933
+ "value": 19.0,
1934
+ "date": "Feb"
1939
1935
  },
1940
1936
  {
1941
- "date": "Mar",
1942
- "value": 15.0
1937
+ "value": 15.0,
1938
+ "date": "Mar"
1943
1939
  },
1944
1940
  {
1945
- "value": 25.0,
1946
- "date": "Apr"
1941
+ "date": "Apr",
1942
+ "value": 25.0
1947
1943
  },
1948
1944
  {
1949
1945
  "date": "May",
@@ -1956,54 +1952,58 @@
1956
1952
  ]
1957
1953
  },
1958
1954
  {
1955
+ "type": "chart-legend",
1959
1956
  "items": [
1960
1957
  {
1961
- "label": "Current",
1962
- "color": "primary"
1958
+ "color": "primary",
1959
+ "label": "Current"
1963
1960
  },
1964
1961
  {
1965
1962
  "label": "Previous",
1966
1963
  "color": "muted"
1967
1964
  }
1968
- ],
1969
- "type": "chart-legend"
1965
+ ]
1970
1966
  },
1971
1967
  {
1972
- "edges": [
1968
+ "nodes": [
1973
1969
  {
1974
- "source": "a",
1975
- "target": "b"
1970
+ "label": "Start",
1971
+ "id": "a"
1976
1972
  },
1977
1973
  {
1978
- "source": "b",
1979
- "target": "c"
1974
+ "id": "b",
1975
+ "label": "Process"
1976
+ },
1977
+ {
1978
+ "id": "c",
1979
+ "label": "End"
1980
1980
  }
1981
1981
  ],
1982
1982
  "width": 400.0,
1983
1983
  "height": 200.0,
1984
1984
  "type": "graph-view",
1985
- "nodes": [
1986
- {
1987
- "label": "Start",
1988
- "id": "a"
1989
- },
1985
+ "edges": [
1990
1986
  {
1991
- "label": "Process",
1992
- "id": "b"
1987
+ "source": "a",
1988
+ "target": "b"
1993
1989
  },
1994
1990
  {
1995
- "label": "End",
1996
- "id": "c"
1991
+ "target": "c",
1992
+ "source": "b"
1997
1993
  }
1998
1994
  ]
1999
1995
  }
2000
1996
  ],
1997
+ "gap": "lg",
2001
1998
  "direction": "vertical",
2002
- "gap": "lg"
1999
+ "type": "stack"
2003
2000
  }
2004
- ]
2001
+ ],
2002
+ "type": "scaled-diagram"
2005
2003
  }
2006
- ]
2004
+ ],
2005
+ "type": "game-shell",
2006
+ "appName": "Strategy Game"
2007
2007
  }
2008
2008
  ]
2009
2009
  ]
@@ -2027,17 +2027,13 @@
2027
2027
  "render-ui",
2028
2028
  "main",
2029
2029
  {
2030
- "appName": "Strategy Game",
2030
+ "showTopBar": true,
2031
2031
  "children": [
2032
2032
  {
2033
- "type": "scaled-diagram",
2034
2033
  "children": [
2035
2034
  {
2036
- "gap": "lg",
2037
- "type": "stack",
2038
2035
  "children": [
2039
2036
  {
2040
- "type": "breadcrumb",
2041
2037
  "items": [
2042
2038
  {
2043
2039
  "label": "Home",
@@ -2046,16 +2042,15 @@
2046
2042
  {
2047
2043
  "label": "Resources"
2048
2044
  }
2049
- ]
2045
+ ],
2046
+ "type": "breadcrumb"
2050
2047
  },
2051
2048
  {
2049
+ "justify": "between",
2052
2050
  "type": "stack",
2053
- "gap": "md",
2054
2051
  "direction": "horizontal",
2055
2052
  "children": [
2056
2053
  {
2057
- "direction": "horizontal",
2058
- "gap": "md",
2059
2054
  "type": "stack",
2060
2055
  "children": [
2061
2056
  {
@@ -2063,56 +2058,58 @@
2063
2058
  "name": "database"
2064
2059
  },
2065
2060
  {
2066
- "content": "Resources",
2061
+ "type": "typography",
2067
2062
  "variant": "h2",
2068
- "type": "typography"
2063
+ "content": "Resources"
2069
2064
  }
2070
- ]
2065
+ ],
2066
+ "direction": "horizontal",
2067
+ "gap": "md"
2071
2068
  },
2072
2069
  {
2070
+ "type": "button",
2073
2071
  "action": "REFRESH",
2074
2072
  "variant": "secondary",
2075
- "label": "Refresh",
2076
- "type": "button",
2077
- "icon": "refresh-cw"
2073
+ "icon": "refresh-cw",
2074
+ "label": "Refresh"
2078
2075
  }
2079
2076
  ],
2080
- "justify": "between"
2077
+ "gap": "md"
2081
2078
  },
2082
2079
  {
2083
2080
  "type": "divider"
2084
2081
  },
2085
2082
  {
2086
2083
  "padding": "md",
2084
+ "type": "box",
2087
2085
  "children": [
2088
2086
  {
2087
+ "cols": 3.0,
2089
2088
  "children": [
2090
2089
  {
2090
+ "type": "stat-display",
2091
2091
  "label": "Gold",
2092
- "value": "@entity.gold",
2093
- "type": "stat-display"
2092
+ "value": "@entity.gold"
2094
2093
  },
2095
2094
  {
2096
2095
  "type": "stat-display",
2097
- "label": "Food",
2098
- "value": "@entity.food"
2096
+ "value": "@entity.food",
2097
+ "label": "Food"
2099
2098
  },
2100
2099
  {
2100
+ "label": "Wood",
2101
2101
  "value": "@entity.wood",
2102
- "type": "stat-display",
2103
- "label": "Wood"
2102
+ "type": "stat-display"
2104
2103
  },
2105
2104
  {
2106
- "value": "@entity.iron",
2105
+ "label": "Iron",
2107
2106
  "type": "stat-display",
2108
- "label": "Iron"
2107
+ "value": "@entity.iron"
2109
2108
  }
2110
2109
  ],
2111
- "type": "simple-grid",
2112
- "cols": 3.0
2110
+ "type": "simple-grid"
2113
2111
  }
2114
- ],
2115
- "type": "box"
2112
+ ]
2116
2113
  },
2117
2114
  {
2118
2115
  "type": "divider"
@@ -2124,32 +2121,32 @@
2124
2121
  "type": "card",
2125
2122
  "children": [
2126
2123
  {
2127
- "variant": "caption",
2128
2124
  "type": "typography",
2129
- "content": "Chart View"
2125
+ "content": "Chart View",
2126
+ "variant": "caption"
2130
2127
  }
2131
2128
  ]
2132
2129
  },
2133
2130
  {
2134
2131
  "children": [
2135
2132
  {
2136
- "variant": "caption",
2133
+ "type": "typography",
2137
2134
  "content": "Graph View",
2138
- "type": "typography"
2135
+ "variant": "caption"
2139
2136
  }
2140
2137
  ],
2141
2138
  "type": "card"
2142
2139
  }
2143
2140
  ],
2144
- "type": "grid",
2145
- "gap": "md"
2141
+ "gap": "md",
2142
+ "type": "grid"
2146
2143
  },
2147
2144
  {
2148
2145
  "type": "line-chart",
2149
2146
  "data": [
2150
2147
  {
2151
- "value": 12.0,
2152
- "date": "Jan"
2148
+ "date": "Jan",
2149
+ "value": 12.0
2153
2150
  },
2154
2151
  {
2155
2152
  "value": 19.0,
@@ -2160,68 +2157,71 @@
2160
2157
  "value": 15.0
2161
2158
  },
2162
2159
  {
2163
- "value": 25.0,
2164
- "date": "Apr"
2160
+ "date": "Apr",
2161
+ "value": 25.0
2165
2162
  },
2166
2163
  {
2167
2164
  "value": 22.0,
2168
2165
  "date": "May"
2169
2166
  },
2170
2167
  {
2171
- "value": 30.0,
2172
- "date": "Jun"
2168
+ "date": "Jun",
2169
+ "value": 30.0
2173
2170
  }
2174
2171
  ]
2175
2172
  },
2176
2173
  {
2177
- "type": "chart-legend",
2178
2174
  "items": [
2179
2175
  {
2180
- "color": "primary",
2181
- "label": "Current"
2176
+ "label": "Current",
2177
+ "color": "primary"
2182
2178
  },
2183
2179
  {
2184
2180
  "label": "Previous",
2185
2181
  "color": "muted"
2186
2182
  }
2187
- ]
2183
+ ],
2184
+ "type": "chart-legend"
2188
2185
  },
2189
2186
  {
2190
- "width": 400.0,
2187
+ "edges": [
2188
+ {
2189
+ "target": "b",
2190
+ "source": "a"
2191
+ },
2192
+ {
2193
+ "source": "b",
2194
+ "target": "c"
2195
+ }
2196
+ ],
2197
+ "height": 200.0,
2198
+ "type": "graph-view",
2191
2199
  "nodes": [
2192
2200
  {
2193
2201
  "label": "Start",
2194
2202
  "id": "a"
2195
2203
  },
2196
2204
  {
2197
- "id": "b",
2198
- "label": "Process"
2205
+ "label": "Process",
2206
+ "id": "b"
2199
2207
  },
2200
2208
  {
2201
2209
  "id": "c",
2202
2210
  "label": "End"
2203
2211
  }
2204
2212
  ],
2205
- "type": "graph-view",
2206
- "edges": [
2207
- {
2208
- "source": "a",
2209
- "target": "b"
2210
- },
2211
- {
2212
- "target": "c",
2213
- "source": "b"
2214
- }
2215
- ],
2216
- "height": 200.0
2213
+ "width": 400.0
2217
2214
  }
2218
2215
  ],
2216
+ "gap": "lg",
2217
+ "type": "stack",
2219
2218
  "direction": "vertical"
2220
2219
  }
2221
- ]
2220
+ ],
2221
+ "type": "scaled-diagram"
2222
2222
  }
2223
2223
  ],
2224
- "showTopBar": true,
2224
+ "appName": "Strategy Game",
2225
2225
  "type": "game-shell"
2226
2226
  }
2227
2227
  ]
@@ -2237,8 +2237,8 @@
2237
2237
  "Resource",
2238
2238
  {
2239
2239
  "emit": {
2240
- "failure": "ResourceLoadFailed",
2241
- "success": "ResourceLoaded"
2240
+ "success": "ResourceLoaded",
2241
+ "failure": "ResourceLoadFailed"
2242
2242
  }
2243
2243
  }
2244
2244
  ],
@@ -2246,15 +2246,14 @@
2246
2246
  "render-ui",
2247
2247
  "main",
2248
2248
  {
2249
- "type": "game-shell",
2249
+ "appName": "Strategy Game",
2250
2250
  "children": [
2251
2251
  {
2252
2252
  "type": "scaled-diagram",
2253
2253
  "children": [
2254
2254
  {
2255
- "type": "stack",
2256
- "gap": "lg",
2257
2255
  "direction": "vertical",
2256
+ "type": "stack",
2258
2257
  "children": [
2259
2258
  {
2260
2259
  "type": "breadcrumb",
@@ -2269,78 +2268,75 @@
2269
2268
  ]
2270
2269
  },
2271
2270
  {
2271
+ "gap": "md",
2272
+ "justify": "between",
2273
+ "type": "stack",
2274
+ "direction": "horizontal",
2272
2275
  "children": [
2273
2276
  {
2274
2277
  "direction": "horizontal",
2278
+ "type": "stack",
2279
+ "gap": "md",
2275
2280
  "children": [
2276
2281
  {
2277
- "type": "icon",
2278
- "name": "database"
2282
+ "name": "database",
2283
+ "type": "icon"
2279
2284
  },
2280
2285
  {
2281
- "type": "typography",
2282
2286
  "content": "Resources",
2283
- "variant": "h2"
2287
+ "variant": "h2",
2288
+ "type": "typography"
2284
2289
  }
2285
- ],
2286
- "gap": "md",
2287
- "type": "stack"
2290
+ ]
2288
2291
  },
2289
2292
  {
2290
- "label": "Refresh",
2291
- "action": "REFRESH",
2292
2293
  "icon": "refresh-cw",
2294
+ "action": "REFRESH",
2295
+ "type": "button",
2293
2296
  "variant": "secondary",
2294
- "type": "button"
2297
+ "label": "Refresh"
2295
2298
  }
2296
- ],
2297
- "type": "stack",
2298
- "direction": "horizontal",
2299
- "gap": "md",
2300
- "justify": "between"
2299
+ ]
2301
2300
  },
2302
2301
  {
2303
2302
  "type": "divider"
2304
2303
  },
2305
2304
  {
2305
+ "type": "box",
2306
+ "padding": "md",
2306
2307
  "children": [
2307
2308
  {
2308
2309
  "cols": 3.0,
2309
2310
  "children": [
2310
2311
  {
2311
- "value": "@entity.gold",
2312
2312
  "type": "stat-display",
2313
- "label": "Gold"
2313
+ "label": "Gold",
2314
+ "value": "@entity.gold"
2314
2315
  },
2315
2316
  {
2317
+ "type": "stat-display",
2316
2318
  "label": "Food",
2317
- "value": "@entity.food",
2318
- "type": "stat-display"
2319
+ "value": "@entity.food"
2319
2320
  },
2320
2321
  {
2321
2322
  "type": "stat-display",
2322
- "value": "@entity.wood",
2323
- "label": "Wood"
2323
+ "label": "Wood",
2324
+ "value": "@entity.wood"
2324
2325
  },
2325
2326
  {
2327
+ "type": "stat-display",
2326
2328
  "label": "Iron",
2327
- "value": "@entity.iron",
2328
- "type": "stat-display"
2329
+ "value": "@entity.iron"
2329
2330
  }
2330
2331
  ],
2331
2332
  "type": "simple-grid"
2332
2333
  }
2333
- ],
2334
- "type": "box",
2335
- "padding": "md"
2334
+ ]
2336
2335
  },
2337
2336
  {
2338
2337
  "type": "divider"
2339
2338
  },
2340
2339
  {
2341
- "type": "grid",
2342
- "gap": "md",
2343
- "cols": 2.0,
2344
2340
  "children": [
2345
2341
  {
2346
2342
  "type": "card",
@@ -2362,18 +2358,20 @@
2362
2358
  }
2363
2359
  ]
2364
2360
  }
2365
- ]
2361
+ ],
2362
+ "type": "grid",
2363
+ "gap": "md",
2364
+ "cols": 2.0
2366
2365
  },
2367
2366
  {
2368
- "type": "line-chart",
2369
2367
  "data": [
2370
2368
  {
2371
2369
  "date": "Jan",
2372
2370
  "value": 12.0
2373
2371
  },
2374
2372
  {
2375
- "value": 19.0,
2376
- "date": "Feb"
2373
+ "date": "Feb",
2374
+ "value": 19.0
2377
2375
  },
2378
2376
  {
2379
2377
  "date": "Mar",
@@ -2384,31 +2382,41 @@
2384
2382
  "value": 25.0
2385
2383
  },
2386
2384
  {
2387
- "value": 22.0,
2388
- "date": "May"
2385
+ "date": "May",
2386
+ "value": 22.0
2389
2387
  },
2390
2388
  {
2391
- "value": 30.0,
2392
- "date": "Jun"
2389
+ "date": "Jun",
2390
+ "value": 30.0
2393
2391
  }
2394
- ]
2392
+ ],
2393
+ "type": "line-chart"
2395
2394
  },
2396
2395
  {
2396
+ "type": "chart-legend",
2397
2397
  "items": [
2398
2398
  {
2399
2399
  "label": "Current",
2400
2400
  "color": "primary"
2401
2401
  },
2402
2402
  {
2403
- "label": "Previous",
2404
- "color": "muted"
2403
+ "color": "muted",
2404
+ "label": "Previous"
2405
2405
  }
2406
- ],
2407
- "type": "chart-legend"
2406
+ ]
2408
2407
  },
2409
2408
  {
2410
- "height": 200.0,
2411
2409
  "type": "graph-view",
2410
+ "edges": [
2411
+ {
2412
+ "target": "b",
2413
+ "source": "a"
2414
+ },
2415
+ {
2416
+ "source": "b",
2417
+ "target": "c"
2418
+ }
2419
+ ],
2412
2420
  "nodes": [
2413
2421
  {
2414
2422
  "label": "Start",
@@ -2419,29 +2427,21 @@
2419
2427
  "label": "Process"
2420
2428
  },
2421
2429
  {
2422
- "id": "c",
2423
- "label": "End"
2430
+ "label": "End",
2431
+ "id": "c"
2424
2432
  }
2425
2433
  ],
2426
- "width": 400.0,
2427
- "edges": [
2428
- {
2429
- "source": "a",
2430
- "target": "b"
2431
- },
2432
- {
2433
- "source": "b",
2434
- "target": "c"
2435
- }
2436
- ]
2434
+ "height": 200.0,
2435
+ "width": 400.0
2437
2436
  }
2438
- ]
2437
+ ],
2438
+ "gap": "lg"
2439
2439
  }
2440
2440
  ]
2441
2441
  }
2442
2442
  ],
2443
- "appName": "Strategy Game",
2444
- "showTopBar": true
2443
+ "showTopBar": true,
2444
+ "type": "game-shell"
2445
2445
  }
2446
2446
  ]
2447
2447
  ]
@@ -2456,8 +2456,8 @@
2456
2456
  "Resource",
2457
2457
  {
2458
2458
  "emit": {
2459
- "success": "ResourceLoaded",
2460
- "failure": "ResourceLoadFailed"
2459
+ "failure": "ResourceLoadFailed",
2460
+ "success": "ResourceLoaded"
2461
2461
  }
2462
2462
  }
2463
2463
  ],
@@ -2465,17 +2465,16 @@
2465
2465
  "render-ui",
2466
2466
  "main",
2467
2467
  {
2468
- "type": "game-shell",
2468
+ "appName": "Strategy Game",
2469
+ "showTopBar": true,
2469
2470
  "children": [
2470
2471
  {
2471
- "type": "scaled-diagram",
2472
2472
  "children": [
2473
2473
  {
2474
- "gap": "lg",
2475
- "type": "stack",
2476
2474
  "direction": "vertical",
2477
2475
  "children": [
2478
2476
  {
2477
+ "type": "breadcrumb",
2479
2478
  "items": [
2480
2479
  {
2481
2480
  "href": "/",
@@ -2484,39 +2483,38 @@
2484
2483
  {
2485
2484
  "label": "Resources"
2486
2485
  }
2487
- ],
2488
- "type": "breadcrumb"
2486
+ ]
2489
2487
  },
2490
2488
  {
2491
2489
  "justify": "between",
2492
- "direction": "horizontal",
2493
2490
  "gap": "md",
2494
- "type": "stack",
2491
+ "direction": "horizontal",
2495
2492
  "children": [
2496
2493
  {
2497
- "direction": "horizontal",
2494
+ "gap": "md",
2495
+ "type": "stack",
2498
2496
  "children": [
2499
2497
  {
2500
- "name": "database",
2501
- "type": "icon"
2498
+ "type": "icon",
2499
+ "name": "database"
2502
2500
  },
2503
2501
  {
2504
- "content": "Resources",
2505
2502
  "type": "typography",
2503
+ "content": "Resources",
2506
2504
  "variant": "h2"
2507
2505
  }
2508
2506
  ],
2509
- "type": "stack",
2510
- "gap": "md"
2507
+ "direction": "horizontal"
2511
2508
  },
2512
2509
  {
2513
- "variant": "secondary",
2514
2510
  "label": "Refresh",
2511
+ "variant": "secondary",
2515
2512
  "icon": "refresh-cw",
2516
- "action": "REFRESH",
2517
- "type": "button"
2513
+ "type": "button",
2514
+ "action": "REFRESH"
2518
2515
  }
2519
- ]
2516
+ ],
2517
+ "type": "stack"
2520
2518
  },
2521
2519
  {
2522
2520
  "type": "divider"
@@ -2524,12 +2522,12 @@
2524
2522
  {
2525
2523
  "children": [
2526
2524
  {
2527
- "type": "simple-grid",
2525
+ "cols": 3.0,
2528
2526
  "children": [
2529
2527
  {
2530
- "type": "stat-display",
2528
+ "value": "@entity.gold",
2531
2529
  "label": "Gold",
2532
- "value": "@entity.gold"
2530
+ "type": "stat-display"
2533
2531
  },
2534
2532
  {
2535
2533
  "label": "Food",
@@ -2537,51 +2535,51 @@
2537
2535
  "value": "@entity.food"
2538
2536
  },
2539
2537
  {
2540
- "label": "Wood",
2538
+ "type": "stat-display",
2541
2539
  "value": "@entity.wood",
2542
- "type": "stat-display"
2540
+ "label": "Wood"
2543
2541
  },
2544
2542
  {
2545
2543
  "value": "@entity.iron",
2546
- "type": "stat-display",
2547
- "label": "Iron"
2544
+ "label": "Iron",
2545
+ "type": "stat-display"
2548
2546
  }
2549
2547
  ],
2550
- "cols": 3.0
2548
+ "type": "simple-grid"
2551
2549
  }
2552
2550
  ],
2553
- "type": "box",
2554
- "padding": "md"
2551
+ "padding": "md",
2552
+ "type": "box"
2555
2553
  },
2556
2554
  {
2557
2555
  "type": "divider"
2558
2556
  },
2559
2557
  {
2560
2558
  "gap": "md",
2559
+ "type": "grid",
2560
+ "cols": 2.0,
2561
2561
  "children": [
2562
2562
  {
2563
+ "type": "card",
2563
2564
  "children": [
2564
2565
  {
2566
+ "type": "typography",
2565
2567
  "content": "Chart View",
2566
- "variant": "caption",
2567
- "type": "typography"
2568
+ "variant": "caption"
2568
2569
  }
2569
- ],
2570
- "type": "card"
2570
+ ]
2571
2571
  },
2572
2572
  {
2573
- "type": "card",
2574
2573
  "children": [
2575
2574
  {
2576
2575
  "content": "Graph View",
2577
2576
  "type": "typography",
2578
2577
  "variant": "caption"
2579
2578
  }
2580
- ]
2579
+ ],
2580
+ "type": "card"
2581
2581
  }
2582
- ],
2583
- "type": "grid",
2584
- "cols": 2.0
2582
+ ]
2585
2583
  },
2586
2584
  {
2587
2585
  "type": "line-chart",
@@ -2595,24 +2593,25 @@
2595
2593
  "date": "Feb"
2596
2594
  },
2597
2595
  {
2598
- "date": "Mar",
2599
- "value": 15.0
2596
+ "value": 15.0,
2597
+ "date": "Mar"
2600
2598
  },
2601
2599
  {
2602
- "date": "Apr",
2603
- "value": 25.0
2600
+ "value": 25.0,
2601
+ "date": "Apr"
2604
2602
  },
2605
2603
  {
2606
- "value": 22.0,
2607
- "date": "May"
2604
+ "date": "May",
2605
+ "value": 22.0
2608
2606
  },
2609
2607
  {
2610
- "date": "Jun",
2611
- "value": 30.0
2608
+ "value": 30.0,
2609
+ "date": "Jun"
2612
2610
  }
2613
2611
  ]
2614
2612
  },
2615
2613
  {
2614
+ "type": "chart-legend",
2616
2615
  "items": [
2617
2616
  {
2618
2617
  "color": "primary",
@@ -2622,11 +2621,11 @@
2622
2621
  "label": "Previous",
2623
2622
  "color": "muted"
2624
2623
  }
2625
- ],
2626
- "type": "chart-legend"
2624
+ ]
2627
2625
  },
2628
2626
  {
2629
2627
  "type": "graph-view",
2628
+ "height": 200.0,
2630
2629
  "width": 400.0,
2631
2630
  "nodes": [
2632
2631
  {
@@ -2634,8 +2633,8 @@
2634
2633
  "label": "Start"
2635
2634
  },
2636
2635
  {
2637
- "id": "b",
2638
- "label": "Process"
2636
+ "label": "Process",
2637
+ "id": "b"
2639
2638
  },
2640
2639
  {
2641
2640
  "id": "c",
@@ -2644,23 +2643,24 @@
2644
2643
  ],
2645
2644
  "edges": [
2646
2645
  {
2647
- "target": "b",
2648
- "source": "a"
2646
+ "source": "a",
2647
+ "target": "b"
2649
2648
  },
2650
2649
  {
2651
2650
  "target": "c",
2652
2651
  "source": "b"
2653
2652
  }
2654
- ],
2655
- "height": 200.0
2653
+ ]
2656
2654
  }
2657
- ]
2655
+ ],
2656
+ "type": "stack",
2657
+ "gap": "lg"
2658
2658
  }
2659
- ]
2659
+ ],
2660
+ "type": "scaled-diagram"
2660
2661
  }
2661
2662
  ],
2662
- "showTopBar": true,
2663
- "appName": "Strategy Game"
2663
+ "type": "game-shell"
2664
2664
  }
2665
2665
  ]
2666
2666
  ]