blacktrigram 0.7.12 โ 0.7.14
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/ARCHITECTURE.md +27 -5
- package/COMBAT_ARCHITECTURE.md +21 -8
- package/DATA_MODEL.md +350 -0
- package/SECURITY_ARCHITECTURE.md +23 -0
- package/THREAT_MODEL.md +16 -9
- package/lib/App.d.ts.map +1 -1
- package/lib/App2.js +0 -6
- package/lib/App2.js.map +1 -1
- package/lib/assets/index.css +8 -0
- package/lib/components/screens/combat/CombatScreen3D.d.ts +1 -1
- package/lib/components/screens/combat/CombatScreen3D.js +2 -2
- package/lib/components/screens/combat/CombatScreen3D.js.map +1 -1
- package/lib/components/screens/combat/components/controls/CombatButtons.d.ts.map +1 -1
- package/lib/components/screens/combat/components/controls/CombatButtons.js +22 -7
- package/lib/components/screens/combat/components/controls/CombatButtons.js.map +1 -1
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts +2 -0
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts.map +1 -1
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.js +7 -4
- package/lib/components/screens/combat/components/controls/CombatControlsPanel.js.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenu.js +15 -5
- package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js +15 -16
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js +1 -2
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -1
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js +28 -24
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js +2 -4
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.js +3 -2
- package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -1
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js +28 -30
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -1
- package/lib/components/screens/controls/components/VisualKeyboard3D.js +4 -3
- package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -1
- package/lib/components/screens/intro/IntroScreen3D.js +1 -1
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js +5 -2
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js +4 -4
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js +1 -1
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -1
- package/lib/components/shared/base/ResponsiveContainer.d.ts +6 -0
- package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -1
- package/lib/components/shared/three/effects/ActionFeedback.js +1 -2
- package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -1
- package/lib/components/shared/three/effects/DamageNumbers.js +1 -2
- package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -1
- package/lib/components/shared/ui/BaseHUDContainer.d.ts +40 -0
- package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -1
- package/lib/components/shared/ui/BaseHUDContainer.js +40 -0
- package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -1
- package/lib/components/shared/ui/MobileHUDLayout.d.ts +13 -0
- package/lib/components/shared/ui/MobileHUDLayout.d.ts.map +1 -1
- package/lib/components/shared/ui/SplashScreen.js +2 -2
- package/package.json +13 -13
package/ARCHITECTURE.md
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
## ๐ System Context
|
|
31
31
|
|
|
32
32
|
```mermaid
|
|
33
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#455A64','secondaryColor':'#4CAF50','tertiaryColor':'#FF9800','personBkg':'#1565C0','containerBkg':'#2979FF','componentBkg':'#4CAF50','person_bg':'#1565C0','container_bg':'#2979FF','component_bg':'#4CAF50'}}}%%
|
|
33
34
|
C4Context
|
|
34
35
|
title System Context - Black Trigram (ํ๊ด) Web Application (Q1 2026)
|
|
35
36
|
|
|
@@ -69,6 +70,7 @@ C4Context
|
|
|
69
70
|
## ๐ข Container View
|
|
70
71
|
|
|
71
72
|
```mermaid
|
|
73
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#455A64','secondaryColor':'#4CAF50','tertiaryColor':'#FF9800','personBkg':'#1565C0','containerBkg':'#2979FF','componentBkg':'#4CAF50','person_bg':'#1565C0','container_bg':'#2979FF','component_bg':'#4CAF50'}}}%%
|
|
72
74
|
C4Container
|
|
73
75
|
title Container View - Black Trigram Performance Architecture (Q1 2026)
|
|
74
76
|
|
|
@@ -164,6 +166,7 @@ C4Container
|
|
|
164
166
|
## ๐งฉ Component View
|
|
165
167
|
|
|
166
168
|
```mermaid
|
|
169
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#455A64','secondaryColor':'#4CAF50','tertiaryColor':'#FF9800','personBkg':'#1565C0','containerBkg':'#2979FF','componentBkg':'#4CAF50','person_bg':'#1565C0','container_bg':'#2979FF','component_bg':'#4CAF50'}}}%%
|
|
167
170
|
C4Component
|
|
168
171
|
title Combat System Components - Korean Martial Arts Engine (Q1 2026)
|
|
169
172
|
|
|
@@ -352,6 +355,7 @@ The following Three.js packages are now installed and configured:
|
|
|
352
355
|
### ๐๏ธ Architecture Integration
|
|
353
356
|
|
|
354
357
|
```mermaid
|
|
358
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
355
359
|
graph TD
|
|
356
360
|
subgraph "React 19 Application Layer"
|
|
357
361
|
A[React Components]
|
|
@@ -360,7 +364,7 @@ graph TD
|
|
|
360
364
|
end
|
|
361
365
|
|
|
362
366
|
subgraph "Rendering Layer"
|
|
363
|
-
D[@react-three/fiber Canvas]
|
|
367
|
+
D["@react-three/fiber Canvas"]
|
|
364
368
|
end
|
|
365
369
|
|
|
366
370
|
subgraph "Three.js 3D Scene"
|
|
@@ -404,6 +408,7 @@ graph TD
|
|
|
404
408
|
### ๐ Rendering Pipeline
|
|
405
409
|
|
|
406
410
|
```mermaid
|
|
411
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#455A64','secondaryColor':'#4CAF50','tertiaryColor':'#FF9800','actorBkg':'#1565C0','actorTextColor':'#fff','actorLineColor':'#455A64','signalColor':'#455A64','signalTextColor':'#fff','noteBkgColor':'#FFD600','noteTextColor':'#000','noteBorderColor':'#F57F17'}}}%%
|
|
407
412
|
sequenceDiagram
|
|
408
413
|
participant React as React Component
|
|
409
414
|
participant Canvas as @react-three/fiber Canvas
|
|
@@ -1150,6 +1155,7 @@ src/
|
|
|
1150
1155
|
## ๐ Combat Flow Sequence
|
|
1151
1156
|
|
|
1152
1157
|
```mermaid
|
|
1158
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#455A64','secondaryColor':'#4CAF50','tertiaryColor':'#FF9800','actorBkg':'#1565C0','actorTextColor':'#fff','actorLineColor':'#455A64','signalColor':'#455A64','signalTextColor':'#fff','noteBkgColor':'#FFD600','noteTextColor':'#000','noteBorderColor':'#F57F17'}}}%%
|
|
1153
1159
|
sequenceDiagram
|
|
1154
1160
|
title ๐ Combat Flow โ Fully Frontend (Black Trigram Q1 2026)
|
|
1155
1161
|
|
|
@@ -1207,6 +1213,7 @@ sequenceDiagram
|
|
|
1207
1213
|
### **Three.js-Specific Optimizations**
|
|
1208
1214
|
|
|
1209
1215
|
```mermaid
|
|
1216
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1210
1217
|
graph TD
|
|
1211
1218
|
subgraph PM["๐ Performance Monitoring (Q1 2026)"]
|
|
1212
1219
|
PerfMon[๐ Performance Monitor]
|
|
@@ -1530,6 +1537,7 @@ quadrantChart
|
|
|
1530
1537
|
### Mindmap of Strengths
|
|
1531
1538
|
|
|
1532
1539
|
```mermaid
|
|
1540
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1533
1541
|
mindmap
|
|
1534
1542
|
root((๐ข Strengths Q1 2026))
|
|
1535
1543
|
id1(๐ ๏ธ Zero-Install Web App)
|
|
@@ -1580,6 +1588,7 @@ mindmap
|
|
|
1580
1588
|
### Mindmap of Weaknesses
|
|
1581
1589
|
|
|
1582
1590
|
```mermaid
|
|
1591
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1583
1592
|
mindmap
|
|
1584
1593
|
root((๐ Weaknesses Q1 2026))
|
|
1585
1594
|
id1(๐ No Persistence Session-Only)
|
|
@@ -1600,15 +1609,15 @@ mindmap
|
|
|
1600
1609
|
id4.3[Mobile browser performance gaps]
|
|
1601
1610
|
id5(โ ๏ธ Memory/GC Concerns)
|
|
1602
1611
|
id5.1[Three.js objects need manual disposal]
|
|
1603
|
-
id5.2[Skeletal animation memory overhead
|
|
1604
|
-
id5.3[Particle systems can spike memory
|
|
1612
|
+
id5.2[Skeletal animation memory overhead - 180MB desktop]
|
|
1613
|
+
id5.3[Particle systems can spike memory - 1000+ particles]
|
|
1605
1614
|
id6(โ๏ธ Combat Realism Systems)
|
|
1606
1615
|
id6.1[8/12 systems complete or near-complete - 67%]
|
|
1607
1616
|
id6.2[4 systems remaining: trauma visualization, balance, HUD, movement]
|
|
1608
|
-
id6.3[1 system partially implemented: bone impact audio
|
|
1617
|
+
id6.3[1 system partially implemented: bone impact audio - mapping + selection complete, asset coverage/final mix pending]
|
|
1609
1618
|
id7(โ Incomplete Features)
|
|
1610
1619
|
id7.1[Techniques not yet stance-specific - 4 per archetype vs 3-5 per stance]
|
|
1611
|
-
id7.2[EndScreen3D implemented but missing final UX polish
|
|
1620
|
+
id7.2[EndScreen3D implemented but missing final UX polish - detailed stats, meta-progression hooks]
|
|
1612
1621
|
id7.3[Training mode limited scope]
|
|
1613
1622
|
id8(๐ฑ Mobile Performance)
|
|
1614
1623
|
id8.1[30-45fps on mobile devices - meeting 30fps baseline target]
|
|
@@ -1623,6 +1632,7 @@ mindmap
|
|
|
1623
1632
|
### Mindmap of Opportunities
|
|
1624
1633
|
|
|
1625
1634
|
```mermaid
|
|
1635
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1626
1636
|
mindmap
|
|
1627
1637
|
root((๐ต Opportunities Q1 2026))
|
|
1628
1638
|
id1(๐ก PWA & Offline Caching)
|
|
@@ -1668,6 +1678,7 @@ mindmap
|
|
|
1668
1678
|
### Mindmap of Threats
|
|
1669
1679
|
|
|
1670
1680
|
```mermaid
|
|
1681
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1671
1682
|
mindmap
|
|
1672
1683
|
root((๐ด Threats Q1 2026))
|
|
1673
1684
|
id1(๐ฉ๏ธ CDN Outages / Latency)
|
|
@@ -1737,6 +1748,7 @@ mindmap
|
|
|
1737
1748
|
### Player Archetypes & Combat Philosophy
|
|
1738
1749
|
|
|
1739
1750
|
```mermaid
|
|
1751
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1740
1752
|
mindmap
|
|
1741
1753
|
root((๐ฅ Black Trigram Core))
|
|
1742
1754
|
id1[๐ฎ Player Archetypes]
|
|
@@ -1814,6 +1826,7 @@ mindmap
|
|
|
1814
1826
|
### System Architecture Layers
|
|
1815
1827
|
|
|
1816
1828
|
```mermaid
|
|
1829
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1817
1830
|
mindmap
|
|
1818
1831
|
root((๐๏ธ Architecture))
|
|
1819
1832
|
id1[๐ฅ๏ธ Presentation Layer]
|
|
@@ -1889,6 +1902,7 @@ mindmap
|
|
|
1889
1902
|
### User Journey Through Game
|
|
1890
1903
|
|
|
1891
1904
|
```mermaid
|
|
1905
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1892
1906
|
flowchart TD
|
|
1893
1907
|
Start([๐ฎ Game Load]) --> Loading[โณ Loading Assets]
|
|
1894
1908
|
Loading --> Intro[๐ฎ Intro Screen]
|
|
@@ -1932,6 +1946,7 @@ flowchart TD
|
|
|
1932
1946
|
### Combat System Data Flow
|
|
1933
1947
|
|
|
1934
1948
|
```mermaid
|
|
1949
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1935
1950
|
graph TB
|
|
1936
1951
|
subgraph "๐ฎ Input Layer"
|
|
1937
1952
|
KI[Keyboard Input]
|
|
@@ -1993,6 +2008,7 @@ graph TB
|
|
|
1993
2008
|
### Trigram Advantage Matrix
|
|
1994
2009
|
|
|
1995
2010
|
```mermaid
|
|
2011
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1996
2012
|
graph LR
|
|
1997
2013
|
subgraph "โฏ๏ธ Trigram Relationships"
|
|
1998
2014
|
G[โฐ ๊ฑด Geon]
|
|
@@ -2038,6 +2054,7 @@ graph LR
|
|
|
2038
2054
|
### Resource Loading Pipeline
|
|
2039
2055
|
|
|
2040
2056
|
```mermaid
|
|
2057
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#455A64','secondaryColor':'#4CAF50','tertiaryColor':'#FF9800','actorBkg':'#1565C0','actorTextColor':'#fff','actorLineColor':'#455A64','signalColor':'#455A64','signalTextColor':'#fff','noteBkgColor':'#FFD600','noteTextColor':'#000','noteBorderColor':'#F57F17'}}}%%
|
|
2041
2058
|
sequenceDiagram
|
|
2042
2059
|
participant B as Browser
|
|
2043
2060
|
participant L as Asset Loader
|
|
@@ -2065,6 +2082,7 @@ sequenceDiagram
|
|
|
2065
2082
|
### Memory Management Strategy
|
|
2066
2083
|
|
|
2067
2084
|
```mermaid
|
|
2085
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2068
2086
|
graph TD
|
|
2069
2087
|
subgraph "๐ง Memory Pools"
|
|
2070
2088
|
PP[Particle Pool<br/>Pre-allocated: 1000]
|
|
@@ -2109,6 +2127,7 @@ graph TD
|
|
|
2109
2127
|
### Frontend Security Architecture
|
|
2110
2128
|
|
|
2111
2129
|
```mermaid
|
|
2130
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2112
2131
|
graph TB
|
|
2113
2132
|
subgraph "๐ก๏ธ Security Layers"
|
|
2114
2133
|
CSP[Content Security Policy]
|
|
@@ -2149,6 +2168,7 @@ graph TB
|
|
|
2149
2168
|
### CI/CD Pipeline
|
|
2150
2169
|
|
|
2151
2170
|
```mermaid
|
|
2171
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2152
2172
|
graph LR
|
|
2153
2173
|
subgraph "๐ง Development"
|
|
2154
2174
|
DEV[Local Dev]
|
|
@@ -2200,6 +2220,7 @@ graph LR
|
|
|
2200
2220
|
### Performance Monitoring Dashboard
|
|
2201
2221
|
|
|
2202
2222
|
```mermaid
|
|
2223
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2203
2224
|
graph TD
|
|
2204
2225
|
subgraph "๐ Client Metrics"
|
|
2205
2226
|
FPS[FPS Counter]
|
|
@@ -2246,6 +2267,7 @@ graph TD
|
|
|
2246
2267
|
### Potential Backend Integration
|
|
2247
2268
|
|
|
2248
2269
|
```mermaid
|
|
2270
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2249
2271
|
graph TD
|
|
2250
2272
|
subgraph "Current: Frontend Only"
|
|
2251
2273
|
FE[React + Three.js]
|
package/COMBAT_ARCHITECTURE.md
CHANGED
|
@@ -78,6 +78,7 @@ Below, we define the Combat System's architecture in detail.
|
|
|
78
78
|
## ๐ง Core Combat System Architecture
|
|
79
79
|
|
|
80
80
|
```mermaid
|
|
81
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
81
82
|
graph TB
|
|
82
83
|
subgraph "Combat System Controller (src/systems/CombatSystem.ts)"
|
|
83
84
|
CSC[CombatSystemController]:::core
|
|
@@ -152,6 +153,7 @@ graph TB
|
|
|
152
153
|
## โฐ Trigram Combat System (ํ๊ด ๋ฌด์ ์ฒด๊ณ)
|
|
153
154
|
|
|
154
155
|
```mermaid
|
|
156
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
155
157
|
graph LR
|
|
156
158
|
subgraph "Eight Trigram Stances (ํ๊ด)"
|
|
157
159
|
G[โฐ ๊ฑด Geon<br/>Heaven]:::geon
|
|
@@ -241,6 +243,7 @@ interface StanceGuardPose {
|
|
|
241
243
|
### Animation State Integration
|
|
242
244
|
|
|
243
245
|
```mermaid
|
|
246
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
244
247
|
graph LR
|
|
245
248
|
subgraph "Guard Animation States"
|
|
246
249
|
SG1[stance_guard_geon]:::guard
|
|
@@ -681,6 +684,7 @@ The Stance Transition Animation System provides smooth, realistic 600ms transiti
|
|
|
681
684
|
### System Architecture
|
|
682
685
|
|
|
683
686
|
```mermaid
|
|
687
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
684
688
|
graph TB
|
|
685
689
|
subgraph "Transition Matrix (64 Transitions)"
|
|
686
690
|
TM[STANCE_TRANSITIONS Map]:::matrix
|
|
@@ -1194,6 +1198,7 @@ function handleStanceChange(from: TrigramStance, to: TrigramStance) {
|
|
|
1194
1198
|
## ๐ฏ Vital Point Targeting System (๊ธ์ ํ๊ฒฉ ์ฒด๊ณ)
|
|
1195
1199
|
|
|
1196
1200
|
```mermaid
|
|
1201
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1197
1202
|
graph TB
|
|
1198
1203
|
subgraph "70 Vital Points (๊ธ์)"
|
|
1199
1204
|
VPS[VitalPointSystem]:::vital
|
|
@@ -1246,6 +1251,7 @@ graph TB
|
|
|
1246
1251
|
## ๐ค Player Archetype Combat Specializations (๋ฌด์ฌ ์ ํ๋ณ ์ ํฌ ํนํ)
|
|
1247
1252
|
|
|
1248
1253
|
```mermaid
|
|
1254
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1249
1255
|
graph LR
|
|
1250
1256
|
subgraph "Five Player Archetypes (์ค๋ ๋ฌด์ฌ)"
|
|
1251
1257
|
M[๋ฌด์ฌ Musa<br/>Traditional Warrior]:::musa
|
|
@@ -1294,6 +1300,7 @@ graph LR
|
|
|
1294
1300
|
The Dark Ops technique system integrates authentic Korean special operations combat methods into the game, providing 15 specialized techniques focused on silent incapacitation, tactical assassination, and nerve strike warfare.
|
|
1295
1301
|
|
|
1296
1302
|
```mermaid
|
|
1303
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1297
1304
|
graph TB
|
|
1298
1305
|
subgraph "Dark Ops Units (์ํ์์ ๋ถ๋)"
|
|
1299
1306
|
DO[์ํ์์ ๋ถ๋<br/>Dark Operations Unit]:::darkops
|
|
@@ -1453,6 +1460,7 @@ Dark Ops techniques target specific anatomical vulnerable points:
|
|
|
1453
1460
|
The Movement Penalty System implements realistic injury-based movement penalties where leg and body damage reduces movement speed, restricts stance changes, and affects balance. This system creates authentic combat trauma effects based on Korean martial arts principles where targeting legs (๋ค๋ฆฌ) is a fundamental combat strategy.
|
|
1454
1461
|
|
|
1455
1462
|
```mermaid
|
|
1463
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1456
1464
|
graph TB
|
|
1457
1465
|
subgraph "Movement Penalty System (src/systems/bodypart/MovementPenaltySystem.ts)"
|
|
1458
1466
|
MPS[MovementPenaltySystem]:::movement
|
|
@@ -1631,6 +1639,7 @@ if (movementPenaltySystem.shouldEnterHelplessState(health, maxHealth)) {
|
|
|
1631
1639
|
The Physical Attributes System implements authentic biomechanics where each fighter's body dimensions (weight, limb length, muscle/fat mass, age) directly affect combat performance. Based on realistic human physiology and Korean martial arts principles, this system ensures that combat feels authentic and strategic.
|
|
1632
1640
|
|
|
1633
1641
|
```mermaid
|
|
1642
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
1634
1643
|
graph TB
|
|
1635
1644
|
subgraph "Physical Attributes System (src/data/archetypePhysicalAttributes.ts)"
|
|
1636
1645
|
PAS[PhysicalAttributesSystem]:::physical
|
|
@@ -1642,11 +1651,11 @@ graph TB
|
|
|
1642
1651
|
|
|
1643
1652
|
subgraph "Archetype Physical Profiles"
|
|
1644
1653
|
APH[ArchetypeProfiles]:::profile
|
|
1645
|
-
APH --> MU[๋ฌด์ฌ
|
|
1646
|
-
APH --> AM[์์ด์
|
|
1647
|
-
APH --> HK[ํด์ปค
|
|
1648
|
-
APH --> JB[์ ๋ณด์์
|
|
1649
|
-
APH --> JJ[์กฐ์งํญ๋ ฅ๋ฐฐ
|
|
1654
|
+
APH --> MU["๋ฌด์ฌ Musa"]:::musa
|
|
1655
|
+
APH --> AM["์์ด์ Amsalja"]:::amsalja
|
|
1656
|
+
APH --> HK["ํด์ปค Hacker"]:::hacker
|
|
1657
|
+
APH --> JB["์ ๋ณด์์ Jeongbo"]:::jeongbo
|
|
1658
|
+
APH --> JJ["์กฐ์งํญ๋ ฅ๋ฐฐ Jojik"]:::jojik
|
|
1650
1659
|
end
|
|
1651
1660
|
|
|
1652
1661
|
subgraph "Combat Physics Engine (src/utils/combatPhysics.ts)"
|
|
@@ -2331,6 +2340,7 @@ Recovery animations follow Black Trigram's Korean martial arts principles:
|
|
|
2331
2340
|
## ๐ฎ Combat Component Architecture
|
|
2332
2341
|
|
|
2333
2342
|
```mermaid
|
|
2343
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2334
2344
|
graph TB
|
|
2335
2345
|
subgraph "React Components Layer"
|
|
2336
2346
|
CS[CombatScreen]:::react
|
|
@@ -2372,6 +2382,7 @@ graph TB
|
|
|
2372
2382
|
## ๐ Audio System Integration
|
|
2373
2383
|
|
|
2374
2384
|
```mermaid
|
|
2385
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2375
2386
|
graph LR
|
|
2376
2387
|
subgraph "Traditional Korean Instruments (๊ตญ์
)"
|
|
2377
2388
|
GAY[๊ฐ์ผ๊ธ Gayageum]:::traditional
|
|
@@ -2730,6 +2741,7 @@ AI fighters utilize behavior trees for dynamic combat decision-making based on h
|
|
|
2730
2741
|
### AI Decision Flow
|
|
2731
2742
|
|
|
2732
2743
|
```mermaid
|
|
2744
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
2733
2745
|
graph TB
|
|
2734
2746
|
START[Combat AI Tick]:::start --> ASSESS[Assess Situation]:::process
|
|
2735
2747
|
|
|
@@ -2754,8 +2766,8 @@ graph TB
|
|
|
2754
2766
|
CALC1 --> EXEC[Execute Technique]:::action
|
|
2755
2767
|
GUARD --> WAIT[Wait for Opening]:::action
|
|
2756
2768
|
|
|
2757
|
-
EXEC -->
|
|
2758
|
-
WAIT -->
|
|
2769
|
+
EXEC --> ENDTICK[End AI Tick]:::endState
|
|
2770
|
+
WAIT --> ENDTICK
|
|
2759
2771
|
|
|
2760
2772
|
classDef start fill:#00ff00,stroke:#333,color:#000
|
|
2761
2773
|
classDef process fill:#4da6ff,stroke:#333,color:#fff
|
|
@@ -2764,7 +2776,7 @@ graph TB
|
|
|
2764
2776
|
classDef balanced fill:#ff8c00,stroke:#333,color:#fff
|
|
2765
2777
|
classDef defensive fill:#0066cc,stroke:#333,color:#fff
|
|
2766
2778
|
classDef action fill:#9370db,stroke:#333,color:#fff
|
|
2767
|
-
classDef
|
|
2779
|
+
classDef endState fill:#808080,stroke:#333,color:#fff
|
|
2768
2780
|
```
|
|
2769
2781
|
|
|
2770
2782
|
### Aggression Levels
|
|
@@ -3304,6 +3316,7 @@ The system embodies traditional principles:
|
|
|
3304
3316
|
## ๐ฏ Success Metrics
|
|
3305
3317
|
|
|
3306
3318
|
```mermaid
|
|
3319
|
+
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2979FF','primaryTextColor':'#fff','primaryBorderColor':'#0D47A1','lineColor':'#00C853','secondaryColor':'#FFD600','tertiaryColor':'#FF3D00'}}}%%
|
|
3307
3320
|
graph LR
|
|
3308
3321
|
subgraph "Combat Effectiveness Metrics"
|
|
3309
3322
|
ACC[์ ํ๋ Accuracy<br/>85%+ hit detection]:::metric
|