@almadar/ui 5.74.0 → 5.75.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 (209) hide show
  1. package/dist/avl/index.cjs +42285 -42757
  2. package/dist/avl/index.css +0 -504
  3. package/dist/avl/index.js +42495 -42966
  4. package/dist/components/core/atoms/index.d.ts +1 -1
  5. package/dist/components/core/molecules/RepeatableFormSection.d.ts +6 -5
  6. package/dist/components/core/molecules/index.d.ts +1 -1
  7. package/dist/components/core/organisms/index.d.ts +1 -1
  8. package/dist/components/core/templates/index.d.ts +12 -12
  9. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/ActionPalette.d.ts +1 -1
  10. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/ActionTile.d.ts +2 -2
  11. package/dist/components/game/{organisms → 2d}/BattleBoard.d.ts +2 -2
  12. package/dist/components/game/{templates → 2d}/BattleTemplate.d.ts +3 -3
  13. package/dist/components/game/{organisms → 2d}/BoardgameBoard.d.ts +4 -4
  14. package/dist/components/game/{organisms/puzzles/builder → 2d}/BuilderBoard.d.ts +1 -1
  15. package/dist/components/game/2d/Canvas2D.d.ts +161 -0
  16. package/dist/components/game/{organisms → 2d}/CanvasEffect.d.ts +3 -3
  17. package/dist/components/game/{templates → 2d}/CardBattlerTemplate.d.ts +1 -1
  18. package/dist/components/game/{organisms → 2d}/CastleBoard.d.ts +1 -1
  19. package/dist/components/game/{templates → 2d}/CastleTemplate.d.ts +3 -3
  20. package/dist/components/game/{templates → 2d}/CityBuilderTemplate.d.ts +1 -1
  21. package/dist/components/game/{organisms/puzzles/classifier → 2d}/ClassifierBoard.d.ts +1 -1
  22. package/dist/components/game/2d/ControlGrid.d.ts +41 -0
  23. package/dist/components/game/{organisms/puzzles/debugger → 2d}/DebuggerBoard.d.ts +1 -1
  24. package/dist/components/game/{organisms/puzzles/event-handler → 2d}/EventHandlerBoard.d.ts +1 -1
  25. package/dist/components/game/{organisms → 2d}/FishingBoard.d.ts +1 -1
  26. package/dist/components/game/{organisms → 2d}/GameAudioProvider.d.ts +1 -1
  27. package/dist/components/game/2d/GameCard.d.ts +26 -0
  28. package/dist/components/game/2d/HealthBar.d.ts +26 -0
  29. package/dist/components/game/{organisms → 2d}/HexStrategyBoard.d.ts +4 -4
  30. package/dist/components/game/{organisms → 2d}/HolidayRunnerBoard.d.ts +4 -4
  31. package/dist/components/game/{molecules → 2d}/IsometricCanvas.d.ts +3 -3
  32. package/dist/components/game/{organisms → 2d}/MatchPuzzleBoard.d.ts +4 -4
  33. package/dist/components/game/{organisms → 2d}/MinigolfBoard.d.ts +4 -4
  34. package/dist/components/game/{organisms/puzzles/negotiator → 2d}/NegotiatorBoard.d.ts +1 -1
  35. package/dist/components/game/{organisms → 2d}/PinballBoard.d.ts +1 -1
  36. package/dist/components/game/{organisms → 2d}/PirateBoard.d.ts +4 -4
  37. package/dist/components/game/{organisms → 2d}/PlatformerBoard.d.ts +9 -14
  38. package/dist/components/game/{molecules → 2d}/PlatformerCanvas.d.ts +1 -1
  39. package/dist/components/game/{templates → 2d}/PlatformerTemplate.d.ts +1 -1
  40. package/dist/components/game/{organisms → 2d}/RacingBoard.d.ts +4 -4
  41. package/dist/components/game/{organisms → 2d}/RoguelikeBoard.d.ts +1 -1
  42. package/dist/components/game/{templates → 2d}/RoguelikeTemplate.d.ts +2 -2
  43. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/SequenceBar.d.ts +1 -1
  44. package/dist/components/game/{organisms/puzzles/sequencer → 2d}/SequencerBoard.d.ts +1 -1
  45. package/dist/components/game/{organisms/physics-sim → 2d}/SimulationCanvas.d.ts +1 -1
  46. package/dist/components/game/{organisms/puzzles/simulator → 2d}/SimulatorBoard.d.ts +1 -1
  47. package/dist/components/game/{organisms → 2d}/SokobanBoard.d.ts +4 -4
  48. package/dist/components/game/{organisms → 2d}/SpaceShmupBoard.d.ts +4 -4
  49. package/dist/components/game/{organisms → 2d}/SpaceStationBoard.d.ts +4 -4
  50. package/dist/components/game/{organisms → 2d}/SportsBoard.d.ts +4 -4
  51. package/dist/components/game/{atoms → 2d}/Sprite.d.ts +1 -1
  52. package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateArchitectBoard.d.ts +1 -1
  53. package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateNode.d.ts +1 -1
  54. package/dist/components/game/{organisms → 2d}/TanksBoard.d.ts +4 -4
  55. package/dist/components/game/{templates → 2d}/TopDownShooterTemplate.d.ts +1 -1
  56. package/dist/components/game/{templates → 2d}/TowerDefenseTemplate.d.ts +1 -1
  57. package/dist/components/game/{organisms → 2d}/TraitStateViewer.d.ts +1 -1
  58. package/dist/components/game/{organisms/puzzles/state-architect → 2d}/TransitionArrow.d.ts +1 -1
  59. package/dist/components/game/{organisms → 2d}/UncontrolledBattleBoard.d.ts +1 -1
  60. package/dist/components/game/{templates → 2d}/VisualNovelTemplate.d.ts +1 -1
  61. package/dist/components/game/{organisms → 2d}/WorldMapBoard.d.ts +2 -2
  62. package/dist/components/game/{templates → 2d}/WorldMapTemplate.d.ts +3 -3
  63. package/dist/components/game/{templates → 2d}/game3dAssetManifest.d.ts +1 -1
  64. package/dist/components/game/2d/index.d.ts +122 -0
  65. package/dist/components/game/{organisms/hooks → 2d}/useBattleState.d.ts +1 -1
  66. package/dist/components/game/{organisms/hooks → 2d}/useCamera.d.ts +1 -1
  67. package/dist/components/game/{organisms → 2d}/useCanvasEffects.d.ts +1 -1
  68. package/dist/components/game/{molecules → 2d}/useUnitSpriteAtlas.d.ts +2 -2
  69. package/dist/components/game/3d/Canvas3D.d.ts +45 -0
  70. package/dist/components/game/{molecules/three/renderers → 3d}/FeatureRenderer.d.ts +1 -1
  71. package/dist/components/game/{molecules/three/renderers → 3d}/FeatureRenderer3D.d.ts +1 -1
  72. package/dist/components/game/{organisms → 3d}/GameBoard3D.d.ts +2 -2
  73. package/dist/components/game/{molecules → 3d}/GameCanvas3D.d.ts +3 -3
  74. package/dist/components/game/{templates → 3d}/GameCanvas3DBattleTemplate.d.ts +2 -2
  75. package/dist/components/game/{templates → 3d}/GameCanvas3DCastleTemplate.d.ts +2 -2
  76. package/dist/components/game/{templates → 3d}/GameCanvas3DWorldMapTemplate.d.ts +2 -2
  77. package/dist/components/game/{molecules/three/components → 3d}/PhysicsObject3D.d.ts +1 -1
  78. package/dist/components/game/{molecules/three/renderers → 3d}/TileRenderer.d.ts +1 -1
  79. package/dist/components/game/{molecules/three/renderers → 3d}/UnitRenderer.d.ts +3 -3
  80. package/dist/components/game/{molecules/three → 3d}/index.cjs +218 -301
  81. package/dist/components/game/{molecules/three → 3d}/index.css +3 -3
  82. package/dist/components/game/3d/index.d.ts +41 -0
  83. package/dist/components/game/{molecules/three → 3d}/index.js +29 -113
  84. package/dist/components/game/{molecules/three → 3d}/patterns.d.ts +5 -5
  85. package/dist/components/game/{molecules/three/hooks → 3d}/useAssetLoader.d.ts +1 -1
  86. package/dist/components/game/{molecules/three/hooks → 3d}/useGameCanvas3DEvents.d.ts +1 -1
  87. package/dist/components/game/{molecules/three/hooks → 3d}/useThree.d.ts +1 -1
  88. package/dist/components/game/{organisms/utils → shared}/canvasEffects.d.ts +1 -1
  89. package/dist/components/game/{organisms/utils → shared}/combatPresets.d.ts +1 -1
  90. package/dist/components/game/{organisms/types → shared}/game.d.ts +2 -2
  91. package/dist/components/game/shared/index.d.ts +23 -0
  92. package/dist/components/game/{organisms/types/isometric.d.ts → shared/isometricTypes.d.ts} +3 -7
  93. package/dist/components/game/{organisms/utils → shared}/spriteAnimation.d.ts +1 -1
  94. package/dist/components/game/{organisms/utils → shared}/spriteSheetConstants.d.ts +1 -1
  95. package/dist/components/index.cjs +24732 -25476
  96. package/dist/components/index.css +0 -504
  97. package/dist/components/index.js +24287 -25052
  98. package/dist/context/index.cjs +5 -7
  99. package/dist/context/index.js +5 -7
  100. package/dist/docs/index.cjs +108 -53
  101. package/dist/docs/index.css +0 -504
  102. package/dist/docs/index.js +108 -53
  103. package/dist/hooks/index.cjs +7 -9
  104. package/dist/hooks/index.js +7 -9
  105. package/dist/providers/index.cjs +43812 -44284
  106. package/dist/providers/index.css +0 -504
  107. package/dist/providers/index.js +43764 -44235
  108. package/dist/runtime/index.cjs +43783 -44255
  109. package/dist/runtime/index.css +0 -504
  110. package/dist/runtime/index.js +43642 -44113
  111. package/package.json +11 -11
  112. package/dist/components/game/atoms/HealthBar.d.ts +0 -18
  113. package/dist/components/game/atoms/XPBar.d.ts +0 -20
  114. package/dist/components/game/atoms/index.d.ts +0 -25
  115. package/dist/components/game/molecules/ActionButtons.d.ts +0 -38
  116. package/dist/components/game/molecules/DPad.d.ts +0 -26
  117. package/dist/components/game/molecules/index.d.ts +0 -32
  118. package/dist/components/game/molecules/three/components/index.d.ts +0 -10
  119. package/dist/components/game/molecules/three/index.d.ts +0 -35
  120. package/dist/components/game/molecules/three/renderers/index.d.ts +0 -11
  121. package/dist/components/game/organisms/editor/index.d.ts +0 -9
  122. package/dist/components/game/organisms/hooks/usePhysics2D.d.ts +0 -45
  123. package/dist/components/game/organisms/hooks/useSpriteAnimations.d.ts +0 -43
  124. package/dist/components/game/organisms/index.d.ts +0 -66
  125. package/dist/components/game/organisms/managers/PhysicsManager.d.ts +0 -103
  126. package/dist/components/game/organisms/physics-sim/index.d.ts +0 -7
  127. package/dist/components/game/organisms/puzzles/builder/index.d.ts +0 -2
  128. package/dist/components/game/organisms/puzzles/classifier/index.d.ts +0 -2
  129. package/dist/components/game/organisms/puzzles/debugger/index.d.ts +0 -2
  130. package/dist/components/game/organisms/puzzles/event-handler/index.d.ts +0 -8
  131. package/dist/components/game/organisms/puzzles/negotiator/index.d.ts +0 -2
  132. package/dist/components/game/organisms/puzzles/sequencer/index.d.ts +0 -8
  133. package/dist/components/game/organisms/puzzles/simulator/index.d.ts +0 -2
  134. package/dist/components/game/organisms/puzzles/state-architect/index.d.ts +0 -10
  135. package/dist/components/game/templates/index.d.ts +0 -4
  136. /package/dist/components/game/{atoms → 2d}/ActionButton.d.ts +0 -0
  137. /package/dist/components/game/{organisms → 2d}/CardBattlerBoard.d.ts +0 -0
  138. /package/dist/components/game/{molecules → 2d}/CardHand.d.ts +0 -0
  139. /package/dist/components/game/{atoms → 2d}/ChoiceButton.d.ts +0 -0
  140. /package/dist/components/game/{organisms → 2d}/CityBuilderBoard.d.ts +0 -0
  141. /package/dist/components/game/{molecules → 2d}/CombatLog.d.ts +0 -0
  142. /package/dist/components/game/{atoms → 2d}/ComboCounter.d.ts +0 -0
  143. /package/dist/components/game/{atoms → 2d}/ControlButton.d.ts +0 -0
  144. /package/dist/components/game/{molecules → 2d}/CraftingRecipe.d.ts +0 -0
  145. /package/dist/components/game/{atoms → 2d}/DamageNumber.d.ts +0 -0
  146. /package/dist/components/game/{molecules → 2d}/DialogueBox.d.ts +0 -0
  147. /package/dist/components/game/{atoms → 2d}/DialogueBubble.d.ts +0 -0
  148. /package/dist/components/game/{molecules → 2d}/EnemyPlate.d.ts +0 -0
  149. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/EventLog.d.ts +0 -0
  150. /package/dist/components/game/{organisms → 2d}/GameAudioToggle.d.ts +0 -0
  151. /package/dist/components/game/{molecules → 2d}/GameCanvas2D.d.ts +0 -0
  152. /package/dist/components/game/{molecules → 2d}/GameHud.d.ts +0 -0
  153. /package/dist/components/game/{molecules → 2d}/GameMenu.d.ts +0 -0
  154. /package/dist/components/game/{molecules → 2d}/GameOverScreen.d.ts +0 -0
  155. /package/dist/components/game/{templates → 2d}/GameShell.d.ts +0 -0
  156. /package/dist/components/game/{templates → 2d}/GameTemplate.d.ts +0 -0
  157. /package/dist/components/game/{molecules → 2d}/HealthPanel.d.ts +0 -0
  158. /package/dist/components/game/{molecules → 2d}/InventoryGrid.d.ts +0 -0
  159. /package/dist/components/game/{molecules → 2d}/InventoryPanel.d.ts +0 -0
  160. /package/dist/components/game/{atoms → 2d}/ItemSlot.d.ts +0 -0
  161. /package/dist/components/game/{atoms → 2d}/MiniMap.d.ts +0 -0
  162. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/ObjectRulePanel.d.ts +0 -0
  163. /package/dist/components/game/{molecules → 2d}/PowerupSlots.d.ts +0 -0
  164. /package/dist/components/game/{molecules → 2d}/QuestTracker.d.ts +0 -0
  165. /package/dist/components/game/{molecules → 2d}/ResourceBar.d.ts +0 -0
  166. /package/dist/components/game/{atoms → 2d}/ResourceCounter.d.ts +0 -0
  167. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/RuleEditor.d.ts +0 -0
  168. /package/dist/components/game/{molecules → 2d}/ScoreBoard.d.ts +0 -0
  169. /package/dist/components/game/{atoms → 2d}/ScoreDisplay.d.ts +0 -0
  170. /package/dist/components/game/{organisms/physics-sim → 2d}/SimulationControls.d.ts +0 -0
  171. /package/dist/components/game/{organisms/physics-sim → 2d}/SimulationGraph.d.ts +0 -0
  172. /package/dist/components/game/{molecules → 2d}/StatBadge.d.ts +0 -0
  173. /package/dist/components/game/{atoms → 2d}/StateIndicator.d.ts +0 -0
  174. /package/dist/components/game/{organisms/puzzles/state-architect → 2d}/StateJsonView.d.ts +0 -0
  175. /package/dist/components/game/{atoms → 2d}/StatusEffect.d.ts +0 -0
  176. /package/dist/components/game/{atoms → 2d}/TimerDisplay.d.ts +0 -0
  177. /package/dist/components/game/{organisms → 2d}/TopDownShooterBoard.d.ts +0 -0
  178. /package/dist/components/game/{organisms → 2d}/TowerDefenseBoard.d.ts +0 -0
  179. /package/dist/components/game/{organisms → 2d}/TraitSlot.d.ts +0 -0
  180. /package/dist/components/game/{atoms → 2d}/TurnIndicator.d.ts +0 -0
  181. /package/dist/components/game/{molecules → 2d}/TurnPanel.d.ts +0 -0
  182. /package/dist/components/game/{molecules → 2d}/UnitCommandBar.d.ts +0 -0
  183. /package/dist/components/game/{organisms/puzzles/state-architect → 2d}/VariablePanel.d.ts +0 -0
  184. /package/dist/components/game/{organisms → 2d}/VisualNovelBoard.d.ts +0 -0
  185. /package/dist/components/game/{atoms → 2d}/WaypointMarker.d.ts +0 -0
  186. /package/dist/components/game/{organisms/editor → 2d}/editorUtils.d.ts +0 -0
  187. /package/dist/components/game/{organisms/physics-sim/presets → 2d}/mechanics.d.ts +0 -0
  188. /package/dist/components/game/{organisms/physics-sim/presets/index.d.ts → 2d/physicsPresets.d.ts} +0 -0
  189. /package/dist/components/game/{organisms/puzzles/event-handler → 2d}/puzzleObject.d.ts +0 -0
  190. /package/dist/components/game/{organisms/physics-sim/presets → 2d}/types.d.ts +0 -0
  191. /package/dist/components/game/{organisms/hooks → 2d}/useGameAudio.d.ts +0 -0
  192. /package/dist/components/game/{molecules/three/loaders → 3d}/AssetLoader.d.ts +0 -0
  193. /package/dist/components/game/{molecules/three → 3d}/Camera3D.d.ts +0 -0
  194. /package/dist/components/game/{molecules/three/components → 3d}/Canvas3DErrorBoundary.d.ts +0 -0
  195. /package/dist/components/game/{molecules/three/components → 3d}/Canvas3DLoadingState.d.ts +0 -0
  196. /package/dist/components/game/{molecules/three → 3d}/Lighting3D.d.ts +0 -0
  197. /package/dist/components/game/{molecules/three/components → 3d}/ModelLoader.d.ts +0 -0
  198. /package/dist/components/game/{molecules/three → 3d}/Scene3D.d.ts +0 -0
  199. /package/dist/components/game/{molecules/three/utils → 3d}/culling.d.ts +0 -0
  200. /package/dist/components/game/{molecules/three/utils → 3d}/grid3D.d.ts +0 -0
  201. /package/dist/components/game/{molecules/three/hooks → 3d}/useRaycaster.d.ts +0 -0
  202. /package/dist/components/game/{molecules/three/hooks → 3d}/useSceneGraph.d.ts +0 -0
  203. /package/dist/components/game/{organisms → shared}/boardEntity.d.ts +0 -0
  204. /package/dist/components/game/{organisms/utils → shared}/combatEffects.d.ts +0 -0
  205. /package/dist/components/game/{organisms/types → shared}/effects.d.ts +0 -0
  206. /package/dist/components/game/{organisms/utils → shared}/isometric.d.ts +0 -0
  207. /package/dist/components/game/{organisms/utils → shared}/makeAsset.d.ts +0 -0
  208. /package/dist/components/game/{organisms/types/spriteAnimation.d.ts → shared/spriteAnimationTypes.d.ts} +0 -0
  209. /package/dist/components/game/{organisms/hooks → shared}/useImageCache.d.ts +0 -0
@@ -1160,510 +1160,6 @@ body {
1160
1160
  counter-reset: katexEqnNo mmlEqnNo;
1161
1161
  }
1162
1162
 
1163
- /* components/game/molecules/three/components/Canvas3DLoadingState.css */
1164
- .canvas-3d-loading {
1165
- position: absolute;
1166
- inset: 0;
1167
- display: flex;
1168
- align-items: center;
1169
- justify-content: center;
1170
- background:
1171
- linear-gradient(
1172
- 135deg,
1173
- #1a1a2e 0%,
1174
- #16213e 50%,
1175
- #0f3460 100%);
1176
- overflow: hidden;
1177
- z-index: 100;
1178
- }
1179
- .canvas-3d-loading__content {
1180
- position: relative;
1181
- z-index: 2;
1182
- display: flex;
1183
- flex-direction: column;
1184
- align-items: center;
1185
- gap: 20px;
1186
- padding: 40px;
1187
- background: rgba(255, 255, 255, 0.05);
1188
- backdrop-filter: blur(10px);
1189
- border-radius: 16px;
1190
- border: 1px solid rgba(255, 255, 255, 0.1);
1191
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
1192
- }
1193
- .canvas-3d-loading__spinner {
1194
- position: relative;
1195
- width: 80px;
1196
- height: 80px;
1197
- }
1198
- .spinner__ring {
1199
- position: absolute;
1200
- inset: 0;
1201
- border: 4px solid transparent;
1202
- border-top-color: #4488ff;
1203
- border-radius: 50%;
1204
- animation: spin 1s linear infinite;
1205
- }
1206
- .spinner__ring--secondary {
1207
- inset: 10px;
1208
- border-top-color: #ff6b6b;
1209
- animation-duration: 1.5s;
1210
- animation-direction: reverse;
1211
- }
1212
- @keyframes spin {
1213
- from {
1214
- transform: rotate(0deg);
1215
- }
1216
- to {
1217
- transform: rotate(360deg);
1218
- }
1219
- }
1220
- .canvas-3d-loading__message {
1221
- font-size: 20px;
1222
- font-weight: 600;
1223
- color: #ffffff;
1224
- text-align: center;
1225
- letter-spacing: 0.5px;
1226
- }
1227
- .canvas-3d-loading__details {
1228
- font-size: 14px;
1229
- color: rgba(255, 255, 255, 0.6);
1230
- text-align: center;
1231
- font-family: monospace;
1232
- max-width: 300px;
1233
- overflow: hidden;
1234
- text-overflow: ellipsis;
1235
- white-space: nowrap;
1236
- }
1237
- .canvas-3d-loading__progress {
1238
- width: 100%;
1239
- max-width: 280px;
1240
- display: flex;
1241
- flex-direction: column;
1242
- gap: 8px;
1243
- }
1244
- .progress__bar {
1245
- height: 6px;
1246
- background: rgba(255, 255, 255, 0.1);
1247
- border-radius: 3px;
1248
- overflow: hidden;
1249
- }
1250
- .progress__fill {
1251
- height: 100%;
1252
- background:
1253
- linear-gradient(
1254
- 90deg,
1255
- #4488ff,
1256
- #ff6b6b);
1257
- border-radius: 3px;
1258
- transition: width 0.3s ease;
1259
- }
1260
- .progress__text {
1261
- display: flex;
1262
- justify-content: space-between;
1263
- font-size: 12px;
1264
- color: rgba(255, 255, 255, 0.7);
1265
- }
1266
- .progress__percentage {
1267
- font-weight: 600;
1268
- color: #4488ff;
1269
- }
1270
- .progress__count {
1271
- font-family: monospace;
1272
- }
1273
- .canvas-3d-loading__background {
1274
- position: absolute;
1275
- inset: 0;
1276
- z-index: 1;
1277
- opacity: 0.3;
1278
- }
1279
- .bg__grid {
1280
- position: absolute;
1281
- inset: -50%;
1282
- background-image:
1283
- linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
1284
- linear-gradient(
1285
- 90deg,
1286
- rgba(255, 255, 255, 0.03) 1px,
1287
- transparent 1px);
1288
- background-size: 50px 50px;
1289
- animation: gridMove 20s linear infinite;
1290
- }
1291
- @keyframes gridMove {
1292
- 0% {
1293
- transform: perspective(500px) rotateX(60deg) translateY(0);
1294
- }
1295
- 100% {
1296
- transform: perspective(500px) rotateX(60deg) translateY(50px);
1297
- }
1298
- }
1299
- @media (max-width: 480px) {
1300
- .canvas-3d-loading__content {
1301
- padding: 30px 20px;
1302
- margin: 20px;
1303
- }
1304
- .canvas-3d-loading__spinner {
1305
- width: 60px;
1306
- height: 60px;
1307
- }
1308
- .canvas-3d-loading__message {
1309
- font-size: 16px;
1310
- }
1311
- .canvas-3d-loading__details {
1312
- font-size: 12px;
1313
- }
1314
- }
1315
-
1316
- /* components/game/molecules/three/components/Canvas3DErrorBoundary.css */
1317
- .canvas-3d-error {
1318
- position: absolute;
1319
- inset: 0;
1320
- display: flex;
1321
- align-items: center;
1322
- justify-content: center;
1323
- background:
1324
- linear-gradient(
1325
- 135deg,
1326
- #2e1a1a 0%,
1327
- #3e1616 50%,
1328
- #4a1a1a 100%);
1329
- padding: 20px;
1330
- z-index: 100;
1331
- }
1332
- .canvas-3d-error__content {
1333
- max-width: 600px;
1334
- width: 100%;
1335
- padding: 40px;
1336
- background: rgba(0, 0, 0, 0.4);
1337
- backdrop-filter: blur(10px);
1338
- border-radius: 16px;
1339
- border: 1px solid rgba(255, 100, 100, 0.2);
1340
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
1341
- text-align: center;
1342
- }
1343
- .canvas-3d-error__icon {
1344
- font-size: 64px;
1345
- margin-bottom: 20px;
1346
- animation: shake 0.5s ease-in-out;
1347
- }
1348
- @keyframes shake {
1349
- 0%, 100% {
1350
- transform: translateX(0);
1351
- }
1352
- 25% {
1353
- transform: translateX(-10px);
1354
- }
1355
- 75% {
1356
- transform: translateX(10px);
1357
- }
1358
- }
1359
- .canvas-3d-error__title {
1360
- font-size: 28px;
1361
- font-weight: 700;
1362
- color: #ff6b6b;
1363
- margin: 0 0 16px;
1364
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
1365
- }
1366
- .canvas-3d-error__message {
1367
- font-size: 16px;
1368
- color: rgba(255, 255, 255, 0.8);
1369
- margin: 0 0 24px;
1370
- line-height: 1.5;
1371
- }
1372
- .canvas-3d-error__details {
1373
- margin: 24px 0;
1374
- text-align: start;
1375
- background: rgba(0, 0, 0, 0.3);
1376
- border-radius: 8px;
1377
- overflow: hidden;
1378
- }
1379
- .canvas-3d-error__details summary {
1380
- padding: 12px 16px;
1381
- cursor: pointer;
1382
- color: #ff9999;
1383
- font-weight: 600;
1384
- -webkit-user-select: none;
1385
- -moz-user-select: none;
1386
- user-select: none;
1387
- transition: background 0.2s ease;
1388
- }
1389
- .canvas-3d-error__details summary:hover {
1390
- background: rgba(255, 100, 100, 0.1);
1391
- }
1392
- .error__stack,
1393
- .error__component-stack {
1394
- padding: 16px;
1395
- margin: 0;
1396
- font-family:
1397
- "Fira Code",
1398
- "Monaco",
1399
- "Consolas",
1400
- monospace;
1401
- font-size: 12px;
1402
- line-height: 1.6;
1403
- color: #ffaaaa;
1404
- background: rgba(0, 0, 0, 0.5);
1405
- overflow-x: auto;
1406
- white-space: pre-wrap;
1407
- word-break: break-all;
1408
- }
1409
- .error__component-stack {
1410
- border-top: 1px solid rgba(255, 100, 100, 0.2);
1411
- color: #ff8888;
1412
- }
1413
- .canvas-3d-error__actions {
1414
- display: flex;
1415
- gap: 12px;
1416
- justify-content: center;
1417
- margin-top: 24px;
1418
- flex-wrap: wrap;
1419
- }
1420
- .error__button {
1421
- padding: 12px 24px;
1422
- font-size: 14px;
1423
- font-weight: 600;
1424
- border-radius: 8px;
1425
- border: none;
1426
- cursor: pointer;
1427
- transition: all 0.2s ease;
1428
- }
1429
- .error__button--primary {
1430
- background:
1431
- linear-gradient(
1432
- 135deg,
1433
- #ff6b6b,
1434
- #ff4444);
1435
- color: white;
1436
- }
1437
- .error__button--primary:hover {
1438
- background:
1439
- linear-gradient(
1440
- 135deg,
1441
- #ff8888,
1442
- #ff6666);
1443
- transform: translateY(-2px);
1444
- box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
1445
- }
1446
- .error__button--secondary {
1447
- background: rgba(255, 255, 255, 0.1);
1448
- color: rgba(255, 255, 255, 0.9);
1449
- border: 1px solid rgba(255, 255, 255, 0.2);
1450
- }
1451
- .error__button--secondary:hover {
1452
- background: rgba(255, 255, 255, 0.15);
1453
- transform: translateY(-2px);
1454
- }
1455
- .error__button:active {
1456
- transform: translateY(0);
1457
- }
1458
- @media (max-width: 480px) {
1459
- .canvas-3d-error__content {
1460
- padding: 30px 20px;
1461
- }
1462
- .canvas-3d-error__icon {
1463
- font-size: 48px;
1464
- }
1465
- .canvas-3d-error__title {
1466
- font-size: 22px;
1467
- }
1468
- .canvas-3d-error__message {
1469
- font-size: 14px;
1470
- }
1471
- .canvas-3d-error__actions {
1472
- flex-direction: column;
1473
- }
1474
- .error__button {
1475
- width: 100%;
1476
- }
1477
- }
1478
-
1479
- /* components/game/molecules/GameCanvas3D.css */
1480
- .game-canvas-3d {
1481
- background: #1a1a2e;
1482
- border-radius: 8px;
1483
- }
1484
- .game-canvas-3d canvas {
1485
- display: block;
1486
- width: 100%;
1487
- height: 100%;
1488
- }
1489
- .game-canvas-3d--loading {
1490
- display: flex;
1491
- align-items: center;
1492
- justify-content: center;
1493
- background:
1494
- linear-gradient(
1495
- 135deg,
1496
- #1a1a2e 0%,
1497
- #16213e 100%);
1498
- }
1499
- .game-canvas-3d__loading {
1500
- padding: 20px 40px;
1501
- background: rgba(255, 255, 255, 0.1);
1502
- border-radius: 8px;
1503
- color: #ffffff;
1504
- font-size: 16px;
1505
- animation: pulse 1.5s ease-in-out infinite;
1506
- }
1507
- .game-canvas-3d--error {
1508
- display: flex;
1509
- align-items: center;
1510
- justify-content: center;
1511
- background:
1512
- linear-gradient(
1513
- 135deg,
1514
- #2e1a1a 0%,
1515
- #3e1616 100%);
1516
- }
1517
- .game-canvas-3d__error {
1518
- padding: 20px 40px;
1519
- background: rgba(255, 0, 0, 0.2);
1520
- border: 1px solid rgba(255, 0, 0, 0.3);
1521
- border-radius: 8px;
1522
- color: #ff6b6b;
1523
- font-size: 14px;
1524
- }
1525
- .game-canvas-3d__coordinates {
1526
- position: absolute;
1527
- bottom: 20px;
1528
- left: 20px;
1529
- padding: 8px 16px;
1530
- background: rgba(0, 0, 0, 0.7);
1531
- border-radius: 4px;
1532
- color: #ffffff;
1533
- font-family: monospace;
1534
- font-size: 12px;
1535
- pointer-events: none;
1536
- z-index: 10;
1537
- }
1538
- .game-canvas-3d__tile-info {
1539
- position: absolute;
1540
- top: 20px;
1541
- left: 20px;
1542
- padding: 12px 16px;
1543
- background: rgba(0, 0, 0, 0.8);
1544
- border-radius: 6px;
1545
- color: #ffffff;
1546
- pointer-events: none;
1547
- z-index: 10;
1548
- min-width: 120px;
1549
- }
1550
- .tile-info__type {
1551
- font-weight: 600;
1552
- font-size: 14px;
1553
- text-transform: capitalize;
1554
- margin-bottom: 4px;
1555
- }
1556
- .tile-info__terrain {
1557
- font-size: 12px;
1558
- color: #aaaaaa;
1559
- }
1560
- @keyframes pulse {
1561
- 0%, 100% {
1562
- opacity: 1;
1563
- }
1564
- 50% {
1565
- opacity: 0.5;
1566
- }
1567
- }
1568
- .game-canvas-3d[data-camera-mode=isometric]::before {
1569
- content: "Isometric";
1570
- position: absolute;
1571
- top: 20px;
1572
- right: 20px;
1573
- padding: 6px 12px;
1574
- background: rgba(0, 0, 0, 0.6);
1575
- border-radius: 4px;
1576
- color: #ffffff;
1577
- font-size: 11px;
1578
- text-transform: uppercase;
1579
- letter-spacing: 1px;
1580
- pointer-events: none;
1581
- }
1582
- .game-canvas-3d[data-camera-mode=perspective]::before {
1583
- content: "Perspective";
1584
- position: absolute;
1585
- top: 20px;
1586
- right: 20px;
1587
- padding: 6px 12px;
1588
- background: rgba(0, 0, 0, 0.6);
1589
- border-radius: 4px;
1590
- color: #ffffff;
1591
- font-size: 11px;
1592
- text-transform: uppercase;
1593
- letter-spacing: 1px;
1594
- pointer-events: none;
1595
- }
1596
- .game-canvas-3d[data-camera-mode=top-down]::before {
1597
- content: "Top Down";
1598
- position: absolute;
1599
- top: 20px;
1600
- right: 20px;
1601
- padding: 6px 12px;
1602
- background: rgba(0, 0, 0, 0.6);
1603
- border-radius: 4px;
1604
- color: #ffffff;
1605
- font-size: 11px;
1606
- text-transform: uppercase;
1607
- letter-spacing: 1px;
1608
- pointer-events: none;
1609
- }
1610
- .game-canvas-3d[data-overlay=hidden] .game-canvas-3d__coordinates,
1611
- .game-canvas-3d[data-overlay=hidden] .game-canvas-3d__tile-info,
1612
- .game-canvas-3d[data-overlay=hidden]::before {
1613
- display: none;
1614
- }
1615
- .game-canvas-3d[data-orientation=rotated] {
1616
- }
1617
- .game-canvas-3d canvas {
1618
- cursor: crosshair;
1619
- }
1620
- .game-canvas-3d canvas:active {
1621
- cursor: grabbing;
1622
- }
1623
- @media (max-width: 768px) {
1624
- .game-canvas-3d__coordinates,
1625
- .game-canvas-3d__tile-info {
1626
- font-size: 10px;
1627
- padding: 6px 10px;
1628
- }
1629
- .game-canvas-3d::before {
1630
- font-size: 9px;
1631
- padding: 4px 8px;
1632
- }
1633
- }
1634
- .game-canvas-3d:focus {
1635
- outline: 2px solid #4488ff;
1636
- outline-offset: 2px;
1637
- }
1638
- .game-canvas-3d canvas {
1639
- transition: opacity 0.3s ease;
1640
- }
1641
- .game-canvas-3d__context-menu {
1642
- position: absolute;
1643
- background: rgba(0, 0, 0, 0.9);
1644
- border: 1px solid rgba(255, 255, 255, 0.1);
1645
- border-radius: 6px;
1646
- padding: 8px 0;
1647
- min-width: 150px;
1648
- z-index: 100;
1649
- }
1650
- .game-canvas-3d__context-menu-item {
1651
- padding: 8px 16px;
1652
- color: #ffffff;
1653
- cursor: pointer;
1654
- font-size: 13px;
1655
- transition: background 0.15s ease;
1656
- }
1657
- .game-canvas-3d__context-menu-item:hover {
1658
- background: rgba(255, 255, 255, 0.1);
1659
- }
1660
- .game-canvas-3d__context-menu-item--danger {
1661
- color: #ff6b6b;
1662
- }
1663
- .game-canvas-3d__context-menu-item--danger:hover {
1664
- background: rgba(255, 0, 0, 0.2);
1665
- }
1666
-
1667
1163
  /* components/core/organisms/debug/RuntimeDebugger.css */
1668
1164
  .runtime-debugger {
1669
1165
  font-family:
@@ -5515,21 +5515,121 @@ var init_Badge = __esm({
5515
5515
  }
5516
5516
  });
5517
5517
 
5518
- // components/game/atoms/index.ts
5519
- var init_atoms = __esm({
5520
- "components/game/atoms/index.ts"() {
5518
+ // components/game/shared/effects.ts
5519
+ var init_effects = __esm({
5520
+ "components/game/shared/effects.ts"() {
5521
+ }
5522
+ });
5523
+
5524
+ // components/game/shared/boardEntity.ts
5525
+ var init_boardEntity = __esm({
5526
+ "components/game/shared/boardEntity.ts"() {
5527
+ }
5528
+ });
5529
+
5530
+ // components/game/shared/makeAsset.ts
5531
+ var init_makeAsset = __esm({
5532
+ "components/game/shared/makeAsset.ts"() {
5533
+ }
5534
+ });
5535
+
5536
+ // components/game/shared/combatPresets.ts
5537
+ var init_combatPresets = __esm({
5538
+ "components/game/shared/combatPresets.ts"() {
5539
+ }
5540
+ });
5541
+
5542
+ // components/game/shared/canvasEffects.ts
5543
+ var init_canvasEffects = __esm({
5544
+ "components/game/shared/canvasEffects.ts"() {
5545
+ }
5546
+ });
5547
+
5548
+ // components/game/shared/index.ts
5549
+ var init_shared = __esm({
5550
+ "components/game/shared/index.ts"() {
5551
+ init_effects();
5552
+ init_boardEntity();
5553
+ init_makeAsset();
5554
+ init_combatPresets();
5555
+ init_canvasEffects();
5556
+ }
5557
+ });
5558
+ var init_useCanvasEffects = __esm({
5559
+ "components/game/2d/useCanvasEffects.ts"() {
5560
+ "use client";
5561
+ }
5562
+ });
5563
+ var LoadingState;
5564
+ var init_LoadingState = __esm({
5565
+ "components/core/molecules/LoadingState.tsx"() {
5566
+ "use client";
5567
+ init_cn();
5568
+ init_atoms();
5569
+ init_Stack();
5570
+ init_Typography();
5571
+ init_useTranslate();
5572
+ LoadingState = ({
5573
+ title,
5574
+ message,
5575
+ className
5576
+ }) => {
5577
+ const { t } = useTranslate();
5578
+ const displayMessage = message ?? t("common.loading");
5579
+ return /* @__PURE__ */ jsxs(
5580
+ VStack,
5581
+ {
5582
+ align: "center",
5583
+ className: cn(
5584
+ "justify-center py-12",
5585
+ className
5586
+ ),
5587
+ children: [
5588
+ /* @__PURE__ */ jsx(Spinner, { size: "lg" }),
5589
+ title && /* @__PURE__ */ jsx(Typography, { variant: "h3", className: "mt-4 text-lg font-semibold text-foreground", children: title }),
5590
+ /* @__PURE__ */ jsx(
5591
+ Typography,
5592
+ {
5593
+ variant: "small",
5594
+ className: cn(
5595
+ "text-muted-foreground",
5596
+ title ? "mt-2" : "mt-4"
5597
+ ),
5598
+ children: displayMessage
5599
+ }
5600
+ )
5601
+ ]
5602
+ }
5603
+ );
5604
+ };
5605
+ LoadingState.displayName = "LoadingState";
5606
+ }
5607
+ });
5608
+
5609
+ // components/game/2d/puzzleObject.ts
5610
+ var init_puzzleObject = __esm({
5611
+ "components/game/2d/puzzleObject.ts"() {
5612
+ }
5613
+ });
5614
+
5615
+ // components/game/2d/index.ts
5616
+ var init_d = __esm({
5617
+ "components/game/2d/index.ts"() {
5618
+ init_shared();
5619
+ init_useCanvasEffects();
5620
+ init_puzzleObject();
5521
5621
  }
5522
5622
  });
5523
5623
 
5524
5624
  // components/core/atoms/index.ts
5525
- var init_atoms2 = __esm({
5625
+ var init_atoms = __esm({
5526
5626
  "components/core/atoms/index.ts"() {
5527
5627
  init_svg();
5528
5628
  init_Button();
5529
5629
  init_Card();
5530
5630
  init_Spinner();
5531
5631
  init_Typography();
5532
- init_atoms();
5632
+ init_d();
5533
5633
  }
5534
5634
  });
5535
5635
  var Tabs;
@@ -5686,57 +5786,12 @@ var init_Tabs = __esm({
5686
5786
  Tabs.displayName = "Tabs";
5687
5787
  }
5688
5788
  });
5689
- var LoadingState;
5690
- var init_LoadingState = __esm({
5691
- "components/core/molecules/LoadingState.tsx"() {
5692
- "use client";
5693
- init_cn();
5694
- init_atoms2();
5695
- init_Stack();
5696
- init_Typography();
5697
- init_useTranslate();
5698
- LoadingState = ({
5699
- title,
5700
- message,
5701
- className
5702
- }) => {
5703
- const { t } = useTranslate();
5704
- const displayMessage = message ?? t("common.loading");
5705
- return /* @__PURE__ */ jsxs(
5706
- VStack,
5707
- {
5708
- align: "center",
5709
- className: cn(
5710
- "justify-center py-12",
5711
- className
5712
- ),
5713
- children: [
5714
- /* @__PURE__ */ jsx(Spinner, { size: "lg" }),
5715
- title && /* @__PURE__ */ jsx(Typography, { variant: "h3", className: "mt-4 text-lg font-semibold text-foreground", children: title }),
5716
- /* @__PURE__ */ jsx(
5717
- Typography,
5718
- {
5719
- variant: "small",
5720
- className: cn(
5721
- "text-muted-foreground",
5722
- title ? "mt-2" : "mt-4"
5723
- ),
5724
- children: displayMessage
5725
- }
5726
- )
5727
- ]
5728
- }
5729
- );
5730
- };
5731
- LoadingState.displayName = "LoadingState";
5732
- }
5733
- });
5734
5789
  var ErrorState;
5735
5790
  var init_ErrorState = __esm({
5736
5791
  "components/core/molecules/ErrorState.tsx"() {
5737
5792
  "use client";
5738
5793
  init_cn();
5739
- init_atoms2();
5794
+ init_atoms();
5740
5795
  init_Box();
5741
5796
  init_Stack();
5742
5797
  init_Typography();
@@ -5784,7 +5839,7 @@ var init_EmptyState = __esm({
5784
5839
  "components/core/molecules/EmptyState.tsx"() {
5785
5840
  "use client";
5786
5841
  init_cn();
5787
- init_atoms2();
5842
+ init_atoms();
5788
5843
  init_Box();
5789
5844
  init_Icon();
5790
5845
  init_Stack();
@@ -5939,7 +5994,7 @@ var orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log2, CODE_LANGU
5939
5994
  var init_CodeBlock = __esm({
5940
5995
  "components/core/molecules/markdown/CodeBlock.tsx"() {
5941
5996
  init_cn();
5942
- init_atoms2();
5997
+ init_atoms();
5943
5998
  init_Tabs();
5944
5999
  init_LoadingState();
5945
6000
  init_ErrorState();