@almadar/std 6.5.2 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/behaviors/registry/atoms/std-agent-activity-log.orb +240 -227
  2. package/behaviors/registry/atoms/std-agent-chat-thread.orb +296 -199
  3. package/behaviors/registry/atoms/std-agent-classifier.orb +384 -133
  4. package/behaviors/registry/atoms/std-agent-completion.orb +404 -141
  5. package/behaviors/registry/atoms/std-agent-context-window.orb +904 -607
  6. package/behaviors/registry/atoms/std-agent-conversation.orb +443 -234
  7. package/behaviors/registry/atoms/std-agent-memory.orb +584 -150
  8. package/behaviors/registry/atoms/std-agent-provider.orb +431 -174
  9. package/behaviors/registry/atoms/std-agent-search.orb +217 -61
  10. package/behaviors/registry/atoms/std-agent-session.orb +406 -159
  11. package/behaviors/registry/atoms/std-agent-step-progress.orb +314 -294
  12. package/behaviors/registry/atoms/std-agent-token-gauge.orb +577 -500
  13. package/behaviors/registry/atoms/std-agent-tool-call.orb +328 -138
  14. package/behaviors/registry/atoms/std-async.orb +147 -86
  15. package/behaviors/registry/atoms/std-autoregressive.orb +64 -73
  16. package/behaviors/registry/atoms/std-browse.orb +260 -126
  17. package/behaviors/registry/atoms/std-cache-aside.orb +358 -259
  18. package/behaviors/registry/atoms/std-calendar.orb +280 -215
  19. package/behaviors/registry/atoms/std-circuit-breaker.orb +295 -234
  20. package/behaviors/registry/atoms/std-collision.orb +136 -135
  21. package/behaviors/registry/atoms/std-combat-log.orb +108 -90
  22. package/behaviors/registry/atoms/std-combat.orb +171 -98
  23. package/behaviors/registry/atoms/std-confirmation.orb +28 -300
  24. package/behaviors/registry/atoms/std-dialogue-box.orb +111 -30
  25. package/behaviors/registry/atoms/std-display.orb +491 -587
  26. package/behaviors/registry/atoms/std-drawer.orb +194 -121
  27. package/behaviors/registry/atoms/std-filter.orb +311 -326
  28. package/behaviors/registry/atoms/std-flip-card.orb +223 -177
  29. package/behaviors/registry/atoms/std-gallery.orb +130 -151
  30. package/behaviors/registry/atoms/std-game-audio.orb +133 -72
  31. package/behaviors/registry/atoms/std-game-canvas2d.orb +112 -52
  32. package/behaviors/registry/atoms/std-game-canvas3d.orb +150 -107
  33. package/behaviors/registry/atoms/std-game-hud.orb +87 -20
  34. package/behaviors/registry/atoms/std-game-menu.orb +32 -32
  35. package/behaviors/registry/atoms/std-game-over-screen.orb +100 -33
  36. package/behaviors/registry/atoms/std-gameflow.orb +147 -80
  37. package/behaviors/registry/atoms/std-input.orb +128 -393
  38. package/behaviors/registry/atoms/std-inventory-panel.orb +108 -71
  39. package/behaviors/registry/atoms/std-isometric-canvas.orb +156 -407
  40. package/behaviors/registry/atoms/std-loading.orb +127 -126
  41. package/behaviors/registry/atoms/std-modal.orb +30 -267
  42. package/behaviors/registry/atoms/std-movement.orb +391 -292
  43. package/behaviors/registry/atoms/std-notification.orb +133 -75
  44. package/behaviors/registry/atoms/std-overworld.orb +194 -121
  45. package/behaviors/registry/atoms/std-pagination.orb +120 -53
  46. package/behaviors/registry/atoms/std-physics2d.orb +94 -93
  47. package/behaviors/registry/atoms/std-platformer-canvas.orb +110 -98
  48. package/behaviors/registry/atoms/std-push.orb +172 -36
  49. package/behaviors/registry/atoms/std-quest.orb +552 -449
  50. package/behaviors/registry/atoms/std-rate-limiter.orb +242 -241
  51. package/behaviors/registry/atoms/std-rating.orb +123 -65
  52. package/behaviors/registry/atoms/std-related.orb +202 -26
  53. package/behaviors/registry/atoms/std-score-board.orb +109 -28
  54. package/behaviors/registry/atoms/std-score.orb +210 -146
  55. package/behaviors/registry/atoms/std-search.orb +265 -138
  56. package/behaviors/registry/atoms/std-selection.orb +311 -220
  57. package/behaviors/registry/atoms/std-service-custom-bearer.orb +199 -110
  58. package/behaviors/registry/atoms/std-service-custom-header.orb +206 -117
  59. package/behaviors/registry/atoms/std-service-custom-noauth.orb +197 -108
  60. package/behaviors/registry/atoms/std-service-custom-query.orb +193 -104
  61. package/behaviors/registry/atoms/std-service-email.orb +195 -107
  62. package/behaviors/registry/atoms/std-service-github.orb +216 -122
  63. package/behaviors/registry/atoms/std-service-llm.orb +204 -122
  64. package/behaviors/registry/atoms/std-service-oauth.orb +290 -204
  65. package/behaviors/registry/atoms/std-service-redis.orb +177 -92
  66. package/behaviors/registry/atoms/std-service-storage.orb +211 -122
  67. package/behaviors/registry/atoms/std-service-stripe.orb +236 -154
  68. package/behaviors/registry/atoms/std-service-twilio.orb +221 -137
  69. package/behaviors/registry/atoms/std-service-youtube.orb +327 -241
  70. package/behaviors/registry/atoms/std-simulation-canvas.orb +97 -36
  71. package/behaviors/registry/atoms/std-sort.orb +284 -207
  72. package/behaviors/registry/atoms/std-sprite.orb +150 -74
  73. package/behaviors/registry/atoms/std-tabs.orb +129 -62
  74. package/behaviors/registry/atoms/std-text-effects.orb +251 -190
  75. package/behaviors/registry/atoms/std-theme.orb +193 -135
  76. package/behaviors/registry/atoms/std-timer.orb +320 -344
  77. package/behaviors/registry/atoms/std-undo.orb +278 -199
  78. package/behaviors/registry/atoms/std-upload.orb +112 -111
  79. package/behaviors/registry/atoms/std-validate-on-save.orb +159 -151
  80. package/behaviors/registry/atoms/std-wizard.orb +445 -336
  81. package/behaviors/registry/molecules/std-agent-fix-loop.orb +876 -857
  82. package/behaviors/registry/molecules/std-agent-learner.orb +635 -654
  83. package/behaviors/registry/molecules/std-agent-planner.orb +581 -548
  84. package/behaviors/registry/molecules/std-agent-rag.orb +414 -410
  85. package/behaviors/registry/molecules/std-agent-tool-loop.orb +716 -711
  86. package/behaviors/registry/molecules/std-batch-selected-list.orb +28 -12
  87. package/behaviors/registry/molecules/std-builder-game.orb +86 -28
  88. package/behaviors/registry/molecules/std-calendar-booking.orb +32 -8
  89. package/behaviors/registry/molecules/std-cart.orb +347 -406
  90. package/behaviors/registry/molecules/std-classifier-game.orb +95 -37
  91. package/behaviors/registry/molecules/std-dashboard-tabbed.orb +16 -10
  92. package/behaviors/registry/molecules/std-debugger-game.orb +95 -37
  93. package/behaviors/registry/molecules/std-detail.orb +133 -138
  94. package/behaviors/registry/molecules/std-drawer-master-list.orb +12 -6
  95. package/behaviors/registry/molecules/std-event-handler-game.orb +91 -33
  96. package/behaviors/registry/molecules/std-filtered-list.orb +14 -8
  97. package/behaviors/registry/molecules/std-form-advanced.orb +242 -153
  98. package/behaviors/registry/molecules/std-gallery-filtered.orb +16 -10
  99. package/behaviors/registry/molecules/std-geospatial.orb +175 -122
  100. package/behaviors/registry/molecules/std-inventory.orb +216 -170
  101. package/behaviors/registry/molecules/std-list.orb +280 -205
  102. package/behaviors/registry/molecules/std-messaging.orb +146 -99
  103. package/behaviors/registry/molecules/std-negotiator-game.orb +95 -37
  104. package/behaviors/registry/molecules/std-platformer-game.orb +300 -171
  105. package/behaviors/registry/molecules/std-push-activity-log.orb +32 -8
  106. package/behaviors/registry/molecules/std-puzzle-game.orb +287 -146
  107. package/behaviors/registry/molecules/std-quiz.orb +322 -263
  108. package/behaviors/registry/molecules/std-related-master-detail.orb +21 -15
  109. package/behaviors/registry/molecules/std-sequencer-game.orb +92 -34
  110. package/behaviors/registry/molecules/std-service-content-pipeline.orb +268 -267
  111. package/behaviors/registry/molecules/std-service-custom-api-tester.orb +245 -152
  112. package/behaviors/registry/molecules/std-service-devops-toolkit.orb +633 -294
  113. package/behaviors/registry/molecules/std-service-notification-hub.orb +237 -152
  114. package/behaviors/registry/molecules/std-service-payment-flow.orb +310 -180
  115. package/behaviors/registry/molecules/std-simulator-game.orb +96 -38
  116. package/behaviors/registry/molecules/std-turn-based-battle.orb +247 -137
  117. package/behaviors/registry/molecules/std-wizard-form.orb +60 -9
  118. package/behaviors/registry/organisms/std-agent-assistant.orb +2810 -1833
  119. package/behaviors/registry/organisms/std-agent-builder.orb +6401 -4539
  120. package/behaviors/registry/organisms/std-agent-pipeline.orb +5028 -3497
  121. package/behaviors/registry/organisms/std-agent-reviewer.orb +2219 -1406
  122. package/behaviors/registry/organisms/std-agent-tutor.orb +2069 -1384
  123. package/behaviors/registry/organisms/std-api-gateway.orb +1419 -870
  124. package/behaviors/registry/organisms/std-arcade-game.orb +488 -231
  125. package/behaviors/registry/organisms/std-booking-system.orb +2457 -1467
  126. package/behaviors/registry/organisms/std-cicd-pipeline.orb +1367 -825
  127. package/behaviors/registry/organisms/std-cms.orb +1549 -566
  128. package/behaviors/registry/organisms/std-coding-academy.orb +744 -495
  129. package/behaviors/registry/organisms/std-crm.orb +1997 -1014
  130. package/behaviors/registry/organisms/std-devops-dashboard.orb +2160 -1606
  131. package/behaviors/registry/organisms/std-ecommerce.orb +2279 -1153
  132. package/behaviors/registry/organisms/std-finance-tracker.orb +1375 -727
  133. package/behaviors/registry/organisms/std-healthcare.orb +2940 -1703
  134. package/behaviors/registry/organisms/std-helpdesk.orb +1443 -781
  135. package/behaviors/registry/organisms/std-hr-portal.orb +2361 -1440
  136. package/behaviors/registry/organisms/std-iot-dashboard.orb +1491 -1026
  137. package/behaviors/registry/organisms/std-lms.orb +1629 -1046
  138. package/behaviors/registry/organisms/std-logic-training.orb +321 -134
  139. package/behaviors/registry/organisms/std-platformer-app.orb +855 -417
  140. package/behaviors/registry/organisms/std-project-manager.orb +1795 -877
  141. package/behaviors/registry/organisms/std-puzzle-app.orb +407 -206
  142. package/behaviors/registry/organisms/std-realtime-chat.orb +1436 -844
  143. package/behaviors/registry/organisms/std-rpg-game.orb +1522 -1007
  144. package/behaviors/registry/organisms/std-service-marketplace.orb +2110 -1204
  145. package/behaviors/registry/organisms/std-service-research-assistant.orb +1285 -1078
  146. package/behaviors/registry/organisms/std-social-feed.orb +612 -252
  147. package/behaviors/registry/organisms/std-stem-lab.orb +642 -450
  148. package/behaviors/registry/organisms/std-strategy-game.orb +893 -650
  149. package/behaviors/registry/organisms/std-trading-dashboard.orb +1271 -805
  150. package/dist/behaviors/registry/atoms/std-agent-activity-log.orb +240 -227
  151. package/dist/behaviors/registry/atoms/std-agent-chat-thread.orb +296 -199
  152. package/dist/behaviors/registry/atoms/std-agent-classifier.orb +384 -133
  153. package/dist/behaviors/registry/atoms/std-agent-completion.orb +404 -141
  154. package/dist/behaviors/registry/atoms/std-agent-context-window.orb +904 -607
  155. package/dist/behaviors/registry/atoms/std-agent-conversation.orb +443 -234
  156. package/dist/behaviors/registry/atoms/std-agent-memory.orb +584 -150
  157. package/dist/behaviors/registry/atoms/std-agent-provider.orb +431 -174
  158. package/dist/behaviors/registry/atoms/std-agent-search.orb +217 -61
  159. package/dist/behaviors/registry/atoms/std-agent-session.orb +406 -159
  160. package/dist/behaviors/registry/atoms/std-agent-step-progress.orb +314 -294
  161. package/dist/behaviors/registry/atoms/std-agent-token-gauge.orb +577 -500
  162. package/dist/behaviors/registry/atoms/std-agent-tool-call.orb +328 -138
  163. package/dist/behaviors/registry/atoms/std-async.orb +147 -86
  164. package/dist/behaviors/registry/atoms/std-autoregressive.orb +64 -73
  165. package/dist/behaviors/registry/atoms/std-browse.orb +260 -126
  166. package/dist/behaviors/registry/atoms/std-cache-aside.orb +358 -259
  167. package/dist/behaviors/registry/atoms/std-calendar.orb +280 -215
  168. package/dist/behaviors/registry/atoms/std-circuit-breaker.orb +295 -234
  169. package/dist/behaviors/registry/atoms/std-collision.orb +136 -135
  170. package/dist/behaviors/registry/atoms/std-combat-log.orb +108 -90
  171. package/dist/behaviors/registry/atoms/std-combat.orb +171 -98
  172. package/dist/behaviors/registry/atoms/std-confirmation.orb +28 -300
  173. package/dist/behaviors/registry/atoms/std-dialogue-box.orb +111 -30
  174. package/dist/behaviors/registry/atoms/std-display.orb +491 -587
  175. package/dist/behaviors/registry/atoms/std-drawer.orb +194 -121
  176. package/dist/behaviors/registry/atoms/std-filter.orb +311 -326
  177. package/dist/behaviors/registry/atoms/std-flip-card.orb +223 -177
  178. package/dist/behaviors/registry/atoms/std-gallery.orb +130 -151
  179. package/dist/behaviors/registry/atoms/std-game-audio.orb +133 -72
  180. package/dist/behaviors/registry/atoms/std-game-canvas2d.orb +112 -52
  181. package/dist/behaviors/registry/atoms/std-game-canvas3d.orb +150 -107
  182. package/dist/behaviors/registry/atoms/std-game-hud.orb +87 -20
  183. package/dist/behaviors/registry/atoms/std-game-menu.orb +32 -32
  184. package/dist/behaviors/registry/atoms/std-game-over-screen.orb +100 -33
  185. package/dist/behaviors/registry/atoms/std-gameflow.orb +147 -80
  186. package/dist/behaviors/registry/atoms/std-input.orb +128 -393
  187. package/dist/behaviors/registry/atoms/std-inventory-panel.orb +108 -71
  188. package/dist/behaviors/registry/atoms/std-isometric-canvas.orb +156 -407
  189. package/dist/behaviors/registry/atoms/std-loading.orb +127 -126
  190. package/dist/behaviors/registry/atoms/std-modal.orb +30 -267
  191. package/dist/behaviors/registry/atoms/std-movement.orb +391 -292
  192. package/dist/behaviors/registry/atoms/std-notification.orb +133 -75
  193. package/dist/behaviors/registry/atoms/std-overworld.orb +194 -121
  194. package/dist/behaviors/registry/atoms/std-pagination.orb +120 -53
  195. package/dist/behaviors/registry/atoms/std-physics2d.orb +94 -93
  196. package/dist/behaviors/registry/atoms/std-platformer-canvas.orb +110 -98
  197. package/dist/behaviors/registry/atoms/std-push.orb +172 -36
  198. package/dist/behaviors/registry/atoms/std-quest.orb +552 -449
  199. package/dist/behaviors/registry/atoms/std-rate-limiter.orb +242 -241
  200. package/dist/behaviors/registry/atoms/std-rating.orb +123 -65
  201. package/dist/behaviors/registry/atoms/std-related.orb +202 -26
  202. package/dist/behaviors/registry/atoms/std-score-board.orb +109 -28
  203. package/dist/behaviors/registry/atoms/std-score.orb +210 -146
  204. package/dist/behaviors/registry/atoms/std-search.orb +265 -138
  205. package/dist/behaviors/registry/atoms/std-selection.orb +311 -220
  206. package/dist/behaviors/registry/atoms/std-service-custom-bearer.orb +199 -110
  207. package/dist/behaviors/registry/atoms/std-service-custom-header.orb +206 -117
  208. package/dist/behaviors/registry/atoms/std-service-custom-noauth.orb +197 -108
  209. package/dist/behaviors/registry/atoms/std-service-custom-query.orb +193 -104
  210. package/dist/behaviors/registry/atoms/std-service-email.orb +195 -107
  211. package/dist/behaviors/registry/atoms/std-service-github.orb +216 -122
  212. package/dist/behaviors/registry/atoms/std-service-llm.orb +204 -122
  213. package/dist/behaviors/registry/atoms/std-service-oauth.orb +290 -204
  214. package/dist/behaviors/registry/atoms/std-service-redis.orb +177 -92
  215. package/dist/behaviors/registry/atoms/std-service-storage.orb +211 -122
  216. package/dist/behaviors/registry/atoms/std-service-stripe.orb +236 -154
  217. package/dist/behaviors/registry/atoms/std-service-twilio.orb +221 -137
  218. package/dist/behaviors/registry/atoms/std-service-youtube.orb +327 -241
  219. package/dist/behaviors/registry/atoms/std-simulation-canvas.orb +97 -36
  220. package/dist/behaviors/registry/atoms/std-sort.orb +284 -207
  221. package/dist/behaviors/registry/atoms/std-sprite.orb +150 -74
  222. package/dist/behaviors/registry/atoms/std-tabs.orb +129 -62
  223. package/dist/behaviors/registry/atoms/std-text-effects.orb +251 -190
  224. package/dist/behaviors/registry/atoms/std-theme.orb +193 -135
  225. package/dist/behaviors/registry/atoms/std-timer.orb +320 -344
  226. package/dist/behaviors/registry/atoms/std-undo.orb +278 -199
  227. package/dist/behaviors/registry/atoms/std-upload.orb +112 -111
  228. package/dist/behaviors/registry/atoms/std-validate-on-save.orb +159 -151
  229. package/dist/behaviors/registry/atoms/std-wizard.orb +445 -336
  230. package/dist/behaviors/registry/molecules/std-agent-fix-loop.orb +876 -857
  231. package/dist/behaviors/registry/molecules/std-agent-learner.orb +635 -654
  232. package/dist/behaviors/registry/molecules/std-agent-planner.orb +581 -548
  233. package/dist/behaviors/registry/molecules/std-agent-rag.orb +414 -410
  234. package/dist/behaviors/registry/molecules/std-agent-tool-loop.orb +716 -711
  235. package/dist/behaviors/registry/molecules/std-batch-selected-list.orb +28 -12
  236. package/dist/behaviors/registry/molecules/std-builder-game.orb +86 -28
  237. package/dist/behaviors/registry/molecules/std-calendar-booking.orb +32 -8
  238. package/dist/behaviors/registry/molecules/std-cart.orb +347 -406
  239. package/dist/behaviors/registry/molecules/std-classifier-game.orb +95 -37
  240. package/dist/behaviors/registry/molecules/std-dashboard-tabbed.orb +16 -10
  241. package/dist/behaviors/registry/molecules/std-debugger-game.orb +95 -37
  242. package/dist/behaviors/registry/molecules/std-detail.orb +133 -138
  243. package/dist/behaviors/registry/molecules/std-drawer-master-list.orb +12 -6
  244. package/dist/behaviors/registry/molecules/std-event-handler-game.orb +91 -33
  245. package/dist/behaviors/registry/molecules/std-filtered-list.orb +14 -8
  246. package/dist/behaviors/registry/molecules/std-form-advanced.orb +242 -153
  247. package/dist/behaviors/registry/molecules/std-gallery-filtered.orb +16 -10
  248. package/dist/behaviors/registry/molecules/std-geospatial.orb +175 -122
  249. package/dist/behaviors/registry/molecules/std-inventory.orb +216 -170
  250. package/dist/behaviors/registry/molecules/std-list.orb +280 -205
  251. package/dist/behaviors/registry/molecules/std-messaging.orb +146 -99
  252. package/dist/behaviors/registry/molecules/std-negotiator-game.orb +95 -37
  253. package/dist/behaviors/registry/molecules/std-platformer-game.orb +300 -171
  254. package/dist/behaviors/registry/molecules/std-push-activity-log.orb +32 -8
  255. package/dist/behaviors/registry/molecules/std-puzzle-game.orb +287 -146
  256. package/dist/behaviors/registry/molecules/std-quiz.orb +322 -263
  257. package/dist/behaviors/registry/molecules/std-related-master-detail.orb +21 -15
  258. package/dist/behaviors/registry/molecules/std-sequencer-game.orb +92 -34
  259. package/dist/behaviors/registry/molecules/std-service-content-pipeline.orb +268 -267
  260. package/dist/behaviors/registry/molecules/std-service-custom-api-tester.orb +245 -152
  261. package/dist/behaviors/registry/molecules/std-service-devops-toolkit.orb +633 -294
  262. package/dist/behaviors/registry/molecules/std-service-notification-hub.orb +237 -152
  263. package/dist/behaviors/registry/molecules/std-service-payment-flow.orb +310 -180
  264. package/dist/behaviors/registry/molecules/std-simulator-game.orb +96 -38
  265. package/dist/behaviors/registry/molecules/std-turn-based-battle.orb +247 -137
  266. package/dist/behaviors/registry/molecules/std-wizard-form.orb +60 -9
  267. package/dist/behaviors/registry/organisms/std-agent-assistant.orb +2810 -1833
  268. package/dist/behaviors/registry/organisms/std-agent-builder.orb +6401 -4539
  269. package/dist/behaviors/registry/organisms/std-agent-pipeline.orb +5028 -3497
  270. package/dist/behaviors/registry/organisms/std-agent-reviewer.orb +2219 -1406
  271. package/dist/behaviors/registry/organisms/std-agent-tutor.orb +2069 -1384
  272. package/dist/behaviors/registry/organisms/std-api-gateway.orb +1419 -870
  273. package/dist/behaviors/registry/organisms/std-arcade-game.orb +488 -231
  274. package/dist/behaviors/registry/organisms/std-booking-system.orb +2457 -1467
  275. package/dist/behaviors/registry/organisms/std-cicd-pipeline.orb +1367 -825
  276. package/dist/behaviors/registry/organisms/std-cms.orb +1549 -566
  277. package/dist/behaviors/registry/organisms/std-coding-academy.orb +744 -495
  278. package/dist/behaviors/registry/organisms/std-crm.orb +1997 -1014
  279. package/dist/behaviors/registry/organisms/std-devops-dashboard.orb +2160 -1606
  280. package/dist/behaviors/registry/organisms/std-ecommerce.orb +2279 -1153
  281. package/dist/behaviors/registry/organisms/std-finance-tracker.orb +1375 -727
  282. package/dist/behaviors/registry/organisms/std-healthcare.orb +2940 -1703
  283. package/dist/behaviors/registry/organisms/std-helpdesk.orb +1443 -781
  284. package/dist/behaviors/registry/organisms/std-hr-portal.orb +2361 -1440
  285. package/dist/behaviors/registry/organisms/std-iot-dashboard.orb +1491 -1026
  286. package/dist/behaviors/registry/organisms/std-lms.orb +1629 -1046
  287. package/dist/behaviors/registry/organisms/std-logic-training.orb +321 -134
  288. package/dist/behaviors/registry/organisms/std-platformer-app.orb +855 -417
  289. package/dist/behaviors/registry/organisms/std-project-manager.orb +1795 -877
  290. package/dist/behaviors/registry/organisms/std-puzzle-app.orb +407 -206
  291. package/dist/behaviors/registry/organisms/std-realtime-chat.orb +1436 -844
  292. package/dist/behaviors/registry/organisms/std-rpg-game.orb +1522 -1007
  293. package/dist/behaviors/registry/organisms/std-service-marketplace.orb +2110 -1204
  294. package/dist/behaviors/registry/organisms/std-service-research-assistant.orb +1285 -1078
  295. package/dist/behaviors/registry/organisms/std-social-feed.orb +612 -252
  296. package/dist/behaviors/registry/organisms/std-stem-lab.orb +642 -450
  297. package/dist/behaviors/registry/organisms/std-strategy-game.orb +893 -650
  298. package/dist/behaviors/registry/organisms/std-trading-dashboard.orb +1271 -805
  299. package/dist/index.js +16 -4
  300. package/dist/index.js.map +1 -1
  301. package/dist/modules/core.js +16 -4
  302. package/dist/modules/core.js.map +1 -1
  303. package/dist/modules/index.js +16 -4
  304. package/dist/modules/index.js.map +1 -1
  305. package/dist/registry.js +16 -4
  306. package/dist/registry.js.map +1 -1
  307. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-coding-academy",
3
3
  "version": "1.0.0",
4
- "description": "Coding academy organism. Composes: stdSequencerGame(SeqChallenge) + stdBuilderGame(BuildChallenge) + stdEventHandlerGame(EventChallenge) + stdDisplay(StudentProgress)",
4
+ "description": "std-coding-academy as a Function",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "SeqChallengeOrbital",
@@ -27,7 +27,7 @@
27
27
  {
28
28
  "name": "score",
29
29
  "type": "number",
30
- "default": 0
30
+ "default": 0.0
31
31
  },
32
32
  {
33
33
  "name": "completed",
@@ -37,25 +37,61 @@
37
37
  {
38
38
  "name": "level",
39
39
  "type": "number",
40
- "default": 1
41
- }
42
- ],
43
- "instances": [
44
- {
45
- "id": "game-1",
46
- "name": "Sequencer Session",
47
- "description": "Active game session",
48
- "status": "active",
49
- "score": 0,
50
- "level": 1
40
+ "default": 1.0
51
41
  }
52
42
  ]
53
43
  },
54
44
  "traits": [
55
45
  {
56
46
  "name": "SeqChallengeSequencerGame",
57
- "linkedEntity": "SeqChallenge",
58
47
  "category": "interaction",
48
+ "linkedEntity": "SeqChallenge",
49
+ "emits": [
50
+ {
51
+ "event": "SeqChallengeLoaded",
52
+ "description": "Fired when SeqChallenge finishes loading",
53
+ "scope": "internal",
54
+ "payload": [
55
+ {
56
+ "name": "id",
57
+ "type": "string",
58
+ "required": true
59
+ },
60
+ {
61
+ "name": "title",
62
+ "type": "string",
63
+ "required": true
64
+ },
65
+ {
66
+ "name": "difficulty",
67
+ "type": "string"
68
+ },
69
+ {
70
+ "name": "score",
71
+ "type": "number"
72
+ },
73
+ {
74
+ "name": "completed",
75
+ "type": "boolean"
76
+ },
77
+ {
78
+ "name": "level",
79
+ "type": "number"
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "event": "SeqChallengeLoadFailed",
85
+ "description": "Fired when SeqChallenge fails to load",
86
+ "scope": "internal",
87
+ "payload": [
88
+ {
89
+ "name": "message",
90
+ "type": "string"
91
+ }
92
+ ]
93
+ }
94
+ ],
59
95
  "stateMachine": {
60
96
  "states": [
61
97
  {
@@ -78,6 +114,10 @@
78
114
  "key": "START",
79
115
  "name": "Start"
80
116
  },
117
+ {
118
+ "key": "NAVIGATE",
119
+ "name": "Navigate"
120
+ },
81
121
  {
82
122
  "key": "COMPLETE",
83
123
  "name": "Complete"
@@ -87,8 +127,18 @@
87
127
  "name": "Restart"
88
128
  },
89
129
  {
90
- "key": "NAVIGATE",
91
- "name": "Navigate"
130
+ "key": "SeqChallengeLoaded",
131
+ "name": "SeqChallenge loaded"
132
+ },
133
+ {
134
+ "key": "SeqChallengeLoadFailed",
135
+ "name": "SeqChallenge load failed",
136
+ "payload": [
137
+ {
138
+ "name": "message",
139
+ "type": "string"
140
+ }
141
+ ]
92
142
  }
93
143
  ],
94
144
  "transitions": [
@@ -99,28 +149,34 @@
99
149
  "effects": [
100
150
  [
101
151
  "fetch",
102
- "SeqChallenge"
152
+ "SeqChallenge",
153
+ {
154
+ "emit": {
155
+ "success": "SeqChallengeLoaded",
156
+ "failure": "SeqChallengeLoadFailed"
157
+ }
158
+ }
103
159
  ],
104
160
  [
105
161
  "render-ui",
106
162
  "main",
107
163
  {
108
164
  "type": "game-shell",
109
- "appName": "Coding Academy",
110
165
  "showTopBar": true,
111
166
  "children": [
112
167
  {
113
- "type": "game-menu",
114
- "title": "Sequencer Challenge",
115
168
  "menuItems": [
116
169
  {
170
+ "variant": "primary",
117
171
  "label": "Start",
118
- "event": "START",
119
- "variant": "primary"
172
+ "event": "START"
120
173
  }
121
- ]
174
+ ],
175
+ "title": "Sequencer Challenge",
176
+ "type": "game-menu"
122
177
  }
123
- ]
178
+ ],
179
+ "appName": "Coding Academy"
124
180
  }
125
181
  ]
126
182
  ]
@@ -134,27 +190,25 @@
134
190
  "render-ui",
135
191
  "main",
136
192
  {
137
- "type": "game-shell",
138
- "appName": "Coding Academy",
139
193
  "showTopBar": true,
140
194
  "children": [
141
195
  {
196
+ "gap": "md",
142
197
  "type": "stack",
143
198
  "direction": "vertical",
144
- "gap": "md",
145
199
  "children": [
146
200
  {
147
- "type": "game-hud",
148
201
  "stats": [
149
202
  {
150
203
  "label": "Score",
151
204
  "value": "@entity.score"
152
205
  },
153
206
  {
154
- "label": "Level",
155
- "value": "@entity.level"
207
+ "value": "@entity.level",
208
+ "label": "Level"
156
209
  }
157
- ]
210
+ ],
211
+ "type": "game-hud"
158
212
  },
159
213
  {
160
214
  "type": "sequencer-board",
@@ -163,7 +217,9 @@
163
217
  }
164
218
  ]
165
219
  }
166
- ]
220
+ ],
221
+ "type": "game-shell",
222
+ "appName": "Coding Academy"
167
223
  }
168
224
  ]
169
225
  ]
@@ -171,8 +227,7 @@
171
227
  {
172
228
  "from": "menu",
173
229
  "to": "menu",
174
- "event": "NAVIGATE",
175
- "effects": []
230
+ "event": "NAVIGATE"
176
231
  },
177
232
  {
178
233
  "from": "playing",
@@ -184,21 +239,21 @@
184
239
  "main",
185
240
  {
186
241
  "type": "game-shell",
187
- "appName": "Coding Academy",
188
- "showTopBar": true,
189
242
  "children": [
190
243
  {
191
- "type": "game-over-screen",
192
- "title": "Well Done!",
193
244
  "menuItems": [
194
245
  {
195
- "label": "Play Again",
196
246
  "event": "RESTART",
197
- "variant": "primary"
247
+ "variant": "primary",
248
+ "label": "Play Again"
198
249
  }
199
- ]
250
+ ],
251
+ "title": "Well Done!",
252
+ "type": "game-over-screen"
200
253
  }
201
- ]
254
+ ],
255
+ "appName": "Coding Academy",
256
+ "showTopBar": true
202
257
  }
203
258
  ]
204
259
  ]
@@ -213,34 +268,34 @@
213
268
  "main",
214
269
  {
215
270
  "type": "game-shell",
216
- "appName": "Coding Academy",
217
- "showTopBar": true,
218
271
  "children": [
219
272
  {
220
273
  "type": "game-menu",
221
274
  "title": "Sequencer Challenge",
222
275
  "menuItems": [
223
276
  {
224
- "label": "Start",
225
277
  "event": "START",
278
+ "label": "Start",
226
279
  "variant": "primary"
227
280
  }
228
281
  ]
229
282
  }
230
- ]
283
+ ],
284
+ "appName": "Coding Academy",
285
+ "showTopBar": true
231
286
  }
232
287
  ]
233
288
  ]
234
289
  }
235
290
  ]
236
- }
291
+ },
292
+ "scope": "collection"
237
293
  }
238
294
  ],
239
295
  "pages": [
240
296
  {
241
297
  "name": "SequencerPage",
242
298
  "path": "/sequencer",
243
- "isInitial": true,
244
299
  "traits": [
245
300
  {
246
301
  "ref": "SeqChallengeSequencerGame"
@@ -273,7 +328,7 @@
273
328
  {
274
329
  "name": "score",
275
330
  "type": "number",
276
- "default": 0
331
+ "default": 0.0
277
332
  },
278
333
  {
279
334
  "name": "completed",
@@ -283,25 +338,61 @@
283
338
  {
284
339
  "name": "level",
285
340
  "type": "number",
286
- "default": 1
287
- }
288
- ],
289
- "instances": [
290
- {
291
- "id": "game-1",
292
- "name": "Builder Session",
293
- "description": "Active game session",
294
- "status": "active",
295
- "score": 0,
296
- "level": 1
341
+ "default": 1.0
297
342
  }
298
343
  ]
299
344
  },
300
345
  "traits": [
301
346
  {
302
347
  "name": "BuildChallengeBuilderGame",
303
- "linkedEntity": "BuildChallenge",
304
348
  "category": "interaction",
349
+ "linkedEntity": "BuildChallenge",
350
+ "emits": [
351
+ {
352
+ "event": "BuildChallengeLoaded",
353
+ "description": "Fired when BuildChallenge finishes loading",
354
+ "scope": "internal",
355
+ "payload": [
356
+ {
357
+ "name": "id",
358
+ "type": "string",
359
+ "required": true
360
+ },
361
+ {
362
+ "name": "title",
363
+ "type": "string",
364
+ "required": true
365
+ },
366
+ {
367
+ "name": "difficulty",
368
+ "type": "string"
369
+ },
370
+ {
371
+ "name": "score",
372
+ "type": "number"
373
+ },
374
+ {
375
+ "name": "completed",
376
+ "type": "boolean"
377
+ },
378
+ {
379
+ "name": "level",
380
+ "type": "number"
381
+ }
382
+ ]
383
+ },
384
+ {
385
+ "event": "BuildChallengeLoadFailed",
386
+ "description": "Fired when BuildChallenge fails to load",
387
+ "scope": "internal",
388
+ "payload": [
389
+ {
390
+ "name": "message",
391
+ "type": "string"
392
+ }
393
+ ]
394
+ }
395
+ ],
305
396
  "stateMachine": {
306
397
  "states": [
307
398
  {
@@ -324,6 +415,10 @@
324
415
  "key": "START",
325
416
  "name": "Start"
326
417
  },
418
+ {
419
+ "key": "NAVIGATE",
420
+ "name": "Navigate"
421
+ },
327
422
  {
328
423
  "key": "COMPLETE",
329
424
  "name": "Complete"
@@ -333,8 +428,18 @@
333
428
  "name": "Restart"
334
429
  },
335
430
  {
336
- "key": "NAVIGATE",
337
- "name": "Navigate"
431
+ "key": "BuildChallengeLoaded",
432
+ "name": "BuildChallenge loaded"
433
+ },
434
+ {
435
+ "key": "BuildChallengeLoadFailed",
436
+ "name": "BuildChallenge load failed",
437
+ "payload": [
438
+ {
439
+ "name": "message",
440
+ "type": "string"
441
+ }
442
+ ]
338
443
  }
339
444
  ],
340
445
  "transitions": [
@@ -345,7 +450,13 @@
345
450
  "effects": [
346
451
  [
347
452
  "fetch",
348
- "BuildChallenge"
453
+ "BuildChallenge",
454
+ {
455
+ "emit": {
456
+ "failure": "BuildChallengeLoadFailed",
457
+ "success": "BuildChallengeLoaded"
458
+ }
459
+ }
349
460
  ],
350
461
  [
351
462
  "render-ui",
@@ -353,20 +464,20 @@
353
464
  {
354
465
  "type": "game-shell",
355
466
  "appName": "Coding Academy",
356
- "showTopBar": true,
357
467
  "children": [
358
468
  {
359
469
  "type": "game-menu",
360
470
  "title": "Builder Challenge",
361
471
  "menuItems": [
362
472
  {
473
+ "variant": "primary",
363
474
  "label": "Start",
364
- "event": "START",
365
- "variant": "primary"
475
+ "event": "START"
366
476
  }
367
477
  ]
368
478
  }
369
- ]
479
+ ],
480
+ "showTopBar": true
370
481
  }
371
482
  ]
372
483
  ]
@@ -381,35 +492,35 @@
381
492
  "main",
382
493
  {
383
494
  "type": "game-shell",
384
- "appName": "Coding Academy",
385
- "showTopBar": true,
386
495
  "children": [
387
496
  {
388
- "type": "stack",
389
- "direction": "vertical",
390
- "gap": "md",
391
497
  "children": [
392
498
  {
393
- "type": "game-hud",
394
499
  "stats": [
395
500
  {
396
- "label": "Score",
397
- "value": "@entity.score"
501
+ "value": "@entity.score",
502
+ "label": "Score"
398
503
  },
399
504
  {
400
- "label": "Level",
401
- "value": "@entity.level"
505
+ "value": "@entity.level",
506
+ "label": "Level"
402
507
  }
403
- ]
508
+ ],
509
+ "type": "game-hud"
404
510
  },
405
511
  {
512
+ "completeEvent": "COMPLETE",
406
513
  "type": "builder-board",
407
- "entity": "BuildChallenge",
408
- "completeEvent": "COMPLETE"
514
+ "entity": "BuildChallenge"
409
515
  }
410
- ]
516
+ ],
517
+ "type": "stack",
518
+ "direction": "vertical",
519
+ "gap": "md"
411
520
  }
412
- ]
521
+ ],
522
+ "appName": "Coding Academy",
523
+ "showTopBar": true
413
524
  }
414
525
  ]
415
526
  ]
@@ -417,8 +528,7 @@
417
528
  {
418
529
  "from": "menu",
419
530
  "to": "menu",
420
- "event": "NAVIGATE",
421
- "effects": []
531
+ "event": "NAVIGATE"
422
532
  },
423
533
  {
424
534
  "from": "playing",
@@ -429,9 +539,6 @@
429
539
  "render-ui",
430
540
  "main",
431
541
  {
432
- "type": "game-shell",
433
- "appName": "Coding Academy",
434
- "showTopBar": true,
435
542
  "children": [
436
543
  {
437
544
  "type": "game-over-screen",
@@ -444,7 +551,10 @@
444
551
  }
445
552
  ]
446
553
  }
447
- ]
554
+ ],
555
+ "type": "game-shell",
556
+ "showTopBar": true,
557
+ "appName": "Coding Academy"
448
558
  }
449
559
  ]
450
560
  ]
@@ -458,33 +568,34 @@
458
568
  "render-ui",
459
569
  "main",
460
570
  {
461
- "type": "game-shell",
462
- "appName": "Coding Academy",
463
- "showTopBar": true,
464
571
  "children": [
465
572
  {
466
573
  "type": "game-menu",
467
- "title": "Builder Challenge",
468
574
  "menuItems": [
469
575
  {
470
- "label": "Start",
471
576
  "event": "START",
577
+ "label": "Start",
472
578
  "variant": "primary"
473
579
  }
474
- ]
580
+ ],
581
+ "title": "Builder Challenge"
475
582
  }
476
- ]
583
+ ],
584
+ "appName": "Coding Academy",
585
+ "showTopBar": true,
586
+ "type": "game-shell"
477
587
  }
478
588
  ]
479
589
  ]
480
590
  }
481
591
  ]
482
- }
592
+ },
593
+ "scope": "collection"
483
594
  }
484
595
  ],
485
596
  "pages": [
486
597
  {
487
- "name": "BuilderPage",
598
+ "name": "Builder",
488
599
  "path": "/builder",
489
600
  "traits": [
490
601
  {
@@ -518,7 +629,7 @@
518
629
  {
519
630
  "name": "score",
520
631
  "type": "number",
521
- "default": 0
632
+ "default": 0.0
522
633
  },
523
634
  {
524
635
  "name": "completed",
@@ -528,25 +639,61 @@
528
639
  {
529
640
  "name": "level",
530
641
  "type": "number",
531
- "default": 1
532
- }
533
- ],
534
- "instances": [
535
- {
536
- "id": "game-1",
537
- "name": "Event Handler Session",
538
- "description": "Active game session",
539
- "status": "active",
540
- "score": 0,
541
- "level": 1
642
+ "default": 1.0
542
643
  }
543
644
  ]
544
645
  },
545
646
  "traits": [
546
647
  {
547
648
  "name": "EventChallengeEventHandlerGame",
548
- "linkedEntity": "EventChallenge",
549
649
  "category": "interaction",
650
+ "linkedEntity": "EventChallenge",
651
+ "emits": [
652
+ {
653
+ "event": "EventChallengeLoaded",
654
+ "description": "Fired when EventChallenge finishes loading",
655
+ "scope": "internal",
656
+ "payload": [
657
+ {
658
+ "name": "id",
659
+ "type": "string",
660
+ "required": true
661
+ },
662
+ {
663
+ "name": "title",
664
+ "type": "string",
665
+ "required": true
666
+ },
667
+ {
668
+ "name": "difficulty",
669
+ "type": "string"
670
+ },
671
+ {
672
+ "name": "score",
673
+ "type": "number"
674
+ },
675
+ {
676
+ "name": "completed",
677
+ "type": "boolean"
678
+ },
679
+ {
680
+ "name": "level",
681
+ "type": "number"
682
+ }
683
+ ]
684
+ },
685
+ {
686
+ "event": "EventChallengeLoadFailed",
687
+ "description": "Fired when EventChallenge fails to load",
688
+ "scope": "internal",
689
+ "payload": [
690
+ {
691
+ "name": "message",
692
+ "type": "string"
693
+ }
694
+ ]
695
+ }
696
+ ],
550
697
  "stateMachine": {
551
698
  "states": [
552
699
  {
@@ -569,6 +716,10 @@
569
716
  "key": "START",
570
717
  "name": "Start"
571
718
  },
719
+ {
720
+ "key": "NAVIGATE",
721
+ "name": "Navigate"
722
+ },
572
723
  {
573
724
  "key": "COMPLETE",
574
725
  "name": "Complete"
@@ -578,8 +729,18 @@
578
729
  "name": "Restart"
579
730
  },
580
731
  {
581
- "key": "NAVIGATE",
582
- "name": "Navigate"
732
+ "key": "EventChallengeLoaded",
733
+ "name": "EventChallenge loaded"
734
+ },
735
+ {
736
+ "key": "EventChallengeLoadFailed",
737
+ "name": "EventChallenge load failed",
738
+ "payload": [
739
+ {
740
+ "name": "message",
741
+ "type": "string"
742
+ }
743
+ ]
583
744
  }
584
745
  ],
585
746
  "transitions": [
@@ -590,19 +751,24 @@
590
751
  "effects": [
591
752
  [
592
753
  "fetch",
593
- "EventChallenge"
754
+ "EventChallenge",
755
+ {
756
+ "emit": {
757
+ "failure": "EventChallengeLoadFailed",
758
+ "success": "EventChallengeLoaded"
759
+ }
760
+ }
594
761
  ],
595
762
  [
596
763
  "render-ui",
597
764
  "main",
598
765
  {
599
- "type": "game-shell",
600
- "appName": "Coding Academy",
601
766
  "showTopBar": true,
767
+ "type": "game-shell",
602
768
  "children": [
603
769
  {
604
- "type": "game-menu",
605
770
  "title": "Event Handler Challenge",
771
+ "type": "game-menu",
606
772
  "menuItems": [
607
773
  {
608
774
  "label": "Start",
@@ -611,7 +777,8 @@
611
777
  }
612
778
  ]
613
779
  }
614
- ]
780
+ ],
781
+ "appName": "Coding Academy"
615
782
  }
616
783
  ]
617
784
  ]
@@ -630,7 +797,6 @@
630
797
  "showTopBar": true,
631
798
  "children": [
632
799
  {
633
- "type": "stack",
634
800
  "direction": "vertical",
635
801
  "gap": "md",
636
802
  "children": [
@@ -638,8 +804,8 @@
638
804
  "type": "game-hud",
639
805
  "stats": [
640
806
  {
641
- "label": "Score",
642
- "value": "@entity.score"
807
+ "value": "@entity.score",
808
+ "label": "Score"
643
809
  },
644
810
  {
645
811
  "label": "Level",
@@ -648,11 +814,12 @@
648
814
  ]
649
815
  },
650
816
  {
651
- "type": "event-handler-board",
652
817
  "entity": "EventChallenge",
653
- "completeEvent": "COMPLETE"
818
+ "completeEvent": "COMPLETE",
819
+ "type": "event-handler-board"
654
820
  }
655
- ]
821
+ ],
822
+ "type": "stack"
656
823
  }
657
824
  ]
658
825
  }
@@ -662,8 +829,7 @@
662
829
  {
663
830
  "from": "menu",
664
831
  "to": "menu",
665
- "event": "NAVIGATE",
666
- "effects": []
832
+ "event": "NAVIGATE"
667
833
  },
668
834
  {
669
835
  "from": "playing",
@@ -674,9 +840,9 @@
674
840
  "render-ui",
675
841
  "main",
676
842
  {
677
- "type": "game-shell",
678
843
  "appName": "Coding Academy",
679
844
  "showTopBar": true,
845
+ "type": "game-shell",
680
846
  "children": [
681
847
  {
682
848
  "type": "game-over-screen",
@@ -684,8 +850,8 @@
684
850
  "menuItems": [
685
851
  {
686
852
  "label": "Play Again",
687
- "event": "RESTART",
688
- "variant": "primary"
853
+ "variant": "primary",
854
+ "event": "RESTART"
689
855
  }
690
856
  ]
691
857
  }
@@ -703,33 +869,34 @@
703
869
  "render-ui",
704
870
  "main",
705
871
  {
706
- "type": "game-shell",
707
872
  "appName": "Coding Academy",
708
- "showTopBar": true,
709
873
  "children": [
710
874
  {
711
875
  "type": "game-menu",
712
- "title": "Event Handler Challenge",
713
876
  "menuItems": [
714
877
  {
878
+ "variant": "primary",
715
879
  "label": "Start",
716
- "event": "START",
717
- "variant": "primary"
880
+ "event": "START"
718
881
  }
719
- ]
882
+ ],
883
+ "title": "Event Handler Challenge"
720
884
  }
721
- ]
885
+ ],
886
+ "type": "game-shell",
887
+ "showTopBar": true
722
888
  }
723
889
  ]
724
890
  ]
725
891
  }
726
892
  ]
727
- }
893
+ },
894
+ "scope": "collection"
728
895
  }
729
896
  ],
730
897
  "pages": [
731
898
  {
732
- "name": "EventsPage",
899
+ "name": "Events",
733
900
  "path": "/events",
734
901
  "traits": [
735
902
  {
@@ -752,31 +919,68 @@
752
919
  },
753
920
  {
754
921
  "name": "totalLessons",
755
- "type": "number",
756
- "default": 0
922
+ "type": "number"
757
923
  },
758
924
  {
759
925
  "name": "completedLessons",
760
- "type": "number",
761
- "default": 0
926
+ "type": "number"
762
927
  },
763
928
  {
764
929
  "name": "averageScore",
765
- "type": "number",
766
- "default": 0
930
+ "type": "number"
767
931
  },
768
932
  {
769
933
  "name": "streak",
770
- "type": "number",
771
- "default": 0
934
+ "type": "number"
772
935
  }
773
936
  ]
774
937
  },
775
938
  "traits": [
776
939
  {
777
940
  "name": "StudentProgressDisplay",
778
- "linkedEntity": "StudentProgress",
779
941
  "category": "interaction",
942
+ "linkedEntity": "StudentProgress",
943
+ "emits": [
944
+ {
945
+ "event": "StudentProgressLoaded",
946
+ "description": "Fired when StudentProgress finishes loading",
947
+ "scope": "internal",
948
+ "payload": [
949
+ {
950
+ "name": "id",
951
+ "type": "string",
952
+ "required": true
953
+ },
954
+ {
955
+ "name": "totalLessons",
956
+ "type": "number"
957
+ },
958
+ {
959
+ "name": "completedLessons",
960
+ "type": "number"
961
+ },
962
+ {
963
+ "name": "averageScore",
964
+ "type": "number"
965
+ },
966
+ {
967
+ "name": "streak",
968
+ "type": "number"
969
+ }
970
+ ]
971
+ },
972
+ {
973
+ "event": "StudentProgressLoadFailed",
974
+ "description": "Fired when StudentProgress fails to load",
975
+ "scope": "internal",
976
+ "payload": [
977
+ {
978
+ "name": "message",
979
+ "type": "string"
980
+ }
981
+ ]
982
+ }
983
+ ],
780
984
  "stateMachine": {
781
985
  "states": [
782
986
  {
@@ -806,6 +1010,20 @@
806
1010
  {
807
1011
  "key": "REFRESHED",
808
1012
  "name": "Refreshed"
1013
+ },
1014
+ {
1015
+ "key": "StudentProgressLoaded",
1016
+ "name": "StudentProgress loaded"
1017
+ },
1018
+ {
1019
+ "key": "StudentProgressLoadFailed",
1020
+ "name": "StudentProgress load failed",
1021
+ "payload": [
1022
+ {
1023
+ "name": "message",
1024
+ "type": "string"
1025
+ }
1026
+ ]
809
1027
  }
810
1028
  ],
811
1029
  "transitions": [
@@ -816,7 +1034,13 @@
816
1034
  "effects": [
817
1035
  [
818
1036
  "fetch",
819
- "StudentProgress"
1037
+ "StudentProgress",
1038
+ {
1039
+ "emit": {
1040
+ "failure": "StudentProgressLoadFailed",
1041
+ "success": "StudentProgressLoaded"
1042
+ }
1043
+ }
820
1044
  ],
821
1045
  [
822
1046
  "render-ui",
@@ -827,19 +1051,16 @@
827
1051
  "showTopBar": true,
828
1052
  "children": [
829
1053
  {
830
- "type": "scaled-diagram",
831
1054
  "children": [
832
1055
  {
833
1056
  "type": "stack",
834
- "direction": "vertical",
835
- "gap": "lg",
836
1057
  "children": [
837
1058
  {
838
1059
  "type": "breadcrumb",
839
1060
  "items": [
840
1061
  {
841
- "label": "Home",
842
- "href": "/"
1062
+ "href": "/",
1063
+ "label": "Home"
843
1064
  },
844
1065
  {
845
1066
  "label": "Progress"
@@ -847,47 +1068,43 @@
847
1068
  ]
848
1069
  },
849
1070
  {
850
- "type": "stack",
851
- "direction": "horizontal",
852
- "gap": "md",
853
- "justify": "space-between",
854
1071
  "children": [
855
1072
  {
856
- "type": "stack",
857
1073
  "direction": "horizontal",
858
- "gap": "md",
859
1074
  "children": [
860
1075
  {
1076
+ "size": "lg",
861
1077
  "type": "icon",
862
- "name": "trending-up",
863
- "size": "lg"
1078
+ "name": "trending-up"
864
1079
  },
865
1080
  {
1081
+ "variant": "h2",
866
1082
  "type": "typography",
867
- "content": "Progress",
868
- "variant": "h2"
1083
+ "content": "Progress"
869
1084
  }
870
- ]
1085
+ ],
1086
+ "type": "stack",
1087
+ "gap": "md"
871
1088
  },
872
1089
  {
1090
+ "variant": "secondary",
1091
+ "icon": "refresh-cw",
873
1092
  "type": "button",
874
- "label": "Refresh",
875
1093
  "event": "REFRESH",
876
- "variant": "secondary",
877
- "icon": "refresh-cw"
1094
+ "label": "Refresh"
878
1095
  }
879
- ]
1096
+ ],
1097
+ "gap": "md",
1098
+ "type": "stack",
1099
+ "direction": "horizontal",
1100
+ "justify": "space-between"
880
1101
  },
881
1102
  {
882
1103
  "type": "divider"
883
1104
  },
884
1105
  {
885
- "type": "box",
886
- "padding": "md",
887
1106
  "children": [
888
1107
  {
889
- "type": "simple-grid",
890
- "columns": 3,
891
1108
  "children": [
892
1109
  {
893
1110
  "type": "stat-display",
@@ -902,8 +1119,6 @@
902
1119
  ]
903
1120
  },
904
1121
  {
905
- "type": "stat-display",
906
- "label": "CompletedLessons",
907
1122
  "value": [
908
1123
  "object/get",
909
1124
  [
@@ -911,11 +1126,11 @@
911
1126
  "@entity"
912
1127
  ],
913
1128
  "completedLessons"
914
- ]
1129
+ ],
1130
+ "label": "CompletedLessons",
1131
+ "type": "stat-display"
915
1132
  },
916
1133
  {
917
- "type": "stat-display",
918
- "label": "AverageScore",
919
1134
  "value": [
920
1135
  "object/get",
921
1136
  [
@@ -923,11 +1138,11 @@
923
1138
  "@entity"
924
1139
  ],
925
1140
  "averageScore"
926
- ]
1141
+ ],
1142
+ "type": "stat-display",
1143
+ "label": "AverageScore"
927
1144
  },
928
1145
  {
929
- "type": "stat-display",
930
- "label": "Streak",
931
1146
  "value": [
932
1147
  "object/get",
933
1148
  [
@@ -935,18 +1150,23 @@
935
1150
  "@entity"
936
1151
  ],
937
1152
  "streak"
938
- ]
1153
+ ],
1154
+ "label": "Streak",
1155
+ "type": "stat-display"
939
1156
  }
940
- ]
1157
+ ],
1158
+ "type": "simple-grid",
1159
+ "columns": 3.0
941
1160
  }
942
- ]
1161
+ ],
1162
+ "type": "box",
1163
+ "padding": "md"
943
1164
  },
944
1165
  {
945
1166
  "type": "divider"
946
1167
  },
947
1168
  {
948
1169
  "type": "grid",
949
- "columns": 2,
950
1170
  "gap": "md",
951
1171
  "children": [
952
1172
  {
@@ -963,97 +1183,101 @@
963
1183
  "type": "card",
964
1184
  "children": [
965
1185
  {
966
- "type": "typography",
1186
+ "content": "Graph View",
967
1187
  "variant": "caption",
968
- "content": "Graph View"
1188
+ "type": "typography"
969
1189
  }
970
1190
  ]
971
1191
  }
972
- ]
1192
+ ],
1193
+ "columns": 2.0
973
1194
  },
974
1195
  {
975
- "type": "line-chart",
1196
+ "xKey": "date",
976
1197
  "data": [
977
1198
  {
978
- "date": "Jan",
979
- "value": 12
1199
+ "value": 12.0,
1200
+ "date": "Jan"
980
1201
  },
981
1202
  {
982
- "date": "Feb",
983
- "value": 19
1203
+ "value": 19.0,
1204
+ "date": "Feb"
984
1205
  },
985
1206
  {
986
1207
  "date": "Mar",
987
- "value": 15
1208
+ "value": 15.0
988
1209
  },
989
1210
  {
990
1211
  "date": "Apr",
991
- "value": 25
1212
+ "value": 25.0
992
1213
  },
993
1214
  {
994
- "date": "May",
995
- "value": 22
1215
+ "value": 22.0,
1216
+ "date": "May"
996
1217
  },
997
1218
  {
998
1219
  "date": "Jun",
999
- "value": 30
1220
+ "value": 30.0
1000
1221
  }
1001
1222
  ],
1002
- "xKey": "date",
1003
1223
  "yKey": "value",
1224
+ "type": "line-chart",
1004
1225
  "title": "Trend"
1005
1226
  },
1006
1227
  {
1007
- "type": "chart-legend",
1008
1228
  "items": [
1009
1229
  {
1010
1230
  "label": "Current",
1011
1231
  "color": "primary"
1012
1232
  },
1013
1233
  {
1014
- "label": "Previous",
1015
- "color": "muted"
1234
+ "color": "muted",
1235
+ "label": "Previous"
1016
1236
  }
1017
- ]
1237
+ ],
1238
+ "type": "chart-legend"
1018
1239
  },
1019
1240
  {
1020
1241
  "type": "graph-view",
1242
+ "width": 400.0,
1243
+ "edges": [
1244
+ {
1245
+ "to": "b",
1246
+ "from": "a"
1247
+ },
1248
+ {
1249
+ "from": "b",
1250
+ "to": "c"
1251
+ }
1252
+ ],
1021
1253
  "nodes": [
1022
1254
  {
1255
+ "x": 50.0,
1023
1256
  "id": "a",
1024
- "label": "Start",
1025
- "x": 50,
1026
- "y": 100
1257
+ "y": 100.0,
1258
+ "label": "Start"
1027
1259
  },
1028
1260
  {
1261
+ "y": 50.0,
1029
1262
  "id": "b",
1030
1263
  "label": "Process",
1031
- "x": 200,
1032
- "y": 50
1264
+ "x": 200.0
1033
1265
  },
1034
1266
  {
1035
1267
  "id": "c",
1036
1268
  "label": "End",
1037
- "x": 350,
1038
- "y": 100
1039
- }
1040
- ],
1041
- "edges": [
1042
- {
1043
- "from": "a",
1044
- "to": "b"
1045
- },
1046
- {
1047
- "from": "b",
1048
- "to": "c"
1269
+ "y": 100.0,
1270
+ "x": 350.0
1049
1271
  }
1050
1272
  ],
1051
- "width": 400,
1052
- "height": 200
1273
+ "height": 200.0
1053
1274
  }
1054
- ]
1275
+ ],
1276
+ "gap": "lg",
1277
+ "direction": "vertical"
1055
1278
  }
1056
- ]
1279
+ ],
1280
+ "type": "scaled-diagram"
1057
1281
  }
1058
1282
  ]
1059
1283
  }
@@ -1067,23 +1291,26 @@
1067
1291
  "effects": [
1068
1292
  [
1069
1293
  "fetch",
1070
- "StudentProgress"
1294
+ "StudentProgress",
1295
+ {
1296
+ "emit": {
1297
+ "failure": "StudentProgressLoadFailed",
1298
+ "success": "StudentProgressLoaded"
1299
+ }
1300
+ }
1071
1301
  ],
1072
1302
  [
1073
1303
  "render-ui",
1074
1304
  "main",
1075
1305
  {
1306
+ "showTopBar": true,
1076
1307
  "type": "game-shell",
1077
1308
  "appName": "Coding Academy",
1078
- "showTopBar": true,
1079
1309
  "children": [
1080
1310
  {
1081
1311
  "type": "scaled-diagram",
1082
1312
  "children": [
1083
1313
  {
1084
- "type": "stack",
1085
- "direction": "vertical",
1086
- "gap": "lg",
1087
1314
  "children": [
1088
1315
  {
1089
1316
  "type": "breadcrumb",
@@ -1098,15 +1325,10 @@
1098
1325
  ]
1099
1326
  },
1100
1327
  {
1101
- "type": "stack",
1102
- "direction": "horizontal",
1103
1328
  "gap": "md",
1104
- "justify": "space-between",
1329
+ "type": "stack",
1105
1330
  "children": [
1106
1331
  {
1107
- "type": "stack",
1108
- "direction": "horizontal",
1109
- "gap": "md",
1110
1332
  "children": [
1111
1333
  {
1112
1334
  "type": "icon",
@@ -1114,20 +1336,25 @@
1114
1336
  "size": "lg"
1115
1337
  },
1116
1338
  {
1117
- "type": "typography",
1118
1339
  "content": "Progress",
1340
+ "type": "typography",
1119
1341
  "variant": "h2"
1120
1342
  }
1121
- ]
1343
+ ],
1344
+ "gap": "md",
1345
+ "direction": "horizontal",
1346
+ "type": "stack"
1122
1347
  },
1123
1348
  {
1124
- "type": "button",
1125
- "label": "Refresh",
1349
+ "icon": "refresh-cw",
1126
1350
  "event": "REFRESH",
1351
+ "type": "button",
1127
1352
  "variant": "secondary",
1128
- "icon": "refresh-cw"
1353
+ "label": "Refresh"
1129
1354
  }
1130
- ]
1355
+ ],
1356
+ "direction": "horizontal",
1357
+ "justify": "space-between"
1131
1358
  },
1132
1359
  {
1133
1360
  "type": "divider"
@@ -1137,12 +1364,9 @@
1137
1364
  "padding": "md",
1138
1365
  "children": [
1139
1366
  {
1140
- "type": "simple-grid",
1141
- "columns": 3,
1367
+ "columns": 3.0,
1142
1368
  "children": [
1143
1369
  {
1144
- "type": "stat-display",
1145
- "label": "TotalLessons",
1146
1370
  "value": [
1147
1371
  "object/get",
1148
1372
  [
@@ -1150,10 +1374,11 @@
1150
1374
  "@entity"
1151
1375
  ],
1152
1376
  "totalLessons"
1153
- ]
1377
+ ],
1378
+ "type": "stat-display",
1379
+ "label": "TotalLessons"
1154
1380
  },
1155
1381
  {
1156
- "type": "stat-display",
1157
1382
  "label": "CompletedLessons",
1158
1383
  "value": [
1159
1384
  "object/get",
@@ -1162,11 +1387,10 @@
1162
1387
  "@entity"
1163
1388
  ],
1164
1389
  "completedLessons"
1165
- ]
1390
+ ],
1391
+ "type": "stat-display"
1166
1392
  },
1167
1393
  {
1168
- "type": "stat-display",
1169
- "label": "AverageScore",
1170
1394
  "value": [
1171
1395
  "object/get",
1172
1396
  [
@@ -1174,11 +1398,13 @@
1174
1398
  "@entity"
1175
1399
  ],
1176
1400
  "averageScore"
1177
- ]
1401
+ ],
1402
+ "type": "stat-display",
1403
+ "label": "AverageScore"
1178
1404
  },
1179
1405
  {
1180
- "type": "stat-display",
1181
1406
  "label": "Streak",
1407
+ "type": "stat-display",
1182
1408
  "value": [
1183
1409
  "object/get",
1184
1410
  [
@@ -1188,7 +1414,8 @@
1188
1414
  "streak"
1189
1415
  ]
1190
1416
  }
1191
- ]
1417
+ ],
1418
+ "type": "simple-grid"
1192
1419
  }
1193
1420
  ]
1194
1421
  },
@@ -1196,113 +1423,116 @@
1196
1423
  "type": "divider"
1197
1424
  },
1198
1425
  {
1426
+ "columns": 2.0,
1199
1427
  "type": "grid",
1200
- "columns": 2,
1201
- "gap": "md",
1202
1428
  "children": [
1203
1429
  {
1204
- "type": "card",
1205
1430
  "children": [
1206
1431
  {
1207
1432
  "type": "typography",
1208
- "variant": "caption",
1209
- "content": "Chart View"
1433
+ "content": "Chart View",
1434
+ "variant": "caption"
1210
1435
  }
1211
- ]
1436
+ ],
1437
+ "type": "card"
1212
1438
  },
1213
1439
  {
1214
1440
  "type": "card",
1215
1441
  "children": [
1216
1442
  {
1217
1443
  "type": "typography",
1218
- "variant": "caption",
1219
- "content": "Graph View"
1444
+ "content": "Graph View",
1445
+ "variant": "caption"
1220
1446
  }
1221
1447
  ]
1222
1448
  }
1223
- ]
1449
+ ],
1450
+ "gap": "md"
1224
1451
  },
1225
1452
  {
1226
- "type": "line-chart",
1227
1453
  "data": [
1228
1454
  {
1229
1455
  "date": "Jan",
1230
- "value": 12
1456
+ "value": 12.0
1231
1457
  },
1232
1458
  {
1233
- "date": "Feb",
1234
- "value": 19
1459
+ "value": 19.0,
1460
+ "date": "Feb"
1235
1461
  },
1236
1462
  {
1237
1463
  "date": "Mar",
1238
- "value": 15
1464
+ "value": 15.0
1239
1465
  },
1240
1466
  {
1241
1467
  "date": "Apr",
1242
- "value": 25
1468
+ "value": 25.0
1243
1469
  },
1244
1470
  {
1245
1471
  "date": "May",
1246
- "value": 22
1472
+ "value": 22.0
1247
1473
  },
1248
1474
  {
1249
- "date": "Jun",
1250
- "value": 30
1475
+ "value": 30.0,
1476
+ "date": "Jun"
1251
1477
  }
1252
1478
  ],
1479
+ "type": "line-chart",
1253
1480
  "xKey": "date",
1254
1481
  "yKey": "value",
1255
1482
  "title": "Trend"
1256
1483
  },
1257
1484
  {
1258
- "type": "chart-legend",
1259
1485
  "items": [
1260
1486
  {
1261
- "label": "Current",
1262
- "color": "primary"
1487
+ "color": "primary",
1488
+ "label": "Current"
1263
1489
  },
1264
1490
  {
1265
- "label": "Previous",
1266
- "color": "muted"
1491
+ "color": "muted",
1492
+ "label": "Previous"
1267
1493
  }
1268
- ]
1494
+ ],
1495
+ "type": "chart-legend"
1269
1496
  },
1270
1497
  {
1271
- "type": "graph-view",
1498
+ "width": 400.0,
1272
1499
  "nodes": [
1273
1500
  {
1274
- "id": "a",
1501
+ "y": 100.0,
1502
+ "x": 50.0,
1275
1503
  "label": "Start",
1276
- "x": 50,
1277
- "y": 100
1504
+ "id": "a"
1278
1505
  },
1279
1506
  {
1280
- "id": "b",
1281
1507
  "label": "Process",
1282
- "x": 200,
1283
- "y": 50
1508
+ "id": "b",
1509
+ "x": 200.0,
1510
+ "y": 50.0
1284
1511
  },
1285
1512
  {
1286
- "id": "c",
1287
1513
  "label": "End",
1288
- "x": 350,
1289
- "y": 100
1514
+ "x": 350.0,
1515
+ "y": 100.0,
1516
+ "id": "c"
1290
1517
  }
1291
1518
  ],
1519
+ "type": "graph-view",
1520
+ "height": 200.0,
1292
1521
  "edges": [
1293
1522
  {
1294
1523
  "from": "a",
1295
1524
  "to": "b"
1296
1525
  },
1297
1526
  {
1298
- "from": "b",
1299
- "to": "c"
1527
+ "to": "c",
1528
+ "from": "b"
1300
1529
  }
1301
- ],
1302
- "width": 400,
1303
- "height": 200
1530
+ ]
1304
1531
  }
1305
- ]
1532
+ ],
1533
+ "direction": "vertical",
1534
+ "type": "stack",
1535
+ "gap": "lg"
1306
1536
  }
1307
1537
  ]
1308
1538
  }
@@ -1318,23 +1548,27 @@
1318
1548
  "effects": [
1319
1549
  [
1320
1550
  "fetch",
1321
- "StudentProgress"
1551
+ "StudentProgress",
1552
+ {
1553
+ "emit": {
1554
+ "failure": "StudentProgressLoadFailed",
1555
+ "success": "StudentProgressLoaded"
1556
+ }
1557
+ }
1322
1558
  ],
1323
1559
  [
1324
1560
  "render-ui",
1325
1561
  "main",
1326
1562
  {
1327
- "type": "game-shell",
1328
- "appName": "Coding Academy",
1329
1563
  "showTopBar": true,
1564
+ "appName": "Coding Academy",
1565
+ "type": "game-shell",
1330
1566
  "children": [
1331
1567
  {
1332
1568
  "type": "scaled-diagram",
1333
1569
  "children": [
1334
1570
  {
1335
- "type": "stack",
1336
1571
  "direction": "vertical",
1337
- "gap": "lg",
1338
1572
  "children": [
1339
1573
  {
1340
1574
  "type": "breadcrumb",
@@ -1349,36 +1583,36 @@
1349
1583
  ]
1350
1584
  },
1351
1585
  {
1352
- "type": "stack",
1353
- "direction": "horizontal",
1354
- "gap": "md",
1355
1586
  "justify": "space-between",
1587
+ "type": "stack",
1356
1588
  "children": [
1357
1589
  {
1358
- "type": "stack",
1359
- "direction": "horizontal",
1360
- "gap": "md",
1361
1590
  "children": [
1362
1591
  {
1592
+ "size": "lg",
1363
1593
  "type": "icon",
1364
- "name": "trending-up",
1365
- "size": "lg"
1594
+ "name": "trending-up"
1366
1595
  },
1367
1596
  {
1368
1597
  "type": "typography",
1369
1598
  "content": "Progress",
1370
1599
  "variant": "h2"
1371
1600
  }
1372
- ]
1601
+ ],
1602
+ "type": "stack",
1603
+ "direction": "horizontal",
1604
+ "gap": "md"
1373
1605
  },
1374
1606
  {
1375
- "type": "button",
1376
1607
  "label": "Refresh",
1377
- "event": "REFRESH",
1378
1608
  "variant": "secondary",
1609
+ "event": "REFRESH",
1610
+ "type": "button",
1379
1611
  "icon": "refresh-cw"
1380
1612
  }
1381
- ]
1613
+ ],
1614
+ "direction": "horizontal",
1615
+ "gap": "md"
1382
1616
  },
1383
1617
  {
1384
1618
  "type": "divider"
@@ -1388,12 +1622,11 @@
1388
1622
  "padding": "md",
1389
1623
  "children": [
1390
1624
  {
1391
- "type": "simple-grid",
1392
- "columns": 3,
1625
+ "columns": 3.0,
1393
1626
  "children": [
1394
1627
  {
1395
- "type": "stat-display",
1396
1628
  "label": "TotalLessons",
1629
+ "type": "stat-display",
1397
1630
  "value": [
1398
1631
  "object/get",
1399
1632
  [
@@ -1404,8 +1637,8 @@
1404
1637
  ]
1405
1638
  },
1406
1639
  {
1407
- "type": "stat-display",
1408
1640
  "label": "CompletedLessons",
1641
+ "type": "stat-display",
1409
1642
  "value": [
1410
1643
  "object/get",
1411
1644
  [
@@ -1428,8 +1661,8 @@
1428
1661
  ]
1429
1662
  },
1430
1663
  {
1431
- "type": "stat-display",
1432
1664
  "label": "Streak",
1665
+ "type": "stat-display",
1433
1666
  "value": [
1434
1667
  "object/get",
1435
1668
  [
@@ -1439,7 +1672,8 @@
1439
1672
  "streak"
1440
1673
  ]
1441
1674
  }
1442
- ]
1675
+ ],
1676
+ "type": "simple-grid"
1443
1677
  }
1444
1678
  ]
1445
1679
  },
@@ -1448,28 +1682,28 @@
1448
1682
  },
1449
1683
  {
1450
1684
  "type": "grid",
1451
- "columns": 2,
1452
1685
  "gap": "md",
1686
+ "columns": 2.0,
1453
1687
  "children": [
1454
1688
  {
1455
- "type": "card",
1456
1689
  "children": [
1457
1690
  {
1458
- "type": "typography",
1459
1691
  "variant": "caption",
1460
- "content": "Chart View"
1692
+ "content": "Chart View",
1693
+ "type": "typography"
1461
1694
  }
1462
- ]
1695
+ ],
1696
+ "type": "card"
1463
1697
  },
1464
1698
  {
1465
- "type": "card",
1466
1699
  "children": [
1467
1700
  {
1468
1701
  "type": "typography",
1469
1702
  "variant": "caption",
1470
1703
  "content": "Graph View"
1471
1704
  }
1472
- ]
1705
+ ],
1706
+ "type": "card"
1473
1707
  }
1474
1708
  ]
1475
1709
  },
@@ -1478,82 +1712,84 @@
1478
1712
  "data": [
1479
1713
  {
1480
1714
  "date": "Jan",
1481
- "value": 12
1715
+ "value": 12.0
1482
1716
  },
1483
1717
  {
1484
1718
  "date": "Feb",
1485
- "value": 19
1719
+ "value": 19.0
1486
1720
  },
1487
1721
  {
1488
1722
  "date": "Mar",
1489
- "value": 15
1723
+ "value": 15.0
1490
1724
  },
1491
1725
  {
1492
- "date": "Apr",
1493
- "value": 25
1726
+ "value": 25.0,
1727
+ "date": "Apr"
1494
1728
  },
1495
1729
  {
1496
- "date": "May",
1497
- "value": 22
1730
+ "value": 22.0,
1731
+ "date": "May"
1498
1732
  },
1499
1733
  {
1500
- "date": "Jun",
1501
- "value": 30
1734
+ "value": 30.0,
1735
+ "date": "Jun"
1502
1736
  }
1503
1737
  ],
1738
+ "title": "Trend",
1504
1739
  "xKey": "date",
1505
- "yKey": "value",
1506
- "title": "Trend"
1740
+ "yKey": "value"
1507
1741
  },
1508
1742
  {
1509
- "type": "chart-legend",
1510
1743
  "items": [
1511
1744
  {
1512
1745
  "label": "Current",
1513
1746
  "color": "primary"
1514
1747
  },
1515
1748
  {
1516
- "label": "Previous",
1517
- "color": "muted"
1749
+ "color": "muted",
1750
+ "label": "Previous"
1518
1751
  }
1519
- ]
1752
+ ],
1753
+ "type": "chart-legend"
1520
1754
  },
1521
1755
  {
1522
1756
  "type": "graph-view",
1523
1757
  "nodes": [
1524
1758
  {
1525
- "id": "a",
1526
1759
  "label": "Start",
1527
- "x": 50,
1528
- "y": 100
1760
+ "id": "a",
1761
+ "y": 100.0,
1762
+ "x": 50.0
1529
1763
  },
1530
1764
  {
1531
- "id": "b",
1532
1765
  "label": "Process",
1533
- "x": 200,
1534
- "y": 50
1766
+ "y": 50.0,
1767
+ "id": "b",
1768
+ "x": 200.0
1535
1769
  },
1536
1770
  {
1537
- "id": "c",
1771
+ "x": 350.0,
1772
+ "y": 100.0,
1538
1773
  "label": "End",
1539
- "x": 350,
1540
- "y": 100
1774
+ "id": "c"
1541
1775
  }
1542
1776
  ],
1543
1777
  "edges": [
1544
1778
  {
1545
- "from": "a",
1546
- "to": "b"
1779
+ "to": "b",
1780
+ "from": "a"
1547
1781
  },
1548
1782
  {
1549
- "from": "b",
1550
- "to": "c"
1783
+ "to": "c",
1784
+ "from": "b"
1551
1785
  }
1552
1786
  ],
1553
- "width": 400,
1554
- "height": 200
1787
+ "height": 200.0,
1788
+ "width": 400.0
1555
1789
  }
1556
- ]
1790
+ ],
1791
+ "gap": "lg",
1792
+ "type": "stack"
1557
1793
  }
1558
1794
  ]
1559
1795
  }
@@ -1569,30 +1805,33 @@
1569
1805
  "effects": [
1570
1806
  [
1571
1807
  "fetch",
1572
- "StudentProgress"
1808
+ "StudentProgress",
1809
+ {
1810
+ "emit": {
1811
+ "success": "StudentProgressLoaded",
1812
+ "failure": "StudentProgressLoadFailed"
1813
+ }
1814
+ }
1573
1815
  ],
1574
1816
  [
1575
1817
  "render-ui",
1576
1818
  "main",
1577
1819
  {
1578
- "type": "game-shell",
1579
1820
  "appName": "Coding Academy",
1821
+ "type": "game-shell",
1580
1822
  "showTopBar": true,
1581
1823
  "children": [
1582
1824
  {
1583
1825
  "type": "scaled-diagram",
1584
1826
  "children": [
1585
1827
  {
1586
- "type": "stack",
1587
- "direction": "vertical",
1588
- "gap": "lg",
1589
1828
  "children": [
1590
1829
  {
1591
1830
  "type": "breadcrumb",
1592
1831
  "items": [
1593
1832
  {
1594
- "label": "Home",
1595
- "href": "/"
1833
+ "href": "/",
1834
+ "label": "Home"
1596
1835
  },
1597
1836
  {
1598
1837
  "label": "Progress"
@@ -1600,13 +1839,9 @@
1600
1839
  ]
1601
1840
  },
1602
1841
  {
1603
- "type": "stack",
1604
- "direction": "horizontal",
1605
1842
  "gap": "md",
1606
- "justify": "space-between",
1607
1843
  "children": [
1608
1844
  {
1609
- "type": "stack",
1610
1845
  "direction": "horizontal",
1611
1846
  "gap": "md",
1612
1847
  "children": [
@@ -1616,35 +1851,33 @@
1616
1851
  "size": "lg"
1617
1852
  },
1618
1853
  {
1619
- "type": "typography",
1620
1854
  "content": "Progress",
1855
+ "type": "typography",
1621
1856
  "variant": "h2"
1622
1857
  }
1623
- ]
1858
+ ],
1859
+ "type": "stack"
1624
1860
  },
1625
1861
  {
1626
- "type": "button",
1627
1862
  "label": "Refresh",
1628
- "event": "REFRESH",
1629
1863
  "variant": "secondary",
1630
- "icon": "refresh-cw"
1864
+ "icon": "refresh-cw",
1865
+ "type": "button",
1866
+ "event": "REFRESH"
1631
1867
  }
1632
- ]
1868
+ ],
1869
+ "type": "stack",
1870
+ "direction": "horizontal",
1871
+ "justify": "space-between"
1633
1872
  },
1634
1873
  {
1635
1874
  "type": "divider"
1636
1875
  },
1637
1876
  {
1638
- "type": "box",
1639
- "padding": "md",
1640
1877
  "children": [
1641
1878
  {
1642
- "type": "simple-grid",
1643
- "columns": 3,
1644
1879
  "children": [
1645
1880
  {
1646
- "type": "stat-display",
1647
- "label": "TotalLessons",
1648
1881
  "value": [
1649
1882
  "object/get",
1650
1883
  [
@@ -1652,7 +1885,9 @@
1652
1885
  "@entity"
1653
1886
  ],
1654
1887
  "totalLessons"
1655
- ]
1888
+ ],
1889
+ "label": "TotalLessons",
1890
+ "type": "stat-display"
1656
1891
  },
1657
1892
  {
1658
1893
  "type": "stat-display",
@@ -1679,8 +1914,6 @@
1679
1914
  ]
1680
1915
  },
1681
1916
  {
1682
- "type": "stat-display",
1683
- "label": "Streak",
1684
1917
  "value": [
1685
1918
  "object/get",
1686
1919
  [
@@ -1688,73 +1921,79 @@
1688
1921
  "@entity"
1689
1922
  ],
1690
1923
  "streak"
1691
- ]
1924
+ ],
1925
+ "label": "Streak",
1926
+ "type": "stat-display"
1692
1927
  }
1693
- ]
1928
+ ],
1929
+ "type": "simple-grid",
1930
+ "columns": 3.0
1694
1931
  }
1695
- ]
1932
+ ],
1933
+ "padding": "md",
1934
+ "type": "box"
1696
1935
  },
1697
1936
  {
1698
1937
  "type": "divider"
1699
1938
  },
1700
1939
  {
1701
- "type": "grid",
1702
- "columns": 2,
1703
1940
  "gap": "md",
1941
+ "type": "grid",
1942
+ "columns": 2.0,
1704
1943
  "children": [
1705
1944
  {
1706
- "type": "card",
1707
1945
  "children": [
1708
1946
  {
1709
1947
  "type": "typography",
1710
- "variant": "caption",
1711
- "content": "Chart View"
1948
+ "content": "Chart View",
1949
+ "variant": "caption"
1712
1950
  }
1713
- ]
1951
+ ],
1952
+ "type": "card"
1714
1953
  },
1715
1954
  {
1716
- "type": "card",
1717
1955
  "children": [
1718
1956
  {
1719
- "type": "typography",
1957
+ "content": "Graph View",
1720
1958
  "variant": "caption",
1721
- "content": "Graph View"
1959
+ "type": "typography"
1722
1960
  }
1723
- ]
1961
+ ],
1962
+ "type": "card"
1724
1963
  }
1725
1964
  ]
1726
1965
  },
1727
1966
  {
1967
+ "xKey": "date",
1728
1968
  "type": "line-chart",
1969
+ "yKey": "value",
1970
+ "title": "Trend",
1729
1971
  "data": [
1730
1972
  {
1731
- "date": "Jan",
1732
- "value": 12
1973
+ "value": 12.0,
1974
+ "date": "Jan"
1733
1975
  },
1734
1976
  {
1735
1977
  "date": "Feb",
1736
- "value": 19
1978
+ "value": 19.0
1737
1979
  },
1738
1980
  {
1739
- "date": "Mar",
1740
- "value": 15
1981
+ "value": 15.0,
1982
+ "date": "Mar"
1741
1983
  },
1742
1984
  {
1743
1985
  "date": "Apr",
1744
- "value": 25
1986
+ "value": 25.0
1745
1987
  },
1746
1988
  {
1747
1989
  "date": "May",
1748
- "value": 22
1990
+ "value": 22.0
1749
1991
  },
1750
1992
  {
1751
- "date": "Jun",
1752
- "value": 30
1993
+ "value": 30.0,
1994
+ "date": "Jun"
1753
1995
  }
1754
- ],
1755
- "xKey": "date",
1756
- "yKey": "value",
1757
- "title": "Trend"
1996
+ ]
1758
1997
  },
1759
1998
  {
1760
1999
  "type": "chart-legend",
@@ -1770,41 +2009,44 @@
1770
2009
  ]
1771
2010
  },
1772
2011
  {
1773
- "type": "graph-view",
1774
2012
  "nodes": [
1775
2013
  {
1776
- "id": "a",
2014
+ "y": 100.0,
1777
2015
  "label": "Start",
1778
- "x": 50,
1779
- "y": 100
2016
+ "x": 50.0,
2017
+ "id": "a"
1780
2018
  },
1781
2019
  {
2020
+ "y": 50.0,
1782
2021
  "id": "b",
1783
- "label": "Process",
1784
- "x": 200,
1785
- "y": 50
2022
+ "x": 200.0,
2023
+ "label": "Process"
1786
2024
  },
1787
2025
  {
1788
2026
  "id": "c",
1789
2027
  "label": "End",
1790
- "x": 350,
1791
- "y": 100
2028
+ "x": 350.0,
2029
+ "y": 100.0
1792
2030
  }
1793
2031
  ],
2032
+ "type": "graph-view",
2033
+ "height": 200.0,
1794
2034
  "edges": [
1795
2035
  {
1796
- "from": "a",
1797
- "to": "b"
2036
+ "to": "b",
2037
+ "from": "a"
1798
2038
  },
1799
2039
  {
1800
- "from": "b",
1801
- "to": "c"
2040
+ "to": "c",
2041
+ "from": "b"
1802
2042
  }
1803
2043
  ],
1804
- "width": 400,
1805
- "height": 200
2044
+ "width": 400.0
1806
2045
  }
1807
- ]
2046
+ ],
2047
+ "type": "stack",
2048
+ "gap": "lg",
2049
+ "direction": "vertical"
1808
2050
  }
1809
2051
  ]
1810
2052
  }
@@ -1820,23 +2062,26 @@
1820
2062
  "effects": [
1821
2063
  [
1822
2064
  "fetch",
1823
- "StudentProgress"
2065
+ "StudentProgress",
2066
+ {
2067
+ "emit": {
2068
+ "success": "StudentProgressLoaded",
2069
+ "failure": "StudentProgressLoadFailed"
2070
+ }
2071
+ }
1824
2072
  ],
1825
2073
  [
1826
2074
  "render-ui",
1827
2075
  "main",
1828
2076
  {
1829
- "type": "game-shell",
1830
2077
  "appName": "Coding Academy",
2078
+ "type": "game-shell",
1831
2079
  "showTopBar": true,
1832
2080
  "children": [
1833
2081
  {
1834
2082
  "type": "scaled-diagram",
1835
2083
  "children": [
1836
2084
  {
1837
- "type": "stack",
1838
- "direction": "vertical",
1839
- "gap": "lg",
1840
2085
  "children": [
1841
2086
  {
1842
2087
  "type": "breadcrumb",
@@ -1851,51 +2096,46 @@
1851
2096
  ]
1852
2097
  },
1853
2098
  {
1854
- "type": "stack",
1855
- "direction": "horizontal",
1856
2099
  "gap": "md",
1857
- "justify": "space-between",
2100
+ "direction": "horizontal",
1858
2101
  "children": [
1859
2102
  {
1860
2103
  "type": "stack",
1861
- "direction": "horizontal",
1862
- "gap": "md",
1863
2104
  "children": [
1864
2105
  {
1865
2106
  "type": "icon",
1866
- "name": "trending-up",
1867
- "size": "lg"
2107
+ "size": "lg",
2108
+ "name": "trending-up"
1868
2109
  },
1869
2110
  {
1870
2111
  "type": "typography",
1871
2112
  "content": "Progress",
1872
2113
  "variant": "h2"
1873
2114
  }
1874
- ]
2115
+ ],
2116
+ "gap": "md",
2117
+ "direction": "horizontal"
1875
2118
  },
1876
2119
  {
1877
2120
  "type": "button",
1878
- "label": "Refresh",
1879
2121
  "event": "REFRESH",
1880
2122
  "variant": "secondary",
2123
+ "label": "Refresh",
1881
2124
  "icon": "refresh-cw"
1882
2125
  }
1883
- ]
2126
+ ],
2127
+ "type": "stack",
2128
+ "justify": "space-between"
1884
2129
  },
1885
2130
  {
1886
2131
  "type": "divider"
1887
2132
  },
1888
2133
  {
1889
2134
  "type": "box",
1890
- "padding": "md",
1891
2135
  "children": [
1892
2136
  {
1893
- "type": "simple-grid",
1894
- "columns": 3,
1895
2137
  "children": [
1896
2138
  {
1897
- "type": "stat-display",
1898
- "label": "TotalLessons",
1899
2139
  "value": [
1900
2140
  "object/get",
1901
2141
  [
@@ -1903,11 +2143,11 @@
1903
2143
  "@entity"
1904
2144
  ],
1905
2145
  "totalLessons"
1906
- ]
2146
+ ],
2147
+ "type": "stat-display",
2148
+ "label": "TotalLessons"
1907
2149
  },
1908
2150
  {
1909
- "type": "stat-display",
1910
- "label": "CompletedLessons",
1911
2151
  "value": [
1912
2152
  "object/get",
1913
2153
  [
@@ -1915,10 +2155,11 @@
1915
2155
  "@entity"
1916
2156
  ],
1917
2157
  "completedLessons"
1918
- ]
2158
+ ],
2159
+ "label": "CompletedLessons",
2160
+ "type": "stat-display"
1919
2161
  },
1920
2162
  {
1921
- "type": "stat-display",
1922
2163
  "label": "AverageScore",
1923
2164
  "value": [
1924
2165
  "object/get",
@@ -1927,7 +2168,8 @@
1927
2168
  "@entity"
1928
2169
  ],
1929
2170
  "averageScore"
1930
- ]
2171
+ ],
2172
+ "type": "stat-display"
1931
2173
  },
1932
2174
  {
1933
2175
  "type": "stat-display",
@@ -1941,74 +2183,76 @@
1941
2183
  "streak"
1942
2184
  ]
1943
2185
  }
1944
- ]
2186
+ ],
2187
+ "columns": 3.0,
2188
+ "type": "simple-grid"
1945
2189
  }
1946
- ]
2190
+ ],
2191
+ "padding": "md"
1947
2192
  },
1948
2193
  {
1949
2194
  "type": "divider"
1950
2195
  },
1951
2196
  {
1952
- "type": "grid",
1953
- "columns": 2,
1954
2197
  "gap": "md",
2198
+ "columns": 2.0,
1955
2199
  "children": [
1956
2200
  {
1957
- "type": "card",
1958
2201
  "children": [
1959
2202
  {
1960
2203
  "type": "typography",
1961
2204
  "variant": "caption",
1962
2205
  "content": "Chart View"
1963
2206
  }
1964
- ]
2207
+ ],
2208
+ "type": "card"
1965
2209
  },
1966
2210
  {
1967
2211
  "type": "card",
1968
2212
  "children": [
1969
2213
  {
1970
- "type": "typography",
1971
2214
  "variant": "caption",
1972
- "content": "Graph View"
2215
+ "content": "Graph View",
2216
+ "type": "typography"
1973
2217
  }
1974
2218
  ]
1975
2219
  }
1976
- ]
2220
+ ],
2221
+ "type": "grid"
1977
2222
  },
1978
2223
  {
2224
+ "xKey": "date",
1979
2225
  "type": "line-chart",
2226
+ "yKey": "value",
2227
+ "title": "Trend",
1980
2228
  "data": [
1981
2229
  {
1982
2230
  "date": "Jan",
1983
- "value": 12
2231
+ "value": 12.0
1984
2232
  },
1985
2233
  {
1986
2234
  "date": "Feb",
1987
- "value": 19
2235
+ "value": 19.0
1988
2236
  },
1989
2237
  {
1990
- "date": "Mar",
1991
- "value": 15
2238
+ "value": 15.0,
2239
+ "date": "Mar"
1992
2240
  },
1993
2241
  {
1994
- "date": "Apr",
1995
- "value": 25
2242
+ "value": 25.0,
2243
+ "date": "Apr"
1996
2244
  },
1997
2245
  {
1998
- "date": "May",
1999
- "value": 22
2246
+ "value": 22.0,
2247
+ "date": "May"
2000
2248
  },
2001
2249
  {
2002
2250
  "date": "Jun",
2003
- "value": 30
2251
+ "value": 30.0
2004
2252
  }
2005
- ],
2006
- "xKey": "date",
2007
- "yKey": "value",
2008
- "title": "Trend"
2253
+ ]
2009
2254
  },
2010
2255
  {
2011
- "type": "chart-legend",
2012
2256
  "items": [
2013
2257
  {
2014
2258
  "label": "Current",
@@ -2018,44 +2262,48 @@
2018
2262
  "label": "Previous",
2019
2263
  "color": "muted"
2020
2264
  }
2021
- ]
2265
+ ],
2266
+ "type": "chart-legend"
2022
2267
  },
2023
2268
  {
2024
2269
  "type": "graph-view",
2270
+ "width": 400.0,
2271
+ "edges": [
2272
+ {
2273
+ "to": "b",
2274
+ "from": "a"
2275
+ },
2276
+ {
2277
+ "from": "b",
2278
+ "to": "c"
2279
+ }
2280
+ ],
2025
2281
  "nodes": [
2026
2282
  {
2027
2283
  "id": "a",
2028
2284
  "label": "Start",
2029
- "x": 50,
2030
- "y": 100
2285
+ "y": 100.0,
2286
+ "x": 50.0
2031
2287
  },
2032
2288
  {
2289
+ "x": 200.0,
2290
+ "y": 50.0,
2033
2291
  "id": "b",
2034
- "label": "Process",
2035
- "x": 200,
2036
- "y": 50
2292
+ "label": "Process"
2037
2293
  },
2038
2294
  {
2295
+ "x": 350.0,
2296
+ "y": 100.0,
2039
2297
  "id": "c",
2040
- "label": "End",
2041
- "x": 350,
2042
- "y": 100
2298
+ "label": "End"
2043
2299
  }
2044
2300
  ],
2045
- "edges": [
2046
- {
2047
- "from": "a",
2048
- "to": "b"
2049
- },
2050
- {
2051
- "from": "b",
2052
- "to": "c"
2053
- }
2054
- ],
2055
- "width": 400,
2056
- "height": 200
2301
+ "height": 200.0
2057
2302
  }
2058
- ]
2303
+ ],
2304
+ "direction": "vertical",
2305
+ "gap": "lg",
2306
+ "type": "stack"
2059
2307
  }
2060
2308
  ]
2061
2309
  }
@@ -2065,12 +2313,13 @@
2065
2313
  ]
2066
2314
  }
2067
2315
  ]
2068
- }
2316
+ },
2317
+ "scope": "collection"
2069
2318
  }
2070
2319
  ],
2071
2320
  "pages": [
2072
2321
  {
2073
- "name": "ProgressPage",
2322
+ "name": "Progress",
2074
2323
  "path": "/progress",
2075
2324
  "traits": [
2076
2325
  {
@@ -2081,4 +2330,4 @@
2081
2330
  ]
2082
2331
  }
2083
2332
  ]
2084
- }
2333
+ }