@almadar/std 3.2.1 → 3.2.3

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 (295) hide show
  1. package/behaviors/exports/atoms/std-async.orb +41 -24
  2. package/behaviors/exports/atoms/std-browse.orb +44 -44
  3. package/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  4. package/behaviors/exports/atoms/std-calendar.orb +770 -0
  5. package/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  6. package/behaviors/exports/atoms/std-collision.orb +278 -206
  7. package/behaviors/exports/atoms/std-combat-log.orb +6 -1
  8. package/behaviors/exports/atoms/std-combat.orb +6 -1
  9. package/behaviors/exports/atoms/std-confirmation.orb +212 -7
  10. package/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  11. package/behaviors/exports/atoms/std-display.orb +1186 -376
  12. package/behaviors/exports/atoms/std-drawer.orb +307 -101
  13. package/behaviors/exports/atoms/std-filter.orb +211 -18
  14. package/behaviors/exports/atoms/std-flip-card.orb +596 -0
  15. package/behaviors/exports/atoms/std-gallery.orb +382 -0
  16. package/behaviors/exports/atoms/std-game-audio.orb +6 -1
  17. package/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  18. package/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  19. package/behaviors/exports/atoms/std-game-hud.orb +6 -1
  20. package/behaviors/exports/atoms/std-game-menu.orb +6 -1
  21. package/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  22. package/behaviors/exports/atoms/std-gameflow.orb +100 -5
  23. package/behaviors/exports/atoms/std-input.orb +142 -137
  24. package/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  25. package/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  26. package/behaviors/exports/atoms/std-loading.orb +149 -170
  27. package/behaviors/exports/atoms/std-modal.orb +159 -94
  28. package/behaviors/exports/atoms/std-movement.orb +401 -31
  29. package/behaviors/exports/atoms/std-notification.orb +117 -95
  30. package/behaviors/exports/atoms/std-overworld.orb +44 -16
  31. package/behaviors/exports/atoms/std-pagination.orb +44 -115
  32. package/behaviors/exports/atoms/std-physics2d.orb +6 -1
  33. package/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  34. package/behaviors/exports/atoms/std-quest.orb +309 -34
  35. package/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  36. package/behaviors/exports/atoms/std-rating.orb +328 -0
  37. package/behaviors/exports/atoms/std-score-board.orb +6 -1
  38. package/behaviors/exports/atoms/std-score.orb +252 -11
  39. package/behaviors/exports/atoms/std-search.orb +62 -47
  40. package/behaviors/exports/atoms/std-selection.orb +180 -149
  41. package/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  42. package/behaviors/exports/atoms/std-sort.orb +192 -60
  43. package/behaviors/exports/atoms/std-sprite.orb +6 -1
  44. package/behaviors/exports/atoms/std-tabs.orb +25 -15
  45. package/behaviors/exports/atoms/std-text-effects.orb +658 -0
  46. package/behaviors/exports/atoms/std-theme.orb +573 -0
  47. package/behaviors/exports/atoms/std-timer.orb +483 -91
  48. package/behaviors/exports/atoms/std-undo.orb +211 -81
  49. package/behaviors/exports/atoms/std-upload.orb +535 -0
  50. package/behaviors/exports/atoms/std-wizard.orb +677 -240
  51. package/behaviors/exports/molecules/std-builder-game.orb +49 -4
  52. package/behaviors/exports/molecules/std-cart.orb +325 -102
  53. package/behaviors/exports/molecules/std-classifier-game.orb +49 -4
  54. package/behaviors/exports/molecules/std-debugger-game.orb +49 -4
  55. package/behaviors/exports/molecules/std-detail.orb +52 -48
  56. package/behaviors/exports/molecules/std-event-handler-game.orb +49 -4
  57. package/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  58. package/behaviors/exports/molecules/std-geospatial.orb +70 -51
  59. package/behaviors/exports/molecules/std-inventory.orb +92 -53
  60. package/behaviors/exports/molecules/std-list.orb +416 -52
  61. package/behaviors/exports/molecules/std-messaging.orb +41 -49
  62. package/behaviors/exports/molecules/std-negotiator-game.orb +49 -4
  63. package/behaviors/exports/molecules/std-platformer-game.orb +58 -3
  64. package/behaviors/exports/molecules/std-puzzle-game.orb +58 -7
  65. package/behaviors/exports/molecules/std-quiz.orb +1045 -0
  66. package/behaviors/exports/molecules/std-sequencer-game.orb +49 -4
  67. package/behaviors/exports/molecules/std-simulator-game.orb +49 -4
  68. package/behaviors/exports/molecules/std-turn-based-battle.orb +66 -1
  69. package/behaviors/exports/organisms/std-api-gateway.orb +2615 -867
  70. package/behaviors/exports/organisms/std-arcade-game.orb +399 -197
  71. package/behaviors/exports/organisms/std-booking-system.orb +3154 -1305
  72. package/behaviors/exports/organisms/std-cicd-pipeline.orb +2298 -779
  73. package/behaviors/exports/organisms/std-cms.orb +1150 -277
  74. package/behaviors/exports/organisms/std-coding-academy.orb +1222 -533
  75. package/behaviors/exports/organisms/std-crm.orb +2357 -821
  76. package/behaviors/exports/organisms/std-devops-dashboard.orb +4230 -1281
  77. package/behaviors/exports/organisms/std-ecommerce.orb +2660 -1098
  78. package/behaviors/exports/organisms/std-finance-tracker.orb +1749 -737
  79. package/behaviors/exports/organisms/std-healthcare.orb +3593 -1478
  80. package/behaviors/exports/organisms/std-helpdesk.orb +1870 -738
  81. package/behaviors/exports/organisms/std-hr-portal.orb +3290 -1385
  82. package/behaviors/exports/organisms/std-iot-dashboard.orb +2704 -788
  83. package/behaviors/exports/organisms/std-lms.orb +2548 -1192
  84. package/behaviors/exports/organisms/std-logic-training.orb +220 -66
  85. package/behaviors/exports/organisms/std-platformer-app.orb +373 -194
  86. package/behaviors/exports/organisms/std-project-manager.orb +2347 -806
  87. package/behaviors/exports/organisms/std-puzzle-app.orb +240 -95
  88. package/behaviors/exports/organisms/std-realtime-chat.orb +2020 -660
  89. package/behaviors/exports/organisms/std-rpg-game.orb +1303 -740
  90. package/behaviors/exports/organisms/std-social-feed.orb +184 -168
  91. package/behaviors/exports/organisms/std-stem-lab.orb +1223 -512
  92. package/behaviors/exports/organisms/std-strategy-game.orb +1412 -731
  93. package/behaviors/exports/organisms/std-trading-dashboard.orb +1869 -695
  94. package/behaviors/exports/validation-report.json +3 -750
  95. package/behaviors/exports/verify-results.json +13 -0
  96. package/dist/behaviors/exports/atoms/std-async.orb +41 -24
  97. package/dist/behaviors/exports/atoms/std-browse.orb +44 -44
  98. package/dist/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  99. package/dist/behaviors/exports/atoms/std-calendar.orb +770 -0
  100. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  101. package/dist/behaviors/exports/atoms/std-collision.orb +278 -206
  102. package/dist/behaviors/exports/atoms/std-combat-log.orb +6 -1
  103. package/dist/behaviors/exports/atoms/std-combat.orb +6 -1
  104. package/dist/behaviors/exports/atoms/std-confirmation.orb +212 -7
  105. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  106. package/dist/behaviors/exports/atoms/std-display.orb +1186 -376
  107. package/dist/behaviors/exports/atoms/std-drawer.orb +307 -101
  108. package/dist/behaviors/exports/atoms/std-filter.orb +211 -18
  109. package/dist/behaviors/exports/atoms/std-flip-card.orb +596 -0
  110. package/dist/behaviors/exports/atoms/std-gallery.orb +382 -0
  111. package/dist/behaviors/exports/atoms/std-game-audio.orb +6 -1
  112. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  113. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  114. package/dist/behaviors/exports/atoms/std-game-hud.orb +6 -1
  115. package/dist/behaviors/exports/atoms/std-game-menu.orb +6 -1
  116. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  117. package/dist/behaviors/exports/atoms/std-gameflow.orb +100 -5
  118. package/dist/behaviors/exports/atoms/std-input.orb +142 -137
  119. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  120. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  121. package/dist/behaviors/exports/atoms/std-loading.orb +149 -170
  122. package/dist/behaviors/exports/atoms/std-modal.orb +159 -94
  123. package/dist/behaviors/exports/atoms/std-movement.orb +401 -31
  124. package/dist/behaviors/exports/atoms/std-notification.orb +117 -95
  125. package/dist/behaviors/exports/atoms/std-overworld.orb +44 -16
  126. package/dist/behaviors/exports/atoms/std-pagination.orb +44 -115
  127. package/dist/behaviors/exports/atoms/std-physics2d.orb +6 -1
  128. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  129. package/dist/behaviors/exports/atoms/std-quest.orb +309 -34
  130. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  131. package/dist/behaviors/exports/atoms/std-rating.orb +328 -0
  132. package/dist/behaviors/exports/atoms/std-score-board.orb +6 -1
  133. package/dist/behaviors/exports/atoms/std-score.orb +252 -11
  134. package/dist/behaviors/exports/atoms/std-search.orb +62 -47
  135. package/dist/behaviors/exports/atoms/std-selection.orb +180 -149
  136. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  137. package/dist/behaviors/exports/atoms/std-sort.orb +192 -60
  138. package/dist/behaviors/exports/atoms/std-sprite.orb +6 -1
  139. package/dist/behaviors/exports/atoms/std-tabs.orb +25 -15
  140. package/dist/behaviors/exports/atoms/std-text-effects.orb +658 -0
  141. package/dist/behaviors/exports/atoms/std-theme.orb +573 -0
  142. package/dist/behaviors/exports/atoms/std-timer.orb +483 -91
  143. package/dist/behaviors/exports/atoms/std-undo.orb +211 -81
  144. package/dist/behaviors/exports/atoms/std-upload.orb +535 -0
  145. package/dist/behaviors/exports/atoms/std-wizard.orb +677 -240
  146. package/dist/behaviors/exports/molecules/std-builder-game.orb +49 -4
  147. package/dist/behaviors/exports/molecules/std-cart.orb +325 -102
  148. package/dist/behaviors/exports/molecules/std-classifier-game.orb +49 -4
  149. package/dist/behaviors/exports/molecules/std-debugger-game.orb +49 -4
  150. package/dist/behaviors/exports/molecules/std-detail.orb +52 -48
  151. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +49 -4
  152. package/dist/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  153. package/dist/behaviors/exports/molecules/std-geospatial.orb +70 -51
  154. package/dist/behaviors/exports/molecules/std-inventory.orb +92 -53
  155. package/dist/behaviors/exports/molecules/std-list.orb +416 -52
  156. package/dist/behaviors/exports/molecules/std-messaging.orb +41 -49
  157. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +49 -4
  158. package/dist/behaviors/exports/molecules/std-platformer-game.orb +58 -3
  159. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +58 -7
  160. package/dist/behaviors/exports/molecules/std-quiz.orb +1045 -0
  161. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +49 -4
  162. package/dist/behaviors/exports/molecules/std-simulator-game.orb +49 -4
  163. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +66 -1
  164. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2615 -867
  165. package/dist/behaviors/exports/organisms/std-arcade-game.orb +399 -197
  166. package/dist/behaviors/exports/organisms/std-booking-system.orb +3154 -1305
  167. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2298 -779
  168. package/dist/behaviors/exports/organisms/std-cms.orb +1150 -277
  169. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1222 -533
  170. package/dist/behaviors/exports/organisms/std-crm.orb +2357 -821
  171. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +4230 -1281
  172. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2660 -1098
  173. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +1749 -737
  174. package/dist/behaviors/exports/organisms/std-healthcare.orb +3593 -1478
  175. package/dist/behaviors/exports/organisms/std-helpdesk.orb +1870 -738
  176. package/dist/behaviors/exports/organisms/std-hr-portal.orb +3290 -1385
  177. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2704 -788
  178. package/dist/behaviors/exports/organisms/std-lms.orb +2548 -1192
  179. package/dist/behaviors/exports/organisms/std-logic-training.orb +220 -66
  180. package/dist/behaviors/exports/organisms/std-platformer-app.orb +373 -194
  181. package/dist/behaviors/exports/organisms/std-project-manager.orb +2347 -806
  182. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +240 -95
  183. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +2020 -660
  184. package/dist/behaviors/exports/organisms/std-rpg-game.orb +1303 -740
  185. package/dist/behaviors/exports/organisms/std-social-feed.orb +184 -168
  186. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1223 -512
  187. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1412 -731
  188. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +1869 -695
  189. package/dist/behaviors/exports/validation-report.json +3 -750
  190. package/dist/behaviors/exports/verify-results.json +13 -0
  191. package/dist/behaviors/functions/index.d.ts +270 -1
  192. package/dist/behaviors/functions/index.js +3811 -1333
  193. package/dist/behaviors/functions/index.js.map +1 -1
  194. package/dist/behaviors/index.d.ts +1 -1
  195. package/dist/behaviors/index.js +3811 -1333
  196. package/dist/behaviors/index.js.map +1 -1
  197. package/dist/exports/atoms/std-async.orb +41 -24
  198. package/dist/exports/atoms/std-browse.orb +44 -44
  199. package/dist/exports/atoms/std-cache-aside.orb +256 -42
  200. package/dist/exports/atoms/std-calendar.orb +770 -0
  201. package/dist/exports/atoms/std-circuit-breaker.orb +577 -97
  202. package/dist/exports/atoms/std-collision.orb +278 -206
  203. package/dist/exports/atoms/std-combat-log.orb +6 -1
  204. package/dist/exports/atoms/std-combat.orb +6 -1
  205. package/dist/exports/atoms/std-confirmation.orb +212 -7
  206. package/dist/exports/atoms/std-dialogue-box.orb +6 -1
  207. package/dist/exports/atoms/std-display.orb +1186 -376
  208. package/dist/exports/atoms/std-drawer.orb +307 -101
  209. package/dist/exports/atoms/std-filter.orb +211 -18
  210. package/dist/exports/atoms/std-flip-card.orb +596 -0
  211. package/dist/exports/atoms/std-gallery.orb +382 -0
  212. package/dist/exports/atoms/std-game-audio.orb +6 -1
  213. package/dist/exports/atoms/std-game-canvas2d.orb +6 -1
  214. package/dist/exports/atoms/std-game-canvas3d.orb +6 -1
  215. package/dist/exports/atoms/std-game-hud.orb +6 -1
  216. package/dist/exports/atoms/std-game-menu.orb +6 -1
  217. package/dist/exports/atoms/std-game-over-screen.orb +6 -1
  218. package/dist/exports/atoms/std-gameflow.orb +100 -5
  219. package/dist/exports/atoms/std-input.orb +142 -137
  220. package/dist/exports/atoms/std-inventory-panel.orb +6 -1
  221. package/dist/exports/atoms/std-isometric-canvas.orb +6 -1
  222. package/dist/exports/atoms/std-loading.orb +149 -170
  223. package/dist/exports/atoms/std-modal.orb +159 -94
  224. package/dist/exports/atoms/std-movement.orb +401 -31
  225. package/dist/exports/atoms/std-notification.orb +117 -95
  226. package/dist/exports/atoms/std-overworld.orb +44 -16
  227. package/dist/exports/atoms/std-pagination.orb +44 -115
  228. package/dist/exports/atoms/std-physics2d.orb +6 -1
  229. package/dist/exports/atoms/std-platformer-canvas.orb +6 -1
  230. package/dist/exports/atoms/std-quest.orb +309 -34
  231. package/dist/exports/atoms/std-rate-limiter.orb +410 -157
  232. package/dist/exports/atoms/std-rating.orb +328 -0
  233. package/dist/exports/atoms/std-score-board.orb +6 -1
  234. package/dist/exports/atoms/std-score.orb +252 -11
  235. package/dist/exports/atoms/std-search.orb +62 -47
  236. package/dist/exports/atoms/std-selection.orb +180 -149
  237. package/dist/exports/atoms/std-simulation-canvas.orb +6 -1
  238. package/dist/exports/atoms/std-sort.orb +192 -60
  239. package/dist/exports/atoms/std-sprite.orb +6 -1
  240. package/dist/exports/atoms/std-tabs.orb +25 -15
  241. package/dist/exports/atoms/std-text-effects.orb +658 -0
  242. package/dist/exports/atoms/std-theme.orb +573 -0
  243. package/dist/exports/atoms/std-timer.orb +483 -91
  244. package/dist/exports/atoms/std-undo.orb +211 -81
  245. package/dist/exports/atoms/std-upload.orb +535 -0
  246. package/dist/exports/atoms/std-wizard.orb +677 -240
  247. package/dist/exports/molecules/std-builder-game.orb +49 -4
  248. package/dist/exports/molecules/std-cart.orb +325 -102
  249. package/dist/exports/molecules/std-classifier-game.orb +49 -4
  250. package/dist/exports/molecules/std-debugger-game.orb +49 -4
  251. package/dist/exports/molecules/std-detail.orb +52 -48
  252. package/dist/exports/molecules/std-event-handler-game.orb +49 -4
  253. package/dist/exports/molecules/std-form-advanced.orb +654 -0
  254. package/dist/exports/molecules/std-geospatial.orb +70 -51
  255. package/dist/exports/molecules/std-inventory.orb +92 -53
  256. package/dist/exports/molecules/std-list.orb +416 -52
  257. package/dist/exports/molecules/std-messaging.orb +41 -49
  258. package/dist/exports/molecules/std-negotiator-game.orb +49 -4
  259. package/dist/exports/molecules/std-platformer-game.orb +58 -3
  260. package/dist/exports/molecules/std-puzzle-game.orb +58 -7
  261. package/dist/exports/molecules/std-quiz.orb +1045 -0
  262. package/dist/exports/molecules/std-sequencer-game.orb +49 -4
  263. package/dist/exports/molecules/std-simulator-game.orb +49 -4
  264. package/dist/exports/molecules/std-turn-based-battle.orb +66 -1
  265. package/dist/exports/organisms/std-api-gateway.orb +2615 -867
  266. package/dist/exports/organisms/std-arcade-game.orb +399 -197
  267. package/dist/exports/organisms/std-booking-system.orb +3154 -1305
  268. package/dist/exports/organisms/std-cicd-pipeline.orb +2298 -779
  269. package/dist/exports/organisms/std-cms.orb +1150 -277
  270. package/dist/exports/organisms/std-coding-academy.orb +1222 -533
  271. package/dist/exports/organisms/std-crm.orb +2357 -821
  272. package/dist/exports/organisms/std-devops-dashboard.orb +4230 -1281
  273. package/dist/exports/organisms/std-ecommerce.orb +2660 -1098
  274. package/dist/exports/organisms/std-finance-tracker.orb +1749 -737
  275. package/dist/exports/organisms/std-healthcare.orb +3593 -1478
  276. package/dist/exports/organisms/std-helpdesk.orb +1870 -738
  277. package/dist/exports/organisms/std-hr-portal.orb +3290 -1385
  278. package/dist/exports/organisms/std-iot-dashboard.orb +2704 -788
  279. package/dist/exports/organisms/std-lms.orb +2548 -1192
  280. package/dist/exports/organisms/std-logic-training.orb +220 -66
  281. package/dist/exports/organisms/std-platformer-app.orb +373 -194
  282. package/dist/exports/organisms/std-project-manager.orb +2347 -806
  283. package/dist/exports/organisms/std-puzzle-app.orb +240 -95
  284. package/dist/exports/organisms/std-realtime-chat.orb +2020 -660
  285. package/dist/exports/organisms/std-rpg-game.orb +1303 -740
  286. package/dist/exports/organisms/std-social-feed.orb +184 -168
  287. package/dist/exports/organisms/std-stem-lab.orb +1223 -512
  288. package/dist/exports/organisms/std-strategy-game.orb +1412 -731
  289. package/dist/exports/organisms/std-trading-dashboard.orb +1869 -695
  290. package/dist/exports/validation-report.json +3 -750
  291. package/dist/exports/verify-results.json +13 -0
  292. package/dist/index.d.ts +1 -1
  293. package/dist/index.js +3808 -1330
  294. package/dist/index.js.map +1 -1
  295. package/package.json +1 -1
@@ -33,6 +33,32 @@
33
33
  "type": "number",
34
34
  "default": 100
35
35
  }
36
+ ],
37
+ "instances": [
38
+ {
39
+ "id": "unit-1",
40
+ "name": "Knight",
41
+ "description": "Armored warrior",
42
+ "status": "active",
43
+ "turn": 0,
44
+ "score": 0
45
+ },
46
+ {
47
+ "id": "unit-2",
48
+ "name": "Archer",
49
+ "description": "Ranged attacker",
50
+ "status": "active",
51
+ "turn": 0,
52
+ "score": 0
53
+ },
54
+ {
55
+ "id": "unit-3",
56
+ "name": "Mage",
57
+ "description": "Magic caster",
58
+ "status": "active",
59
+ "turn": 0,
60
+ "score": 0
61
+ }
36
62
  ]
37
63
  },
38
64
  "traits": [
@@ -108,14 +134,21 @@
108
134
  "render-ui",
109
135
  "main",
110
136
  {
111
- "type": "game-menu",
112
- "title": "Army Battle",
113
- "subtitle": "Turn-Based Strategy",
114
- "menuItems": [
137
+ "type": "game-shell",
138
+ "appName": "Strategy Game",
139
+ "showTopBar": true,
140
+ "children": [
115
141
  {
116
- "label": "Start Battle",
117
- "event": "START",
118
- "variant": "primary"
142
+ "type": "game-menu",
143
+ "title": "Army Battle",
144
+ "subtitle": "Turn-Based Strategy",
145
+ "menuItems": [
146
+ {
147
+ "label": "Start Battle",
148
+ "event": "START",
149
+ "variant": "primary"
150
+ }
151
+ ]
119
152
  }
120
153
  ]
121
154
  }
@@ -131,15 +164,22 @@
131
164
  "render-ui",
132
165
  "main",
133
166
  {
134
- "type": "game-hud",
135
- "stats": [
136
- {
137
- "label": "Turn",
138
- "value": "@entity.turn"
139
- },
167
+ "type": "game-shell",
168
+ "appName": "Strategy Game",
169
+ "showTopBar": true,
170
+ "children": [
140
171
  {
141
- "label": "Score",
142
- "value": "@entity.score"
172
+ "type": "game-hud",
173
+ "stats": [
174
+ {
175
+ "label": "Turn",
176
+ "value": "@entity.turn"
177
+ },
178
+ {
179
+ "label": "Score",
180
+ "value": "@entity.score"
181
+ }
182
+ ]
143
183
  }
144
184
  ]
145
185
  }
@@ -164,15 +204,22 @@
164
204
  "render-ui",
165
205
  "main",
166
206
  {
167
- "type": "game-hud",
168
- "stats": [
169
- {
170
- "label": "Turn",
171
- "value": "@entity.turn"
172
- },
207
+ "type": "game-shell",
208
+ "appName": "Strategy Game",
209
+ "showTopBar": true,
210
+ "children": [
173
211
  {
174
- "label": "Score",
175
- "value": "@entity.score"
212
+ "type": "game-hud",
213
+ "stats": [
214
+ {
215
+ "label": "Turn",
216
+ "value": "@entity.turn"
217
+ },
218
+ {
219
+ "label": "Score",
220
+ "value": "@entity.score"
221
+ }
222
+ ]
176
223
  }
177
224
  ]
178
225
  }
@@ -227,6 +274,30 @@
227
274
  "render-ui",
228
275
  "modal",
229
276
  null
277
+ ],
278
+ [
279
+ "render-ui",
280
+ "main",
281
+ {
282
+ "type": "game-shell",
283
+ "appName": "Strategy Game",
284
+ "showTopBar": true,
285
+ "children": [
286
+ {
287
+ "type": "game-hud",
288
+ "stats": [
289
+ {
290
+ "label": "Turn",
291
+ "value": "@entity.turn"
292
+ },
293
+ {
294
+ "label": "Score",
295
+ "value": "@entity.score"
296
+ }
297
+ ]
298
+ }
299
+ ]
300
+ }
230
301
  ]
231
302
  ]
232
303
  },
@@ -239,6 +310,30 @@
239
310
  "render-ui",
240
311
  "modal",
241
312
  null
313
+ ],
314
+ [
315
+ "render-ui",
316
+ "main",
317
+ {
318
+ "type": "game-shell",
319
+ "appName": "Strategy Game",
320
+ "showTopBar": true,
321
+ "children": [
322
+ {
323
+ "type": "game-hud",
324
+ "stats": [
325
+ {
326
+ "label": "Turn",
327
+ "value": "@entity.turn"
328
+ },
329
+ {
330
+ "label": "Score",
331
+ "value": "@entity.score"
332
+ }
333
+ ]
334
+ }
335
+ ]
336
+ }
242
337
  ]
243
338
  ]
244
339
  },
@@ -251,28 +346,35 @@
251
346
  "render-ui",
252
347
  "main",
253
348
  {
254
- "type": "game-over-screen",
255
- "title": "Battle Over",
256
- "stats": [
257
- {
258
- "label": "Turns",
259
- "value": "@entity.turn"
260
- },
261
- {
262
- "label": "Score",
263
- "value": "@entity.score"
264
- }
265
- ],
266
- "menuItems": [
267
- {
268
- "label": "Play Again",
269
- "event": "RESTART",
270
- "variant": "primary"
271
- },
349
+ "type": "game-shell",
350
+ "appName": "Strategy Game",
351
+ "showTopBar": true,
352
+ "children": [
272
353
  {
273
- "label": "Main Menu",
274
- "event": "RESTART",
275
- "variant": "secondary"
354
+ "type": "game-over-screen",
355
+ "title": "Battle Over",
356
+ "stats": [
357
+ {
358
+ "label": "Turns",
359
+ "value": "@entity.turn"
360
+ },
361
+ {
362
+ "label": "Score",
363
+ "value": "@entity.score"
364
+ }
365
+ ],
366
+ "menuItems": [
367
+ {
368
+ "label": "Play Again",
369
+ "event": "RESTART",
370
+ "variant": "primary"
371
+ },
372
+ {
373
+ "label": "Main Menu",
374
+ "event": "RESTART",
375
+ "variant": "secondary"
376
+ }
377
+ ]
276
378
  }
277
379
  ]
278
380
  }
@@ -288,14 +390,21 @@
288
390
  "render-ui",
289
391
  "main",
290
392
  {
291
- "type": "game-menu",
292
- "title": "Army Battle",
293
- "subtitle": "Turn-Based Strategy",
294
- "menuItems": [
393
+ "type": "game-shell",
394
+ "appName": "Strategy Game",
395
+ "showTopBar": true,
396
+ "children": [
295
397
  {
296
- "label": "Start Battle",
297
- "event": "START",
298
- "variant": "primary"
398
+ "type": "game-menu",
399
+ "title": "Army Battle",
400
+ "subtitle": "Turn-Based Strategy",
401
+ "menuItems": [
402
+ {
403
+ "label": "Start Battle",
404
+ "event": "START",
405
+ "variant": "primary"
406
+ }
407
+ ]
299
408
  }
300
409
  ]
301
410
  }
@@ -316,14 +425,21 @@
316
425
  "render-ui",
317
426
  "main",
318
427
  {
319
- "type": "game-menu",
320
- "title": "Army Battle",
321
- "subtitle": "Turn-Based Strategy",
322
- "menuItems": [
428
+ "type": "game-shell",
429
+ "appName": "Strategy Game",
430
+ "showTopBar": true,
431
+ "children": [
323
432
  {
324
- "label": "Start Battle",
325
- "event": "START",
326
- "variant": "primary"
433
+ "type": "game-menu",
434
+ "title": "Army Battle",
435
+ "subtitle": "Turn-Based Strategy",
436
+ "menuItems": [
437
+ {
438
+ "label": "Start Battle",
439
+ "event": "START",
440
+ "variant": "primary"
441
+ }
442
+ ]
327
443
  }
328
444
  ]
329
445
  }
@@ -386,12 +502,19 @@
386
502
  "render-ui",
387
503
  "main",
388
504
  {
389
- "type": "combat-log",
390
- "events": "@ArmyBattle",
391
- "maxVisible": 10,
392
- "autoScroll": true,
393
- "showTimestamps": true,
394
- "title": "Combat Log"
505
+ "type": "game-shell",
506
+ "appName": "Strategy Game",
507
+ "showTopBar": true,
508
+ "children": [
509
+ {
510
+ "type": "combat-log",
511
+ "events": "@ArmyBattle",
512
+ "maxVisible": 10,
513
+ "autoScroll": true,
514
+ "showTimestamps": true,
515
+ "title": "Combat Log"
516
+ }
517
+ ]
395
518
  }
396
519
  ]
397
520
  ]
@@ -405,12 +528,19 @@
405
528
  "render-ui",
406
529
  "main",
407
530
  {
408
- "type": "combat-log",
409
- "events": "@ArmyBattle",
410
- "maxVisible": 10,
411
- "autoScroll": true,
412
- "showTimestamps": true,
413
- "title": "Combat Log"
531
+ "type": "game-shell",
532
+ "appName": "Strategy Game",
533
+ "showTopBar": true,
534
+ "children": [
535
+ {
536
+ "type": "combat-log",
537
+ "events": "@ArmyBattle",
538
+ "maxVisible": 10,
539
+ "autoScroll": true,
540
+ "showTimestamps": true,
541
+ "title": "Combat Log"
542
+ }
543
+ ]
414
544
  }
415
545
  ]
416
546
  ]
@@ -523,94 +653,111 @@
523
653
  "render-ui",
524
654
  "main",
525
655
  {
526
- "type": "stack",
527
- "direction": "vertical",
528
- "gap": "lg",
656
+ "type": "game-shell",
657
+ "appName": "Strategy Game",
658
+ "showTopBar": true,
529
659
  "children": [
530
660
  {
531
661
  "type": "stack",
532
- "direction": "horizontal",
533
- "gap": "md",
534
- "justify": "space-between",
662
+ "direction": "vertical",
663
+ "gap": "lg",
535
664
  "children": [
536
665
  {
537
666
  "type": "stack",
538
667
  "direction": "horizontal",
539
668
  "gap": "md",
669
+ "justify": "space-between",
540
670
  "children": [
541
671
  {
542
- "type": "icon",
543
- "name": "map",
544
- "size": "lg"
672
+ "type": "stack",
673
+ "direction": "horizontal",
674
+ "gap": "md",
675
+ "children": [
676
+ {
677
+ "type": "icon",
678
+ "name": "map",
679
+ "size": "lg"
680
+ },
681
+ {
682
+ "type": "typography",
683
+ "content": "Territory Map",
684
+ "variant": "h2"
685
+ }
686
+ ]
545
687
  },
546
688
  {
547
- "type": "typography",
548
- "content": "Territory Map",
549
- "variant": "h2"
689
+ "type": "status-dot",
690
+ "status": "active",
691
+ "pulse": false,
692
+ "label": "Exploring"
550
693
  }
551
694
  ]
552
695
  },
553
696
  {
554
- "type": "badge",
555
- "label": "Exploring"
556
- }
557
- ]
558
- },
559
- {
560
- "type": "divider"
561
- },
562
- {
563
- "type": "data-grid",
564
- "entity": "Territory",
565
- "emptyIcon": "compass",
566
- "emptyTitle": "No territorys discovered",
567
- "emptyDescription": "Explore to discover new territorys.",
568
- "itemActions": [
697
+ "type": "divider"
698
+ },
569
699
  {
570
- "label": "Travel",
571
- "event": "TRAVEL"
572
- }
573
- ],
574
- "children": [
700
+ "type": "map-view",
701
+ "markers": [],
702
+ "height": "200px",
703
+ "zoom": 10
704
+ },
575
705
  {
576
- "type": "stack",
577
- "direction": "vertical",
578
- "gap": "sm",
579
- "children": [
706
+ "type": "data-grid",
707
+ "entity": "Territory",
708
+ "emptyIcon": "compass",
709
+ "emptyTitle": "No territorys discovered",
710
+ "emptyDescription": "Explore to discover new territorys.",
711
+ "itemActions": [
712
+ {
713
+ "label": "Travel",
714
+ "event": "TRAVEL"
715
+ }
716
+ ],
717
+ "renderItem": [
718
+ "fn",
719
+ "item",
580
720
  {
581
721
  "type": "stack",
582
- "direction": "horizontal",
583
- "justify": "space-between",
584
- "align": "center",
722
+ "direction": "vertical",
723
+ "gap": "sm",
585
724
  "children": [
586
725
  {
587
726
  "type": "stack",
588
727
  "direction": "horizontal",
589
- "gap": "sm",
728
+ "justify": "space-between",
590
729
  "align": "center",
591
730
  "children": [
592
731
  {
593
- "type": "icon",
594
- "name": "map-pin",
595
- "size": "sm"
732
+ "type": "stack",
733
+ "direction": "horizontal",
734
+ "gap": "sm",
735
+ "align": "center",
736
+ "children": [
737
+ {
738
+ "type": "icon",
739
+ "name": "map-pin",
740
+ "size": "sm"
741
+ },
742
+ {
743
+ "type": "typography",
744
+ "variant": "h4",
745
+ "content": "@item.name"
746
+ }
747
+ ]
596
748
  },
597
749
  {
598
- "type": "typography",
599
- "variant": "h4",
600
- "content": "@entity.name"
750
+ "type": "badge",
751
+ "label": "@item.owner"
601
752
  }
602
753
  ]
603
754
  },
604
755
  {
605
- "type": "badge",
606
- "label": "@entity.owner"
756
+ "type": "typography",
757
+ "variant": "caption",
758
+ "content": "@item.defense"
607
759
  }
608
760
  ]
609
- },
610
- {
611
- "type": "typography",
612
- "variant": "caption",
613
- "content": "@entity.defense"
614
761
  }
615
762
  ]
616
763
  }
@@ -630,35 +777,42 @@
630
777
  "render-ui",
631
778
  "main",
632
779
  {
633
- "type": "stack",
634
- "direction": "vertical",
635
- "gap": "lg",
636
- "align": "center",
780
+ "type": "game-shell",
781
+ "appName": "Strategy Game",
782
+ "showTopBar": true,
637
783
  "children": [
638
784
  {
639
785
  "type": "stack",
640
- "direction": "horizontal",
641
- "gap": "md",
786
+ "direction": "vertical",
787
+ "gap": "lg",
788
+ "align": "center",
642
789
  "children": [
643
790
  {
644
- "type": "icon",
645
- "name": "loader",
646
- "size": "lg"
791
+ "type": "stack",
792
+ "direction": "horizontal",
793
+ "gap": "md",
794
+ "children": [
795
+ {
796
+ "type": "icon",
797
+ "name": "loader",
798
+ "size": "lg"
799
+ },
800
+ {
801
+ "type": "typography",
802
+ "content": "Traveling...",
803
+ "variant": "h2"
804
+ }
805
+ ]
806
+ },
807
+ {
808
+ "type": "divider"
647
809
  },
648
810
  {
649
811
  "type": "typography",
650
- "content": "Traveling...",
651
- "variant": "h2"
812
+ "content": "Traveling to the destination territorys map.",
813
+ "variant": "body"
652
814
  }
653
815
  ]
654
- },
655
- {
656
- "type": "divider"
657
- },
658
- {
659
- "type": "typography",
660
- "content": "Traveling to the destination territorys map.",
661
- "variant": "body"
662
816
  }
663
817
  ]
664
818
  }
@@ -678,108 +832,118 @@
678
832
  "render-ui",
679
833
  "main",
680
834
  {
681
- "type": "stack",
682
- "direction": "vertical",
683
- "gap": "lg",
835
+ "type": "game-shell",
836
+ "appName": "Strategy Game",
837
+ "showTopBar": true,
684
838
  "children": [
685
839
  {
686
840
  "type": "stack",
687
- "direction": "horizontal",
688
- "gap": "md",
689
- "justify": "space-between",
841
+ "direction": "vertical",
842
+ "gap": "lg",
690
843
  "children": [
691
844
  {
692
845
  "type": "stack",
693
846
  "direction": "horizontal",
694
847
  "gap": "md",
848
+ "justify": "space-between",
695
849
  "children": [
696
850
  {
697
- "type": "icon",
698
- "name": "map",
699
- "size": "lg"
851
+ "type": "stack",
852
+ "direction": "horizontal",
853
+ "gap": "md",
854
+ "children": [
855
+ {
856
+ "type": "icon",
857
+ "name": "map",
858
+ "size": "lg"
859
+ },
860
+ {
861
+ "type": "typography",
862
+ "content": "Territorys Map",
863
+ "variant": "h2"
864
+ }
865
+ ]
700
866
  },
701
867
  {
702
- "type": "typography",
703
- "content": "Territorys Map",
704
- "variant": "h2"
868
+ "type": "status-dot",
869
+ "status": "success",
870
+ "label": "Entered"
705
871
  }
706
872
  ]
707
873
  },
708
874
  {
709
- "type": "badge",
710
- "label": "Entered"
711
- }
712
- ]
713
- },
714
- {
715
- "type": "divider"
716
- },
717
- {
718
- "type": "data-grid",
719
- "entity": "Territory",
720
- "emptyIcon": "inbox",
721
- "emptyTitle": "Nothing here",
722
- "emptyDescription": "This zone is empty.",
723
- "children": [
875
+ "type": "divider"
876
+ },
724
877
  {
725
- "type": "stack",
726
- "direction": "vertical",
727
- "gap": "sm",
728
- "children": [
878
+ "type": "data-grid",
879
+ "entity": "Territory",
880
+ "emptyIcon": "inbox",
881
+ "emptyTitle": "Nothing here",
882
+ "emptyDescription": "This zone is empty.",
883
+ "renderItem": [
884
+ "fn",
885
+ "item",
729
886
  {
730
887
  "type": "stack",
731
- "direction": "horizontal",
732
- "justify": "space-between",
733
- "align": "center",
888
+ "direction": "vertical",
889
+ "gap": "sm",
734
890
  "children": [
735
891
  {
736
892
  "type": "stack",
737
893
  "direction": "horizontal",
738
- "gap": "sm",
894
+ "justify": "space-between",
739
895
  "align": "center",
740
896
  "children": [
741
897
  {
742
- "type": "icon",
743
- "name": "map-pin",
744
- "size": "sm"
898
+ "type": "stack",
899
+ "direction": "horizontal",
900
+ "gap": "sm",
901
+ "align": "center",
902
+ "children": [
903
+ {
904
+ "type": "icon",
905
+ "name": "map-pin",
906
+ "size": "sm"
907
+ },
908
+ {
909
+ "type": "typography",
910
+ "variant": "h4",
911
+ "content": "@item.name"
912
+ }
913
+ ]
745
914
  },
746
915
  {
747
- "type": "typography",
748
- "variant": "h4",
749
- "content": "@entity.name"
916
+ "type": "badge",
917
+ "label": "@item.owner"
750
918
  }
751
919
  ]
752
920
  },
753
921
  {
754
- "type": "badge",
755
- "label": "@entity.owner"
922
+ "type": "typography",
923
+ "variant": "caption",
924
+ "content": "@item.defense"
756
925
  }
757
926
  ]
758
- },
759
- {
760
- "type": "typography",
761
- "variant": "caption",
762
- "content": "@entity.defense"
763
927
  }
764
928
  ]
765
- }
766
- ]
767
- },
768
- {
769
- "type": "divider"
770
- },
771
- {
772
- "type": "stack",
773
- "direction": "horizontal",
774
- "gap": "sm",
775
- "justify": "end",
776
- "children": [
929
+ },
930
+ {
931
+ "type": "divider"
932
+ },
777
933
  {
778
- "type": "button",
779
- "label": "Back to Map",
780
- "event": "BACK",
781
- "variant": "ghost",
782
- "icon": "arrow-left"
934
+ "type": "stack",
935
+ "direction": "horizontal",
936
+ "gap": "sm",
937
+ "justify": "end",
938
+ "children": [
939
+ {
940
+ "type": "button",
941
+ "label": "Back to Map",
942
+ "event": "BACK",
943
+ "variant": "ghost",
944
+ "icon": "arrow-left"
945
+ }
946
+ ]
783
947
  }
784
948
  ]
785
949
  }
@@ -801,94 +965,111 @@
801
965
  "render-ui",
802
966
  "main",
803
967
  {
804
- "type": "stack",
805
- "direction": "vertical",
806
- "gap": "lg",
968
+ "type": "game-shell",
969
+ "appName": "Strategy Game",
970
+ "showTopBar": true,
807
971
  "children": [
808
972
  {
809
973
  "type": "stack",
810
- "direction": "horizontal",
811
- "gap": "md",
812
- "justify": "space-between",
974
+ "direction": "vertical",
975
+ "gap": "lg",
813
976
  "children": [
814
977
  {
815
978
  "type": "stack",
816
979
  "direction": "horizontal",
817
980
  "gap": "md",
981
+ "justify": "space-between",
818
982
  "children": [
819
983
  {
820
- "type": "icon",
821
- "name": "map",
822
- "size": "lg"
984
+ "type": "stack",
985
+ "direction": "horizontal",
986
+ "gap": "md",
987
+ "children": [
988
+ {
989
+ "type": "icon",
990
+ "name": "map",
991
+ "size": "lg"
992
+ },
993
+ {
994
+ "type": "typography",
995
+ "content": "Territory Map",
996
+ "variant": "h2"
997
+ }
998
+ ]
823
999
  },
824
1000
  {
825
- "type": "typography",
826
- "content": "Territory Map",
827
- "variant": "h2"
1001
+ "type": "status-dot",
1002
+ "status": "active",
1003
+ "pulse": false,
1004
+ "label": "Exploring"
828
1005
  }
829
1006
  ]
830
1007
  },
831
1008
  {
832
- "type": "badge",
833
- "label": "Exploring"
834
- }
835
- ]
836
- },
837
- {
838
- "type": "divider"
839
- },
840
- {
841
- "type": "data-grid",
842
- "entity": "Territory",
843
- "emptyIcon": "compass",
844
- "emptyTitle": "No territorys discovered",
845
- "emptyDescription": "Explore to discover new territorys.",
846
- "itemActions": [
1009
+ "type": "divider"
1010
+ },
847
1011
  {
848
- "label": "Travel",
849
- "event": "TRAVEL"
850
- }
851
- ],
852
- "children": [
1012
+ "type": "map-view",
1013
+ "markers": [],
1014
+ "height": "200px",
1015
+ "zoom": 10
1016
+ },
853
1017
  {
854
- "type": "stack",
855
- "direction": "vertical",
856
- "gap": "sm",
857
- "children": [
1018
+ "type": "data-grid",
1019
+ "entity": "Territory",
1020
+ "emptyIcon": "compass",
1021
+ "emptyTitle": "No territorys discovered",
1022
+ "emptyDescription": "Explore to discover new territorys.",
1023
+ "itemActions": [
1024
+ {
1025
+ "label": "Travel",
1026
+ "event": "TRAVEL"
1027
+ }
1028
+ ],
1029
+ "renderItem": [
1030
+ "fn",
1031
+ "item",
858
1032
  {
859
1033
  "type": "stack",
860
- "direction": "horizontal",
861
- "justify": "space-between",
862
- "align": "center",
1034
+ "direction": "vertical",
1035
+ "gap": "sm",
863
1036
  "children": [
864
1037
  {
865
1038
  "type": "stack",
866
1039
  "direction": "horizontal",
867
- "gap": "sm",
1040
+ "justify": "space-between",
868
1041
  "align": "center",
869
1042
  "children": [
870
1043
  {
871
- "type": "icon",
872
- "name": "map-pin",
873
- "size": "sm"
1044
+ "type": "stack",
1045
+ "direction": "horizontal",
1046
+ "gap": "sm",
1047
+ "align": "center",
1048
+ "children": [
1049
+ {
1050
+ "type": "icon",
1051
+ "name": "map-pin",
1052
+ "size": "sm"
1053
+ },
1054
+ {
1055
+ "type": "typography",
1056
+ "variant": "h4",
1057
+ "content": "@item.name"
1058
+ }
1059
+ ]
874
1060
  },
875
1061
  {
876
- "type": "typography",
877
- "variant": "h4",
878
- "content": "@entity.name"
1062
+ "type": "badge",
1063
+ "label": "@item.owner"
879
1064
  }
880
1065
  ]
881
1066
  },
882
1067
  {
883
- "type": "badge",
884
- "label": "@entity.owner"
1068
+ "type": "typography",
1069
+ "variant": "caption",
1070
+ "content": "@item.defense"
885
1071
  }
886
1072
  ]
887
- },
888
- {
889
- "type": "typography",
890
- "variant": "caption",
891
- "content": "@entity.defense"
892
1073
  }
893
1074
  ]
894
1075
  }
@@ -999,134 +1180,234 @@
999
1180
  "render-ui",
1000
1181
  "main",
1001
1182
  {
1002
- "type": "stack",
1003
- "direction": "vertical",
1004
- "gap": "lg",
1183
+ "type": "game-shell",
1184
+ "appName": "Strategy Game",
1185
+ "showTopBar": true,
1005
1186
  "children": [
1006
1187
  {
1007
- "type": "stack",
1008
- "direction": "horizontal",
1009
- "gap": "md",
1010
- "justify": "space-between",
1188
+ "type": "scaled-diagram",
1011
1189
  "children": [
1012
1190
  {
1013
1191
  "type": "stack",
1014
- "direction": "horizontal",
1015
- "gap": "md",
1192
+ "direction": "vertical",
1193
+ "gap": "lg",
1016
1194
  "children": [
1017
1195
  {
1018
- "type": "icon",
1019
- "name": "database",
1020
- "size": "lg"
1196
+ "type": "breadcrumb",
1197
+ "items": [
1198
+ {
1199
+ "label": "Home",
1200
+ "href": "/"
1201
+ },
1202
+ {
1203
+ "label": "Resources"
1204
+ }
1205
+ ]
1021
1206
  },
1022
- {
1023
- "type": "typography",
1024
- "content": "Resources",
1025
- "variant": "h2"
1026
- }
1027
- ]
1028
- },
1029
- {
1030
- "type": "button",
1031
- "label": "Refresh",
1032
- "event": "REFRESH",
1033
- "variant": "secondary",
1034
- "icon": "refresh-cw"
1035
- }
1036
- ]
1037
- },
1038
- {
1039
- "type": "divider"
1040
- },
1041
- {
1042
- "type": "simple-grid",
1043
- "columns": 3,
1044
- "children": [
1045
- {
1046
- "type": "card",
1047
- "children": [
1048
1207
  {
1049
1208
  "type": "stack",
1050
- "direction": "vertical",
1051
- "gap": "sm",
1209
+ "direction": "horizontal",
1210
+ "gap": "md",
1211
+ "justify": "space-between",
1052
1212
  "children": [
1053
1213
  {
1054
- "type": "typography",
1055
- "variant": "caption",
1056
- "content": "Gold"
1214
+ "type": "stack",
1215
+ "direction": "horizontal",
1216
+ "gap": "md",
1217
+ "children": [
1218
+ {
1219
+ "type": "icon",
1220
+ "name": "database",
1221
+ "size": "lg"
1222
+ },
1223
+ {
1224
+ "type": "typography",
1225
+ "content": "Resources",
1226
+ "variant": "h2"
1227
+ }
1228
+ ]
1057
1229
  },
1058
1230
  {
1059
- "type": "typography",
1060
- "variant": "h3",
1061
- "content": "@entity.gold"
1231
+ "type": "button",
1232
+ "label": "Refresh",
1233
+ "event": "REFRESH",
1234
+ "variant": "secondary",
1235
+ "icon": "refresh-cw"
1062
1236
  }
1063
1237
  ]
1064
- }
1065
- ]
1066
- },
1067
- {
1068
- "type": "card",
1069
- "children": [
1238
+ },
1070
1239
  {
1071
- "type": "stack",
1072
- "direction": "vertical",
1073
- "gap": "sm",
1240
+ "type": "divider"
1241
+ },
1242
+ {
1243
+ "type": "box",
1244
+ "padding": "md",
1074
1245
  "children": [
1075
1246
  {
1076
- "type": "typography",
1077
- "variant": "caption",
1078
- "content": "Food"
1079
- },
1080
- {
1081
- "type": "typography",
1082
- "variant": "h3",
1083
- "content": "@entity.food"
1247
+ "type": "simple-grid",
1248
+ "columns": 3,
1249
+ "children": [
1250
+ {
1251
+ "type": "stat-display",
1252
+ "label": "Gold",
1253
+ "value": [
1254
+ "object/get",
1255
+ [
1256
+ "array/first",
1257
+ "@entity"
1258
+ ],
1259
+ "gold"
1260
+ ]
1261
+ },
1262
+ {
1263
+ "type": "stat-display",
1264
+ "label": "Food",
1265
+ "value": [
1266
+ "object/get",
1267
+ [
1268
+ "array/first",
1269
+ "@entity"
1270
+ ],
1271
+ "food"
1272
+ ]
1273
+ },
1274
+ {
1275
+ "type": "stat-display",
1276
+ "label": "Wood",
1277
+ "value": [
1278
+ "object/get",
1279
+ [
1280
+ "array/first",
1281
+ "@entity"
1282
+ ],
1283
+ "wood"
1284
+ ]
1285
+ },
1286
+ {
1287
+ "type": "stat-display",
1288
+ "label": "Iron",
1289
+ "value": [
1290
+ "object/get",
1291
+ [
1292
+ "array/first",
1293
+ "@entity"
1294
+ ],
1295
+ "iron"
1296
+ ]
1297
+ }
1298
+ ]
1084
1299
  }
1085
1300
  ]
1086
- }
1087
- ]
1088
- },
1089
- {
1090
- "type": "card",
1091
- "children": [
1301
+ },
1092
1302
  {
1093
- "type": "stack",
1094
- "direction": "vertical",
1095
- "gap": "sm",
1303
+ "type": "divider"
1304
+ },
1305
+ {
1306
+ "type": "grid",
1307
+ "columns": 2,
1308
+ "gap": "md",
1096
1309
  "children": [
1097
1310
  {
1098
- "type": "typography",
1099
- "variant": "caption",
1100
- "content": "Wood"
1311
+ "type": "card",
1312
+ "children": [
1313
+ {
1314
+ "type": "typography",
1315
+ "variant": "caption",
1316
+ "content": "Chart View"
1317
+ }
1318
+ ]
1101
1319
  },
1102
1320
  {
1103
- "type": "typography",
1104
- "variant": "h3",
1105
- "content": "@entity.wood"
1321
+ "type": "card",
1322
+ "children": [
1323
+ {
1324
+ "type": "typography",
1325
+ "variant": "caption",
1326
+ "content": "Graph View"
1327
+ }
1328
+ ]
1106
1329
  }
1107
1330
  ]
1108
- }
1109
- ]
1110
- },
1111
- {
1112
- "type": "card",
1113
- "children": [
1331
+ },
1114
1332
  {
1115
- "type": "stack",
1116
- "direction": "vertical",
1117
- "gap": "sm",
1118
- "children": [
1333
+ "type": "line-chart",
1334
+ "data": [
1119
1335
  {
1120
- "type": "typography",
1121
- "variant": "caption",
1122
- "content": "Iron"
1336
+ "date": "Jan",
1337
+ "value": 12
1123
1338
  },
1124
1339
  {
1125
- "type": "typography",
1126
- "variant": "h3",
1127
- "content": "@entity.iron"
1340
+ "date": "Feb",
1341
+ "value": 19
1342
+ },
1343
+ {
1344
+ "date": "Mar",
1345
+ "value": 15
1346
+ },
1347
+ {
1348
+ "date": "Apr",
1349
+ "value": 25
1350
+ },
1351
+ {
1352
+ "date": "May",
1353
+ "value": 22
1354
+ },
1355
+ {
1356
+ "date": "Jun",
1357
+ "value": 30
1358
+ }
1359
+ ],
1360
+ "xKey": "date",
1361
+ "yKey": "value",
1362
+ "title": "Trend"
1363
+ },
1364
+ {
1365
+ "type": "chart-legend",
1366
+ "items": [
1367
+ {
1368
+ "label": "Current",
1369
+ "color": "primary"
1370
+ },
1371
+ {
1372
+ "label": "Previous",
1373
+ "color": "muted"
1128
1374
  }
1129
1375
  ]
1376
+ },
1377
+ {
1378
+ "type": "graph-view",
1379
+ "nodes": [
1380
+ {
1381
+ "id": "a",
1382
+ "label": "Start",
1383
+ "x": 50,
1384
+ "y": 100
1385
+ },
1386
+ {
1387
+ "id": "b",
1388
+ "label": "Process",
1389
+ "x": 200,
1390
+ "y": 50
1391
+ },
1392
+ {
1393
+ "id": "c",
1394
+ "label": "End",
1395
+ "x": 350,
1396
+ "y": 100
1397
+ }
1398
+ ],
1399
+ "edges": [
1400
+ {
1401
+ "from": "a",
1402
+ "to": "b"
1403
+ },
1404
+ {
1405
+ "from": "b",
1406
+ "to": "c"
1407
+ }
1408
+ ],
1409
+ "width": 400,
1410
+ "height": 200
1130
1411
  }
1131
1412
  ]
1132
1413
  }
@@ -1150,135 +1431,235 @@
1150
1431
  "render-ui",
1151
1432
  "main",
1152
1433
  {
1153
- "type": "stack",
1154
- "direction": "vertical",
1155
- "gap": "lg",
1434
+ "type": "game-shell",
1435
+ "appName": "Strategy Game",
1436
+ "showTopBar": true,
1156
1437
  "children": [
1157
1438
  {
1158
- "type": "stack",
1159
- "direction": "horizontal",
1160
- "gap": "md",
1161
- "justify": "space-between",
1439
+ "type": "scaled-diagram",
1162
1440
  "children": [
1163
1441
  {
1164
1442
  "type": "stack",
1165
- "direction": "horizontal",
1166
- "gap": "md",
1443
+ "direction": "vertical",
1444
+ "gap": "lg",
1167
1445
  "children": [
1168
1446
  {
1169
- "type": "icon",
1170
- "name": "database",
1171
- "size": "lg"
1447
+ "type": "breadcrumb",
1448
+ "items": [
1449
+ {
1450
+ "label": "Home",
1451
+ "href": "/"
1452
+ },
1453
+ {
1454
+ "label": "Resources"
1455
+ }
1456
+ ]
1172
1457
  },
1173
- {
1174
- "type": "typography",
1175
- "content": "Resources",
1176
- "variant": "h2"
1177
- }
1178
- ]
1179
- },
1180
- {
1181
- "type": "button",
1182
- "label": "Refresh",
1183
- "event": "REFRESH",
1184
- "variant": "secondary",
1185
- "icon": "refresh-cw"
1186
- }
1187
- ]
1188
- },
1189
- {
1190
- "type": "divider"
1191
- },
1192
- {
1193
- "type": "simple-grid",
1194
- "columns": 3,
1195
- "children": [
1196
- {
1197
- "type": "card",
1198
- "children": [
1199
1458
  {
1200
1459
  "type": "stack",
1201
- "direction": "vertical",
1202
- "gap": "sm",
1460
+ "direction": "horizontal",
1461
+ "gap": "md",
1462
+ "justify": "space-between",
1203
1463
  "children": [
1204
1464
  {
1205
- "type": "typography",
1206
- "variant": "caption",
1207
- "content": "Gold"
1465
+ "type": "stack",
1466
+ "direction": "horizontal",
1467
+ "gap": "md",
1468
+ "children": [
1469
+ {
1470
+ "type": "icon",
1471
+ "name": "database",
1472
+ "size": "lg"
1473
+ },
1474
+ {
1475
+ "type": "typography",
1476
+ "content": "Resources",
1477
+ "variant": "h2"
1478
+ }
1479
+ ]
1208
1480
  },
1209
1481
  {
1210
- "type": "typography",
1211
- "variant": "h3",
1212
- "content": "@entity.gold"
1482
+ "type": "button",
1483
+ "label": "Refresh",
1484
+ "event": "REFRESH",
1485
+ "variant": "secondary",
1486
+ "icon": "refresh-cw"
1213
1487
  }
1214
1488
  ]
1215
- }
1216
- ]
1217
- },
1218
- {
1219
- "type": "card",
1220
- "children": [
1489
+ },
1221
1490
  {
1222
- "type": "stack",
1223
- "direction": "vertical",
1224
- "gap": "sm",
1491
+ "type": "divider"
1492
+ },
1493
+ {
1494
+ "type": "box",
1495
+ "padding": "md",
1225
1496
  "children": [
1226
1497
  {
1227
- "type": "typography",
1228
- "variant": "caption",
1229
- "content": "Food"
1230
- },
1231
- {
1232
- "type": "typography",
1233
- "variant": "h3",
1234
- "content": "@entity.food"
1498
+ "type": "simple-grid",
1499
+ "columns": 3,
1500
+ "children": [
1501
+ {
1502
+ "type": "stat-display",
1503
+ "label": "Gold",
1504
+ "value": [
1505
+ "object/get",
1506
+ [
1507
+ "array/first",
1508
+ "@entity"
1509
+ ],
1510
+ "gold"
1511
+ ]
1512
+ },
1513
+ {
1514
+ "type": "stat-display",
1515
+ "label": "Food",
1516
+ "value": [
1517
+ "object/get",
1518
+ [
1519
+ "array/first",
1520
+ "@entity"
1521
+ ],
1522
+ "food"
1523
+ ]
1524
+ },
1525
+ {
1526
+ "type": "stat-display",
1527
+ "label": "Wood",
1528
+ "value": [
1529
+ "object/get",
1530
+ [
1531
+ "array/first",
1532
+ "@entity"
1533
+ ],
1534
+ "wood"
1535
+ ]
1536
+ },
1537
+ {
1538
+ "type": "stat-display",
1539
+ "label": "Iron",
1540
+ "value": [
1541
+ "object/get",
1542
+ [
1543
+ "array/first",
1544
+ "@entity"
1545
+ ],
1546
+ "iron"
1547
+ ]
1548
+ }
1549
+ ]
1235
1550
  }
1236
1551
  ]
1237
- }
1238
- ]
1239
- },
1240
- {
1241
- "type": "card",
1242
- "children": [
1552
+ },
1243
1553
  {
1244
- "type": "stack",
1245
- "direction": "vertical",
1246
- "gap": "sm",
1554
+ "type": "divider"
1555
+ },
1556
+ {
1557
+ "type": "grid",
1558
+ "columns": 2,
1559
+ "gap": "md",
1247
1560
  "children": [
1248
1561
  {
1249
- "type": "typography",
1250
- "variant": "caption",
1251
- "content": "Wood"
1562
+ "type": "card",
1563
+ "children": [
1564
+ {
1565
+ "type": "typography",
1566
+ "variant": "caption",
1567
+ "content": "Chart View"
1568
+ }
1569
+ ]
1252
1570
  },
1253
1571
  {
1254
- "type": "typography",
1255
- "variant": "h3",
1256
- "content": "@entity.wood"
1572
+ "type": "card",
1573
+ "children": [
1574
+ {
1575
+ "type": "typography",
1576
+ "variant": "caption",
1577
+ "content": "Graph View"
1578
+ }
1579
+ ]
1257
1580
  }
1258
1581
  ]
1259
- }
1260
- ]
1261
- },
1262
- {
1263
- "type": "card",
1264
- "children": [
1582
+ },
1265
1583
  {
1266
- "type": "stack",
1267
- "direction": "vertical",
1268
- "gap": "sm",
1269
- "children": [
1584
+ "type": "line-chart",
1585
+ "data": [
1270
1586
  {
1271
- "type": "typography",
1272
- "variant": "caption",
1273
- "content": "Iron"
1587
+ "date": "Jan",
1588
+ "value": 12
1274
1589
  },
1275
1590
  {
1276
- "type": "typography",
1277
- "variant": "h3",
1278
- "content": "@entity.iron"
1591
+ "date": "Feb",
1592
+ "value": 19
1593
+ },
1594
+ {
1595
+ "date": "Mar",
1596
+ "value": 15
1597
+ },
1598
+ {
1599
+ "date": "Apr",
1600
+ "value": 25
1601
+ },
1602
+ {
1603
+ "date": "May",
1604
+ "value": 22
1605
+ },
1606
+ {
1607
+ "date": "Jun",
1608
+ "value": 30
1609
+ }
1610
+ ],
1611
+ "xKey": "date",
1612
+ "yKey": "value",
1613
+ "title": "Trend"
1614
+ },
1615
+ {
1616
+ "type": "chart-legend",
1617
+ "items": [
1618
+ {
1619
+ "label": "Current",
1620
+ "color": "primary"
1621
+ },
1622
+ {
1623
+ "label": "Previous",
1624
+ "color": "muted"
1279
1625
  }
1280
1626
  ]
1281
- }
1627
+ },
1628
+ {
1629
+ "type": "graph-view",
1630
+ "nodes": [
1631
+ {
1632
+ "id": "a",
1633
+ "label": "Start",
1634
+ "x": 50,
1635
+ "y": 100
1636
+ },
1637
+ {
1638
+ "id": "b",
1639
+ "label": "Process",
1640
+ "x": 200,
1641
+ "y": 50
1642
+ },
1643
+ {
1644
+ "id": "c",
1645
+ "label": "End",
1646
+ "x": 350,
1647
+ "y": 100
1648
+ }
1649
+ ],
1650
+ "edges": [
1651
+ {
1652
+ "from": "a",
1653
+ "to": "b"
1654
+ },
1655
+ {
1656
+ "from": "b",
1657
+ "to": "c"
1658
+ }
1659
+ ],
1660
+ "width": 400,
1661
+ "height": 200
1662
+ }
1282
1663
  ]
1283
1664
  }
1284
1665
  ]
@@ -1301,134 +1682,234 @@
1301
1682
  "render-ui",
1302
1683
  "main",
1303
1684
  {
1304
- "type": "stack",
1305
- "direction": "vertical",
1306
- "gap": "lg",
1685
+ "type": "game-shell",
1686
+ "appName": "Strategy Game",
1687
+ "showTopBar": true,
1307
1688
  "children": [
1308
1689
  {
1309
- "type": "stack",
1310
- "direction": "horizontal",
1311
- "gap": "md",
1312
- "justify": "space-between",
1690
+ "type": "scaled-diagram",
1313
1691
  "children": [
1314
1692
  {
1315
1693
  "type": "stack",
1316
- "direction": "horizontal",
1317
- "gap": "md",
1694
+ "direction": "vertical",
1695
+ "gap": "lg",
1318
1696
  "children": [
1319
1697
  {
1320
- "type": "icon",
1321
- "name": "database",
1322
- "size": "lg"
1698
+ "type": "breadcrumb",
1699
+ "items": [
1700
+ {
1701
+ "label": "Home",
1702
+ "href": "/"
1703
+ },
1704
+ {
1705
+ "label": "Resources"
1706
+ }
1707
+ ]
1323
1708
  },
1324
- {
1325
- "type": "typography",
1326
- "content": "Resources",
1327
- "variant": "h2"
1328
- }
1329
- ]
1330
- },
1331
- {
1332
- "type": "button",
1333
- "label": "Refresh",
1334
- "event": "REFRESH",
1335
- "variant": "secondary",
1336
- "icon": "refresh-cw"
1337
- }
1338
- ]
1339
- },
1340
- {
1341
- "type": "divider"
1342
- },
1343
- {
1344
- "type": "simple-grid",
1345
- "columns": 3,
1346
- "children": [
1347
- {
1348
- "type": "card",
1349
- "children": [
1350
1709
  {
1351
1710
  "type": "stack",
1352
- "direction": "vertical",
1353
- "gap": "sm",
1711
+ "direction": "horizontal",
1712
+ "gap": "md",
1713
+ "justify": "space-between",
1354
1714
  "children": [
1355
1715
  {
1356
- "type": "typography",
1357
- "variant": "caption",
1358
- "content": "Gold"
1716
+ "type": "stack",
1717
+ "direction": "horizontal",
1718
+ "gap": "md",
1719
+ "children": [
1720
+ {
1721
+ "type": "icon",
1722
+ "name": "database",
1723
+ "size": "lg"
1724
+ },
1725
+ {
1726
+ "type": "typography",
1727
+ "content": "Resources",
1728
+ "variant": "h2"
1729
+ }
1730
+ ]
1359
1731
  },
1360
1732
  {
1361
- "type": "typography",
1362
- "variant": "h3",
1363
- "content": "@entity.gold"
1733
+ "type": "button",
1734
+ "label": "Refresh",
1735
+ "event": "REFRESH",
1736
+ "variant": "secondary",
1737
+ "icon": "refresh-cw"
1364
1738
  }
1365
1739
  ]
1366
- }
1367
- ]
1368
- },
1369
- {
1370
- "type": "card",
1371
- "children": [
1740
+ },
1372
1741
  {
1373
- "type": "stack",
1374
- "direction": "vertical",
1375
- "gap": "sm",
1742
+ "type": "divider"
1743
+ },
1744
+ {
1745
+ "type": "box",
1746
+ "padding": "md",
1376
1747
  "children": [
1377
1748
  {
1378
- "type": "typography",
1379
- "variant": "caption",
1380
- "content": "Food"
1381
- },
1382
- {
1383
- "type": "typography",
1384
- "variant": "h3",
1385
- "content": "@entity.food"
1749
+ "type": "simple-grid",
1750
+ "columns": 3,
1751
+ "children": [
1752
+ {
1753
+ "type": "stat-display",
1754
+ "label": "Gold",
1755
+ "value": [
1756
+ "object/get",
1757
+ [
1758
+ "array/first",
1759
+ "@entity"
1760
+ ],
1761
+ "gold"
1762
+ ]
1763
+ },
1764
+ {
1765
+ "type": "stat-display",
1766
+ "label": "Food",
1767
+ "value": [
1768
+ "object/get",
1769
+ [
1770
+ "array/first",
1771
+ "@entity"
1772
+ ],
1773
+ "food"
1774
+ ]
1775
+ },
1776
+ {
1777
+ "type": "stat-display",
1778
+ "label": "Wood",
1779
+ "value": [
1780
+ "object/get",
1781
+ [
1782
+ "array/first",
1783
+ "@entity"
1784
+ ],
1785
+ "wood"
1786
+ ]
1787
+ },
1788
+ {
1789
+ "type": "stat-display",
1790
+ "label": "Iron",
1791
+ "value": [
1792
+ "object/get",
1793
+ [
1794
+ "array/first",
1795
+ "@entity"
1796
+ ],
1797
+ "iron"
1798
+ ]
1799
+ }
1800
+ ]
1386
1801
  }
1387
1802
  ]
1388
- }
1389
- ]
1390
- },
1391
- {
1392
- "type": "card",
1393
- "children": [
1803
+ },
1394
1804
  {
1395
- "type": "stack",
1396
- "direction": "vertical",
1397
- "gap": "sm",
1805
+ "type": "divider"
1806
+ },
1807
+ {
1808
+ "type": "grid",
1809
+ "columns": 2,
1810
+ "gap": "md",
1398
1811
  "children": [
1399
1812
  {
1400
- "type": "typography",
1401
- "variant": "caption",
1402
- "content": "Wood"
1813
+ "type": "card",
1814
+ "children": [
1815
+ {
1816
+ "type": "typography",
1817
+ "variant": "caption",
1818
+ "content": "Chart View"
1819
+ }
1820
+ ]
1403
1821
  },
1404
1822
  {
1405
- "type": "typography",
1406
- "variant": "h3",
1407
- "content": "@entity.wood"
1823
+ "type": "card",
1824
+ "children": [
1825
+ {
1826
+ "type": "typography",
1827
+ "variant": "caption",
1828
+ "content": "Graph View"
1829
+ }
1830
+ ]
1408
1831
  }
1409
1832
  ]
1410
- }
1411
- ]
1412
- },
1413
- {
1414
- "type": "card",
1415
- "children": [
1833
+ },
1416
1834
  {
1417
- "type": "stack",
1418
- "direction": "vertical",
1419
- "gap": "sm",
1420
- "children": [
1835
+ "type": "line-chart",
1836
+ "data": [
1421
1837
  {
1422
- "type": "typography",
1423
- "variant": "caption",
1424
- "content": "Iron"
1838
+ "date": "Jan",
1839
+ "value": 12
1425
1840
  },
1426
1841
  {
1427
- "type": "typography",
1428
- "variant": "h3",
1429
- "content": "@entity.iron"
1842
+ "date": "Feb",
1843
+ "value": 19
1844
+ },
1845
+ {
1846
+ "date": "Mar",
1847
+ "value": 15
1848
+ },
1849
+ {
1850
+ "date": "Apr",
1851
+ "value": 25
1852
+ },
1853
+ {
1854
+ "date": "May",
1855
+ "value": 22
1856
+ },
1857
+ {
1858
+ "date": "Jun",
1859
+ "value": 30
1860
+ }
1861
+ ],
1862
+ "xKey": "date",
1863
+ "yKey": "value",
1864
+ "title": "Trend"
1865
+ },
1866
+ {
1867
+ "type": "chart-legend",
1868
+ "items": [
1869
+ {
1870
+ "label": "Current",
1871
+ "color": "primary"
1872
+ },
1873
+ {
1874
+ "label": "Previous",
1875
+ "color": "muted"
1430
1876
  }
1431
1877
  ]
1878
+ },
1879
+ {
1880
+ "type": "graph-view",
1881
+ "nodes": [
1882
+ {
1883
+ "id": "a",
1884
+ "label": "Start",
1885
+ "x": 50,
1886
+ "y": 100
1887
+ },
1888
+ {
1889
+ "id": "b",
1890
+ "label": "Process",
1891
+ "x": 200,
1892
+ "y": 50
1893
+ },
1894
+ {
1895
+ "id": "c",
1896
+ "label": "End",
1897
+ "x": 350,
1898
+ "y": 100
1899
+ }
1900
+ ],
1901
+ "edges": [
1902
+ {
1903
+ "from": "a",
1904
+ "to": "b"
1905
+ },
1906
+ {
1907
+ "from": "b",
1908
+ "to": "c"
1909
+ }
1910
+ ],
1911
+ "width": 400,
1912
+ "height": 200
1432
1913
  }
1433
1914
  ]
1434
1915
  }
@@ -1452,134 +1933,234 @@
1452
1933
  "render-ui",
1453
1934
  "main",
1454
1935
  {
1455
- "type": "stack",
1456
- "direction": "vertical",
1457
- "gap": "lg",
1936
+ "type": "game-shell",
1937
+ "appName": "Strategy Game",
1938
+ "showTopBar": true,
1458
1939
  "children": [
1459
1940
  {
1460
- "type": "stack",
1461
- "direction": "horizontal",
1462
- "gap": "md",
1463
- "justify": "space-between",
1941
+ "type": "scaled-diagram",
1464
1942
  "children": [
1465
1943
  {
1466
1944
  "type": "stack",
1467
- "direction": "horizontal",
1468
- "gap": "md",
1945
+ "direction": "vertical",
1946
+ "gap": "lg",
1469
1947
  "children": [
1470
1948
  {
1471
- "type": "icon",
1472
- "name": "database",
1473
- "size": "lg"
1949
+ "type": "breadcrumb",
1950
+ "items": [
1951
+ {
1952
+ "label": "Home",
1953
+ "href": "/"
1954
+ },
1955
+ {
1956
+ "label": "Resources"
1957
+ }
1958
+ ]
1474
1959
  },
1475
- {
1476
- "type": "typography",
1477
- "content": "Resources",
1478
- "variant": "h2"
1479
- }
1480
- ]
1481
- },
1482
- {
1483
- "type": "button",
1484
- "label": "Refresh",
1485
- "event": "REFRESH",
1486
- "variant": "secondary",
1487
- "icon": "refresh-cw"
1488
- }
1489
- ]
1490
- },
1491
- {
1492
- "type": "divider"
1493
- },
1494
- {
1495
- "type": "simple-grid",
1496
- "columns": 3,
1497
- "children": [
1498
- {
1499
- "type": "card",
1500
- "children": [
1501
1960
  {
1502
1961
  "type": "stack",
1503
- "direction": "vertical",
1504
- "gap": "sm",
1962
+ "direction": "horizontal",
1963
+ "gap": "md",
1964
+ "justify": "space-between",
1505
1965
  "children": [
1506
1966
  {
1507
- "type": "typography",
1508
- "variant": "caption",
1509
- "content": "Gold"
1967
+ "type": "stack",
1968
+ "direction": "horizontal",
1969
+ "gap": "md",
1970
+ "children": [
1971
+ {
1972
+ "type": "icon",
1973
+ "name": "database",
1974
+ "size": "lg"
1975
+ },
1976
+ {
1977
+ "type": "typography",
1978
+ "content": "Resources",
1979
+ "variant": "h2"
1980
+ }
1981
+ ]
1510
1982
  },
1511
1983
  {
1512
- "type": "typography",
1513
- "variant": "h3",
1514
- "content": "@entity.gold"
1984
+ "type": "button",
1985
+ "label": "Refresh",
1986
+ "event": "REFRESH",
1987
+ "variant": "secondary",
1988
+ "icon": "refresh-cw"
1515
1989
  }
1516
1990
  ]
1517
- }
1518
- ]
1519
- },
1520
- {
1521
- "type": "card",
1522
- "children": [
1991
+ },
1523
1992
  {
1524
- "type": "stack",
1525
- "direction": "vertical",
1526
- "gap": "sm",
1993
+ "type": "divider"
1994
+ },
1995
+ {
1996
+ "type": "box",
1997
+ "padding": "md",
1527
1998
  "children": [
1528
1999
  {
1529
- "type": "typography",
1530
- "variant": "caption",
1531
- "content": "Food"
1532
- },
1533
- {
1534
- "type": "typography",
1535
- "variant": "h3",
1536
- "content": "@entity.food"
2000
+ "type": "simple-grid",
2001
+ "columns": 3,
2002
+ "children": [
2003
+ {
2004
+ "type": "stat-display",
2005
+ "label": "Gold",
2006
+ "value": [
2007
+ "object/get",
2008
+ [
2009
+ "array/first",
2010
+ "@entity"
2011
+ ],
2012
+ "gold"
2013
+ ]
2014
+ },
2015
+ {
2016
+ "type": "stat-display",
2017
+ "label": "Food",
2018
+ "value": [
2019
+ "object/get",
2020
+ [
2021
+ "array/first",
2022
+ "@entity"
2023
+ ],
2024
+ "food"
2025
+ ]
2026
+ },
2027
+ {
2028
+ "type": "stat-display",
2029
+ "label": "Wood",
2030
+ "value": [
2031
+ "object/get",
2032
+ [
2033
+ "array/first",
2034
+ "@entity"
2035
+ ],
2036
+ "wood"
2037
+ ]
2038
+ },
2039
+ {
2040
+ "type": "stat-display",
2041
+ "label": "Iron",
2042
+ "value": [
2043
+ "object/get",
2044
+ [
2045
+ "array/first",
2046
+ "@entity"
2047
+ ],
2048
+ "iron"
2049
+ ]
2050
+ }
2051
+ ]
1537
2052
  }
1538
2053
  ]
1539
- }
1540
- ]
1541
- },
1542
- {
1543
- "type": "card",
1544
- "children": [
2054
+ },
1545
2055
  {
1546
- "type": "stack",
1547
- "direction": "vertical",
1548
- "gap": "sm",
2056
+ "type": "divider"
2057
+ },
2058
+ {
2059
+ "type": "grid",
2060
+ "columns": 2,
2061
+ "gap": "md",
1549
2062
  "children": [
1550
2063
  {
1551
- "type": "typography",
1552
- "variant": "caption",
1553
- "content": "Wood"
2064
+ "type": "card",
2065
+ "children": [
2066
+ {
2067
+ "type": "typography",
2068
+ "variant": "caption",
2069
+ "content": "Chart View"
2070
+ }
2071
+ ]
1554
2072
  },
1555
2073
  {
1556
- "type": "typography",
1557
- "variant": "h3",
1558
- "content": "@entity.wood"
2074
+ "type": "card",
2075
+ "children": [
2076
+ {
2077
+ "type": "typography",
2078
+ "variant": "caption",
2079
+ "content": "Graph View"
2080
+ }
2081
+ ]
1559
2082
  }
1560
2083
  ]
1561
- }
1562
- ]
1563
- },
1564
- {
1565
- "type": "card",
1566
- "children": [
2084
+ },
1567
2085
  {
1568
- "type": "stack",
1569
- "direction": "vertical",
1570
- "gap": "sm",
1571
- "children": [
2086
+ "type": "line-chart",
2087
+ "data": [
1572
2088
  {
1573
- "type": "typography",
1574
- "variant": "caption",
1575
- "content": "Iron"
2089
+ "date": "Jan",
2090
+ "value": 12
1576
2091
  },
1577
2092
  {
1578
- "type": "typography",
1579
- "variant": "h3",
1580
- "content": "@entity.iron"
2093
+ "date": "Feb",
2094
+ "value": 19
2095
+ },
2096
+ {
2097
+ "date": "Mar",
2098
+ "value": 15
2099
+ },
2100
+ {
2101
+ "date": "Apr",
2102
+ "value": 25
2103
+ },
2104
+ {
2105
+ "date": "May",
2106
+ "value": 22
2107
+ },
2108
+ {
2109
+ "date": "Jun",
2110
+ "value": 30
2111
+ }
2112
+ ],
2113
+ "xKey": "date",
2114
+ "yKey": "value",
2115
+ "title": "Trend"
2116
+ },
2117
+ {
2118
+ "type": "chart-legend",
2119
+ "items": [
2120
+ {
2121
+ "label": "Current",
2122
+ "color": "primary"
2123
+ },
2124
+ {
2125
+ "label": "Previous",
2126
+ "color": "muted"
1581
2127
  }
1582
2128
  ]
2129
+ },
2130
+ {
2131
+ "type": "graph-view",
2132
+ "nodes": [
2133
+ {
2134
+ "id": "a",
2135
+ "label": "Start",
2136
+ "x": 50,
2137
+ "y": 100
2138
+ },
2139
+ {
2140
+ "id": "b",
2141
+ "label": "Process",
2142
+ "x": 200,
2143
+ "y": 50
2144
+ },
2145
+ {
2146
+ "id": "c",
2147
+ "label": "End",
2148
+ "x": 350,
2149
+ "y": 100
2150
+ }
2151
+ ],
2152
+ "edges": [
2153
+ {
2154
+ "from": "a",
2155
+ "to": "b"
2156
+ },
2157
+ {
2158
+ "from": "b",
2159
+ "to": "c"
2160
+ }
2161
+ ],
2162
+ "width": 400,
2163
+ "height": 200
1583
2164
  }
1584
2165
  ]
1585
2166
  }
@@ -1603,134 +2184,234 @@
1603
2184
  "render-ui",
1604
2185
  "main",
1605
2186
  {
1606
- "type": "stack",
1607
- "direction": "vertical",
1608
- "gap": "lg",
2187
+ "type": "game-shell",
2188
+ "appName": "Strategy Game",
2189
+ "showTopBar": true,
1609
2190
  "children": [
1610
2191
  {
1611
- "type": "stack",
1612
- "direction": "horizontal",
1613
- "gap": "md",
1614
- "justify": "space-between",
2192
+ "type": "scaled-diagram",
1615
2193
  "children": [
1616
2194
  {
1617
2195
  "type": "stack",
1618
- "direction": "horizontal",
1619
- "gap": "md",
2196
+ "direction": "vertical",
2197
+ "gap": "lg",
1620
2198
  "children": [
1621
2199
  {
1622
- "type": "icon",
1623
- "name": "database",
1624
- "size": "lg"
2200
+ "type": "breadcrumb",
2201
+ "items": [
2202
+ {
2203
+ "label": "Home",
2204
+ "href": "/"
2205
+ },
2206
+ {
2207
+ "label": "Resources"
2208
+ }
2209
+ ]
1625
2210
  },
1626
- {
1627
- "type": "typography",
1628
- "content": "Resources",
1629
- "variant": "h2"
1630
- }
1631
- ]
1632
- },
1633
- {
1634
- "type": "button",
1635
- "label": "Refresh",
1636
- "event": "REFRESH",
1637
- "variant": "secondary",
1638
- "icon": "refresh-cw"
1639
- }
1640
- ]
1641
- },
1642
- {
1643
- "type": "divider"
1644
- },
1645
- {
1646
- "type": "simple-grid",
1647
- "columns": 3,
1648
- "children": [
1649
- {
1650
- "type": "card",
1651
- "children": [
1652
2211
  {
1653
2212
  "type": "stack",
1654
- "direction": "vertical",
1655
- "gap": "sm",
2213
+ "direction": "horizontal",
2214
+ "gap": "md",
2215
+ "justify": "space-between",
1656
2216
  "children": [
1657
2217
  {
1658
- "type": "typography",
1659
- "variant": "caption",
1660
- "content": "Gold"
2218
+ "type": "stack",
2219
+ "direction": "horizontal",
2220
+ "gap": "md",
2221
+ "children": [
2222
+ {
2223
+ "type": "icon",
2224
+ "name": "database",
2225
+ "size": "lg"
2226
+ },
2227
+ {
2228
+ "type": "typography",
2229
+ "content": "Resources",
2230
+ "variant": "h2"
2231
+ }
2232
+ ]
1661
2233
  },
1662
2234
  {
1663
- "type": "typography",
1664
- "variant": "h3",
1665
- "content": "@entity.gold"
2235
+ "type": "button",
2236
+ "label": "Refresh",
2237
+ "event": "REFRESH",
2238
+ "variant": "secondary",
2239
+ "icon": "refresh-cw"
1666
2240
  }
1667
2241
  ]
1668
- }
1669
- ]
1670
- },
1671
- {
1672
- "type": "card",
1673
- "children": [
2242
+ },
1674
2243
  {
1675
- "type": "stack",
1676
- "direction": "vertical",
1677
- "gap": "sm",
2244
+ "type": "divider"
2245
+ },
2246
+ {
2247
+ "type": "box",
2248
+ "padding": "md",
1678
2249
  "children": [
1679
2250
  {
1680
- "type": "typography",
1681
- "variant": "caption",
1682
- "content": "Food"
1683
- },
1684
- {
1685
- "type": "typography",
1686
- "variant": "h3",
1687
- "content": "@entity.food"
2251
+ "type": "simple-grid",
2252
+ "columns": 3,
2253
+ "children": [
2254
+ {
2255
+ "type": "stat-display",
2256
+ "label": "Gold",
2257
+ "value": [
2258
+ "object/get",
2259
+ [
2260
+ "array/first",
2261
+ "@entity"
2262
+ ],
2263
+ "gold"
2264
+ ]
2265
+ },
2266
+ {
2267
+ "type": "stat-display",
2268
+ "label": "Food",
2269
+ "value": [
2270
+ "object/get",
2271
+ [
2272
+ "array/first",
2273
+ "@entity"
2274
+ ],
2275
+ "food"
2276
+ ]
2277
+ },
2278
+ {
2279
+ "type": "stat-display",
2280
+ "label": "Wood",
2281
+ "value": [
2282
+ "object/get",
2283
+ [
2284
+ "array/first",
2285
+ "@entity"
2286
+ ],
2287
+ "wood"
2288
+ ]
2289
+ },
2290
+ {
2291
+ "type": "stat-display",
2292
+ "label": "Iron",
2293
+ "value": [
2294
+ "object/get",
2295
+ [
2296
+ "array/first",
2297
+ "@entity"
2298
+ ],
2299
+ "iron"
2300
+ ]
2301
+ }
2302
+ ]
1688
2303
  }
1689
2304
  ]
1690
- }
1691
- ]
1692
- },
1693
- {
1694
- "type": "card",
1695
- "children": [
2305
+ },
1696
2306
  {
1697
- "type": "stack",
1698
- "direction": "vertical",
1699
- "gap": "sm",
2307
+ "type": "divider"
2308
+ },
2309
+ {
2310
+ "type": "grid",
2311
+ "columns": 2,
2312
+ "gap": "md",
1700
2313
  "children": [
1701
2314
  {
1702
- "type": "typography",
1703
- "variant": "caption",
1704
- "content": "Wood"
2315
+ "type": "card",
2316
+ "children": [
2317
+ {
2318
+ "type": "typography",
2319
+ "variant": "caption",
2320
+ "content": "Chart View"
2321
+ }
2322
+ ]
1705
2323
  },
1706
2324
  {
1707
- "type": "typography",
1708
- "variant": "h3",
1709
- "content": "@entity.wood"
2325
+ "type": "card",
2326
+ "children": [
2327
+ {
2328
+ "type": "typography",
2329
+ "variant": "caption",
2330
+ "content": "Graph View"
2331
+ }
2332
+ ]
1710
2333
  }
1711
2334
  ]
1712
- }
1713
- ]
1714
- },
1715
- {
1716
- "type": "card",
1717
- "children": [
2335
+ },
1718
2336
  {
1719
- "type": "stack",
1720
- "direction": "vertical",
1721
- "gap": "sm",
1722
- "children": [
2337
+ "type": "line-chart",
2338
+ "data": [
1723
2339
  {
1724
- "type": "typography",
1725
- "variant": "caption",
1726
- "content": "Iron"
2340
+ "date": "Jan",
2341
+ "value": 12
1727
2342
  },
1728
2343
  {
1729
- "type": "typography",
1730
- "variant": "h3",
1731
- "content": "@entity.iron"
2344
+ "date": "Feb",
2345
+ "value": 19
2346
+ },
2347
+ {
2348
+ "date": "Mar",
2349
+ "value": 15
2350
+ },
2351
+ {
2352
+ "date": "Apr",
2353
+ "value": 25
2354
+ },
2355
+ {
2356
+ "date": "May",
2357
+ "value": 22
2358
+ },
2359
+ {
2360
+ "date": "Jun",
2361
+ "value": 30
2362
+ }
2363
+ ],
2364
+ "xKey": "date",
2365
+ "yKey": "value",
2366
+ "title": "Trend"
2367
+ },
2368
+ {
2369
+ "type": "chart-legend",
2370
+ "items": [
2371
+ {
2372
+ "label": "Current",
2373
+ "color": "primary"
2374
+ },
2375
+ {
2376
+ "label": "Previous",
2377
+ "color": "muted"
1732
2378
  }
1733
2379
  ]
2380
+ },
2381
+ {
2382
+ "type": "graph-view",
2383
+ "nodes": [
2384
+ {
2385
+ "id": "a",
2386
+ "label": "Start",
2387
+ "x": 50,
2388
+ "y": 100
2389
+ },
2390
+ {
2391
+ "id": "b",
2392
+ "label": "Process",
2393
+ "x": 200,
2394
+ "y": 50
2395
+ },
2396
+ {
2397
+ "id": "c",
2398
+ "label": "End",
2399
+ "x": 350,
2400
+ "y": 100
2401
+ }
2402
+ ],
2403
+ "edges": [
2404
+ {
2405
+ "from": "a",
2406
+ "to": "b"
2407
+ },
2408
+ {
2409
+ "from": "b",
2410
+ "to": "c"
2411
+ }
2412
+ ],
2413
+ "width": 400,
2414
+ "height": 200
1734
2415
  }
1735
2416
  ]
1736
2417
  }