@almadar/std 3.1.0 → 3.1.2

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 (256) hide show
  1. package/behaviors/exports/atoms/std-async.orb +2 -1
  2. package/behaviors/exports/atoms/std-browse.orb +2 -1
  3. package/behaviors/exports/atoms/std-cache-aside.orb +2 -1
  4. package/behaviors/exports/atoms/std-circuit-breaker.orb +2 -1
  5. package/behaviors/exports/atoms/std-collision.orb +2 -1
  6. package/behaviors/exports/atoms/std-combat-log.orb +2 -1
  7. package/behaviors/exports/atoms/std-combat.orb +2 -1
  8. package/behaviors/exports/atoms/std-confirmation.orb +2 -1
  9. package/behaviors/exports/atoms/std-dialogue-box.orb +2 -1
  10. package/behaviors/exports/atoms/std-display.orb +2 -1
  11. package/behaviors/exports/atoms/std-drawer.orb +2 -1
  12. package/behaviors/exports/atoms/std-filter.orb +2 -1
  13. package/behaviors/exports/atoms/std-game-audio.orb +2 -1
  14. package/behaviors/exports/atoms/std-game-hud.orb +2 -1
  15. package/behaviors/exports/atoms/std-game-menu.orb +2 -1
  16. package/behaviors/exports/atoms/std-game-over-screen.orb +2 -1
  17. package/behaviors/exports/atoms/std-gameflow.orb +2 -1
  18. package/behaviors/exports/atoms/std-input.orb +2 -1
  19. package/behaviors/exports/atoms/std-inventory-panel.orb +2 -1
  20. package/behaviors/exports/atoms/std-isometric-canvas.orb +2 -1
  21. package/behaviors/exports/atoms/std-loading.orb +2 -1
  22. package/behaviors/exports/atoms/std-modal.orb +2 -1
  23. package/behaviors/exports/atoms/std-movement.orb +2 -1
  24. package/behaviors/exports/atoms/std-notification.orb +2 -1
  25. package/behaviors/exports/atoms/std-overworld.orb +2 -1
  26. package/behaviors/exports/atoms/std-pagination.orb +2 -1
  27. package/behaviors/exports/atoms/std-physics2d.orb +2 -1
  28. package/behaviors/exports/atoms/std-platformer-canvas.orb +2 -1
  29. package/behaviors/exports/atoms/std-quest.orb +2 -1
  30. package/behaviors/exports/atoms/std-rate-limiter.orb +2 -1
  31. package/behaviors/exports/atoms/std-score-board.orb +2 -1
  32. package/behaviors/exports/atoms/std-score.orb +2 -1
  33. package/behaviors/exports/atoms/std-search.orb +2 -1
  34. package/behaviors/exports/atoms/std-selection.orb +2 -1
  35. package/behaviors/exports/atoms/std-simulation-canvas.orb +2 -1
  36. package/behaviors/exports/atoms/std-sort.orb +2 -1
  37. package/behaviors/exports/atoms/std-sprite.orb +2 -1
  38. package/behaviors/exports/atoms/std-tabs.orb +2 -1
  39. package/behaviors/exports/atoms/std-timer.orb +2 -1
  40. package/behaviors/exports/atoms/std-undo.orb +2 -1
  41. package/behaviors/exports/atoms/std-wizard.orb +2 -1
  42. package/behaviors/exports/molecules/std-builder-game.orb +2 -1
  43. package/behaviors/exports/molecules/std-cart.orb +2 -1
  44. package/behaviors/exports/molecules/std-classifier-game.orb +2 -1
  45. package/behaviors/exports/molecules/std-debugger-game.orb +2 -1
  46. package/behaviors/exports/molecules/std-detail.orb +2 -1
  47. package/behaviors/exports/molecules/std-event-handler-game.orb +2 -1
  48. package/behaviors/exports/molecules/std-geospatial.orb +2 -1
  49. package/behaviors/exports/molecules/std-inventory.orb +2 -1
  50. package/behaviors/exports/molecules/std-list.orb +2 -1
  51. package/behaviors/exports/molecules/std-messaging.orb +2 -1
  52. package/behaviors/exports/molecules/std-negotiator-game.orb +2 -1
  53. package/behaviors/exports/molecules/std-platformer-game.orb +2 -1
  54. package/behaviors/exports/molecules/std-puzzle-game.orb +2 -1
  55. package/behaviors/exports/molecules/std-sequencer-game.orb +2 -1
  56. package/behaviors/exports/molecules/std-simulator-game.orb +2 -1
  57. package/behaviors/exports/molecules/std-turn-based-battle.orb +2 -1
  58. package/behaviors/exports/organisms/std-api-gateway.orb +2 -1
  59. package/behaviors/exports/organisms/std-arcade-game.orb +2 -1
  60. package/behaviors/exports/organisms/std-booking-system.orb +2 -1
  61. package/behaviors/exports/organisms/std-cicd-pipeline.orb +2 -1
  62. package/behaviors/exports/organisms/std-cms.orb +2 -1
  63. package/behaviors/exports/organisms/std-coding-academy.orb +2 -1
  64. package/behaviors/exports/organisms/std-crm.orb +2 -1
  65. package/behaviors/exports/organisms/std-devops-dashboard.orb +2 -1
  66. package/behaviors/exports/organisms/std-ecommerce.orb +2 -1
  67. package/behaviors/exports/organisms/std-finance-tracker.orb +2 -1
  68. package/behaviors/exports/organisms/std-healthcare.orb +2 -1
  69. package/behaviors/exports/organisms/std-helpdesk.orb +2 -1
  70. package/behaviors/exports/organisms/std-hr-portal.orb +2 -1
  71. package/behaviors/exports/organisms/std-iot-dashboard.orb +2 -1
  72. package/behaviors/exports/organisms/std-lms.orb +2 -1
  73. package/behaviors/exports/organisms/std-logic-training.orb +2 -1
  74. package/behaviors/exports/organisms/std-platformer-app.orb +2 -1
  75. package/behaviors/exports/organisms/std-project-manager.orb +2 -1
  76. package/behaviors/exports/organisms/std-puzzle-app.orb +2 -1
  77. package/behaviors/exports/organisms/std-realtime-chat.orb +2 -1
  78. package/behaviors/exports/organisms/std-rpg-game.orb +2 -1
  79. package/behaviors/exports/organisms/std-social-feed.orb +2 -1
  80. package/behaviors/exports/organisms/std-stem-lab.orb +2 -1
  81. package/behaviors/exports/organisms/std-strategy-game.orb +2 -1
  82. package/behaviors/exports/organisms/std-trading-dashboard.orb +2 -1
  83. package/dist/behaviors/exports/atoms/std-async.orb +421 -0
  84. package/dist/behaviors/exports/atoms/std-browse.orb +174 -0
  85. package/dist/behaviors/exports/atoms/std-cache-aside.orb +882 -0
  86. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +502 -0
  87. package/dist/behaviors/exports/atoms/std-collision.orb +617 -0
  88. package/dist/behaviors/exports/atoms/std-combat-log.orb +146 -0
  89. package/dist/behaviors/exports/atoms/std-combat.orb +411 -0
  90. package/dist/behaviors/exports/atoms/std-confirmation.orb +283 -0
  91. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +239 -0
  92. package/dist/behaviors/exports/atoms/std-display.orb +843 -0
  93. package/dist/behaviors/exports/atoms/std-drawer.orb +317 -0
  94. package/dist/behaviors/exports/atoms/std-filter.orb +443 -0
  95. package/dist/behaviors/exports/atoms/std-game-audio.orb +114 -0
  96. package/dist/behaviors/exports/atoms/std-game-hud.orb +152 -0
  97. package/dist/behaviors/exports/atoms/std-game-menu.orb +212 -0
  98. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +196 -0
  99. package/dist/behaviors/exports/atoms/std-gameflow.orb +319 -0
  100. package/dist/behaviors/exports/atoms/std-input.orb +630 -0
  101. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +256 -0
  102. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +632 -0
  103. package/dist/behaviors/exports/atoms/std-loading.orb +512 -0
  104. package/dist/behaviors/exports/atoms/std-modal.orb +271 -0
  105. package/dist/behaviors/exports/atoms/std-movement.orb +1038 -0
  106. package/dist/behaviors/exports/atoms/std-notification.orb +419 -0
  107. package/dist/behaviors/exports/atoms/std-overworld.orb +484 -0
  108. package/dist/behaviors/exports/atoms/std-pagination.orb +332 -0
  109. package/dist/behaviors/exports/atoms/std-physics2d.orb +420 -0
  110. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +258 -0
  111. package/dist/behaviors/exports/atoms/std-quest.orb +981 -0
  112. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +639 -0
  113. package/dist/behaviors/exports/atoms/std-score-board.orb +239 -0
  114. package/dist/behaviors/exports/atoms/std-score.orb +467 -0
  115. package/dist/behaviors/exports/atoms/std-search.orb +374 -0
  116. package/dist/behaviors/exports/atoms/std-selection.orb +760 -0
  117. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +184 -0
  118. package/dist/behaviors/exports/atoms/std-sort.orb +579 -0
  119. package/dist/behaviors/exports/atoms/std-sprite.orb +157 -0
  120. package/dist/behaviors/exports/atoms/std-tabs.orb +275 -0
  121. package/dist/behaviors/exports/atoms/std-timer.orb +1031 -0
  122. package/dist/behaviors/exports/atoms/std-undo.orb +695 -0
  123. package/dist/behaviors/exports/atoms/std-wizard.orb +667 -0
  124. package/dist/behaviors/exports/molecules/std-builder-game.orb +184 -0
  125. package/dist/behaviors/exports/molecules/std-cart.orb +592 -0
  126. package/dist/behaviors/exports/molecules/std-classifier-game.orb +184 -0
  127. package/dist/behaviors/exports/molecules/std-debugger-game.orb +184 -0
  128. package/dist/behaviors/exports/molecules/std-detail.orb +590 -0
  129. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +184 -0
  130. package/dist/behaviors/exports/molecules/std-geospatial.orb +650 -0
  131. package/dist/behaviors/exports/molecules/std-inventory.orb +854 -0
  132. package/dist/behaviors/exports/molecules/std-list.orb +955 -0
  133. package/dist/behaviors/exports/molecules/std-messaging.orb +586 -0
  134. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +184 -0
  135. package/dist/behaviors/exports/molecules/std-platformer-game.orb +497 -0
  136. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +528 -0
  137. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +184 -0
  138. package/dist/behaviors/exports/molecules/std-simulator-game.orb +184 -0
  139. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +444 -0
  140. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2297 -0
  141. package/dist/behaviors/exports/organisms/std-arcade-game.orb +834 -0
  142. package/dist/behaviors/exports/organisms/std-booking-system.orb +3978 -0
  143. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2215 -0
  144. package/dist/behaviors/exports/organisms/std-cms.orb +2645 -0
  145. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1395 -0
  146. package/dist/behaviors/exports/organisms/std-crm.orb +3542 -0
  147. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +3135 -0
  148. package/dist/behaviors/exports/organisms/std-ecommerce.orb +3744 -0
  149. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +2386 -0
  150. package/dist/behaviors/exports/organisms/std-healthcare.orb +4680 -0
  151. package/dist/behaviors/exports/organisms/std-helpdesk.orb +2565 -0
  152. package/dist/behaviors/exports/organisms/std-hr-portal.orb +4030 -0
  153. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2298 -0
  154. package/dist/behaviors/exports/organisms/std-lms.orb +2855 -0
  155. package/dist/behaviors/exports/organisms/std-logic-training.orb +599 -0
  156. package/dist/behaviors/exports/organisms/std-platformer-app.orb +1570 -0
  157. package/dist/behaviors/exports/organisms/std-project-manager.orb +3022 -0
  158. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +744 -0
  159. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +2381 -0
  160. package/dist/behaviors/exports/organisms/std-rpg-game.orb +2805 -0
  161. package/dist/behaviors/exports/organisms/std-social-feed.orb +1222 -0
  162. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1211 -0
  163. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1762 -0
  164. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +2218 -0
  165. package/dist/behaviors/exports-reader.d.ts +2 -0
  166. package/dist/behaviors/exports-reader.js +5 -3
  167. package/dist/behaviors/exports-reader.js.map +1 -1
  168. package/dist/behaviors/index.js +5 -3
  169. package/dist/behaviors/index.js.map +1 -1
  170. package/dist/exports/atoms/std-async.orb +421 -0
  171. package/dist/exports/atoms/std-browse.orb +174 -0
  172. package/dist/exports/atoms/std-cache-aside.orb +882 -0
  173. package/dist/exports/atoms/std-circuit-breaker.orb +502 -0
  174. package/dist/exports/atoms/std-collision.orb +617 -0
  175. package/dist/exports/atoms/std-combat-log.orb +146 -0
  176. package/dist/exports/atoms/std-combat.orb +411 -0
  177. package/dist/exports/atoms/std-confirmation.orb +283 -0
  178. package/dist/exports/atoms/std-dialogue-box.orb +239 -0
  179. package/dist/exports/atoms/std-display.orb +843 -0
  180. package/dist/exports/atoms/std-drawer.orb +317 -0
  181. package/dist/exports/atoms/std-filter.orb +443 -0
  182. package/dist/exports/atoms/std-game-audio.orb +114 -0
  183. package/dist/exports/atoms/std-game-hud.orb +152 -0
  184. package/dist/exports/atoms/std-game-menu.orb +212 -0
  185. package/dist/exports/atoms/std-game-over-screen.orb +196 -0
  186. package/dist/exports/atoms/std-gameflow.orb +319 -0
  187. package/dist/exports/atoms/std-input.orb +630 -0
  188. package/dist/exports/atoms/std-inventory-panel.orb +256 -0
  189. package/dist/exports/atoms/std-isometric-canvas.orb +632 -0
  190. package/dist/exports/atoms/std-loading.orb +512 -0
  191. package/dist/exports/atoms/std-modal.orb +271 -0
  192. package/dist/exports/atoms/std-movement.orb +1038 -0
  193. package/dist/exports/atoms/std-notification.orb +419 -0
  194. package/dist/exports/atoms/std-overworld.orb +484 -0
  195. package/dist/exports/atoms/std-pagination.orb +332 -0
  196. package/dist/exports/atoms/std-physics2d.orb +420 -0
  197. package/dist/exports/atoms/std-platformer-canvas.orb +258 -0
  198. package/dist/exports/atoms/std-quest.orb +981 -0
  199. package/dist/exports/atoms/std-rate-limiter.orb +639 -0
  200. package/dist/exports/atoms/std-score-board.orb +239 -0
  201. package/dist/exports/atoms/std-score.orb +467 -0
  202. package/dist/exports/atoms/std-search.orb +374 -0
  203. package/dist/exports/atoms/std-selection.orb +760 -0
  204. package/dist/exports/atoms/std-simulation-canvas.orb +184 -0
  205. package/dist/exports/atoms/std-sort.orb +579 -0
  206. package/dist/exports/atoms/std-sprite.orb +157 -0
  207. package/dist/exports/atoms/std-tabs.orb +275 -0
  208. package/dist/exports/atoms/std-timer.orb +1031 -0
  209. package/dist/exports/atoms/std-undo.orb +695 -0
  210. package/dist/exports/atoms/std-wizard.orb +667 -0
  211. package/dist/exports/molecules/std-builder-game.orb +184 -0
  212. package/dist/exports/molecules/std-cart.orb +592 -0
  213. package/dist/exports/molecules/std-classifier-game.orb +184 -0
  214. package/dist/exports/molecules/std-debugger-game.orb +184 -0
  215. package/dist/exports/molecules/std-detail.orb +590 -0
  216. package/dist/exports/molecules/std-event-handler-game.orb +184 -0
  217. package/dist/exports/molecules/std-geospatial.orb +650 -0
  218. package/dist/exports/molecules/std-inventory.orb +854 -0
  219. package/dist/exports/molecules/std-list.orb +955 -0
  220. package/dist/exports/molecules/std-messaging.orb +586 -0
  221. package/dist/exports/molecules/std-negotiator-game.orb +184 -0
  222. package/dist/exports/molecules/std-platformer-game.orb +497 -0
  223. package/dist/exports/molecules/std-puzzle-game.orb +528 -0
  224. package/dist/exports/molecules/std-sequencer-game.orb +184 -0
  225. package/dist/exports/molecules/std-simulator-game.orb +184 -0
  226. package/dist/exports/molecules/std-turn-based-battle.orb +444 -0
  227. package/dist/exports/organisms/std-api-gateway.orb +2297 -0
  228. package/dist/exports/organisms/std-arcade-game.orb +834 -0
  229. package/dist/exports/organisms/std-booking-system.orb +3978 -0
  230. package/dist/exports/organisms/std-cicd-pipeline.orb +2215 -0
  231. package/dist/exports/organisms/std-cms.orb +2645 -0
  232. package/dist/exports/organisms/std-coding-academy.orb +1395 -0
  233. package/dist/exports/organisms/std-crm.orb +3542 -0
  234. package/dist/exports/organisms/std-devops-dashboard.orb +3135 -0
  235. package/dist/exports/organisms/std-ecommerce.orb +3744 -0
  236. package/dist/exports/organisms/std-finance-tracker.orb +2386 -0
  237. package/dist/exports/organisms/std-healthcare.orb +4680 -0
  238. package/dist/exports/organisms/std-helpdesk.orb +2565 -0
  239. package/dist/exports/organisms/std-hr-portal.orb +4030 -0
  240. package/dist/exports/organisms/std-iot-dashboard.orb +2298 -0
  241. package/dist/exports/organisms/std-lms.orb +2855 -0
  242. package/dist/exports/organisms/std-logic-training.orb +599 -0
  243. package/dist/exports/organisms/std-platformer-app.orb +1570 -0
  244. package/dist/exports/organisms/std-project-manager.orb +3022 -0
  245. package/dist/exports/organisms/std-puzzle-app.orb +744 -0
  246. package/dist/exports/organisms/std-realtime-chat.orb +2381 -0
  247. package/dist/exports/organisms/std-rpg-game.orb +2805 -0
  248. package/dist/exports/organisms/std-social-feed.orb +1222 -0
  249. package/dist/exports/organisms/std-stem-lab.orb +1211 -0
  250. package/dist/exports/organisms/std-strategy-game.orb +1762 -0
  251. package/dist/exports/organisms/std-trading-dashboard.orb +2218 -0
  252. package/dist/index.js +5 -3
  253. package/dist/index.js.map +1 -1
  254. package/package.json +1 -1
  255. package/behaviors/exports/atoms/std-game-canvas-2d.orb +0 -135
  256. package/behaviors/exports/atoms/std-game-canvas-3d.orb +0 -224
@@ -0,0 +1,184 @@
1
+ {
2
+ "name": "ItemOrbital",
3
+ "orbitals": [
4
+ {
5
+ "name": "ItemOrbital",
6
+ "entity": {
7
+ "name": "Item",
8
+ "persistence": "runtime",
9
+ "fields": [
10
+ {
11
+ "name": "id",
12
+ "type": "string"
13
+ },
14
+ {
15
+ "name": "name",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "name": "description",
20
+ "type": "string"
21
+ },
22
+ {
23
+ "name": "status",
24
+ "type": "string",
25
+ "default": "active"
26
+ },
27
+ {
28
+ "name": "createdAt",
29
+ "type": "string"
30
+ }
31
+ ]
32
+ },
33
+ "traits": [
34
+ {
35
+ "name": "ItemNegotiatorGame",
36
+ "linkedEntity": "Item",
37
+ "category": "interaction",
38
+ "stateMachine": {
39
+ "states": [
40
+ {
41
+ "name": "menu",
42
+ "isInitial": true
43
+ },
44
+ {
45
+ "name": "playing"
46
+ },
47
+ {
48
+ "name": "complete"
49
+ }
50
+ ],
51
+ "events": [
52
+ {
53
+ "key": "INIT",
54
+ "name": "Initialize"
55
+ },
56
+ {
57
+ "key": "START",
58
+ "name": "Start"
59
+ },
60
+ {
61
+ "key": "COMPLETE",
62
+ "name": "Complete"
63
+ },
64
+ {
65
+ "key": "RESTART",
66
+ "name": "Restart"
67
+ },
68
+ {
69
+ "key": "NAVIGATE",
70
+ "name": "Navigate"
71
+ }
72
+ ],
73
+ "transitions": [
74
+ {
75
+ "from": "menu",
76
+ "to": "menu",
77
+ "event": "INIT",
78
+ "effects": [
79
+ [
80
+ "fetch",
81
+ "Item"
82
+ ],
83
+ [
84
+ "render-ui",
85
+ "main",
86
+ {
87
+ "type": "game-menu",
88
+ "title": "Negotiator",
89
+ "menuItems": [
90
+ {
91
+ "label": "Start",
92
+ "event": "START",
93
+ "variant": "primary"
94
+ }
95
+ ]
96
+ }
97
+ ]
98
+ ]
99
+ },
100
+ {
101
+ "from": "menu",
102
+ "to": "playing",
103
+ "event": "START",
104
+ "effects": [
105
+ [
106
+ "render-ui",
107
+ "main",
108
+ {
109
+ "type": "negotiator-board",
110
+ "entity": "Item",
111
+ "completeEvent": "COMPLETE"
112
+ }
113
+ ]
114
+ ]
115
+ },
116
+ {
117
+ "from": "menu",
118
+ "to": "menu",
119
+ "event": "NAVIGATE",
120
+ "effects": []
121
+ },
122
+ {
123
+ "from": "playing",
124
+ "to": "complete",
125
+ "event": "COMPLETE",
126
+ "effects": [
127
+ [
128
+ "render-ui",
129
+ "main",
130
+ {
131
+ "type": "game-over-screen",
132
+ "title": "Well Done!",
133
+ "menuItems": [
134
+ {
135
+ "label": "Play Again",
136
+ "event": "RESTART",
137
+ "variant": "primary"
138
+ }
139
+ ]
140
+ }
141
+ ]
142
+ ]
143
+ },
144
+ {
145
+ "from": "complete",
146
+ "to": "menu",
147
+ "event": "RESTART",
148
+ "effects": [
149
+ [
150
+ "render-ui",
151
+ "main",
152
+ {
153
+ "type": "game-menu",
154
+ "title": "Negotiator",
155
+ "menuItems": [
156
+ {
157
+ "label": "Start",
158
+ "event": "START",
159
+ "variant": "primary"
160
+ }
161
+ ]
162
+ }
163
+ ]
164
+ ]
165
+ }
166
+ ]
167
+ }
168
+ }
169
+ ],
170
+ "pages": [
171
+ {
172
+ "name": "ItemPage",
173
+ "path": "/items",
174
+ "traits": [
175
+ {
176
+ "ref": "ItemNegotiatorGame"
177
+ }
178
+ ]
179
+ }
180
+ ]
181
+ }
182
+ ],
183
+ "description": "Educational game molecule: menu -> playing -> complete. Uses the `negotiator-board` pattern for the playing state."
184
+ }
@@ -0,0 +1,497 @@
1
+ {
2
+ "name": "ItemOrbital",
3
+ "orbitals": [
4
+ {
5
+ "name": "ItemOrbital",
6
+ "entity": {
7
+ "name": "Item",
8
+ "persistence": "runtime",
9
+ "fields": [
10
+ {
11
+ "name": "id",
12
+ "type": "string"
13
+ },
14
+ {
15
+ "name": "name",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "name": "description",
20
+ "type": "string"
21
+ },
22
+ {
23
+ "name": "status",
24
+ "type": "string",
25
+ "default": "active"
26
+ },
27
+ {
28
+ "name": "createdAt",
29
+ "type": "string"
30
+ },
31
+ {
32
+ "name": "score",
33
+ "type": "number",
34
+ "default": 0
35
+ },
36
+ {
37
+ "name": "lives",
38
+ "type": "number",
39
+ "default": 3
40
+ },
41
+ {
42
+ "name": "player",
43
+ "type": "string",
44
+ "default": ""
45
+ },
46
+ {
47
+ "name": "platforms",
48
+ "type": "string",
49
+ "default": ""
50
+ }
51
+ ]
52
+ },
53
+ "traits": [
54
+ {
55
+ "name": "ItemPlatformerFlow",
56
+ "linkedEntity": "Item",
57
+ "category": "interaction",
58
+ "stateMachine": {
59
+ "states": [
60
+ {
61
+ "name": "menu",
62
+ "isInitial": true
63
+ },
64
+ {
65
+ "name": "playing"
66
+ },
67
+ {
68
+ "name": "paused"
69
+ },
70
+ {
71
+ "name": "gameover"
72
+ }
73
+ ],
74
+ "events": [
75
+ {
76
+ "key": "INIT",
77
+ "name": "Initialize"
78
+ },
79
+ {
80
+ "key": "START",
81
+ "name": "Start Game"
82
+ },
83
+ {
84
+ "key": "LEFT",
85
+ "name": "Move Left"
86
+ },
87
+ {
88
+ "key": "RIGHT",
89
+ "name": "Move Right"
90
+ },
91
+ {
92
+ "key": "JUMP",
93
+ "name": "Jump"
94
+ },
95
+ {
96
+ "key": "STOP",
97
+ "name": "Stop"
98
+ },
99
+ {
100
+ "key": "PAUSE",
101
+ "name": "Pause"
102
+ },
103
+ {
104
+ "key": "RESUME",
105
+ "name": "Resume"
106
+ },
107
+ {
108
+ "key": "GAME_OVER",
109
+ "name": "Game Over"
110
+ },
111
+ {
112
+ "key": "RESTART",
113
+ "name": "Restart"
114
+ },
115
+ {
116
+ "key": "CLOSE",
117
+ "name": "Close"
118
+ },
119
+ {
120
+ "key": "NAVIGATE",
121
+ "name": "Navigate"
122
+ }
123
+ ],
124
+ "transitions": [
125
+ {
126
+ "from": "menu",
127
+ "to": "menu",
128
+ "event": "INIT",
129
+ "effects": [
130
+ [
131
+ "fetch",
132
+ "Item"
133
+ ],
134
+ [
135
+ "render-ui",
136
+ "main",
137
+ {
138
+ "type": "game-menu",
139
+ "title": "Platformer",
140
+ "subtitle": "Side-Scrolling Adventure",
141
+ "menuItems": [
142
+ {
143
+ "label": "Start Game",
144
+ "event": "START",
145
+ "variant": "primary"
146
+ }
147
+ ]
148
+ }
149
+ ]
150
+ ]
151
+ },
152
+ {
153
+ "from": "menu",
154
+ "to": "playing",
155
+ "event": "START",
156
+ "effects": [
157
+ [
158
+ "render-ui",
159
+ "main",
160
+ {
161
+ "type": "platformer-canvas",
162
+ "canvasWidth": 800,
163
+ "canvasHeight": 400,
164
+ "worldWidth": 2400,
165
+ "worldHeight": 400,
166
+ "followCamera": true,
167
+ "bgColor": "#1a1a2e",
168
+ "leftEvent": "LEFT",
169
+ "rightEvent": "RIGHT",
170
+ "jumpEvent": "JUMP",
171
+ "stopEvent": "STOP"
172
+ }
173
+ ]
174
+ ]
175
+ },
176
+ {
177
+ "from": "playing",
178
+ "to": "playing",
179
+ "event": "LEFT",
180
+ "effects": []
181
+ },
182
+ {
183
+ "from": "playing",
184
+ "to": "playing",
185
+ "event": "RIGHT",
186
+ "effects": []
187
+ },
188
+ {
189
+ "from": "playing",
190
+ "to": "playing",
191
+ "event": "JUMP",
192
+ "effects": []
193
+ },
194
+ {
195
+ "from": "playing",
196
+ "to": "playing",
197
+ "event": "STOP",
198
+ "effects": []
199
+ },
200
+ {
201
+ "from": "menu",
202
+ "to": "menu",
203
+ "event": "NAVIGATE",
204
+ "effects": []
205
+ },
206
+ {
207
+ "from": "paused",
208
+ "to": "paused",
209
+ "event": "NAVIGATE",
210
+ "effects": []
211
+ },
212
+ {
213
+ "from": "playing",
214
+ "to": "paused",
215
+ "event": "PAUSE",
216
+ "effects": [
217
+ [
218
+ "render-ui",
219
+ "modal",
220
+ {
221
+ "type": "game-menu",
222
+ "title": "Paused",
223
+ "menuItems": [
224
+ {
225
+ "label": "Resume",
226
+ "event": "RESUME",
227
+ "variant": "primary"
228
+ },
229
+ {
230
+ "label": "Quit",
231
+ "event": "RESTART",
232
+ "variant": "ghost"
233
+ }
234
+ ]
235
+ }
236
+ ]
237
+ ]
238
+ },
239
+ {
240
+ "from": "paused",
241
+ "to": "playing",
242
+ "event": "RESUME",
243
+ "effects": [
244
+ [
245
+ "render-ui",
246
+ "modal",
247
+ null
248
+ ]
249
+ ]
250
+ },
251
+ {
252
+ "from": "paused",
253
+ "to": "playing",
254
+ "event": "CLOSE",
255
+ "effects": [
256
+ [
257
+ "render-ui",
258
+ "modal",
259
+ null
260
+ ]
261
+ ]
262
+ },
263
+ {
264
+ "from": "playing",
265
+ "to": "gameover",
266
+ "event": "GAME_OVER",
267
+ "effects": [
268
+ [
269
+ "render-ui",
270
+ "main",
271
+ {
272
+ "type": "game-over-screen",
273
+ "title": "Game Over",
274
+ "stats": [
275
+ {
276
+ "label": "Score",
277
+ "value": "@entity.score"
278
+ },
279
+ {
280
+ "label": "Lives",
281
+ "value": "@entity.lives"
282
+ }
283
+ ],
284
+ "menuItems": [
285
+ {
286
+ "label": "Play Again",
287
+ "event": "RESTART",
288
+ "variant": "primary"
289
+ },
290
+ {
291
+ "label": "Main Menu",
292
+ "event": "RESTART",
293
+ "variant": "secondary"
294
+ }
295
+ ]
296
+ }
297
+ ]
298
+ ]
299
+ },
300
+ {
301
+ "from": "gameover",
302
+ "to": "menu",
303
+ "event": "RESTART",
304
+ "effects": [
305
+ [
306
+ "render-ui",
307
+ "main",
308
+ {
309
+ "type": "game-menu",
310
+ "title": "Platformer",
311
+ "subtitle": "Side-Scrolling Adventure",
312
+ "menuItems": [
313
+ {
314
+ "label": "Start Game",
315
+ "event": "START",
316
+ "variant": "primary"
317
+ }
318
+ ]
319
+ }
320
+ ]
321
+ ]
322
+ },
323
+ {
324
+ "from": "paused",
325
+ "to": "menu",
326
+ "event": "RESTART",
327
+ "effects": [
328
+ [
329
+ "render-ui",
330
+ "modal",
331
+ null
332
+ ],
333
+ [
334
+ "render-ui",
335
+ "main",
336
+ {
337
+ "type": "game-menu",
338
+ "title": "Platformer",
339
+ "subtitle": "Side-Scrolling Adventure",
340
+ "menuItems": [
341
+ {
342
+ "label": "Start Game",
343
+ "event": "START",
344
+ "variant": "primary"
345
+ }
346
+ ]
347
+ }
348
+ ]
349
+ ]
350
+ }
351
+ ]
352
+ }
353
+ },
354
+ {
355
+ "name": "ItemPlatformerCanvas",
356
+ "linkedEntity": "Item",
357
+ "category": "interaction",
358
+ "stateMachine": {
359
+ "states": [
360
+ {
361
+ "name": "idle",
362
+ "isInitial": true
363
+ },
364
+ {
365
+ "name": "running"
366
+ }
367
+ ],
368
+ "events": [
369
+ {
370
+ "key": "INIT",
371
+ "name": "Initialize"
372
+ },
373
+ {
374
+ "key": "LEFT",
375
+ "name": "Move Left"
376
+ },
377
+ {
378
+ "key": "RIGHT",
379
+ "name": "Move Right"
380
+ },
381
+ {
382
+ "key": "JUMP",
383
+ "name": "Jump"
384
+ },
385
+ {
386
+ "key": "STOP",
387
+ "name": "Stop"
388
+ },
389
+ {
390
+ "key": "START",
391
+ "name": "Start"
392
+ }
393
+ ],
394
+ "transitions": [
395
+ {
396
+ "from": "idle",
397
+ "to": "idle",
398
+ "event": "INIT",
399
+ "effects": [
400
+ [
401
+ "fetch",
402
+ "Item"
403
+ ]
404
+ ]
405
+ },
406
+ {
407
+ "from": "idle",
408
+ "to": "running",
409
+ "event": "START",
410
+ "effects": [
411
+ [
412
+ "render-ui",
413
+ "main",
414
+ {
415
+ "type": "platformer-canvas",
416
+ "platforms": "@entity.platforms",
417
+ "player": "@entity.player",
418
+ "canvasWidth": 800,
419
+ "canvasHeight": 400,
420
+ "worldWidth": 2400,
421
+ "worldHeight": 400,
422
+ "followCamera": true,
423
+ "bgColor": "#1a1a2e",
424
+ "leftEvent": "LEFT",
425
+ "rightEvent": "RIGHT",
426
+ "jumpEvent": "JUMP",
427
+ "stopEvent": "STOP"
428
+ }
429
+ ]
430
+ ]
431
+ },
432
+ {
433
+ "from": "running",
434
+ "to": "running",
435
+ "event": "LEFT",
436
+ "effects": []
437
+ },
438
+ {
439
+ "from": "running",
440
+ "to": "running",
441
+ "event": "RIGHT",
442
+ "effects": []
443
+ },
444
+ {
445
+ "from": "running",
446
+ "to": "running",
447
+ "event": "JUMP",
448
+ "effects": []
449
+ },
450
+ {
451
+ "from": "running",
452
+ "to": "idle",
453
+ "event": "STOP",
454
+ "effects": [
455
+ [
456
+ "render-ui",
457
+ "main",
458
+ {
459
+ "type": "platformer-canvas",
460
+ "platforms": "@entity.platforms",
461
+ "player": "@entity.player",
462
+ "canvasWidth": 800,
463
+ "canvasHeight": 400,
464
+ "worldWidth": 2400,
465
+ "worldHeight": 400,
466
+ "followCamera": true,
467
+ "bgColor": "#1a1a2e",
468
+ "leftEvent": "LEFT",
469
+ "rightEvent": "RIGHT",
470
+ "jumpEvent": "JUMP",
471
+ "stopEvent": "STOP"
472
+ }
473
+ ]
474
+ ]
475
+ }
476
+ ]
477
+ }
478
+ }
479
+ ],
480
+ "pages": [
481
+ {
482
+ "name": "ItemPage",
483
+ "path": "/items",
484
+ "traits": [
485
+ {
486
+ "ref": "ItemPlatformerFlow"
487
+ },
488
+ {
489
+ "ref": "ItemPlatformerCanvas"
490
+ }
491
+ ]
492
+ }
493
+ ]
494
+ }
495
+ ],
496
+ "description": "Side-scrolling platformer game molecule. Composes game atoms into a two-trait orbital: 1. PlatformerFlow trait (primary): menu -> playing -> paused -> gameover Renders game-menu, platformer-canvas, game-over-screen per state. 2. PlatformerCanvas trait (secondary): extracted from stdPlatformerCanvas, INIT render-ui removed (standalone: false pattern) so the flow trait owns the main render slot."
497
+ }