blacktrigram 0.7.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 (1853) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +866 -0
  3. package/SECURITY.md +124 -0
  4. package/lib/App.d.ts +4 -0
  5. package/lib/App.d.ts.map +1 -0
  6. package/lib/App2.js +386 -0
  7. package/lib/App2.js.map +1 -0
  8. package/lib/_virtual/_rolldown/runtime.js +13 -0
  9. package/lib/assets/index.css +1146 -0
  10. package/lib/audio/AudioAssetLoader.d.ts +101 -0
  11. package/lib/audio/AudioAssetLoader.d.ts.map +1 -0
  12. package/lib/audio/AudioAssetLoader.js +245 -0
  13. package/lib/audio/AudioAssetLoader.js.map +1 -0
  14. package/lib/audio/AudioAssetRegistry.d.ts +126 -0
  15. package/lib/audio/AudioAssetRegistry.d.ts.map +1 -0
  16. package/lib/audio/AudioAssetRegistry.js +970 -0
  17. package/lib/audio/AudioAssetRegistry.js.map +1 -0
  18. package/lib/audio/AudioCache.d.ts +135 -0
  19. package/lib/audio/AudioCache.d.ts.map +1 -0
  20. package/lib/audio/AudioCache.js +211 -0
  21. package/lib/audio/AudioCache.js.map +1 -0
  22. package/lib/audio/AudioManager.d.ts +162 -0
  23. package/lib/audio/AudioManager.d.ts.map +1 -0
  24. package/lib/audio/AudioManager.js +508 -0
  25. package/lib/audio/AudioManager.js.map +1 -0
  26. package/lib/audio/AudioMonitor.d.ts +122 -0
  27. package/lib/audio/AudioMonitor.d.ts.map +1 -0
  28. package/lib/audio/AudioMonitor.js +215 -0
  29. package/lib/audio/AudioMonitor.js.map +1 -0
  30. package/lib/audio/AudioPool.d.ts +108 -0
  31. package/lib/audio/AudioPool.d.ts.map +1 -0
  32. package/lib/audio/AudioPool.js +206 -0
  33. package/lib/audio/AudioPool.js.map +1 -0
  34. package/lib/audio/AudioProvider.d.ts +28 -0
  35. package/lib/audio/AudioProvider.d.ts.map +1 -0
  36. package/lib/audio/AudioProvider.js +135 -0
  37. package/lib/audio/AudioProvider.js.map +1 -0
  38. package/lib/audio/AudioUtils.d.ts +77 -0
  39. package/lib/audio/AudioUtils.d.ts.map +1 -0
  40. package/lib/audio/AudioUtils.js +164 -0
  41. package/lib/audio/AudioUtils.js.map +1 -0
  42. package/lib/audio/BoneImpactAudioMap.d.ts +64 -0
  43. package/lib/audio/BoneImpactAudioMap.d.ts.map +1 -0
  44. package/lib/audio/BoneImpactAudioMap.js +133 -0
  45. package/lib/audio/BoneImpactAudioMap.js.map +1 -0
  46. package/lib/audio/VariantSelector.d.ts +69 -0
  47. package/lib/audio/VariantSelector.d.ts.map +1 -0
  48. package/lib/audio/VariantSelector.js +177 -0
  49. package/lib/audio/VariantSelector.js.map +1 -0
  50. package/lib/audio/index.d.ts +13 -0
  51. package/lib/audio/index.d.ts.map +1 -0
  52. package/lib/audio/index.js +41 -0
  53. package/lib/audio/index.js.map +1 -0
  54. package/lib/audio/types.d.ts +220 -0
  55. package/lib/audio/types.d.ts.map +1 -0
  56. package/lib/audio/types.js +12 -0
  57. package/lib/audio/types.js.map +1 -0
  58. package/lib/components/effects/WindParticles3D.d.ts +83 -0
  59. package/lib/components/effects/WindParticles3D.d.ts.map +1 -0
  60. package/lib/components/effects/index.d.ts +6 -0
  61. package/lib/components/effects/index.d.ts.map +1 -0
  62. package/lib/components/index.d.ts +5 -0
  63. package/lib/components/index.d.ts.map +1 -0
  64. package/lib/components/index.js +74 -0
  65. package/lib/components/index.js.map +1 -0
  66. package/lib/components/screens/combat/CombatScreen3D.d.ts +74 -0
  67. package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -0
  68. package/lib/components/screens/combat/CombatScreen3D.js +1912 -0
  69. package/lib/components/screens/combat/CombatScreen3D.js.map +1 -0
  70. package/lib/components/screens/combat/components/controls/CombatButtons.d.ts +39 -0
  71. package/lib/components/screens/combat/components/controls/CombatButtons.d.ts.map +1 -0
  72. package/lib/components/screens/combat/components/controls/CombatButtons.js +52 -0
  73. package/lib/components/screens/combat/components/controls/CombatButtons.js.map +1 -0
  74. package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts +35 -0
  75. package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts.map +1 -0
  76. package/lib/components/screens/combat/components/controls/CombatControlsPanel.js +78 -0
  77. package/lib/components/screens/combat/components/controls/CombatControlsPanel.js.map +1 -0
  78. package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts +23 -0
  79. package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts.map +1 -0
  80. package/lib/components/screens/combat/components/controls/ControlsGuide.js +214 -0
  81. package/lib/components/screens/combat/components/controls/ControlsGuide.js.map +1 -0
  82. package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts +54 -0
  83. package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts.map +1 -0
  84. package/lib/components/screens/combat/components/controls/KeyboardHints.js +357 -0
  85. package/lib/components/screens/combat/components/controls/KeyboardHints.js.map +1 -0
  86. package/lib/components/screens/combat/components/controls/PauseMenu.d.ts +32 -0
  87. package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -0
  88. package/lib/components/screens/combat/components/controls/PauseMenu.js +254 -0
  89. package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -0
  90. package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts +63 -0
  91. package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts.map +1 -0
  92. package/lib/components/screens/combat/components/controls/PauseMenuButton.js +108 -0
  93. package/lib/components/screens/combat/components/controls/PauseMenuButton.js.map +1 -0
  94. package/lib/components/screens/combat/components/controls/QuickSettings.d.ts +42 -0
  95. package/lib/components/screens/combat/components/controls/QuickSettings.d.ts.map +1 -0
  96. package/lib/components/screens/combat/components/controls/QuickSettings.js +259 -0
  97. package/lib/components/screens/combat/components/controls/QuickSettings.js.map +1 -0
  98. package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts +73 -0
  99. package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts.map +1 -0
  100. package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts +108 -0
  101. package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts.map +1 -0
  102. package/lib/components/screens/combat/components/effects/BloodDecals3D.js +232 -0
  103. package/lib/components/screens/combat/components/effects/BloodDecals3D.js.map +1 -0
  104. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts +53 -0
  105. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts.map +1 -0
  106. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js +87 -0
  107. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js.map +1 -0
  108. package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts +80 -0
  109. package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts.map +1 -0
  110. package/lib/components/screens/combat/components/effects/BloodParticles3D.js +278 -0
  111. package/lib/components/screens/combat/components/effects/BloodParticles3D.js.map +1 -0
  112. package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts +64 -0
  113. package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts.map +1 -0
  114. package/lib/components/screens/combat/components/effects/BloodViscosity3D.js +248 -0
  115. package/lib/components/screens/combat/components/effects/BloodViscosity3D.js.map +1 -0
  116. package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts +60 -0
  117. package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts.map +1 -0
  118. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts +37 -0
  119. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts.map +1 -0
  120. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js +184 -0
  121. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js.map +1 -0
  122. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts +49 -0
  123. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts.map +1 -0
  124. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js +66 -0
  125. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js.map +1 -0
  126. package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts +93 -0
  127. package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts.map +1 -0
  128. package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts +57 -0
  129. package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts.map +1 -0
  130. package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts +88 -0
  131. package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts.map +1 -0
  132. package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts +91 -0
  133. package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts.map +1 -0
  134. package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts +67 -0
  135. package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts.map +1 -0
  136. package/lib/components/screens/combat/components/effects/InternalDamage3D.js +261 -0
  137. package/lib/components/screens/combat/components/effects/InternalDamage3D.js.map +1 -0
  138. package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts +45 -0
  139. package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts.map +1 -0
  140. package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts +61 -0
  141. package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts.map +1 -0
  142. package/lib/components/screens/combat/components/effects/PainVignette.d.ts +47 -0
  143. package/lib/components/screens/combat/components/effects/PainVignette.d.ts.map +1 -0
  144. package/lib/components/screens/combat/components/effects/PainVignette.js +65 -0
  145. package/lib/components/screens/combat/components/effects/PainVignette.js.map +1 -0
  146. package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts +52 -0
  147. package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts.map +1 -0
  148. package/lib/components/screens/combat/components/effects/ParticleAudio3D.js +103 -0
  149. package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -0
  150. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts +91 -0
  151. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts.map +1 -0
  152. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js +296 -0
  153. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js.map +1 -0
  154. package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts +64 -0
  155. package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts.map +1 -0
  156. package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts +72 -0
  157. package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts.map +1 -0
  158. package/lib/components/screens/combat/components/effects/index.d.ts +121 -0
  159. package/lib/components/screens/combat/components/effects/index.d.ts.map +1 -0
  160. package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts +31 -0
  161. package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts.map +1 -0
  162. package/lib/components/screens/combat/components/feedback/MatchCountdown.js +242 -0
  163. package/lib/components/screens/combat/components/feedback/MatchCountdown.js.map +1 -0
  164. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts +74 -0
  165. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts.map +1 -0
  166. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js +275 -0
  167. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -0
  168. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts +25 -0
  169. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts.map +1 -0
  170. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js +61 -0
  171. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js.map +1 -0
  172. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts +43 -0
  173. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts.map +1 -0
  174. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js +139 -0
  175. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js.map +1 -0
  176. package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts +50 -0
  177. package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -0
  178. package/lib/components/screens/combat/components/hud/CombatBottomHUD.js +155 -0
  179. package/lib/components/screens/combat/components/hud/CombatBottomHUD.js.map +1 -0
  180. package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts +54 -0
  181. package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts.map +1 -0
  182. package/lib/components/screens/combat/components/hud/CombatLeftHUD.js +103 -0
  183. package/lib/components/screens/combat/components/hud/CombatLeftHUD.js.map +1 -0
  184. package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts +54 -0
  185. package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts.map +1 -0
  186. package/lib/components/screens/combat/components/hud/CombatRightHUD.js +101 -0
  187. package/lib/components/screens/combat/components/hud/CombatRightHUD.js.map +1 -0
  188. package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts +47 -0
  189. package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -0
  190. package/lib/components/screens/combat/components/hud/CombatTopHUD.js +141 -0
  191. package/lib/components/screens/combat/components/hud/CombatTopHUD.js.map +1 -0
  192. package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts +25 -0
  193. package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts.map +1 -0
  194. package/lib/components/screens/combat/components/hud/DifficultyIndicator.js +129 -0
  195. package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -0
  196. package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts +48 -0
  197. package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts.map +1 -0
  198. package/lib/components/screens/combat/components/hud/FPSMonitor.js +131 -0
  199. package/lib/components/screens/combat/components/hud/FPSMonitor.js.map +1 -0
  200. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts +82 -0
  201. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts.map +1 -0
  202. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js +73 -0
  203. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js.map +1 -0
  204. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts +80 -0
  205. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts.map +1 -0
  206. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js +79 -0
  207. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -0
  208. package/lib/components/screens/combat/components/hud/index.d.ts +22 -0
  209. package/lib/components/screens/combat/components/hud/index.d.ts.map +1 -0
  210. package/lib/components/screens/combat/components/hud/index.js +4 -0
  211. package/lib/components/screens/combat/components/index.d.ts +47 -0
  212. package/lib/components/screens/combat/components/index.d.ts.map +1 -0
  213. package/lib/components/screens/combat/components/index.js +23 -0
  214. package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts +52 -0
  215. package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts.map +1 -0
  216. package/lib/components/screens/combat/components/indicators/BalanceIndicator.js +113 -0
  217. package/lib/components/screens/combat/components/indicators/BalanceIndicator.js.map +1 -0
  218. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts +49 -0
  219. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts.map +1 -0
  220. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js +150 -0
  221. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -0
  222. package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts +44 -0
  223. package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts.map +1 -0
  224. package/lib/components/screens/combat/components/indicators/StaminaWarning.js +83 -0
  225. package/lib/components/screens/combat/components/indicators/StaminaWarning.js.map +1 -0
  226. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts +83 -0
  227. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts.map +1 -0
  228. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js +161 -0
  229. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js.map +1 -0
  230. package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts +38 -0
  231. package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -0
  232. package/lib/components/screens/combat/helpers/AnimationUpdater.js +37 -0
  233. package/lib/components/screens/combat/helpers/AnimationUpdater.js.map +1 -0
  234. package/lib/components/screens/combat/helpers/combatHelpers.d.ts +37 -0
  235. package/lib/components/screens/combat/helpers/combatHelpers.d.ts.map +1 -0
  236. package/lib/components/screens/combat/helpers/combatHelpers.js +33 -0
  237. package/lib/components/screens/combat/helpers/combatHelpers.js.map +1 -0
  238. package/lib/components/screens/combat/helpers/index.d.ts +8 -0
  239. package/lib/components/screens/combat/helpers/index.d.ts.map +1 -0
  240. package/lib/components/screens/combat/helpers/index.js +2 -0
  241. package/lib/components/screens/combat/hooks/useAICombat.d.ts +108 -0
  242. package/lib/components/screens/combat/hooks/useAICombat.d.ts.map +1 -0
  243. package/lib/components/screens/combat/hooks/useAICombat.js +806 -0
  244. package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -0
  245. package/lib/components/screens/combat/hooks/useCombatActions.d.ts +106 -0
  246. package/lib/components/screens/combat/hooks/useCombatActions.d.ts.map +1 -0
  247. package/lib/components/screens/combat/hooks/useCombatActions.js +766 -0
  248. package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -0
  249. package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts +85 -0
  250. package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts.map +1 -0
  251. package/lib/components/screens/combat/hooks/useCombatAttackMovement.js +202 -0
  252. package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -0
  253. package/lib/components/screens/combat/hooks/useCombatAudio.d.ts +40 -0
  254. package/lib/components/screens/combat/hooks/useCombatAudio.d.ts.map +1 -0
  255. package/lib/components/screens/combat/hooks/useCombatAudio.js +287 -0
  256. package/lib/components/screens/combat/hooks/useCombatAudio.js.map +1 -0
  257. package/lib/components/screens/combat/hooks/useCombatLayout.d.ts +61 -0
  258. package/lib/components/screens/combat/hooks/useCombatLayout.d.ts.map +1 -0
  259. package/lib/components/screens/combat/hooks/useCombatLayout.js +89 -0
  260. package/lib/components/screens/combat/hooks/useCombatLayout.js.map +1 -0
  261. package/lib/components/screens/combat/hooks/useCombatState.d.ts +75 -0
  262. package/lib/components/screens/combat/hooks/useCombatState.d.ts.map +1 -0
  263. package/lib/components/screens/combat/hooks/useCombatState.js +182 -0
  264. package/lib/components/screens/combat/hooks/useCombatState.js.map +1 -0
  265. package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts +36 -0
  266. package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts.map +1 -0
  267. package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts +63 -0
  268. package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts.map +1 -0
  269. package/lib/components/screens/combat/index.d.ts +4 -0
  270. package/lib/components/screens/combat/index.d.ts.map +1 -0
  271. package/lib/components/screens/combat/index.js +25 -0
  272. package/lib/components/screens/controls/ControlsScreen3D.d.ts +12 -0
  273. package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -0
  274. package/lib/components/screens/controls/ControlsScreen3D.js +1248 -0
  275. package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -0
  276. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts +35 -0
  277. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts.map +1 -0
  278. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js +155 -0
  279. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js.map +1 -0
  280. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts +31 -0
  281. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts.map +1 -0
  282. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js +100 -0
  283. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js.map +1 -0
  284. package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts +32 -0
  285. package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts.map +1 -0
  286. package/lib/components/screens/controls/components/GamepadVisualization3D.js +250 -0
  287. package/lib/components/screens/controls/components/GamepadVisualization3D.js.map +1 -0
  288. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts +35 -0
  289. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts.map +1 -0
  290. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js +222 -0
  291. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -0
  292. package/lib/components/screens/controls/components/Key3D.d.ts +36 -0
  293. package/lib/components/screens/controls/components/Key3D.d.ts.map +1 -0
  294. package/lib/components/screens/controls/components/Key3D.js +169 -0
  295. package/lib/components/screens/controls/components/Key3D.js.map +1 -0
  296. package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts +37 -0
  297. package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -0
  298. package/lib/components/screens/controls/components/VisualKeyboard3D.js +120 -0
  299. package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -0
  300. package/lib/components/screens/controls/components/index.d.ts +20 -0
  301. package/lib/components/screens/controls/components/index.d.ts.map +1 -0
  302. package/lib/components/screens/controls/constants/ControlsConstants.d.ts +67 -0
  303. package/lib/components/screens/controls/constants/ControlsConstants.d.ts.map +1 -0
  304. package/lib/components/screens/controls/constants/ControlsConstants.js +504 -0
  305. package/lib/components/screens/controls/constants/ControlsConstants.js.map +1 -0
  306. package/lib/components/screens/controls/hooks/useControlsState.d.ts +46 -0
  307. package/lib/components/screens/controls/hooks/useControlsState.d.ts.map +1 -0
  308. package/lib/components/screens/controls/hooks/useControlsState.js +71 -0
  309. package/lib/components/screens/controls/hooks/useControlsState.js.map +1 -0
  310. package/lib/components/screens/endscreen/EndScreen3D.d.ts +18 -0
  311. package/lib/components/screens/endscreen/EndScreen3D.d.ts.map +1 -0
  312. package/lib/components/screens/endscreen/EndScreen3D.js +367 -0
  313. package/lib/components/screens/endscreen/EndScreen3D.js.map +1 -0
  314. package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts +9 -0
  315. package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts.map +1 -0
  316. package/lib/components/screens/endscreen/components/DefeatAnimation3D.js +205 -0
  317. package/lib/components/screens/endscreen/components/DefeatAnimation3D.js.map +1 -0
  318. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts +13 -0
  319. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts.map +1 -0
  320. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js +321 -0
  321. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js.map +1 -0
  322. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts +28 -0
  323. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts.map +1 -0
  324. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js +93 -0
  325. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js.map +1 -0
  326. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts +13 -0
  327. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts.map +1 -0
  328. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js +294 -0
  329. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js.map +1 -0
  330. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts +13 -0
  331. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts.map +1 -0
  332. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js +210 -0
  333. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js.map +1 -0
  334. package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts +9 -0
  335. package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts.map +1 -0
  336. package/lib/components/screens/endscreen/components/VictoryAnimation3D.js +299 -0
  337. package/lib/components/screens/endscreen/components/VictoryAnimation3D.js.map +1 -0
  338. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts +14 -0
  339. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts.map +1 -0
  340. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js +170 -0
  341. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js.map +1 -0
  342. package/lib/components/screens/endscreen/components/animations.d.ts +25 -0
  343. package/lib/components/screens/endscreen/components/animations.d.ts.map +1 -0
  344. package/lib/components/screens/endscreen/components/animations.js +71 -0
  345. package/lib/components/screens/endscreen/components/animations.js.map +1 -0
  346. package/lib/components/screens/endscreen/components/index.d.ts +19 -0
  347. package/lib/components/screens/endscreen/components/index.d.ts.map +1 -0
  348. package/lib/components/screens/endscreen/components/index.js +8 -0
  349. package/lib/components/screens/endscreen/index.d.ts +9 -0
  350. package/lib/components/screens/endscreen/index.d.ts.map +1 -0
  351. package/lib/components/screens/endscreen/index.js +10 -0
  352. package/lib/components/screens/intro/IntroScreen3D.d.ts +16 -0
  353. package/lib/components/screens/intro/IntroScreen3D.d.ts.map +1 -0
  354. package/lib/components/screens/intro/IntroScreen3D.js +488 -0
  355. package/lib/components/screens/intro/IntroScreen3D.js.map +1 -0
  356. package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts +53 -0
  357. package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts.map +1 -0
  358. package/lib/components/screens/intro/components/AbilityListOverlayHtml.js +146 -0
  359. package/lib/components/screens/intro/components/AbilityListOverlayHtml.js.map +1 -0
  360. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts +20 -0
  361. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts.map +1 -0
  362. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js +154 -0
  363. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js.map +1 -0
  364. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts +38 -0
  365. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts.map +1 -0
  366. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js +235 -0
  367. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js.map +1 -0
  368. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts +35 -0
  369. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts.map +1 -0
  370. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js +325 -0
  371. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js.map +1 -0
  372. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts +19 -0
  373. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts.map +1 -0
  374. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js +88 -0
  375. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js.map +1 -0
  376. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts +65 -0
  377. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -0
  378. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js +143 -0
  379. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -0
  380. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts +27 -0
  381. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts.map +1 -0
  382. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js +153 -0
  383. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js.map +1 -0
  384. package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts +47 -0
  385. package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts.map +1 -0
  386. package/lib/components/screens/intro/components/StatBarOverlayHtml.js +128 -0
  387. package/lib/components/screens/intro/components/StatBarOverlayHtml.js.map +1 -0
  388. package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts +12 -0
  389. package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts.map +1 -0
  390. package/lib/components/screens/philosophy/PhilosophyScreen3D.js +561 -0
  391. package/lib/components/screens/philosophy/PhilosophyScreen3D.js.map +1 -0
  392. package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts +40 -0
  393. package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts.map +1 -0
  394. package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts +40 -0
  395. package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts.map +1 -0
  396. package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts +46 -0
  397. package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts.map +1 -0
  398. package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts +42 -0
  399. package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts.map +1 -0
  400. package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts +49 -0
  401. package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -0
  402. package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts +43 -0
  403. package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts.map +1 -0
  404. package/lib/components/screens/philosophy/components/index.d.ts +23 -0
  405. package/lib/components/screens/philosophy/components/index.d.ts.map +1 -0
  406. package/lib/components/screens/philosophy/hooks/index.d.ts +10 -0
  407. package/lib/components/screens/philosophy/hooks/index.d.ts.map +1 -0
  408. package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts +50 -0
  409. package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts.map +1 -0
  410. package/lib/components/screens/training/TrainingScreen3D.d.ts +51 -0
  411. package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -0
  412. package/lib/components/screens/training/TrainingScreen3D.js +947 -0
  413. package/lib/components/screens/training/TrainingScreen3D.js.map +1 -0
  414. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts +31 -0
  415. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts.map +1 -0
  416. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js +189 -0
  417. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js.map +1 -0
  418. package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts +31 -0
  419. package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts.map +1 -0
  420. package/lib/components/screens/training/components/AnatomyOverlay3D.js +679 -0
  421. package/lib/components/screens/training/components/AnatomyOverlay3D.js.map +1 -0
  422. package/lib/components/screens/training/components/DamageNumber3D.d.ts +28 -0
  423. package/lib/components/screens/training/components/DamageNumber3D.d.ts.map +1 -0
  424. package/lib/components/screens/training/components/DamageNumber3D.js +6 -0
  425. package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts +47 -0
  426. package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts.map +1 -0
  427. package/lib/components/screens/training/components/FootPlacementMarkers3D.js +380 -0
  428. package/lib/components/screens/training/components/FootPlacementMarkers3D.js.map +1 -0
  429. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts +47 -0
  430. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts.map +1 -0
  431. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js +292 -0
  432. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -0
  433. package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts +32 -0
  434. package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts.map +1 -0
  435. package/lib/components/screens/training/components/HitFeedbackEffect3D.js +258 -0
  436. package/lib/components/screens/training/components/HitFeedbackEffect3D.js.map +1 -0
  437. package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts +36 -0
  438. package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts.map +1 -0
  439. package/lib/components/screens/training/components/TrainingAICharacter3D.js +6 -0
  440. package/lib/components/screens/training/components/TrainingArena3D.d.ts +22 -0
  441. package/lib/components/screens/training/components/TrainingArena3D.d.ts.map +1 -0
  442. package/lib/components/screens/training/components/TrainingArena3D.js +5 -0
  443. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts +73 -0
  444. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts.map +1 -0
  445. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js +107 -0
  446. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js.map +1 -0
  447. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts +50 -0
  448. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts.map +1 -0
  449. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js +129 -0
  450. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js.map +1 -0
  451. package/lib/components/screens/training/components/TrainingDummy3D.d.ts +72 -0
  452. package/lib/components/screens/training/components/TrainingDummy3D.d.ts.map +1 -0
  453. package/lib/components/screens/training/components/TrainingDummy3D.js +298 -0
  454. package/lib/components/screens/training/components/TrainingDummy3D.js.map +1 -0
  455. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts +30 -0
  456. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts.map +1 -0
  457. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js +44 -0
  458. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js.map +1 -0
  459. package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts +27 -0
  460. package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts.map +1 -0
  461. package/lib/components/screens/training/components/TrainingHitEffects3D.js +6 -0
  462. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts +51 -0
  463. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts.map +1 -0
  464. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js +188 -0
  465. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js.map +1 -0
  466. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts +63 -0
  467. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts.map +1 -0
  468. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js +253 -0
  469. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js.map +1 -0
  470. package/lib/components/screens/training/components/VitalPointMarker3D.d.ts +37 -0
  471. package/lib/components/screens/training/components/VitalPointMarker3D.d.ts.map +1 -0
  472. package/lib/components/screens/training/components/VitalPointMarker3D.js +210 -0
  473. package/lib/components/screens/training/components/VitalPointMarker3D.js.map +1 -0
  474. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts +29 -0
  475. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts.map +1 -0
  476. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js +195 -0
  477. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js.map +1 -0
  478. package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts +59 -0
  479. package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -0
  480. package/lib/components/screens/training/components/hud/TrainingBottomHUD.js +145 -0
  481. package/lib/components/screens/training/components/hud/TrainingBottomHUD.js.map +1 -0
  482. package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts +47 -0
  483. package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts.map +1 -0
  484. package/lib/components/screens/training/components/hud/TrainingLeftHUD.js +59 -0
  485. package/lib/components/screens/training/components/hud/TrainingLeftHUD.js.map +1 -0
  486. package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts +68 -0
  487. package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts.map +1 -0
  488. package/lib/components/screens/training/components/hud/TrainingRightHUD.js +93 -0
  489. package/lib/components/screens/training/components/hud/TrainingRightHUD.js.map +1 -0
  490. package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts +55 -0
  491. package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts.map +1 -0
  492. package/lib/components/screens/training/components/hud/TrainingTopHUD.js +184 -0
  493. package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -0
  494. package/lib/components/screens/training/components/hud/index.d.ts +13 -0
  495. package/lib/components/screens/training/components/hud/index.d.ts.map +1 -0
  496. package/lib/components/screens/training/components/hud/index.js +4 -0
  497. package/lib/components/screens/training/components/index.d.ts +22 -0
  498. package/lib/components/screens/training/components/index.d.ts.map +1 -0
  499. package/lib/components/screens/training/components/index.js +19 -0
  500. package/lib/components/screens/training/hooks/useAttackMovement.d.ts +69 -0
  501. package/lib/components/screens/training/hooks/useAttackMovement.d.ts.map +1 -0
  502. package/lib/components/screens/training/hooks/useAttackMovement.js +118 -0
  503. package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -0
  504. package/lib/components/screens/training/hooks/useTrainingActions.d.ts +82 -0
  505. package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -0
  506. package/lib/components/screens/training/hooks/useTrainingActions.js +284 -0
  507. package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -0
  508. package/lib/components/screens/training/hooks/useTrainingLayout.d.ts +62 -0
  509. package/lib/components/screens/training/hooks/useTrainingLayout.d.ts.map +1 -0
  510. package/lib/components/screens/training/hooks/useTrainingLayout.js +96 -0
  511. package/lib/components/screens/training/hooks/useTrainingLayout.js.map +1 -0
  512. package/lib/components/screens/training/hooks/useTrainingState.d.ts +100 -0
  513. package/lib/components/screens/training/hooks/useTrainingState.d.ts.map +1 -0
  514. package/lib/components/screens/training/hooks/useTrainingState.js +344 -0
  515. package/lib/components/screens/training/hooks/useTrainingState.js.map +1 -0
  516. package/lib/components/screens/training/index.d.ts +4 -0
  517. package/lib/components/screens/training/index.d.ts.map +1 -0
  518. package/lib/components/screens/training/index.js +16 -0
  519. package/lib/components/shared/base/AccessibilityProvider.d.ts +51 -0
  520. package/lib/components/shared/base/AccessibilityProvider.d.ts.map +1 -0
  521. package/lib/components/shared/base/AccessibilityProvider.js +71 -0
  522. package/lib/components/shared/base/AccessibilityProvider.js.map +1 -0
  523. package/lib/components/shared/base/BaseButton.d.ts +42 -0
  524. package/lib/components/shared/base/BaseButton.d.ts.map +1 -0
  525. package/lib/components/shared/base/BaseButton.js +214 -0
  526. package/lib/components/shared/base/BaseButton.js.map +1 -0
  527. package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts +52 -0
  528. package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts.map +1 -0
  529. package/lib/components/shared/base/BaseButtonOverlayHtml.js +130 -0
  530. package/lib/components/shared/base/BaseButtonOverlayHtml.js.map +1 -0
  531. package/lib/components/shared/base/BasePanel.d.ts +30 -0
  532. package/lib/components/shared/base/BasePanel.d.ts.map +1 -0
  533. package/lib/components/shared/base/BasePanel.js +83 -0
  534. package/lib/components/shared/base/BasePanel.js.map +1 -0
  535. package/lib/components/shared/base/BaseText.d.ts +40 -0
  536. package/lib/components/shared/base/BaseText.d.ts.map +1 -0
  537. package/lib/components/shared/base/BaseText.js +157 -0
  538. package/lib/components/shared/base/BaseText.js.map +1 -0
  539. package/lib/components/shared/base/ResponsiveContainer.d.ts +126 -0
  540. package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -0
  541. package/lib/components/shared/base/index.d.ts +23 -0
  542. package/lib/components/shared/base/index.d.ts.map +1 -0
  543. package/lib/components/shared/base/index.js +6 -0
  544. package/lib/components/shared/base/layoutUtils.d.ts +102 -0
  545. package/lib/components/shared/base/layoutUtils.d.ts.map +1 -0
  546. package/lib/components/shared/base/useKoreanTheme.d.ts +206 -0
  547. package/lib/components/shared/base/useKoreanTheme.d.ts.map +1 -0
  548. package/lib/components/shared/base/useKoreanTheme.js +169 -0
  549. package/lib/components/shared/base/useKoreanTheme.js.map +1 -0
  550. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts +32 -0
  551. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts.map +1 -0
  552. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js +69 -0
  553. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js.map +1 -0
  554. package/lib/components/shared/effects/ScreenFlash.d.ts +98 -0
  555. package/lib/components/shared/effects/ScreenFlash.d.ts.map +1 -0
  556. package/lib/components/shared/mobile/ActionButtons.d.ts +44 -0
  557. package/lib/components/shared/mobile/ActionButtons.d.ts.map +1 -0
  558. package/lib/components/shared/mobile/ActionButtons.js +324 -0
  559. package/lib/components/shared/mobile/ActionButtons.js.map +1 -0
  560. package/lib/components/shared/mobile/GestureRecognizerPure.d.ts +64 -0
  561. package/lib/components/shared/mobile/GestureRecognizerPure.d.ts.map +1 -0
  562. package/lib/components/shared/mobile/GestureRecognizerPure.js +231 -0
  563. package/lib/components/shared/mobile/GestureRecognizerPure.js.map +1 -0
  564. package/lib/components/shared/mobile/HapticController.d.ts +253 -0
  565. package/lib/components/shared/mobile/HapticController.d.ts.map +1 -0
  566. package/lib/components/shared/mobile/HapticController.js +280 -0
  567. package/lib/components/shared/mobile/HapticController.js.map +1 -0
  568. package/lib/components/shared/mobile/MobileControlsPure.d.ts +43 -0
  569. package/lib/components/shared/mobile/MobileControlsPure.d.ts.map +1 -0
  570. package/lib/components/shared/mobile/MobileControlsPure.js +294 -0
  571. package/lib/components/shared/mobile/MobileControlsPure.js.map +1 -0
  572. package/lib/components/shared/mobile/PerformanceMonitor.d.ts +249 -0
  573. package/lib/components/shared/mobile/PerformanceMonitor.d.ts.map +1 -0
  574. package/lib/components/shared/mobile/StanceWheelPure.d.ts +78 -0
  575. package/lib/components/shared/mobile/StanceWheelPure.d.ts.map +1 -0
  576. package/lib/components/shared/mobile/StanceWheelPure.js +386 -0
  577. package/lib/components/shared/mobile/StanceWheelPure.js.map +1 -0
  578. package/lib/components/shared/mobile/TouchOptimizer.d.ts +154 -0
  579. package/lib/components/shared/mobile/TouchOptimizer.d.ts.map +1 -0
  580. package/lib/components/shared/mobile/TouchOptimizer.js +83 -0
  581. package/lib/components/shared/mobile/TouchOptimizer.js.map +1 -0
  582. package/lib/components/shared/mobile/VirtualDPad.d.ts +49 -0
  583. package/lib/components/shared/mobile/VirtualDPad.d.ts.map +1 -0
  584. package/lib/components/shared/mobile/VirtualDPad.js +289 -0
  585. package/lib/components/shared/mobile/VirtualDPad.js.map +1 -0
  586. package/lib/components/shared/mobile/index.d.ts +31 -0
  587. package/lib/components/shared/mobile/index.d.ts.map +1 -0
  588. package/lib/components/shared/mobile/index.js +7 -0
  589. package/lib/components/shared/three/anatomy/BodySurface.d.ts +78 -0
  590. package/lib/components/shared/three/anatomy/BodySurface.d.ts.map +1 -0
  591. package/lib/components/shared/three/anatomy/BodySurface.js +393 -0
  592. package/lib/components/shared/three/anatomy/BodySurface.js.map +1 -0
  593. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts +147 -0
  594. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts.map +1 -0
  595. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js +541 -0
  596. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js.map +1 -0
  597. package/lib/components/shared/three/anatomy/BoneClothing.d.ts +89 -0
  598. package/lib/components/shared/three/anatomy/BoneClothing.d.ts.map +1 -0
  599. package/lib/components/shared/three/anatomy/BoneClothing.js +345 -0
  600. package/lib/components/shared/three/anatomy/BoneClothing.js.map +1 -0
  601. package/lib/components/shared/three/anatomy/BoneRenderer.d.ts +129 -0
  602. package/lib/components/shared/three/anatomy/BoneRenderer.d.ts.map +1 -0
  603. package/lib/components/shared/three/anatomy/BoneRenderer.js +266 -0
  604. package/lib/components/shared/three/anatomy/BoneRenderer.js.map +1 -0
  605. package/lib/components/shared/three/anatomy/Face3D.d.ts +40 -0
  606. package/lib/components/shared/three/anatomy/Face3D.d.ts.map +1 -0
  607. package/lib/components/shared/three/anatomy/Face3D.js +426 -0
  608. package/lib/components/shared/three/anatomy/Face3D.js.map +1 -0
  609. package/lib/components/shared/three/anatomy/Foot3D.d.ts +71 -0
  610. package/lib/components/shared/three/anatomy/Foot3D.d.ts.map +1 -0
  611. package/lib/components/shared/three/anatomy/Foot3D.js +178 -0
  612. package/lib/components/shared/three/anatomy/Foot3D.js.map +1 -0
  613. package/lib/components/shared/three/anatomy/Hand3D.d.ts +101 -0
  614. package/lib/components/shared/three/anatomy/Hand3D.d.ts.map +1 -0
  615. package/lib/components/shared/three/anatomy/Hand3D.js +376 -0
  616. package/lib/components/shared/three/anatomy/Hand3D.js.map +1 -0
  617. package/lib/components/shared/three/effects/ActionFeedback.d.ts +78 -0
  618. package/lib/components/shared/three/effects/ActionFeedback.d.ts.map +1 -0
  619. package/lib/components/shared/three/effects/ActionFeedback.js +236 -0
  620. package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -0
  621. package/lib/components/shared/three/effects/DamageNumbers.d.ts +36 -0
  622. package/lib/components/shared/three/effects/DamageNumbers.d.ts.map +1 -0
  623. package/lib/components/shared/three/effects/DamageNumbers.js +148 -0
  624. package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -0
  625. package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts +41 -0
  626. package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts.map +1 -0
  627. package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts +49 -0
  628. package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts.map +1 -0
  629. package/lib/components/shared/three/effects/HitEffects3D.d.ts +28 -0
  630. package/lib/components/shared/three/effects/HitEffects3D.d.ts.map +1 -0
  631. package/lib/components/shared/three/effects/HitEffects3D.js +427 -0
  632. package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -0
  633. package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts +67 -0
  634. package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts.map +1 -0
  635. package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts +63 -0
  636. package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts.map +1 -0
  637. package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts +36 -0
  638. package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts.map +1 -0
  639. package/lib/components/shared/three/effects/PlayerStateIndicators.js +237 -0
  640. package/lib/components/shared/three/effects/PlayerStateIndicators.js.map +1 -0
  641. package/lib/components/shared/three/effects/StanceSymbol3D.d.ts +52 -0
  642. package/lib/components/shared/three/effects/StanceSymbol3D.d.ts.map +1 -0
  643. package/lib/components/shared/three/effects/StanceSymbol3D.js +128 -0
  644. package/lib/components/shared/three/effects/StanceSymbol3D.js.map +1 -0
  645. package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts +56 -0
  646. package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts.map +1 -0
  647. package/lib/components/shared/three/effects/StanceTransitionEffect.js +174 -0
  648. package/lib/components/shared/three/effects/StanceTransitionEffect.js.map +1 -0
  649. package/lib/components/shared/three/effects/ThunderEffect3D.d.ts +39 -0
  650. package/lib/components/shared/three/effects/ThunderEffect3D.d.ts.map +1 -0
  651. package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts +48 -0
  652. package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts.map +1 -0
  653. package/lib/components/shared/three/effects/VitalPointMarkers3D.js +249 -0
  654. package/lib/components/shared/three/effects/VitalPointMarkers3D.js.map +1 -0
  655. package/lib/components/shared/three/index.d.ts +30 -0
  656. package/lib/components/shared/three/index.d.ts.map +1 -0
  657. package/lib/components/shared/three/index.js +9 -0
  658. package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts +184 -0
  659. package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts.map +1 -0
  660. package/lib/components/shared/three/indicators/ElementalColorSystem.js +147 -0
  661. package/lib/components/shared/three/indicators/ElementalColorSystem.js.map +1 -0
  662. package/lib/components/shared/three/indicators/GuardIndicator.d.ts +58 -0
  663. package/lib/components/shared/three/indicators/GuardIndicator.d.ts.map +1 -0
  664. package/lib/components/shared/three/indicators/GuardIndicator.js +259 -0
  665. package/lib/components/shared/three/indicators/GuardIndicator.js.map +1 -0
  666. package/lib/components/shared/three/indicators/HapticFeedback.d.ts +184 -0
  667. package/lib/components/shared/three/indicators/HapticFeedback.d.ts.map +1 -0
  668. package/lib/components/shared/three/indicators/HapticFeedback.js +46 -0
  669. package/lib/components/shared/three/indicators/HapticFeedback.js.map +1 -0
  670. package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts +53 -0
  671. package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts.map +1 -0
  672. package/lib/components/shared/three/indicators/StanceChangeIndicator.js +222 -0
  673. package/lib/components/shared/three/indicators/StanceChangeIndicator.js.map +1 -0
  674. package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts +82 -0
  675. package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts.map +1 -0
  676. package/lib/components/shared/three/models/Player3DWithTransitions.d.ts +77 -0
  677. package/lib/components/shared/three/models/Player3DWithTransitions.d.ts.map +1 -0
  678. package/lib/components/shared/three/models/Player3DWithTransitions.js +118 -0
  679. package/lib/components/shared/three/models/Player3DWithTransitions.js.map +1 -0
  680. package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts +44 -0
  681. package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -0
  682. package/lib/components/shared/three/models/SkeletalPlayer3D.js +358 -0
  683. package/lib/components/shared/three/models/SkeletalPlayer3D.js.map +1 -0
  684. package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts +107 -0
  685. package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts.map +1 -0
  686. package/lib/components/shared/three/optimization/AdaptiveQuality.js +197 -0
  687. package/lib/components/shared/three/optimization/AdaptiveQuality.js.map +1 -0
  688. package/lib/components/shared/three/optimization/InstancedGeometry.d.ts +189 -0
  689. package/lib/components/shared/three/optimization/InstancedGeometry.d.ts.map +1 -0
  690. package/lib/components/shared/three/optimization/InstancedGeometry.js +3 -0
  691. package/lib/components/shared/three/optimization/LODSystem.d.ts +126 -0
  692. package/lib/components/shared/three/optimization/LODSystem.d.ts.map +1 -0
  693. package/lib/components/shared/three/optimization/LODSystem.js +3 -0
  694. package/lib/components/shared/three/optimization/index.d.ts +14 -0
  695. package/lib/components/shared/three/optimization/index.d.ts.map +1 -0
  696. package/lib/components/shared/three/optimization/index.js +3 -0
  697. package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts +31 -0
  698. package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts.map +1 -0
  699. package/lib/components/shared/three/scene/AtmosphericParticles3D.js +84 -0
  700. package/lib/components/shared/three/scene/AtmosphericParticles3D.js.map +1 -0
  701. package/lib/components/shared/three/scene/BackgroundScene3D.d.ts +76 -0
  702. package/lib/components/shared/three/scene/BackgroundScene3D.d.ts.map +1 -0
  703. package/lib/components/shared/three/scene/BackgroundScene3D.js +124 -0
  704. package/lib/components/shared/three/scene/BackgroundScene3D.js.map +1 -0
  705. package/lib/components/shared/three/scene/CombatArena3D.d.ts +38 -0
  706. package/lib/components/shared/three/scene/CombatArena3D.d.ts.map +1 -0
  707. package/lib/components/shared/three/scene/CombatArena3D.js +256 -0
  708. package/lib/components/shared/three/scene/CombatArena3D.js.map +1 -0
  709. package/lib/components/shared/three/scene/DebugCollision.d.ts +64 -0
  710. package/lib/components/shared/three/scene/DebugCollision.d.ts.map +1 -0
  711. package/lib/components/shared/three/scene/KoreanSignage3D.d.ts +29 -0
  712. package/lib/components/shared/three/scene/KoreanSignage3D.d.ts.map +1 -0
  713. package/lib/components/shared/three/scene/KoreanSignage3D.js +122 -0
  714. package/lib/components/shared/three/scene/KoreanSignage3D.js.map +1 -0
  715. package/lib/components/shared/three/ui/ArchetypeCard.d.ts +38 -0
  716. package/lib/components/shared/three/ui/ArchetypeCard.d.ts.map +1 -0
  717. package/lib/components/shared/three/ui/ArchetypeCard.js +213 -0
  718. package/lib/components/shared/three/ui/ArchetypeCard.js.map +1 -0
  719. package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts +45 -0
  720. package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts.map +1 -0
  721. package/lib/components/shared/three/ui/BodyPartHealthDisplay.js +206 -0
  722. package/lib/components/shared/three/ui/BodyPartHealthDisplay.js.map +1 -0
  723. package/lib/components/shared/three/ui/BreathingIndicator.d.ts +25 -0
  724. package/lib/components/shared/three/ui/BreathingIndicator.d.ts.map +1 -0
  725. package/lib/components/shared/three/ui/BreathingIndicator2.js +104 -0
  726. package/lib/components/shared/three/ui/BreathingIndicator2.js.map +1 -0
  727. package/lib/components/shared/three/ui/CombatReadinessBar.d.ts +43 -0
  728. package/lib/components/shared/three/ui/CombatReadinessBar.d.ts.map +1 -0
  729. package/lib/components/shared/three/ui/CombatReadinessBar.js +135 -0
  730. package/lib/components/shared/three/ui/CombatReadinessBar.js.map +1 -0
  731. package/lib/components/shared/three/ui/ComboCounter.d.ts +42 -0
  732. package/lib/components/shared/three/ui/ComboCounter.d.ts.map +1 -0
  733. package/lib/components/shared/three/ui/ComboCounter.js +222 -0
  734. package/lib/components/shared/three/ui/ComboCounter.js.map +1 -0
  735. package/lib/components/shared/three/ui/HealthBar.d.ts +37 -0
  736. package/lib/components/shared/three/ui/HealthBar.d.ts.map +1 -0
  737. package/lib/components/shared/three/ui/HealthBar.js +112 -0
  738. package/lib/components/shared/three/ui/HealthBar.js.map +1 -0
  739. package/lib/components/shared/three/ui/KoreanButton.d.ts +37 -0
  740. package/lib/components/shared/three/ui/KoreanButton.d.ts.map +1 -0
  741. package/lib/components/shared/three/ui/KoreanButton.js +33 -0
  742. package/lib/components/shared/three/ui/KoreanButton.js.map +1 -0
  743. package/lib/components/shared/three/ui/KoreanPanel.d.ts +32 -0
  744. package/lib/components/shared/three/ui/KoreanPanel.d.ts.map +1 -0
  745. package/lib/components/shared/three/ui/KoreanPanel.js +29 -0
  746. package/lib/components/shared/three/ui/KoreanPanel.js.map +1 -0
  747. package/lib/components/shared/three/ui/KoreanText.d.ts +35 -0
  748. package/lib/components/shared/three/ui/KoreanText.d.ts.map +1 -0
  749. package/lib/components/shared/three/ui/KoreanText.js +32 -0
  750. package/lib/components/shared/three/ui/KoreanText.js.map +1 -0
  751. package/lib/components/shared/three/ui/MenuList.d.ts +47 -0
  752. package/lib/components/shared/three/ui/MenuList.d.ts.map +1 -0
  753. package/lib/components/shared/three/ui/MenuList.js +123 -0
  754. package/lib/components/shared/three/ui/MenuList.js.map +1 -0
  755. package/lib/components/shared/three/ui/PlayerHUD.d.ts +34 -0
  756. package/lib/components/shared/three/ui/PlayerHUD.d.ts.map +1 -0
  757. package/lib/components/shared/three/ui/PlayerHUD.js +231 -0
  758. package/lib/components/shared/three/ui/PlayerHUD.js.map +1 -0
  759. package/lib/components/shared/three/ui/ProgressBar.d.ts +48 -0
  760. package/lib/components/shared/three/ui/ProgressBar.d.ts.map +1 -0
  761. package/lib/components/shared/three/ui/ProgressBar.js +173 -0
  762. package/lib/components/shared/three/ui/ProgressBar.js.map +1 -0
  763. package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts +62 -0
  764. package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts.map +1 -0
  765. package/lib/components/shared/three/ui/SpeedIndicatorHUD.js +185 -0
  766. package/lib/components/shared/three/ui/SpeedIndicatorHUD.js.map +1 -0
  767. package/lib/components/shared/three/ui/StaminaBar.d.ts +37 -0
  768. package/lib/components/shared/three/ui/StaminaBar.d.ts.map +1 -0
  769. package/lib/components/shared/three/ui/StaminaBar.js +103 -0
  770. package/lib/components/shared/three/ui/StaminaBar.js.map +1 -0
  771. package/lib/components/shared/three/ui/TechniqueBar.d.ts +52 -0
  772. package/lib/components/shared/three/ui/TechniqueBar.d.ts.map +1 -0
  773. package/lib/components/shared/three/ui/TechniqueBar.js +128 -0
  774. package/lib/components/shared/three/ui/TechniqueBar.js.map +1 -0
  775. package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts +49 -0
  776. package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts.map +1 -0
  777. package/lib/components/shared/three/ui/TechniqueCard.d.ts +64 -0
  778. package/lib/components/shared/three/ui/TechniqueCard.d.ts.map +1 -0
  779. package/lib/components/shared/three/ui/TechniqueCard.js +333 -0
  780. package/lib/components/shared/three/ui/TechniqueCard.js.map +1 -0
  781. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts +76 -0
  782. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts.map +1 -0
  783. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js +551 -0
  784. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js.map +1 -0
  785. package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts +63 -0
  786. package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts.map +1 -0
  787. package/lib/components/shared/ui/BackButton.d.ts +82 -0
  788. package/lib/components/shared/ui/BackButton.d.ts.map +1 -0
  789. package/lib/components/shared/ui/BackButton.js +67 -0
  790. package/lib/components/shared/ui/BackButton.js.map +1 -0
  791. package/lib/components/shared/ui/BaseHUDContainer.d.ts +71 -0
  792. package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -0
  793. package/lib/components/shared/ui/BaseHUDContainer.js +126 -0
  794. package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -0
  795. package/lib/components/shared/ui/CombatTimer.d.ts +60 -0
  796. package/lib/components/shared/ui/CombatTimer.d.ts.map +1 -0
  797. package/lib/components/shared/ui/CombatTimer.js +145 -0
  798. package/lib/components/shared/ui/CombatTimer.js.map +1 -0
  799. package/lib/components/shared/ui/ErrorBoundary.d.ts +44 -0
  800. package/lib/components/shared/ui/ErrorBoundary.d.ts.map +1 -0
  801. package/lib/components/shared/ui/ErrorModal.d.ts +21 -0
  802. package/lib/components/shared/ui/ErrorModal.d.ts.map +1 -0
  803. package/lib/components/shared/ui/ErrorModal.js +133 -0
  804. package/lib/components/shared/ui/ErrorModal.js.map +1 -0
  805. package/lib/components/shared/ui/HUDSection.d.ts +65 -0
  806. package/lib/components/shared/ui/HUDSection.d.ts.map +1 -0
  807. package/lib/components/shared/ui/LoadingState.d.ts +50 -0
  808. package/lib/components/shared/ui/LoadingState.d.ts.map +1 -0
  809. package/lib/components/shared/ui/LoadingState.js +92 -0
  810. package/lib/components/shared/ui/LoadingState.js.map +1 -0
  811. package/lib/components/shared/ui/MobileHUDLayout.d.ts +70 -0
  812. package/lib/components/shared/ui/MobileHUDLayout.d.ts.map +1 -0
  813. package/lib/components/shared/ui/ResponsiveContainer.d.ts +69 -0
  814. package/lib/components/shared/ui/ResponsiveContainer.d.ts.map +1 -0
  815. package/lib/components/shared/ui/SplashScreen.d.ts +13 -0
  816. package/lib/components/shared/ui/SplashScreen.d.ts.map +1 -0
  817. package/lib/components/shared/ui/SplashScreen.js +204 -0
  818. package/lib/components/shared/ui/SplashScreen.js.map +1 -0
  819. package/lib/components/shared/ui/StyledHUDPanel.d.ts +56 -0
  820. package/lib/components/shared/ui/StyledHUDPanel.d.ts.map +1 -0
  821. package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts +79 -0
  822. package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts.map +1 -0
  823. package/lib/components/shared/ui/VitalPointOverlayControlsPure.js +550 -0
  824. package/lib/components/shared/ui/VitalPointOverlayControlsPure.js.map +1 -0
  825. package/lib/components/shared/ui/VolumeControl.d.ts +20 -0
  826. package/lib/components/shared/ui/VolumeControl.d.ts.map +1 -0
  827. package/lib/components/shared/ui/VolumeControl.js +292 -0
  828. package/lib/components/shared/ui/VolumeControl.js.map +1 -0
  829. package/lib/components/shared/ui/shared/ConfirmDialog.d.ts +29 -0
  830. package/lib/components/shared/ui/shared/ConfirmDialog.d.ts.map +1 -0
  831. package/lib/components/shared/ui/shared/ConfirmDialog.js +149 -0
  832. package/lib/components/shared/ui/shared/ConfirmDialog.js.map +1 -0
  833. package/lib/components/test/Hello3D.d.ts +36 -0
  834. package/lib/components/test/Hello3D.d.ts.map +1 -0
  835. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts +63 -0
  836. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts.map +1 -0
  837. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js +179 -0
  838. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js.map +1 -0
  839. package/lib/components/ui/combat/ComboCounter.d.ts +85 -0
  840. package/lib/components/ui/combat/ComboCounter.d.ts.map +1 -0
  841. package/lib/components/ui/combat/PressureMeter.d.ts +60 -0
  842. package/lib/components/ui/combat/PressureMeter.d.ts.map +1 -0
  843. package/lib/components/ui/combat/index.d.ts +8 -0
  844. package/lib/components/ui/combat/index.d.ts.map +1 -0
  845. package/lib/constants/bodyDimensions.d.ts +241 -0
  846. package/lib/constants/bodyDimensions.d.ts.map +1 -0
  847. package/lib/constants/bodyDimensions.js +213 -0
  848. package/lib/constants/bodyDimensions.js.map +1 -0
  849. package/lib/constants/bodyRenderingConstants.d.ts +295 -0
  850. package/lib/constants/bodyRenderingConstants.d.ts.map +1 -0
  851. package/lib/constants/bodyRenderingConstants.js +128 -0
  852. package/lib/constants/bodyRenderingConstants.js.map +1 -0
  853. package/lib/data/archetypeClothing.d.ts +40 -0
  854. package/lib/data/archetypeClothing.d.ts.map +1 -0
  855. package/lib/data/archetypeClothing.js +584 -0
  856. package/lib/data/archetypeClothing.js.map +1 -0
  857. package/lib/data/archetypePhysicalAttributes.d.ts +279 -0
  858. package/lib/data/archetypePhysicalAttributes.d.ts.map +1 -0
  859. package/lib/data/archetypePhysicalAttributes.js +227 -0
  860. package/lib/data/archetypePhysicalAttributes.js.map +1 -0
  861. package/lib/data/techniqueMappings.d.ts +64 -0
  862. package/lib/data/techniqueMappings.d.ts.map +1 -0
  863. package/lib/data/techniqueMappings.js +56 -0
  864. package/lib/data/techniqueMappings.js.map +1 -0
  865. package/lib/data/techniques.d.ts +84 -0
  866. package/lib/data/techniques.d.ts.map +1 -0
  867. package/lib/data/techniques.js +739 -0
  868. package/lib/data/techniques.js.map +1 -0
  869. package/lib/hooks/useActionFeedback.d.ts +114 -0
  870. package/lib/hooks/useActionFeedback.d.ts.map +1 -0
  871. package/lib/hooks/useActionFeedback.js +158 -0
  872. package/lib/hooks/useActionFeedback.js.map +1 -0
  873. package/lib/hooks/useBalanceAnimations.d.ts +62 -0
  874. package/lib/hooks/useBalanceAnimations.d.ts.map +1 -0
  875. package/lib/hooks/useBalanceAnimations.js +133 -0
  876. package/lib/hooks/useBalanceAnimations.js.map +1 -0
  877. package/lib/hooks/useCombatTimer.d.ts +77 -0
  878. package/lib/hooks/useCombatTimer.d.ts.map +1 -0
  879. package/lib/hooks/useCombatTimer.js +139 -0
  880. package/lib/hooks/useCombatTimer.js.map +1 -0
  881. package/lib/hooks/useDebounce.d.ts +30 -0
  882. package/lib/hooks/useDebounce.d.ts.map +1 -0
  883. package/lib/hooks/useHUDLayout.d.ts +67 -0
  884. package/lib/hooks/useHUDLayout.d.ts.map +1 -0
  885. package/lib/hooks/useHUDLayout.js +92 -0
  886. package/lib/hooks/useHUDLayout.js.map +1 -0
  887. package/lib/hooks/useHandPoseTransitions.d.ts +65 -0
  888. package/lib/hooks/useHandPoseTransitions.d.ts.map +1 -0
  889. package/lib/hooks/useHandPoseTransitions.js +127 -0
  890. package/lib/hooks/useHandPoseTransitions.js.map +1 -0
  891. package/lib/hooks/useKeyboardControls.d.ts +73 -0
  892. package/lib/hooks/useKeyboardControls.d.ts.map +1 -0
  893. package/lib/hooks/useKeyboardControls.js +311 -0
  894. package/lib/hooks/useKeyboardControls.js.map +1 -0
  895. package/lib/hooks/useMatchCountdown.d.ts +87 -0
  896. package/lib/hooks/useMatchCountdown.d.ts.map +1 -0
  897. package/lib/hooks/useMatchCountdown.js +162 -0
  898. package/lib/hooks/useMatchCountdown.js.map +1 -0
  899. package/lib/hooks/useMuscleActivation.d.ts +76 -0
  900. package/lib/hooks/useMuscleActivation.d.ts.map +1 -0
  901. package/lib/hooks/useMuscleActivation.js +99 -0
  902. package/lib/hooks/useMuscleActivation.js.map +1 -0
  903. package/lib/hooks/usePauseMenu.d.ts +32 -0
  904. package/lib/hooks/usePauseMenu.d.ts.map +1 -0
  905. package/lib/hooks/usePlayerAnimation.d.ts +188 -0
  906. package/lib/hooks/usePlayerAnimation.d.ts.map +1 -0
  907. package/lib/hooks/usePlayerAnimation.js +145 -0
  908. package/lib/hooks/usePlayerAnimation.js.map +1 -0
  909. package/lib/hooks/useResponsiveLayout.d.ts +184 -0
  910. package/lib/hooks/useResponsiveLayout.d.ts.map +1 -0
  911. package/lib/hooks/useRoundTransition.d.ts +87 -0
  912. package/lib/hooks/useRoundTransition.d.ts.map +1 -0
  913. package/lib/hooks/useRoundTransition.js +158 -0
  914. package/lib/hooks/useRoundTransition.js.map +1 -0
  915. package/lib/hooks/useSkeletalAnimation.d.ts +88 -0
  916. package/lib/hooks/useSkeletalAnimation.d.ts.map +1 -0
  917. package/lib/hooks/useSkeletalAnimation.js +176 -0
  918. package/lib/hooks/useSkeletalAnimation.js.map +1 -0
  919. package/lib/hooks/useTechniqueSelection.d.ts +73 -0
  920. package/lib/hooks/useTechniqueSelection.d.ts.map +1 -0
  921. package/lib/hooks/useTechniqueSelection.js +190 -0
  922. package/lib/hooks/useTechniqueSelection.js.map +1 -0
  923. package/lib/hooks/useThrottle.d.ts +30 -0
  924. package/lib/hooks/useThrottle.d.ts.map +1 -0
  925. package/lib/hooks/useThrottle.js +61 -0
  926. package/lib/hooks/useThrottle.js.map +1 -0
  927. package/lib/hooks/useTouchControls.d.ts +107 -0
  928. package/lib/hooks/useTouchControls.d.ts.map +1 -0
  929. package/lib/hooks/useTouchControls.js +260 -0
  930. package/lib/hooks/useTouchControls.js.map +1 -0
  931. package/lib/hooks/useWebGLContextLossHandler.d.ts +77 -0
  932. package/lib/hooks/useWebGLContextLossHandler.d.ts.map +1 -0
  933. package/lib/hooks/useWebGLContextLossHandler.js +119 -0
  934. package/lib/hooks/useWebGLContextLossHandler.js.map +1 -0
  935. package/lib/hooks/useWindowSize.d.ts +60 -0
  936. package/lib/hooks/useWindowSize.d.ts.map +1 -0
  937. package/lib/hooks/useWindowSize.js +62 -0
  938. package/lib/hooks/useWindowSize.js.map +1 -0
  939. package/lib/index.d.ts +21 -0
  940. package/lib/index.d.ts.map +1 -0
  941. package/lib/index.js +114 -0
  942. package/lib/systems/CombatSystem.d.ts +348 -0
  943. package/lib/systems/CombatSystem.d.ts.map +1 -0
  944. package/lib/systems/CombatSystem.js +877 -0
  945. package/lib/systems/CombatSystem.js.map +1 -0
  946. package/lib/systems/EffectCalculator.d.ts +176 -0
  947. package/lib/systems/EffectCalculator.d.ts.map +1 -0
  948. package/lib/systems/EffectCalculator.js +251 -0
  949. package/lib/systems/EffectCalculator.js.map +1 -0
  950. package/lib/systems/LayoutSystem.d.ts +250 -0
  951. package/lib/systems/LayoutSystem.d.ts.map +1 -0
  952. package/lib/systems/LayoutSystem.js +337 -0
  953. package/lib/systems/LayoutSystem.js.map +1 -0
  954. package/lib/systems/PlayerEffectManager.d.ts +210 -0
  955. package/lib/systems/PlayerEffectManager.d.ts.map +1 -0
  956. package/lib/systems/PlayerEffectManager.js +178 -0
  957. package/lib/systems/PlayerEffectManager.js.map +1 -0
  958. package/lib/systems/ResponsiveScaling.d.ts +298 -0
  959. package/lib/systems/ResponsiveScaling.d.ts.map +1 -0
  960. package/lib/systems/ResponsiveScaling.js +376 -0
  961. package/lib/systems/ResponsiveScaling.js.map +1 -0
  962. package/lib/systems/TrigramSystem.d.ts +388 -0
  963. package/lib/systems/TrigramSystem.d.ts.map +1 -0
  964. package/lib/systems/TrigramSystem.js +512 -0
  965. package/lib/systems/TrigramSystem.js.map +1 -0
  966. package/lib/systems/VitalPointSystem.d.ts +330 -0
  967. package/lib/systems/VitalPointSystem.d.ts.map +1 -0
  968. package/lib/systems/VitalPointSystem.js +455 -0
  969. package/lib/systems/VitalPointSystem.js.map +1 -0
  970. package/lib/systems/ai/AIPersonality.d.ts +133 -0
  971. package/lib/systems/ai/AIPersonality.d.ts.map +1 -0
  972. package/lib/systems/ai/AIPersonality.js +245 -0
  973. package/lib/systems/ai/AIPersonality.js.map +1 -0
  974. package/lib/systems/ai/AdaptiveDifficulty.d.ts +159 -0
  975. package/lib/systems/ai/AdaptiveDifficulty.d.ts.map +1 -0
  976. package/lib/systems/ai/AdaptiveDifficulty.js +297 -0
  977. package/lib/systems/ai/AdaptiveDifficulty.js.map +1 -0
  978. package/lib/systems/ai/ArchetypeEnforcer.d.ts +132 -0
  979. package/lib/systems/ai/ArchetypeEnforcer.d.ts.map +1 -0
  980. package/lib/systems/ai/ArchetypeEnforcer.js +279 -0
  981. package/lib/systems/ai/ArchetypeEnforcer.js.map +1 -0
  982. package/lib/systems/ai/ComboSystem.d.ts +136 -0
  983. package/lib/systems/ai/ComboSystem.d.ts.map +1 -0
  984. package/lib/systems/ai/ComboSystem.js +384 -0
  985. package/lib/systems/ai/ComboSystem.js.map +1 -0
  986. package/lib/systems/ai/DecisionTree.d.ts +563 -0
  987. package/lib/systems/ai/DecisionTree.d.ts.map +1 -0
  988. package/lib/systems/ai/DecisionTree.js +1516 -0
  989. package/lib/systems/ai/DecisionTree.js.map +1 -0
  990. package/lib/systems/ai/TrainingAI.d.ts +132 -0
  991. package/lib/systems/ai/TrainingAI.d.ts.map +1 -0
  992. package/lib/systems/ai/TrainingAI.js +265 -0
  993. package/lib/systems/ai/TrainingAI.js.map +1 -0
  994. package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts +19 -0
  995. package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts.map +1 -0
  996. package/lib/systems/ai/index.d.ts +12 -0
  997. package/lib/systems/ai/index.d.ts.map +1 -0
  998. package/lib/systems/ai/index.js +7 -0
  999. package/lib/systems/ai/types.d.ts +111 -0
  1000. package/lib/systems/ai/types.d.ts.map +1 -0
  1001. package/lib/systems/ai/types.js +24 -0
  1002. package/lib/systems/ai/types.js.map +1 -0
  1003. package/lib/systems/animation/AnimationCategory.d.ts +64 -0
  1004. package/lib/systems/animation/AnimationCategory.d.ts.map +1 -0
  1005. package/lib/systems/animation/builders/AnimationBuilder.d.ts +288 -0
  1006. package/lib/systems/animation/builders/AnimationBuilder.d.ts.map +1 -0
  1007. package/lib/systems/animation/builders/AnimationBuilder.js +261 -0
  1008. package/lib/systems/animation/builders/AnimationBuilder.js.map +1 -0
  1009. package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts +280 -0
  1010. package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts.map +1 -0
  1011. package/lib/systems/animation/builders/AnimationFactoryPresets.js +234 -0
  1012. package/lib/systems/animation/builders/AnimationFactoryPresets.js.map +1 -0
  1013. package/lib/systems/animation/builders/HandPoseApplicator.d.ts +56 -0
  1014. package/lib/systems/animation/builders/HandPoseApplicator.d.ts.map +1 -0
  1015. package/lib/systems/animation/builders/HandPoseApplicator.js +130 -0
  1016. package/lib/systems/animation/builders/HandPoseApplicator.js.map +1 -0
  1017. package/lib/systems/animation/builders/HandPoses.d.ts +186 -0
  1018. package/lib/systems/animation/builders/HandPoses.d.ts.map +1 -0
  1019. package/lib/systems/animation/builders/HandPoses.js +509 -0
  1020. package/lib/systems/animation/builders/HandPoses.js.map +1 -0
  1021. package/lib/systems/animation/builders/KeyframeConfig.d.ts +207 -0
  1022. package/lib/systems/animation/builders/KeyframeConfig.d.ts.map +1 -0
  1023. package/lib/systems/animation/builders/KeyframeConfig.js +264 -0
  1024. package/lib/systems/animation/builders/KeyframeConfig.js.map +1 -0
  1025. package/lib/systems/animation/builders/KeyframeInterpolation.d.ts +491 -0
  1026. package/lib/systems/animation/builders/KeyframeInterpolation.d.ts.map +1 -0
  1027. package/lib/systems/animation/builders/KeyframeInterpolation.js +252 -0
  1028. package/lib/systems/animation/builders/KeyframeInterpolation.js.map +1 -0
  1029. package/lib/systems/animation/builders/KickPhaseApplicator.d.ts +119 -0
  1030. package/lib/systems/animation/builders/KickPhaseApplicator.d.ts.map +1 -0
  1031. package/lib/systems/animation/builders/KickPhaseApplicator.js +119 -0
  1032. package/lib/systems/animation/builders/KickPhaseApplicator.js.map +1 -0
  1033. package/lib/systems/animation/builders/KoreanGuardPositions.d.ts +208 -0
  1034. package/lib/systems/animation/builders/KoreanGuardPositions.d.ts.map +1 -0
  1035. package/lib/systems/animation/builders/KoreanGuardPositions.js +267 -0
  1036. package/lib/systems/animation/builders/KoreanGuardPositions.js.map +1 -0
  1037. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts +1310 -0
  1038. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts.map +1 -0
  1039. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js +2857 -0
  1040. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js.map +1 -0
  1041. package/lib/systems/animation/builders/MartialArtsConstants.d.ts +1034 -0
  1042. package/lib/systems/animation/builders/MartialArtsConstants.d.ts.map +1 -0
  1043. package/lib/systems/animation/builders/MartialArtsConstants.js +1644 -0
  1044. package/lib/systems/animation/builders/MartialArtsConstants.js.map +1 -0
  1045. package/lib/systems/animation/builders/MartialPoseApplicator.d.ts +54 -0
  1046. package/lib/systems/animation/builders/MartialPoseApplicator.d.ts.map +1 -0
  1047. package/lib/systems/animation/builders/MartialPoseApplicator.js +54 -0
  1048. package/lib/systems/animation/builders/MartialPoseApplicator.js.map +1 -0
  1049. package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts +73 -0
  1050. package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts.map +1 -0
  1051. package/lib/systems/animation/builders/PunchPhaseApplicator.js +68 -0
  1052. package/lib/systems/animation/builders/PunchPhaseApplicator.js.map +1 -0
  1053. package/lib/systems/animation/builders/SkeletonRig.d.ts +321 -0
  1054. package/lib/systems/animation/builders/SkeletonRig.d.ts.map +1 -0
  1055. package/lib/systems/animation/builders/SkeletonRig.js +330 -0
  1056. package/lib/systems/animation/builders/SkeletonRig.js.map +1 -0
  1057. package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts +99 -0
  1058. package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts.map +1 -0
  1059. package/lib/systems/animation/builders/TrigramGuardApplicator.js +185 -0
  1060. package/lib/systems/animation/builders/TrigramGuardApplicator.js.map +1 -0
  1061. package/lib/systems/animation/builders/index.d.ts +23 -0
  1062. package/lib/systems/animation/builders/index.d.ts.map +1 -0
  1063. package/lib/systems/animation/builders/index.js +13 -0
  1064. package/lib/systems/animation/catalogs/AttackAnimations.d.ts +523 -0
  1065. package/lib/systems/animation/catalogs/AttackAnimations.d.ts.map +1 -0
  1066. package/lib/systems/animation/catalogs/AttackAnimations.js +537 -0
  1067. package/lib/systems/animation/catalogs/AttackAnimations.js.map +1 -0
  1068. package/lib/systems/animation/catalogs/BasicAnimations.d.ts +84 -0
  1069. package/lib/systems/animation/catalogs/BasicAnimations.d.ts.map +1 -0
  1070. package/lib/systems/animation/catalogs/BasicAnimations.js +92 -0
  1071. package/lib/systems/animation/catalogs/BasicAnimations.js.map +1 -0
  1072. package/lib/systems/animation/catalogs/ComboAnimations.d.ts +370 -0
  1073. package/lib/systems/animation/catalogs/ComboAnimations.d.ts.map +1 -0
  1074. package/lib/systems/animation/catalogs/ComboAnimations.js +400 -0
  1075. package/lib/systems/animation/catalogs/ComboAnimations.js.map +1 -0
  1076. package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts +301 -0
  1077. package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts.map +1 -0
  1078. package/lib/systems/animation/catalogs/DarkOpsAnimations.js +322 -0
  1079. package/lib/systems/animation/catalogs/DarkOpsAnimations.js.map +1 -0
  1080. package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts +134 -0
  1081. package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts.map +1 -0
  1082. package/lib/systems/animation/catalogs/DefensiveAnimations.js +142 -0
  1083. package/lib/systems/animation/catalogs/DefensiveAnimations.js.map +1 -0
  1084. package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts +437 -0
  1085. package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts.map +1 -0
  1086. package/lib/systems/animation/catalogs/ElbowKneeAnimations.js +452 -0
  1087. package/lib/systems/animation/catalogs/ElbowKneeAnimations.js.map +1 -0
  1088. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts +146 -0
  1089. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts.map +1 -0
  1090. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js +100 -0
  1091. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js.map +1 -0
  1092. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts +81 -0
  1093. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts.map +1 -0
  1094. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js +94 -0
  1095. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js.map +1 -0
  1096. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts +268 -0
  1097. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts.map +1 -0
  1098. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js +196 -0
  1099. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js.map +1 -0
  1100. package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts +64 -0
  1101. package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts.map +1 -0
  1102. package/lib/systems/animation/catalogs/GamRedirectionAnimations.js +68 -0
  1103. package/lib/systems/animation/catalogs/GamRedirectionAnimations.js.map +1 -0
  1104. package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts +111 -0
  1105. package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts.map +1 -0
  1106. package/lib/systems/animation/catalogs/GamStanceAnimations.js +9 -0
  1107. package/lib/systems/animation/catalogs/GamStanceAnimations.js.map +1 -0
  1108. package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts +82 -0
  1109. package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts.map +1 -0
  1110. package/lib/systems/animation/catalogs/GamTechniqueAnimations.js +55 -0
  1111. package/lib/systems/animation/catalogs/GamTechniqueAnimations.js.map +1 -0
  1112. package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts +122 -0
  1113. package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts.map +1 -0
  1114. package/lib/systems/animation/catalogs/GanStanceAnimations.js +135 -0
  1115. package/lib/systems/animation/catalogs/GanStanceAnimations.js.map +1 -0
  1116. package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts +78 -0
  1117. package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts.map +1 -0
  1118. package/lib/systems/animation/catalogs/GanTechniqueAnimations.js +83 -0
  1119. package/lib/systems/animation/catalogs/GanTechniqueAnimations.js.map +1 -0
  1120. package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts +323 -0
  1121. package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts.map +1 -0
  1122. package/lib/systems/animation/catalogs/GeonStanceAnimations.js +341 -0
  1123. package/lib/systems/animation/catalogs/GeonStanceAnimations.js.map +1 -0
  1124. package/lib/systems/animation/catalogs/GonGuardPoses.d.ts +84 -0
  1125. package/lib/systems/animation/catalogs/GonGuardPoses.d.ts.map +1 -0
  1126. package/lib/systems/animation/catalogs/GonGuardPoses.js +6 -0
  1127. package/lib/systems/animation/catalogs/GonGuardPoses.js.map +1 -0
  1128. package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts +134 -0
  1129. package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts.map +1 -0
  1130. package/lib/systems/animation/catalogs/GonStanceAnimations.js +9 -0
  1131. package/lib/systems/animation/catalogs/GonStanceAnimations.js.map +1 -0
  1132. package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts +265 -0
  1133. package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts.map +1 -0
  1134. package/lib/systems/animation/catalogs/GonTechniqueAnimations.js +13 -0
  1135. package/lib/systems/animation/catalogs/GonTechniqueAnimations.js.map +1 -0
  1136. package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts +452 -0
  1137. package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts.map +1 -0
  1138. package/lib/systems/animation/catalogs/GrapplingAnimations.js +475 -0
  1139. package/lib/systems/animation/catalogs/GrapplingAnimations.js.map +1 -0
  1140. package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts +98 -0
  1141. package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts.map +1 -0
  1142. package/lib/systems/animation/catalogs/JinStanceAnimations.js +111 -0
  1143. package/lib/systems/animation/catalogs/JinStanceAnimations.js.map +1 -0
  1144. package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts +80 -0
  1145. package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts.map +1 -0
  1146. package/lib/systems/animation/catalogs/JinTechniqueAnimations.js +89 -0
  1147. package/lib/systems/animation/catalogs/JinTechniqueAnimations.js.map +1 -0
  1148. package/lib/systems/animation/catalogs/KickAnimations.d.ts +916 -0
  1149. package/lib/systems/animation/catalogs/KickAnimations.d.ts.map +1 -0
  1150. package/lib/systems/animation/catalogs/KickAnimations.js +929 -0
  1151. package/lib/systems/animation/catalogs/KickAnimations.js.map +1 -0
  1152. package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts +140 -0
  1153. package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts.map +1 -0
  1154. package/lib/systems/animation/catalogs/LiStanceAnimations.js +122 -0
  1155. package/lib/systems/animation/catalogs/LiStanceAnimations.js.map +1 -0
  1156. package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts +104 -0
  1157. package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts.map +1 -0
  1158. package/lib/systems/animation/catalogs/LiTechniqueAnimations.js +90 -0
  1159. package/lib/systems/animation/catalogs/LiTechniqueAnimations.js.map +1 -0
  1160. package/lib/systems/animation/catalogs/MovementAnimations.d.ts +344 -0
  1161. package/lib/systems/animation/catalogs/MovementAnimations.d.ts.map +1 -0
  1162. package/lib/systems/animation/catalogs/MovementAnimations.js +371 -0
  1163. package/lib/systems/animation/catalogs/MovementAnimations.js.map +1 -0
  1164. package/lib/systems/animation/catalogs/PunchAnimations.d.ts +496 -0
  1165. package/lib/systems/animation/catalogs/PunchAnimations.d.ts.map +1 -0
  1166. package/lib/systems/animation/catalogs/PunchAnimations.js +498 -0
  1167. package/lib/systems/animation/catalogs/PunchAnimations.js.map +1 -0
  1168. package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts +184 -0
  1169. package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts.map +1 -0
  1170. package/lib/systems/animation/catalogs/RecoveryAnimations.js +465 -0
  1171. package/lib/systems/animation/catalogs/RecoveryAnimations.js.map +1 -0
  1172. package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts +149 -0
  1173. package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts.map +1 -0
  1174. package/lib/systems/animation/catalogs/SonStanceAnimations.js +131 -0
  1175. package/lib/systems/animation/catalogs/SonStanceAnimations.js.map +1 -0
  1176. package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts +90 -0
  1177. package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts.map +1 -0
  1178. package/lib/systems/animation/catalogs/SonTechniqueAnimations.js +95 -0
  1179. package/lib/systems/animation/catalogs/SonTechniqueAnimations.js.map +1 -0
  1180. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts +178 -0
  1181. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts.map +1 -0
  1182. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js +188 -0
  1183. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js.map +1 -0
  1184. package/lib/systems/animation/catalogs/StanceAnimations.d.ts +687 -0
  1185. package/lib/systems/animation/catalogs/StanceAnimations.d.ts.map +1 -0
  1186. package/lib/systems/animation/catalogs/StanceAnimations.js +840 -0
  1187. package/lib/systems/animation/catalogs/StanceAnimations.js.map +1 -0
  1188. package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts +483 -0
  1189. package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts.map +1 -0
  1190. package/lib/systems/animation/catalogs/StanceAttackAnimations.js +2369 -0
  1191. package/lib/systems/animation/catalogs/StanceAttackAnimations.js.map +1 -0
  1192. package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts +327 -0
  1193. package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts.map +1 -0
  1194. package/lib/systems/animation/catalogs/StanceGuardPoses.js +655 -0
  1195. package/lib/systems/animation/catalogs/StanceGuardPoses.js.map +1 -0
  1196. package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts +255 -0
  1197. package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts.map +1 -0
  1198. package/lib/systems/animation/catalogs/StanceIdleAnimations.js +446 -0
  1199. package/lib/systems/animation/catalogs/StanceIdleAnimations.js.map +1 -0
  1200. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts +207 -0
  1201. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts.map +1 -0
  1202. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js +309 -0
  1203. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js.map +1 -0
  1204. package/lib/systems/animation/catalogs/StepAnimations.d.ts +274 -0
  1205. package/lib/systems/animation/catalogs/StepAnimations.d.ts.map +1 -0
  1206. package/lib/systems/animation/catalogs/StepAnimations.js +73 -0
  1207. package/lib/systems/animation/catalogs/StepAnimations.js.map +1 -0
  1208. package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts +100 -0
  1209. package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts.map +1 -0
  1210. package/lib/systems/animation/catalogs/StepSkeletalAnimations.js +99 -0
  1211. package/lib/systems/animation/catalogs/StepSkeletalAnimations.js.map +1 -0
  1212. package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts +170 -0
  1213. package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts.map +1 -0
  1214. package/lib/systems/animation/catalogs/TaeJointLockAnimations.js +141 -0
  1215. package/lib/systems/animation/catalogs/TaeJointLockAnimations.js.map +1 -0
  1216. package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts +120 -0
  1217. package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts.map +1 -0
  1218. package/lib/systems/animation/catalogs/TaeStanceAnimations.js +139 -0
  1219. package/lib/systems/animation/catalogs/TaeStanceAnimations.js.map +1 -0
  1220. package/lib/systems/animation/catalogs/index.d.ts +43 -0
  1221. package/lib/systems/animation/catalogs/index.d.ts.map +1 -0
  1222. package/lib/systems/animation/catalogs/index.js +36 -0
  1223. package/lib/systems/animation/constants/AnatomicalLimits.d.ts +234 -0
  1224. package/lib/systems/animation/constants/AnatomicalLimits.d.ts.map +1 -0
  1225. package/lib/systems/animation/constants/AnatomicalLimits.js +61 -0
  1226. package/lib/systems/animation/constants/AnatomicalLimits.js.map +1 -0
  1227. package/lib/systems/animation/constants/index.d.ts +13 -0
  1228. package/lib/systems/animation/constants/index.d.ts.map +1 -0
  1229. package/lib/systems/animation/core/AnimationHitTiming.d.ts +184 -0
  1230. package/lib/systems/animation/core/AnimationHitTiming.d.ts.map +1 -0
  1231. package/lib/systems/animation/core/AnimationHitTiming.js +766 -0
  1232. package/lib/systems/animation/core/AnimationHitTiming.js.map +1 -0
  1233. package/lib/systems/animation/core/AnimationOptimizations.d.ts +221 -0
  1234. package/lib/systems/animation/core/AnimationOptimizations.d.ts.map +1 -0
  1235. package/lib/systems/animation/core/AnimationOptimizations.js +322 -0
  1236. package/lib/systems/animation/core/AnimationOptimizations.js.map +1 -0
  1237. package/lib/systems/animation/core/AnimationPriority.d.ts +391 -0
  1238. package/lib/systems/animation/core/AnimationPriority.d.ts.map +1 -0
  1239. package/lib/systems/animation/core/AnimationPriority.js +349 -0
  1240. package/lib/systems/animation/core/AnimationPriority.js.map +1 -0
  1241. package/lib/systems/animation/core/AnimationRegistry.d.ts +220 -0
  1242. package/lib/systems/animation/core/AnimationRegistry.d.ts.map +1 -0
  1243. package/lib/systems/animation/core/AnimationRegistry.js +416 -0
  1244. package/lib/systems/animation/core/AnimationRegistry.js.map +1 -0
  1245. package/lib/systems/animation/core/AnimationStateMachine.d.ts +701 -0
  1246. package/lib/systems/animation/core/AnimationStateMachine.d.ts.map +1 -0
  1247. package/lib/systems/animation/core/AnimationStateMachine.js +1458 -0
  1248. package/lib/systems/animation/core/AnimationStateMachine.js.map +1 -0
  1249. package/lib/systems/animation/core/AnimationTransitions.d.ts +275 -0
  1250. package/lib/systems/animation/core/AnimationTransitions.d.ts.map +1 -0
  1251. package/lib/systems/animation/core/AnimationTransitions.js +920 -0
  1252. package/lib/systems/animation/core/AnimationTransitions.js.map +1 -0
  1253. package/lib/systems/animation/core/LateralityTransform.d.ts +120 -0
  1254. package/lib/systems/animation/core/LateralityTransform.d.ts.map +1 -0
  1255. package/lib/systems/animation/core/LateralityTransform.js +204 -0
  1256. package/lib/systems/animation/core/LateralityTransform.js.map +1 -0
  1257. package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts +171 -0
  1258. package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts.map +1 -0
  1259. package/lib/systems/animation/core/RecoveryPhaseEnhancer.js +122 -0
  1260. package/lib/systems/animation/core/RecoveryPhaseEnhancer.js.map +1 -0
  1261. package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts +303 -0
  1262. package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts.map +1 -0
  1263. package/lib/systems/animation/core/TechniqueAnimationMapper.js +770 -0
  1264. package/lib/systems/animation/core/TechniqueAnimationMapper.js.map +1 -0
  1265. package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts +74 -0
  1266. package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts.map +1 -0
  1267. package/lib/systems/animation/core/TechniqueAnimationMapping.js +1313 -0
  1268. package/lib/systems/animation/core/TechniqueAnimationMapping.js.map +1 -0
  1269. package/lib/systems/animation/core/TrigramAnimationMapping.d.ts +286 -0
  1270. package/lib/systems/animation/core/TrigramAnimationMapping.d.ts.map +1 -0
  1271. package/lib/systems/animation/core/TrigramAnimationMapping.js +6 -0
  1272. package/lib/systems/animation/core/TrigramStanceTransitions.d.ts +186 -0
  1273. package/lib/systems/animation/core/TrigramStanceTransitions.d.ts.map +1 -0
  1274. package/lib/systems/animation/core/TrigramStanceTransitions.js +8 -0
  1275. package/lib/systems/animation/core/TrigramStanceTransitions.js.map +1 -0
  1276. package/lib/systems/animation/core/index.d.ts +23 -0
  1277. package/lib/systems/animation/core/index.d.ts.map +1 -0
  1278. package/lib/systems/animation/core/index.js +16 -0
  1279. package/lib/systems/animation/core/types.d.ts +1360 -0
  1280. package/lib/systems/animation/core/types.d.ts.map +1 -0
  1281. package/lib/systems/animation/core/types.js +539 -0
  1282. package/lib/systems/animation/core/types.js.map +1 -0
  1283. package/lib/systems/animation/index.d.ts +16 -0
  1284. package/lib/systems/animation/index.d.ts.map +1 -0
  1285. package/lib/systems/animation/index.js +63 -0
  1286. package/lib/systems/animation/systems/AdvancedJointMovements.d.ts +614 -0
  1287. package/lib/systems/animation/systems/AdvancedJointMovements.d.ts.map +1 -0
  1288. package/lib/systems/animation/systems/AdvancedJointMovements.js +95 -0
  1289. package/lib/systems/animation/systems/AdvancedJointMovements.js.map +1 -0
  1290. package/lib/systems/animation/systems/BodyFacingSystem.d.ts +331 -0
  1291. package/lib/systems/animation/systems/BodyFacingSystem.d.ts.map +1 -0
  1292. package/lib/systems/animation/systems/BodyFacingSystem.js +327 -0
  1293. package/lib/systems/animation/systems/BodyFacingSystem.js.map +1 -0
  1294. package/lib/systems/animation/systems/FacialExpressions.d.ts +167 -0
  1295. package/lib/systems/animation/systems/FacialExpressions.d.ts.map +1 -0
  1296. package/lib/systems/animation/systems/FacialExpressions.js +76 -0
  1297. package/lib/systems/animation/systems/FacialExpressions.js.map +1 -0
  1298. package/lib/systems/animation/systems/FallAnimations.d.ts +174 -0
  1299. package/lib/systems/animation/systems/FallAnimations.d.ts.map +1 -0
  1300. package/lib/systems/animation/systems/FallAnimations.js +104 -0
  1301. package/lib/systems/animation/systems/FallAnimations.js.map +1 -0
  1302. package/lib/systems/animation/systems/HeadMovements.d.ts +152 -0
  1303. package/lib/systems/animation/systems/HeadMovements.d.ts.map +1 -0
  1304. package/lib/systems/animation/systems/HeadMovements.js +2 -0
  1305. package/lib/systems/animation/systems/MuscleActivation.d.ts +163 -0
  1306. package/lib/systems/animation/systems/MuscleActivation.d.ts.map +1 -0
  1307. package/lib/systems/animation/systems/MuscleActivation.js +427 -0
  1308. package/lib/systems/animation/systems/MuscleActivation.js.map +1 -0
  1309. package/lib/systems/animation/systems/RecoveryVisualization.d.ts +142 -0
  1310. package/lib/systems/animation/systems/RecoveryVisualization.d.ts.map +1 -0
  1311. package/lib/systems/animation/systems/RecoveryVisualization.js +1 -0
  1312. package/lib/systems/animation/systems/index.d.ts +17 -0
  1313. package/lib/systems/animation/systems/index.d.ts.map +1 -0
  1314. package/lib/systems/animation/systems/index.js +7 -0
  1315. package/lib/systems/animation/utils/AnimationMirror.d.ts +157 -0
  1316. package/lib/systems/animation/utils/AnimationMirror.d.ts.map +1 -0
  1317. package/lib/systems/animation/utils/AnimationMirror.js +30 -0
  1318. package/lib/systems/animation/utils/AnimationMirror.js.map +1 -0
  1319. package/lib/systems/audio/BoneImpactAudioSystem.d.ts +182 -0
  1320. package/lib/systems/audio/BoneImpactAudioSystem.d.ts.map +1 -0
  1321. package/lib/systems/audio/index.d.ts +7 -0
  1322. package/lib/systems/audio/index.d.ts.map +1 -0
  1323. package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts +149 -0
  1324. package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts.map +1 -0
  1325. package/lib/systems/bodypart/BodyPartDamageIntegration.js +38 -0
  1326. package/lib/systems/bodypart/BodyPartDamageIntegration.js.map +1 -0
  1327. package/lib/systems/bodypart/BodyPartHealthSystem.d.ts +233 -0
  1328. package/lib/systems/bodypart/BodyPartHealthSystem.d.ts.map +1 -0
  1329. package/lib/systems/bodypart/BodyPartHealthSystem.js +476 -0
  1330. package/lib/systems/bodypart/BodyPartHealthSystem.js.map +1 -0
  1331. package/lib/systems/bodypart/BodyPartPositionMapping.d.ts +116 -0
  1332. package/lib/systems/bodypart/BodyPartPositionMapping.d.ts.map +1 -0
  1333. package/lib/systems/bodypart/BodyPartPositionMapping.js +122 -0
  1334. package/lib/systems/bodypart/BodyPartPositionMapping.js.map +1 -0
  1335. package/lib/systems/bodypart/CombatInjuryIntegration.d.ts +191 -0
  1336. package/lib/systems/bodypart/CombatInjuryIntegration.d.ts.map +1 -0
  1337. package/lib/systems/bodypart/CombatInjuryIntegration.js +169 -0
  1338. package/lib/systems/bodypart/CombatInjuryIntegration.js.map +1 -0
  1339. package/lib/systems/bodypart/InjuryIntegration.d.ts +39 -0
  1340. package/lib/systems/bodypart/InjuryIntegration.d.ts.map +1 -0
  1341. package/lib/systems/bodypart/InjuryTracker.d.ts +256 -0
  1342. package/lib/systems/bodypart/InjuryTracker.d.ts.map +1 -0
  1343. package/lib/systems/bodypart/InjuryTracker.js +240 -0
  1344. package/lib/systems/bodypart/InjuryTracker.js.map +1 -0
  1345. package/lib/systems/bodypart/MovementPenaltySystem.d.ts +191 -0
  1346. package/lib/systems/bodypart/MovementPenaltySystem.d.ts.map +1 -0
  1347. package/lib/systems/bodypart/MovementPenaltySystem.js +255 -0
  1348. package/lib/systems/bodypart/MovementPenaltySystem.js.map +1 -0
  1349. package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts +137 -0
  1350. package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts.map +1 -0
  1351. package/lib/systems/bodypart/PlayerInjuryTrackingManager.js +175 -0
  1352. package/lib/systems/bodypart/PlayerInjuryTrackingManager.js.map +1 -0
  1353. package/lib/systems/bodypart/index.d.ts +22 -0
  1354. package/lib/systems/bodypart/index.d.ts.map +1 -0
  1355. package/lib/systems/bodypart/index.js +8 -0
  1356. package/lib/systems/bodypart/types.d.ts +453 -0
  1357. package/lib/systems/bodypart/types.d.ts.map +1 -0
  1358. package/lib/systems/bodypart/types.js +157 -0
  1359. package/lib/systems/bodypart/types.js.map +1 -0
  1360. package/lib/systems/breathing/BreathingDisruptionSystem.d.ts +289 -0
  1361. package/lib/systems/breathing/BreathingDisruptionSystem.d.ts.map +1 -0
  1362. package/lib/systems/breathing/BreathingDisruptionSystem.js +388 -0
  1363. package/lib/systems/breathing/BreathingDisruptionSystem.js.map +1 -0
  1364. package/lib/systems/breathing/feedback.d.ts +131 -0
  1365. package/lib/systems/breathing/feedback.d.ts.map +1 -0
  1366. package/lib/systems/breathing/feedback.js +80 -0
  1367. package/lib/systems/breathing/feedback.js.map +1 -0
  1368. package/lib/systems/breathing/index.d.ts +12 -0
  1369. package/lib/systems/breathing/index.d.ts.map +1 -0
  1370. package/lib/systems/breathing/index.js +3 -0
  1371. package/lib/systems/breathing/integration.d.ts +140 -0
  1372. package/lib/systems/breathing/integration.d.ts.map +1 -0
  1373. package/lib/systems/breathing/integration.js +194 -0
  1374. package/lib/systems/breathing/integration.js.map +1 -0
  1375. package/lib/systems/combat/AICounterAttackIntegration.d.ts +223 -0
  1376. package/lib/systems/combat/AICounterAttackIntegration.d.ts.map +1 -0
  1377. package/lib/systems/combat/BalanceSystem.d.ts +667 -0
  1378. package/lib/systems/combat/BalanceSystem.d.ts.map +1 -0
  1379. package/lib/systems/combat/BalanceSystem.js +811 -0
  1380. package/lib/systems/combat/BalanceSystem.js.map +1 -0
  1381. package/lib/systems/combat/BreakingStatusEffects.d.ts +96 -0
  1382. package/lib/systems/combat/BreakingStatusEffects.d.ts.map +1 -0
  1383. package/lib/systems/combat/BreakingStatusEffects.js +60 -0
  1384. package/lib/systems/combat/BreakingStatusEffects.js.map +1 -0
  1385. package/lib/systems/combat/CombatStateSystem.d.ts +264 -0
  1386. package/lib/systems/combat/CombatStateSystem.d.ts.map +1 -0
  1387. package/lib/systems/combat/CombatStateSystem.js +353 -0
  1388. package/lib/systems/combat/CombatStateSystem.js.map +1 -0
  1389. package/lib/systems/combat/ConsciousnessSystem.d.ts +402 -0
  1390. package/lib/systems/combat/ConsciousnessSystem.d.ts.map +1 -0
  1391. package/lib/systems/combat/ConsciousnessSystem.js +529 -0
  1392. package/lib/systems/combat/ConsciousnessSystem.js.map +1 -0
  1393. package/lib/systems/combat/FallIntegration.d.ts +82 -0
  1394. package/lib/systems/combat/FallIntegration.d.ts.map +1 -0
  1395. package/lib/systems/combat/FallIntegration.js +100 -0
  1396. package/lib/systems/combat/FallIntegration.js.map +1 -0
  1397. package/lib/systems/combat/GrappleSystem.d.ts +264 -0
  1398. package/lib/systems/combat/GrappleSystem.d.ts.map +1 -0
  1399. package/lib/systems/combat/GrappleSystem.js +393 -0
  1400. package/lib/systems/combat/GrappleSystem.js.map +1 -0
  1401. package/lib/systems/combat/LimbExposureSystem.d.ts +150 -0
  1402. package/lib/systems/combat/LimbExposureSystem.d.ts.map +1 -0
  1403. package/lib/systems/combat/LimbExposureSystem.js +308 -0
  1404. package/lib/systems/combat/LimbExposureSystem.js.map +1 -0
  1405. package/lib/systems/combat/PainResponseSystem.d.ts +299 -0
  1406. package/lib/systems/combat/PainResponseSystem.d.ts.map +1 -0
  1407. package/lib/systems/combat/PainResponseSystem.js +401 -0
  1408. package/lib/systems/combat/PainResponseSystem.js.map +1 -0
  1409. package/lib/systems/combat/SlowMotionController.d.ts +123 -0
  1410. package/lib/systems/combat/SlowMotionController.d.ts.map +1 -0
  1411. package/lib/systems/combat/TrainingCombatSystem.d.ts +89 -0
  1412. package/lib/systems/combat/TrainingCombatSystem.d.ts.map +1 -0
  1413. package/lib/systems/combat/TrainingCombatSystem.js +224 -0
  1414. package/lib/systems/combat/TrainingCombatSystem.js.map +1 -0
  1415. package/lib/systems/combat/index.d.ts +16 -0
  1416. package/lib/systems/combat/index.d.ts.map +1 -0
  1417. package/lib/systems/combat/index.js +10 -0
  1418. package/lib/systems/combat/painConsciousnessUtils.d.ts +147 -0
  1419. package/lib/systems/combat/painConsciousnessUtils.d.ts.map +1 -0
  1420. package/lib/systems/combat/painConsciousnessUtils.js +185 -0
  1421. package/lib/systems/combat/painConsciousnessUtils.js.map +1 -0
  1422. package/lib/systems/combat/typeGuards.d.ts +25 -0
  1423. package/lib/systems/combat/typeGuards.d.ts.map +1 -0
  1424. package/lib/systems/combat/typeGuards.js +39 -0
  1425. package/lib/systems/combat/typeGuards.js.map +1 -0
  1426. package/lib/systems/combat/types.d.ts +197 -0
  1427. package/lib/systems/combat/types.d.ts.map +1 -0
  1428. package/lib/systems/effects.d.ts +40 -0
  1429. package/lib/systems/effects.d.ts.map +1 -0
  1430. package/lib/systems/effects.js +44 -0
  1431. package/lib/systems/effects.js.map +1 -0
  1432. package/lib/systems/game.d.ts +77 -0
  1433. package/lib/systems/game.d.ts.map +1 -0
  1434. package/lib/systems/game.js +20 -0
  1435. package/lib/systems/game.js.map +1 -0
  1436. package/lib/systems/index.d.ts +24 -0
  1437. package/lib/systems/index.d.ts.map +1 -0
  1438. package/lib/systems/index.js +281 -0
  1439. package/lib/systems/index.js.map +1 -0
  1440. package/lib/systems/movement/InjuryMovementModifier.d.ts +275 -0
  1441. package/lib/systems/movement/InjuryMovementModifier.d.ts.map +1 -0
  1442. package/lib/systems/movement/InjuryMovementModifier.js +281 -0
  1443. package/lib/systems/movement/InjuryMovementModifier.js.map +1 -0
  1444. package/lib/systems/movement/helpers/AccelerationUpdater.d.ts +61 -0
  1445. package/lib/systems/movement/helpers/AccelerationUpdater.d.ts.map +1 -0
  1446. package/lib/systems/movement/helpers/AccelerationUpdater.js +75 -0
  1447. package/lib/systems/movement/helpers/AccelerationUpdater.js.map +1 -0
  1448. package/lib/systems/movement/helpers/accelerationUtils.d.ts +85 -0
  1449. package/lib/systems/movement/helpers/accelerationUtils.d.ts.map +1 -0
  1450. package/lib/systems/movement/helpers/accelerationUtils.js +86 -0
  1451. package/lib/systems/movement/helpers/accelerationUtils.js.map +1 -0
  1452. package/lib/systems/movement/index.d.ts +16 -0
  1453. package/lib/systems/movement/index.d.ts.map +1 -0
  1454. package/lib/systems/movement/integration.d.ts +91 -0
  1455. package/lib/systems/movement/integration.d.ts.map +1 -0
  1456. package/lib/systems/physics/AttackMovementPhysics.d.ts +283 -0
  1457. package/lib/systems/physics/AttackMovementPhysics.d.ts.map +1 -0
  1458. package/lib/systems/physics/AttackMovementPhysics.js +272 -0
  1459. package/lib/systems/physics/AttackMovementPhysics.js.map +1 -0
  1460. package/lib/systems/physics/CollisionDetection.d.ts +323 -0
  1461. package/lib/systems/physics/CollisionDetection.d.ts.map +1 -0
  1462. package/lib/systems/physics/CollisionDetection.js +543 -0
  1463. package/lib/systems/physics/CollisionDetection.js.map +1 -0
  1464. package/lib/systems/physics/CoordinateMapper.d.ts +203 -0
  1465. package/lib/systems/physics/CoordinateMapper.d.ts.map +1 -0
  1466. package/lib/systems/physics/CoordinateMapper.js +242 -0
  1467. package/lib/systems/physics/CoordinateMapper.js.map +1 -0
  1468. package/lib/systems/physics/KnockbackPhysics.d.ts +367 -0
  1469. package/lib/systems/physics/KnockbackPhysics.d.ts.map +1 -0
  1470. package/lib/systems/physics/KnockbackPhysics.js +338 -0
  1471. package/lib/systems/physics/KnockbackPhysics.js.map +1 -0
  1472. package/lib/systems/physics/MovementPhysics.d.ts +428 -0
  1473. package/lib/systems/physics/MovementPhysics.d.ts.map +1 -0
  1474. package/lib/systems/physics/MovementPhysics.js +488 -0
  1475. package/lib/systems/physics/MovementPhysics.js.map +1 -0
  1476. package/lib/systems/physics/PhysicalReachCalculator.d.ts +261 -0
  1477. package/lib/systems/physics/PhysicalReachCalculator.d.ts.map +1 -0
  1478. package/lib/systems/physics/PhysicalReachCalculator.js +226 -0
  1479. package/lib/systems/physics/PhysicalReachCalculator.js.map +1 -0
  1480. package/lib/systems/physics/SpeedModifierSystem.d.ts +302 -0
  1481. package/lib/systems/physics/SpeedModifierSystem.d.ts.map +1 -0
  1482. package/lib/systems/physics/SpeedModifierSystem.js +301 -0
  1483. package/lib/systems/physics/SpeedModifierSystem.js.map +1 -0
  1484. package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts +16 -0
  1485. package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts.map +1 -0
  1486. package/lib/systems/physics/index.d.ts +21 -0
  1487. package/lib/systems/physics/index.d.ts.map +1 -0
  1488. package/lib/systems/physics/index.js +7 -0
  1489. package/lib/systems/player.d.ts +386 -0
  1490. package/lib/systems/player.d.ts.map +1 -0
  1491. package/lib/systems/trigram/KoreanCulture.d.ts +127 -0
  1492. package/lib/systems/trigram/KoreanCulture.d.ts.map +1 -0
  1493. package/lib/systems/trigram/KoreanCulture.js +194 -0
  1494. package/lib/systems/trigram/KoreanCulture.js.map +1 -0
  1495. package/lib/systems/trigram/KoreanTechniques.d.ts +59 -0
  1496. package/lib/systems/trigram/KoreanTechniques.d.ts.map +1 -0
  1497. package/lib/systems/trigram/KoreanTechniques.js +140 -0
  1498. package/lib/systems/trigram/KoreanTechniques.js.map +1 -0
  1499. package/lib/systems/trigram/StanceManager.d.ts +90 -0
  1500. package/lib/systems/trigram/StanceManager.d.ts.map +1 -0
  1501. package/lib/systems/trigram/StanceManager.js +192 -0
  1502. package/lib/systems/trigram/StanceManager.js.map +1 -0
  1503. package/lib/systems/trigram/TransitionCalculator.d.ts +132 -0
  1504. package/lib/systems/trigram/TransitionCalculator.d.ts.map +1 -0
  1505. package/lib/systems/trigram/TransitionCalculator.js +233 -0
  1506. package/lib/systems/trigram/TransitionCalculator.js.map +1 -0
  1507. package/lib/systems/trigram/TrigramCalculator.d.ts +63 -0
  1508. package/lib/systems/trigram/TrigramCalculator.d.ts.map +1 -0
  1509. package/lib/systems/trigram/TrigramCalculator.js +148 -0
  1510. package/lib/systems/trigram/TrigramCalculator.js.map +1 -0
  1511. package/lib/systems/trigram/index.d.ts +12 -0
  1512. package/lib/systems/trigram/index.d.ts.map +1 -0
  1513. package/lib/systems/trigram/index.js +17 -0
  1514. package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts +118 -0
  1515. package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts.map +1 -0
  1516. package/lib/systems/trigram/techniques/DarkOpsTechniques.js +683 -0
  1517. package/lib/systems/trigram/techniques/DarkOpsTechniques.js.map +1 -0
  1518. package/lib/systems/trigram/techniques/GamTechniques.d.ts +44 -0
  1519. package/lib/systems/trigram/techniques/GamTechniques.d.ts.map +1 -0
  1520. package/lib/systems/trigram/techniques/GamTechniques.js +293 -0
  1521. package/lib/systems/trigram/techniques/GamTechniques.js.map +1 -0
  1522. package/lib/systems/trigram/techniques/GanTechniques.d.ts +58 -0
  1523. package/lib/systems/trigram/techniques/GanTechniques.d.ts.map +1 -0
  1524. package/lib/systems/trigram/techniques/GanTechniques.js +323 -0
  1525. package/lib/systems/trigram/techniques/GanTechniques.js.map +1 -0
  1526. package/lib/systems/trigram/techniques/GeonTechniques.d.ts +23 -0
  1527. package/lib/systems/trigram/techniques/GeonTechniques.d.ts.map +1 -0
  1528. package/lib/systems/trigram/techniques/GeonTechniques.js +299 -0
  1529. package/lib/systems/trigram/techniques/GeonTechniques.js.map +1 -0
  1530. package/lib/systems/trigram/techniques/GonTechniques.d.ts +51 -0
  1531. package/lib/systems/trigram/techniques/GonTechniques.d.ts.map +1 -0
  1532. package/lib/systems/trigram/techniques/GonTechniques.js +399 -0
  1533. package/lib/systems/trigram/techniques/GonTechniques.js.map +1 -0
  1534. package/lib/systems/trigram/techniques/JinTechniques.d.ts +23 -0
  1535. package/lib/systems/trigram/techniques/JinTechniques.d.ts.map +1 -0
  1536. package/lib/systems/trigram/techniques/JinTechniques.js +253 -0
  1537. package/lib/systems/trigram/techniques/JinTechniques.js.map +1 -0
  1538. package/lib/systems/trigram/techniques/LiTechniques.d.ts +23 -0
  1539. package/lib/systems/trigram/techniques/LiTechniques.d.ts.map +1 -0
  1540. package/lib/systems/trigram/techniques/LiTechniques.js +253 -0
  1541. package/lib/systems/trigram/techniques/LiTechniques.js.map +1 -0
  1542. package/lib/systems/trigram/techniques/SonTechniques.d.ts +43 -0
  1543. package/lib/systems/trigram/techniques/SonTechniques.d.ts.map +1 -0
  1544. package/lib/systems/trigram/techniques/SonTechniques.js +293 -0
  1545. package/lib/systems/trigram/techniques/SonTechniques.js.map +1 -0
  1546. package/lib/systems/trigram/techniques/TaeTechniques.d.ts +23 -0
  1547. package/lib/systems/trigram/techniques/TaeTechniques.d.ts.map +1 -0
  1548. package/lib/systems/trigram/techniques/TaeTechniques.js +292 -0
  1549. package/lib/systems/trigram/techniques/TaeTechniques.js.map +1 -0
  1550. package/lib/systems/trigram/techniques/TechniqueConfig.d.ts +403 -0
  1551. package/lib/systems/trigram/techniques/TechniqueConfig.d.ts.map +1 -0
  1552. package/lib/systems/trigram/techniques/TechniqueConfig.js +493 -0
  1553. package/lib/systems/trigram/techniques/TechniqueConfig.js.map +1 -0
  1554. package/lib/systems/trigram/techniques/index.d.ts +54 -0
  1555. package/lib/systems/trigram/techniques/index.d.ts.map +1 -0
  1556. package/lib/systems/trigram/techniques/index.js +88 -0
  1557. package/lib/systems/trigram/techniques/index.js.map +1 -0
  1558. package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts +506 -0
  1559. package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts.map +1 -0
  1560. package/lib/systems/trigram/types/GonTechniqueExtensions.js +37 -0
  1561. package/lib/systems/trigram/types/GonTechniqueExtensions.js.map +1 -0
  1562. package/lib/systems/trigram/types.d.ts +288 -0
  1563. package/lib/systems/trigram/types.d.ts.map +1 -0
  1564. package/lib/systems/trigram/types.js +459 -0
  1565. package/lib/systems/trigram/types.js.map +1 -0
  1566. package/lib/systems/types.d.ts +1038 -0
  1567. package/lib/systems/types.d.ts.map +1 -0
  1568. package/lib/systems/types.js +872 -0
  1569. package/lib/systems/types.js.map +1 -0
  1570. package/lib/systems/vitalpoint/DamageCalculator.d.ts +255 -0
  1571. package/lib/systems/vitalpoint/DamageCalculator.d.ts.map +1 -0
  1572. package/lib/systems/vitalpoint/DamageCalculator.js +435 -0
  1573. package/lib/systems/vitalpoint/DamageCalculator.js.map +1 -0
  1574. package/lib/systems/vitalpoint/HitDetection.d.ts +11 -0
  1575. package/lib/systems/vitalpoint/HitDetection.d.ts.map +1 -0
  1576. package/lib/systems/vitalpoint/HitDetection.js +69 -0
  1577. package/lib/systems/vitalpoint/HitDetection.js.map +1 -0
  1578. package/lib/systems/vitalpoint/KoreanAnatomy.d.ts +361 -0
  1579. package/lib/systems/vitalpoint/KoreanAnatomy.d.ts.map +1 -0
  1580. package/lib/systems/vitalpoint/KoreanAnatomy.js +1709 -0
  1581. package/lib/systems/vitalpoint/KoreanAnatomy.js.map +1 -0
  1582. package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts +133 -0
  1583. package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts.map +1 -0
  1584. package/lib/systems/vitalpoint/KoreanVitalPoints.js +150 -0
  1585. package/lib/systems/vitalpoint/KoreanVitalPoints.js.map +1 -0
  1586. package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts +92 -0
  1587. package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts.map +1 -0
  1588. package/lib/systems/vitalpoint/MeridianVitalPointMapping.js +227 -0
  1589. package/lib/systems/vitalpoint/MeridianVitalPointMapping.js.map +1 -0
  1590. package/lib/systems/vitalpoint/VitalPointsData.d.ts +51 -0
  1591. package/lib/systems/vitalpoint/VitalPointsData.d.ts.map +1 -0
  1592. package/lib/systems/vitalpoint/VitalPointsData.js +1917 -0
  1593. package/lib/systems/vitalpoint/VitalPointsData.js.map +1 -0
  1594. package/lib/systems/vitalpoint/index.d.ts +12 -0
  1595. package/lib/systems/vitalpoint/index.d.ts.map +1 -0
  1596. package/lib/systems/vitalpoint/index.js +5 -0
  1597. package/lib/systems/vitalpoint/types.d.ts +417 -0
  1598. package/lib/systems/vitalpoint/types.d.ts.map +1 -0
  1599. package/lib/test/test-utils.d.ts +46 -0
  1600. package/lib/test/test-utils.d.ts.map +1 -0
  1601. package/lib/types/AccessibilityTypes.d.ts +232 -0
  1602. package/lib/types/AccessibilityTypes.d.ts.map +1 -0
  1603. package/lib/types/AccessibilityTypes.js +13 -0
  1604. package/lib/types/AccessibilityTypes.js.map +1 -0
  1605. package/lib/types/HtmlOverlayTypes.d.ts +161 -0
  1606. package/lib/types/HtmlOverlayTypes.d.ts.map +1 -0
  1607. package/lib/types/LayoutTypes.d.ts +330 -0
  1608. package/lib/types/LayoutTypes.d.ts.map +1 -0
  1609. package/lib/types/LayoutTypes.js +118 -0
  1610. package/lib/types/LayoutTypes.js.map +1 -0
  1611. package/lib/types/PhysicsTypes.d.ts +327 -0
  1612. package/lib/types/PhysicsTypes.d.ts.map +1 -0
  1613. package/lib/types/PhysicsTypes.js +105 -0
  1614. package/lib/types/PhysicsTypes.js.map +1 -0
  1615. package/lib/types/ResponsiveTypes.d.ts +210 -0
  1616. package/lib/types/ResponsiveTypes.d.ts.map +1 -0
  1617. package/lib/types/clothing.d.ts +298 -0
  1618. package/lib/types/clothing.d.ts.map +1 -0
  1619. package/lib/types/common.d.ts +1247 -0
  1620. package/lib/types/common.d.ts.map +1 -0
  1621. package/lib/types/common.js +622 -0
  1622. package/lib/types/common.js.map +1 -0
  1623. package/lib/types/constants/animations.d.ts +93 -0
  1624. package/lib/types/constants/animations.d.ts.map +1 -0
  1625. package/lib/types/constants/animations.js +26 -0
  1626. package/lib/types/constants/animations.js.map +1 -0
  1627. package/lib/types/constants/colors.d.ts +151 -0
  1628. package/lib/types/constants/colors.d.ts.map +1 -0
  1629. package/lib/types/constants/colors.js +155 -0
  1630. package/lib/types/constants/colors.js.map +1 -0
  1631. package/lib/types/constants/designSystem.d.ts +469 -0
  1632. package/lib/types/constants/designSystem.d.ts.map +1 -0
  1633. package/lib/types/constants/designSystem.js +406 -0
  1634. package/lib/types/constants/designSystem.js.map +1 -0
  1635. package/lib/types/constants/index.d.ts +181 -0
  1636. package/lib/types/constants/index.d.ts.map +1 -0
  1637. package/lib/types/constants/index.js +176 -0
  1638. package/lib/types/constants/index.js.map +1 -0
  1639. package/lib/types/constants/layout.d.ts +76 -0
  1640. package/lib/types/constants/layout.d.ts.map +1 -0
  1641. package/lib/types/constants/layout.js +37 -0
  1642. package/lib/types/constants/layout.js.map +1 -0
  1643. package/lib/types/constants/performance.d.ts +183 -0
  1644. package/lib/types/constants/performance.d.ts.map +1 -0
  1645. package/lib/types/constants/performance.js +134 -0
  1646. package/lib/types/constants/performance.js.map +1 -0
  1647. package/lib/types/constants/typography.d.ts +85 -0
  1648. package/lib/types/constants/typography.d.ts.map +1 -0
  1649. package/lib/types/constants/typography.js +110 -0
  1650. package/lib/types/constants/typography.js.map +1 -0
  1651. package/lib/types/constants/ui.d.ts +187 -0
  1652. package/lib/types/constants/ui.d.ts.map +1 -0
  1653. package/lib/types/constants/ui.js +113 -0
  1654. package/lib/types/constants/ui.js.map +1 -0
  1655. package/lib/types/facial.d.ts +266 -0
  1656. package/lib/types/facial.d.ts.map +1 -0
  1657. package/lib/types/facial.js +92 -0
  1658. package/lib/types/facial.js.map +1 -0
  1659. package/lib/types/hand-animation.d.ts +370 -0
  1660. package/lib/types/hand-animation.d.ts.map +1 -0
  1661. package/lib/types/hand-animation.js +55 -0
  1662. package/lib/types/hand-animation.js.map +1 -0
  1663. package/lib/types/index.d.ts +14 -0
  1664. package/lib/types/index.d.ts.map +1 -0
  1665. package/lib/types/index.js +112 -0
  1666. package/lib/types/index.js.map +1 -0
  1667. package/lib/types/injury.d.ts +58 -0
  1668. package/lib/types/injury.d.ts.map +1 -0
  1669. package/lib/types/injury.js +23 -0
  1670. package/lib/types/injury.js.map +1 -0
  1671. package/lib/types/muscle.d.ts +146 -0
  1672. package/lib/types/muscle.d.ts.map +1 -0
  1673. package/lib/types/muscle.js +22 -0
  1674. package/lib/types/muscle.js.map +1 -0
  1675. package/lib/types/physics.d.ts +606 -0
  1676. package/lib/types/physics.d.ts.map +1 -0
  1677. package/lib/types/physics.js +162 -0
  1678. package/lib/types/physics.js.map +1 -0
  1679. package/lib/types/physicsConstants.d.ts +270 -0
  1680. package/lib/types/physicsConstants.d.ts.map +1 -0
  1681. package/lib/types/physicsConstants.js +71 -0
  1682. package/lib/types/physicsConstants.js.map +1 -0
  1683. package/lib/types/player-visual.d.ts +299 -0
  1684. package/lib/types/player-visual.d.ts.map +1 -0
  1685. package/lib/types/skeletal.d.ts +693 -0
  1686. package/lib/types/skeletal.d.ts.map +1 -0
  1687. package/lib/types/skeletal.js +189 -0
  1688. package/lib/types/skeletal.js.map +1 -0
  1689. package/lib/types/technique.d.ts +175 -0
  1690. package/lib/types/technique.d.ts.map +1 -0
  1691. package/lib/types/techniqueId.d.ts +51 -0
  1692. package/lib/types/techniqueId.d.ts.map +1 -0
  1693. package/lib/types/techniqueId.js +55 -0
  1694. package/lib/types/techniqueId.js.map +1 -0
  1695. package/lib/utils/EventManager.d.ts +133 -0
  1696. package/lib/utils/EventManager.d.ts.map +1 -0
  1697. package/lib/utils/EventManager.js +1 -0
  1698. package/lib/utils/accessibility.d.ts +218 -0
  1699. package/lib/utils/accessibility.d.ts.map +1 -0
  1700. package/lib/utils/accessibility.js +167 -0
  1701. package/lib/utils/accessibility.js.map +1 -0
  1702. package/lib/utils/arenaWorldDimensions.d.ts +219 -0
  1703. package/lib/utils/arenaWorldDimensions.d.ts.map +1 -0
  1704. package/lib/utils/arenaWorldDimensions.js +154 -0
  1705. package/lib/utils/arenaWorldDimensions.js.map +1 -0
  1706. package/lib/utils/assetConfig.d.ts +39 -0
  1707. package/lib/utils/assetConfig.d.ts.map +1 -0
  1708. package/lib/utils/assetConfig.js +52 -0
  1709. package/lib/utils/assetConfig.js.map +1 -0
  1710. package/lib/utils/cameraShake.d.ts +115 -0
  1711. package/lib/utils/cameraShake.d.ts.map +1 -0
  1712. package/lib/utils/characterScaling.d.ts +305 -0
  1713. package/lib/utils/characterScaling.d.ts.map +1 -0
  1714. package/lib/utils/characterScaling.js +105 -0
  1715. package/lib/utils/characterScaling.js.map +1 -0
  1716. package/lib/utils/clothingColors.d.ts +120 -0
  1717. package/lib/utils/clothingColors.d.ts.map +1 -0
  1718. package/lib/utils/clothingMaterials.d.ts +65 -0
  1719. package/lib/utils/clothingMaterials.d.ts.map +1 -0
  1720. package/lib/utils/colorHelpers.d.ts +67 -0
  1721. package/lib/utils/colorHelpers.d.ts.map +1 -0
  1722. package/lib/utils/colorHelpers.js +81 -0
  1723. package/lib/utils/colorHelpers.js.map +1 -0
  1724. package/lib/utils/colorUtils.d.ts +113 -0
  1725. package/lib/utils/colorUtils.d.ts.map +1 -0
  1726. package/lib/utils/colorUtils.js +225 -0
  1727. package/lib/utils/colorUtils.js.map +1 -0
  1728. package/lib/utils/combatReadiness.d.ts +132 -0
  1729. package/lib/utils/combatReadiness.d.ts.map +1 -0
  1730. package/lib/utils/combatReadiness.js +176 -0
  1731. package/lib/utils/combatReadiness.js.map +1 -0
  1732. package/lib/utils/controlMapping.d.ts +171 -0
  1733. package/lib/utils/controlMapping.d.ts.map +1 -0
  1734. package/lib/utils/controlMapping.js +288 -0
  1735. package/lib/utils/controlMapping.js.map +1 -0
  1736. package/lib/utils/deviceDetection.d.ts +159 -0
  1737. package/lib/utils/deviceDetection.d.ts.map +1 -0
  1738. package/lib/utils/deviceDetection.js +337 -0
  1739. package/lib/utils/deviceDetection.js.map +1 -0
  1740. package/lib/utils/effectUtils.d.ts +63 -0
  1741. package/lib/utils/effectUtils.d.ts.map +1 -0
  1742. package/lib/utils/effectUtils.js +737 -0
  1743. package/lib/utils/effectUtils.js.map +1 -0
  1744. package/lib/utils/eventConstants.d.ts +25 -0
  1745. package/lib/utils/eventConstants.d.ts.map +1 -0
  1746. package/lib/utils/eventConstants.js +3 -0
  1747. package/lib/utils/eventConstants.js.map +1 -0
  1748. package/lib/utils/fabricTextures.d.ts +136 -0
  1749. package/lib/utils/fabricTextures.d.ts.map +1 -0
  1750. package/lib/utils/fabricTextures.js +301 -0
  1751. package/lib/utils/fabricTextures.js.map +1 -0
  1752. package/lib/utils/hapticFeedback.d.ts +224 -0
  1753. package/lib/utils/hapticFeedback.d.ts.map +1 -0
  1754. package/lib/utils/hapticFeedback.js +143 -0
  1755. package/lib/utils/hapticFeedback.js.map +1 -0
  1756. package/lib/utils/haptics.d.ts +139 -0
  1757. package/lib/utils/haptics.d.ts.map +1 -0
  1758. package/lib/utils/haptics.js +66 -0
  1759. package/lib/utils/haptics.js.map +1 -0
  1760. package/lib/utils/htmlOverlayHelpers.d.ts +168 -0
  1761. package/lib/utils/htmlOverlayHelpers.d.ts.map +1 -0
  1762. package/lib/utils/htmlOverlayHelpers.js +279 -0
  1763. package/lib/utils/htmlOverlayHelpers.js.map +1 -0
  1764. package/lib/utils/index.d.ts +15 -0
  1765. package/lib/utils/index.d.ts.map +1 -0
  1766. package/lib/utils/index.js +92 -0
  1767. package/lib/utils/index.js.map +1 -0
  1768. package/lib/utils/inputSystem.d.ts +154 -0
  1769. package/lib/utils/inputSystem.d.ts.map +1 -0
  1770. package/lib/utils/inputSystem.js +324 -0
  1771. package/lib/utils/inputSystem.js.map +1 -0
  1772. package/lib/utils/koreanThemeHelpers.d.ts +328 -0
  1773. package/lib/utils/koreanThemeHelpers.d.ts.map +1 -0
  1774. package/lib/utils/koreanThemeHelpers.js +348 -0
  1775. package/lib/utils/koreanThemeHelpers.js.map +1 -0
  1776. package/lib/utils/math.d.ts +80 -0
  1777. package/lib/utils/math.d.ts.map +1 -0
  1778. package/lib/utils/math.js +70 -0
  1779. package/lib/utils/math.js.map +1 -0
  1780. package/lib/utils/mobileLayoutHelpers.d.ts +52 -0
  1781. package/lib/utils/mobileLayoutHelpers.d.ts.map +1 -0
  1782. package/lib/utils/mobileLayoutHelpers.js +66 -0
  1783. package/lib/utils/mobileLayoutHelpers.js.map +1 -0
  1784. package/lib/utils/mobileUIUtils.d.ts +266 -0
  1785. package/lib/utils/mobileUIUtils.d.ts.map +1 -0
  1786. package/lib/utils/mobileUIUtils.js +33 -0
  1787. package/lib/utils/mobileUIUtils.js.map +1 -0
  1788. package/lib/utils/objectPool.d.ts +92 -0
  1789. package/lib/utils/objectPool.d.ts.map +1 -0
  1790. package/lib/utils/particlePool.d.ts +138 -0
  1791. package/lib/utils/particlePool.d.ts.map +1 -0
  1792. package/lib/utils/performance/PerformanceMonitor.d.ts +93 -0
  1793. package/lib/utils/performance/PerformanceMonitor.d.ts.map +1 -0
  1794. package/lib/utils/performance/PerformanceMonitor.js +155 -0
  1795. package/lib/utils/performance/PerformanceMonitor.js.map +1 -0
  1796. package/lib/utils/performance/PerformanceOverlay3D.d.ts +20 -0
  1797. package/lib/utils/performance/PerformanceOverlay3D.d.ts.map +1 -0
  1798. package/lib/utils/performance/PerformanceOverlay3D.js +200 -0
  1799. package/lib/utils/performance/PerformanceOverlay3D.js.map +1 -0
  1800. package/lib/utils/performance/index.d.ts +12 -0
  1801. package/lib/utils/performance/index.d.ts.map +1 -0
  1802. package/lib/utils/performance/index.js +3 -0
  1803. package/lib/utils/performance/usePerformanceMonitor.d.ts +46 -0
  1804. package/lib/utils/performance/usePerformanceMonitor.d.ts.map +1 -0
  1805. package/lib/utils/performance/usePerformanceMonitor.js +71 -0
  1806. package/lib/utils/performance/usePerformanceMonitor.js.map +1 -0
  1807. package/lib/utils/performanceOptimization.d.ts +142 -0
  1808. package/lib/utils/performanceOptimization.d.ts.map +1 -0
  1809. package/lib/utils/performanceOptimization.js +27 -0
  1810. package/lib/utils/performanceOptimization.js.map +1 -0
  1811. package/lib/utils/physicalAttributeValidation.d.ts +197 -0
  1812. package/lib/utils/physicalAttributeValidation.d.ts.map +1 -0
  1813. package/lib/utils/player3DHelpers.d.ts +82 -0
  1814. package/lib/utils/player3DHelpers.d.ts.map +1 -0
  1815. package/lib/utils/player3DHelpers.js +176 -0
  1816. package/lib/utils/player3DHelpers.js.map +1 -0
  1817. package/lib/utils/playerUtils.d.ts +137 -0
  1818. package/lib/utils/playerUtils.d.ts.map +1 -0
  1819. package/lib/utils/playerUtils.js +296 -0
  1820. package/lib/utils/playerUtils.js.map +1 -0
  1821. package/lib/utils/responsiveLayout.d.ts +207 -0
  1822. package/lib/utils/responsiveLayout.d.ts.map +1 -0
  1823. package/lib/utils/responsiveLayout.js +114 -0
  1824. package/lib/utils/responsiveLayout.js.map +1 -0
  1825. package/lib/utils/responsiveLayoutHelpers.d.ts +156 -0
  1826. package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -0
  1827. package/lib/utils/responsiveLayoutHelpers.js +253 -0
  1828. package/lib/utils/responsiveLayoutHelpers.js.map +1 -0
  1829. package/lib/utils/safeAreaUtils.d.ts +133 -0
  1830. package/lib/utils/safeAreaUtils.d.ts.map +1 -0
  1831. package/lib/utils/safeAreaUtils.js +65 -0
  1832. package/lib/utils/safeAreaUtils.js.map +1 -0
  1833. package/lib/utils/sharedPhysicsConfig.d.ts +125 -0
  1834. package/lib/utils/sharedPhysicsConfig.d.ts.map +1 -0
  1835. package/lib/utils/sharedPhysicsConfig.js +119 -0
  1836. package/lib/utils/sharedPhysicsConfig.js.map +1 -0
  1837. package/lib/utils/skeletonScaling.d.ts +285 -0
  1838. package/lib/utils/skeletonScaling.d.ts.map +1 -0
  1839. package/lib/utils/skeletonScaling.js +46 -0
  1840. package/lib/utils/skeletonScaling.js.map +1 -0
  1841. package/lib/utils/stanceHelpers.d.ts +85 -0
  1842. package/lib/utils/stanceHelpers.d.ts.map +1 -0
  1843. package/lib/utils/stanceHelpers.js +132 -0
  1844. package/lib/utils/stanceHelpers.js.map +1 -0
  1845. package/lib/utils/threeObjectPool.d.ts +323 -0
  1846. package/lib/utils/threeObjectPool.d.ts.map +1 -0
  1847. package/lib/utils/threeObjectPool.js +345 -0
  1848. package/lib/utils/threeObjectPool.js.map +1 -0
  1849. package/lib/utils/visualEffects.d.ts +358 -0
  1850. package/lib/utils/visualEffects.d.ts.map +1 -0
  1851. package/lib/utils/visualEffects.js +423 -0
  1852. package/lib/utils/visualEffects.js.map +1 -0
  1853. package/package.json +222 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrainingScreen3D.js","names":[],"sources":["../../../../src/components/screens/training/TrainingScreen3D.tsx"],"sourcesContent":["/**\n * TrainingScreen3D - Three.js-based training screen\n *\n * Refactored to use consolidated hooks matching CombatScreen architecture.\n * Provides 3D training dummy with vital point targeting and UI overlays.\n *\n * UI Rendering: All HUD elements are rendered in an absolute-positioned div\n * OUTSIDE the Canvas, matching CombatScreen's reliable rendering pattern.\n * This eliminates the need for Html overlays inside Three.js and ensures\n * HUDs appear immediately without waiting for Canvas initialization.\n *\n * Architecture (Consolidated in PR #1394 + Issue #1398):\n * - TrainingLeftHUD: Anatomy controls, guard indicator\n * - TrainingRightHUD: Training stats, mode selector, vital point selection\n * - TrainingTopHUD: Training controls, archetype selector, return button\n * - TrainingBottomHUD: Technique bar, feedback messages, mobile controls\n * - VitalPointOverlayControlsPure: Vital point overlay controls (pure DOM)\n *\n * All UI components render as pure DOM in the HUD overlay div (lines 1230+).\n * NO Html components from @react-three/drei are used inside the Canvas.\n * This ensures clean separation of 3D rendering and UI layers.\n *\n * @korean 훈련화면3D - 훈련 상태 훅을 사용한 리팩토링된 3D 훈련 화면\n */\n\n// UI renders outside Canvas in absolute-positioned div - no Html needed\nimport { Canvas, useFrame } from \"@react-three/fiber\";\nimport { AccelerationUpdater } from \"../../../systems/movement/helpers/AccelerationUpdater\";\nimport {\n isRunningSpeed,\n STEP_DISTANCE_THRESHOLDS,\n} from \"../../../systems/movement/helpers/accelerationUtils\";\nimport {\n Bloom,\n EffectComposer,\n Noise,\n Vignette,\n} from \"@react-three/postprocessing\";\nimport * as THREE from \"three\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useAudio } from \"../../../audio/AudioProvider\";\nimport { useCombatAudio } from \"../../screens/combat/hooks/useCombatAudio\";\nimport { getArchetypePhysicalAttributes } from \"../../../data/archetypePhysicalAttributes\";\nimport { usePlayerAnimation } from \"../../../hooks/usePlayerAnimation\";\nimport { useTechniqueSelection } from \"../../../hooks/useTechniqueSelection\";\nimport { GestureEvent } from \"../../../hooks/useTouchControls\";\nimport { useWebGLContextLossHandler } from \"../../../hooks/useWebGLContextLossHandler\";\nimport { PlayerState } from \"../../../systems\";\nimport {\n AnimationEvents,\n AnimationState,\n AnimationType,\n getAnimationForTechnique,\n} from \"../../../systems/animation\";\nimport { getAnimationForTechniqueOrDefault } from \"../../../systems/animation/core/TechniqueAnimationMapping\";\nimport { physicalReachCalculator } from \"../../../systems/physics\";\nimport {\n MovementType,\n SpeedModifierSystem,\n} from \"../../../systems/physics/SpeedModifierSystem\";\nimport { TRIGRAM_STANCES_ORDER } from \"../../../systems/trigram/types\";\nimport {\n CombatState,\n PlayerArchetype,\n Position,\n Technique,\n TrigramStance,\n} from \"../../../types\";\nimport { getPerformanceSettings } from \"../../../types/constants\";\nimport { getMobileControlsBottom } from \"../../../types/constants/layout\";\nimport { Z_INDEX } from \"../../../types/LayoutTypes\";\nimport { DEFAULT_BODY_RADIUS_METERS } from \"../../../types/physicsConstants\";\nimport { usePlayerMovement } from \"../../../utils/inputSystem\";\nimport { calculateDistance3D } from \"../../../utils/math\";\nimport { createCameraConfig } from \"../../../utils/sharedPhysicsConfig\";\nimport {\n animationStateToPlayerAnimation,\n convertPlayerStateToProps,\n} from \"../../../utils/player3DHelpers\";\nimport { useKoreanTheme } from \"../../shared/base/useKoreanTheme\";\nimport {\n GestureRecognizerPure,\n StanceWheelPure,\n} from \"../../shared/mobile\";\nimport {\n MobileControlsOverlay,\n type ButtonEventType,\n type Direction,\n type DPadEventType,\n} from \"../../shared/mobile/MobileControlsPure\";\nimport {\n Player3DWithTransitions,\n VitalPointMarkers3D,\n type BodyRegionFilter,\n} from \"../../shared/three\";\nimport { StanceChangeIndicator } from \"../../shared/three/indicators/StanceChangeIndicator\";\nimport { CombatArena3D } from \"../../shared/three/scene/CombatArena3D\";\nimport { VitalPointOverlayControlsPure } from \"../../shared/ui/VitalPointOverlayControlsPure\";\nimport AnatomyOverlay3D, {\n type AnatomyLayer,\n} from \"./components/AnatomyOverlay3D\";\nimport FootPlacementMarkers3D from \"./components/FootPlacementMarkers3D\";\nimport HitFeedbackEffect3D from \"./components/HitFeedbackEffect3D\";\nimport type { DifficultyMode } from \"./components/TrainingDummy3D\";\nimport TrainingDummy3D from \"./components/TrainingDummy3D\";\n// HUD Components - Organized UI layout\nimport {\n TrainingBottomHUD,\n TrainingLeftHUD,\n TrainingRightHUD,\n TrainingTopHUD,\n} from \"./components/hud\";\n// Attack movement hook for player forward momentum\nimport { useAttackMovement } from \"./hooks/useAttackMovement\";\nimport useTrainingActions from \"./hooks/useTrainingActions\";\nimport { useTrainingLayout } from \"./hooks/useTrainingLayout\";\nimport useTrainingState from \"./hooks/useTrainingState\";\n\n/**\n * AnimationUpdater - Component that updates player animation at 60fps\n *\n * @korean 훈련애니메이션업데이터 - 60fps로 플레이어 애니메이션을 업데이트하는 컴포넌트\n */\ninterface TrainingAnimationUpdaterProps {\n readonly playerAnimation: ReturnType<typeof usePlayerAnimation>;\n}\n\nconst TrainingAnimationUpdater: React.FC<TrainingAnimationUpdaterProps> = ({\n playerAnimation,\n}) => {\n useFrame((_state, delta) => {\n playerAnimation.update(delta);\n });\n\n return null;\n};\n\n/**\n * Props for the TrainingScreen3D component\n */\nexport interface TrainingScreen3DProps {\n /** Callback to update player state */\n readonly onPlayerUpdate: (updates: Partial<PlayerState>) => void;\n /** Callback when returning to menu */\n readonly onReturnToMenu: () => void;\n /** Canvas width in pixels. Defaults to 1200 */\n readonly width?: number;\n /** Canvas height in pixels. Defaults to 800 */\n readonly height?: number;\n /** Initial archetype from IntroScreen selection. Defaults to MUSA */\n readonly initialArchetype?: PlayerArchetype;\n}\n\n/**\n * TrainingScreen3D Component\n * Three.js-based training screen with 3D dummy and Html UI\n *\n * Uses consolidated hooks for state management matching CombatScreen architecture.\n */\nexport const TrainingScreen3D: React.FC<TrainingScreen3DProps> = ({\n onPlayerUpdate,\n onReturnToMenu,\n width = 1200,\n height = 800,\n initialArchetype = PlayerArchetype.MUSA,\n}) => {\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 1: Core State Management (Hooks)\n // ═══════════════════════════════════════════════════════════════════════════\n\n // UI overlays now render outside Canvas in absolute-positioned div\n // This matches CombatScreen pattern for reliable, immediate rendering\n // No mount delay needed - UI is not dependent on Three.js render loop\n\n // Consolidated training state management (matches useCombatState pattern)\n const { state: trainingState, actions: trainingActions } = useTrainingState();\n\n // Audio context\n const audio = useAudio();\n \n // Combat audio for bone impact sounds\n const { playBoneImpactSound, playAttackSound, playStanceChangeSound } =\n useCombatAudio();\n\n // Responsive detection and layout (using dedicated training layout hook)\n const { trainingAreaBounds, isMobile, screenSize } = useTrainingLayout(\n width,\n height,\n );\n\n // Use Korean theme hook for consistent theming\n const theme = useKoreanTheme({\n variant: \"primary\",\n size: \"md\",\n isMobile,\n });\n\n // Screen size scaling for 4K and large displays\n // Uses SPACING_SCALE_MAP values: mobile=0.5, tablet=0.75, desktop=1.0, large=1.25, xlarge=1.5\n const positionScale = React.useMemo(() => {\n switch (screenSize) {\n case \"mobile\":\n return 1.0; // Mobile already has special handling\n case \"tablet\":\n return 1.0;\n case \"desktop\":\n return 1.0;\n case \"large\":\n return 1.25;\n case \"xlarge\":\n return 1.5; // 4K displays need 1.5x offsets\n default:\n return 1.0;\n }\n }, [screenSize]);\n\n // Training difficulty and vital point configuration\n const difficulty: DifficultyMode = \"normal\";\n const vitalPointCount = 70; // Show all 70 vital points\n\n // Archetype selection for training (allows testing different body types)\n // 원형 선택 - 다양한 체형 테스트 가능\n // Uses initialArchetype from IntroScreen selection, can be changed locally\n const [selectedArchetype, setSelectedArchetype] =\n React.useState<PlayerArchetype>(initialArchetype);\n\n // Vital point overlay state\n const [overlayVisible, setOverlayVisible] = React.useState(false);\n const [severityFilters, setSeverityFilters] = React.useState<\n import(\"../../../types/common\").VitalPointSeverity[]\n >([]);\n const [regionFilter, setRegionFilter] =\n React.useState<BodyRegionFilter>(\"all\");\n const [searchQuery, setSearchQuery] = React.useState(\"\");\n const [showLabels, setShowLabels] = React.useState(true);\n const [animated, setAnimated] = React.useState(true);\n // Use combat-consistent scale (1.2) for better visibility across screens\n const [scale, setScale] = React.useState(1.2);\n\n\n // Track current attack animation for technique-specific animations\n // 기술별 애니메이션을 위한 현재 공격 애니메이션 추적\n const [attackAnimation, setAttackAnimation] = React.useState<\n string | undefined\n >(undefined);\n\n // Keyboard shortcut for toggling overlay (V key only - Ctrl removed)\n React.useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \"v\" || e.key === \"V\") {\n setOverlayVisible((prev) => !prev);\n audio.playSFX(\"menu_select\");\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [audio]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 2: WebGL Context Management\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Track context loss for recovery\n const contextLossCountRef = useRef(0);\n\n // Handle WebGL context loss and restoration (for 3D scene only)\n useWebGLContextLossHandler({\n onContextLost: () => {\n console.warn(\"⚠️ WebGL context lost in TrainingScreen\");\n contextLossCountRef.current += 1;\n },\n onContextRestored: () => {\n console.log(\"✓ WebGL context restored in TrainingScreen\");\n },\n autoRestore: true,\n });\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 2B: Speed Modifier System (matching CombatScreen pattern)\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Speed Modifier System for dynamic movement speed calculations\n const speedModifierSystem = useMemo(() => new SpeedModifierSystem(), []);\n\n // Track speed modifiers for movement (simplified for training - no injuries)\n // Updated dynamically based on acceleration-based running\n const [speedModifiers, setSpeedModifiers] = useState({\n finalSpeed: 6.0, // BASE_WALK_SPEED (6.0 m/s for responsive combat)\n baseSpeed: 6.0,\n finalAcceleration: 12.0, // BASE_ACCELERATION (12.0 m/s² for quick response)\n });\n\n // Track walk/run speeds for acceleration interpolation (archetype-aware)\n const [walkRunSpeeds, setWalkRunSpeeds] = useState({\n walkSpeed: 6.0,\n runSpeed: 10.0,\n });\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 3: Movement & Position Management\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Initial player position in pixel space (left side of arena, centered vertically)\n // Physics-first: initial position in METERS (relative to arena center)\n // 0% from center (centered laterally) creates ~1.2m distance to dummy\n // This allows most kicks to land immediately, punches require 1-2 steps (realistic)\n const initialPositionMeters = useMemo<Position>(\n () => ({\n x: trainingAreaBounds.worldWidthMeters * 0.0, // Centered laterally\n y: 0, // Centered vertically\n }),\n [trainingAreaBounds],\n );\n\n // CRITICAL FIX: Memoize onPositionChange to prevent usePlayerMovement callback recreation\n // Without this, a new function is created every render, causing animation frame cancellation\n const handlePositionChange = useCallback(\n (newPosition: Position) => {\n onPlayerUpdate({ position: newPosition });\n },\n [onPlayerUpdate],\n );\n\n // CRITICAL FIX: Memoize bounds object to prevent usePlayerMovement callback recreation\n // Without this, a new object reference is created every render, causing animation frame cancellation\n const movementBounds = useMemo(\n () => ({\n worldWidthMeters: trainingAreaBounds.worldWidthMeters,\n worldDepthMeters: trainingAreaBounds.worldDepthMeters,\n }),\n [trainingAreaBounds.worldWidthMeters, trainingAreaBounds.worldDepthMeters],\n );\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 3A: Acceleration-Based Running System\n // ═══════════════════════════════════════════════════════════════════════════\n \n // Track continuous movement time for acceleration-based running\n // 가속 기반 달리기를 위한 연속 이동 시간 추적\n const movementTimeRef = useRef(0);\n const lastDirectionRef = useRef<{ x: number; y: number }>({ x: 0, y: 0 });\n \n // Track acceleration-based speed (interpolated between walk and run speeds)\n // This applies archetype speeds and stance modifiers\n const [accelerationBasedSpeed, setAccelerationBasedSpeed] = useState(\n walkRunSpeeds.walkSpeed\n );\n \n // Determine if currently running using utility function with archetype run speed\n const isRunning = isRunningSpeed(accelerationBasedSpeed, walkRunSpeeds.runSpeed);\n\n // Player movement with physics-based acceleration and stance modifiers\n // All positions are in METERS - no pixel conversions\n const { playerPosition, isMoving, velocity } = usePlayerMovement({\n enabled: true, // Always allow movement in training screen\n bounds: movementBounds, // Use memoized bounds object\n onPositionChange: handlePositionChange, // Use memoized callback\n initialPositionMeters,\n // Physics parameters for realistic training movement (always enabled)\n currentStance: TRIGRAM_STANCES_ORDER[trainingState.currentStanceIndex],\n legInjuryFactor: 0, // No injury in training mode\n isRunning, // Use computed acceleration-based running state\n // Use interpolated speed between modifier-aware walk/run speeds\n // This preserves archetype speeds and stance modifiers\n maxSpeedOverride: accelerationBasedSpeed,\n accelerationOverride: speedModifiers.finalAcceleration,\n });\n\n // Physics-first: playerPosition is already in METERS (x = lateral, y = forward/backward)\n // Direct conversion to 3D world coordinates - no pixel math needed\n const player3DPosition = useMemo<[number, number, number]>(() => {\n // playerPosition.x is lateral position in meters (- = left, + = right)\n // playerPosition.y is forward/backward position in meters (- = toward camera, + = away)\n return [playerPosition.x, 0, playerPosition.y];\n }, [playerPosition]);\n\n // Dummy position in meters (right side, creating optimal training distance)\n // Positioned at 15% from center to give ~1.2-1.6m distance depending on archetype\n // Allows kicks to hit from starting position, punches with slight approach\n // Uses world dimensions for physics-consistent positioning\n const dummyPosition = useMemo<[number, number, number]>(\n () => [trainingAreaBounds.worldWidthMeters * 0.15, 0, 0],\n [trainingAreaBounds.worldWidthMeters],\n );\n\n // Calculate center-to-center distance to dummy in meters\n const centerToCenterDistance = useMemo(\n () => calculateDistance3D(player3DPosition, dummyPosition),\n [player3DPosition, dummyPosition],\n );\n\n // Calculate effective distance (adjusted for body radius)\n // Attacks hit the body surface, not the center point\n // Training dummy uses DEFAULT_BODY_RADIUS_METERS since it has no archetype\n // For combat between players, use calculateBodyRadius(targetPhysicalAttributes)\n // 실제 타격거리 = 중심간거리 - 목표체 반경\n const distanceToDummy = useMemo(\n () => Math.max(0, centerToCenterDistance - DEFAULT_BODY_RADIUS_METERS),\n [centerToCenterDistance],\n );\n\n // Track last facing rotation for when movement stops\n const lastFacingRotationRef = useRef<number>(0);\n\n // Calculate rotation: face movement direction when moving, face dummy when idle\n // 이동 중에는 이동 방향을, 정지 시에는 더미를 향함\n const playerRotation = useMemo(() => {\n if (isMoving && velocity && (velocity.x !== 0 || velocity.y !== 0)) {\n // When moving: face the direction of movement\n // velocity.x is lateral (left/right), velocity.y is forward/backward (Z in 3D)\n // Use velocity.y directly (not negated) so down arrow faces correctly\n return Math.atan2(velocity.x, velocity.y);\n } else {\n // When idle: face the dummy (target)\n const dx = dummyPosition[0] - player3DPosition[0];\n const dz = dummyPosition[2] - player3DPosition[2];\n return Math.atan2(dx, dz);\n }\n }, [isMoving, velocity, player3DPosition, dummyPosition]);\n\n // Update ref in effect to avoid updating during render\n useEffect(() => {\n lastFacingRotationRef.current = playerRotation;\n }, [playerRotation]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 3B: Foot Laterality Alternation (발바닥 교대)\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Track current laterality (which foot is forward)\n // Alternates with each step during walking/running for realistic footwork\n // 왼발서기 (left) ↔ 오른발서기 (right)\n const [currentLaterality, setCurrentLaterality] = useState<\"left\" | \"right\">(\"right\");\n \n // Track step counter for alternating feet\n const stepCounterRef = useRef(0);\n const lastPositionRef = useRef<Position>(playerPosition);\n \n // Alternate laterality based on movement distance\n useEffect(() => {\n if (!isMoving) {\n // Reset step counter when not moving and sync last position\n stepCounterRef.current = 0;\n lastPositionRef.current = playerPosition;\n return;\n }\n\n // Calculate distance traveled since last check\n const dx = playerPosition.x - lastPositionRef.current.x;\n const dy = playerPosition.y - lastPositionRef.current.y;\n const distanceMoved = Math.sqrt(dx * dx + dy * dy);\n \n // Accumulate distance into step counter\n const stepThreshold = isRunning \n ? STEP_DISTANCE_THRESHOLDS.RUN \n : STEP_DISTANCE_THRESHOLDS.WALK;\n stepCounterRef.current += distanceMoved;\n \n // Determine how many step thresholds were crossed in this update\n const stepsCrossed = Math.floor(stepCounterRef.current / stepThreshold);\n if (stepsCrossed > 0) {\n // Net laterality change depends on whether the number of steps is odd or even\n // Odd steps = toggle once, even steps = no net change\n if (stepsCrossed % 2 === 1) {\n setCurrentLaterality(prev => prev === \"right\" ? \"left\" : \"right\");\n }\n // Preserve remainder distance after accounting for full steps\n stepCounterRef.current -= stepsCrossed * stepThreshold;\n }\n \n // Update last position\n lastPositionRef.current = playerPosition;\n }, [playerPosition, isMoving, isRunning]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 4: Player Animation State Machine\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Reference for pending attack (executed at animation frame 6)\n // Includes animationType and startTime for distance-based hit detection\n // matching CombatSystem behavior\n const pendingAttackRef = useRef<{\n accuracy: number;\n vitalPoint: string;\n animationType?: AnimationType;\n startTime?: number;\n techniqueId?: string;\n } | null>(null);\n\n // Forward ref for handleDummyHit (defined in actions hook)\n const handleDummyHitRef = useRef<\n (\n vitalPointId: string,\n attackContext?: {\n animationType?: AnimationType;\n techniqueId?: string;\n },\n ) => boolean\n >(() => false);\n\n // Ref for playerAnimation to avoid circular dependencies in animation events\n const playerAnimationRef = useRef<ReturnType<\n typeof usePlayerAnimation\n > | null>(null);\n\n // Player animation events (matches CombatScreen pattern)\n const playerAnimationEvents = useMemo<AnimationEvents>(\n () => ({\n onFrame: (frame, state) => {\n // Execute attack at midpoint of animation (frame 6 of 12)\n if (state === \"attack\" && frame === 6 && pendingAttackRef.current) {\n const attackData = pendingAttackRef.current;\n // Pass attack context to handleDummyHit before clearing the ref\n // This ensures animationType and techniqueId are available for reach calculation\n handleDummyHitRef.current(attackData.vitalPoint, {\n animationType: attackData.animationType,\n techniqueId: attackData.techniqueId,\n });\n pendingAttackRef.current = null;\n }\n },\n onAnimationComplete: (state) => {\n if (state === \"stance_change\") {\n // Stance change animation completed - transition to stance guard\n // 자세 변경 완료 - 자세 가드로 전환\n playStanceChangeSound();\n const currentStance =\n TRIGRAM_STANCES_ORDER[trainingState.currentStanceIndex];\n if (currentStance && playerAnimationRef.current) {\n playerAnimationRef.current.transitionToStanceGuard(currentStance);\n }\n }\n },\n }),\n [playStanceChangeSound, trainingState.currentStanceIndex],\n );\n\n const playerAnimation = usePlayerAnimation({\n events: playerAnimationEvents,\n });\n\n // Store animation ref for use in event callbacks\n useEffect(() => {\n playerAnimationRef.current = playerAnimation;\n }, [playerAnimation]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 5: Training Actions (Hook-based)\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Get current stance for animation transitions (needed before useTrainingActions)\n // 현재 자세 (애니메이션 전환용)\n const currentStance = useMemo(\n () => TRIGRAM_STANCES_ORDER[trainingState.currentStanceIndex],\n [trainingState.currentStanceIndex],\n );\n\n // Track previous stance for visual feedback (StanceChangeIndicator)\n // 이전 자세 추적 - 자세 변경 표시기 시각적 피드백용\n const [previousStanceIndex, setPreviousStanceIndex] = useState<number>(0);\n\n // Ref to track current technique's animation type (updated by technique selection)\n // This allows useTrainingActions to access the current technique's animation type\n // without creating circular dependencies\n const currentTechniqueAnimationTypeRef = useRef<AnimationType>(\n AnimationType.JAB,\n );\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 7: Training Player State (Visual Display)\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Training player state for visualization\n const trainingPlayerState = useMemo<PlayerState>(() => {\n return {\n id: \"training-player\",\n name: { korean: \"훈련생\", english: \"Trainee\" },\n archetype: selectedArchetype,\n health: 100,\n maxHealth: 100,\n ki: 100,\n maxKi: 100,\n stamina: 100,\n maxStamina: 100,\n energy: 100,\n maxEnergy: 100,\n attackPower: 10,\n defense: 10,\n speed: 10,\n technique: 10,\n pain: 0,\n consciousness: 100,\n balance: 100,\n momentum: 0,\n currentStance: TRIGRAM_STANCES_ORDER[trainingState.currentStanceIndex],\n combatState: CombatState.IDLE,\n position: playerPosition,\n isBlocking: false,\n isStunned: false,\n isCountering: false,\n lastActionTime: 0,\n recoveryTime: 0,\n lastStanceChangeTime: 0,\n statusEffects: [],\n activeEffects: [],\n vitalPoints: [],\n totalDamageReceived: 0,\n totalDamageDealt: 0,\n hitsTaken: 0,\n hitsLanded: trainingState.stats.hits,\n perfectStrikes: trainingState.perfectStrikes,\n vitalPointHits: 0,\n misses: trainingState.stats.misses,\n accuracy: trainingState.stats.accuracy,\n comboCount: trainingState.stats.combo,\n };\n }, [playerPosition, trainingState, selectedArchetype]);\n\n // Calculate speed modifiers when player state changes\n // Updates at 5Hz (every 200ms) matching CombatScreen pattern\n // Get both walk and run speeds for acceleration interpolation\n useEffect(() => {\n const updateSpeedModifiers = () => {\n // Calculate modifiers for both walking and running to get archetype-aware speeds\n const walkModifiers = speedModifierSystem.calculateSpeedModifiers(\n trainingPlayerState,\n MovementType.WALKING,\n false, // isCrouching\n );\n\n const runModifiers = speedModifierSystem.calculateSpeedModifiers(\n trainingPlayerState,\n MovementType.RUNNING,\n false, // isCrouching\n );\n\n setSpeedModifiers({\n finalSpeed: walkModifiers.finalSpeed,\n baseSpeed: walkModifiers.baseSpeed,\n finalAcceleration: walkModifiers.finalAcceleration,\n });\n\n // Store walk/run speeds for acceleration interpolation\n // These account for archetype speeds and stance modifiers\n setWalkRunSpeeds({\n walkSpeed: walkModifiers.finalSpeed,\n runSpeed: runModifiers.finalSpeed,\n });\n };\n\n // Initial calculation\n updateSpeedModifiers();\n\n // Update every 200ms (5Hz) for responsive feedback without excessive re-renders\n const intervalId = setInterval(updateSpeedModifiers, 200);\n\n return () => clearInterval(intervalId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [trainingPlayerState]); // speedModifierSystem is memoized and never changes\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 5: Player Attack Movement (Forward Momentum)\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Determine if player is currently attacking based on animation state\n const isPlayerAttacking = useMemo(\n () => playerAnimation?.currentState === \"attack\",\n [playerAnimation],\n );\n\n // Calculate attack direction (toward dummy)\n // Note: Direction is calculated on every position change to ensure attacks\n // always target the current dummy position, even if the player is moving.\n // This is intentional for responsive gameplay where attacks can be initiated mid-movement.\n const attackDirection = useMemo(() => {\n // Only calculate if attacking to avoid unnecessary work\n if (!isPlayerAttacking) {\n return new THREE.Vector3(0, 0, 1); // Default forward direction\n }\n const dx = dummyPosition[0] - player3DPosition[0];\n const dz = dummyPosition[2] - player3DPosition[2];\n return new THREE.Vector3(dx, 0, dz).normalize();\n }, [dummyPosition, player3DPosition, isPlayerAttacking]);\n\n // Apply attack movement physics to player position\n // Note: currentTechniqueAnimationTypeRef.current is intentionally a ref to avoid\n // unnecessary re-renders. The animation type is read at attack start (in useAttackMovement's\n // internal effect) and doesn't need to be reactive. It's always set before isPlayerAttacking\n // becomes true via the handleAttack action.\n const {\n currentPosition: player3DPositionWithAttackMovement,\n } = useAttackMovement({\n isAttacking: isPlayerAttacking,\n animationType: currentTechniqueAnimationTypeRef.current,\n currentStance: trainingPlayerState.currentStance,\n basePosition: player3DPosition,\n attackDirection,\n animationDuration: 0.4,\n });\n\n // Use position with attack movement for rendering\n const finalPlayer3DPosition = isPlayerAttacking\n ? player3DPositionWithAttackMovement\n : player3DPosition;\n\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Ref to store handleAttack for use in useTechniqueSelection callback\n // This breaks circular dependency between useTechniqueSelection and useTrainingActions\n const handleAttackRef = useRef<(() => void) | null>(null);\n\n // Technique selection and execution for training\n // Moved before useTrainingActions to provide selectedTechniqueId\n const techniqueSelection = useTechniqueSelection({\n player: trainingPlayerState,\n enabled: trainingState.isTraining,\n onTechniqueExecute: useCallback(\n (technique: Technique) => {\n // Show technique usage feedback\n trainingActions.setFeedback(\n `${technique.name.korean} 사용! | Used ${technique.name.english}!`,\n );\n\n // Set attack animation based on technique\n // 기술에 따른 공격 애니메이션 설정\n const animationName = getAnimationForTechnique(\n technique.name.english || technique.id,\n );\n setAttackAnimation(animationName);\n\n // In training mode, do not deduct resources to allow continuous practice\n // Resources are displayed for educational purposes only\n\n // Execute attack with technique (visual feedback)\n // Use ref to avoid circular dependency\n handleAttackRef.current?.();\n },\n [trainingActions],\n ),\n });\n\n // Derive selected technique ID for intensity-based attack sounds\n const selectedTechniqueId = useMemo(() => {\n const techniques = techniqueSelection.availableTechniques;\n const selectedIdx = techniqueSelection.selectedIndex;\n if (techniques.length === 0 || selectedIdx < 0 || selectedIdx >= techniques.length) {\n return undefined;\n }\n return techniques[selectedIdx]?.id;\n }, [techniqueSelection.availableTechniques, techniqueSelection.selectedIndex]);\n\n // Training actions hook (matches useCombatActions pattern)\n const {\n handleStartTraining,\n handleStopTraining,\n handleDummyHit,\n handleDummyDefeated,\n handleStanceChange,\n handleAttack,\n } = useTrainingActions({\n state: trainingState,\n actions: trainingActions,\n playerPosition,\n player3DPosition,\n dummyPosition,\n playerArchetype: selectedArchetype,\n playerStance: currentStance,\n currentTechniqueAnimationTypeRef, // Ref for technique's animation type\n audio,\n playBoneImpactSound, // Pass bone impact audio function from useCombatAudio\n playAttackSound, // Pass attack sound function from useCombatAudio\n selectedTechniqueId, // Pass selected technique ID for intensity-based attack sounds\n onPlayerUpdate: (updates) => {\n onPlayerUpdate(updates);\n },\n playerAnimation: {\n transitionTo: playerAnimation.transitionTo,\n transitionToStanceGuard: playerAnimation.transitionToStanceGuard,\n currentState: playerAnimation.currentState,\n },\n pendingAttackRef, // Share the ref with animation events\n });\n\n // Update handleAttack ref for useTechniqueSelection callback\n useEffect(() => {\n handleAttackRef.current = handleAttack;\n }, [handleAttack]);\n\n // Update the ref so animation events can call handleDummyHit\n useEffect(() => {\n handleDummyHitRef.current = handleDummyHit;\n }, [handleDummyHit]);\n\n // Wrapped stance change handler with visual feedback tracking\n // 시각적 피드백 추적을 포함한 자세 변경 핸들러 래퍼\n const handleStanceChangeWithVisualFeedback = useCallback(\n (stanceIndex: number) => {\n // Capture previous stance before the change for visual indicator\n setPreviousStanceIndex(trainingState.currentStanceIndex);\n // Execute the actual stance change\n handleStanceChange(stanceIndex);\n },\n [handleStanceChange, trainingState.currentStanceIndex],\n );\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 6: Movement-Animation Synchronization\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Sync movement with animation (matches CombatScreen pattern)\n const prevIsMovingRef = useRef<boolean>(isMoving);\n const prevIsRunningRef = useRef<boolean>(isRunning);\n const prevStanceRef = useRef<TrigramStance>(currentStance);\n \n useEffect(() => {\n const isMovingChanged = prevIsMovingRef.current !== isMoving;\n const isRunningChanged = prevIsRunningRef.current !== isRunning;\n const stanceChanged = prevStanceRef.current !== currentStance;\n \n if (isMovingChanged || isRunningChanged) {\n if (isMoving) {\n // Transition to running or walking animation based on state\n if (isRunning) {\n playerAnimation.transitionTo(AnimationState.RUN);\n } else {\n playerAnimation.transitionTo(AnimationState.WALK);\n }\n } else if (playerAnimation.currentState === AnimationState.WALK || \n playerAnimation.currentState === AnimationState.RUN) {\n // When stopping movement, transition to stance-specific guard animation\n // 이동 중지 시 자세별 가드 애니메이션으로 전환\n playerAnimation.transitionToStanceGuard(currentStance);\n }\n prevIsMovingRef.current = isMoving;\n prevIsRunningRef.current = isRunning;\n }\n \n // Update idle/guard animation when stance changes\n if (stanceChanged && !isMoving) {\n // If idle, update to new stance guard\n if (playerAnimation.currentState === AnimationState.IDLE || \n playerAnimation.isInStanceGuard()) {\n playerAnimation.transitionToStanceGuard(currentStance);\n }\n prevStanceRef.current = currentStance;\n }\n }, [isMoving, isRunning, currentStance, playerAnimation]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 7B: Technique Selection System (Moved earlier - see before useTrainingActions)\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Convert cooldowns to Map for TechniqueBar\n const cooldownsMap = useMemo(() => {\n const map = new Map<string, number>();\n techniqueSelection.activeCooldowns.forEach((cd) => {\n map.set(cd.techniqueId, cd.remaining);\n });\n return map;\n }, [techniqueSelection.activeCooldowns]);\n\n // Calculate effective reach based on selected technique (matches CombatSystem)\n // 선택된 기술에 따른 유효 사정거리 계산 (전투 시스템과 동일)\n const { currentTechniqueReach, currentAnimationType } = useMemo(() => {\n const techniques = techniqueSelection.availableTechniques;\n const selectedIdx = techniqueSelection.selectedIndex;\n if (techniques.length === 0) {\n return {\n currentTechniqueReach: 0.7,\n currentAnimationType: AnimationType.JAB,\n };\n }\n const currentTechnique =\n techniques[Math.min(selectedIdx, techniques.length - 1)];\n if (!currentTechnique) {\n return {\n currentTechniqueReach: 0.7,\n currentAnimationType: AnimationType.JAB,\n };\n }\n // Get animation type from technique ID\n const animConfig = getAnimationForTechniqueOrDefault(currentTechnique.id);\n // Calculate max reach using physical attributes and stance\n const physicalAttributes =\n getArchetypePhysicalAttributes(selectedArchetype);\n const reach = physicalReachCalculator.calculateMaxReach(\n physicalAttributes,\n animConfig.type,\n currentStance,\n );\n return {\n currentTechniqueReach: reach,\n currentAnimationType: animConfig.type,\n };\n }, [\n techniqueSelection.availableTechniques,\n techniqueSelection.selectedIndex,\n selectedArchetype,\n currentStance,\n ]);\n\n // Update the animation type ref in an effect (not during render)\n // 렌더링 중이 아닌 effect에서 ref 업데이트\n useEffect(() => {\n currentTechniqueAnimationTypeRef.current = currentAnimationType;\n }, [currentAnimationType]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 8: Mobile Touch Controls\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Reference for tracking active mobile movement key (prevents stuck keys)\n const activeMobileKeyRef = useRef<string | null>(null);\n\n // Enable mobile controls always in training (allow movement even before starting training)\n const mobileControlsEnabled = isMobile;\n\n // Mobile D-pad movement handler (matches CombatScreen implementation)\n const handleMobileMove = useCallback(\n (direction: Direction | null, eventType: DPadEventType) => {\n // Map D-pad directions to movement keys (WASD)\n const directionMap: Record<Direction, string> = {\n up: \"w\",\n \"up-right\": \"w\",\n right: \"d\",\n \"down-right\": \"s\",\n down: \"s\",\n \"down-left\": \"s\",\n left: \"a\",\n \"up-left\": \"w\",\n };\n\n if (eventType === \"start\" && direction) {\n // Release previous key if different (prevents stuck keys)\n if (\n activeMobileKeyRef.current &&\n activeMobileKeyRef.current !== directionMap[direction]\n ) {\n const prevKey = activeMobileKeyRef.current;\n window.dispatchEvent(\n new KeyboardEvent(\"keyup\", {\n key: prevKey,\n code: `Key${prevKey.toUpperCase()}`,\n bubbles: true,\n cancelable: true,\n }),\n );\n }\n\n // Press new key with proper keyboard event properties\n const key = directionMap[direction];\n activeMobileKeyRef.current = key;\n window.dispatchEvent(\n new KeyboardEvent(\"keydown\", {\n key,\n code: `Key${key.toUpperCase()}`,\n bubbles: true,\n cancelable: true,\n }),\n );\n } else if (eventType === \"end\") {\n // Release active key when D-pad released\n if (activeMobileKeyRef.current) {\n const key = activeMobileKeyRef.current;\n window.dispatchEvent(\n new KeyboardEvent(\"keyup\", {\n key,\n code: `Key${key.toUpperCase()}`,\n bubbles: true,\n cancelable: true,\n }),\n );\n activeMobileKeyRef.current = null;\n }\n }\n },\n [],\n );\n\n // Mobile attack handler - uses the same handleAttack from training actions\n const handleMobileAttack = useCallback(() => {\n handleAttack();\n }, [handleAttack]);\n\n // Mobile block handler\n const handleMobileBlock = useCallback(\n (eventType: ButtonEventType) => {\n if (eventType === \"start\") {\n audio.playSFX(\"block\");\n }\n },\n [audio],\n );\n\n // Mobile gesture handler\n const handleMobileGesture = useCallback(\n (gesture: GestureEvent) => {\n switch (gesture.type) {\n case \"swipe-right\":\n window.dispatchEvent(new KeyboardEvent(\"keydown\", { key: \"d\" }));\n break;\n case \"swipe-left\":\n window.dispatchEvent(new KeyboardEvent(\"keydown\", { key: \"a\" }));\n break;\n case \"swipe-up\":\n if (trainingState.isTraining) {\n window.dispatchEvent(new KeyboardEvent(\"keydown\", { key: \" \" }));\n }\n break;\n case \"swipe-down\":\n trainingActions.resetDummy();\n break;\n case \"two-finger-tap\":\n trainingActions.setTrainingMode(\n trainingState.trainingMode === \"vital_point\"\n ? \"basics\"\n : \"vital_point\",\n );\n audio.playSFX(\"menu_select\");\n break;\n }\n },\n [trainingState, trainingActions, audio],\n );\n\n // Mobile stance change handler\n const handleMobileStanceChange = useCallback(\n (stanceIndex: number) => {\n handleStanceChangeWithVisualFeedback(stanceIndex);\n },\n [handleStanceChangeWithVisualFeedback],\n );\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 9: Keyboard Input Handling\n // ═══════════════════════════════════════════════════════════════════════════\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n const key = event.key.toLowerCase();\n\n // ESC key - return to menu\n if (key === \"escape\") {\n onReturnToMenu();\n return;\n }\n\n // Handle stance changes (1-8) - always available for exploration\n if (key >= \"1\" && key <= \"8\") {\n const stanceIndex = parseInt(key) - 1;\n handleStanceChangeWithVisualFeedback(stanceIndex);\n event.preventDefault();\n return;\n }\n\n // Handle attacks (Space key) - always available for exploration\n if (key === \" \") {\n handleAttack();\n event.preventDefault();\n return;\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [onReturnToMenu, handleStanceChangeWithVisualFeedback, handleAttack]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 10: Audio Lifecycle Management & Auto-Start Training\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Track if component has mounted to enable auto-start once\n const hasMountedRef = useRef(false);\n\n useEffect(() => {\n let audioStarted = false;\n\n const startMusic = async () => {\n try {\n // Start training music with a smooth 2s fade-in for better UX\n await audio.fadeIn(\"cyberpunk_fusion\", 2000);\n audioStarted = true;\n } catch (err) {\n console.warn(\"Failed to start training music:\", err);\n trainingActions.setFeedback(\n \"오디오 초기화 실패 | Audio initialization failed\",\n );\n }\n };\n\n void startMusic();\n\n return () => {\n if (audioStarted) {\n void audio\n .fadeOut(2000)\n .then(() => audio.stopMusic())\n .catch((err) => console.warn(\"Failed to stop training music:\", err));\n }\n };\n }, [audio, trainingActions]);\n\n // Auto-start training on mount (only once) - separate effect to avoid re-runs\n useEffect(() => {\n if (!hasMountedRef.current) {\n hasMountedRef.current = true;\n handleStartTraining();\n }\n }, [handleStartTraining]);\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 11: Feedback & Session Timer Effects\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Hide feedback after delay - 1500ms provides adequate time for bilingual text readability\n // IMPORTANT: We depend on BOTH showFeedback AND feedback message so the timer resets\n // when a new message arrives (even if showFeedback was already true)\n useEffect(() => {\n if (trainingState.showFeedback) {\n const timer = setTimeout(() => trainingActions.hideFeedback(), 1500);\n return () => clearTimeout(timer);\n }\n }, [trainingState.showFeedback, trainingState.feedback, trainingActions]);\n\n // Update session duration\n useEffect(() => {\n if (!trainingState.isTraining || !trainingState.sessionStartTime) return;\n\n const interval = setInterval(() => {\n trainingActions.updateSessionDuration(\n Math.floor((Date.now() - (trainingState.sessionStartTime ?? 0)) / 1000),\n );\n }, 1000);\n\n return () => clearInterval(interval);\n }, [\n trainingState.isTraining,\n trainingState.sessionStartTime,\n trainingActions,\n ]);\n\n // Auto-restart training when mode changes\n const prevTrainingModeRef = useRef<typeof trainingState.trainingMode>(\n trainingState.trainingMode,\n );\n const isFirstModeEffectRef = useRef<boolean>(true);\n const isTrainingRef = useRef<boolean>(trainingState.isTraining);\n const modeChangeTimerRef = useRef<NodeJS.Timeout | null>(null);\n\n // Keep a ref in sync with the latest training state for use inside timeouts\n useEffect(() => {\n isTrainingRef.current = trainingState.isTraining;\n }, [trainingState.isTraining]);\n\n // Store callbacks in refs to avoid effect re-runs when they change\n const handleStartTrainingRef = useRef(handleStartTraining);\n const handleStopTrainingRef = useRef(handleStopTraining);\n\n useEffect(() => {\n handleStartTrainingRef.current = handleStartTraining;\n handleStopTrainingRef.current = handleStopTraining;\n }, [handleStartTraining, handleStopTraining]);\n\n useEffect(() => {\n // Explicitly skip the first execution on initial mount\n if (isFirstModeEffectRef.current) {\n isFirstModeEffectRef.current = false;\n prevTrainingModeRef.current = trainingState.trainingMode;\n return;\n }\n\n const previousMode = prevTrainingModeRef.current;\n const modeChanged = previousMode !== trainingState.trainingMode;\n\n if (!modeChanged) {\n return;\n }\n\n // Update previous mode only when an actual change is detected\n prevTrainingModeRef.current = trainingState.trainingMode;\n\n // Clear any existing timer to prevent stale callbacks\n if (modeChangeTimerRef.current) {\n clearTimeout(modeChangeTimerRef.current);\n modeChangeTimerRef.current = null;\n }\n\n // Restart training on mode change (matches UI message \"Auto-restarts on mode change\")\n if (isTrainingRef.current) {\n handleStopTrainingRef.current();\n }\n\n // Small delay to allow state to settle, then (re)start training unconditionally\n modeChangeTimerRef.current = setTimeout(() => {\n handleStartTrainingRef.current();\n modeChangeTimerRef.current = null;\n }, 100);\n\n return () => {\n if (modeChangeTimerRef.current) {\n clearTimeout(modeChangeTimerRef.current);\n modeChangeTimerRef.current = null;\n }\n };\n }, [trainingState.trainingMode]); // Only depend on training mode to avoid unnecessary re-runs\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 12: Hit Effect Management\n // ═══════════════════════════════════════════════════════════════════════════\n\n const handleEffectComplete = useCallback(\n (effectId: number) => {\n trainingActions.removeHitEffect(effectId);\n },\n [trainingActions],\n );\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 13: Anatomy Layer Toggle\n // ═══════════════════════════════════════════════════════════════════════════\n\n const handleAnatomyLayerToggle = useCallback(\n (layer: AnatomyLayer) => {\n trainingActions.toggleAnatomyLayer(layer);\n audio.playSFX(\"menu_click\");\n },\n [trainingActions, audio],\n );\n\n const handleVitalPointClick = useCallback(\n (pointId: string) => {\n trainingActions.setSelectedVitalPoint(pointId);\n audio.playSFX(\"menu_select\");\n },\n [trainingActions, audio],\n );\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 14: Camera Configuration\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Use shared physics config for consistent camera setup across screens\n // Mobile: tighter FOV and closer camera for better framing\n // Desktop: wider FOV and further camera for full view\n const cameraConfig = useMemo(\n () => createCameraConfig(isMobile),\n [isMobile],\n );\n\n // ═══════════════════════════════════════════════════════════════════════════\n // SECTION 15: RENDER\n // ═══════════════════════════════════════════════════════════════════════════\n\n // Performance settings based on device tier\n const performanceSettings = useMemo(() => {\n return getPerformanceSettings(width, isMobile);\n }, [width, isMobile]);\n\n // SSAO removed - was causing WebGL context loss without NormalPass\n\n return (\n <div\n style={{\n width: `${width}px`,\n height: `${height}px`,\n position: \"relative\",\n overflow: \"hidden\", // Prevent content from extending beyond container\n }}\n data-testid=\"training-screen-3d\"\n >\n <Canvas\n style={{ width: `${width}px`, height: `${height}px` }}\n gl={{\n antialias: performanceSettings.antialias,\n alpha: false,\n powerPreference: \"high-performance\",\n failIfMajorPerformanceCaveat: false, // Don't fail in software renderer\n preserveDrawingBuffer: true, // Help with context stability\n }}\n dpr={performanceSettings.dpr}\n shadows={false} // Temporarily disable shadows\n onCreated={({ gl }) => {\n gl.setClearColor(theme.colors.UI_BACKGROUND_DARK, 1);\n // Disable fog temporarily for debugging\n }}\n camera={cameraConfig}\n >\n {/* Lighting - base lighting, arena provides additional */}\n <ambientLight intensity={0.6} />\n <directionalLight position={[10, 10, 5]} intensity={1.2} />\n\n {/* Combat Arena 3D Environment - uses physics-based world dimensions */}\n <CombatArena3D\n lighting=\"cyberpunk\"\n scale={trainingAreaBounds.scale}\n worldWidthMeters={trainingAreaBounds.worldWidthMeters}\n worldDepthMeters={trainingAreaBounds.worldDepthMeters}\n />\n\n {/* Animation updater - 60fps updates */}\n <TrainingAnimationUpdater playerAnimation={playerAnimation} />\n\n {/* Acceleration updater - tracks movement time and updates speed */}\n <AccelerationUpdater\n isMoving={isMoving}\n velocity={velocity}\n movementTimeRef={movementTimeRef}\n lastDirectionRef={lastDirectionRef}\n onSpeedUpdate={setAccelerationBasedSpeed}\n walkSpeed={walkRunSpeeds.walkSpeed}\n runSpeed={walkRunSpeeds.runSpeed}\n />\n\n {/* Training dummy at fixed position */}\n <TrainingDummy3D\n position={dummyPosition}\n selectedVitalPoint={trainingState.selectedVitalPoint}\n isTraining={trainingState.isTraining}\n health={trainingState.dummyHealth}\n onVitalPointHit={handleDummyHit}\n onDefeated={handleDummyDefeated}\n difficulty={difficulty}\n vitalPointCount={vitalPointCount}\n isMobile={isMobile}\n />\n\n {/* Anatomy overlay for educational visualization */}\n {trainingState.visibleAnatomyLayers.length > 0 && (\n <AnatomyOverlay3D\n position={dummyPosition}\n visibleLayers={trainingState.visibleAnatomyLayers}\n opacity={0.6}\n isMobile={isMobile}\n />\n )}\n\n {/* Vital Point Overlay - Show all 70 points on dummy */}\n {overlayVisible && (\n <VitalPointMarkers3D\n position={dummyPosition}\n visible={overlayVisible}\n severityFilter={severityFilters}\n regionFilter={regionFilter}\n searchQuery={searchQuery}\n showLabels={showLabels}\n scale={scale}\n animated={animated}\n selectedPoint={trainingState.selectedVitalPoint}\n onPointClick={handleVitalPointClick}\n />\n )}\n\n {/* Player model */}\n <Player3DWithTransitions\n {...convertPlayerStateToProps(\n trainingPlayerState,\n finalPlayer3DPosition,\n playerRotation,\n {\n isMobile,\n facing: \"right\",\n enableFacialExpressions: true,\n enableEyeTracking: true,\n opponentPosition: dummyPosition,\n },\n )}\n currentAnimation={animationStateToPlayerAnimation(\n playerAnimation.currentState,\n )}\n attackAnimation={attackAnimation}\n laterality={currentLaterality}\n enableTransitionEffects={!isMobile}\n enableStanceSymbol={true}\n enableStanceAudio={true}\n />\n\n {/* Foot Placement Markers for Footwork Drills */}\n {trainingState.trainingMode === \"footwork\" &&\n trainingState.footworkDrillActive && (\n <FootPlacementMarkers3D\n centerPosition={dummyPosition}\n pattern={\n trainingState.footworkDrillType === \"free_practice\"\n ? \"none\"\n : trainingState.footworkDrillType\n }\n currentStep={trainingState.footworkDrillStep}\n visible={true}\n scale={1.0}\n animated={true}\n />\n )}\n\n {/* Hit effects */}\n {trainingState.hitEffects.map((effect) => (\n <HitFeedbackEffect3D\n key={effect.id}\n position={effect.position}\n type={effect.type}\n damage={effect.damage}\n visible={effect.visible}\n onComplete={() => handleEffectComplete(effect.id)}\n isMobile={isMobile}\n />\n ))}\n\n {/* Stance Change Visual Indicator */}\n <StanceChangeIndicator\n currentStance={trainingState.currentStanceIndex}\n previousStance={previousStanceIndex}\n isMobile={isMobile}\n />\n\n {/* NOTE: Mobile controls moved OUTSIDE Canvas for reliable touch events */}\n {/* See MobileControlsPure component rendered after HUDs */}\n\n {/* Post-processing Effects - lightweight only */}\n {isMobile ? (\n <EffectComposer multisampling={0}>\n <Bloom\n luminanceThreshold={0.9}\n luminanceSmoothing={0.9}\n mipmapBlur\n intensity={0.8}\n radius={0.4}\n />\n <Noise opacity={0.03} />\n <Vignette eskil={false} offset={0.1} darkness={0.3} />\n </EffectComposer>\n ) : (\n <EffectComposer multisampling={4}>\n <Bloom\n luminanceThreshold={0.9}\n luminanceSmoothing={0.9}\n mipmapBlur\n intensity={0.8}\n radius={0.4}\n />\n <Noise opacity={0.03} />\n <Vignette eskil={false} offset={0.1} darkness={0.3} />\n </EffectComposer>\n )}\n </Canvas>\n\n {/* Html UI Overlays (positioned absolutely over Canvas) - matches CombatScreen pattern */}\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n pointerEvents: \"none\",\n zIndex: Z_INDEX.HUD,\n // Use 'clip' for pure clipping without creating a scroll container\n // Note: Both 'clip' and 'hidden' will clip box/text shadows; ensure\n // any required shadow space is handled via padding on parent containers\n overflow: \"clip\",\n }}\n data-testid=\"training-hud-overlay\"\n >\n {/* Left HUD - Anatomy Controls, Guard Indicator */}\n <TrainingLeftHUD\n width={width}\n height={height}\n isMobile={isMobile}\n positionScale={positionScale}\n visibleAnatomyLayers={trainingState.visibleAnatomyLayers}\n onAnatomyLayerToggle={handleAnatomyLayerToggle}\n currentStanceIndex={trainingState.currentStanceIndex}\n isInGuard={playerAnimation.isInStanceGuard()}\n />\n\n {/* Top HUD - Training Controls, Archetype Selector, Return Button */}\n <TrainingTopHUD\n width={width}\n height={height}\n isMobile={isMobile}\n positionScale={positionScale}\n isTraining={trainingState.isTraining}\n onStartTraining={handleStartTraining}\n onStopTraining={handleStopTraining}\n selectedArchetype={selectedArchetype}\n onArchetypeSelect={setSelectedArchetype}\n overlayVisible={overlayVisible}\n onReturnToMenu={onReturnToMenu}\n onPlaySFX={(sound) => audio.playSFX(sound)}\n />\n\n {/* Right HUD - Mode Selector, Stats, Vital Point Selection */}\n <TrainingRightHUD\n width={width}\n height={height}\n isMobile={isMobile}\n positionScale={positionScale}\n trainingMode={trainingState.trainingMode}\n onModeChange={trainingActions.setTrainingMode}\n stats={{\n ...trainingState.stats,\n sessionDuration: trainingState.sessionDuration,\n bestCombo: trainingState.bestCombo,\n perfectStrikes: trainingState.perfectStrikes,\n }}\n distanceToDummy={distanceToDummy}\n effectiveReach={currentTechniqueReach}\n selectedVitalPoint={trainingState.selectedVitalPoint}\n onVitalPointSelect={trainingActions.setSelectedVitalPoint}\n footworkDrillType={trainingState.footworkDrillType}\n footworkDrillStep={trainingState.footworkDrillStep}\n footworkDrillActive={trainingState.footworkDrillActive}\n onStartFootworkDrill={trainingActions.startFootworkDrill}\n onStopFootworkDrill={trainingActions.stopFootworkDrill}\n onAdvanceFootworkStep={trainingActions.advanceFootworkStep}\n />\n\n {/* Bottom HUD - Technique Bar, Feedback Messages, Mobile Controls */}\n <TrainingBottomHUD\n width={width}\n height={height}\n isMobile={isMobile}\n positionScale={positionScale}\n techniques={techniqueSelection.availableTechniques}\n player={trainingPlayerState}\n selectedIndex={techniqueSelection.selectedIndex}\n cooldowns={cooldownsMap}\n onTechniqueSelect={techniqueSelection.selectTechnique}\n showFeedback={trainingState.showFeedback}\n feedbackMessage={trainingState.feedback}\n selectedArchetype={selectedArchetype}\n onArchetypeSelect={setSelectedArchetype}\n onPlaySFX={(sound) => audio.playSFX(sound)}\n />\n\n {/* Vital Point Overlay Controls - Pure DOM overlay (outside Canvas) */}\n {overlayVisible && (\n <VitalPointOverlayControlsPure\n visible={overlayVisible}\n onVisibleChange={setOverlayVisible}\n severityFilters={severityFilters}\n onSeverityFiltersChange={setSeverityFilters}\n regionFilter={regionFilter}\n onRegionFilterChange={setRegionFilter}\n searchQuery={searchQuery}\n onSearchQueryChange={setSearchQuery}\n showLabels={showLabels}\n onShowLabelsChange={setShowLabels}\n animated={animated}\n onAnimatedChange={setAnimated}\n scale={scale}\n onScaleChange={setScale}\n screenPosition={{ top: \"180px\", left: \"20px\" }}\n isMobile={isMobile}\n />\n )}\n\n {/* Mobile Controls - Pure DOM overlay (outside Canvas for reliable touch) */}\n {isMobile && (\n <>\n <MobileControlsOverlay\n onMove={handleMobileMove}\n onAttack={handleMobileAttack}\n onBlock={handleMobileBlock}\n disabled={!mobileControlsEnabled}\n bottom={getMobileControlsBottom()}\n opacity={0.85}\n />\n\n <StanceWheelPure\n currentStance={trainingState.currentStanceIndex}\n onStanceChange={handleMobileStanceChange}\n expanded={trainingState.stanceWheelExpanded}\n onToggle={trainingActions.toggleStanceWheel}\n disabled={!mobileControlsEnabled}\n opacity={0.8}\n />\n\n <GestureRecognizerPure\n onGesture={handleMobileGesture}\n enabled={mobileControlsEnabled}\n showFeedback={true}\n minSwipeDistance={50}\n />\n </>\n )}\n </div>\n </div>\n );\n};\n\nexport default TrainingScreen3D;\n"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * AnatomyControlsOverlayHtml - Html UI for toggling anatomy visualization layers
3
+ *
4
+ * Provides buttons to toggle skeleton, nerves, vascular, and surface layers
5
+ * with consistent Korean martial arts cyberpunk theming.
6
+ *
7
+ * @module components/screens/training/components/AnatomyControlsOverlayHtml
8
+ * @category Training UI
9
+ * @korean 해부학제어오버레이
10
+ */
11
+ import React from "react";
12
+ import type { AnatomyLayer } from "./AnatomyOverlay3D";
13
+ import "../training.css";
14
+ /**
15
+ * Props for AnatomyControlsOverlayHtml component
16
+ */
17
+ export interface AnatomyControlsOverlayHtmlProps {
18
+ /** Currently visible anatomy layers */
19
+ readonly visibleLayers: readonly AnatomyLayer[];
20
+ /** Callback when layer visibility changes */
21
+ readonly onLayerToggle: (layer: AnatomyLayer) => void;
22
+ /** Whether on mobile device */
23
+ readonly isMobile?: boolean;
24
+ }
25
+ /**
26
+ * AnatomyControlsOverlayHtml Component
27
+ * UI controls for anatomy layer visibility
28
+ */
29
+ export declare const AnatomyControlsOverlayHtml: React.NamedExoticComponent<AnatomyControlsOverlayHtmlProps>;
30
+ export default AnatomyControlsOverlayHtml;
31
+ //# sourceMappingURL=AnatomyControlsOverlayHtml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnatomyControlsOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/training/components/AnatomyControlsOverlayHtml.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvD,OAAO,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,uCAAuC;IACvC,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,6CAA6C;IAC7C,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AA8CD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,6DAoLrC,CAAC;AAIH,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,189 @@
1
+ import { KOREAN_COLORS } from "../../../../types/constants/colors.js";
2
+ import { FONT_FAMILY } from "../../../../types/constants/typography.js";
3
+ import { SPACING } from "../../../../types/constants/ui.js";
4
+ import "../../../../types/constants/index.js";
5
+ import { hexToRgbaString } from "../../../../utils/colorUtils.js";
6
+ import { getNeonGlowEffect, getNeonTextShadow, getSmoothTransition } from "../../../../utils/visualEffects.js";
7
+ import { formatBilingualText, getEnhancedKoreanOverlayStyles, getResponsiveSpacing } from "../../../../utils/koreanThemeHelpers.js";
8
+ /* empty css */
9
+ import React, { useCallback, useState } from "react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ //#region src/components/screens/training/components/AnatomyControlsOverlayHtml.tsx
12
+ /**
13
+ * AnatomyControlsOverlayHtml - Html UI for toggling anatomy visualization layers
14
+ *
15
+ * Provides buttons to toggle skeleton, nerves, vascular, and surface layers
16
+ * with consistent Korean martial arts cyberpunk theming.
17
+ *
18
+ * @module components/screens/training/components/AnatomyControlsOverlayHtml
19
+ * @category Training UI
20
+ * @korean 해부학제어오버레이
21
+ */
22
+ var LAYER_CONFIGS = [
23
+ {
24
+ id: "skeleton",
25
+ korean: "골격",
26
+ english: "Skeleton",
27
+ icon: "🦴",
28
+ color: KOREAN_COLORS.TEXT_PRIMARY
29
+ },
30
+ {
31
+ id: "nerves",
32
+ korean: "신경",
33
+ english: "Nerves",
34
+ icon: "⚡",
35
+ color: KOREAN_COLORS.ACCENT_GOLD
36
+ },
37
+ {
38
+ id: "vascular",
39
+ korean: "혈관",
40
+ english: "Vascular",
41
+ icon: "❤️",
42
+ color: KOREAN_COLORS.ACCENT_RED
43
+ },
44
+ {
45
+ id: "surface",
46
+ korean: "표면",
47
+ english: "Surface",
48
+ icon: "👤",
49
+ color: KOREAN_COLORS.PRIMARY_CYAN
50
+ }
51
+ ];
52
+ /**
53
+ * AnatomyControlsOverlayHtml Component
54
+ * UI controls for anatomy layer visibility
55
+ */
56
+ var AnatomyControlsOverlayHtml = React.memo(({ visibleLayers, onLayerToggle, isMobile = false }) => {
57
+ const [hoveredLayer, setHoveredLayer] = useState(null);
58
+ const handleToggle = useCallback((layer) => {
59
+ onLayerToggle(layer);
60
+ }, [onLayerToggle]);
61
+ const panelWidth = isMobile ? 220 : 260;
62
+ const padding = getResponsiveSpacing("md", isMobile);
63
+ return /* @__PURE__ */ jsxs("div", {
64
+ style: {
65
+ ...getEnhancedKoreanOverlayStyles({
66
+ opacity: .88,
67
+ glowIntensity: "medium",
68
+ includeGradient: false,
69
+ includeBackdropBlur: true,
70
+ depthLayers: 3
71
+ }),
72
+ width: `${panelWidth}px`,
73
+ padding: `${padding}px`
74
+ },
75
+ "data-testid": "anatomy-controls-html",
76
+ children: [
77
+ /* @__PURE__ */ jsx("div", {
78
+ style: { marginBottom: `${SPACING.MD}px` },
79
+ children: /* @__PURE__ */ jsx("div", {
80
+ style: {
81
+ fontSize: isMobile ? "14px" : "16px",
82
+ fontWeight: "bold",
83
+ color: hexToRgbaString(KOREAN_COLORS.PRIMARY_CYAN),
84
+ textShadow: getNeonTextShadow(KOREAN_COLORS.PRIMARY_CYAN, "medium"),
85
+ transition: getSmoothTransition("all", "normal")
86
+ },
87
+ children: formatBilingualText("해부학 표시", "Anatomy Display", "pipe")
88
+ })
89
+ }),
90
+ /* @__PURE__ */ jsx("div", {
91
+ style: {
92
+ display: "flex",
93
+ flexDirection: "column",
94
+ gap: `${SPACING.SM}px`
95
+ },
96
+ children: LAYER_CONFIGS.map((config) => {
97
+ const isActive = visibleLayers.includes(config.id);
98
+ const isHovered = hoveredLayer === config.id;
99
+ const layerColor = hexToRgbaString(config.color);
100
+ const activeBackground = hexToRgbaString(KOREAN_COLORS.PRIMARY_CYAN, .2);
101
+ const inactiveBackground = hexToRgbaString(KOREAN_COLORS.UI_BACKGROUND_MEDIUM, .6);
102
+ const inactiveBorder = hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, .2);
103
+ const glowEffect = isActive || isHovered ? getNeonGlowEffect(config.color, isActive ? "strong" : "medium", true) : void 0;
104
+ return /* @__PURE__ */ jsxs("button", {
105
+ onClick: () => handleToggle(config.id),
106
+ style: {
107
+ display: "flex",
108
+ alignItems: "center",
109
+ gap: `${SPACING.SM}px`,
110
+ background: isActive ? activeBackground : inactiveBackground,
111
+ border: `2px solid ${isActive ? layerColor : inactiveBorder}`,
112
+ borderRadius: `${SPACING.SM}px`,
113
+ padding: isMobile ? `${SPACING.SM}px ${SPACING.SM}px` : `${SPACING.SM}px ${SPACING.MD}px`,
114
+ cursor: "pointer",
115
+ transition: getSmoothTransition("all", "normal"),
116
+ fontFamily: FONT_FAMILY.KOREAN,
117
+ color: hexToRgbaString(KOREAN_COLORS.TEXT_PRIMARY),
118
+ width: "100%",
119
+ transform: isHovered ? "scale(1.03)" : "scale(1)",
120
+ boxShadow: glowEffect
121
+ },
122
+ onMouseEnter: () => setHoveredLayer(config.id),
123
+ onMouseLeave: () => setHoveredLayer(null),
124
+ "data-testid": `anatomy-layer-${config.id}`,
125
+ "aria-label": `Toggle ${config.english} layer`,
126
+ "aria-pressed": isActive,
127
+ children: [
128
+ /* @__PURE__ */ jsx("span", {
129
+ style: {
130
+ fontSize: isMobile ? "18px" : "20px",
131
+ filter: isActive ? "none" : "grayscale(100%)",
132
+ opacity: isActive ? 1 : .5
133
+ },
134
+ children: config.icon
135
+ }),
136
+ /* @__PURE__ */ jsxs("div", {
137
+ style: {
138
+ flex: 1,
139
+ textAlign: "left"
140
+ },
141
+ children: [/* @__PURE__ */ jsx("div", {
142
+ style: {
143
+ fontSize: isMobile ? "12px" : "13px",
144
+ fontWeight: "bold",
145
+ color: isActive ? layerColor : hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY)
146
+ },
147
+ children: config.korean
148
+ }), /* @__PURE__ */ jsx("div", {
149
+ style: {
150
+ fontSize: isMobile ? "9px" : "10px",
151
+ color: isActive ? hexToRgbaString(KOREAN_COLORS.TEXT_SECONDARY) : hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, .6)
152
+ },
153
+ children: config.english
154
+ })]
155
+ }),
156
+ /* @__PURE__ */ jsx("div", { style: {
157
+ width: isMobile ? "8px" : "10px",
158
+ height: isMobile ? "8px" : "10px",
159
+ borderRadius: "50%",
160
+ background: isActive ? layerColor : hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, .2),
161
+ boxShadow: isActive ? `0 0 10px ${layerColor}` : "none"
162
+ } })
163
+ ]
164
+ }, config.id);
165
+ })
166
+ }),
167
+ /* @__PURE__ */ jsx("div", {
168
+ style: {
169
+ marginTop: `${SPACING.MD}px`,
170
+ paddingTop: `${SPACING.MD}px`,
171
+ borderTop: `1px solid ${hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, .1)}`,
172
+ fontSize: isMobile ? "9px" : "10px",
173
+ color: hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY),
174
+ textAlign: "center",
175
+ lineHeight: "1.4",
176
+ fontFamily: FONT_FAMILY.KOREAN
177
+ },
178
+ children: formatBilingualText("클릭하여 표시/숨김", "Click to show/hide", "pipe")
179
+ })
180
+ ]
181
+ });
182
+ }, (prevProps, nextProps) => {
183
+ return prevProps.visibleLayers === nextProps.visibleLayers && prevProps.isMobile === nextProps.isMobile && prevProps.onLayerToggle === nextProps.onLayerToggle;
184
+ });
185
+ AnatomyControlsOverlayHtml.displayName = "AnatomyControlsOverlayHtml";
186
+ //#endregion
187
+ export { AnatomyControlsOverlayHtml as default };
188
+
189
+ //# sourceMappingURL=AnatomyControlsOverlayHtml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnatomyControlsOverlayHtml.js","names":[],"sources":["../../../../../src/components/screens/training/components/AnatomyControlsOverlayHtml.tsx"],"sourcesContent":["/**\n * AnatomyControlsOverlayHtml - Html UI for toggling anatomy visualization layers\n * \n * Provides buttons to toggle skeleton, nerves, vascular, and surface layers\n * with consistent Korean martial arts cyberpunk theming.\n * \n * @module components/screens/training/components/AnatomyControlsOverlayHtml\n * @category Training UI\n * @korean 해부학제어오버레이\n */\n\nimport React, { useCallback, useState } from \"react\";\nimport type { AnatomyLayer } from \"./AnatomyOverlay3D\";\nimport { FONT_FAMILY, KOREAN_COLORS } from \"../../../../types/constants\";\nimport { SPACING } from \"../../../../types/constants/ui\";\nimport { hexToRgbaString } from \"../../../../utils/colorUtils\";\nimport {\n formatBilingualText,\n getEnhancedKoreanOverlayStyles,\n getResponsiveSpacing,\n} from \"../../../../utils/koreanThemeHelpers\";\nimport {\n getNeonTextShadow,\n getSmoothTransition,\n getNeonGlowEffect,\n} from \"../../../../utils/visualEffects\";\nimport \"../training.css\";\n\n/**\n * Props for AnatomyControlsOverlayHtml component\n */\nexport interface AnatomyControlsOverlayHtmlProps {\n /** Currently visible anatomy layers */\n readonly visibleLayers: readonly AnatomyLayer[];\n /** Callback when layer visibility changes */\n readonly onLayerToggle: (layer: AnatomyLayer) => void;\n /** Whether on mobile device */\n readonly isMobile?: boolean;\n}\n\n/**\n * Layer button configuration with Korean colors\n * \n * @korean 레이어설정\n */\ninterface LayerConfig {\n readonly id: AnatomyLayer;\n readonly korean: string;\n readonly english: string;\n readonly icon: string;\n readonly color: number; // Numeric hex color from KOREAN_COLORS\n}\n\nconst LAYER_CONFIGS: readonly LayerConfig[] = [\n {\n id: \"skeleton\",\n korean: \"골격\",\n english: \"Skeleton\",\n icon: \"🦴\",\n color: KOREAN_COLORS.TEXT_PRIMARY,\n },\n {\n id: \"nerves\",\n korean: \"신경\",\n english: \"Nerves\",\n icon: \"⚡\",\n color: KOREAN_COLORS.ACCENT_GOLD,\n },\n {\n id: \"vascular\",\n korean: \"혈관\",\n english: \"Vascular\",\n icon: \"❤️\",\n color: KOREAN_COLORS.ACCENT_RED,\n },\n {\n id: \"surface\",\n korean: \"표면\",\n english: \"Surface\",\n icon: \"👤\",\n color: KOREAN_COLORS.PRIMARY_CYAN,\n },\n];\n\n/**\n * AnatomyControlsOverlayHtml Component\n * UI controls for anatomy layer visibility\n */\nexport const AnatomyControlsOverlayHtml = React.memo<AnatomyControlsOverlayHtmlProps>(\n ({\n visibleLayers,\n onLayerToggle,\n isMobile = false,\n }) => {\n // State for hover effects\n const [hoveredLayer, setHoveredLayer] = useState<AnatomyLayer | null>(null);\n\n const handleToggle = useCallback(\n (layer: AnatomyLayer) => {\n onLayerToggle(layer);\n },\n [onLayerToggle]\n );\n\n const panelWidth = isMobile ? 220 : 260;\n const padding = getResponsiveSpacing(\"md\", isMobile);\n\n // Enhanced panel styles with neon glow\n const panelStyle: React.CSSProperties = {\n ...getEnhancedKoreanOverlayStyles({\n opacity: 0.88,\n glowIntensity: \"medium\",\n includeGradient: false,\n includeBackdropBlur: true,\n depthLayers: 3,\n }),\n width: `${panelWidth}px`,\n padding: `${padding}px`,\n };\n\n return (\n <div\n style={panelStyle}\n data-testid=\"anatomy-controls-html\"\n >\n {/* Header with bilingual text */}\n <div style={{ marginBottom: `${SPACING.MD}px` }}>\n <div\n style={{\n fontSize: isMobile ? \"14px\" : \"16px\",\n fontWeight: \"bold\",\n color: hexToRgbaString(KOREAN_COLORS.PRIMARY_CYAN),\n textShadow: getNeonTextShadow(KOREAN_COLORS.PRIMARY_CYAN, \"medium\"),\n transition: getSmoothTransition(\"all\", \"normal\"),\n }}\n >\n {formatBilingualText(\"해부학 표시\", \"Anatomy Display\", \"pipe\")}\n </div>\n </div>\n\n {/* Layer toggle buttons */}\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: `${SPACING.SM}px`,\n }}\n >\n {LAYER_CONFIGS.map((config) => {\n const isActive = visibleLayers.includes(config.id);\n const isHovered = hoveredLayer === config.id;\n const layerColor = hexToRgbaString(config.color);\n const activeBackground = hexToRgbaString(KOREAN_COLORS.PRIMARY_CYAN, 0.2);\n const inactiveBackground = hexToRgbaString(KOREAN_COLORS.UI_BACKGROUND_MEDIUM, 0.6);\n const inactiveBorder = hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, 0.2);\n\n // Enhanced glow effect for active/hovered states\n const glowEffect = (isActive || isHovered) \n ? getNeonGlowEffect(config.color, isActive ? \"strong\" : \"medium\", true)\n : undefined;\n\n return (\n <button\n key={config.id}\n onClick={() => handleToggle(config.id)}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: `${SPACING.SM}px`,\n background: isActive ? activeBackground : inactiveBackground,\n border: `2px solid ${isActive ? layerColor : inactiveBorder}`,\n borderRadius: `${SPACING.SM}px`,\n padding: isMobile ? `${SPACING.SM}px ${SPACING.SM}px` : `${SPACING.SM}px ${SPACING.MD}px`,\n cursor: \"pointer\",\n transition: getSmoothTransition(\"all\", \"normal\"),\n fontFamily: FONT_FAMILY.KOREAN,\n color: hexToRgbaString(KOREAN_COLORS.TEXT_PRIMARY),\n width: \"100%\",\n transform: isHovered ? \"scale(1.03)\" : \"scale(1)\",\n boxShadow: glowEffect,\n }}\n onMouseEnter={() => setHoveredLayer(config.id)}\n onMouseLeave={() => setHoveredLayer(null)}\n data-testid={`anatomy-layer-${config.id}`}\n aria-label={`Toggle ${config.english} layer`}\n aria-pressed={isActive}\n >\n {/* Icon */}\n <span\n style={{\n fontSize: isMobile ? \"18px\" : \"20px\",\n filter: isActive ? \"none\" : \"grayscale(100%)\",\n opacity: isActive ? 1 : 0.5,\n }}\n >\n {config.icon}\n </span>\n\n {/* Labels */}\n <div\n style={{\n flex: 1,\n textAlign: \"left\",\n }}\n >\n <div\n style={{\n fontSize: isMobile ? \"12px\" : \"13px\",\n fontWeight: \"bold\",\n color: isActive ? layerColor : hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY),\n }}\n >\n {config.korean}\n </div>\n <div\n style={{\n fontSize: isMobile ? \"9px\" : \"10px\",\n color: isActive \n ? hexToRgbaString(KOREAN_COLORS.TEXT_SECONDARY) \n : hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, 0.6),\n }}\n >\n {config.english}\n </div>\n </div>\n\n {/* Active indicator */}\n <div\n style={{\n width: isMobile ? \"8px\" : \"10px\",\n height: isMobile ? \"8px\" : \"10px\",\n borderRadius: \"50%\",\n background: isActive ? layerColor : hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, 0.2),\n boxShadow: isActive ? `0 0 10px ${layerColor}` : \"none\",\n }}\n />\n </button>\n );\n })}\n </div>\n\n {/* Info text */}\n <div\n style={{\n marginTop: `${SPACING.MD}px`,\n paddingTop: `${SPACING.MD}px`,\n borderTop: `1px solid ${hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY, 0.1)}`,\n fontSize: isMobile ? \"9px\" : \"10px\",\n color: hexToRgbaString(KOREAN_COLORS.TEXT_TERTIARY),\n textAlign: \"center\",\n lineHeight: \"1.4\",\n fontFamily: FONT_FAMILY.KOREAN,\n }}\n >\n {formatBilingualText(\"클릭하여 표시/숨김\", \"Click to show/hide\", \"pipe\")}\n </div>\n </div>\n );\n},\n(prevProps, nextProps) => {\n // Re-render when visible layers or callback changes\n // Including callback prop prevents stale closures when parent provides\n // a new function that captures updated state.\n return (\n prevProps.visibleLayers === nextProps.visibleLayers &&\n prevProps.isMobile === nextProps.isMobile &&\n prevProps.onLayerToggle === nextProps.onLayerToggle\n );\n});\n\nAnatomyControlsOverlayHtml.displayName = \"AnatomyControlsOverlayHtml\";\n\nexport default AnatomyControlsOverlayHtml;\n"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * AnatomyOverlay3D - Toggleable anatomy visualization layers
3
+ *
4
+ * Provides skeleton, nerves, vascular, and surface anatomy overlays
5
+ * for educational training visualization
6
+ */
7
+ import React from "react";
8
+ /**
9
+ * Anatomy layer types
10
+ */
11
+ export type AnatomyLayer = "skeleton" | "nerves" | "vascular" | "surface";
12
+ /**
13
+ * Props for AnatomyOverlay3D component
14
+ */
15
+ export interface AnatomyOverlay3DProps {
16
+ /** Position of the anatomy overlay (typically the dummy position) */
17
+ readonly position: [number, number, number];
18
+ /** Which anatomy layers to display */
19
+ readonly visibleLayers: readonly AnatomyLayer[];
20
+ /** Opacity of the overlay (0-1) */
21
+ readonly opacity?: number;
22
+ /** Whether on mobile device (reserved for future mobile-specific optimizations) */
23
+ readonly isMobile?: boolean;
24
+ }
25
+ /**
26
+ * AnatomyOverlay3D Component
27
+ * Main component that manages all anatomy layers
28
+ */
29
+ export declare const AnatomyOverlay3D: React.FC<AnatomyOverlay3DProps>;
30
+ export default AnatomyOverlay3D;
31
+ //# sourceMappingURL=AnatomyOverlay3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnatomyOverlay3D.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/training/components/AnatomyOverlay3D.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAqC,MAAM,OAAO,CAAC;AA8B1D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,sCAAsC;IACtC,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAggBD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+B5D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}