@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,528 @@
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": "highScore",
38
+ "type": "number",
39
+ "default": 0
40
+ },
41
+ {
42
+ "name": "combo",
43
+ "type": "number",
44
+ "default": 0
45
+ },
46
+ {
47
+ "name": "multiplier",
48
+ "type": "number",
49
+ "default": 1
50
+ },
51
+ {
52
+ "name": "level",
53
+ "type": "number",
54
+ "default": 1
55
+ },
56
+ {
57
+ "name": "moves",
58
+ "type": "number",
59
+ "default": 0
60
+ }
61
+ ]
62
+ },
63
+ "traits": [
64
+ {
65
+ "name": "ItemPuzzleFlow",
66
+ "linkedEntity": "Item",
67
+ "category": "interaction",
68
+ "stateMachine": {
69
+ "states": [
70
+ {
71
+ "name": "menu",
72
+ "isInitial": true
73
+ },
74
+ {
75
+ "name": "playing"
76
+ },
77
+ {
78
+ "name": "paused"
79
+ },
80
+ {
81
+ "name": "gameover"
82
+ }
83
+ ],
84
+ "events": [
85
+ {
86
+ "key": "INIT",
87
+ "name": "Initialize"
88
+ },
89
+ {
90
+ "key": "START",
91
+ "name": "Start Puzzle"
92
+ },
93
+ {
94
+ "key": "MOVE",
95
+ "name": "Make Move"
96
+ },
97
+ {
98
+ "key": "HINT",
99
+ "name": "Show Hint"
100
+ },
101
+ {
102
+ "key": "PAUSE",
103
+ "name": "Pause"
104
+ },
105
+ {
106
+ "key": "RESUME",
107
+ "name": "Resume"
108
+ },
109
+ {
110
+ "key": "GAME_OVER",
111
+ "name": "Puzzle Complete"
112
+ },
113
+ {
114
+ "key": "RESTART",
115
+ "name": "Restart"
116
+ },
117
+ {
118
+ "key": "CLOSE",
119
+ "name": "Close"
120
+ },
121
+ {
122
+ "key": "NAVIGATE",
123
+ "name": "Navigate"
124
+ }
125
+ ],
126
+ "transitions": [
127
+ {
128
+ "from": "menu",
129
+ "to": "menu",
130
+ "event": "INIT",
131
+ "effects": [
132
+ [
133
+ "fetch",
134
+ "Item"
135
+ ],
136
+ [
137
+ "render-ui",
138
+ "main",
139
+ {
140
+ "type": "game-menu",
141
+ "title": "Puzzle",
142
+ "subtitle": "Puzzle Challenge",
143
+ "menuItems": [
144
+ {
145
+ "label": "Start Puzzle",
146
+ "event": "START",
147
+ "variant": "primary"
148
+ }
149
+ ]
150
+ }
151
+ ]
152
+ ]
153
+ },
154
+ {
155
+ "from": "menu",
156
+ "to": "playing",
157
+ "event": "START",
158
+ "effects": [
159
+ [
160
+ "render-ui",
161
+ "main",
162
+ {
163
+ "type": "game-canvas2-d",
164
+ "width": 800,
165
+ "height": 600,
166
+ "fps": 60
167
+ }
168
+ ]
169
+ ]
170
+ },
171
+ {
172
+ "from": "playing",
173
+ "to": "playing",
174
+ "event": "MOVE",
175
+ "effects": [
176
+ [
177
+ "set",
178
+ "@entity.moves",
179
+ [
180
+ "+",
181
+ "@entity.moves",
182
+ 1
183
+ ]
184
+ ],
185
+ [
186
+ "render-ui",
187
+ "main",
188
+ {
189
+ "type": "game-canvas2-d",
190
+ "width": 800,
191
+ "height": 600,
192
+ "fps": 60
193
+ }
194
+ ]
195
+ ]
196
+ },
197
+ {
198
+ "from": "playing",
199
+ "to": "playing",
200
+ "event": "HINT",
201
+ "effects": []
202
+ },
203
+ {
204
+ "from": "menu",
205
+ "to": "menu",
206
+ "event": "NAVIGATE",
207
+ "effects": []
208
+ },
209
+ {
210
+ "from": "paused",
211
+ "to": "paused",
212
+ "event": "NAVIGATE",
213
+ "effects": []
214
+ },
215
+ {
216
+ "from": "playing",
217
+ "to": "paused",
218
+ "event": "PAUSE",
219
+ "effects": [
220
+ [
221
+ "render-ui",
222
+ "modal",
223
+ {
224
+ "type": "game-menu",
225
+ "title": "Paused",
226
+ "menuItems": [
227
+ {
228
+ "label": "Resume",
229
+ "event": "RESUME",
230
+ "variant": "primary"
231
+ },
232
+ {
233
+ "label": "Quit",
234
+ "event": "RESTART",
235
+ "variant": "ghost"
236
+ }
237
+ ]
238
+ }
239
+ ]
240
+ ]
241
+ },
242
+ {
243
+ "from": "paused",
244
+ "to": "playing",
245
+ "event": "RESUME",
246
+ "effects": [
247
+ [
248
+ "render-ui",
249
+ "modal",
250
+ null
251
+ ]
252
+ ]
253
+ },
254
+ {
255
+ "from": "paused",
256
+ "to": "playing",
257
+ "event": "CLOSE",
258
+ "effects": [
259
+ [
260
+ "render-ui",
261
+ "modal",
262
+ null
263
+ ]
264
+ ]
265
+ },
266
+ {
267
+ "from": "playing",
268
+ "to": "gameover",
269
+ "event": "GAME_OVER",
270
+ "effects": [
271
+ [
272
+ "render-ui",
273
+ "main",
274
+ {
275
+ "type": "game-over-screen",
276
+ "title": "Puzzle Complete",
277
+ "stats": [
278
+ {
279
+ "label": "Score",
280
+ "value": "@entity.score"
281
+ },
282
+ {
283
+ "label": "Moves",
284
+ "value": "@entity.moves"
285
+ }
286
+ ],
287
+ "menuItems": [
288
+ {
289
+ "label": "Play Again",
290
+ "event": "RESTART",
291
+ "variant": "primary"
292
+ },
293
+ {
294
+ "label": "Main Menu",
295
+ "event": "RESTART",
296
+ "variant": "secondary"
297
+ }
298
+ ]
299
+ }
300
+ ]
301
+ ]
302
+ },
303
+ {
304
+ "from": "gameover",
305
+ "to": "menu",
306
+ "event": "RESTART",
307
+ "effects": [
308
+ [
309
+ "render-ui",
310
+ "main",
311
+ {
312
+ "type": "game-menu",
313
+ "title": "Puzzle",
314
+ "subtitle": "Puzzle Challenge",
315
+ "menuItems": [
316
+ {
317
+ "label": "Start Puzzle",
318
+ "event": "START",
319
+ "variant": "primary"
320
+ }
321
+ ]
322
+ }
323
+ ]
324
+ ]
325
+ },
326
+ {
327
+ "from": "paused",
328
+ "to": "menu",
329
+ "event": "RESTART",
330
+ "effects": [
331
+ [
332
+ "render-ui",
333
+ "modal",
334
+ null
335
+ ],
336
+ [
337
+ "render-ui",
338
+ "main",
339
+ {
340
+ "type": "game-menu",
341
+ "title": "Puzzle",
342
+ "subtitle": "Puzzle Challenge",
343
+ "menuItems": [
344
+ {
345
+ "label": "Start Puzzle",
346
+ "event": "START",
347
+ "variant": "primary"
348
+ }
349
+ ]
350
+ }
351
+ ]
352
+ ]
353
+ }
354
+ ]
355
+ }
356
+ },
357
+ {
358
+ "name": "ItemPuzzleScore",
359
+ "linkedEntity": "Item",
360
+ "category": "interaction",
361
+ "stateMachine": {
362
+ "states": [
363
+ {
364
+ "name": "idle",
365
+ "isInitial": true
366
+ }
367
+ ],
368
+ "events": [
369
+ {
370
+ "key": "INIT",
371
+ "name": "Initialize"
372
+ },
373
+ {
374
+ "key": "ADD_SCORE",
375
+ "name": "Add Score",
376
+ "payload": [
377
+ {
378
+ "name": "points",
379
+ "type": "number",
380
+ "required": true
381
+ }
382
+ ]
383
+ },
384
+ {
385
+ "key": "COMBO",
386
+ "name": "Combo",
387
+ "payload": [
388
+ {
389
+ "name": "multiplier",
390
+ "type": "number",
391
+ "required": true
392
+ }
393
+ ]
394
+ },
395
+ {
396
+ "key": "RESET",
397
+ "name": "Reset"
398
+ }
399
+ ],
400
+ "transitions": [
401
+ {
402
+ "from": "idle",
403
+ "to": "idle",
404
+ "event": "INIT",
405
+ "effects": [
406
+ [
407
+ "fetch",
408
+ "Item"
409
+ ]
410
+ ]
411
+ },
412
+ {
413
+ "from": "idle",
414
+ "to": "idle",
415
+ "event": "ADD_SCORE",
416
+ "effects": [
417
+ [
418
+ "set",
419
+ "@entity.score",
420
+ [
421
+ "+",
422
+ "@entity.score",
423
+ "@payload.points"
424
+ ]
425
+ ],
426
+ [
427
+ "set",
428
+ "@entity.combo",
429
+ [
430
+ "+",
431
+ "@entity.combo",
432
+ 1
433
+ ]
434
+ ],
435
+ [
436
+ "render-ui",
437
+ "main",
438
+ {
439
+ "type": "score-board",
440
+ "score": "@entity.score",
441
+ "highScore": "@entity.highScore",
442
+ "combo": "@entity.combo",
443
+ "multiplier": "@entity.multiplier",
444
+ "level": "@entity.level"
445
+ }
446
+ ]
447
+ ]
448
+ },
449
+ {
450
+ "from": "idle",
451
+ "to": "idle",
452
+ "event": "COMBO",
453
+ "effects": [
454
+ [
455
+ "set",
456
+ "@entity.multiplier",
457
+ "@payload.multiplier"
458
+ ],
459
+ [
460
+ "render-ui",
461
+ "main",
462
+ {
463
+ "type": "score-board",
464
+ "score": "@entity.score",
465
+ "highScore": "@entity.highScore",
466
+ "combo": "@entity.combo",
467
+ "multiplier": "@entity.multiplier",
468
+ "level": "@entity.level"
469
+ }
470
+ ]
471
+ ]
472
+ },
473
+ {
474
+ "from": "idle",
475
+ "to": "idle",
476
+ "event": "RESET",
477
+ "effects": [
478
+ [
479
+ "set",
480
+ "@entity.score",
481
+ 0
482
+ ],
483
+ [
484
+ "set",
485
+ "@entity.combo",
486
+ 0
487
+ ],
488
+ [
489
+ "set",
490
+ "@entity.multiplier",
491
+ 1
492
+ ],
493
+ [
494
+ "render-ui",
495
+ "main",
496
+ {
497
+ "type": "score-board",
498
+ "score": "@entity.score",
499
+ "highScore": "@entity.highScore",
500
+ "combo": "@entity.combo",
501
+ "multiplier": "@entity.multiplier",
502
+ "level": "@entity.level"
503
+ }
504
+ ]
505
+ ]
506
+ }
507
+ ]
508
+ }
509
+ }
510
+ ],
511
+ "pages": [
512
+ {
513
+ "name": "ItemPage",
514
+ "path": "/items",
515
+ "traits": [
516
+ {
517
+ "ref": "ItemPuzzleFlow"
518
+ },
519
+ {
520
+ "ref": "ItemPuzzleScore"
521
+ }
522
+ ]
523
+ }
524
+ ]
525
+ }
526
+ ],
527
+ "description": "Puzzle game molecule. Composes game atoms into a two-trait orbital: 1. PuzzleFlow trait (primary): menu -> playing -> paused -> gameover Renders game-menu, game-canvas-2d with score-board, game-over-screen. 2. PuzzleScore trait (secondary): extracted from stdScoreBoard, INIT render-ui removed (standalone: false pattern) so the flow trait owns the main render slot."
528
+ }
@@ -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": "ItemSequencerGame",
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": "Sequencer",
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": "sequencer-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": "Sequencer",
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": "ItemSequencerGame"
177
+ }
178
+ ]
179
+ }
180
+ ]
181
+ }
182
+ ],
183
+ "description": "Educational game molecule: menu -> playing -> complete. Uses the `sequencer-board` pattern for the playing state."
184
+ }