@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
@@ -104,14 +104,21 @@
104
104
  "render-ui",
105
105
  "main",
106
106
  {
107
- "type": "game-menu",
108
- "title": "Arcade",
109
- "subtitle": "Main Menu",
110
- "menuItems": [
107
+ "type": "game-shell",
108
+ "appName": "Arcade Game",
109
+ "showTopBar": true,
110
+ "children": [
111
111
  {
112
- "label": "Start Game",
113
- "event": "START",
114
- "variant": "primary"
112
+ "type": "game-menu",
113
+ "title": "Arcade",
114
+ "subtitle": "Main Menu",
115
+ "menuItems": [
116
+ {
117
+ "label": "Start Game",
118
+ "event": "START",
119
+ "variant": "primary"
120
+ }
121
+ ]
115
122
  }
116
123
  ]
117
124
  }
@@ -127,15 +134,36 @@
127
134
  "render-ui",
128
135
  "main",
129
136
  {
130
- "type": "game-hud",
131
- "stats": [
132
- {
133
- "label": "Score",
134
- "value": "@entity.score"
135
- },
137
+ "type": "game-shell",
138
+ "appName": "Arcade Game",
139
+ "showTopBar": true,
140
+ "children": [
136
141
  {
137
- "label": "Level",
138
- "value": "@entity.level"
142
+ "type": "game-hud",
143
+ "stats": [
144
+ {
145
+ "label": "Score",
146
+ "value": [
147
+ "object/get",
148
+ [
149
+ "array/first",
150
+ "@entity"
151
+ ],
152
+ "score"
153
+ ]
154
+ },
155
+ {
156
+ "label": "Level",
157
+ "value": [
158
+ "object/get",
159
+ [
160
+ "array/first",
161
+ "@entity"
162
+ ],
163
+ "level"
164
+ ]
165
+ }
166
+ ]
139
167
  }
140
168
  ]
141
169
  }
@@ -190,6 +218,44 @@
190
218
  "render-ui",
191
219
  "modal",
192
220
  null
221
+ ],
222
+ [
223
+ "render-ui",
224
+ "main",
225
+ {
226
+ "type": "game-shell",
227
+ "appName": "Arcade Game",
228
+ "showTopBar": true,
229
+ "children": [
230
+ {
231
+ "type": "game-hud",
232
+ "stats": [
233
+ {
234
+ "label": "Score",
235
+ "value": [
236
+ "object/get",
237
+ [
238
+ "array/first",
239
+ "@entity"
240
+ ],
241
+ "score"
242
+ ]
243
+ },
244
+ {
245
+ "label": "Level",
246
+ "value": [
247
+ "object/get",
248
+ [
249
+ "array/first",
250
+ "@entity"
251
+ ],
252
+ "level"
253
+ ]
254
+ }
255
+ ]
256
+ }
257
+ ]
258
+ }
193
259
  ]
194
260
  ]
195
261
  },
@@ -202,6 +268,44 @@
202
268
  "render-ui",
203
269
  "modal",
204
270
  null
271
+ ],
272
+ [
273
+ "render-ui",
274
+ "main",
275
+ {
276
+ "type": "game-shell",
277
+ "appName": "Arcade Game",
278
+ "showTopBar": true,
279
+ "children": [
280
+ {
281
+ "type": "game-hud",
282
+ "stats": [
283
+ {
284
+ "label": "Score",
285
+ "value": [
286
+ "object/get",
287
+ [
288
+ "array/first",
289
+ "@entity"
290
+ ],
291
+ "score"
292
+ ]
293
+ },
294
+ {
295
+ "label": "Level",
296
+ "value": [
297
+ "object/get",
298
+ [
299
+ "array/first",
300
+ "@entity"
301
+ ],
302
+ "level"
303
+ ]
304
+ }
305
+ ]
306
+ }
307
+ ]
308
+ }
205
309
  ]
206
310
  ]
207
311
  },
@@ -214,28 +318,49 @@
214
318
  "render-ui",
215
319
  "main",
216
320
  {
217
- "type": "game-over-screen",
218
- "title": "Game Over",
219
- "stats": [
220
- {
221
- "label": "Score",
222
- "value": "@entity.score"
223
- },
224
- {
225
- "label": "Level",
226
- "value": "@entity.level"
227
- }
228
- ],
229
- "menuItems": [
230
- {
231
- "label": "Play Again",
232
- "event": "RESTART",
233
- "variant": "primary"
234
- },
321
+ "type": "game-shell",
322
+ "appName": "Arcade Game",
323
+ "showTopBar": true,
324
+ "children": [
235
325
  {
236
- "label": "Main Menu",
237
- "event": "RESTART",
238
- "variant": "secondary"
326
+ "type": "game-over-screen",
327
+ "title": "Game Over",
328
+ "stats": [
329
+ {
330
+ "label": "Score",
331
+ "value": [
332
+ "object/get",
333
+ [
334
+ "array/first",
335
+ "@entity"
336
+ ],
337
+ "score"
338
+ ]
339
+ },
340
+ {
341
+ "label": "Level",
342
+ "value": [
343
+ "object/get",
344
+ [
345
+ "array/first",
346
+ "@entity"
347
+ ],
348
+ "level"
349
+ ]
350
+ }
351
+ ],
352
+ "menuItems": [
353
+ {
354
+ "label": "Play Again",
355
+ "event": "RESTART",
356
+ "variant": "primary"
357
+ },
358
+ {
359
+ "label": "Main Menu",
360
+ "event": "RESTART",
361
+ "variant": "secondary"
362
+ }
363
+ ]
239
364
  }
240
365
  ]
241
366
  }
@@ -251,14 +376,21 @@
251
376
  "render-ui",
252
377
  "main",
253
378
  {
254
- "type": "game-menu",
255
- "title": "Arcade",
256
- "subtitle": "Main Menu",
257
- "menuItems": [
379
+ "type": "game-shell",
380
+ "appName": "Arcade Game",
381
+ "showTopBar": true,
382
+ "children": [
258
383
  {
259
- "label": "Start Game",
260
- "event": "START",
261
- "variant": "primary"
384
+ "type": "game-menu",
385
+ "title": "Arcade",
386
+ "subtitle": "Main Menu",
387
+ "menuItems": [
388
+ {
389
+ "label": "Start Game",
390
+ "event": "START",
391
+ "variant": "primary"
392
+ }
393
+ ]
262
394
  }
263
395
  ]
264
396
  }
@@ -279,14 +411,21 @@
279
411
  "render-ui",
280
412
  "main",
281
413
  {
282
- "type": "game-menu",
283
- "title": "Arcade",
284
- "subtitle": "Main Menu",
285
- "menuItems": [
414
+ "type": "game-shell",
415
+ "appName": "Arcade Game",
416
+ "showTopBar": true,
417
+ "children": [
286
418
  {
287
- "label": "Start Game",
288
- "event": "START",
289
- "variant": "primary"
419
+ "type": "game-menu",
420
+ "title": "Arcade",
421
+ "subtitle": "Main Menu",
422
+ "menuItems": [
423
+ {
424
+ "label": "Start Game",
425
+ "event": "START",
426
+ "variant": "primary"
427
+ }
428
+ ]
290
429
  }
291
430
  ]
292
431
  }
@@ -390,46 +529,53 @@
390
529
  "render-ui",
391
530
  "main",
392
531
  {
393
- "type": "stack",
394
- "direction": "vertical",
395
- "gap": "md",
532
+ "type": "game-shell",
533
+ "appName": "Arcade Game",
534
+ "showTopBar": true,
396
535
  "children": [
397
536
  {
398
537
  "type": "stack",
399
- "direction": "horizontal",
400
- "gap": "sm",
401
- "align": "center",
538
+ "direction": "vertical",
539
+ "gap": "md",
402
540
  "children": [
403
541
  {
404
- "type": "icon",
405
- "name": "monitor",
406
- "size": "md"
542
+ "type": "stack",
543
+ "direction": "horizontal",
544
+ "gap": "sm",
545
+ "align": "center",
546
+ "children": [
547
+ {
548
+ "type": "icon",
549
+ "name": "monitor",
550
+ "size": "md"
551
+ },
552
+ {
553
+ "type": "typography",
554
+ "content": "ArcadeCanvas Canvas",
555
+ "variant": "h3"
556
+ }
557
+ ]
407
558
  },
408
559
  {
409
560
  "type": "typography",
410
- "content": "ArcadeCanvas Canvas",
411
- "variant": "h3"
561
+ "content": "800x600 @ 60fps",
562
+ "variant": "caption",
563
+ "color": "muted"
564
+ },
565
+ {
566
+ "type": "game-canvas2-d",
567
+ "width": 800,
568
+ "height": 600,
569
+ "fps": 60
570
+ },
571
+ {
572
+ "type": "button",
573
+ "label": "Start",
574
+ "event": "START",
575
+ "variant": "primary",
576
+ "icon": "play"
412
577
  }
413
578
  ]
414
- },
415
- {
416
- "type": "typography",
417
- "content": "800x600 @ 60fps",
418
- "variant": "caption",
419
- "color": "muted"
420
- },
421
- {
422
- "type": "game-canvas2-d",
423
- "width": 800,
424
- "height": 600,
425
- "fps": 60
426
- },
427
- {
428
- "type": "button",
429
- "label": "Start",
430
- "event": "START",
431
- "variant": "primary",
432
- "icon": "play"
433
579
  }
434
580
  ]
435
581
  }
@@ -445,40 +591,47 @@
445
591
  "render-ui",
446
592
  "main",
447
593
  {
448
- "type": "stack",
449
- "direction": "vertical",
450
- "gap": "md",
594
+ "type": "game-shell",
595
+ "appName": "Arcade Game",
596
+ "showTopBar": true,
451
597
  "children": [
452
598
  {
453
599
  "type": "stack",
454
- "direction": "horizontal",
455
- "gap": "sm",
456
- "align": "center",
600
+ "direction": "vertical",
601
+ "gap": "md",
457
602
  "children": [
458
603
  {
459
- "type": "icon",
460
- "name": "monitor",
461
- "size": "md"
604
+ "type": "stack",
605
+ "direction": "horizontal",
606
+ "gap": "sm",
607
+ "align": "center",
608
+ "children": [
609
+ {
610
+ "type": "icon",
611
+ "name": "monitor",
612
+ "size": "md"
613
+ },
614
+ {
615
+ "type": "typography",
616
+ "content": "ArcadeCanvas Canvas",
617
+ "variant": "h3"
618
+ }
619
+ ]
462
620
  },
463
621
  {
464
- "type": "typography",
465
- "content": "ArcadeCanvas Canvas",
466
- "variant": "h3"
622
+ "type": "game-canvas2-d",
623
+ "width": 800,
624
+ "height": 600,
625
+ "fps": 60
626
+ },
627
+ {
628
+ "type": "button",
629
+ "label": "Stop",
630
+ "event": "STOP",
631
+ "variant": "ghost",
632
+ "icon": "square"
467
633
  }
468
634
  ]
469
- },
470
- {
471
- "type": "game-canvas2-d",
472
- "width": 800,
473
- "height": 600,
474
- "fps": 60
475
- },
476
- {
477
- "type": "button",
478
- "label": "Stop",
479
- "event": "STOP",
480
- "variant": "ghost",
481
- "icon": "square"
482
635
  }
483
636
  ]
484
637
  }
@@ -500,46 +653,53 @@
500
653
  "render-ui",
501
654
  "main",
502
655
  {
503
- "type": "stack",
504
- "direction": "vertical",
505
- "gap": "md",
656
+ "type": "game-shell",
657
+ "appName": "Arcade Game",
658
+ "showTopBar": true,
506
659
  "children": [
507
660
  {
508
661
  "type": "stack",
509
- "direction": "horizontal",
510
- "gap": "sm",
511
- "align": "center",
662
+ "direction": "vertical",
663
+ "gap": "md",
512
664
  "children": [
513
665
  {
514
- "type": "icon",
515
- "name": "monitor",
516
- "size": "md"
666
+ "type": "stack",
667
+ "direction": "horizontal",
668
+ "gap": "sm",
669
+ "align": "center",
670
+ "children": [
671
+ {
672
+ "type": "icon",
673
+ "name": "monitor",
674
+ "size": "md"
675
+ },
676
+ {
677
+ "type": "typography",
678
+ "content": "ArcadeCanvas Canvas",
679
+ "variant": "h3"
680
+ }
681
+ ]
517
682
  },
518
683
  {
519
684
  "type": "typography",
520
- "content": "ArcadeCanvas Canvas",
521
- "variant": "h3"
685
+ "content": "800x600 @ 60fps",
686
+ "variant": "caption",
687
+ "color": "muted"
688
+ },
689
+ {
690
+ "type": "game-canvas2-d",
691
+ "width": 800,
692
+ "height": 600,
693
+ "fps": 60
694
+ },
695
+ {
696
+ "type": "button",
697
+ "label": "Start",
698
+ "event": "START",
699
+ "variant": "primary",
700
+ "icon": "play"
522
701
  }
523
702
  ]
524
- },
525
- {
526
- "type": "typography",
527
- "content": "800x600 @ 60fps",
528
- "variant": "caption",
529
- "color": "muted"
530
- },
531
- {
532
- "type": "game-canvas2-d",
533
- "width": 800,
534
- "height": 600,
535
- "fps": 60
536
- },
537
- {
538
- "type": "button",
539
- "label": "Start",
540
- "event": "START",
541
- "variant": "primary",
542
- "icon": "play"
543
703
  }
544
704
  ]
545
705
  }
@@ -666,12 +826,19 @@
666
826
  "render-ui",
667
827
  "main",
668
828
  {
669
- "type": "score-board",
670
- "score": "@entity.score",
671
- "highScore": "@entity.highScore",
672
- "combo": "@entity.combo",
673
- "multiplier": "@entity.multiplier",
674
- "level": "@entity.level"
829
+ "type": "game-shell",
830
+ "appName": "Arcade Game",
831
+ "showTopBar": true,
832
+ "children": [
833
+ {
834
+ "type": "score-board",
835
+ "score": "@entity.score",
836
+ "highScore": "@entity.highScore",
837
+ "combo": "@entity.combo",
838
+ "multiplier": "@entity.multiplier",
839
+ "level": "@entity.level"
840
+ }
841
+ ]
675
842
  }
676
843
  ]
677
844
  ]
@@ -703,12 +870,19 @@
703
870
  "render-ui",
704
871
  "main",
705
872
  {
706
- "type": "score-board",
707
- "score": "@entity.score",
708
- "highScore": "@entity.highScore",
709
- "combo": "@entity.combo",
710
- "multiplier": "@entity.multiplier",
711
- "level": "@entity.level"
873
+ "type": "game-shell",
874
+ "appName": "Arcade Game",
875
+ "showTopBar": true,
876
+ "children": [
877
+ {
878
+ "type": "score-board",
879
+ "score": "@entity.score",
880
+ "highScore": "@entity.highScore",
881
+ "combo": "@entity.combo",
882
+ "multiplier": "@entity.multiplier",
883
+ "level": "@entity.level"
884
+ }
885
+ ]
712
886
  }
713
887
  ]
714
888
  ]
@@ -727,12 +901,19 @@
727
901
  "render-ui",
728
902
  "main",
729
903
  {
730
- "type": "score-board",
731
- "score": "@entity.score",
732
- "highScore": "@entity.highScore",
733
- "combo": "@entity.combo",
734
- "multiplier": "@entity.multiplier",
735
- "level": "@entity.level"
904
+ "type": "game-shell",
905
+ "appName": "Arcade Game",
906
+ "showTopBar": true,
907
+ "children": [
908
+ {
909
+ "type": "score-board",
910
+ "score": "@entity.score",
911
+ "highScore": "@entity.highScore",
912
+ "combo": "@entity.combo",
913
+ "multiplier": "@entity.multiplier",
914
+ "level": "@entity.level"
915
+ }
916
+ ]
736
917
  }
737
918
  ]
738
919
  ]
@@ -761,12 +942,19 @@
761
942
  "render-ui",
762
943
  "main",
763
944
  {
764
- "type": "score-board",
765
- "score": "@entity.score",
766
- "highScore": "@entity.highScore",
767
- "combo": "@entity.combo",
768
- "multiplier": "@entity.multiplier",
769
- "level": "@entity.level"
945
+ "type": "game-shell",
946
+ "appName": "Arcade Game",
947
+ "showTopBar": true,
948
+ "children": [
949
+ {
950
+ "type": "score-board",
951
+ "score": "@entity.score",
952
+ "highScore": "@entity.highScore",
953
+ "combo": "@entity.combo",
954
+ "multiplier": "@entity.multiplier",
955
+ "level": "@entity.level"
956
+ }
957
+ ]
770
958
  }
771
959
  ]
772
960
  ]
@@ -856,26 +1044,33 @@
856
1044
  "render-ui",
857
1045
  "main",
858
1046
  {
859
- "type": "game-hud",
860
- "position": "top-left",
861
- "size": "md",
862
- "transparent": false,
863
- "stats": [
864
- {
865
- "label": "Score",
866
- "value": "@entity.score"
867
- },
868
- {
869
- "label": "Lives",
870
- "value": "@entity.lives"
871
- },
872
- {
873
- "label": "Level",
874
- "value": "@entity.level"
875
- },
1047
+ "type": "game-shell",
1048
+ "appName": "Arcade Game",
1049
+ "showTopBar": true,
1050
+ "children": [
876
1051
  {
877
- "label": "Timer",
878
- "value": "@entity.timer"
1052
+ "type": "game-hud",
1053
+ "position": "top-left",
1054
+ "size": "md",
1055
+ "transparent": false,
1056
+ "stats": [
1057
+ {
1058
+ "label": "Score",
1059
+ "value": "@entity.score"
1060
+ },
1061
+ {
1062
+ "label": "Lives",
1063
+ "value": "@entity.lives"
1064
+ },
1065
+ {
1066
+ "label": "Level",
1067
+ "value": "@entity.level"
1068
+ },
1069
+ {
1070
+ "label": "Timer",
1071
+ "value": "@entity.timer"
1072
+ }
1073
+ ]
879
1074
  }
880
1075
  ]
881
1076
  }
@@ -895,26 +1090,33 @@
895
1090
  "render-ui",
896
1091
  "main",
897
1092
  {
898
- "type": "game-hud",
899
- "position": "top-left",
900
- "size": "md",
901
- "transparent": false,
902
- "stats": [
903
- {
904
- "label": "Score",
905
- "value": "@entity.score"
906
- },
907
- {
908
- "label": "Lives",
909
- "value": "@entity.lives"
910
- },
911
- {
912
- "label": "Level",
913
- "value": "@entity.level"
914
- },
1093
+ "type": "game-shell",
1094
+ "appName": "Arcade Game",
1095
+ "showTopBar": true,
1096
+ "children": [
915
1097
  {
916
- "label": "Timer",
917
- "value": "@entity.timer"
1098
+ "type": "game-hud",
1099
+ "position": "top-left",
1100
+ "size": "md",
1101
+ "transparent": false,
1102
+ "stats": [
1103
+ {
1104
+ "label": "Score",
1105
+ "value": "@entity.score"
1106
+ },
1107
+ {
1108
+ "label": "Lives",
1109
+ "value": "@entity.lives"
1110
+ },
1111
+ {
1112
+ "label": "Level",
1113
+ "value": "@entity.level"
1114
+ },
1115
+ {
1116
+ "label": "Timer",
1117
+ "value": "@entity.timer"
1118
+ }
1119
+ ]
918
1120
  }
919
1121
  ]
920
1122
  }