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":"AttackAnimations.js","names":[],"sources":["../../../../src/systems/animation/catalogs/AttackAnimations.ts"],"sourcesContent":["/**\n * Korean martial arts attack animations with proper guard positions (막기자세)\n *\n * All animations implement proper Korean martial arts defensive positioning:\n * - Start from guard (준비자세)\n * - Maintain non-striking hand guard during technique (방어 유지)\n * - Return to guard after technique (복귀)\n *\n * @module systems/animation/AttackAnimations\n * @category Animation System\n * @korean 공격애니메이션\n */\n\nimport type { SkeletalAnimation } from \"@/types/skeletal\";\nimport { BoneName } from \"@/types/skeletal\";\nimport { AnimationBuilder } from \"../builders/AnimationBuilder\";\nimport {\n MartialArtsAnimationBuilder,\n TECHNIQUE_TIMING,\n} from \"../builders/MartialArtsAnimationBuilder\";\n\n/**\n * Jab animation with guard (잽 - 막기자세)\n *\n * Fast straight punch with proper middle guard maintained.\n * Traditional Taekwondo 정권지르기 with defensive posture.\n *\n * Guard cycle:\n * - Start: MIDDLE_GUARD both hands (중단막기)\n * - During: MIDDLE_GUARD left hand (방어 유지)\n * - End: MIDDLE_GUARD both hands (복귀)\n *\n * Duration: 550ms (TECHNIQUE_TIMING.FAST)\n *\n * @korean 잽애니메이션\n */\nexport const JAB_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"jab\", \"잽\")\n .asAttack(TECHNIQUE_TIMING.FAST.total)\n // Start in middle guard\n .at(0.0)\n .withGuard(\"MIDDLE_GUARD\")\n .done<MartialArtsAnimationBuilder>()\n // Wind-up: right arm prepares, left maintains guard (준비)\n .at(TECHNIQUE_TIMING.FAST.chamber * 0.5)\n .rotate(BoneName.SHOULDER_R, 0.3, 0, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.SPINE_UPPER, 0, -0.15, 0)\n .withGuard(\"MIDDLE_GUARD\", \"left\")\n .done<MartialArtsAnimationBuilder>()\n // Extension: arm snaps forward (실행)\n .at(TECHNIQUE_TIMING.FAST.chamber)\n .rotate(BoneName.SHOULDER_R, -0.5, 0, 0.4)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.3)\n .rotate(BoneName.SPINE_UPPER, 0, 0.25, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.15, 0)\n .rotate(BoneName.PELVIS, 0, 0.1, 0)\n .withGuard(\"MIDDLE_GUARD\", \"left\")\n .done<MartialArtsAnimationBuilder>()\n // Full extension with peak hold (정점)\n .at(TECHNIQUE_TIMING.FAST.chamber + TECHNIQUE_TIMING.FAST.extend)\n .rotate(BoneName.SHOULDER_R, -0.7, 0, 0.5)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.05)\n .rotate(BoneName.WRIST_R, 0, 0, -0.2)\n .rotate(BoneName.SPINE_UPPER, 0, 0.35, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.25, 0)\n .rotate(BoneName.PELVIS, 0, 0.2, 0)\n .withGuard(\"MIDDLE_GUARD\", \"left\")\n .done<MartialArtsAnimationBuilder>()\n // Peak hold for impact clarity\n .at(\n TECHNIQUE_TIMING.FAST.chamber +\n TECHNIQUE_TIMING.FAST.extend +\n TECHNIQUE_TIMING.FAST.peak,\n )\n .rotate(BoneName.SHOULDER_R, -0.7, 0, 0.5)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.05)\n .rotate(BoneName.WRIST_R, 0, 0, -0.2)\n .withGuard(\"MIDDLE_GUARD\", \"left\")\n .done<MartialArtsAnimationBuilder>()\n // Retraction (회수)\n .at(\n TECHNIQUE_TIMING.FAST.chamber +\n TECHNIQUE_TIMING.FAST.extend +\n TECHNIQUE_TIMING.FAST.peak +\n TECHNIQUE_TIMING.FAST.retract,\n )\n .rotate(BoneName.SHOULDER_R, 0.1, 0, -0.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .rotate(BoneName.SPINE_UPPER, 0, 0.05, 0)\n .withGuard(\"MIDDLE_GUARD\", \"left\")\n .done<MartialArtsAnimationBuilder>()\n // Recovery: return to guard (복귀)\n .at(TECHNIQUE_TIMING.FAST.total)\n .withGuard(\"MIDDLE_GUARD\")\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.WRIST_R, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .build();\n\n/**\n * Cross punch with guard (크로스 - 막기자세)\n *\n * Power punch with proper middle guard maintained.\n * Traditional Taekwondo 역권지르기 with defensive posture.\n *\n * Guard cycle:\n * - Start: MIDDLE_GUARD both hands (중단막기)\n * - During: MIDDLE_GUARD right hand (방어 유지)\n * - End: MIDDLE_GUARD both hands (복귀)\n *\n * Duration: 600ms (TECHNIQUE_TIMING.FAST_MEDIUM)\n *\n * @korean 크로스펀치애니메이션\n */\nexport const CROSS_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"cross\", \"크로스\")\n .asAttack(TECHNIQUE_TIMING.FAST_MEDIUM.total)\n // Start in middle guard\n .at(0.0)\n .withGuard(\"MIDDLE_GUARD\")\n .done<MartialArtsAnimationBuilder>()\n // Wind-up: left arm prepares, right maintains guard (준비)\n .at(TECHNIQUE_TIMING.FAST_MEDIUM.chamber * 0.6)\n .rotate(BoneName.SHOULDER_L, 0.2, 0, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SPINE_UPPER, 0, -0.2, 0)\n .rotate(BoneName.PELVIS, 0, -0.15, 0)\n .withGuard(\"MIDDLE_GUARD\", \"right\")\n .done<MartialArtsAnimationBuilder>()\n // Hip rotation begins\n .at(TECHNIQUE_TIMING.FAST_MEDIUM.chamber)\n .rotate(BoneName.PELVIS, 0, 0.15, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0.2, 0)\n .rotate(BoneName.HIP_R, 0, 0.1, 0)\n .withGuard(\"MIDDLE_GUARD\", \"right\")\n .done<MartialArtsAnimationBuilder>()\n // Extension: arm snaps forward (실행)\n .at(\n TECHNIQUE_TIMING.FAST_MEDIUM.chamber +\n TECHNIQUE_TIMING.FAST_MEDIUM.extend * 0.5,\n )\n .rotate(BoneName.SHOULDER_L, -0.5, 0, -0.4)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.3)\n .rotate(BoneName.SPINE_UPPER, 0, 0.35, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.3, 0)\n .rotate(BoneName.PELVIS, 0, 0.25, 0)\n .withGuard(\"MIDDLE_GUARD\", \"right\")\n .done<MartialArtsAnimationBuilder>()\n // Full extension (정점)\n .at(\n TECHNIQUE_TIMING.FAST_MEDIUM.chamber +\n TECHNIQUE_TIMING.FAST_MEDIUM.extend,\n )\n .rotate(BoneName.SHOULDER_L, -0.7, 0, -0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.05)\n .rotate(BoneName.WRIST_L, 0, 0, 0.2)\n .rotate(BoneName.SPINE_UPPER, 0, 0.45, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.35, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0.25, 0)\n .rotate(BoneName.PELVIS, 0, 0.3, 0)\n .withGuard(\"MIDDLE_GUARD\", \"right\")\n .done<MartialArtsAnimationBuilder>()\n // Peak hold for impact clarity\n .at(\n TECHNIQUE_TIMING.FAST_MEDIUM.chamber +\n TECHNIQUE_TIMING.FAST_MEDIUM.extend +\n TECHNIQUE_TIMING.FAST_MEDIUM.peak,\n )\n .rotate(BoneName.SHOULDER_L, -0.7, 0, -0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.05)\n .rotate(BoneName.WRIST_L, 0, 0, 0.2)\n .withGuard(\"MIDDLE_GUARD\", \"right\")\n .done<MartialArtsAnimationBuilder>()\n // Retraction (회수)\n .at(\n TECHNIQUE_TIMING.FAST_MEDIUM.chamber +\n TECHNIQUE_TIMING.FAST_MEDIUM.extend +\n TECHNIQUE_TIMING.FAST_MEDIUM.peak +\n TECHNIQUE_TIMING.FAST_MEDIUM.retract,\n )\n .rotate(BoneName.SHOULDER_L, 0.1, 0, 0.2)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.SPINE_UPPER, 0, 0.05, 0)\n .withGuard(\"MIDDLE_GUARD\", \"right\")\n .done<MartialArtsAnimationBuilder>()\n // Recovery: return to guard (복귀)\n .at(TECHNIQUE_TIMING.FAST_MEDIUM.total)\n .withGuard(\"MIDDLE_GUARD\")\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.WRIST_L, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .build();\n\n/**\n * Front kick animation (앞차기) - ENHANCED\n *\n * Traditional Taekwondo front kick with knee lift, leg extension,\n * ankle dorsiflexion, support leg adjustments, and balance recovery.\n * Hands maintain guard position throughout for face protection.\n *\n * Animation phases:\n * 1. Chamber (0.0s-0.1s): Knee lifts to waist height, hands guard face\n * 2. Extension (0.1s-0.2s): Lower leg extends forward with ankle flexion\n * 3. Impact (0.2s): Maximum extension point with dorsiflexion\n * 4. Retraction (0.2s-0.35s): Leg returns to chamber\n * 5. Set down (0.35s-0.45s): Foot returns to ground with balance recovery\n * 6. Recovery shuffle (0.45s-0.55s): Return to fighting guard\n *\n * Duration: 550ms (enhanced with recovery)\n *\n * @korean 앞차기애니메이션향상\n */\nexport const FRONT_KICK_ANIMATION = AnimationBuilder.create(\"front_kick\")\n .withKoreanName(\"앞차기\")\n .withDuration(0.55)\n .withType(\"attack\")\n // Frame 1: Chamber - knee lifts, hands protect face\n // Hip flexion ~90° lifts thigh to horizontal, knee bent tight\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.HIP_R, 1.57, 0, 0) // 90 degrees - thigh horizontal\n .rotate(BoneName.KNEE_R, -2.0, 0, 0) // Tight chamber\n .rotate(BoneName.KNEE_L, -0.25, 0, 0) // Support leg slightly bent\n .rotate(BoneName.FOOT_L, 0, 0, 0.05) // Slight outward pivot\n .rotate(BoneName.PELVIS, -0.1, 0, 0) // Tilts slightly back for balance\n .rotate(BoneName.SPINE_LOWER, -0.05, 0, 0) // Spine counters\n // HIGH GUARD - protect face during kick\n .rotate(BoneName.SHOULDER_L, -0.9, 0.3, 0.4) // Left hand high, near temple\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6) // Tight bend\n .rotate(BoneName.SHOULDER_R, -0.9, -0.3, -0.4) // Right hand high, near temple\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6) // Tight bend\n .build()\n // Frame 2: Extension - leg snaps forward, hands stay up\n // Knee extends while hip drives forward, creating reach\n .keyframe(0.2, \"ease-out\")\n .rotate(BoneName.HIP_R, 1.7, 0, 0) // Hip drives slightly higher for reach\n .rotate(BoneName.KNEE_R, 0.1, 0, 0) // Knee fully extends\n .rotate(BoneName.FOOT_R, 0.5, 0, 0) // Ball of foot strikes (dorsiflexion)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0) // Support leg bends for balance\n .rotate(BoneName.FOOT_L, 0, 0, 0.08)\n .rotate(BoneName.PELVIS, 0.15, 0, 0) // Pelvis tilts forward to drive kick\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0) // Spine drives forward\n .rotate(BoneName.SPINE_MIDDLE, 0.05, 0, 0)\n // Maintain high guard\n .rotate(BoneName.SHOULDER_L, -0.85, 0.25, 0.35)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.7)\n .rotate(BoneName.SHOULDER_R, -0.85, -0.25, -0.35)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.7)\n .build()\n // Frame 3: Retraction to chamber, guard stays up\n .keyframe(0.35, \"ease-in\")\n .rotate(BoneName.HIP_R, 1.57, 0, 0)\n .rotate(BoneName.KNEE_R, -2.0, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0) // Foot relaxes\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0.05)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.9, 0.3, 0.4)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.SHOULDER_R, -0.9, -0.3, -0.4)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n .build()\n // Frame 4: Set down, transition to fighting guard\n .keyframe(0.45, \"ease-in\")\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.15, 0, 0) // Slight bend on landing\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0.03)\n // Transition to fighting guard\n .rotate(BoneName.SHOULDER_L, -0.7, 0.35, 0.25)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.7)\n .rotate(BoneName.SHOULDER_R, -0.7, -0.35, -0.25)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.7)\n .build()\n // Frame 5: Balance recovery - fighting guard\n .keyframe(0.55, \"ease-in\")\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n // Return to standard fighting guard\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .build()\n .build();\n\n/**\n * Roundhouse kick animation (돌려차기) - ENHANCED\n *\n * Traditional Taekwondo roundhouse kick with hip rotation,\n * ankle flexion, support leg adjustments, and balance recovery.\n * Hands maintain high guard position throughout for face protection.\n *\n * Animation phases:\n * 1. Chamber (0.0s-0.1s): Knee lifts, hip begins rotation, hands guard face\n * 2. Rotation (0.1s-0.2s): Hip rotates 90 degrees\n * 3. Extension (0.2s-0.25s): Leg extends in arc with ankle flexion\n * 4. Impact (0.25s): Maximum extension with support leg adjustment\n * 5. Retraction (0.25s-0.4s): Return to chamber\n * 6. Set down (0.4s-0.5s): Foot to ground with balance recovery\n * 7. Recovery shuffle (0.5s-0.6s): Return to fighting guard\n *\n * Duration: 600ms (enhanced with recovery)\n *\n * @korean 돌려차기애니메이션향상\n */\nexport const ROUNDHOUSE_KICK_ANIMATION = AnimationBuilder.create(\n \"roundhouse_kick\",\n)\n .withKoreanName(\"돌려차기\")\n .withDuration(0.6)\n .withType(\"attack\")\n // Frame 1: Chamber with rotation start, hands protect face\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.HIP_R, 1.2, 0, 0.8) // Right leg chambers\n .rotate(BoneName.KNEE_R, -1.5, 0, 0)\n .rotate(BoneName.PELVIS, 0, -0.5, 0) // Hips rotate\n .rotate(BoneName.SPINE_UPPER, 0, 0.3, 0) // Torso counter-rotates\n // HIGH GUARD - protect face during kick\n .rotate(BoneName.SHOULDER_L, -0.9, 0.3, 0.4)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.SHOULDER_R, -0.85, -0.25, -0.35)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.65)\n .build()\n // Frame 2: Full hip rotation, maintain guard\n .keyframe(0.2, \"ease-out\")\n .rotate(BoneName.HIP_R, 1.2, 0, 1.4)\n .rotate(BoneName.KNEE_R, -1.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, -1.2, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.6, 0)\n .rotate(BoneName.SHOULDER_L, -0.85, 0.25, 0.35)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.7)\n .rotate(BoneName.SHOULDER_R, -0.85, -0.25, -0.35)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.7)\n .build()\n // Frame 3: Extension and impact with ankle flexion\n .keyframe(0.25, \"linear\")\n .rotate(BoneName.HIP_R, 1.2, 0, 1.6) // Leg fully extends\n .rotate(BoneName.KNEE_R, -0.1, 0, 0)\n .rotate(BoneName.PELVIS, 0, -1.5, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.8, 0)\n .rotate(BoneName.FOOT_R, 0.4, 0, 0.3) // Foot plantar flexion\n .rotate(BoneName.KNEE_L, -0.35, 0, 0) // Support leg micro-adjustment\n .rotate(BoneName.FOOT_L, 0, 0, -0.1) // Pivot for power\n // Maintain high guard at impact\n .rotate(BoneName.SHOULDER_L, -0.85, 0.25, 0.35)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.7)\n .rotate(BoneName.SHOULDER_R, -0.85, -0.25, -0.35)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.7)\n .position(BoneName.FOOT_R, 0.8, 0, 0) // Side strike\n .position(BoneName.PELVIS, 0, -0.02, 0) // Slight drop for power\n .build()\n // Frame 4: Retraction, guard remains up\n .keyframe(0.4, \"ease-in\")\n .rotate(BoneName.HIP_R, 1.2, 0, 0.8)\n .rotate(BoneName.KNEE_R, -1.5, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, -0.3, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.2, 0)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.9, 0.3, 0.4)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.SHOULDER_R, -0.9, -0.3, -0.4)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n .position(BoneName.FOOT_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n // Frame 5: Set down, transition to fighting guard\n .keyframe(0.5, \"ease-in\")\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0)\n // Transition to fighting guard\n .rotate(BoneName.SHOULDER_L, -0.7, 0.35, 0.25)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.7)\n .rotate(BoneName.SHOULDER_R, -0.7, -0.35, -0.25)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.7)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .build()\n // Frame 6: Recovery - fighting guard\n .keyframe(0.6, \"ease-in\")\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n // Return to standard fighting guard\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Block animation (막기)\n *\n * Traditional Taekwondo block with both arms raised.\n *\n * Animation phases:\n * 1. Raise (0.0s-0.1s): Both arms lift to blocking position\n * 2. Hold (0.1s-0.3s): Maintain block\n * 3. Lower (0.3s-0.4s): Return to guard\n *\n * Duration: 400ms\n *\n * @korean 막기애니메이션\n */\nexport const BLOCK_ANIMATION = AnimationBuilder.create(\"block\")\n .withKoreanName(\"막기\")\n .withDuration(0.4)\n .withType(\"defense\")\n .keyframe(0.08, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0, 0, -1.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.SHOULDER_R, 0, 0, 1.1)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0)\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .build()\n .keyframe(0.27, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0, 0, -1.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.SHOULDER_R, 0, 0, 1.1)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0)\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .build()\n .keyframe(0.35, \"ease-in\")\n .rotate(BoneName.SHOULDER_L, 0, 0, 0)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.SHOULDER_R, 0, 0, 0)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .rotate(BoneName.KNEE_L, 0, 0, 0)\n .rotate(BoneName.KNEE_R, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Walking cycle animation (앞으로 걷기 - 보행 사이클)\n *\n * Natural walking gait with alternating leg movement. Includes hip swing,\n * knee bend during swing phase, foot placement, and pelvis tilt.\n *\n * Animation phases:\n * 1. Left foot forward (0.0s): Left leg extends, right leg pushes off\n * 2. Left mid-stance (0.2s): Left foot plants, right leg swings forward\n * 3. Right foot forward (0.4s): Right leg extends, left leg pushes off\n * 4. Right mid-stance (0.6s): Right foot plants, left leg swings forward\n *\n * Duration: 800ms (complete left-right step cycle)\n *\n * @korean 걷기애니메이션\n */\nexport const WALK_ANIMATION = AnimationBuilder.create(\"walk\")\n .withKoreanName(\"걷기\")\n .withDuration(0.8)\n .withType(\"movement\")\n .withLoop(true)\n .keyframe(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.1, 0.05, 0)\n .rotate(BoneName.HIP_L, -0.3, 0, 0)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.FOOT_L, 0.1, 0, 0)\n .rotate(BoneName.HIP_R, 0.4, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, -0.3, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.3, 0, 0)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.3)\n .rotate(BoneName.SHOULDER_R, -0.4, 0, 0)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.4)\n .rotate(BoneName.SPINE_LOWER, 0, -0.05, 0)\n .position(BoneName.PELVIS, 0, 0.02, 0)\n .build()\n .keyframe(0.2, \"linear\")\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.HIP_L, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0)\n .rotate(BoneName.HIP_R, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.8, 0, 0)\n .rotate(BoneName.FOOT_R, 0.2, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0, 0, 0)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.2)\n .rotate(BoneName.SHOULDER_R, -0.2, 0, 0)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.3)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .build()\n .keyframe(0.4, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.1, -0.05, 0)\n .rotate(BoneName.HIP_R, -0.3, 0, 0)\n .rotate(BoneName.KNEE_R, -0.1, 0, 0)\n .rotate(BoneName.FOOT_R, 0.1, 0, 0)\n .rotate(BoneName.HIP_L, 0.4, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_L, -0.3, 0, 0)\n .rotate(BoneName.SHOULDER_R, 0.3, 0, 0)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.3)\n .rotate(BoneName.SHOULDER_L, -0.4, 0, 0)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.4)\n .rotate(BoneName.SPINE_LOWER, 0, 0.05, 0)\n .position(BoneName.PELVIS, 0, 0.02, 0)\n .build()\n .keyframe(0.6, \"linear\")\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.HIP_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -0.8, 0, 0)\n .rotate(BoneName.FOOT_L, 0.2, 0, 0)\n .rotate(BoneName.SHOULDER_R, 0, 0, 0)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.2)\n .rotate(BoneName.SHOULDER_L, -0.2, 0, 0)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.3)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .build()\n .keyframe(0.8, \"ease-in\")\n .rotate(BoneName.PELVIS, 0.1, 0.05, 0)\n .rotate(BoneName.HIP_L, -0.3, 0, 0)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.FOOT_L, 0.1, 0, 0)\n .rotate(BoneName.HIP_R, 0.4, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, -0.3, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.3, 0, 0)\n .rotate(BoneName.ELBOW_L, 0, 0, -0.3)\n .rotate(BoneName.SHOULDER_R, -0.4, 0, 0)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.4)\n .rotate(BoneName.SPINE_LOWER, 0, -0.05, 0)\n .position(BoneName.PELVIS, 0, 0.02, 0)\n .build()\n .build();\n\n/**\n * Idle stance animation (대기 자세)\n *\n * Fighting stance with slight weight shift and breathing motion.\n *\n * Animation phases:\n * 1. Center (0.0s): Neutral fighting stance\n * 2. Weight left (0.8s): Shift weight to left leg\n * 3. Center (1.6s): Return to neutral\n * 4. Weight right (2.4s): Shift weight to right leg\n * 5. Center (3.0s): Return to neutral (loops)\n *\n * Duration: 3000ms (looping)\n *\n * @korean 대기자세애니메이션\n */\nexport const IDLE_STANCE_ANIMATION = AnimationBuilder.create(\"idle_stance\")\n .withKoreanName(\"대기 자세\")\n .withDuration(3.0)\n .withType(\"idle\")\n .withLoop(true)\n .keyframe(0.0, \"ease-in-out\")\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .keyframe(0.8, \"ease-in-out\")\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, -0.05)\n .rotate(BoneName.SPINE_LOWER, -0.02, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, -0.03, 0, 0)\n .rotate(BoneName.SPINE_UPPER, -0.02, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .position(BoneName.PELVIS, -0.02, 0, 0)\n .build()\n .keyframe(1.6, \"ease-in-out\")\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.02, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0.03, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0.02, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .keyframe(2.4, \"ease-in-out\")\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0.05)\n .rotate(BoneName.SPINE_LOWER, -0.02, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, -0.03, 0, 0)\n .rotate(BoneName.SPINE_UPPER, -0.02, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .position(BoneName.PELVIS, 0.02, 0, 0)\n .build()\n .keyframe(3.0, \"ease-in-out\")\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Forward dash animation (앞으로 돌진)\n *\n * Explosive forward movement with rapid knee extension and hip drive.\n *\n * Animation phases:\n * 1. Crouch (0.0s): Deep knee bend, ready to explode\n * 2. Drive (0.15s): Rapid knee extension, forward momentum\n * 3. Glide (0.3s): Extended stride position\n * 4. Recovery (0.4s): Return to stance\n *\n * Duration: 400ms\n *\n * @korean 앞으로돌진애니메이션\n */\nexport const FORWARD_DASH_ANIMATION = AnimationBuilder.create(\"forward_dash\")\n .withKoreanName(\"앞으로 돌진\")\n .withDuration(0.4)\n .withType(\"movement\")\n .keyframe(0.0, \"ease-in\")\n .rotate(BoneName.KNEE_L, -0.8, 0, 0)\n .rotate(BoneName.KNEE_R, -0.8, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.3, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0.25, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0.2, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.5, 0, -0.3)\n .rotate(BoneName.SHOULDER_R, -0.5, 0, 0.3)\n .position(BoneName.PELVIS, 0, -0.15, 0)\n .build()\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.KNEE_R, -0.1, 0, 0)\n .rotate(BoneName.PELVIS, 0.2, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.15, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0.1, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0.05, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.5)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.5)\n .position(BoneName.PELVIS, 0, 0.05, 0.8)\n .build()\n .keyframe(0.3, \"linear\")\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.3, 0, -0.6)\n .rotate(BoneName.SHOULDER_R, 0.3, 0, 0.6)\n .position(BoneName.PELVIS, 0, 0, 1.2)\n .build()\n .keyframe(0.4, \"ease-in\")\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Backward retreat animation (뒤로 물러서기)\n *\n * Coordinated leg backpedaling with defensive posture.\n *\n * Animation phases:\n * 1. Push back (0.0s): Back foot plants, front foot lifts\n * 2. Slide (0.2s): Smooth backward movement\n * 3. Plant (0.35s): Front foot plants\n * 4. Reset (0.45s): Return to guard stance\n *\n * Duration: 450ms\n *\n * @korean 뒤로물러서기애니메이션\n */\nexport const BACKWARD_RETREAT_ANIMATION = AnimationBuilder.create(\n \"backward_retreat\",\n)\n .withKoreanName(\"뒤로 물러서기\")\n .withDuration(0.45)\n .withType(\"movement\")\n .keyframe(0.0, \"ease-out\")\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.HIP_L, 0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .rotate(BoneName.SPINE_LOWER, -0.1, 0, 0)\n .rotate(BoneName.SPINE_UPPER, -0.05, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.6, 0, -0.9)\n .rotate(BoneName.SHOULDER_R, 0.6, 0, 0.9)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .keyframe(0.2, \"linear\")\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.HIP_L, 0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.SPINE_LOWER, -0.08, 0, 0)\n .rotate(BoneName.SPINE_UPPER, -0.04, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.6, 0, -0.9)\n .rotate(BoneName.SHOULDER_R, 0.6, 0, 0.9)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .position(BoneName.PELVIS, 0, 0, -0.6)\n .build()\n .keyframe(0.35, \"ease-in\")\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.HIP_L, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .position(BoneName.PELVIS, 0, 0, -0.8)\n .build()\n .keyframe(0.45, \"ease-in\")\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Side step animation (옆으로 스텝)\n *\n * Lateral hip shift with trailing leg for quick evasion.\n *\n * Animation phases:\n * 1. Shift left (0.0s): Weight to left leg\n * 2. Slide (0.15s): Right leg follows\n * 3. Plant (0.25s): Both feet grounded\n * 4. Reset (0.3s): Return to center\n *\n * Duration: 300ms\n *\n * @korean 옆으로스텝애니메이션\n */\nexport const SIDE_STEP_ANIMATION = AnimationBuilder.create(\"side_step\")\n .withKoreanName(\"옆으로 스텝\")\n .withDuration(0.3)\n .withType(\"movement\")\n .keyframe(0.0, \"ease-out\")\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, -0.15)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0.05)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0.08)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .position(BoneName.PELVIS, -0.3, -0.05, 0)\n .build()\n .keyframe(0.15, \"linear\")\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, -0.08)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0.03)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0.04)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .position(BoneName.PELVIS, -0.5, 0, 0)\n .build()\n .keyframe(0.25, \"ease-in\")\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .position(BoneName.PELVIS, -0.5, 0, 0)\n .build()\n .keyframe(0.3, \"ease-in\")\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.8)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Elbow strike animation (팔꿈치 타격 - Palgumchi Tagyeok)\n *\n * Close-range horizontal elbow strike from Hapkido.\n * Authentic Korean martial arts technique with proper shoulder rotation,\n * elbow positioning, and torso twist for maximum impact.\n *\n * Animation phases:\n * 1. Chamber (0.0s): Right arm chambers across body, elbow bent 90 degrees\n * 2. Rotation (0.05s): Torso rotates right, building momentum\n * 3. Strike (0.1s-0.12s): Elbow drives through target with hip rotation\n * 4. Impact (0.12s): Maximum extension with full body weight transfer\n * 5. Recovery (0.2s): Return to guard position\n *\n * Duration: 200ms (10 frames @ 60fps)\n *\n * @korean 팔꿈치타격애니메이션\n */\nexport const ELBOW_STRIKE_ANIMATION = AnimationBuilder.create(\"elbow_strike\")\n .withKoreanName(\"팔꿈치타격\")\n .withDuration(0.2)\n .withType(\"attack\")\n // Frame 1: Chamber position\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0, 0.8, -0.3) // Shoulder forward and across\n .rotate(BoneName.ELBOW_R, 0, 0, 1.57) // 90 degree bend\n .rotate(BoneName.FOREARM_R, 0, -0.5, 0) // Forearm rotates in\n .rotate(BoneName.SPINE_UPPER, 0, -0.3, 0) // Torso winds up\n .rotate(BoneName.SPINE_MIDDLE, 0, -0.2, 0)\n .rotate(BoneName.PELVIS, 0, -0.15, 0)\n .rotate(BoneName.SHOULDER_L, 0, -0.5, 0.5) // Left arm guards\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .position(BoneName.HAND_R, -0.2, 0, 0.3) // Hand near opposite shoulder\n .build()\n // Frame 2: Rotation begins\n .keyframe(0.05, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, 0, 0.5, 0)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.57) // Maintain 90 degree bend\n .rotate(BoneName.FOREARM_R, 0, -0.3, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.1, 0) // Torso begins rotation\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.05, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .position(BoneName.HAND_R, -0.1, 0, 0.4)\n .build()\n // Frame 3: Strike through target\n .keyframe(0.1, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0, 0, 0.3) // Elbow drives forward\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4) // Slightly opens for power\n .rotate(BoneName.FOREARM_R, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.5, 0.1) // Full torso rotation\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.4, 0.05)\n .rotate(BoneName.PELVIS, 0, 0.3, 0)\n .rotate(BoneName.HIP_R, 0, 0.2, 0) // Hip engagement\n .position(BoneName.ELBOW_R, 0, 0, 0.6) // Elbow extends forward\n .build()\n // Frame 4: Impact point\n .keyframe(0.12, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0, 0, 0.5)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .rotate(BoneName.FOREARM_R, 0, 0.1, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.6, 0.15) // Maximum rotation\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.5, 0.1)\n .rotate(BoneName.PELVIS, 0, 0.4, 0)\n .rotate(BoneName.HIP_R, 0, 0.3, 0)\n .position(BoneName.ELBOW_R, 0, 0, 0.7)\n .position(BoneName.PELVIS, 0, 0, 0.1) // Weight shift forward\n .build()\n // Frame 5: Recovery\n .keyframe(0.2, \"ease-in\")\n .rotate(BoneName.SHOULDER_R, 0, 0, -0.1) // Return to guard\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .rotate(BoneName.FOREARM_R, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0, 0, 0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .position(BoneName.ELBOW_R, 0, 0, 0)\n .position(BoneName.HAND_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Knee strike animation (무릎 타격 - Mureup Tagyeok)\n *\n * Close-range knee strike from Muay Thai-influenced Korean martial arts.\n * Clinch position with explosive knee drive and proper hip engagement.\n *\n * Animation phases:\n * 1. Clinch setup (0.0s): Arms position for control, weight on support leg\n * 2. Chamber (0.05s): Knee begins to lift, hip flexes\n * 3. Drive (0.1s-0.12s): Knee drives upward with hip thrust\n * 4. Impact (0.12s): Maximum extension with full body weight\n * 5. Retraction (0.15s): Knee returns to chamber\n * 6. Recovery (0.2s): Return to fighting stance\n *\n * Duration: 200ms (10 frames @ 60fps)\n *\n * @korean 무릎타격애니메이션\n */\nexport const KNEE_STRIKE_ANIMATION = AnimationBuilder.create(\"knee_strike\")\n .withKoreanName(\"무릎타격\")\n .withDuration(0.2)\n .withType(\"attack\")\n // Frame 1: Clinch setup\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0.8, 0, -0.5) // Arms in clinch position\n .rotate(BoneName.SHOULDER_R, 0.8, 0, 0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3) // Bent for control\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0) // Support leg stabilizes\n .rotate(BoneName.FOOT_L, 0, 0, 0.03)\n .rotate(BoneName.HIP_R, 0, 0, 0) // Striking leg neutral\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .build()\n // Frame 2: Chamber begins\n .keyframe(0.05, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.6) // Arms pull opponent down\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.6)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4)\n .rotate(BoneName.HIP_R, 1.0, 0, 0) // Hip flexes\n .rotate(BoneName.KNEE_R, -1.3, 0, 0) // Knee bends tight\n .rotate(BoneName.KNEE_L, -0.25, 0, 0) // Support leg adjusts\n .rotate(BoneName.FOOT_L, 0, 0, 0.05)\n .rotate(BoneName.SPINE_UPPER, -0.1, 0, 0) // Torso leans back slightly\n .position(BoneName.PELVIS, 0, -0.02, -0.05)\n .build()\n // Frame 3: Knee drive begins\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.3, 0, -0.7) // Arms maintain clinch\n .rotate(BoneName.SHOULDER_R, 0.3, 0, 0.7)\n .rotate(BoneName.HIP_R, 1.3, 0, 0) // Knee drives upward\n .rotate(BoneName.KNEE_R, -0.8, 0, 0) // Opens slightly\n .rotate(BoneName.FOOT_R, 0.3, 0, 0) // Ankle plantarflexion\n .rotate(BoneName.PELVIS, 0.15, 0, 0) // Forward thrust\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.15, 0, 0) // Support leg extends\n .position(BoneName.KNEE_R, 0, 0.3, 0.4) // Knee rises forward\n .position(BoneName.PELVIS, 0, 0, 0.15) // Hip drives forward\n .build()\n // Frame 4: Impact point\n .keyframe(0.12, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0.2, 0, -0.8) // Maximum pull down\n .rotate(BoneName.SHOULDER_R, 0.2, 0, 0.8)\n .rotate(BoneName.HIP_R, 1.4, 0, 0) // Maximum knee extension\n .rotate(BoneName.KNEE_R, -0.5, 0, 0)\n .rotate(BoneName.FOOT_R, 0.4, 0, 0)\n .rotate(BoneName.PELVIS, 0.2, 0, 0) // Full hip thrust\n .rotate(BoneName.SPINE_LOWER, 0.15, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0.05, 0, 0)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0) // Support leg fully extended\n .position(BoneName.KNEE_R, 0, 0.4, 0.5)\n .position(BoneName.PELVIS, 0, 0.02, 0.2)\n .build()\n // Frame 5: Retraction\n .keyframe(0.15, \"ease-in\")\n .rotate(BoneName.HIP_R, 1.0, 0, 0) // Return to chamber\n .rotate(BoneName.KNEE_R, -1.3, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .position(BoneName.KNEE_R, 0, 0.2, 0.2)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .build()\n // Frame 6: Recovery\n .keyframe(0.2, \"ease-in\")\n .rotate(BoneName.SHOULDER_L, 0, 0, 0.5) // Arms return to guard\n .rotate(BoneName.SHOULDER_R, 0, 0, -0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .rotate(BoneName.HIP_R, 0, 0, 0) // Leg returns to stance\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0) // Body neutral\n .position(BoneName.KNEE_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Side kick animation (옆차기 - Yeopchagi)\n *\n * Traditional Taekwondo side kick with lateral hip rotation,\n * leg extension to the side, and proper chamber-drive-retract sequence.\n *\n * Animation phases:\n * 1. Chamber (0.0s-0.1s): Knee lifts with hip turning sideways\n * 2. Drive (0.1s-0.15s): Leg drives laterally with hip thrust\n * 3. Extension (0.15s-0.2s): Full extension with heel strike\n * 4. Impact (0.2s): Maximum lateral extension\n * 5. Retraction (0.2s-0.35s): Return to chamber\n * 6. Recovery (0.35s-0.5s): Foot returns to ground, stance reset\n *\n * Duration: 500ms (30 frames @ 60fps)\n *\n * @korean 옆차기애니메이션\n */\nexport const SIDE_KICK_ANIMATION = AnimationBuilder.create(\"side_kick\")\n .withKoreanName(\"옆차기\")\n .withDuration(0.5)\n .withType(\"attack\")\n // Frame 1: Chamber with sideways turn\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.HIP_R, 1.3, 0, 0.3) // Lift and turn\n .rotate(BoneName.KNEE_R, -1.6, 0, 0) // Tight chamber\n .rotate(BoneName.PELVIS, 0, -1.57, 0) // Turn left (90 degrees)\n .rotate(BoneName.SPINE_LOWER, 0, -1.4, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -1.2, 0.2) // Lean away\n .rotate(BoneName.KNEE_L, -0.3, 0, 0) // Support leg adjusts\n .rotate(BoneName.FOOT_L, 0, 0, 0.1)\n .rotate(BoneName.SHOULDER_L, 0, 0, -1.2) // Arms for balance\n .rotate(BoneName.SHOULDER_R, 0, 0, 0.8)\n .position(BoneName.PELVIS, 0, -0.02, 0)\n .build()\n // Frame 2: Drive begins\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.HIP_R, 1.3, 0, 0.5) // Leg begins lateral extension\n .rotate(BoneName.KNEE_R, -1.0, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0.3, 0) // Heel positioning\n .rotate(BoneName.PELVIS, 0, -1.57, 0) // Hip thrust lateral\n .rotate(BoneName.SPINE_LOWER, 0, -1.4, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -1.2, 0.3)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0) // Support leg stabilizes\n .position(BoneName.FOOT_R, 0.4, 0, 0) // Lateral movement\n .build()\n // Frame 3: Full extension and impact\n .keyframe(0.2, \"linear\")\n .rotate(BoneName.HIP_R, 1.3, 0, 0.7) // Maximum lateral extension\n .rotate(BoneName.KNEE_R, -0.1, 0, 0) // Nearly straight\n .rotate(BoneName.FOOT_R, 0, 0.4, 0) // Heel strike position\n .rotate(BoneName.PELVIS, 0, -1.57, 0) // Maximum hip drive\n .rotate(BoneName.SPINE_LOWER, 0, -1.4, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -1.2, 0.4) // Maximum lean\n .rotate(BoneName.KNEE_L, -0.15, 0, 0) // Support leg extends\n .position(BoneName.FOOT_R, 0.7, 0, 0) // Maximum reach\n .position(BoneName.PELVIS, 0.1, 0, 0) // Slight lateral shift\n .build()\n // Frame 4: Retraction\n .keyframe(0.35, \"ease-in\")\n .rotate(BoneName.HIP_R, 1.3, 0, 0.3) // Return to chamber\n .rotate(BoneName.KNEE_R, -1.6, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, -1.2, 0) // Begin turning back\n .rotate(BoneName.SPINE_LOWER, 0, -1.0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -0.8, 0.2)\n .position(BoneName.FOOT_R, 0.3, 0, 0)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .build()\n // Frame 5: Recovery\n .keyframe(0.5, \"ease-in\")\n .rotate(BoneName.HIP_R, 0, 0, 0) // Return to neutral stance\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0, 0, 0.5)\n .rotate(BoneName.SHOULDER_R, 0, 0, -0.5)\n .position(BoneName.FOOT_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Elbow uppercut animation (팔꿈치 올려치기 - Palgumchi Ollyeochigi)\n *\n * Upward elbow strike from Hapkido, targeting chin/jaw area.\n * Close-range technique with explosive upward drive and leg spring.\n *\n * Animation phases:\n * 1. Crouch (0.0s): Lower stance, elbow chambers low\n * 2. Spring (0.05s): Legs drive upward with explosive force\n * 3. Drive (0.1s-0.12s): Elbow drives upward with hip thrust\n * 4. Impact (0.12s): Maximum upward extension at chin level\n * 5. Recovery (0.18s): Return to guard position\n *\n * Duration: 180ms (11 frames @ 60fps)\n *\n * @korean 팔꿈치올려치기애니메이션\n */\nexport const ELBOW_UPPERCUT_ANIMATION = AnimationBuilder.create(\n \"elbow_uppercut\",\n)\n .withKoreanName(\"팔꿈치올려치기\")\n .withDuration(0.18)\n .withType(\"attack\")\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_R, -0.3, 0, 0.5)\n .rotate(BoneName.ELBOW_R, 0, 0, 2.0)\n .rotate(BoneName.FOREARM_R, 0, -0.8, 0)\n .rotate(BoneName.KNEE_L, -0.5, 0, 0)\n .rotate(BoneName.KNEE_R, -0.5, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0.2, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.15, 0, 0)\n .rotate(BoneName.PELVIS, 0.1, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0, 0, 0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .position(BoneName.PELVIS, 0, -0.1, 0)\n .build()\n .keyframe(0.05, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, 0, 0, 0.8)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.FOREARM_R, 0, -0.5, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .position(BoneName.PELVIS, 0, -0.02, 0)\n .position(BoneName.ELBOW_R, 0, 0.2, 0.3)\n .build()\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 1.0)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n .rotate(BoneName.FOREARM_R, 0, -0.2, 0)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.KNEE_R, -0.1, 0, 0)\n .rotate(BoneName.PELVIS, -0.1, 0, 0)\n .rotate(BoneName.SPINE_LOWER, -0.05, 0, 0)\n .position(BoneName.PELVIS, 0, 0.05, 0.1)\n .position(BoneName.ELBOW_R, 0, 0.5, 0.4)\n .build()\n .keyframe(0.12, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0.8, 0, 1.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4)\n .rotate(BoneName.FOREARM_R, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.05, 0, 0)\n .rotate(BoneName.KNEE_R, -0.05, 0, 0)\n .rotate(BoneName.PELVIS, -0.15, 0, 0)\n .rotate(BoneName.SPINE_LOWER, -0.1, 0, 0)\n .rotate(BoneName.SPINE_UPPER, -0.05, 0, 0)\n .position(BoneName.PELVIS, 0, 0.08, 0.15)\n .position(BoneName.ELBOW_R, 0, 0.7, 0.5)\n .build()\n .keyframe(0.18, \"ease-in\")\n .rotate(BoneName.SHOULDER_R, 0, 0, -0.1)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .rotate(BoneName.FOREARM_R, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0, 0, 0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .position(BoneName.PELVIS, 0, 0, 0)\n .position(BoneName.ELBOW_R, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Axe kick animation (내려차기 - Naeryeochagi)\n *\n * Traditional Taekwondo downward axe kick targeting head/shoulder.\n * Leg rises high then chops downward with heel strike.\n *\n * Animation phases:\n * 1. Chamber (0.0s-0.15s): Leg rises high in front\n * 2. Peak (0.15s-0.2s): Maximum height, leg nearly vertical\n * 3. Chop (0.2s-0.3s): Leg descends rapidly with heel strike\n * 4. Impact (0.3s): Maximum downward force\n * 5. Recovery (0.3s-0.5s): Return to stance\n *\n * Duration: 500ms\n *\n * @korean 내려차기애니메이션\n */\nexport const AXE_KICK_ANIMATION = AnimationBuilder.create(\"axe_kick\")\n .withKoreanName(\"내려차기\")\n .withDuration(0.5)\n .withType(\"attack\")\n // Frame 1: Leg rises in front\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.HIP_R, 2.0, 0, 0) // High lift (>120 degrees)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0) // Nearly straight\n .rotate(BoneName.FOOT_R, 0.5, 0, 0) // Dorsiflexion\n .rotate(BoneName.KNEE_L, -0.3, 0, 0) // Support leg bent\n .rotate(BoneName.PELVIS, -0.2, 0, 0) // Tilts back\n .rotate(BoneName.SPINE_LOWER, -0.15, 0, 0)\n .rotate(BoneName.SPINE_UPPER, -0.1, 0, 0) // Lean back for balance\n .rotate(BoneName.SHOULDER_L, -0.8, 0.3, 0.4) // Guard position\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.SHOULDER_R, -0.8, -0.3, -0.4)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n .position(BoneName.PELVIS, 0, -0.05, -0.1)\n .build()\n // Frame 2: Peak height (nearly vertical)\n .keyframe(0.2, \"linear\")\n .rotate(BoneName.HIP_R, 2.5, 0, 0) // Maximum height (>140 degrees)\n .rotate(BoneName.KNEE_R, -0.1, 0, 0) // Fully extended\n .rotate(BoneName.FOOT_R, 0.6, 0, 0)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0)\n .rotate(BoneName.PELVIS, -0.25, 0, 0)\n .rotate(BoneName.SPINE_LOWER, -0.2, 0, 0)\n .rotate(BoneName.SPINE_UPPER, -0.15, 0, 0)\n .position(BoneName.FOOT_R, 0, 1.5, 0.3) // High above\n .position(BoneName.PELVIS, 0, -0.08, -0.15)\n .build()\n // Frame 3: Downward chop\n .keyframe(0.3, \"ease-in\")\n .rotate(BoneName.HIP_R, 0.8, 0, 0) // Descending rapidly\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.FOOT_R, -0.3, 0, 0) // Heel strike angle\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.PELVIS, 0.1, 0, 0) // Pelvis drives forward\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0.05, 0, 0)\n .position(BoneName.FOOT_R, 0, 0.5, 0.4) // Striking down\n .position(BoneName.PELVIS, 0, 0, 0.1)\n .build()\n // Frame 4: Recovery\n .keyframe(0.5, \"ease-in\")\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .position(BoneName.FOOT_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Back kick animation (뒤차기 - Dwichagi)\n *\n * Traditional Taekwondo spinning back kick with powerful heel thrust.\n * Turn 180 degrees and deliver straight back kick.\n *\n * Animation phases:\n * 1. Turn start (0.0s-0.1s): Begin spinning left\n * 2. Chamber (0.1s-0.15s): Look over shoulder, leg chambers\n * 3. Thrust (0.15s-0.2s): Heel drives backward\n * 4. Impact (0.2s-0.25s): Full extension\n * 5. Recovery (0.25s-0.45s): Complete rotation, return to stance\n *\n * Duration: 450ms\n *\n * @korean 뒤차기애니메이션\n */\nexport const BACK_KICK_ANIMATION = AnimationBuilder.create(\"back_kick\")\n .withKoreanName(\"뒤차기\")\n .withDuration(0.45)\n .withType(\"attack\")\n // Frame 1: Begin spin\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.PELVIS, 0, -1.5, 0) // Turn left ~90 degrees\n .rotate(BoneName.SPINE_LOWER, 0, -1.3, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -1.0, 0.1) // Look over shoulder\n .rotate(BoneName.HEAD, 0, 0.5, 0) // Look back at target\n .rotate(BoneName.HIP_R, 0.3, 0, 0) // Begin lift\n .rotate(BoneName.KNEE_R, -0.8, 0, 0) // Chamber\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.3, 0, -0.5)\n .rotate(BoneName.SHOULDER_R, 0.3, 0, 0.5)\n .position(BoneName.PELVIS, 0, -0.02, 0)\n .build()\n // Frame 2: Full chamber\n .keyframe(0.15, \"linear\")\n .rotate(BoneName.PELVIS, 0, -2.8, 0) // Turn ~160 degrees\n .rotate(BoneName.SPINE_LOWER, 0, -2.5, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -2.2, 0.15)\n .rotate(BoneName.HEAD, 0, 0.8, 0)\n .rotate(BoneName.HIP_R, 0.8, 0, 0) // Knee lifts\n .rotate(BoneName.KNEE_R, -1.5, 0, 0) // Tight chamber\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .position(BoneName.PELVIS, 0, -0.01, -0.05)\n .build()\n // Frame 3: Thrust backward\n .keyframe(0.2, \"ease-out\")\n .rotate(BoneName.PELVIS, 0, -3.14, 0) // Full 180 degrees\n .rotate(BoneName.SPINE_LOWER, 0, -3.0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -2.8, 0.2)\n .rotate(BoneName.HEAD, 0, 1.0, 0)\n .rotate(BoneName.HIP_R, 0.5, 0, 0) // Extends backward\n .rotate(BoneName.KNEE_R, -0.2, 0, 0) // Leg straightens\n .rotate(BoneName.FOOT_R, -0.4, 0, 0) // Heel strike\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .position(BoneName.FOOT_R, 0, 0, -0.8) // Thrust back\n .position(BoneName.PELVIS, 0, 0, 0.15)\n .build()\n // Frame 4: Impact\n .keyframe(0.25, \"linear\")\n .rotate(BoneName.PELVIS, 0, -3.14, 0)\n .rotate(BoneName.SPINE_LOWER, 0, -3.0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -2.8, 0.25)\n .rotate(BoneName.HIP_R, 0.3, 0, 0) // Full extension\n .rotate(BoneName.KNEE_R, -0.05, 0, 0) // Straight\n .rotate(BoneName.FOOT_R, -0.5, 0, 0)\n .position(BoneName.FOOT_R, 0, 0.2, -1.0) // Maximum reach\n .position(BoneName.PELVIS, 0, 0, 0.2)\n .build()\n // Frame 5: Recovery (complete rotation)\n .keyframe(0.45, \"ease-in\")\n .rotate(BoneName.PELVIS, 0, 0, 0) // Return to forward\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.HEAD, 0, 0, 0)\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .position(BoneName.FOOT_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Tornado kick animation (회오리차기 - Hoeori Chagi)\n *\n * 360-degree spinning kick with explosive roundhouse at peak rotation.\n *\n * Animation phases:\n * 1. Wind-up (0.0s-0.15s): Begin 360 spin\n * 2. Half turn (0.15s-0.25s): Continue rotation, leg chambers\n * 3. Kick (0.25s-0.35s): Roundhouse executes at peak rotation\n * 4. Complete spin (0.35s-0.55s): Finish rotation, land\n *\n * Duration: 550ms\n *\n * @korean 회오리차기애니메이션\n */\nexport const TORNADO_KICK_ANIMATION = AnimationBuilder.create(\"tornado_kick\")\n .withKoreanName(\"회오리차기\")\n .withDuration(0.55)\n .withType(\"attack\")\n // Frame 1: Begin spin\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.PELVIS, 0, -2.0, 0) // Spin ~115 degrees\n .rotate(BoneName.SPINE_LOWER, 0, -1.8, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -1.5, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, -0.2) // Pivot foot\n .rotate(BoneName.HIP_R, 0.4, 0, 0.3) // Leg begins lift\n .rotate(BoneName.KNEE_R, -0.8, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.5, 0, -0.5)\n .rotate(BoneName.SHOULDER_R, 0.5, 0, 0.5)\n .position(BoneName.PELVIS, 0, 0.1, 0) // Slight jump\n .build()\n // Frame 2: Continue spin, chamber\n .keyframe(0.25, \"linear\")\n .rotate(BoneName.PELVIS, 0, -4.0, 0) // Spin ~230 degrees\n .rotate(BoneName.SPINE_LOWER, 0, -3.8, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -3.5, 0)\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .rotate(BoneName.FOOT_L, 0, 0, -0.3)\n .rotate(BoneName.HIP_R, 1.2, 0, 0.8) // Chamber for roundhouse\n .rotate(BoneName.KNEE_R, -1.5, 0, 0)\n .position(BoneName.PELVIS, 0, 0.15, 0) // Jump peak\n .build()\n // Frame 3: Execute kick at peak rotation\n .keyframe(0.35, \"ease-out\")\n .rotate(BoneName.PELVIS, 0, -5.5, 0) // Spin ~315 degrees\n .rotate(BoneName.SPINE_LOWER, 0, -5.3, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -5.0, 0.3)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.HIP_R, 1.2, 0, 1.6) // Full roundhouse extension\n .rotate(BoneName.KNEE_R, -0.1, 0, 0)\n .rotate(BoneName.FOOT_R, 0.4, 0, 0.3)\n .position(BoneName.FOOT_R, 0.8, 0, 0) // Lateral strike\n .position(BoneName.PELVIS, 0, 0.1, 0) // Descending\n .build()\n // Frame 4: Complete rotation and land\n .keyframe(0.55, \"ease-in\")\n .rotate(BoneName.PELVIS, 0, -6.28, 0) // Full 360 degrees\n .rotate(BoneName.SPINE_LOWER, 0, -6.28, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -6.28, 0)\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0) // Absorb landing\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .position(BoneName.FOOT_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, -0.05, 0) // Land\n .build()\n .build();\n\n/**\n * Jumping kick animation (뛰어차기 - Ttwieo Chagi)\n *\n * Jumping front kick with explosive upward momentum.\n *\n * Animation phases:\n * 1. Crouch (0.0s-0.1s): Load legs for jump\n * 2. Jump (0.1s-0.2s): Explosive upward, front kick chambers\n * 3. Kick (0.2s-0.3s): Front kick at peak height\n * 4. Retract (0.3s-0.4s): Leg pulls back\n * 5. Land (0.4s-0.5s): Absorb landing\n *\n * Duration: 500ms\n *\n * @korean 뛰어차기애니메이션\n */\nexport const JUMPING_KICK_ANIMATION = AnimationBuilder.create(\"jumping_kick\")\n .withKoreanName(\"뛰어차기\")\n .withDuration(0.5)\n .withType(\"attack\")\n // Frame 1: Crouch to load\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.KNEE_L, -0.6, 0, 0)\n .rotate(BoneName.KNEE_R, -0.6, 0, 0)\n .rotate(BoneName.PELVIS, 0.1, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.3, 0, -0.5)\n .rotate(BoneName.SHOULDER_R, 0.3, 0, 0.5)\n .position(BoneName.PELVIS, 0, -0.15, 0)\n .build()\n // Frame 2: Jump and chamber\n .keyframe(0.2, \"ease-out\")\n .rotate(BoneName.KNEE_L, -0.1, 0, 0) // Jump leg extends\n .rotate(BoneName.HIP_R, 1.6, 0, 0) // Chamber\n .rotate(BoneName.KNEE_R, -2.0, 0, 0)\n .rotate(BoneName.PELVIS, -0.1, 0, 0)\n .rotate(BoneName.SPINE_LOWER, -0.05, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.9, 0.3, 0.4)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.SHOULDER_R, -0.9, -0.3, -0.4)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n .position(BoneName.PELVIS, 0, 0.3, 0) // Airborne\n .build()\n // Frame 3: Kick extends at peak\n .keyframe(0.3, \"linear\")\n .rotate(BoneName.KNEE_L, -0.05, 0, 0)\n .rotate(BoneName.HIP_R, 1.7, 0, 0)\n .rotate(BoneName.KNEE_R, 0.1, 0, 0) // Full extension\n .rotate(BoneName.FOOT_R, 0.5, 0, 0) // Dorsiflexion\n .rotate(BoneName.PELVIS, 0.15, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0)\n .position(BoneName.PELVIS, 0, 0.35, 0.1) // Peak height\n .build()\n // Frame 4: Retract\n .keyframe(0.4, \"ease-in\")\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.HIP_R, 1.4, 0, 0)\n .rotate(BoneName.KNEE_R, -1.5, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0.15, 0) // Descending\n .build()\n // Frame 5: Land\n .keyframe(0.5, \"ease-in\")\n .rotate(BoneName.KNEE_L, -0.35, 0, 0) // Absorb landing\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .position(BoneName.PELVIS, 0, -0.05, 0)\n .build()\n .build();\n\n/**\n * Sweep animation (다리걸기 - Dari Geolgi)\n *\n * Low sweeping kick targeting opponent's ankles for takedown.\n *\n * Animation phases:\n * 1. Drop (0.0s-0.1s): Lower stance, weight on one leg\n * 2. Sweep (0.1s-0.2s): Leg sweeps low in arc\n * 3. Follow through (0.2s-0.3s): Complete sweep arc\n * 4. Recovery (0.3s-0.45s): Return to stance\n *\n * Duration: 450ms\n *\n * @korean 다리걸기애니메이션\n */\nexport const SWEEP_ANIMATION = AnimationBuilder.create(\"sweep\")\n .withKoreanName(\"다리걸기\")\n .withDuration(0.45)\n .withType(\"attack\")\n // Frame 1: Drop low\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.KNEE_L, -1.2, 0, 0) // Deep crouch\n .rotate(BoneName.KNEE_R, -0.3, 0, 0) // Sweep leg lighter\n .rotate(BoneName.PELVIS, 0.2, 0, 0) // Lean forward\n .rotate(BoneName.SPINE_LOWER, 0.3, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0.4, 0, 0)\n .rotate(BoneName.SHOULDER_L, 0.6, 0, -0.8) // Arms for balance\n .rotate(BoneName.SHOULDER_R, 0.6, 0, 0.8)\n .position(BoneName.PELVIS, 0, -0.3, 0) // Low position\n .build()\n // Frame 2: Sweep begins\n .keyframe(0.2, \"ease-out\")\n .rotate(BoneName.KNEE_L, -1.3, 0, 0)\n .rotate(BoneName.HIP_R, 0.3, 0, 1.0) // Leg sweeps outward\n .rotate(BoneName.KNEE_R, -0.2, 0, 0) // Nearly straight\n .rotate(BoneName.FOOT_R, 0, 0, 0.3) // Foot sweeps\n .rotate(BoneName.PELVIS, 0.25, -0.5, 0) // Rotate into sweep\n .rotate(BoneName.SPINE_LOWER, 0.35, -0.4, 0)\n .rotate(BoneName.SPINE_UPPER, 0.45, -0.3, 0)\n .position(BoneName.FOOT_R, 0.5, 0, 0) // Lateral sweep\n .position(BoneName.PELVIS, 0, -0.35, 0)\n .build()\n // Frame 3: Follow through\n .keyframe(0.3, \"linear\")\n .rotate(BoneName.KNEE_L, -1.2, 0, 0)\n .rotate(BoneName.HIP_R, 0.5, 0, 1.5) // Maximum sweep\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0.4)\n .rotate(BoneName.PELVIS, 0.3, -0.8, 0)\n .rotate(BoneName.SPINE_LOWER, 0.4, -0.6, 0)\n .rotate(BoneName.SPINE_UPPER, 0.5, -0.4, 0)\n .position(BoneName.FOOT_R, 0.8, -0.1, 0) // Low and wide\n .position(BoneName.PELVIS, 0.1, -0.3, 0)\n .build()\n // Frame 4: Recovery\n .keyframe(0.45, \"ease-in\")\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .position(BoneName.FOOT_R, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Throw animation (던지기 - Deonjigi)\n *\n * Hapkido/Judo style hip throw technique.\n *\n * Animation phases:\n * 1. Entry (0.0s-0.15s): Step in, grab opponent\n * 2. Load (0.15s-0.25s): Hip under opponent\n * 3. Throw (0.25s-0.4s): Execute throw over hip\n * 4. Recovery (0.4s-0.55s): Return to stance\n *\n * Duration: 550ms\n *\n * @korean 던지기애니메이션\n */\nexport const THROW_ANIMATION = AnimationBuilder.create(\"throw\")\n .withKoreanName(\"던지기\")\n .withDuration(0.55)\n .withType(\"attack\")\n // Frame 1: Entry and grab\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.6, 0.5, -0.3) // Reach for collar\n .rotate(BoneName.ELBOW_L, 0, 0, -1.0)\n .rotate(BoneName.SHOULDER_R, 0.8, -0.3, 0.2) // Reach for sleeve/hip\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .rotate(BoneName.PELVIS, 0, 0.8, 0) // Turn into opponent\n .rotate(BoneName.SPINE_LOWER, 0, 0.7, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.5, 0)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0) // Step in\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .position(BoneName.PELVIS, 0, -0.05, 0.2) // Move into opponent\n .build()\n // Frame 2: Load hip under opponent\n .keyframe(0.25, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0.3, 0.7, -0.5) // Pull collar\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3)\n .rotate(BoneName.SHOULDER_R, 0.5, -0.5, 0.4) // Pull sleeve\n .rotate(BoneName.ELBOW_R, 0, 0, 1.0)\n .rotate(BoneName.PELVIS, 0.2, 1.2, 0) // Hip under, body turns\n .rotate(BoneName.SPINE_LOWER, 0.3, 1.0, 0)\n .rotate(BoneName.SPINE_UPPER, 0.4, 0.8, 0)\n .rotate(BoneName.KNEE_L, -0.6, 0, 0) // Knees bend to get under\n .rotate(BoneName.KNEE_R, -0.5, 0, 0)\n .position(BoneName.PELVIS, 0, -0.15, 0.15)\n .build()\n // Frame 3: Execute throw\n .keyframe(0.4, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, -0.4, 0.8, -0.8) // Drive down with pull\n .rotate(BoneName.ELBOW_L, 0, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, -0.2, -0.6, 0.6) // Lift and rotate\n .rotate(BoneName.ELBOW_R, 0, 0, 0.6)\n .rotate(BoneName.PELVIS, 0.5, 1.8, 0) // Hip drives through\n .rotate(BoneName.SPINE_LOWER, 0.6, 1.5, 0)\n .rotate(BoneName.SPINE_UPPER, 0.7, 1.2, -0.2) // Bend forward\n .rotate(BoneName.KNEE_L, -0.3, 0, 0) // Legs straighten for lift\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .position(BoneName.PELVIS, 0, 0.05, 0.1)\n .build()\n // Frame 4: Recovery\n .keyframe(0.55, \"ease-in\")\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Grapple animation (잡기/꺾기 - Japgi/Kkeokgi)\n *\n * Joint lock/grapple technique from Hapkido.\n *\n * Animation phases:\n * 1. Catch (0.0s-0.12s): Grab opponent's arm\n * 2. Control (0.12s-0.25s): Apply joint pressure\n * 3. Lock (0.25s-0.4s): Full joint lock applied\n * 4. Hold (0.4s-0.5s): Maintain control\n *\n * Duration: 500ms\n *\n * @korean 잡기꺾기애니메이션\n */\nexport const GRAPPLE_ANIMATION = AnimationBuilder.create(\"grapple\")\n .withKoreanName(\"잡기/꺾기\")\n .withDuration(0.5)\n .withType(\"attack\")\n // Frame 1: Catch arm\n .keyframe(0.12, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.4, 0.6, -0.2) // Both hands reach\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.WRIST_L, 0, -0.3, 0) // Rotate to grab\n .rotate(BoneName.SHOULDER_R, 0.6, -0.4, 0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.8)\n .rotate(BoneName.WRIST_R, 0, 0.3, 0)\n .rotate(BoneName.PELVIS, 0, 0.3, 0) // Body turns slightly\n .rotate(BoneName.SPINE_LOWER, 0, 0.25, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.2, -0.1)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .position(BoneName.PELVIS, 0, -0.03, 0.1)\n .build()\n // Frame 2: Apply control\n .keyframe(0.25, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0.2, 0.8, -0.4) // Pull down\n .rotate(BoneName.ELBOW_L, 0, 0, -1.5)\n .rotate(BoneName.WRIST_L, 0, -0.5, -0.3)\n .rotate(BoneName.SHOULDER_R, 0.3, -0.6, 0.5) // Rotate opponent's arm\n .rotate(BoneName.ELBOW_R, 0, 0, 1.2)\n .rotate(BoneName.WRIST_R, 0, 0.5, 0.2)\n .rotate(BoneName.PELVIS, 0.1, 0.5, 0)\n .rotate(BoneName.SPINE_LOWER, 0.15, 0.4, 0)\n .rotate(BoneName.SPINE_UPPER, 0.2, 0.3, -0.15)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .position(BoneName.PELVIS, 0, -0.08, 0.08)\n .build()\n // Frame 3: Lock position\n .keyframe(0.4, \"ease-in\")\n .rotate(BoneName.SHOULDER_L, -0.1, 1.0, -0.6) // Secure lock\n .rotate(BoneName.ELBOW_L, 0, 0, -1.7)\n .rotate(BoneName.WRIST_L, 0, -0.6, -0.4)\n .rotate(BoneName.SHOULDER_R, 0.1, -0.8, 0.7)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4)\n .rotate(BoneName.WRIST_R, 0, 0.6, 0.3)\n .rotate(BoneName.PELVIS, 0.15, 0.6, 0)\n .rotate(BoneName.SPINE_LOWER, 0.2, 0.5, 0)\n .rotate(BoneName.SPINE_UPPER, 0.25, 0.4, -0.2)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .position(BoneName.PELVIS, 0, -0.1, 0.05)\n .build()\n // Frame 4: Hold\n .keyframe(0.5, \"linear\")\n .rotate(BoneName.SHOULDER_L, -0.1, 1.0, -0.6)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.7)\n .rotate(BoneName.SHOULDER_R, 0.1, -0.8, 0.7)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4)\n .rotate(BoneName.PELVIS, 0.15, 0.6, 0)\n .rotate(BoneName.SPINE_LOWER, 0.2, 0.5, 0)\n .rotate(BoneName.SPINE_UPPER, 0.25, 0.4, -0.2)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .position(BoneName.PELVIS, 0, -0.1, 0.05)\n .build()\n .build();\n\n/**\n * Counter attack animation (반격 - Bangyeok)\n *\n * Parry and counter technique from Hapkido.\n *\n * Animation phases:\n * 1. Parry (0.0s-0.1s): Deflect incoming attack\n * 2. Redirect (0.1s-0.18s): Guide opponent's momentum\n * 3. Counter (0.18s-0.28s): Strike to vulnerable point\n * 4. Recovery (0.28s-0.4s): Return to guard\n *\n * Duration: 400ms\n *\n * @korean 반격애니메이션\n */\nexport const COUNTER_ATTACK_ANIMATION = AnimationBuilder.create(\n \"counter_attack\",\n)\n .withKoreanName(\"반격\")\n .withDuration(0.4)\n .withType(\"attack\")\n // Frame 1: Parry\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.2, 0.5, -0.8) // Parry hand\n .rotate(BoneName.ELBOW_L, 0, 0, -0.8)\n .rotate(BoneName.WRIST_L, 0, 0.4, 0)\n .rotate(BoneName.SHOULDER_R, 0, 0, 0.5) // Ready to strike\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n .rotate(BoneName.PELVIS, 0, -0.3, 0) // Turn away from attack\n .rotate(BoneName.SPINE_LOWER, 0, -0.25, 0)\n .rotate(BoneName.SPINE_UPPER, 0, -0.2, 0)\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .position(BoneName.PELVIS, 0, -0.02, -0.1) // Slight retreat\n .build()\n // Frame 2: Redirect\n .keyframe(0.18, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0.3, 0.8, -0.5) // Guide opponent\n .rotate(BoneName.ELBOW_L, 0, 0, -1.0)\n .rotate(BoneName.WRIST_L, 0, 0.3, -0.2)\n .rotate(BoneName.SHOULDER_R, 0.2, 0, 0) // Chamber counter\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.PELVIS, 0, 0.2, 0) // Begin rotation into counter\n .rotate(BoneName.SPINE_LOWER, 0, 0.15, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.1, 0)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .build()\n // Frame 3: Counter strike\n .keyframe(0.28, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.1, 0.5, -0.3) // Maintain control\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.SHOULDER_R, -0.5, 0, 0.4) // Drive counter\n .rotate(BoneName.ELBOW_R, 0, 0, 0.3)\n .rotate(BoneName.WRIST_R, 0, 0, -0.2)\n .rotate(BoneName.PELVIS, 0, 0.5, 0) // Full rotation into strike\n .rotate(BoneName.SPINE_LOWER, 0, 0.4, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.3, 0)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0.1)\n .build()\n // Frame 4: Recovery\n .keyframe(0.4, \"ease-in\")\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Palm strike animation (장권 - Janggwon)\n *\n * Open palm heel strike from Taekwondo.\n *\n * Animation phases:\n * 1. Chamber (0.0s-0.08s): Palm pulls back\n * 2. Drive (0.08s-0.15s): Hip rotation and palm drives forward\n * 3. Impact (0.15s-0.18s): Maximum extension\n * 4. Recovery (0.18s-0.3s): Return to guard\n *\n * Duration: 300ms\n *\n * @korean 장권애니메이션\n */\nexport const PALM_STRIKE_ANIMATION = AnimationBuilder.create(\"palm_strike\")\n .withKoreanName(\"장권\")\n .withDuration(0.3)\n .withType(\"attack\")\n // Frame 1: Chamber\n .keyframe(0.08, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0.2, 0, -0.3) // Pull back\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n .rotate(BoneName.WRIST_R, -0.8, 0, 0) // Palm faces forward\n .rotate(BoneName.SPINE_UPPER, 0, -0.2, 0) // Wind up\n .rotate(BoneName.SPINE_MIDDLE, 0, -0.15, 0)\n .rotate(BoneName.PELVIS, 0, -0.1, 0)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2) // Guard\n .build()\n // Frame 2: Drive\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, -0.5, 0, 0.4) // Drive forward\n .rotate(BoneName.ELBOW_R, 0, 0, 0.3) // Extend\n .rotate(BoneName.WRIST_R, -0.6, 0, 0) // Heel of palm forward\n .rotate(BoneName.SPINE_UPPER, 0, 0.3, 0) // Torso rotates\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.25, 0)\n .rotate(BoneName.PELVIS, 0, 0.2, 0)\n .build()\n // Frame 3: Impact\n .keyframe(0.18, \"linear\")\n .rotate(BoneName.SHOULDER_R, -0.7, 0, 0.5) // Full extension\n .rotate(BoneName.ELBOW_R, 0, 0, 0.05)\n .rotate(BoneName.WRIST_R, -0.5, 0, 0.1)\n .rotate(BoneName.SPINE_UPPER, 0, 0.4, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.35, 0)\n .rotate(BoneName.PELVIS, 0, 0.25, 0)\n .build()\n // Frame 4: Recovery\n .keyframe(0.3, \"ease-in\")\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.WRIST_R, 0, 0, 0)\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Hook punch animation (후크 - 횡타)\n *\n * Circular punch targeting the side of the head. Power technique.\n *\n * Animation phases:\n * 1. Wind-up (0.0s): Arm pulls to side\n * 2. Arc swing (0.1s): Arm swings in horizontal arc\n * 3. Impact (0.15s): Fist connects at temple level\n * 4. Recovery (0.3s): Return to guard\n *\n * Duration: 300ms\n *\n * @korean 후크애니메이션\n */\nexport const HOOK_ANIMATION = AnimationBuilder.create(\"hook\")\n .withKoreanName(\"후크\")\n .withDuration(0.3)\n .withType(\"attack\")\n // Wind-up: arm pulls back and to side\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0.1, -0.6, -0.5) // Shoulder rotated out\n .rotate(BoneName.ELBOW_R, 0, 0, 1.57) // 90° bend\n .rotate(BoneName.SPINE_UPPER, 0, -0.3, 0) // Torso twisted back\n .rotate(BoneName.PELVIS, 0, -0.2, 0) // Hip loaded\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2) // Guard\n .build()\n // Arc swing: horizontal sweep\n .keyframe(0.1, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, 0, 0.4, 0.3) // Shoulder drives across\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4) // Elbow stays bent\n .rotate(BoneName.SPINE_UPPER, 0, 0.4, 0) // Torso rotates into punch\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.3, 0)\n .rotate(BoneName.PELVIS, 0, 0.25, 0) // Hip rotation for power\n .build()\n // Impact: full rotation\n .keyframe(0.15, \"linear\")\n .rotate(BoneName.SHOULDER_R, -0.1, 0.6, 0.4) // Full horizontal\n .rotate(BoneName.ELBOW_R, 0, 0, 1.35) // Elbow locked at angle\n .rotate(BoneName.WRIST_R, 0, 0.2, 0) // Wrist aligned\n .rotate(BoneName.SPINE_UPPER, 0, 0.5, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.4, 0)\n .rotate(BoneName.PELVIS, 0, 0.35, 0)\n .build()\n // Recovery: return to guard\n .keyframe(0.3, \"ease-in\")\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Low kick animation (하단차기 - 낮은차기)\n *\n * Low sweeping kick targeting opponent's thighs or calves.\n * Used to destabilize and damage legs.\n *\n * Animation phases:\n * 1. Chamber (0.0s): Small knee lift\n * 2. Swing (0.12s): Leg sweeps low horizontally\n * 3. Impact (0.18s): Shin connects at thigh height\n * 4. Recovery (0.35s): Return to stance\n *\n * Duration: 350ms\n *\n * @korean 하단차기애니메이션\n */\nexport const LOW_KICK_ANIMATION = AnimationBuilder.create(\"low_kick\")\n .withKoreanName(\"하단차기\")\n .withDuration(0.35)\n .withType(\"attack\")\n // Chamber: small lift\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.HIP_R, 0.5, 0, 0.3) // Low hip flexion\n .rotate(BoneName.KNEE_R, -0.8, 0, 0) // Knee bent\n .rotate(BoneName.KNEE_L, -0.2, 0, 0) // Support knee bent\n .rotate(BoneName.PELVIS, 0, -0.2, 0) // Slight turn\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3) // High guard\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .build()\n // Swing: low horizontal sweep\n .keyframe(0.12, \"ease-out\")\n .rotate(BoneName.HIP_R, 0.4, 0, 1.2) // Hip rotates out\n .rotate(BoneName.KNEE_R, -0.3, 0, 0) // Leg extends\n .rotate(BoneName.FOOT_R, 0.2, 0, 0.2) // Ankle pointed\n .rotate(BoneName.PELVIS, 0, -0.8, 0) // Full hip rotation\n .rotate(BoneName.SPINE_UPPER, 0, 0.4, 0) // Counter-rotate\n .rotate(BoneName.KNEE_L, -0.4, 0, 0) // Lower for stability\n .build()\n // Impact: shin at thigh height\n .keyframe(0.18, \"linear\")\n .rotate(BoneName.HIP_R, 0.3, 0, 1.5) // Full rotation\n .rotate(BoneName.KNEE_R, -0.15, 0, 0) // Nearly straight\n .rotate(BoneName.FOOT_R, 0.3, 0, 0.3)\n .rotate(BoneName.PELVIS, 0, -1.2, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0.6, 0)\n .build()\n // Recovery: return to stance\n .keyframe(0.35, \"ease-in\")\n .rotate(BoneName.HIP_R, 0, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.FOOT_R, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .build()\n .build();\n\n/**\n * Slam animation (슬램 - 내던지기)\n *\n * Powerful lifting and slamming throw. High damage grappling technique.\n *\n * Animation phases:\n * 1. Clinch (0.0s): Grab and secure opponent\n * 2. Lift (0.2s): Hoist opponent up\n * 3. Slam (0.35s): Drive opponent down\n * 4. Recovery (0.5s): Return to stance\n *\n * Duration: 500ms\n *\n * @korean 슬램애니메이션\n */\nexport const SLAM_ANIMATION = AnimationBuilder.create(\"slam\")\n .withKoreanName(\"슬램\")\n .withDuration(0.5)\n .withType(\"attack\")\n // Clinch: grab opponent\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0.6, 0.4, -0.5) // Arms wrap around\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3)\n .rotate(BoneName.SHOULDER_R, 0.6, -0.4, 0.5)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0) // Deep stance\n .rotate(BoneName.KNEE_R, -0.4, 0, 0)\n .rotate(BoneName.PELVIS, 0.2, 0, 0) // Lean in\n .build()\n // Lift: hoist up\n .keyframe(0.2, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.9, 0.2, -0.3) // Arms lift high\n .rotate(BoneName.ELBOW_L, 0, 0, -0.8)\n .rotate(BoneName.SHOULDER_R, 0.9, -0.2, 0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 0.8)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0) // Standing tall\n .rotate(BoneName.KNEE_R, -0.1, 0, 0)\n .rotate(BoneName.PELVIS, -0.3, 0, 0) // Lean back\n .rotate(BoneName.SPINE_UPPER, -0.2, 0, 0) // Arched back\n .position(BoneName.PELVIS, 0, 0.1, 0) // Slight rise\n .build()\n // Slam: drive down\n .keyframe(0.35, \"ease-in\")\n .rotate(BoneName.SHOULDER_L, 0.3, 0.3, -0.6) // Arms drive down\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.SHOULDER_R, 0.3, -0.3, 0.6)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4)\n .rotate(BoneName.KNEE_L, -0.6, 0, 0) // Deep squat\n .rotate(BoneName.KNEE_R, -0.6, 0, 0)\n .rotate(BoneName.PELVIS, 0.4, 0, 0) // Lean forward\n .rotate(BoneName.SPINE_UPPER, 0.3, 0, 0) // Forward bend\n .rotate(BoneName.SPINE_MIDDLE, 0.2, 0, 0)\n .position(BoneName.PELVIS, 0, -0.15, 0.2) // Low position\n .build()\n // Recovery\n .keyframe(0.5, \"ease-in\")\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .build()\n .build();\n\n/**\n * Wrist lock animation (손목꺾기 - 손목관절기)\n *\n * Joint lock targeting the wrist. Painful control technique.\n *\n * Animation phases:\n * 1. Grab (0.0s): Secure opponent's wrist\n * 2. Control (0.15s): Two-hand grip\n * 3. Lock (0.3s): Apply rotational pressure\n * 4. Hold (0.4s): Maintain lock position\n *\n * Duration: 400ms\n *\n * @korean 손목꺾기애니메이션\n */\nexport const WRIST_LOCK_ANIMATION = AnimationBuilder.create(\"wrist_lock\")\n .withKoreanName(\"손목꺾기\")\n .withDuration(0.4)\n .withType(\"attack\")\n // Grab: secure wrist\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0.4, 0, 0.2) // Reach forward\n .rotate(BoneName.ELBOW_R, 0, 0, 0.6) // Arm extended\n .rotate(BoneName.WRIST_R, 0, -0.3, 0) // Palm faces opponent\n .rotate(BoneName.SHOULDER_L, 0.3, 0.2, -0.1) // Support hand\n .rotate(BoneName.ELBOW_L, 0, 0, -0.8)\n .rotate(BoneName.KNEE_L, -0.3, 0, 0) // Stable stance\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .build()\n // Control: two-hand grip\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, 0.2, 0.3, 0.4) // Hands come together\n .rotate(BoneName.ELBOW_R, 0, 0, 1.0)\n .rotate(BoneName.WRIST_R, 0.3, -0.4, 0.2) // Grip position\n .rotate(BoneName.SHOULDER_L, 0.3, 0.4, -0.3) // Both hands on wrist\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.WRIST_L, -0.2, 0.3, 0)\n .rotate(BoneName.PELVIS, 0, 0.2, 0) // Body turns\n .rotate(BoneName.SPINE_UPPER, 0, 0.15, 0)\n .build()\n // Lock: apply pressure\n .keyframe(0.3, \"ease-in\")\n .rotate(BoneName.SHOULDER_R, -0.1, 0.5, 0.6) // Rotate wrist down\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .rotate(BoneName.WRIST_R, 0.5, -0.5, 0.4) // Twist\n .rotate(BoneName.SHOULDER_L, 0.1, 0.6, -0.4) // Counter-pressure\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.WRIST_L, -0.3, 0.4, -0.2)\n .rotate(BoneName.PELVIS, 0, 0.4, 0) // Body supports lock\n .rotate(BoneName.SPINE_UPPER, 0.1, 0.3, 0) // Lean in\n .rotate(BoneName.KNEE_L, -0.4, 0, 0) // Lower for control\n .build()\n // Hold: maintain position\n .keyframe(0.4, \"linear\")\n .rotate(BoneName.SHOULDER_R, -0.1, 0.5, 0.6)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n .rotate(BoneName.WRIST_R, 0.5, -0.5, 0.4)\n .rotate(BoneName.SHOULDER_L, 0.1, 0.6, -0.4)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.WRIST_L, -0.3, 0.4, -0.2)\n .rotate(BoneName.PELVIS, 0, 0.4, 0)\n .rotate(BoneName.SPINE_UPPER, 0.1, 0.3, 0)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .build()\n .build();\n\n/**\n * Arm bar animation (팔꺾기 - 팔관절기)\n *\n * Arm lock submission technique. Hyperextends the elbow.\n *\n * Animation phases:\n * 1. Grab (0.0s): Secure opponent's arm\n * 2. Control (0.2s): Pull arm across body\n * 3. Drop (0.35s): Go to ground position\n * 4. Lock (0.5s): Apply elbow pressure\n *\n * Duration: 500ms\n *\n * @korean 팔꺾기애니메이션\n */\nexport const ARM_BAR_ANIMATION = AnimationBuilder.create(\"arm_bar\")\n .withKoreanName(\"팔꺾기\")\n .withDuration(0.5)\n .withType(\"attack\")\n // Grab: secure arm\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_R, 0.5, 0.3, 0.3) // Reach for arm\n .rotate(BoneName.ELBOW_R, 0, 0, 0.8)\n .rotate(BoneName.SHOULDER_L, 0.4, -0.2, -0.2) // Support hand\n .rotate(BoneName.ELBOW_L, 0, 0, -0.9)\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .build()\n // Control: pull across\n .keyframe(0.2, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, 0.2, 0.6, 0.5) // Arms wrap arm\n .rotate(BoneName.ELBOW_R, 0, 0, 1.4)\n .rotate(BoneName.SHOULDER_L, 0.3, 0.5, -0.4)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3)\n .rotate(BoneName.PELVIS, 0.2, 0.5, 0) // Turn body\n .rotate(BoneName.SPINE_UPPER, 0.1, 0.4, 0)\n .build()\n // Drop: go to ground\n .keyframe(0.35, \"ease-in\")\n .rotate(BoneName.SHOULDER_R, -0.2, 0.8, 0.7)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n .rotate(BoneName.SHOULDER_L, 0.1, 0.7, -0.5)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.5)\n .rotate(BoneName.PELVIS, 0.8, 0.3, 0) // Lean back for drop\n .rotate(BoneName.SPINE_UPPER, 0.6, 0.2, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0.4, 0.1, 0)\n .rotate(BoneName.HIP_R, 1.2, 0, 0.3) // Legs go up\n .rotate(BoneName.KNEE_R, -0.5, 0, 0)\n .rotate(BoneName.HIP_L, 1.0, 0, -0.2)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .position(BoneName.PELVIS, 0, -0.3, 0) // Lower position\n .build()\n // Lock: apply pressure\n .keyframe(0.5, \"linear\")\n .rotate(BoneName.SHOULDER_R, -0.3, 0.9, 0.8)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n .rotate(BoneName.SHOULDER_L, 0, 0.8, -0.6)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.6)\n .rotate(BoneName.PELVIS, 1.0, 0.2, 0) // Full recline\n .rotate(BoneName.SPINE_UPPER, 0.7, 0.15, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0.5, 0.1, 0)\n .rotate(BoneName.HIP_R, 1.4, 0, 0.4) // Legs over opponent\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.HIP_L, 1.2, 0, -0.3)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .position(BoneName.PELVIS, 0, -0.4, -0.1) // Ground position\n .build()\n .build();\n\n/**\n * Counter strike animation (반격 - 반격타격)\n *\n * Quick counter-attack after parrying. Exploits opponent's opening.\n *\n * Animation phases:\n * 1. Parry (0.0s): Deflect incoming attack\n * 2. Open (0.08s): Create opening\n * 3. Strike (0.15s): Fast counter punch\n * 4. Recovery (0.25s): Return to guard\n *\n * Duration: 250ms\n *\n * @korean 반격애니메이션\n */\nexport const COUNTER_STRIKE_ANIMATION = AnimationBuilder.create(\n \"counter_strike\",\n)\n .withKoreanName(\"반격\")\n .withDuration(0.25)\n .withType(\"attack\")\n // Parry: deflect\n .keyframe(0.0, \"linear\")\n .rotate(BoneName.SHOULDER_L, 0.2, 0.5, -0.6) // Parrying arm\n .rotate(BoneName.ELBOW_L, 0, 0, -0.9)\n .rotate(BoneName.WRIST_L, 0, 0.3, 0) // Palm out\n .rotate(BoneName.SHOULDER_R, 0.1, 0, -0.2) // Counter arm ready\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n .rotate(BoneName.PELVIS, 0, -0.2, 0) // Slight turn\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .build()\n // Open: create gap\n .keyframe(0.08, \"ease-out\")\n .rotate(BoneName.SHOULDER_L, 0.3, 0.7, -0.5) // Push away\n .rotate(BoneName.ELBOW_L, 0, 0, -0.7)\n .rotate(BoneName.SHOULDER_R, 0.2, 0, -0.3) // Load counter\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n .rotate(BoneName.SPINE_UPPER, 0, -0.2, 0)\n .rotate(BoneName.PELVIS, 0, -0.15, 0)\n .build()\n // Strike: counter punch\n .keyframe(0.15, \"ease-out\")\n .rotate(BoneName.SHOULDER_R, -0.6, 0, 0.4) // Fast extension\n .rotate(BoneName.ELBOW_R, 0, 0, 0.1) // Full extend\n .rotate(BoneName.WRIST_R, 0, 0, -0.2)\n .rotate(BoneName.SHOULDER_L, 0.1, 0.3, -0.4) // Guard returns\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2)\n .rotate(BoneName.SPINE_UPPER, 0, 0.35, 0) // Torso rotates\n .rotate(BoneName.SPINE_MIDDLE, 0, 0.25, 0)\n .rotate(BoneName.PELVIS, 0, 0.2, 0)\n .build()\n // Recovery: guard\n .keyframe(0.25, \"ease-in\")\n .rotate(BoneName.SHOULDER_R, -0.6, -0.4, -0.3)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.8)\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.8)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .rotate(BoneName.SPINE_MIDDLE, 0, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.WRIST_R, 0, 0, 0)\n .build()\n .build();\n\n/**\n * All skeletal animations mapped by name\n *\n * Includes attack, defense, movement, and idle animations.\n *\n * @korean 모든골격애니메이션\n */\nexport const ATTACK_ANIMATIONS = new Map<string, SkeletalAnimation>([\n [\"jab\", JAB_ANIMATION],\n [\"cross\", CROSS_ANIMATION],\n [\"hook\", HOOK_ANIMATION],\n [\"front_kick\", FRONT_KICK_ANIMATION],\n [\"roundhouse_kick\", ROUNDHOUSE_KICK_ANIMATION],\n [\"side_kick\", SIDE_KICK_ANIMATION],\n [\"axe_kick\", AXE_KICK_ANIMATION],\n [\"back_kick\", BACK_KICK_ANIMATION],\n [\"tornado_kick\", TORNADO_KICK_ANIMATION],\n [\"jumping_kick\", JUMPING_KICK_ANIMATION],\n [\"low_kick\", LOW_KICK_ANIMATION],\n [\"elbow_strike\", ELBOW_STRIKE_ANIMATION],\n [\"elbow_uppercut\", ELBOW_UPPERCUT_ANIMATION],\n [\"knee_strike\", KNEE_STRIKE_ANIMATION],\n [\"block\", BLOCK_ANIMATION],\n [\"sweep\", SWEEP_ANIMATION],\n [\"throw\", THROW_ANIMATION],\n [\"slam\", SLAM_ANIMATION],\n [\"grapple\", GRAPPLE_ANIMATION],\n [\"wrist_lock\", WRIST_LOCK_ANIMATION],\n [\"arm_bar\", ARM_BAR_ANIMATION],\n [\"counter_attack\", COUNTER_ATTACK_ANIMATION],\n [\"counter_strike\", COUNTER_STRIKE_ANIMATION],\n [\"palm_strike\", PALM_STRIKE_ANIMATION],\n [\"walk\", WALK_ANIMATION],\n [\"idle_stance\", IDLE_STANCE_ANIMATION],\n [\"forward_dash\", FORWARD_DASH_ANIMATION],\n [\"backward_retreat\", BACKWARD_RETREAT_ANIMATION],\n [\"side_step\", SIDE_STEP_ANIMATION],\n]);\n\n/**\n * Get animation by name\n *\n * @param name - Animation name\n * @returns Skeletal animation or undefined\n *\n * @korean 애니메이션가져오기\n * @deprecated Use getAnimation from AnimationRegistry instead for full animation support\n */\nexport const getAnimation = (name: string): SkeletalAnimation | undefined => {\n return ATTACK_ANIMATIONS.get(name);\n};\n"],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Basic Animations Module
3
+ *
4
+ * Core locomotion and state animations: Idle, Run, Walk, Fall
5
+ * These are the foundational animations for character states.
6
+ * Uses MartialArtsAnimationBuilder for readable, martial arts expert-friendly code.
7
+ *
8
+ * 기본 애니메이션 모듈 - 대기, 달리기, 걷기, 낙법
9
+ *
10
+ * @module systems/animation/BasicAnimations
11
+ * @korean 기본애니메이션
12
+ */
13
+ import type { SkeletalAnimation } from "../../../types/skeletal";
14
+ /**
15
+ * Idle Breathing - 대기호흡
16
+ *
17
+ * Subtle breathing animation while standing ready.
18
+ * Looping idle state with slight body movement.
19
+ * Uses neutral balanced stance width (1.1x shoulder width).
20
+ *
21
+ * @korean 대기호흡애니메이션
22
+ */
23
+ export declare const IDLE_ANIMATION: SkeletalAnimation;
24
+ /**
25
+ * Run Cycle - 달리기
26
+ *
27
+ * Full running gait cycle with arm swing and leg drive.
28
+ * Looping animation for sprint movement.
29
+ *
30
+ * @korean 달리기애니메이션
31
+ */
32
+ export declare const RUN_ANIMATION: SkeletalAnimation;
33
+ /**
34
+ * Walk Cycle - 걷기
35
+ *
36
+ * Full walking gait cycle with natural arm swing.
37
+ * Looping animation for walking movement.
38
+ * Uses MartialArtsAnimationBuilder (migrated from AnimationBuilder).
39
+ *
40
+ * @korean 걷기애니메이션
41
+ */
42
+ export declare const WALK_ANIMATION: SkeletalAnimation;
43
+ /**
44
+ * Fall Forward - 전방낙법
45
+ *
46
+ * Forward fall animation (전방낙법 - Jeonbang Nakbeop).
47
+ * Hands brace, body rotates to prone position.
48
+ *
49
+ * @korean 전방낙법애니메이션
50
+ */
51
+ export declare const FALL_FORWARD_ANIMATION: SkeletalAnimation;
52
+ /**
53
+ * Fall Backward - 후방낙법
54
+ *
55
+ * Backward fall animation (후방낙법 - Hubang Nakbeop).
56
+ * Sit down, back impact, arms slap ground.
57
+ *
58
+ * @korean 후방낙법애니메이션
59
+ */
60
+ export declare const FALL_BACKWARD_ANIMATION: SkeletalAnimation;
61
+ /**
62
+ * Fall Side Left - 좌측낙법
63
+ *
64
+ * Side fall to the left (측방낙법 - Cheukbang Nakbeop).
65
+ * Shoulder/hip impact, arm slaps ground.
66
+ *
67
+ * @korean 좌측낙법애니메이션
68
+ */
69
+ export declare const FALL_SIDE_LEFT_ANIMATION: SkeletalAnimation;
70
+ /**
71
+ * Fall Side Right - 우측낙법
72
+ *
73
+ * Side fall to the right (측방낙법 - Cheukbang Nakbeop).
74
+ * Mirror of left side fall.
75
+ *
76
+ * @korean 우측낙법애니메이션
77
+ */
78
+ export declare const FALL_SIDE_RIGHT_ANIMATION: SkeletalAnimation;
79
+ /**
80
+ * Map of all basic animations for easy access
81
+ * 기본 애니메이션 맵
82
+ */
83
+ export declare const BASIC_ANIMATIONS: ReadonlyMap<string, SkeletalAnimation>;
84
+ //# sourceMappingURL=BasicAnimations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicAnimations.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/catalogs/BasicAnimations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAoB1D;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,iBA8EjB,CAAC;AAMb;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,iBA6FhB,CAAC;AAEb;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,iBA6FjB,CAAC;AAMb;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAiDzB,CAAC;AAEb;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,iBA0D1B,CAAC;AAEb;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAkD3B,CAAC;AAEb;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAkD5B,CAAC;AAMb;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAenE,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { BoneName } from "../../../types/skeletal.js";
2
+ import { MartialArtsAnimationBuilder } from "../builders/MartialArtsAnimationBuilder.js";
3
+ //#region src/systems/animation/catalogs/BasicAnimations.ts
4
+ /**
5
+ * Default shoulder width for basic animations (non-stance-specific)
6
+ * Uses a neutral balanced width (1.1x) for general idle/movement
7
+ * @korean 기본어깨너비
8
+ */
9
+ var DEFAULT_SHOULDER_WIDTH_CM = 46;
10
+ var DEFAULT_STANCE_WIDTH_MULTIPLIER = 1.1;
11
+ /**
12
+ * Idle Breathing - 대기호흡
13
+ *
14
+ * Subtle breathing animation while standing ready.
15
+ * Looping idle state with slight body movement.
16
+ * Uses neutral balanced stance width (1.1x shoulder width).
17
+ *
18
+ * @korean 대기호흡애니메이션
19
+ */
20
+ var IDLE_ANIMATION = MartialArtsAnimationBuilder.create("idle", "대기").asIdle(2, true).at(0, "linear").rotate(BoneName.PELVIS, .04, 0, 0).rotate(BoneName.KNEE_L, -.18, 0, 0).rotate(BoneName.KNEE_R, -.18, 0, 0).rotate(BoneName.SPINE_LOWER, .02, 0, 0).rotate(BoneName.SPINE_UPPER, .04, 0, 0).rotate(BoneName.SHOULDER_L, .12, 0, -.22).rotate(BoneName.SHOULDER_R, .12, 0, .22).rotate(BoneName.ELBOW_L, 0, 0, -.45).rotate(BoneName.ELBOW_R, 0, 0, .45).rotate(BoneName.HEAD, -.02, 0, 0).position(BoneName.PELVIS, 0, 0, 0).done().withFootWidth(DEFAULT_STANCE_WIDTH_MULTIPLIER, DEFAULT_SHOULDER_WIDTH_CM).at(.5, "ease-in-out").rotate(BoneName.PELVIS, .05, 0, .015).rotate(BoneName.KNEE_L, -.16, 0, 0).rotate(BoneName.KNEE_R, -.2, 0, 0).rotate(BoneName.SPINE_LOWER, .04, 0, .01).rotate(BoneName.SPINE_UPPER, .09, 0, .01).rotate(BoneName.SHOULDER_L, .14, 0, -.24).rotate(BoneName.SHOULDER_R, .14, 0, .24).rotate(BoneName.ELBOW_L, 0, 0, -.48).rotate(BoneName.ELBOW_R, 0, 0, .48).rotate(BoneName.HEAD, -.01, .02, 0).position(BoneName.PELVIS, 0, .025, 0).done().withFootWidth(DEFAULT_STANCE_WIDTH_MULTIPLIER, DEFAULT_SHOULDER_WIDTH_CM).at(1, "ease-in-out").rotate(BoneName.PELVIS, .06, 0, 0).rotate(BoneName.KNEE_L, -.15, 0, 0).rotate(BoneName.KNEE_R, -.15, 0, 0).rotate(BoneName.SPINE_LOWER, .05, 0, 0).rotate(BoneName.SPINE_UPPER, .12, 0, 0).rotate(BoneName.SHOULDER_L, .16, 0, -.26).rotate(BoneName.SHOULDER_R, .16, 0, .26).rotate(BoneName.ELBOW_L, .02, 0, -.44).rotate(BoneName.ELBOW_R, .02, 0, .44).rotate(BoneName.HEAD, 0, 0, 0).position(BoneName.PELVIS, 0, .035, 0).done().withFootWidth(DEFAULT_STANCE_WIDTH_MULTIPLIER, DEFAULT_SHOULDER_WIDTH_CM).at(1.5, "ease-in-out").rotate(BoneName.PELVIS, .05, 0, -.015).rotate(BoneName.KNEE_L, -.2, 0, 0).rotate(BoneName.KNEE_R, -.16, 0, 0).rotate(BoneName.SPINE_LOWER, .03, 0, -.01).rotate(BoneName.SPINE_UPPER, .06, 0, -.01).rotate(BoneName.SHOULDER_L, .13, 0, -.23).rotate(BoneName.SHOULDER_R, .13, 0, .23).rotate(BoneName.ELBOW_L, 0, 0, -.46).rotate(BoneName.ELBOW_R, 0, 0, .46).rotate(BoneName.HEAD, -.01, -.02, 0).position(BoneName.PELVIS, 0, .01, 0).done().withFootWidth(DEFAULT_STANCE_WIDTH_MULTIPLIER, DEFAULT_SHOULDER_WIDTH_CM).at(2, "ease-in-out").rotate(BoneName.PELVIS, .04, 0, 0).rotate(BoneName.KNEE_L, -.18, 0, 0).rotate(BoneName.KNEE_R, -.18, 0, 0).rotate(BoneName.SPINE_LOWER, .02, 0, 0).rotate(BoneName.SPINE_UPPER, .04, 0, 0).rotate(BoneName.SHOULDER_L, .12, 0, -.22).rotate(BoneName.SHOULDER_R, .12, 0, .22).rotate(BoneName.ELBOW_L, 0, 0, -.45).rotate(BoneName.ELBOW_R, 0, 0, .45).rotate(BoneName.HEAD, -.02, 0, 0).position(BoneName.PELVIS, 0, 0, 0).done().withFootWidth(DEFAULT_STANCE_WIDTH_MULTIPLIER, DEFAULT_SHOULDER_WIDTH_CM).build();
21
+ /**
22
+ * Run Cycle - 달리기
23
+ *
24
+ * Full running gait cycle with arm swing and leg drive.
25
+ * Looping animation for sprint movement.
26
+ *
27
+ * @korean 달리기애니메이션
28
+ */
29
+ var RUN_ANIMATION = MartialArtsAnimationBuilder.create("run", "달리기").asMovement(.5, true).at(0, "ease-out").rotate(BoneName.PELVIS, .18, .1, .03).rotate(BoneName.HIP_L, -.55, 0, 0).rotate(BoneName.KNEE_L, -.25, 0, 0).rotate(BoneName.FOOT_L, .25, 0, 0).rotate(BoneName.HIP_R, .65, 0, 0).rotate(BoneName.KNEE_R, -1, 0, 0).rotate(BoneName.FOOT_R, -.45, 0, 0).rotate(BoneName.SHOULDER_L, .55, 0, -.1).rotate(BoneName.ELBOW_L, 0, 0, -1).rotate(BoneName.SHOULDER_R, -.65, 0, .1).rotate(BoneName.ELBOW_R, 0, 0, .6).rotate(BoneName.SPINE_LOWER, .12, -.1, 0).rotate(BoneName.SPINE_UPPER, .08, -.06, 0).rotate(BoneName.HEAD, -.06, .04, 0).position(BoneName.PELVIS, 0, .035, 0).done().at(.125, "linear").rotate(BoneName.PELVIS, .14, 0, 0).rotate(BoneName.HIP_L, .05, 0, 0).rotate(BoneName.KNEE_L, -.9, 0, 0).rotate(BoneName.FOOT_L, .05, 0, 0).rotate(BoneName.HIP_R, .35, 0, 0).rotate(BoneName.KNEE_R, -.5, 0, 0).rotate(BoneName.FOOT_R, .15, 0, 0).rotate(BoneName.SHOULDER_L, .25, 0, -.08).rotate(BoneName.ELBOW_L, 0, 0, -.8).rotate(BoneName.SHOULDER_R, -.35, 0, .08).rotate(BoneName.ELBOW_R, 0, 0, .7).rotate(BoneName.SPINE_LOWER, .1, 0, 0).rotate(BoneName.SPINE_UPPER, .06, 0, 0).rotate(BoneName.HEAD, -.05, 0, 0).position(BoneName.PELVIS, 0, .07, 0).done().at(.25, "ease-out").rotate(BoneName.PELVIS, .18, -.1, -.03).rotate(BoneName.HIP_R, -.55, 0, 0).rotate(BoneName.KNEE_R, -.25, 0, 0).rotate(BoneName.FOOT_R, .25, 0, 0).rotate(BoneName.HIP_L, .65, 0, 0).rotate(BoneName.KNEE_L, -1, 0, 0).rotate(BoneName.FOOT_L, -.45, 0, 0).rotate(BoneName.SHOULDER_R, .55, 0, .1).rotate(BoneName.ELBOW_R, 0, 0, 1).rotate(BoneName.SHOULDER_L, -.65, 0, -.1).rotate(BoneName.ELBOW_L, 0, 0, -.6).rotate(BoneName.SPINE_LOWER, .12, .1, 0).rotate(BoneName.SPINE_UPPER, .08, .06, 0).rotate(BoneName.HEAD, -.06, -.04, 0).position(BoneName.PELVIS, 0, .035, 0).done().at(.375, "linear").rotate(BoneName.PELVIS, .14, 0, 0).rotate(BoneName.HIP_R, .05, 0, 0).rotate(BoneName.KNEE_R, -.9, 0, 0).rotate(BoneName.FOOT_R, .05, 0, 0).rotate(BoneName.HIP_L, .35, 0, 0).rotate(BoneName.KNEE_L, -.5, 0, 0).rotate(BoneName.FOOT_L, .15, 0, 0).rotate(BoneName.SHOULDER_R, .25, 0, .08).rotate(BoneName.ELBOW_R, 0, 0, .8).rotate(BoneName.SHOULDER_L, -.35, 0, -.08).rotate(BoneName.ELBOW_L, 0, 0, -.7).rotate(BoneName.SPINE_LOWER, .1, 0, 0).rotate(BoneName.SPINE_UPPER, .06, 0, 0).rotate(BoneName.HEAD, -.05, 0, 0).position(BoneName.PELVIS, 0, .07, 0).done().at(.5, "ease-out").rotate(BoneName.PELVIS, .18, .1, .03).rotate(BoneName.HIP_L, -.55, 0, 0).rotate(BoneName.KNEE_L, -.25, 0, 0).rotate(BoneName.FOOT_L, .25, 0, 0).rotate(BoneName.HIP_R, .65, 0, 0).rotate(BoneName.KNEE_R, -1, 0, 0).rotate(BoneName.FOOT_R, -.45, 0, 0).rotate(BoneName.SHOULDER_L, .55, 0, -.1).rotate(BoneName.ELBOW_L, 0, 0, -1).rotate(BoneName.SHOULDER_R, -.65, 0, .1).rotate(BoneName.ELBOW_R, 0, 0, .6).rotate(BoneName.SPINE_LOWER, .12, -.1, 0).rotate(BoneName.SPINE_UPPER, .08, -.06, 0).rotate(BoneName.HEAD, -.06, .04, 0).position(BoneName.PELVIS, 0, .035, 0).done().build();
30
+ /**
31
+ * Walk Cycle - 걷기
32
+ *
33
+ * Full walking gait cycle with natural arm swing.
34
+ * Looping animation for walking movement.
35
+ * Uses MartialArtsAnimationBuilder (migrated from AnimationBuilder).
36
+ *
37
+ * @korean 걷기애니메이션
38
+ */
39
+ var WALK_ANIMATION = MartialArtsAnimationBuilder.create("walk", "걷기").asMovement(.8, true).at(0, "ease-out").rotate(BoneName.PELVIS, .12, .08, .02).rotate(BoneName.HIP_L, -.35, 0, 0).rotate(BoneName.KNEE_L, -.15, 0, 0).rotate(BoneName.FOOT_L, .15, 0, 0).rotate(BoneName.HIP_R, .5, 0, 0).rotate(BoneName.KNEE_R, -.25, 0, 0).rotate(BoneName.FOOT_R, -.35, 0, 0).rotate(BoneName.SHOULDER_L, .4, 0, -.1).rotate(BoneName.ELBOW_L, 0, 0, -.5).rotate(BoneName.SHOULDER_R, -.5, 0, .1).rotate(BoneName.ELBOW_R, 0, 0, .55).rotate(BoneName.SPINE_LOWER, .04, -.06, 0).rotate(BoneName.SPINE_UPPER, .02, -.04, 0).rotate(BoneName.HEAD, 0, .03, 0).position(BoneName.PELVIS, 0, .025, 0).done().at(.2, "linear").rotate(BoneName.PELVIS, .06, 0, 0).rotate(BoneName.HIP_L, .05, 0, 0).rotate(BoneName.KNEE_L, -.6, 0, 0).rotate(BoneName.FOOT_L, .1, 0, 0).rotate(BoneName.HIP_R, .1, 0, 0).rotate(BoneName.KNEE_R, -.55, 0, 0).rotate(BoneName.FOOT_R, .15, 0, 0).rotate(BoneName.SHOULDER_L, .1, 0, -.08).rotate(BoneName.ELBOW_L, 0, 0, -.35).rotate(BoneName.SHOULDER_R, -.15, 0, .08).rotate(BoneName.ELBOW_R, 0, 0, .4).rotate(BoneName.SPINE_LOWER, .03, 0, 0).rotate(BoneName.SPINE_UPPER, .02, 0, 0).rotate(BoneName.HEAD, 0, 0, 0).position(BoneName.PELVIS, 0, .04, 0).done().at(.4, "ease-out").rotate(BoneName.PELVIS, .12, -.08, -.02).rotate(BoneName.HIP_R, -.35, 0, 0).rotate(BoneName.KNEE_R, -.15, 0, 0).rotate(BoneName.FOOT_R, .15, 0, 0).rotate(BoneName.HIP_L, .5, 0, 0).rotate(BoneName.KNEE_L, -.25, 0, 0).rotate(BoneName.FOOT_L, -.35, 0, 0).rotate(BoneName.SHOULDER_R, .4, 0, .1).rotate(BoneName.ELBOW_R, 0, 0, .5).rotate(BoneName.SHOULDER_L, -.5, 0, -.1).rotate(BoneName.ELBOW_L, 0, 0, -.55).rotate(BoneName.SPINE_LOWER, .04, .06, 0).rotate(BoneName.SPINE_UPPER, .02, .04, 0).rotate(BoneName.HEAD, 0, -.03, 0).position(BoneName.PELVIS, 0, .025, 0).done().at(.6, "linear").rotate(BoneName.PELVIS, .06, 0, 0).rotate(BoneName.HIP_R, .05, 0, 0).rotate(BoneName.KNEE_R, -.6, 0, 0).rotate(BoneName.FOOT_R, .1, 0, 0).rotate(BoneName.HIP_L, .1, 0, 0).rotate(BoneName.KNEE_L, -.55, 0, 0).rotate(BoneName.FOOT_L, .15, 0, 0).rotate(BoneName.SHOULDER_R, .1, 0, .08).rotate(BoneName.ELBOW_R, 0, 0, .35).rotate(BoneName.SHOULDER_L, -.15, 0, -.08).rotate(BoneName.ELBOW_L, 0, 0, -.4).rotate(BoneName.SPINE_LOWER, .03, 0, 0).rotate(BoneName.SPINE_UPPER, .02, 0, 0).rotate(BoneName.HEAD, 0, 0, 0).position(BoneName.PELVIS, 0, .04, 0).done().at(.8, "ease-out").rotate(BoneName.PELVIS, .12, .08, .02).rotate(BoneName.HIP_L, -.35, 0, 0).rotate(BoneName.KNEE_L, -.15, 0, 0).rotate(BoneName.FOOT_L, .15, 0, 0).rotate(BoneName.HIP_R, .5, 0, 0).rotate(BoneName.KNEE_R, -.25, 0, 0).rotate(BoneName.FOOT_R, -.35, 0, 0).rotate(BoneName.SHOULDER_L, .4, 0, -.1).rotate(BoneName.ELBOW_L, 0, 0, -.5).rotate(BoneName.SHOULDER_R, -.5, 0, .1).rotate(BoneName.ELBOW_R, 0, 0, .55).rotate(BoneName.SPINE_LOWER, .04, -.06, 0).rotate(BoneName.SPINE_UPPER, .02, -.04, 0).rotate(BoneName.HEAD, 0, .03, 0).position(BoneName.PELVIS, 0, .025, 0).done().build();
40
+ /**
41
+ * Fall Forward - 전방낙법
42
+ *
43
+ * Forward fall animation (전방낙법 - Jeonbang Nakbeop).
44
+ * Hands brace, body rotates to prone position.
45
+ *
46
+ * @korean 전방낙법애니메이션
47
+ */
48
+ var FALL_FORWARD_ANIMATION = MartialArtsAnimationBuilder.create("fall_forward", "전방낙법").asMovement(.4, false).at(0, "linear").rotate(BoneName.PELVIS, .3, 0, 0).rotate(BoneName.SPINE_LOWER, .2, 0, 0).rotate(BoneName.SPINE_UPPER, .3, 0, 0).rotate(BoneName.KNEE_L, -.3, 0, 0).rotate(BoneName.KNEE_R, -.3, 0, 0).done().at(.1, "ease-in").rotate(BoneName.PELVIS, .5, 0, 0).rotate(BoneName.SPINE_LOWER, .4, 0, 0).rotate(BoneName.SPINE_UPPER, .5, 0, 0).rotate(BoneName.KNEE_L, -1.2, 0, 0).rotate(BoneName.KNEE_R, -1.2, 0, 0).rotate(BoneName.SHOULDER_L, .8, 0, -.3).rotate(BoneName.SHOULDER_R, .8, 0, .3).rotate(BoneName.ELBOW_L, 0, 0, -.3).rotate(BoneName.ELBOW_R, 0, 0, .3).position(BoneName.PELVIS, 0, -.2, 0).done().at(.25, "ease-in").rotate(BoneName.PELVIS, .8, 0, 0).rotate(BoneName.SPINE_LOWER, .6, 0, 0).rotate(BoneName.SPINE_UPPER, .7, 0, 0).rotate(BoneName.SHOULDER_L, 1.2, 0, -.2).rotate(BoneName.SHOULDER_R, 1.2, 0, .2).rotate(BoneName.ELBOW_L, 0, 0, -.2).rotate(BoneName.ELBOW_R, 0, 0, .2).rotate(BoneName.HIP_L, .3, 0, 0).rotate(BoneName.HIP_R, .3, 0, 0).position(BoneName.PELVIS, 0, -.4, .2).done().at(.4, "ease-out").rotate(BoneName.PELVIS, 1.57, 0, 0).rotate(BoneName.SPINE_LOWER, .1, 0, 0).rotate(BoneName.SPINE_UPPER, -.1, 0, 0).rotate(BoneName.HEAD, -.3, 0, 0).rotate(BoneName.SHOULDER_L, .3, 0, -.8).rotate(BoneName.SHOULDER_R, .3, 0, .8).rotate(BoneName.ELBOW_L, 0, 0, -1).rotate(BoneName.ELBOW_R, 0, 0, 1).rotate(BoneName.HIP_L, 0, 0, 0).rotate(BoneName.HIP_R, 0, 0, 0).rotate(BoneName.KNEE_L, 0, 0, 0).rotate(BoneName.KNEE_R, 0, 0, 0).position(BoneName.PELVIS, 0, -.8, .3).done().build();
49
+ /**
50
+ * Fall Backward - 후방낙법
51
+ *
52
+ * Backward fall animation (후방낙법 - Hubang Nakbeop).
53
+ * Sit down, back impact, arms slap ground.
54
+ *
55
+ * @korean 후방낙법애니메이션
56
+ */
57
+ var FALL_BACKWARD_ANIMATION = MartialArtsAnimationBuilder.create("fall_backward", "후방낙법").asMovement(.5, false).at(0, "linear").rotate(BoneName.PELVIS, -.2, 0, 0).rotate(BoneName.SPINE_LOWER, -.1, 0, 0).rotate(BoneName.SPINE_UPPER, -.2, 0, 0).rotate(BoneName.KNEE_L, -.2, 0, 0).rotate(BoneName.KNEE_R, -.2, 0, 0).done().at(.12, "ease-in").rotate(BoneName.PELVIS, -.4, 0, 0).rotate(BoneName.SPINE_LOWER, -.3, 0, 0).rotate(BoneName.SPINE_UPPER, -.4, 0, 0).rotate(BoneName.KNEE_L, -.8, 0, 0).rotate(BoneName.KNEE_R, -.8, 0, 0).rotate(BoneName.HIP_L, .5, 0, 0).rotate(BoneName.HIP_R, .5, 0, 0).position(BoneName.PELVIS, 0, -.15, -.1).done().at(.25, "ease-in").rotate(BoneName.PELVIS, -.6, 0, 0).rotate(BoneName.SPINE_LOWER, -.4, 0, 0).rotate(BoneName.SPINE_UPPER, -.5, 0, 0).rotate(BoneName.HIP_L, .8, 0, 0).rotate(BoneName.HIP_R, .8, 0, 0).rotate(BoneName.KNEE_L, -.4, 0, 0).rotate(BoneName.KNEE_R, -.4, 0, 0).rotate(BoneName.SHOULDER_L, .4, 0, -.5).rotate(BoneName.SHOULDER_R, .4, 0, .5).position(BoneName.PELVIS, 0, -.4, -.15).done().at(.38, "ease-in").rotate(BoneName.PELVIS, -.9, 0, 0).rotate(BoneName.SPINE_LOWER, -.6, 0, 0).rotate(BoneName.SPINE_UPPER, -.7, 0, 0).rotate(BoneName.SHOULDER_L, .6, 0, -.8).rotate(BoneName.SHOULDER_R, .6, 0, .8).rotate(BoneName.ELBOW_L, 0, 0, -.3).rotate(BoneName.ELBOW_R, 0, 0, .3).rotate(BoneName.HEAD, .3, 0, 0).position(BoneName.PELVIS, 0, -.5, -.2).done().at(.5, "ease-out").rotate(BoneName.PELVIS, -1.57, 0, 0).rotate(BoneName.SPINE_LOWER, 0, 0, 0).rotate(BoneName.SPINE_UPPER, .1, 0, 0).rotate(BoneName.HEAD, .2, 0, 0).rotate(BoneName.SHOULDER_L, 0, 0, -1.2).rotate(BoneName.SHOULDER_R, 0, 0, 1.2).rotate(BoneName.ELBOW_L, 0, 0, 0).rotate(BoneName.ELBOW_R, 0, 0, 0).rotate(BoneName.HIP_L, 0, 0, 0).rotate(BoneName.HIP_R, 0, 0, 0).rotate(BoneName.KNEE_L, -.2, 0, 0).rotate(BoneName.KNEE_R, -.2, 0, 0).position(BoneName.PELVIS, 0, -.7, -.3).done().build();
58
+ /**
59
+ * Fall Side Left - 좌측낙법
60
+ *
61
+ * Side fall to the left (측방낙법 - Cheukbang Nakbeop).
62
+ * Shoulder/hip impact, arm slaps ground.
63
+ *
64
+ * @korean 좌측낙법애니메이션
65
+ */
66
+ var FALL_SIDE_LEFT_ANIMATION = MartialArtsAnimationBuilder.create("fall_side_left", "좌측낙법").asMovement(.45, false).at(0, "linear").rotate(BoneName.PELVIS, 0, 0, .2).rotate(BoneName.SPINE_UPPER, 0, 0, .3).rotate(BoneName.KNEE_L, -.3, 0, 0).rotate(BoneName.KNEE_R, -.2, 0, 0).done().at(.1, "ease-in").rotate(BoneName.PELVIS, 0, 0, .5).rotate(BoneName.SPINE_LOWER, 0, 0, .3).rotate(BoneName.SPINE_UPPER, 0, 0, .5).rotate(BoneName.HIP_L, .3, 0, .3).rotate(BoneName.KNEE_L, -.8, 0, 0).rotate(BoneName.SHOULDER_L, 0, 0, -.5).position(BoneName.PELVIS, -.1, -.1, 0).done().at(.22, "ease-in").rotate(BoneName.PELVIS, 0, 0, 1).rotate(BoneName.SPINE_LOWER, 0, 0, .6).rotate(BoneName.SPINE_UPPER, 0, 0, .8).rotate(BoneName.SHOULDER_L, .3, 0, -.9).rotate(BoneName.ELBOW_L, 0, 0, -.4).rotate(BoneName.HIP_L, .4, 0, .5).rotate(BoneName.HIP_R, -.2, 0, 0).position(BoneName.PELVIS, -.2, -.3, 0).done().at(.33, "ease-in").rotate(BoneName.PELVIS, 0, 0, 1.3).rotate(BoneName.SPINE_LOWER, 0, 0, .8).rotate(BoneName.SPINE_UPPER, 0, 0, 1).rotate(BoneName.SHOULDER_L, .2, 0, -1.2).rotate(BoneName.ELBOW_L, 0, 0, -.2).rotate(BoneName.HEAD, 0, 0, .3).position(BoneName.PELVIS, -.3, -.5, 0).done().at(.45, "ease-out").rotate(BoneName.PELVIS, 0, 1.57, 1.57).rotate(BoneName.SPINE_LOWER, 0, 0, .2).rotate(BoneName.SPINE_UPPER, 0, 0, .3).rotate(BoneName.HEAD, 0, 0, .2).rotate(BoneName.SHOULDER_L, 0, 0, -1.4).rotate(BoneName.SHOULDER_R, .3, 0, .2).rotate(BoneName.HIP_L, .2, 0, 0).rotate(BoneName.HIP_R, -.3, 0, 0).rotate(BoneName.KNEE_L, -.3, 0, 0).rotate(BoneName.KNEE_R, -.5, 0, 0).position(BoneName.PELVIS, -.4, -.7, 0).done().build();
67
+ /**
68
+ * Fall Side Right - 우측낙법
69
+ *
70
+ * Side fall to the right (측방낙법 - Cheukbang Nakbeop).
71
+ * Mirror of left side fall.
72
+ *
73
+ * @korean 우측낙법애니메이션
74
+ */
75
+ var FALL_SIDE_RIGHT_ANIMATION = MartialArtsAnimationBuilder.create("fall_side_right", "우측낙법").asMovement(.45, false).at(0, "linear").rotate(BoneName.PELVIS, 0, 0, -.2).rotate(BoneName.SPINE_UPPER, 0, 0, -.3).rotate(BoneName.KNEE_R, -.3, 0, 0).rotate(BoneName.KNEE_L, -.2, 0, 0).done().at(.1, "ease-in").rotate(BoneName.PELVIS, 0, 0, -.5).rotate(BoneName.SPINE_LOWER, 0, 0, -.3).rotate(BoneName.SPINE_UPPER, 0, 0, -.5).rotate(BoneName.HIP_R, .3, 0, -.3).rotate(BoneName.KNEE_R, -.8, 0, 0).rotate(BoneName.SHOULDER_R, 0, 0, .5).position(BoneName.PELVIS, .1, -.1, 0).done().at(.22, "ease-in").rotate(BoneName.PELVIS, 0, 0, -1).rotate(BoneName.SPINE_LOWER, 0, 0, -.6).rotate(BoneName.SPINE_UPPER, 0, 0, -.8).rotate(BoneName.SHOULDER_R, .3, 0, .9).rotate(BoneName.ELBOW_R, 0, 0, .4).rotate(BoneName.HIP_R, .4, 0, -.5).rotate(BoneName.HIP_L, -.2, 0, 0).position(BoneName.PELVIS, .2, -.3, 0).done().at(.33, "ease-in").rotate(BoneName.PELVIS, 0, 0, -1.3).rotate(BoneName.SPINE_LOWER, 0, 0, -.8).rotate(BoneName.SPINE_UPPER, 0, 0, -1).rotate(BoneName.SHOULDER_R, .2, 0, 1.2).rotate(BoneName.ELBOW_R, 0, 0, .2).rotate(BoneName.HEAD, 0, 0, -.3).position(BoneName.PELVIS, .3, -.5, 0).done().at(.45, "ease-out").rotate(BoneName.PELVIS, 0, -1.57, -1.57).rotate(BoneName.SPINE_LOWER, 0, 0, -.2).rotate(BoneName.SPINE_UPPER, 0, 0, -.3).rotate(BoneName.HEAD, 0, 0, -.2).rotate(BoneName.SHOULDER_R, 0, 0, 1.4).rotate(BoneName.SHOULDER_L, .3, 0, -.2).rotate(BoneName.HIP_R, .2, 0, 0).rotate(BoneName.HIP_L, -.3, 0, 0).rotate(BoneName.KNEE_R, -.3, 0, 0).rotate(BoneName.KNEE_L, -.5, 0, 0).position(BoneName.PELVIS, .4, -.7, 0).done().build();
76
+ /**
77
+ * Map of all basic animations for easy access
78
+ * 기본 애니메이션 맵
79
+ */
80
+ var BASIC_ANIMATIONS = new Map([
81
+ ["idle", IDLE_ANIMATION],
82
+ ["walk", WALK_ANIMATION],
83
+ ["run", RUN_ANIMATION],
84
+ ["fall_forward", FALL_FORWARD_ANIMATION],
85
+ ["fall_backward", FALL_BACKWARD_ANIMATION],
86
+ ["fall_side_left", FALL_SIDE_LEFT_ANIMATION],
87
+ ["fall_side_right", FALL_SIDE_RIGHT_ANIMATION]
88
+ ]);
89
+ //#endregion
90
+ export { BASIC_ANIMATIONS, FALL_BACKWARD_ANIMATION, FALL_FORWARD_ANIMATION, FALL_SIDE_LEFT_ANIMATION, FALL_SIDE_RIGHT_ANIMATION, IDLE_ANIMATION, RUN_ANIMATION, WALK_ANIMATION };
91
+
92
+ //# sourceMappingURL=BasicAnimations.js.map