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":"AnimationTransitions.js","names":[],"sources":["../../../../src/systems/animation/core/AnimationTransitions.ts"],"sourcesContent":["/**\n * Animation transition rules for Black Trigram\n *\n * Defines valid transitions between animation states.\n * Based on game-design.md specifications and combat flow.\n *\n * Transition rules:\n * - idle ↔ walk ↔ run (movement states)\n * - stance_guard_{stance} ↔ other states (stance-specific guards)\n * - attack → idle (after completion)\n * - defend → idle (after completion)\n * - hit → idle (after completion)\n * - stance_change → idle (after completion)\n * - ko is terminal (no transitions out)\n * - hit can interrupt any non-ko state (high priority)\n *\n * @module systems/animation/AnimationTransitions\n * @category Animation\n * @korean 애니메이션전환\n */\n\nimport { KoreanText } from \"@/types\";\nimport { TrigramStance } from \"@/types/common\";\nimport {\n AnimationState,\n FALL_TO_GROUND_MAP,\n FallType,\n TransitionRule,\n} from \"./types\";\n\n/**\n * Stance guard animation states (팔괘 방어 자세)\n * @korean 자세방어상태들\n */\nconst STANCE_GUARD_STATES: readonly AnimationState[] = [\n AnimationState.STANCE_GUARD_GEON,\n AnimationState.STANCE_GUARD_TAE,\n AnimationState.STANCE_GUARD_LI,\n AnimationState.STANCE_GUARD_JIN,\n AnimationState.STANCE_GUARD_SON,\n AnimationState.STANCE_GUARD_GAM,\n AnimationState.STANCE_GUARD_GAN,\n AnimationState.STANCE_GUARD_GON,\n] as const;\n\n/**\n * Type of stance transition based on stance adjacency\n *\n * **Korean**: 자세 전환 유형\n *\n * - **direct**: Adjacent stances (e.g., geon→tae) - smooth, fast transition\n * - **indirect**: Opposite stances (e.g., geon→gon) - requires intermediate neutral position\n * - **self**: Same stance (no transition needed)\n *\n * @public\n * @category Animation\n * @korean 자세전환유형\n */\nexport type StanceTransitionType = \"direct\" | \"indirect\" | \"self\";\n\n/**\n * Keyframe for stance transition animation with blend weight\n *\n * **Korean**: 자세 전환 키프레임\n *\n * Defines a single keyframe in a stance transition animation, specifying\n * which stance pose to blend and how much weight to apply.\n *\n * @public\n * @category Animation\n * @korean 자세전환키프레임\n */\nexport interface StanceTransitionKeyframe {\n /** Frame number (0-36 for 600ms at 60fps) */\n readonly frame: number;\n /** Stance pose to blend towards */\n readonly stance: TrigramStance | \"neutral\";\n /** Blend weight (0.0 to 1.0) */\n readonly blend: number;\n}\n\n/**\n * Complete stance transition animation configuration\n *\n * **Korean**: 자세 전환 애니메이션\n *\n * Defines a complete transition animation between two trigram stances,\n * including keyframes, timing, and transition type.\n *\n * @public\n * @category Animation\n * @korean 자세전환애니메이션\n */\nexport interface StanceTransition {\n /** Source stance */\n readonly from: TrigramStance;\n /** Target stance */\n readonly to: TrigramStance;\n /** Transition type based on adjacency */\n readonly type: StanceTransitionType;\n /** Duration in milliseconds (600ms standard) */\n readonly duration: number;\n /** Animation keyframes */\n readonly keyframes: readonly StanceTransitionKeyframe[];\n /** Bilingual description */\n readonly description: KoreanText;\n}\n\n/**\n * Order of trigram stances in the stance wheel (circular arrangement)\n *\n * **Korean**: 팔괘 순서\n *\n * The 8 trigrams arranged in traditional order around the Bagua octagon.\n * Adjacent stances in this array are considered \"adjacent\" for transition purposes.\n *\n * @korean 팔괘순서\n */\nexport const TRIGRAM_STANCES_ORDER: readonly TrigramStance[] = [\n TrigramStance.GEON, // ☰ Heaven\n TrigramStance.TAE, // ☱ Lake\n TrigramStance.LI, // ☲ Fire\n TrigramStance.JIN, // ☳ Thunder\n TrigramStance.SON, // ☴ Wind\n TrigramStance.GAM, // ☵ Water\n TrigramStance.GAN, // ☶ Mountain\n TrigramStance.GON, // ☷ Earth\n] as const;\n\n/**\n * Fall animation states (낙법 상태)\n * @korean 낙법상태들\n */\nconst FALL_STATES: readonly AnimationState[] = [\n AnimationState.FALL_FORWARD,\n AnimationState.FALL_BACKWARD,\n AnimationState.FALL_SIDE_LEFT,\n AnimationState.FALL_SIDE_RIGHT,\n] as const;\n\n/**\n * Ground position states (지면 자세)\n * @korean 지면자세들\n */\nconst GROUND_STATES: readonly AnimationState[] = [\n AnimationState.GROUND_PRONE,\n AnimationState.GROUND_SUPINE,\n AnimationState.GROUND_SIDE_LEFT,\n AnimationState.GROUND_SIDE_RIGHT,\n] as const;\n\n/**\n * Recovery animation states (기상 애니메이션)\n * @korean 회복애니메이션들\n */\nconst RECOVERY_STATES: readonly AnimationState[] = [\n AnimationState.RECOVERY_PRONE_STANDUP,\n AnimationState.RECOVERY_SUPINE_STANDUP,\n AnimationState.RECOVERY_ROLL,\n AnimationState.RECOVERY_DEFENSIVE,\n] as const;\n\n/**\n * Generate transition rules for fall animations\n *\n * Fall animations have highest priority and can interrupt any state.\n * Falls automatically transition to ground states upon completion.\n * Ground states can transition to recovery animations.\n * Recovery animations transition to idle upon completion.\n *\n * @korean 낙법전환규칙생성\n */\nfunction generateFallTransitions(): TransitionRule[] {\n const transitions: TransitionRule[] = [];\n\n // All states (except falls and ko) can transition to fall states\n const nonFallStates: AnimationState[] = [\n AnimationState.IDLE,\n AnimationState.WALK,\n AnimationState.RUN,\n AnimationState.ATTACK,\n AnimationState.DEFEND,\n AnimationState.HIT,\n AnimationState.STANCE_CHANGE,\n AnimationState.STANCE_SIDE_SWITCH,\n ...STANCE_GUARD_STATES,\n ];\n\n for (const fromState of nonFallStates) {\n for (const fallState of FALL_STATES) {\n transitions.push({\n from: fromState,\n to: fallState,\n allowed: true,\n });\n }\n }\n\n // Fall states automatically transition to ground states (handled in state machine)\n for (const fallState of FALL_STATES) {\n // Falls can only go to their corresponding ground state\n // Use FALL_TO_GROUND_MAP for type-safe mapping\n const fallType = fallState.replace(\"fall_\", \"\");\n\n // Validate that fallType is a valid FallType before using in map\n if (\n fallType === \"forward\" ||\n fallType === \"backward\" ||\n fallType === \"side_left\" ||\n fallType === \"side_right\"\n ) {\n const groundState = FALL_TO_GROUND_MAP[fallType as FallType];\n const groundAnimState = `ground_${groundState}` as AnimationState;\n transitions.push({\n from: fallState,\n to: groundAnimState,\n allowed: true,\n });\n }\n }\n\n // Ground states can transition to recovery animations\n for (const groundState of GROUND_STATES) {\n // Allow transitions to all recovery types from any ground state\n for (const recoveryState of RECOVERY_STATES) {\n transitions.push({\n from: groundState,\n to: recoveryState,\n allowed: true,\n });\n }\n\n // Ground states can still be interrupted by hit or ko\n transitions.push(\n { from: groundState, to: AnimationState.HIT, allowed: true },\n { from: groundState, to: AnimationState.KO, allowed: true },\n );\n\n // Falls can interrupt ground states (getting hit while down)\n for (const fallState of FALL_STATES) {\n transitions.push({\n from: groundState,\n to: fallState,\n allowed: true,\n });\n }\n }\n\n // Recovery animations can be interrupted by high-priority states\n // (falls, hit, ko) but transition to idle when complete\n for (const recoveryState of RECOVERY_STATES) {\n // Falls can interrupt recovery (getting hit during recovery)\n for (const fallState of FALL_STATES) {\n transitions.push({\n from: recoveryState,\n to: fallState,\n allowed: true,\n });\n }\n\n // Hit and KO can interrupt recovery\n transitions.push(\n { from: recoveryState, to: AnimationState.HIT, allowed: true },\n { from: recoveryState, to: AnimationState.KO, allowed: true },\n );\n\n // Recovery animations automatically transition to idle (handled in state machine)\n transitions.push({\n from: recoveryState,\n to: AnimationState.IDLE,\n allowed: true,\n });\n }\n\n return transitions;\n}\n\n/**\n * Generate transition rules for stance guards\n *\n * Each stance guard can transition to:\n * - walk, run (movement)\n * - attack, defend (combat actions)\n * - step_{direction} (tactical steps while maintaining guard)\n * - stance_change (changing stance)\n * - hit, ko (being hit)\n * - other stance guards (direct stance change with guard)\n *\n * @korean 자세방어전환규칙생성\n */\nfunction generateStanceGuardTransitions(): TransitionRule[] {\n const transitions: TransitionRule[] = [];\n\n // Step directions for guard transitions\n const stepDirections: AnimationState[] = [\n AnimationState.STEP_FORWARD,\n AnimationState.STEP_BACK,\n AnimationState.STEP_LEFT,\n AnimationState.STEP_RIGHT,\n AnimationState.STEP_FORWARD_LEFT,\n AnimationState.STEP_FORWARD_RIGHT,\n AnimationState.STEP_BACK_LEFT,\n AnimationState.STEP_BACK_RIGHT,\n ];\n\n for (const guardState of STANCE_GUARD_STATES) {\n // Guard can transition to movement\n transitions.push(\n { from: guardState, to: AnimationState.IDLE, allowed: true },\n { from: guardState, to: AnimationState.WALK, allowed: true },\n { from: guardState, to: AnimationState.RUN, allowed: true },\n );\n\n // Guard can transition to combat actions\n transitions.push(\n { from: guardState, to: AnimationState.ATTACK, allowed: true },\n { from: guardState, to: AnimationState.DEFEND, allowed: true },\n { from: guardState, to: AnimationState.STANCE_CHANGE, allowed: true },\n );\n\n // Guard can transition to tactical steps (guard maintained during step)\n for (const stepDirection of stepDirections) {\n transitions.push({ from: guardState, to: stepDirection, allowed: true });\n }\n\n // Guard can be interrupted by hits\n transitions.push(\n { from: guardState, to: AnimationState.HIT, allowed: true },\n { from: guardState, to: AnimationState.KO, allowed: true },\n );\n\n // Guards can transition between each other (direct stance change)\n for (const otherGuard of STANCE_GUARD_STATES) {\n if (guardState !== otherGuard) {\n transitions.push({ from: guardState, to: otherGuard, allowed: true });\n }\n }\n\n // Other states can transition to guards\n transitions.push(\n { from: AnimationState.IDLE, to: guardState, allowed: true },\n { from: AnimationState.WALK, to: guardState, allowed: true },\n { from: AnimationState.RUN, to: guardState, allowed: true },\n { from: AnimationState.DEFEND, to: guardState, allowed: true },\n );\n\n // Steps can return to guard (guard maintained throughout step)\n for (const stepDirection of stepDirections) {\n transitions.push({ from: stepDirection, to: guardState, allowed: true });\n }\n }\n\n return transitions;\n}\n\n/**\n * Default transition rules for animation states\n *\n * @korean 기본전환규칙\n */\nexport const DEFAULT_TRANSITIONS: readonly TransitionRule[] = [\n // Idle transitions\n { from: AnimationState.IDLE, to: AnimationState.WALK, allowed: true },\n { from: AnimationState.IDLE, to: AnimationState.RUN, allowed: true },\n { from: AnimationState.IDLE, to: AnimationState.ATTACK, allowed: true },\n { from: AnimationState.IDLE, to: AnimationState.DEFEND, allowed: true },\n {\n from: AnimationState.IDLE,\n to: AnimationState.STANCE_CHANGE,\n allowed: true,\n },\n { from: AnimationState.IDLE, to: AnimationState.HIT, allowed: true },\n { from: AnimationState.IDLE, to: AnimationState.KO, allowed: true },\n\n // Walk transitions\n { from: AnimationState.WALK, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.RUN, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.ATTACK, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.DEFEND, allowed: true },\n {\n from: AnimationState.WALK,\n to: AnimationState.STANCE_CHANGE,\n allowed: true,\n },\n { from: AnimationState.WALK, to: AnimationState.HIT, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.KO, allowed: true },\n\n // Run transitions\n { from: AnimationState.RUN, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.RUN, to: AnimationState.WALK, allowed: true },\n { from: AnimationState.RUN, to: AnimationState.ATTACK, allowed: true },\n { from: AnimationState.RUN, to: AnimationState.DEFEND, allowed: true },\n { from: AnimationState.RUN, to: AnimationState.STANCE_CHANGE, allowed: true },\n { from: AnimationState.RUN, to: AnimationState.HIT, allowed: true },\n { from: AnimationState.RUN, to: AnimationState.KO, allowed: true },\n\n // Attack transitions (typically returns to idle after completion)\n { from: AnimationState.ATTACK, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.ATTACK, to: AnimationState.HIT, allowed: true }, // Can be interrupted by hit\n { from: AnimationState.ATTACK, to: AnimationState.KO, allowed: true },\n\n // Defend transitions (typically returns to idle after completion)\n { from: AnimationState.DEFEND, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.DEFEND, to: AnimationState.WALK, allowed: true },\n { from: AnimationState.DEFEND, to: AnimationState.HIT, allowed: true }, // Can be interrupted by hit\n { from: AnimationState.DEFEND, to: AnimationState.KO, allowed: true },\n\n // Hit transitions (returns to idle after completion)\n { from: AnimationState.HIT, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.HIT, to: AnimationState.HIT, allowed: true }, // Can take multiple hits\n { from: AnimationState.HIT, to: AnimationState.KO, allowed: true },\n\n // Stance change transitions (returns to idle after completion)\n {\n from: AnimationState.STANCE_CHANGE,\n to: AnimationState.IDLE,\n allowed: true,\n },\n { from: AnimationState.STANCE_CHANGE, to: AnimationState.HIT, allowed: true }, // Can be interrupted by hit\n { from: AnimationState.STANCE_CHANGE, to: AnimationState.KO, allowed: true },\n\n // Tactical step transitions (non-interruptible, returns to idle/guard after completion)\n // Steps can be initiated from idle, walk, or guard states\n // 전진보법 (Forward Step)\n { from: AnimationState.IDLE, to: AnimationState.STEP_FORWARD, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.STEP_FORWARD, allowed: true },\n { from: AnimationState.STEP_FORWARD, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.STEP_FORWARD, to: AnimationState.HIT, allowed: true }, // Can be hit during step\n { from: AnimationState.STEP_FORWARD, to: AnimationState.KO, allowed: true },\n\n // 후퇴보법 (Retreat Step)\n { from: AnimationState.IDLE, to: AnimationState.STEP_BACK, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.STEP_BACK, allowed: true },\n { from: AnimationState.STEP_BACK, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.STEP_BACK, to: AnimationState.HIT, allowed: true },\n { from: AnimationState.STEP_BACK, to: AnimationState.KO, allowed: true },\n\n // 좌측면보법 (Left Side Step)\n { from: AnimationState.IDLE, to: AnimationState.STEP_LEFT, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.STEP_LEFT, allowed: true },\n { from: AnimationState.STEP_LEFT, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.STEP_LEFT, to: AnimationState.HIT, allowed: true },\n { from: AnimationState.STEP_LEFT, to: AnimationState.KO, allowed: true },\n\n // 우측면보법 (Right Side Step)\n { from: AnimationState.IDLE, to: AnimationState.STEP_RIGHT, allowed: true },\n { from: AnimationState.WALK, to: AnimationState.STEP_RIGHT, allowed: true },\n { from: AnimationState.STEP_RIGHT, to: AnimationState.IDLE, allowed: true },\n { from: AnimationState.STEP_RIGHT, to: AnimationState.HIT, allowed: true },\n { from: AnimationState.STEP_RIGHT, to: AnimationState.KO, allowed: true },\n\n // 전좌측보법 (Forward-Left Diagonal Step)\n {\n from: AnimationState.IDLE,\n to: AnimationState.STEP_FORWARD_LEFT,\n allowed: true,\n },\n {\n from: AnimationState.WALK,\n to: AnimationState.STEP_FORWARD_LEFT,\n allowed: true,\n },\n {\n from: AnimationState.STEP_FORWARD_LEFT,\n to: AnimationState.IDLE,\n allowed: true,\n },\n {\n from: AnimationState.STEP_FORWARD_LEFT,\n to: AnimationState.HIT,\n allowed: true,\n },\n {\n from: AnimationState.STEP_FORWARD_LEFT,\n to: AnimationState.KO,\n allowed: true,\n },\n\n // 전우측보법 (Forward-Right Diagonal Step)\n {\n from: AnimationState.IDLE,\n to: AnimationState.STEP_FORWARD_RIGHT,\n allowed: true,\n },\n {\n from: AnimationState.WALK,\n to: AnimationState.STEP_FORWARD_RIGHT,\n allowed: true,\n },\n {\n from: AnimationState.STEP_FORWARD_RIGHT,\n to: AnimationState.IDLE,\n allowed: true,\n },\n {\n from: AnimationState.STEP_FORWARD_RIGHT,\n to: AnimationState.HIT,\n allowed: true,\n },\n {\n from: AnimationState.STEP_FORWARD_RIGHT,\n to: AnimationState.KO,\n allowed: true,\n },\n\n // 후좌측보법 (Back-Left Diagonal Step)\n {\n from: AnimationState.IDLE,\n to: AnimationState.STEP_BACK_LEFT,\n allowed: true,\n },\n {\n from: AnimationState.WALK,\n to: AnimationState.STEP_BACK_LEFT,\n allowed: true,\n },\n {\n from: AnimationState.STEP_BACK_LEFT,\n to: AnimationState.IDLE,\n allowed: true,\n },\n {\n from: AnimationState.STEP_BACK_LEFT,\n to: AnimationState.HIT,\n allowed: true,\n },\n { from: AnimationState.STEP_BACK_LEFT, to: AnimationState.KO, allowed: true },\n\n // 후우측보법 (Back-Right Diagonal Step)\n {\n from: AnimationState.IDLE,\n to: AnimationState.STEP_BACK_RIGHT,\n allowed: true,\n },\n {\n from: AnimationState.WALK,\n to: AnimationState.STEP_BACK_RIGHT,\n allowed: true,\n },\n {\n from: AnimationState.STEP_BACK_RIGHT,\n to: AnimationState.IDLE,\n allowed: true,\n },\n {\n from: AnimationState.STEP_BACK_RIGHT,\n to: AnimationState.HIT,\n allowed: true,\n },\n {\n from: AnimationState.STEP_BACK_RIGHT,\n to: AnimationState.KO,\n allowed: true,\n },\n\n // KO is terminal - no transitions out\n // (Player must be revived/reset to leave KO state)\n\n // Fall transitions (generated dynamically)\n ...generateFallTransitions(),\n\n // Stance guard transitions (generated dynamically)\n ...generateStanceGuardTransitions(),\n] as const;\n\n/**\n * Check if a transition from one animation state to another is allowed\n *\n * @param from - Source animation state\n * @param to - Target animation state\n * @param transitions - Optional custom transition rules (defaults to DEFAULT_TRANSITIONS)\n * @returns Whether the transition is allowed\n *\n * @example\n * ```typescript\n * // Valid transitions\n * isTransitionAllowed(\"idle\", \"walk\"); // true\n * isTransitionAllowed(\"attack\", \"idle\"); // true\n * isTransitionAllowed(\"hit\", \"idle\"); // true\n *\n * // Invalid transitions\n * isTransitionAllowed(\"ko\", \"idle\"); // false (KO is terminal)\n * isTransitionAllowed(\"attack\", \"walk\"); // false (must return to idle first)\n * ```\n *\n * @korean 전환허용여부확인\n */\nexport function isTransitionAllowed(\n from: AnimationState,\n to: AnimationState,\n transitions: readonly TransitionRule[] = DEFAULT_TRANSITIONS,\n): boolean {\n // Same state is always allowed\n if (from === to) {\n return true;\n }\n\n // Find matching transition rule\n const rule = transitions.find((t) => t.from === from && t.to === to);\n\n if (!rule) {\n return false;\n }\n\n // Check condition if provided\n if (rule.condition) {\n return rule.condition();\n }\n\n return rule.allowed;\n}\n\n/**\n * Get all valid transitions from a given animation state\n *\n * @param from - Source animation state\n * @param transitions - Optional custom transition rules (defaults to DEFAULT_TRANSITIONS)\n * @returns Array of allowed target animation states\n *\n * @example\n * ```typescript\n * getValidTransitions(\"idle\");\n * // Returns: [\"walk\", \"run\", \"attack\", \"defend\", \"stance_change\", \"hit\", \"ko\"]\n *\n * getValidTransitions(\"ko\");\n * // Returns: [] (KO is terminal)\n * ```\n *\n * @korean 유효전환목록가져오기\n */\nexport function getValidTransitions(\n from: AnimationState,\n transitions: readonly TransitionRule[] = DEFAULT_TRANSITIONS,\n): AnimationState[] {\n return transitions\n .filter((t) => t.from === from && t.allowed)\n .map((t) => t.to)\n .filter((to) => isTransitionAllowed(from, to, transitions));\n}\n\n/**\n * Build a transition map for fast lookups\n *\n * @param transitions - Transition rules to build map from\n * @returns Map of from->to->allowed\n *\n * @korean 전환맵생성\n */\nexport function buildTransitionMap(\n transitions: readonly TransitionRule[] = DEFAULT_TRANSITIONS,\n): Map<AnimationState, Set<AnimationState>> {\n const map = new Map<AnimationState, Set<AnimationState>>();\n\n for (const rule of transitions) {\n if (!rule.allowed) continue;\n\n if (!map.has(rule.from)) {\n map.set(rule.from, new Set());\n }\n\n map.get(rule.from)?.add(rule.to);\n }\n\n return map;\n}\n\n/**\n * Calculate stance adjacency (distance around the stance wheel)\n *\n * **Korean**: 자세 인접도 계산\n *\n * Determines how many steps apart two stances are on the octagonal stance wheel.\n * Returns 0 for same stance, 1-3 for adjacent stances, 4 for opposite stances.\n *\n * @param from - Source stance\n * @param to - Target stance\n * @returns Number of steps apart (0-4)\n *\n * @example\n * ```typescript\n * calculateStanceDistance(TrigramStance.GEON, TrigramStance.TAE); // 1 (adjacent)\n * calculateStanceDistance(TrigramStance.GEON, TrigramStance.SON); // 4 (opposite)\n * calculateStanceDistance(TrigramStance.GEON, TrigramStance.GEON); // 0 (same)\n * ```\n *\n * @korean 자세거리계산\n */\nexport function calculateStanceDistance(\n from: TrigramStance,\n to: TrigramStance,\n): number {\n if (from === to) return 0;\n\n const fromIndex = TRIGRAM_STANCES_ORDER.indexOf(from);\n const toIndex = TRIGRAM_STANCES_ORDER.indexOf(to);\n\n if (fromIndex === -1 || toIndex === -1) {\n console.warn(`Invalid stance in distance calculation: ${from} -> ${to}`);\n return 4; // Treat as opposite stance\n }\n\n // Calculate shortest distance around the circular wheel\n const directDistance = Math.abs(toIndex - fromIndex);\n const wrapDistance = TRIGRAM_STANCES_ORDER.length - directDistance;\n\n return Math.min(directDistance, wrapDistance);\n}\n\n/**\n * Determine transition type based on stance distance\n *\n * **Korean**: 전환 유형 결정\n *\n * Classifies transition as direct (adjacent), indirect (opposite), or self.\n *\n * @param from - Source stance\n * @param to - Target stance\n * @returns Transition type\n *\n * @korean 전환유형결정\n */\nexport function determineTransitionType(\n from: TrigramStance,\n to: TrigramStance,\n): StanceTransitionType {\n const distance = calculateStanceDistance(from, to);\n\n if (distance === 0) return \"self\";\n if (distance <= 2) return \"direct\"; // Adjacent or near-adjacent\n return \"indirect\"; // Opposite or far apart\n}\n\n/**\n * Generate keyframes for direct stance transition (adjacent stances)\n *\n * **Korean**: 직접 전환 키프레임 생성\n *\n * Creates smooth keyframes for transitions between adjacent stances.\n * Phase breakdown:\n * - Frames 0-12: Weight shift away from source stance\n * - Frames 12-24: Foot repositioning\n * - Frames 24-36: Guard change to target stance\n *\n * @param from - Source stance\n * @param to - Target stance\n * @returns Array of keyframes\n *\n * @korean 직접전환키프레임생성\n */\nfunction generateDirectTransitionKeyframes(\n from: TrigramStance,\n to: TrigramStance,\n): readonly StanceTransitionKeyframe[] {\n return [\n // Phase 1: Initial weight shift (frames 0-12)\n { frame: 0, stance: from, blend: 1.0 },\n { frame: 6, stance: from, blend: 0.8 },\n { frame: 12, stance: \"neutral\", blend: 0.5 },\n\n // Phase 2: Foot repositioning (frames 12-24)\n { frame: 18, stance: \"neutral\", blend: 0.4 },\n { frame: 24, stance: to, blend: 0.3 },\n\n // Phase 3: Guard position change (frames 24-36)\n { frame: 30, stance: to, blend: 0.7 },\n { frame: 36, stance: to, blend: 1.0 },\n ];\n}\n\n/**\n * Generate keyframes for indirect stance transition (opposite stances)\n *\n * **Korean**: 간접 전환 키프레임 생성\n *\n * Creates keyframes for transitions between opposite stances via neutral position.\n * Longer neutral phase for more complex repositioning.\n *\n * @param from - Source stance\n * @param to - Target stance\n * @returns Array of keyframes\n *\n * @korean 간접전환키프레임생성\n */\nfunction generateIndirectTransitionKeyframes(\n from: TrigramStance,\n to: TrigramStance,\n): readonly StanceTransitionKeyframe[] {\n return [\n // Phase 1: Exit source stance (frames 0-12)\n { frame: 0, stance: from, blend: 1.0 },\n { frame: 6, stance: from, blend: 0.7 },\n { frame: 12, stance: \"neutral\", blend: 0.5 },\n\n // Phase 2: Extended neutral position (frames 12-24)\n { frame: 18, stance: \"neutral\", blend: 0.5 },\n { frame: 24, stance: \"neutral\", blend: 0.4 },\n\n // Phase 3: Enter target stance (frames 24-36)\n { frame: 30, stance: to, blend: 0.6 },\n { frame: 36, stance: to, blend: 1.0 },\n ];\n}\n\n/**\n * Create a stance transition configuration\n *\n * **Korean**: 자세 전환 생성\n *\n * Generates complete transition configuration between two stances.\n *\n * @param from - Source stance\n * @param to - Target stance\n * @returns Complete stance transition configuration\n *\n * @korean 자세전환생성\n */\nexport function createStanceTransition(\n from: TrigramStance,\n to: TrigramStance,\n): StanceTransition {\n const type = determineTransitionType(from, to);\n\n // Self-transition (no animation)\n if (type === \"self\") {\n return {\n from,\n to,\n type: \"self\",\n duration: 0,\n keyframes: [{ frame: 0, stance: from, blend: 1.0 }],\n description: {\n korean: `${from} 자세 유지`,\n english: `Maintain ${from} stance`,\n },\n };\n }\n\n // Generate keyframes based on transition type\n const keyframes =\n type === \"direct\"\n ? generateDirectTransitionKeyframes(from, to)\n : generateIndirectTransitionKeyframes(from, to);\n\n return {\n from,\n to,\n type,\n duration: 600, // 600ms standard transition\n keyframes,\n description: {\n korean: `${from}에서 ${to}로 전환`,\n english: `Transition from ${from} to ${to}`,\n },\n };\n}\n\n/**\n * Stance transition matrix containing all 64 transitions (8x8)\n *\n * **Korean**: 팔괘 전환 행렬\n *\n * Maps from every stance to every other stance, including self-transitions.\n * Key format: \"from_to\" (e.g., \"geon_tae\")\n *\n * Total transitions: 64 (8 source stances × 8 target stances)\n * - 8 self-transitions (0ms)\n * - ~24 direct transitions (600ms, adjacent stances)\n * - ~32 indirect transitions (600ms, opposite stances)\n *\n * @korean 팔괘전환행렬\n */\nexport const STANCE_TRANSITIONS: Map<string, StanceTransition> = new Map();\n\n/**\n * Initialize the stance transition matrix\n *\n * **Korean**: 전환 행렬 초기화\n *\n * Generates all 64 stance transitions and populates the transition map.\n * Call this during system initialization.\n *\n * @korean 전환행렬초기화\n */\nexport function initializeStanceTransitions(): void {\n // Generate all 64 transitions (8 from × 8 to)\n for (const from of TRIGRAM_STANCES_ORDER) {\n for (const to of TRIGRAM_STANCES_ORDER) {\n const key = `${from}_${to}`;\n const transition = createStanceTransition(from, to);\n STANCE_TRANSITIONS.set(key, transition);\n }\n }\n\n if (process.env.NODE_ENV === \"development\") {\n console.log(\n `[StanceTransitions] Initialized ${STANCE_TRANSITIONS.size} stance transitions`,\n );\n }\n}\n\n/**\n * Get stance transition configuration\n *\n * **Korean**: 자세 전환 가져오기\n *\n * Retrieves the transition configuration for moving from one stance to another.\n *\n * @param from - Source stance\n * @param to - Target stance\n * @returns Transition configuration, or undefined if not found\n *\n * @example\n * ```typescript\n * const transition = getStanceTransition(TrigramStance.GEON, TrigramStance.TAE);\n * console.log(transition.duration); // 600\n * console.log(transition.type); // \"direct\"\n * ```\n *\n * @korean 자세전환가져오기\n */\nexport function getStanceTransition(\n from: TrigramStance,\n to: TrigramStance,\n): StanceTransition | undefined {\n const key = `${from}_${to}`;\n return STANCE_TRANSITIONS.get(key);\n}\n\n/**\n * Get all valid transitions from a stance\n *\n * **Korean**: 유효한 전환 목록\n *\n * Returns all possible transitions from the given stance.\n *\n * @param from - Source stance\n * @returns Array of all transitions from this stance\n *\n * @korean 유효한전환목록\n */\nexport function getTransitionsFromStance(\n from: TrigramStance,\n): StanceTransition[] {\n const transitions: StanceTransition[] = [];\n\n for (const to of TRIGRAM_STANCES_ORDER) {\n const transition = getStanceTransition(from, to);\n if (transition) {\n transitions.push(transition);\n }\n }\n\n return transitions;\n}\n\n/**\n * Clear all cached stance transitions\n *\n * **Korean**: 자세 전환 캐시 초기화\n *\n * Clears the stance transition cache to free memory.\n * Useful for session cleanup or hot reloading.\n * Call initializeStanceTransitions() to repopulate after clearing.\n *\n * @korean 자세전환캐시초기화\n */\nexport function clearStanceTransitions(): void {\n STANCE_TRANSITIONS.clear();\n}\n\n// Note: For production use, consider calling initializeStanceTransitions()\n// during application startup to avoid blocking the main thread.\n// For now, initialize on module load for convenience.\ninitializeStanceTransitions();\n"],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Laterality Transform System for Animation Pipeline
|
|
3
|
+
*
|
|
4
|
+
* **Korean**: 측면성 변환 시스템
|
|
5
|
+
*
|
|
6
|
+
* Extends the animation system to support StanceLaterality (왼발서기/오른발서기),
|
|
7
|
+
* enabling authentic Korean martial arts stance mirroring across all animations.
|
|
8
|
+
* Creates 16 distinct stance configurations (8 trigrams × 2 sides).
|
|
9
|
+
*
|
|
10
|
+
* Key Features:
|
|
11
|
+
* - Transform skeletal animations for left/right laterality
|
|
12
|
+
* - Mirror bone rotations (swap left ↔ right, negate Y/Z axes)
|
|
13
|
+
* - Preserve animation timing and type information
|
|
14
|
+
* - Performance optimized (<1ms transformation time)
|
|
15
|
+
*
|
|
16
|
+
* Korean Terminology:
|
|
17
|
+
* - **왼발서기 (Oenbal Seogi)**: Left foot forward, left guard high
|
|
18
|
+
* - **오른발서기 (Oreun Bal Seogi)**: Right foot forward, right guard high
|
|
19
|
+
* - **측면성 (Cheugmyeonseong)**: Laterality/sidedness in martial arts
|
|
20
|
+
*
|
|
21
|
+
* @module systems/animation/LateralityTransform
|
|
22
|
+
* @category Animation
|
|
23
|
+
* @korean 측면성변환
|
|
24
|
+
*/
|
|
25
|
+
import type { SkeletalAnimation } from "../../../types/skeletal";
|
|
26
|
+
import type { StanceLaterality } from "../../trigram/types";
|
|
27
|
+
/**
|
|
28
|
+
* Apply laterality transformation to a skeletal animation.
|
|
29
|
+
*
|
|
30
|
+
* **Korean**: 애니메이션 측면성 적용
|
|
31
|
+
*
|
|
32
|
+
* Transforms a skeletal animation to match the specified laterality (left/right stance).
|
|
33
|
+
* Right laterality returns the original animation; left laterality creates a mirrored version
|
|
34
|
+
* with left/right bones swapped and lateral rotations negated.
|
|
35
|
+
*
|
|
36
|
+
* Transformation Rules:
|
|
37
|
+
* - Swap left ↔ right bone names (e.g., "shoulder_L" ↔ "shoulder_R")
|
|
38
|
+
* - Negate Y rotation (lateral twist around vertical axis)
|
|
39
|
+
* - Negate Z rotation (roll around forward-back axis)
|
|
40
|
+
* - Preserve X rotation (forward/back bend)
|
|
41
|
+
* - Maintain timing, duration, and easing information
|
|
42
|
+
*
|
|
43
|
+
* Performance: <1ms for typical animation (verified in tests)
|
|
44
|
+
*
|
|
45
|
+
* @param animation - Source skeletal animation to transform
|
|
46
|
+
* @param laterality - Target laterality: "left" or "right"
|
|
47
|
+
* @returns Transformed animation with mirrored bone rotations for left laterality
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* // Get right-handed punch animation
|
|
52
|
+
* const rightPunch = GEON_BONE_BREAKING_STRIKE_1;
|
|
53
|
+
*
|
|
54
|
+
* // Create left-handed version
|
|
55
|
+
* const leftPunch = applyLaterality(rightPunch, "left");
|
|
56
|
+
* // leftPunch has left hand as striking hand, mirrored rotations
|
|
57
|
+
*
|
|
58
|
+
* // Right laterality returns original (no transformation cost)
|
|
59
|
+
* const sameAnimation = applyLaterality(rightPunch, "right");
|
|
60
|
+
* // sameAnimation === rightPunch (same reference)
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
64
|
+
* @category Animation Transform
|
|
65
|
+
* @korean 애니메이션측면성적용
|
|
66
|
+
*/
|
|
67
|
+
export declare function applyLaterality(animation: SkeletalAnimation, laterality: StanceLaterality): SkeletalAnimation;
|
|
68
|
+
/**
|
|
69
|
+
* Get the laterality identifier for an animation.
|
|
70
|
+
*
|
|
71
|
+
* **Korean**: 애니메이션 측면성 식별
|
|
72
|
+
*
|
|
73
|
+
* Determines if an animation is configured for left or right laterality
|
|
74
|
+
* based on its name suffix.
|
|
75
|
+
*
|
|
76
|
+
* @param animation - Skeletal animation to inspect
|
|
77
|
+
* @returns "left" if animation has "_left" suffix, otherwise "right"
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const rightAnim = { name: "geon_punch", ... };
|
|
82
|
+
* const leftAnim = { name: "geon_punch_left", ... };
|
|
83
|
+
*
|
|
84
|
+
* getAnimationLaterality(rightAnim); // → "right"
|
|
85
|
+
* getAnimationLaterality(leftAnim); // → "left"
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @public
|
|
89
|
+
* @category Animation Query
|
|
90
|
+
* @korean 애니메이션측면성식별
|
|
91
|
+
*/
|
|
92
|
+
export declare function getAnimationLaterality(animation: SkeletalAnimation): StanceLaterality;
|
|
93
|
+
/**
|
|
94
|
+
* Check if two animations are laterality variants of each other.
|
|
95
|
+
*
|
|
96
|
+
* **Korean**: 애니메이션 측면성 변형 확인
|
|
97
|
+
*
|
|
98
|
+
* Determines if two animations represent the same technique but
|
|
99
|
+
* with different laterality (left vs right stance).
|
|
100
|
+
*
|
|
101
|
+
* @param anim1 - First animation
|
|
102
|
+
* @param anim2 - Second animation
|
|
103
|
+
* @returns True if animations are laterality variants of the same base animation
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const rightPunch = { name: "geon_punch", ... };
|
|
108
|
+
* const leftPunch = { name: "geon_punch_left", ... };
|
|
109
|
+
* const otherMove = { name: "tae_throw", ... };
|
|
110
|
+
*
|
|
111
|
+
* areLateralityVariants(rightPunch, leftPunch); // → true
|
|
112
|
+
* areLateralityVariants(rightPunch, otherMove); // → false
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* @public
|
|
116
|
+
* @category Animation Query
|
|
117
|
+
* @korean 애니메이션측면성변형확인
|
|
118
|
+
*/
|
|
119
|
+
export declare function areLateralityVariants(anim1: SkeletalAnimation, anim2: SkeletalAnimation): boolean;
|
|
120
|
+
//# sourceMappingURL=LateralityTransform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LateralityTransform.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/core/LateralityTransform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,gBAAgB,GAC3B,iBAAiB,CAkBnB;AA0LD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,iBAAiB,GAC3B,gBAAgB,CAElB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAUT"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
//#region src/systems/animation/core/LateralityTransform.ts
|
|
3
|
+
/**
|
|
4
|
+
* Apply laterality transformation to a skeletal animation.
|
|
5
|
+
*
|
|
6
|
+
* **Korean**: 애니메이션 측면성 적용
|
|
7
|
+
*
|
|
8
|
+
* Transforms a skeletal animation to match the specified laterality (left/right stance).
|
|
9
|
+
* Right laterality returns the original animation; left laterality creates a mirrored version
|
|
10
|
+
* with left/right bones swapped and lateral rotations negated.
|
|
11
|
+
*
|
|
12
|
+
* Transformation Rules:
|
|
13
|
+
* - Swap left ↔ right bone names (e.g., "shoulder_L" ↔ "shoulder_R")
|
|
14
|
+
* - Negate Y rotation (lateral twist around vertical axis)
|
|
15
|
+
* - Negate Z rotation (roll around forward-back axis)
|
|
16
|
+
* - Preserve X rotation (forward/back bend)
|
|
17
|
+
* - Maintain timing, duration, and easing information
|
|
18
|
+
*
|
|
19
|
+
* Performance: <1ms for typical animation (verified in tests)
|
|
20
|
+
*
|
|
21
|
+
* @param animation - Source skeletal animation to transform
|
|
22
|
+
* @param laterality - Target laterality: "left" or "right"
|
|
23
|
+
* @returns Transformed animation with mirrored bone rotations for left laterality
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // Get right-handed punch animation
|
|
28
|
+
* const rightPunch = GEON_BONE_BREAKING_STRIKE_1;
|
|
29
|
+
*
|
|
30
|
+
* // Create left-handed version
|
|
31
|
+
* const leftPunch = applyLaterality(rightPunch, "left");
|
|
32
|
+
* // leftPunch has left hand as striking hand, mirrored rotations
|
|
33
|
+
*
|
|
34
|
+
* // Right laterality returns original (no transformation cost)
|
|
35
|
+
* const sameAnimation = applyLaterality(rightPunch, "right");
|
|
36
|
+
* // sameAnimation === rightPunch (same reference)
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
* @category Animation Transform
|
|
41
|
+
* @korean 애니메이션측면성적용
|
|
42
|
+
*/
|
|
43
|
+
function applyLaterality(animation, laterality) {
|
|
44
|
+
if (laterality === "right") return animation;
|
|
45
|
+
const mirroredKeyframes = animation.keyframes.map((keyframe) => mirrorAnimationKeyframe(keyframe));
|
|
46
|
+
return {
|
|
47
|
+
...animation,
|
|
48
|
+
name: `${animation.name}_left`,
|
|
49
|
+
koreanName: `${animation.koreanName} (왼발)`,
|
|
50
|
+
keyframes: mirroredKeyframes
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Mirror a single animation keyframe for left laterality.
|
|
55
|
+
*
|
|
56
|
+
* **Korean**: 키프레임 좌우 대칭
|
|
57
|
+
*
|
|
58
|
+
* Creates a mirrored version of an animation keyframe by:
|
|
59
|
+
* 1. Swapping left and right bone names
|
|
60
|
+
* 2. Negating Y and Z rotations (lateral twist and roll)
|
|
61
|
+
* 3. Preserving X rotation (forward/back bend)
|
|
62
|
+
* 4. Maintaining timing and easing information
|
|
63
|
+
*
|
|
64
|
+
* Bone Name Swapping:
|
|
65
|
+
* - "_L" suffix → "_R" suffix
|
|
66
|
+
* - "_R" suffix → "_L" suffix
|
|
67
|
+
* - "left_" prefix → "right_" prefix
|
|
68
|
+
* - "right_" prefix → "left_" prefix
|
|
69
|
+
*
|
|
70
|
+
* @param keyframe - Original animation keyframe
|
|
71
|
+
* @returns Mirrored keyframe with swapped bones and negated rotations
|
|
72
|
+
*
|
|
73
|
+
* @internal
|
|
74
|
+
* @korean 키프레임대칭
|
|
75
|
+
*/
|
|
76
|
+
function mirrorAnimationKeyframe(keyframe) {
|
|
77
|
+
const mirroredRotations = /* @__PURE__ */ new Map();
|
|
78
|
+
keyframe.boneRotations.forEach((rotation, boneName) => {
|
|
79
|
+
const mirroredBoneName = mirrorBoneName(boneName);
|
|
80
|
+
const mirroredRotation = mirrorEuler(rotation);
|
|
81
|
+
mirroredRotations.set(mirroredBoneName, mirroredRotation);
|
|
82
|
+
});
|
|
83
|
+
const mirroredPositions = /* @__PURE__ */ new Map();
|
|
84
|
+
if (keyframe.bonePositions) keyframe.bonePositions.forEach((position, boneName) => {
|
|
85
|
+
const mirroredBoneName = mirrorBoneName(boneName);
|
|
86
|
+
const mirroredPosition = mirrorPosition(position);
|
|
87
|
+
mirroredPositions.set(mirroredBoneName, mirroredPosition);
|
|
88
|
+
});
|
|
89
|
+
return {
|
|
90
|
+
time: keyframe.time,
|
|
91
|
+
boneRotations: mirroredRotations,
|
|
92
|
+
bonePositions: mirroredPositions,
|
|
93
|
+
easing: keyframe.easing
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Mirror a bone name by swapping left/right suffixes and prefixes.
|
|
98
|
+
*
|
|
99
|
+
* **Korean**: 뼈 이름 대칭
|
|
100
|
+
*
|
|
101
|
+
* Transforms bone names to their mirrored counterparts:
|
|
102
|
+
* - "shoulder_L" → "shoulder_R"
|
|
103
|
+
* - "upper_arm_R" → "upper_arm_L"
|
|
104
|
+
* - "left_hand" → "right_hand"
|
|
105
|
+
* - "right_foot" → "left_foot"
|
|
106
|
+
*
|
|
107
|
+
* If bone has no laterality marker (e.g., "spine", "pelvis"),
|
|
108
|
+
* returns the original name unchanged.
|
|
109
|
+
*
|
|
110
|
+
* @param boneName - Original bone name
|
|
111
|
+
* @returns Mirrored bone name with swapped left/right markers
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* mirrorBoneName("shoulder_L") // → "shoulder_R"
|
|
116
|
+
* mirrorBoneName("upper_arm_R") // → "upper_arm_L"
|
|
117
|
+
* mirrorBoneName("left_hand") // → "right_hand"
|
|
118
|
+
* mirrorBoneName("spine_upper") // → "spine_upper" (no change)
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @internal
|
|
122
|
+
* @korean 뼈이름대칭
|
|
123
|
+
*/
|
|
124
|
+
function mirrorBoneName(boneName) {
|
|
125
|
+
if (boneName.endsWith("_L")) return boneName.slice(0, -2) + "_R";
|
|
126
|
+
if (boneName.endsWith("_R")) return boneName.slice(0, -2) + "_L";
|
|
127
|
+
if (boneName.startsWith("left_")) return "right_" + boneName.slice(5);
|
|
128
|
+
if (boneName.startsWith("right_")) return "left_" + boneName.slice(6);
|
|
129
|
+
return boneName;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Mirror a bone rotation by negating Y and Z axes.
|
|
133
|
+
*
|
|
134
|
+
* **Korean**: 뼈 회전 대칭
|
|
135
|
+
*
|
|
136
|
+
* Transforms rotation for left/right mirroring:
|
|
137
|
+
* - X rotation: Preserved (forward/back bend is symmetric)
|
|
138
|
+
* - Y rotation: Negated (lateral twist direction reverses)
|
|
139
|
+
* - Z rotation: Negated (roll direction reverses)
|
|
140
|
+
*
|
|
141
|
+
* This creates anatomically correct mirrored poses where:
|
|
142
|
+
* - Right arm punch becomes left arm punch
|
|
143
|
+
* - Left leg kick becomes right leg kick
|
|
144
|
+
* - Torso twist direction reverses appropriately
|
|
145
|
+
*
|
|
146
|
+
* @param euler - Original bone rotation
|
|
147
|
+
* @returns Mirrored rotation with negated Y and Z axes
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* // Right arm forward punch: shoulder rotates forward and inward
|
|
152
|
+
* const rightPunch = new THREE.Euler(-1.2, 0.5, 0.6);
|
|
153
|
+
* const leftPunch = mirrorEuler(rightPunch);
|
|
154
|
+
* // leftPunch: (-1.2, -0.5, -0.6) - forward bend preserved, twist/roll negated
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @internal
|
|
158
|
+
* @korean 뼈회전대칭
|
|
159
|
+
*/
|
|
160
|
+
function mirrorEuler(euler) {
|
|
161
|
+
return new THREE.Euler(euler.x, -euler.y, -euler.z, euler.order);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Mirror a bone position by negating the X coordinate.
|
|
165
|
+
*
|
|
166
|
+
* **Korean**: 뼈 위치 대칭
|
|
167
|
+
*
|
|
168
|
+
* Mirrors position across the YZ plane (body centerline).
|
|
169
|
+
*
|
|
170
|
+
* **World-Space Coordinate System (matching AnimationMirror):**
|
|
171
|
+
* Skeletal animations use world-space coordinates consistent with the 28-bone rig:
|
|
172
|
+
* - X coordinate: Left/right (arms extend along ±X)
|
|
173
|
+
* - Y coordinate: Up/down (pelvis at Y=1.1, legs extend -Y)
|
|
174
|
+
* - Z coordinate: Forward/back (character faces +Z)
|
|
175
|
+
*
|
|
176
|
+
* For mirroring:
|
|
177
|
+
* - X: Negated (left ↔ right)
|
|
178
|
+
* - Y: Preserved (up/down is symmetric)
|
|
179
|
+
* - Z: Preserved (forward/back is symmetric)
|
|
180
|
+
*
|
|
181
|
+
* Used for IK targets and special move positioning where
|
|
182
|
+
* absolute bone positions are specified.
|
|
183
|
+
*
|
|
184
|
+
* @param position - Original bone position offset
|
|
185
|
+
* @returns Mirrored position with negated X coordinate
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* // Right hand extends to the right (+X)
|
|
190
|
+
* const rightHandPos = new THREE.Vector3(0.5, 1.5, 0.3);
|
|
191
|
+
* const leftHandPos = mirrorPosition(rightHandPos);
|
|
192
|
+
* // leftHandPos: (-0.5, 1.5, 0.3) - extends to the left (-X)
|
|
193
|
+
* ```
|
|
194
|
+
*
|
|
195
|
+
* @internal
|
|
196
|
+
* @korean 뼈위치대칭
|
|
197
|
+
*/
|
|
198
|
+
function mirrorPosition(position) {
|
|
199
|
+
return new THREE.Vector3(-position.x, position.y, position.z);
|
|
200
|
+
}
|
|
201
|
+
//#endregion
|
|
202
|
+
export { applyLaterality };
|
|
203
|
+
|
|
204
|
+
//# sourceMappingURL=LateralityTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LateralityTransform.js","names":[],"sources":["../../../../src/systems/animation/core/LateralityTransform.ts"],"sourcesContent":["/**\n * Laterality Transform System for Animation Pipeline\n *\n * **Korean**: 측면성 변환 시스템\n *\n * Extends the animation system to support StanceLaterality (왼발서기/오른발서기),\n * enabling authentic Korean martial arts stance mirroring across all animations.\n * Creates 16 distinct stance configurations (8 trigrams × 2 sides).\n *\n * Key Features:\n * - Transform skeletal animations for left/right laterality\n * - Mirror bone rotations (swap left ↔ right, negate Y/Z axes)\n * - Preserve animation timing and type information\n * - Performance optimized (<1ms transformation time)\n *\n * Korean Terminology:\n * - **왼발서기 (Oenbal Seogi)**: Left foot forward, left guard high\n * - **오른발서기 (Oreun Bal Seogi)**: Right foot forward, right guard high\n * - **측면성 (Cheugmyeonseong)**: Laterality/sidedness in martial arts\n *\n * @module systems/animation/LateralityTransform\n * @category Animation\n * @korean 측면성변환\n */\n\nimport type { AnimationKeyframe, SkeletalAnimation } from \"@/types/skeletal\";\nimport * as THREE from \"three\";\nimport type { StanceLaterality } from \"../../trigram/types\";\n\n/**\n * Apply laterality transformation to a skeletal animation.\n *\n * **Korean**: 애니메이션 측면성 적용\n *\n * Transforms a skeletal animation to match the specified laterality (left/right stance).\n * Right laterality returns the original animation; left laterality creates a mirrored version\n * with left/right bones swapped and lateral rotations negated.\n *\n * Transformation Rules:\n * - Swap left ↔ right bone names (e.g., \"shoulder_L\" ↔ \"shoulder_R\")\n * - Negate Y rotation (lateral twist around vertical axis)\n * - Negate Z rotation (roll around forward-back axis)\n * - Preserve X rotation (forward/back bend)\n * - Maintain timing, duration, and easing information\n *\n * Performance: <1ms for typical animation (verified in tests)\n *\n * @param animation - Source skeletal animation to transform\n * @param laterality - Target laterality: \"left\" or \"right\"\n * @returns Transformed animation with mirrored bone rotations for left laterality\n *\n * @example\n * ```typescript\n * // Get right-handed punch animation\n * const rightPunch = GEON_BONE_BREAKING_STRIKE_1;\n *\n * // Create left-handed version\n * const leftPunch = applyLaterality(rightPunch, \"left\");\n * // leftPunch has left hand as striking hand, mirrored rotations\n *\n * // Right laterality returns original (no transformation cost)\n * const sameAnimation = applyLaterality(rightPunch, \"right\");\n * // sameAnimation === rightPunch (same reference)\n * ```\n *\n * @public\n * @category Animation Transform\n * @korean 애니메이션측면성적용\n */\nexport function applyLaterality(\n animation: SkeletalAnimation,\n laterality: StanceLaterality,\n): SkeletalAnimation {\n // Right laterality returns original animation (no transformation)\n if (laterality === \"right\") {\n return animation;\n }\n\n // Left laterality: mirror all keyframes\n const mirroredKeyframes = animation.keyframes.map((keyframe) =>\n mirrorAnimationKeyframe(keyframe),\n );\n\n // Return transformed animation with updated name\n return {\n ...animation,\n name: `${animation.name}_left`,\n koreanName: `${animation.koreanName} (왼발)`,\n keyframes: mirroredKeyframes,\n };\n}\n\n/**\n * Mirror a single animation keyframe for left laterality.\n *\n * **Korean**: 키프레임 좌우 대칭\n *\n * Creates a mirrored version of an animation keyframe by:\n * 1. Swapping left and right bone names\n * 2. Negating Y and Z rotations (lateral twist and roll)\n * 3. Preserving X rotation (forward/back bend)\n * 4. Maintaining timing and easing information\n *\n * Bone Name Swapping:\n * - \"_L\" suffix → \"_R\" suffix\n * - \"_R\" suffix → \"_L\" suffix\n * - \"left_\" prefix → \"right_\" prefix\n * - \"right_\" prefix → \"left_\" prefix\n *\n * @param keyframe - Original animation keyframe\n * @returns Mirrored keyframe with swapped bones and negated rotations\n *\n * @internal\n * @korean 키프레임대칭\n */\nfunction mirrorAnimationKeyframe(\n keyframe: AnimationKeyframe,\n): AnimationKeyframe {\n // Mirror bone rotations\n const mirroredRotations = new Map<string, THREE.Euler>();\n\n keyframe.boneRotations.forEach((rotation, boneName) => {\n const mirroredBoneName = mirrorBoneName(boneName);\n const mirroredRotation = mirrorEuler(rotation);\n mirroredRotations.set(mirroredBoneName, mirroredRotation);\n });\n\n // Mirror bone positions (if present)\n const mirroredPositions = new Map<string, THREE.Vector3>();\n\n if (keyframe.bonePositions) {\n keyframe.bonePositions.forEach((position, boneName) => {\n const mirroredBoneName = mirrorBoneName(boneName);\n const mirroredPosition = mirrorPosition(position);\n mirroredPositions.set(mirroredBoneName, mirroredPosition);\n });\n }\n\n return {\n time: keyframe.time,\n boneRotations: mirroredRotations,\n bonePositions: mirroredPositions,\n easing: keyframe.easing,\n };\n}\n\n/**\n * Mirror a bone name by swapping left/right suffixes and prefixes.\n *\n * **Korean**: 뼈 이름 대칭\n *\n * Transforms bone names to their mirrored counterparts:\n * - \"shoulder_L\" → \"shoulder_R\"\n * - \"upper_arm_R\" → \"upper_arm_L\"\n * - \"left_hand\" → \"right_hand\"\n * - \"right_foot\" → \"left_foot\"\n *\n * If bone has no laterality marker (e.g., \"spine\", \"pelvis\"),\n * returns the original name unchanged.\n *\n * @param boneName - Original bone name\n * @returns Mirrored bone name with swapped left/right markers\n *\n * @example\n * ```typescript\n * mirrorBoneName(\"shoulder_L\") // → \"shoulder_R\"\n * mirrorBoneName(\"upper_arm_R\") // → \"upper_arm_L\"\n * mirrorBoneName(\"left_hand\") // → \"right_hand\"\n * mirrorBoneName(\"spine_upper\") // → \"spine_upper\" (no change)\n * ```\n *\n * @internal\n * @korean 뼈이름대칭\n */\nfunction mirrorBoneName(boneName: string): string {\n // Handle _L and _R suffixes (most common pattern)\n if (boneName.endsWith(\"_L\")) {\n return boneName.slice(0, -2) + \"_R\";\n }\n if (boneName.endsWith(\"_R\")) {\n return boneName.slice(0, -2) + \"_L\";\n }\n\n // Handle left_ and right_ prefixes\n if (boneName.startsWith(\"left_\")) {\n return \"right_\" + boneName.slice(5);\n }\n if (boneName.startsWith(\"right_\")) {\n return \"left_\" + boneName.slice(6);\n }\n\n // No laterality marker - return unchanged (e.g., spine, pelvis, neck)\n return boneName;\n}\n\n/**\n * Mirror a bone rotation by negating Y and Z axes.\n *\n * **Korean**: 뼈 회전 대칭\n *\n * Transforms rotation for left/right mirroring:\n * - X rotation: Preserved (forward/back bend is symmetric)\n * - Y rotation: Negated (lateral twist direction reverses)\n * - Z rotation: Negated (roll direction reverses)\n *\n * This creates anatomically correct mirrored poses where:\n * - Right arm punch becomes left arm punch\n * - Left leg kick becomes right leg kick\n * - Torso twist direction reverses appropriately\n *\n * @param euler - Original bone rotation\n * @returns Mirrored rotation with negated Y and Z axes\n *\n * @example\n * ```typescript\n * // Right arm forward punch: shoulder rotates forward and inward\n * const rightPunch = new THREE.Euler(-1.2, 0.5, 0.6);\n * const leftPunch = mirrorEuler(rightPunch);\n * // leftPunch: (-1.2, -0.5, -0.6) - forward bend preserved, twist/roll negated\n * ```\n *\n * @internal\n * @korean 뼈회전대칭\n */\nfunction mirrorEuler(euler: THREE.Euler): THREE.Euler {\n return new THREE.Euler(\n euler.x, // Preserve forward/back bend\n -euler.y, // Negate lateral twist\n -euler.z, // Negate roll\n euler.order, // Preserve rotation order\n );\n}\n\n/**\n * Mirror a bone position by negating the X coordinate.\n *\n * **Korean**: 뼈 위치 대칭\n *\n * Mirrors position across the YZ plane (body centerline).\n *\n * **World-Space Coordinate System (matching AnimationMirror):**\n * Skeletal animations use world-space coordinates consistent with the 28-bone rig:\n * - X coordinate: Left/right (arms extend along ±X)\n * - Y coordinate: Up/down (pelvis at Y=1.1, legs extend -Y)\n * - Z coordinate: Forward/back (character faces +Z)\n *\n * For mirroring:\n * - X: Negated (left ↔ right)\n * - Y: Preserved (up/down is symmetric)\n * - Z: Preserved (forward/back is symmetric)\n *\n * Used for IK targets and special move positioning where\n * absolute bone positions are specified.\n *\n * @param position - Original bone position offset\n * @returns Mirrored position with negated X coordinate\n *\n * @example\n * ```typescript\n * // Right hand extends to the right (+X)\n * const rightHandPos = new THREE.Vector3(0.5, 1.5, 0.3);\n * const leftHandPos = mirrorPosition(rightHandPos);\n * // leftHandPos: (-0.5, 1.5, 0.3) - extends to the left (-X)\n * ```\n *\n * @internal\n * @korean 뼈위치대칭\n */\nfunction mirrorPosition(position: THREE.Vector3): THREE.Vector3 {\n return new THREE.Vector3(\n -position.x, // Negate left/right (X axis = lateral in world-space rig)\n position.y, // Preserve vertical\n position.z, // Preserve forward/back\n );\n}\n\n/**\n * Get the laterality identifier for an animation.\n *\n * **Korean**: 애니메이션 측면성 식별\n *\n * Determines if an animation is configured for left or right laterality\n * based on its name suffix.\n *\n * @param animation - Skeletal animation to inspect\n * @returns \"left\" if animation has \"_left\" suffix, otherwise \"right\"\n *\n * @example\n * ```typescript\n * const rightAnim = { name: \"geon_punch\", ... };\n * const leftAnim = { name: \"geon_punch_left\", ... };\n *\n * getAnimationLaterality(rightAnim); // → \"right\"\n * getAnimationLaterality(leftAnim); // → \"left\"\n * ```\n *\n * @public\n * @category Animation Query\n * @korean 애니메이션측면성식별\n */\nexport function getAnimationLaterality(\n animation: SkeletalAnimation,\n): StanceLaterality {\n return animation.name.endsWith(\"_left\") ? \"left\" : \"right\";\n}\n\n/**\n * Check if two animations are laterality variants of each other.\n *\n * **Korean**: 애니메이션 측면성 변형 확인\n *\n * Determines if two animations represent the same technique but\n * with different laterality (left vs right stance).\n *\n * @param anim1 - First animation\n * @param anim2 - Second animation\n * @returns True if animations are laterality variants of the same base animation\n *\n * @example\n * ```typescript\n * const rightPunch = { name: \"geon_punch\", ... };\n * const leftPunch = { name: \"geon_punch_left\", ... };\n * const otherMove = { name: \"tae_throw\", ... };\n *\n * areLateralityVariants(rightPunch, leftPunch); // → true\n * areLateralityVariants(rightPunch, otherMove); // → false\n * ```\n *\n * @public\n * @category Animation Query\n * @korean 애니메이션측면성변형확인\n */\nexport function areLateralityVariants(\n anim1: SkeletalAnimation,\n anim2: SkeletalAnimation,\n): boolean {\n // Get base names (remove _left suffix if present)\n const baseName1 = anim1.name.replace(/_left$/, \"\");\n const baseName2 = anim2.name.replace(/_left$/, \"\");\n\n // Check if base names match and laterality differs\n return (\n baseName1 === baseName2 &&\n getAnimationLaterality(anim1) !== getAnimationLaterality(anim2)\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,SAAgB,gBACd,WACA,YACmB;AAEnB,KAAI,eAAe,QACjB,QAAO;CAIT,MAAM,oBAAoB,UAAU,UAAU,KAAK,aACjD,wBAAwB,SAAS,CAClC;AAGD,QAAO;EACL,GAAG;EACH,MAAM,GAAG,UAAU,KAAK;EACxB,YAAY,GAAG,UAAU,WAAW;EACpC,WAAW;EACZ;;;;;;;;;;;;;;;;;;;;;;;;;AA0BH,SAAS,wBACP,UACmB;CAEnB,MAAM,oCAAoB,IAAI,KAA0B;AAExD,UAAS,cAAc,SAAS,UAAU,aAAa;EACrD,MAAM,mBAAmB,eAAe,SAAS;EACjD,MAAM,mBAAmB,YAAY,SAAS;AAC9C,oBAAkB,IAAI,kBAAkB,iBAAiB;GACzD;CAGF,MAAM,oCAAoB,IAAI,KAA4B;AAE1D,KAAI,SAAS,cACX,UAAS,cAAc,SAAS,UAAU,aAAa;EACrD,MAAM,mBAAmB,eAAe,SAAS;EACjD,MAAM,mBAAmB,eAAe,SAAS;AACjD,oBAAkB,IAAI,kBAAkB,iBAAiB;GACzD;AAGJ,QAAO;EACL,MAAM,SAAS;EACf,eAAe;EACf,eAAe;EACf,QAAQ,SAAS;EAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BH,SAAS,eAAe,UAA0B;AAEhD,KAAI,SAAS,SAAS,KAAK,CACzB,QAAO,SAAS,MAAM,GAAG,GAAG,GAAG;AAEjC,KAAI,SAAS,SAAS,KAAK,CACzB,QAAO,SAAS,MAAM,GAAG,GAAG,GAAG;AAIjC,KAAI,SAAS,WAAW,QAAQ,CAC9B,QAAO,WAAW,SAAS,MAAM,EAAE;AAErC,KAAI,SAAS,WAAW,SAAS,CAC/B,QAAO,UAAU,SAAS,MAAM,EAAE;AAIpC,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,SAAS,YAAY,OAAiC;AACpD,QAAO,IAAI,MAAM,MACf,MAAM,GACN,CAAC,MAAM,GACP,CAAC,MAAM,GACP,MAAM,MACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCH,SAAS,eAAe,UAAwC;AAC9D,QAAO,IAAI,MAAM,QACf,CAAC,SAAS,GACV,SAAS,GACT,SAAS,EACV"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recovery Phase Enhancement for Black Trigram Animations
|
|
3
|
+
*
|
|
4
|
+
* Implements realistic recovery animations following Korean martial arts principles:
|
|
5
|
+
* - 균형회복 (Gyunhyeong Hoebog) - Balance restoration
|
|
6
|
+
* - 자세복귀 (Jase Bokgwi) - Stance return
|
|
7
|
+
* - 호흡조절 (Hoheup Jojoel) - Breath control during recovery
|
|
8
|
+
* - 근육이완 (Geunryuk Ihwan) - Muscle relaxation after tension
|
|
9
|
+
*
|
|
10
|
+
* @module systems/animation/RecoveryPhaseEnhancer
|
|
11
|
+
* @category Animation System
|
|
12
|
+
* @korean 복귀애니메이션강화
|
|
13
|
+
*/
|
|
14
|
+
import type { SkeletalAnimation } from "../../../types/skeletal";
|
|
15
|
+
/**
|
|
16
|
+
* Recovery phase configuration options
|
|
17
|
+
*
|
|
18
|
+
* **Korean**: 복귀 설정
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
* @category Animation
|
|
22
|
+
* @korean 복귀설정
|
|
23
|
+
*/
|
|
24
|
+
export interface RecoveryPhaseConfig {
|
|
25
|
+
/**
|
|
26
|
+
* Duration of recovery phase in seconds (default: 0.2s = 200ms)
|
|
27
|
+
* Recommended range: 0.15 - 0.25 seconds
|
|
28
|
+
* **Korean**: 복귀 시간
|
|
29
|
+
*/
|
|
30
|
+
readonly duration?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Percentage of return in intermediate keyframe (default: 0.8 = 80%)
|
|
33
|
+
* **Korean**: 중간 복귀 비율
|
|
34
|
+
*/
|
|
35
|
+
readonly intermediateReturnPercent?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Initial muscle tension level at peak technique (default: 1.0 = 100%)
|
|
38
|
+
* **Korean**: 최대 근육 긴장도
|
|
39
|
+
*/
|
|
40
|
+
readonly peakMuscleTension?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Muscle tension at intermediate recovery (default: 0.4 = 40%)
|
|
43
|
+
* **Korean**: 중간 근육 긴장도
|
|
44
|
+
*/
|
|
45
|
+
readonly intermediateMuscleTension?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Final muscle tension in relaxed state (default: 0.1 = 10%)
|
|
48
|
+
* **Korean**: 최종 근육 긴장도
|
|
49
|
+
*/
|
|
50
|
+
readonly finalMuscleTension?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Whether to use ease-out interpolation (default: true)
|
|
53
|
+
* **Korean**: 부드러운 감속 사용
|
|
54
|
+
*/
|
|
55
|
+
readonly useEaseOut?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Add realistic recovery phase to technique animation
|
|
59
|
+
*
|
|
60
|
+
* **Korean**: 기술 애니메이션에 복귀 단계 추가
|
|
61
|
+
*
|
|
62
|
+
* Enhances technique animations with proper recovery phases following
|
|
63
|
+
* Korean martial arts principles of 복귀 (Bokgwi - recovery/return).
|
|
64
|
+
*
|
|
65
|
+
* The recovery phase consists of two keyframes:
|
|
66
|
+
* 1. **Intermediate recovery** (60% of recovery duration):
|
|
67
|
+
* - Returns 80% toward neutral position
|
|
68
|
+
* - Reduces muscle tension to 40%
|
|
69
|
+
* - Uses ease-out for gradual deceleration
|
|
70
|
+
*
|
|
71
|
+
* 2. **Final recovery** (100% of recovery duration):
|
|
72
|
+
* - Fully returns to neutral stance
|
|
73
|
+
* - Relaxes muscle tension to 10%
|
|
74
|
+
* - Completes breath cycle
|
|
75
|
+
*
|
|
76
|
+
* @param animation - Base technique animation
|
|
77
|
+
* @param config - Recovery phase configuration options
|
|
78
|
+
* @returns Enhanced animation with recovery phase
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* // Add default 220ms recovery to front kick
|
|
83
|
+
* const kickWithRecovery = addRecoveryPhase(FRONT_KICK_ANIMATION);
|
|
84
|
+
*
|
|
85
|
+
* // Add custom 180ms recovery with faster muscle release
|
|
86
|
+
* const quickRecovery = addRecoveryPhase(JAB_ANIMATION, {
|
|
87
|
+
* duration: 0.18,
|
|
88
|
+
* intermediateMuscleTension: 0.3,
|
|
89
|
+
* finalMuscleTension: 0.05,
|
|
90
|
+
* });
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @korean 복귀단계추가
|
|
94
|
+
*/
|
|
95
|
+
export declare function addRecoveryPhase(animation: SkeletalAnimation, config?: RecoveryPhaseConfig): SkeletalAnimation;
|
|
96
|
+
/**
|
|
97
|
+
* Create technique animation with recovery phase
|
|
98
|
+
*
|
|
99
|
+
* **Korean**: 복귀 단계를 포함한 기술 애니메이션 생성
|
|
100
|
+
*
|
|
101
|
+
* Convenience function that wraps animation creation with automatic recovery phase.
|
|
102
|
+
* Use this when creating new technique animations from scratch.
|
|
103
|
+
*
|
|
104
|
+
* @param baseAnimation - Base animation without recovery
|
|
105
|
+
* @param config - Recovery configuration
|
|
106
|
+
* @returns Complete animation with recovery phase
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* // Create front kick with recovery
|
|
111
|
+
* const frontKick = createTechniqueWithRecovery(
|
|
112
|
+
* baseFrontKickAnimation,
|
|
113
|
+
* { duration: 0.22 }
|
|
114
|
+
* );
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* @korean 복귀단계기술생성
|
|
118
|
+
*/
|
|
119
|
+
export declare function createTechniqueWithRecovery(baseAnimation: SkeletalAnimation, config?: RecoveryPhaseConfig): SkeletalAnimation;
|
|
120
|
+
/**
|
|
121
|
+
* Validate recovery phase quality
|
|
122
|
+
*
|
|
123
|
+
* **Korean**: 복귀 단계 품질 검증
|
|
124
|
+
*
|
|
125
|
+
* Checks if an animation has proper recovery phase characteristics:
|
|
126
|
+
* - Has at least 2 recovery keyframes
|
|
127
|
+
* - Recovery duration between 150-250ms
|
|
128
|
+
* - Uses ease-out interpolation
|
|
129
|
+
* - Returns to neutral position
|
|
130
|
+
*
|
|
131
|
+
* @param animation - Animation to validate
|
|
132
|
+
* @returns Validation result with details
|
|
133
|
+
*
|
|
134
|
+
* @korean 복귀품질검증
|
|
135
|
+
*/
|
|
136
|
+
export interface RecoveryValidationResult {
|
|
137
|
+
/** Whether animation has valid recovery phase */
|
|
138
|
+
readonly isValid: boolean;
|
|
139
|
+
/** Validation issues found */
|
|
140
|
+
readonly issues: string[];
|
|
141
|
+
/** Recovery duration in milliseconds */
|
|
142
|
+
readonly recoveryDuration: number;
|
|
143
|
+
/** Number of recovery keyframes */
|
|
144
|
+
readonly recoveryKeyframes: number;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Validate recovery phase in animation
|
|
148
|
+
*
|
|
149
|
+
* @param animation - Animation to validate
|
|
150
|
+
* @returns Validation result
|
|
151
|
+
*
|
|
152
|
+
* @korean 복귀검증
|
|
153
|
+
*/
|
|
154
|
+
export declare function validateRecoveryPhase(animation: SkeletalAnimation): RecoveryValidationResult;
|
|
155
|
+
/**
|
|
156
|
+
* Calculate muscle tension at specific time in animation
|
|
157
|
+
*
|
|
158
|
+
* **Korean**: 애니메이션 시간별 근육 긴장도 계산
|
|
159
|
+
*
|
|
160
|
+
* Interpolates muscle tension based on animation progress and recovery phase.
|
|
161
|
+
* Tension peaks during technique execution and gradually releases during recovery.
|
|
162
|
+
*
|
|
163
|
+
* @param animation - Animation with recovery phase
|
|
164
|
+
* @param currentTime - Current time in animation (seconds)
|
|
165
|
+
* @param config - Recovery configuration used
|
|
166
|
+
* @returns Muscle tension value (0.0 to 1.0)
|
|
167
|
+
*
|
|
168
|
+
* @korean 근육긴장도계산
|
|
169
|
+
*/
|
|
170
|
+
export declare function calculateMuscleTension(animation: SkeletalAnimation, currentTime: number, config?: RecoveryPhaseConfig): number;
|
|
171
|
+
//# sourceMappingURL=RecoveryPhaseEnhancer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecoveryPhaseEnhancer.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/core/RecoveryPhaseEnhancer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAE5C;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAE5C;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,GAAE,mBAAwB,GAC/B,iBAAiB,CA6FnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,iBAAiB,EAChC,MAAM,GAAE,mBAAwB,GAC/B,iBAAiB,CAEnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,mCAAmC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,GAC3B,wBAAwB,CAqE1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,iBAAiB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,mBAAwB,GAC/B,MAAM,CA6CR"}
|