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