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":"StanceLocomotionAnimations.js","names":[],"sources":["../../../../src/systems/animation/catalogs/StanceLocomotionAnimations.ts"],"sourcesContent":["/**\n * Stance-Specific Locomotion Animations Module\n *\n * Trigram-specific walk and run animations for each of the eight stances.\n * Each trigram has unique movement characteristics reflecting its philosophy:\n *\n * ☰ Geon (Heaven): Direct, powerful movements\n * ☱ Tae (Lake): Fluid, adaptive movements\n * ☲ Li (Fire): Quick, precise movements\n * ☳ Jin (Thunder): Explosive, sudden movements\n * ☴ Son (Wind): Continuous, flowing movements\n * ☵ Gam (Water): Adaptive, redirecting movements\n * ☶ Gan (Mountain): Stable, grounded movements\n * ☷ Gon (Earth): Heavy, rooted movements\n *\n * DESIGN PRINCIPLES:\n * - Fighters MAINTAIN GUARD during locomotion (no arm swing)\n * - Arms/torso/pelvis use withTrigramGuard() from builder\n * - Legs blend trigram base position + locomotion motion\n * - Each stance has distinct leg mechanics (stance width, knee bend, weight)\n *\n * @module systems/animation/StanceLocomotionAnimations\n * @korean 자세별이동애니메이션\n */\n\nimport { TrigramStance } from \"@/types/common\";\nimport type { SkeletalAnimation } from \"@/types/skeletal\";\nimport { BoneName } from \"@/types/skeletal\";\nimport { MartialArtsAnimationBuilder } from \"../builders/MartialArtsAnimationBuilder\";\nimport { KOREAN_STANCE_BIOMECHANICS } from \"../builders/MartialArtsConstants\";\nimport { TRIGRAM_GUARD_POSES } from \"../builders/TrigramGuardApplicator\";\n\n// ═══════════════════════════════════════════════════════════════════════════\n// CONSTANTS\n// ═══════════════════════════════════════════════════════════════════════════\n\n/** Default shoulder width for stance locomotion animations (cm) */\nconst DEFAULT_SHOULDER_WIDTH_CM = 46;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ARM SWING HELPERS - Apply guard pose with locomotion swing offset\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Get arm positions with walk swing for a trigram stance\n *\n * Combines the trigram's guard arm position with a forward/back swing offset.\n * The elbow position from the guard is preserved to maintain proper guard shape.\n *\n * @param stance - Trigram stance\n * @param leftSwing - Left shoulder forward swing (positive = forward)\n * @param rightSwing - Right shoulder forward swing (positive = forward)\n * @returns Arm rotation values to apply\n *\n * @korean 걷기팔스윙가져오기\n */\nfunction getWalkArmSwing(\n stance: TrigramStance,\n leftSwing: number,\n rightSwing: number,\n): {\n leftShoulder: [number, number, number];\n leftElbow: [number, number, number];\n rightShoulder: [number, number, number];\n rightElbow: [number, number, number];\n} {\n const guard = TRIGRAM_GUARD_POSES[stance];\n\n return {\n // Add swing to X rotation, preserve Y and Z from guard\n leftShoulder: [\n guard.leftArm.shoulder.x + leftSwing,\n guard.leftArm.shoulder.y,\n guard.leftArm.shoulder.z,\n ],\n leftElbow: [\n guard.leftArm.elbow.x,\n guard.leftArm.elbow.y,\n guard.leftArm.elbow.z,\n ],\n rightShoulder: [\n guard.rightArm.shoulder.x + rightSwing,\n guard.rightArm.shoulder.y,\n guard.rightArm.shoulder.z,\n ],\n rightElbow: [\n guard.rightArm.elbow.x,\n guard.rightArm.elbow.y,\n guard.rightArm.elbow.z,\n ],\n };\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// SINGLE STEP WALK DESIGN (단일 보행 설계)\n// ═══════════════════════════════════════════════════════════════════════════\n/**\n * WALK ANIMATION DESIGN PHILOSOPHY:\n *\n * Walk animations are SINGLE STEPS that change foot laterality.\n * Each walk animation:\n * 1. Starts with one foot forward (e.g., left foot front)\n * 2. Steps forward with the rear foot\n * 3. Ends with the other foot forward (e.g., right foot front)\n *\n * This is NOT a continuous walk cycle - it's a discrete step that\n * transitions between two stable idle poses with opposite foot laterality.\n *\n * The animation should:\n * - Duration: 0.4-0.6s for a single step (longer = more deliberate)\n * - NOT loop (loops: false)\n * - End in a stable stance ready for another action\n * - Maintain guard position throughout (no wild arm swings)\n *\n * RUN ANIMATION DESIGN PHILOSOPHY:\n *\n * Run animations are CONTINUOUS LOOPING cycles.\n * Trained fighters maintain guard pose during running:\n * - Arms stay in guard position (NO arm swing)\n * - Only legs show running motion\n * - This allows immediate combat readiness\n *\n * @korean 단일보행설계철학\n */\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☰ GEON (건) - HEAVEN: Direct, Powerful Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Geon Walk - 건보법\n * SINGLE STEP: Powerful authoritative stride, changes foot laterality\n *\n * Start: Left foot forward, right foot back\n * End: Right foot forward, left foot back (reversed laterality)\n *\n * Maintains high guard throughout the step\n */\nexport const GEON_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.GEON, 0, 0); // Guard position maintained\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_geon\", \"건보법\")\n .asMovement(0.5, false) // Single step, NOT looping\n // Start: Left foot forward (standard stance laterality)\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.1, 0.05, 0)\n .rotate(BoneName.HIP_L, 0.35, 0, 0) // Left forward\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.HIP_R, -0.25, 0, 0) // Right back\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n // Arms maintain guard\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.05, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GEON_HEAVEN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase (feet together, weight shifting)\n .at(0.25, \"linear\")\n .rotate(BoneName.PELVIS, 0, 0, 0)\n .rotate(BoneName.HIP_L, 0, 0, 0) // Feet passing\n .rotate(BoneName.KNEE_L, -0.5, 0, 0) // Lift rear foot\n .rotate(BoneName.HIP_R, 0.2, 0, 0) // Stepping forward\n .rotate(BoneName.KNEE_R, -0.6, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .position(BoneName.PELVIS, 0, 0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GEON_HEAVEN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward (reversed laterality)\n .at(0.5, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.1, -0.05, 0)\n .rotate(BoneName.HIP_R, 0.35, 0, 0) // Right now forward\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.HIP_L, -0.25, 0, 0) // Left now back\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n // Arms maintain guard\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GEON_HEAVEN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Geon Run - 건질주\n * Powerful forward charge with aggressive posture\n * Stance width: 1.35x shoulder width maintained during run\n *\n * Uses GEON_HIGH_GUARD_POSE arm positions with enhanced run swing\n */\nexport const GEON_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.GEON, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"run_geon\", \"건질주\")\n .asMovement(0.45, true)\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.2, 0.08, 0)\n .rotate(BoneName.HIP_L, -0.5, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.HIP_R, 0.7, 0, 0)\n .rotate(BoneName.KNEE_R, -1.0, 0, 0)\n // Arms maintain guard pose throughout\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.15, 0, 0)\n .position(BoneName.PELVIS, 0, 0.05, 0.05)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GEON_HEAVEN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.225, \"linear\")\n .rotate(BoneName.PELVIS, 0.15, 0, 0)\n .rotate(BoneName.HIP_L, 0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -1.2, 0, 0)\n .rotate(BoneName.HIP_R, -0.3, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.08, 0.05)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GEON_HEAVEN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.45, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.2, -0.08, 0)\n .rotate(BoneName.HIP_R, -0.5, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.HIP_L, 0.7, 0, 0)\n .rotate(BoneName.KNEE_L, -1.0, 0, 0)\n // Arms maintain guard pose throughout\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.05, 0.05)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GEON_HEAVEN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☱ TAE (태) - LAKE: Fluid, Adaptive Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Tae Walk - 태보법\n * SINGLE STEP: Light cat-like step with 90/10 weight on back foot\n *\n * Start: Left foot forward\n * End: Right foot forward (reversed laterality)\n *\n * Maintains fluid guard throughout\n */\nexport const TAE_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.TAE, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_tae\", \"태보법\")\n .asMovement(0.55, false) // Single step, NOT looping\n // Start: Left foot forward (cat stance)\n .at(0.0, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.05, 0.08, 0)\n .rotate(BoneName.HIP_L, 0.2, 0, -0.1) // Left forward\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.FOOT_L, 0.2, 0, 0)\n .rotate(BoneName.HIP_R, -0.15, 0, 0.1) // Right back (weight)\n .rotate(BoneName.KNEE_R, -0.4, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0, 0.05, 0)\n .position(BoneName.PELVIS, 0, -0.02, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.TAE_LAKE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase\n .at(0.275, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.03, 0, 0)\n .rotate(BoneName.HIP_L, -0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0)\n .rotate(BoneName.HIP_R, 0.15, 0, 0)\n .rotate(BoneName.KNEE_R, -0.5, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .position(BoneName.PELVIS, 0, 0.01, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.TAE_LAKE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward (reversed laterality)\n .at(0.55, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.05, -0.08, 0)\n .rotate(BoneName.HIP_R, 0.2, 0, 0.1) // Right now forward\n .rotate(BoneName.KNEE_R, -0.1, 0, 0)\n .rotate(BoneName.FOOT_R, 0.2, 0, 0)\n .rotate(BoneName.HIP_L, -0.15, 0, -0.1) // Left now back\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SPINE_UPPER, 0, -0.05, 0)\n .position(BoneName.PELVIS, 0, -0.02, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.TAE_LAKE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Tae Run - 태질주\n * Flowing, evasive run with quick direction changes\n *\n * Uses TAE_FLUID_GUARD_POSE arm positions with run swing\n */\nexport const TAE_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.TAE, 0, 0);\n\n return MartialArtsAnimationBuilder.create(\"run_tae\", \"태질주\")\n .asMovement(0.5, true)\n .at(0.0, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.12, 0.1, 0)\n .rotate(BoneName.HIP_L, -0.4, 0, 0)\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.HIP_R, 0.6, 0, 0)\n .rotate(BoneName.KNEE_R, -0.8, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.05, 0.05, 0)\n .position(BoneName.PELVIS, 0, 0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.TAE_LAKE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.25, \"linear\")\n .rotate(BoneName.PELVIS, 0.1, 0, 0)\n .rotate(BoneName.HIP_L, 0.3, 0, 0)\n .rotate(BoneName.KNEE_L, -1.0, 0, 0)\n .rotate(BoneName.HIP_R, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.06, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.TAE_LAKE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.5, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.12, -0.1, 0)\n .rotate(BoneName.HIP_R, -0.4, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.HIP_L, 0.6, 0, 0)\n .rotate(BoneName.KNEE_L, -0.8, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.05, -0.05, 0)\n .position(BoneName.PELVIS, 0, 0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.TAE_LAKE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build();\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☲ LI (리) - FIRE: Quick, Precise Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Li Walk - 리보법\n * SINGLE STEP: Quick precise step with minimal movement\n *\n * Start: Left foot forward\n * End: Right foot forward (reversed laterality)\n *\n * Maintains peekaboo guard throughout\n */\nexport const LI_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.LI, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_li\", \"리보법\")\n .asMovement(0.45, false) // Single step, fast and precise\n // Start: Left foot forward\n .at(0.0, \"linear\")\n .rotate(BoneName.PELVIS, 0.08, 0.06, 0)\n .rotate(BoneName.HIP_L, 0.3, 0, 0) // Left forward\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.HIP_R, -0.2, 0, 0) // Right back\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.03, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.LI_FIRE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase (quick)\n .at(0.225, \"linear\")\n .rotate(BoneName.PELVIS, 0.05, 0, 0)\n .rotate(BoneName.HIP_L, -0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.12, 0, 0)\n .rotate(BoneName.HIP_R, 0.1, 0, 0)\n .rotate(BoneName.KNEE_R, -0.5, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .position(BoneName.PELVIS, 0, 0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.LI_FIRE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward\n .at(0.45, \"linear\")\n .rotate(BoneName.PELVIS, 0.08, -0.06, 0)\n .rotate(BoneName.HIP_R, 0.3, 0, 0) // Right now forward\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.HIP_L, -0.2, 0, 0) // Left now back\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.LI_FIRE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Li Run - 리질주\n * Explosive sprint with precision footwork\n *\n * Uses LI_FIRE_GUARD_POSE arm positions with run swing\n */\nexport const LI_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.LI, 0, 0);\n\n return MartialArtsAnimationBuilder.create(\"run_li\", \"리질주\")\n .asMovement(0.4, true)\n .at(0.0, \"linear\")\n .rotate(BoneName.PELVIS, 0.18, 0.08, 0)\n .rotate(BoneName.HIP_L, -0.45, 0, 0)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.HIP_R, 0.65, 0, 0)\n .rotate(BoneName.KNEE_R, -0.95, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.12, 0, 0)\n .position(BoneName.PELVIS, 0, 0.06, 0.04)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.LI_FIRE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.2, \"linear\")\n .rotate(BoneName.PELVIS, 0.12, 0, 0)\n .rotate(BoneName.HIP_L, 0.25, 0, 0)\n .rotate(BoneName.KNEE_L, -1.15, 0, 0)\n .rotate(BoneName.HIP_R, -0.25, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.09, 0.04)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.LI_FIRE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.4, \"linear\")\n .rotate(BoneName.PELVIS, 0.18, -0.08, 0)\n .rotate(BoneName.HIP_R, -0.45, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.HIP_L, 0.65, 0, 0)\n .rotate(BoneName.KNEE_L, -0.95, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.06, 0.04)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.LI_FIRE.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build();\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☳ JIN (진) - THUNDER: Explosive, Sudden Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Jin Walk - 진보법\n * Explosive step-and-ready walk, prepared to strike\n *\n * Uses JIN_THUNDER_GUARD_POSE arm positions with walk swing\n */\nexport const JIN_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.JIN, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_jin\", \"진보법\")\n .asMovement(0.5, false) // Single step, coiled energy\n // Start: Left foot forward\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.12, 0.06, 0)\n .rotate(BoneName.HIP_L, 0.4, 0, 0) // Left forward\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.HIP_R, -0.3, 0, 0) // Right back\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.08, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.05, 0, 0)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.JIN_THUNDER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase\n .at(0.25, \"ease-in\")\n .rotate(BoneName.PELVIS, 0.08, 0, 0)\n .rotate(BoneName.HIP_L, -0.15, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.HIP_R, 0.15, 0, 0)\n .rotate(BoneName.KNEE_R, -0.6, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.02, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.JIN_THUNDER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward\n .at(0.5, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.12, -0.06, 0)\n .rotate(BoneName.HIP_R, 0.4, 0, 0) // Right now forward\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.HIP_L, -0.3, 0, 0) // Left now back\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.JIN_THUNDER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Jin Run - 진질주\n * Thunderous charge with explosive power\n *\n * Uses JIN_THUNDER_GUARD_POSE arm positions with run swing\n */\nexport const JIN_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.JIN, 0, 0);\n\n return MartialArtsAnimationBuilder.create(\"run_jin\", \"진질주\")\n .asMovement(0.42, true)\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.22, 0.1, 0)\n .rotate(BoneName.HIP_L, -0.55, 0, 0)\n .rotate(BoneName.KNEE_L, -0.3, 0, 0)\n .rotate(BoneName.HIP_R, 0.75, 0, 0)\n .rotate(BoneName.KNEE_R, -1.1, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.18, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0)\n .position(BoneName.PELVIS, 0, 0.04, 0.06)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.JIN_THUNDER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.21, \"linear\")\n .rotate(BoneName.PELVIS, 0.16, 0, 0)\n .rotate(BoneName.HIP_L, 0.3, 0, 0)\n .rotate(BoneName.KNEE_L, -1.25, 0, 0)\n .rotate(BoneName.HIP_R, -0.35, 0, 0)\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.08, 0.06)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.JIN_THUNDER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.42, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.22, -0.1, 0)\n .rotate(BoneName.HIP_R, -0.55, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.HIP_L, 0.75, 0, 0)\n .rotate(BoneName.KNEE_L, -1.1, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.04, 0.06)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.JIN_THUNDER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build();\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☴ SON (손) - WIND: Continuous, Flowing Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Son Walk - 손보법\n * SINGLE STEP: Gentle flowing step like wind through trees\n *\n * Start: Left foot forward\n * End: Right foot forward (reversed laterality)\n */\nexport const SON_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.SON, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_son\", \"손보법\")\n .asMovement(0.55, false) // Single flowing step\n // Start: Left foot forward\n .at(0.0, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.06, 0.04, 0)\n .rotate(BoneName.HIP_L, 0.25, 0, 0) // Left forward\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .rotate(BoneName.HIP_R, -0.18, 0, 0) // Right back\n .rotate(BoneName.KNEE_R, -0.12, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.02, 0.03, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.SON_WIND.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase\n .at(0.275, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.04, 0, 0)\n .rotate(BoneName.HIP_L, -0.08, 0, 0)\n .rotate(BoneName.KNEE_L, -0.1, 0, 0)\n .rotate(BoneName.HIP_R, 0.1, 0, 0)\n .rotate(BoneName.KNEE_R, -0.4, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.02, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.SON_WIND.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward\n .at(0.55, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.06, -0.04, 0)\n .rotate(BoneName.HIP_R, 0.25, 0, 0) // Right now forward\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.HIP_L, -0.18, 0, 0) // Left now back\n .rotate(BoneName.KNEE_L, -0.12, 0, 0)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SPINE_UPPER, 0.02, -0.03, 0)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.SON_WIND.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Son Run - 손질주\n * Swift, gliding run like wind rushing\n *\n * Uses SON_WIND_GUARD_POSE arm positions with run swing\n */\nexport const SON_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.SON, 0, 0);\n\n return MartialArtsAnimationBuilder.create(\"run_son\", \"손질주\")\n .asMovement(0.48, true)\n .at(0.0, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.14, 0.08, 0)\n .rotate(BoneName.HIP_L, -0.4, 0, 0)\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.HIP_R, 0.6, 0, 0)\n .rotate(BoneName.KNEE_R, -0.85, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.08, 0.04, 0)\n .position(BoneName.PELVIS, 0, 0.04, 0.02)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.SON_WIND.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.24, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.1, 0, 0)\n .rotate(BoneName.HIP_L, 0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -1.0, 0, 0)\n .rotate(BoneName.HIP_R, -0.2, 0, 0)\n .rotate(BoneName.KNEE_R, -0.2, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.07, 0.02)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.SON_WIND.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.48, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.14, -0.08, 0)\n .rotate(BoneName.HIP_R, -0.4, 0, 0)\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.HIP_L, 0.6, 0, 0)\n .rotate(BoneName.KNEE_L, -0.85, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.08, -0.04, 0)\n .position(BoneName.PELVIS, 0, 0.04, 0.02)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.SON_WIND.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build();\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☵ GAM (감) - WATER: Adaptive, Redirecting Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Gam Walk - 감보법\n * SINGLE STEP: Flowing adaptive step that flows around obstacles\n *\n * Start: Left foot forward\n * End: Right foot forward (reversed laterality)\n */\nexport const GAM_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.GAM, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_gam\", \"감보법\")\n .asMovement(0.55, false) // Single flowing step\n // Start: Left foot forward\n .at(0.0, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.05, 0.06, 0.02)\n .rotate(BoneName.HIP_L, 0.28, 0, -0.05) // Left forward\n .rotate(BoneName.KNEE_L, -0.18, 0, 0)\n .rotate(BoneName.HIP_R, -0.2, 0, 0.05) // Right back\n .rotate(BoneName.KNEE_R, -0.15, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0, 0.04, 0.02)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAM_WATER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase\n .at(0.275, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.03, 0, 0)\n .rotate(BoneName.HIP_L, -0.1, 0, 0)\n .rotate(BoneName.KNEE_L, -0.12, 0, 0)\n .rotate(BoneName.HIP_R, 0.12, 0, 0)\n .rotate(BoneName.KNEE_R, -0.45, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0, 0, 0)\n .position(BoneName.PELVIS, 0, 0.02, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAM_WATER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward\n .at(0.55, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.05, -0.06, -0.02)\n .rotate(BoneName.HIP_R, 0.28, 0, 0.05) // Right now forward\n .rotate(BoneName.KNEE_R, -0.18, 0, 0)\n .rotate(BoneName.HIP_L, -0.2, 0, -0.05) // Left now back\n .rotate(BoneName.KNEE_L, -0.15, 0, 0)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SPINE_UPPER, 0, -0.04, -0.02)\n .position(BoneName.PELVIS, 0, 0, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAM_WATER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Gam Run - 감질주\n * Fluid run that flows like water around obstacles\n *\n * Uses GAM_WATER_GUARD_POSE arm positions with run swing\n */\nexport const GAM_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.GAM, 0, 0);\n\n return MartialArtsAnimationBuilder.create(\"run_gam\", \"감질주\")\n .asMovement(0.52, true)\n .at(0.0, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.12, 0.1, 0.03)\n .rotate(BoneName.HIP_L, -0.38, 0, 0)\n .rotate(BoneName.KNEE_L, -0.28, 0, 0)\n .rotate(BoneName.HIP_R, 0.58, 0, 0)\n .rotate(BoneName.KNEE_R, -0.82, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.06, 0.05, 0.02)\n .position(BoneName.PELVIS, 0.02, 0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAM_WATER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.26, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.08, 0, 0)\n .rotate(BoneName.HIP_L, 0.22, 0, 0)\n .rotate(BoneName.KNEE_L, -0.95, 0, 0)\n .rotate(BoneName.HIP_R, -0.18, 0, 0)\n .rotate(BoneName.KNEE_R, -0.22, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.06, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAM_WATER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.52, \"ease-in-out\")\n .rotate(BoneName.PELVIS, 0.12, -0.1, -0.03)\n .rotate(BoneName.HIP_R, -0.38, 0, 0)\n .rotate(BoneName.KNEE_R, -0.28, 0, 0)\n .rotate(BoneName.HIP_L, 0.58, 0, 0)\n .rotate(BoneName.KNEE_L, -0.82, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.06, -0.05, -0.02)\n .position(BoneName.PELVIS, -0.02, 0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAM_WATER.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build();\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☶ GAN (간) - MOUNTAIN: Stable, Grounded Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Gan Walk - 간보법\n * SINGLE STEP: Solid immovable step with defensive posture\n *\n * Start: Left foot forward\n * End: Right foot forward (reversed laterality)\n */\nexport const GAN_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.GAN, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_gan\", \"간보법\")\n .asMovement(0.6, false) // Single grounded step\n // Start: Left foot forward\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.08, 0.04, 0)\n .rotate(BoneName.HIP_L, 0.3, 0, 0) // Left forward\n .rotate(BoneName.KNEE_L, -0.28, 0, 0)\n .rotate(BoneName.HIP_R, -0.22, 0, 0) // Right back\n .rotate(BoneName.KNEE_R, -0.25, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.04, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.06, 0, 0)\n .position(BoneName.PELVIS, 0, -0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAN_MOUNTAIN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase (deliberate)\n .at(0.3, \"linear\")\n .rotate(BoneName.PELVIS, 0.06, 0, 0)\n .rotate(BoneName.HIP_L, -0.05, 0, 0)\n .rotate(BoneName.KNEE_L, -0.2, 0, 0)\n .rotate(BoneName.HIP_R, 0.08, 0, 0)\n .rotate(BoneName.KNEE_R, -0.5, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, -0.01, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAN_MOUNTAIN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward\n .at(0.6, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.08, -0.04, 0)\n .rotate(BoneName.HIP_R, 0.3, 0, 0) // Right now forward\n .rotate(BoneName.KNEE_R, -0.28, 0, 0)\n .rotate(BoneName.HIP_L, -0.22, 0, 0) // Left now back\n .rotate(BoneName.KNEE_L, -0.25, 0, 0)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .position(BoneName.PELVIS, 0, -0.03, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAN_MOUNTAIN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Gan Run - 간질주\n * Heavy, unstoppable charge like an avalanche\n *\n * Uses GAN_MOUNTAIN_GUARD_POSE arm positions with run swing\n */\nexport const GAN_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.GAN, 0, 0);\n\n return MartialArtsAnimationBuilder.create(\"run_gan\", \"간질주\")\n .asMovement(0.55, true)\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.18, 0.08, 0)\n .rotate(BoneName.HIP_L, -0.45, 0, 0)\n .rotate(BoneName.KNEE_L, -0.35, 0, 0)\n .rotate(BoneName.HIP_R, 0.65, 0, 0)\n .rotate(BoneName.KNEE_R, -0.9, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.12, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0)\n .position(BoneName.PELVIS, 0, 0.02, 0.04)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAN_MOUNTAIN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.275, \"linear\")\n .rotate(BoneName.PELVIS, 0.14, 0, 0)\n .rotate(BoneName.HIP_L, 0.2, 0, 0)\n .rotate(BoneName.KNEE_L, -1.05, 0, 0)\n .rotate(BoneName.HIP_R, -0.25, 0, 0)\n .rotate(BoneName.KNEE_R, -0.3, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.05, 0.04)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAN_MOUNTAIN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.55, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.18, -0.08, 0)\n .rotate(BoneName.HIP_R, -0.45, 0, 0)\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .rotate(BoneName.HIP_L, 0.65, 0, 0)\n .rotate(BoneName.KNEE_L, -0.9, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.02, 0.04)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GAN_MOUNTAIN.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build();\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ☷ GON (곤) - EARTH: Heavy, Rooted Movements\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Gon Walk - 곤보법\n * SINGLE STEP: Heavy rooted step with low center of gravity\n *\n * Start: Left foot forward\n * End: Right foot forward (reversed laterality)\n */\nexport const GON_WALK_ANIMATION: SkeletalAnimation = (() => {\n const arms = getWalkArmSwing(TrigramStance.GON, 0, 0);\n\n return (\n MartialArtsAnimationBuilder.create(\"walk_gon\", \"곤보법\")\n .asMovement(0.65, false) // Single heavy step\n // Start: Left foot forward\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.1, 0.05, 0)\n .rotate(BoneName.HIP_L, 0.35, 0, -0.08) // Left forward\n .rotate(BoneName.KNEE_L, -0.38, 0, 0)\n .rotate(BoneName.HIP_R, -0.25, 0, 0.08) // Right back\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.06, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.1, 0, 0)\n .position(BoneName.PELVIS, 0, -0.06, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GON_EARTH.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // Mid: Passing phase (heavy)\n .at(0.325, \"linear\")\n .rotate(BoneName.PELVIS, 0.08, 0, 0)\n .rotate(BoneName.HIP_L, -0.08, 0, 0)\n .rotate(BoneName.KNEE_L, -0.28, 0, 0)\n .rotate(BoneName.HIP_R, 0.1, 0, 0)\n .rotate(BoneName.KNEE_R, -0.55, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, -0.04, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GON_EARTH.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n // End: Right foot forward\n .at(0.65, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.1, -0.05, 0)\n .rotate(BoneName.HIP_R, 0.35, 0, 0.08) // Right now forward\n .rotate(BoneName.KNEE_R, -0.38, 0, 0)\n .rotate(BoneName.HIP_L, -0.25, 0, -0.08) // Left now back\n .rotate(BoneName.KNEE_L, -0.35, 0, 0)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .position(BoneName.PELVIS, 0, -0.06, 0)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GON_EARTH.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build()\n );\n})();\n\n/**\n * Gon Run - 곤질주\n * Powerful, earthshaking run\n *\n * Trained fighters maintain guard pose throughout\n */\nexport const GON_RUN_ANIMATION: SkeletalAnimation = (() => {\n // Trained fighters maintain guard pose - no arm swing\n const arms = getWalkArmSwing(TrigramStance.GON, 0, 0);\n\n return MartialArtsAnimationBuilder.create(\"run_gon\", \"곤질주\")\n .asMovement(0.58, true)\n .at(0.0, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.2, 0.1, 0)\n .rotate(BoneName.HIP_L, -0.5, 0, 0)\n .rotate(BoneName.KNEE_L, -0.4, 0, 0)\n .rotate(BoneName.HIP_R, 0.7, 0, 0)\n .rotate(BoneName.KNEE_R, -0.95, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .rotate(BoneName.SPINE_UPPER, 0.14, 0, 0)\n .rotate(BoneName.SPINE_LOWER, 0.12, 0, 0)\n .position(BoneName.PELVIS, 0, 0, 0.05)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GON_EARTH.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.29, \"linear\")\n .rotate(BoneName.PELVIS, 0.16, 0, 0)\n .rotate(BoneName.HIP_L, 0.25, 0, 0)\n .rotate(BoneName.KNEE_L, -1.1, 0, 0)\n .rotate(BoneName.HIP_R, -0.3, 0, 0)\n .rotate(BoneName.KNEE_R, -0.35, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0.04, 0.05)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GON_EARTH.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .at(0.58, \"ease-out\")\n .rotate(BoneName.PELVIS, 0.2, -0.1, 0)\n .rotate(BoneName.HIP_R, -0.5, 0, 0)\n .rotate(BoneName.KNEE_R, -0.4, 0, 0)\n .rotate(BoneName.HIP_L, 0.7, 0, 0)\n .rotate(BoneName.KNEE_L, -0.95, 0, 0)\n .rotate(BoneName.SHOULDER_L, ...arms.leftShoulder)\n .rotate(BoneName.ELBOW_L, ...arms.leftElbow)\n .rotate(BoneName.SHOULDER_R, ...arms.rightShoulder)\n .rotate(BoneName.ELBOW_R, ...arms.rightElbow)\n .position(BoneName.PELVIS, 0, 0, 0.05)\n .done<MartialArtsAnimationBuilder>()\n .withFootWidth(\n KOREAN_STANCE_BIOMECHANICS.GON_EARTH.stanceWidth,\n DEFAULT_SHOULDER_WIDTH_CM,\n )\n .build();\n})();\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ANIMATION MAPS\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Map of all stance-specific walk animations\n * @korean 자세별걷기애니메이션맵\n */\nexport const STANCE_WALK_ANIMATIONS: ReadonlyMap<string, SkeletalAnimation> =\n new Map([\n [\"walk_geon\", GEON_WALK_ANIMATION],\n [\"walk_tae\", TAE_WALK_ANIMATION],\n [\"walk_li\", LI_WALK_ANIMATION],\n [\"walk_jin\", JIN_WALK_ANIMATION],\n [\"walk_son\", SON_WALK_ANIMATION],\n [\"walk_gam\", GAM_WALK_ANIMATION],\n [\"walk_gan\", GAN_WALK_ANIMATION],\n [\"walk_gon\", GON_WALK_ANIMATION],\n ]);\n\n/**\n * Map of all stance-specific run animations\n * @korean 자세별달리기애니메이션맵\n */\nexport const STANCE_RUN_ANIMATIONS: ReadonlyMap<string, SkeletalAnimation> =\n new Map([\n [\"run_geon\", GEON_RUN_ANIMATION],\n [\"run_tae\", TAE_RUN_ANIMATION],\n [\"run_li\", LI_RUN_ANIMATION],\n [\"run_jin\", JIN_RUN_ANIMATION],\n [\"run_son\", SON_RUN_ANIMATION],\n [\"run_gam\", GAM_RUN_ANIMATION],\n [\"run_gan\", GAN_RUN_ANIMATION],\n [\"run_gon\", GON_RUN_ANIMATION],\n ]);\n\n/**\n * Combined map of all stance locomotion animations\n * @korean 자세별이동애니메이션통합맵\n */\nexport const STANCE_LOCOMOTION_ANIMATIONS: ReadonlyMap<\n string,\n SkeletalAnimation\n> = new Map([...STANCE_WALK_ANIMATIONS, ...STANCE_RUN_ANIMATIONS]);\n\n/**\n * Get stance-specific walk animation\n * @param stance - Trigram stance name (geon, tae, li, etc.)\n * @returns Walk animation for that stance\n */\nexport function getStanceWalkAnimation(\n stance: string,\n): SkeletalAnimation | undefined {\n return STANCE_WALK_ANIMATIONS.get(`walk_${stance}`);\n}\n\n/**\n * Get stance-specific run animation\n * @param stance - Trigram stance name (geon, tae, li, etc.)\n * @returns Run animation for that stance\n */\nexport function getStanceRunAnimation(\n stance: string,\n): SkeletalAnimation | undefined {\n return STANCE_RUN_ANIMATIONS.get(`run_${stance}`);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Step Animation System for Black Trigram
|
|
3
|
+
*
|
|
4
|
+
* **PHASE 4 ENHANCEMENT: Advanced Step Techniques**
|
|
5
|
+
*
|
|
6
|
+
* Implements tactical step movement animations with precise 30cm steps
|
|
7
|
+
* based on Korean martial arts footwork (보법, Bobeop).
|
|
8
|
+
*
|
|
9
|
+
* **Advanced Step Keyframe Definitions (Integration Pending)**:
|
|
10
|
+
* - **밀기 스텝 (Push Step)**: Rear foot drives forward for power generation (280ms, 35cm)
|
|
11
|
+
* - **당기기 스텝 (Pull Step)**: Front foot pulls back for defensive retreat (260ms, 30cm)
|
|
12
|
+
* - **자르기 스텝 (Cut Step)**: Diagonal step for angle creation and evasion (300ms, 32cm)
|
|
13
|
+
*
|
|
14
|
+
* > **Note**: These advanced step variants have keyframe sets defined but are not yet wired
|
|
15
|
+
* > into the main step selection/config APIs (`StepDirection`, `STEP_ANIMATION_CONFIGS`,
|
|
16
|
+
* > `createStepConfig`, `getStepKeyframeAtFrame`). They are currently experimental data only.
|
|
17
|
+
*
|
|
18
|
+
* **Base 8-Direction Steps** (Fully Integrated):
|
|
19
|
+
* - Duration: 300ms (18 frames at 60fps)
|
|
20
|
+
* - Distance: 30cm (approximately one foot width)
|
|
21
|
+
* - Non-interruptible (priority 5, same as attacks)
|
|
22
|
+
* - Maintains guard position
|
|
23
|
+
* - Smooth weight transfer with Korean martial arts principles
|
|
24
|
+
*
|
|
25
|
+
* **Korean Footwork Principles Applied**:
|
|
26
|
+
* - 디딤발 (Didimbal): Stepping foot lands heel-first forward, ball-first backward
|
|
27
|
+
* - 축발 (Chukbal): Pivot foot maintains stability during movement
|
|
28
|
+
* - 체중이동 (Chejung Idong): Weight transfers smoothly through phases
|
|
29
|
+
* - 각도 만들기 (Gakdo Mandeulgi): Angle creation through diagonal movement
|
|
30
|
+
*
|
|
31
|
+
* @module systems/animation/StepAnimations
|
|
32
|
+
* @category Animation
|
|
33
|
+
* @korean 발걸음애니메이션시스템
|
|
34
|
+
*/
|
|
35
|
+
import type { StepConfig, StepDirection, StepKeyframe } from "../core/types";
|
|
36
|
+
/**
|
|
37
|
+
* Standard step animation parameters
|
|
38
|
+
*
|
|
39
|
+
* Based on issue requirements:
|
|
40
|
+
* - 18 frames at 60fps = 300ms duration
|
|
41
|
+
* - 30cm distance (one foot width)
|
|
42
|
+
* - Guard maintained throughout
|
|
43
|
+
*
|
|
44
|
+
* @korean 표준발걸음파라미터
|
|
45
|
+
*/
|
|
46
|
+
export declare const STEP_ANIMATION_PARAMS: {
|
|
47
|
+
/** Total frames for step animation */
|
|
48
|
+
readonly FRAMES: 18;
|
|
49
|
+
/** Target FPS (60 for smooth combat) */
|
|
50
|
+
readonly FPS: 60;
|
|
51
|
+
/** Duration in seconds (300ms) */
|
|
52
|
+
readonly DURATION: 0.3;
|
|
53
|
+
/** Distance moved per step in meters (30cm) */
|
|
54
|
+
readonly DISTANCE: 0.3;
|
|
55
|
+
/** Stamina cost per step - reduced for sustained combat (3 min rounds) */
|
|
56
|
+
readonly STAMINA_COST: 3;
|
|
57
|
+
/** Whether steps are interruptible (false for commitment) */
|
|
58
|
+
readonly INTERRUPTIBLE: false;
|
|
59
|
+
/** Animation priority (same as attack) */
|
|
60
|
+
readonly PRIORITY: import("..").AnimationPriority.ATTACK;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Step keyframes defining weight transfer and foot placement
|
|
64
|
+
*
|
|
65
|
+
* Four-phase step animation:
|
|
66
|
+
* 1. Frames 0-5: Weight shift to back foot (준비, Junbi - Preparation)
|
|
67
|
+
* 2. Frames 6-11: Front foot lift and extension (이동, Idong - Movement)
|
|
68
|
+
* 3. Frames 12-15: Front foot placement (착지, Chakji - Landing)
|
|
69
|
+
* 4. Frames 16-17: Weight settle and stabilize (안정, Anjeong - Stabilization)
|
|
70
|
+
*
|
|
71
|
+
* @korean 발걸음키프레임
|
|
72
|
+
*/
|
|
73
|
+
export declare const STEP_KEYFRAMES: readonly StepKeyframe[];
|
|
74
|
+
/**
|
|
75
|
+
* Generate step animation config for a specific direction
|
|
76
|
+
*
|
|
77
|
+
* Creates animation configuration with Korean terminology:
|
|
78
|
+
* - forward: 전진보법 (Jeonjin Bobeop)
|
|
79
|
+
* - back: 후퇴보법 (Hutoe Bobeop)
|
|
80
|
+
* - left: 좌측면보법 (Jwacheuk Myeon Bobeop)
|
|
81
|
+
* - right: 우측면보법 (Ucheuk Myeon Bobeop)
|
|
82
|
+
* - Diagonals: Combined terms
|
|
83
|
+
*
|
|
84
|
+
* @param direction - Step direction (8 possibilities)
|
|
85
|
+
* @returns Step animation configuration
|
|
86
|
+
* @korean 발걸음애니메이션설정생성
|
|
87
|
+
*/
|
|
88
|
+
export declare function createStepConfig(direction: StepDirection): StepConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Map of all step animation configurations
|
|
91
|
+
*
|
|
92
|
+
* Eight directional step configurations for:
|
|
93
|
+
* - Cardinal directions: forward, back, left, right
|
|
94
|
+
* - Diagonal directions: forward_left, forward_right, back_left, back_right
|
|
95
|
+
*
|
|
96
|
+
* @korean 발걸음애니메이션맵
|
|
97
|
+
*/
|
|
98
|
+
export declare const STEP_ANIMATION_CONFIGS: ReadonlyMap<StepDirection, StepConfig>;
|
|
99
|
+
/**
|
|
100
|
+
* Interpolate between two keyframes
|
|
101
|
+
*
|
|
102
|
+
* Linear interpolation for smooth animation between keyframe values.
|
|
103
|
+
* Used for weight transfer, foot position, and center of gravity.
|
|
104
|
+
*
|
|
105
|
+
* @param keyframe1 - Start keyframe
|
|
106
|
+
* @param keyframe2 - End keyframe
|
|
107
|
+
* @param t - Interpolation factor (0-1)
|
|
108
|
+
* @returns Interpolated keyframe values
|
|
109
|
+
* @korean 키프레임보간
|
|
110
|
+
*/
|
|
111
|
+
export declare function interpolateStepKeyframes(keyframe1: StepKeyframe, keyframe2: StepKeyframe, t: number): StepKeyframe;
|
|
112
|
+
/**
|
|
113
|
+
* Get step keyframe at specific frame
|
|
114
|
+
*
|
|
115
|
+
* Returns exact keyframe if frame matches, otherwise interpolates
|
|
116
|
+
* between surrounding keyframes for smooth animation.
|
|
117
|
+
*
|
|
118
|
+
* @param frame - Current frame number (0-17)
|
|
119
|
+
* @returns Keyframe data for current frame
|
|
120
|
+
* @korean 프레임별키프레임가져오기
|
|
121
|
+
*/
|
|
122
|
+
export declare function getStepKeyframeAtFrame(frame: number): StepKeyframe;
|
|
123
|
+
/**
|
|
124
|
+
* Calculate 3D position offset for step direction
|
|
125
|
+
*
|
|
126
|
+
* Converts step direction to normalized 3D vector for character movement.
|
|
127
|
+
* Diagonal steps have shorter individual x/y components to maintain
|
|
128
|
+
* consistent 30cm total distance.
|
|
129
|
+
*
|
|
130
|
+
* @param direction - Step direction
|
|
131
|
+
* @returns 3D position offset [x, y, z] in meters
|
|
132
|
+
* @korean 발걸음방향벡터계산
|
|
133
|
+
*/
|
|
134
|
+
export declare function getStepDirectionVector(direction: StepDirection): [number, number, number];
|
|
135
|
+
/**
|
|
136
|
+
* Korean terminology for step directions
|
|
137
|
+
*
|
|
138
|
+
* Maps step directions to Korean martial arts terminology:
|
|
139
|
+
* - 전진보법 (Jeonjin Bobeop): Forward stepping method
|
|
140
|
+
* - 후퇴보법 (Hutoe Bobeop): Retreat stepping method
|
|
141
|
+
* - 측면보법 (Cheungmyeon Bobeop): Side stepping method
|
|
142
|
+
*
|
|
143
|
+
* @korean 발걸음한글용어
|
|
144
|
+
*/
|
|
145
|
+
export declare const STEP_KOREAN_TERMS: Record<StepDirection, {
|
|
146
|
+
korean: string;
|
|
147
|
+
romanized: string;
|
|
148
|
+
english: string;
|
|
149
|
+
}>;
|
|
150
|
+
/**
|
|
151
|
+
* **NEW PHASE 4**: Advanced step technique types
|
|
152
|
+
*
|
|
153
|
+
* Three specialized stepping techniques from Korean martial arts:
|
|
154
|
+
*
|
|
155
|
+
* 1. **밀기 스텝 (Push Step - Milgi Step)**:
|
|
156
|
+
* - Rear foot explosively pushes off ground
|
|
157
|
+
* - Front foot receives and advances
|
|
158
|
+
* - Generates forward power for closing distance
|
|
159
|
+
* - Used before strikes or to pressure opponent
|
|
160
|
+
*
|
|
161
|
+
* 2. **당기기 스텝 (Pull Step - Danggigi Step)**:
|
|
162
|
+
* - Front foot pulls backward quickly
|
|
163
|
+
* - Rear foot follows to maintain stance
|
|
164
|
+
* - Creates defensive distance rapidly
|
|
165
|
+
* - Preserves guard and balance during retreat
|
|
166
|
+
*
|
|
167
|
+
* 3. **자르기 스텝 (Cut Step - Jareugi Step)**:
|
|
168
|
+
* - Diagonal step at 45° angle
|
|
169
|
+
* - Off-line from opponent's centerline
|
|
170
|
+
* - Creates tactical angle advantage
|
|
171
|
+
* - Evade while positioning for counter
|
|
172
|
+
*
|
|
173
|
+
* @korean 고급발걸음기술유형
|
|
174
|
+
*/
|
|
175
|
+
export type AdvancedStepType = "push" | "pull" | "cut_left";
|
|
176
|
+
/**
|
|
177
|
+
* **밀기 스텝 (Push Step)** - Power Generation through Rear Foot Drive
|
|
178
|
+
*
|
|
179
|
+
* **Korean Martial Arts Principle**: 뒷발 추진력 (Rear foot propulsion)
|
|
180
|
+
*
|
|
181
|
+
* Explosive forward movement where rear foot provides all the power:
|
|
182
|
+
* 1. Rear foot digs into ground (발뒤꿈치 압박)
|
|
183
|
+
* 2. Explosive extension of rear leg drives body forward
|
|
184
|
+
* 3. Front foot receives and extends farther forward
|
|
185
|
+
* 4. Used to close distance quickly before attacking
|
|
186
|
+
*
|
|
187
|
+
* **Biomechanics**:
|
|
188
|
+
* - Rear knee: Flexes to -25° then explosively extends to -5°
|
|
189
|
+
* - Front knee: Stays relatively straight to receive forward momentum
|
|
190
|
+
* - Pelvis: Drives forward with 20cm total displacement
|
|
191
|
+
* - Guard: Maintained throughout to protect during advance
|
|
192
|
+
*
|
|
193
|
+
* **Tactical Application**:
|
|
194
|
+
* - Close distance for punches or kicks
|
|
195
|
+
* - Pressure opponent toward cage/ropes
|
|
196
|
+
* - Entry for takedowns
|
|
197
|
+
* - Create forward momentum
|
|
198
|
+
*
|
|
199
|
+
* **Duration**: 280ms (explosive movement)
|
|
200
|
+
* **Distance**: 35cm (longer than normal step due to push power)
|
|
201
|
+
*
|
|
202
|
+
* @korean 밀기스텝_뒷발추진
|
|
203
|
+
*/
|
|
204
|
+
export declare const PUSH_STEP_KEYFRAMES: readonly StepKeyframe[];
|
|
205
|
+
/**
|
|
206
|
+
* **당기기 스텝 (Pull Step)** - Quick Defensive Retreat
|
|
207
|
+
*
|
|
208
|
+
* **Korean Martial Arts Principle**: 앞발 당김 (Front foot pull-back)
|
|
209
|
+
*
|
|
210
|
+
* Quick retreat where front foot initiates backward movement:
|
|
211
|
+
* 1. Front foot pulls back quickly (ball of foot contact)
|
|
212
|
+
* 2. Weight transfers to rear foot
|
|
213
|
+
* 3. Front foot lands and rear foot follows
|
|
214
|
+
* 4. Creates defensive distance while maintaining guard
|
|
215
|
+
*
|
|
216
|
+
* **Biomechanics**:
|
|
217
|
+
* - Front knee: Lifts to -20° then extends back
|
|
218
|
+
* - Rear knee: Accepts weight with flex to -15°
|
|
219
|
+
* - Pelvis: Moves backward 25cm smoothly
|
|
220
|
+
* - Eyes: Stay on opponent throughout
|
|
221
|
+
*
|
|
222
|
+
* **Tactical Application**:
|
|
223
|
+
* - Escape opponent's attack range
|
|
224
|
+
* - Reset distance after exchange
|
|
225
|
+
* - Defensive retreat under pressure
|
|
226
|
+
* - Maintain guard while withdrawing
|
|
227
|
+
*
|
|
228
|
+
* **Duration**: 300ms (controlled retreat)
|
|
229
|
+
* **Distance**: 30cm (standard defensive distance)
|
|
230
|
+
*
|
|
231
|
+
* @korean 당기기스텝_앞발당김
|
|
232
|
+
*/
|
|
233
|
+
export declare const PULL_STEP_KEYFRAMES: readonly StepKeyframe[];
|
|
234
|
+
/**
|
|
235
|
+
* **자르기 스텝 (Cut Step)** - Diagonal Angle Creation
|
|
236
|
+
*
|
|
237
|
+
* **Korean Martial Arts Principle**: 각도 전환 (Angle transition)
|
|
238
|
+
*
|
|
239
|
+
* Diagonal step at 45° to create off-line positioning:
|
|
240
|
+
* 1. Front foot steps forward-lateral at 45°
|
|
241
|
+
* 2. Body pivots to maintain guard facing opponent
|
|
242
|
+
* 3. Rear foot adjusts to restore stance
|
|
243
|
+
* 4. Results in superior angle advantage
|
|
244
|
+
*
|
|
245
|
+
* **Biomechanics**:
|
|
246
|
+
* - Front knee: Lifts and extends diagonally
|
|
247
|
+
* - Pelvis: Rotates 15-20° while moving diagonal
|
|
248
|
+
* - Spine: Counter-rotates to keep guard forward
|
|
249
|
+
* - Total displacement: 30cm at 45° angle
|
|
250
|
+
*
|
|
251
|
+
* **Tactical Application**:
|
|
252
|
+
* - Off-line from opponent's attack vector
|
|
253
|
+
* - Create angle for counter-strikes
|
|
254
|
+
* - Evade linear attacks
|
|
255
|
+
* - Position for opponent's blind side
|
|
256
|
+
*
|
|
257
|
+
* **Duration**: 320ms (requires precision)
|
|
258
|
+
* **Distance**: 30cm at 45° diagonal
|
|
259
|
+
* **Angle**: Off-line by 45° from original centerline
|
|
260
|
+
*
|
|
261
|
+
* @korean 자르기스텝_각도전환
|
|
262
|
+
*/
|
|
263
|
+
export declare const CUT_STEP_LEFT_KEYFRAMES: readonly StepKeyframe[];
|
|
264
|
+
/**
|
|
265
|
+
* Korean terminology for advanced step techniques
|
|
266
|
+
*
|
|
267
|
+
* @korean 고급발걸음한글용어
|
|
268
|
+
*/
|
|
269
|
+
export declare const ADVANCED_STEP_KOREAN_TERMS: Record<AdvancedStepType, {
|
|
270
|
+
korean: string;
|
|
271
|
+
romanized: string;
|
|
272
|
+
english: string;
|
|
273
|
+
}>;
|
|
274
|
+
//# sourceMappingURL=StepAnimations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepAnimations.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/catalogs/StepAnimations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,eAAe,CAAC;AAGvB;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;IAChC,sCAAsC;;IAGtC,wCAAwC;;IAGxC,kCAAkC;;IAGlC,+CAA+C;;IAG/C,0EAA0E;;IAG1E,6DAA6D;;IAG7D,0CAA0C;;CAElC,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAgFjD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAyBrE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,aAAa,EAAE,UAAU,CAUtE,CAAC;AAEL;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,YAAY,EACvB,CAAC,EAAE,MAAM,GACR,YAAY,CAkBd;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAkClE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,aAAa,GACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAgB1B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,aAAa,EACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA0CvD,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,YAAY,EAuDtD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,YAAY,EAuDtD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,YAAY,EAuD1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAC7C,gBAAgB,EAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiBvD,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { STEP_PRIORITY } from "../core/types.js";
|
|
2
|
+
//#region src/systems/animation/catalogs/StepAnimations.ts
|
|
3
|
+
/**
|
|
4
|
+
* Standard step animation parameters
|
|
5
|
+
*
|
|
6
|
+
* Based on issue requirements:
|
|
7
|
+
* - 18 frames at 60fps = 300ms duration
|
|
8
|
+
* - 30cm distance (one foot width)
|
|
9
|
+
* - Guard maintained throughout
|
|
10
|
+
*
|
|
11
|
+
* @korean 표준발걸음파라미터
|
|
12
|
+
*/
|
|
13
|
+
var STEP_ANIMATION_PARAMS = {
|
|
14
|
+
FRAMES: 18,
|
|
15
|
+
FPS: 60,
|
|
16
|
+
DURATION: .3,
|
|
17
|
+
DISTANCE: .3,
|
|
18
|
+
STAMINA_COST: 3,
|
|
19
|
+
INTERRUPTIBLE: false,
|
|
20
|
+
PRIORITY: STEP_PRIORITY
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Generate step animation config for a specific direction
|
|
24
|
+
*
|
|
25
|
+
* Creates animation configuration with Korean terminology:
|
|
26
|
+
* - forward: 전진보법 (Jeonjin Bobeop)
|
|
27
|
+
* - back: 후퇴보법 (Hutoe Bobeop)
|
|
28
|
+
* - left: 좌측면보법 (Jwacheuk Myeon Bobeop)
|
|
29
|
+
* - right: 우측면보법 (Ucheuk Myeon Bobeop)
|
|
30
|
+
* - Diagonals: Combined terms
|
|
31
|
+
*
|
|
32
|
+
* @param direction - Step direction (8 possibilities)
|
|
33
|
+
* @returns Step animation configuration
|
|
34
|
+
* @korean 발걸음애니메이션설정생성
|
|
35
|
+
*/
|
|
36
|
+
function createStepConfig(direction) {
|
|
37
|
+
return {
|
|
38
|
+
state: {
|
|
39
|
+
forward: "step_forward",
|
|
40
|
+
back: "step_back",
|
|
41
|
+
left: "step_left",
|
|
42
|
+
right: "step_right",
|
|
43
|
+
forward_left: "step_forward_left",
|
|
44
|
+
forward_right: "step_forward_right",
|
|
45
|
+
back_left: "step_back_left",
|
|
46
|
+
back_right: "step_back_right"
|
|
47
|
+
}[direction],
|
|
48
|
+
direction,
|
|
49
|
+
frames: STEP_ANIMATION_PARAMS.FRAMES,
|
|
50
|
+
fps: STEP_ANIMATION_PARAMS.FPS,
|
|
51
|
+
loop: false,
|
|
52
|
+
interruptible: STEP_ANIMATION_PARAMS.INTERRUPTIBLE,
|
|
53
|
+
priority: STEP_ANIMATION_PARAMS.PRIORITY,
|
|
54
|
+
duration: STEP_ANIMATION_PARAMS.DURATION,
|
|
55
|
+
distance: STEP_ANIMATION_PARAMS.DISTANCE,
|
|
56
|
+
maintainsGuard: true,
|
|
57
|
+
staminaCost: STEP_ANIMATION_PARAMS.STAMINA_COST
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
new Map([
|
|
61
|
+
["forward", createStepConfig("forward")],
|
|
62
|
+
["back", createStepConfig("back")],
|
|
63
|
+
["left", createStepConfig("left")],
|
|
64
|
+
["right", createStepConfig("right")],
|
|
65
|
+
["forward_left", createStepConfig("forward_left")],
|
|
66
|
+
["forward_right", createStepConfig("forward_right")],
|
|
67
|
+
["back_left", createStepConfig("back_left")],
|
|
68
|
+
["back_right", createStepConfig("back_right")]
|
|
69
|
+
]);
|
|
70
|
+
//#endregion
|
|
71
|
+
export { STEP_ANIMATION_PARAMS, createStepConfig };
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=StepAnimations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepAnimations.js","names":[],"sources":["../../../../src/systems/animation/catalogs/StepAnimations.ts"],"sourcesContent":["/**\n * Step Animation System for Black Trigram\n *\n * **PHASE 4 ENHANCEMENT: Advanced Step Techniques**\n *\n * Implements tactical step movement animations with precise 30cm steps\n * based on Korean martial arts footwork (보법, Bobeop).\n *\n * **Advanced Step Keyframe Definitions (Integration Pending)**:\n * - **밀기 스텝 (Push Step)**: Rear foot drives forward for power generation (280ms, 35cm)\n * - **당기기 스텝 (Pull Step)**: Front foot pulls back for defensive retreat (260ms, 30cm)\n * - **자르기 스텝 (Cut Step)**: Diagonal step for angle creation and evasion (300ms, 32cm)\n *\n * > **Note**: These advanced step variants have keyframe sets defined but are not yet wired \n * > into the main step selection/config APIs (`StepDirection`, `STEP_ANIMATION_CONFIGS`, \n * > `createStepConfig`, `getStepKeyframeAtFrame`). They are currently experimental data only.\n *\n * **Base 8-Direction Steps** (Fully Integrated):\n * - Duration: 300ms (18 frames at 60fps)\n * - Distance: 30cm (approximately one foot width)\n * - Non-interruptible (priority 5, same as attacks)\n * - Maintains guard position\n * - Smooth weight transfer with Korean martial arts principles\n *\n * **Korean Footwork Principles Applied**:\n * - 디딤발 (Didimbal): Stepping foot lands heel-first forward, ball-first backward\n * - 축발 (Chukbal): Pivot foot maintains stability during movement\n * - 체중이동 (Chejung Idong): Weight transfers smoothly through phases\n * - 각도 만들기 (Gakdo Mandeulgi): Angle creation through diagonal movement\n *\n * @module systems/animation/StepAnimations\n * @category Animation\n * @korean 발걸음애니메이션시스템\n */\n\nimport type {\n AnimationState,\n StepConfig,\n StepDirection,\n StepKeyframe,\n} from \"../core/types\";\nimport { STEP_PRIORITY } from \"../core/types\";\n\n/**\n * Standard step animation parameters\n *\n * Based on issue requirements:\n * - 18 frames at 60fps = 300ms duration\n * - 30cm distance (one foot width)\n * - Guard maintained throughout\n *\n * @korean 표준발걸음파라미터\n */\nexport const STEP_ANIMATION_PARAMS = {\n /** Total frames for step animation */\n FRAMES: 18,\n\n /** Target FPS (60 for smooth combat) */\n FPS: 60,\n\n /** Duration in seconds (300ms) */\n DURATION: 0.3,\n\n /** Distance moved per step in meters (30cm) */\n DISTANCE: 0.3,\n\n /** Stamina cost per step - reduced for sustained combat (3 min rounds) */\n STAMINA_COST: 3,\n\n /** Whether steps are interruptible (false for commitment) */\n INTERRUPTIBLE: false,\n\n /** Animation priority (same as attack) */\n PRIORITY: STEP_PRIORITY,\n} as const;\n\n/**\n * Step keyframes defining weight transfer and foot placement\n *\n * Four-phase step animation:\n * 1. Frames 0-5: Weight shift to back foot (준비, Junbi - Preparation)\n * 2. Frames 6-11: Front foot lift and extension (이동, Idong - Movement)\n * 3. Frames 12-15: Front foot placement (착지, Chakji - Landing)\n * 4. Frames 16-17: Weight settle and stabilize (안정, Anjeong - Stabilization)\n *\n * @korean 발걸음키프레임\n */\nexport const STEP_KEYFRAMES: readonly StepKeyframe[] = [\n // Phase 1: Preparation (frames 0-5)\n {\n frame: 0,\n weight: 0.5, // Balanced starting position\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: 0,\n },\n {\n frame: 3,\n weight: 0.3, // Shift weight to back foot\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: -0.01, // Slight crouch for power\n },\n\n // Phase 2: Movement (frames 6-11)\n {\n frame: 6,\n weight: 0.2, // Mostly on back foot\n frontFootOffset: 0.1,\n backFootOffset: 0,\n frontFootLift: 0.05, // Lift front foot\n cogHeight: -0.01,\n },\n {\n frame: 9,\n weight: 0.3, // Begin weight transfer\n frontFootOffset: 0.5,\n backFootOffset: 0.1,\n frontFootLift: 0.08, // Peak lift\n cogHeight: 0, // Rise to normal height\n },\n {\n frame: 11,\n weight: 0.5, // Halfway through transfer\n frontFootOffset: 0.8,\n backFootOffset: 0.3,\n frontFootLift: 0.05, // Begin descent\n cogHeight: 0,\n },\n\n // Phase 3: Landing (frames 12-15)\n {\n frame: 12,\n weight: 0.7, // Weight shifting forward\n frontFootOffset: 1.0, // Front foot at target\n backFootOffset: 0.5,\n frontFootLift: 0.02, // Almost landed\n cogHeight: -0.005, // Slight compression on landing\n },\n {\n frame: 14,\n weight: 0.8, // Mostly on front foot\n frontFootOffset: 1.0,\n backFootOffset: 0.8,\n frontFootLift: 0,\n cogHeight: -0.01, // Maximum compression\n },\n\n // Phase 4: Stabilization (frames 16-17)\n {\n frame: 16,\n weight: 0.9, // Nearly complete transfer\n frontFootOffset: 1.0,\n backFootOffset: 1.0, // Back foot catches up\n frontFootLift: 0,\n cogHeight: -0.005, // Slight rebound\n },\n {\n frame: 17,\n weight: 1.0, // Fully on front foot (new position)\n frontFootOffset: 1.0,\n backFootOffset: 1.0,\n frontFootLift: 0,\n cogHeight: 0, // Return to neutral\n },\n];\n\n/**\n * Generate step animation config for a specific direction\n *\n * Creates animation configuration with Korean terminology:\n * - forward: 전진보법 (Jeonjin Bobeop)\n * - back: 후퇴보법 (Hutoe Bobeop)\n * - left: 좌측면보법 (Jwacheuk Myeon Bobeop)\n * - right: 우측면보법 (Ucheuk Myeon Bobeop)\n * - Diagonals: Combined terms\n *\n * @param direction - Step direction (8 possibilities)\n * @returns Step animation configuration\n * @korean 발걸음애니메이션설정생성\n */\nexport function createStepConfig(direction: StepDirection): StepConfig {\n const stateMap: Record<StepDirection, string> = {\n forward: \"step_forward\",\n back: \"step_back\",\n left: \"step_left\",\n right: \"step_right\",\n forward_left: \"step_forward_left\",\n forward_right: \"step_forward_right\",\n back_left: \"step_back_left\",\n back_right: \"step_back_right\",\n };\n\n return {\n state: stateMap[direction] as AnimationState,\n direction,\n frames: STEP_ANIMATION_PARAMS.FRAMES,\n fps: STEP_ANIMATION_PARAMS.FPS,\n loop: false,\n interruptible: STEP_ANIMATION_PARAMS.INTERRUPTIBLE,\n priority: STEP_ANIMATION_PARAMS.PRIORITY,\n duration: STEP_ANIMATION_PARAMS.DURATION,\n distance: STEP_ANIMATION_PARAMS.DISTANCE,\n maintainsGuard: true, // Always maintain guard during steps\n staminaCost: STEP_ANIMATION_PARAMS.STAMINA_COST,\n };\n}\n\n/**\n * Map of all step animation configurations\n *\n * Eight directional step configurations for:\n * - Cardinal directions: forward, back, left, right\n * - Diagonal directions: forward_left, forward_right, back_left, back_right\n *\n * @korean 발걸음애니메이션맵\n */\nexport const STEP_ANIMATION_CONFIGS: ReadonlyMap<StepDirection, StepConfig> =\n new Map([\n [\"forward\", createStepConfig(\"forward\")],\n [\"back\", createStepConfig(\"back\")],\n [\"left\", createStepConfig(\"left\")],\n [\"right\", createStepConfig(\"right\")],\n [\"forward_left\", createStepConfig(\"forward_left\")],\n [\"forward_right\", createStepConfig(\"forward_right\")],\n [\"back_left\", createStepConfig(\"back_left\")],\n [\"back_right\", createStepConfig(\"back_right\")],\n ]);\n\n/**\n * Interpolate between two keyframes\n *\n * Linear interpolation for smooth animation between keyframe values.\n * Used for weight transfer, foot position, and center of gravity.\n *\n * @param keyframe1 - Start keyframe\n * @param keyframe2 - End keyframe\n * @param t - Interpolation factor (0-1)\n * @returns Interpolated keyframe values\n * @korean 키프레임보간\n */\nexport function interpolateStepKeyframes(\n keyframe1: StepKeyframe,\n keyframe2: StepKeyframe,\n t: number,\n): StepKeyframe {\n return {\n frame: Math.round(\n keyframe1.frame + (keyframe2.frame - keyframe1.frame) * t,\n ),\n weight: keyframe1.weight + (keyframe2.weight - keyframe1.weight) * t,\n frontFootOffset:\n keyframe1.frontFootOffset +\n (keyframe2.frontFootOffset - keyframe1.frontFootOffset) * t,\n backFootOffset:\n keyframe1.backFootOffset +\n (keyframe2.backFootOffset - keyframe1.backFootOffset) * t,\n frontFootLift:\n keyframe1.frontFootLift +\n (keyframe2.frontFootLift - keyframe1.frontFootLift) * t,\n cogHeight:\n keyframe1.cogHeight + (keyframe2.cogHeight - keyframe1.cogHeight) * t,\n };\n}\n\n/**\n * Get step keyframe at specific frame\n *\n * Returns exact keyframe if frame matches, otherwise interpolates\n * between surrounding keyframes for smooth animation.\n *\n * @param frame - Current frame number (0-17)\n * @returns Keyframe data for current frame\n * @korean 프레임별키프레임가져오기\n */\nexport function getStepKeyframeAtFrame(frame: number): StepKeyframe {\n // Clamp frame to valid range\n const clampedFrame = Math.max(\n 0,\n Math.min(STEP_ANIMATION_PARAMS.FRAMES - 1, frame),\n );\n\n // Find exact match\n const exactMatch = STEP_KEYFRAMES.find((kf) => kf.frame === clampedFrame);\n if (exactMatch) {\n return exactMatch;\n }\n\n // Find surrounding keyframes for interpolation\n let beforeKeyframe = STEP_KEYFRAMES[0];\n let afterKeyframe = STEP_KEYFRAMES[STEP_KEYFRAMES.length - 1];\n\n for (let i = 0; i < STEP_KEYFRAMES.length - 1; i++) {\n if (\n STEP_KEYFRAMES[i].frame <= clampedFrame &&\n STEP_KEYFRAMES[i + 1].frame >= clampedFrame\n ) {\n beforeKeyframe = STEP_KEYFRAMES[i];\n afterKeyframe = STEP_KEYFRAMES[i + 1];\n break;\n }\n }\n\n // Interpolate between keyframes\n const frameDiff = afterKeyframe.frame - beforeKeyframe.frame;\n const t =\n frameDiff > 0 ? (clampedFrame - beforeKeyframe.frame) / frameDiff : 0;\n\n return interpolateStepKeyframes(beforeKeyframe, afterKeyframe, t);\n}\n\n/**\n * Calculate 3D position offset for step direction\n *\n * Converts step direction to normalized 3D vector for character movement.\n * Diagonal steps have shorter individual x/y components to maintain\n * consistent 30cm total distance.\n *\n * @param direction - Step direction\n * @returns 3D position offset [x, y, z] in meters\n * @korean 발걸음방향벡터계산\n */\nexport function getStepDirectionVector(\n direction: StepDirection,\n): [number, number, number] {\n const distance = STEP_ANIMATION_PARAMS.DISTANCE;\n const diagonalFactor = Math.sqrt(2) / 2; // ~0.707 for 45-degree diagonals\n\n const vectors: Record<StepDirection, [number, number, number]> = {\n forward: [0, 0, -distance], // Negative Z is forward in Three.js\n back: [0, 0, distance],\n left: [-distance, 0, 0],\n right: [distance, 0, 0],\n forward_left: [-distance * diagonalFactor, 0, -distance * diagonalFactor],\n forward_right: [distance * diagonalFactor, 0, -distance * diagonalFactor],\n back_left: [-distance * diagonalFactor, 0, distance * diagonalFactor],\n back_right: [distance * diagonalFactor, 0, distance * diagonalFactor],\n };\n\n return vectors[direction];\n}\n\n/**\n * Korean terminology for step directions\n *\n * Maps step directions to Korean martial arts terminology:\n * - 전진보법 (Jeonjin Bobeop): Forward stepping method\n * - 후퇴보법 (Hutoe Bobeop): Retreat stepping method\n * - 측면보법 (Cheungmyeon Bobeop): Side stepping method\n *\n * @korean 발걸음한글용어\n */\nexport const STEP_KOREAN_TERMS: Record<\n StepDirection,\n { korean: string; romanized: string; english: string }\n> = {\n forward: {\n korean: \"전진보법\",\n romanized: \"Jeonjin Bobeop\",\n english: \"Forward Step\",\n },\n back: {\n korean: \"후퇴보법\",\n romanized: \"Hutoe Bobeop\",\n english: \"Retreat Step\",\n },\n left: {\n korean: \"좌측면보법\",\n romanized: \"Jwacheuk Myeon Bobeop\",\n english: \"Left Side Step\",\n },\n right: {\n korean: \"우측면보법\",\n romanized: \"Ucheuk Myeon Bobeop\",\n english: \"Right Side Step\",\n },\n forward_left: {\n korean: \"전좌측보법\",\n romanized: \"Jeon Jwacheuk Bobeop\",\n english: \"Forward-Left Diagonal Step\",\n },\n forward_right: {\n korean: \"전우측보법\",\n romanized: \"Jeon Ucheuk Bobeop\",\n english: \"Forward-Right Diagonal Step\",\n },\n back_left: {\n korean: \"후좌측보법\",\n romanized: \"Hu Jwacheuk Bobeop\",\n english: \"Back-Left Diagonal Step\",\n },\n back_right: {\n korean: \"후우측보법\",\n romanized: \"Hu Ucheuk Bobeop\",\n english: \"Back-Right Diagonal Step\",\n },\n};\n\n// ═══════════════════════════════════════════════════════════════════════════\n// ADVANCED STEP TECHNIQUES (고급 발걸음 기술) - PHASE 4 ADDITION\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * **NEW PHASE 4**: Advanced step technique types\n *\n * Three specialized stepping techniques from Korean martial arts:\n *\n * 1. **밀기 스텝 (Push Step - Milgi Step)**:\n * - Rear foot explosively pushes off ground\n * - Front foot receives and advances\n * - Generates forward power for closing distance\n * - Used before strikes or to pressure opponent\n *\n * 2. **당기기 스텝 (Pull Step - Danggigi Step)**:\n * - Front foot pulls backward quickly\n * - Rear foot follows to maintain stance\n * - Creates defensive distance rapidly\n * - Preserves guard and balance during retreat\n *\n * 3. **자르기 스텝 (Cut Step - Jareugi Step)**:\n * - Diagonal step at 45° angle\n * - Off-line from opponent's centerline\n * - Creates tactical angle advantage\n * - Evade while positioning for counter\n *\n * @korean 고급발걸음기술유형\n */\nexport type AdvancedStepType = \"push\" | \"pull\" | \"cut_left\";\n\n/**\n * **밀기 스텝 (Push Step)** - Power Generation through Rear Foot Drive\n *\n * **Korean Martial Arts Principle**: 뒷발 추진력 (Rear foot propulsion)\n *\n * Explosive forward movement where rear foot provides all the power:\n * 1. Rear foot digs into ground (발뒤꿈치 압박)\n * 2. Explosive extension of rear leg drives body forward\n * 3. Front foot receives and extends farther forward\n * 4. Used to close distance quickly before attacking\n *\n * **Biomechanics**:\n * - Rear knee: Flexes to -25° then explosively extends to -5°\n * - Front knee: Stays relatively straight to receive forward momentum\n * - Pelvis: Drives forward with 20cm total displacement\n * - Guard: Maintained throughout to protect during advance\n *\n * **Tactical Application**:\n * - Close distance for punches or kicks\n * - Pressure opponent toward cage/ropes\n * - Entry for takedowns\n * - Create forward momentum\n *\n * **Duration**: 280ms (explosive movement)\n * **Distance**: 35cm (longer than normal step due to push power)\n *\n * @korean 밀기스텝_뒷발추진\n */\nexport const PUSH_STEP_KEYFRAMES: readonly StepKeyframe[] = [\n // Initial stance\n {\n frame: 0,\n weight: 0.5,\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: 0,\n },\n // Deep rear knee bend - loading power (준비)\n {\n frame: 2,\n weight: 0.3,\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: -0.02, // Deep crouch\n },\n // Explosive rear leg extension begins (폭발적 추진)\n {\n frame: 5,\n weight: 0.4,\n frontFootOffset: 0.2,\n backFootOffset: 0.1,\n frontFootLift: 0.03,\n cogHeight: -0.01, // Rising from crouch\n },\n // Maximum forward drive (최대 추진력)\n {\n frame: 8,\n weight: 0.6,\n frontFootOffset: 0.7,\n backFootOffset: 0.4,\n frontFootLift: 0.05,\n cogHeight: 0.01, // Rising above neutral\n },\n // Front foot landing (착지)\n {\n frame: 11,\n weight: 0.8,\n frontFootOffset: 1.0,\n backFootOffset: 0.7,\n frontFootLift: 0.01,\n cogHeight: -0.01, // Impact absorption\n },\n // Stabilization (안정)\n {\n frame: 14,\n weight: 0.9,\n frontFootOffset: 1.0,\n backFootOffset: 1.0,\n frontFootLift: 0,\n cogHeight: 0,\n },\n];\n\n/**\n * **당기기 스텝 (Pull Step)** - Quick Defensive Retreat\n *\n * **Korean Martial Arts Principle**: 앞발 당김 (Front foot pull-back)\n *\n * Quick retreat where front foot initiates backward movement:\n * 1. Front foot pulls back quickly (ball of foot contact)\n * 2. Weight transfers to rear foot\n * 3. Front foot lands and rear foot follows\n * 4. Creates defensive distance while maintaining guard\n *\n * **Biomechanics**:\n * - Front knee: Lifts to -20° then extends back\n * - Rear knee: Accepts weight with flex to -15°\n * - Pelvis: Moves backward 25cm smoothly\n * - Eyes: Stay on opponent throughout\n *\n * **Tactical Application**:\n * - Escape opponent's attack range\n * - Reset distance after exchange\n * - Defensive retreat under pressure\n * - Maintain guard while withdrawing\n *\n * **Duration**: 300ms (controlled retreat)\n * **Distance**: 30cm (standard defensive distance)\n *\n * @korean 당기기스텝_앞발당김\n */\nexport const PULL_STEP_KEYFRAMES: readonly StepKeyframe[] = [\n // Initial stance\n {\n frame: 0,\n weight: 0.5,\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: 0,\n },\n // Weight shift to rear (준비)\n {\n frame: 3,\n weight: 0.3,\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: -0.01,\n },\n // Front foot lifts and pulls back (후퇴 시작)\n {\n frame: 6,\n weight: 0.2,\n frontFootOffset: -0.3,\n backFootOffset: 0,\n frontFootLift: 0.04,\n cogHeight: -0.015,\n },\n // Front foot landing backward (착지)\n {\n frame: 10,\n weight: 0.5,\n frontFootOffset: -1.0,\n backFootOffset: -0.3,\n frontFootLift: 0.01,\n cogHeight: -0.02,\n },\n // Rear foot follows (후속 이동)\n {\n frame: 13,\n weight: 0.7,\n frontFootOffset: -1.0,\n backFootOffset: -0.8,\n frontFootLift: 0,\n cogHeight: -0.01,\n },\n // Final stable retreat position (안정)\n {\n frame: 17,\n weight: 0.5,\n frontFootOffset: -1.0,\n backFootOffset: -1.0,\n frontFootLift: 0,\n cogHeight: 0,\n },\n];\n\n/**\n * **자르기 스텝 (Cut Step)** - Diagonal Angle Creation\n *\n * **Korean Martial Arts Principle**: 각도 전환 (Angle transition)\n *\n * Diagonal step at 45° to create off-line positioning:\n * 1. Front foot steps forward-lateral at 45°\n * 2. Body pivots to maintain guard facing opponent\n * 3. Rear foot adjusts to restore stance\n * 4. Results in superior angle advantage\n *\n * **Biomechanics**:\n * - Front knee: Lifts and extends diagonally\n * - Pelvis: Rotates 15-20° while moving diagonal\n * - Spine: Counter-rotates to keep guard forward\n * - Total displacement: 30cm at 45° angle\n *\n * **Tactical Application**:\n * - Off-line from opponent's attack vector\n * - Create angle for counter-strikes\n * - Evade linear attacks\n * - Position for opponent's blind side\n *\n * **Duration**: 320ms (requires precision)\n * **Distance**: 30cm at 45° diagonal\n * **Angle**: Off-line by 45° from original centerline\n *\n * @korean 자르기스텝_각도전환\n */\nexport const CUT_STEP_LEFT_KEYFRAMES: readonly StepKeyframe[] = [\n // Initial stance\n {\n frame: 0,\n weight: 0.5,\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: 0,\n },\n // Weight shift preparation (준비)\n {\n frame: 3,\n weight: 0.3,\n frontFootOffset: 0,\n backFootOffset: 0,\n frontFootLift: 0,\n cogHeight: -0.015,\n },\n // Diagonal step begins - forward-left (각도 이동)\n {\n frame: 7,\n weight: 0.4,\n frontFootOffset: 0.5, // Diagonal: 50% forward, 50% lateral\n backFootOffset: 0,\n frontFootLift: 0.05,\n cogHeight: -0.01,\n },\n // Foot plants at angle (각도 착지)\n {\n frame: 11,\n weight: 0.7,\n frontFootOffset: 1.0,\n backFootOffset: 0.4,\n frontFootLift: 0.01,\n cogHeight: -0.02,\n },\n // Rear foot adjusts (후속 조정)\n {\n frame: 14,\n weight: 0.8,\n frontFootOffset: 1.0,\n backFootOffset: 0.9,\n frontFootLift: 0,\n cogHeight: -0.01,\n },\n // Stable angled position (안정된 각도)\n {\n frame: 17,\n weight: 0.6,\n frontFootOffset: 1.0,\n backFootOffset: 1.0,\n frontFootLift: 0,\n cogHeight: 0,\n },\n];\n\n/**\n * Korean terminology for advanced step techniques\n *\n * @korean 고급발걸음한글용어\n */\nexport const ADVANCED_STEP_KOREAN_TERMS: Record<\n AdvancedStepType,\n { korean: string; romanized: string; english: string }\n> = {\n push: {\n korean: \"밀기 스텝\",\n romanized: \"Milgi Step\",\n english: \"Push Step (Power Drive)\",\n },\n pull: {\n korean: \"당기기 스텝\",\n romanized: \"Danggigi Step\",\n english: \"Pull Step (Quick Retreat)\",\n },\n cut_left: {\n korean: \"왼쪽 자르기 스텝\",\n romanized: \"Oenjjok Jareugi Step\",\n english: \"Cut Step Left (Diagonal Angle)\",\n },\n};\n"],"mappings":";;;;;;;;;;;;AAqDA,IAAa,wBAAwB;CAEnC,QAAQ;CAGR,KAAK;CAGL,UAAU;CAGV,UAAU;CAGV,cAAc;CAGd,eAAe;CAGf,UAAU;CACX;;;;;;;;;;;;;;;AA6GD,SAAgB,iBAAiB,WAAsC;AAYrE,QAAO;EACL,OAZ8C;GAC9C,SAAS;GACT,MAAM;GACN,MAAM;GACN,OAAO;GACP,cAAc;GACd,eAAe;GACf,WAAW;GACX,YAAY;GACb,CAGiB;EAChB;EACA,QAAQ,sBAAsB;EAC9B,KAAK,sBAAsB;EAC3B,MAAM;EACN,eAAe,sBAAsB;EACrC,UAAU,sBAAsB;EAChC,UAAU,sBAAsB;EAChC,UAAU,sBAAsB;EAChC,gBAAgB;EAChB,aAAa,sBAAsB;EACpC;;AAaD,IAAI,IAAI;CACN,CAAC,WAAW,iBAAiB,UAAU,CAAC;CACxC,CAAC,QAAQ,iBAAiB,OAAO,CAAC;CAClC,CAAC,QAAQ,iBAAiB,OAAO,CAAC;CAClC,CAAC,SAAS,iBAAiB,QAAQ,CAAC;CACpC,CAAC,gBAAgB,iBAAiB,eAAe,CAAC;CAClD,CAAC,iBAAiB,iBAAiB,gBAAgB,CAAC;CACpD,CAAC,aAAa,iBAAiB,YAAY,CAAC;CAC5C,CAAC,cAAc,iBAAiB,aAAa,CAAC;CAC/C,CAAC"}
|