@almadar/std 16.84.0 → 16.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/behaviors/registry/ui/game/2d/organisms/ui-battle-board.orb +144 -12
  2. package/behaviors/registry/ui/game/2d/organisms/ui-boardgame-board.orb +420 -7
  3. package/behaviors/registry/ui/game/2d/organisms/ui-card-battler-board.orb +60 -0
  4. package/behaviors/registry/ui/game/2d/organisms/ui-city-builder-board.orb +588 -14
  5. package/behaviors/registry/ui/game/2d/organisms/ui-fishing-board.orb +300 -5
  6. package/behaviors/registry/ui/game/2d/organisms/ui-hex-strategy-board.orb +864 -12
  7. package/behaviors/registry/ui/game/2d/organisms/ui-holiday-runner-board.orb +300 -5
  8. package/behaviors/registry/ui/game/2d/organisms/ui-match-puzzle-board.orb +240 -4
  9. package/behaviors/registry/ui/game/2d/organisms/ui-minigolf-board.orb +288 -0
  10. package/behaviors/registry/ui/game/2d/organisms/ui-pinball-board.orb +432 -0
  11. package/behaviors/registry/ui/game/2d/organisms/ui-pirate-board.orb +780 -13
  12. package/behaviors/registry/ui/game/2d/organisms/ui-platformer-board.orb +440 -4
  13. package/behaviors/registry/ui/game/2d/organisms/ui-racing-board.orb +480 -0
  14. package/behaviors/registry/ui/game/2d/organisms/ui-roguelike-board.orb +576 -16
  15. package/behaviors/registry/ui/game/2d/organisms/ui-sokoban-board.orb +288 -8
  16. package/behaviors/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +792 -22
  17. package/behaviors/registry/ui/game/2d/organisms/ui-space-station-board.orb +360 -6
  18. package/behaviors/registry/ui/game/2d/organisms/ui-sports-board.orb +504 -14
  19. package/behaviors/registry/ui/game/2d/organisms/ui-tanks-board.orb +864 -12
  20. package/behaviors/registry/ui/game/2d/organisms/ui-top-down-shooter-board.orb +648 -9
  21. package/behaviors/registry/ui/game/2d/organisms/ui-tower-defense-board.orb +108 -9
  22. package/behaviors/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +24 -2
  23. package/behaviors/registry/ui/game/2d/organisms/ui-visual-novel-board.orb +178 -88
  24. package/behaviors/registry/ui/game/2d/organisms/ui-world-map-board.orb +792 -11
  25. package/behaviors/registry/ui/game/2d/templates/ui-battle-template.orb +60 -5
  26. package/behaviors/registry/ui/game/2d/templates/ui-card-battler-template.orb +60 -0
  27. package/behaviors/registry/ui/game/2d/templates/ui-city-builder-template.orb +420 -10
  28. package/behaviors/registry/ui/game/2d/templates/ui-platformer-template.orb +770 -7
  29. package/behaviors/registry/ui/game/2d/templates/ui-roguelike-template.orb +288 -8
  30. package/behaviors/registry/ui/game/2d/templates/ui-top-down-shooter-template.orb +60 -5
  31. package/behaviors/registry/ui/game/2d/templates/ui-tower-defense-template.orb +60 -5
  32. package/behaviors/registry/ui/game/2d/templates/ui-world-map-template.orb +60 -5
  33. package/dist/behaviors/registry/ui/game/2d/organisms/ui-battle-board.orb +144 -12
  34. package/dist/behaviors/registry/ui/game/2d/organisms/ui-boardgame-board.orb +420 -7
  35. package/dist/behaviors/registry/ui/game/2d/organisms/ui-card-battler-board.orb +60 -0
  36. package/dist/behaviors/registry/ui/game/2d/organisms/ui-city-builder-board.orb +588 -14
  37. package/dist/behaviors/registry/ui/game/2d/organisms/ui-fishing-board.orb +300 -5
  38. package/dist/behaviors/registry/ui/game/2d/organisms/ui-hex-strategy-board.orb +864 -12
  39. package/dist/behaviors/registry/ui/game/2d/organisms/ui-holiday-runner-board.orb +300 -5
  40. package/dist/behaviors/registry/ui/game/2d/organisms/ui-match-puzzle-board.orb +240 -4
  41. package/dist/behaviors/registry/ui/game/2d/organisms/ui-minigolf-board.orb +288 -0
  42. package/dist/behaviors/registry/ui/game/2d/organisms/ui-pinball-board.orb +432 -0
  43. package/dist/behaviors/registry/ui/game/2d/organisms/ui-pirate-board.orb +780 -13
  44. package/dist/behaviors/registry/ui/game/2d/organisms/ui-platformer-board.orb +440 -4
  45. package/dist/behaviors/registry/ui/game/2d/organisms/ui-racing-board.orb +480 -0
  46. package/dist/behaviors/registry/ui/game/2d/organisms/ui-roguelike-board.orb +576 -16
  47. package/dist/behaviors/registry/ui/game/2d/organisms/ui-sokoban-board.orb +288 -8
  48. package/dist/behaviors/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +792 -22
  49. package/dist/behaviors/registry/ui/game/2d/organisms/ui-space-station-board.orb +360 -6
  50. package/dist/behaviors/registry/ui/game/2d/organisms/ui-sports-board.orb +504 -14
  51. package/dist/behaviors/registry/ui/game/2d/organisms/ui-tanks-board.orb +864 -12
  52. package/dist/behaviors/registry/ui/game/2d/organisms/ui-top-down-shooter-board.orb +648 -9
  53. package/dist/behaviors/registry/ui/game/2d/organisms/ui-tower-defense-board.orb +108 -9
  54. package/dist/behaviors/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +24 -2
  55. package/dist/behaviors/registry/ui/game/2d/organisms/ui-visual-novel-board.orb +178 -88
  56. package/dist/behaviors/registry/ui/game/2d/organisms/ui-world-map-board.orb +792 -11
  57. package/dist/behaviors/registry/ui/game/2d/templates/ui-battle-template.orb +60 -5
  58. package/dist/behaviors/registry/ui/game/2d/templates/ui-card-battler-template.orb +60 -0
  59. package/dist/behaviors/registry/ui/game/2d/templates/ui-city-builder-template.orb +420 -10
  60. package/dist/behaviors/registry/ui/game/2d/templates/ui-platformer-template.orb +770 -7
  61. package/dist/behaviors/registry/ui/game/2d/templates/ui-roguelike-template.orb +288 -8
  62. package/dist/behaviors/registry/ui/game/2d/templates/ui-top-down-shooter-template.orb +60 -5
  63. package/dist/behaviors/registry/ui/game/2d/templates/ui-tower-defense-template.orb +60 -5
  64. package/dist/behaviors/registry/ui/game/2d/templates/ui-world-map-template.orb +60 -5
  65. package/dist/registry/ui/game/2d/organisms/ui-battle-board.orb +144 -12
  66. package/dist/registry/ui/game/2d/organisms/ui-boardgame-board.orb +420 -7
  67. package/dist/registry/ui/game/2d/organisms/ui-card-battler-board.orb +60 -0
  68. package/dist/registry/ui/game/2d/organisms/ui-city-builder-board.orb +588 -14
  69. package/dist/registry/ui/game/2d/organisms/ui-fishing-board.orb +300 -5
  70. package/dist/registry/ui/game/2d/organisms/ui-hex-strategy-board.orb +864 -12
  71. package/dist/registry/ui/game/2d/organisms/ui-holiday-runner-board.orb +300 -5
  72. package/dist/registry/ui/game/2d/organisms/ui-match-puzzle-board.orb +240 -4
  73. package/dist/registry/ui/game/2d/organisms/ui-minigolf-board.orb +288 -0
  74. package/dist/registry/ui/game/2d/organisms/ui-pinball-board.orb +432 -0
  75. package/dist/registry/ui/game/2d/organisms/ui-pirate-board.orb +780 -13
  76. package/dist/registry/ui/game/2d/organisms/ui-platformer-board.orb +440 -4
  77. package/dist/registry/ui/game/2d/organisms/ui-racing-board.orb +480 -0
  78. package/dist/registry/ui/game/2d/organisms/ui-roguelike-board.orb +576 -16
  79. package/dist/registry/ui/game/2d/organisms/ui-sokoban-board.orb +288 -8
  80. package/dist/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +792 -22
  81. package/dist/registry/ui/game/2d/organisms/ui-space-station-board.orb +360 -6
  82. package/dist/registry/ui/game/2d/organisms/ui-sports-board.orb +504 -14
  83. package/dist/registry/ui/game/2d/organisms/ui-tanks-board.orb +864 -12
  84. package/dist/registry/ui/game/2d/organisms/ui-top-down-shooter-board.orb +648 -9
  85. package/dist/registry/ui/game/2d/organisms/ui-tower-defense-board.orb +108 -9
  86. package/dist/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +24 -2
  87. package/dist/registry/ui/game/2d/organisms/ui-visual-novel-board.orb +178 -88
  88. package/dist/registry/ui/game/2d/organisms/ui-world-map-board.orb +792 -11
  89. package/dist/registry/ui/game/2d/templates/ui-battle-template.orb +60 -5
  90. package/dist/registry/ui/game/2d/templates/ui-card-battler-template.orb +60 -0
  91. package/dist/registry/ui/game/2d/templates/ui-city-builder-template.orb +420 -10
  92. package/dist/registry/ui/game/2d/templates/ui-platformer-template.orb +770 -7
  93. package/dist/registry/ui/game/2d/templates/ui-roguelike-template.orb +288 -8
  94. package/dist/registry/ui/game/2d/templates/ui-top-down-shooter-template.orb +60 -5
  95. package/dist/registry/ui/game/2d/templates/ui-tower-defense-template.orb +60 -5
  96. package/dist/registry/ui/game/2d/templates/ui-world-map-template.orb +60 -5
  97. package/package.json +1 -1
@@ -7189,7 +7189,18 @@
7189
7189
  },
7190
7190
  {
7191
7191
  "action": "START_WAVE",
7192
- "icon": "play",
7192
+ "iconAsset": {
7193
+ "animations": [],
7194
+ "aspect": "1:1",
7195
+ "category": "ui",
7196
+ "dimension": "2d",
7197
+ "name": "icon-play",
7198
+ "role": "ui",
7199
+ "style": "adventure",
7200
+ "thumbnailUrl": "",
7201
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
7202
+ "variant": ""
7203
+ },
7193
7204
  "label": "Start Wave",
7194
7205
  "type": "button",
7195
7206
  "variant": "secondary"
@@ -7379,7 +7390,18 @@
7379
7390
  },
7380
7391
  {
7381
7392
  "action": "START_WAVE",
7382
- "icon": "play",
7393
+ "iconAsset": {
7394
+ "animations": [],
7395
+ "aspect": "1:1",
7396
+ "category": "ui",
7397
+ "dimension": "2d",
7398
+ "name": "icon-play",
7399
+ "role": "ui",
7400
+ "style": "adventure",
7401
+ "thumbnailUrl": "",
7402
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
7403
+ "variant": ""
7404
+ },
7383
7405
  "label": "Start Wave",
7384
7406
  "type": "button",
7385
7407
  "variant": "secondary"
@@ -7687,7 +7709,18 @@
7687
7709
  },
7688
7710
  {
7689
7711
  "action": "START_WAVE",
7690
- "icon": "play",
7712
+ "iconAsset": {
7713
+ "animations": [],
7714
+ "aspect": "1:1",
7715
+ "category": "ui",
7716
+ "dimension": "2d",
7717
+ "name": "icon-play",
7718
+ "role": "ui",
7719
+ "style": "adventure",
7720
+ "thumbnailUrl": "",
7721
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
7722
+ "variant": ""
7723
+ },
7691
7724
  "label": "Start Wave",
7692
7725
  "type": "button",
7693
7726
  "variant": "secondary"
@@ -7907,7 +7940,18 @@
7907
7940
  },
7908
7941
  {
7909
7942
  "action": "START_WAVE",
7910
- "icon": "play",
7943
+ "iconAsset": {
7944
+ "animations": [],
7945
+ "aspect": "1:1",
7946
+ "category": "ui",
7947
+ "dimension": "2d",
7948
+ "name": "icon-play",
7949
+ "role": "ui",
7950
+ "style": "adventure",
7951
+ "thumbnailUrl": "",
7952
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
7953
+ "variant": ""
7954
+ },
7911
7955
  "label": "Start Wave",
7912
7956
  "type": "button",
7913
7957
  "variant": "secondary"
@@ -8067,7 +8111,18 @@
8067
8111
  },
8068
8112
  {
8069
8113
  "action": "START_WAVE",
8070
- "icon": "play",
8114
+ "iconAsset": {
8115
+ "animations": [],
8116
+ "aspect": "1:1",
8117
+ "category": "ui",
8118
+ "dimension": "2d",
8119
+ "name": "icon-play",
8120
+ "role": "ui",
8121
+ "style": "adventure",
8122
+ "thumbnailUrl": "",
8123
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
8124
+ "variant": ""
8125
+ },
8071
8126
  "label": "Start Wave",
8072
8127
  "type": "button",
8073
8128
  "variant": "secondary"
@@ -8300,7 +8355,18 @@
8300
8355
  },
8301
8356
  {
8302
8357
  "action": "START_WAVE",
8303
- "icon": "play",
8358
+ "iconAsset": {
8359
+ "animations": [],
8360
+ "aspect": "1:1",
8361
+ "category": "ui",
8362
+ "dimension": "2d",
8363
+ "name": "icon-play",
8364
+ "role": "ui",
8365
+ "style": "adventure",
8366
+ "thumbnailUrl": "",
8367
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
8368
+ "variant": ""
8369
+ },
8304
8370
  "label": "Start Wave",
8305
8371
  "type": "button",
8306
8372
  "variant": "secondary"
@@ -8532,7 +8598,18 @@
8532
8598
  },
8533
8599
  {
8534
8600
  "action": "START_WAVE",
8535
- "icon": "play",
8601
+ "iconAsset": {
8602
+ "animations": [],
8603
+ "aspect": "1:1",
8604
+ "category": "ui",
8605
+ "dimension": "2d",
8606
+ "name": "icon-play",
8607
+ "role": "ui",
8608
+ "style": "adventure",
8609
+ "thumbnailUrl": "",
8610
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
8611
+ "variant": ""
8612
+ },
8536
8613
  "label": "Start Wave",
8537
8614
  "type": "button",
8538
8615
  "variant": "secondary"
@@ -9062,7 +9139,18 @@
9062
9139
  },
9063
9140
  {
9064
9141
  "action": "START_WAVE",
9065
- "icon": "play",
9142
+ "iconAsset": {
9143
+ "animations": [],
9144
+ "aspect": "1:1",
9145
+ "category": "ui",
9146
+ "dimension": "2d",
9147
+ "name": "icon-play",
9148
+ "role": "ui",
9149
+ "style": "adventure",
9150
+ "thumbnailUrl": "",
9151
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
9152
+ "variant": ""
9153
+ },
9066
9154
  "label": "Start Wave",
9067
9155
  "type": "button",
9068
9156
  "variant": "secondary"
@@ -9511,7 +9599,18 @@
9511
9599
  },
9512
9600
  {
9513
9601
  "action": "START_WAVE",
9514
- "icon": "play",
9602
+ "iconAsset": {
9603
+ "animations": [],
9604
+ "aspect": "1:1",
9605
+ "category": "ui",
9606
+ "dimension": "2d",
9607
+ "name": "icon-play",
9608
+ "role": "ui",
9609
+ "style": "adventure",
9610
+ "thumbnailUrl": "",
9611
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-tower-defense-board/default/ui/icon-play.png",
9612
+ "variant": ""
9613
+ },
9515
9614
  "label": "Start Wave",
9516
9615
  "type": "button",
9517
9616
  "variant": "secondary"
@@ -3798,7 +3798,18 @@
3798
3798
  },
3799
3799
  {
3800
3800
  "action": "PLAY_AGAIN",
3801
- "icon": "refresh",
3801
+ "iconAsset": {
3802
+ "animations": [],
3803
+ "aspect": "1:1",
3804
+ "category": "ui",
3805
+ "dimension": "2d",
3806
+ "name": "icon-restart",
3807
+ "role": "ui",
3808
+ "style": "adventure",
3809
+ "thumbnailUrl": "",
3810
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-restart.png",
3811
+ "variant": ""
3812
+ },
3802
3813
  "label": "Play Again",
3803
3814
  "type": "button",
3804
3815
  "variant": "primary"
@@ -5035,7 +5046,18 @@
5035
5046
  },
5036
5047
  {
5037
5048
  "action": "PLAY_AGAIN",
5038
- "icon": "refresh",
5049
+ "iconAsset": {
5050
+ "animations": [],
5051
+ "aspect": "1:1",
5052
+ "category": "ui",
5053
+ "dimension": "2d",
5054
+ "name": "icon-restart",
5055
+ "role": "ui",
5056
+ "style": "adventure",
5057
+ "thumbnailUrl": "",
5058
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-restart.png",
5059
+ "variant": ""
5060
+ },
5039
5061
  "label": "Play Again",
5040
5062
  "type": "button",
5041
5063
  "variant": "secondary"
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "VisualNovelBoard \u2014 game-shell composition: dialogue-bubble atom for speaker/text/portrait; LOLO drives CHOOSE/ADVANCE.",
2
+ "description": "VisualNovelBoard game-shell composition: dialogue-bubble atom for speaker/text/portrait; LOLO drives CHOOSE/ADVANCE.",
3
3
  "name": "ui-visual-novel-board",
4
4
  "orbitals": [
5
5
  {
@@ -119,23 +119,30 @@
119
119
  {
120
120
  "category": "interaction",
121
121
  "config": {
122
- "backgroundImage": {
122
+ "className": {
123
+ "default": "",
124
+ "description": "className prop",
125
+ "label": "Class Name",
126
+ "tier": "presentation",
127
+ "type": "string"
128
+ },
129
+ "coreBg": {
123
130
  "default": {
124
131
  "animations": [
125
132
  "static"
126
133
  ],
127
134
  "aspect": "16:9",
128
- "category": "corridor",
135
+ "category": "core",
129
136
  "dimension": "2d",
130
- "name": "corridor",
137
+ "name": "core",
131
138
  "role": "decoration",
132
- "style": "",
139
+ "style": "adventure",
133
140
  "thumbnailUrl": "",
134
- "url": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900'%3E%3Crect width='100%25' height='100%25' fill='%231a1a2e'/%3E%3Cline x1='0' y1='450' x2='1600' y2='450' stroke='%23333355' stroke-width='2'/%3E%3C/svg%3E",
141
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-visual-novel-board/default/backgrounds/core.png",
135
142
  "variant": ""
136
143
  },
137
- "description": "Full-frame scene background rendered behind the dialogue box.",
138
- "label": "Background Image",
144
+ "description": "Ancient core scene background (dark teal).",
145
+ "label": "Core Background",
139
146
  "properties": {
140
147
  "animations": {
141
148
  "items": {
@@ -194,12 +201,80 @@
194
201
  "tier": "presentation",
195
202
  "type": "Asset"
196
203
  },
197
- "className": {
198
- "default": "",
199
- "description": "className prop",
200
- "label": "Class Name",
204
+ "corridorBg": {
205
+ "default": {
206
+ "animations": [
207
+ "static"
208
+ ],
209
+ "aspect": "16:9",
210
+ "category": "corridor",
211
+ "dimension": "2d",
212
+ "name": "corridor",
213
+ "role": "decoration",
214
+ "style": "adventure",
215
+ "thumbnailUrl": "",
216
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-visual-novel-board/default/backgrounds/corridor.png",
217
+ "variant": ""
218
+ },
219
+ "description": "Stone corridor scene background (dark blue-grey).",
220
+ "label": "Corridor Background",
221
+ "properties": {
222
+ "animations": {
223
+ "items": {
224
+ "type": "string"
225
+ },
226
+ "name": "animations",
227
+ "required": false,
228
+ "type": "array"
229
+ },
230
+ "aspect": {
231
+ "name": "aspect",
232
+ "required": false,
233
+ "type": "string"
234
+ },
235
+ "category": {
236
+ "name": "category",
237
+ "required": false,
238
+ "type": "string"
239
+ },
240
+ "dimension": {
241
+ "name": "dimension",
242
+ "required": false,
243
+ "type": "string"
244
+ },
245
+ "name": {
246
+ "name": "name",
247
+ "required": false,
248
+ "type": "string"
249
+ },
250
+ "role": {
251
+ "name": "role",
252
+ "required": false,
253
+ "type": "string"
254
+ },
255
+ "style": {
256
+ "name": "style",
257
+ "required": false,
258
+ "type": "string"
259
+ },
260
+ "thumbnailUrl": {
261
+ "name": "thumbnailUrl",
262
+ "required": false,
263
+ "type": "string"
264
+ },
265
+ "url": {
266
+ "name": "url",
267
+ "required": false,
268
+ "type": "string"
269
+ },
270
+ "variant": {
271
+ "name": "variant",
272
+ "required": false,
273
+ "type": "string"
274
+ }
275
+ },
201
276
  "tier": "presentation",
202
- "type": "string"
277
+ "type": "Asset"
203
278
  },
204
279
  "error": {
205
280
  "description": "Error state (UiError)",
@@ -229,6 +304,81 @@
229
304
  "tier": "presentation",
230
305
  "type": "VisualNovelBoardError"
231
306
  },
307
+ "forgeBg": {
308
+ "default": {
309
+ "animations": [
310
+ "static"
311
+ ],
312
+ "aspect": "16:9",
313
+ "category": "forge",
314
+ "dimension": "2d",
315
+ "name": "forge",
316
+ "role": "decoration",
317
+ "style": "adventure",
318
+ "thumbnailUrl": "",
319
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-visual-novel-board/default/backgrounds/forge.png",
320
+ "variant": ""
321
+ },
322
+ "description": "Forge room scene background (dark orange-red).",
323
+ "label": "Forge Background",
324
+ "properties": {
325
+ "animations": {
326
+ "items": {
327
+ "type": "string"
328
+ },
329
+ "name": "animations",
330
+ "required": false,
331
+ "type": "array"
332
+ },
333
+ "aspect": {
334
+ "name": "aspect",
335
+ "required": false,
336
+ "type": "string"
337
+ },
338
+ "category": {
339
+ "name": "category",
340
+ "required": false,
341
+ "type": "string"
342
+ },
343
+ "dimension": {
344
+ "name": "dimension",
345
+ "required": false,
346
+ "type": "string"
347
+ },
348
+ "name": {
349
+ "name": "name",
350
+ "required": false,
351
+ "type": "string"
352
+ },
353
+ "role": {
354
+ "name": "role",
355
+ "required": false,
356
+ "type": "string"
357
+ },
358
+ "style": {
359
+ "name": "style",
360
+ "required": false,
361
+ "type": "string"
362
+ },
363
+ "thumbnailUrl": {
364
+ "name": "thumbnailUrl",
365
+ "required": false,
366
+ "type": "string"
367
+ },
368
+ "url": {
369
+ "name": "url",
370
+ "required": false,
371
+ "type": "string"
372
+ },
373
+ "variant": {
374
+ "name": "variant",
375
+ "required": false,
376
+ "type": "string"
377
+ }
378
+ },
379
+ "tier": "presentation",
380
+ "type": "Asset"
381
+ },
232
382
  "isLoading": {
233
383
  "default": false,
234
384
  "description": "Loading state indicator",
@@ -363,18 +513,18 @@
363
513
  },
364
514
  "portraitUrl": {
365
515
  "default": {
366
- "url": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='400'%3E%3Crect width='100%25' height='100%25' fill='%23334' rx='8'/%3E%3Ccircle cx='100' cy='100' r='60' fill='%23556'/%3E%3Crect x='40' y='170' width='120' height='180' rx='10' fill='%23445'/%3E%3C/svg%3E",
367
- "role": "npc",
368
- "category": "guide",
369
516
  "animations": [
370
517
  "static"
371
518
  ],
372
- "style": "",
373
- "variant": "",
374
- "dimension": "2d",
375
519
  "aspect": "1:2",
520
+ "category": "guide",
521
+ "dimension": "2d",
376
522
  "name": "guide",
377
- "thumbnailUrl": ""
523
+ "role": "npc",
524
+ "style": "adventure",
525
+ "thumbnailUrl": "",
526
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-visual-novel-board/default/portraits/guide.png",
527
+ "variant": ""
378
528
  },
379
529
  "description": "Large character portrait rendered standing over the scene.",
380
530
  "label": "Portrait Url",
@@ -449,66 +599,6 @@
449
599
  "label": "Typewriter Speed",
450
600
  "tier": "presentation",
451
601
  "type": "number"
452
- },
453
- "corridorBg": {
454
- "default": {
455
- "url": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900'%3E%3Crect width='100%25' height='100%25' fill='%231a1a2e'/%3E%3Cline x1='0' y1='450' x2='1600' y2='450' stroke='%23333355' stroke-width='2'/%3E%3C/svg%3E",
456
- "role": "decoration",
457
- "category": "corridor",
458
- "animations": [
459
- "static"
460
- ],
461
- "style": "",
462
- "variant": "",
463
- "dimension": "2d",
464
- "aspect": "16:9",
465
- "name": "corridor",
466
- "thumbnailUrl": ""
467
- },
468
- "description": "Stone corridor scene background.",
469
- "label": "Corridor Background",
470
- "tier": "presentation",
471
- "type": "Asset"
472
- },
473
- "forgeBg": {
474
- "default": {
475
- "url": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900'%3E%3Crect width='100%25' height='100%25' fill='%232e1a0a'/%3E%3Cline x1='0' y1='450' x2='1600' y2='450' stroke='%23553322' stroke-width='2'/%3E%3C/svg%3E",
476
- "role": "decoration",
477
- "category": "forge",
478
- "animations": [
479
- "static"
480
- ],
481
- "style": "",
482
- "variant": "",
483
- "dimension": "2d",
484
- "aspect": "16:9",
485
- "name": "forge",
486
- "thumbnailUrl": ""
487
- },
488
- "description": "Forge room scene background.",
489
- "label": "Forge Background",
490
- "tier": "presentation",
491
- "type": "Asset"
492
- },
493
- "coreBg": {
494
- "default": {
495
- "url": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900'%3E%3Crect width='100%25' height='100%25' fill='%230a1e2e'/%3E%3Cline x1='0' y1='450' x2='1600' y2='450' stroke='%23224455' stroke-width='2'/%3E%3C/svg%3E",
496
- "role": "decoration",
497
- "category": "core",
498
- "animations": [
499
- "static"
500
- ],
501
- "style": "",
502
- "variant": "",
503
- "dimension": "2d",
504
- "aspect": "16:9",
505
- "name": "core",
506
- "thumbnailUrl": ""
507
- },
508
- "description": "Ancient core scene background.",
509
- "label": "Core Background",
510
- "tier": "presentation",
511
- "type": "Asset"
512
602
  }
513
603
  },
514
604
  "emits": [
@@ -716,9 +806,9 @@
716
806
  "advanceEvent": "ADVANCE",
717
807
  "assetManifest": {
718
808
  "backgrounds": {
809
+ "core": "@config.coreBg",
719
810
  "corridor": "@config.corridorBg",
720
- "forge": "@config.forgeBg",
721
- "core": "@config.coreBg"
811
+ "forge": "@config.forgeBg"
722
812
  },
723
813
  "portraits": {
724
814
  "guide": "@config.portraitUrl",
@@ -825,9 +915,9 @@
825
915
  "advanceEvent": "ADVANCE",
826
916
  "assetManifest": {
827
917
  "backgrounds": {
918
+ "core": "@config.coreBg",
828
919
  "corridor": "@config.corridorBg",
829
- "forge": "@config.forgeBg",
830
- "core": "@config.coreBg"
920
+ "forge": "@config.forgeBg"
831
921
  },
832
922
  "portraits": {
833
923
  "guide": "@config.portraitUrl",
@@ -857,9 +947,9 @@
857
947
  "advanceEvent": "ADVANCE",
858
948
  "assetManifest": {
859
949
  "backgrounds": {
950
+ "core": "@config.coreBg",
860
951
  "corridor": "@config.corridorBg",
861
- "forge": "@config.forgeBg",
862
- "core": "@config.coreBg"
952
+ "forge": "@config.forgeBg"
863
953
  },
864
954
  "portraits": {
865
955
  "guide": "@config.portraitUrl",
@@ -966,9 +1056,9 @@
966
1056
  "advanceEvent": "ADVANCE",
967
1057
  "assetManifest": {
968
1058
  "backgrounds": {
1059
+ "core": "@config.coreBg",
969
1060
  "corridor": "@config.corridorBg",
970
- "forge": "@config.forgeBg",
971
- "core": "@config.coreBg"
1061
+ "forge": "@config.forgeBg"
972
1062
  },
973
1063
  "portraits": {
974
1064
  "guide": "@config.portraitUrl",