@almadar/std 3.1.0 → 3.1.1

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 (176) hide show
  1. package/dist/behaviors/exports/atoms/std-async.orb +420 -0
  2. package/dist/behaviors/exports/atoms/std-browse.orb +173 -0
  3. package/dist/behaviors/exports/atoms/std-cache-aside.orb +881 -0
  4. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +501 -0
  5. package/dist/behaviors/exports/atoms/std-collision.orb +616 -0
  6. package/dist/behaviors/exports/atoms/std-combat-log.orb +145 -0
  7. package/dist/behaviors/exports/atoms/std-combat.orb +410 -0
  8. package/dist/behaviors/exports/atoms/std-confirmation.orb +282 -0
  9. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +238 -0
  10. package/dist/behaviors/exports/atoms/std-display.orb +842 -0
  11. package/dist/behaviors/exports/atoms/std-drawer.orb +316 -0
  12. package/dist/behaviors/exports/atoms/std-filter.orb +442 -0
  13. package/dist/behaviors/exports/atoms/std-game-audio.orb +113 -0
  14. package/dist/behaviors/exports/atoms/std-game-canvas-2d.orb +135 -0
  15. package/dist/behaviors/exports/atoms/std-game-canvas-3d.orb +224 -0
  16. package/dist/behaviors/exports/atoms/std-game-hud.orb +151 -0
  17. package/dist/behaviors/exports/atoms/std-game-menu.orb +211 -0
  18. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +195 -0
  19. package/dist/behaviors/exports/atoms/std-gameflow.orb +318 -0
  20. package/dist/behaviors/exports/atoms/std-input.orb +629 -0
  21. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +255 -0
  22. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +631 -0
  23. package/dist/behaviors/exports/atoms/std-loading.orb +511 -0
  24. package/dist/behaviors/exports/atoms/std-modal.orb +270 -0
  25. package/dist/behaviors/exports/atoms/std-movement.orb +1037 -0
  26. package/dist/behaviors/exports/atoms/std-notification.orb +418 -0
  27. package/dist/behaviors/exports/atoms/std-overworld.orb +483 -0
  28. package/dist/behaviors/exports/atoms/std-pagination.orb +331 -0
  29. package/dist/behaviors/exports/atoms/std-physics2d.orb +419 -0
  30. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +257 -0
  31. package/dist/behaviors/exports/atoms/std-quest.orb +980 -0
  32. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +638 -0
  33. package/dist/behaviors/exports/atoms/std-score-board.orb +238 -0
  34. package/dist/behaviors/exports/atoms/std-score.orb +466 -0
  35. package/dist/behaviors/exports/atoms/std-search.orb +373 -0
  36. package/dist/behaviors/exports/atoms/std-selection.orb +759 -0
  37. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +183 -0
  38. package/dist/behaviors/exports/atoms/std-sort.orb +578 -0
  39. package/dist/behaviors/exports/atoms/std-sprite.orb +156 -0
  40. package/dist/behaviors/exports/atoms/std-tabs.orb +274 -0
  41. package/dist/behaviors/exports/atoms/std-timer.orb +1030 -0
  42. package/dist/behaviors/exports/atoms/std-undo.orb +694 -0
  43. package/dist/behaviors/exports/atoms/std-wizard.orb +666 -0
  44. package/dist/behaviors/exports/molecules/std-builder-game.orb +183 -0
  45. package/dist/behaviors/exports/molecules/std-cart.orb +591 -0
  46. package/dist/behaviors/exports/molecules/std-classifier-game.orb +183 -0
  47. package/dist/behaviors/exports/molecules/std-debugger-game.orb +183 -0
  48. package/dist/behaviors/exports/molecules/std-detail.orb +589 -0
  49. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +183 -0
  50. package/dist/behaviors/exports/molecules/std-geospatial.orb +649 -0
  51. package/dist/behaviors/exports/molecules/std-inventory.orb +853 -0
  52. package/dist/behaviors/exports/molecules/std-list.orb +954 -0
  53. package/dist/behaviors/exports/molecules/std-messaging.orb +585 -0
  54. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +183 -0
  55. package/dist/behaviors/exports/molecules/std-platformer-game.orb +496 -0
  56. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +527 -0
  57. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +183 -0
  58. package/dist/behaviors/exports/molecules/std-simulator-game.orb +183 -0
  59. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +443 -0
  60. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2296 -0
  61. package/dist/behaviors/exports/organisms/std-arcade-game.orb +833 -0
  62. package/dist/behaviors/exports/organisms/std-booking-system.orb +3977 -0
  63. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2214 -0
  64. package/dist/behaviors/exports/organisms/std-cms.orb +2644 -0
  65. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1394 -0
  66. package/dist/behaviors/exports/organisms/std-crm.orb +3541 -0
  67. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +3134 -0
  68. package/dist/behaviors/exports/organisms/std-ecommerce.orb +3743 -0
  69. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +2385 -0
  70. package/dist/behaviors/exports/organisms/std-healthcare.orb +4679 -0
  71. package/dist/behaviors/exports/organisms/std-helpdesk.orb +2564 -0
  72. package/dist/behaviors/exports/organisms/std-hr-portal.orb +4029 -0
  73. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2297 -0
  74. package/dist/behaviors/exports/organisms/std-lms.orb +2854 -0
  75. package/dist/behaviors/exports/organisms/std-logic-training.orb +598 -0
  76. package/dist/behaviors/exports/organisms/std-platformer-app.orb +1569 -0
  77. package/dist/behaviors/exports/organisms/std-project-manager.orb +3021 -0
  78. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +743 -0
  79. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +2380 -0
  80. package/dist/behaviors/exports/organisms/std-rpg-game.orb +2804 -0
  81. package/dist/behaviors/exports/organisms/std-social-feed.orb +1221 -0
  82. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1210 -0
  83. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1761 -0
  84. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +2217 -0
  85. package/dist/behaviors/exports-reader.d.ts +2 -0
  86. package/dist/behaviors/exports-reader.js +5 -3
  87. package/dist/behaviors/exports-reader.js.map +1 -1
  88. package/dist/behaviors/index.js +5 -3
  89. package/dist/behaviors/index.js.map +1 -1
  90. package/dist/exports/atoms/std-async.orb +420 -0
  91. package/dist/exports/atoms/std-browse.orb +173 -0
  92. package/dist/exports/atoms/std-cache-aside.orb +881 -0
  93. package/dist/exports/atoms/std-circuit-breaker.orb +501 -0
  94. package/dist/exports/atoms/std-collision.orb +616 -0
  95. package/dist/exports/atoms/std-combat-log.orb +145 -0
  96. package/dist/exports/atoms/std-combat.orb +410 -0
  97. package/dist/exports/atoms/std-confirmation.orb +282 -0
  98. package/dist/exports/atoms/std-dialogue-box.orb +238 -0
  99. package/dist/exports/atoms/std-display.orb +842 -0
  100. package/dist/exports/atoms/std-drawer.orb +316 -0
  101. package/dist/exports/atoms/std-filter.orb +442 -0
  102. package/dist/exports/atoms/std-game-audio.orb +113 -0
  103. package/dist/exports/atoms/std-game-canvas-2d.orb +135 -0
  104. package/dist/exports/atoms/std-game-canvas-3d.orb +224 -0
  105. package/dist/exports/atoms/std-game-hud.orb +151 -0
  106. package/dist/exports/atoms/std-game-menu.orb +211 -0
  107. package/dist/exports/atoms/std-game-over-screen.orb +195 -0
  108. package/dist/exports/atoms/std-gameflow.orb +318 -0
  109. package/dist/exports/atoms/std-input.orb +629 -0
  110. package/dist/exports/atoms/std-inventory-panel.orb +255 -0
  111. package/dist/exports/atoms/std-isometric-canvas.orb +631 -0
  112. package/dist/exports/atoms/std-loading.orb +511 -0
  113. package/dist/exports/atoms/std-modal.orb +270 -0
  114. package/dist/exports/atoms/std-movement.orb +1037 -0
  115. package/dist/exports/atoms/std-notification.orb +418 -0
  116. package/dist/exports/atoms/std-overworld.orb +483 -0
  117. package/dist/exports/atoms/std-pagination.orb +331 -0
  118. package/dist/exports/atoms/std-physics2d.orb +419 -0
  119. package/dist/exports/atoms/std-platformer-canvas.orb +257 -0
  120. package/dist/exports/atoms/std-quest.orb +980 -0
  121. package/dist/exports/atoms/std-rate-limiter.orb +638 -0
  122. package/dist/exports/atoms/std-score-board.orb +238 -0
  123. package/dist/exports/atoms/std-score.orb +466 -0
  124. package/dist/exports/atoms/std-search.orb +373 -0
  125. package/dist/exports/atoms/std-selection.orb +759 -0
  126. package/dist/exports/atoms/std-simulation-canvas.orb +183 -0
  127. package/dist/exports/atoms/std-sort.orb +578 -0
  128. package/dist/exports/atoms/std-sprite.orb +156 -0
  129. package/dist/exports/atoms/std-tabs.orb +274 -0
  130. package/dist/exports/atoms/std-timer.orb +1030 -0
  131. package/dist/exports/atoms/std-undo.orb +694 -0
  132. package/dist/exports/atoms/std-wizard.orb +666 -0
  133. package/dist/exports/molecules/std-builder-game.orb +183 -0
  134. package/dist/exports/molecules/std-cart.orb +591 -0
  135. package/dist/exports/molecules/std-classifier-game.orb +183 -0
  136. package/dist/exports/molecules/std-debugger-game.orb +183 -0
  137. package/dist/exports/molecules/std-detail.orb +589 -0
  138. package/dist/exports/molecules/std-event-handler-game.orb +183 -0
  139. package/dist/exports/molecules/std-geospatial.orb +649 -0
  140. package/dist/exports/molecules/std-inventory.orb +853 -0
  141. package/dist/exports/molecules/std-list.orb +954 -0
  142. package/dist/exports/molecules/std-messaging.orb +585 -0
  143. package/dist/exports/molecules/std-negotiator-game.orb +183 -0
  144. package/dist/exports/molecules/std-platformer-game.orb +496 -0
  145. package/dist/exports/molecules/std-puzzle-game.orb +527 -0
  146. package/dist/exports/molecules/std-sequencer-game.orb +183 -0
  147. package/dist/exports/molecules/std-simulator-game.orb +183 -0
  148. package/dist/exports/molecules/std-turn-based-battle.orb +443 -0
  149. package/dist/exports/organisms/std-api-gateway.orb +2296 -0
  150. package/dist/exports/organisms/std-arcade-game.orb +833 -0
  151. package/dist/exports/organisms/std-booking-system.orb +3977 -0
  152. package/dist/exports/organisms/std-cicd-pipeline.orb +2214 -0
  153. package/dist/exports/organisms/std-cms.orb +2644 -0
  154. package/dist/exports/organisms/std-coding-academy.orb +1394 -0
  155. package/dist/exports/organisms/std-crm.orb +3541 -0
  156. package/dist/exports/organisms/std-devops-dashboard.orb +3134 -0
  157. package/dist/exports/organisms/std-ecommerce.orb +3743 -0
  158. package/dist/exports/organisms/std-finance-tracker.orb +2385 -0
  159. package/dist/exports/organisms/std-healthcare.orb +4679 -0
  160. package/dist/exports/organisms/std-helpdesk.orb +2564 -0
  161. package/dist/exports/organisms/std-hr-portal.orb +4029 -0
  162. package/dist/exports/organisms/std-iot-dashboard.orb +2297 -0
  163. package/dist/exports/organisms/std-lms.orb +2854 -0
  164. package/dist/exports/organisms/std-logic-training.orb +598 -0
  165. package/dist/exports/organisms/std-platformer-app.orb +1569 -0
  166. package/dist/exports/organisms/std-project-manager.orb +3021 -0
  167. package/dist/exports/organisms/std-puzzle-app.orb +743 -0
  168. package/dist/exports/organisms/std-realtime-chat.orb +2380 -0
  169. package/dist/exports/organisms/std-rpg-game.orb +2804 -0
  170. package/dist/exports/organisms/std-social-feed.orb +1221 -0
  171. package/dist/exports/organisms/std-stem-lab.orb +1210 -0
  172. package/dist/exports/organisms/std-strategy-game.orb +1761 -0
  173. package/dist/exports/organisms/std-trading-dashboard.orb +2217 -0
  174. package/dist/index.js +5 -3
  175. package/dist/index.js.map +1 -1
  176. package/package.json +1 -1
@@ -0,0 +1,183 @@
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": "ItemSimulatorGame",
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": "Simulator",
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": "simulator-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": "Simulator",
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": "ItemSimulatorGame"
177
+ }
178
+ ]
179
+ }
180
+ ]
181
+ }
182
+ ]
183
+ }
@@ -0,0 +1,443 @@
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": "turn",
33
+ "type": "number",
34
+ "default": 0
35
+ },
36
+ {
37
+ "name": "score",
38
+ "type": "number",
39
+ "default": 0
40
+ }
41
+ ]
42
+ },
43
+ "traits": [
44
+ {
45
+ "name": "ItemBattleFlow",
46
+ "linkedEntity": "Item",
47
+ "category": "interaction",
48
+ "stateMachine": {
49
+ "states": [
50
+ {
51
+ "name": "menu",
52
+ "isInitial": true
53
+ },
54
+ {
55
+ "name": "playing"
56
+ },
57
+ {
58
+ "name": "paused"
59
+ },
60
+ {
61
+ "name": "gameover"
62
+ }
63
+ ],
64
+ "events": [
65
+ {
66
+ "key": "INIT",
67
+ "name": "Initialize"
68
+ },
69
+ {
70
+ "key": "START",
71
+ "name": "Start Battle"
72
+ },
73
+ {
74
+ "key": "END_TURN",
75
+ "name": "End Turn"
76
+ },
77
+ {
78
+ "key": "PAUSE",
79
+ "name": "Pause"
80
+ },
81
+ {
82
+ "key": "RESUME",
83
+ "name": "Resume"
84
+ },
85
+ {
86
+ "key": "GAME_OVER",
87
+ "name": "Game Over"
88
+ },
89
+ {
90
+ "key": "RESTART",
91
+ "name": "Restart"
92
+ },
93
+ {
94
+ "key": "CLOSE",
95
+ "name": "Close"
96
+ },
97
+ {
98
+ "key": "NAVIGATE",
99
+ "name": "Navigate"
100
+ }
101
+ ],
102
+ "transitions": [
103
+ {
104
+ "from": "menu",
105
+ "to": "menu",
106
+ "event": "INIT",
107
+ "effects": [
108
+ [
109
+ "fetch",
110
+ "Item"
111
+ ],
112
+ [
113
+ "render-ui",
114
+ "main",
115
+ {
116
+ "type": "game-menu",
117
+ "title": "Battle Arena",
118
+ "subtitle": "Turn-Based Strategy",
119
+ "menuItems": [
120
+ {
121
+ "label": "Start Battle",
122
+ "event": "START",
123
+ "variant": "primary"
124
+ }
125
+ ]
126
+ }
127
+ ]
128
+ ]
129
+ },
130
+ {
131
+ "from": "menu",
132
+ "to": "playing",
133
+ "event": "START",
134
+ "effects": [
135
+ [
136
+ "render-ui",
137
+ "main",
138
+ {
139
+ "type": "game-hud",
140
+ "stats": [
141
+ {
142
+ "label": "Turn",
143
+ "value": "@entity.turn"
144
+ },
145
+ {
146
+ "label": "Score",
147
+ "value": "@entity.score"
148
+ }
149
+ ]
150
+ }
151
+ ]
152
+ ]
153
+ },
154
+ {
155
+ "from": "playing",
156
+ "to": "playing",
157
+ "event": "END_TURN",
158
+ "effects": [
159
+ [
160
+ "set",
161
+ "@entity.turn",
162
+ [
163
+ "+",
164
+ "@entity.turn",
165
+ 1
166
+ ]
167
+ ],
168
+ [
169
+ "render-ui",
170
+ "main",
171
+ {
172
+ "type": "game-hud",
173
+ "stats": [
174
+ {
175
+ "label": "Turn",
176
+ "value": "@entity.turn"
177
+ },
178
+ {
179
+ "label": "Score",
180
+ "value": "@entity.score"
181
+ }
182
+ ]
183
+ }
184
+ ]
185
+ ]
186
+ },
187
+ {
188
+ "from": "menu",
189
+ "to": "menu",
190
+ "event": "NAVIGATE",
191
+ "effects": []
192
+ },
193
+ {
194
+ "from": "paused",
195
+ "to": "paused",
196
+ "event": "NAVIGATE",
197
+ "effects": []
198
+ },
199
+ {
200
+ "from": "playing",
201
+ "to": "paused",
202
+ "event": "PAUSE",
203
+ "effects": [
204
+ [
205
+ "render-ui",
206
+ "modal",
207
+ {
208
+ "type": "game-menu",
209
+ "title": "Paused",
210
+ "menuItems": [
211
+ {
212
+ "label": "Resume",
213
+ "event": "RESUME",
214
+ "variant": "primary"
215
+ },
216
+ {
217
+ "label": "Quit",
218
+ "event": "RESTART",
219
+ "variant": "ghost"
220
+ }
221
+ ]
222
+ }
223
+ ]
224
+ ]
225
+ },
226
+ {
227
+ "from": "paused",
228
+ "to": "playing",
229
+ "event": "RESUME",
230
+ "effects": [
231
+ [
232
+ "render-ui",
233
+ "modal",
234
+ null
235
+ ]
236
+ ]
237
+ },
238
+ {
239
+ "from": "paused",
240
+ "to": "playing",
241
+ "event": "CLOSE",
242
+ "effects": [
243
+ [
244
+ "render-ui",
245
+ "modal",
246
+ null
247
+ ]
248
+ ]
249
+ },
250
+ {
251
+ "from": "playing",
252
+ "to": "gameover",
253
+ "event": "GAME_OVER",
254
+ "effects": [
255
+ [
256
+ "render-ui",
257
+ "main",
258
+ {
259
+ "type": "game-over-screen",
260
+ "title": "Battle Over",
261
+ "stats": [
262
+ {
263
+ "label": "Turns",
264
+ "value": "@entity.turn"
265
+ },
266
+ {
267
+ "label": "Score",
268
+ "value": "@entity.score"
269
+ }
270
+ ],
271
+ "menuItems": [
272
+ {
273
+ "label": "Play Again",
274
+ "event": "RESTART",
275
+ "variant": "primary"
276
+ },
277
+ {
278
+ "label": "Main Menu",
279
+ "event": "RESTART",
280
+ "variant": "secondary"
281
+ }
282
+ ]
283
+ }
284
+ ]
285
+ ]
286
+ },
287
+ {
288
+ "from": "gameover",
289
+ "to": "menu",
290
+ "event": "RESTART",
291
+ "effects": [
292
+ [
293
+ "render-ui",
294
+ "main",
295
+ {
296
+ "type": "game-menu",
297
+ "title": "Battle Arena",
298
+ "subtitle": "Turn-Based Strategy",
299
+ "menuItems": [
300
+ {
301
+ "label": "Start Battle",
302
+ "event": "START",
303
+ "variant": "primary"
304
+ }
305
+ ]
306
+ }
307
+ ]
308
+ ]
309
+ },
310
+ {
311
+ "from": "paused",
312
+ "to": "menu",
313
+ "event": "RESTART",
314
+ "effects": [
315
+ [
316
+ "render-ui",
317
+ "modal",
318
+ null
319
+ ],
320
+ [
321
+ "render-ui",
322
+ "main",
323
+ {
324
+ "type": "game-menu",
325
+ "title": "Battle Arena",
326
+ "subtitle": "Turn-Based Strategy",
327
+ "menuItems": [
328
+ {
329
+ "label": "Start Battle",
330
+ "event": "START",
331
+ "variant": "primary"
332
+ }
333
+ ]
334
+ }
335
+ ]
336
+ ]
337
+ }
338
+ ]
339
+ }
340
+ },
341
+ {
342
+ "name": "ItemCombatLog",
343
+ "linkedEntity": "Item",
344
+ "category": "interaction",
345
+ "stateMachine": {
346
+ "states": [
347
+ {
348
+ "name": "idle",
349
+ "isInitial": true
350
+ }
351
+ ],
352
+ "events": [
353
+ {
354
+ "key": "INIT",
355
+ "name": "Initialize"
356
+ },
357
+ {
358
+ "key": "LOG_EVENT",
359
+ "name": "Log Event",
360
+ "payload": [
361
+ {
362
+ "name": "data",
363
+ "type": "object",
364
+ "required": true
365
+ }
366
+ ]
367
+ },
368
+ {
369
+ "key": "CLEAR",
370
+ "name": "Clear"
371
+ }
372
+ ],
373
+ "transitions": [
374
+ {
375
+ "from": "idle",
376
+ "to": "idle",
377
+ "event": "INIT",
378
+ "effects": [
379
+ [
380
+ "fetch",
381
+ "Item"
382
+ ]
383
+ ]
384
+ },
385
+ {
386
+ "from": "idle",
387
+ "to": "idle",
388
+ "event": "LOG_EVENT",
389
+ "effects": [
390
+ [
391
+ "render-ui",
392
+ "main",
393
+ {
394
+ "type": "combat-log",
395
+ "events": "@Item",
396
+ "maxVisible": 10,
397
+ "autoScroll": true,
398
+ "showTimestamps": true,
399
+ "title": "Combat Log"
400
+ }
401
+ ]
402
+ ]
403
+ },
404
+ {
405
+ "from": "idle",
406
+ "to": "idle",
407
+ "event": "CLEAR",
408
+ "effects": [
409
+ [
410
+ "render-ui",
411
+ "main",
412
+ {
413
+ "type": "combat-log",
414
+ "events": "@Item",
415
+ "maxVisible": 10,
416
+ "autoScroll": true,
417
+ "showTimestamps": true,
418
+ "title": "Combat Log"
419
+ }
420
+ ]
421
+ ]
422
+ }
423
+ ]
424
+ }
425
+ }
426
+ ],
427
+ "pages": [
428
+ {
429
+ "name": "ItemPage",
430
+ "path": "/items",
431
+ "traits": [
432
+ {
433
+ "ref": "ItemBattleFlow"
434
+ },
435
+ {
436
+ "ref": "ItemCombatLog"
437
+ }
438
+ ]
439
+ }
440
+ ]
441
+ }
442
+ ]
443
+ }