blacktrigram 0.7.47 → 0.7.49
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/lib/App2.js.map +1 -1
- package/lib/audio/AudioAssetLoader.js.map +1 -1
- package/lib/audio/AudioAssetRegistry.js.map +1 -1
- package/lib/audio/AudioCache.js.map +1 -1
- package/lib/audio/AudioManager.js.map +1 -1
- package/lib/audio/AudioMonitor.js.map +1 -1
- package/lib/audio/AudioPool.js.map +1 -1
- package/lib/audio/AudioProvider.js.map +1 -1
- package/lib/audio/AudioUtils.js.map +1 -1
- package/lib/audio/BoneImpactAudioMap.js.map +1 -1
- package/lib/audio/VariantSelector.js.map +1 -1
- package/lib/audio/types.js.map +1 -1
- package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -1
- package/lib/components/screens/combat/CombatScreen3D.js +29 -25
- package/lib/components/screens/combat/CombatScreen3D.js.map +1 -1
- package/lib/components/screens/combat/components/controls/CombatButtons.js.map +1 -1
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.js.map +1 -1
- package/lib/components/screens/combat/components/controls/ControlsGuide.js.map +1 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.js.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenuButton.js.map +1 -1
- package/lib/components/screens/combat/components/controls/QuickSettings.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodDecals3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodParticles3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js.map +1 -1
- package/lib/components/screens/combat/components/effects/InternalDamage3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/PainVignette.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/MatchCountdown.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js +2 -2
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatPortraitStatusStrip.js +1 -1
- package/lib/components/screens/combat/components/hud/CombatPortraitStatusStrip.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatRightHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js +2 -1
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -1
- package/lib/components/screens/combat/components/hud/FPSMonitor.js.map +1 -1
- package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js.map +1 -1
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/StaminaWarning.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js.map +1 -1
- package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -1
- package/lib/components/screens/combat/helpers/AnimationUpdater.js +4 -2
- package/lib/components/screens/combat/helpers/AnimationUpdater.js.map +1 -1
- package/lib/components/screens/combat/helpers/combatHelpers.js.map +1 -1
- package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAudio.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatLayout.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatLayout.js +11 -5
- package/lib/components/screens/combat/hooks/useCombatLayout.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatState.js.map +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.js +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -1
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/GamepadVisualization3D.js.map +1 -1
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/Key3D.js.map +1 -1
- package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -1
- package/lib/components/screens/controls/constants/ControlsConstants.js.map +1 -1
- package/lib/components/screens/controls/hooks/useControlsState.js.map +1 -1
- package/lib/components/screens/endscreen/EndScreen3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/IntroScreen3D.js +1 -1
- package/lib/components/screens/intro/IntroScreen3D.js.map +1 -1
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/StatBarOverlayHtml.js.map +1 -1
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js +1 -1
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js.map +1 -1
- package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -1
- package/lib/components/screens/training/TrainingScreen3D.js +3 -11
- package/lib/components/screens/training/TrainingScreen3D.js.map +1 -1
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/AnatomyOverlay3D.js.map +1 -1
- package/lib/components/screens/training/components/FootPlacementMarkers3D.js.map +1 -1
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/HitFeedbackEffect3D.js.map +1 -1
- package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingDummy3D.js.map +1 -1
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/VitalPointMarker3D.js.map +1 -1
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js +2 -2
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingRightHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -1
- package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts +1 -0
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingActions.js +6 -4
- package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingLayout.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingLayout.js +11 -5
- package/lib/components/screens/training/hooks/useTrainingLayout.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingState.js.map +1 -1
- package/lib/components/shared/base/BaseButton.js.map +1 -1
- package/lib/components/shared/base/BaseButtonOverlayHtml.js.map +1 -1
- package/lib/components/shared/base/BasePanel.js.map +1 -1
- package/lib/components/shared/base/BaseText.js.map +1 -1
- package/lib/components/shared/base/useKoreanTheme.js.map +1 -1
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js.map +1 -1
- package/lib/components/shared/mobile/ActionButtons.js.map +1 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.js.map +1 -1
- package/lib/components/shared/mobile/HapticController.js.map +1 -1
- package/lib/components/shared/mobile/MobileControlsPure.js.map +1 -1
- package/lib/components/shared/mobile/StanceWheelPure.js.map +1 -1
- package/lib/components/shared/mobile/TouchOptimizer.js.map +1 -1
- package/lib/components/shared/mobile/VirtualDPad.js.map +1 -1
- package/lib/components/shared/three/anatomy/BodySurface.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneClothing.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneRenderer.js.map +1 -1
- package/lib/components/shared/three/anatomy/Face3D.js.map +1 -1
- package/lib/components/shared/three/anatomy/Foot3D.js.map +1 -1
- package/lib/components/shared/three/anatomy/Hand3D.js.map +1 -1
- package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -1
- package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -1
- package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -1
- package/lib/components/shared/three/effects/PlayerStateIndicators.js.map +1 -1
- package/lib/components/shared/three/effects/StanceSymbol3D.js.map +1 -1
- package/lib/components/shared/three/effects/StanceTransitionEffect.js.map +1 -1
- package/lib/components/shared/three/effects/VitalPointMarkers3D.js.map +1 -1
- package/lib/components/shared/three/indicators/ElementalColorSystem.js.map +1 -1
- package/lib/components/shared/three/indicators/GuardIndicator.js.map +1 -1
- package/lib/components/shared/three/indicators/HapticFeedback.js.map +1 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js.map +1 -1
- package/lib/components/shared/three/models/Player3DWithTransitions.js.map +1 -1
- package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -1
- package/lib/components/shared/three/models/SkeletalPlayer3D.js +7 -5
- package/lib/components/shared/three/models/SkeletalPlayer3D.js.map +1 -1
- package/lib/components/shared/three/optimization/AdaptiveQuality.js.map +1 -1
- package/lib/components/shared/three/scene/AtmosphericParticles3D.js.map +1 -1
- package/lib/components/shared/three/scene/BackgroundScene3D.js.map +1 -1
- package/lib/components/shared/three/scene/CombatArena3D.js.map +1 -1
- package/lib/components/shared/three/scene/KoreanSignage3D.js.map +1 -1
- package/lib/components/shared/three/ui/ArchetypeCard.js.map +1 -1
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.js.map +1 -1
- package/lib/components/shared/three/ui/BreathingIndicator2.js.map +1 -1
- package/lib/components/shared/three/ui/CombatReadinessBar.js.map +1 -1
- package/lib/components/shared/three/ui/ComboCounter.js.map +1 -1
- package/lib/components/shared/three/ui/HealthBar.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanButton.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanPanel.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanText.js.map +1 -1
- package/lib/components/shared/three/ui/MenuList.js.map +1 -1
- package/lib/components/shared/three/ui/PlayerHUD.js.map +1 -1
- package/lib/components/shared/three/ui/ProgressBar.js.map +1 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js.map +1 -1
- package/lib/components/shared/three/ui/StaminaBar.js.map +1 -1
- package/lib/components/shared/three/ui/TechniqueBar.js.map +1 -1
- package/lib/components/shared/three/ui/TechniqueCard.js.map +1 -1
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js.map +1 -1
- package/lib/components/shared/ui/BackButton.js.map +1 -1
- package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -1
- package/lib/components/shared/ui/CombatTimer.js.map +1 -1
- package/lib/components/shared/ui/ErrorModal.js.map +1 -1
- package/lib/components/shared/ui/LoadingState.js.map +1 -1
- package/lib/components/shared/ui/SplashScreen.js +2 -2
- package/lib/components/shared/ui/SplashScreen.js.map +1 -1
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.js.map +1 -1
- package/lib/components/shared/ui/VolumeControl.js.map +1 -1
- package/lib/components/shared/ui/shared/ConfirmDialog.js.map +1 -1
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js.map +1 -1
- package/lib/constants/bodyDimensions.js.map +1 -1
- package/lib/constants/bodyRenderingConstants.js.map +1 -1
- package/lib/data/archetypeClothing.js.map +1 -1
- package/lib/data/archetypePhysicalAttributes.js.map +1 -1
- package/lib/data/techniqueMappings.js.map +1 -1
- package/lib/data/techniques.js.map +1 -1
- package/lib/hooks/useActionFeedback.js.map +1 -1
- package/lib/hooks/useBalanceAnimations.js.map +1 -1
- package/lib/hooks/useCombatTimer.js.map +1 -1
- package/lib/hooks/useDebounce.js.map +1 -1
- package/lib/hooks/useHUDLayout.d.ts.map +1 -1
- package/lib/hooks/useHUDLayout.js +3 -2
- package/lib/hooks/useHUDLayout.js.map +1 -1
- package/lib/hooks/useHandPoseTransitions.js.map +1 -1
- package/lib/hooks/useKeyboardControls.js.map +1 -1
- package/lib/hooks/useMatchCountdown.js.map +1 -1
- package/lib/hooks/useMuscleActivation.js.map +1 -1
- package/lib/hooks/usePauseMenu.js.map +1 -1
- package/lib/hooks/usePlayerAnimation.js.map +1 -1
- package/lib/hooks/useResponsiveLayout.js.map +1 -1
- package/lib/hooks/useRoundTransition.js.map +1 -1
- package/lib/hooks/useSkeletalAnimation.d.ts.map +1 -1
- package/lib/hooks/useSkeletalAnimation.js +1 -1
- package/lib/hooks/useSkeletalAnimation.js.map +1 -1
- package/lib/hooks/useTechniqueSelection.js.map +1 -1
- package/lib/hooks/useThrottle.js.map +1 -1
- package/lib/hooks/useTouchControls.js.map +1 -1
- package/lib/hooks/useWebGLContextLossHandler.js.map +1 -1
- package/lib/hooks/useWindowSize.js.map +1 -1
- package/lib/systems/CombatSystem.js.map +1 -1
- package/lib/systems/EffectCalculator.js.map +1 -1
- package/lib/systems/LayoutSystem.js.map +1 -1
- package/lib/systems/PlayerEffectManager.js.map +1 -1
- package/lib/systems/ResponsiveScaling.js.map +1 -1
- package/lib/systems/TrigramSystem.js.map +1 -1
- package/lib/systems/VitalPointSystem.js.map +1 -1
- package/lib/systems/ai/AIPersonality.js.map +1 -1
- package/lib/systems/ai/AdaptiveDifficulty.js +16 -16
- package/lib/systems/ai/AdaptiveDifficulty.js.map +1 -1
- package/lib/systems/ai/ArchetypeEnforcer.js.map +1 -1
- package/lib/systems/ai/ComboSystem.js.map +1 -1
- package/lib/systems/ai/DecisionTree.js.map +1 -1
- package/lib/systems/ai/TrainingAI.js.map +1 -1
- package/lib/systems/ai/types.js.map +1 -1
- package/lib/systems/animation/builders/AnimationBuilder.js.map +1 -1
- package/lib/systems/animation/builders/HandPoseApplicator.js.map +1 -1
- package/lib/systems/animation/builders/HandPoses.js.map +1 -1
- package/lib/systems/animation/builders/KeyframeConfig.js.map +1 -1
- package/lib/systems/animation/builders/KeyframeInterpolation.js.map +1 -1
- package/lib/systems/animation/builders/KickPhaseApplicator.d.ts +6 -0
- package/lib/systems/animation/builders/KickPhaseApplicator.d.ts.map +1 -1
- package/lib/systems/animation/builders/KickPhaseApplicator.js +16 -9
- package/lib/systems/animation/builders/KickPhaseApplicator.js.map +1 -1
- package/lib/systems/animation/builders/KoreanGuardPositions.d.ts +4 -4
- package/lib/systems/animation/builders/KoreanGuardPositions.js.map +1 -1
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts +1 -1
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts.map +1 -1
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js +5 -5
- package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js.map +1 -1
- package/lib/systems/animation/builders/MartialArtsConstants.d.ts +112 -71
- package/lib/systems/animation/builders/MartialArtsConstants.d.ts.map +1 -1
- package/lib/systems/animation/builders/MartialArtsConstants.js +113 -72
- package/lib/systems/animation/builders/MartialArtsConstants.js.map +1 -1
- package/lib/systems/animation/builders/MartialPoseApplicator.js.map +1 -1
- package/lib/systems/animation/builders/PunchPhaseApplicator.js.map +1 -1
- package/lib/systems/animation/builders/SkeletonRig.js.map +1 -1
- package/lib/systems/animation/builders/TrigramGuardApplicator.js.map +1 -1
- package/lib/systems/animation/catalogs/AttackAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/BasicAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/ComboAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/DarkOpsAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/DefensiveAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/ElbowKneeAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/GamRedirectionAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/GamStanceAnimations.js +21 -0
- package/lib/systems/animation/catalogs/GamStanceAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.js +34 -2
- package/lib/systems/animation/catalogs/GamTechniqueAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/GanStanceAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/GanTechniqueAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/GeonStanceAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts +9 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts.map +1 -1
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.js +288 -0
- package/lib/systems/animation/catalogs/GonTechniqueAnimations.js.map +1 -0
- package/lib/systems/animation/catalogs/GrapplingAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/JinStanceAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/JinTechniqueAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/KickAnimations.d.ts +2 -2
- package/lib/systems/animation/catalogs/KickAnimations.js +2 -2
- package/lib/systems/animation/catalogs/KickAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/LiStanceAnimations.js +14 -1
- package/lib/systems/animation/catalogs/LiStanceAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/LiTechniqueAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/MovementAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/PunchAnimations.d.ts +1 -1
- package/lib/systems/animation/catalogs/PunchAnimations.js +1 -1
- package/lib/systems/animation/catalogs/PunchAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/RecoveryAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/SonStanceAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/SonTechniqueAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/StanceAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/StanceAttackAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts +6 -6
- package/lib/systems/animation/catalogs/StanceGuardPoses.js +36 -36
- package/lib/systems/animation/catalogs/StanceGuardPoses.js.map +1 -1
- package/lib/systems/animation/catalogs/StanceIdleAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/StepSkeletalAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/TaeJointLockAnimations.js.map +1 -1
- package/lib/systems/animation/catalogs/TaeStanceAnimations.js.map +1 -1
- package/lib/systems/animation/constants/AnatomicalLimits.js.map +1 -1
- package/lib/systems/animation/core/AnimationHitTiming.js.map +1 -1
- package/lib/systems/animation/core/AnimationOptimizations.js.map +1 -1
- package/lib/systems/animation/core/AnimationPriority.js +15 -15
- package/lib/systems/animation/core/AnimationPriority.js.map +1 -1
- package/lib/systems/animation/core/AnimationRegistry.d.ts +30 -0
- package/lib/systems/animation/core/AnimationRegistry.d.ts.map +1 -1
- package/lib/systems/animation/core/AnimationRegistry.js +74 -12
- package/lib/systems/animation/core/AnimationRegistry.js.map +1 -1
- package/lib/systems/animation/core/AnimationStateMachine.js +16 -16
- package/lib/systems/animation/core/AnimationStateMachine.js.map +1 -1
- package/lib/systems/animation/core/AnimationTransitions.d.ts.map +1 -1
- package/lib/systems/animation/core/AnimationTransitions.js +34 -0
- package/lib/systems/animation/core/AnimationTransitions.js.map +1 -1
- package/lib/systems/animation/core/LateralityTransform.js.map +1 -1
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.js.map +1 -1
- package/lib/systems/animation/core/TechniqueAnimationMapper.js.map +1 -1
- package/lib/systems/animation/core/TechniqueAnimationMapping.js.map +1 -1
- package/lib/systems/animation/core/index.d.ts +1 -1
- package/lib/systems/animation/core/index.d.ts.map +1 -1
- package/lib/systems/animation/core/types.d.ts +24 -0
- package/lib/systems/animation/core/types.d.ts.map +1 -1
- package/lib/systems/animation/core/types.js +27 -11
- package/lib/systems/animation/core/types.js.map +1 -1
- package/lib/systems/animation/systems/AdvancedJointMovements.js.map +1 -1
- package/lib/systems/animation/systems/BodyFacingSystem.js.map +1 -1
- package/lib/systems/animation/systems/FacialExpressions.js.map +1 -1
- package/lib/systems/animation/systems/FallAnimations.js.map +1 -1
- package/lib/systems/animation/systems/MuscleActivation.js.map +1 -1
- package/lib/systems/bodypart/BodyPartDamageIntegration.js.map +1 -1
- package/lib/systems/bodypart/BodyPartHealthSystem.js.map +1 -1
- package/lib/systems/bodypart/BodyPartPositionMapping.js.map +1 -1
- package/lib/systems/bodypart/CombatInjuryIntegration.js.map +1 -1
- package/lib/systems/bodypart/InjuryIntegration.js.map +1 -1
- package/lib/systems/bodypart/InjuryTracker.js.map +1 -1
- package/lib/systems/bodypart/MovementPenaltySystem.js.map +1 -1
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js.map +1 -1
- package/lib/systems/bodypart/types.js.map +1 -1
- package/lib/systems/breathing/BreathingDisruptionSystem.js +19 -19
- package/lib/systems/breathing/BreathingDisruptionSystem.js.map +1 -1
- package/lib/systems/breathing/feedback.js.map +1 -1
- package/lib/systems/breathing/integration.js.map +1 -1
- package/lib/systems/combat/BalanceSystem.js +19 -19
- package/lib/systems/combat/BalanceSystem.js.map +1 -1
- package/lib/systems/combat/BreakingStatusEffects.js.map +1 -1
- package/lib/systems/combat/CombatStateSystem.js +17 -17
- package/lib/systems/combat/CombatStateSystem.js.map +1 -1
- package/lib/systems/combat/ConsciousnessSystem.js +24 -24
- package/lib/systems/combat/ConsciousnessSystem.js.map +1 -1
- package/lib/systems/combat/FallIntegration.js.map +1 -1
- package/lib/systems/combat/GrappleSystem.js.map +1 -1
- package/lib/systems/combat/LimbExposureSystem.js.map +1 -1
- package/lib/systems/combat/PainResponseSystem.js +21 -21
- package/lib/systems/combat/PainResponseSystem.js.map +1 -1
- package/lib/systems/combat/TrainingCombatSystem.js.map +1 -1
- package/lib/systems/combat/painConsciousnessUtils.js.map +1 -1
- package/lib/systems/combat/typeGuards.js.map +1 -1
- package/lib/systems/effects.js.map +1 -1
- package/lib/systems/game.js.map +1 -1
- package/lib/systems/movement/InjuryMovementModifier.js.map +1 -1
- package/lib/systems/movement/helpers/AccelerationUpdater.js.map +1 -1
- package/lib/systems/movement/helpers/accelerationUtils.js.map +1 -1
- package/lib/systems/movement/integration.js.map +1 -1
- package/lib/systems/physics/AttackMovementPhysics.js.map +1 -1
- package/lib/systems/physics/CollisionDetection.js.map +1 -1
- package/lib/systems/physics/CoordinateMapper.js.map +1 -1
- package/lib/systems/physics/KnockbackPhysics.js.map +1 -1
- package/lib/systems/physics/MovementPhysics.js.map +1 -1
- package/lib/systems/physics/PhysicalReachCalculator.js.map +1 -1
- package/lib/systems/physics/SpeedModifierSystem.js +6 -6
- package/lib/systems/physics/SpeedModifierSystem.js.map +1 -1
- package/lib/systems/trigram/KoreanCulture.js.map +1 -1
- package/lib/systems/trigram/KoreanTechniques.js.map +1 -1
- package/lib/systems/trigram/StanceManager.js.map +1 -1
- package/lib/systems/trigram/TransitionCalculator.js.map +1 -1
- package/lib/systems/trigram/TrigramCalculator.js.map +1 -1
- package/lib/systems/trigram/techniques/DarkOpsTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/GamTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/GanTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/GeonTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/GonTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/JinTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/LiTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/SonTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/TaeTechniques.js.map +1 -1
- package/lib/systems/trigram/techniques/TechniqueConfig.js.map +1 -1
- package/lib/systems/trigram/techniques/index.js.map +1 -1
- package/lib/systems/trigram/types/GonTechniqueExtensions.js.map +1 -1
- package/lib/systems/trigram/types.js.map +1 -1
- package/lib/systems/types.js.map +1 -1
- package/lib/systems/vitalpoint/DamageCalculator.js.map +1 -1
- package/lib/systems/vitalpoint/HitDetection.js.map +1 -1
- package/lib/systems/vitalpoint/KoreanAnatomy.js.map +1 -1
- package/lib/systems/vitalpoint/KoreanVitalPoints.js.map +1 -1
- package/lib/systems/vitalpoint/MeridianVitalPointMapping.js.map +1 -1
- package/lib/systems/vitalpoint/VitalPointsData.js.map +1 -1
- package/lib/types/AccessibilityTypes.js.map +1 -1
- package/lib/types/LayoutTypes.js.map +1 -1
- package/lib/types/PhysicsTypes.js.map +1 -1
- package/lib/types/common.js.map +1 -1
- package/lib/types/constants/animations.js.map +1 -1
- package/lib/types/constants/colors.js.map +1 -1
- package/lib/types/constants/designSystem.js.map +1 -1
- package/lib/types/constants/index.js.map +1 -1
- package/lib/types/constants/layout.d.ts +21 -0
- package/lib/types/constants/layout.d.ts.map +1 -1
- package/lib/types/constants/layout.js +22 -1
- package/lib/types/constants/layout.js.map +1 -1
- package/lib/types/constants/performance.js.map +1 -1
- package/lib/types/constants/typography.js.map +1 -1
- package/lib/types/constants/ui.js.map +1 -1
- package/lib/types/facial.js +19 -19
- package/lib/types/facial.js.map +1 -1
- package/lib/types/hand-animation.js.map +1 -1
- package/lib/types/injury.js.map +1 -1
- package/lib/types/muscle.js.map +1 -1
- package/lib/types/physics.js.map +1 -1
- package/lib/types/physicsConstants.js.map +1 -1
- package/lib/types/player-visual.d.ts +1 -1
- package/lib/types/player-visual.d.ts.map +1 -1
- package/lib/types/skeletal.js.map +1 -1
- package/lib/types/techniqueId.js.map +1 -1
- package/lib/utils/accessibility.js.map +1 -1
- package/lib/utils/arenaWorldDimensions.js.map +1 -1
- package/lib/utils/assetConfig.js.map +1 -1
- package/lib/utils/characterScaling.js.map +1 -1
- package/lib/utils/colorHelpers.js.map +1 -1
- package/lib/utils/colorUtils.js.map +1 -1
- package/lib/utils/combatReadiness.js.map +1 -1
- package/lib/utils/controlMapping.js.map +1 -1
- package/lib/utils/deviceDetection.js +6 -7
- package/lib/utils/deviceDetection.js.map +1 -1
- package/lib/utils/effectUtils.js.map +1 -1
- package/lib/utils/fabricTextures.js.map +1 -1
- package/lib/utils/hapticFeedback.js.map +1 -1
- package/lib/utils/haptics.js.map +1 -1
- package/lib/utils/htmlOverlayHelpers.js.map +1 -1
- package/lib/utils/inputSystem.js.map +1 -1
- package/lib/utils/koreanThemeHelpers.js.map +1 -1
- package/lib/utils/math.js.map +1 -1
- package/lib/utils/mobileLayoutHelpers.js.map +1 -1
- package/lib/utils/mobileUIUtils.js.map +1 -1
- package/lib/utils/performance/PerformanceMonitor.js.map +1 -1
- package/lib/utils/performance/PerformanceOverlay3D.js.map +1 -1
- package/lib/utils/performance/usePerformanceMonitor.js.map +1 -1
- package/lib/utils/performanceOptimization.js.map +1 -1
- package/lib/utils/player3DHelpers.js.map +1 -1
- package/lib/utils/playerUtils.js.map +1 -1
- package/lib/utils/responsiveLayout.js.map +1 -1
- package/lib/utils/responsiveLayoutHelpers.d.ts +7 -0
- package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -1
- package/lib/utils/responsiveLayoutHelpers.js +16 -2
- package/lib/utils/responsiveLayoutHelpers.js.map +1 -1
- package/lib/utils/responsiveOrientationConstants.js.map +1 -1
- package/lib/utils/safeAreaUtils.js.map +1 -1
- package/lib/utils/sharedPhysicsConfig.js.map +1 -1
- package/lib/utils/skeletonScaling.js.map +1 -1
- package/lib/utils/stanceHelpers.js.map +1 -1
- package/lib/utils/threeObjectPool.js.map +1 -1
- package/lib/utils/visualEffects.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TechniqueAnimationMapping.js","names":[],"sources":["../../../../src/systems/animation/core/TechniqueAnimationMapping.ts"],"sourcesContent":["/**\n * Technique Animation Mapping\n *\n * Maps technique IDs directly to animation types for reliable lookup.\n * This file is the source of truth for technique-to-animation relationships.\n *\n * 기술과 애니메이션의 직접 매핑\n * 기술 ID에서 애니메이션 타입으로의 확실한 조회를 위한 매핑 파일\n *\n * @module systems/animation/TechniqueAnimationMapping\n * @korean 기술애니메이션매핑\n */\n\nimport { AnimationType } from \"../builders/MartialArtsAnimationBuilder\";\n\n/**\n * Speed modifier for animation playback\n * Higher values = faster animation\n */\nexport interface AnimationConfig {\n readonly type: AnimationType;\n readonly speed: number;\n}\n\n/**\n * Default animation configurations by type\n */\nconst DEFAULT_CONFIGS: Partial<Record<AnimationType, AnimationConfig>> = {\n // Kicks (발차기)\n [AnimationType.FRONT_KICK]: { type: AnimationType.FRONT_KICK, speed: 1.0 },\n [AnimationType.ROUNDHOUSE_KICK]: {\n type: AnimationType.ROUNDHOUSE_KICK,\n speed: 1.0,\n },\n [AnimationType.SIDE_KICK]: { type: AnimationType.SIDE_KICK, speed: 1.0 },\n [AnimationType.AXE_KICK]: { type: AnimationType.AXE_KICK, speed: 0.9 },\n [AnimationType.BACK_KICK]: { type: AnimationType.BACK_KICK, speed: 1.0 },\n [AnimationType.TORNADO_KICK]: {\n type: AnimationType.TORNADO_KICK,\n speed: 1.1,\n },\n [AnimationType.JUMPING_KICK]: {\n type: AnimationType.JUMPING_KICK,\n speed: 1.0,\n },\n [AnimationType.LOW_KICK]: { type: AnimationType.LOW_KICK, speed: 1.1 },\n [AnimationType.CRESCENT_KICK]: {\n type: AnimationType.CRESCENT_KICK,\n speed: 1.0,\n },\n [AnimationType.PUSH_KICK]: { type: AnimationType.PUSH_KICK, speed: 1.1 },\n [AnimationType.SPINNING_HEEL_KICK]: {\n type: AnimationType.SPINNING_HEEL_KICK,\n speed: 0.95,\n },\n\n // Punches (주먹)\n [AnimationType.JAB]: { type: AnimationType.JAB, speed: 1.2 },\n [AnimationType.CROSS]: { type: AnimationType.CROSS, speed: 1.1 },\n [AnimationType.HOOK]: { type: AnimationType.HOOK, speed: 1.0 },\n [AnimationType.UPPERCUT]: { type: AnimationType.UPPERCUT, speed: 1.0 },\n [AnimationType.OVERHAND]: { type: AnimationType.OVERHAND, speed: 0.95 },\n [AnimationType.PALM_STRIKE]: { type: AnimationType.PALM_STRIKE, speed: 1.0 },\n [AnimationType.BACKFIST]: { type: AnimationType.BACKFIST, speed: 1.05 },\n [AnimationType.HAMMER_FIST]: { type: AnimationType.HAMMER_FIST, speed: 1.0 },\n\n // ═══ SPECIALIZED JAB VARIANTS (잽 변형) ═══\n [AnimationType.SPEAR_HAND_STRIKE]: {\n type: AnimationType.SPEAR_HAND_STRIKE,\n speed: 1.3,\n },\n [AnimationType.NERVE_STRIKE]: {\n type: AnimationType.NERVE_STRIKE,\n speed: 1.2,\n },\n [AnimationType.PRESSURE_POINT_STRIKE]: {\n type: AnimationType.PRESSURE_POINT_STRIKE,\n speed: 1.0,\n },\n [AnimationType.LIGHTNING_STRIKE]: {\n type: AnimationType.LIGHTNING_STRIKE,\n speed: 1.4,\n },\n [AnimationType.RAPID_BARRAGE]: {\n type: AnimationType.RAPID_BARRAGE,\n speed: 1.5,\n },\n [AnimationType.RHYTHMIC_STRIKES]: {\n type: AnimationType.RHYTHMIC_STRIKES,\n speed: 1.3,\n },\n [AnimationType.NERVE_PARALYSIS]: {\n type: AnimationType.NERVE_PARALYSIS,\n speed: 1.1,\n },\n [AnimationType.THROAT_STRIKE]: {\n type: AnimationType.THROAT_STRIKE,\n speed: 1.2,\n },\n [AnimationType.EYE_GOUGE]: { type: AnimationType.EYE_GOUGE, speed: 1.3 },\n\n // ═══ SPECIALIZED CROSS VARIANTS (크로스 변형) ═══\n [AnimationType.HEAVEN_STRIKE]: {\n type: AnimationType.HEAVEN_STRIKE,\n speed: 1.0,\n },\n [AnimationType.FLOWING_CROSS]: {\n type: AnimationType.FLOWING_CROSS,\n speed: 1.2,\n },\n\n // ═══ SPECIALIZED PALM STRIKES (장권 변형) ═══\n [AnimationType.SOLAR_PLEXUS_STRIKE]: {\n type: AnimationType.SOLAR_PLEXUS_STRIKE,\n speed: 1.1,\n },\n [AnimationType.FLOWING_PUSH]: {\n type: AnimationType.FLOWING_PUSH,\n speed: 1.1,\n },\n [AnimationType.LIVER_DISRUPTION]: {\n type: AnimationType.LIVER_DISRUPTION,\n speed: 1.0,\n },\n [AnimationType.EAR_STRIKE]: { type: AnimationType.EAR_STRIKE, speed: 1.2 },\n\n // Elbow/Knee (팔꿈치/무릎)\n [AnimationType.ELBOW_STRIKE]: {\n type: AnimationType.ELBOW_STRIKE,\n speed: 1.1,\n },\n [AnimationType.ELBOW_UPPERCUT]: {\n type: AnimationType.ELBOW_UPPERCUT,\n speed: 1.0,\n },\n [AnimationType.SPINNING_ELBOW]: {\n type: AnimationType.SPINNING_ELBOW,\n speed: 0.95,\n },\n [AnimationType.KNEE_STRIKE]: { type: AnimationType.KNEE_STRIKE, speed: 1.0 },\n [AnimationType.FLYING_KNEE]: { type: AnimationType.FLYING_KNEE, speed: 0.95 },\n\n // ═══ SPECIALIZED ELBOW VARIANTS (팔꿈치 변형) ═══\n [AnimationType.TEMPLE_ELBOW]: {\n type: AnimationType.TEMPLE_ELBOW,\n speed: 1.1,\n },\n [AnimationType.SPINNING_BACK_ELBOW]: {\n type: AnimationType.SPINNING_BACK_ELBOW,\n speed: 1.2,\n },\n [AnimationType.SPINAL_ELBOW]: {\n type: AnimationType.SPINAL_ELBOW,\n speed: 1.0,\n },\n [AnimationType.BRACHIAL_ELBOW]: {\n type: AnimationType.BRACHIAL_ELBOW,\n speed: 1.1,\n },\n\n // ═══ SPECIALIZED KNEE VARIANTS (무릎 변형) ═══\n [AnimationType.KIDNEY_KNEE]: { type: AnimationType.KIDNEY_KNEE, speed: 1.0 },\n [AnimationType.FEMORAL_KNEE]: {\n type: AnimationType.FEMORAL_KNEE,\n speed: 1.0,\n },\n\n // Grappling (잡기)\n [AnimationType.THROW]: { type: AnimationType.THROW, speed: 0.9 },\n [AnimationType.GRAPPLE]: { type: AnimationType.GRAPPLE, speed: 0.85 },\n [AnimationType.SWEEP]: { type: AnimationType.SWEEP, speed: 1.0 },\n [AnimationType.SLAM]: { type: AnimationType.SLAM, speed: 0.9 },\n [AnimationType.WRIST_LOCK]: { type: AnimationType.WRIST_LOCK, speed: 0.85 },\n [AnimationType.ARM_BAR]: { type: AnimationType.ARM_BAR, speed: 0.8 },\n [AnimationType.SHOULDER_LOCK]: {\n type: AnimationType.SHOULDER_LOCK,\n speed: 0.85,\n },\n [AnimationType.HIP_THROW]: { type: AnimationType.HIP_THROW, speed: 0.9 },\n [AnimationType.LEG_REAP]: { type: AnimationType.LEG_REAP, speed: 1.0 },\n\n // ═══ SPECIALIZED GRAPPLE VARIANTS (잡기 변형) ═══\n [AnimationType.SMALL_CIRCLE_LOCK]: {\n type: AnimationType.SMALL_CIRCLE_LOCK,\n speed: 0.85,\n },\n [AnimationType.FINGER_LOCK]: {\n type: AnimationType.FINGER_LOCK,\n speed: 0.9,\n },\n [AnimationType.ELBOW_LOCK]: { type: AnimationType.ELBOW_LOCK, speed: 0.8 },\n [AnimationType.SHOULDER_MANIPULATION]: {\n type: AnimationType.SHOULDER_MANIPULATION,\n speed: 0.8,\n },\n [AnimationType.MOUNTAIN_LOCK]: {\n type: AnimationType.MOUNTAIN_LOCK,\n speed: 0.8,\n },\n [AnimationType.EARTH_EMBRACE]: {\n type: AnimationType.EARTH_EMBRACE,\n speed: 0.85,\n },\n [AnimationType.CAROTID_CHOKE]: {\n type: AnimationType.CAROTID_CHOKE,\n speed: 0.9,\n },\n [AnimationType.REAR_NAKED_CHOKE]: {\n type: AnimationType.REAR_NAKED_CHOKE,\n speed: 0.8,\n },\n\n // ═══ SPECIALIZED THROW VARIANTS (던지기 변형) ═══\n [AnimationType.REDIRECT_THROW]: {\n type: AnimationType.REDIRECT_THROW,\n speed: 0.9,\n },\n [AnimationType.HIP_WHEEL_THROW]: {\n type: AnimationType.HIP_WHEEL_THROW,\n speed: 0.85,\n },\n [AnimationType.SSIREUM_THROW]: {\n type: AnimationType.SSIREUM_THROW,\n speed: 0.9,\n },\n [AnimationType.SACRIFICE_THROW]: {\n type: AnimationType.SACRIFICE_THROW,\n speed: 0.8,\n },\n\n // ═══ SPECIALIZED SWEEP VARIANTS (쓸기 변형) ═══\n [AnimationType.ANKLE_PICK]: { type: AnimationType.ANKLE_PICK, speed: 1.1 },\n [AnimationType.ACHILLES_ATTACK]: {\n type: AnimationType.ACHILLES_ATTACK,\n speed: 1.2,\n },\n\n // ═══ SPECIALIZED SLAM VARIANTS (슬램 변형) ═══\n [AnimationType.BODY_LOCK_SLAM]: {\n type: AnimationType.BODY_LOCK_SLAM,\n speed: 0.85,\n },\n\n // ═══ SPECIALIZED WRIST LOCK VARIANTS (손목꺾기 변형) ═══\n [AnimationType.WRIST_TWIST_COUNTER]: {\n type: AnimationType.WRIST_TWIST_COUNTER,\n speed: 0.9,\n },\n\n // Counters (반격)\n [AnimationType.COUNTER_ATTACK]: {\n type: AnimationType.COUNTER_ATTACK,\n speed: 1.1,\n },\n [AnimationType.COUNTER_STRIKE]: {\n type: AnimationType.COUNTER_STRIKE,\n speed: 1.1,\n },\n [AnimationType.PARRY_COUNTER]: {\n type: AnimationType.PARRY_COUNTER,\n speed: 1.1,\n },\n\n // ═══ SPECIALIZED COUNTER VARIANTS (반격 변형) ═══\n [AnimationType.WATER_COUNTER]: {\n type: AnimationType.WATER_COUNTER,\n speed: 1.0,\n },\n [AnimationType.ROCK_COUNTER]: {\n type: AnimationType.ROCK_COUNTER,\n speed: 1.1,\n },\n\n // Defense (방어)\n [AnimationType.BLOCK]: { type: AnimationType.BLOCK, speed: 1.0 },\n [AnimationType.BLOCK_HIGH]: { type: AnimationType.BLOCK_HIGH, speed: 1.0 },\n [AnimationType.BLOCK_LOW]: { type: AnimationType.BLOCK_LOW, speed: 1.0 },\n [AnimationType.PARRY]: { type: AnimationType.PARRY, speed: 1.1 },\n\n // ═══ SPECIALIZED BLOCK VARIANTS (방어 변형) ═══\n [AnimationType.FLOWING_BLOCK]: {\n type: AnimationType.FLOWING_BLOCK,\n speed: 1.0,\n },\n [AnimationType.CIRCULAR_PARRY]: {\n type: AnimationType.CIRCULAR_PARRY,\n speed: 1.1,\n },\n [AnimationType.ROCK_DEFENSE]: {\n type: AnimationType.ROCK_DEFENSE,\n speed: 0.9,\n },\n [AnimationType.IRON_BLOCK]: { type: AnimationType.IRON_BLOCK, speed: 0.85 },\n [AnimationType.FLOW_DEFENSE]: {\n type: AnimationType.FLOW_DEFENSE,\n speed: 1.0,\n },\n [AnimationType.IMMOVABLE_BLOCK]: {\n type: AnimationType.IMMOVABLE_BLOCK,\n speed: 0.85,\n },\n [AnimationType.EXPLOSIVE_BLOCK]: {\n type: AnimationType.EXPLOSIVE_BLOCK,\n speed: 1.1,\n },\n [AnimationType.CONTINUOUS_DEFLECTION]: {\n type: AnimationType.CONTINUOUS_DEFLECTION,\n speed: 1.2,\n },\n [AnimationType.PRECISION_PARRY]: {\n type: AnimationType.PRECISION_PARRY,\n speed: 1.1,\n },\n [AnimationType.JOINT_LOCK_DEFENSE]: {\n type: AnimationType.JOINT_LOCK_DEFENSE,\n speed: 0.9,\n },\n [AnimationType.SWEEP_DEFENSE]: {\n type: AnimationType.SWEEP_DEFENSE,\n speed: 1.0,\n },\n [AnimationType.GROUNDING_DEFENSE]: {\n type: AnimationType.GROUNDING_DEFENSE,\n speed: 0.9,\n },\n\n // ═══ DARK OPS SPECIALIZED (암살 특수기) ═══\n [AnimationType.JAW_DISLOCATION]: {\n type: AnimationType.JAW_DISLOCATION,\n speed: 1.0,\n },\n [AnimationType.TEMPLE_STRIKE]: {\n type: AnimationType.TEMPLE_STRIKE,\n speed: 1.1,\n },\n [AnimationType.CERVICAL_TWIST]: {\n type: AnimationType.CERVICAL_TWIST,\n speed: 0.8,\n },\n [AnimationType.ELBOW_HYPEREXTEND]: {\n type: AnimationType.ELBOW_HYPEREXTEND,\n speed: 0.85,\n },\n [AnimationType.FINGER_BREAK]: {\n type: AnimationType.FINGER_BREAK,\n speed: 1.0,\n },\n [AnimationType.GUILLOTINE_CHOKE]: {\n type: AnimationType.GUILLOTINE_CHOKE,\n speed: 0.8,\n },\n [AnimationType.JUGULAR_STRIKE]: {\n type: AnimationType.JUGULAR_STRIKE,\n speed: 1.2,\n },\n [AnimationType.KNEECAP_STRIKE]: {\n type: AnimationType.KNEECAP_STRIKE,\n speed: 1.1,\n },\n [AnimationType.LARYNX_CRUSH]: {\n type: AnimationType.LARYNX_CRUSH,\n speed: 1.0,\n },\n [AnimationType.OCCIPITAL_STRIKE]: {\n type: AnimationType.OCCIPITAL_STRIKE,\n speed: 1.1,\n },\n [AnimationType.SCIATIC_NERVE_STRIKE]: {\n type: AnimationType.SCIATIC_NERVE_STRIKE,\n speed: 1.0,\n },\n [AnimationType.SILENT_TAKEDOWN]: {\n type: AnimationType.SILENT_TAKEDOWN,\n speed: 0.9,\n },\n [AnimationType.SLEEPER_HOLD]: {\n type: AnimationType.SLEEPER_HOLD,\n speed: 0.75,\n },\n [AnimationType.SPLEEN_RUPTURE]: {\n type: AnimationType.SPLEEN_RUPTURE,\n speed: 1.0,\n },\n [AnimationType.TRIANGLE_CHOKE]: {\n type: AnimationType.TRIANGLE_CHOKE,\n speed: 0.8,\n },\n [AnimationType.BRACHIAL_PLEXUS]: {\n type: AnimationType.BRACHIAL_PLEXUS,\n speed: 1.1,\n },\n [AnimationType.FEMORAL_NERVE]: {\n type: AnimationType.FEMORAL_NERVE,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL GEON (건) TECHNIQUES ═══\n [AnimationType.HIGH_BLOCK]: { type: AnimationType.HIGH_BLOCK, speed: 1.0 },\n [AnimationType.CRUSHING_ELBOW]: {\n type: AnimationType.CRUSHING_ELBOW,\n speed: 1.0,\n },\n [AnimationType.THUNDEROUS_UPPERCUT]: {\n type: AnimationType.THUNDEROUS_UPPERCUT,\n speed: 1.1,\n },\n [AnimationType.GEON_COUNTER]: {\n type: AnimationType.GEON_COUNTER,\n speed: 1.1,\n },\n [AnimationType.GEON_ROUNDHOUSE]: {\n type: AnimationType.GEON_ROUNDHOUSE,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL TAE (태) TECHNIQUES ═══\n [AnimationType.FLOWING_ARM_BAR]: {\n type: AnimationType.FLOWING_ARM_BAR,\n speed: 0.85,\n },\n [AnimationType.SPIRAL_SHOULDER_THROW]: {\n type: AnimationType.SPIRAL_SHOULDER_THROW,\n speed: 0.9,\n },\n [AnimationType.WRIST_LOCK_STRIKE]: {\n type: AnimationType.WRIST_LOCK_STRIKE,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL LI (리) TECHNIQUES ═══\n [AnimationType.PHOENIX_EYE_STRIKE]: {\n type: AnimationType.PHOENIX_EYE_STRIKE,\n speed: 1.2,\n },\n [AnimationType.NERVE_STRIKE_COUNTER]: {\n type: AnimationType.NERVE_STRIKE_COUNTER,\n speed: 1.1,\n },\n [AnimationType.SOLAR_PLEXUS_SPEAR]: {\n type: AnimationType.SOLAR_PLEXUS_SPEAR,\n speed: 1.1,\n },\n [AnimationType.LI_SOLAR_PLEXUS]: {\n type: AnimationType.LI_SOLAR_PLEXUS,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL JIN (진) TECHNIQUES ═══\n [AnimationType.EXPLOSIVE_KNEE]: {\n type: AnimationType.EXPLOSIVE_KNEE,\n speed: 1.1,\n },\n [AnimationType.LIGHTNING_STRAIGHT]: {\n type: AnimationType.LIGHTNING_STRAIGHT,\n speed: 1.3,\n },\n [AnimationType.SHOCKING_COUNTER]: {\n type: AnimationType.SHOCKING_COUNTER,\n speed: 1.2,\n },\n [AnimationType.SHOCKING_HAMMER_FIST]: {\n type: AnimationType.SHOCKING_HAMMER_FIST,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL SON (손) TECHNIQUES ═══\n [AnimationType.PENETRATING_PALM_RUSH]: {\n type: AnimationType.PENETRATING_PALM_RUSH,\n speed: 1.3,\n },\n [AnimationType.PRESSURE_COUNTER]: {\n type: AnimationType.PRESSURE_COUNTER,\n speed: 1.2,\n },\n [AnimationType.PRESSURE_POINT_CHAIN]: {\n type: AnimationType.PRESSURE_POINT_CHAIN,\n speed: 1.4,\n },\n\n // ═══ ADDITIONAL GAM (감) TECHNIQUES ═══\n [AnimationType.FLOWING_RIVER_STRIKE]: {\n type: AnimationType.FLOWING_RIVER_STRIKE,\n speed: 1.1,\n },\n [AnimationType.REDIRECTION_COUNTER]: {\n type: AnimationType.REDIRECTION_COUNTER,\n speed: 1.0,\n },\n [AnimationType.TIDAL_WAVE_PALM]: {\n type: AnimationType.TIDAL_WAVE_PALM,\n speed: 1.0,\n },\n [AnimationType.WHIRLPOOL_COUNTER]: {\n type: AnimationType.WHIRLPOOL_COUNTER,\n speed: 1.1,\n },\n\n // ═══ ADDITIONAL GAN (간) TECHNIQUES ═══\n [AnimationType.AVALANCHE_HAMMER]: {\n type: AnimationType.AVALANCHE_HAMMER,\n speed: 0.9,\n },\n [AnimationType.COUNTER_FORTRESS]: {\n type: AnimationType.COUNTER_FORTRESS,\n speed: 1.0,\n },\n [AnimationType.FORTRESS_COUNTER_STRIKE]: {\n type: AnimationType.FORTRESS_COUNTER_STRIKE,\n speed: 1.1,\n },\n [AnimationType.STONE_WALL_THRUST]: {\n type: AnimationType.STONE_WALL_THRUST,\n speed: 0.95,\n },\n\n // ═══ ADDITIONAL GON (곤) TECHNIQUES ═══\n [AnimationType.EARTHQUAKE_STOMP]: {\n type: AnimationType.EARTHQUAKE_STOMP,\n speed: 0.9,\n },\n [AnimationType.GROUND_SWEEP_STRIKE]: {\n type: AnimationType.GROUND_SWEEP_STRIKE,\n speed: 1.0,\n },\n [AnimationType.ROOTING_TAKEDOWN]: {\n type: AnimationType.ROOTING_TAKEDOWN,\n speed: 0.85,\n },\n [AnimationType.TAKEDOWN_COUNTER]: {\n type: AnimationType.TAKEDOWN_COUNTER,\n speed: 1.0,\n },\n\n // ═══ ARCHETYPE TECHNIQUES (원형 기술) ═══\n // Musa (무사) - Traditional Warrior\n [AnimationType.DRAGON_FIST]: {\n type: AnimationType.DRAGON_FIST,\n speed: 1.0,\n },\n [AnimationType.IRON_DEFENSE]: {\n type: AnimationType.IRON_DEFENSE,\n speed: 0.9,\n },\n [AnimationType.MOUNTAIN_BREAKER]: {\n type: AnimationType.MOUNTAIN_BREAKER,\n speed: 0.9,\n },\n [AnimationType.THUNDER_STRIKE]: {\n type: AnimationType.THUNDER_STRIKE,\n speed: 1.1,\n },\n\n // Amsalja (암살자) - Shadow Assassin\n [AnimationType.DEADLY_PRECISION]: {\n type: AnimationType.DEADLY_PRECISION,\n speed: 1.2,\n },\n [AnimationType.SHADOW_NERVE_STRIKE]: {\n type: AnimationType.SHADOW_NERVE_STRIKE,\n speed: 1.1,\n },\n [AnimationType.SHADOW_STRIKE]: {\n type: AnimationType.SHADOW_STRIKE,\n speed: 1.3,\n },\n [AnimationType.SILENT_DEATH]: {\n type: AnimationType.SILENT_DEATH,\n speed: 1.0,\n },\n\n // Hacker (해커) - Cyber Warrior\n [AnimationType.CYBER_OVERDRIVE]: {\n type: AnimationType.CYBER_OVERDRIVE,\n speed: 1.4,\n },\n [AnimationType.DATA_STRIKE]: {\n type: AnimationType.DATA_STRIKE,\n speed: 1.2,\n },\n [AnimationType.ELECTRIC_SHOCK]: {\n type: AnimationType.ELECTRIC_SHOCK,\n speed: 1.3,\n },\n [AnimationType.SYSTEM_CRASH]: {\n type: AnimationType.SYSTEM_CRASH,\n speed: 1.0,\n },\n\n // Jeongbo Yowon (정보요원) - Intelligence Operative\n [AnimationType.COUNTER_INTELLIGENCE]: {\n type: AnimationType.COUNTER_INTELLIGENCE,\n speed: 1.1,\n },\n [AnimationType.INTELLIGENCE_STRIKE]: {\n type: AnimationType.INTELLIGENCE_STRIKE,\n speed: 1.0,\n },\n [AnimationType.PSYCHOLOGICAL_WARFARE]: {\n type: AnimationType.PSYCHOLOGICAL_WARFARE,\n speed: 0.9,\n },\n [AnimationType.TACTICAL_STRIKE]: {\n type: AnimationType.TACTICAL_STRIKE,\n speed: 1.1,\n },\n\n // Jojik Pokryeokbae (조직폭력배) - Organized Crime\n [AnimationType.BRUTAL_TAKEDOWN]: {\n type: AnimationType.BRUTAL_TAKEDOWN,\n speed: 0.9,\n },\n [AnimationType.IMPROVISED_WEAPON]: {\n type: AnimationType.IMPROVISED_WEAPON,\n speed: 1.0,\n },\n [AnimationType.RUTHLESS_ASSAULT]: {\n type: AnimationType.RUTHLESS_ASSAULT,\n speed: 1.1,\n },\n [AnimationType.STREET_BRAWL]: {\n type: AnimationType.STREET_BRAWL,\n speed: 1.0,\n },\n\n // Movement (이동)\n [AnimationType.WALK]: { type: AnimationType.WALK, speed: 1.0 },\n [AnimationType.IDLE_STANCE]: { type: AnimationType.IDLE_STANCE, speed: 1.0 },\n [AnimationType.FORWARD_DASH]: {\n type: AnimationType.FORWARD_DASH,\n speed: 1.2,\n },\n [AnimationType.BACKWARD_RETREAT]: {\n type: AnimationType.BACKWARD_RETREAT,\n speed: 1.0,\n },\n [AnimationType.SIDE_STEP]: { type: AnimationType.SIDE_STEP, speed: 1.1 },\n [AnimationType.STEP_FORWARD]: {\n type: AnimationType.STEP_FORWARD,\n speed: 1.0,\n },\n [AnimationType.STEP_BACK]: { type: AnimationType.STEP_BACK, speed: 1.0 },\n [AnimationType.SIDESTEP]: { type: AnimationType.SIDESTEP, speed: 1.1 },\n [AnimationType.PIVOT]: { type: AnimationType.PIVOT, speed: 1.0 },\n [AnimationType.DUCK]: { type: AnimationType.DUCK, speed: 1.2 },\n [AnimationType.LEAN]: { type: AnimationType.LEAN, speed: 1.0 },\n\n // Recovery & Stance (복귀 및 자세)\n [AnimationType.RECOVERY]: { type: AnimationType.RECOVERY, speed: 1.0 },\n [AnimationType.IDLE]: { type: AnimationType.IDLE, speed: 1.0 },\n [AnimationType.STANCE]: { type: AnimationType.STANCE, speed: 1.0 },\n\n // Additional Kicks (추가 발차기)\n [AnimationType.SPINNING_HOOK]: {\n type: AnimationType.SPINNING_HOOK,\n speed: 0.95,\n },\n [AnimationType.KNEE_KICK]: { type: AnimationType.KNEE_KICK, speed: 1.0 },\n [AnimationType.FLYING_KICK]: { type: AnimationType.FLYING_KICK, speed: 0.95 },\n\n // Additional Knee/Elbow (추가 무릎/팔꿈치)\n [AnimationType.CLINCH_KNEE]: { type: AnimationType.CLINCH_KNEE, speed: 1.0 },\n\n // Additional Grappling (추가 잡기)\n [AnimationType.JOINT_LOCK]: { type: AnimationType.JOINT_LOCK, speed: 0.8 },\n [AnimationType.TAKEDOWN]: { type: AnimationType.TAKEDOWN, speed: 0.9 },\n [AnimationType.CLINCH]: { type: AnimationType.CLINCH, speed: 0.85 },\n};\n\n/**\n * Master technique-to-animation mapping\n *\n * Maps each technique ID to its animation configuration.\n * This is the canonical source of truth for animation selection.\n *\n * 기술 ID별 애니메이션 설정 마스터 매핑\n *\n * @korean 기술애니메이션매핑\n */\nexport const TECHNIQUE_ANIMATIONS: ReadonlyMap<string, AnimationConfig> =\n new Map([\n // ═══════════════════════════════════════════════════════════════════════\n // ☰ GEON (건) - HEAVEN: Direct Force (태권도 타격)\n // ═══════════════════════════════════════════════════════════════════════\n [\"geon_heaven_strike\", { type: AnimationType.HEAVEN_STRIKE, speed: 1.0 }],\n [\"geon_heavenly_fist\", { type: AnimationType.JAB, speed: 1.1 }],\n [\"geon_frontal_kick\", { type: AnimationType.FRONT_KICK, speed: 1.0 }],\n [\n \"geon_roundhouse_kick\",\n { type: AnimationType.ROUNDHOUSE_KICK, speed: 1.0 },\n ],\n [\"geon_axe_kick\", { type: AnimationType.AXE_KICK, speed: 0.9 }],\n [\"geon_palm_strike\", { type: AnimationType.PALM_STRIKE, speed: 1.0 }],\n [\"geon_elbow_smash\", { type: AnimationType.ELBOW_STRIKE, speed: 1.1 }],\n [\"geon_high_block\", { type: AnimationType.HIGH_BLOCK, speed: 1.0 }],\n [\"geon_crushing_elbow\", { type: AnimationType.CRUSHING_ELBOW, speed: 1.0 }],\n [\n \"geon_thunderous_uppercut\",\n { type: AnimationType.THUNDEROUS_UPPERCUT, speed: 1.1 },\n ],\n [\"geon_counter_strike\", { type: AnimationType.GEON_COUNTER, speed: 1.1 }],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☱ TAE (태) - LAKE: Fluid Joint Manipulation (합기도)\n // ═══════════════════════════════════════════════════════════════════════\n [\"tae_flowing_strikes\", { type: AnimationType.FLOWING_CROSS, speed: 1.2 }],\n [\"tae_wrist_lock\", { type: AnimationType.WRIST_LOCK, speed: 0.85 }],\n [\n \"tae_small_circle\",\n { type: AnimationType.SMALL_CIRCLE_LOCK, speed: 0.85 },\n ],\n [\"tae_finger_lock\", { type: AnimationType.FINGER_LOCK, speed: 0.9 }],\n [\"tae_elbow_lock\", { type: AnimationType.ELBOW_LOCK, speed: 0.8 }],\n [\n \"tae_shoulder_lock\",\n { type: AnimationType.SHOULDER_MANIPULATION, speed: 0.8 },\n ],\n [\"tae_arm_bar\", { type: AnimationType.ARM_BAR, speed: 0.75 }],\n [\n \"tae_flowing_arm_bar\",\n { type: AnimationType.FLOWING_ARM_BAR, speed: 0.85 },\n ],\n [\n \"tae_joint_lock_defense\",\n { type: AnimationType.JOINT_LOCK_DEFENSE, speed: 0.9 },\n ],\n [\n \"tae_spiral_shoulder_throw\",\n { type: AnimationType.SPIRAL_SHOULDER_THROW, speed: 0.9 },\n ],\n [\"tae_sweep_defense\", { type: AnimationType.SWEEP_DEFENSE, speed: 1.0 }],\n [\n \"tae_wrist_lock_strike\",\n { type: AnimationType.WRIST_LOCK_STRIKE, speed: 1.0 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☲ LI (리) - FIRE: Precision Nerve Strikes (정밀 타격)\n // ═══════════════════════════════════════════════════════════════════════\n [\"li_flame_spear\", { type: AnimationType.SPEAR_HAND_STRIKE, speed: 1.3 }],\n [\"li_temple_strike\", { type: AnimationType.TEMPLE_ELBOW, speed: 1.1 }],\n [\"li_nerve_strike\", { type: AnimationType.NERVE_STRIKE, speed: 1.2 }],\n [\"li_sidekick\", { type: AnimationType.SIDE_KICK, speed: 1.0 }],\n [\n \"li_pressure_point\",\n { type: AnimationType.PRESSURE_POINT_STRIKE, speed: 1.0 },\n ],\n [\n \"li_solar_plexus_strike\",\n { type: AnimationType.SOLAR_PLEXUS_STRIKE, speed: 1.1 },\n ],\n [\n \"li_phoenix_eye_strike\",\n { type: AnimationType.PHOENIX_EYE_STRIKE, speed: 1.2 },\n ],\n [\n \"li_nerve_strike_counter\",\n { type: AnimationType.NERVE_STRIKE_COUNTER, speed: 1.1 },\n ],\n [\"li_precision_parry\", { type: AnimationType.PRECISION_PARRY, speed: 1.1 }],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☳ JIN (진) - THUNDER: Explosive Power (폭발력)\n // ═══════════════════════════════════════════════════════════════════════\n [\n \"jin_lightning_flash\",\n { type: AnimationType.LIGHTNING_STRIKE, speed: 1.4 },\n ],\n [\n \"jin_jumping_front_kick\",\n { type: AnimationType.JUMPING_KICK, speed: 1.0 },\n ],\n [\"jin_tornado_kick\", { type: AnimationType.TORNADO_KICK, speed: 1.0 }],\n [\"jin_flying_sidekick\", { type: AnimationType.FLYING_KICK, speed: 1.1 }],\n [\"jin_back_kick\", { type: AnimationType.BACK_KICK, speed: 1.0 }],\n [\"jin_knee_strike\", { type: AnimationType.KNEE_STRIKE, speed: 1.1 }],\n [\n \"jin_explosive_block\",\n { type: AnimationType.EXPLOSIVE_BLOCK, speed: 1.1 },\n ],\n [\"jin_explosive_knee\", { type: AnimationType.EXPLOSIVE_KNEE, speed: 1.1 }],\n [\n \"jin_lightning_straight\",\n { type: AnimationType.LIGHTNING_STRAIGHT, speed: 1.3 },\n ],\n [\n \"jin_shocking_counter\",\n { type: AnimationType.SHOCKING_COUNTER, speed: 1.2 },\n ],\n [\n \"jin_shocking_hammer_fist\",\n { type: AnimationType.SHOCKING_HAMMER_FIST, speed: 1.0 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☴ SON (손) - WIND: Continuous Pressure (지속 공격)\n // ═══════════════════════════════════════════════════════════════════════\n [\n \"son_whirlwind_barrage\",\n { type: AnimationType.RAPID_BARRAGE, speed: 1.5 },\n ],\n [\"son_sweeping_low_kick\", { type: AnimationType.LOW_KICK, speed: 1.0 }],\n [\n \"son_rhythmic_strikes\",\n { type: AnimationType.RHYTHMIC_STRIKES, speed: 1.3 },\n ],\n [\"son_flowing_push\", { type: AnimationType.FLOWING_PUSH, speed: 1.1 }],\n [\n \"son_spinning_elbow\",\n { type: AnimationType.SPINNING_BACK_ELBOW, speed: 1.2 },\n ],\n [\"son_rapid_footwork\", { type: AnimationType.SIDE_STEP, speed: 1.3 }],\n [\n \"son_continuous_deflection\",\n { type: AnimationType.CONTINUOUS_DEFLECTION, speed: 1.2 },\n ],\n [\n \"son_penetrating_palm_rush\",\n { type: AnimationType.PENETRATING_PALM_RUSH, speed: 1.3 },\n ],\n [\n \"son_pressure_counter\",\n { type: AnimationType.PRESSURE_COUNTER, speed: 1.2 },\n ],\n [\n \"son_pressure_point_chain\",\n { type: AnimationType.PRESSURE_POINT_CHAIN, speed: 1.4 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☵ GAM (감) - WATER: Flow & Adaptation (유동 반격)\n // ═══════════════════════════════════════════════════════════════════════\n [\"gam_water_counter\", { type: AnimationType.WATER_COUNTER, speed: 1.0 }],\n [\"gam_redirect_throw\", { type: AnimationType.REDIRECT_THROW, speed: 0.9 }],\n [\"gam_flowing_block\", { type: AnimationType.FLOWING_BLOCK, speed: 1.0 }],\n [\"gam_circular_parry\", { type: AnimationType.CIRCULAR_PARRY, speed: 1.1 }],\n [\"gam_hip_throw\", { type: AnimationType.HIP_WHEEL_THROW, speed: 0.85 }],\n [\n \"gam_wrist_twist_counter\",\n { type: AnimationType.WRIST_TWIST_COUNTER, speed: 0.9 },\n ],\n [\"gam_flow_defense\", { type: AnimationType.FLOW_DEFENSE, speed: 1.0 }],\n [\n \"gam_flowing_river_strike\",\n { type: AnimationType.FLOWING_RIVER_STRIKE, speed: 1.1 },\n ],\n [\n \"gam_redirection_counter\",\n { type: AnimationType.REDIRECTION_COUNTER, speed: 1.0 },\n ],\n [\n \"gam_tidal_wave_palm\",\n { type: AnimationType.TIDAL_WAVE_PALM, speed: 1.0 },\n ],\n [\n \"gam_whirlpool_counter\",\n { type: AnimationType.WHIRLPOOL_COUNTER, speed: 1.1 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☶ GAN (간) - MOUNTAIN: Defensive Mastery (방어 마스터리)\n // ═══════════════════════════════════════════════════════════════════════\n [\"gan_rock_defense\", { type: AnimationType.ROCK_DEFENSE, speed: 0.9 }],\n [\"gan_immovable_stance\", { type: AnimationType.IDLE_STANCE, speed: 0.8 }],\n [\"gan_iron_block\", { type: AnimationType.IRON_BLOCK, speed: 0.85 }],\n [\"gan_counter_strike\", { type: AnimationType.ROCK_COUNTER, speed: 1.1 }],\n [\n \"gan_mountain_stance_lock\",\n { type: AnimationType.MOUNTAIN_LOCK, speed: 0.8 },\n ],\n [\n \"gan_reversal_technique\",\n { type: AnimationType.COUNTER_ATTACK, speed: 1.0 },\n ],\n [\n \"gan_avalanche_hammer\",\n { type: AnimationType.AVALANCHE_HAMMER, speed: 0.9 },\n ],\n [\n \"gan_counter_fortress\",\n { type: AnimationType.COUNTER_FORTRESS, speed: 1.0 },\n ],\n [\n \"gan_fortress_counter_strike\",\n { type: AnimationType.FORTRESS_COUNTER_STRIKE, speed: 1.1 },\n ],\n [\n \"gan_immovable_block\",\n { type: AnimationType.IMMOVABLE_BLOCK, speed: 0.85 },\n ],\n [\n \"gan_stone_wall_thrust\",\n { type: AnimationType.STONE_WALL_THRUST, speed: 0.95 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☷ GON (곤) - EARTH: Grounding & Takedowns (넘어뜨리기)\n // ═══════════════════════════════════════════════════════════════════════\n [\"gon_earth_embrace\", { type: AnimationType.EARTH_EMBRACE, speed: 0.85 }],\n [\"gon_leg_sweep\", { type: AnimationType.SWEEP, speed: 1.0 }],\n [\"gon_ssireum_throw\", { type: AnimationType.SSIREUM_THROW, speed: 0.9 }],\n [\"gon_ground_pound\", { type: AnimationType.SLAM, speed: 1.0 }],\n [\"gon_ankle_pick\", { type: AnimationType.ANKLE_PICK, speed: 1.1 }],\n [\n \"gon_body_lock_takedown\",\n { type: AnimationType.BODY_LOCK_SLAM, speed: 0.85 },\n ],\n [\n \"gon_sacrifice_throw\",\n { type: AnimationType.SACRIFICE_THROW, speed: 0.8 },\n ],\n [\n \"gon_earthquake_stomp\",\n { type: AnimationType.EARTHQUAKE_STOMP, speed: 0.9 },\n ],\n [\n \"gon_grounding_defense\",\n { type: AnimationType.GROUNDING_DEFENSE, speed: 0.9 },\n ],\n [\n \"gon_ground_sweep_strike\",\n { type: AnimationType.GROUND_SWEEP_STRIKE, speed: 1.0 },\n ],\n [\n \"gon_rooting_takedown\",\n { type: AnimationType.ROOTING_TAKEDOWN, speed: 0.85 },\n ],\n [\n \"gon_takedown_counter\",\n { type: AnimationType.TAKEDOWN_COUNTER, speed: 1.0 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // DARK OPS (암살자) - Lethal Techniques (치명 기술)\n // ═══════════════════════════════════════════════════════════════════════\n [\n \"darkops_silent_carotid\",\n { type: AnimationType.CAROTID_CHOKE, speed: 0.9 },\n ],\n [\n \"darkops_nerve_paralysis\",\n { type: AnimationType.NERVE_PARALYSIS, speed: 1.1 },\n ],\n [\n \"darkops_liver_disruption\",\n { type: AnimationType.LIVER_DISRUPTION, speed: 1.0 },\n ],\n [\"darkops_kidney_strike\", { type: AnimationType.KIDNEY_KNEE, speed: 1.0 }],\n [\n \"darkops_throat_strike\",\n { type: AnimationType.THROAT_STRIKE, speed: 1.2 },\n ],\n [\n \"darkops_solar_plexus_paralyze\",\n { type: AnimationType.HAMMER_FIST, speed: 1.1 },\n ],\n [\n \"darkops_brachial_plexus_strike\",\n { type: AnimationType.BRACHIAL_ELBOW, speed: 1.1 },\n ],\n [\n \"darkops_femoral_nerve_strike\",\n { type: AnimationType.FEMORAL_KNEE, speed: 1.0 },\n ],\n [\n \"darkops_rear_choke\",\n { type: AnimationType.REAR_NAKED_CHOKE, speed: 0.8 },\n ],\n [\"darkops_spinal_strike\", { type: AnimationType.SPINAL_ELBOW, speed: 1.0 }],\n [\n \"darkops_jaw_dislocation\",\n { type: AnimationType.JAW_DISLOCATION, speed: 1.0 },\n ],\n [\n \"darkops_temple_strike\",\n { type: AnimationType.TEMPLE_STRIKE, speed: 1.1 },\n ],\n [\n \"darkops_achilles_sever\",\n { type: AnimationType.ACHILLES_ATTACK, speed: 1.2 },\n ],\n [\"darkops_ear_strike\", { type: AnimationType.EAR_STRIKE, speed: 1.2 }],\n [\"darkops_eye_gouge\", { type: AnimationType.EYE_GOUGE, speed: 1.3 }],\n // Additional Dark Ops techniques (extended set for future use)\n [\n \"darkops_cervical_twist\",\n { type: AnimationType.CERVICAL_TWIST, speed: 0.8 },\n ],\n [\n \"darkops_elbow_hyperextend\",\n { type: AnimationType.ELBOW_HYPEREXTEND, speed: 0.85 },\n ],\n [\"darkops_finger_break\", { type: AnimationType.FINGER_BREAK, speed: 1.0 }],\n [\n \"darkops_guillotine\",\n { type: AnimationType.GUILLOTINE_CHOKE, speed: 0.8 },\n ],\n [\n \"darkops_jugular_strike\",\n { type: AnimationType.JUGULAR_STRIKE, speed: 1.2 },\n ],\n [\n \"darkops_kneecap_strike\",\n { type: AnimationType.KNEECAP_STRIKE, speed: 1.1 },\n ],\n [\"darkops_larynx_crush\", { type: AnimationType.LARYNX_CRUSH, speed: 1.0 }],\n [\n \"darkops_occipital_strike\",\n { type: AnimationType.OCCIPITAL_STRIKE, speed: 1.1 },\n ],\n [\n \"darkops_sciatic_nerve\",\n { type: AnimationType.SCIATIC_NERVE_STRIKE, speed: 1.0 },\n ],\n [\n \"darkops_silent_takedown\",\n { type: AnimationType.SILENT_TAKEDOWN, speed: 0.9 },\n ],\n [\"darkops_sleeper_hold\", { type: AnimationType.SLEEPER_HOLD, speed: 0.75 }],\n [\n \"darkops_spleen_rupture\",\n { type: AnimationType.SPLEEN_RUPTURE, speed: 1.0 },\n ],\n [\n \"darkops_triangle_choke\",\n { type: AnimationType.TRIANGLE_CHOKE, speed: 0.8 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ARCHETYPE TECHNIQUES (원형 기술)\n // ═══════════════════════════════════════════════════════════════════════\n\n // Musa (무사) - Traditional Warrior\n [\"musa_dragon_fist\", { type: AnimationType.DRAGON_FIST, speed: 1.0 }],\n [\"musa_iron_defense\", { type: AnimationType.IRON_DEFENSE, speed: 0.9 }],\n [\n \"musa_mountain_breaker\",\n { type: AnimationType.MOUNTAIN_BREAKER, speed: 0.9 },\n ],\n [\"musa_thunder_strike\", { type: AnimationType.THUNDER_STRIKE, speed: 1.1 }],\n\n // Amsalja (암살자) - Shadow Assassin\n [\n \"amsalja_deadly_precision\",\n { type: AnimationType.DEADLY_PRECISION, speed: 1.2 },\n ],\n [\n \"amsalja_nerve_strike\",\n { type: AnimationType.SHADOW_NERVE_STRIKE, speed: 1.1 },\n ],\n [\n \"amsalja_shadow_strike\",\n { type: AnimationType.SHADOW_STRIKE, speed: 1.3 },\n ],\n [\"amsalja_silent_death\", { type: AnimationType.SILENT_DEATH, speed: 1.0 }],\n\n // Hacker (해커) - Cyber Warrior\n [\n \"hacker_cyber_overdrive\",\n { type: AnimationType.CYBER_OVERDRIVE, speed: 1.4 },\n ],\n [\"hacker_data_strike\", { type: AnimationType.DATA_STRIKE, speed: 1.2 }],\n [\n \"hacker_electric_shock\",\n { type: AnimationType.ELECTRIC_SHOCK, speed: 1.3 },\n ],\n [\"hacker_system_crash\", { type: AnimationType.SYSTEM_CRASH, speed: 1.0 }],\n\n // Jeongbo Yowon (정보요원) - Intelligence Operative\n [\n \"jeongbo_counter_intelligence\",\n { type: AnimationType.COUNTER_INTELLIGENCE, speed: 1.1 },\n ],\n [\n \"jeongbo_intelligence_strike\",\n { type: AnimationType.INTELLIGENCE_STRIKE, speed: 1.0 },\n ],\n [\n \"jeongbo_psychological_warfare\",\n { type: AnimationType.PSYCHOLOGICAL_WARFARE, speed: 0.9 },\n ],\n [\n \"jeongbo_tactical_strike\",\n { type: AnimationType.TACTICAL_STRIKE, speed: 1.1 },\n ],\n\n // Jojik Pokryeokbae (조직폭력배) - Organized Crime\n [\n \"jojik_brutal_takedown\",\n { type: AnimationType.BRUTAL_TAKEDOWN, speed: 0.9 },\n ],\n [\n \"jojik_improvised_weapon\",\n { type: AnimationType.IMPROVISED_WEAPON, speed: 1.0 },\n ],\n [\n \"jojik_ruthless_assault\",\n { type: AnimationType.RUTHLESS_ASSAULT, speed: 1.1 },\n ],\n [\"jojik_street_brawl\", { type: AnimationType.STREET_BRAWL, speed: 1.0 }],\n ]);\n\n/**\n * Get animation configuration for a technique\n *\n * @param techniqueId - The technique identifier\n * @returns Animation configuration or undefined if not mapped\n *\n * @korean 기술별애니메이션설정조회\n */\nexport function getAnimationForTechnique(\n techniqueId: string,\n): AnimationConfig | undefined {\n return TECHNIQUE_ANIMATIONS.get(techniqueId);\n}\n\n/**\n * Get animation configuration with fallback\n *\n * @param techniqueId - The technique identifier\n * @param fallbackType - Fallback animation type if not found\n * @returns Animation configuration (never undefined)\n *\n * @korean 기술별애니메이션설정조회_기본값\n */\nexport function getAnimationForTechniqueOrDefault(\n techniqueId: string,\n fallbackType: AnimationType = AnimationType.JAB,\n): AnimationConfig {\n const mapped = TECHNIQUE_ANIMATIONS.get(techniqueId);\n if (mapped) return mapped;\n\n const fallbackConfig = DEFAULT_CONFIGS[fallbackType];\n return fallbackConfig ?? { type: fallbackType, speed: 1.0 };\n}\n\n/**\n * Check if technique has animation mapping\n *\n * @param techniqueId - The technique identifier\n * @returns True if technique has animation mapping\n *\n * @korean 애니메이션매핑여부확인\n */\nexport function hasAnimationMapping(techniqueId: string): boolean {\n return TECHNIQUE_ANIMATIONS.has(techniqueId);\n}\n\n/**\n * Get all technique IDs with a specific animation type\n *\n * @param animationType - The animation type to search for\n * @returns Array of technique IDs using this animation\n *\n * @korean 애니메이션타입별기술조회\n */\nexport function getTechniquesByAnimationType(\n animationType: AnimationType,\n): readonly string[] {\n const techniques: string[] = [];\n for (const [id, config] of TECHNIQUE_ANIMATIONS) {\n if (config.type === animationType) {\n techniques.push(id);\n }\n }\n return techniques;\n}\n\n/**\n * Animation statistics for debugging\n */\nexport function getAnimationStats(): Record<AnimationType, number> {\n const stats: Record<AnimationType, number> = {} as Record<\n AnimationType,\n number\n >;\n\n // Initialize all types to 0\n for (const type of Object.values(AnimationType)) {\n stats[type] = 0;\n }\n\n // Count techniques per animation type\n for (const [, config] of TECHNIQUE_ANIMATIONS) {\n stats[config.type]++;\n }\n\n return stats;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TechniqueAnimationMapping.js","names":[],"sources":["../../../../src/systems/animation/core/TechniqueAnimationMapping.ts"],"sourcesContent":["/**\n * Technique Animation Mapping\n *\n * Maps technique IDs directly to animation types for reliable lookup.\n * This file is the source of truth for technique-to-animation relationships.\n *\n * 기술과 애니메이션의 직접 매핑\n * 기술 ID에서 애니메이션 타입으로의 확실한 조회를 위한 매핑 파일\n *\n * @module systems/animation/TechniqueAnimationMapping\n * @korean 기술애니메이션매핑\n */\n\nimport { AnimationType } from \"../builders/MartialArtsAnimationBuilder\";\n\n/**\n * Speed modifier for animation playback\n * Higher values = faster animation\n */\nexport interface AnimationConfig {\n readonly type: AnimationType;\n readonly speed: number;\n}\n\n/**\n * Default animation configurations by type\n */\nconst DEFAULT_CONFIGS: Partial<Record<AnimationType, AnimationConfig>> = {\n // Kicks (발차기)\n [AnimationType.FRONT_KICK]: { type: AnimationType.FRONT_KICK, speed: 1.0 },\n [AnimationType.ROUNDHOUSE_KICK]: {\n type: AnimationType.ROUNDHOUSE_KICK,\n speed: 1.0,\n },\n [AnimationType.SIDE_KICK]: { type: AnimationType.SIDE_KICK, speed: 1.0 },\n [AnimationType.AXE_KICK]: { type: AnimationType.AXE_KICK, speed: 0.9 },\n [AnimationType.BACK_KICK]: { type: AnimationType.BACK_KICK, speed: 1.0 },\n [AnimationType.TORNADO_KICK]: {\n type: AnimationType.TORNADO_KICK,\n speed: 1.1,\n },\n [AnimationType.JUMPING_KICK]: {\n type: AnimationType.JUMPING_KICK,\n speed: 1.0,\n },\n [AnimationType.LOW_KICK]: { type: AnimationType.LOW_KICK, speed: 1.1 },\n [AnimationType.CRESCENT_KICK]: {\n type: AnimationType.CRESCENT_KICK,\n speed: 1.0,\n },\n [AnimationType.PUSH_KICK]: { type: AnimationType.PUSH_KICK, speed: 1.1 },\n [AnimationType.SPINNING_HEEL_KICK]: {\n type: AnimationType.SPINNING_HEEL_KICK,\n speed: 0.95,\n },\n\n // Punches (주먹)\n [AnimationType.JAB]: { type: AnimationType.JAB, speed: 1.2 },\n [AnimationType.CROSS]: { type: AnimationType.CROSS, speed: 1.1 },\n [AnimationType.HOOK]: { type: AnimationType.HOOK, speed: 1.0 },\n [AnimationType.UPPERCUT]: { type: AnimationType.UPPERCUT, speed: 1.0 },\n [AnimationType.OVERHAND]: { type: AnimationType.OVERHAND, speed: 0.95 },\n [AnimationType.PALM_STRIKE]: { type: AnimationType.PALM_STRIKE, speed: 1.0 },\n [AnimationType.BACKFIST]: { type: AnimationType.BACKFIST, speed: 1.05 },\n [AnimationType.HAMMER_FIST]: { type: AnimationType.HAMMER_FIST, speed: 1.0 },\n\n // ═══ SPECIALIZED JAB VARIANTS (잽 변형) ═══\n [AnimationType.SPEAR_HAND_STRIKE]: {\n type: AnimationType.SPEAR_HAND_STRIKE,\n speed: 1.3,\n },\n [AnimationType.NERVE_STRIKE]: {\n type: AnimationType.NERVE_STRIKE,\n speed: 1.2,\n },\n [AnimationType.PRESSURE_POINT_STRIKE]: {\n type: AnimationType.PRESSURE_POINT_STRIKE,\n speed: 1.0,\n },\n [AnimationType.LIGHTNING_STRIKE]: {\n type: AnimationType.LIGHTNING_STRIKE,\n speed: 1.4,\n },\n [AnimationType.RAPID_BARRAGE]: {\n type: AnimationType.RAPID_BARRAGE,\n speed: 1.5,\n },\n [AnimationType.RHYTHMIC_STRIKES]: {\n type: AnimationType.RHYTHMIC_STRIKES,\n speed: 1.3,\n },\n [AnimationType.NERVE_PARALYSIS]: {\n type: AnimationType.NERVE_PARALYSIS,\n speed: 1.1,\n },\n [AnimationType.THROAT_STRIKE]: {\n type: AnimationType.THROAT_STRIKE,\n speed: 1.2,\n },\n [AnimationType.EYE_GOUGE]: { type: AnimationType.EYE_GOUGE, speed: 1.3 },\n\n // ═══ SPECIALIZED CROSS VARIANTS (크로스 변형) ═══\n [AnimationType.HEAVEN_STRIKE]: {\n type: AnimationType.HEAVEN_STRIKE,\n speed: 1.0,\n },\n [AnimationType.FLOWING_CROSS]: {\n type: AnimationType.FLOWING_CROSS,\n speed: 1.2,\n },\n\n // ═══ SPECIALIZED PALM STRIKES (장권 변형) ═══\n [AnimationType.SOLAR_PLEXUS_STRIKE]: {\n type: AnimationType.SOLAR_PLEXUS_STRIKE,\n speed: 1.1,\n },\n [AnimationType.FLOWING_PUSH]: {\n type: AnimationType.FLOWING_PUSH,\n speed: 1.1,\n },\n [AnimationType.LIVER_DISRUPTION]: {\n type: AnimationType.LIVER_DISRUPTION,\n speed: 1.0,\n },\n [AnimationType.EAR_STRIKE]: { type: AnimationType.EAR_STRIKE, speed: 1.2 },\n\n // Elbow/Knee (팔꿈치/무릎)\n [AnimationType.ELBOW_STRIKE]: {\n type: AnimationType.ELBOW_STRIKE,\n speed: 1.1,\n },\n [AnimationType.ELBOW_UPPERCUT]: {\n type: AnimationType.ELBOW_UPPERCUT,\n speed: 1.0,\n },\n [AnimationType.SPINNING_ELBOW]: {\n type: AnimationType.SPINNING_ELBOW,\n speed: 0.95,\n },\n [AnimationType.KNEE_STRIKE]: { type: AnimationType.KNEE_STRIKE, speed: 1.0 },\n [AnimationType.FLYING_KNEE]: { type: AnimationType.FLYING_KNEE, speed: 0.95 },\n\n // ═══ SPECIALIZED ELBOW VARIANTS (팔꿈치 변형) ═══\n [AnimationType.TEMPLE_ELBOW]: {\n type: AnimationType.TEMPLE_ELBOW,\n speed: 1.1,\n },\n [AnimationType.SPINNING_BACK_ELBOW]: {\n type: AnimationType.SPINNING_BACK_ELBOW,\n speed: 1.2,\n },\n [AnimationType.SPINAL_ELBOW]: {\n type: AnimationType.SPINAL_ELBOW,\n speed: 1.0,\n },\n [AnimationType.BRACHIAL_ELBOW]: {\n type: AnimationType.BRACHIAL_ELBOW,\n speed: 1.1,\n },\n\n // ═══ SPECIALIZED KNEE VARIANTS (무릎 변형) ═══\n [AnimationType.KIDNEY_KNEE]: { type: AnimationType.KIDNEY_KNEE, speed: 1.0 },\n [AnimationType.FEMORAL_KNEE]: {\n type: AnimationType.FEMORAL_KNEE,\n speed: 1.0,\n },\n\n // Grappling (잡기)\n [AnimationType.THROW]: { type: AnimationType.THROW, speed: 0.9 },\n [AnimationType.GRAPPLE]: { type: AnimationType.GRAPPLE, speed: 0.85 },\n [AnimationType.SWEEP]: { type: AnimationType.SWEEP, speed: 1.0 },\n [AnimationType.SLAM]: { type: AnimationType.SLAM, speed: 0.9 },\n [AnimationType.WRIST_LOCK]: { type: AnimationType.WRIST_LOCK, speed: 0.85 },\n [AnimationType.ARM_BAR]: { type: AnimationType.ARM_BAR, speed: 0.8 },\n [AnimationType.SHOULDER_LOCK]: {\n type: AnimationType.SHOULDER_LOCK,\n speed: 0.85,\n },\n [AnimationType.HIP_THROW]: { type: AnimationType.HIP_THROW, speed: 0.9 },\n [AnimationType.LEG_REAP]: { type: AnimationType.LEG_REAP, speed: 1.0 },\n\n // ═══ SPECIALIZED GRAPPLE VARIANTS (잡기 변형) ═══\n [AnimationType.SMALL_CIRCLE_LOCK]: {\n type: AnimationType.SMALL_CIRCLE_LOCK,\n speed: 0.85,\n },\n [AnimationType.FINGER_LOCK]: {\n type: AnimationType.FINGER_LOCK,\n speed: 0.9,\n },\n [AnimationType.ELBOW_LOCK]: { type: AnimationType.ELBOW_LOCK, speed: 0.8 },\n [AnimationType.SHOULDER_MANIPULATION]: {\n type: AnimationType.SHOULDER_MANIPULATION,\n speed: 0.8,\n },\n [AnimationType.MOUNTAIN_LOCK]: {\n type: AnimationType.MOUNTAIN_LOCK,\n speed: 0.8,\n },\n [AnimationType.EARTH_EMBRACE]: {\n type: AnimationType.EARTH_EMBRACE,\n speed: 0.85,\n },\n [AnimationType.CAROTID_CHOKE]: {\n type: AnimationType.CAROTID_CHOKE,\n speed: 0.9,\n },\n [AnimationType.REAR_NAKED_CHOKE]: {\n type: AnimationType.REAR_NAKED_CHOKE,\n speed: 0.8,\n },\n\n // ═══ SPECIALIZED THROW VARIANTS (던지기 변형) ═══\n [AnimationType.REDIRECT_THROW]: {\n type: AnimationType.REDIRECT_THROW,\n speed: 0.9,\n },\n [AnimationType.HIP_WHEEL_THROW]: {\n type: AnimationType.HIP_WHEEL_THROW,\n speed: 0.85,\n },\n [AnimationType.SSIREUM_THROW]: {\n type: AnimationType.SSIREUM_THROW,\n speed: 0.9,\n },\n [AnimationType.SACRIFICE_THROW]: {\n type: AnimationType.SACRIFICE_THROW,\n speed: 0.8,\n },\n\n // ═══ SPECIALIZED SWEEP VARIANTS (쓸기 변형) ═══\n [AnimationType.ANKLE_PICK]: { type: AnimationType.ANKLE_PICK, speed: 1.1 },\n [AnimationType.ACHILLES_ATTACK]: {\n type: AnimationType.ACHILLES_ATTACK,\n speed: 1.2,\n },\n\n // ═══ SPECIALIZED SLAM VARIANTS (슬램 변형) ═══\n [AnimationType.BODY_LOCK_SLAM]: {\n type: AnimationType.BODY_LOCK_SLAM,\n speed: 0.85,\n },\n\n // ═══ SPECIALIZED WRIST LOCK VARIANTS (손목꺾기 변형) ═══\n [AnimationType.WRIST_TWIST_COUNTER]: {\n type: AnimationType.WRIST_TWIST_COUNTER,\n speed: 0.9,\n },\n\n // Counters (반격)\n [AnimationType.COUNTER_ATTACK]: {\n type: AnimationType.COUNTER_ATTACK,\n speed: 1.1,\n },\n [AnimationType.COUNTER_STRIKE]: {\n type: AnimationType.COUNTER_STRIKE,\n speed: 1.1,\n },\n [AnimationType.PARRY_COUNTER]: {\n type: AnimationType.PARRY_COUNTER,\n speed: 1.1,\n },\n\n // ═══ SPECIALIZED COUNTER VARIANTS (반격 변형) ═══\n [AnimationType.WATER_COUNTER]: {\n type: AnimationType.WATER_COUNTER,\n speed: 1.0,\n },\n [AnimationType.ROCK_COUNTER]: {\n type: AnimationType.ROCK_COUNTER,\n speed: 1.1,\n },\n\n // Defense (방어)\n [AnimationType.BLOCK]: { type: AnimationType.BLOCK, speed: 1.0 },\n [AnimationType.BLOCK_HIGH]: { type: AnimationType.BLOCK_HIGH, speed: 1.0 },\n [AnimationType.BLOCK_LOW]: { type: AnimationType.BLOCK_LOW, speed: 1.0 },\n [AnimationType.PARRY]: { type: AnimationType.PARRY, speed: 1.1 },\n\n // ═══ SPECIALIZED BLOCK VARIANTS (방어 변형) ═══\n [AnimationType.FLOWING_BLOCK]: {\n type: AnimationType.FLOWING_BLOCK,\n speed: 1.0,\n },\n [AnimationType.CIRCULAR_PARRY]: {\n type: AnimationType.CIRCULAR_PARRY,\n speed: 1.1,\n },\n [AnimationType.ROCK_DEFENSE]: {\n type: AnimationType.ROCK_DEFENSE,\n speed: 0.9,\n },\n [AnimationType.IRON_BLOCK]: { type: AnimationType.IRON_BLOCK, speed: 0.85 },\n [AnimationType.FLOW_DEFENSE]: {\n type: AnimationType.FLOW_DEFENSE,\n speed: 1.0,\n },\n [AnimationType.IMMOVABLE_BLOCK]: {\n type: AnimationType.IMMOVABLE_BLOCK,\n speed: 0.85,\n },\n [AnimationType.EXPLOSIVE_BLOCK]: {\n type: AnimationType.EXPLOSIVE_BLOCK,\n speed: 1.1,\n },\n [AnimationType.CONTINUOUS_DEFLECTION]: {\n type: AnimationType.CONTINUOUS_DEFLECTION,\n speed: 1.2,\n },\n [AnimationType.PRECISION_PARRY]: {\n type: AnimationType.PRECISION_PARRY,\n speed: 1.1,\n },\n [AnimationType.JOINT_LOCK_DEFENSE]: {\n type: AnimationType.JOINT_LOCK_DEFENSE,\n speed: 0.9,\n },\n [AnimationType.SWEEP_DEFENSE]: {\n type: AnimationType.SWEEP_DEFENSE,\n speed: 1.0,\n },\n [AnimationType.GROUNDING_DEFENSE]: {\n type: AnimationType.GROUNDING_DEFENSE,\n speed: 0.9,\n },\n\n // ═══ DARK OPS SPECIALIZED (암살 특수기) ═══\n [AnimationType.JAW_DISLOCATION]: {\n type: AnimationType.JAW_DISLOCATION,\n speed: 1.0,\n },\n [AnimationType.TEMPLE_STRIKE]: {\n type: AnimationType.TEMPLE_STRIKE,\n speed: 1.1,\n },\n [AnimationType.CERVICAL_TWIST]: {\n type: AnimationType.CERVICAL_TWIST,\n speed: 0.8,\n },\n [AnimationType.ELBOW_HYPEREXTEND]: {\n type: AnimationType.ELBOW_HYPEREXTEND,\n speed: 0.85,\n },\n [AnimationType.FINGER_BREAK]: {\n type: AnimationType.FINGER_BREAK,\n speed: 1.0,\n },\n [AnimationType.GUILLOTINE_CHOKE]: {\n type: AnimationType.GUILLOTINE_CHOKE,\n speed: 0.8,\n },\n [AnimationType.JUGULAR_STRIKE]: {\n type: AnimationType.JUGULAR_STRIKE,\n speed: 1.2,\n },\n [AnimationType.KNEECAP_STRIKE]: {\n type: AnimationType.KNEECAP_STRIKE,\n speed: 1.1,\n },\n [AnimationType.LARYNX_CRUSH]: {\n type: AnimationType.LARYNX_CRUSH,\n speed: 1.0,\n },\n [AnimationType.OCCIPITAL_STRIKE]: {\n type: AnimationType.OCCIPITAL_STRIKE,\n speed: 1.1,\n },\n [AnimationType.SCIATIC_NERVE_STRIKE]: {\n type: AnimationType.SCIATIC_NERVE_STRIKE,\n speed: 1.0,\n },\n [AnimationType.SILENT_TAKEDOWN]: {\n type: AnimationType.SILENT_TAKEDOWN,\n speed: 0.9,\n },\n [AnimationType.SLEEPER_HOLD]: {\n type: AnimationType.SLEEPER_HOLD,\n speed: 0.75,\n },\n [AnimationType.SPLEEN_RUPTURE]: {\n type: AnimationType.SPLEEN_RUPTURE,\n speed: 1.0,\n },\n [AnimationType.TRIANGLE_CHOKE]: {\n type: AnimationType.TRIANGLE_CHOKE,\n speed: 0.8,\n },\n [AnimationType.BRACHIAL_PLEXUS]: {\n type: AnimationType.BRACHIAL_PLEXUS,\n speed: 1.1,\n },\n [AnimationType.FEMORAL_NERVE]: {\n type: AnimationType.FEMORAL_NERVE,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL GEON (건) TECHNIQUES ═══\n [AnimationType.HIGH_BLOCK]: { type: AnimationType.HIGH_BLOCK, speed: 1.0 },\n [AnimationType.CRUSHING_ELBOW]: {\n type: AnimationType.CRUSHING_ELBOW,\n speed: 1.0,\n },\n [AnimationType.THUNDEROUS_UPPERCUT]: {\n type: AnimationType.THUNDEROUS_UPPERCUT,\n speed: 1.1,\n },\n [AnimationType.GEON_COUNTER]: {\n type: AnimationType.GEON_COUNTER,\n speed: 1.1,\n },\n [AnimationType.GEON_ROUNDHOUSE]: {\n type: AnimationType.GEON_ROUNDHOUSE,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL TAE (태) TECHNIQUES ═══\n [AnimationType.FLOWING_ARM_BAR]: {\n type: AnimationType.FLOWING_ARM_BAR,\n speed: 0.85,\n },\n [AnimationType.SPIRAL_SHOULDER_THROW]: {\n type: AnimationType.SPIRAL_SHOULDER_THROW,\n speed: 0.9,\n },\n [AnimationType.WRIST_LOCK_STRIKE]: {\n type: AnimationType.WRIST_LOCK_STRIKE,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL LI (리) TECHNIQUES ═══\n [AnimationType.PHOENIX_EYE_STRIKE]: {\n type: AnimationType.PHOENIX_EYE_STRIKE,\n speed: 1.2,\n },\n [AnimationType.NERVE_STRIKE_COUNTER]: {\n type: AnimationType.NERVE_STRIKE_COUNTER,\n speed: 1.1,\n },\n [AnimationType.SOLAR_PLEXUS_SPEAR]: {\n type: AnimationType.SOLAR_PLEXUS_SPEAR,\n speed: 1.1,\n },\n [AnimationType.LI_SOLAR_PLEXUS]: {\n type: AnimationType.LI_SOLAR_PLEXUS,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL JIN (진) TECHNIQUES ═══\n [AnimationType.EXPLOSIVE_KNEE]: {\n type: AnimationType.EXPLOSIVE_KNEE,\n speed: 1.1,\n },\n [AnimationType.LIGHTNING_STRAIGHT]: {\n type: AnimationType.LIGHTNING_STRAIGHT,\n speed: 1.3,\n },\n [AnimationType.SHOCKING_COUNTER]: {\n type: AnimationType.SHOCKING_COUNTER,\n speed: 1.2,\n },\n [AnimationType.SHOCKING_HAMMER_FIST]: {\n type: AnimationType.SHOCKING_HAMMER_FIST,\n speed: 1.0,\n },\n\n // ═══ ADDITIONAL SON (손) TECHNIQUES ═══\n [AnimationType.PENETRATING_PALM_RUSH]: {\n type: AnimationType.PENETRATING_PALM_RUSH,\n speed: 1.3,\n },\n [AnimationType.PRESSURE_COUNTER]: {\n type: AnimationType.PRESSURE_COUNTER,\n speed: 1.2,\n },\n [AnimationType.PRESSURE_POINT_CHAIN]: {\n type: AnimationType.PRESSURE_POINT_CHAIN,\n speed: 1.4,\n },\n\n // ═══ ADDITIONAL GAM (감) TECHNIQUES ═══\n [AnimationType.FLOWING_RIVER_STRIKE]: {\n type: AnimationType.FLOWING_RIVER_STRIKE,\n speed: 1.1,\n },\n [AnimationType.REDIRECTION_COUNTER]: {\n type: AnimationType.REDIRECTION_COUNTER,\n speed: 1.0,\n },\n [AnimationType.TIDAL_WAVE_PALM]: {\n type: AnimationType.TIDAL_WAVE_PALM,\n speed: 1.0,\n },\n [AnimationType.WHIRLPOOL_COUNTER]: {\n type: AnimationType.WHIRLPOOL_COUNTER,\n speed: 1.1,\n },\n\n // ═══ ADDITIONAL GAN (간) TECHNIQUES ═══\n [AnimationType.AVALANCHE_HAMMER]: {\n type: AnimationType.AVALANCHE_HAMMER,\n speed: 0.9,\n },\n [AnimationType.COUNTER_FORTRESS]: {\n type: AnimationType.COUNTER_FORTRESS,\n speed: 1.0,\n },\n [AnimationType.FORTRESS_COUNTER_STRIKE]: {\n type: AnimationType.FORTRESS_COUNTER_STRIKE,\n speed: 1.1,\n },\n [AnimationType.STONE_WALL_THRUST]: {\n type: AnimationType.STONE_WALL_THRUST,\n speed: 0.95,\n },\n\n // ═══ ADDITIONAL GON (곤) TECHNIQUES ═══\n [AnimationType.EARTHQUAKE_STOMP]: {\n type: AnimationType.EARTHQUAKE_STOMP,\n speed: 0.9,\n },\n [AnimationType.GROUND_SWEEP_STRIKE]: {\n type: AnimationType.GROUND_SWEEP_STRIKE,\n speed: 1.0,\n },\n [AnimationType.ROOTING_TAKEDOWN]: {\n type: AnimationType.ROOTING_TAKEDOWN,\n speed: 0.85,\n },\n [AnimationType.TAKEDOWN_COUNTER]: {\n type: AnimationType.TAKEDOWN_COUNTER,\n speed: 1.0,\n },\n\n // ═══ ARCHETYPE TECHNIQUES (원형 기술) ═══\n // Musa (무사) - Traditional Warrior\n [AnimationType.DRAGON_FIST]: {\n type: AnimationType.DRAGON_FIST,\n speed: 1.0,\n },\n [AnimationType.IRON_DEFENSE]: {\n type: AnimationType.IRON_DEFENSE,\n speed: 0.9,\n },\n [AnimationType.MOUNTAIN_BREAKER]: {\n type: AnimationType.MOUNTAIN_BREAKER,\n speed: 0.9,\n },\n [AnimationType.THUNDER_STRIKE]: {\n type: AnimationType.THUNDER_STRIKE,\n speed: 1.1,\n },\n\n // Amsalja (암살자) - Shadow Assassin\n [AnimationType.DEADLY_PRECISION]: {\n type: AnimationType.DEADLY_PRECISION,\n speed: 1.2,\n },\n [AnimationType.SHADOW_NERVE_STRIKE]: {\n type: AnimationType.SHADOW_NERVE_STRIKE,\n speed: 1.1,\n },\n [AnimationType.SHADOW_STRIKE]: {\n type: AnimationType.SHADOW_STRIKE,\n speed: 1.3,\n },\n [AnimationType.SILENT_DEATH]: {\n type: AnimationType.SILENT_DEATH,\n speed: 1.0,\n },\n\n // Hacker (해커) - Cyber Warrior\n [AnimationType.CYBER_OVERDRIVE]: {\n type: AnimationType.CYBER_OVERDRIVE,\n speed: 1.4,\n },\n [AnimationType.DATA_STRIKE]: {\n type: AnimationType.DATA_STRIKE,\n speed: 1.2,\n },\n [AnimationType.ELECTRIC_SHOCK]: {\n type: AnimationType.ELECTRIC_SHOCK,\n speed: 1.3,\n },\n [AnimationType.SYSTEM_CRASH]: {\n type: AnimationType.SYSTEM_CRASH,\n speed: 1.0,\n },\n\n // Jeongbo Yowon (정보요원) - Intelligence Operative\n [AnimationType.COUNTER_INTELLIGENCE]: {\n type: AnimationType.COUNTER_INTELLIGENCE,\n speed: 1.1,\n },\n [AnimationType.INTELLIGENCE_STRIKE]: {\n type: AnimationType.INTELLIGENCE_STRIKE,\n speed: 1.0,\n },\n [AnimationType.PSYCHOLOGICAL_WARFARE]: {\n type: AnimationType.PSYCHOLOGICAL_WARFARE,\n speed: 0.9,\n },\n [AnimationType.TACTICAL_STRIKE]: {\n type: AnimationType.TACTICAL_STRIKE,\n speed: 1.1,\n },\n\n // Jojik Pokryeokbae (조직폭력배) - Organized Crime\n [AnimationType.BRUTAL_TAKEDOWN]: {\n type: AnimationType.BRUTAL_TAKEDOWN,\n speed: 0.9,\n },\n [AnimationType.IMPROVISED_WEAPON]: {\n type: AnimationType.IMPROVISED_WEAPON,\n speed: 1.0,\n },\n [AnimationType.RUTHLESS_ASSAULT]: {\n type: AnimationType.RUTHLESS_ASSAULT,\n speed: 1.1,\n },\n [AnimationType.STREET_BRAWL]: {\n type: AnimationType.STREET_BRAWL,\n speed: 1.0,\n },\n\n // Movement (이동)\n [AnimationType.WALK]: { type: AnimationType.WALK, speed: 1.0 },\n [AnimationType.IDLE_STANCE]: { type: AnimationType.IDLE_STANCE, speed: 1.0 },\n [AnimationType.FORWARD_DASH]: {\n type: AnimationType.FORWARD_DASH,\n speed: 1.2,\n },\n [AnimationType.BACKWARD_RETREAT]: {\n type: AnimationType.BACKWARD_RETREAT,\n speed: 1.0,\n },\n [AnimationType.SIDE_STEP]: { type: AnimationType.SIDE_STEP, speed: 1.1 },\n [AnimationType.STEP_FORWARD]: {\n type: AnimationType.STEP_FORWARD,\n speed: 1.0,\n },\n [AnimationType.STEP_BACK]: { type: AnimationType.STEP_BACK, speed: 1.0 },\n [AnimationType.SIDESTEP]: { type: AnimationType.SIDESTEP, speed: 1.1 },\n [AnimationType.PIVOT]: { type: AnimationType.PIVOT, speed: 1.0 },\n [AnimationType.DUCK]: { type: AnimationType.DUCK, speed: 1.2 },\n [AnimationType.LEAN]: { type: AnimationType.LEAN, speed: 1.0 },\n\n // Recovery & Stance (복귀 및 자세)\n [AnimationType.RECOVERY]: { type: AnimationType.RECOVERY, speed: 1.0 },\n [AnimationType.IDLE]: { type: AnimationType.IDLE, speed: 1.0 },\n [AnimationType.STANCE]: { type: AnimationType.STANCE, speed: 1.0 },\n\n // Additional Kicks (추가 발차기)\n [AnimationType.SPINNING_HOOK]: {\n type: AnimationType.SPINNING_HOOK,\n speed: 0.95,\n },\n [AnimationType.KNEE_KICK]: { type: AnimationType.KNEE_KICK, speed: 1.0 },\n [AnimationType.FLYING_KICK]: { type: AnimationType.FLYING_KICK, speed: 0.95 },\n\n // Additional Knee/Elbow (추가 무릎/팔꿈치)\n [AnimationType.CLINCH_KNEE]: { type: AnimationType.CLINCH_KNEE, speed: 1.0 },\n\n // Additional Grappling (추가 잡기)\n [AnimationType.JOINT_LOCK]: { type: AnimationType.JOINT_LOCK, speed: 0.8 },\n [AnimationType.TAKEDOWN]: { type: AnimationType.TAKEDOWN, speed: 0.9 },\n [AnimationType.CLINCH]: { type: AnimationType.CLINCH, speed: 0.85 },\n};\n\n/**\n * Master technique-to-animation mapping\n *\n * Maps each technique ID to its animation configuration.\n * This is the canonical source of truth for animation selection.\n *\n * 기술 ID별 애니메이션 설정 마스터 매핑\n *\n * @korean 기술애니메이션매핑\n */\nexport const TECHNIQUE_ANIMATIONS: ReadonlyMap<string, AnimationConfig> =\n new Map([\n // ═══════════════════════════════════════════════════════════════════════\n // ☰ GEON (건) - HEAVEN: Direct Force (태권도 타격)\n // ═══════════════════════════════════════════════════════════════════════\n [\"geon_heaven_strike\", { type: AnimationType.HEAVEN_STRIKE, speed: 1.0 }],\n [\"geon_heavenly_fist\", { type: AnimationType.JAB, speed: 1.1 }],\n [\"geon_frontal_kick\", { type: AnimationType.FRONT_KICK, speed: 1.0 }],\n [\n \"geon_roundhouse_kick\",\n { type: AnimationType.ROUNDHOUSE_KICK, speed: 1.0 },\n ],\n [\"geon_axe_kick\", { type: AnimationType.AXE_KICK, speed: 0.9 }],\n [\"geon_palm_strike\", { type: AnimationType.PALM_STRIKE, speed: 1.0 }],\n [\"geon_elbow_smash\", { type: AnimationType.ELBOW_STRIKE, speed: 1.1 }],\n [\"geon_high_block\", { type: AnimationType.HIGH_BLOCK, speed: 1.0 }],\n [\"geon_crushing_elbow\", { type: AnimationType.CRUSHING_ELBOW, speed: 1.0 }],\n [\n \"geon_thunderous_uppercut\",\n { type: AnimationType.THUNDEROUS_UPPERCUT, speed: 1.1 },\n ],\n [\"geon_counter_strike\", { type: AnimationType.GEON_COUNTER, speed: 1.1 }],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☱ TAE (태) - LAKE: Fluid Joint Manipulation (합기도)\n // ═══════════════════════════════════════════════════════════════════════\n [\"tae_flowing_strikes\", { type: AnimationType.FLOWING_CROSS, speed: 1.2 }],\n [\"tae_wrist_lock\", { type: AnimationType.WRIST_LOCK, speed: 0.85 }],\n [\n \"tae_small_circle\",\n { type: AnimationType.SMALL_CIRCLE_LOCK, speed: 0.85 },\n ],\n [\"tae_finger_lock\", { type: AnimationType.FINGER_LOCK, speed: 0.9 }],\n [\"tae_elbow_lock\", { type: AnimationType.ELBOW_LOCK, speed: 0.8 }],\n [\n \"tae_shoulder_lock\",\n { type: AnimationType.SHOULDER_MANIPULATION, speed: 0.8 },\n ],\n [\"tae_arm_bar\", { type: AnimationType.ARM_BAR, speed: 0.75 }],\n [\n \"tae_flowing_arm_bar\",\n { type: AnimationType.FLOWING_ARM_BAR, speed: 0.85 },\n ],\n [\n \"tae_joint_lock_defense\",\n { type: AnimationType.JOINT_LOCK_DEFENSE, speed: 0.9 },\n ],\n [\n \"tae_spiral_shoulder_throw\",\n { type: AnimationType.SPIRAL_SHOULDER_THROW, speed: 0.9 },\n ],\n [\"tae_sweep_defense\", { type: AnimationType.SWEEP_DEFENSE, speed: 1.0 }],\n [\n \"tae_wrist_lock_strike\",\n { type: AnimationType.WRIST_LOCK_STRIKE, speed: 1.0 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☲ LI (리) - FIRE: Precision Nerve Strikes (정밀 타격)\n // ═══════════════════════════════════════════════════════════════════════\n [\"li_flame_spear\", { type: AnimationType.SPEAR_HAND_STRIKE, speed: 1.3 }],\n [\"li_temple_strike\", { type: AnimationType.TEMPLE_ELBOW, speed: 1.1 }],\n [\"li_nerve_strike\", { type: AnimationType.NERVE_STRIKE, speed: 1.2 }],\n [\"li_sidekick\", { type: AnimationType.SIDE_KICK, speed: 1.0 }],\n [\n \"li_pressure_point\",\n { type: AnimationType.PRESSURE_POINT_STRIKE, speed: 1.0 },\n ],\n [\n \"li_solar_plexus_strike\",\n { type: AnimationType.SOLAR_PLEXUS_STRIKE, speed: 1.1 },\n ],\n [\n \"li_phoenix_eye_strike\",\n { type: AnimationType.PHOENIX_EYE_STRIKE, speed: 1.2 },\n ],\n [\n \"li_nerve_strike_counter\",\n { type: AnimationType.NERVE_STRIKE_COUNTER, speed: 1.1 },\n ],\n [\"li_precision_parry\", { type: AnimationType.PRECISION_PARRY, speed: 1.1 }],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☳ JIN (진) - THUNDER: Explosive Power (폭발력)\n // ═══════════════════════════════════════════════════════════════════════\n [\n \"jin_lightning_flash\",\n { type: AnimationType.LIGHTNING_STRIKE, speed: 1.4 },\n ],\n [\n \"jin_jumping_front_kick\",\n { type: AnimationType.JUMPING_KICK, speed: 1.0 },\n ],\n [\"jin_tornado_kick\", { type: AnimationType.TORNADO_KICK, speed: 1.0 }],\n [\"jin_flying_sidekick\", { type: AnimationType.FLYING_KICK, speed: 1.1 }],\n [\"jin_back_kick\", { type: AnimationType.BACK_KICK, speed: 1.0 }],\n [\"jin_knee_strike\", { type: AnimationType.KNEE_STRIKE, speed: 1.1 }],\n [\n \"jin_explosive_block\",\n { type: AnimationType.EXPLOSIVE_BLOCK, speed: 1.1 },\n ],\n [\"jin_explosive_knee\", { type: AnimationType.EXPLOSIVE_KNEE, speed: 1.1 }],\n [\n \"jin_lightning_straight\",\n { type: AnimationType.LIGHTNING_STRAIGHT, speed: 1.3 },\n ],\n [\n \"jin_shocking_counter\",\n { type: AnimationType.SHOCKING_COUNTER, speed: 1.2 },\n ],\n [\n \"jin_shocking_hammer_fist\",\n { type: AnimationType.SHOCKING_HAMMER_FIST, speed: 1.0 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☴ SON (손) - WIND: Continuous Pressure (지속 공격)\n // ═══════════════════════════════════════════════════════════════════════\n [\n \"son_whirlwind_barrage\",\n { type: AnimationType.RAPID_BARRAGE, speed: 1.5 },\n ],\n [\"son_sweeping_low_kick\", { type: AnimationType.LOW_KICK, speed: 1.0 }],\n [\n \"son_rhythmic_strikes\",\n { type: AnimationType.RHYTHMIC_STRIKES, speed: 1.3 },\n ],\n [\"son_flowing_push\", { type: AnimationType.FLOWING_PUSH, speed: 1.1 }],\n [\n \"son_spinning_elbow\",\n { type: AnimationType.SPINNING_BACK_ELBOW, speed: 1.2 },\n ],\n [\"son_rapid_footwork\", { type: AnimationType.SIDE_STEP, speed: 1.3 }],\n [\n \"son_continuous_deflection\",\n { type: AnimationType.CONTINUOUS_DEFLECTION, speed: 1.2 },\n ],\n [\n \"son_penetrating_palm_rush\",\n { type: AnimationType.PENETRATING_PALM_RUSH, speed: 1.3 },\n ],\n [\n \"son_pressure_counter\",\n { type: AnimationType.PRESSURE_COUNTER, speed: 1.2 },\n ],\n [\n \"son_pressure_point_chain\",\n { type: AnimationType.PRESSURE_POINT_CHAIN, speed: 1.4 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☵ GAM (감) - WATER: Flow & Adaptation (유동 반격)\n // ═══════════════════════════════════════════════════════════════════════\n [\"gam_water_counter\", { type: AnimationType.WATER_COUNTER, speed: 1.0 }],\n [\"gam_redirect_throw\", { type: AnimationType.REDIRECT_THROW, speed: 0.9 }],\n [\"gam_flowing_block\", { type: AnimationType.FLOWING_BLOCK, speed: 1.0 }],\n [\"gam_circular_parry\", { type: AnimationType.CIRCULAR_PARRY, speed: 1.1 }],\n [\"gam_hip_throw\", { type: AnimationType.HIP_WHEEL_THROW, speed: 0.85 }],\n [\n \"gam_wrist_twist_counter\",\n { type: AnimationType.WRIST_TWIST_COUNTER, speed: 0.9 },\n ],\n [\"gam_flow_defense\", { type: AnimationType.FLOW_DEFENSE, speed: 1.0 }],\n [\n \"gam_flowing_river_strike\",\n { type: AnimationType.FLOWING_RIVER_STRIKE, speed: 1.1 },\n ],\n [\n \"gam_redirection_counter\",\n { type: AnimationType.REDIRECTION_COUNTER, speed: 1.0 },\n ],\n [\n \"gam_tidal_wave_palm\",\n { type: AnimationType.TIDAL_WAVE_PALM, speed: 1.0 },\n ],\n [\n \"gam_whirlpool_counter\",\n { type: AnimationType.WHIRLPOOL_COUNTER, speed: 1.1 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☶ GAN (간) - MOUNTAIN: Defensive Mastery (방어 마스터리)\n // ═══════════════════════════════════════════════════════════════════════\n [\"gan_rock_defense\", { type: AnimationType.ROCK_DEFENSE, speed: 0.9 }],\n [\"gan_immovable_stance\", { type: AnimationType.IDLE_STANCE, speed: 0.8 }],\n [\"gan_iron_block\", { type: AnimationType.IRON_BLOCK, speed: 0.85 }],\n [\"gan_counter_strike\", { type: AnimationType.ROCK_COUNTER, speed: 1.1 }],\n [\n \"gan_mountain_stance_lock\",\n { type: AnimationType.MOUNTAIN_LOCK, speed: 0.8 },\n ],\n [\n \"gan_reversal_technique\",\n { type: AnimationType.COUNTER_ATTACK, speed: 1.0 },\n ],\n [\n \"gan_avalanche_hammer\",\n { type: AnimationType.AVALANCHE_HAMMER, speed: 0.9 },\n ],\n [\n \"gan_counter_fortress\",\n { type: AnimationType.COUNTER_FORTRESS, speed: 1.0 },\n ],\n [\n \"gan_fortress_counter_strike\",\n { type: AnimationType.FORTRESS_COUNTER_STRIKE, speed: 1.1 },\n ],\n [\n \"gan_immovable_block\",\n { type: AnimationType.IMMOVABLE_BLOCK, speed: 0.85 },\n ],\n [\n \"gan_stone_wall_thrust\",\n { type: AnimationType.STONE_WALL_THRUST, speed: 0.95 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ☷ GON (곤) - EARTH: Grounding & Takedowns (넘어뜨리기)\n // ═══════════════════════════════════════════════════════════════════════\n [\"gon_earth_embrace\", { type: AnimationType.EARTH_EMBRACE, speed: 0.85 }],\n [\"gon_leg_sweep\", { type: AnimationType.SWEEP, speed: 1.0 }],\n [\"gon_ssireum_throw\", { type: AnimationType.SSIREUM_THROW, speed: 0.9 }],\n [\"gon_ground_pound\", { type: AnimationType.SLAM, speed: 1.0 }],\n [\"gon_ankle_pick\", { type: AnimationType.ANKLE_PICK, speed: 1.1 }],\n [\n \"gon_body_lock_takedown\",\n { type: AnimationType.BODY_LOCK_SLAM, speed: 0.85 },\n ],\n [\n \"gon_sacrifice_throw\",\n { type: AnimationType.SACRIFICE_THROW, speed: 0.8 },\n ],\n [\n \"gon_earthquake_stomp\",\n { type: AnimationType.EARTHQUAKE_STOMP, speed: 0.9 },\n ],\n [\n \"gon_grounding_defense\",\n { type: AnimationType.GROUNDING_DEFENSE, speed: 0.9 },\n ],\n [\n \"gon_ground_sweep_strike\",\n { type: AnimationType.GROUND_SWEEP_STRIKE, speed: 1.0 },\n ],\n [\n \"gon_rooting_takedown\",\n { type: AnimationType.ROOTING_TAKEDOWN, speed: 0.85 },\n ],\n [\n \"gon_takedown_counter\",\n { type: AnimationType.TAKEDOWN_COUNTER, speed: 1.0 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // DARK OPS (암살자) - Lethal Techniques (치명 기술)\n // ═══════════════════════════════════════════════════════════════════════\n [\n \"darkops_silent_carotid\",\n { type: AnimationType.CAROTID_CHOKE, speed: 0.9 },\n ],\n [\n \"darkops_nerve_paralysis\",\n { type: AnimationType.NERVE_PARALYSIS, speed: 1.1 },\n ],\n [\n \"darkops_liver_disruption\",\n { type: AnimationType.LIVER_DISRUPTION, speed: 1.0 },\n ],\n [\"darkops_kidney_strike\", { type: AnimationType.KIDNEY_KNEE, speed: 1.0 }],\n [\n \"darkops_throat_strike\",\n { type: AnimationType.THROAT_STRIKE, speed: 1.2 },\n ],\n [\n \"darkops_solar_plexus_paralyze\",\n { type: AnimationType.HAMMER_FIST, speed: 1.1 },\n ],\n [\n \"darkops_brachial_plexus_strike\",\n { type: AnimationType.BRACHIAL_ELBOW, speed: 1.1 },\n ],\n [\n \"darkops_femoral_nerve_strike\",\n { type: AnimationType.FEMORAL_KNEE, speed: 1.0 },\n ],\n [\n \"darkops_rear_choke\",\n { type: AnimationType.REAR_NAKED_CHOKE, speed: 0.8 },\n ],\n [\"darkops_spinal_strike\", { type: AnimationType.SPINAL_ELBOW, speed: 1.0 }],\n [\n \"darkops_jaw_dislocation\",\n { type: AnimationType.JAW_DISLOCATION, speed: 1.0 },\n ],\n [\n \"darkops_temple_strike\",\n { type: AnimationType.TEMPLE_STRIKE, speed: 1.1 },\n ],\n [\n \"darkops_achilles_sever\",\n { type: AnimationType.ACHILLES_ATTACK, speed: 1.2 },\n ],\n [\"darkops_ear_strike\", { type: AnimationType.EAR_STRIKE, speed: 1.2 }],\n [\"darkops_eye_gouge\", { type: AnimationType.EYE_GOUGE, speed: 1.3 }],\n // Additional Dark Ops techniques (extended set for future use)\n [\n \"darkops_cervical_twist\",\n { type: AnimationType.CERVICAL_TWIST, speed: 0.8 },\n ],\n [\n \"darkops_elbow_hyperextend\",\n { type: AnimationType.ELBOW_HYPEREXTEND, speed: 0.85 },\n ],\n [\"darkops_finger_break\", { type: AnimationType.FINGER_BREAK, speed: 1.0 }],\n [\n \"darkops_guillotine\",\n { type: AnimationType.GUILLOTINE_CHOKE, speed: 0.8 },\n ],\n [\n \"darkops_jugular_strike\",\n { type: AnimationType.JUGULAR_STRIKE, speed: 1.2 },\n ],\n [\n \"darkops_kneecap_strike\",\n { type: AnimationType.KNEECAP_STRIKE, speed: 1.1 },\n ],\n [\"darkops_larynx_crush\", { type: AnimationType.LARYNX_CRUSH, speed: 1.0 }],\n [\n \"darkops_occipital_strike\",\n { type: AnimationType.OCCIPITAL_STRIKE, speed: 1.1 },\n ],\n [\n \"darkops_sciatic_nerve\",\n { type: AnimationType.SCIATIC_NERVE_STRIKE, speed: 1.0 },\n ],\n [\n \"darkops_silent_takedown\",\n { type: AnimationType.SILENT_TAKEDOWN, speed: 0.9 },\n ],\n [\"darkops_sleeper_hold\", { type: AnimationType.SLEEPER_HOLD, speed: 0.75 }],\n [\n \"darkops_spleen_rupture\",\n { type: AnimationType.SPLEEN_RUPTURE, speed: 1.0 },\n ],\n [\n \"darkops_triangle_choke\",\n { type: AnimationType.TRIANGLE_CHOKE, speed: 0.8 },\n ],\n\n // ═══════════════════════════════════════════════════════════════════════\n // ARCHETYPE TECHNIQUES (원형 기술)\n // ═══════════════════════════════════════════════════════════════════════\n\n // Musa (무사) - Traditional Warrior\n [\"musa_dragon_fist\", { type: AnimationType.DRAGON_FIST, speed: 1.0 }],\n [\"musa_iron_defense\", { type: AnimationType.IRON_DEFENSE, speed: 0.9 }],\n [\n \"musa_mountain_breaker\",\n { type: AnimationType.MOUNTAIN_BREAKER, speed: 0.9 },\n ],\n [\"musa_thunder_strike\", { type: AnimationType.THUNDER_STRIKE, speed: 1.1 }],\n\n // Amsalja (암살자) - Shadow Assassin\n [\n \"amsalja_deadly_precision\",\n { type: AnimationType.DEADLY_PRECISION, speed: 1.2 },\n ],\n [\n \"amsalja_nerve_strike\",\n { type: AnimationType.SHADOW_NERVE_STRIKE, speed: 1.1 },\n ],\n [\n \"amsalja_shadow_strike\",\n { type: AnimationType.SHADOW_STRIKE, speed: 1.3 },\n ],\n [\"amsalja_silent_death\", { type: AnimationType.SILENT_DEATH, speed: 1.0 }],\n\n // Hacker (해커) - Cyber Warrior\n [\n \"hacker_cyber_overdrive\",\n { type: AnimationType.CYBER_OVERDRIVE, speed: 1.4 },\n ],\n [\"hacker_data_strike\", { type: AnimationType.DATA_STRIKE, speed: 1.2 }],\n [\n \"hacker_electric_shock\",\n { type: AnimationType.ELECTRIC_SHOCK, speed: 1.3 },\n ],\n [\"hacker_system_crash\", { type: AnimationType.SYSTEM_CRASH, speed: 1.0 }],\n\n // Jeongbo Yowon (정보요원) - Intelligence Operative\n [\n \"jeongbo_counter_intelligence\",\n { type: AnimationType.COUNTER_INTELLIGENCE, speed: 1.1 },\n ],\n [\n \"jeongbo_intelligence_strike\",\n { type: AnimationType.INTELLIGENCE_STRIKE, speed: 1.0 },\n ],\n [\n \"jeongbo_psychological_warfare\",\n { type: AnimationType.PSYCHOLOGICAL_WARFARE, speed: 0.9 },\n ],\n [\n \"jeongbo_tactical_strike\",\n { type: AnimationType.TACTICAL_STRIKE, speed: 1.1 },\n ],\n\n // Jojik Pokryeokbae (조직폭력배) - Organized Crime\n [\n \"jojik_brutal_takedown\",\n { type: AnimationType.BRUTAL_TAKEDOWN, speed: 0.9 },\n ],\n [\n \"jojik_improvised_weapon\",\n { type: AnimationType.IMPROVISED_WEAPON, speed: 1.0 },\n ],\n [\n \"jojik_ruthless_assault\",\n { type: AnimationType.RUTHLESS_ASSAULT, speed: 1.1 },\n ],\n [\"jojik_street_brawl\", { type: AnimationType.STREET_BRAWL, speed: 1.0 }],\n ]);\n\n/**\n * Get animation configuration for a technique\n *\n * @param techniqueId - The technique identifier\n * @returns Animation configuration or undefined if not mapped\n *\n * @korean 기술별애니메이션설정조회\n */\nexport function getAnimationForTechnique(\n techniqueId: string,\n): AnimationConfig | undefined {\n return TECHNIQUE_ANIMATIONS.get(techniqueId);\n}\n\n/**\n * Get animation configuration with fallback\n *\n * @param techniqueId - The technique identifier\n * @param fallbackType - Fallback animation type if not found\n * @returns Animation configuration (never undefined)\n *\n * @korean 기술별애니메이션설정조회_기본값\n */\nexport function getAnimationForTechniqueOrDefault(\n techniqueId: string,\n fallbackType: AnimationType = AnimationType.JAB,\n): AnimationConfig {\n const mapped = TECHNIQUE_ANIMATIONS.get(techniqueId);\n if (mapped) return mapped;\n\n const fallbackConfig = DEFAULT_CONFIGS[fallbackType];\n return fallbackConfig ?? { type: fallbackType, speed: 1.0 };\n}\n\n/**\n * Check if technique has animation mapping\n *\n * @param techniqueId - The technique identifier\n * @returns True if technique has animation mapping\n *\n * @korean 애니메이션매핑여부확인\n */\nexport function hasAnimationMapping(techniqueId: string): boolean {\n return TECHNIQUE_ANIMATIONS.has(techniqueId);\n}\n\n/**\n * Get all technique IDs with a specific animation type\n *\n * @param animationType - The animation type to search for\n * @returns Array of technique IDs using this animation\n *\n * @korean 애니메이션타입별기술조회\n */\nexport function getTechniquesByAnimationType(\n animationType: AnimationType,\n): readonly string[] {\n const techniques: string[] = [];\n for (const [id, config] of TECHNIQUE_ANIMATIONS) {\n if (config.type === animationType) {\n techniques.push(id);\n }\n }\n return techniques;\n}\n\n/**\n * Animation statistics for debugging\n */\nexport function getAnimationStats(): Record<AnimationType, number> {\n const stats: Record<AnimationType, number> = {} as Record<\n AnimationType,\n number\n >;\n\n // Initialize all types to 0\n for (const type of Object.values(AnimationType)) {\n stats[type] = 0;\n }\n\n // Count techniques per animation type\n for (const [, config] of TECHNIQUE_ANIMATIONS) {\n stats[config.type]++;\n }\n\n return stats;\n}\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export * from "./types";
|
|
|
8
8
|
export { ANIMATION_PRIORITY_MAP, canInterrupt, comparePriority, getPriority, PRIORITY_LEVEL_KOREAN_NAMES, } from "./AnimationPriority";
|
|
9
9
|
export { buildTransitionMap, DEFAULT_TRANSITIONS, getStanceTransition, getValidTransitions, isTransitionAllowed, TRIGRAM_STANCES_ORDER, } from "./AnimationTransitions";
|
|
10
10
|
export * from "./AnimationStateMachine";
|
|
11
|
-
export { ALL_ANIMATIONS, ANIMATION_REGISTRY, ELBOW_KNEE_ANIMATIONS, getAnimation, getAnimationByName, getAnimationByType, getAnimationByTypeOrDefault, getAnimationForTechnique, getAnimationForTechniqueId, getAnimationForTechniqueIdWithConfig, resolveTechniqueAnimation, GRAPPLING_ANIMATIONS, KICK_ANIMATIONS, PUNCH_ANIMATIONS, ANIMATION_ID_REGISTRY, CATEGORY_DEFAULT_ANIMATIONS, getAnimationById, getAnimationByIdWithFallback, hasAnimationId, getCategoryDefaultAnimation, } from "./AnimationRegistry";
|
|
11
|
+
export { ALL_ANIMATIONS, ANIMATION_REGISTRY, ELBOW_KNEE_ANIMATIONS, getAnimation, getAnimationDurationOrFallback, getAnimationByName, getAnimationByType, getAnimationByTypeOrDefault, getAnimationForTechnique, getAnimationForTechniqueId, getAnimationForTechniqueIdWithConfig, resolveTechniqueAnimation, GRAPPLING_ANIMATIONS, KICK_ANIMATIONS, PUNCH_ANIMATIONS, ANIMATION_ID_REGISTRY, CATEGORY_DEFAULT_ANIMATIONS, getAnimationById, getAnimationByIdWithFallback, hasAnimationId, getCategoryDefaultAnimation, } from "./AnimationRegistry";
|
|
12
12
|
export { ANIMATION_HIT_TIMING, getAnimationHitTiming, getCurrentReachMultiplier, isWithinHitWindow, } from "./AnimationHitTiming";
|
|
13
13
|
export type { AnimationHitWindow, TechniqueHitTiming, } from "./AnimationHitTiming";
|
|
14
14
|
export { animationCache, batchTransformBones, batchUpdateBones, calculateDirtyBones, interpolateKeyframeCached, performanceMonitor, precomputeAnimation, } from "./AnimationOptimizations";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACpB,YAAY,EACZ,8BAA8B,EAC9B,kBAAkB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,oCAAoC,EACpC,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAEhB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,mBAAmB,IAAI,0BAA0B,EACjD,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,IAAI,iCAAiC,GAC3D,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC"}
|
|
@@ -8,6 +8,30 @@
|
|
|
8
8
|
* @category Animation
|
|
9
9
|
* @korean 애니메이션시스템타입
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* Maximum frame delta used by visual animation loops.
|
|
13
|
+
*
|
|
14
|
+
* 30fps-equivalent clamping prevents large tab-throttled frames from skipping
|
|
15
|
+
* key transitional poses while still allowing 60fps updates during normal play.
|
|
16
|
+
*
|
|
17
|
+
* @korean 최대프레임델타초
|
|
18
|
+
*/
|
|
19
|
+
export declare const MAX_VISUAL_FRAME_DELTA_SECONDS: number;
|
|
20
|
+
/**
|
|
21
|
+
* Target animation sampling rate for frame-index calculations.
|
|
22
|
+
*
|
|
23
|
+
* @korean 목표애니메이션FPS
|
|
24
|
+
*/
|
|
25
|
+
export declare const TARGET_ANIMATION_FPS = 60;
|
|
26
|
+
/**
|
|
27
|
+
* Median short technique duration used when skeletal metadata is unavailable.
|
|
28
|
+
*
|
|
29
|
+
* Keeps combat and training fallback attacks longer than the 200ms generic
|
|
30
|
+
* state-machine attack while avoiding slow-feeling recovery snaps.
|
|
31
|
+
*
|
|
32
|
+
* @korean 기본공격지속시간초
|
|
33
|
+
*/
|
|
34
|
+
export declare const DEFAULT_TECHNIQUE_DURATION_SECONDS = 0.55;
|
|
11
35
|
/**
|
|
12
36
|
* Animation states for player characters (애니메이션 상태)
|
|
13
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/systems/animation/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,24 @@
|
|
|
10
10
|
* @korean 애니메이션시스템타입
|
|
11
11
|
*/
|
|
12
12
|
/**
|
|
13
|
+
* Maximum frame delta used by visual animation loops.
|
|
14
|
+
*
|
|
15
|
+
* 30fps-equivalent clamping prevents large tab-throttled frames from skipping
|
|
16
|
+
* key transitional poses while still allowing 60fps updates during normal play.
|
|
17
|
+
*
|
|
18
|
+
* @korean 최대프레임델타초
|
|
19
|
+
*/
|
|
20
|
+
var MAX_VISUAL_FRAME_DELTA_SECONDS = 1 / 30;
|
|
21
|
+
/**
|
|
22
|
+
* Median short technique duration used when skeletal metadata is unavailable.
|
|
23
|
+
*
|
|
24
|
+
* Keeps combat and training fallback attacks longer than the 200ms generic
|
|
25
|
+
* state-machine attack while avoiding slow-feeling recovery snaps.
|
|
26
|
+
*
|
|
27
|
+
* @korean 기본공격지속시간초
|
|
28
|
+
*/
|
|
29
|
+
var DEFAULT_TECHNIQUE_DURATION_SECONDS = .55;
|
|
30
|
+
/**
|
|
13
31
|
* Animation states for player characters (애니메이션 상태)
|
|
14
32
|
*
|
|
15
33
|
* Enum-based animation state system for type safety and IDE autocomplete.
|
|
@@ -403,7 +421,6 @@ var AnimationPriority = /* @__PURE__ */ function(AnimationPriority) {
|
|
|
403
421
|
AnimationPriority[AnimationPriority["RECOVERY"] = 9] = "RECOVERY";
|
|
404
422
|
return AnimationPriority;
|
|
405
423
|
}({});
|
|
406
|
-
var STEP_PRIORITY = AnimationPriority.ATTACK;
|
|
407
424
|
/**
|
|
408
425
|
* Maps fall types to corresponding ground states
|
|
409
426
|
*
|
|
@@ -421,12 +438,11 @@ var FALL_TO_GROUND_MAP = {
|
|
|
421
438
|
* @korean 낙법애니메이션맵
|
|
422
439
|
*/
|
|
423
440
|
var FALL_TYPE_TO_ANIMATION = {
|
|
424
|
-
forward:
|
|
425
|
-
backward:
|
|
426
|
-
side_left:
|
|
427
|
-
side_right:
|
|
441
|
+
forward: "fall_forward",
|
|
442
|
+
backward: "fall_backward",
|
|
443
|
+
side_left: "fall_side_left",
|
|
444
|
+
side_right: "fall_side_right"
|
|
428
445
|
};
|
|
429
|
-
AnimationState.GROUND_PRONE, AnimationState.GROUND_SUPINE, AnimationState.GROUND_SIDE_LEFT, AnimationState.GROUND_SIDE_RIGHT;
|
|
430
446
|
/**
|
|
431
447
|
* Korean terminology for footwork patterns
|
|
432
448
|
*
|
|
@@ -474,10 +490,10 @@ var GROUND_STATE_TO_RECOVERY = {
|
|
|
474
490
|
* @korean 회복애니메이션맵
|
|
475
491
|
*/
|
|
476
492
|
var RECOVERY_TYPE_TO_ANIMATION = {
|
|
477
|
-
prone_standup:
|
|
478
|
-
supine_standup:
|
|
479
|
-
roll_recovery:
|
|
480
|
-
defensive_getup:
|
|
493
|
+
prone_standup: "recovery_prone_standup",
|
|
494
|
+
supine_standup: "recovery_supine_standup",
|
|
495
|
+
roll_recovery: "recovery_roll",
|
|
496
|
+
defensive_getup: "recovery_defensive"
|
|
481
497
|
};
|
|
482
498
|
/**
|
|
483
499
|
* Check if an animation state is a fall animation state
|
|
@@ -525,6 +541,6 @@ function isGroundState(state) {
|
|
|
525
541
|
return state.startsWith("ground_");
|
|
526
542
|
}
|
|
527
543
|
//#endregion
|
|
528
|
-
export { AnimationPriority, AnimationState, FALL_TO_GROUND_MAP, FALL_TYPE_TO_ANIMATION, FOOTWORK_KOREAN_TERMS, GROUND_STATE_TO_RECOVERY,
|
|
544
|
+
export { AnimationPriority, AnimationState, DEFAULT_TECHNIQUE_DURATION_SECONDS, FALL_TO_GROUND_MAP, FALL_TYPE_TO_ANIMATION, FOOTWORK_KOREAN_TERMS, GROUND_STATE_TO_RECOVERY, MAX_VISUAL_FRAME_DELTA_SECONDS, RECOVERY_TYPE_TO_ANIMATION, isFallState, isGroundState };
|
|
529
545
|
|
|
530
546
|
//# sourceMappingURL=types.js.map
|