@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
@@ -32,6 +32,21 @@
32
32
  "name": "completed",
33
33
  "type": "boolean",
34
34
  "default": false
35
+ },
36
+ {
37
+ "name": "level",
38
+ "type": "number",
39
+ "default": 1
40
+ }
41
+ ],
42
+ "instances": [
43
+ {
44
+ "id": "game-1",
45
+ "name": "Sequencer Session",
46
+ "description": "Active game session",
47
+ "status": "active",
48
+ "score": 0,
49
+ "level": 1
35
50
  }
36
51
  ]
37
52
  },
@@ -89,13 +104,20 @@
89
104
  "render-ui",
90
105
  "main",
91
106
  {
92
- "type": "game-menu",
93
- "title": "Sequencer Challenge",
94
- "menuItems": [
107
+ "type": "game-shell",
108
+ "appName": "Coding Academy",
109
+ "showTopBar": true,
110
+ "children": [
95
111
  {
96
- "label": "Start",
97
- "event": "START",
98
- "variant": "primary"
112
+ "type": "game-menu",
113
+ "title": "Sequencer Challenge",
114
+ "menuItems": [
115
+ {
116
+ "label": "Start",
117
+ "event": "START",
118
+ "variant": "primary"
119
+ }
120
+ ]
99
121
  }
100
122
  ]
101
123
  }
@@ -111,9 +133,36 @@
111
133
  "render-ui",
112
134
  "main",
113
135
  {
114
- "type": "sequencer-board",
115
- "entity": "SeqChallenge",
116
- "completeEvent": "COMPLETE"
136
+ "type": "game-shell",
137
+ "appName": "Coding Academy",
138
+ "showTopBar": true,
139
+ "children": [
140
+ {
141
+ "type": "stack",
142
+ "direction": "vertical",
143
+ "gap": "md",
144
+ "children": [
145
+ {
146
+ "type": "game-hud",
147
+ "stats": [
148
+ {
149
+ "label": "Score",
150
+ "value": "@entity.score"
151
+ },
152
+ {
153
+ "label": "Level",
154
+ "value": "@entity.level"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "type": "sequencer-board",
160
+ "entity": "SeqChallenge",
161
+ "completeEvent": "COMPLETE"
162
+ }
163
+ ]
164
+ }
165
+ ]
117
166
  }
118
167
  ]
119
168
  ]
@@ -133,13 +182,20 @@
133
182
  "render-ui",
134
183
  "main",
135
184
  {
136
- "type": "game-over-screen",
137
- "title": "Well Done!",
138
- "menuItems": [
185
+ "type": "game-shell",
186
+ "appName": "Coding Academy",
187
+ "showTopBar": true,
188
+ "children": [
139
189
  {
140
- "label": "Play Again",
141
- "event": "RESTART",
142
- "variant": "primary"
190
+ "type": "game-over-screen",
191
+ "title": "Well Done!",
192
+ "menuItems": [
193
+ {
194
+ "label": "Play Again",
195
+ "event": "RESTART",
196
+ "variant": "primary"
197
+ }
198
+ ]
143
199
  }
144
200
  ]
145
201
  }
@@ -155,13 +211,20 @@
155
211
  "render-ui",
156
212
  "main",
157
213
  {
158
- "type": "game-menu",
159
- "title": "Sequencer Challenge",
160
- "menuItems": [
214
+ "type": "game-shell",
215
+ "appName": "Coding Academy",
216
+ "showTopBar": true,
217
+ "children": [
161
218
  {
162
- "label": "Start",
163
- "event": "START",
164
- "variant": "primary"
219
+ "type": "game-menu",
220
+ "title": "Sequencer Challenge",
221
+ "menuItems": [
222
+ {
223
+ "label": "Start",
224
+ "event": "START",
225
+ "variant": "primary"
226
+ }
227
+ ]
165
228
  }
166
229
  ]
167
230
  }
@@ -215,6 +278,21 @@
215
278
  "name": "completed",
216
279
  "type": "boolean",
217
280
  "default": false
281
+ },
282
+ {
283
+ "name": "level",
284
+ "type": "number",
285
+ "default": 1
286
+ }
287
+ ],
288
+ "instances": [
289
+ {
290
+ "id": "game-1",
291
+ "name": "Builder Session",
292
+ "description": "Active game session",
293
+ "status": "active",
294
+ "score": 0,
295
+ "level": 1
218
296
  }
219
297
  ]
220
298
  },
@@ -272,13 +350,20 @@
272
350
  "render-ui",
273
351
  "main",
274
352
  {
275
- "type": "game-menu",
276
- "title": "Builder Challenge",
277
- "menuItems": [
353
+ "type": "game-shell",
354
+ "appName": "Coding Academy",
355
+ "showTopBar": true,
356
+ "children": [
278
357
  {
279
- "label": "Start",
280
- "event": "START",
281
- "variant": "primary"
358
+ "type": "game-menu",
359
+ "title": "Builder Challenge",
360
+ "menuItems": [
361
+ {
362
+ "label": "Start",
363
+ "event": "START",
364
+ "variant": "primary"
365
+ }
366
+ ]
282
367
  }
283
368
  ]
284
369
  }
@@ -294,9 +379,36 @@
294
379
  "render-ui",
295
380
  "main",
296
381
  {
297
- "type": "builder-board",
298
- "entity": "BuildChallenge",
299
- "completeEvent": "COMPLETE"
382
+ "type": "game-shell",
383
+ "appName": "Coding Academy",
384
+ "showTopBar": true,
385
+ "children": [
386
+ {
387
+ "type": "stack",
388
+ "direction": "vertical",
389
+ "gap": "md",
390
+ "children": [
391
+ {
392
+ "type": "game-hud",
393
+ "stats": [
394
+ {
395
+ "label": "Score",
396
+ "value": "@entity.score"
397
+ },
398
+ {
399
+ "label": "Level",
400
+ "value": "@entity.level"
401
+ }
402
+ ]
403
+ },
404
+ {
405
+ "type": "builder-board",
406
+ "entity": "BuildChallenge",
407
+ "completeEvent": "COMPLETE"
408
+ }
409
+ ]
410
+ }
411
+ ]
300
412
  }
301
413
  ]
302
414
  ]
@@ -316,13 +428,20 @@
316
428
  "render-ui",
317
429
  "main",
318
430
  {
319
- "type": "game-over-screen",
320
- "title": "Well Done!",
321
- "menuItems": [
431
+ "type": "game-shell",
432
+ "appName": "Coding Academy",
433
+ "showTopBar": true,
434
+ "children": [
322
435
  {
323
- "label": "Play Again",
324
- "event": "RESTART",
325
- "variant": "primary"
436
+ "type": "game-over-screen",
437
+ "title": "Well Done!",
438
+ "menuItems": [
439
+ {
440
+ "label": "Play Again",
441
+ "event": "RESTART",
442
+ "variant": "primary"
443
+ }
444
+ ]
326
445
  }
327
446
  ]
328
447
  }
@@ -338,13 +457,20 @@
338
457
  "render-ui",
339
458
  "main",
340
459
  {
341
- "type": "game-menu",
342
- "title": "Builder Challenge",
343
- "menuItems": [
460
+ "type": "game-shell",
461
+ "appName": "Coding Academy",
462
+ "showTopBar": true,
463
+ "children": [
344
464
  {
345
- "label": "Start",
346
- "event": "START",
347
- "variant": "primary"
465
+ "type": "game-menu",
466
+ "title": "Builder Challenge",
467
+ "menuItems": [
468
+ {
469
+ "label": "Start",
470
+ "event": "START",
471
+ "variant": "primary"
472
+ }
473
+ ]
348
474
  }
349
475
  ]
350
476
  }
@@ -397,6 +523,21 @@
397
523
  "name": "completed",
398
524
  "type": "boolean",
399
525
  "default": false
526
+ },
527
+ {
528
+ "name": "level",
529
+ "type": "number",
530
+ "default": 1
531
+ }
532
+ ],
533
+ "instances": [
534
+ {
535
+ "id": "game-1",
536
+ "name": "Event Handler Session",
537
+ "description": "Active game session",
538
+ "status": "active",
539
+ "score": 0,
540
+ "level": 1
400
541
  }
401
542
  ]
402
543
  },
@@ -454,13 +595,20 @@
454
595
  "render-ui",
455
596
  "main",
456
597
  {
457
- "type": "game-menu",
458
- "title": "Event Handler Challenge",
459
- "menuItems": [
598
+ "type": "game-shell",
599
+ "appName": "Coding Academy",
600
+ "showTopBar": true,
601
+ "children": [
460
602
  {
461
- "label": "Start",
462
- "event": "START",
463
- "variant": "primary"
603
+ "type": "game-menu",
604
+ "title": "Event Handler Challenge",
605
+ "menuItems": [
606
+ {
607
+ "label": "Start",
608
+ "event": "START",
609
+ "variant": "primary"
610
+ }
611
+ ]
464
612
  }
465
613
  ]
466
614
  }
@@ -476,9 +624,36 @@
476
624
  "render-ui",
477
625
  "main",
478
626
  {
479
- "type": "event-handler-board",
480
- "entity": "EventChallenge",
481
- "completeEvent": "COMPLETE"
627
+ "type": "game-shell",
628
+ "appName": "Coding Academy",
629
+ "showTopBar": true,
630
+ "children": [
631
+ {
632
+ "type": "stack",
633
+ "direction": "vertical",
634
+ "gap": "md",
635
+ "children": [
636
+ {
637
+ "type": "game-hud",
638
+ "stats": [
639
+ {
640
+ "label": "Score",
641
+ "value": "@entity.score"
642
+ },
643
+ {
644
+ "label": "Level",
645
+ "value": "@entity.level"
646
+ }
647
+ ]
648
+ },
649
+ {
650
+ "type": "event-handler-board",
651
+ "entity": "EventChallenge",
652
+ "completeEvent": "COMPLETE"
653
+ }
654
+ ]
655
+ }
656
+ ]
482
657
  }
483
658
  ]
484
659
  ]
@@ -498,13 +673,20 @@
498
673
  "render-ui",
499
674
  "main",
500
675
  {
501
- "type": "game-over-screen",
502
- "title": "Well Done!",
503
- "menuItems": [
676
+ "type": "game-shell",
677
+ "appName": "Coding Academy",
678
+ "showTopBar": true,
679
+ "children": [
504
680
  {
505
- "label": "Play Again",
506
- "event": "RESTART",
507
- "variant": "primary"
681
+ "type": "game-over-screen",
682
+ "title": "Well Done!",
683
+ "menuItems": [
684
+ {
685
+ "label": "Play Again",
686
+ "event": "RESTART",
687
+ "variant": "primary"
688
+ }
689
+ ]
508
690
  }
509
691
  ]
510
692
  }
@@ -520,13 +702,20 @@
520
702
  "render-ui",
521
703
  "main",
522
704
  {
523
- "type": "game-menu",
524
- "title": "Event Handler Challenge",
525
- "menuItems": [
705
+ "type": "game-shell",
706
+ "appName": "Coding Academy",
707
+ "showTopBar": true,
708
+ "children": [
526
709
  {
527
- "label": "Start",
528
- "event": "START",
529
- "variant": "primary"
710
+ "type": "game-menu",
711
+ "title": "Event Handler Challenge",
712
+ "menuItems": [
713
+ {
714
+ "label": "Start",
715
+ "event": "START",
716
+ "variant": "primary"
717
+ }
718
+ ]
530
719
  }
531
720
  ]
532
721
  }
@@ -632,134 +821,234 @@
632
821
  "render-ui",
633
822
  "main",
634
823
  {
635
- "type": "stack",
636
- "direction": "vertical",
637
- "gap": "lg",
824
+ "type": "game-shell",
825
+ "appName": "Coding Academy",
826
+ "showTopBar": true,
638
827
  "children": [
639
828
  {
640
- "type": "stack",
641
- "direction": "horizontal",
642
- "gap": "md",
643
- "justify": "space-between",
829
+ "type": "scaled-diagram",
644
830
  "children": [
645
831
  {
646
832
  "type": "stack",
647
- "direction": "horizontal",
648
- "gap": "md",
833
+ "direction": "vertical",
834
+ "gap": "lg",
649
835
  "children": [
650
836
  {
651
- "type": "icon",
652
- "name": "trending-up",
653
- "size": "lg"
837
+ "type": "breadcrumb",
838
+ "items": [
839
+ {
840
+ "label": "Home",
841
+ "href": "/"
842
+ },
843
+ {
844
+ "label": "Progress"
845
+ }
846
+ ]
654
847
  },
655
- {
656
- "type": "typography",
657
- "content": "Progress",
658
- "variant": "h2"
659
- }
660
- ]
661
- },
662
- {
663
- "type": "button",
664
- "label": "Refresh",
665
- "event": "REFRESH",
666
- "variant": "secondary",
667
- "icon": "refresh-cw"
668
- }
669
- ]
670
- },
671
- {
672
- "type": "divider"
673
- },
674
- {
675
- "type": "simple-grid",
676
- "columns": 3,
677
- "children": [
678
- {
679
- "type": "card",
680
- "children": [
681
848
  {
682
849
  "type": "stack",
683
- "direction": "vertical",
684
- "gap": "sm",
850
+ "direction": "horizontal",
851
+ "gap": "md",
852
+ "justify": "space-between",
685
853
  "children": [
686
854
  {
687
- "type": "typography",
688
- "variant": "caption",
689
- "content": "TotalLessons"
855
+ "type": "stack",
856
+ "direction": "horizontal",
857
+ "gap": "md",
858
+ "children": [
859
+ {
860
+ "type": "icon",
861
+ "name": "trending-up",
862
+ "size": "lg"
863
+ },
864
+ {
865
+ "type": "typography",
866
+ "content": "Progress",
867
+ "variant": "h2"
868
+ }
869
+ ]
690
870
  },
691
871
  {
692
- "type": "typography",
693
- "variant": "h3",
694
- "content": "@entity.totalLessons"
872
+ "type": "button",
873
+ "label": "Refresh",
874
+ "event": "REFRESH",
875
+ "variant": "secondary",
876
+ "icon": "refresh-cw"
695
877
  }
696
878
  ]
697
- }
698
- ]
699
- },
700
- {
701
- "type": "card",
702
- "children": [
879
+ },
703
880
  {
704
- "type": "stack",
705
- "direction": "vertical",
706
- "gap": "sm",
881
+ "type": "divider"
882
+ },
883
+ {
884
+ "type": "box",
885
+ "padding": "md",
707
886
  "children": [
708
887
  {
709
- "type": "typography",
710
- "variant": "caption",
711
- "content": "CompletedLessons"
712
- },
713
- {
714
- "type": "typography",
715
- "variant": "h3",
716
- "content": "@entity.completedLessons"
888
+ "type": "simple-grid",
889
+ "columns": 3,
890
+ "children": [
891
+ {
892
+ "type": "stat-display",
893
+ "label": "TotalLessons",
894
+ "value": [
895
+ "object/get",
896
+ [
897
+ "array/first",
898
+ "@entity"
899
+ ],
900
+ "totalLessons"
901
+ ]
902
+ },
903
+ {
904
+ "type": "stat-display",
905
+ "label": "CompletedLessons",
906
+ "value": [
907
+ "object/get",
908
+ [
909
+ "array/first",
910
+ "@entity"
911
+ ],
912
+ "completedLessons"
913
+ ]
914
+ },
915
+ {
916
+ "type": "stat-display",
917
+ "label": "AverageScore",
918
+ "value": [
919
+ "object/get",
920
+ [
921
+ "array/first",
922
+ "@entity"
923
+ ],
924
+ "averageScore"
925
+ ]
926
+ },
927
+ {
928
+ "type": "stat-display",
929
+ "label": "Streak",
930
+ "value": [
931
+ "object/get",
932
+ [
933
+ "array/first",
934
+ "@entity"
935
+ ],
936
+ "streak"
937
+ ]
938
+ }
939
+ ]
717
940
  }
718
941
  ]
719
- }
720
- ]
721
- },
722
- {
723
- "type": "card",
724
- "children": [
942
+ },
725
943
  {
726
- "type": "stack",
727
- "direction": "vertical",
728
- "gap": "sm",
944
+ "type": "divider"
945
+ },
946
+ {
947
+ "type": "grid",
948
+ "columns": 2,
949
+ "gap": "md",
729
950
  "children": [
730
951
  {
731
- "type": "typography",
732
- "variant": "caption",
733
- "content": "AverageScore"
952
+ "type": "card",
953
+ "children": [
954
+ {
955
+ "type": "typography",
956
+ "variant": "caption",
957
+ "content": "Chart View"
958
+ }
959
+ ]
734
960
  },
735
961
  {
736
- "type": "typography",
737
- "variant": "h3",
738
- "content": "@entity.averageScore"
962
+ "type": "card",
963
+ "children": [
964
+ {
965
+ "type": "typography",
966
+ "variant": "caption",
967
+ "content": "Graph View"
968
+ }
969
+ ]
739
970
  }
740
971
  ]
741
- }
742
- ]
743
- },
744
- {
745
- "type": "card",
746
- "children": [
972
+ },
747
973
  {
748
- "type": "stack",
749
- "direction": "vertical",
750
- "gap": "sm",
751
- "children": [
974
+ "type": "line-chart",
975
+ "data": [
976
+ {
977
+ "date": "Jan",
978
+ "value": 12
979
+ },
980
+ {
981
+ "date": "Feb",
982
+ "value": 19
983
+ },
984
+ {
985
+ "date": "Mar",
986
+ "value": 15
987
+ },
752
988
  {
753
- "type": "typography",
754
- "variant": "caption",
755
- "content": "Streak"
989
+ "date": "Apr",
990
+ "value": 25
756
991
  },
757
992
  {
758
- "type": "typography",
759
- "variant": "h3",
760
- "content": "@entity.streak"
993
+ "date": "May",
994
+ "value": 22
995
+ },
996
+ {
997
+ "date": "Jun",
998
+ "value": 30
999
+ }
1000
+ ],
1001
+ "xKey": "date",
1002
+ "yKey": "value",
1003
+ "title": "Trend"
1004
+ },
1005
+ {
1006
+ "type": "chart-legend",
1007
+ "items": [
1008
+ {
1009
+ "label": "Current",
1010
+ "color": "primary"
1011
+ },
1012
+ {
1013
+ "label": "Previous",
1014
+ "color": "muted"
761
1015
  }
762
1016
  ]
1017
+ },
1018
+ {
1019
+ "type": "graph-view",
1020
+ "nodes": [
1021
+ {
1022
+ "id": "a",
1023
+ "label": "Start",
1024
+ "x": 50,
1025
+ "y": 100
1026
+ },
1027
+ {
1028
+ "id": "b",
1029
+ "label": "Process",
1030
+ "x": 200,
1031
+ "y": 50
1032
+ },
1033
+ {
1034
+ "id": "c",
1035
+ "label": "End",
1036
+ "x": 350,
1037
+ "y": 100
1038
+ }
1039
+ ],
1040
+ "edges": [
1041
+ {
1042
+ "from": "a",
1043
+ "to": "b"
1044
+ },
1045
+ {
1046
+ "from": "b",
1047
+ "to": "c"
1048
+ }
1049
+ ],
1050
+ "width": 400,
1051
+ "height": 200
763
1052
  }
764
1053
  ]
765
1054
  }
@@ -783,134 +1072,234 @@
783
1072
  "render-ui",
784
1073
  "main",
785
1074
  {
786
- "type": "stack",
787
- "direction": "vertical",
788
- "gap": "lg",
1075
+ "type": "game-shell",
1076
+ "appName": "Coding Academy",
1077
+ "showTopBar": true,
789
1078
  "children": [
790
1079
  {
791
- "type": "stack",
792
- "direction": "horizontal",
793
- "gap": "md",
794
- "justify": "space-between",
1080
+ "type": "scaled-diagram",
795
1081
  "children": [
796
1082
  {
797
1083
  "type": "stack",
798
- "direction": "horizontal",
799
- "gap": "md",
1084
+ "direction": "vertical",
1085
+ "gap": "lg",
800
1086
  "children": [
801
1087
  {
802
- "type": "icon",
803
- "name": "trending-up",
804
- "size": "lg"
1088
+ "type": "breadcrumb",
1089
+ "items": [
1090
+ {
1091
+ "label": "Home",
1092
+ "href": "/"
1093
+ },
1094
+ {
1095
+ "label": "Progress"
1096
+ }
1097
+ ]
805
1098
  },
806
- {
807
- "type": "typography",
808
- "content": "Progress",
809
- "variant": "h2"
810
- }
811
- ]
812
- },
813
- {
814
- "type": "button",
815
- "label": "Refresh",
816
- "event": "REFRESH",
817
- "variant": "secondary",
818
- "icon": "refresh-cw"
819
- }
820
- ]
821
- },
822
- {
823
- "type": "divider"
824
- },
825
- {
826
- "type": "simple-grid",
827
- "columns": 3,
828
- "children": [
829
- {
830
- "type": "card",
831
- "children": [
832
1099
  {
833
1100
  "type": "stack",
834
- "direction": "vertical",
835
- "gap": "sm",
1101
+ "direction": "horizontal",
1102
+ "gap": "md",
1103
+ "justify": "space-between",
836
1104
  "children": [
837
1105
  {
838
- "type": "typography",
839
- "variant": "caption",
840
- "content": "TotalLessons"
1106
+ "type": "stack",
1107
+ "direction": "horizontal",
1108
+ "gap": "md",
1109
+ "children": [
1110
+ {
1111
+ "type": "icon",
1112
+ "name": "trending-up",
1113
+ "size": "lg"
1114
+ },
1115
+ {
1116
+ "type": "typography",
1117
+ "content": "Progress",
1118
+ "variant": "h2"
1119
+ }
1120
+ ]
841
1121
  },
842
1122
  {
843
- "type": "typography",
844
- "variant": "h3",
845
- "content": "@entity.totalLessons"
1123
+ "type": "button",
1124
+ "label": "Refresh",
1125
+ "event": "REFRESH",
1126
+ "variant": "secondary",
1127
+ "icon": "refresh-cw"
846
1128
  }
847
1129
  ]
848
- }
849
- ]
850
- },
851
- {
852
- "type": "card",
853
- "children": [
1130
+ },
854
1131
  {
855
- "type": "stack",
856
- "direction": "vertical",
857
- "gap": "sm",
1132
+ "type": "divider"
1133
+ },
1134
+ {
1135
+ "type": "box",
1136
+ "padding": "md",
858
1137
  "children": [
859
1138
  {
860
- "type": "typography",
861
- "variant": "caption",
862
- "content": "CompletedLessons"
863
- },
864
- {
865
- "type": "typography",
866
- "variant": "h3",
867
- "content": "@entity.completedLessons"
1139
+ "type": "simple-grid",
1140
+ "columns": 3,
1141
+ "children": [
1142
+ {
1143
+ "type": "stat-display",
1144
+ "label": "TotalLessons",
1145
+ "value": [
1146
+ "object/get",
1147
+ [
1148
+ "array/first",
1149
+ "@entity"
1150
+ ],
1151
+ "totalLessons"
1152
+ ]
1153
+ },
1154
+ {
1155
+ "type": "stat-display",
1156
+ "label": "CompletedLessons",
1157
+ "value": [
1158
+ "object/get",
1159
+ [
1160
+ "array/first",
1161
+ "@entity"
1162
+ ],
1163
+ "completedLessons"
1164
+ ]
1165
+ },
1166
+ {
1167
+ "type": "stat-display",
1168
+ "label": "AverageScore",
1169
+ "value": [
1170
+ "object/get",
1171
+ [
1172
+ "array/first",
1173
+ "@entity"
1174
+ ],
1175
+ "averageScore"
1176
+ ]
1177
+ },
1178
+ {
1179
+ "type": "stat-display",
1180
+ "label": "Streak",
1181
+ "value": [
1182
+ "object/get",
1183
+ [
1184
+ "array/first",
1185
+ "@entity"
1186
+ ],
1187
+ "streak"
1188
+ ]
1189
+ }
1190
+ ]
868
1191
  }
869
1192
  ]
870
- }
871
- ]
872
- },
873
- {
874
- "type": "card",
875
- "children": [
1193
+ },
876
1194
  {
877
- "type": "stack",
878
- "direction": "vertical",
879
- "gap": "sm",
1195
+ "type": "divider"
1196
+ },
1197
+ {
1198
+ "type": "grid",
1199
+ "columns": 2,
1200
+ "gap": "md",
880
1201
  "children": [
881
1202
  {
882
- "type": "typography",
883
- "variant": "caption",
884
- "content": "AverageScore"
1203
+ "type": "card",
1204
+ "children": [
1205
+ {
1206
+ "type": "typography",
1207
+ "variant": "caption",
1208
+ "content": "Chart View"
1209
+ }
1210
+ ]
885
1211
  },
886
1212
  {
887
- "type": "typography",
888
- "variant": "h3",
889
- "content": "@entity.averageScore"
1213
+ "type": "card",
1214
+ "children": [
1215
+ {
1216
+ "type": "typography",
1217
+ "variant": "caption",
1218
+ "content": "Graph View"
1219
+ }
1220
+ ]
890
1221
  }
891
1222
  ]
892
- }
893
- ]
894
- },
895
- {
896
- "type": "card",
897
- "children": [
1223
+ },
898
1224
  {
899
- "type": "stack",
900
- "direction": "vertical",
901
- "gap": "sm",
902
- "children": [
1225
+ "type": "line-chart",
1226
+ "data": [
1227
+ {
1228
+ "date": "Jan",
1229
+ "value": 12
1230
+ },
1231
+ {
1232
+ "date": "Feb",
1233
+ "value": 19
1234
+ },
1235
+ {
1236
+ "date": "Mar",
1237
+ "value": 15
1238
+ },
1239
+ {
1240
+ "date": "Apr",
1241
+ "value": 25
1242
+ },
903
1243
  {
904
- "type": "typography",
905
- "variant": "caption",
906
- "content": "Streak"
1244
+ "date": "May",
1245
+ "value": 22
907
1246
  },
908
1247
  {
909
- "type": "typography",
910
- "variant": "h3",
911
- "content": "@entity.streak"
1248
+ "date": "Jun",
1249
+ "value": 30
1250
+ }
1251
+ ],
1252
+ "xKey": "date",
1253
+ "yKey": "value",
1254
+ "title": "Trend"
1255
+ },
1256
+ {
1257
+ "type": "chart-legend",
1258
+ "items": [
1259
+ {
1260
+ "label": "Current",
1261
+ "color": "primary"
1262
+ },
1263
+ {
1264
+ "label": "Previous",
1265
+ "color": "muted"
912
1266
  }
913
1267
  ]
1268
+ },
1269
+ {
1270
+ "type": "graph-view",
1271
+ "nodes": [
1272
+ {
1273
+ "id": "a",
1274
+ "label": "Start",
1275
+ "x": 50,
1276
+ "y": 100
1277
+ },
1278
+ {
1279
+ "id": "b",
1280
+ "label": "Process",
1281
+ "x": 200,
1282
+ "y": 50
1283
+ },
1284
+ {
1285
+ "id": "c",
1286
+ "label": "End",
1287
+ "x": 350,
1288
+ "y": 100
1289
+ }
1290
+ ],
1291
+ "edges": [
1292
+ {
1293
+ "from": "a",
1294
+ "to": "b"
1295
+ },
1296
+ {
1297
+ "from": "b",
1298
+ "to": "c"
1299
+ }
1300
+ ],
1301
+ "width": 400,
1302
+ "height": 200
914
1303
  }
915
1304
  ]
916
1305
  }
@@ -934,134 +1323,234 @@
934
1323
  "render-ui",
935
1324
  "main",
936
1325
  {
937
- "type": "stack",
938
- "direction": "vertical",
939
- "gap": "lg",
1326
+ "type": "game-shell",
1327
+ "appName": "Coding Academy",
1328
+ "showTopBar": true,
940
1329
  "children": [
941
1330
  {
942
- "type": "stack",
943
- "direction": "horizontal",
944
- "gap": "md",
945
- "justify": "space-between",
1331
+ "type": "scaled-diagram",
946
1332
  "children": [
947
1333
  {
948
1334
  "type": "stack",
949
- "direction": "horizontal",
950
- "gap": "md",
1335
+ "direction": "vertical",
1336
+ "gap": "lg",
951
1337
  "children": [
952
1338
  {
953
- "type": "icon",
954
- "name": "trending-up",
955
- "size": "lg"
1339
+ "type": "breadcrumb",
1340
+ "items": [
1341
+ {
1342
+ "label": "Home",
1343
+ "href": "/"
1344
+ },
1345
+ {
1346
+ "label": "Progress"
1347
+ }
1348
+ ]
956
1349
  },
957
- {
958
- "type": "typography",
959
- "content": "Progress",
960
- "variant": "h2"
961
- }
962
- ]
963
- },
964
- {
965
- "type": "button",
966
- "label": "Refresh",
967
- "event": "REFRESH",
968
- "variant": "secondary",
969
- "icon": "refresh-cw"
970
- }
971
- ]
972
- },
973
- {
974
- "type": "divider"
975
- },
976
- {
977
- "type": "simple-grid",
978
- "columns": 3,
979
- "children": [
980
- {
981
- "type": "card",
982
- "children": [
983
1350
  {
984
1351
  "type": "stack",
985
- "direction": "vertical",
986
- "gap": "sm",
1352
+ "direction": "horizontal",
1353
+ "gap": "md",
1354
+ "justify": "space-between",
987
1355
  "children": [
988
1356
  {
989
- "type": "typography",
990
- "variant": "caption",
991
- "content": "TotalLessons"
1357
+ "type": "stack",
1358
+ "direction": "horizontal",
1359
+ "gap": "md",
1360
+ "children": [
1361
+ {
1362
+ "type": "icon",
1363
+ "name": "trending-up",
1364
+ "size": "lg"
1365
+ },
1366
+ {
1367
+ "type": "typography",
1368
+ "content": "Progress",
1369
+ "variant": "h2"
1370
+ }
1371
+ ]
992
1372
  },
993
1373
  {
994
- "type": "typography",
995
- "variant": "h3",
996
- "content": "@entity.totalLessons"
1374
+ "type": "button",
1375
+ "label": "Refresh",
1376
+ "event": "REFRESH",
1377
+ "variant": "secondary",
1378
+ "icon": "refresh-cw"
997
1379
  }
998
1380
  ]
999
- }
1000
- ]
1001
- },
1002
- {
1003
- "type": "card",
1004
- "children": [
1381
+ },
1005
1382
  {
1006
- "type": "stack",
1007
- "direction": "vertical",
1008
- "gap": "sm",
1383
+ "type": "divider"
1384
+ },
1385
+ {
1386
+ "type": "box",
1387
+ "padding": "md",
1009
1388
  "children": [
1010
1389
  {
1011
- "type": "typography",
1012
- "variant": "caption",
1013
- "content": "CompletedLessons"
1014
- },
1015
- {
1016
- "type": "typography",
1017
- "variant": "h3",
1018
- "content": "@entity.completedLessons"
1390
+ "type": "simple-grid",
1391
+ "columns": 3,
1392
+ "children": [
1393
+ {
1394
+ "type": "stat-display",
1395
+ "label": "TotalLessons",
1396
+ "value": [
1397
+ "object/get",
1398
+ [
1399
+ "array/first",
1400
+ "@entity"
1401
+ ],
1402
+ "totalLessons"
1403
+ ]
1404
+ },
1405
+ {
1406
+ "type": "stat-display",
1407
+ "label": "CompletedLessons",
1408
+ "value": [
1409
+ "object/get",
1410
+ [
1411
+ "array/first",
1412
+ "@entity"
1413
+ ],
1414
+ "completedLessons"
1415
+ ]
1416
+ },
1417
+ {
1418
+ "type": "stat-display",
1419
+ "label": "AverageScore",
1420
+ "value": [
1421
+ "object/get",
1422
+ [
1423
+ "array/first",
1424
+ "@entity"
1425
+ ],
1426
+ "averageScore"
1427
+ ]
1428
+ },
1429
+ {
1430
+ "type": "stat-display",
1431
+ "label": "Streak",
1432
+ "value": [
1433
+ "object/get",
1434
+ [
1435
+ "array/first",
1436
+ "@entity"
1437
+ ],
1438
+ "streak"
1439
+ ]
1440
+ }
1441
+ ]
1019
1442
  }
1020
1443
  ]
1021
- }
1022
- ]
1023
- },
1024
- {
1025
- "type": "card",
1026
- "children": [
1444
+ },
1027
1445
  {
1028
- "type": "stack",
1029
- "direction": "vertical",
1030
- "gap": "sm",
1446
+ "type": "divider"
1447
+ },
1448
+ {
1449
+ "type": "grid",
1450
+ "columns": 2,
1451
+ "gap": "md",
1031
1452
  "children": [
1032
1453
  {
1033
- "type": "typography",
1034
- "variant": "caption",
1035
- "content": "AverageScore"
1454
+ "type": "card",
1455
+ "children": [
1456
+ {
1457
+ "type": "typography",
1458
+ "variant": "caption",
1459
+ "content": "Chart View"
1460
+ }
1461
+ ]
1036
1462
  },
1037
1463
  {
1038
- "type": "typography",
1039
- "variant": "h3",
1040
- "content": "@entity.averageScore"
1464
+ "type": "card",
1465
+ "children": [
1466
+ {
1467
+ "type": "typography",
1468
+ "variant": "caption",
1469
+ "content": "Graph View"
1470
+ }
1471
+ ]
1041
1472
  }
1042
1473
  ]
1043
- }
1044
- ]
1045
- },
1046
- {
1047
- "type": "card",
1048
- "children": [
1474
+ },
1049
1475
  {
1050
- "type": "stack",
1051
- "direction": "vertical",
1052
- "gap": "sm",
1053
- "children": [
1476
+ "type": "line-chart",
1477
+ "data": [
1478
+ {
1479
+ "date": "Jan",
1480
+ "value": 12
1481
+ },
1482
+ {
1483
+ "date": "Feb",
1484
+ "value": 19
1485
+ },
1486
+ {
1487
+ "date": "Mar",
1488
+ "value": 15
1489
+ },
1054
1490
  {
1055
- "type": "typography",
1056
- "variant": "caption",
1057
- "content": "Streak"
1491
+ "date": "Apr",
1492
+ "value": 25
1058
1493
  },
1059
1494
  {
1060
- "type": "typography",
1061
- "variant": "h3",
1062
- "content": "@entity.streak"
1495
+ "date": "May",
1496
+ "value": 22
1497
+ },
1498
+ {
1499
+ "date": "Jun",
1500
+ "value": 30
1501
+ }
1502
+ ],
1503
+ "xKey": "date",
1504
+ "yKey": "value",
1505
+ "title": "Trend"
1506
+ },
1507
+ {
1508
+ "type": "chart-legend",
1509
+ "items": [
1510
+ {
1511
+ "label": "Current",
1512
+ "color": "primary"
1513
+ },
1514
+ {
1515
+ "label": "Previous",
1516
+ "color": "muted"
1063
1517
  }
1064
1518
  ]
1519
+ },
1520
+ {
1521
+ "type": "graph-view",
1522
+ "nodes": [
1523
+ {
1524
+ "id": "a",
1525
+ "label": "Start",
1526
+ "x": 50,
1527
+ "y": 100
1528
+ },
1529
+ {
1530
+ "id": "b",
1531
+ "label": "Process",
1532
+ "x": 200,
1533
+ "y": 50
1534
+ },
1535
+ {
1536
+ "id": "c",
1537
+ "label": "End",
1538
+ "x": 350,
1539
+ "y": 100
1540
+ }
1541
+ ],
1542
+ "edges": [
1543
+ {
1544
+ "from": "a",
1545
+ "to": "b"
1546
+ },
1547
+ {
1548
+ "from": "b",
1549
+ "to": "c"
1550
+ }
1551
+ ],
1552
+ "width": 400,
1553
+ "height": 200
1065
1554
  }
1066
1555
  ]
1067
1556
  }
@@ -1085,134 +1574,234 @@
1085
1574
  "render-ui",
1086
1575
  "main",
1087
1576
  {
1088
- "type": "stack",
1089
- "direction": "vertical",
1090
- "gap": "lg",
1577
+ "type": "game-shell",
1578
+ "appName": "Coding Academy",
1579
+ "showTopBar": true,
1091
1580
  "children": [
1092
1581
  {
1093
- "type": "stack",
1094
- "direction": "horizontal",
1095
- "gap": "md",
1096
- "justify": "space-between",
1582
+ "type": "scaled-diagram",
1097
1583
  "children": [
1098
1584
  {
1099
1585
  "type": "stack",
1100
- "direction": "horizontal",
1101
- "gap": "md",
1586
+ "direction": "vertical",
1587
+ "gap": "lg",
1102
1588
  "children": [
1103
1589
  {
1104
- "type": "icon",
1105
- "name": "trending-up",
1106
- "size": "lg"
1590
+ "type": "breadcrumb",
1591
+ "items": [
1592
+ {
1593
+ "label": "Home",
1594
+ "href": "/"
1595
+ },
1596
+ {
1597
+ "label": "Progress"
1598
+ }
1599
+ ]
1107
1600
  },
1108
- {
1109
- "type": "typography",
1110
- "content": "Progress",
1111
- "variant": "h2"
1112
- }
1113
- ]
1114
- },
1115
- {
1116
- "type": "button",
1117
- "label": "Refresh",
1118
- "event": "REFRESH",
1119
- "variant": "secondary",
1120
- "icon": "refresh-cw"
1121
- }
1122
- ]
1123
- },
1124
- {
1125
- "type": "divider"
1126
- },
1127
- {
1128
- "type": "simple-grid",
1129
- "columns": 3,
1130
- "children": [
1131
- {
1132
- "type": "card",
1133
- "children": [
1134
1601
  {
1135
1602
  "type": "stack",
1136
- "direction": "vertical",
1137
- "gap": "sm",
1603
+ "direction": "horizontal",
1604
+ "gap": "md",
1605
+ "justify": "space-between",
1138
1606
  "children": [
1139
1607
  {
1140
- "type": "typography",
1141
- "variant": "caption",
1142
- "content": "TotalLessons"
1608
+ "type": "stack",
1609
+ "direction": "horizontal",
1610
+ "gap": "md",
1611
+ "children": [
1612
+ {
1613
+ "type": "icon",
1614
+ "name": "trending-up",
1615
+ "size": "lg"
1616
+ },
1617
+ {
1618
+ "type": "typography",
1619
+ "content": "Progress",
1620
+ "variant": "h2"
1621
+ }
1622
+ ]
1143
1623
  },
1144
1624
  {
1145
- "type": "typography",
1146
- "variant": "h3",
1147
- "content": "@entity.totalLessons"
1625
+ "type": "button",
1626
+ "label": "Refresh",
1627
+ "event": "REFRESH",
1628
+ "variant": "secondary",
1629
+ "icon": "refresh-cw"
1148
1630
  }
1149
1631
  ]
1150
- }
1151
- ]
1152
- },
1153
- {
1154
- "type": "card",
1155
- "children": [
1632
+ },
1156
1633
  {
1157
- "type": "stack",
1158
- "direction": "vertical",
1159
- "gap": "sm",
1634
+ "type": "divider"
1635
+ },
1636
+ {
1637
+ "type": "box",
1638
+ "padding": "md",
1160
1639
  "children": [
1161
1640
  {
1162
- "type": "typography",
1163
- "variant": "caption",
1164
- "content": "CompletedLessons"
1165
- },
1166
- {
1167
- "type": "typography",
1168
- "variant": "h3",
1169
- "content": "@entity.completedLessons"
1641
+ "type": "simple-grid",
1642
+ "columns": 3,
1643
+ "children": [
1644
+ {
1645
+ "type": "stat-display",
1646
+ "label": "TotalLessons",
1647
+ "value": [
1648
+ "object/get",
1649
+ [
1650
+ "array/first",
1651
+ "@entity"
1652
+ ],
1653
+ "totalLessons"
1654
+ ]
1655
+ },
1656
+ {
1657
+ "type": "stat-display",
1658
+ "label": "CompletedLessons",
1659
+ "value": [
1660
+ "object/get",
1661
+ [
1662
+ "array/first",
1663
+ "@entity"
1664
+ ],
1665
+ "completedLessons"
1666
+ ]
1667
+ },
1668
+ {
1669
+ "type": "stat-display",
1670
+ "label": "AverageScore",
1671
+ "value": [
1672
+ "object/get",
1673
+ [
1674
+ "array/first",
1675
+ "@entity"
1676
+ ],
1677
+ "averageScore"
1678
+ ]
1679
+ },
1680
+ {
1681
+ "type": "stat-display",
1682
+ "label": "Streak",
1683
+ "value": [
1684
+ "object/get",
1685
+ [
1686
+ "array/first",
1687
+ "@entity"
1688
+ ],
1689
+ "streak"
1690
+ ]
1691
+ }
1692
+ ]
1170
1693
  }
1171
1694
  ]
1172
- }
1173
- ]
1174
- },
1175
- {
1176
- "type": "card",
1177
- "children": [
1695
+ },
1178
1696
  {
1179
- "type": "stack",
1180
- "direction": "vertical",
1181
- "gap": "sm",
1697
+ "type": "divider"
1698
+ },
1699
+ {
1700
+ "type": "grid",
1701
+ "columns": 2,
1702
+ "gap": "md",
1182
1703
  "children": [
1183
1704
  {
1184
- "type": "typography",
1185
- "variant": "caption",
1186
- "content": "AverageScore"
1705
+ "type": "card",
1706
+ "children": [
1707
+ {
1708
+ "type": "typography",
1709
+ "variant": "caption",
1710
+ "content": "Chart View"
1711
+ }
1712
+ ]
1187
1713
  },
1188
1714
  {
1189
- "type": "typography",
1190
- "variant": "h3",
1191
- "content": "@entity.averageScore"
1715
+ "type": "card",
1716
+ "children": [
1717
+ {
1718
+ "type": "typography",
1719
+ "variant": "caption",
1720
+ "content": "Graph View"
1721
+ }
1722
+ ]
1192
1723
  }
1193
1724
  ]
1194
- }
1195
- ]
1196
- },
1197
- {
1198
- "type": "card",
1199
- "children": [
1725
+ },
1200
1726
  {
1201
- "type": "stack",
1202
- "direction": "vertical",
1203
- "gap": "sm",
1204
- "children": [
1727
+ "type": "line-chart",
1728
+ "data": [
1729
+ {
1730
+ "date": "Jan",
1731
+ "value": 12
1732
+ },
1733
+ {
1734
+ "date": "Feb",
1735
+ "value": 19
1736
+ },
1737
+ {
1738
+ "date": "Mar",
1739
+ "value": 15
1740
+ },
1741
+ {
1742
+ "date": "Apr",
1743
+ "value": 25
1744
+ },
1745
+ {
1746
+ "date": "May",
1747
+ "value": 22
1748
+ },
1749
+ {
1750
+ "date": "Jun",
1751
+ "value": 30
1752
+ }
1753
+ ],
1754
+ "xKey": "date",
1755
+ "yKey": "value",
1756
+ "title": "Trend"
1757
+ },
1758
+ {
1759
+ "type": "chart-legend",
1760
+ "items": [
1205
1761
  {
1206
- "type": "typography",
1207
- "variant": "caption",
1208
- "content": "Streak"
1762
+ "label": "Current",
1763
+ "color": "primary"
1209
1764
  },
1210
1765
  {
1211
- "type": "typography",
1212
- "variant": "h3",
1213
- "content": "@entity.streak"
1766
+ "label": "Previous",
1767
+ "color": "muted"
1214
1768
  }
1215
1769
  ]
1770
+ },
1771
+ {
1772
+ "type": "graph-view",
1773
+ "nodes": [
1774
+ {
1775
+ "id": "a",
1776
+ "label": "Start",
1777
+ "x": 50,
1778
+ "y": 100
1779
+ },
1780
+ {
1781
+ "id": "b",
1782
+ "label": "Process",
1783
+ "x": 200,
1784
+ "y": 50
1785
+ },
1786
+ {
1787
+ "id": "c",
1788
+ "label": "End",
1789
+ "x": 350,
1790
+ "y": 100
1791
+ }
1792
+ ],
1793
+ "edges": [
1794
+ {
1795
+ "from": "a",
1796
+ "to": "b"
1797
+ },
1798
+ {
1799
+ "from": "b",
1800
+ "to": "c"
1801
+ }
1802
+ ],
1803
+ "width": 400,
1804
+ "height": 200
1216
1805
  }
1217
1806
  ]
1218
1807
  }
@@ -1236,134 +1825,234 @@
1236
1825
  "render-ui",
1237
1826
  "main",
1238
1827
  {
1239
- "type": "stack",
1240
- "direction": "vertical",
1241
- "gap": "lg",
1828
+ "type": "game-shell",
1829
+ "appName": "Coding Academy",
1830
+ "showTopBar": true,
1242
1831
  "children": [
1243
1832
  {
1244
- "type": "stack",
1245
- "direction": "horizontal",
1246
- "gap": "md",
1247
- "justify": "space-between",
1833
+ "type": "scaled-diagram",
1248
1834
  "children": [
1249
1835
  {
1250
1836
  "type": "stack",
1251
- "direction": "horizontal",
1252
- "gap": "md",
1837
+ "direction": "vertical",
1838
+ "gap": "lg",
1253
1839
  "children": [
1254
1840
  {
1255
- "type": "icon",
1256
- "name": "trending-up",
1257
- "size": "lg"
1841
+ "type": "breadcrumb",
1842
+ "items": [
1843
+ {
1844
+ "label": "Home",
1845
+ "href": "/"
1846
+ },
1847
+ {
1848
+ "label": "Progress"
1849
+ }
1850
+ ]
1258
1851
  },
1259
- {
1260
- "type": "typography",
1261
- "content": "Progress",
1262
- "variant": "h2"
1263
- }
1264
- ]
1265
- },
1266
- {
1267
- "type": "button",
1268
- "label": "Refresh",
1269
- "event": "REFRESH",
1270
- "variant": "secondary",
1271
- "icon": "refresh-cw"
1272
- }
1273
- ]
1274
- },
1275
- {
1276
- "type": "divider"
1277
- },
1278
- {
1279
- "type": "simple-grid",
1280
- "columns": 3,
1281
- "children": [
1282
- {
1283
- "type": "card",
1284
- "children": [
1285
1852
  {
1286
1853
  "type": "stack",
1287
- "direction": "vertical",
1288
- "gap": "sm",
1854
+ "direction": "horizontal",
1855
+ "gap": "md",
1856
+ "justify": "space-between",
1289
1857
  "children": [
1290
1858
  {
1291
- "type": "typography",
1292
- "variant": "caption",
1293
- "content": "TotalLessons"
1859
+ "type": "stack",
1860
+ "direction": "horizontal",
1861
+ "gap": "md",
1862
+ "children": [
1863
+ {
1864
+ "type": "icon",
1865
+ "name": "trending-up",
1866
+ "size": "lg"
1867
+ },
1868
+ {
1869
+ "type": "typography",
1870
+ "content": "Progress",
1871
+ "variant": "h2"
1872
+ }
1873
+ ]
1294
1874
  },
1295
1875
  {
1296
- "type": "typography",
1297
- "variant": "h3",
1298
- "content": "@entity.totalLessons"
1876
+ "type": "button",
1877
+ "label": "Refresh",
1878
+ "event": "REFRESH",
1879
+ "variant": "secondary",
1880
+ "icon": "refresh-cw"
1299
1881
  }
1300
1882
  ]
1301
- }
1302
- ]
1303
- },
1304
- {
1305
- "type": "card",
1306
- "children": [
1883
+ },
1307
1884
  {
1308
- "type": "stack",
1309
- "direction": "vertical",
1310
- "gap": "sm",
1885
+ "type": "divider"
1886
+ },
1887
+ {
1888
+ "type": "box",
1889
+ "padding": "md",
1311
1890
  "children": [
1312
1891
  {
1313
- "type": "typography",
1314
- "variant": "caption",
1315
- "content": "CompletedLessons"
1316
- },
1317
- {
1318
- "type": "typography",
1319
- "variant": "h3",
1320
- "content": "@entity.completedLessons"
1892
+ "type": "simple-grid",
1893
+ "columns": 3,
1894
+ "children": [
1895
+ {
1896
+ "type": "stat-display",
1897
+ "label": "TotalLessons",
1898
+ "value": [
1899
+ "object/get",
1900
+ [
1901
+ "array/first",
1902
+ "@entity"
1903
+ ],
1904
+ "totalLessons"
1905
+ ]
1906
+ },
1907
+ {
1908
+ "type": "stat-display",
1909
+ "label": "CompletedLessons",
1910
+ "value": [
1911
+ "object/get",
1912
+ [
1913
+ "array/first",
1914
+ "@entity"
1915
+ ],
1916
+ "completedLessons"
1917
+ ]
1918
+ },
1919
+ {
1920
+ "type": "stat-display",
1921
+ "label": "AverageScore",
1922
+ "value": [
1923
+ "object/get",
1924
+ [
1925
+ "array/first",
1926
+ "@entity"
1927
+ ],
1928
+ "averageScore"
1929
+ ]
1930
+ },
1931
+ {
1932
+ "type": "stat-display",
1933
+ "label": "Streak",
1934
+ "value": [
1935
+ "object/get",
1936
+ [
1937
+ "array/first",
1938
+ "@entity"
1939
+ ],
1940
+ "streak"
1941
+ ]
1942
+ }
1943
+ ]
1321
1944
  }
1322
1945
  ]
1323
- }
1324
- ]
1325
- },
1326
- {
1327
- "type": "card",
1328
- "children": [
1946
+ },
1329
1947
  {
1330
- "type": "stack",
1331
- "direction": "vertical",
1332
- "gap": "sm",
1948
+ "type": "divider"
1949
+ },
1950
+ {
1951
+ "type": "grid",
1952
+ "columns": 2,
1953
+ "gap": "md",
1333
1954
  "children": [
1334
1955
  {
1335
- "type": "typography",
1336
- "variant": "caption",
1337
- "content": "AverageScore"
1956
+ "type": "card",
1957
+ "children": [
1958
+ {
1959
+ "type": "typography",
1960
+ "variant": "caption",
1961
+ "content": "Chart View"
1962
+ }
1963
+ ]
1338
1964
  },
1339
1965
  {
1340
- "type": "typography",
1341
- "variant": "h3",
1342
- "content": "@entity.averageScore"
1966
+ "type": "card",
1967
+ "children": [
1968
+ {
1969
+ "type": "typography",
1970
+ "variant": "caption",
1971
+ "content": "Graph View"
1972
+ }
1973
+ ]
1343
1974
  }
1344
1975
  ]
1345
- }
1346
- ]
1347
- },
1348
- {
1349
- "type": "card",
1350
- "children": [
1976
+ },
1351
1977
  {
1352
- "type": "stack",
1353
- "direction": "vertical",
1354
- "gap": "sm",
1355
- "children": [
1978
+ "type": "line-chart",
1979
+ "data": [
1980
+ {
1981
+ "date": "Jan",
1982
+ "value": 12
1983
+ },
1984
+ {
1985
+ "date": "Feb",
1986
+ "value": 19
1987
+ },
1356
1988
  {
1357
- "type": "typography",
1358
- "variant": "caption",
1359
- "content": "Streak"
1989
+ "date": "Mar",
1990
+ "value": 15
1360
1991
  },
1361
1992
  {
1362
- "type": "typography",
1363
- "variant": "h3",
1364
- "content": "@entity.streak"
1993
+ "date": "Apr",
1994
+ "value": 25
1995
+ },
1996
+ {
1997
+ "date": "May",
1998
+ "value": 22
1999
+ },
2000
+ {
2001
+ "date": "Jun",
2002
+ "value": 30
2003
+ }
2004
+ ],
2005
+ "xKey": "date",
2006
+ "yKey": "value",
2007
+ "title": "Trend"
2008
+ },
2009
+ {
2010
+ "type": "chart-legend",
2011
+ "items": [
2012
+ {
2013
+ "label": "Current",
2014
+ "color": "primary"
2015
+ },
2016
+ {
2017
+ "label": "Previous",
2018
+ "color": "muted"
1365
2019
  }
1366
2020
  ]
2021
+ },
2022
+ {
2023
+ "type": "graph-view",
2024
+ "nodes": [
2025
+ {
2026
+ "id": "a",
2027
+ "label": "Start",
2028
+ "x": 50,
2029
+ "y": 100
2030
+ },
2031
+ {
2032
+ "id": "b",
2033
+ "label": "Process",
2034
+ "x": 200,
2035
+ "y": 50
2036
+ },
2037
+ {
2038
+ "id": "c",
2039
+ "label": "End",
2040
+ "x": 350,
2041
+ "y": 100
2042
+ }
2043
+ ],
2044
+ "edges": [
2045
+ {
2046
+ "from": "a",
2047
+ "to": "b"
2048
+ },
2049
+ {
2050
+ "from": "b",
2051
+ "to": "c"
2052
+ }
2053
+ ],
2054
+ "width": 400,
2055
+ "height": 200
1367
2056
  }
1368
2057
  ]
1369
2058
  }