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.
- package/LICENSE +201 -0
- package/README.md +866 -0
- package/SECURITY.md +124 -0
- package/lib/App.d.ts +4 -0
- package/lib/App.d.ts.map +1 -0
- package/lib/App2.js +386 -0
- package/lib/App2.js.map +1 -0
- package/lib/_virtual/_rolldown/runtime.js +13 -0
- package/lib/assets/index.css +1146 -0
- package/lib/audio/AudioAssetLoader.d.ts +101 -0
- package/lib/audio/AudioAssetLoader.d.ts.map +1 -0
- package/lib/audio/AudioAssetLoader.js +245 -0
- package/lib/audio/AudioAssetLoader.js.map +1 -0
- package/lib/audio/AudioAssetRegistry.d.ts +126 -0
- package/lib/audio/AudioAssetRegistry.d.ts.map +1 -0
- package/lib/audio/AudioAssetRegistry.js +970 -0
- package/lib/audio/AudioAssetRegistry.js.map +1 -0
- package/lib/audio/AudioCache.d.ts +135 -0
- package/lib/audio/AudioCache.d.ts.map +1 -0
- package/lib/audio/AudioCache.js +211 -0
- package/lib/audio/AudioCache.js.map +1 -0
- package/lib/audio/AudioManager.d.ts +162 -0
- package/lib/audio/AudioManager.d.ts.map +1 -0
- package/lib/audio/AudioManager.js +508 -0
- package/lib/audio/AudioManager.js.map +1 -0
- package/lib/audio/AudioMonitor.d.ts +122 -0
- package/lib/audio/AudioMonitor.d.ts.map +1 -0
- package/lib/audio/AudioMonitor.js +215 -0
- package/lib/audio/AudioMonitor.js.map +1 -0
- package/lib/audio/AudioPool.d.ts +108 -0
- package/lib/audio/AudioPool.d.ts.map +1 -0
- package/lib/audio/AudioPool.js +206 -0
- package/lib/audio/AudioPool.js.map +1 -0
- package/lib/audio/AudioProvider.d.ts +28 -0
- package/lib/audio/AudioProvider.d.ts.map +1 -0
- package/lib/audio/AudioProvider.js +135 -0
- package/lib/audio/AudioProvider.js.map +1 -0
- package/lib/audio/AudioUtils.d.ts +77 -0
- package/lib/audio/AudioUtils.d.ts.map +1 -0
- package/lib/audio/AudioUtils.js +164 -0
- package/lib/audio/AudioUtils.js.map +1 -0
- package/lib/audio/BoneImpactAudioMap.d.ts +64 -0
- package/lib/audio/BoneImpactAudioMap.d.ts.map +1 -0
- package/lib/audio/BoneImpactAudioMap.js +133 -0
- package/lib/audio/BoneImpactAudioMap.js.map +1 -0
- package/lib/audio/VariantSelector.d.ts +69 -0
- package/lib/audio/VariantSelector.d.ts.map +1 -0
- package/lib/audio/VariantSelector.js +177 -0
- package/lib/audio/VariantSelector.js.map +1 -0
- package/lib/audio/index.d.ts +13 -0
- package/lib/audio/index.d.ts.map +1 -0
- package/lib/audio/index.js +41 -0
- package/lib/audio/index.js.map +1 -0
- package/lib/audio/types.d.ts +220 -0
- package/lib/audio/types.d.ts.map +1 -0
- package/lib/audio/types.js +12 -0
- package/lib/audio/types.js.map +1 -0
- package/lib/components/effects/WindParticles3D.d.ts +83 -0
- package/lib/components/effects/WindParticles3D.d.ts.map +1 -0
- package/lib/components/effects/index.d.ts +6 -0
- package/lib/components/effects/index.d.ts.map +1 -0
- package/lib/components/index.d.ts +5 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/index.js +74 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/screens/combat/CombatScreen3D.d.ts +74 -0
- package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -0
- package/lib/components/screens/combat/CombatScreen3D.js +1912 -0
- package/lib/components/screens/combat/CombatScreen3D.js.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.d.ts +39 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.js +52 -0
- package/lib/components/screens/combat/components/controls/CombatButtons.js.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts +35 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.js +78 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.js.map +1 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts +23 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.js +214 -0
- package/lib/components/screens/combat/components/controls/ControlsGuide.js.map +1 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts +54 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.js +357 -0
- package/lib/components/screens/combat/components/controls/KeyboardHints.js.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.d.ts +32 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.js +254 -0
- package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts +63 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.js +108 -0
- package/lib/components/screens/combat/components/controls/PauseMenuButton.js.map +1 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.d.ts +42 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.d.ts.map +1 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.js +259 -0
- package/lib/components/screens/combat/components/controls/QuickSettings.js.map +1 -0
- package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts +73 -0
- package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts +108 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.js +232 -0
- package/lib/components/screens/combat/components/effects/BloodDecals3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts +53 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js +87 -0
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts +80 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.js +278 -0
- package/lib/components/screens/combat/components/effects/BloodParticles3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts +64 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.js +248 -0
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts +60 -0
- package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts +37 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js +184 -0
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts +49 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js +66 -0
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js.map +1 -0
- package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts +93 -0
- package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts +57 -0
- package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts +88 -0
- package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts +91 -0
- package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts +67 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.js +261 -0
- package/lib/components/screens/combat/components/effects/InternalDamage3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts +45 -0
- package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts +61 -0
- package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/PainVignette.d.ts +47 -0
- package/lib/components/screens/combat/components/effects/PainVignette.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/PainVignette.js +65 -0
- package/lib/components/screens/combat/components/effects/PainVignette.js.map +1 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts +52 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.js +103 -0
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts +91 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js +296 -0
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js.map +1 -0
- package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts +64 -0
- package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts +72 -0
- package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts.map +1 -0
- package/lib/components/screens/combat/components/effects/index.d.ts +121 -0
- package/lib/components/screens/combat/components/effects/index.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts +31 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.js +242 -0
- package/lib/components/screens/combat/components/feedback/MatchCountdown.js.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts +74 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js +275 -0
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts +25 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js +61 -0
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts +43 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js +139 -0
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts +50 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js +155 -0
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts +54 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.js +103 -0
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts +54 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.js +101 -0
- package/lib/components/screens/combat/components/hud/CombatRightHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts +47 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js +141 -0
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js.map +1 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts +25 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js +129 -0
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts +48 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.js +131 -0
- package/lib/components/screens/combat/components/hud/FPSMonitor.js.map +1 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts +82 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js +73 -0
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js.map +1 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts +80 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js +79 -0
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -0
- package/lib/components/screens/combat/components/hud/index.d.ts +22 -0
- package/lib/components/screens/combat/components/hud/index.d.ts.map +1 -0
- package/lib/components/screens/combat/components/hud/index.js +4 -0
- package/lib/components/screens/combat/components/index.d.ts +47 -0
- package/lib/components/screens/combat/components/index.d.ts.map +1 -0
- package/lib/components/screens/combat/components/index.js +23 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts +52 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.js +113 -0
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.js.map +1 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts +49 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js +150 -0
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts +44 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.js +83 -0
- package/lib/components/screens/combat/components/indicators/StaminaWarning.js.map +1 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts +83 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts.map +1 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js +161 -0
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js.map +1 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts +38 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.js +37 -0
- package/lib/components/screens/combat/helpers/AnimationUpdater.js.map +1 -0
- package/lib/components/screens/combat/helpers/combatHelpers.d.ts +37 -0
- package/lib/components/screens/combat/helpers/combatHelpers.d.ts.map +1 -0
- package/lib/components/screens/combat/helpers/combatHelpers.js +33 -0
- package/lib/components/screens/combat/helpers/combatHelpers.js.map +1 -0
- package/lib/components/screens/combat/helpers/index.d.ts +8 -0
- package/lib/components/screens/combat/helpers/index.d.ts.map +1 -0
- package/lib/components/screens/combat/helpers/index.js +2 -0
- package/lib/components/screens/combat/hooks/useAICombat.d.ts +108 -0
- package/lib/components/screens/combat/hooks/useAICombat.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useAICombat.js +806 -0
- package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatActions.d.ts +106 -0
- package/lib/components/screens/combat/hooks/useCombatActions.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatActions.js +766 -0
- package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts +85 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.js +202 -0
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.d.ts +40 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.js +287 -0
- package/lib/components/screens/combat/hooks/useCombatAudio.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.d.ts +61 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.js +89 -0
- package/lib/components/screens/combat/hooks/useCombatLayout.js.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatState.d.ts +75 -0
- package/lib/components/screens/combat/hooks/useCombatState.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/useCombatState.js +182 -0
- package/lib/components/screens/combat/hooks/useCombatState.js.map +1 -0
- package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts +36 -0
- package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts.map +1 -0
- package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts +63 -0
- package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts.map +1 -0
- package/lib/components/screens/combat/index.d.ts +4 -0
- package/lib/components/screens/combat/index.d.ts.map +1 -0
- package/lib/components/screens/combat/index.js +25 -0
- package/lib/components/screens/controls/ControlsScreen3D.d.ts +12 -0
- package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -0
- package/lib/components/screens/controls/ControlsScreen3D.js +1248 -0
- package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts +35 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js +155 -0
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js.map +1 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts +31 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js +100 -0
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js.map +1 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts +32 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts.map +1 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.js +250 -0
- package/lib/components/screens/controls/components/GamepadVisualization3D.js.map +1 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts +35 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js +222 -0
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -0
- package/lib/components/screens/controls/components/Key3D.d.ts +36 -0
- package/lib/components/screens/controls/components/Key3D.d.ts.map +1 -0
- package/lib/components/screens/controls/components/Key3D.js +169 -0
- package/lib/components/screens/controls/components/Key3D.js.map +1 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts +37 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.js +120 -0
- package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -0
- package/lib/components/screens/controls/components/index.d.ts +20 -0
- package/lib/components/screens/controls/components/index.d.ts.map +1 -0
- package/lib/components/screens/controls/constants/ControlsConstants.d.ts +67 -0
- package/lib/components/screens/controls/constants/ControlsConstants.d.ts.map +1 -0
- package/lib/components/screens/controls/constants/ControlsConstants.js +504 -0
- package/lib/components/screens/controls/constants/ControlsConstants.js.map +1 -0
- package/lib/components/screens/controls/hooks/useControlsState.d.ts +46 -0
- package/lib/components/screens/controls/hooks/useControlsState.d.ts.map +1 -0
- package/lib/components/screens/controls/hooks/useControlsState.js +71 -0
- package/lib/components/screens/controls/hooks/useControlsState.js.map +1 -0
- package/lib/components/screens/endscreen/EndScreen3D.d.ts +18 -0
- package/lib/components/screens/endscreen/EndScreen3D.d.ts.map +1 -0
- package/lib/components/screens/endscreen/EndScreen3D.js +367 -0
- package/lib/components/screens/endscreen/EndScreen3D.js.map +1 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts +9 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.js +205 -0
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.js.map +1 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts +13 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js +321 -0
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts +28 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js +93 -0
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts +13 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js +294 -0
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts +13 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js +210 -0
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts +9 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.js +299 -0
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.js.map +1 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts +14 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js +170 -0
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/endscreen/components/animations.d.ts +25 -0
- package/lib/components/screens/endscreen/components/animations.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/animations.js +71 -0
- package/lib/components/screens/endscreen/components/animations.js.map +1 -0
- package/lib/components/screens/endscreen/components/index.d.ts +19 -0
- package/lib/components/screens/endscreen/components/index.d.ts.map +1 -0
- package/lib/components/screens/endscreen/components/index.js +8 -0
- package/lib/components/screens/endscreen/index.d.ts +9 -0
- package/lib/components/screens/endscreen/index.d.ts.map +1 -0
- package/lib/components/screens/endscreen/index.js +10 -0
- package/lib/components/screens/intro/IntroScreen3D.d.ts +16 -0
- package/lib/components/screens/intro/IntroScreen3D.d.ts.map +1 -0
- package/lib/components/screens/intro/IntroScreen3D.js +488 -0
- package/lib/components/screens/intro/IntroScreen3D.js.map +1 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts +53 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.js +146 -0
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts +20 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js +154 -0
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts +38 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js +235 -0
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts +35 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js +325 -0
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts +19 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js +88 -0
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts +65 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js +143 -0
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts +27 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js +153 -0
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js.map +1 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts +47 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.js +128 -0
- package/lib/components/screens/intro/components/StatBarOverlayHtml.js.map +1 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts +12 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts.map +1 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js +561 -0
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js.map +1 -0
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts +40 -0
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts +40 -0
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts +46 -0
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts +42 -0
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts +49 -0
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts +43 -0
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts.map +1 -0
- package/lib/components/screens/philosophy/components/index.d.ts +23 -0
- package/lib/components/screens/philosophy/components/index.d.ts.map +1 -0
- package/lib/components/screens/philosophy/hooks/index.d.ts +10 -0
- package/lib/components/screens/philosophy/hooks/index.d.ts.map +1 -0
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts +50 -0
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts.map +1 -0
- package/lib/components/screens/training/TrainingScreen3D.d.ts +51 -0
- package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -0
- package/lib/components/screens/training/TrainingScreen3D.js +947 -0
- package/lib/components/screens/training/TrainingScreen3D.js.map +1 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts +31 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js +189 -0
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts +31 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.js +679 -0
- package/lib/components/screens/training/components/AnatomyOverlay3D.js.map +1 -0
- package/lib/components/screens/training/components/DamageNumber3D.d.ts +28 -0
- package/lib/components/screens/training/components/DamageNumber3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/DamageNumber3D.js +6 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts +47 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.js +380 -0
- package/lib/components/screens/training/components/FootPlacementMarkers3D.js.map +1 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts +47 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js +292 -0
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts +32 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.js +258 -0
- package/lib/components/screens/training/components/HitFeedbackEffect3D.js.map +1 -0
- package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts +36 -0
- package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingAICharacter3D.js +6 -0
- package/lib/components/screens/training/components/TrainingArena3D.d.ts +22 -0
- package/lib/components/screens/training/components/TrainingArena3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingArena3D.js +5 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts +73 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js +107 -0
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts +50 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js +129 -0
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingDummy3D.d.ts +72 -0
- package/lib/components/screens/training/components/TrainingDummy3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingDummy3D.js +298 -0
- package/lib/components/screens/training/components/TrainingDummy3D.js.map +1 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts +30 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js +44 -0
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts +27 -0
- package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingHitEffects3D.js +6 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts +51 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js +188 -0
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts +63 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js +253 -0
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.d.ts +37 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.d.ts.map +1 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.js +210 -0
- package/lib/components/screens/training/components/VitalPointMarker3D.js.map +1 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts +29 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts.map +1 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js +195 -0
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts +59 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js +145 -0
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts +47 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.js +59 -0
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts +68 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.js +93 -0
- package/lib/components/screens/training/components/hud/TrainingRightHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts +55 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js +184 -0
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -0
- package/lib/components/screens/training/components/hud/index.d.ts +13 -0
- package/lib/components/screens/training/components/hud/index.d.ts.map +1 -0
- package/lib/components/screens/training/components/hud/index.js +4 -0
- package/lib/components/screens/training/components/index.d.ts +22 -0
- package/lib/components/screens/training/components/index.d.ts.map +1 -0
- package/lib/components/screens/training/components/index.js +19 -0
- package/lib/components/screens/training/hooks/useAttackMovement.d.ts +69 -0
- package/lib/components/screens/training/hooks/useAttackMovement.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useAttackMovement.js +118 -0
- package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts +82 -0
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingActions.js +284 -0
- package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.d.ts +62 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.js +96 -0
- package/lib/components/screens/training/hooks/useTrainingLayout.js.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingState.d.ts +100 -0
- package/lib/components/screens/training/hooks/useTrainingState.d.ts.map +1 -0
- package/lib/components/screens/training/hooks/useTrainingState.js +344 -0
- package/lib/components/screens/training/hooks/useTrainingState.js.map +1 -0
- package/lib/components/screens/training/index.d.ts +4 -0
- package/lib/components/screens/training/index.d.ts.map +1 -0
- package/lib/components/screens/training/index.js +16 -0
- package/lib/components/shared/base/AccessibilityProvider.d.ts +51 -0
- package/lib/components/shared/base/AccessibilityProvider.d.ts.map +1 -0
- package/lib/components/shared/base/AccessibilityProvider.js +71 -0
- package/lib/components/shared/base/AccessibilityProvider.js.map +1 -0
- package/lib/components/shared/base/BaseButton.d.ts +42 -0
- package/lib/components/shared/base/BaseButton.d.ts.map +1 -0
- package/lib/components/shared/base/BaseButton.js +214 -0
- package/lib/components/shared/base/BaseButton.js.map +1 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts +52 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts.map +1 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.js +130 -0
- package/lib/components/shared/base/BaseButtonOverlayHtml.js.map +1 -0
- package/lib/components/shared/base/BasePanel.d.ts +30 -0
- package/lib/components/shared/base/BasePanel.d.ts.map +1 -0
- package/lib/components/shared/base/BasePanel.js +83 -0
- package/lib/components/shared/base/BasePanel.js.map +1 -0
- package/lib/components/shared/base/BaseText.d.ts +40 -0
- package/lib/components/shared/base/BaseText.d.ts.map +1 -0
- package/lib/components/shared/base/BaseText.js +157 -0
- package/lib/components/shared/base/BaseText.js.map +1 -0
- package/lib/components/shared/base/ResponsiveContainer.d.ts +126 -0
- package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -0
- package/lib/components/shared/base/index.d.ts +23 -0
- package/lib/components/shared/base/index.d.ts.map +1 -0
- package/lib/components/shared/base/index.js +6 -0
- package/lib/components/shared/base/layoutUtils.d.ts +102 -0
- package/lib/components/shared/base/layoutUtils.d.ts.map +1 -0
- package/lib/components/shared/base/useKoreanTheme.d.ts +206 -0
- package/lib/components/shared/base/useKoreanTheme.d.ts.map +1 -0
- package/lib/components/shared/base/useKoreanTheme.js +169 -0
- package/lib/components/shared/base/useKoreanTheme.js.map +1 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts +32 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts.map +1 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js +69 -0
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js.map +1 -0
- package/lib/components/shared/effects/ScreenFlash.d.ts +98 -0
- package/lib/components/shared/effects/ScreenFlash.d.ts.map +1 -0
- package/lib/components/shared/mobile/ActionButtons.d.ts +44 -0
- package/lib/components/shared/mobile/ActionButtons.d.ts.map +1 -0
- package/lib/components/shared/mobile/ActionButtons.js +324 -0
- package/lib/components/shared/mobile/ActionButtons.js.map +1 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts +64 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts.map +1 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.js +231 -0
- package/lib/components/shared/mobile/GestureRecognizerPure.js.map +1 -0
- package/lib/components/shared/mobile/HapticController.d.ts +253 -0
- package/lib/components/shared/mobile/HapticController.d.ts.map +1 -0
- package/lib/components/shared/mobile/HapticController.js +280 -0
- package/lib/components/shared/mobile/HapticController.js.map +1 -0
- package/lib/components/shared/mobile/MobileControlsPure.d.ts +43 -0
- package/lib/components/shared/mobile/MobileControlsPure.d.ts.map +1 -0
- package/lib/components/shared/mobile/MobileControlsPure.js +294 -0
- package/lib/components/shared/mobile/MobileControlsPure.js.map +1 -0
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts +249 -0
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts.map +1 -0
- package/lib/components/shared/mobile/StanceWheelPure.d.ts +78 -0
- package/lib/components/shared/mobile/StanceWheelPure.d.ts.map +1 -0
- package/lib/components/shared/mobile/StanceWheelPure.js +386 -0
- package/lib/components/shared/mobile/StanceWheelPure.js.map +1 -0
- package/lib/components/shared/mobile/TouchOptimizer.d.ts +154 -0
- package/lib/components/shared/mobile/TouchOptimizer.d.ts.map +1 -0
- package/lib/components/shared/mobile/TouchOptimizer.js +83 -0
- package/lib/components/shared/mobile/TouchOptimizer.js.map +1 -0
- package/lib/components/shared/mobile/VirtualDPad.d.ts +49 -0
- package/lib/components/shared/mobile/VirtualDPad.d.ts.map +1 -0
- package/lib/components/shared/mobile/VirtualDPad.js +289 -0
- package/lib/components/shared/mobile/VirtualDPad.js.map +1 -0
- package/lib/components/shared/mobile/index.d.ts +31 -0
- package/lib/components/shared/mobile/index.d.ts.map +1 -0
- package/lib/components/shared/mobile/index.js +7 -0
- package/lib/components/shared/three/anatomy/BodySurface.d.ts +78 -0
- package/lib/components/shared/three/anatomy/BodySurface.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BodySurface.js +393 -0
- package/lib/components/shared/three/anatomy/BodySurface.js.map +1 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts +147 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js +541 -0
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js.map +1 -0
- package/lib/components/shared/three/anatomy/BoneClothing.d.ts +89 -0
- package/lib/components/shared/three/anatomy/BoneClothing.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BoneClothing.js +345 -0
- package/lib/components/shared/three/anatomy/BoneClothing.js.map +1 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts +129 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.js +266 -0
- package/lib/components/shared/three/anatomy/BoneRenderer.js.map +1 -0
- package/lib/components/shared/three/anatomy/Face3D.d.ts +40 -0
- package/lib/components/shared/three/anatomy/Face3D.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/Face3D.js +426 -0
- package/lib/components/shared/three/anatomy/Face3D.js.map +1 -0
- package/lib/components/shared/three/anatomy/Foot3D.d.ts +71 -0
- package/lib/components/shared/three/anatomy/Foot3D.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/Foot3D.js +178 -0
- package/lib/components/shared/three/anatomy/Foot3D.js.map +1 -0
- package/lib/components/shared/three/anatomy/Hand3D.d.ts +101 -0
- package/lib/components/shared/three/anatomy/Hand3D.d.ts.map +1 -0
- package/lib/components/shared/three/anatomy/Hand3D.js +376 -0
- package/lib/components/shared/three/anatomy/Hand3D.js.map +1 -0
- package/lib/components/shared/three/effects/ActionFeedback.d.ts +78 -0
- package/lib/components/shared/three/effects/ActionFeedback.d.ts.map +1 -0
- package/lib/components/shared/three/effects/ActionFeedback.js +236 -0
- package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -0
- package/lib/components/shared/three/effects/DamageNumbers.d.ts +36 -0
- package/lib/components/shared/three/effects/DamageNumbers.d.ts.map +1 -0
- package/lib/components/shared/three/effects/DamageNumbers.js +148 -0
- package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -0
- package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts +41 -0
- package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts +49 -0
- package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/HitEffects3D.d.ts +28 -0
- package/lib/components/shared/three/effects/HitEffects3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/HitEffects3D.js +427 -0
- package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -0
- package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts +67 -0
- package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts +63 -0
- package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts +36 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts.map +1 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.js +237 -0
- package/lib/components/shared/three/effects/PlayerStateIndicators.js.map +1 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.d.ts +52 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.js +128 -0
- package/lib/components/shared/three/effects/StanceSymbol3D.js.map +1 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts +56 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts.map +1 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.js +174 -0
- package/lib/components/shared/three/effects/StanceTransitionEffect.js.map +1 -0
- package/lib/components/shared/three/effects/ThunderEffect3D.d.ts +39 -0
- package/lib/components/shared/three/effects/ThunderEffect3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts +48 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts.map +1 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.js +249 -0
- package/lib/components/shared/three/effects/VitalPointMarkers3D.js.map +1 -0
- package/lib/components/shared/three/index.d.ts +30 -0
- package/lib/components/shared/three/index.d.ts.map +1 -0
- package/lib/components/shared/three/index.js +9 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts +184 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.js +147 -0
- package/lib/components/shared/three/indicators/ElementalColorSystem.js.map +1 -0
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts +58 -0
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/GuardIndicator.js +259 -0
- package/lib/components/shared/three/indicators/GuardIndicator.js.map +1 -0
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts +184 -0
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/HapticFeedback.js +46 -0
- package/lib/components/shared/three/indicators/HapticFeedback.js.map +1 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts +53 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts.map +1 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js +222 -0
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js.map +1 -0
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts +82 -0
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts.map +1 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.d.ts +77 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.d.ts.map +1 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.js +118 -0
- package/lib/components/shared/three/models/Player3DWithTransitions.js.map +1 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts +44 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.js +358 -0
- package/lib/components/shared/three/models/SkeletalPlayer3D.js.map +1 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts +107 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.js +197 -0
- package/lib/components/shared/three/optimization/AdaptiveQuality.js.map +1 -0
- package/lib/components/shared/three/optimization/InstancedGeometry.d.ts +189 -0
- package/lib/components/shared/three/optimization/InstancedGeometry.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/InstancedGeometry.js +3 -0
- package/lib/components/shared/three/optimization/LODSystem.d.ts +126 -0
- package/lib/components/shared/three/optimization/LODSystem.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/LODSystem.js +3 -0
- package/lib/components/shared/three/optimization/index.d.ts +14 -0
- package/lib/components/shared/three/optimization/index.d.ts.map +1 -0
- package/lib/components/shared/three/optimization/index.js +3 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts +31 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.js +84 -0
- package/lib/components/shared/three/scene/AtmosphericParticles3D.js.map +1 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.d.ts +76 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.js +124 -0
- package/lib/components/shared/three/scene/BackgroundScene3D.js.map +1 -0
- package/lib/components/shared/three/scene/CombatArena3D.d.ts +38 -0
- package/lib/components/shared/three/scene/CombatArena3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/CombatArena3D.js +256 -0
- package/lib/components/shared/three/scene/CombatArena3D.js.map +1 -0
- package/lib/components/shared/three/scene/DebugCollision.d.ts +64 -0
- package/lib/components/shared/three/scene/DebugCollision.d.ts.map +1 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.d.ts +29 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.d.ts.map +1 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.js +122 -0
- package/lib/components/shared/three/scene/KoreanSignage3D.js.map +1 -0
- package/lib/components/shared/three/ui/ArchetypeCard.d.ts +38 -0
- package/lib/components/shared/three/ui/ArchetypeCard.d.ts.map +1 -0
- package/lib/components/shared/three/ui/ArchetypeCard.js +213 -0
- package/lib/components/shared/three/ui/ArchetypeCard.js.map +1 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts +45 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts.map +1 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.js +206 -0
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.js.map +1 -0
- package/lib/components/shared/three/ui/BreathingIndicator.d.ts +25 -0
- package/lib/components/shared/three/ui/BreathingIndicator.d.ts.map +1 -0
- package/lib/components/shared/three/ui/BreathingIndicator2.js +104 -0
- package/lib/components/shared/three/ui/BreathingIndicator2.js.map +1 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.d.ts +43 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.js +135 -0
- package/lib/components/shared/three/ui/CombatReadinessBar.js.map +1 -0
- package/lib/components/shared/three/ui/ComboCounter.d.ts +42 -0
- package/lib/components/shared/three/ui/ComboCounter.d.ts.map +1 -0
- package/lib/components/shared/three/ui/ComboCounter.js +222 -0
- package/lib/components/shared/three/ui/ComboCounter.js.map +1 -0
- package/lib/components/shared/three/ui/HealthBar.d.ts +37 -0
- package/lib/components/shared/three/ui/HealthBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/HealthBar.js +112 -0
- package/lib/components/shared/three/ui/HealthBar.js.map +1 -0
- package/lib/components/shared/three/ui/KoreanButton.d.ts +37 -0
- package/lib/components/shared/three/ui/KoreanButton.d.ts.map +1 -0
- package/lib/components/shared/three/ui/KoreanButton.js +33 -0
- package/lib/components/shared/three/ui/KoreanButton.js.map +1 -0
- package/lib/components/shared/three/ui/KoreanPanel.d.ts +32 -0
- package/lib/components/shared/three/ui/KoreanPanel.d.ts.map +1 -0
- package/lib/components/shared/three/ui/KoreanPanel.js +29 -0
- package/lib/components/shared/three/ui/KoreanPanel.js.map +1 -0
- package/lib/components/shared/three/ui/KoreanText.d.ts +35 -0
- package/lib/components/shared/three/ui/KoreanText.d.ts.map +1 -0
- package/lib/components/shared/three/ui/KoreanText.js +32 -0
- package/lib/components/shared/three/ui/KoreanText.js.map +1 -0
- package/lib/components/shared/three/ui/MenuList.d.ts +47 -0
- package/lib/components/shared/three/ui/MenuList.d.ts.map +1 -0
- package/lib/components/shared/three/ui/MenuList.js +123 -0
- package/lib/components/shared/three/ui/MenuList.js.map +1 -0
- package/lib/components/shared/three/ui/PlayerHUD.d.ts +34 -0
- package/lib/components/shared/three/ui/PlayerHUD.d.ts.map +1 -0
- package/lib/components/shared/three/ui/PlayerHUD.js +231 -0
- package/lib/components/shared/three/ui/PlayerHUD.js.map +1 -0
- package/lib/components/shared/three/ui/ProgressBar.d.ts +48 -0
- package/lib/components/shared/three/ui/ProgressBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/ProgressBar.js +173 -0
- package/lib/components/shared/three/ui/ProgressBar.js.map +1 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts +62 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts.map +1 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js +185 -0
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js.map +1 -0
- package/lib/components/shared/three/ui/StaminaBar.d.ts +37 -0
- package/lib/components/shared/three/ui/StaminaBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/StaminaBar.js +103 -0
- package/lib/components/shared/three/ui/StaminaBar.js.map +1 -0
- package/lib/components/shared/three/ui/TechniqueBar.d.ts +52 -0
- package/lib/components/shared/three/ui/TechniqueBar.d.ts.map +1 -0
- package/lib/components/shared/three/ui/TechniqueBar.js +128 -0
- package/lib/components/shared/three/ui/TechniqueBar.js.map +1 -0
- package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts +49 -0
- package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts.map +1 -0
- package/lib/components/shared/three/ui/TechniqueCard.d.ts +64 -0
- package/lib/components/shared/three/ui/TechniqueCard.d.ts.map +1 -0
- package/lib/components/shared/three/ui/TechniqueCard.js +333 -0
- package/lib/components/shared/three/ui/TechniqueCard.js.map +1 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts +76 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts.map +1 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js +551 -0
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js.map +1 -0
- package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts +63 -0
- package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts.map +1 -0
- package/lib/components/shared/ui/BackButton.d.ts +82 -0
- package/lib/components/shared/ui/BackButton.d.ts.map +1 -0
- package/lib/components/shared/ui/BackButton.js +67 -0
- package/lib/components/shared/ui/BackButton.js.map +1 -0
- package/lib/components/shared/ui/BaseHUDContainer.d.ts +71 -0
- package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -0
- package/lib/components/shared/ui/BaseHUDContainer.js +126 -0
- package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -0
- package/lib/components/shared/ui/CombatTimer.d.ts +60 -0
- package/lib/components/shared/ui/CombatTimer.d.ts.map +1 -0
- package/lib/components/shared/ui/CombatTimer.js +145 -0
- package/lib/components/shared/ui/CombatTimer.js.map +1 -0
- package/lib/components/shared/ui/ErrorBoundary.d.ts +44 -0
- package/lib/components/shared/ui/ErrorBoundary.d.ts.map +1 -0
- package/lib/components/shared/ui/ErrorModal.d.ts +21 -0
- package/lib/components/shared/ui/ErrorModal.d.ts.map +1 -0
- package/lib/components/shared/ui/ErrorModal.js +133 -0
- package/lib/components/shared/ui/ErrorModal.js.map +1 -0
- package/lib/components/shared/ui/HUDSection.d.ts +65 -0
- package/lib/components/shared/ui/HUDSection.d.ts.map +1 -0
- package/lib/components/shared/ui/LoadingState.d.ts +50 -0
- package/lib/components/shared/ui/LoadingState.d.ts.map +1 -0
- package/lib/components/shared/ui/LoadingState.js +92 -0
- package/lib/components/shared/ui/LoadingState.js.map +1 -0
- package/lib/components/shared/ui/MobileHUDLayout.d.ts +70 -0
- package/lib/components/shared/ui/MobileHUDLayout.d.ts.map +1 -0
- package/lib/components/shared/ui/ResponsiveContainer.d.ts +69 -0
- package/lib/components/shared/ui/ResponsiveContainer.d.ts.map +1 -0
- package/lib/components/shared/ui/SplashScreen.d.ts +13 -0
- package/lib/components/shared/ui/SplashScreen.d.ts.map +1 -0
- package/lib/components/shared/ui/SplashScreen.js +204 -0
- package/lib/components/shared/ui/SplashScreen.js.map +1 -0
- package/lib/components/shared/ui/StyledHUDPanel.d.ts +56 -0
- package/lib/components/shared/ui/StyledHUDPanel.d.ts.map +1 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts +79 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts.map +1 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.js +550 -0
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.js.map +1 -0
- package/lib/components/shared/ui/VolumeControl.d.ts +20 -0
- package/lib/components/shared/ui/VolumeControl.d.ts.map +1 -0
- package/lib/components/shared/ui/VolumeControl.js +292 -0
- package/lib/components/shared/ui/VolumeControl.js.map +1 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.d.ts +29 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.d.ts.map +1 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.js +149 -0
- package/lib/components/shared/ui/shared/ConfirmDialog.js.map +1 -0
- package/lib/components/test/Hello3D.d.ts +36 -0
- package/lib/components/test/Hello3D.d.ts.map +1 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts +63 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts.map +1 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js +179 -0
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js.map +1 -0
- package/lib/components/ui/combat/ComboCounter.d.ts +85 -0
- package/lib/components/ui/combat/ComboCounter.d.ts.map +1 -0
- package/lib/components/ui/combat/PressureMeter.d.ts +60 -0
- package/lib/components/ui/combat/PressureMeter.d.ts.map +1 -0
- package/lib/components/ui/combat/index.d.ts +8 -0
- package/lib/components/ui/combat/index.d.ts.map +1 -0
- package/lib/constants/bodyDimensions.d.ts +241 -0
- package/lib/constants/bodyDimensions.d.ts.map +1 -0
- package/lib/constants/bodyDimensions.js +213 -0
- package/lib/constants/bodyDimensions.js.map +1 -0
- package/lib/constants/bodyRenderingConstants.d.ts +295 -0
- package/lib/constants/bodyRenderingConstants.d.ts.map +1 -0
- package/lib/constants/bodyRenderingConstants.js +128 -0
- package/lib/constants/bodyRenderingConstants.js.map +1 -0
- package/lib/data/archetypeClothing.d.ts +40 -0
- package/lib/data/archetypeClothing.d.ts.map +1 -0
- package/lib/data/archetypeClothing.js +584 -0
- package/lib/data/archetypeClothing.js.map +1 -0
- package/lib/data/archetypePhysicalAttributes.d.ts +279 -0
- package/lib/data/archetypePhysicalAttributes.d.ts.map +1 -0
- package/lib/data/archetypePhysicalAttributes.js +227 -0
- package/lib/data/archetypePhysicalAttributes.js.map +1 -0
- package/lib/data/techniqueMappings.d.ts +64 -0
- package/lib/data/techniqueMappings.d.ts.map +1 -0
- package/lib/data/techniqueMappings.js +56 -0
- package/lib/data/techniqueMappings.js.map +1 -0
- package/lib/data/techniques.d.ts +84 -0
- package/lib/data/techniques.d.ts.map +1 -0
- package/lib/data/techniques.js +739 -0
- package/lib/data/techniques.js.map +1 -0
- package/lib/hooks/useActionFeedback.d.ts +114 -0
- package/lib/hooks/useActionFeedback.d.ts.map +1 -0
- package/lib/hooks/useActionFeedback.js +158 -0
- package/lib/hooks/useActionFeedback.js.map +1 -0
- package/lib/hooks/useBalanceAnimations.d.ts +62 -0
- package/lib/hooks/useBalanceAnimations.d.ts.map +1 -0
- package/lib/hooks/useBalanceAnimations.js +133 -0
- package/lib/hooks/useBalanceAnimations.js.map +1 -0
- package/lib/hooks/useCombatTimer.d.ts +77 -0
- package/lib/hooks/useCombatTimer.d.ts.map +1 -0
- package/lib/hooks/useCombatTimer.js +139 -0
- package/lib/hooks/useCombatTimer.js.map +1 -0
- package/lib/hooks/useDebounce.d.ts +30 -0
- package/lib/hooks/useDebounce.d.ts.map +1 -0
- package/lib/hooks/useHUDLayout.d.ts +67 -0
- package/lib/hooks/useHUDLayout.d.ts.map +1 -0
- package/lib/hooks/useHUDLayout.js +92 -0
- package/lib/hooks/useHUDLayout.js.map +1 -0
- package/lib/hooks/useHandPoseTransitions.d.ts +65 -0
- package/lib/hooks/useHandPoseTransitions.d.ts.map +1 -0
- package/lib/hooks/useHandPoseTransitions.js +127 -0
- package/lib/hooks/useHandPoseTransitions.js.map +1 -0
- package/lib/hooks/useKeyboardControls.d.ts +73 -0
- package/lib/hooks/useKeyboardControls.d.ts.map +1 -0
- package/lib/hooks/useKeyboardControls.js +311 -0
- package/lib/hooks/useKeyboardControls.js.map +1 -0
- package/lib/hooks/useMatchCountdown.d.ts +87 -0
- package/lib/hooks/useMatchCountdown.d.ts.map +1 -0
- package/lib/hooks/useMatchCountdown.js +162 -0
- package/lib/hooks/useMatchCountdown.js.map +1 -0
- package/lib/hooks/useMuscleActivation.d.ts +76 -0
- package/lib/hooks/useMuscleActivation.d.ts.map +1 -0
- package/lib/hooks/useMuscleActivation.js +99 -0
- package/lib/hooks/useMuscleActivation.js.map +1 -0
- package/lib/hooks/usePauseMenu.d.ts +32 -0
- package/lib/hooks/usePauseMenu.d.ts.map +1 -0
- package/lib/hooks/usePlayerAnimation.d.ts +188 -0
- package/lib/hooks/usePlayerAnimation.d.ts.map +1 -0
- package/lib/hooks/usePlayerAnimation.js +145 -0
- package/lib/hooks/usePlayerAnimation.js.map +1 -0
- package/lib/hooks/useResponsiveLayout.d.ts +184 -0
- package/lib/hooks/useResponsiveLayout.d.ts.map +1 -0
- package/lib/hooks/useRoundTransition.d.ts +87 -0
- package/lib/hooks/useRoundTransition.d.ts.map +1 -0
- package/lib/hooks/useRoundTransition.js +158 -0
- package/lib/hooks/useRoundTransition.js.map +1 -0
- package/lib/hooks/useSkeletalAnimation.d.ts +88 -0
- package/lib/hooks/useSkeletalAnimation.d.ts.map +1 -0
- package/lib/hooks/useSkeletalAnimation.js +176 -0
- package/lib/hooks/useSkeletalAnimation.js.map +1 -0
- package/lib/hooks/useTechniqueSelection.d.ts +73 -0
- package/lib/hooks/useTechniqueSelection.d.ts.map +1 -0
- package/lib/hooks/useTechniqueSelection.js +190 -0
- package/lib/hooks/useTechniqueSelection.js.map +1 -0
- package/lib/hooks/useThrottle.d.ts +30 -0
- package/lib/hooks/useThrottle.d.ts.map +1 -0
- package/lib/hooks/useThrottle.js +61 -0
- package/lib/hooks/useThrottle.js.map +1 -0
- package/lib/hooks/useTouchControls.d.ts +107 -0
- package/lib/hooks/useTouchControls.d.ts.map +1 -0
- package/lib/hooks/useTouchControls.js +260 -0
- package/lib/hooks/useTouchControls.js.map +1 -0
- package/lib/hooks/useWebGLContextLossHandler.d.ts +77 -0
- package/lib/hooks/useWebGLContextLossHandler.d.ts.map +1 -0
- package/lib/hooks/useWebGLContextLossHandler.js +119 -0
- package/lib/hooks/useWebGLContextLossHandler.js.map +1 -0
- package/lib/hooks/useWindowSize.d.ts +60 -0
- package/lib/hooks/useWindowSize.d.ts.map +1 -0
- package/lib/hooks/useWindowSize.js +62 -0
- package/lib/hooks/useWindowSize.js.map +1 -0
- package/lib/index.d.ts +21 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +114 -0
- package/lib/systems/CombatSystem.d.ts +348 -0
- package/lib/systems/CombatSystem.d.ts.map +1 -0
- package/lib/systems/CombatSystem.js +877 -0
- package/lib/systems/CombatSystem.js.map +1 -0
- package/lib/systems/EffectCalculator.d.ts +176 -0
- package/lib/systems/EffectCalculator.d.ts.map +1 -0
- package/lib/systems/EffectCalculator.js +251 -0
- package/lib/systems/EffectCalculator.js.map +1 -0
- package/lib/systems/LayoutSystem.d.ts +250 -0
- package/lib/systems/LayoutSystem.d.ts.map +1 -0
- package/lib/systems/LayoutSystem.js +337 -0
- package/lib/systems/LayoutSystem.js.map +1 -0
- package/lib/systems/PlayerEffectManager.d.ts +210 -0
- package/lib/systems/PlayerEffectManager.d.ts.map +1 -0
- package/lib/systems/PlayerEffectManager.js +178 -0
- package/lib/systems/PlayerEffectManager.js.map +1 -0
- package/lib/systems/ResponsiveScaling.d.ts +298 -0
- package/lib/systems/ResponsiveScaling.d.ts.map +1 -0
- package/lib/systems/ResponsiveScaling.js +376 -0
- package/lib/systems/ResponsiveScaling.js.map +1 -0
- package/lib/systems/TrigramSystem.d.ts +388 -0
- package/lib/systems/TrigramSystem.d.ts.map +1 -0
- package/lib/systems/TrigramSystem.js +512 -0
- package/lib/systems/TrigramSystem.js.map +1 -0
- package/lib/systems/VitalPointSystem.d.ts +330 -0
- package/lib/systems/VitalPointSystem.d.ts.map +1 -0
- package/lib/systems/VitalPointSystem.js +455 -0
- package/lib/systems/VitalPointSystem.js.map +1 -0
- package/lib/systems/ai/AIPersonality.d.ts +133 -0
- package/lib/systems/ai/AIPersonality.d.ts.map +1 -0
- package/lib/systems/ai/AIPersonality.js +245 -0
- package/lib/systems/ai/AIPersonality.js.map +1 -0
- package/lib/systems/ai/AdaptiveDifficulty.d.ts +159 -0
- package/lib/systems/ai/AdaptiveDifficulty.d.ts.map +1 -0
- package/lib/systems/ai/AdaptiveDifficulty.js +297 -0
- package/lib/systems/ai/AdaptiveDifficulty.js.map +1 -0
- package/lib/systems/ai/ArchetypeEnforcer.d.ts +132 -0
- package/lib/systems/ai/ArchetypeEnforcer.d.ts.map +1 -0
- package/lib/systems/ai/ArchetypeEnforcer.js +279 -0
- package/lib/systems/ai/ArchetypeEnforcer.js.map +1 -0
- package/lib/systems/ai/ComboSystem.d.ts +136 -0
- package/lib/systems/ai/ComboSystem.d.ts.map +1 -0
- package/lib/systems/ai/ComboSystem.js +384 -0
- package/lib/systems/ai/ComboSystem.js.map +1 -0
- package/lib/systems/ai/DecisionTree.d.ts +563 -0
- package/lib/systems/ai/DecisionTree.d.ts.map +1 -0
- package/lib/systems/ai/DecisionTree.js +1516 -0
- package/lib/systems/ai/DecisionTree.js.map +1 -0
- package/lib/systems/ai/TrainingAI.d.ts +132 -0
- package/lib/systems/ai/TrainingAI.d.ts.map +1 -0
- package/lib/systems/ai/TrainingAI.js +265 -0
- package/lib/systems/ai/TrainingAI.js.map +1 -0
- package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts +19 -0
- package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts.map +1 -0
- package/lib/systems/ai/index.d.ts +12 -0
- package/lib/systems/ai/index.d.ts.map +1 -0
- package/lib/systems/ai/index.js +7 -0
- package/lib/systems/ai/types.d.ts +111 -0
- package/lib/systems/ai/types.d.ts.map +1 -0
- package/lib/systems/ai/types.js +24 -0
- package/lib/systems/ai/types.js.map +1 -0
- package/lib/systems/animation/AnimationCategory.d.ts +64 -0
- package/lib/systems/animation/AnimationCategory.d.ts.map +1 -0
- package/lib/systems/animation/builders/AnimationBuilder.d.ts +288 -0
- package/lib/systems/animation/builders/AnimationBuilder.d.ts.map +1 -0
- package/lib/systems/animation/builders/AnimationBuilder.js +261 -0
- package/lib/systems/animation/builders/AnimationBuilder.js.map +1 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts +280 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts.map +1 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.js +234 -0
- package/lib/systems/animation/builders/AnimationFactoryPresets.js.map +1 -0
- package/lib/systems/animation/builders/HandPoseApplicator.d.ts +56 -0
- package/lib/systems/animation/builders/HandPoseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/HandPoseApplicator.js +130 -0
- package/lib/systems/animation/builders/HandPoseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/HandPoses.d.ts +186 -0
- package/lib/systems/animation/builders/HandPoses.d.ts.map +1 -0
- package/lib/systems/animation/builders/HandPoses.js +509 -0
- package/lib/systems/animation/builders/HandPoses.js.map +1 -0
- package/lib/systems/animation/builders/KeyframeConfig.d.ts +207 -0
- package/lib/systems/animation/builders/KeyframeConfig.d.ts.map +1 -0
- package/lib/systems/animation/builders/KeyframeConfig.js +264 -0
- package/lib/systems/animation/builders/KeyframeConfig.js.map +1 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts +491 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts.map +1 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.js +252 -0
- package/lib/systems/animation/builders/KeyframeInterpolation.js.map +1 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.d.ts +119 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.js +119 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.d.ts +208 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.d.ts.map +1 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.js +267 -0
- package/lib/systems/animation/builders/KoreanGuardPositions.js.map +1 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts +1310 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts.map +1 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js +2857 -0
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js.map +1 -0
- package/lib/systems/animation/builders/MartialArtsConstants.d.ts +1034 -0
- package/lib/systems/animation/builders/MartialArtsConstants.d.ts.map +1 -0
- package/lib/systems/animation/builders/MartialArtsConstants.js +1644 -0
- package/lib/systems/animation/builders/MartialArtsConstants.js.map +1 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.d.ts +54 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.js +54 -0
- package/lib/systems/animation/builders/MartialPoseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts +73 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.js +68 -0
- package/lib/systems/animation/builders/PunchPhaseApplicator.js.map +1 -0
- package/lib/systems/animation/builders/SkeletonRig.d.ts +321 -0
- package/lib/systems/animation/builders/SkeletonRig.d.ts.map +1 -0
- package/lib/systems/animation/builders/SkeletonRig.js +330 -0
- package/lib/systems/animation/builders/SkeletonRig.js.map +1 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts +99 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts.map +1 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.js +185 -0
- package/lib/systems/animation/builders/TrigramGuardApplicator.js.map +1 -0
- package/lib/systems/animation/builders/index.d.ts +23 -0
- package/lib/systems/animation/builders/index.d.ts.map +1 -0
- package/lib/systems/animation/builders/index.js +13 -0
- package/lib/systems/animation/catalogs/AttackAnimations.d.ts +523 -0
- package/lib/systems/animation/catalogs/AttackAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/AttackAnimations.js +537 -0
- package/lib/systems/animation/catalogs/AttackAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/BasicAnimations.d.ts +84 -0
- package/lib/systems/animation/catalogs/BasicAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/BasicAnimations.js +92 -0
- package/lib/systems/animation/catalogs/BasicAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/ComboAnimations.d.ts +370 -0
- package/lib/systems/animation/catalogs/ComboAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/ComboAnimations.js +400 -0
- package/lib/systems/animation/catalogs/ComboAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts +301 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.js +322 -0
- package/lib/systems/animation/catalogs/DarkOpsAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts +134 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.js +142 -0
- package/lib/systems/animation/catalogs/DefensiveAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts +437 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.js +452 -0
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts +146 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js +100 -0
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts +81 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js +94 -0
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts +268 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js +196 -0
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts +64 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.js +68 -0
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts +111 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.js +9 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts +82 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.js +55 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts +122 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.js +135 -0
- package/lib/systems/animation/catalogs/GanStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts +78 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.js +83 -0
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts +323 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.js +341 -0
- package/lib/systems/animation/catalogs/GeonStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.d.ts +84 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.js +6 -0
- package/lib/systems/animation/catalogs/GonGuardPoses.js.map +1 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts +134 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.js +9 -0
- package/lib/systems/animation/catalogs/GonStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts +265 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.js +13 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts +452 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.js +475 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts +98 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.js +111 -0
- package/lib/systems/animation/catalogs/JinStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts +80 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.js +89 -0
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/KickAnimations.d.ts +916 -0
- package/lib/systems/animation/catalogs/KickAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/KickAnimations.js +929 -0
- package/lib/systems/animation/catalogs/KickAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts +140 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.js +122 -0
- package/lib/systems/animation/catalogs/LiStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts +104 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.js +90 -0
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/MovementAnimations.d.ts +344 -0
- package/lib/systems/animation/catalogs/MovementAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/MovementAnimations.js +371 -0
- package/lib/systems/animation/catalogs/MovementAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/PunchAnimations.d.ts +496 -0
- package/lib/systems/animation/catalogs/PunchAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/PunchAnimations.js +498 -0
- package/lib/systems/animation/catalogs/PunchAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts +184 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.js +465 -0
- package/lib/systems/animation/catalogs/RecoveryAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts +149 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.js +131 -0
- package/lib/systems/animation/catalogs/SonStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts +90 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.js +95 -0
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts +178 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js +188 -0
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceAnimations.d.ts +687 -0
- package/lib/systems/animation/catalogs/StanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceAnimations.js +840 -0
- package/lib/systems/animation/catalogs/StanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts +483 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.js +2369 -0
- package/lib/systems/animation/catalogs/StanceAttackAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts +327 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.js +655 -0
- package/lib/systems/animation/catalogs/StanceGuardPoses.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts +255 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.js +446 -0
- package/lib/systems/animation/catalogs/StanceIdleAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts +207 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js +309 -0
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StepAnimations.d.ts +274 -0
- package/lib/systems/animation/catalogs/StepAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StepAnimations.js +73 -0
- package/lib/systems/animation/catalogs/StepAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts +100 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.js +99 -0
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts +170 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.js +141 -0
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts +120 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.js +139 -0
- package/lib/systems/animation/catalogs/TaeStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/index.d.ts +43 -0
- package/lib/systems/animation/catalogs/index.d.ts.map +1 -0
- package/lib/systems/animation/catalogs/index.js +36 -0
- package/lib/systems/animation/constants/AnatomicalLimits.d.ts +234 -0
- package/lib/systems/animation/constants/AnatomicalLimits.d.ts.map +1 -0
- package/lib/systems/animation/constants/AnatomicalLimits.js +61 -0
- package/lib/systems/animation/constants/AnatomicalLimits.js.map +1 -0
- package/lib/systems/animation/constants/index.d.ts +13 -0
- package/lib/systems/animation/constants/index.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationHitTiming.d.ts +184 -0
- package/lib/systems/animation/core/AnimationHitTiming.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationHitTiming.js +766 -0
- package/lib/systems/animation/core/AnimationHitTiming.js.map +1 -0
- package/lib/systems/animation/core/AnimationOptimizations.d.ts +221 -0
- package/lib/systems/animation/core/AnimationOptimizations.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationOptimizations.js +322 -0
- package/lib/systems/animation/core/AnimationOptimizations.js.map +1 -0
- package/lib/systems/animation/core/AnimationPriority.d.ts +391 -0
- package/lib/systems/animation/core/AnimationPriority.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationPriority.js +349 -0
- package/lib/systems/animation/core/AnimationPriority.js.map +1 -0
- package/lib/systems/animation/core/AnimationRegistry.d.ts +220 -0
- package/lib/systems/animation/core/AnimationRegistry.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationRegistry.js +416 -0
- package/lib/systems/animation/core/AnimationRegistry.js.map +1 -0
- package/lib/systems/animation/core/AnimationStateMachine.d.ts +701 -0
- package/lib/systems/animation/core/AnimationStateMachine.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationStateMachine.js +1458 -0
- package/lib/systems/animation/core/AnimationStateMachine.js.map +1 -0
- package/lib/systems/animation/core/AnimationTransitions.d.ts +275 -0
- package/lib/systems/animation/core/AnimationTransitions.d.ts.map +1 -0
- package/lib/systems/animation/core/AnimationTransitions.js +920 -0
- package/lib/systems/animation/core/AnimationTransitions.js.map +1 -0
- package/lib/systems/animation/core/LateralityTransform.d.ts +120 -0
- package/lib/systems/animation/core/LateralityTransform.d.ts.map +1 -0
- package/lib/systems/animation/core/LateralityTransform.js +204 -0
- package/lib/systems/animation/core/LateralityTransform.js.map +1 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts +171 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts.map +1 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.js +122 -0
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.js.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts +303 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.js +770 -0
- package/lib/systems/animation/core/TechniqueAnimationMapper.js.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts +74 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts.map +1 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.js +1313 -0
- package/lib/systems/animation/core/TechniqueAnimationMapping.js.map +1 -0
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts +286 -0
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts.map +1 -0
- package/lib/systems/animation/core/TrigramAnimationMapping.js +6 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts +186 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts.map +1 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.js +8 -0
- package/lib/systems/animation/core/TrigramStanceTransitions.js.map +1 -0
- package/lib/systems/animation/core/index.d.ts +23 -0
- package/lib/systems/animation/core/index.d.ts.map +1 -0
- package/lib/systems/animation/core/index.js +16 -0
- package/lib/systems/animation/core/types.d.ts +1360 -0
- package/lib/systems/animation/core/types.d.ts.map +1 -0
- package/lib/systems/animation/core/types.js +539 -0
- package/lib/systems/animation/core/types.js.map +1 -0
- package/lib/systems/animation/index.d.ts +16 -0
- package/lib/systems/animation/index.d.ts.map +1 -0
- package/lib/systems/animation/index.js +63 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts +614 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts.map +1 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.js +95 -0
- package/lib/systems/animation/systems/AdvancedJointMovements.js.map +1 -0
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts +331 -0
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts.map +1 -0
- package/lib/systems/animation/systems/BodyFacingSystem.js +327 -0
- package/lib/systems/animation/systems/BodyFacingSystem.js.map +1 -0
- package/lib/systems/animation/systems/FacialExpressions.d.ts +167 -0
- package/lib/systems/animation/systems/FacialExpressions.d.ts.map +1 -0
- package/lib/systems/animation/systems/FacialExpressions.js +76 -0
- package/lib/systems/animation/systems/FacialExpressions.js.map +1 -0
- package/lib/systems/animation/systems/FallAnimations.d.ts +174 -0
- package/lib/systems/animation/systems/FallAnimations.d.ts.map +1 -0
- package/lib/systems/animation/systems/FallAnimations.js +104 -0
- package/lib/systems/animation/systems/FallAnimations.js.map +1 -0
- package/lib/systems/animation/systems/HeadMovements.d.ts +152 -0
- package/lib/systems/animation/systems/HeadMovements.d.ts.map +1 -0
- package/lib/systems/animation/systems/HeadMovements.js +2 -0
- package/lib/systems/animation/systems/MuscleActivation.d.ts +163 -0
- package/lib/systems/animation/systems/MuscleActivation.d.ts.map +1 -0
- package/lib/systems/animation/systems/MuscleActivation.js +427 -0
- package/lib/systems/animation/systems/MuscleActivation.js.map +1 -0
- package/lib/systems/animation/systems/RecoveryVisualization.d.ts +142 -0
- package/lib/systems/animation/systems/RecoveryVisualization.d.ts.map +1 -0
- package/lib/systems/animation/systems/RecoveryVisualization.js +1 -0
- package/lib/systems/animation/systems/index.d.ts +17 -0
- package/lib/systems/animation/systems/index.d.ts.map +1 -0
- package/lib/systems/animation/systems/index.js +7 -0
- package/lib/systems/animation/utils/AnimationMirror.d.ts +157 -0
- package/lib/systems/animation/utils/AnimationMirror.d.ts.map +1 -0
- package/lib/systems/animation/utils/AnimationMirror.js +30 -0
- package/lib/systems/animation/utils/AnimationMirror.js.map +1 -0
- package/lib/systems/audio/BoneImpactAudioSystem.d.ts +182 -0
- package/lib/systems/audio/BoneImpactAudioSystem.d.ts.map +1 -0
- package/lib/systems/audio/index.d.ts +7 -0
- package/lib/systems/audio/index.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts +149 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.js +38 -0
- package/lib/systems/bodypart/BodyPartDamageIntegration.js.map +1 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts +233 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.js +476 -0
- package/lib/systems/bodypart/BodyPartHealthSystem.js.map +1 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts +116 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts.map +1 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.js +122 -0
- package/lib/systems/bodypart/BodyPartPositionMapping.js.map +1 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts +191 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts.map +1 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.js +169 -0
- package/lib/systems/bodypart/CombatInjuryIntegration.js.map +1 -0
- package/lib/systems/bodypart/InjuryIntegration.d.ts +39 -0
- package/lib/systems/bodypart/InjuryIntegration.d.ts.map +1 -0
- package/lib/systems/bodypart/InjuryTracker.d.ts +256 -0
- package/lib/systems/bodypart/InjuryTracker.d.ts.map +1 -0
- package/lib/systems/bodypart/InjuryTracker.js +240 -0
- package/lib/systems/bodypart/InjuryTracker.js.map +1 -0
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts +191 -0
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts.map +1 -0
- package/lib/systems/bodypart/MovementPenaltySystem.js +255 -0
- package/lib/systems/bodypart/MovementPenaltySystem.js.map +1 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts +137 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts.map +1 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js +175 -0
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js.map +1 -0
- package/lib/systems/bodypart/index.d.ts +22 -0
- package/lib/systems/bodypart/index.d.ts.map +1 -0
- package/lib/systems/bodypart/index.js +8 -0
- package/lib/systems/bodypart/types.d.ts +453 -0
- package/lib/systems/bodypart/types.d.ts.map +1 -0
- package/lib/systems/bodypart/types.js +157 -0
- package/lib/systems/bodypart/types.js.map +1 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts +289 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts.map +1 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.js +388 -0
- package/lib/systems/breathing/BreathingDisruptionSystem.js.map +1 -0
- package/lib/systems/breathing/feedback.d.ts +131 -0
- package/lib/systems/breathing/feedback.d.ts.map +1 -0
- package/lib/systems/breathing/feedback.js +80 -0
- package/lib/systems/breathing/feedback.js.map +1 -0
- package/lib/systems/breathing/index.d.ts +12 -0
- package/lib/systems/breathing/index.d.ts.map +1 -0
- package/lib/systems/breathing/index.js +3 -0
- package/lib/systems/breathing/integration.d.ts +140 -0
- package/lib/systems/breathing/integration.d.ts.map +1 -0
- package/lib/systems/breathing/integration.js +194 -0
- package/lib/systems/breathing/integration.js.map +1 -0
- package/lib/systems/combat/AICounterAttackIntegration.d.ts +223 -0
- package/lib/systems/combat/AICounterAttackIntegration.d.ts.map +1 -0
- package/lib/systems/combat/BalanceSystem.d.ts +667 -0
- package/lib/systems/combat/BalanceSystem.d.ts.map +1 -0
- package/lib/systems/combat/BalanceSystem.js +811 -0
- package/lib/systems/combat/BalanceSystem.js.map +1 -0
- package/lib/systems/combat/BreakingStatusEffects.d.ts +96 -0
- package/lib/systems/combat/BreakingStatusEffects.d.ts.map +1 -0
- package/lib/systems/combat/BreakingStatusEffects.js +60 -0
- package/lib/systems/combat/BreakingStatusEffects.js.map +1 -0
- package/lib/systems/combat/CombatStateSystem.d.ts +264 -0
- package/lib/systems/combat/CombatStateSystem.d.ts.map +1 -0
- package/lib/systems/combat/CombatStateSystem.js +353 -0
- package/lib/systems/combat/CombatStateSystem.js.map +1 -0
- package/lib/systems/combat/ConsciousnessSystem.d.ts +402 -0
- package/lib/systems/combat/ConsciousnessSystem.d.ts.map +1 -0
- package/lib/systems/combat/ConsciousnessSystem.js +529 -0
- package/lib/systems/combat/ConsciousnessSystem.js.map +1 -0
- package/lib/systems/combat/FallIntegration.d.ts +82 -0
- package/lib/systems/combat/FallIntegration.d.ts.map +1 -0
- package/lib/systems/combat/FallIntegration.js +100 -0
- package/lib/systems/combat/FallIntegration.js.map +1 -0
- package/lib/systems/combat/GrappleSystem.d.ts +264 -0
- package/lib/systems/combat/GrappleSystem.d.ts.map +1 -0
- package/lib/systems/combat/GrappleSystem.js +393 -0
- package/lib/systems/combat/GrappleSystem.js.map +1 -0
- package/lib/systems/combat/LimbExposureSystem.d.ts +150 -0
- package/lib/systems/combat/LimbExposureSystem.d.ts.map +1 -0
- package/lib/systems/combat/LimbExposureSystem.js +308 -0
- package/lib/systems/combat/LimbExposureSystem.js.map +1 -0
- package/lib/systems/combat/PainResponseSystem.d.ts +299 -0
- package/lib/systems/combat/PainResponseSystem.d.ts.map +1 -0
- package/lib/systems/combat/PainResponseSystem.js +401 -0
- package/lib/systems/combat/PainResponseSystem.js.map +1 -0
- package/lib/systems/combat/SlowMotionController.d.ts +123 -0
- package/lib/systems/combat/SlowMotionController.d.ts.map +1 -0
- package/lib/systems/combat/TrainingCombatSystem.d.ts +89 -0
- package/lib/systems/combat/TrainingCombatSystem.d.ts.map +1 -0
- package/lib/systems/combat/TrainingCombatSystem.js +224 -0
- package/lib/systems/combat/TrainingCombatSystem.js.map +1 -0
- package/lib/systems/combat/index.d.ts +16 -0
- package/lib/systems/combat/index.d.ts.map +1 -0
- package/lib/systems/combat/index.js +10 -0
- package/lib/systems/combat/painConsciousnessUtils.d.ts +147 -0
- package/lib/systems/combat/painConsciousnessUtils.d.ts.map +1 -0
- package/lib/systems/combat/painConsciousnessUtils.js +185 -0
- package/lib/systems/combat/painConsciousnessUtils.js.map +1 -0
- package/lib/systems/combat/typeGuards.d.ts +25 -0
- package/lib/systems/combat/typeGuards.d.ts.map +1 -0
- package/lib/systems/combat/typeGuards.js +39 -0
- package/lib/systems/combat/typeGuards.js.map +1 -0
- package/lib/systems/combat/types.d.ts +197 -0
- package/lib/systems/combat/types.d.ts.map +1 -0
- package/lib/systems/effects.d.ts +40 -0
- package/lib/systems/effects.d.ts.map +1 -0
- package/lib/systems/effects.js +44 -0
- package/lib/systems/effects.js.map +1 -0
- package/lib/systems/game.d.ts +77 -0
- package/lib/systems/game.d.ts.map +1 -0
- package/lib/systems/game.js +20 -0
- package/lib/systems/game.js.map +1 -0
- package/lib/systems/index.d.ts +24 -0
- package/lib/systems/index.d.ts.map +1 -0
- package/lib/systems/index.js +281 -0
- package/lib/systems/index.js.map +1 -0
- package/lib/systems/movement/InjuryMovementModifier.d.ts +275 -0
- package/lib/systems/movement/InjuryMovementModifier.d.ts.map +1 -0
- package/lib/systems/movement/InjuryMovementModifier.js +281 -0
- package/lib/systems/movement/InjuryMovementModifier.js.map +1 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.d.ts +61 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.d.ts.map +1 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.js +75 -0
- package/lib/systems/movement/helpers/AccelerationUpdater.js.map +1 -0
- package/lib/systems/movement/helpers/accelerationUtils.d.ts +85 -0
- package/lib/systems/movement/helpers/accelerationUtils.d.ts.map +1 -0
- package/lib/systems/movement/helpers/accelerationUtils.js +86 -0
- package/lib/systems/movement/helpers/accelerationUtils.js.map +1 -0
- package/lib/systems/movement/index.d.ts +16 -0
- package/lib/systems/movement/index.d.ts.map +1 -0
- package/lib/systems/movement/integration.d.ts +91 -0
- package/lib/systems/movement/integration.d.ts.map +1 -0
- package/lib/systems/physics/AttackMovementPhysics.d.ts +283 -0
- package/lib/systems/physics/AttackMovementPhysics.d.ts.map +1 -0
- package/lib/systems/physics/AttackMovementPhysics.js +272 -0
- package/lib/systems/physics/AttackMovementPhysics.js.map +1 -0
- package/lib/systems/physics/CollisionDetection.d.ts +323 -0
- package/lib/systems/physics/CollisionDetection.d.ts.map +1 -0
- package/lib/systems/physics/CollisionDetection.js +543 -0
- package/lib/systems/physics/CollisionDetection.js.map +1 -0
- package/lib/systems/physics/CoordinateMapper.d.ts +203 -0
- package/lib/systems/physics/CoordinateMapper.d.ts.map +1 -0
- package/lib/systems/physics/CoordinateMapper.js +242 -0
- package/lib/systems/physics/CoordinateMapper.js.map +1 -0
- package/lib/systems/physics/KnockbackPhysics.d.ts +367 -0
- package/lib/systems/physics/KnockbackPhysics.d.ts.map +1 -0
- package/lib/systems/physics/KnockbackPhysics.js +338 -0
- package/lib/systems/physics/KnockbackPhysics.js.map +1 -0
- package/lib/systems/physics/MovementPhysics.d.ts +428 -0
- package/lib/systems/physics/MovementPhysics.d.ts.map +1 -0
- package/lib/systems/physics/MovementPhysics.js +488 -0
- package/lib/systems/physics/MovementPhysics.js.map +1 -0
- package/lib/systems/physics/PhysicalReachCalculator.d.ts +261 -0
- package/lib/systems/physics/PhysicalReachCalculator.d.ts.map +1 -0
- package/lib/systems/physics/PhysicalReachCalculator.js +226 -0
- package/lib/systems/physics/PhysicalReachCalculator.js.map +1 -0
- package/lib/systems/physics/SpeedModifierSystem.d.ts +302 -0
- package/lib/systems/physics/SpeedModifierSystem.d.ts.map +1 -0
- package/lib/systems/physics/SpeedModifierSystem.js +301 -0
- package/lib/systems/physics/SpeedModifierSystem.js.map +1 -0
- package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts +16 -0
- package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts.map +1 -0
- package/lib/systems/physics/index.d.ts +21 -0
- package/lib/systems/physics/index.d.ts.map +1 -0
- package/lib/systems/physics/index.js +7 -0
- package/lib/systems/player.d.ts +386 -0
- package/lib/systems/player.d.ts.map +1 -0
- package/lib/systems/trigram/KoreanCulture.d.ts +127 -0
- package/lib/systems/trigram/KoreanCulture.d.ts.map +1 -0
- package/lib/systems/trigram/KoreanCulture.js +194 -0
- package/lib/systems/trigram/KoreanCulture.js.map +1 -0
- package/lib/systems/trigram/KoreanTechniques.d.ts +59 -0
- package/lib/systems/trigram/KoreanTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/KoreanTechniques.js +140 -0
- package/lib/systems/trigram/KoreanTechniques.js.map +1 -0
- package/lib/systems/trigram/StanceManager.d.ts +90 -0
- package/lib/systems/trigram/StanceManager.d.ts.map +1 -0
- package/lib/systems/trigram/StanceManager.js +192 -0
- package/lib/systems/trigram/StanceManager.js.map +1 -0
- package/lib/systems/trigram/TransitionCalculator.d.ts +132 -0
- package/lib/systems/trigram/TransitionCalculator.d.ts.map +1 -0
- package/lib/systems/trigram/TransitionCalculator.js +233 -0
- package/lib/systems/trigram/TransitionCalculator.js.map +1 -0
- package/lib/systems/trigram/TrigramCalculator.d.ts +63 -0
- package/lib/systems/trigram/TrigramCalculator.d.ts.map +1 -0
- package/lib/systems/trigram/TrigramCalculator.js +148 -0
- package/lib/systems/trigram/TrigramCalculator.js.map +1 -0
- package/lib/systems/trigram/index.d.ts +12 -0
- package/lib/systems/trigram/index.d.ts.map +1 -0
- package/lib/systems/trigram/index.js +17 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts +118 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.js +683 -0
- package/lib/systems/trigram/techniques/DarkOpsTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GamTechniques.d.ts +44 -0
- package/lib/systems/trigram/techniques/GamTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GamTechniques.js +293 -0
- package/lib/systems/trigram/techniques/GamTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GanTechniques.d.ts +58 -0
- package/lib/systems/trigram/techniques/GanTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GanTechniques.js +323 -0
- package/lib/systems/trigram/techniques/GanTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GeonTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/GeonTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GeonTechniques.js +299 -0
- package/lib/systems/trigram/techniques/GeonTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/GonTechniques.d.ts +51 -0
- package/lib/systems/trigram/techniques/GonTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/GonTechniques.js +399 -0
- package/lib/systems/trigram/techniques/GonTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/JinTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/JinTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/JinTechniques.js +253 -0
- package/lib/systems/trigram/techniques/JinTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/LiTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/LiTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/LiTechniques.js +253 -0
- package/lib/systems/trigram/techniques/LiTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/SonTechniques.d.ts +43 -0
- package/lib/systems/trigram/techniques/SonTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/SonTechniques.js +293 -0
- package/lib/systems/trigram/techniques/SonTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/TaeTechniques.d.ts +23 -0
- package/lib/systems/trigram/techniques/TaeTechniques.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/TaeTechniques.js +292 -0
- package/lib/systems/trigram/techniques/TaeTechniques.js.map +1 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.d.ts +403 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.js +493 -0
- package/lib/systems/trigram/techniques/TechniqueConfig.js.map +1 -0
- package/lib/systems/trigram/techniques/index.d.ts +54 -0
- package/lib/systems/trigram/techniques/index.d.ts.map +1 -0
- package/lib/systems/trigram/techniques/index.js +88 -0
- package/lib/systems/trigram/techniques/index.js.map +1 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts +506 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts.map +1 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.js +37 -0
- package/lib/systems/trigram/types/GonTechniqueExtensions.js.map +1 -0
- package/lib/systems/trigram/types.d.ts +288 -0
- package/lib/systems/trigram/types.d.ts.map +1 -0
- package/lib/systems/trigram/types.js +459 -0
- package/lib/systems/trigram/types.js.map +1 -0
- package/lib/systems/types.d.ts +1038 -0
- package/lib/systems/types.d.ts.map +1 -0
- package/lib/systems/types.js +872 -0
- package/lib/systems/types.js.map +1 -0
- package/lib/systems/vitalpoint/DamageCalculator.d.ts +255 -0
- package/lib/systems/vitalpoint/DamageCalculator.d.ts.map +1 -0
- package/lib/systems/vitalpoint/DamageCalculator.js +435 -0
- package/lib/systems/vitalpoint/DamageCalculator.js.map +1 -0
- package/lib/systems/vitalpoint/HitDetection.d.ts +11 -0
- package/lib/systems/vitalpoint/HitDetection.d.ts.map +1 -0
- package/lib/systems/vitalpoint/HitDetection.js +69 -0
- package/lib/systems/vitalpoint/HitDetection.js.map +1 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.d.ts +361 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.d.ts.map +1 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.js +1709 -0
- package/lib/systems/vitalpoint/KoreanAnatomy.js.map +1 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts +133 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts.map +1 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.js +150 -0
- package/lib/systems/vitalpoint/KoreanVitalPoints.js.map +1 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts +92 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts.map +1 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.js +227 -0
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.js.map +1 -0
- package/lib/systems/vitalpoint/VitalPointsData.d.ts +51 -0
- package/lib/systems/vitalpoint/VitalPointsData.d.ts.map +1 -0
- package/lib/systems/vitalpoint/VitalPointsData.js +1917 -0
- package/lib/systems/vitalpoint/VitalPointsData.js.map +1 -0
- package/lib/systems/vitalpoint/index.d.ts +12 -0
- package/lib/systems/vitalpoint/index.d.ts.map +1 -0
- package/lib/systems/vitalpoint/index.js +5 -0
- package/lib/systems/vitalpoint/types.d.ts +417 -0
- package/lib/systems/vitalpoint/types.d.ts.map +1 -0
- package/lib/test/test-utils.d.ts +46 -0
- package/lib/test/test-utils.d.ts.map +1 -0
- package/lib/types/AccessibilityTypes.d.ts +232 -0
- package/lib/types/AccessibilityTypes.d.ts.map +1 -0
- package/lib/types/AccessibilityTypes.js +13 -0
- package/lib/types/AccessibilityTypes.js.map +1 -0
- package/lib/types/HtmlOverlayTypes.d.ts +161 -0
- package/lib/types/HtmlOverlayTypes.d.ts.map +1 -0
- package/lib/types/LayoutTypes.d.ts +330 -0
- package/lib/types/LayoutTypes.d.ts.map +1 -0
- package/lib/types/LayoutTypes.js +118 -0
- package/lib/types/LayoutTypes.js.map +1 -0
- package/lib/types/PhysicsTypes.d.ts +327 -0
- package/lib/types/PhysicsTypes.d.ts.map +1 -0
- package/lib/types/PhysicsTypes.js +105 -0
- package/lib/types/PhysicsTypes.js.map +1 -0
- package/lib/types/ResponsiveTypes.d.ts +210 -0
- package/lib/types/ResponsiveTypes.d.ts.map +1 -0
- package/lib/types/clothing.d.ts +298 -0
- package/lib/types/clothing.d.ts.map +1 -0
- package/lib/types/common.d.ts +1247 -0
- package/lib/types/common.d.ts.map +1 -0
- package/lib/types/common.js +622 -0
- package/lib/types/common.js.map +1 -0
- package/lib/types/constants/animations.d.ts +93 -0
- package/lib/types/constants/animations.d.ts.map +1 -0
- package/lib/types/constants/animations.js +26 -0
- package/lib/types/constants/animations.js.map +1 -0
- package/lib/types/constants/colors.d.ts +151 -0
- package/lib/types/constants/colors.d.ts.map +1 -0
- package/lib/types/constants/colors.js +155 -0
- package/lib/types/constants/colors.js.map +1 -0
- package/lib/types/constants/designSystem.d.ts +469 -0
- package/lib/types/constants/designSystem.d.ts.map +1 -0
- package/lib/types/constants/designSystem.js +406 -0
- package/lib/types/constants/designSystem.js.map +1 -0
- package/lib/types/constants/index.d.ts +181 -0
- package/lib/types/constants/index.d.ts.map +1 -0
- package/lib/types/constants/index.js +176 -0
- package/lib/types/constants/index.js.map +1 -0
- package/lib/types/constants/layout.d.ts +76 -0
- package/lib/types/constants/layout.d.ts.map +1 -0
- package/lib/types/constants/layout.js +37 -0
- package/lib/types/constants/layout.js.map +1 -0
- package/lib/types/constants/performance.d.ts +183 -0
- package/lib/types/constants/performance.d.ts.map +1 -0
- package/lib/types/constants/performance.js +134 -0
- package/lib/types/constants/performance.js.map +1 -0
- package/lib/types/constants/typography.d.ts +85 -0
- package/lib/types/constants/typography.d.ts.map +1 -0
- package/lib/types/constants/typography.js +110 -0
- package/lib/types/constants/typography.js.map +1 -0
- package/lib/types/constants/ui.d.ts +187 -0
- package/lib/types/constants/ui.d.ts.map +1 -0
- package/lib/types/constants/ui.js +113 -0
- package/lib/types/constants/ui.js.map +1 -0
- package/lib/types/facial.d.ts +266 -0
- package/lib/types/facial.d.ts.map +1 -0
- package/lib/types/facial.js +92 -0
- package/lib/types/facial.js.map +1 -0
- package/lib/types/hand-animation.d.ts +370 -0
- package/lib/types/hand-animation.d.ts.map +1 -0
- package/lib/types/hand-animation.js +55 -0
- package/lib/types/hand-animation.js.map +1 -0
- package/lib/types/index.d.ts +14 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +112 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/injury.d.ts +58 -0
- package/lib/types/injury.d.ts.map +1 -0
- package/lib/types/injury.js +23 -0
- package/lib/types/injury.js.map +1 -0
- package/lib/types/muscle.d.ts +146 -0
- package/lib/types/muscle.d.ts.map +1 -0
- package/lib/types/muscle.js +22 -0
- package/lib/types/muscle.js.map +1 -0
- package/lib/types/physics.d.ts +606 -0
- package/lib/types/physics.d.ts.map +1 -0
- package/lib/types/physics.js +162 -0
- package/lib/types/physics.js.map +1 -0
- package/lib/types/physicsConstants.d.ts +270 -0
- package/lib/types/physicsConstants.d.ts.map +1 -0
- package/lib/types/physicsConstants.js +71 -0
- package/lib/types/physicsConstants.js.map +1 -0
- package/lib/types/player-visual.d.ts +299 -0
- package/lib/types/player-visual.d.ts.map +1 -0
- package/lib/types/skeletal.d.ts +693 -0
- package/lib/types/skeletal.d.ts.map +1 -0
- package/lib/types/skeletal.js +189 -0
- package/lib/types/skeletal.js.map +1 -0
- package/lib/types/technique.d.ts +175 -0
- package/lib/types/technique.d.ts.map +1 -0
- package/lib/types/techniqueId.d.ts +51 -0
- package/lib/types/techniqueId.d.ts.map +1 -0
- package/lib/types/techniqueId.js +55 -0
- package/lib/types/techniqueId.js.map +1 -0
- package/lib/utils/EventManager.d.ts +133 -0
- package/lib/utils/EventManager.d.ts.map +1 -0
- package/lib/utils/EventManager.js +1 -0
- package/lib/utils/accessibility.d.ts +218 -0
- package/lib/utils/accessibility.d.ts.map +1 -0
- package/lib/utils/accessibility.js +167 -0
- package/lib/utils/accessibility.js.map +1 -0
- package/lib/utils/arenaWorldDimensions.d.ts +219 -0
- package/lib/utils/arenaWorldDimensions.d.ts.map +1 -0
- package/lib/utils/arenaWorldDimensions.js +154 -0
- package/lib/utils/arenaWorldDimensions.js.map +1 -0
- package/lib/utils/assetConfig.d.ts +39 -0
- package/lib/utils/assetConfig.d.ts.map +1 -0
- package/lib/utils/assetConfig.js +52 -0
- package/lib/utils/assetConfig.js.map +1 -0
- package/lib/utils/cameraShake.d.ts +115 -0
- package/lib/utils/cameraShake.d.ts.map +1 -0
- package/lib/utils/characterScaling.d.ts +305 -0
- package/lib/utils/characterScaling.d.ts.map +1 -0
- package/lib/utils/characterScaling.js +105 -0
- package/lib/utils/characterScaling.js.map +1 -0
- package/lib/utils/clothingColors.d.ts +120 -0
- package/lib/utils/clothingColors.d.ts.map +1 -0
- package/lib/utils/clothingMaterials.d.ts +65 -0
- package/lib/utils/clothingMaterials.d.ts.map +1 -0
- package/lib/utils/colorHelpers.d.ts +67 -0
- package/lib/utils/colorHelpers.d.ts.map +1 -0
- package/lib/utils/colorHelpers.js +81 -0
- package/lib/utils/colorHelpers.js.map +1 -0
- package/lib/utils/colorUtils.d.ts +113 -0
- package/lib/utils/colorUtils.d.ts.map +1 -0
- package/lib/utils/colorUtils.js +225 -0
- package/lib/utils/colorUtils.js.map +1 -0
- package/lib/utils/combatReadiness.d.ts +132 -0
- package/lib/utils/combatReadiness.d.ts.map +1 -0
- package/lib/utils/combatReadiness.js +176 -0
- package/lib/utils/combatReadiness.js.map +1 -0
- package/lib/utils/controlMapping.d.ts +171 -0
- package/lib/utils/controlMapping.d.ts.map +1 -0
- package/lib/utils/controlMapping.js +288 -0
- package/lib/utils/controlMapping.js.map +1 -0
- package/lib/utils/deviceDetection.d.ts +159 -0
- package/lib/utils/deviceDetection.d.ts.map +1 -0
- package/lib/utils/deviceDetection.js +337 -0
- package/lib/utils/deviceDetection.js.map +1 -0
- package/lib/utils/effectUtils.d.ts +63 -0
- package/lib/utils/effectUtils.d.ts.map +1 -0
- package/lib/utils/effectUtils.js +737 -0
- package/lib/utils/effectUtils.js.map +1 -0
- package/lib/utils/eventConstants.d.ts +25 -0
- package/lib/utils/eventConstants.d.ts.map +1 -0
- package/lib/utils/eventConstants.js +3 -0
- package/lib/utils/eventConstants.js.map +1 -0
- package/lib/utils/fabricTextures.d.ts +136 -0
- package/lib/utils/fabricTextures.d.ts.map +1 -0
- package/lib/utils/fabricTextures.js +301 -0
- package/lib/utils/fabricTextures.js.map +1 -0
- package/lib/utils/hapticFeedback.d.ts +224 -0
- package/lib/utils/hapticFeedback.d.ts.map +1 -0
- package/lib/utils/hapticFeedback.js +143 -0
- package/lib/utils/hapticFeedback.js.map +1 -0
- package/lib/utils/haptics.d.ts +139 -0
- package/lib/utils/haptics.d.ts.map +1 -0
- package/lib/utils/haptics.js +66 -0
- package/lib/utils/haptics.js.map +1 -0
- package/lib/utils/htmlOverlayHelpers.d.ts +168 -0
- package/lib/utils/htmlOverlayHelpers.d.ts.map +1 -0
- package/lib/utils/htmlOverlayHelpers.js +279 -0
- package/lib/utils/htmlOverlayHelpers.js.map +1 -0
- package/lib/utils/index.d.ts +15 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +92 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/inputSystem.d.ts +154 -0
- package/lib/utils/inputSystem.d.ts.map +1 -0
- package/lib/utils/inputSystem.js +324 -0
- package/lib/utils/inputSystem.js.map +1 -0
- package/lib/utils/koreanThemeHelpers.d.ts +328 -0
- package/lib/utils/koreanThemeHelpers.d.ts.map +1 -0
- package/lib/utils/koreanThemeHelpers.js +348 -0
- package/lib/utils/koreanThemeHelpers.js.map +1 -0
- package/lib/utils/math.d.ts +80 -0
- package/lib/utils/math.d.ts.map +1 -0
- package/lib/utils/math.js +70 -0
- package/lib/utils/math.js.map +1 -0
- package/lib/utils/mobileLayoutHelpers.d.ts +52 -0
- package/lib/utils/mobileLayoutHelpers.d.ts.map +1 -0
- package/lib/utils/mobileLayoutHelpers.js +66 -0
- package/lib/utils/mobileLayoutHelpers.js.map +1 -0
- package/lib/utils/mobileUIUtils.d.ts +266 -0
- package/lib/utils/mobileUIUtils.d.ts.map +1 -0
- package/lib/utils/mobileUIUtils.js +33 -0
- package/lib/utils/mobileUIUtils.js.map +1 -0
- package/lib/utils/objectPool.d.ts +92 -0
- package/lib/utils/objectPool.d.ts.map +1 -0
- package/lib/utils/particlePool.d.ts +138 -0
- package/lib/utils/particlePool.d.ts.map +1 -0
- package/lib/utils/performance/PerformanceMonitor.d.ts +93 -0
- package/lib/utils/performance/PerformanceMonitor.d.ts.map +1 -0
- package/lib/utils/performance/PerformanceMonitor.js +155 -0
- package/lib/utils/performance/PerformanceMonitor.js.map +1 -0
- package/lib/utils/performance/PerformanceOverlay3D.d.ts +20 -0
- package/lib/utils/performance/PerformanceOverlay3D.d.ts.map +1 -0
- package/lib/utils/performance/PerformanceOverlay3D.js +200 -0
- package/lib/utils/performance/PerformanceOverlay3D.js.map +1 -0
- package/lib/utils/performance/index.d.ts +12 -0
- package/lib/utils/performance/index.d.ts.map +1 -0
- package/lib/utils/performance/index.js +3 -0
- package/lib/utils/performance/usePerformanceMonitor.d.ts +46 -0
- package/lib/utils/performance/usePerformanceMonitor.d.ts.map +1 -0
- package/lib/utils/performance/usePerformanceMonitor.js +71 -0
- package/lib/utils/performance/usePerformanceMonitor.js.map +1 -0
- package/lib/utils/performanceOptimization.d.ts +142 -0
- package/lib/utils/performanceOptimization.d.ts.map +1 -0
- package/lib/utils/performanceOptimization.js +27 -0
- package/lib/utils/performanceOptimization.js.map +1 -0
- package/lib/utils/physicalAttributeValidation.d.ts +197 -0
- package/lib/utils/physicalAttributeValidation.d.ts.map +1 -0
- package/lib/utils/player3DHelpers.d.ts +82 -0
- package/lib/utils/player3DHelpers.d.ts.map +1 -0
- package/lib/utils/player3DHelpers.js +176 -0
- package/lib/utils/player3DHelpers.js.map +1 -0
- package/lib/utils/playerUtils.d.ts +137 -0
- package/lib/utils/playerUtils.d.ts.map +1 -0
- package/lib/utils/playerUtils.js +296 -0
- package/lib/utils/playerUtils.js.map +1 -0
- package/lib/utils/responsiveLayout.d.ts +207 -0
- package/lib/utils/responsiveLayout.d.ts.map +1 -0
- package/lib/utils/responsiveLayout.js +114 -0
- package/lib/utils/responsiveLayout.js.map +1 -0
- package/lib/utils/responsiveLayoutHelpers.d.ts +156 -0
- package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -0
- package/lib/utils/responsiveLayoutHelpers.js +253 -0
- package/lib/utils/responsiveLayoutHelpers.js.map +1 -0
- package/lib/utils/safeAreaUtils.d.ts +133 -0
- package/lib/utils/safeAreaUtils.d.ts.map +1 -0
- package/lib/utils/safeAreaUtils.js +65 -0
- package/lib/utils/safeAreaUtils.js.map +1 -0
- package/lib/utils/sharedPhysicsConfig.d.ts +125 -0
- package/lib/utils/sharedPhysicsConfig.d.ts.map +1 -0
- package/lib/utils/sharedPhysicsConfig.js +119 -0
- package/lib/utils/sharedPhysicsConfig.js.map +1 -0
- package/lib/utils/skeletonScaling.d.ts +285 -0
- package/lib/utils/skeletonScaling.d.ts.map +1 -0
- package/lib/utils/skeletonScaling.js +46 -0
- package/lib/utils/skeletonScaling.js.map +1 -0
- package/lib/utils/stanceHelpers.d.ts +85 -0
- package/lib/utils/stanceHelpers.d.ts.map +1 -0
- package/lib/utils/stanceHelpers.js +132 -0
- package/lib/utils/stanceHelpers.js.map +1 -0
- package/lib/utils/threeObjectPool.d.ts +323 -0
- package/lib/utils/threeObjectPool.d.ts.map +1 -0
- package/lib/utils/threeObjectPool.js +345 -0
- package/lib/utils/threeObjectPool.js.map +1 -0
- package/lib/utils/visualEffects.d.ts +358 -0
- package/lib/utils/visualEffects.d.ts.map +1 -0
- package/lib/utils/visualEffects.js +423 -0
- package/lib/utils/visualEffects.js.map +1 -0
- package/package.json +222 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KickAnimations.js","names":[],"sources":["../../../../src/systems/animation/catalogs/KickAnimations.ts"],"sourcesContent":["/**\n * Kick Animations Module\n *\n * All kick animations (발차기) for Korean martial arts.\n * Uses MartialArtsAnimationBuilder for readable, martial arts expert-friendly code.\n *\n * 한국 무술 발차기 애니메이션 모듈\n *\n * @module systems/animation/KickAnimations\n * @korean 발차기애니메이션\n */\n\nimport type { SkeletalAnimation } from \"@/types/skeletal\";\nimport {\n MartialArtsAnimationBuilder,\n TECHNIQUE_TIMING,\n} from \"../builders/MartialArtsAnimationBuilder\";\n\n// ═══════════════════════════════════════════════════════════════════════════\n// FRONT KICK (앞차기) - Basic Taekwondo Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Front Kick - 앞차기 (Ap Chagi)\n *\n * Fundamental Taekwondo front kick - the first kick taught to every student.\n * Ball of foot (앞꿈치 - Apkkumchi) strikes forward in explosive snapping motion.\n *\n * **Korean Martial Arts Biomechanics** (한국 무술 생체역학):\n *\n * **Stance & Weight Distribution** (자세와 체중 분배):\n * - Start: 겨루기 자세 (Fighting stance), 60/40 weight\n * - Chamber: 100% weight on supporting leg - instant balance shift\n * - Extension: 100% weight on supporting leg throughout\n * - Recovery: Return to 60/40 distribution\n *\n * **Chamber Phase - 준비 (Junbi)** [120ms]:\n * - Kicking leg: Knee lifts to TORSO HEIGHT (명치 높이 - Myeongchi nopi)\n * - Hip flexion: ~90° (1.57 rad) - thigh parallel to ground\n * - Knee: Bent ~45° (0.79 rad) - shin vertical, foot pulled back\n * - Ankle: DORSIFLEXED (발목 굽히기) - toes pulled toward shin\n * - Foot position: Ball of foot ready (앞꿈치 준비)\n * - Supporting leg: Nearly straight 170° (0.18 rad) for stability\n * - Hips: Square facing target (정면 - Jeongmyeon)\n * - Arms: 중단막기 (Middle guard) protects face - hands at chin\n * - Breathing: Quick inhale through nose (코로 들이마시기)\n * - Eyes: Lock on target - 명치 (solar plexus) or 얼굴 (face)\n * - Weight: 100% on supporting leg - perfect balance critical\n *\n * **Extension Phase - 차기 (Chagi)** [180ms]:\n * - Knee: SNAPS FORWARD - extends from 45° → 170° (0.18 rad)\n * - Hip: Thrusts FORWARD ~10-15° to add power and reach\n * - Striking surface: 앞꿈치 (ball of foot) - toes pulled back\n * - Leg trajectory: STRAIGHT LINE forward from chamber\n * - Ankle: Maintains dorsiflexion - rigid striking platform\n * - Supporting leg: Stays straight, heel may lift slightly\n * - Hips: Remain square - NO rotation (unlike roundhouse)\n * - Arms: MAINTAIN guard - don't windmill!\n * - Body lean: Slight backward lean ~5-10° to counterbalance\n * - Breathing: Begin exhale (기합 준비 - Kihap junbi)\n *\n * **Peak Impact - 정점 (Jeongjeom)** [80ms]:\n * - Maximum extension: Leg nearly straight 170° (0.18 rad)\n * - Impact: 앞꿈치 (ball of foot) strikes target\n * - Targets: 명치 (solar plexus), 얼굴 (face), 단전 (danjeon), 턱 (chin)\n * - Hip position: Thrust forward for maximum reach\n * - Breathing: SHARP exhale \"칫!\" (Chit!) or \"이야!\" (Iya!)\n * - Supporting leg: Fully extended, stable base\n * - Body: Slight backward lean maintained for balance\n * - Power: 70% from hip thrust, 30% from knee snap\n * - Arms: Guard still up - never drop!\n *\n * **Retraction Phase - 회수 (Hoisu)** [100ms]:\n * - Knee: SNAPS BACK - leg returns via same path\n * - Return through CHAMBER position - knee high, shin vertical\n * - Speed: Retraction = Extension speed (defense critical!)\n * - Hip: Returns to neutral position\n * - Supporting leg: Maintains balance throughout\n * - Foot: Stays dorsiflexed until return\n *\n * **Recovery Phase - 복귀 (Bokgwi)** [220ms]:\n * - Leg: Lowers smoothly from chamber to floor\n * - Foot: Places forward or returns to original position\n * - Weight: Shifts from 100% → 60/40 fighting stance\n * - Hips: Square, neutral position\n * - Arms: Maintain 중단막기 (middle guard)\n * - Stance: Return to 겨루기 자세 (fighting ready)\n * - Breathing: Controlled recovery breath\n * - Balance: Smooth weight transition, no wobbling\n *\n * **Combat Applications** (전투 응용):\n * - Primary target: 명치 (solar plexus) - wind knockout\n * - High target: 얼굴 (face), 턱 (chin) - knockout\n * - Low target: 단전 (danjeon), 치골 (groin) - debilitating\n * - Combinations: 잽-앞차기 (Jab-Front kick), 앞차기-돌려차기 (Front-Roundhouse)\n * - Distance control: Push opponent away (밀어차기 variation)\n * - Speed combo: Double front kick (연속 앞차기)\n *\n * **Biomechanical Keys** (생체역학 핵심):\n * 1. **Chamber height** = Maximum power potential\n * 2. **Hip thrust** = 70% of power (NOT just knee extension!)\n * 3. **Snap back** = Defensive necessity (prevents grab)\n * 4. **Dorsiflexion** = Rigid striking surface (prevents injury)\n * 5. **Balance** = Power delivery platform (wobble = weak kick)\n *\n * **Taekwondo Principle**: \"빠르게 들어가고 빠르게 나온다\"\n * (Enter fast, exit fast)\n * - Chamber → Strike → Chamber = SAME SPEED\n * - Kick that stays out = grabbed and thrown!\n * - Clean chamber position = instant defensive readiness\n *\n * **Common Mistakes** (흔한 실수):\n * - ❌ Low chamber (낮은 준비) - Weak kick, telegraphed\n * - ❌ Pushing motion (밀기) - Not a snap kick!\n * - ❌ Pointed toes (발끝 펴기) - Injury risk, weak surface\n * - ❌ Slow retraction (느린 회수) - Leg gets grabbed\n * - ❌ Dropping hands (손 내리기) - Face exposed to counter\n * - ✅ Correct: High chamber + snap + quick retraction + guard up\n *\n * **Breathing Pattern** (호흡 패턴):\n * - Chamber: Quick inhale (들이마시기)\n * - Extension: Begin exhale (내쉬기 시작)\n * - Impact: Explosive exhale with 기합 (Kihap)\n * - Recovery: Controlled breath return\n *\n * Total duration: 700ms (MEDIUM_LIGHT technique)\n *\n * @korean 앞차기애니메이션\n */\nexport const FRONT_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"front_kick\", \"앞차기\")\n .asAttack(TECHNIQUE_TIMING.MEDIUM_LIGHT.total)\n .stance() // 기본자세 - Initial stance at t=0\n .withKoreanMiddleGuard() // 중단막기 - Hands protect face\n .chamber(TECHNIQUE_TIMING.MEDIUM_LIGHT.chamber) // 준비 - 120ms knee lifts to torso\n .withKoreanMiddleGuard() // 중단막기 - Maintain guard during chamber\n .extend(TECHNIQUE_TIMING.MEDIUM_LIGHT.extend) // 차기 - 180ms leg snaps forward\n .withKoreanMiddleGuard() // 중단막기 - Maintain guard during kick\n .extend(TECHNIQUE_TIMING.MEDIUM_LIGHT.peak) // 정점 - 80ms hold at extension\n .withKoreanMiddleGuard() // 중단막기 - Maintain guard at peak\n .retract(TECHNIQUE_TIMING.MEDIUM_LIGHT.retract) // 회수 - 100ms return through chamber\n .recover(TECHNIQUE_TIMING.MEDIUM_LIGHT.recover) // 복귀 - 220ms return to stance\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ROUNDHOUSE KICK (돌려차기) - Signature Taekwondo Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Roundhouse Kick - 돌려차기 (Dollyeo Chagi)\n *\n * THE signature Taekwondo kick - most practiced, most versatile, most devastating.\n * Instep (발등 - Baldeung) or shin (정강이 - Jeonggangyi) strikes in circular arc.\n *\n * **Korean Martial Arts Biomechanics** (한국 무술 생체역학):\n *\n * **Stance & Weight Distribution** (자세와 체중 분배):\n * - Start: 겨루기 자세 (Fighting stance), 60/40 weight\n * - Chamber: 100% weight on supporting leg\n * - Extension: 100% weight, supporting leg pivots\n * - Impact: Supporting foot rotated 180° from start!\n *\n * **Chamber Phase - 준비 (Junbi)** [150ms]:\n * - Kicking leg: Knee lifts HIGH and OUT TO SIDE (옆으로 들기)\n * - Hip: Begins external rotation - knee points OUT ~45°\n * - Hip flexion: ~100° (1.75 rad) - thigh raised high\n * - Knee: Bent ~45° (0.79 rad) - shin angled inward\n * - Ankle: PLANTARFLEXED (발목 펴기) - toes pointed for instep strike\n * - Supporting leg: Straight 170° (0.18 rad), heel begins to pivot\n * - Hip rotation: Begins opening - kicking hip rotates back ~30°\n * - Shoulders: Begin counter-rotation for balance\n * - Arms: 중단막기 (middle guard) or 상단막기 (high guard) for spinning defense\n * - Breathing: Deep inhale (깊이 들이마시기)\n * - Eyes: Lock on target through rotation\n * - Balance: Core engaged, supporting leg stable\n *\n * **Hip Rotation Phase - 회전 (Hoejeon)** [200ms - Critical Phase!]:\n * - Supporting foot: PIVOTS on ball - heel rotates 180° INWARD\n * - Hip rotation: Kicking hip drives FORWARD and THROUGH ~90-120° rotation\n * - Torso: Rotates WITH hips - upper body follows\n * - Kicking leg: Knee continues OUT as hip opens\n * - Supporting leg: Maintains straight, pivots smoothly\n * - Shoulders: Counter-rotate to maintain balance\n * - Head: Turns to keep eyes on target throughout\n * - Power generation: Hip rotation = 80% of kick power!\n * - Centrifugal force: Body rotation accelerates leg like whip\n *\n * **Extension/Whip Phase - 차기 (Chagi)** [included in rotation]:\n * - Knee: Extends from 45° → 170° (0.18 rad) as hip completes rotation\n * - Leg trajectory: CIRCULAR ARC - NOT straight line!\n * - Striking surface: 발등 (instep) for competition, 정강이 (shin) for combat\n * - Whip motion: Hip rotation → Knee extension = compound acceleration\n * - Supporting pivot: Completes 180° rotation - heel now faces target!\n * - Hip: Fully rotated forward, kicking leg at full extension\n * - Body lean: Slight away from kick (~10-15°) for balance\n * - Arms: Maintain guard, may assist with rotation\n *\n * **Peak Impact - 정점 (Jeongjeom)** [100ms]:\n * - Maximum extension: Leg nearly straight 170° (0.18 rad)\n * - Impact surface: 발등 (instep top of foot) or 정강이 (lower shin)\n * - Target zones:\n * - 머리 (head/face) - knockout\n * - 관자놀이 (temple) - concussion\n * - 목 (neck) - nerve shock\n * - 늑골 (ribs) - body shot\n * - 간장 (liver) - organ damage\n * - Hip position: Fully rotated, kicking hip forward\n * - Supporting foot: 180° rotated - toes point AWAY from target\n * - Breathing: EXPLOSIVE exhale \"차!\" (Cha!) or \"터억!\" (Teok!)\n * - Follow-through: Hip continues slight over-rotation for power\n * - Body alignment: Supporting leg, hip, torso aligned perpendicular to target\n * - Power transfer: ALL rotational momentum into target\n *\n * **Retraction Phase - 회수 (Hoisu)** [150ms]:\n * - Leg: Retracts through CHAMBER position - knee high and out\n * - Hip: Begins counter-rotation back toward starting position\n * - Supporting foot: Pivots back toward neutral (may not complete full return)\n * - Knee: Bends back to ~45° chamber angle\n * - Speed: Fast retraction prevents grab/sweep\n *\n * **Recovery Phase - 복귀 (Bokgwi)** [200ms]:\n * - Leg: Lowers from chamber to floor\n * - Foot: Can place forward (switch stance) or return back (same stance)\n * - Supporting foot: Completes pivot back to starting orientation\n * - Weight: Shifts from 100% → 60/40 distribution\n * - Hips: Return to neutral square position\n * - Arms: Maintain 중단막기 (middle guard)\n * - Stance: Reset to 겨루기 자세 (fighting ready)\n * - Breathing: Controlled recovery\n * - Balance: Smooth transition, ready for next technique\n *\n * **Combat Applications** (전투 응용):\n * - Head kick (머리차기): Knockout potential - Olympic scoring\n * - Body kick (몸통차기): Liver, ribs, solar plexus\n * - Low kick (하단차기): Thigh, calf (Muay Thai style)\n * - Combinations:\n * - 잽-돌려차기 (Jab-Roundhouse) - classic hand-foot combo\n * - 앞차기-돌려차기 (Front-Roundhouse) - same leg double kick\n * - 돌려차기-뒤차기 (Roundhouse-Back kick) - rotation combo\n * - Switch kick: Step up and kick with rear leg (instant power)\n *\n * **Biomechanical Keys** (생체역학 핵심):\n * 1. **Hip rotation** = 80% of power (NOT leg extension!)\n * 2. **Supporting foot pivot** = Enables hip rotation (pivot = power)\n * 3. **High chamber** = Power and speed potential\n * 4. **Centrifugal force** = Whip motion multiplies speed\n * 5. **Follow-through** = Complete power transfer\n * 6. **180° pivot** = Full body commitment (no half measures!)\n *\n * **Physics Principle**: \"각운동량이 힘을 만든다\"\n * (Angular momentum creates power)\n * - Rotation speed × Leg mass × Distance = Devastating force\n * - Supporting pivot allows full hip rotation = maximum angular velocity\n * - Leg extends at peak velocity = compound acceleration\n * - Impact at maximum distance = longest lever arm = maximum torque\n *\n * **Taekwondo Principle**: \"돌려차기는 태권도의 영혼이다\"\n * (The roundhouse kick is the soul of Taekwondo)\n * - Most versatile: Works at all ranges and heights\n * - Most powerful: Angular momentum beats linear force\n * - Most strategic: Can target any level instantly\n * - Most beautiful: Embodiment of Korean martial arts aesthetics\n *\n * **Common Mistakes** (흔한 실수):\n * - ❌ No pivot (피벗 없음) - Hip can't rotate = weak kick!\n * - ❌ Low chamber (낮은 준비) - Telegraphed and slow\n * - ❌ Straight leg extension (직선 펴기) - Not a front kick!\n * - ❌ Pushing motion (밀기) - Needs WHIP motion\n * - ❌ Incomplete rotation (불완전 회전) - Power leak\n * - ❌ Dropping hands (손 내리기) - Counter-punched!\n * - ✅ Correct: High chamber + full pivot + hip whip + complete rotation\n *\n * **Training Points** (훈련 포인트):\n * - Practice pivot separately: Supporting foot must rotate smoothly\n * - Chamber height determines power: High chamber = high power\n * - Hip leads, leg follows: Not arm wrestling with your leg!\n * - Eyes through target: Never lose sight during rotation\n * - Guard stays up: Spinning = temporary blindness = vulnerable\n *\n * **Breathing Pattern** (호흡 패턴):\n * - Chamber: Deep inhale (깊이 들이마시기)\n * - Rotation: Hold/control breath (호흡 유지)\n - Extension: Begin exhale (내쉬기 시작)\n * - Impact: Explosive 기합 (Kihap) \"차!\" or \"터억!\"\n * - Recovery: Controlled recovery breath\n *\n * **Competition vs. Combat** (겨루기 vs. 실전):\n * - Competition: 발등 (instep) - legal striking surface, head scoring\n * - Combat: 정강이 (shin) - bone-on-bone, devastating to ribs/legs\n * - Olympic: High kicks valued - spectacular and difficult\n * - Street: Mid-low kicks safer - less commitment, less risk\n *\n * Total duration: 800ms (HEAVY_LIGHT technique)\n *\n * @korean 돌려차기애니메이션\n */\nexport const ROUNDHOUSE_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"roundhouse_kick\", \"돌려차기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY_LIGHT.total)\n .stance() // 기본자세 - Initial stance at t=0\n .withKoreanMiddleGuard() // 중단막기 - Hands protect face\n .roundhouseChamber(TECHNIQUE_TIMING.HEAVY_LIGHT.chamber) // 준비 - 150ms hip rotates out\n .withKoreanMiddleGuard() // 중단막기 - Maintain guard during chamber\n .roundhouseExtend(TECHNIQUE_TIMING.HEAVY_LIGHT.extend) // 차기 - 200ms leg whips through\n .withKoreanHighGuard() // 상단막기 - High guard during spinning kick\n .roundhouseExtend(TECHNIQUE_TIMING.HEAVY_LIGHT.peak) // 정점 - 100ms hold\n .withKoreanHighGuard() // 상단막기 - Maintain high guard at peak\n .retract(TECHNIQUE_TIMING.HEAVY_LIGHT.retract) // 회수 - 150ms\n .recover(TECHNIQUE_TIMING.HEAVY_LIGHT.recover) // 복귀 - 200ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// SIDE KICK (옆차기) - Lateral Heel Strike\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Side Kick - 옆차기 (Yeop Chagi)\n *\n * Powerful lateral thrusting kick - the \"push kick\" of Taekwondo.\n * Heel (뒤꿈치 - Dwikkumchi) drives through target in straight line like piston.\n *\n * **Korean Martial Arts Biomechanics** (한국 무술 생체역학):\n *\n * **Stance & Weight Distribution** (자세와 체중 분배):\n * - Start: 겨루기 자세 (Fighting stance), 60/40\n * - Chamber: 100% weight on supporting leg, body turns SIDEWAYS\n * - Extension: 100% weight, body perpendicular to target\n * - Key: Body turns 90° from target for maximum hip drive\n *\n * **Chamber Phase - 준비 (Junbi)** [120ms]:\n * - Body rotation: Turns SIDEWAYS 90° - shoulder faces target\n * - Kicking leg: Knee lifts to torso height, pulls ACROSS body\n * - Hip: Deeply COILED - kicking leg knee points toward ground initially\n * - Knee: Bent ~45° (0.79 rad), shin vertical but TILTED inward\n * - Ankle: DORSIFLEXED (발목 굽히기) - heel ready, toes pulled back\n * - Foot position: Blade of foot (발날 - Balnal) or heel (뒤꿈치) ready\n * - Supporting leg: Nearly straight 170° (0.18 rad) for stability\n * - Hips: Turned 90° - SIDEWAYS to target (critical for power!)\n * - Torso: Side-facing, shoulder points at target\n * - Arms: 상단막기 (High guard) - exposed side, must protect\n * - Head: Looks over LEAD shoulder at target\n * - Breathing: Deep inhale (들이마시기)\n * - Balance: Weight centered over supporting leg\n *\n * **Extension/Thrust Phase - 차기 (Chagi)** [200ms]:\n * - Hip: Drives FORWARD and SIDEWAYS - powerful piston motion\n * - Knee: Extends from 45° → 170° (0.18 rad) - nearly straight\n * - Leg trajectory: STRAIGHT LINEAR PATH - like spear thrust\n * - Striking surface: 뒤꿈치 (heel) or 발날 (blade of foot)\n * - Ankle: Maintains dorsiflexion - rigid heel platform\n * - Hip thrust: Drives hip FORWARD ~15-20cm for penetration\n * - Supporting leg: Stays stable, may lift heel slightly\n * - Body: Leans AWAY ~15-20° to counterbalance (like capital \"T\")\n * - Torso: Remains perpendicular - no forward rotation\n * - Head: Continues looking over shoulder at target\n * - Arms: High guard protects exposed face\n * - Power: Linear thrust, not rotational - PUSHING power\n *\n * **Peak Impact - 정점 (Jeongjeom)** [80ms]:\n * - Maximum extension: Leg nearly straight 170° (0.18 rad)\n * - Impact: 뒤꿈치 (heel) drives THROUGH target\n * - Target zones:\n * - 늑골 (ribs) - rib fracture potential\n * - 명치 (solar plexus) - wind knockout\n * - 무릎 (knee) - joint destruction\n * - 얼굴 (face) - if flexible enough for high side kick\n * - Hip position: Fully extended forward\n * - Body lean: Maximum ~20° away from kick\n * - Breathing: Explosive exhale \"이야!\" (Iya!) or \"터억!\" (Teok!)\n * - Power delivery: ALL body mass drives linearly through heel\n * - Penetration: Kick goes THROUGH target, not just touches\n * - Supporting leg: Solid base, no wobble\n *\n * **Retraction Phase - 회수 (Hoisu)** [150ms]:\n * - Leg: Returns through CHAMBER position - knee high, across body\n * - Hip: Pulls back to coiled position\n * - Supporting leg: Maintains balance\n * - Body: Stays sideways throughout retraction\n * - Speed: Fast retraction prevents grab\n *\n * **Recovery Phase - 복귀 (Bokgwi)** [200ms]:\n * - Body rotation: Turns back to face target (90° rotation back)\n * - Leg: Lowers from chamber to floor\n * - Foot: Places forward or returns to original position\n * - Weight: Shifts from 100% → 60/40 distribution\n * - Hips: Square back to target (정면 - Jeongmyeon)\n * - Arms: Return to 중단막기 (middle guard)\n * - Stance: Reset to 겨루기 자세 (fighting ready)\n * - Breathing: Controlled recovery\n * - Balance: Smooth transition\n *\n * **Combat Applications** (전투 응용):\n * - Knee destruction (무릎 파괴): Side kick to knee joint = fight over\n * - Rib breaking (늑골 파괴): Heel to ribs = internal damage\n * - Distance control: Push opponent away (밀어차기)\n * - Defense: Stop charging opponent - best defensive kick\n * - Combinations:\n * - 잽-옆차기 (Jab-Side kick) - hand sets up foot\n * - 옆차기-뒤차기 (Side-Back kick) - rotation combo\n * - 앞차기-옆차기 (Front-Side kick) - level change\n *\n * **Biomechanical Keys** (생체역학 핵심):\n * 1. **Sideways turn** = Enables hip thrust (90° turn mandatory!)\n * 2. **Hip drive** = 75% of power (forward hip thrust)\n * 3. **Linear trajectory** = Maximum force on target\n * 4. **Heel strike** = Hardest part of foot, best penetration\n * 5. **Body lean** = Counterbalance enables full extension\n * 6. **High chamber** = Protects knee, enables power\n *\n * **Physics Principle**: \"직선이 가장 강하다\"\n * (Straight line is strongest)\n * - Linear force > Rotational force for penetration\n * - Heel = Smallest contact area = Maximum PSI\n * - Body weight + hip thrust = Maximum forward momentum\n * - 90° turn = Full hip power alignment\n *\n * **Taekwondo Principle**: \"옆차기는 태권도의 힘이다\"\n * (Side kick is the power of Taekwondo)\n * - Most powerful kick: Linear thrust beats angular rotation\n * - Most defensive: Stops opponent's advance instantly\n * - Most destructive: Heel to knee = joint destruction\n * - Best range: Maximum reach with maximum power\n *\n * **Common Mistakes** (흔한 실수):\n * - ❌ Not turning sideways (옆으로 안 돌기) - Hip can't thrust!\n * - ❌ Circular motion (원형 움직임) - Not a roundhouse!\n * - ❌ Pointed toes (발끝 펴기) - Wrong striking surface\n * - ❌ Forward lean (앞으로 기울기) - Loss of balance\n * - ❌ Low chamber (낮은 준비) - Telegraphed and weak\n * - ❌ Bent leg at impact (구부린 다리) - Power leak\n * - ✅ Correct: 90° turn + high chamber + linear thrust + heel strike\n *\n * **Training Points** (훈련 포인트):\n * - Practice turn separately: Body must go fully sideways\n * - Chamber position: Knee across body, not out to side\n * - Thrust motion: Like pushing door with foot\n * - Heel ready: Dorsiflexion critical for proper surface\n * - Balance: Supporting leg stability determines power\n *\n * **Self-Defense Application** (호신술 응용):\n * - Knee kick: Most effective self-defense - destroys mobility\n * - Rib kick: Incapacitates attacker without lethal force\n * - Push kick: Creates distance, ends engagement\n * - Works in confined space: Can kick while backed against wall\n *\n * Total duration: 750ms (MEDIUM_HEAVY technique)\n *\n * @korean 옆차기애니메이션\n */\nexport const SIDE_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"side_kick\", \"옆차기\")\n .asAttack(TECHNIQUE_TIMING.MEDIUM_HEAVY.total)\n .stance() // 기본자세 - Initial stance at t=0\n .withKoreanMiddleGuard() // 중단막기 - Hands protect face\n .sideKickChamber(TECHNIQUE_TIMING.MEDIUM_HEAVY.chamber) // 준비 - 120ms turn sideways\n .withKoreanHighGuard() // 상단막기 - High guard when turned sideways\n .sideKickExtend(TECHNIQUE_TIMING.MEDIUM_HEAVY.extend) // 차기 - 200ms heel drives\n .withKoreanHighGuard() // 상단막기 - Maintain high guard during thrust\n .sideKickExtend(TECHNIQUE_TIMING.MEDIUM_HEAVY.peak) // 정점 - 80ms hold at extension\n .withKoreanHighGuard() // 상단막기 - Maintain guard at peak\n .retract(TECHNIQUE_TIMING.MEDIUM_HEAVY.retract) // 회수 - 150ms\n .recover(TECHNIQUE_TIMING.MEDIUM_HEAVY.recover) // 복귀 - 200ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// AXE KICK (내려차기) - Downward Heel Strike\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Axe Kick - 내려차기 (Naeryeo Chagi) or 찍기 (Jjikgi)\n *\n * Spectacular high-reaching kick that descends like an axe blade onto target.\n * Heel (뒤꿈치 - Dwikkumchi) drops vertically from above - devastating when lands!\n *\n * **Korean Martial Arts Biomechanics** (한국 무술 생체역학):\n *\n * **Stance & Weight Distribution** (자세와 체중 분배):\n * - Start: 겨루기 자세 (Fighting stance), 60/40\n * - Rise: 100% weight on supporting leg\n * - Chop: 100% weight, body leans back for counterbalance\n * - Recovery: Gradual return to 60/40\n * - Requires: Excellent flexibility (유연성) and balance (균형)\n *\n * **Rise Phase - 올리기 (Olligi)** [200ms]:\n * - Kicking leg: Lifts STRAIGHT UP in vertical plane\n * - Hip flexion: MAXIMUM ~120-140° (2.09-2.44 rad) - very high!\n * - Knee: STRAIGHT or nearly straight 170° (0.18 rad) throughout rise\n * - Ankle: DORSIFLEXED (발목 굽히기) - heel ready for strike\n * - Leg path: Vertical rise DIRECTLY in front of body\n * - Height: Leg rises ABOVE target height (need height to chop down!)\n * - Supporting leg: Straight 170° (0.18 rad), rock-solid base\n * - Hips: Slight forward tilt to assist leg rise\n * - Torso: Slight backward lean ~10° to counterbalance\n * - Arms: 상단막기 (High guard) protects during extended position\n * - Head: Looks UP following leg rise, then locks on target\n * - Breathing: Deep inhale during rise (힘내기)\n * - Balance: Core TIGHTLY engaged - stability critical\n * - Supporting heel: May lift slightly to assist height\n *\n * **Apex/Peak Position - 정점 (Jeongjeom)** [Brief moment]:\n * - Leg: At maximum height - ideally ABOVE own head!\n * - Hip: Fully flexed, leg vertical or beyond\n * - Body: Backward lean increases to ~15-20°\n * - Moment of transition: Ascending motion → Descending motion\n * - Critical: Must maintain balance at apex!\n *\n * **Chop/Descending Phase - 내려치기 (Naeryeochigi)** [300ms]:\n * - Leg: Drops STRAIGHT DOWN in vertical plane - like axe blade!\n * - Motion: CONTROLLED DROP initially, accelerates with gravity\n * - Knee: Stays straight ~170° (0.18 rad) - rigid striking lever\n * - Ankle: Maintains dorsiflexion - heel is blade edge\n * - Striking surface: 뒤꿈치 (heel) - hardest part descending\n * - Trajectory: VERTICAL or slightly forward - NOT backward!\n * - Speed: Accelerates due to gravity + muscle contraction\n * - Hip: Drives DOWN and FORWARD to add power\n * - Body: Continues backward lean ~15-20° for balance\n * - Arms: High guard maintained - face protection\n * - Breathing: Begin exhale during descent\n * - Supporting leg: Stays straight and stable\n * - Eyes: Lock on target during descent\n *\n * **Impact Phase - 타격 (Tagyeok)** [120ms]:\n * - Impact: Heel CHOPS DOWN onto target\n * - Target zones:\n * - 머리 (head/crown) - knockout/concussion\n * - 어깨 (shoulder) - collar bone break\n * - 쇄골 (clavicle) - structural break\n * - 팔 (arm) - limb disable if blocking\n * - Impact energy: Body weight + gravity + muscle force\n * - Breathing: EXPLOSIVE exhale \"하!\" (Ha!) or \"척!\" (Cheok!)\n * - Follow-through: Heel continues DOWN past initial contact\n * - Body: Maximum backward lean ~20-25° at impact\n * - Supporting leg: Solid base absorbs impact shock\n * - Power: Downward force = devastating on rigid structures\n *\n * **Set Down Phase - 착지 (Chakji)** [150ms]:\n * - Leg: CONTROLLED descent to floor from impact\n * - Knee: May bend slightly ~160° (0.28 rad) to cushion landing\n * - Foot: Places forward in front of body (typical placement)\n * - Hip: Releases flexion, leg lowers smoothly\n * - Body: Begins returning to upright position\n * - Weight: Begins transferring to kicking leg as it lands\n * - Balance: Smooth transition, no stumbling\n *\n * **Recovery Phase - 복귀 (Bokgwi)** [230ms]:\n * - Stance: Foot now planted forward, weight shifts forward\n * - Body: Returns to upright fighting posture\n * - Weight: Settles to 60/40 distribution (may now be in switched stance)\n * - Hips: Return to neutral square position\n * - Arms: Return to 중단막기 (middle guard)\n * - Stance: Reset to 겨루기 자세 (fighting ready)\n * - Breathing: Controlled recovery breath\n * - Balance: Full stability restored\n *\n * **Combat Applications** (전투 응용):\n * - Head strike (머리공격): Knockout potential - concussion\n * - Collar bone (쇄골): Structural break - disabling\n * - Shoulder (어깨): Joint damage or dislocation\n * - Breaking guard: Chop down on opponent's blocking arms\n * - Combinations:\n * - 앞차기-내려차기 (Front-Axe) - fake low, go high\n * - 내려차기-돌려차기 (Axe-Roundhouse) - vertical to horizontal\n * - After grab escape: Leg free → immediate axe kick\n *\n * **Biomechanical Keys** (생체역학 핵심):\n * 1. **Straight leg rise** = Maximum height (bent knee = lower height)\n * 2. **Vertical path** = Pure downward force (no angle dissipation)\n * 3. **Gravity assist** = Free energy addition to strike\n * 4. **Heel strike** = Hardest surface, concentrated force\n * 5. **Backward lean** = Counterbalance enables high rise and stable descent\n * 6. **Flexibility** = Determines maximum height and effectiveness\n *\n * **Physics Principle**: \"중력은 최고의 친구다\"\n * (Gravity is your best friend)\n * - Potential energy (height) → Kinetic energy (descent)\n * - Acceleration = 9.8 m/s² + muscle contraction\n * - Vertical impact = No force dissipation to sides\n * - Heel = Smallest contact area = Maximum PSI\n *\n * **Taekwondo Principle**: \"내려차기는 태권도의 예술이다\"\n * (Axe kick is the art of Taekwondo)\n * - Most spectacular: Visual impact and difficulty\n * - Most flexible: Requires extreme hip flexibility\n * - Most balanced: Perfect balance while extended\n * - Most surprising: Unexpected attack angle from above\n *\n * **Common Mistakes** (흔한 실수):\n * - ❌ Bent knee rise (구부린 무릎) - Can't reach height\n * - ❌ Backward trajectory (뒤로 내리기) - Misses target\n * - ❌ Pointed toes (발끝 펴기) - Wrong striking surface\n * - ❌ Forward lean (앞으로 기울기) - Loss of balance, falls forward\n * - ❌ No height (낮은 올리기) - Weak chop, not enough drop\n * - ❌ Uncontrolled descent (통제 안됨) - Can't stop, miss target\n * - ✅ Correct: Straight leg high + vertical chop + controlled descent + heel strike\n *\n * **Training Points** (훈련 포인트):\n * - Flexibility first: Can't axe kick without hamstring flexibility!\n * - Height practice: Kick high first, accuracy second\n * - Balance work: Single-leg balance drills essential\n * - Controlled descent: Not just dropping - DRIVING down\n * - Landing practice: Smooth set-down without stumbling\n *\n * **Flexibility Requirements** (유연성 요구사항):\n * - Hamstring: Must reach 160-180° hip flexion\n * - Hip flexors: Must support leg at high position\n * - Lower back: Must tolerate backward lean\n * - Standing leg: Calf flexibility for supporting heel lift\n *\n * **Competition vs. Street** (겨루기 vs. 실전):\n * - Competition: Spectacular, high-scoring technique\n * - Street: RISKY - high commitment, long recovery if miss\n * - Demo: Flashy, breaks boards held high\n * - Practical: Best when opponent's guard is high\n *\n * Total duration: 1000ms (HEAVY technique)\n *\n * @korean 내려차기애니메이션\n */\nexport const AXE_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"axe_kick\", \"내려차기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY.total)\n .axeKickRise(TECHNIQUE_TIMING.HEAVY.chamber) // 올리기 - 200ms leg rises high\n .withKoreanHighGuard()\n .axeKickChop(TECHNIQUE_TIMING.HEAVY.extend) // 내려치기 - 300ms heel chops down\n .axeKickChop(TECHNIQUE_TIMING.HEAVY.peak) // 정점 - 120ms hold at impact\n .setDown(TECHNIQUE_TIMING.HEAVY.retract) // 착지 - 150ms controlled descent\n .recover(TECHNIQUE_TIMING.HEAVY.recover) // 복귀 - 230ms return to stance\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// BACK KICK (뒤차기) - Spinning Heel Strike\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Back Kick - 뒤차기 (Dwi Chagi) or 뒤후리기 (Dwi Hurigi)\n *\n * Powerful spinning heel thrust - one of Taekwondo's most devastating techniques.\n * 180° body rotation into linear heel strike - combines spin speed with thrust power.\n *\n * **Korean Martial Arts Biomechanics** (한국 무술 생체역학):\n *\n * **Stance & Weight Distribution** (자세와 체중 분배):\n * - Start: 겨루기 자세 (Fighting stance) facing target, 60/40\n * - Spin: Weight shifts during 180° rotation\n * - Thrust: 100% weight on supporting leg, back to target\n * - Recovery: Complete rotation, return to facing target\n * - Key: Blind technique - must look over shoulder!\n *\n * **Spin & Chamber Phase - 회전+준비 (Hoejeon + Junbi)** [200ms]:\n * - Body rotation: 180° SPIN - turns BACK to target\n * - Head: Looks OVER SHOULDER at target throughout (critical!)\n * - Direction: Can spin either direction - usually toward back leg\n * - Supporting leg: Pivots on ball of foot during rotation\n * - Kicking leg: Lifts and CHAMBERS during spin\n * - Hip flexion: ~90° (1.57 rad) as knee rises\n * - Knee: Bent ~60° (1.05 rad) during chamber\n * - Hips: Rotate 180° to face AWAY from target\n * - Shoulders: Rotate with hips, back now to target\n * - Arms: 상단막기 (High guard) during spin - vulnerable moment!\n * - Eyes: NEVER lose sight of target - look over shoulder!\n * - Breathing: Inhale during spin (준비 호흡)\n * - Balance: Core engaged, smooth rotation\n * - Supporting foot: Pivots smoothly 180°\n *\n * **Thrust/Extension Phase - 차기 (Chagi)** [300ms]:\n * - Leg: EXPLODES BACKWARD in straight line\n * - Knee: Extends from 60° → 170° (0.18 rad) - nearly straight\n * - Striking surface: 뒤꿈치 (heel) - hardest point\n * - Trajectory: STRAIGHT LINEAR backward thrust\n * - Hip: Drives BACKWARD through target - powerful thrust\n * - Ankle: PLANTARFLEXED (발목 펴기) - heel projects backward\n * - Body: Leans FORWARD ~15-20° to counterbalance\n * - Torso: Bent forward at waist, back parallel to ground\n * - Supporting leg: Straight 170° (0.18 rad), stable base\n * - Arms: Extended forward or high guard for balance\n * - Head: STILL looking over shoulder at target (critical visual!)\n * - Hip thrust: Drives kicking hip BACKWARD into strike\n * - Power: Linear backward thrust like mule kick!\n * - Breathing: Building to exhale\n *\n * **Peak Impact - 정점 (Jeongjeom)** [120ms]:\n * - Maximum extension: Leg nearly straight 170° (0.18 rad)\n * - Impact: Heel DRIVES through target backward\n * - Target zones:\n * - 명치 (solar plexus) - wind knockout\n * - 늑골 (ribs) - rib fracture potential\n * - 얼굴 (face) - knockout if aimed high\n * - 무릎 (knee) - joint destruction if low\n * - Body lean: Maximum forward ~20-25° (like horse stance lean)\n * - Breathing: EXPLOSIVE exhale \"차!\" (Cha!) or \"우억!\" (Wueok!)\n * - Power delivery: Full body mass + spin momentum + thrust\n * - Supporting leg: Rock solid, no wobble\n * - Back to target: Completely vulnerable - must land kick!\n * - Eyes: Target locked through side vision\n * - Follow-through: Hip continues backward past initial contact\n *\n * **Recovery/Complete Rotation - 복귀/회전완성 (Bokgwi/Hoejeon Wanseong)** [380ms]:\n * - Leg: Retracts from extension, pulls back\n * - Body: CONTINUES rotation to complete 360° total (or stops at 180°)\n * - Two options:\n * 1. **Complete spin** (360° total): Continue rotation to face target again\n * 2. **Reverse spin** (180° back): Reverse spin to face target\n * - Typical: Complete the spin (forward momentum)\n * - Head: Rotates to acquire target visually again\n * - Foot: Lowers to ground facing target (forward position typical)\n * - Supporting leg: Completes pivot\n * - Weight: Shifts from 100% → 60/40 distribution\n * - Hips: Square back to target (정면 - Jeongmyeon)\n * - Arms: Return to 중단막기 (middle guard)\n * - Stance: Reset to 겨루기 자세 (fighting ready)\n * - Breathing: Controlled recovery\n * - Balance: Smooth completion, no stumbling\n *\n * **Combat Applications** (전투 응용):\n * - Counter technique: Spin AWAY from attack, back kick stops it\n * - Surprise attack: Unexpected rotation confuses opponent\n * - Power strike: Combines spin momentum + linear thrust = devastating\n * - Target selection:\n * - Body: 명치 (solar plexus), 늑골 (ribs) - most reliable\n * - Head: High back kick - spectacular knockout\n * - Knee: Low back kick - mobility destruction\n * - Combinations:\n * - 돌려차기-뒤차기 (Roundhouse-Back kick) - spin combo\n * - 뒤차기-돌려차기 (Back-Roundhouse) - continue spin\n * - 옆차기-뒤차기 (Side-Back kick) - lateral to rear\n *\n * **Biomechanical Keys** (생체역학 핵심):\n * 1. **180° spin** = Enables backward thrust (must turn back!)\n * 2. **Look over shoulder** = Visual targeting (no look = no hit!)\n * 3. **Linear thrust** = Maximum backward power\n * 4. **Heel strike** = Concentrated force, bone-on-bone\n * 5. **Forward lean** = Counterbalance enables full extension\n * 6. **Spin momentum** = Adds rotational energy to linear thrust\n *\n * **Physics Principle**: \"회전 운동량이 직선 충격으로 변한다\"\n * (Rotational momentum converts to linear impact)\n * - Spin angular velocity → Leg linear velocity\n * - Rotational KE + Thrust KE = Devastating combined force\n * - Heel = Point force = Maximum PSI\n * - Backward thrust = Mule kick biomechanics\n *\n * **Taekwondo Principle**: \"뒤차기는 태권도의 용기다\"\n * (Back kick is the courage of Taekwondo)\n * - Most risky: Turn your back = ultimate vulnerability\n * - Most powerful: Spin + thrust = maximum force\n * - Most surprising: Unexpected rotation and strike\n * - Most committed: No retreat - must land or fail\n *\n * **Common Mistakes** (흔한 실수):\n * - ❌ No shoulder look (안 쳐다보기) - BLIND kick will miss!\n * - ❌ Bent leg thrust (구부린 다리) - Power leak\n * - ❌ Upright body (똑바로 서기) - Can't extend fully\n * - ❌ Slow spin (느린 회전) - Telegraphed, countered\n * - ❌ Incomplete rotation (불완전 회전) - Awkward angle\n * - ❌ Pointed toes (발끝 펴기) - Wrong striking surface\n * - ✅ Correct: Fast spin + shoulder look + forward lean + heel thrust\n *\n * **Training Points** (훈련 포인트):\n * - Shoulder look critical: Practice looking back during spin\n * - Spin speed: Faster spin = more power and less telegraphing\n * - Balance: Single-leg balance while rotated backward\n * - Forward lean: Must lean to extend fully - practice against wall\n * - Landing: Complete rotation smoothly without stumbling\n *\n * **Competition vs. Street** (겨루기 vs. 실전):\n * - Competition: Spectacular scoring technique, high-risk/high-reward\n * - Street: VERY risky - turning back = vulnerable\n * - Best when: Opponent charging - spin and stop them cold\n * - Avoid when: Multiple opponents - never turn back!\n *\n * **Risk Assessment** (위험 평가):\n * - ⚠️ Turning back = Temporary blindness\n * - ⚠️ Spin time = Vulnerable moment\n * - ⚠️ If miss = Back still to opponent = bad position\n * - ✅ If land = Devastating power ends fight\n *\n * **Breathing Pattern** (호흡 패턴):\n * - Spin/Chamber: Inhale during rotation (회전중 들이마시기)\n * - Thrust: Hold breath during acceleration (추진중 호흡 유지)\n * - Impact: Explosive 기합 (Kihap) \"차!\" or \"우억!\"\n * - Recovery: Controlled recovery breath while completing rotation\n *\n * Total duration: 1000ms (HEAVY technique)\n *\n * @korean 뒤차기애니메이션\n */\nexport const BACK_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"back_kick\", \"뒤차기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY.total)\n .stance() // 기본자세 - Initial stance at t=0\n .withKoreanMiddleGuard() // 중단막기 - Hands protect face\n .backKickSpin(TECHNIQUE_TIMING.HEAVY.chamber) // 회전+준비 - 200ms body rotates and chambers\n .withKoreanHighGuard() // 상단막기 - High guard during spin (exposed)\n .backKickThrust(TECHNIQUE_TIMING.HEAVY.extend) // 차기 - 300ms heel thrusts\n .withKoreanHighGuard() // 상단막기 - Maintain guard during thrust\n .backKickThrust(TECHNIQUE_TIMING.HEAVY.peak) // 정점 - 120ms hold at extension\n .withKoreanHighGuard() // 상단막기 - Maintain guard at peak\n .spinRecover(\n TECHNIQUE_TIMING.HEAVY.retract + TECHNIQUE_TIMING.HEAVY.recover,\n ) // 복귀 - 380ms (150ms + 230ms)\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// TORNADO KICK (회전차기) - Jumping Spin Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Tornado Kick - 회전차기\n *\n * Jumping spinning kick with full 360° rotation and instep strike.\n * Full 360° body rotation with both feet off ground.\n *\n * ENHANCED with proper full rotation using tornadoJump method:\n * - Jump with full 360° spin, not just chamber\n * - Arms generate rotational momentum\n * - Peak height reached at completion of spin\n * - Roundhouse kick executes at apex\n *\n * Phases:\n * 1. Jump & Spin (도약/회전): 360° rotation in air - 300ms\n * 2. Strike (차기): Roundhouse at apex - 350ms\n * 3. Peak (정점): Full extension hold - 120ms\n * 4. Landing (착지): Return to ground - 430ms\n *\n * Total duration: 1200ms (SPINNING technique)\n *\n * @korean 회전차기애니메이션\n */\nexport const TORNADO_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"tornado_kick\", \"회전차기\")\n .asAttack(TECHNIQUE_TIMING.SPINNING.total)\n .tornadoJump(TECHNIQUE_TIMING.SPINNING.chamber) // Jump with full 360° rotation - 300ms\n .withKoreanHighGuard() // 상단막기 - High guard during airborne spin\n .roundhouseExtend(TECHNIQUE_TIMING.SPINNING.extend) // Roundhouse at apex - 350ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard during strike\n .roundhouseExtend(TECHNIQUE_TIMING.SPINNING.peak) // Peak - 120ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard at peak\n .spinRecover(\n TECHNIQUE_TIMING.SPINNING.retract + TECHNIQUE_TIMING.SPINNING.recover,\n ) // Land and recover - 430ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard on landing\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// JUMPING KICK (뛰어차기) - Airborne Front Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Jumping Kick - 뛰어차기\n *\n * Front kick executed while airborne for extra height/reach.\n * Traditional Taekwondo flying kick technique.\n *\n * Total duration: 900ms (JUMPING technique)\n *\n * @korean 뛰어차기애니메이션\n */\nexport const JUMPING_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"jumping_kick\", \"뛰어차기\")\n .asAttack(TECHNIQUE_TIMING.JUMPING.total)\n .chamber(TECHNIQUE_TIMING.JUMPING.chamber) // Jump prep with chamber - 180ms\n .withKoreanHighGuard() // 상단막기 - High guard during airborne attack\n .extend(TECHNIQUE_TIMING.JUMPING.extend) // Kick in air - 220ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard during kick\n .retract(TECHNIQUE_TIMING.JUMPING.retract) // Retract before landing - 120ms\n .withKoreanMiddleGuard() // 중단막기 - Prepare for landing\n .recover(TECHNIQUE_TIMING.JUMPING.recover) // Land and recover - 300ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// SWEEP (걸기) - Low Leg Sweep\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Sweep - 걸기\n *\n * Low sweeping kick targeting opponent's legs.\n * Used to unbalance or take down opponent.\n *\n * Total duration: 800ms (HEAVY_LIGHT technique)\n *\n * @korean 걸기애니메이션\n */\nexport const SWEEP_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"sweep\", \"걸기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY_LIGHT.total)\n .sweep(\n TECHNIQUE_TIMING.HEAVY_LIGHT.chamber +\n TECHNIQUE_TIMING.HEAVY_LIGHT.extend +\n TECHNIQUE_TIMING.HEAVY_LIGHT.peak,\n ) // Sweeping motion - 450ms\n .withKoreanLowGuard() // 하단막기 - Low guard during low sweep (protect groin)\n .recover(\n TECHNIQUE_TIMING.HEAVY_LIGHT.retract +\n TECHNIQUE_TIMING.HEAVY_LIGHT.recover,\n ) // Recover from low position - 350ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// LOW KICK (하단차기) - Muay Thai Leg Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Low Kick - 하단차기\n *\n * Muay Thai style leg kick targeting thigh.\n * Shin strikes outer thigh to damage mobility.\n *\n * Phases:\n * 1. Chamber (준비): Slight hip rotation - 100ms\n * 2. Sweep (차기): Shin sweeps through low target - 150ms\n * 3. Recovery (복귀): Return to stance - 350ms\n *\n * Total duration: 600ms (FAST_MEDIUM technique)\n *\n * @korean 하단차기애니메이션\n */\nexport const LOW_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"low_kick\", \"하단차기\")\n .asAttack(TECHNIQUE_TIMING.FAST_MEDIUM.total)\n .lowKickChamber(TECHNIQUE_TIMING.FAST_MEDIUM.chamber) // 준비 - 100ms hip rotation\n .withKoreanMiddleGuard() // 중단막기 - Hands protect\n .lowKickSweep(TECHNIQUE_TIMING.FAST_MEDIUM.extend) // 차기 - 150ms shin sweeps\n .lowKickSweep(TECHNIQUE_TIMING.FAST_MEDIUM.peak) // 정점 - 50ms hold\n .recover(\n TECHNIQUE_TIMING.FAST_MEDIUM.retract +\n TECHNIQUE_TIMING.FAST_MEDIUM.recover,\n ) // 복귀 - 300ms\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// CRESCENT KICK (초승달차기) - Inside/Outside Crescent\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Crescent Kick - 초승달차기\n *\n * Arcing kick that sweeps in a crescent path.\n * Instep strikes head or arm in sweeping motion.\n *\n * Phases:\n * 1. Chamber (준비): Leg rises across body - 150ms\n * 2. Arc (호): Leg sweeps in crescent path - 200ms\n * 3. Recovery (복귀): Return to stance - 450ms\n *\n * Total duration: 800ms (HEAVY_LIGHT technique)\n *\n * @korean 초승달차기애니메이션\n */\nexport const CRESCENT_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"crescent_kick\", \"초승달차기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY_LIGHT.total)\n .crescentKickChamber(TECHNIQUE_TIMING.HEAVY_LIGHT.chamber) // 준비 - 150ms leg rises\n .withKoreanHighGuard()\n .crescentKickArc(TECHNIQUE_TIMING.HEAVY_LIGHT.extend) // 호 - 200ms sweeping arc\n .crescentKickArc(TECHNIQUE_TIMING.HEAVY_LIGHT.peak) // 정점 - 100ms hold\n .setDown(TECHNIQUE_TIMING.HEAVY_LIGHT.retract) // 착지 - 150ms\n .recover(TECHNIQUE_TIMING.HEAVY_LIGHT.recover) // 복귀 - 200ms\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// PUSH KICK (밀어차기) - Teep Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Push Kick - 밀어차기 (Teep)\n *\n * Front kick used to push opponent away.\n * Ball of foot thrusts into opponent's torso.\n *\n * Phases:\n * 1. Chamber (준비): Knee lifts high - 120ms\n * 2. Thrust (밀기): Foot pushes forward - 180ms\n * 3. Recovery (복귀): Return to stance - 400ms\n *\n * Total duration: 700ms (MEDIUM_LIGHT technique)\n *\n * @korean 밀어차기애니메이션\n */\nexport const PUSH_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"push_kick\", \"밀어차기\")\n .asAttack(TECHNIQUE_TIMING.MEDIUM_LIGHT.total)\n .pushKickChamber(TECHNIQUE_TIMING.MEDIUM_LIGHT.chamber) // 준비 - 120ms high chamber\n .withKoreanHighGuard()\n .pushKickThrust(TECHNIQUE_TIMING.MEDIUM_LIGHT.extend) // 밀기 - 180ms push through\n .retract(TECHNIQUE_TIMING.MEDIUM_LIGHT.retract) // 회수 - 100ms\n .recover(TECHNIQUE_TIMING.MEDIUM_LIGHT.recover) // 복귀 - 220ms\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// SPINNING HEEL KICK (뒤돌려차기) - Reverse Hook Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Spinning Heel Kick - 뒤돌려차기\n *\n * Full spin with heel striking in reverse arc.\n * High-risk, high-reward knockout technique.\n *\n * Phases:\n * 1. Spin (회전): Body rotates 360° - 300ms\n * 2. Strike (차기): Heel hooks around - 350ms\n * 3. Recovery (복귀): Complete rotation - 430ms\n *\n * Total duration: 1200ms (SPINNING technique)\n *\n * @korean 뒤돌려차기애니메이션\n */\nexport const SPINNING_HEEL_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"spinning_heel_kick\", \"뒤돌려차기\")\n .asAttack(TECHNIQUE_TIMING.SPINNING.total)\n .backKickSpin(TECHNIQUE_TIMING.SPINNING.chamber) // 회전 - 300ms begin spin\n .withKoreanHighGuard() // 상단막기 - High guard during spin\n .spinningHeelKick(TECHNIQUE_TIMING.SPINNING.extend) // 차기 - 350ms heel hooks\n .withKoreanHighGuard() // 상단막기 - Maintain guard during hook\n .spinningHeelKick(TECHNIQUE_TIMING.SPINNING.peak) // 정점 - 120ms hold\n .withKoreanHighGuard() // 상단막기 - Maintain guard at peak\n .spinRecover(\n TECHNIQUE_TIMING.SPINNING.retract + TECHNIQUE_TIMING.SPINNING.recover,\n ) // 복귀 - 430ms complete rotation\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// JUMPING ROUNDHOUSE (뛰어돌려차기) - Flying Roundhouse\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Jumping Roundhouse - 뛰어돌려차기\n *\n * Roundhouse kick executed while airborne.\n * Added height and power from jumping momentum.\n *\n * Total duration: 1000ms (HEAVY technique)\n *\n * @korean 뛰어돌려차기애니메이션\n */\nexport const JUMPING_ROUNDHOUSE_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"jumping_roundhouse\", \"뛰어돌려차기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY.total)\n .chamber(TECHNIQUE_TIMING.HEAVY.chamber * 0.75) // Jump prep - 150ms (0.75 × 200ms)\n .withKoreanHighGuard() // 상단막기 - High guard during jump\n .roundhouseChamber(TECHNIQUE_TIMING.HEAVY.chamber) // Chamber in air - 200ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard in air\n .roundhouseExtend(TECHNIQUE_TIMING.HEAVY.extend * 0.83) // Strike through - 250ms (0.83 × 300ms)\n .withKoreanHighGuard() // 상단막기 - Maintain guard during strike\n .roundhouseExtend(TECHNIQUE_TIMING.HEAVY.retract * 0.67) // Peak - 100ms (0.67 × 150ms)\n .withKoreanHighGuard() // 상단막기 - Maintain guard at peak\n .recover(TECHNIQUE_TIMING.HEAVY.recover + 0.07) // Land - 300ms (230ms + 70ms landing adjustment)\n .withKoreanMiddleGuard() // 중단막기 - Return to guard on landing\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// QUESTION MARK KICK (물음표차기) - Feint to Roundhouse\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Question Mark Kick - 물음표차기\n *\n * Feints low kick then arcs up to head.\n * Path resembles a question mark.\n *\n * Total duration: 850ms (HEAVY_MEDIUM technique)\n *\n * @korean 물음표차기애니메이션\n */\nexport const QUESTION_MARK_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"question_mark_kick\", \"물음표차기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY_MEDIUM.total)\n .lowKickChamber(TECHNIQUE_TIMING.HEAVY_MEDIUM.chamber) // Feint low - 120ms\n .withKoreanHighGuard()\n .roundhouseChamber(TECHNIQUE_TIMING.HEAVY_MEDIUM.extend) // Redirect up - 220ms (includes transition)\n .roundhouseExtend(TECHNIQUE_TIMING.HEAVY_MEDIUM.peak) // Strike high - 80ms\n .recover(\n TECHNIQUE_TIMING.HEAVY_MEDIUM.retract +\n TECHNIQUE_TIMING.HEAVY_MEDIUM.recover,\n ) // Recover - 430ms\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// HOOK KICK (후려차기) - Heel Hook\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Hook Kick - 후려차기\n *\n * Authentic Korean hook kick that extends past target then hooks back.\n * Heel strikes from unexpected angle, catching opponent off-guard.\n *\n * CORRECTED biomechanics (previous version used crescent arc incorrectly):\n * - Chamber: Side kick chamber position\n * - Extend: Leg extends PAST target position\n * - Hook: Heel HOOKS BACK toward target (not sweep across)\n * - Recovery: Return to fighting stance\n *\n * This is distinct from crescent kick which sweeps ACROSS the body.\n *\n * Total duration: 800ms (HEAVY_LIGHT technique)\n *\n * @korean 후려차기애니메이션\n */\nexport const HOOK_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"hook_kick\", \"후려차기\")\n .asAttack(TECHNIQUE_TIMING.HEAVY_LIGHT.total)\n .sideKickChamber(TECHNIQUE_TIMING.HEAVY_LIGHT.chamber) // Chamber - 150ms\n .withKoreanHighGuard()\n .hookKickExtend(TECHNIQUE_TIMING.HEAVY_LIGHT.extend) // Extend PAST target - 200ms\n .hookKickHook(TECHNIQUE_TIMING.HEAVY_LIGHT.peak) // Hook BACK at target - 100ms\n .recover(\n TECHNIQUE_TIMING.HEAVY_LIGHT.retract +\n TECHNIQUE_TIMING.HEAVY_LIGHT.recover,\n ) // Recover - 350ms\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// DOUBLE KICK (이중차기) - Two Rapid Kicks\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Double Kick - 이중차기\n *\n * Two rapid kicks from same leg.\n * First low, second high to confuse defense.\n *\n * Phases (준비, 실행, 회수, 복귀):\n * 1. First kick chamber (첫 차기 준비): 120ms\n * 2. First kick extend (첫 차기 실행): 145ms (0.66 × 220ms, shortened)\n * 3. Second kick chamber (둘째 차기 준비): 80ms (using peak for quick transition)\n * 4. Second kick extend (둘째 차기 실행): 145ms (0.66 × 220ms, shortened)\n * 5. Second kick peak (둘째 차기 정점): 80ms\n * 6. Recovery (복귀): 380ms\n *\n * Total duration: 950ms (COMBO_HEAVY technique)\n * Sum: 120 + 145 + 80 + 145 + 80 + 380 = 950ms ✓\n *\n * @korean 이중차기애니메이션\n */\nexport const DOUBLE_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"double_kick\", \"이중차기\")\n .asAttack(TECHNIQUE_TIMING.COMBO_HEAVY.total)\n .lowKickChamber(TECHNIQUE_TIMING.COMBO_HEAVY.chamber) // First kick chamber - 120ms\n .withKoreanMiddleGuard() // 중단막기 - Guard during low kick\n .lowKickSweep(TECHNIQUE_TIMING.COMBO_HEAVY.extend * 0.66) // First kick strikes - 145ms (shortened for speed)\n .withKoreanMiddleGuard() // 중단막기 - Maintain guard\n .roundhouseChamber(TECHNIQUE_TIMING.COMBO_HEAVY.peak) // Second kick chamber - 80ms (using peak for quick transition)\n .withKoreanHighGuard() // 상단막기 - High guard for high kick\n .roundhouseExtend(TECHNIQUE_TIMING.COMBO_HEAVY.extend * 0.66) // Second kick strikes - 145ms (shortened for speed)\n .withKoreanHighGuard() // 상단막기 - Maintain guard\n .roundhouseExtend(TECHNIQUE_TIMING.COMBO_HEAVY.peak) // Peak - 80ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard at peak\n .recover(TECHNIQUE_TIMING.COMBO_HEAVY.recover) // Recover - 380ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// SPINNING BACK KICK (뒤돌아차기) - 540 Kick\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Spinning Back Kick - 뒤돌아차기\n *\n * Full rotation into powerful back kick.\n * 540 degrees of spinning momentum.\n *\n * Total duration: 1200ms (SPINNING technique)\n *\n * @korean 뒤돌아차기애니메이션\n */\nexport const SPINNING_BACK_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"spinning_back_kick\", \"뒤돌아차기\")\n .asAttack(TECHNIQUE_TIMING.SPINNING.total)\n .backKickSpin(TECHNIQUE_TIMING.SPINNING.chamber) // Full spin - 300ms\n .withKoreanHighGuard() // 상단막기 - High guard during spin\n .backKickThrust(TECHNIQUE_TIMING.SPINNING.extend) // Thrust heel - 350ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard during thrust\n .backKickThrust(TECHNIQUE_TIMING.SPINNING.peak) // Peak - 120ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard at peak\n .spinRecover(\n TECHNIQUE_TIMING.SPINNING.retract + TECHNIQUE_TIMING.SPINNING.recover,\n ) // Complete rotation - 430ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// NEW KOREAN KICK VARIATIONS (추가 한국 발차기 변형)\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Spinning Hook Kick - 회전후려차기\n *\n * Full spin with heel hook. Similar to spinning heel kick but with more hook action.\n *\n * Total duration: 1200ms (SPINNING technique)\n *\n * @korean 회전후려차기애니메이션\n */\nexport const SPINNING_HOOK_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"spinning_hook\", \"회전후려차기\")\n .asAttack(TECHNIQUE_TIMING.SPINNING.total)\n .backKickSpin(TECHNIQUE_TIMING.SPINNING.chamber) // Spin - 300ms\n .withKoreanHighGuard() // 상단막기 - High guard during spin\n .hookKickExtend(TECHNIQUE_TIMING.SPINNING.extend) // Hook extend past target - 350ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard\n .hookKickHook(TECHNIQUE_TIMING.SPINNING.peak) // Hook back at target - 120ms\n .withKoreanHighGuard() // 상단막기 - Maintain guard\n .spinRecover(\n TECHNIQUE_TIMING.SPINNING.retract + TECHNIQUE_TIMING.SPINNING.recover,\n ) // Recover - 430ms\n .withKoreanMiddleGuard() // 중단막기 - Return to guard\n .build();\n\n/**\n * Flying Side Kick - 이단옆차기\n *\n * Running jump side kick. Signature Taekwondo breaking technique.\n *\n * Total duration: 1100ms (JUMPING technique)\n *\n * @korean 이단옆차기애니메이션\n */\nexport const FLYING_KICK_ANIMATION: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"flying_kick\", \"이단옆차기\")\n .asAttack(TECHNIQUE_TIMING.JUMPING.total + 0.2) // Extra air time\n .chamber(TECHNIQUE_TIMING.JUMPING.chamber) // Run up/Jump - 180ms\n .withKoreanHighGuard() // 상단막기 - High guard\n .sideKickChamber(0.15) // Tuck in air\n .withKoreanHighGuard() // 상단막기\n .sideKickExtend(0.3) // Extend in air\n .withKoreanHighGuard() // 상단막기\n .sideKickExtend(0.1) // Hold (breaking moment)\n .withKoreanHighGuard() // 상단막기\n .recover(0.37) // Land and recover\n .withKoreanMiddleGuard() // 중단막기\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// EXPORT KICK ANIMATION MAP\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Map of all kick animations for easy access\n * 발차기 애니메이션 맵\n */\nexport const KICK_ANIMATIONS: ReadonlyMap<string, SkeletalAnimation> = new Map([\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 [\"sweep\", SWEEP_ANIMATION],\n [\"low_kick\", LOW_KICK_ANIMATION],\n [\"crescent_kick\", CRESCENT_KICK_ANIMATION],\n [\"push_kick\", PUSH_KICK_ANIMATION],\n [\"spinning_heel_kick\", SPINNING_HEEL_KICK_ANIMATION],\n [\"jumping_roundhouse\", JUMPING_ROUNDHOUSE_ANIMATION],\n [\"question_mark_kick\", QUESTION_MARK_KICK_ANIMATION],\n [\"hook_kick\", HOOK_KICK_ANIMATION],\n [\"double_kick\", DOUBLE_KICK_ANIMATION],\n [\"spinning_back_kick\", SPINNING_BACK_KICK_ANIMATION],\n [\"spinning_hook\", SPINNING_HOOK_KICK_ANIMATION],\n [\"flying_kick\", FLYING_KICK_ANIMATION],\n]);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ☲ Li (리) - Fire Stance Animations
|
|
3
|
+
*
|
|
4
|
+
* Precision-focused stance animations for the Li Fire trigram (리괘).
|
|
5
|
+
* Emphasizes surgical precision, targeting accuracy, and speed combinations.
|
|
6
|
+
*
|
|
7
|
+
* **Spear-Hand Formation**: Index and middle fingers extended, ring/pinky curled.
|
|
8
|
+
* This hand formation is applied via withSpearHand() method from MartialArtsAnimationBuilder.
|
|
9
|
+
* Individual finger bones are not modeled in the current skeletal system; finger positions
|
|
10
|
+
* are expressed through wrist angles and hand pose metadata.
|
|
11
|
+
*
|
|
12
|
+
* Philosophy: 외과적 정밀성 (Surgical Precision), 불꽃의 예리함 (Flame's Sharpness)
|
|
13
|
+
* Martial Art Origin: 태권도 정밀 타격 (Taekwondo Precision Strikes)
|
|
14
|
+
* Combat Focus: 정확한 신경 타격 (Accurate Nerve Strikes), 속도 연속 공격 (Speed Combinations)
|
|
15
|
+
*
|
|
16
|
+
* @module systems/animation/catalogs/LiStanceAnimations
|
|
17
|
+
* @category Animation - Li Trigram
|
|
18
|
+
* @korean 리괘자세애니메이션
|
|
19
|
+
*/
|
|
20
|
+
import type { SkeletalAnimation } from "../../../types/skeletal";
|
|
21
|
+
/**
|
|
22
|
+
* Li Idle Targeting Animation (리괘 조준 자세)
|
|
23
|
+
*
|
|
24
|
+
* Idle stance with focused targeting tension and spear-hand readiness.
|
|
25
|
+
* Quick breathing rhythm emphasizes alert precision state.
|
|
26
|
+
*
|
|
27
|
+
* **Korean Philosophy**: 화염의 집중 (Flame's Focus)
|
|
28
|
+
* - Fingers splayed in spear-hand formation, ready to strike nerve clusters
|
|
29
|
+
* - Eyes tracking target with micro-adjustments
|
|
30
|
+
* - Weight on balls of feet for quick darting movements
|
|
31
|
+
* - Quick breath cycles maintain alertness without fatigue
|
|
32
|
+
*
|
|
33
|
+
* **Anatomical Details**:
|
|
34
|
+
* - Spear-hand fingers: Index and middle extended, ring/pinky curled
|
|
35
|
+
* - Shoulders: Slight forward roll for targeting alignment
|
|
36
|
+
* - Head: Micro-rotations tracking opponent's vital points
|
|
37
|
+
* - Feet: Weight distributed 60/40 (front/back) for quick darts
|
|
38
|
+
*
|
|
39
|
+
* **Timing**: 2500ms cycle (2.5 seconds)
|
|
40
|
+
* - 0-1250ms: Neutral targeting position with steady gaze
|
|
41
|
+
* - 1250ms: Quick breath tension increase, finger extension
|
|
42
|
+
* - 1250-2500ms: Return to neutral with maintained readiness
|
|
43
|
+
*
|
|
44
|
+
* @duration 2500ms (2.5 second cycle)
|
|
45
|
+
* @loop true
|
|
46
|
+
* @korean 리괘조준자세
|
|
47
|
+
*/
|
|
48
|
+
export declare const LI_IDLE_TARGETING: SkeletalAnimation;
|
|
49
|
+
/**
|
|
50
|
+
* Li Diagonal Dart Step Animation (화염 돌진)
|
|
51
|
+
*
|
|
52
|
+
* Explosive 45° angle dart movement for rapid position change.
|
|
53
|
+
* Lead shoulder drives forward toward target while maintaining strike readiness.
|
|
54
|
+
*
|
|
55
|
+
* **Korean Philosophy**: 화염의 급습 (Flame's Swift Assault)
|
|
56
|
+
* - Explosive diagonal movement for angle exploitation
|
|
57
|
+
* - Maintains spear-hand readiness throughout motion
|
|
58
|
+
* - Lead shoulder drives forward creating power line
|
|
59
|
+
* - Rear leg pushes off explosively for dart acceleration
|
|
60
|
+
*
|
|
61
|
+
* **Biomechanics**:
|
|
62
|
+
* - Initial push: Rear leg generates 45° vector force
|
|
63
|
+
* - Lead shoulder: Rotates 15° into direction of travel
|
|
64
|
+
* - Hips: Rotate to align with diagonal trajectory
|
|
65
|
+
* - Hands: Maintain spear-hand guard during movement
|
|
66
|
+
*
|
|
67
|
+
* **Combat Application**:
|
|
68
|
+
* - Exploits angle to target exposed vital points
|
|
69
|
+
* - Creates unpredictable attack vector
|
|
70
|
+
* - Maintains offensive capability during repositioning
|
|
71
|
+
* - Enables immediate nerve strike from new angle
|
|
72
|
+
*
|
|
73
|
+
* @duration 400ms (0.4 seconds, 24 frames at 60fps)
|
|
74
|
+
* @frames 8-12 frames typical execution
|
|
75
|
+
* @korean 화염돌진
|
|
76
|
+
*/
|
|
77
|
+
export declare const LI_DIAGONAL_DART_STEP: SkeletalAnimation;
|
|
78
|
+
/**
|
|
79
|
+
* Li Linear Pierce Step Animation (직선 관통보)
|
|
80
|
+
*
|
|
81
|
+
* Direct forward thrust movement with hips and shoulders aligned for linear power.
|
|
82
|
+
* Hands lead with targeting precision for immediate nerve strike capability.
|
|
83
|
+
*
|
|
84
|
+
* **Korean Philosophy**: 직선 관통 (Linear Penetration)
|
|
85
|
+
* - Pure linear forward thrust motion
|
|
86
|
+
* - Zero wasted movement, maximum efficiency
|
|
87
|
+
* - Hips square and aligned for forward power transfer
|
|
88
|
+
* - Spear-hands lead, targeting never wavers
|
|
89
|
+
*
|
|
90
|
+
* **Biomechanics**:
|
|
91
|
+
* - Hip thrust: Direct forward vector, no rotation
|
|
92
|
+
* - Shoulders: Square to target throughout motion
|
|
93
|
+
* - Hands: Lead with extended spear-hand formation
|
|
94
|
+
* - Feet: Linear stepping pattern, no lateral deviation
|
|
95
|
+
*
|
|
96
|
+
* **Combat Application**:
|
|
97
|
+
* - Closes distance for nerve strike
|
|
98
|
+
* - Maintains targeting alignment during approach
|
|
99
|
+
* - Generates forward momentum for thrust power
|
|
100
|
+
* - Minimizes exposure time with direct path
|
|
101
|
+
*
|
|
102
|
+
* @duration 467ms (~0.47 seconds, 28 frames at 60fps)
|
|
103
|
+
* @frames 10-14 frames typical execution
|
|
104
|
+
* @korean 직선관통보
|
|
105
|
+
*/
|
|
106
|
+
export declare const LI_LINEAR_PIERCE_STEP: SkeletalAnimation;
|
|
107
|
+
/**
|
|
108
|
+
* Li Forward Targeting Guard Position (불꽃 방어)
|
|
109
|
+
*
|
|
110
|
+
* Static guard pose with lead hand forward in blade-edge spear-hand ready position.
|
|
111
|
+
* Narrow stance allows quick pivoting for angle exploitation.
|
|
112
|
+
*
|
|
113
|
+
* **Korean Philosophy**: 불꽃의 경계 (Flame's Vigilance)
|
|
114
|
+
* - Lead hand: Spear-hand blade-edge forward for immediate strike
|
|
115
|
+
* - Rear hand: Chambered at chest level for rapid follow-up
|
|
116
|
+
* - Stance: Narrow for quick pivoting and angle changes
|
|
117
|
+
* - Head: Aligned with front hand creating targeting sight line
|
|
118
|
+
*
|
|
119
|
+
* **Biomechanics**:
|
|
120
|
+
* - Lead arm: Extended 70% for reach without over-commitment
|
|
121
|
+
* - Rear arm: 90° elbow angle protecting centerline
|
|
122
|
+
* - Feet: Shoulder-width narrow stance for mobility
|
|
123
|
+
* - Weight: 55/45 forward distribution for quick darts
|
|
124
|
+
*
|
|
125
|
+
* **Combat Application**:
|
|
126
|
+
* - Maintains threat with extended spear-hand
|
|
127
|
+
* - Quick pivots exploit angular opportunities
|
|
128
|
+
* - Immediate nerve strike capability from guard
|
|
129
|
+
* - Narrow stance enables rapid direction changes
|
|
130
|
+
*
|
|
131
|
+
* @duration 100ms (minimal positive duration for animation registry validation; pose is visually static)
|
|
132
|
+
* @korean 불꽃방어
|
|
133
|
+
*/
|
|
134
|
+
export declare const LI_FORWARD_TARGETING_GUARD: SkeletalAnimation;
|
|
135
|
+
/**
|
|
136
|
+
* Map of all Li stance-specific animations for easy access
|
|
137
|
+
* @korean 리괘자세애니메이션맵
|
|
138
|
+
*/
|
|
139
|
+
export declare const LI_STANCE_ANIMATIONS: ReadonlyMap<string, SkeletalAnimation>;
|
|
140
|
+
//# sourceMappingURL=LiStanceAnimations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiStanceAnimations.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/catalogs/LiStanceAnimations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAU1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBA0FpB,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBA8FxB,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAkGxB,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAoC7B,CAAC;AAMb;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAYtE,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { BoneName } from "../../../types/skeletal.js";
|
|
2
|
+
import { MartialArtsAnimationBuilder } from "../builders/MartialArtsAnimationBuilder.js";
|
|
3
|
+
import "./LiTechniqueAnimations.js";
|
|
4
|
+
//#region src/systems/animation/catalogs/LiStanceAnimations.ts
|
|
5
|
+
/**
|
|
6
|
+
* Li Idle Targeting Animation (리괘 조준 자세)
|
|
7
|
+
*
|
|
8
|
+
* Idle stance with focused targeting tension and spear-hand readiness.
|
|
9
|
+
* Quick breathing rhythm emphasizes alert precision state.
|
|
10
|
+
*
|
|
11
|
+
* **Korean Philosophy**: 화염의 집중 (Flame's Focus)
|
|
12
|
+
* - Fingers splayed in spear-hand formation, ready to strike nerve clusters
|
|
13
|
+
* - Eyes tracking target with micro-adjustments
|
|
14
|
+
* - Weight on balls of feet for quick darting movements
|
|
15
|
+
* - Quick breath cycles maintain alertness without fatigue
|
|
16
|
+
*
|
|
17
|
+
* **Anatomical Details**:
|
|
18
|
+
* - Spear-hand fingers: Index and middle extended, ring/pinky curled
|
|
19
|
+
* - Shoulders: Slight forward roll for targeting alignment
|
|
20
|
+
* - Head: Micro-rotations tracking opponent's vital points
|
|
21
|
+
* - Feet: Weight distributed 60/40 (front/back) for quick darts
|
|
22
|
+
*
|
|
23
|
+
* **Timing**: 2500ms cycle (2.5 seconds)
|
|
24
|
+
* - 0-1250ms: Neutral targeting position with steady gaze
|
|
25
|
+
* - 1250ms: Quick breath tension increase, finger extension
|
|
26
|
+
* - 1250-2500ms: Return to neutral with maintained readiness
|
|
27
|
+
*
|
|
28
|
+
* @duration 2500ms (2.5 second cycle)
|
|
29
|
+
* @loop true
|
|
30
|
+
* @korean 리괘조준자세
|
|
31
|
+
*/
|
|
32
|
+
var LI_IDLE_TARGETING = MartialArtsAnimationBuilder.create("li_idle_targeting", "리괘 조준 자세").asIdle(2.5, true).at(0, "linear").rotate(BoneName.SPINE_UPPER, .08, 0, 0).rotate(BoneName.SPINE_LOWER, .05, 0, 0).rotate(BoneName.HEAD, .05, 0, 0).rotate(BoneName.SHOULDER_L, -.5, .35, .25).rotate(BoneName.ELBOW_L, 0, 0, -1.4).rotate(BoneName.WRIST_L, -.1, .15, 0).rotate(BoneName.SHOULDER_R, -.5, -.3, -.2).rotate(BoneName.ELBOW_R, 0, 0, 1.5).rotate(BoneName.WRIST_R, -.1, -.15, 0).rotate(BoneName.HIP_R, .15, 0, 0).rotate(BoneName.KNEE_R, -.25, 0, 0).rotate(BoneName.HIP_L, .1, 0, 0).rotate(BoneName.KNEE_L, -.22, 0, 0).rotate(BoneName.FOOT_R, .08, 0, 0).rotate(BoneName.FOOT_L, .05, 0, 0).rotate(BoneName.PELVIS, .03, 0, 0).position(BoneName.PELVIS, 0, -.05, .02).done().withSpearHand("both").at(1.25, "ease-in-out").rotate(BoneName.SPINE_UPPER, .12, 0, 0).rotate(BoneName.SPINE_LOWER, .07, 0, 0).rotate(BoneName.HEAD, .09, .02, 0).rotate(BoneName.SHOULDER_L, -.6, .4, .3).rotate(BoneName.ELBOW_L, 0, 0, -1.3).rotate(BoneName.SHOULDER_R, -.55, -.35, -.25).rotate(BoneName.ELBOW_R, 0, 0, 1.45).rotate(BoneName.HIP_R, .18, 0, 0).rotate(BoneName.KNEE_R, -.28, 0, 0).rotate(BoneName.KNEE_L, -.24, 0, 0).rotate(BoneName.FOOT_R, .1, 0, 0).done().withSpearHand("both").at(2.5, "ease-out").rotate(BoneName.SPINE_UPPER, .08, 0, 0).rotate(BoneName.SPINE_LOWER, .05, 0, 0).rotate(BoneName.HEAD, .05, 0, 0).rotate(BoneName.SHOULDER_L, -.5, .35, .25).rotate(BoneName.ELBOW_L, 0, 0, -1.4).rotate(BoneName.WRIST_L, -.1, .15, 0).rotate(BoneName.SHOULDER_R, -.5, -.3, -.2).rotate(BoneName.ELBOW_R, 0, 0, 1.5).rotate(BoneName.WRIST_R, -.1, -.15, 0).rotate(BoneName.HIP_R, .15, 0, 0).rotate(BoneName.KNEE_R, -.25, 0, 0).rotate(BoneName.HIP_L, .1, 0, 0).rotate(BoneName.KNEE_L, -.22, 0, 0).rotate(BoneName.FOOT_R, .08, 0, 0).rotate(BoneName.FOOT_L, .05, 0, 0).rotate(BoneName.PELVIS, .03, 0, 0).position(BoneName.PELVIS, 0, -.05, .02).done().withSpearHand("both").build();
|
|
33
|
+
/**
|
|
34
|
+
* Li Diagonal Dart Step Animation (화염 돌진)
|
|
35
|
+
*
|
|
36
|
+
* Explosive 45° angle dart movement for rapid position change.
|
|
37
|
+
* Lead shoulder drives forward toward target while maintaining strike readiness.
|
|
38
|
+
*
|
|
39
|
+
* **Korean Philosophy**: 화염의 급습 (Flame's Swift Assault)
|
|
40
|
+
* - Explosive diagonal movement for angle exploitation
|
|
41
|
+
* - Maintains spear-hand readiness throughout motion
|
|
42
|
+
* - Lead shoulder drives forward creating power line
|
|
43
|
+
* - Rear leg pushes off explosively for dart acceleration
|
|
44
|
+
*
|
|
45
|
+
* **Biomechanics**:
|
|
46
|
+
* - Initial push: Rear leg generates 45° vector force
|
|
47
|
+
* - Lead shoulder: Rotates 15° into direction of travel
|
|
48
|
+
* - Hips: Rotate to align with diagonal trajectory
|
|
49
|
+
* - Hands: Maintain spear-hand guard during movement
|
|
50
|
+
*
|
|
51
|
+
* **Combat Application**:
|
|
52
|
+
* - Exploits angle to target exposed vital points
|
|
53
|
+
* - Creates unpredictable attack vector
|
|
54
|
+
* - Maintains offensive capability during repositioning
|
|
55
|
+
* - Enables immediate nerve strike from new angle
|
|
56
|
+
*
|
|
57
|
+
* @duration 400ms (0.4 seconds, 24 frames at 60fps)
|
|
58
|
+
* @frames 8-12 frames typical execution
|
|
59
|
+
* @korean 화염돌진
|
|
60
|
+
*/
|
|
61
|
+
var LI_DIAGONAL_DART_STEP = MartialArtsAnimationBuilder.create("li_diagonal_dart_step", "화염 돌진").asMovement(.4, false).at(0, "linear").rotate(BoneName.SPINE_UPPER, .05, -.12, 0).rotate(BoneName.SPINE_LOWER, .03, -.08, 0).rotate(BoneName.PELVIS, 0, -.1, 0).rotate(BoneName.SHOULDER_L, -.5, .3, .2).rotate(BoneName.ELBOW_L, 0, 0, -1.4).rotate(BoneName.SHOULDER_R, -.5, -.25, -.2).rotate(BoneName.ELBOW_R, 0, 0, 1.5).rotate(BoneName.HIP_R, .12, 0, 0).rotate(BoneName.KNEE_R, -.22, 0, 0).rotate(BoneName.HIP_L, .08, 0, 0).rotate(BoneName.KNEE_L, -.35, 0, 0).rotate(BoneName.FOOT_L, .15, 0, 0).done().withSpearHand("both").at(.12, "ease-out").rotate(BoneName.SPINE_UPPER, .12, .25, .08).rotate(BoneName.SPINE_LOWER, .08, .18, .05).rotate(BoneName.PELVIS, .05, .2, .05).position(BoneName.PELVIS, .15, .02, .15).rotate(BoneName.SHOULDER_L, -.45, .5, .3).rotate(BoneName.ELBOW_L, 0, 0, -1.3).rotate(BoneName.SHOULDER_R, -.55, -.2, -.15).rotate(BoneName.ELBOW_R, 0, 0, 1.6).rotate(BoneName.HIP_R, .25, .1, 0).rotate(BoneName.KNEE_R, -.35, 0, 0).rotate(BoneName.HIP_L, -.05, 0, 0).rotate(BoneName.KNEE_L, -.12, 0, 0).rotate(BoneName.FOOT_L, -.08, 0, 0).done().withSpearHand("both").at(.28, "linear").rotate(BoneName.SPINE_UPPER, .15, .3, .1).rotate(BoneName.SPINE_LOWER, .1, .22, .06).rotate(BoneName.PELVIS, .08, .25, .06).position(BoneName.PELVIS, .3, .03, .3).rotate(BoneName.SHOULDER_L, -.42, .55, .32).rotate(BoneName.ELBOW_L, 0, 0, -1.3).rotate(BoneName.SHOULDER_R, -.58, -.18, -.12).rotate(BoneName.ELBOW_R, 0, 0, 1.65).rotate(BoneName.HIP_R, .3, .12, 0).rotate(BoneName.KNEE_R, -.4, 0, 0).rotate(BoneName.HIP_L, -.1, 0, 0).rotate(BoneName.KNEE_L, -.08, 0, 0).done().withSpearHand("both").at(.4, "ease-in").rotate(BoneName.SPINE_UPPER, .08, .2, .05).rotate(BoneName.SPINE_LOWER, .05, .15, .03).rotate(BoneName.PELVIS, .03, .15, .02).position(BoneName.PELVIS, .35, 0, .35).rotate(BoneName.SHOULDER_L, -.5, .4, .25).rotate(BoneName.ELBOW_L, 0, 0, -1.4).rotate(BoneName.SHOULDER_R, -.5, -.25, -.2).rotate(BoneName.ELBOW_R, 0, 0, 1.5).rotate(BoneName.HIP_R, .18, .08, 0).rotate(BoneName.KNEE_R, -.28, 0, 0).rotate(BoneName.HIP_L, .1, 0, 0).rotate(BoneName.KNEE_L, -.22, 0, 0).rotate(BoneName.FOOT_R, .08, 0, 0).rotate(BoneName.FOOT_L, .05, 0, 0).done().withSpearHand("both").build();
|
|
62
|
+
/**
|
|
63
|
+
* Li Linear Pierce Step Animation (직선 관통보)
|
|
64
|
+
*
|
|
65
|
+
* Direct forward thrust movement with hips and shoulders aligned for linear power.
|
|
66
|
+
* Hands lead with targeting precision for immediate nerve strike capability.
|
|
67
|
+
*
|
|
68
|
+
* **Korean Philosophy**: 직선 관통 (Linear Penetration)
|
|
69
|
+
* - Pure linear forward thrust motion
|
|
70
|
+
* - Zero wasted movement, maximum efficiency
|
|
71
|
+
* - Hips square and aligned for forward power transfer
|
|
72
|
+
* - Spear-hands lead, targeting never wavers
|
|
73
|
+
*
|
|
74
|
+
* **Biomechanics**:
|
|
75
|
+
* - Hip thrust: Direct forward vector, no rotation
|
|
76
|
+
* - Shoulders: Square to target throughout motion
|
|
77
|
+
* - Hands: Lead with extended spear-hand formation
|
|
78
|
+
* - Feet: Linear stepping pattern, no lateral deviation
|
|
79
|
+
*
|
|
80
|
+
* **Combat Application**:
|
|
81
|
+
* - Closes distance for nerve strike
|
|
82
|
+
* - Maintains targeting alignment during approach
|
|
83
|
+
* - Generates forward momentum for thrust power
|
|
84
|
+
* - Minimizes exposure time with direct path
|
|
85
|
+
*
|
|
86
|
+
* @duration 467ms (~0.47 seconds, 28 frames at 60fps)
|
|
87
|
+
* @frames 10-14 frames typical execution
|
|
88
|
+
* @korean 직선관통보
|
|
89
|
+
*/
|
|
90
|
+
var LI_LINEAR_PIERCE_STEP = MartialArtsAnimationBuilder.create("li_linear_pierce_step", "직선 관통보").asMovement(.467, false).at(0, "linear").rotate(BoneName.SPINE_UPPER, .05, 0, 0).rotate(BoneName.SPINE_LOWER, .03, 0, 0).rotate(BoneName.PELVIS, 0, 0, 0).rotate(BoneName.SHOULDER_L, -.52, .35, .25).rotate(BoneName.ELBOW_L, 0, 0, -1.35).rotate(BoneName.WRIST_L, -.1, .15, 0).rotate(BoneName.SHOULDER_R, -.52, -.3, -.2).rotate(BoneName.ELBOW_R, 0, 0, 1.45).rotate(BoneName.WRIST_R, -.1, -.15, 0).rotate(BoneName.HIP_R, .15, 0, 0).rotate(BoneName.KNEE_R, -.25, 0, 0).rotate(BoneName.HIP_L, .1, 0, 0).rotate(BoneName.KNEE_L, -.3, 0, 0).rotate(BoneName.FOOT_L, .12, 0, 0).done().withSpearHand("both").at(.14, "ease-out").rotate(BoneName.SPINE_UPPER, .1, 0, 0).rotate(BoneName.SPINE_LOWER, .06, 0, 0).rotate(BoneName.PELVIS, .05, 0, 0).position(BoneName.PELVIS, 0, .01, .12).rotate(BoneName.SHOULDER_L, -.48, .4, .28).rotate(BoneName.ELBOW_L, 0, 0, -1.25).rotate(BoneName.SHOULDER_R, -.48, -.28, -.18).rotate(BoneName.ELBOW_R, 0, 0, 1.35).rotate(BoneName.HIP_R, .22, 0, 0).rotate(BoneName.KNEE_R, -.32, 0, 0).rotate(BoneName.HIP_L, 0, 0, 0).rotate(BoneName.KNEE_L, -.15, 0, 0).rotate(BoneName.FOOT_L, -.05, 0, 0).done().withSpearHand("both").at(.3, "linear").rotate(BoneName.SPINE_UPPER, .13, 0, 0).rotate(BoneName.SPINE_LOWER, .08, 0, 0).rotate(BoneName.PELVIS, .08, 0, 0).position(BoneName.PELVIS, 0, .02, .25).rotate(BoneName.SHOULDER_L, -.45, .42, .3).rotate(BoneName.ELBOW_L, 0, 0, -1.2).rotate(BoneName.SHOULDER_R, -.45, -.26, -.16).rotate(BoneName.ELBOW_R, 0, 0, 1.3).rotate(BoneName.HIP_R, .28, 0, 0).rotate(BoneName.KNEE_R, -.38, 0, 0).rotate(BoneName.HIP_L, -.05, 0, 0).rotate(BoneName.KNEE_L, -.1, 0, 0).done().withSpearHand("both").at(.467, "ease-in").rotate(BoneName.SPINE_UPPER, .08, 0, 0).rotate(BoneName.SPINE_LOWER, .05, 0, 0).rotate(BoneName.PELVIS, .03, 0, 0).position(BoneName.PELVIS, 0, 0, .3).rotate(BoneName.SHOULDER_L, -.5, .35, .25).rotate(BoneName.ELBOW_L, 0, 0, -1.4).rotate(BoneName.WRIST_L, -.1, .15, 0).rotate(BoneName.SHOULDER_R, -.5, -.3, -.2).rotate(BoneName.ELBOW_R, 0, 0, 1.5).rotate(BoneName.WRIST_R, -.1, -.15, 0).rotate(BoneName.HIP_R, .18, 0, 0).rotate(BoneName.KNEE_R, -.28, 0, 0).rotate(BoneName.HIP_L, .12, 0, 0).rotate(BoneName.KNEE_L, -.24, 0, 0).rotate(BoneName.FOOT_R, .08, 0, 0).rotate(BoneName.FOOT_L, .05, 0, 0).done().withSpearHand("both").build();
|
|
91
|
+
/**
|
|
92
|
+
* Li Forward Targeting Guard Position (불꽃 방어)
|
|
93
|
+
*
|
|
94
|
+
* Static guard pose with lead hand forward in blade-edge spear-hand ready position.
|
|
95
|
+
* Narrow stance allows quick pivoting for angle exploitation.
|
|
96
|
+
*
|
|
97
|
+
* **Korean Philosophy**: 불꽃의 경계 (Flame's Vigilance)
|
|
98
|
+
* - Lead hand: Spear-hand blade-edge forward for immediate strike
|
|
99
|
+
* - Rear hand: Chambered at chest level for rapid follow-up
|
|
100
|
+
* - Stance: Narrow for quick pivoting and angle changes
|
|
101
|
+
* - Head: Aligned with front hand creating targeting sight line
|
|
102
|
+
*
|
|
103
|
+
* **Biomechanics**:
|
|
104
|
+
* - Lead arm: Extended 70% for reach without over-commitment
|
|
105
|
+
* - Rear arm: 90° elbow angle protecting centerline
|
|
106
|
+
* - Feet: Shoulder-width narrow stance for mobility
|
|
107
|
+
* - Weight: 55/45 forward distribution for quick darts
|
|
108
|
+
*
|
|
109
|
+
* **Combat Application**:
|
|
110
|
+
* - Maintains threat with extended spear-hand
|
|
111
|
+
* - Quick pivots exploit angular opportunities
|
|
112
|
+
* - Immediate nerve strike capability from guard
|
|
113
|
+
* - Narrow stance enables rapid direction changes
|
|
114
|
+
*
|
|
115
|
+
* @duration 100ms (minimal positive duration for animation registry validation; pose is visually static)
|
|
116
|
+
* @korean 불꽃방어
|
|
117
|
+
*/
|
|
118
|
+
var LI_FORWARD_TARGETING_GUARD = MartialArtsAnimationBuilder.create("li_forward_targeting_guard", "불꽃 방어").asStance(.1, false).at(0, "linear").rotate(BoneName.SPINE_UPPER, .1, -.08, 0).rotate(BoneName.SPINE_LOWER, .06, -.05, 0).rotate(BoneName.PELVIS, .03, -.03, 0).position(BoneName.PELVIS, 0, -.06, .03).rotate(BoneName.HEAD, .05, -.05, 0).rotate(BoneName.SHOULDER_L, -.45, .5, .3).rotate(BoneName.ELBOW_L, 0, 0, -1.2).rotate(BoneName.WRIST_L, -.08, .18, 0).rotate(BoneName.SHOULDER_R, -.6, -.25, -.25).rotate(BoneName.ELBOW_R, 0, 0, 1.57).rotate(BoneName.WRIST_R, -.1, -.15, 0).rotate(BoneName.HIP_R, .18, 0, 0).rotate(BoneName.KNEE_R, -.28, 0, 0).rotate(BoneName.FOOT_R, .08, 0, 0).rotate(BoneName.HIP_L, .12, 0, 0).rotate(BoneName.KNEE_L, -.24, 0, 0).rotate(BoneName.FOOT_L, .05, 0, 0).done().withSpearHand("both").build();
|
|
119
|
+
//#endregion
|
|
120
|
+
export { LI_DIAGONAL_DART_STEP, LI_FORWARD_TARGETING_GUARD, LI_IDLE_TARGETING, LI_LINEAR_PIERCE_STEP };
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=LiStanceAnimations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiStanceAnimations.js","names":[],"sources":["../../../../src/systems/animation/catalogs/LiStanceAnimations.ts"],"sourcesContent":["/**\n * ☲ Li (리) - Fire Stance Animations\n *\n * Precision-focused stance animations for the Li Fire trigram (리괘).\n * Emphasizes surgical precision, targeting accuracy, and speed combinations.\n *\n * **Spear-Hand Formation**: Index and middle fingers extended, ring/pinky curled.\n * This hand formation is applied via withSpearHand() method from MartialArtsAnimationBuilder.\n * Individual finger bones are not modeled in the current skeletal system; finger positions\n * are expressed through wrist angles and hand pose metadata.\n *\n * Philosophy: 외과적 정밀성 (Surgical Precision), 불꽃의 예리함 (Flame's Sharpness)\n * Martial Art Origin: 태권도 정밀 타격 (Taekwondo Precision Strikes)\n * Combat Focus: 정확한 신경 타격 (Accurate Nerve Strikes), 속도 연속 공격 (Speed Combinations)\n *\n * @module systems/animation/catalogs/LiStanceAnimations\n * @category Animation - Li Trigram\n * @korean 리괘자세애니메이션\n */\n\nimport type { SkeletalAnimation } from \"@/types/skeletal\";\nimport { BoneName } from \"@/types/skeletal\";\nimport { MartialArtsAnimationBuilder } from \"../builders/MartialArtsAnimationBuilder\";\n\n// Import Li Fire precision techniques (리괘 정밀 타격)\nimport {\n LI_FIRE_SPEAR_ANIMATION,\n LI_NERVE_STRIKE_COMBO,\n} from \"./LiTechniqueAnimations\";\n\n/**\n * Li Idle Targeting Animation (리괘 조준 자세)\n *\n * Idle stance with focused targeting tension and spear-hand readiness.\n * Quick breathing rhythm emphasizes alert precision state.\n *\n * **Korean Philosophy**: 화염의 집중 (Flame's Focus)\n * - Fingers splayed in spear-hand formation, ready to strike nerve clusters\n * - Eyes tracking target with micro-adjustments\n * - Weight on balls of feet for quick darting movements\n * - Quick breath cycles maintain alertness without fatigue\n *\n * **Anatomical Details**:\n * - Spear-hand fingers: Index and middle extended, ring/pinky curled\n * - Shoulders: Slight forward roll for targeting alignment\n * - Head: Micro-rotations tracking opponent's vital points\n * - Feet: Weight distributed 60/40 (front/back) for quick darts\n *\n * **Timing**: 2500ms cycle (2.5 seconds)\n * - 0-1250ms: Neutral targeting position with steady gaze\n * - 1250ms: Quick breath tension increase, finger extension\n * - 1250-2500ms: Return to neutral with maintained readiness\n *\n * @duration 2500ms (2.5 second cycle)\n * @loop true\n * @korean 리괘조준자세\n */\nexport const LI_IDLE_TARGETING: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"li_idle_targeting\", \"리괘 조준 자세\")\n .asIdle(2.5, true)\n \n // === Keyframe 0ms: Neutral targeting position ===\n .at(0, \"linear\")\n // Torso: Slight forward lean for targeting precision\n .rotate(BoneName.SPINE_UPPER, 0.08, 0, 0) // 5° forward lean\n .rotate(BoneName.SPINE_LOWER, 0.05, 0, 0) // Foundation support\n \n // Head: Eyes on target, micro-focus\n .rotate(BoneName.HEAD, 0.05, 0, 0) // 3° forward gaze\n \n // Arms: Forward targeting guard with spear-hands\n // Left arm - lead targeting position\n .rotate(BoneName.SHOULDER_L, -0.5, 0.35, 0.25) // Forward and slightly out\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4) // Bent for quick extension\n .rotate(BoneName.WRIST_L, -0.1, 0.15, 0) // Slight dorsiflexion\n \n // Right arm - chambered ready position\n .rotate(BoneName.SHOULDER_R, -0.5, -0.3, -0.2) // Chambered at chest\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5) // Bent protecting body\n .rotate(BoneName.WRIST_R, -0.1, -0.15, 0) // Mirror wrist position\n \n // Legs: Balanced stance on balls of feet\n .rotate(BoneName.HIP_R, 0.15, 0, 0) // Slight forward weight\n .rotate(BoneName.KNEE_R, -0.25, 0, 0) // Flexed for dart readiness\n .rotate(BoneName.HIP_L, 0.1, 0, 0) // Back leg stable\n .rotate(BoneName.KNEE_L, -0.22, 0, 0) // Slight bend\n .rotate(BoneName.FOOT_R, 0.08, 0, 0) // Weight on ball\n .rotate(BoneName.FOOT_L, 0.05, 0, 0) // Back foot grounded\n \n // Pelvis: Neutral, ready to dart\n .rotate(BoneName.PELVIS, 0.03, 0, 0)\n .position(BoneName.PELVIS, 0, -0.05, 0.02) // Slight forward crouch\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\") // Apply spear-hand pose\n \n // === Keyframe 1250ms: Quick breath tension ===\n .at(1.25, \"ease-in-out\")\n // Increased tension - targeting intensifies\n .rotate(BoneName.SPINE_UPPER, 0.12, 0, 0) // 7° forward lean (increased)\n .rotate(BoneName.SPINE_LOWER, 0.07, 0, 0)\n \n // Head: Micro-adjustment tracking\n .rotate(BoneName.HEAD, 0.09, 0.02, 0) // 5° forward + 1° tracking adjustment\n \n // Arms: Extended tension for immediate strike\n .rotate(BoneName.SHOULDER_L, -0.6, 0.4, 0.3) // Extended further forward\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3) // Slightly more extended\n .rotate(BoneName.SHOULDER_R, -0.55, -0.35, -0.25) // Ready to thrust\n .rotate(BoneName.ELBOW_R, 0, 0, 1.45) // Slight tension release\n \n // NOTE: Finger tension expressed through wrist position and hand pose metadata\n // Individual finger bones not available in current skeletal system\n \n // Legs: Increased readiness\n .rotate(BoneName.HIP_R, 0.18, 0, 0) // More forward weight\n .rotate(BoneName.KNEE_R, -0.28, 0, 0) // Deeper crouch\n .rotate(BoneName.KNEE_L, -0.24, 0, 0)\n .rotate(BoneName.FOOT_R, 0.1, 0, 0) // More on ball\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n \n // === Keyframe 2500ms: Return to neutral ===\n .at(2.5, \"ease-out\")\n // Return to neutral targeting position (same as keyframe 0)\n .rotate(BoneName.SPINE_UPPER, 0.08, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.05, 0, 0)\n .rotate(BoneName.HEAD, 0.05, 0, 0)\n \n .rotate(BoneName.SHOULDER_L, -0.5, 0.35, 0.25)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.WRIST_L, -0.1, 0.15, 0)\n \n .rotate(BoneName.SHOULDER_R, -0.5, -0.3, -0.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n .rotate(BoneName.WRIST_R, -0.1, -0.15, 0)\n \n .rotate(BoneName.HIP_R, 0.15, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.HIP_L, 0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.22, 0, 0)\n .rotate(BoneName.FOOT_R, 0.08, 0, 0)\n .rotate(BoneName.FOOT_L, 0.05, 0, 0)\n \n .rotate(BoneName.PELVIS, 0.03, 0, 0)\n .position(BoneName.PELVIS, 0, -0.05, 0.02)\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n .build();\n\n/**\n * Li Diagonal Dart Step Animation (화염 돌진)\n *\n * Explosive 45° angle dart movement for rapid position change.\n * Lead shoulder drives forward toward target while maintaining strike readiness.\n *\n * **Korean Philosophy**: 화염의 급습 (Flame's Swift Assault)\n * - Explosive diagonal movement for angle exploitation\n * - Maintains spear-hand readiness throughout motion\n * - Lead shoulder drives forward creating power line\n * - Rear leg pushes off explosively for dart acceleration\n *\n * **Biomechanics**:\n * - Initial push: Rear leg generates 45° vector force\n * - Lead shoulder: Rotates 15° into direction of travel\n * - Hips: Rotate to align with diagonal trajectory\n * - Hands: Maintain spear-hand guard during movement\n *\n * **Combat Application**:\n * - Exploits angle to target exposed vital points\n * - Creates unpredictable attack vector\n * - Maintains offensive capability during repositioning\n * - Enables immediate nerve strike from new angle\n *\n * @duration 400ms (0.4 seconds, 24 frames at 60fps)\n * @frames 8-12 frames typical execution\n * @korean 화염돌진\n */\nexport const LI_DIAGONAL_DART_STEP: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"li_diagonal_dart_step\", \"화염 돌진\")\n .asMovement(0.4, false)\n \n // === Keyframe 0ms: Pre-dart stance ===\n .at(0, \"linear\")\n // Torso: Loaded position before dart\n .rotate(BoneName.SPINE_UPPER, 0.05, -0.12, 0) // Slight back lean + coil rotation\n .rotate(BoneName.SPINE_LOWER, 0.03, -0.08, 0)\n .rotate(BoneName.PELVIS, 0, -0.1, 0) // Coiled for diagonal push\n \n // Arms: Spear-hand guard maintained\n .rotate(BoneName.SHOULDER_L, -0.5, 0.3, 0.2)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.SHOULDER_R, -0.5, -0.25, -0.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n \n // Legs: Rear leg loaded for push\n .rotate(BoneName.HIP_R, 0.12, 0, 0)\n .rotate(BoneName.KNEE_R, -0.22, 0, 0)\n .rotate(BoneName.HIP_L, 0.08, 0, 0)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0) // Back knee deeply bent for push\n .rotate(BoneName.FOOT_L, 0.15, 0, 0) // Back foot loaded\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n \n // === Keyframe 120ms: Explosive dart launch ===\n .at(0.12, \"ease-out\")\n // Torso: Explodes forward at 45° angle\n .rotate(BoneName.SPINE_UPPER, 0.12, 0.25, 0.08) // Forward + diagonal rotation + slight lean\n .rotate(BoneName.SPINE_LOWER, 0.08, 0.18, 0.05)\n .rotate(BoneName.PELVIS, 0.05, 0.2, 0.05) // Diagonal thrust\n .position(BoneName.PELVIS, 0.15, 0.02, 0.15) // Diagonal position change\n \n // Arms: Lead shoulder drives forward\n .rotate(BoneName.SHOULDER_L, -0.45, 0.5, 0.3) // Extended into dart direction\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3)\n .rotate(BoneName.SHOULDER_R, -0.55, -0.2, -0.15) // Counterbalance\n .rotate(BoneName.ELBOW_R, 0, 0, 1.6)\n \n // Legs: Extension from push\n .rotate(BoneName.HIP_R, 0.25, 0.1, 0) // Front leg accepting weight\n .rotate(BoneName.KNEE_R, -0.35, 0, 0) // Flexed on landing\n .rotate(BoneName.HIP_L, -0.05, 0, 0) // Back leg extending\n .rotate(BoneName.KNEE_L, -0.12, 0, 0) // Pushed off\n .rotate(BoneName.FOOT_L, -0.08, 0, 0) // Toe pushes off ground\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n \n // === Keyframe 280ms: Mid-dart flight ===\n .at(0.28, \"linear\")\n // Torso: Maximum forward extension\n .rotate(BoneName.SPINE_UPPER, 0.15, 0.3, 0.1)\n .rotate(BoneName.SPINE_LOWER, 0.1, 0.22, 0.06)\n .rotate(BoneName.PELVIS, 0.08, 0.25, 0.06)\n .position(BoneName.PELVIS, 0.3, 0.03, 0.3) // Peak diagonal displacement\n \n // Arms: Maintained readiness\n .rotate(BoneName.SHOULDER_L, -0.42, 0.55, 0.32)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.3)\n .rotate(BoneName.SHOULDER_R, -0.58, -0.18, -0.12)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.65)\n \n // Legs: Transition\n .rotate(BoneName.HIP_R, 0.3, 0.12, 0)\n .rotate(BoneName.KNEE_R, -0.4, 0, 0)\n .rotate(BoneName.HIP_L, -0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.08, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n \n // === Keyframe 400ms: Landing and recovery ===\n .at(0.4, \"ease-in\")\n // Torso: Stabilizes in new position\n .rotate(BoneName.SPINE_UPPER, 0.08, 0.2, 0.05) // Settled forward lean\n .rotate(BoneName.SPINE_LOWER, 0.05, 0.15, 0.03)\n .rotate(BoneName.PELVIS, 0.03, 0.15, 0.02)\n .position(BoneName.PELVIS, 0.35, 0, 0.35) // Final diagonal position\n \n // Arms: Return to guard\n .rotate(BoneName.SHOULDER_L, -0.5, 0.4, 0.25)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.SHOULDER_R, -0.5, -0.25, -0.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n \n // Legs: Grounded in new stance\n .rotate(BoneName.HIP_R, 0.18, 0.08, 0)\n .rotate(BoneName.KNEE_R, -0.28, 0, 0) // Flexed for stability\n .rotate(BoneName.HIP_L, 0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.22, 0, 0)\n .rotate(BoneName.FOOT_R, 0.08, 0, 0)\n .rotate(BoneName.FOOT_L, 0.05, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n .build();\n\n/**\n * Li Linear Pierce Step Animation (직선 관통보)\n *\n * Direct forward thrust movement with hips and shoulders aligned for linear power.\n * Hands lead with targeting precision for immediate nerve strike capability.\n *\n * **Korean Philosophy**: 직선 관통 (Linear Penetration)\n * - Pure linear forward thrust motion\n * - Zero wasted movement, maximum efficiency\n * - Hips square and aligned for forward power transfer\n * - Spear-hands lead, targeting never wavers\n *\n * **Biomechanics**:\n * - Hip thrust: Direct forward vector, no rotation\n * - Shoulders: Square to target throughout motion\n * - Hands: Lead with extended spear-hand formation\n * - Feet: Linear stepping pattern, no lateral deviation\n *\n * **Combat Application**:\n * - Closes distance for nerve strike\n * - Maintains targeting alignment during approach\n * - Generates forward momentum for thrust power\n * - Minimizes exposure time with direct path\n *\n * @duration 467ms (~0.47 seconds, 28 frames at 60fps)\n * @frames 10-14 frames typical execution\n * @korean 직선관통보\n */\nexport const LI_LINEAR_PIERCE_STEP: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"li_linear_pierce_step\", \"직선 관통보\")\n .asMovement(0.467, false)\n \n // === Keyframe 0ms: Pre-step stance ===\n .at(0, \"linear\")\n // Torso: Aligned square to target\n .rotate(BoneName.SPINE_UPPER, 0.05, 0, 0) // Neutral forward lean\n .rotate(BoneName.SPINE_LOWER, 0.03, 0, 0)\n .rotate(BoneName.PELVIS, 0, 0, 0) // Square, no rotation\n \n // Arms: Extended targeting position\n .rotate(BoneName.SHOULDER_L, -0.52, 0.35, 0.25)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.35) // Slightly extended\n .rotate(BoneName.WRIST_L, -0.1, 0.15, 0)\n .rotate(BoneName.SHOULDER_R, -0.52, -0.3, -0.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.45)\n .rotate(BoneName.WRIST_R, -0.1, -0.15, 0)\n \n // Legs: Ready to step forward\n .rotate(BoneName.HIP_R, 0.15, 0, 0)\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) // Back leg loaded\n .rotate(BoneName.FOOT_L, 0.12, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n \n // === Keyframe 140ms: Linear thrust begins ===\n .at(0.14, \"ease-out\")\n // Torso: Forward thrust initiated\n .rotate(BoneName.SPINE_UPPER, 0.1, 0, 0) // Forward lean increases\n .rotate(BoneName.SPINE_LOWER, 0.06, 0, 0)\n .rotate(BoneName.PELVIS, 0.05, 0, 0) // Hip thrust forward\n .position(BoneName.PELVIS, 0, 0.01, 0.12) // Forward displacement begins\n \n // Arms: Hands lead the thrust\n .rotate(BoneName.SHOULDER_L, -0.48, 0.4, 0.28) // Extended further forward\n .rotate(BoneName.ELBOW_L, 0, 0, -1.25) // More extended\n .rotate(BoneName.SHOULDER_R, -0.48, -0.28, -0.18)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.35)\n \n // Legs: Push-off phase\n .rotate(BoneName.HIP_R, 0.22, 0, 0) // Front leg accepting weight\n .rotate(BoneName.KNEE_R, -0.32, 0, 0)\n .rotate(BoneName.HIP_L, 0, 0, 0) // Back leg extends\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .rotate(BoneName.FOOT_L, -0.05, 0, 0) // Pushing off\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n \n // === Keyframe 300ms: Peak forward extension ===\n .at(0.3, \"linear\")\n // Torso: Maximum forward position\n .rotate(BoneName.SPINE_UPPER, 0.13, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.08, 0, 0)\n .rotate(BoneName.PELVIS, 0.08, 0, 0)\n .position(BoneName.PELVIS, 0, 0.02, 0.25) // Peak forward displacement\n \n // Arms: Full extension leading\n .rotate(BoneName.SHOULDER_L, -0.45, 0.42, 0.3)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2) // Nearly straight\n .rotate(BoneName.SHOULDER_R, -0.45, -0.26, -0.16)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.3)\n \n // Legs: Transition phase\n .rotate(BoneName.HIP_R, 0.28, 0, 0)\n .rotate(BoneName.KNEE_R, -0.38, 0, 0)\n .rotate(BoneName.HIP_L, -0.05, 0, 0)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n \n // === Keyframe 467ms: Landing and stabilization ===\n .at(0.467, \"ease-in\")\n // Torso: Settles in new forward position\n .rotate(BoneName.SPINE_UPPER, 0.08, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.05, 0, 0)\n .rotate(BoneName.PELVIS, 0.03, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0.3) // Final forward position\n \n // Arms: Return to ready targeting guard\n .rotate(BoneName.SHOULDER_L, -0.5, 0.35, 0.25)\n .rotate(BoneName.ELBOW_L, 0, 0, -1.4)\n .rotate(BoneName.WRIST_L, -0.1, 0.15, 0)\n .rotate(BoneName.SHOULDER_R, -0.5, -0.3, -0.2)\n .rotate(BoneName.ELBOW_R, 0, 0, 1.5)\n .rotate(BoneName.WRIST_R, -0.1, -0.15, 0)\n \n // Legs: Grounded in new stance\n .rotate(BoneName.HIP_R, 0.18, 0, 0)\n .rotate(BoneName.KNEE_R, -0.28, 0, 0)\n .rotate(BoneName.HIP_L, 0.12, 0, 0)\n .rotate(BoneName.KNEE_L, -0.24, 0, 0)\n .rotate(BoneName.FOOT_R, 0.08, 0, 0)\n .rotate(BoneName.FOOT_L, 0.05, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\")\n .build();\n\n/**\n * Li Forward Targeting Guard Position (불꽃 방어)\n *\n * Static guard pose with lead hand forward in blade-edge spear-hand ready position.\n * Narrow stance allows quick pivoting for angle exploitation.\n *\n * **Korean Philosophy**: 불꽃의 경계 (Flame's Vigilance)\n * - Lead hand: Spear-hand blade-edge forward for immediate strike\n * - Rear hand: Chambered at chest level for rapid follow-up\n * - Stance: Narrow for quick pivoting and angle changes\n * - Head: Aligned with front hand creating targeting sight line\n *\n * **Biomechanics**:\n * - Lead arm: Extended 70% for reach without over-commitment\n * - Rear arm: 90° elbow angle protecting centerline\n * - Feet: Shoulder-width narrow stance for mobility\n * - Weight: 55/45 forward distribution for quick darts\n *\n * **Combat Application**:\n * - Maintains threat with extended spear-hand\n * - Quick pivots exploit angular opportunities\n * - Immediate nerve strike capability from guard\n * - Narrow stance enables rapid direction changes\n *\n * @duration 100ms (minimal positive duration for animation registry validation; pose is visually static)\n * @korean 불꽃방어\n */\nexport const LI_FORWARD_TARGETING_GUARD: SkeletalAnimation =\n MartialArtsAnimationBuilder.create(\"li_forward_targeting_guard\", \"불꽃 방어\")\n .asStance(0.1, false) // Static stance; 0.1s is a minimal positive duration required for animation registry validation, not actual motion\n \n // === Single keyframe: Static guard position ===\n .at(0, \"linear\")\n // Torso: Forward lean for aggression\n .rotate(BoneName.SPINE_UPPER, 0.1, -0.08, 0) // Forward + slight rotation\n .rotate(BoneName.SPINE_LOWER, 0.06, -0.05, 0)\n .rotate(BoneName.PELVIS, 0.03, -0.03, 0)\n .position(BoneName.PELVIS, 0, -0.06, 0.03) // Slight crouch + forward\n \n // Head: Aligned with lead hand (targeting line)\n .rotate(BoneName.HEAD, 0.05, -0.05, 0) // Eyes follow lead hand\n \n // Lead arm (left): Extended spear-hand forward\n .rotate(BoneName.SHOULDER_L, -0.45, 0.5, 0.3) // Extended forward and out\n .rotate(BoneName.ELBOW_L, 0, 0, -1.2) // 70% extension\n .rotate(BoneName.WRIST_L, -0.08, 0.18, 0) // Blade-edge alignment\n \n // Rear arm (right): Chambered at chest level\n .rotate(BoneName.SHOULDER_R, -0.6, -0.25, -0.25) // Chambered protecting chest\n .rotate(BoneName.ELBOW_R, 0, 0, 1.57) // 90° angle (π/2 rad)\n .rotate(BoneName.WRIST_R, -0.1, -0.15, 0) // Ready to thrust\n \n // Legs: Narrow stance for pivoting\n .rotate(BoneName.HIP_R, 0.18, 0, 0) // Front leg slightly forward\n .rotate(BoneName.KNEE_R, -0.28, 0, 0) // Flexed for mobility\n .rotate(BoneName.FOOT_R, 0.08, 0, 0) // Weight on ball\n \n .rotate(BoneName.HIP_L, 0.12, 0, 0) // Back leg stable\n .rotate(BoneName.KNEE_L, -0.24, 0, 0) // Slight flex\n .rotate(BoneName.FOOT_L, 0.05, 0, 0) // Grounded\n \n .done<MartialArtsAnimationBuilder>()\n .withSpearHand(\"both\") // Both hands in spear-hand formation\n .build();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// EXPORTS\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Map of all Li stance-specific animations for easy access\n * @korean 리괘자세애니메이션맵\n */\nexport const LI_STANCE_ANIMATIONS: ReadonlyMap<string, SkeletalAnimation> = new Map([\n // Idle & Movement\n [\"li_idle_targeting\", LI_IDLE_TARGETING],\n [\"li_diagonal_dart_step\", LI_DIAGONAL_DART_STEP],\n [\"li_linear_pierce_step\", LI_LINEAR_PIERCE_STEP],\n \n // Stance Transitions\n [\"li_forward_targeting_guard\", LI_FORWARD_TARGETING_GUARD],\n \n // Fire Precision Strike Techniques (리괘 정밀 타격)\n [\"li_fire_spear_animation\", LI_FIRE_SPEAR_ANIMATION],\n [\"li_nerve_strike_combo\", LI_NERVE_STRIKE_COMBO],\n]);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ☲ Li (리) - Fire Technique Animations
|
|
3
|
+
*
|
|
4
|
+
* Precision nerve strike technique animations for the Li Fire trigram (리괘).
|
|
5
|
+
* Emphasizes surgical spear-hand strikes, speed combinations, and vital point targeting.
|
|
6
|
+
*
|
|
7
|
+
* **Spear-Hand Formation**: Index and middle fingers extended, ring/pinky curled.
|
|
8
|
+
* This hand formation is applied via withSpearHand() method from MartialArtsAnimationBuilder.
|
|
9
|
+
* Individual finger bones are not modeled in the current skeletal system; finger positions
|
|
10
|
+
* are expressed through wrist angles and hand pose metadata.
|
|
11
|
+
*
|
|
12
|
+
* Philosophy: 외과적 정밀성 (Surgical Precision), 속도의 연속성 (Continuity of Speed)
|
|
13
|
+
* Martial Art Origin: 태권도 정밀 타격 (Taekwondo Precision Strikes)
|
|
14
|
+
* Target Areas: 경동맥 (Carotid), 태양혈 (Temple), 명치 (Solar Plexus), 신경총 (Nerve Clusters)
|
|
15
|
+
*
|
|
16
|
+
* @module systems/animation/catalogs/LiTechniqueAnimations
|
|
17
|
+
* @category Animation - Li Trigram Techniques
|
|
18
|
+
* @korean 리괘기술애니메이션
|
|
19
|
+
*/
|
|
20
|
+
import type { SkeletalAnimation } from "../../../types/skeletal";
|
|
21
|
+
/**
|
|
22
|
+
* Li Fire Spear Animation (화염지창)
|
|
23
|
+
*
|
|
24
|
+
* Precision spear-hand thrust to nerve cluster with explosive penetration.
|
|
25
|
+
* Wind-up cocks spear-hand back to ear, strike extends fully with wrist snap,
|
|
26
|
+
* recovery maintains readiness for follow-up strikes.
|
|
27
|
+
*
|
|
28
|
+
* **Korean Philosophy**: 화염의 창 (Flame's Spear)
|
|
29
|
+
* - Spear-hand formation: Index and middle fingers extended, ring/pinky curled
|
|
30
|
+
* - Wind-up: Cocks back to ear level for maximum thrust potential
|
|
31
|
+
* - Strike: Explosive linear thrust targeting nerve cluster
|
|
32
|
+
* - Snap: Wrist snap on impact increases penetration depth
|
|
33
|
+
* - Recovery: Quick retraction maintains offensive pressure
|
|
34
|
+
*
|
|
35
|
+
* **Target Vital Points** (급소):
|
|
36
|
+
* - 경동맥 (Gyeongdongmaek - Carotid nerve cluster): Consciousness disruption
|
|
37
|
+
* - 태양혈 (Taeyanghyeol - Temple): Concussion and disorientation
|
|
38
|
+
* - 명치 (Myeongchi - Solar plexus): Breath disruption and paralysis
|
|
39
|
+
*
|
|
40
|
+
* **Anatomical Mechanics**:
|
|
41
|
+
* - Wind-up: Shoulder rotation -15°, elbow flexion 115° (near ear)
|
|
42
|
+
* - Extension: Shoulder forward 50°, elbow extends to 5° (nearly straight)
|
|
43
|
+
* - Wrist snap: Dorsiflexion 5° on impact for penetration
|
|
44
|
+
* - Hip thrust: Forward thrust 18° for power transfer
|
|
45
|
+
* - Spine rotation: Counter-rotation 15° for torque generation
|
|
46
|
+
*
|
|
47
|
+
* **Frame Breakdown** (60fps target):
|
|
48
|
+
* - Total: 18 frames (1000ms / 55.56ms per frame ≈ 18 frames)
|
|
49
|
+
* - Wind-up: Frames 0-5 (280ms) - Coiling phase
|
|
50
|
+
* - Strike: Frames 6-13 (440ms) - Explosive thrust and impact
|
|
51
|
+
* - Recovery: Frames 14-18 (280ms) - Retraction and guard reset
|
|
52
|
+
*
|
|
53
|
+
* @duration 1000ms (1.0 seconds)
|
|
54
|
+
* @frames 18 total (5 wind-up, 8 strike, 5 recovery)
|
|
55
|
+
* @korean 화염지창
|
|
56
|
+
*/
|
|
57
|
+
export declare const LI_FIRE_SPEAR_ANIMATION: SkeletalAnimation;
|
|
58
|
+
/**
|
|
59
|
+
* Li Nerve Strike Combo Animation (화염 연속타)
|
|
60
|
+
*
|
|
61
|
+
* Three rapid spear-hand strikes targeting different nerve clusters in succession.
|
|
62
|
+
* Speed combinations with minimal recovery between strikes emphasize Li's
|
|
63
|
+
* continuous pressure philosophy (속도 연속 공격).
|
|
64
|
+
*
|
|
65
|
+
* **Korean Philosophy**: 연속 화염 (Continuous Flame)
|
|
66
|
+
* - Strike 1: High target (temple/carotid) with right spear-hand
|
|
67
|
+
* - Strike 2: Mid target (solar plexus) with left spear-hand
|
|
68
|
+
* - Strike 3: High target (opposite temple) with right spear-hand
|
|
69
|
+
* - Minimal recovery between strikes maintains offensive pressure
|
|
70
|
+
* - Each strike targets different nerve cluster for cumulative effect
|
|
71
|
+
*
|
|
72
|
+
* **Target Progression** (급소 순서):
|
|
73
|
+
* 1. **태양혈** (Taeyanghyeol - Temple): Disorientation and vision disruption
|
|
74
|
+
* 2. **명치** (Myeongchi - Solar Plexus): Breath disruption and diaphragm paralysis
|
|
75
|
+
* 3. **경동맥** (Gyeongdongmaek - Carotid): Consciousness loss and blood flow disruption
|
|
76
|
+
*
|
|
77
|
+
* **Biomechanics**:
|
|
78
|
+
* - Setup: Quick chambering without telegraphing
|
|
79
|
+
* - Strike-1: 45° angle from guard, 4-frame execution
|
|
80
|
+
* - Transition-1: Immediate switch to opposite hand, 2-frame window
|
|
81
|
+
* - Strike-2: Linear thrust to body, 4-frame execution
|
|
82
|
+
* - Transition-2: Return to first hand, 2-frame window
|
|
83
|
+
* - Strike-3: Rising strike to head, 4-frame execution
|
|
84
|
+
* - Recovery: Quick return to guard maintaining pressure
|
|
85
|
+
*
|
|
86
|
+
* **Speed Mechanics**:
|
|
87
|
+
* - Strike speed: ~240ms per strike (4 frames at 60fps × 16.67ms)
|
|
88
|
+
* - Recovery: ~67ms between strikes (4 frames × 16.67ms)
|
|
89
|
+
* - Total combo: ~980ms (under 1 second for full 3-strike sequence)
|
|
90
|
+
*
|
|
91
|
+
* **Frame Breakdown** (60fps target):
|
|
92
|
+
* - Total: 22 frames (980ms / 44.5ms per frame ≈ 22 frames)
|
|
93
|
+
* - Setup: Frames 0-3 (100ms) - Quick chamber
|
|
94
|
+
* - Strike-1: Frames 4-7 (240ms) - Right temple strike
|
|
95
|
+
* - Strike-2: Frames 8-11 (240ms) - Left solar plexus strike
|
|
96
|
+
* - Strike-3: Frames 12-15 (240ms) - Right carotid strike
|
|
97
|
+
* - Recovery: Frames 16-22 (160ms) - Return to guard
|
|
98
|
+
*
|
|
99
|
+
* @duration 980ms (~1.0 seconds)
|
|
100
|
+
* @frames 22 total (6 setup, 4+4+4 strikes, 4 recovery)
|
|
101
|
+
* @korean 화염연속타
|
|
102
|
+
*/
|
|
103
|
+
export declare const LI_NERVE_STRIKE_COMBO: SkeletalAnimation;
|
|
104
|
+
//# sourceMappingURL=LiTechniqueAnimations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiTechniqueAnimations.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/catalogs/LiTechniqueAnimations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,uBAAuB,EAAE,iBA2N1B,CAAC;AAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAwNxB,CAAC"}
|