blacktrigram 0.7.80 → 0.7.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +9 -9
  2. package/lib/App.d.ts.map +1 -1
  3. package/lib/audio/AudioAssetLoader.d.ts.map +1 -1
  4. package/lib/audio/AudioAssetRegistry.d.ts.map +1 -1
  5. package/lib/audio/AudioCache.d.ts.map +1 -1
  6. package/lib/audio/AudioManager.d.ts.map +1 -1
  7. package/lib/audio/AudioMonitor.d.ts.map +1 -1
  8. package/lib/audio/AudioPool.d.ts.map +1 -1
  9. package/lib/audio/AudioUtils.d.ts +1 -1
  10. package/lib/audio/AudioUtils.d.ts.map +1 -1
  11. package/lib/audio/VariantSelector.d.ts.map +1 -1
  12. package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -1
  13. package/lib/components/screens/combat/CombatScreen3D.js +16 -11
  14. package/lib/components/screens/combat/CombatScreen3D.js.map +1 -1
  15. package/lib/components/screens/combat/components/controls/CombatButtons.d.ts.map +1 -1
  16. package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts.map +1 -1
  17. package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts.map +1 -1
  18. package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -1
  19. package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts.map +1 -1
  20. package/lib/components/screens/combat/components/controls/QuickSettings.d.ts.map +1 -1
  21. package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts.map +1 -1
  22. package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts.map +1 -1
  23. package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts.map +1 -1
  24. package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts.map +1 -1
  25. package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts.map +1 -1
  26. package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts.map +1 -1
  27. package/lib/components/screens/combat/components/effects/ParticleAudio3D.js +2 -1
  28. package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -1
  29. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts.map +1 -1
  30. package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts.map +1 -1
  31. package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts.map +1 -1
  32. package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts.map +1 -1
  33. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts.map +1 -1
  34. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts.map +1 -1
  35. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts.map +1 -1
  36. package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -1
  37. package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts.map +1 -1
  38. package/lib/components/screens/combat/components/hud/CombatPortraitStatusStrip.d.ts.map +1 -1
  39. package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts.map +1 -1
  40. package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -1
  41. package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts.map +1 -1
  42. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts.map +1 -1
  43. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts.map +1 -1
  44. package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -1
  45. package/lib/components/screens/combat/helpers/combatHelpers.d.ts.map +1 -1
  46. package/lib/components/screens/combat/hooks/useAICombat.js +2 -1
  47. package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -1
  48. package/lib/components/screens/combat/hooks/useCombatActions.js +25 -9
  49. package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -1
  50. package/lib/components/screens/combat/hooks/useCombatAttackMovement.js +10 -6
  51. package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -1
  52. package/lib/components/screens/combat/hooks/useCombatAudio.d.ts.map +1 -1
  53. package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts.map +1 -1
  54. package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts.map +1 -1
  55. package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -1
  56. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts.map +1 -1
  57. package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts.map +1 -1
  58. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts.map +1 -1
  59. package/lib/components/screens/controls/components/Key3D.d.ts.map +1 -1
  60. package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -1
  61. package/lib/components/screens/intro/IntroScreen3D.d.ts.map +1 -1
  62. package/lib/components/screens/intro/IntroScreen3D.js +8 -4
  63. package/lib/components/screens/intro/IntroScreen3D.js.map +1 -1
  64. package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts.map +1 -1
  65. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts.map +1 -1
  66. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts.map +1 -1
  67. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts.map +1 -1
  68. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts.map +1 -1
  69. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -1
  70. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts.map +1 -1
  71. package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts.map +1 -1
  72. package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts.map +1 -1
  73. package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts.map +1 -1
  74. package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts.map +1 -1
  75. package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts.map +1 -1
  76. package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts.map +1 -1
  77. package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -1
  78. package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts.map +1 -1
  79. package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -1
  80. package/lib/components/screens/training/TrainingScreen3D.js +5 -3
  81. package/lib/components/screens/training/TrainingScreen3D.js.map +1 -1
  82. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts.map +1 -1
  83. package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts.map +1 -1
  84. package/lib/components/screens/training/components/DamageNumber3D.d.ts.map +1 -1
  85. package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts.map +1 -1
  86. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts.map +1 -1
  87. package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts.map +1 -1
  88. package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts.map +1 -1
  89. package/lib/components/screens/training/components/TrainingArena3D.d.ts.map +1 -1
  90. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts.map +1 -1
  91. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts.map +1 -1
  92. package/lib/components/screens/training/components/TrainingDummy3D.d.ts.map +1 -1
  93. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts.map +1 -1
  94. package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts.map +1 -1
  95. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts.map +1 -1
  96. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts.map +1 -1
  97. package/lib/components/screens/training/components/VitalPointMarker3D.d.ts.map +1 -1
  98. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts.map +1 -1
  99. package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -1
  100. package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts.map +1 -1
  101. package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts.map +1 -1
  102. package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts.map +1 -1
  103. package/lib/components/screens/training/hooks/useAttackMovement.d.ts.map +1 -1
  104. package/lib/components/screens/training/hooks/useAttackMovement.js +2 -1
  105. package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -1
  106. package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -1
  107. package/lib/components/screens/training/hooks/useTrainingActions.js +2 -1
  108. package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -1
  109. package/lib/components/screens/training/hooks/useTrainingState.d.ts.map +1 -1
  110. package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -1
  111. package/lib/components/shared/base/useKoreanTheme.d.ts +7 -7
  112. package/lib/components/shared/effects/ScreenFlash.d.ts.map +1 -1
  113. package/lib/components/shared/mobile/HapticController.d.ts.map +1 -1
  114. package/lib/components/shared/mobile/MobileControlsPure.d.ts.map +1 -1
  115. package/lib/components/shared/mobile/PerformanceMonitor.d.ts.map +1 -1
  116. package/lib/components/shared/three/anatomy/BodySurface.d.ts.map +1 -1
  117. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts.map +1 -1
  118. package/lib/components/shared/three/anatomy/BoneClothing.d.ts.map +1 -1
  119. package/lib/components/shared/three/anatomy/BoneRenderer.d.ts.map +1 -1
  120. package/lib/components/shared/three/anatomy/Face3D.d.ts.map +1 -1
  121. package/lib/components/shared/three/anatomy/Foot3D.d.ts.map +1 -1
  122. package/lib/components/shared/three/anatomy/Hand3D.d.ts.map +1 -1
  123. package/lib/components/shared/three/effects/ActionFeedback.d.ts.map +1 -1
  124. package/lib/components/shared/three/effects/ActionFeedback.js +2 -1
  125. package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -1
  126. package/lib/components/shared/three/effects/DamageNumbers.d.ts.map +1 -1
  127. package/lib/components/shared/three/effects/DamageNumbers.js +2 -1
  128. package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -1
  129. package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts.map +1 -1
  130. package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts.map +1 -1
  131. package/lib/components/shared/three/effects/HitEffects3D.d.ts.map +1 -1
  132. package/lib/components/shared/three/effects/HitEffects3D.js +2 -1
  133. package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -1
  134. package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts.map +1 -1
  135. package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts.map +1 -1
  136. package/lib/components/shared/three/effects/StanceSymbol3D.d.ts.map +1 -1
  137. package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts.map +1 -1
  138. package/lib/components/shared/three/effects/ThunderEffect3D.d.ts.map +1 -1
  139. package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts.map +1 -1
  140. package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts.map +1 -1
  141. package/lib/components/shared/three/indicators/GuardIndicator.d.ts.map +1 -1
  142. package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts.map +1 -1
  143. package/lib/components/shared/three/models/Player3DWithTransitions.d.ts.map +1 -1
  144. package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -1
  145. package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts.map +1 -1
  146. package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts.map +1 -1
  147. package/lib/components/shared/three/scene/BackgroundScene3D.d.ts.map +1 -1
  148. package/lib/components/shared/three/scene/CombatArena3D.d.ts.map +1 -1
  149. package/lib/components/shared/three/scene/DebugCollision.d.ts.map +1 -1
  150. package/lib/components/shared/three/scene/KoreanSignage3D.d.ts.map +1 -1
  151. package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts.map +1 -1
  152. package/lib/components/shared/three/ui/CombatReadinessBar.d.ts.map +1 -1
  153. package/lib/components/shared/three/ui/ComboCounter.d.ts.map +1 -1
  154. package/lib/components/shared/three/ui/HealthBar.d.ts.map +1 -1
  155. package/lib/components/shared/three/ui/PlayerHUD.d.ts.map +1 -1
  156. package/lib/components/shared/three/ui/StaminaBar.d.ts.map +1 -1
  157. package/lib/components/shared/three/ui/TechniqueBar.d.ts.map +1 -1
  158. package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts.map +1 -1
  159. package/lib/components/shared/three/ui/TechniqueCard.d.ts.map +1 -1
  160. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts.map +1 -1
  161. package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts.map +1 -1
  162. package/lib/components/shared/ui/BackButton.d.ts.map +1 -1
  163. package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -1
  164. package/lib/components/shared/ui/CombatTimer.d.ts.map +1 -1
  165. package/lib/components/shared/ui/ErrorBoundary.d.ts +1 -1
  166. package/lib/components/shared/ui/ErrorBoundary.d.ts.map +1 -1
  167. package/lib/components/shared/ui/ErrorModal.d.ts.map +1 -1
  168. package/lib/components/shared/ui/HUDSection.d.ts.map +1 -1
  169. package/lib/components/shared/ui/SplashScreen.d.ts.map +1 -1
  170. package/lib/components/shared/ui/SplashScreen.js +2 -2
  171. package/lib/components/shared/ui/StyledHUDPanel.d.ts.map +1 -1
  172. package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts.map +1 -1
  173. package/lib/components/shared/ui/shared/ConfirmDialog.d.ts.map +1 -1
  174. package/lib/constants/bodyDimensions.d.ts.map +1 -1
  175. package/lib/constants/bodyRenderingConstants.d.ts.map +1 -1
  176. package/lib/data/techniqueMappings.d.ts.map +1 -1
  177. package/lib/data/techniques.d.ts.map +1 -1
  178. package/lib/hooks/useActionFeedback.d.ts.map +1 -1
  179. package/lib/hooks/useDebounce.d.ts.map +1 -1
  180. package/lib/hooks/useMatchCountdown.d.ts.map +1 -1
  181. package/lib/hooks/useMuscleActivation.js +4 -1
  182. package/lib/hooks/useMuscleActivation.js.map +1 -1
  183. package/lib/hooks/useRoundTransition.d.ts.map +1 -1
  184. package/lib/hooks/useRoundTransition.js +2 -1
  185. package/lib/hooks/useRoundTransition.js.map +1 -1
  186. package/lib/hooks/useSkeletalAnimation.js +1 -1
  187. package/lib/hooks/useTechniqueSelection.d.ts.map +1 -1
  188. package/lib/hooks/useThrottle.d.ts.map +1 -1
  189. package/lib/hooks/useWebGLContextLossHandler.d.ts.map +1 -1
  190. package/lib/hooks/useWindowSize.d.ts.map +1 -1
  191. package/lib/index.js +2 -2
  192. package/lib/systems/CombatSystem.d.ts.map +1 -1
  193. package/lib/systems/LayoutSystem.d.ts.map +1 -1
  194. package/lib/systems/ResponsiveScaling.d.ts.map +1 -1
  195. package/lib/systems/TrigramSystem.d.ts.map +1 -1
  196. package/lib/systems/VitalPointSystem.d.ts.map +1 -1
  197. package/lib/systems/VitalPointSystem.js +2 -1
  198. package/lib/systems/VitalPointSystem.js.map +1 -1
  199. package/lib/systems/ai/AdaptiveDifficulty.d.ts.map +1 -1
  200. package/lib/systems/ai/ComboSystem.d.ts.map +1 -1
  201. package/lib/systems/ai/DecisionTree.d.ts.map +1 -1
  202. package/lib/systems/ai/TrainingAI.d.ts.map +1 -1
  203. package/lib/systems/animation/builders/AnimationBuilder.d.ts.map +1 -1
  204. package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts.map +1 -1
  205. package/lib/systems/animation/builders/HandPoses.d.ts.map +1 -1
  206. package/lib/systems/animation/builders/KeyframeConfig.d.ts.map +1 -1
  207. package/lib/systems/animation/builders/KeyframeInterpolation.d.ts.map +1 -1
  208. package/lib/systems/animation/builders/KoreanGuardPositions.d.ts.map +1 -1
  209. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts.map +1 -1
  210. package/lib/systems/animation/builders/MartialArtsConstants.d.ts.map +1 -1
  211. package/lib/systems/animation/builders/SkeletonRig.d.ts.map +1 -1
  212. package/lib/systems/animation/catalogs/AttackAnimations.d.ts.map +1 -1
  213. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts.map +1 -1
  214. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts.map +1 -1
  215. package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts.map +1 -1
  216. package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts.map +1 -1
  217. package/lib/systems/animation/catalogs/GonGuardPoses.d.ts.map +1 -1
  218. package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts.map +1 -1
  219. package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts.map +1 -1
  220. package/lib/systems/animation/catalogs/StepAnimations.d.ts.map +1 -1
  221. package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts.map +1 -1
  222. package/lib/systems/animation/constants/AnatomicalLimits.d.ts.map +1 -1
  223. package/lib/systems/animation/core/AnimationOptimizations.d.ts.map +1 -1
  224. package/lib/systems/animation/core/AnimationPriority.d.ts.map +1 -1
  225. package/lib/systems/animation/core/AnimationStateMachine.d.ts.map +1 -1
  226. package/lib/systems/animation/core/AnimationStateMachine.js +1 -1
  227. package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts.map +1 -1
  228. package/lib/systems/animation/systems/AdvancedJointMovements.d.ts.map +1 -1
  229. package/lib/systems/animation/systems/BodyFacingSystem.d.ts.map +1 -1
  230. package/lib/systems/animation/systems/FacialExpressions.d.ts.map +1 -1
  231. package/lib/systems/animation/systems/HeadMovements.d.ts.map +1 -1
  232. package/lib/systems/animation/systems/MuscleActivation.d.ts.map +1 -1
  233. package/lib/systems/audio/BoneImpactAudioSystem.d.ts.map +1 -1
  234. package/lib/systems/bodypart/BodyPartHealthSystem.d.ts.map +1 -1
  235. package/lib/systems/bodypart/BodyPartPositionMapping.d.ts.map +1 -1
  236. package/lib/systems/bodypart/CombatInjuryIntegration.d.ts.map +1 -1
  237. package/lib/systems/bodypart/InjuryTracker.d.ts.map +1 -1
  238. package/lib/systems/bodypart/MovementPenaltySystem.d.ts.map +1 -1
  239. package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts.map +1 -1
  240. package/lib/systems/bodypart/types.d.ts.map +1 -1
  241. package/lib/systems/breathing/BreathingDisruptionSystem.d.ts.map +1 -1
  242. package/lib/systems/combat/AICounterAttackIntegration.d.ts.map +1 -1
  243. package/lib/systems/combat/BalanceSystem.d.ts.map +1 -1
  244. package/lib/systems/combat/BreakingStatusEffects.d.ts.map +1 -1
  245. package/lib/systems/combat/CombatStateSystem.d.ts.map +1 -1
  246. package/lib/systems/combat/ConsciousnessSystem.d.ts.map +1 -1
  247. package/lib/systems/combat/GrappleSystem.d.ts.map +1 -1
  248. package/lib/systems/combat/LimbExposureSystem.d.ts.map +1 -1
  249. package/lib/systems/combat/PainResponseSystem.d.ts.map +1 -1
  250. package/lib/systems/combat/SlowMotionController.d.ts.map +1 -1
  251. package/lib/systems/combat/TrainingCombatSystem.d.ts +1 -1
  252. package/lib/systems/combat/TrainingCombatSystem.d.ts.map +1 -1
  253. package/lib/systems/index.js +2 -2
  254. package/lib/systems/movement/InjuryMovementModifier.d.ts.map +1 -1
  255. package/lib/systems/movement/helpers/AccelerationUpdater.d.ts.map +1 -1
  256. package/lib/systems/movement/helpers/accelerationUtils.d.ts.map +1 -1
  257. package/lib/systems/physics/AttackMovementPhysics.d.ts.map +1 -1
  258. package/lib/systems/physics/CollisionDetection.d.ts.map +1 -1
  259. package/lib/systems/physics/CoordinateMapper.d.ts.map +1 -1
  260. package/lib/systems/physics/KnockbackPhysics.d.ts.map +1 -1
  261. package/lib/systems/physics/MovementPhysics.d.ts.map +1 -1
  262. package/lib/systems/physics/PhysicalReachCalculator.d.ts.map +1 -1
  263. package/lib/systems/physics/SpeedModifierSystem.d.ts.map +1 -1
  264. package/lib/systems/trigram/KoreanCulture.d.ts.map +1 -1
  265. package/lib/systems/trigram/KoreanTechniques.d.ts.map +1 -1
  266. package/lib/systems/trigram/StanceManager.d.ts.map +1 -1
  267. package/lib/systems/trigram/TransitionCalculator.d.ts.map +1 -1
  268. package/lib/systems/trigram/TrigramCalculator.d.ts.map +1 -1
  269. package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts.map +1 -1
  270. package/lib/systems/trigram/techniques/TechniqueConfig.d.ts.map +1 -1
  271. package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts.map +1 -1
  272. package/lib/systems/types.d.ts.map +1 -1
  273. package/lib/systems/vitalpoint/DamageCalculator.d.ts.map +1 -1
  274. package/lib/systems/vitalpoint/HitDetection.d.ts.map +1 -1
  275. package/lib/systems/vitalpoint/KoreanAnatomy.d.ts.map +1 -1
  276. package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts.map +1 -1
  277. package/lib/systems/vitalpoint/VitalPointsData.d.ts.map +1 -1
  278. package/lib/types/AccessibilityTypes.d.ts.map +1 -1
  279. package/lib/types/LayoutTypes.d.ts.map +1 -1
  280. package/lib/types/common.d.ts.map +1 -1
  281. package/lib/types/constants/animations.d.ts.map +1 -1
  282. package/lib/types/constants/colors.d.ts.map +1 -1
  283. package/lib/types/constants/designSystem.d.ts +41 -41
  284. package/lib/types/constants/designSystem.d.ts.map +1 -1
  285. package/lib/types/constants/index.d.ts.map +1 -1
  286. package/lib/types/constants/layout.d.ts.map +1 -1
  287. package/lib/types/constants/performance.d.ts.map +1 -1
  288. package/lib/types/constants/typography.d.ts +7 -7
  289. package/lib/types/constants/typography.d.ts.map +1 -1
  290. package/lib/types/constants/ui.d.ts.map +1 -1
  291. package/lib/types/physics.d.ts.map +1 -1
  292. package/lib/types/physicsConstants.d.ts.map +1 -1
  293. package/lib/types/technique.d.ts.map +1 -1
  294. package/lib/types/techniqueId.d.ts.map +1 -1
  295. package/lib/utils/EventManager.d.ts.map +1 -1
  296. package/lib/utils/arenaWorldDimensions.d.ts.map +1 -1
  297. package/lib/utils/cameraShake.d.ts.map +1 -1
  298. package/lib/utils/characterScaling.d.ts.map +1 -1
  299. package/lib/utils/combatReadiness.d.ts.map +1 -1
  300. package/lib/utils/controlMapping.d.ts.map +1 -1
  301. package/lib/utils/eventConstants.d.ts.map +1 -1
  302. package/lib/utils/fabricTextures.d.ts.map +1 -1
  303. package/lib/utils/hapticFeedback.d.ts.map +1 -1
  304. package/lib/utils/haptics.d.ts.map +1 -1
  305. package/lib/utils/inputSystem.d.ts.map +1 -1
  306. package/lib/utils/inputSystem.js +2 -1
  307. package/lib/utils/inputSystem.js.map +1 -1
  308. package/lib/utils/mobileUIUtils.d.ts.map +1 -1
  309. package/lib/utils/objectPool.d.ts.map +1 -1
  310. package/lib/utils/particlePool.d.ts.map +1 -1
  311. package/lib/utils/performance/PerformanceMonitor.d.ts.map +1 -1
  312. package/lib/utils/performance/PerformanceOverlay3D.d.ts.map +1 -1
  313. package/lib/utils/performance/usePerformanceMonitor.d.ts.map +1 -1
  314. package/lib/utils/performanceOptimization.d.ts +3 -3
  315. package/lib/utils/performanceOptimization.d.ts.map +1 -1
  316. package/lib/utils/physicalAttributeValidation.d.ts.map +1 -1
  317. package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -1
  318. package/lib/utils/responsiveOrientationConstants.d.ts.map +1 -1
  319. package/lib/utils/stanceHelpers.d.ts.map +1 -1
  320. package/lib/utils/threeObjectPool.d.ts.map +1 -1
  321. package/package.json +21 -19
@@ -1 +1 @@
1
- {"version":3,"file":"IntroScreen3D.js","names":[],"sources":["../../../../src/components/screens/intro/IntroScreen3D.tsx"],"sourcesContent":["import { Canvas } from \"@react-three/fiber\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useAudio } from \"../../../audio/AudioProvider\";\nimport { useWebGLContextLossHandler } from \"../../../hooks/useWebGLContextLossHandler\";\nimport { useWindowSize } from \"../../../hooks/useWindowSize\";\nimport { getScreenSize } from \"../../../systems/ResponsiveScaling\";\nimport { PLAYER_ARCHETYPES_DATA } from \"../../../systems/types\";\nimport { GameMode, PlayerArchetype } from \"../../../types/common\";\nimport {\n ARCHETYPE_BACKGROUNDS,\n getKoreanFontSize,\n getPerformanceSettings,\n} from \"../../../types/constants\";\nimport { Z_INDEX } from \"../../../types/LayoutTypes\";\nimport { hexToRgbaString } from \"../../../utils/colorUtils\";\nimport { shouldUseMobileControls } from \"../../../utils/deviceDetection\";\nimport { getArchetypeAssets } from \"../../../utils/playerUtils\";\nimport { useKoreanTheme } from \"../../shared/base/useKoreanTheme\";\nimport { BackgroundScene3D } from \"../../shared/three\";\nimport { VolumeControl } from \"../../shared/ui/VolumeControl\";\nimport { ArchetypeDisplayOverlayHtml } from \"./components/ArchetypeDisplayOverlayHtml\";\nimport { EnhancedArchetypeDisplay } from \"./components/EnhancedArchetypeDisplayOverlayHtml\";\nimport { MenuSectionOverlayHtml } from \"./components/MenuSectionOverlayHtml\";\n\nconst APP_VERSION = import.meta.env.APP_VERSION;\n\nexport interface IntroScreen3DProps {\n readonly onMenuSelect: (mode: GameMode, archetype?: PlayerArchetype) => void;\n readonly onArchetypeSelect?: (archetype: PlayerArchetype) => void;\n readonly selectedArchetype?: PlayerArchetype;\n readonly width?: number;\n readonly height?: number;\n readonly useEnhancedArchetypeDisplay?: boolean; // Use enhanced card display\n}\n\nconst MENU_ITEMS: { mode: GameMode; korean: string; english: string }[] = [\n { mode: GameMode.VERSUS, korean: \"대전\", english: \"Combat\" },\n { mode: GameMode.TRAINING, korean: \"훈련\", english: \"Training\" },\n { mode: GameMode.CONTROLS, korean: \"조작\", english: \"Controls\" },\n { mode: GameMode.PHILOSOPHY, korean: \"철학\", english: \"Philosophy\" },\n];\n\nconst ARCHETYPE_TEXTURE_MAPPING: Record<PlayerArchetype, string> = {\n [PlayerArchetype.MUSA]: \"musa\",\n [PlayerArchetype.AMSALJA]: \"amsalja\",\n [PlayerArchetype.HACKER]: \"hacker\",\n [PlayerArchetype.JEONGBO_YOWON]: \"jeongbo_yowon\",\n [PlayerArchetype.JOJIK_POKRYEOKBAE]: \"jojik_pokryeokbae\",\n};\n\nconst getArchetypeIndex = (archetype: PlayerArchetype): number => {\n const archetypeKeys = Object.keys(\n PLAYER_ARCHETYPES_DATA,\n ) as PlayerArchetype[];\n return archetypeKeys.indexOf(archetype);\n};\n\nconst getArchetypeFromIndex = (index: number): PlayerArchetype => {\n const archetypeKeys = Object.keys(\n PLAYER_ARCHETYPES_DATA,\n ) as PlayerArchetype[];\n return archetypeKeys[index] ?? PlayerArchetype.MUSA;\n};\n\n/**\n * Three.js-based IntroScreen Component\n */\nexport const IntroScreen3D: React.FC<IntroScreen3DProps> = ({\n onMenuSelect,\n onArchetypeSelect,\n selectedArchetype = PlayerArchetype.MUSA,\n width: propWidth,\n height: propHeight,\n useEnhancedArchetypeDisplay = true, // Default to enhanced display\n}) => {\n const audio = useAudio();\n const introMusicStarted = useRef(false);\n const [selectedMenuIndex, setSelectedMenuIndex] = useState(0);\n\n useWebGLContextLossHandler({\n onContextLost: () => {\n console.warn(\"⚠️ WebGL context lost in IntroScreen\");\n },\n onContextRestored: () => {\n console.log(\"✓ WebGL context restored in IntroScreen\");\n },\n autoRestore: true,\n });\n\n const [currentArchetype, setCurrentArchetype] =\n useState<PlayerArchetype>(selectedArchetype);\n const [selectedArchetypeIndex, setSelectedArchetypeIndex] = useState<number>(\n getArchetypeIndex(selectedArchetype),\n );\n\n const { width, height } = useWindowSize();\n\n const screenWidth = propWidth ?? (width || 1200);\n const screenHeight = propHeight ?? (height || 800);\n\n const archetypeData = useMemo(() => {\n return Object.entries(PLAYER_ARCHETYPES_DATA).map(([key, data]) => {\n const archetypeEnum = key as PlayerArchetype;\n return {\n id: key.toLowerCase(),\n korean: data.name.korean,\n english: data.name.english,\n description: data.description.korean,\n color: data.colors.primary,\n textureKey: ARCHETYPE_TEXTURE_MAPPING[archetypeEnum],\n stats: data.stats,\n philosophy: data.philosophy,\n specialAbilities: data.specialAbilities, // Include special abilities\n };\n });\n }, []);\n\n useEffect(() => {\n setCurrentArchetype(selectedArchetype);\n setSelectedArchetypeIndex(getArchetypeIndex(selectedArchetype));\n }, [selectedArchetype]);\n\n const handleMenuItemSelect = useCallback(\n (mode: GameMode) => {\n onMenuSelect(mode, currentArchetype);\n },\n [onMenuSelect, currentArchetype],\n );\n\n const handleArchetypeIndexChange = useCallback(\n (index: number) => {\n const newArchetype = getArchetypeFromIndex(index);\n setSelectedArchetypeIndex(index);\n setCurrentArchetype(newArchetype);\n onArchetypeSelect?.(newArchetype);\n\n if (audio.isAudioReady) {\n audio.playSFX(\"menu_hover\");\n\n const archetypeAssets = getArchetypeAssets(newArchetype);\n audio.stopMusic();\n audio.playMusic(archetypeAssets.themeId);\n }\n },\n [onArchetypeSelect, audio],\n );\n\n useEffect(() => {\n const startMusic = () => {\n if (audio.isAudioReady && !introMusicStarted.current) {\n introMusicStarted.current = true;\n audio.playMusic(\"intro_theme\");\n }\n };\n window.addEventListener(\"keydown\", startMusic, { once: true });\n window.addEventListener(\"mousedown\", startMusic, { once: true });\n window.addEventListener(\"touchstart\", startMusic, { once: true, passive: true });\n\n return () => {\n if (audio.isInitialized) {\n audio.stopMusic();\n }\n };\n }, [audio]);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"ArrowLeft\") {\n const newIndex =\n selectedArchetypeIndex === 0\n ? archetypeData.length - 1\n : selectedArchetypeIndex - 1;\n handleArchetypeIndexChange(newIndex);\n } else if (event.key === \"ArrowRight\") {\n const newIndex = (selectedArchetypeIndex + 1) % archetypeData.length;\n handleArchetypeIndexChange(newIndex);\n } else {\n switch (event.key.toLowerCase()) {\n case \"c\":\n handleMenuItemSelect(GameMode.CONTROLS);\n break;\n case \"p\":\n handleMenuItemSelect(GameMode.PHILOSOPHY);\n break;\n case \"t\":\n handleMenuItemSelect(GameMode.TRAINING);\n break;\n case \"v\":\n handleMenuItemSelect(GameMode.VERSUS);\n break;\n }\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [\n audio,\n archetypeData.length,\n selectedArchetypeIndex,\n handleArchetypeIndexChange,\n handleMenuItemSelect,\n ]);\n\n const isMobile = useMemo(() => shouldUseMobileControls(), []);\n\n const theme = useKoreanTheme({\n variant: \"primary\",\n size: \"md\",\n isMobile,\n });\n\n const colors = useMemo(\n () => ({\n trigramTextShadow: `0 0 10px ${hexToRgbaString(\n theme.colors.PRIMARY_CYAN,\n 0.8,\n )}`,\n footerBackground: hexToRgbaString(theme.colors.UI_BACKGROUND_DARK, 0.9),\n footerBorder: hexToRgbaString(theme.colors.ACCENT_GOLD, 0.3),\n }),\n [theme],\n );\n\n const performanceSettings = useMemo(() => {\n return getPerformanceSettings(screenWidth, isMobile);\n }, [screenWidth, isMobile]);\n\n const screenSize = useMemo(() => getScreenSize(screenWidth), [screenWidth]);\n\n const logoSize = useMemo(() => {\n const minDim = Math.min(screenWidth, screenHeight);\n const logoScale = {\n mobile: 0.28,\n tablet: 0.22,\n desktop: 0.18,\n large: 0.15,\n xlarge: 0.12,\n }[screenSize];\n return Math.min(minDim * logoScale, screenSize === \"xlarge\" ? 250 : 300);\n }, [screenWidth, screenHeight, screenSize]);\n\n const layoutHeights = useMemo(() => {\n const availableHeight = screenHeight;\n\n const titleHeight = screenWidth < 768 ? 32 : 38;\n\n const trigramHeight = screenWidth < 768 ? 16 : 22;\n const logoAreaHeight = logoSize + trigramHeight;\n\n const footerHeight = Math.max(availableHeight * 0.05, 48);\n\n const contentHeight =\n availableHeight - titleHeight - logoAreaHeight - footerHeight;\n\n const menuMinHeight = screenWidth < 768 ? 180 : 120;\n const menuPercent = screenWidth < 768 ? 0.38 : 0.25;\n const menuHeight = Math.max(contentHeight * menuPercent, menuMinHeight);\n const archetypeHeight = contentHeight - menuHeight - 8; // 8px gap\n\n const gap = Math.max(screenHeight * 0.002, 2);\n\n return {\n titleHeight,\n logoAreaHeight,\n menuHeight,\n archetypeHeight,\n footerHeight,\n gap,\n };\n }, [screenHeight, screenWidth, logoSize]);\n return (\n <div\n style={{\n width: screenWidth,\n height: screenHeight,\n position: \"relative\",\n overflow: \"hidden\",\n }}\n data-testid=\"intro-screen\"\n >\n {/* Archetype background image (very subtle, behind 3D scene) */}\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundImage: `url(${ARCHETYPE_BACKGROUNDS.overview})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n opacity: 0.08,\n filter: \"blur(4px)\",\n zIndex: Z_INDEX.BACKGROUND,\n }}\n data-testid=\"archetype-background\"\n />\n\n {/* Volume Control - outside Canvas to maintain AudioProvider context */}\n <VolumeControl position=\"top-right\" compact={isMobile} />\n\n {/* Three.js Canvas for 3D background */}\n <Canvas\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: Z_INDEX.ARENA,\n }}\n gl={{\n antialias: performanceSettings.antialias,\n alpha: true,\n powerPreference: \"high-performance\",\n }}\n dpr={performanceSettings.dpr}\n camera={{ position: [0, 5, 10], fov: 75 }}\n onCreated={({ gl }) => {\n gl.setClearColor(theme.colors.UI_BACKGROUND_DARK, 0.95);\n }}\n >\n {/* 3D Background Scene */}\n <BackgroundScene3D theme=\"intro\" />\n </Canvas>\n\n {/* UI Overlay (positioned absolutely over Canvas) - matches CombatScreen pattern */}\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n pointerEvents: \"none\",\n zIndex: Z_INDEX.HUD,\n }}\n data-testid=\"intro-hud-overlay\"\n >\n <div\n style={{\n width: \"100vw\",\n height: \"100vh\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 0,\n pointerEvents: \"none\",\n zIndex: Z_INDEX.HUD,\n overflow: \"hidden\",\n }}\n >\n {/* Title - Small, above logo */}\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"2px\",\n pointerEvents: \"none\",\n marginTop: \"4px\",\n flexShrink: 0,\n }}\n data-testid=\"main-title-container\"\n >\n <div\n style={{\n fontSize: screenWidth < 768 ? \"14px\" : \"16px\",\n fontWeight: \"bold\",\n fontFamily: theme.koreanTypography.fontFamily,\n lineHeight: theme.koreanTypography.lineHeight,\n letterSpacing: theme.koreanTypography.letterSpacing,\n wordBreak: theme.koreanTypography.wordBreak,\n color: `#${theme.colors.ACCENT_GOLD.toString(16).padStart(6, \"0\")}`,\n textShadow: \"0 0 10px rgba(255, 170, 0, 0.5)\",\n }}\n >\n 흑괘 | Black Trigram\n </div>\n <div\n style={{\n fontSize: screenWidth < 768 ? \"10px\" : \"11px\",\n fontFamily: theme.koreanTypography.fontFamily,\n color: `#${theme.colors.TEXT_SECONDARY.toString(16).padStart(6, \"0\")}`,\n }}\n >\n 한국 무술 시뮬레이터 | Korean Martial Arts Simulator\n </div>\n </div>\n\n {/* Logo Section - Primary branding */}\n <div\n style={{\n flexShrink: 0,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: `${layoutHeights.logoAreaHeight}px`,\n pointerEvents: \"none\",\n }}\n data-testid=\"logo-section\"\n >\n {/* Logo Image - Prominent */}\n <img\n src=\"/assets/visual/logo/black-trigram.png\"\n alt=\"Black Trigram Logo\"\n style={{\n width: `${logoSize}px`,\n height: `${logoSize}px`,\n objectFit: \"contain\",\n filter: \"drop-shadow(0 0 30px rgba(0, 255, 255, 0.6))\",\n }}\n data-testid=\"main-logo\"\n onError={(e) => {\n e.currentTarget.style.display = \"none\";\n }}\n />\n\n {/* Trigram Symbols */}\n <div\n style={{\n fontSize: screenWidth < 768 ? \"16px\" : \"18px\",\n color: `#${theme.colors.PRIMARY_CYAN.toString(16).padStart(\n 6,\n \"0\",\n )}`,\n letterSpacing: screenWidth < 768 ? \"6px\" : \"8px\",\n textAlign: \"center\",\n marginTop: screenWidth < 768 ? \"8px\" : \"10px\",\n textShadow: colors.trigramTextShadow,\n }}\n data-testid=\"trigram-symbols\"\n >\n ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷\n </div>\n </div>\n\n {/* Main Content Area */}\n <div\n style={{\n width: \"100%\",\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n gap: \"4px\",\n paddingLeft: screenWidth < 768 ? \"8px\" : \"16px\",\n paddingRight: screenWidth < 768 ? \"8px\" : \"16px\",\n overflow: \"hidden\",\n pointerEvents: \"auto\",\n minHeight: 0,\n }}\n data-testid=\"main-content\"\n >\n {/* Menu Section - Compact */}\n <div\n style={{\n width: screenWidth < 768 ? \"95%\" : \"70%\",\n maxWidth: screenWidth < 768 ? \"100%\" : \"600px\",\n }}\n data-testid=\"menu-section-container\"\n >\n <MenuSectionOverlayHtml\n menuItems={MENU_ITEMS}\n selectedIndex={selectedMenuIndex}\n onModeSelect={handleMenuItemSelect}\n onSelectedIndexChange={setSelectedMenuIndex}\n onPlaySFX={audio.playSFX}\n width={\n screenWidth < 768\n ? screenWidth * 0.9\n : screenWidth < 1024\n ? Math.min(500, screenWidth * 0.6)\n : Math.min(550, screenWidth * 0.4)\n }\n height={layoutHeights.menuHeight}\n isMobile={isMobile}\n />\n </div>\n\n {/* Archetype Selection - Scrollable container */}\n <div\n style={{\n width: screenWidth < 768 ? \"100%\" : \"85%\",\n maxWidth: screenWidth < 768 ? \"100%\" : \"900px\",\n flex: 1,\n minHeight: 0,\n overflowY: \"auto\",\n overflowX: \"hidden\",\n }}\n data-testid=\"archetype-section-container\"\n >\n {useEnhancedArchetypeDisplay ? (\n <EnhancedArchetypeDisplay\n archetypes={archetypeData}\n selectedIndex={selectedArchetypeIndex}\n onArchetypeChange={handleArchetypeIndexChange}\n onPlaySFX={audio.playSFX}\n width={\n screenWidth < 768\n ? screenWidth * 0.9\n : screenWidth < 1024\n ? Math.min(700, screenWidth * 0.7)\n : Math.min(850, screenWidth * 0.55)\n }\n height={Math.max(layoutHeights.archetypeHeight - 40, 200)}\n isMobile={isMobile}\n allowDetailedView={screenWidth >= 768}\n />\n ) : (\n <ArchetypeDisplayOverlayHtml\n archetypes={archetypeData}\n selectedIndex={selectedArchetypeIndex}\n onArchetypeChange={handleArchetypeIndexChange}\n onPlaySFX={audio.playSFX}\n width={\n screenWidth < 768\n ? screenWidth * 0.9\n : screenWidth < 1024\n ? Math.min(700, screenWidth * 0.7)\n : Math.min(850, screenWidth * 0.55)\n }\n height={Math.max(layoutHeights.archetypeHeight - 40, 200)}\n isMobile={isMobile}\n />\n )}\n </div>\n </div>\n\n {/* Footer - Compact with all info */}\n <div\n style={{\n width: \"100%\",\n minHeight: `${layoutHeights.footerHeight}px`,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"1px\",\n background: `linear-gradient(to bottom, rgba(0, 0, 0, 0), ${colors.footerBackground})`,\n borderTop: `1px solid ${colors.footerBorder}`,\n pointerEvents: \"auto\",\n paddingBottom: \"2px\",\n flexShrink: 0,\n }}\n data-testid=\"intro-footer\"\n >\n {/* Motto */}\n <div\n style={{\n fontSize: `${Math.max(getKoreanFontSize(\"SMALL\", screenWidth) - 3, 10)}px`,\n color: `#${theme.colors.ACCENT_CYAN.toString(16).padStart(6, \"0\")}`,\n fontFamily: theme.koreanTypography.fontFamily,\n fontStyle: \"italic\",\n textAlign: \"center\",\n }}\n data-testid=\"footer-motto\"\n >\n 흑괘의 길을 걸어라 - Walk the Path of the Black Trigram\n </div>\n {/* Open Source Link */}\n <div\n style={{\n fontSize: `${Math.max(getKoreanFontSize(\"SMALL\", screenWidth) - 4, 9)}px`,\n color: `#${theme.colors.ACCENT_BLUE.toString(16).padStart(6, \"0\")}`,\n textAlign: \"center\",\n cursor: \"pointer\",\n }}\n onClick={() =>\n window.open(\"https://github.com/Hack23/blacktrigram\", \"_blank\")\n }\n data-testid=\"footer-link\"\n >\n Open Source Korean Martial Arts Game by Hack23\n </div>\n {/* Version */}\n <div\n style={{\n fontSize: `${Math.max(getKoreanFontSize(\"SMALL\", screenWidth) - 5, 8)}px`,\n color: `#${theme.colors.ACCENT_BLUE.toString(16).padStart(6, \"0\")}`,\n textAlign: \"center\",\n cursor: \"pointer\",\n }}\n onClick={() =>\n window.open(\n `https://github.com/Hack23/blacktrigram/releases/tag/v${APP_VERSION}`,\n \"_blank\",\n )\n }\n data-testid=\"footer-version\"\n >\n v{APP_VERSION}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default IntroScreen3D;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IntroScreen3D.js","names":[],"sources":["../../../../src/components/screens/intro/IntroScreen3D.tsx"],"sourcesContent":["import { Canvas } from \"@react-three/fiber\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useAudio } from \"../../../audio/AudioProvider\";\nimport { useWebGLContextLossHandler } from \"../../../hooks/useWebGLContextLossHandler\";\nimport { useWindowSize } from \"../../../hooks/useWindowSize\";\nimport { getScreenSize } from \"../../../systems/ResponsiveScaling\";\nimport { PLAYER_ARCHETYPES_DATA } from \"../../../systems/types\";\nimport { GameMode, PlayerArchetype } from \"../../../types/common\";\nimport {\n ARCHETYPE_BACKGROUNDS,\n getKoreanFontSize,\n getPerformanceSettings,\n} from \"../../../types/constants\";\nimport { Z_INDEX } from \"../../../types/LayoutTypes\";\nimport { hexToRgbaString } from \"../../../utils/colorUtils\";\nimport { shouldUseMobileControls } from \"../../../utils/deviceDetection\";\nimport { getArchetypeAssets } from \"../../../utils/playerUtils\";\nimport { useKoreanTheme } from \"../../shared/base/useKoreanTheme\";\nimport { BackgroundScene3D } from \"../../shared/three\";\nimport { VolumeControl } from \"../../shared/ui/VolumeControl\";\nimport { ArchetypeDisplayOverlayHtml } from \"./components/ArchetypeDisplayOverlayHtml\";\nimport { EnhancedArchetypeDisplay } from \"./components/EnhancedArchetypeDisplayOverlayHtml\";\nimport { MenuSectionOverlayHtml } from \"./components/MenuSectionOverlayHtml\";\n\nconst APP_VERSION = import.meta.env.APP_VERSION;\n\nexport interface IntroScreen3DProps {\n readonly onMenuSelect: (mode: GameMode, archetype?: PlayerArchetype) => void;\n readonly onArchetypeSelect?: (archetype: PlayerArchetype) => void;\n readonly selectedArchetype?: PlayerArchetype;\n readonly width?: number;\n readonly height?: number;\n readonly useEnhancedArchetypeDisplay?: boolean; // Use enhanced card display\n}\n\nconst MENU_ITEMS: { mode: GameMode; korean: string; english: string }[] = [\n { mode: GameMode.VERSUS, korean: \"대전\", english: \"Combat\" },\n { mode: GameMode.TRAINING, korean: \"훈련\", english: \"Training\" },\n { mode: GameMode.CONTROLS, korean: \"조작\", english: \"Controls\" },\n { mode: GameMode.PHILOSOPHY, korean: \"철학\", english: \"Philosophy\" },\n];\n\nconst ARCHETYPE_TEXTURE_MAPPING: Record<PlayerArchetype, string> = {\n [PlayerArchetype.MUSA]: \"musa\",\n [PlayerArchetype.AMSALJA]: \"amsalja\",\n [PlayerArchetype.HACKER]: \"hacker\",\n [PlayerArchetype.JEONGBO_YOWON]: \"jeongbo_yowon\",\n [PlayerArchetype.JOJIK_POKRYEOKBAE]: \"jojik_pokryeokbae\",\n};\n\nconst getArchetypeIndex = (archetype: PlayerArchetype): number => {\n const archetypeKeys = Object.keys(\n PLAYER_ARCHETYPES_DATA,\n ) as PlayerArchetype[];\n return archetypeKeys.indexOf(archetype);\n};\n\nconst getArchetypeFromIndex = (index: number): PlayerArchetype => {\n const archetypeKeys = Object.keys(\n PLAYER_ARCHETYPES_DATA,\n ) as PlayerArchetype[];\n return archetypeKeys[index] ?? PlayerArchetype.MUSA;\n};\n\n/**\n * Three.js-based IntroScreen Component\n */\nexport const IntroScreen3D: React.FC<IntroScreen3DProps> = ({\n onMenuSelect,\n onArchetypeSelect,\n selectedArchetype = PlayerArchetype.MUSA,\n width: propWidth,\n height: propHeight,\n useEnhancedArchetypeDisplay = true, // Default to enhanced display\n}) => {\n const audio = useAudio();\n const introMusicStarted = useRef(false);\n const [selectedMenuIndex, setSelectedMenuIndex] = useState(0);\n\n useWebGLContextLossHandler({\n onContextLost: () => {\n console.warn(\"⚠️ WebGL context lost in IntroScreen\");\n },\n onContextRestored: () => {\n console.log(\"✓ WebGL context restored in IntroScreen\");\n },\n autoRestore: true,\n });\n\n const [currentArchetype, setCurrentArchetype] =\n useState<PlayerArchetype>(selectedArchetype);\n const [selectedArchetypeIndex, setSelectedArchetypeIndex] = useState<number>(\n getArchetypeIndex(selectedArchetype),\n );\n\n const { width, height } = useWindowSize();\n\n const screenWidth = propWidth ?? (width || 1200);\n const screenHeight = propHeight ?? (height || 800);\n\n const archetypeData = useMemo(() => {\n return Object.entries(PLAYER_ARCHETYPES_DATA).map(([key, data]) => {\n const archetypeEnum = key as PlayerArchetype;\n return {\n id: key.toLowerCase(),\n korean: data.name.korean,\n english: data.name.english,\n description: data.description.korean,\n color: data.colors.primary,\n textureKey: ARCHETYPE_TEXTURE_MAPPING[archetypeEnum],\n stats: data.stats,\n philosophy: data.philosophy,\n specialAbilities: data.specialAbilities, // Include special abilities\n };\n });\n }, []);\n\n useEffect(() => {\n setCurrentArchetype(selectedArchetype);\n setSelectedArchetypeIndex(getArchetypeIndex(selectedArchetype));\n }, [selectedArchetype]);\n\n const handleMenuItemSelect = useCallback(\n (mode: GameMode) => {\n onMenuSelect(mode, currentArchetype);\n },\n [onMenuSelect, currentArchetype],\n );\n\n const handleArchetypeIndexChange = useCallback(\n (index: number) => {\n const newArchetype = getArchetypeFromIndex(index);\n setSelectedArchetypeIndex(index);\n setCurrentArchetype(newArchetype);\n onArchetypeSelect?.(newArchetype);\n\n if (audio.isAudioReady) {\n audio.playSFX(\"menu_hover\");\n\n const archetypeAssets = getArchetypeAssets(newArchetype);\n audio.stopMusic();\n audio.playMusic(archetypeAssets.themeId);\n }\n },\n [onArchetypeSelect, audio],\n );\n\n useEffect(() => {\n const startMusic = () => {\n if (audio.isAudioReady && !introMusicStarted.current) {\n introMusicStarted.current = true;\n audio.playMusic(\"intro_theme\");\n }\n };\n window.addEventListener(\"keydown\", startMusic, { once: true });\n window.addEventListener(\"mousedown\", startMusic, { once: true });\n window.addEventListener(\"touchstart\", startMusic, { once: true, passive: true });\n\n return () => {\n if (audio.isInitialized) {\n audio.stopMusic();\n }\n };\n }, [audio]);\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"ArrowLeft\") {\n const newIndex =\n selectedArchetypeIndex === 0\n ? archetypeData.length - 1\n : selectedArchetypeIndex - 1;\n handleArchetypeIndexChange(newIndex);\n } else if (event.key === \"ArrowRight\") {\n const newIndex = (selectedArchetypeIndex + 1) % archetypeData.length;\n handleArchetypeIndexChange(newIndex);\n } else {\n switch (event.key.toLowerCase()) {\n case \"c\":\n handleMenuItemSelect(GameMode.CONTROLS);\n break;\n case \"p\":\n handleMenuItemSelect(GameMode.PHILOSOPHY);\n break;\n case \"t\":\n handleMenuItemSelect(GameMode.TRAINING);\n break;\n case \"v\":\n handleMenuItemSelect(GameMode.VERSUS);\n break;\n }\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [\n audio,\n archetypeData.length,\n selectedArchetypeIndex,\n handleArchetypeIndexChange,\n handleMenuItemSelect,\n ]);\n\n const isMobile = useMemo(() => shouldUseMobileControls(), []);\n\n const theme = useKoreanTheme({\n variant: \"primary\",\n size: \"md\",\n isMobile,\n });\n\n const colors = useMemo(\n () => ({\n trigramTextShadow: `0 0 10px ${hexToRgbaString(\n theme.colors.PRIMARY_CYAN,\n 0.8,\n )}`,\n footerBackground: hexToRgbaString(theme.colors.UI_BACKGROUND_DARK, 0.9),\n footerBorder: hexToRgbaString(theme.colors.ACCENT_GOLD, 0.3),\n }),\n [theme],\n );\n\n const performanceSettings = useMemo(() => {\n return getPerformanceSettings(screenWidth, isMobile);\n }, [screenWidth, isMobile]);\n\n const screenSize = useMemo(() => getScreenSize(screenWidth), [screenWidth]);\n\n const logoSize = useMemo(() => {\n const minDim = Math.min(screenWidth, screenHeight);\n const logoScale = {\n mobile: 0.28,\n tablet: 0.22,\n desktop: 0.18,\n large: 0.15,\n xlarge: 0.12,\n }[screenSize];\n return Math.min(minDim * logoScale, screenSize === \"xlarge\" ? 250 : 300);\n }, [screenWidth, screenHeight, screenSize]);\n\n const layoutHeights = useMemo(() => {\n const availableHeight = screenHeight;\n\n const titleHeight = screenWidth < 768 ? 32 : 38;\n\n const trigramHeight = screenWidth < 768 ? 16 : 22;\n const logoAreaHeight = logoSize + trigramHeight;\n\n const footerHeight = Math.max(availableHeight * 0.05, 48);\n\n const contentHeight =\n availableHeight - titleHeight - logoAreaHeight - footerHeight;\n\n const menuMinHeight = screenWidth < 768 ? 180 : 120;\n const menuPercent = screenWidth < 768 ? 0.38 : 0.25;\n const menuHeight = Math.max(contentHeight * menuPercent, menuMinHeight);\n const archetypeHeight = contentHeight - menuHeight - 8; // 8px gap\n\n const gap = Math.max(screenHeight * 0.002, 2);\n\n return {\n titleHeight,\n logoAreaHeight,\n menuHeight,\n archetypeHeight,\n footerHeight,\n gap,\n };\n }, [screenHeight, screenWidth, logoSize]);\n return (\n <div\n style={{\n width: screenWidth,\n height: screenHeight,\n position: \"relative\",\n overflow: \"hidden\",\n }}\n data-testid=\"intro-screen\"\n >\n {/* Archetype background image (very subtle, behind 3D scene) */}\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundImage: `url(${ARCHETYPE_BACKGROUNDS.overview})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n opacity: 0.08,\n filter: \"blur(4px)\",\n zIndex: Z_INDEX.BACKGROUND,\n }}\n data-testid=\"archetype-background\"\n />\n\n {/* Volume Control - outside Canvas to maintain AudioProvider context */}\n <VolumeControl position=\"top-right\" compact={isMobile} />\n\n {/* Three.js Canvas for 3D background */}\n <Canvas\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: Z_INDEX.ARENA,\n }}\n gl={{\n antialias: performanceSettings.antialias,\n alpha: true,\n powerPreference: \"high-performance\",\n }}\n dpr={performanceSettings.dpr}\n camera={{ position: [0, 5, 10], fov: 75 }}\n onCreated={({ gl }) => {\n gl.setClearColor(theme.colors.UI_BACKGROUND_DARK, 0.95);\n }}\n >\n {/* 3D Background Scene */}\n <BackgroundScene3D theme=\"intro\" />\n </Canvas>\n\n {/* UI Overlay (positioned absolutely over Canvas) - matches CombatScreen pattern */}\n <div\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n pointerEvents: \"none\",\n zIndex: Z_INDEX.HUD,\n }}\n data-testid=\"intro-hud-overlay\"\n >\n <div\n style={{\n width: \"100vw\",\n height: \"100vh\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 0,\n pointerEvents: \"none\",\n zIndex: Z_INDEX.HUD,\n overflow: \"hidden\",\n }}\n >\n {/* Title - Small, above logo */}\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"2px\",\n pointerEvents: \"none\",\n marginTop: \"4px\",\n flexShrink: 0,\n }}\n data-testid=\"main-title-container\"\n >\n <div\n style={{\n fontSize: screenWidth < 768 ? \"14px\" : \"16px\",\n fontWeight: \"bold\",\n fontFamily: theme.koreanTypography.fontFamily,\n lineHeight: theme.koreanTypography.lineHeight,\n letterSpacing: theme.koreanTypography.letterSpacing,\n wordBreak: theme.koreanTypography.wordBreak,\n color: `#${theme.colors.ACCENT_GOLD.toString(16).padStart(6, \"0\")}`,\n textShadow: \"0 0 10px rgba(255, 170, 0, 0.5)\",\n }}\n >\n 흑괘 | Black Trigram\n </div>\n <div\n style={{\n fontSize: screenWidth < 768 ? \"10px\" : \"11px\",\n fontFamily: theme.koreanTypography.fontFamily,\n color: `#${theme.colors.TEXT_SECONDARY.toString(16).padStart(6, \"0\")}`,\n }}\n >\n 한국 무술 시뮬레이터 | Korean Martial Arts Simulator\n </div>\n </div>\n\n {/* Logo Section - Primary branding */}\n <div\n style={{\n flexShrink: 0,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: `${layoutHeights.logoAreaHeight}px`,\n pointerEvents: \"none\",\n }}\n data-testid=\"logo-section\"\n >\n {/* Logo Image - Prominent */}\n <img\n src=\"/assets/visual/logo/black-trigram.png\"\n alt=\"Black Trigram Logo\"\n style={{\n width: `${logoSize}px`,\n height: `${logoSize}px`,\n objectFit: \"contain\",\n filter: \"drop-shadow(0 0 30px rgba(0, 255, 255, 0.6))\",\n }}\n data-testid=\"main-logo\"\n onError={(e) => {\n e.currentTarget.style.display = \"none\";\n }}\n />\n\n {/* Trigram Symbols */}\n <div\n style={{\n fontSize: screenWidth < 768 ? \"16px\" : \"18px\",\n color: `#${theme.colors.PRIMARY_CYAN.toString(16).padStart(\n 6,\n \"0\",\n )}`,\n letterSpacing: screenWidth < 768 ? \"6px\" : \"8px\",\n textAlign: \"center\",\n marginTop: screenWidth < 768 ? \"8px\" : \"10px\",\n textShadow: colors.trigramTextShadow,\n }}\n data-testid=\"trigram-symbols\"\n >\n ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷\n </div>\n </div>\n\n {/* Main Content Area */}\n <div\n style={{\n width: \"100%\",\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n gap: \"4px\",\n paddingLeft: screenWidth < 768 ? \"8px\" : \"16px\",\n paddingRight: screenWidth < 768 ? \"8px\" : \"16px\",\n overflow: \"hidden\",\n pointerEvents: \"auto\",\n minHeight: 0,\n }}\n data-testid=\"main-content\"\n >\n {/* Menu Section - Compact */}\n <div\n style={{\n width: screenWidth < 768 ? \"95%\" : \"70%\",\n maxWidth: screenWidth < 768 ? \"100%\" : \"600px\",\n }}\n data-testid=\"menu-section-container\"\n >\n <MenuSectionOverlayHtml\n menuItems={MENU_ITEMS}\n selectedIndex={selectedMenuIndex}\n onModeSelect={handleMenuItemSelect}\n onSelectedIndexChange={setSelectedMenuIndex}\n onPlaySFX={audio.playSFX}\n width={\n screenWidth < 768\n ? screenWidth * 0.9\n : screenWidth < 1024\n ? Math.min(500, screenWidth * 0.6)\n : Math.min(550, screenWidth * 0.4)\n }\n height={layoutHeights.menuHeight}\n isMobile={isMobile}\n />\n </div>\n\n {/* Archetype Selection - Scrollable container */}\n <div\n style={{\n width: screenWidth < 768 ? \"100%\" : \"85%\",\n maxWidth: screenWidth < 768 ? \"100%\" : \"900px\",\n flex: 1,\n minHeight: 0,\n overflowY: \"auto\",\n overflowX: \"hidden\",\n }}\n data-testid=\"archetype-section-container\"\n >\n {useEnhancedArchetypeDisplay ? (\n <EnhancedArchetypeDisplay\n archetypes={archetypeData}\n selectedIndex={selectedArchetypeIndex}\n onArchetypeChange={handleArchetypeIndexChange}\n onPlaySFX={audio.playSFX}\n width={\n screenWidth < 768\n ? screenWidth * 0.9\n : screenWidth < 1024\n ? Math.min(700, screenWidth * 0.7)\n : Math.min(850, screenWidth * 0.55)\n }\n height={Math.max(layoutHeights.archetypeHeight - 40, 200)}\n isMobile={isMobile}\n allowDetailedView={screenWidth >= 768}\n />\n ) : (\n <ArchetypeDisplayOverlayHtml\n archetypes={archetypeData}\n selectedIndex={selectedArchetypeIndex}\n onArchetypeChange={handleArchetypeIndexChange}\n onPlaySFX={audio.playSFX}\n width={\n screenWidth < 768\n ? screenWidth * 0.9\n : screenWidth < 1024\n ? Math.min(700, screenWidth * 0.7)\n : Math.min(850, screenWidth * 0.55)\n }\n height={Math.max(layoutHeights.archetypeHeight - 40, 200)}\n isMobile={isMobile}\n />\n )}\n </div>\n </div>\n\n {/* Footer - Compact with all info */}\n <div\n style={{\n width: \"100%\",\n minHeight: `${layoutHeights.footerHeight}px`,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"1px\",\n background: `linear-gradient(to bottom, rgba(0, 0, 0, 0), ${colors.footerBackground})`,\n borderTop: `1px solid ${colors.footerBorder}`,\n pointerEvents: \"auto\",\n paddingBottom: \"2px\",\n flexShrink: 0,\n }}\n data-testid=\"intro-footer\"\n >\n {/* Motto */}\n <div\n style={{\n fontSize: `${Math.max(getKoreanFontSize(\"SMALL\", screenWidth) - 3, 10)}px`,\n color: `#${theme.colors.ACCENT_CYAN.toString(16).padStart(6, \"0\")}`,\n fontFamily: theme.koreanTypography.fontFamily,\n fontStyle: \"italic\",\n textAlign: \"center\",\n }}\n data-testid=\"footer-motto\"\n >\n 흑괘의 길을 걸어라 - Walk the Path of the Black Trigram\n </div>\n {/* Open Source Link */}\n <div\n style={{\n fontSize: `${Math.max(getKoreanFontSize(\"SMALL\", screenWidth) - 4, 9)}px`,\n color: `#${theme.colors.ACCENT_BLUE.toString(16).padStart(6, \"0\")}`,\n textAlign: \"center\",\n cursor: \"pointer\",\n }}\n onClick={() =>\n window.open(\"https://github.com/Hack23/blacktrigram\", \"_blank\")\n }\n data-testid=\"footer-link\"\n >\n Open Source Korean Martial Arts Game by Hack23\n </div>\n {/* Version */}\n <div\n style={{\n fontSize: `${Math.max(getKoreanFontSize(\"SMALL\", screenWidth) - 5, 8)}px`,\n color: `#${theme.colors.ACCENT_BLUE.toString(16).padStart(6, \"0\")}`,\n textAlign: \"center\",\n cursor: \"pointer\",\n }}\n onClick={() =>\n window.open(\n `https://github.com/Hack23/blacktrigram/releases/tag/v${APP_VERSION}`,\n \"_blank\",\n )\n }\n data-testid=\"footer-version\"\n >\n v{APP_VERSION}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default IntroScreen3D;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbilityListOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/AbilityListOverlayHtml.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,OAAO,EAAE,CAAC;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2IlD,CAAC;AAIF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"AbilityListOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/AbilityListOverlayHtml.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,OAAO,EAAE,CAAC;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2IlD,CAAC;eAIa,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArchetypeCardGridOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/ArchetypeCardGridOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAiB,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAyM9D,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ArchetypeCardGridOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/ArchetypeCardGridOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAiB,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAyM9D,CAAC;eAIa,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArchetypeCardOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/ArchetypeCardOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiStD,CAAC;AAIF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ArchetypeCardOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/ArchetypeCardOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiStD,CAAC;eAIa,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArchetypeDisplayOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/ArchetypeDisplayOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAepD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CA6XhF,CAAC;AAIJ,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"ArchetypeDisplayOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/ArchetypeDisplayOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAepD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CA6XhF,CAAC;eAIW,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnhancedArchetypeDisplayOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAsH1E,CAAC;AAIJ,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"EnhancedArchetypeDisplayOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAsH1E,CAAC;eAIW,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButtonsOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/MenuButtonsOverlayHtml.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYpD,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,QAAQ,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,yCAAyC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,qCAAqC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmJlD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MenuButtonsOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/MenuButtonsOverlayHtml.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYpD,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,QAAQ,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,yCAAyC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,qCAAqC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmJlD,CAAC;eAEa,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSectionOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/MenuSectionOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYpD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,QAAQ,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,yDA4LlC,CAAC;AAIF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"MenuSectionOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/MenuSectionOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAYpD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,QAAQ,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,yDA4LlC,CAAC;eAIa,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"StatBarOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/StatBarOverlayHtml.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAiH1C,CAAC;AAIF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"StatBarOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/intro/components/StatBarOverlayHtml.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAiH1C,CAAC;eAIa,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"PhilosophyScreen3D.d.ts","sourceRoot":"","sources":["../../../../src/components/screens/philosophy/PhilosophyScreen3D.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAiB/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgqBhE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"PhilosophyScreen3D.d.ts","sourceRoot":"","sources":["../../../../src/components/screens/philosophy/PhilosophyScreen3D.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAiB/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgqBhE,CAAC;eAEa,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveTrigramGridOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAC3C,2BAA2B,CAsK5B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"InteractiveTrigramGridOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAC3C,2BAA2B,CAsK5B,CAAC;eAEa,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PhilosophyNavigationOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAiIpE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"PhilosophyNavigationOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAiIpE,CAAC;eAEa,oBAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PhilosophySectionOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/PhilosophySectionOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA8D9D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"PhilosophySectionOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/PhilosophySectionOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA8D9D,CAAC;eAEa,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PhilosophyTextOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/PhilosophyTextOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C,8BAA8B,CA6Y/B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"PhilosophyTextOverlayHtml.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/PhilosophyTextOverlayHtml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C,8BAA8B,CA6Y/B,CAAC;eAEa,yBAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrigramSymbol3D.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/TrigramSymbol3D.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuJ1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"TrigramSymbol3D.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/TrigramSymbol3D.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuJ1D,CAAC;eAEa,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrigramVisualization3D.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/TrigramVisualization3D.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAC3C,2BAA2B,CAmE5B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"TrigramVisualization3D.d.ts","sourceRoot":"","sources":["../../../../../src/components/screens/philosophy/components/TrigramVisualization3D.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAC3C,2BAA2B,CAmE5B,CAAC;eAEa,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrainingScreen3D.d.ts","sourceRoot":"","sources":["../../../../src/components/screens/training/TrainingScreen3D.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAeH,OAAO,KAMN,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc/C,OAAO,EAEL,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAqExB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;IACpC,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;CAC7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAwpC5D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"TrainingScreen3D.d.ts","sourceRoot":"","sources":["../../../../src/components/screens/training/TrainingScreen3D.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAeH,OAAO,KAMN,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc/C,OAAO,EAEL,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAqExB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;IACpC,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;CAC7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAwpC5D,CAAC;eAEa,gBAAgB"}
@@ -12,6 +12,7 @@ import { resolveTechniqueAnimation } from "../../../systems/animation/core/Anima
12
12
  import { usePlayerAnimation } from "../../../hooks/usePlayerAnimation.js";
13
13
  import useTechniqueSelection from "../../../hooks/useTechniqueSelection.js";
14
14
  import { useWebGLContextLossHandler } from "../../../hooks/useWebGLContextLossHandler.js";
15
+ import { MovementType, SpeedModifierSystem } from "../../../systems/physics/SpeedModifierSystem.js";
15
16
  import { physicalReachCalculator } from "../../../systems/physics/PhysicalReachCalculator.js";
16
17
  import { getArchetypePhysicalAttributes } from "../../../data/archetypePhysicalAttributes.js";
17
18
  import { getMobileControlsBottom } from "../../../types/constants/layout.js";
@@ -22,7 +23,6 @@ import { useKoreanTheme } from "../../shared/base/useKoreanTheme.js";
22
23
  import { VitalPointMarkers3D } from "../../shared/three/effects/VitalPointMarkers3D.js";
23
24
  import { StanceChangeIndicator } from "../../shared/three/indicators/StanceChangeIndicator.js";
24
25
  import { CombatArena3D } from "../../shared/three/scene/CombatArena3D.js";
25
- import { MovementType, SpeedModifierSystem } from "../../../systems/physics/SpeedModifierSystem.js";
26
26
  import { animationStateToPlayerAnimation, convertPlayerStateToProps } from "../../../utils/player3DHelpers.js";
27
27
  import { MobileControlsOverlay } from "../../shared/mobile/MobileControlsPure.js";
28
28
  import { StanceWheelPure } from "../../shared/mobile/StanceWheelPure.js";
@@ -349,7 +349,8 @@ var TrainingScreen3D = ({ onPlayerUpdate, onReturnToMenu, width = 1200, height =
349
349
  enabled: trainingState.isTraining,
350
350
  onTechniqueExecute: useCallback((technique) => {
351
351
  trainingActions.setFeedback(`${technique.name.korean} 사용! | Used ${technique.name.english}!`);
352
- setAttackAnimation(resolveTechniqueAnimation(technique));
352
+ const animationName = resolveTechniqueAnimation(technique);
353
+ setAttackAnimation(animationName);
353
354
  handleAttackRef.current?.();
354
355
  }, [trainingActions])
355
356
  });
@@ -535,7 +536,8 @@ var TrainingScreen3D = ({ onPlayerUpdate, onReturnToMenu, width = 1200, height =
535
536
  return;
536
537
  }
537
538
  if (key >= "1" && key <= "8") {
538
- handleStanceChangeWithVisualFeedback(parseInt(key) - 1);
539
+ const stanceIndex = parseInt(key) - 1;
540
+ handleStanceChangeWithVisualFeedback(stanceIndex);
539
541
  event.preventDefault();
540
542
  return;
541
543
  }