├── .gitignore
├── src
├── hc
│ ├── 2hhc_bootstrap_program.xlsx
│ ├── hc_sa_drills.csv
│ ├── hc_2h_progression.csv
│ ├── hc_sa_progression.puml
│ ├── hc_2h_progression_1.puml
│ ├── hc_2h_progression_ALT.puml
│ └── hc_2h_progression_ALL.puml
├── kb
│ ├── kb_bootstrap_program.xlsx
│ ├── kb_progression_3.puml
│ ├── kb_progression_2_tgu.puml
│ ├── kb_progression_1.puml
│ ├── kb_progression_4.puml
│ ├── kb_progression.csv
│ └── kb_progression_ALL.puml
└── mace
│ ├── mace_warrior_subsequence.puml
│ ├── mace_progression.csv
│ ├── mace_progression_sa.puml
│ └── mace_progression_ALL.puml
├── psakefile.ps1
├── README.md
└── LICENSE.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | # LibreOffice Calc lock file
2 | .~lock*
3 | # VSCode settings
4 | .vscode
5 |
--------------------------------------------------------------------------------
/src/hc/2hhc_bootstrap_program.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dznz/wildman-skill-trees/HEAD/src/hc/2hhc_bootstrap_program.xlsx
--------------------------------------------------------------------------------
/src/kb/kb_bootstrap_program.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dznz/wildman-skill-trees/HEAD/src/kb/kb_bootstrap_program.xlsx
--------------------------------------------------------------------------------
/src/hc/hc_sa_drills.csv:
--------------------------------------------------------------------------------
1 | ID,Graph_Name,Label,Skill_Developed,URL
2 | SAHC-01,mov_01_s2s,Side to Side Swing,ELBOWS LOCKED,https://www.youtube.com/watch?v=cosgyt2BQG4
3 | SAHC-02,mov_02_incircle,Inside Circle,,https://www.youtube.com/watch?v=-gtRj1KEUmw
4 | SAHC-03,mov_03_outcircle,Outside Circle,,https://www.youtube.com/watch?v=Mf2QuZvRtQ4
5 | SAHC-04,mov_04_pullover,Pullover,,https://www.youtube.com/watch?v=HHT6TrTLJM8
6 | SAHC-05,mov_05_backs2s,Back Position Swing,THUMB TO SHIRT,https://www.youtube.com/watch?v=sxePeWDR1U0
7 | SAHC-06,mov_06_perry,Perry Cast\naka Bailout,SAFE FAILURE,https://www.youtube.com/watch?v=FpUecSrX_AI
8 | SAHC-07,mov_07_sc,Shield Cast,,https://www.youtube.com/watch?v=huwc0g3yLWk
9 | SAHC-08,mov_08_sideswingl2h,Side Swing\nLow to High\nwith Stop,HIP SNAP,https://www.youtube.com/watch?v=0_wHseV7B-o
10 | SAHC-09,mov_09_s2srockit,Side to Side Rockit,,https://www.youtube.com/watch?v=I26O1ct_hik
11 | SAHC-10,mov_10_sideswingl2hcont,Side Swing\nLow to High\nContinuous,,https://www.youtube.com/watch?v=_Yd8I7U44mw
12 | SAHC-11,mov_11_altcircle,Alternating Circle,,https://www.youtube.com/watch?v=yuJNSETl-tI
13 | SAHC-12,mov_12_outpend,Outside Pendulum,,https://www.youtube.com/watch?v=q8l1G7UoERA
14 | SAHC-13,mov_13_inpend,Inside Pendulum,,https://www.youtube.com/watch?v=4LqqrNosRiI
15 | SAHC-14,mov_14_outpull,Outside Pullover,+ EXT ROTATION,https://www.youtube.com/watch?v=sJ5XCgdCMx8
16 | SAHC-15,mov_15_inpull,Inside Pullover,+ INT ROTATION,https://www.youtube.com/watch?v=DQg80eX08hg
17 | SAHC-16,mov_16_altpend,Alternating Pendulum,,https://www.youtube.com/watch?v=eIkqXJ5d7V4
18 | SAHC-17,mov_17_millprep,Mill Prep,,https://www.youtube.com/watch?v=TSjIEfyJGKY
19 | SAHC-18,mov_18_alt180pull,Alternating 180 Degree\nPullover,,https://www.youtube.com/watch?v=brM1Ybg9v7E
20 | SAHC-19,mov_19_mill,Mill,,https://www.youtube.com/watch?v=0fm3VX0iKnA
21 | SAHC-20,mov_20_revmill,Reverse Mill,,https://www.youtube.com/watch?v=B8YWWwRB8fo
22 | SAHC-21,mov_21_outcirclesc,Outside Circle\nShield Cast,ORDER POS IN MILL,https://www.youtube.com/watch?v=NdJlzFTbQwo
23 | SAHC-22,mov_22_outpendoutpull,Outside Pendulum\nOutside Pullover,,https://www.youtube.com/watch?v=b0Ztc-54C_Y
24 | SAHC-23,mov_23_outpull3count,Outside Pullover\n3 Count,,https://www.youtube.com/watch?v=_hJaJVaMPtE
25 | SAHC-24,mov_24_outpendoutpull3c,Outside Pendulum\nOutside Pullover\n3 Count,,https://www.youtube.com/watch?v=FauiblV5PHg
26 | SAHC-25,mov_25_inpendinpull,Inside Pendulum\nInside Pullover,,https://www.youtube.com/watch?v=VFaO93BsNaA
27 | SAHC-26,mov_26_inpull3count,Inside Pullover\n3 Count,,https://www.youtube.com/watch?v=lBKIaQ6iej8
28 | SAHC-27,mov_27_inpendinpull3c,Inside Pendulum\nInside Pullover\n3 Count,,https://www.youtube.com/watch?v=Vv4rdCks2f8
29 | SAHC-28,mov_28_outpend180pull,Outside Pendulum\n180 Pullover,,https://www.youtube.com/watch?v=dATAyVyvbnw
30 | SAHC-29,mov_29_kneelbackswing,Half Kneeling\nBack Position Swing,CONNECT HIP\nTO SHOULDER,https://www.youtube.com/watch?v=H590if5eTeE
31 |
--------------------------------------------------------------------------------
/psakefile.ps1:
--------------------------------------------------------------------------------
1 | Include ".\build_utils.ps1"
2 |
3 | Properties {
4 | $DistDir = (Join-Path $PSScriptRoot "dist")
5 | $SrcRoot = (Join-Path $PSScriptRoot "src")
6 |
7 | # By default, produce only SVG diagrams as output
8 | [string[]] $script:OutputFormats = ,"svg"
9 |
10 | # PlantUML/Dot diagrams to compile
11 | $DiagramFiles = @{
12 | hc = (
13 | "hc_2h_progression_1.puml",
14 | "hc_2h_progression_ALL.puml",
15 | "hc_2h_progression_ALT.puml",
16 | "hc_sa_progression.puml"
17 | )
18 | kb = (
19 | "kb_progression_1.puml",
20 | "kb_progression_2_tgu.puml",
21 | "kb_progression_3.puml",
22 | "kb_progression_4.puml",
23 | "kb_progression_ALL.puml"
24 | )
25 | mace = (
26 | "mace_progression_ALL.puml",
27 | "mace_progression_sa.puml",
28 | "mace_warrior_subsequence.puml"
29 | )
30 | }
31 |
32 | # Files copied directly to Dist
33 | $StaticFiles = @{
34 | hc = (
35 | "2hhc_bootstrap_program.xlsx",
36 | "hc_2h_progression.csv",
37 | "hc_sa_drills.csv")
38 | kb = (
39 | "kb_bootstrap_program.xlsx",
40 | "kb_progression.csv")
41 | mace = (
42 | "mace_progression.csv"
43 | )
44 | }
45 | }
46 |
47 | Task default -Depends Quick
48 |
49 | Task Quick -Depends Compile `
50 | -Description "Build only SVG files for quick updates."
51 |
52 | Task Full -Depends Clean, SetReleaseFormats, Compile, CopyStaticFiles `
53 | -Description "Prepare a full release of diagrams and static files"
54 |
55 | # Releases include SVG & PNG formats for accessibility
56 | Task SetReleaseFormats `
57 | -Description "Set to the supported image formats for releases." `
58 | {
59 | $script:OutputFormats = "svg", "png"
60 | }
61 |
62 | Task Compile `
63 | -Description "Use PlantUML to produce diagram images." `
64 | -Depends CompileHeavyClub, `
65 | CompileKettlebell, `
66 | CompileMace `
67 |
68 | Task CompileHeavyClub { Compile-PumlDiagram -ToolName "hc" }
69 |
70 | Task CompileKettlebell { Compile-PumlDiagram -ToolName "kb" }
71 |
72 | Task CompileMace { Compile-PumlDiagram -ToolName "mace" }
73 |
74 | Task CopyStaticFiles `
75 | -Description "Copy unprocessed files to Dist directory." `
76 | -Depends CopyStaticHeavyClub, `
77 | CopyStaticKettlebell, `
78 | CopyStaticMace
79 |
80 | Task CopyStaticHeavyClub { Copy-StaticFiles -ToolName "hc" }
81 |
82 | Task CopyStaticKettlebell { Copy-StaticFiles -ToolName "kb" }
83 |
84 | Task CopyStaticMace { Copy-StaticFiles -ToolName "mace" }
85 |
86 | Task Clean -Description "Remove all files in Dist." {
87 | Remove-Item -Path (Join-Path $DistDir "*")
88 | }
89 |
90 | function Compile-PumlDiagram {
91 | param (
92 | [string] $ToolName
93 | )
94 | $ToolRoot = (Join-Path $SrcRoot $ToolName)
95 | foreach ($SrcFile in $DiagramFiles[$ToolName]) {
96 | Write-Host "Rendering $SrcFile"
97 | Puml -SrcFilePath (Join-Path $ToolRoot $SrcFile) `
98 | -OutputDirPath $DistDir `
99 | -OutputFormatList $script:OutputFormats
100 | }
101 | }
102 |
103 | function Copy-StaticFiles {
104 | param (
105 | [string] $ToolName
106 | )
107 | $ToolRoot = (Join-Path $SrcRoot $ToolName)
108 | $FilesToCopy = $StaticFiles[$ToolName]
109 | foreach ($SrcFile in $FilesToCopy) {
110 | Copy-Item -Path (Join-Path $ToolRoot $SrcFile) `
111 | -Destination $DistDir
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/src/mace/mace_warrior_subsequence.puml:
--------------------------------------------------------------------------------
1 | @startdot mace_warrior_subsequence
2 | digraph mace_warrior_subsequence {
3 |
4 | label=<
5 | Mace Warrior Stance Subsequence
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [shape=record]
19 | node [style="rounded,filled"]
20 | node [color=12, fillcolor=11]
21 |
22 | subgraph aux {
23 | node [color=10, fillcolor=9]
24 |
25 | }
26 |
27 | subgraph ext {
28 | node [color=2, fillcolor=1]
29 | ext_180pull [label="180 Degree Pullover"]
30 | mov_02_alt360
31 | mov_31_frcircle, mov_32_bkcircle
32 | mov_22_incircle2sameflip
33 | mov_23_outcircle2sameflip
34 | mov_23_outcircle2sameflip [label="{{23 |Outside circle to\nsame side flip catch}}" URL="https://www.youtube.com/watch?v=UwR4uFqvUyY" ]
35 | mov_27_inflip180pull [label="{{27 |Inside flip catch mill with\nsword grip across the top}}" URL="https://www.youtube.com/watch?v=uFsPwnClx-M" ]
36 | mov_28_outflipmill [label="{{28 |Outside flip catch mill\naka flip catch reverse mill}}" URL="https://www.youtube.com/watch?v=jKbelC2dZVo" ];
37 | }
38 |
39 | subgraph isolated {
40 | node [color=4, fillcolor=3]
41 | mov_33_warfrcircle, mov_36_warbkcircle
42 | }
43 |
44 | mov_02_alt360 [label="{{02 |Alternating 360\n(Gama Cast/10 to 2)}}" URL="https://www.youtube.com/watch?v=ccifkBh2JSI" ]
45 | mov_22_incircle2sameflip [label="{{22 |Inside circle to\nsame hand flip catch}}" URL="https://www.youtube.com/watch?v=xlClTZRbmc0" ]
46 | mov_31_frcircle [label="{{31 |Symmetrical stance\nFront Circles}}" URL="https://www.youtube.com/watch?v=ULozVN0nz_U" ];
47 | mov_32_bkcircle [label="{{32 |Backward Circle}}" URL="https://www.youtube.com/watch?v=KSja97kaEHY" ];
48 | mov_33_warfrcircle [label="{{33 |Warrior Stance\nFront circle}}" URL="https://www.youtube.com/watch?v=-4GMydVrlSk" ];
49 |
50 | mov_35_waralt360 [label="{{35 |Warrior stance\nalternating 360 / Gama cast}}" URL="https://www.youtube.com/watch?v=IgJXJy3zPGk" ];
51 | mov_36_warbkcircle [label="{{36 |Warrior stance\nbackward circle}}" URL="https://www.youtube.com/watch?v=ZfGdlIsWKXQ" ];
52 | mov_37_waraltcircle [label="{{37 |Warrior stance\nalternating circles}}" URL="https://www.youtube.com/watch?v=h_wcGKGlCus" ];
53 | mov_38_war180pull [label="{{38 |Warrior stance\n180 degree rotating pullover\nfrom sword grip}}" URL="https://www.youtube.com/watch?v=P5lbQmeVZn8" ];
54 | mov_39_warfrcircleflip [label="{{39 |Warrior stance\nfront circle flip catch}}" URL="https://www.youtube.com/watch?v=8hvIwt9EshQ" ];
55 | mov_40_warbkcircleflip [label="{{40 |Warrior stance\nbackward circle to\nflip catch}}" URL="https://www.youtube.com/watch?v=Eb5Ci22BqmI" ];
56 | mov_41_warfwdmill [label="{{41 |Warrior stance\nforward mill}}" URL="https://www.youtube.com/watch?v=ydXgS363htk" ];
57 | mov_42_warbwdmill [label="{{42 |Warrior stance\nbackward mill}}" URL="https://www.youtube.com/watch?v=HaQqkf-cSHE" ];
58 |
59 | // LAYOUT HACKS
60 |
61 | {
62 | node [style=invis]
63 | edge [style=invis]
64 |
65 | mov_15_3602bar2sq -> lay_end2h -> mov_16_saincircle
66 | }
67 |
68 | {rank=same;ext_180pull,mov_02_alt360}
69 |
70 | // GRAPH
71 |
72 | // Precursor
73 | mov_02_alt360 -> mov_35_waralt360
74 | ext_180pull -> mov_27_inflip180pull
75 |
76 | // Circles
77 | mov_22_incircle2sameflip -> mov_27_inflip180pull
78 | {mov_23_outcircle2sameflip, mov_27_inflip180pull} -> mov_28_outflipmill
79 | {mov_31_frcircle -> mov_32_bkcircle} -> mov_33_warfrcircle
80 |
81 | subgraph cluster_war {
82 | label="Warrior stance"
83 | mov_33_warfrcircle -> mov_36_warbkcircle -> mov_37_waraltcircle;
84 | mov_33_warfrcircle -> mov_37_waraltcircle;
85 | mov_37_waraltcircle -> mov_39_warfrcircleflip -> mov_40_warbkcircleflip
86 | {mov_38_war180pull,mov_39_warfrcircleflip} -> mov_41_warfwdmill
87 | {mov_41_warfwdmill,mov_40_warbkcircleflip} -> mov_42_warbwdmill
88 | mov_35_waralt360
89 | }
90 | ext_180pull -> mov_38_war180pull
91 | mov_22_incircle2sameflip -> mov_39_warfrcircleflip
92 | mov_23_outcircle2sameflip -> mov_40_warbkcircleflip
93 | mov_27_inflip180pull -> mov_41_warfwdmill
94 | mov_28_outflipmill -> mov_42_warbwdmill
95 |
96 | // LEGEND
97 |
98 | { rank = sink;
99 | Legend [shape=none, margin=0, label=<
100 |
101 |
102 | | Legend |
103 |
104 |
105 | | Prerequisites and next steps |
106 | |
107 |
108 |
109 | | Isolated Drills |
110 | |
111 |
112 |
113 | | Integrated Drills |
114 | |
115 |
116 |
117 | | Learning drills |
118 | |
119 |
120 |
121 | >];
122 | }
123 | }
124 | @enddot
125 |
--------------------------------------------------------------------------------
/src/hc/hc_2h_progression.csv:
--------------------------------------------------------------------------------
1 | ID,Graph_Name,Label,Skill_Developed,Movement_Family,URL,Notes
2 | 2HHC-01,mov_01_sidetoside,Side to Side\nSwing,ELBOWS LOCKED,Side Swing,https://www.youtube.com/watch?v=LMau5vr7qx4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds,
3 | 2HHC-02,mov_02_sideswinglowtohigh,Side Swing\nLow to High,,Side Swing,https://www.youtube.com/watch?v=NoZCHTlmrCg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=2,
4 | 2HHC-03,mov_03_hangsidelowtohigh,Hang Side Swing\nLow to High,LEG DRIVE & HIP SNAP,Side Swing,https://www.youtube.com/watch?v=RD1zOWaTjhQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=3,
5 | 2HHC-04,mov_04_deadclean,Dead Clean,ORDER POSITION,C&P,https://www.youtube.com/watch?v=69RGME9RTcY&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=4,
6 | 2HHC-05,mov_05_insidecircle,Inside Circle,,Mill,https://www.youtube.com/watch?v=Mh6iWcLbE3k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=5,
7 | 2HHC-06,mov_06_outsidecircle,Outside Circle,,Mill,https://www.youtube.com/watch?v=QzMzCal-MYM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=6,
8 | 2HHC-07,mov_07_pullover,Pullover,CLUB BEHIND HEAD,Swipe,https://www.youtube.com/watch?v=jpIn1Sumg78&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=7,
9 | 2HHC-08,mov_08_backpossidetoside,Back Position\nSide to Side Swing,SWING BEHIND HEAD,,https://www.youtube.com/watch?v=GKwGiB2UwyM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=8,
10 | 2HHC-09,mov_09_sc,Shield Cast,,,https://www.youtube.com/watch?v=W-iHvrjn72k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=9,
11 | 2HHC-10,mov_10_squat,Balance Squat,,Squat,https://www.youtube.com/watch?v=LSXticZ67Pw&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=11,
12 | 2HHC-11,mov_11_swingclean,Swing Clean,DECELERATE WEIGHT,Swipe,https://www.youtube.com/watch?v=0oRuCQOkPRo&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=12,
13 | 2HHC-12,mov_12_robotsc,Robot Shield Cast,,,https://www.youtube.com/watch?v=LDGi_lmzGR8&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=13,
14 | 2HHC-13,mov_13_frontpress,Front Press,,C&P,https://www.youtube.com/watch?v=HBRWtm3tTp4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=15,
15 | 2HHC-14,mov_14_revrobotsc,Reverse Robot\nShield Cast,,,https://www.youtube.com/watch?v=Fun_Lscq5go&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=23,
16 | 2HHC-15,mov_15_rockit,Side to Side\nRockit,,Side Swing,https://www.youtube.com/watch?v=4gvF-gARAIs&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=24,
17 | 2HHC-16,mov_16_outpend,Outside Pendulum\n(aka Outside Hang\nPower Clean,,Side Swing,https://www.youtube.com/watch?v=SRNTrFvHgz0&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=25,
18 | 2HHC-17,mov_17_stepbacklunge,Balance Step\nBack Lunge,,Lunge,https://www.youtube.com/watch?v=dNrYT5iU7BQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=26,
19 | 2HHC-18,mov_18_altcircle,Alternating Circle,DECELERATE &\nCHANGE DIRECTION,Mill,https://www.youtube.com/watch?v=ukkrHxGTGtI&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=31,
20 | 2HHC-19,mov_19_inpend,Inside Pendulum,,Side Swing,https://www.youtube.com/watch?v=pV0Hh335Csg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=34,
21 | 2HHC-20,mov_20_3csc,Three-Count\nShield Cast,,,https://www.youtube.com/watch?v=ABQij0Zpt0U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=35,
22 | 2HHC-21,mov_21_gama,Gamma Cast\naka Gama Cast,,,https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=39,
23 | 2HHC-22,mov_22_scsquat,Shield Cast Squat,,,https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=41,
24 | 2HHC-23,mov_23_kneelsc,Half-Kneeling Shield Cast,,,https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=42,
25 | 2HHC-24,mov_24_sblungepull,Step-Back Lunge\nPullover at Top,,,https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=44,
26 | 2HHC-25,mov_25_kneelbackswing,Half-Kneeling\nBack Position Swing,,Lunge,https://www.youtube.com/watch?v=XH_HFWZQt4c,
27 | 2HHC-26,mov_26_fbpull,Flat Back Pullover,,Getup,https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=45,
28 | 2HHC-27,mov_27_fbpullsit,Flat Back Pullover Situp,,Getup,https://www.youtube.com/watch?v=Ii2WZgl5mHA,
29 | 2HHC-28,mov_28_sblungepullbot,Step-Back Lunge\nPullover at Bottom,,Lunge,https://www.youtube.com/watch?v=UpY9zHuTZds,
30 | 2HHC-29,mov_29_fbpullsitpress,Flat Back Pullover\nSitup Press,,Getup,https://www.youtube.com/watch?v=8VL8tvinc28,
31 | 2HHC-30,mov_30_sbfrontpress,Step-Back Lunge\nFront Press,,Lunge,,Guessed as actual video missing
32 | 2HHC-31,mov_31_altshinbox,Balance\nAlternating Shin Box,,Getup,https://www.youtube.com/watch?v=jogIwgDj0KM,
33 | 2HHC-32,mov_32_incirclesquat,Inside Circle Squat,,Squat,https://www.youtube.com/watch?v=icFHo5ufhUc,
34 | 2HHC-33,mov_33_altshinboxfrpress,Alt Shinbox Front Press,,Getup,https://www.youtube.com/watch?v=D2AJzIVufeY&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=47,
35 | 2HHC-34,mov_34_outcirclesquat,Outside Circle Squat,,Squat,https://www.youtube.com/watch?v=z916C16iK54&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=49,
36 | 2HHC-35,mov_35_sblungepullsbpress,Step-Back Lunge Pullover\nStep-Back Press,,Lunge,https://www.youtube.com/watch?v=1cXPBXfKNhU,
37 | 2HHC-36,mov_36_squatpress,Squat Press,,Squat,https://www.youtube.com/watch?v=6p1niExqXSA,
38 | 2HHC-37,mov_37_cap,Clean & Press,,C&P,https://www.youtube.com/watch?v=6kpEYglMJ1c,
39 | 2HHC-38,mov_38_millprep,Mill Prep,,Mill,https://www.youtube.com/watch?v=G_OXuFs2bRs,
40 | 2HHC-39,mov_39_pullsquat,Pullover Squat,,Squat,https://www.youtube.com/watch?v=3yf3VO2sd-4,
41 | 2HHC-40,mov_40_swipe,Technical Swipe,,Swipe,https://www.youtube.com/watch?v=nQ7npb0krRg,
42 | 2HHC-41,mov_41_sblungepress,Step Back Lunge\nFront Press at Bottom,,Lunge,https://www.youtube.com/watch?v=mf2dOl-QzEs,
43 | 2HHC-42,mov_42_kneelpull,Half Kneeling\nPullover,,Lunge,https://www.youtube.com/watch?v=FhIn5to6NmM,
44 | 2HHC-43,mov_43_pullsquatpress,Pullover Squat Press,,Squat,https://www.youtube.com/watch?v=pHjBhj7SHWo,
45 | 2HHC-44,mov_44_clockshoulder,Clockwork Shoulder,PROTECT COLLARBONE,Mill,https://www.youtube.com/watch?v=XjaBfgQW1qw,
46 | 2HHC-45,mov_45_deadcleansquat,Dead Clean Squat,,Squat,https://www.youtube.com/watch?v=V1V6PTM5TQ0
47 |
--------------------------------------------------------------------------------
/src/kb/kb_progression_3.puml:
--------------------------------------------------------------------------------
1 | @startdot kb_progression_3
2 | digraph kb_progression {
3 |
4 | label=<
5 | Kettlebell Basic Skill Progression - Part 3/4
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [shape=record]
19 | node [style="rounded,filled"]
20 | node [color=12, fillcolor=11]
21 |
22 | subgraph pre {
23 | node [color=2, fillcolor=1]
24 | ext_bw_squat [label="{{BW|Squat}}"]
25 | ext_bw_altshinbox [label="{{BW|Alt Shin Box}}"]
26 | mov_12_clean [label="KB-12|Swing Clean" URL="https://www.youtube.com/watch?v=_nIsSXWs5iU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=12"]
27 | mov_17_cap [label="KB-17|Clean & Press" URL="https://www.youtube.com/watch?v=SSxB3m5qRas&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=17"]
28 | mov_19_startstopcap [label="{{KB-19|Start Stop\nClean & Press}|START & END C&P}" URL="https://www.youtube.com/watch?v=dSj3kqbuois&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=19"]
29 | mov_22_gobsquathalo [label="{{22|Goblet Squat\nwith Halo}|FULL DEPTH}" URL="https://www.youtube.com/watch?v=cnZ8Mx8NQPE&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=22"]
30 | mov_23_racksquat [label="{{KB-23|Single-Bell Front Squat}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=23"]
31 | }
32 |
33 | mov_39_boxsquat2boat [label="{{39|Box Squat to Boat Pose}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=41"]
34 | mov_40_bwspinalrock [label="{{40|Spinal Rock\n(Bodyweight)}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=42"]
35 | mov_41_flatbackpullover [label="{{41|Flat Back Pullover}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=43"]
36 | // 42 in TGU diagram
37 | mov_43_spinalrock [label="{{43|Spinal Rock}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=48"]
38 | mov_44_pushpress [label="{{44|Push Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=49"]
39 | mov_45_gobsquatcurl [label="{{45|Rock-Bottom\nCurl with Goblet Squat}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=50"]
40 | // Missing 46
41 | mov_47_racksquatpickup [label="{{47|Rock-Bottom\nFront Squat Pickup}|PAUSE AT BOTTOM}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=52"]
42 | mov_48_thruster [label="{{48|Thruster}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=48"]
43 | mov_49_seatedpress [label="{{49|Seated Two-Handed\nOverhead Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=54"]
44 | mov_50_2hdeadclean2rack [label="{{50|Two-Handed Dead Clean\nto Double Front Rack}}" URL="https://www.youtube.com/watch?v=acqKxfMGAbk&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=55"]
45 | mov_51_fourcountsquat [label="{{51|Four-Count Squat\n(Bodyweight)}}" URL="https://www.youtube.com/watch?v=1rkGfL1EdWI"]
46 | mov_52_rackaltshinbox [label="{{52|Rack Alt Shinbox}}" URL="https://www.youtube.com/watch?v=AoEYX36Q2Zg"]
47 | mov_53_hornygobsquat [label="{{53|Handle Up\nGoblet Squat}}" URL="https://www.youtube.com/watch?v=i2AtDi4yZSA"]
48 | mov_54_shinboxpress [label="{{54|Contra Shinbox Press}}" URL="https://www.youtube.com/watch?v=FEbi2lKVEHU"]
49 | mov_55_backpullsituppress [label="{{55|Flat Back Pullover Situp Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=57"]
50 |
51 | mov_72_deck [label="{{72|Deck Squat}}" URL="https://www.youtube.com/watch?v=vUJ3sZVwZ4Y"];
52 |
53 |
54 | // Precursor dependencies
55 | ext_bw_squat -> mov_51_fourcountsquat
56 | ext_bw_altshinbox -> mov_52_rackaltshinbox;
57 | mov_22_gobsquathalo -> mov_23_racksquat;
58 | mov_12_clean -> mov_50_2hdeadclean2rack;
59 | mov_12_clean -> mov_17_cap;
60 | mov_17_cap -> mov_19_startstopcap;
61 | mov_19_startstopcap -> mov_44_pushpress;
62 | mov_45_gobsquatcurl -> mov_39_boxsquat2boat;
63 | mov_53_hornygobsquat -> mov_39_boxsquat2boat;
64 | mov_22_gobsquathalo -> mov_45_gobsquatcurl;
65 | mov_22_gobsquathalo -> mov_53_hornygobsquat;
66 | mov_23_racksquat -> mov_47_racksquatpickup;
67 | mov_23_racksquat -> mov_48_thruster;
68 |
69 |
70 | // Ungrouped drills
71 | mov_44_pushpress -> mov_48_thruster;
72 | mov_55_backpullsituppress -> mov_72_deck;
73 |
74 | subgraph cluster_squat {
75 | label="Squats & Getup"
76 |
77 | // Getups
78 | mov_52_rackaltshinbox -> mov_54_shinboxpress
79 | mov_41_flatbackpullover -> mov_55_backpullsituppress;
80 | mov_49_seatedpress -> mov_55_backpullsituppress;
81 |
82 | // Squats
83 | mov_39_boxsquat2boat -> mov_72_deck;
84 | mov_40_bwspinalrock -> mov_43_spinalrock;
85 | mov_43_spinalrock -> mov_72_deck;
86 | mov_45_gobsquatcurl
87 | mov_47_racksquatpickup
88 | mov_51_fourcountsquat
89 | mov_53_hornygobsquat
90 | }
91 |
92 | { rank = sink;
93 | Legend [shape=none, margin=0, label=<
94 |
95 |
96 | | Legend |
97 |
98 |
99 | | Prerequisites and next steps |
100 | |
101 |
102 |
103 | | Drills |
104 | |
105 |
106 |
107 | >];
108 | }
109 | }
110 | @enddot
111 |
--------------------------------------------------------------------------------
/src/kb/kb_progression_2_tgu.puml:
--------------------------------------------------------------------------------
1 | @startdot kb_progression_2_tgu
2 | digraph kb_progression {
3 |
4 | label=<
5 | Kettlebell Basic Skill Progression - Part 2/4
6 | - Turkish Get Up
7 | Diagram by dznz based on Mark Wildman's teachings.
8 | Source: https://github.com/dznz/wildman-skill-trees
9 | More by Mark Wildman - https://www.wildmanathletica.com
10 |
11 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
12 | http://creativecommons.org/licenses/by-nc-sa/4.0/
13 |
14 | >
15 | graph [labeljust=r]
16 | graph [fontname="Helvetica,Arial,sans-serif"]
17 |
18 | node [colorscheme="paired12"]
19 | node [shape=record]
20 | node [style="rounded,filled"]
21 | node [color=12, fillcolor=11]
22 |
23 | subgraph pre {
24 | node [color=2, fillcolor=1]
25 | mov_23_racksquat
26 | mov_17_cap, mov_19_startstopcap
27 | mov_12_clean, mov_16_startstopclean
28 |
29 | // Implied
30 | mov_tgd [label="{{|Turkish Get Down}}"]
31 | mov_tgu [label="{{|Turkish Get Up}}"]
32 | }
33 |
34 | // Precursor drills
35 | mov_12_clean [label="{{KB-12|Swing Clean}}" URL="https://www.youtube.com/watch?v=_nIsSXWs5iU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=12"]
36 | mov_16_startstopclean [label="{{KB-16|Start Stop Clean}|START & END CLEAN}" URL="https://www.youtube.com/watch?v=XbK3jxI0WNQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=16"]
37 | mov_17_cap [label="{{KB-17|Clean & Press}}" URL="https://www.youtube.com/watch?v=SSxB3m5qRas&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=17"]
38 | mov_19_startstopcap [label="{{KB-19|Start Stop\nClean & Press}|START & END C&P}" URL="https://www.youtube.com/watch?v=dSj3kqbuois&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=19"]
39 | mov_23_racksquat [label="{{KB-23|Single-Bell Front Squat}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=23"]
40 |
41 | // Sequence
42 |
43 | mov_24_racklunge [label="{{24|Rack Opposite Leg\nStep-Back Lunge}|VERTICAL SPINE}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=24"]
44 | mov_25_clean2sblunge [label="{{25|Clean Step-Back Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=25"]
45 | mov_26_halfkneelclean [label="{{26|Half-Kneeling Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=26"]
46 | mov_27_cleansblungeclean [label="{{27|Clean Step-Back\nLunge Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=27"]
47 | mov_28_floorpress [label="{{28|Single-Bell Floor Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=28"]
48 | mov_29_halfkneelcap [label="{{29|Half-Kneeling\nClean & Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=29"]
49 | mov_30_floorpressroll [label="{{30|Floor Press with Roll}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=30"]
50 | mov_31_kneelwindmill [label="{{31|Half-Kneeling Windmill}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=31"]
51 | mov_32_quartgu [label="{{32|Quarter Turkish Get-Up}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=32"]
52 | mov_33_kneelcapwindmill [label="{{33|Half-Kneeling\nClean & Press Windmill}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=34"]
53 | mov_34_halfgu [label="{{34|Half Get-Up}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=35"]
54 |
55 | mov_35_cap2ohsblunge [label="{{35|Clean & Press to Overhead\nStep-Back Lunge}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=37"]
56 | mov_36_kneelhipdrop [label="{{36|Half-Kneeling Hip Drop}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=38"]
57 | mov_37_halfgu2hip [label="{{37|Half Get-Up\nto Hip Pass}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=39"]
58 | mov_38_kneelcap2hip [label="{{38|Half-Kneeling Clean & Press\nto Hip Drop}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=40"]
59 | // 42 fits better with this diagram
60 | mov_42_halfgu2kneel [label="{{42|Half Get-Up to Hip Pass\n(to Half-Kneeling)}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=45"]
61 |
62 |
63 | // Precursor dependencies
64 | mov_12_clean -> mov_16_startstopclean;
65 | mov_12_clean -> mov_17_cap;
66 | mov_17_cap -> mov_19_startstopcap;
67 | mov_23_racksquat -> mov_24_racklunge;
68 | mov_19_startstopcap -> mov_29_halfkneelcap;
69 | mov_16_startstopclean -> mov_25_clean2sblunge;
70 |
71 | subgraph cluster_tgd {
72 | label="Turkish Get Down"
73 | mov_24_racklunge -> mov_25_clean2sblunge;
74 | mov_25_clean2sblunge -> mov_26_halfkneelclean;
75 | mov_26_halfkneelclean -> mov_27_cleansblungeclean;
76 | mov_26_halfkneelclean -> mov_29_halfkneelcap;
77 | mov_29_halfkneelcap -> mov_31_kneelwindmill;
78 | mov_31_kneelwindmill -> mov_33_kneelcapwindmill;
79 | mov_33_kneelcapwindmill -> mov_35_cap2ohsblunge;
80 | mov_27_cleansblungeclean -> mov_35_cap2ohsblunge;
81 | mov_33_kneelcapwindmill -> mov_36_kneelhipdrop;
82 | mov_36_kneelhipdrop -> mov_38_kneelcap2hip;
83 | }
84 |
85 | mov_35_cap2ohsblunge -> mov_tgd;
86 | mov_35_cap2ohsblunge -> mov_tgu;
87 | mov_38_kneelcap2hip -> mov_tgd;
88 | mov_38_kneelcap2hip -> mov_tgu;
89 | mov_42_halfgu2kneel -> mov_tgd;
90 | mov_42_halfgu2kneel -> mov_tgu;
91 |
92 | subgraph cluster_tgu {
93 | label="Turkish Get Up"
94 | mov_28_floorpress -> mov_30_floorpressroll;
95 | mov_30_floorpressroll -> mov_32_quartgu;
96 | mov_32_quartgu -> mov_34_halfgu;
97 | mov_34_halfgu -> mov_37_halfgu2hip;
98 | mov_37_halfgu2hip -> mov_42_halfgu2kneel;
99 | }
100 | { rank = sink;
101 | Legend [shape=none, margin=0, label=<
102 |
103 |
104 | | Legend |
105 |
106 |
107 | | Prerequisites and next steps |
108 | |
109 |
110 |
111 | | Drills |
112 | |
113 |
114 |
115 | >];
116 | }
117 | }
118 | @enddot
119 |
--------------------------------------------------------------------------------
/src/kb/kb_progression_1.puml:
--------------------------------------------------------------------------------
1 | @startdot kb_progression_1
2 | digraph kb_progression {
3 |
4 | label=<
5 | Kettlebell Basic Skill Progression - Part 1/4
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [shape=record]
19 | node [style="rounded,filled"]
20 | node [color=12, fillcolor=11]
21 |
22 | subgraph warmup {
23 | node [color=8, fillcolor=7]
24 | mov_03_atw; mov_04_halo, mov_05_atwf2b, mov_06_atwb2f
25 | }
26 |
27 | subgraph aux {
28 | node [color=10, fillcolor=9]
29 | mov_08_2hu1hd; mov_11_2hucleandown; mov_15_news;
30 | }
31 |
32 | subgraph post {
33 | node [color=2, fillcolor=1]
34 | mov_24_racklunge
35 | mov_25_clean2sblunge
36 | mov_26_halfkneelclean
37 | mov_29_halfkneelcap
38 | }
39 |
40 | mov_01_deadlift [label="{{01|Two Hand Deadlift}|HIP HINGE}" URL="https://www.youtube.com/watch?v=x0XkmM34BPI&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=1"];
41 | mov_02_swing [label="{{02|Two Hand Swing}|LEG DRIVE &\nHIP SNAP}" URL="https://www.youtube.com/watch?v=m-S9H2XVvYg&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=2"]
42 | mov_03_atw [label="{{03|Around the World}|HAND TRANSITION}" URL="https://www.youtube.com/watch?v=XaegZzSbtr0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=3"]
43 | mov_04_halo [label="{{04|Halo}|GLOBE UP\nORDER POSITION}" URL="https://www.youtube.com/watch?v=25xdtjbFPtw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=4"]
44 | mov_05_atwf2b [label="{{05|Around the World\nFront to Back}}" URL="https://www.youtube.com/watch?v=TwlQQXAQpaQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=5"]
45 | mov_06_atwb2f [label="{{06|Around the World\nBack to Front}}" URL="https://www.youtube.com/watch?v=GrRO00YOIWM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=6"]
46 | mov_07_althalo [label="{{07|Alternating Halo}}" URL="https://www.youtube.com/watch?v=SMpquy5zSL4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=7"]
47 | mov_08_2hu1hd [label="{{08|Two Hand Pickup\nOne Hand Putdown}|RACK POSITION}" URL="https://www.youtube.com/watch?v=eMkDP9VmMc0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=8"]
48 | mov_09_saswing [label="{{09|Single Arm Swing}|THUMB POINTS BACK}" URL="https://www.youtube.com/watch?v=ejPpyLKZ1L4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=9"]
49 | mov_10_h2h [label="{{10|Hand to Hand\nTransition}}" URL="https://www.youtube.com/watch?v=0Uk0Rdm3QFs&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=10"]
50 |
51 | mov_11_2hucleandown [label="{{11|Two Hand Pickup\nClean Putdown}}" URL="https://www.youtube.com/watch?v=cQC2y-ByaAw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=11"]
52 | mov_12_clean [label="{{12|Swing Clean}}" URL="https://www.youtube.com/watch?v=_nIsSXWs5iU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=12"]
53 | mov_13_cleanh2h [label="{{13|Clean with\nHand Transition}}" URL="https://www.youtube.com/watch?v=6TVqHl2gtuM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=13"]
54 | mov_14_press [label="{{14|Single Arm\nOverhead Press}}" URL="https://www.youtube.com/watch?v=XHkI03S6Pls&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=14"]
55 | mov_15_news [label="{{15|Newspaper drill}}" URL="https://www.youtube.com/watch?v=htByOXjHLXE&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=15"]
56 | mov_16_startstopclean [label="{{16|Start Stop Clean}|START & END CLEAN}" URL="https://www.youtube.com/watch?v=XbK3jxI0WNQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=16"]
57 | mov_17_cap [label="{{17|Clean & Press}}" URL="https://www.youtube.com/watch?v=SSxB3m5qRas&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=17"]
58 | mov_18_caph2h [label="{{18|Clean & Press with\nHand Transition}}" URL="https://www.youtube.com/watch?v=5Q4vMOYvAGg&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=18"]
59 | mov_19_startstopcap [label="{{19|Start Stop\nClean & Press}|START & END C&P}" URL="https://www.youtube.com/watch?v=dSj3kqbuois&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=19"]
60 | mov_20_gobboxsquat [label="{{20|Bottoms-Up Goblet\nBox Squat}|SQUAT BACK}" URL="https://www.youtube.com/watch?v=k5Bc7pkEmrU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=20"]
61 |
62 | mov_21_boxsquathalo [label="{{21|Goblet Box Squat\nwith Halo}|STAND AT TOP}" URL="https://www.youtube.com/watch?v=Aik5-BStbnc&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=21"]
63 | mov_22_gobsquathalo [label="{{22|Goblet Squat\nwith Halo}|FULL DEPTH}" URL="https://www.youtube.com/watch?v=cnZ8Mx8NQPE&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=22"]
64 | mov_23_racksquat [label="{{23|Single-Bell Front Squat}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=23"]
65 |
66 | // Next skills
67 | mov_24_racklunge [label="{{KB-24|Rack Opposite Leg\nStep-Back Lunge}|VERTICAL SPINE}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=24"]
68 | mov_25_clean2sblunge [label="{{KB-25|Clean Step-Back Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=25"]
69 | mov_26_halfkneelclean [label="{{KB-26|Half-Kneeling Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=26"]
70 | mov_29_halfkneelcap [label="{{KB-29|Half-Kneeling\nClean & Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=29"]
71 |
72 | mov_01_deadlift -> mov_02_swing;
73 | mov_01_deadlift -> mov_03_atw;
74 | mov_01_deadlift -> mov_04_halo;
75 | mov_03_atw -> mov_05_atwf2b;
76 | mov_05_atwf2b -> mov_06_atwb2f;
77 | mov_04_halo -> mov_07_althalo;
78 | mov_01_deadlift -> mov_08_2hu1hd;
79 | mov_02_swing -> mov_09_saswing;
80 | mov_09_saswing -> mov_10_h2h;
81 | mov_08_2hu1hd -> mov_11_2hucleandown;
82 | mov_09_saswing -> mov_11_2hucleandown;
83 | mov_11_2hucleandown -> mov_12_clean;
84 | mov_12_clean -> mov_13_cleanh2h;
85 | mov_10_h2h -> mov_13_cleanh2h;
86 | mov_08_2hu1hd -> mov_14_press;
87 | mov_12_clean -> mov_15_news;
88 | mov_12_clean -> mov_16_startstopclean;
89 | mov_12_clean -> mov_17_cap;
90 | mov_14_press -> mov_17_cap;
91 | mov_17_cap -> mov_18_caph2h;
92 | mov_13_cleanh2h -> mov_18_caph2h;
93 | mov_17_cap -> mov_19_startstopcap;
94 | mov_04_halo -> mov_20_gobboxsquat;
95 | mov_20_gobboxsquat -> mov_21_boxsquathalo;
96 | mov_21_boxsquathalo -> mov_22_gobsquathalo;
97 | mov_22_gobsquathalo -> mov_23_racksquat;
98 | mov_08_2hu1hd -> mov_23_racksquat;
99 | mov_23_racksquat -> mov_24_racklunge;
100 | mov_24_racklunge -> mov_25_clean2sblunge;
101 | mov_16_startstopclean -> mov_25_clean2sblunge;
102 | mov_25_clean2sblunge -> mov_26_halfkneelclean;
103 | mov_19_startstopcap -> mov_29_halfkneelcap;
104 | mov_26_halfkneelclean -> mov_29_halfkneelcap;
105 |
106 | { rank = sink;
107 | Legend [shape=none, margin=0, label=<
108 |
109 |
110 | | Legend |
111 |
112 |
113 | | Prerequisites and next steps |
114 | |
115 |
116 |
117 | | Drills |
118 | |
119 |
120 |
121 | | Warmup drills |
122 | |
123 |
124 |
125 | | Learning drills |
126 | |
127 |
128 |
129 | >];
130 | }
131 | }
132 | @enddot
133 |
--------------------------------------------------------------------------------
/src/kb/kb_progression_4.puml:
--------------------------------------------------------------------------------
1 | @startdot kb_progression_4
2 | digraph kb_progression {
3 |
4 | label=<
5 | Kettlebell Basic Skill Progression - Part 4/4
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [shape=record]
19 | node [style="rounded,filled"]
20 | node [color=12, fillcolor=11]
21 |
22 | subgraph pre {
23 | node [color=2, fillcolor=1]
24 | ext_hc_dblswing [label="{{HC|Double Swing}}"]
25 | ext_hc_dblrockit [label="{{HC|Double Rockit}}"]
26 | ext_hc_s2sswing [label="{{2HHC-01|Side to Side\nSwing}}"]
27 |
28 | mov_01_deadlift [label="{{KB-01|Two Hand Deadlift}|HIP HINGE}" URL="https://www.youtube.com/watch?v=x0XkmM34BPI&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=1"];
29 | mov_10_h2h [label="{{KB-10|Hand to Hand\nTransition}}" URL="https://www.youtube.com/watch?v=0Uk0Rdm3QFs&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=10"]
30 | mov_12_clean [label="KB-12|Swing Clean" URL="https://www.youtube.com/watch?v=_nIsSXWs5iU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=12"]
31 | mov_16_startstopclean [label="{{KB-16|Start Stop Clean}|START & END CLEAN}" URL="https://www.youtube.com/watch?v=XbK3jxI0WNQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=16"]
32 | mov_17_cap [label="KB-17|Clean & Press" URL="https://www.youtube.com/watch?v=SSxB3m5qRas&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=17"]
33 | mov_19_startstopcap [label="{{KB-19|Start Stop\nClean & Press}|START & END C&P}" URL="https://www.youtube.com/watch?v=dSj3kqbuois&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=19"]
34 |
35 | }
36 |
37 | mov_56_suitcasedl [label="{{56|Suitcase Deadlift}}" URL="https://www.youtube.com/watch?v=d6i6MwVOmk0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=58"];
38 | mov_57_dblsuitcase [label="{{57|Double Suitcase}}" URL="https://www.youtube.com/watch?v=4PSOSrDcGfc&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=59"];
39 | mov_58_dblsumodl [label="{{58|Double Sumo Deadlift}}" URL="https://www.youtube.com/watch?v=gdutIla6nMw"];
40 | mov_59_halfsnatchdown [label="{{59|Half Snatch Down}}" URL="https://www.youtube.com/watch?v=u2NbMtX_Rb0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=60"];
41 | mov_60_dblswing [label="{{60|Double Swing}}" URL="https://www.youtube.com/watch?v=P5IFTJySA_s&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=61"];
42 | mov_61_halfsnatchup [label="{{61|Half Snatch Up}}" URL="https://www.youtube.com/watch?v=3HEmUyLYjjc"];
43 | mov_62_dblclean [label="{{62|Double Clean}}" URL="https://www.youtube.com/watch?v=Qe9ejhAtdGY&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=62"];
44 | //63 is missing, so we put the Double Rockit in its place
45 | mov_63_dblrockit [label="{{63|Double Rockit}}" URL="https://www.youtube.com/watch?v=zXB6hFrrBkA&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=63"];
46 | mov_64_dbloutswing [label="{{64|Double\nOutside Swing}}" URL="https://www.youtube.com/watch?v=yr_fRgGevsE"];
47 | mov_65_dblcap [label="{{65|Double\nClean & Press}}" URL="https://www.youtube.com/watch?v=RizGV8ef--s"];
48 | mov_66_snatch [label="{{66|Full Snatch}}" URL="https://www.youtube.com/watch?v=f-zkPiAlpQw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=65"];
49 | mov_67_dblsquat [label="{{67|Double\nFront Squat}}" URL="https://www.youtube.com/watch?v=dX5yXJa5Dm0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=66"];
50 | mov_68_dblclean2squat [label="{{68|Double Clean\nto Front Squat}}" URL="https://www.youtube.com/watch?v=R3s6Wb_ApHM"];
51 | mov_69_snatchpress [label="{{69|Snatch Press}}" URL="https://www.youtube.com/watch?v=IzFPa_Q1yHM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=67"];
52 | mov_70_kneelsnatchup [label="{{70|Half-Kneeling Snatch Up}}" URL="https://www.youtube.com/watch?v=1_UrK5SopL4"];
53 | mov_71_deaddblclean [label="{{71|Dead Stop\nDouble Clean}}" URL="https://www.youtube.com/watch?v=22bKQqMqAQY"];
54 | // 72|Deck Squat is in part 3
55 | mov_73_2hsbldl [label="{{73|Two Hand Single\nBent Leg Deadlift}}" URL="https://www.youtube.com/watch?v=-RD1qqe7P8M"];
56 | mov_74_dblhangclean2squat [label="{{74|Double Hang Clean\nTo Squat}}" URL="https://www.youtube.com/watch?v=SdPEkv56Lt8"];
57 | mov_75_2hssldl [label="{{75|Two Hand Single\nStraight Leg Deadlift}}" URL="https://www.youtube.com/watch?v=tMt2hzfFGzo"];
58 | mov_76_dblhangcap [label="{{76|Double Dead Hang\nClean & Press}|SLOW DOWN TO ENDURE}" URL="https://www.youtube.com/watch?v=ieDA4V9WGNQ"];
59 | mov_77_shsldl [label="{{77|Single Hand\nSingle Leg Deadlift}|ONE-SIDE BALANCE}" URL="https://www.youtube.com/watch?v=1K4hgXfUinU"];
60 | mov_78_dblcleansqpress [label="{{78|Double Clean Squat Press}}" URL="https://www.youtube.com/watch?v=fWPDPBliCEk"];
61 | mov_79_kneelsnatchdown [label="{{79|Half-Kneeling Snatch Down}|KB CLOSE TO BODY}" URL="https://www.youtube.com/watch?v=okO-7womT5Q"];
62 | mov_80_dblhangcsp [label="{{80|Double Dead\nHang Clean\nSquat Press}}" URL="https://www.youtube.com/watch?v=DpGOSw7kGO0"];
63 | mov_81_kneelsnatch [label="{{81|Half Kneeling\nFull Snatch}}" URL="https://www.youtube.com/watch?v=axx4kfUzkl4"];
64 | mov_82_dblcleanpresssq [label="{{82|Double Clean\nPress Squat}}" URL="https://www.youtube.com/watch?v=t5fDkX3vjiU"];
65 | mov_83_dblcleansblunge [label="{{83|Double Clean\nRack Step Back Lunge}}" URL="https://www.youtube.com/watch?v=mNt7guHRP4U"];
66 | mov_84_s2sswing [label="{{84|Side to Side Swing}|LATERAL ROTATION}" URL="https://www.youtube.com/watch?v=W_04Zv3p2HM"];
67 |
68 | // Precursor dependencies
69 | ext_hc_dblswing -> ext_hc_dblrockit;
70 | ext_hc_dblrockit -> mov_63_dblrockit;
71 | ext_hc_s2sswing -> mov_84_s2sswing;
72 | mov_10_h2h -> mov_60_dblswing;
73 |
74 | mov_12_clean -> mov_16_startstopclean;
75 | mov_12_clean -> mov_17_cap;
76 | mov_17_cap -> mov_19_startstopcap;
77 |
78 | mov_16_startstopclean -> mov_62_dblclean;
79 | mov_16_startstopclean -> mov_59_halfsnatchdown;
80 | mov_19_startstopcap -> mov_65_dblcap;
81 | mov_01_deadlift -> mov_56_suitcasedl;
82 |
83 |
84 | // Ungrouped drills
85 | mov_56_suitcasedl -> mov_57_dblsuitcase;
86 |
87 | subgraph cluster_deadlift {
88 | label="Deadlifts"
89 | mov_56_suitcasedl -> mov_73_2hsbldl;
90 | mov_73_2hsbldl -> mov_75_2hssldl -> mov_77_shsldl;
91 | mov_75_2hssldl -> mov_84_s2sswing;
92 | }
93 |
94 | subgraph cluster_double {
95 | label="Doubles"
96 | mov_64_dbloutswing -> mov_63_dblrockit
97 | mov_57_dblsuitcase -> mov_58_dblsumodl;
98 | mov_60_dblswing -> mov_62_dblclean;
99 | mov_62_dblclean -> mov_65_dblcap;
100 | mov_62_dblclean -> mov_67_dblsquat;
101 | mov_67_dblsquat -> mov_68_dblclean2squat;
102 | mov_62_dblclean -> mov_71_deaddblclean;
103 | mov_58_dblsumodl -> mov_60_dblswing;
104 | mov_60_dblswing -> mov_64_dbloutswing;
105 | mov_68_dblclean2squat -> mov_74_dblhangclean2squat;
106 | mov_65_dblcap -> mov_76_dblhangcap;
107 | {mov_76_dblhangcap, mov_68_dblclean2squat} -> mov_78_dblcleansqpress;
108 | {mov_74_dblhangclean2squat, mov_78_dblcleansqpress} -> mov_80_dblhangcsp;
109 | {mov_78_dblcleansqpress} -> mov_82_dblcleanpresssq
110 | {mov_68_dblclean2squat} -> mov_83_dblcleansblunge
111 | }
112 |
113 | subgraph cluster_snatch {
114 | label="Snatch"
115 | mov_59_halfsnatchdown -> mov_61_halfsnatchup -> mov_66_snatch;
116 | mov_70_kneelsnatchup -> mov_79_kneelsnatchdown -> mov_81_kneelsnatch -> mov_66_snatch
117 | mov_66_snatch -> mov_69_snatchpress;
118 | }
119 | mov_19_startstopcap -> mov_70_kneelsnatchup;
120 |
121 | { rank = sink;
122 | Legend [shape=none, margin=0, label=<
123 |
124 |
125 | | Legend |
126 |
127 |
128 | | Prerequisites and next steps |
129 | |
130 |
131 |
132 | | Drills |
133 | |
134 |
135 |
136 | >];
137 | }
138 | }
139 | @enddot
140 |
--------------------------------------------------------------------------------
/src/mace/mace_progression.csv:
--------------------------------------------------------------------------------
1 | ID,Graph_Name,Label,URL,VariationCount,VariationDescription,VarIcon,Hands,IsolateOrIntegrate
2 | M-01,mov_01_360,360,https://www.youtube.com/watch?v=TyZ8iYv6Ip0,4,(Left/Right) * (Cross/Straight),LX,2,S
3 | M-02,mov_02_alt360,Alternating 360\n(Gama Cast/10 to 2),https://www.youtube.com/watch?v=ccifkBh2JSI,2,(Left-hand Low/Right-hand Low),L,2,N
4 | M-03-1,mov_031_prayer,Prayer transition,https://www.youtube.com/watch?v=0fjn0vidH2M,1,,,2,S
5 | M-03-2,mov_032_pray2360,Prayer transition\nto 360,https://www.youtube.com/watch?v=0fjn0vidH2M,1,,,2,N
6 | M-04-1,mov_041_barbell,Barbell transition,https://www.youtube.com/watch?v=WQjHBHoC-MQ,1,,,2,S
7 | M-04-2,mov_042_barbell2360,Barbell transition to 360,https://www.youtube.com/watch?v=WQjHBHoC-MQ,1,,,2,N
8 | M-05-1,mov_051_sabackswing,Single arm\nback position swing,https://www.youtube.com/watch?v=XN-5l6SiSZU,2,Left/Right,L,2,S
9 | M-05-2,mov_052_backswing,Back position swing,https://www.youtube.com/watch?v=XN-5l6SiSZU,2,Left/Right,L,1,S
10 | M-06-1,mov_061_uppercut,90 degree pivot uppercut,https://www.youtube.com/watch?v=ULFal2-zDt0,1,Left/Right,L,2,S
11 | M-06-2,mov_062_uppercut2360,90 degree pivot uppercut to 360,https://www.youtube.com/watch?v=ULFal2-zDt0,1,,,2,N
12 | M-07,mov_07_invs2sswing,Inverted side to side swings,https://www.youtube.com/watch?v=bLA2KSghSdc,2,,,2,S
13 | M-08-1,mov_081_lowblockspin,Low block spin,https://www.youtube.com/watch?v=fk8AG0s1-UI,2,Left/Right,L,2,S
14 | M-08-2,mov_082_lowblockspinwpray,Low block spin with\nprayer transition,https://www.youtube.com/watch?v=fk8AG0s1-UI,1,,,2,N
15 | M-09,mov_09_lowblockspinw360,Low block spin with\n360 transition,https://www.youtube.com/watch?v=GXMSVSDtJVc,1,,,2,N
16 | M-10-1,mov_101_martialspin,Simple martial spin,https://www.youtube.com/watch?v=p_VgqCIGb-E,2,Left/Right,L,2,S
17 | M-10-2,mov_102_samartialspin,Single arm martial spin,https://www.youtube.com/watch?v=p_VgqCIGb-E,2,Left/Right,L,1,S
18 | M-11,mov_11_paddlerow2upblock,Paddle row to upper block,https://www.youtube.com/watch?v=4or7Sb8HyaU,2,Left/Right,L,2,S
19 | M-13,mov_13_pray23602sq,Horizontal prayer transition to 360 to squat,https://www.youtube.com/watch?v=2yUz84zdBlk,2,(Box squat/Free squat),T,2,N
20 | M-14,mov_14_barpress2sq,Barbell transition press\nto squat,https://www.youtube.com/watch?v=kZK8Eq6ka0U,4,(Left/Right) * (Box squat/Free squat),LT,2,S
21 | M-15,mov_15_3602bar2sq,360 to barbell transition\nto squat,https://www.youtube.com/watch?v=S6LDBK1o48U,2,(Target squat/No-target squat),LT,2,N
22 | M-16,mov_16_saincircle,Single arm\ninside circle,https://www.youtube.com/watch?v=MSt1cYAiLzI,2,Left/Right,L,1,S
23 | M-17,mov_17_saoutcircle,Single arm\noutside circle,https://www.youtube.com/watch?v=ZuaKcM41dP4,2,Left/Right,L,1,S
24 | M-18,mov_18_saaltcircle,Single arm\nalternating circles,https://www.youtube.com/watch?v=XWIFyifqSr8,4,(Left/Right) * (Technical/Performance),LF,1,N
25 | M-19,mov_19_incircle2altcoin,Inside circle to\nalternate hand coin flip,https://www.youtube.com/watch?v=opgqoNcD1Ds,2,Left/Right,L,1,S
26 | M-20,mov_20_outcircle2altcoin,Outside circle to\nalternate hand coin flip,https://www.youtube.com/watch?v=qX0nE-3VMN0,2,Left/Right,L,1,S
27 | M-21,mov_21_altcirclewinandoutcoin,Alt circle with\ninside and outside coin flip,https://www.youtube.com/watch?v=as46Zm9oibE,1,,,1,N
28 | M-22,mov_22_incircle2sameflip,Inside circle to\nsame hand flip catch,https://www.youtube.com/watch?v=xlClTZRbmc0,2,Left/Right,L,1,S
29 | M-23,mov_23_outcircle2sameflip,Outside circle to\nsame side flip catch,https://www.youtube.com/watch?v=UwR4uFqvUyY,2,Left/Right,L,1,S
30 | M-24-1,mov_241_altcircle2sameflip,Alt circle with\nsame side flip catch,https://www.youtube.com/watch?v=T5x3xsfHqs8,2,Left/Right,L,1,N
31 | M-24-2,mov_242_outflip,Outside flip catch balance,https://www.youtube.com/watch?v=T5x3xsfHqs8,2,Left/Right,L,1,S
32 | M-24-3,mov_243_inflip,Inside flip catch balance,https://www.youtube.com/watch?v=T5x3xsfHqs8,2,Left/Right,L,1,S
33 | M-25,mov_25_cincirclewaltnunchuck,Continuous inside circle with\nalt hand nunchuck flip,https://www.youtube.com/watch?v=rCgrNJLsrBM,2,Left/Right,L,1,N
34 | M-26,mov_26_coutcirclewaltflip,Continous outside circle with\nalternate hand flip catch,https://www.youtube.com/watch?v=T5lfsHi1rDY,4,Left/Right * (Let go/Don't let go),L,1,N
35 | M-27,mov_27_inflip180pull,Inside flip catch mill with\nsword grip across the top,https://www.youtube.com/watch?v=uFsPwnClx-M,2,Left/Right,L,1,N
36 | M-28,mov_28_outflipmill,Outside flip catch mill\naka flip catch reverse mill,https://www.youtube.com/watch?v=jKbelC2dZVo,2,Left/Right,L,1,N
37 | M-29,mov_29_inmillwflip,Inside mill with\nflip catch hand change,https://www.youtube.com/watch?v=Hmk80iWQHjM,2,Left/Right,L,1,N
38 | M-30,mov_30_outmillwflip,Outside mill with\nflip catch hand change,https://www.youtube.com/watch?v=aIxKwvzj9Hk,2,Left/Right,L,1,N
39 | M-31,mov_31_frcircle,Symmetrical stance\nFront Circles,https://www.youtube.com/watch?v=ULozVN0nz_U,2,Left/Right,L,1,S
40 | M-32,mov_32_bkcircle,Backward Circle,https://www.youtube.com/watch?v=KSja97kaEHY,2,Left/Right,L,1,S
41 | M-33,mov_33_warfrcircle,Warrior Stance\nFront circle,https://www.youtube.com/watch?v=-4GMydVrlSk,2,Left/Right,L,1,S
42 | M-34,mov_34_altfrbkcircle,Alternating front to\nback circles,https://www.youtube.com/watch?v=MsrcRGT0YzA,2,Left/Right,L,1,N
43 | M-35,mov_35_waralt360,Warrior stance\nalternating 360 / Gama cast,https://www.youtube.com/watch?v=IgJXJy3zPGk,4,Left/Right * (Left leg fwd/Right leg fwd),L,2,S
44 | M-36,mov_36_warbkcircle,Warrior stance\nbackward circle,https://www.youtube.com/watch?v=ZfGdlIsWKXQ,2,Left/Right,L,1,S
45 | M-37,mov_37_waraltcircle,Warrior stance\nalternating circles,https://www.youtube.com/watch?v=h_wcGKGlCus,2,Left/Right,L,1,N
46 | M-38,mov_38_war180pull,Warrior stance\n180 degree rotating pullover\nfrom sword grip,https://www.youtube.com/watch?v=P5lbQmeVZn8,2,Left/Right,L,1,N
47 | M-39,mov_39_warfrcircleflip,Warrior stance\nfront circle flip catch,https://www.youtube.com/watch?v=8hvIwt9EshQ,2,Left/Right,L,1,N
48 | M-40,mov_40_warbkcircleflip,Warrior stance\nbackward circle to\nflip catch,https://www.youtube.com/watch?v=Eb5Ci22BqmI,2,Left/Right,L,1,N
49 | M-41,mov_41_warfwdmill,Warrior stance\nforward mill,https://www.youtube.com/watch?v=ydXgS363htk,2,Left/Right,L,1,N
50 | M-42,mov_42_warbwdmill,Warrior stance\nbackward mill,https://www.youtube.com/watch?v=HaQqkf-cSHE,2,Left/Right,L,1,N
51 | M-43,mov_43_sifpivotwincircle,Step in front pivot with\ninside circle,https://www.youtube.com/watch?v=i2Zj4t-uIB8,2,Left/Right,L,1,N
52 | M-44,mov_44_sifpivotwoutcircle,Forward pivot step with\noutside circle,https://www.youtube.com/watch?v=VqW8JavN1g4,2,Left/RIght,L,1,N
53 | M-45,mov_45_sifpivotwflip,Inside stepping pivot with\ncoin flip and nunchuck return,https://www.youtube.com/watch?v=vU-BHGVejhs,2,Left/Right,L,1,N
54 | M-46,mov_46_sifpivotwoutcircleflip,Inside stepping pivot with\noutside circle coin flip,https://www.youtube.com/watch?v=YSHMJu7VWkg,2,Left/Right,L,1,N
55 | M-47,mov_47_sifpivotwincircleout180,Inside front step pivot with\ninside circle and\noutside 180 degree mill top,https://www.youtube.com/watch?v=zuen0CLdwMU,2,Left/Right,L,1,N
56 | M-48,mov_48_frspear,Front spear catch,https://www.youtube.com/watch?v=hwQlmjHQsrg,2,Left/Right,L,1,S
57 | M-49,mov_49_frspearwchange,Front spear catch with\ndescending side change,https://www.youtube.com/watch?v=xzPiZZV2K4E,1,,,1,N
58 | M-50,mov_50_f2bxbodhipull,Front to back\ncross-body high pull,https://www.youtube.com/watch?v=AoUxg7QE-xU,2,Left/Right,L,1,S
59 | M-51,mov_51_xbodspear,Cross-body\nspear catch isolations,https://www.youtube.com/watch?v=VkwN58PBBSs,2,Left/Right,L,1,S
60 | M-52,mov_52_altxbodspear,Cross-body\nspear catch\nalternating sides,https://www.youtube.com/watch?v=-Z8YfWYfepQ,1,,,1,N
61 | M-53,mov_53_outswordflair,Outside sword flair,https://www.youtube.com/watch?v=HxItsGvz-e4,2,Left/Right,L,1,S
62 | M-54,mov_54_inswordflair,Inside tip away\nsword flair,https://www.youtube.com/watch?v=8I7KaLuNaEs,2,Left/Right,L,1,S
63 | M-55,mov_55_out180pullwflair,Outside\n180 degree pullover with\nsword flair,https://www.youtube.com/watch?v=hh3393-eXrs,2,Left/Right,L,1,N
64 | M-56,mov_56_in180pullwflair,Inside\n180 degree pullover with\nsword flair,https://www.youtube.com/watch?v=Sqw6YyBTgOQ,2,Left/Right,L,1,N
65 | M-57,mov_57_alt180pullwflair,Inside & outside\n180 degree pullover with\nsword flairs,https://www.youtube.com/watch?v=XriSUPQ4Ql4,2,Left/Right,L,1,N
66 | M-58,mov_58_outswordmillwflair,Outside sword grip mill with\ntip-away sword flair,https://www.youtube.com/watch?v=bKldH_In6SI,2,Left/Right,L,1,N
67 | M-59,mov_59_inswordmillwflair,Inside sword grip mill with\ninside sword flair,https://www.youtube.com/watch?v=uMLwGxhbt2Y,2,Left/Right,L,1,N
68 | M-60,mov_60_altswordmillwflair,Alternating\nsword grip mill with\nsword flairs,https://www.youtube.com/watch?v=_GBln0VGekg,2,Left/Right,L,1,N
69 | M-61,mov_61_clockupper2180outpull,Front clockwork\nupper cut to\n180 degree outside pullover,https://www.youtube.com/watch?v=XP7abuBs_V0,2,Left/Right,L,1,N
70 | M-62,mov_62_clockupper2180outwflair,Clockwork uppercut to\noutside rotating 180 +\ntip away sword flair,https://www.youtube.com/watch?v=VjnRZIYV2H8,2,Left/Right,L,1,N
71 | M-63,mov_63_clockupperwsasc,Clockwork uppercut +\nsingle arm shield cast,https://www.youtube.com/watch?v=FQFBXlIjcDo,2,Left/Right,L,1,N
72 | M-64,mov_64_altclockupperw360,Alternating\nclockwork uppercut with\ntwo-hand 360 shield cast,https://www.youtube.com/watch?v=uE1DaKTf6SI,1,,,1,N
73 | M-65,mov_65_kneel360,Half-kneeling 2 hand mace 360,https://www.youtube.com/watch?v=HCCyUmShxYw,8,Left/Right * Cross/Straight * Left Leg/Right Leg,LX,2,S
74 | M-66,mov_66_kneelalt360,Half-kneeling\n10 to 2,https://www.youtube.com/watch?v=1sYBqQ1Ll_E,4,Left/Right * Left Leg/Right Leg,L,2,S
75 |
--------------------------------------------------------------------------------
/src/hc/hc_sa_progression.puml:
--------------------------------------------------------------------------------
1 | @startdot hc_sa_progression
2 | digraph HCSA {
3 |
4 | // YouTube Playlist: https://www.youtube.com/playlist?list=PLk4oYPJ7TXKgCH_TpdUCNs2-m5ZCqx-Pw
5 | label=<
6 | Single Arm Heavy Club Skill Progression
7 | Diagram by dznz based on Mark Wildman's teachings.
8 | Source: https://github.com/dznz/wildman-skill-trees
9 | More by Mark Wildman - https://www.wildmanathletica.com
10 |
11 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
12 | http://creativecommons.org/licenses/by-nc-sa/4.0/
13 |
14 | >
15 | graph [labeljust=r]
16 | graph [fontname="Helvetica,Arial,sans-serif"]
17 |
18 | node [colorscheme="paired12"]
19 | node [shape=record]
20 | node [style="rounded,filled"]
21 | node [color=12, fillcolor=11]
22 |
23 | subgraph warmup {
24 | node [color=8, fillcolor=7]
25 | }
26 |
27 | subgraph aux {
28 | node [color=10, fillcolor=9]
29 | mov_05_backs2s, mov_06_perry, mov_17_millprep, mov_23_outpull3count
30 | mov_24_outpendoutpull3c, mov_26_inpull3count, mov_27_inpendinpull3c
31 | mov_29_kneelbackswing
32 | }
33 |
34 | // Movements external to this diagram
35 | subgraph ext {
36 | node [color=4, fillcolor=3]
37 | ext_2h_s2s, ext_2h_sideswingl2h, ext_2h_sc, ext_2h_pullover
38 | ext_2h_s2srockit
39 | ext_2h_incircle, ext_2h_outcircle
40 | ext_2h_outpend, ext_2h_inpend, ext_2h_altpend
41 | }
42 |
43 | ext_2h_s2s [label="{{2H-01|Two-Hand\nSide to Side Swing}}"]
44 | ext_2h_incircle [label="{{2H-05|Two-Hand\nInside Circle}}"]
45 | ext_2h_outcircle [label="{{2H-06|Two-Hand\nOutside Circle}}"]
46 | ext_2h_sc [label="{{2H-09|Two-Hand\nShield Cast}}"]
47 | ext_2h_sideswingl2h [label="{{2H-02|Two-Hand\nSide Swing\nLow to High}}" ]
48 | ext_2h_s2srockit [label="{{2H-15|Two-Hand\nSide to Side\nRockit}}" URL=""];
49 | ext_2h_pullover [label="{{2H-07|Two-Hand\nPullover}}" URL="https://www.youtube.com/watch?v=jpIn1Sumg78&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=7"]
50 | ext_2h_outpend [label="{{2H-16|Two-Hand\nOutside Pendulum}}"]
51 | ext_2h_inpend [label="{{2H-16|Two-Hand\nInside Pendulum}}"]
52 | ext_2h_altpend [label="{{2H-??|Two-Hand\nAlternating Pendulum}}" URL="https://www.youtube.com/watch?v=GULjXPS_ba4"]
53 |
54 | mov_01_s2s [label="{{01|Side to Side Swing}|ELBOWS LOCKED}" URL="https://www.youtube.com/watch?v=cosgyt2BQG4"];
55 | mov_02_incircle [label="{{02|Inside Circle}}" URL="https://www.youtube.com/watch?v=-gtRj1KEUmw"];
56 | mov_03_outcircle [label="{{03|Outside Circle}}" URL="https://www.youtube.com/watch?v=Mf2QuZvRtQ4"];
57 | mov_04_pullover [label="{{04|Pullover}}" URL="https://www.youtube.com/watch?v=HHT6TrTLJM8"];
58 | mov_05_backs2s [label="{{05|Back Position Swing}|THUMB TO SHIRT}" URL="https://www.youtube.com/watch?v=sxePeWDR1U0"];
59 | mov_06_perry [label="{{06|Perry Cast\naka Bailout}|SAFE FAILURE}" URL="https://www.youtube.com/watch?v=FpUecSrX_AI"];
60 | mov_07_sc [label="{{07|Shield Cast}}" URL="https://www.youtube.com/watch?v=huwc0g3yLWk"];
61 | mov_08_sideswingl2h [label="{{08|Side Swing\nLow to High\nwith Stop}|HIP SNAP}" URL="https://www.youtube.com/watch?v=0_wHseV7B-o"];
62 | mov_09_s2srockit [label="{{09|Side to Side Rockit}}" URL="https://www.youtube.com/watch?v=I26O1ct_hik"];
63 | mov_10_sideswingl2hcont [label="{{10|Side Swing\nLow to High\nContinuous}}" URL="https://www.youtube.com/watch?v=_Yd8I7U44mw"];
64 | mov_11_altcircle [label="{{11|Alternating Circle}}" URL="https://www.youtube.com/watch?v=yuJNSETl-tI"];
65 | mov_12_outpend [label="{{12|Outside Pendulum}}" URL="https://www.youtube.com/watch?v=q8l1G7UoERA"];
66 | mov_13_inpend [label="{{13|Inside Pendulum}}" URL="https://www.youtube.com/watch?v=4LqqrNosRiI"];
67 | mov_14_outpull [label="{{14|Outside Pullover}|+ EXT ROTATION}" URL="https://www.youtube.com/watch?v=sJ5XCgdCMx8"];
68 | mov_15_inpull [label="{{15|Inside Pullover}|+ INT ROTATION}" URL="https://www.youtube.com/watch?v=DQg80eX08hg"];
69 | mov_16_altpend [label="{{16|Alternating Pendulum}}" URL="https://www.youtube.com/watch?v=eIkqXJ5d7V4"];
70 | mov_17_millprep [label="{{17|Mill Prep}}" URL="https://www.youtube.com/watch?v=TSjIEfyJGKY"];
71 | mov_18_alt180pull [label="{{18|Alternating 180 Degree\nPullover}}" URL="https://www.youtube.com/watch?v=brM1Ybg9v7E"];
72 | mov_19_mill [label="{{19|Mill}}" URL="https://www.youtube.com/watch?v=0fm3VX0iKnA"];
73 | mov_20_revmill [label="{{20|Reverse Mill}}" URL="https://www.youtube.com/watch?v=B8YWWwRB8fo"];
74 | mov_21_outcirclesc [label="{{21|Outside Circle\nShield Cast}|ORDER POS IN MILL}" URL="https://www.youtube.com/watch?v=NdJlzFTbQwo"];
75 | mov_22_outpendoutpull [label="{{22|Outside Pendulum\nOutside Pullover}}" URL="https://www.youtube.com/watch?v=b0Ztc-54C_Y"];
76 | mov_23_outpull3count [label="{{23|Outside Pullover\n3 Count}}" URL="https://www.youtube.com/watch?v=_hJaJVaMPtE"];
77 | mov_24_outpendoutpull3c [label="{{24|Outside Pendulum\nOutside Pullover\n3 Count}}" URL="https://www.youtube.com/watch?v=FauiblV5PHg"];
78 | mov_25_inpendinpull [label="{{25|Inside Pendulum\nInside Pullover}}" URL="https://www.youtube.com/watch?v=VFaO93BsNaA"];
79 | mov_26_inpull3count [label="{{26|Inside Pullover\n3 Count}}" URL="https://www.youtube.com/watch?v=lBKIaQ6iej8"];
80 | mov_27_inpendinpull3c [label="{{27|Inside Pendulum\nInside Pullover\n3 Count}}" URL="https://www.youtube.com/watch?v=Vv4rdCks2f8"];
81 | mov_28_outpend180pull [label="{{28|Outside Pendulum\n180 Pullover}}" URL="https://www.youtube.com/watch?v=dATAyVyvbnw"];
82 | mov_29_kneelbackswing [label="{{29|Half Kneeling\nBack Position Swing}|CONNECT HIP\nTO SHOULDER}" URL="https://www.youtube.com/watch?v=H590if5eTeE"];
83 |
84 | // external skill links
85 | ext_2h_s2s -> ext_2h_sideswingl2h -> ext_2h_s2srockit;
86 | ext_2h_outpend -> ext_2h_inpend -> ext_2h_altpend;
87 | ext_2h_incircle -> ext_2h_outcircle;
88 | ext_2h_pullover -> ext_2h_sc;
89 |
90 | // external skill dependencies
91 | ext_2h_s2s -> mov_01_s2s;
92 | ext_2h_incircle -> mov_02_incircle;
93 | ext_2h_outcircle -> mov_03_outcircle;
94 | ext_2h_sc -> mov_07_sc;
95 | ext_2h_pullover -> mov_04_pullover;
96 | ext_2h_sideswingl2h -> mov_08_sideswingl2h;
97 | ext_2h_s2srockit -> mov_09_s2srockit;
98 | ext_2h_outpend -> mov_12_outpend;
99 | ext_2h_inpend -> mov_13_inpend;
100 | ext_2h_altpend -> mov_16_altpend;
101 |
102 | mov_01_s2s -> mov_08_sideswingl2h;
103 | mov_01_s2s -> mov_02_incircle;
104 | mov_02_incircle -> mov_03_outcircle;
105 | mov_08_sideswingl2h -> mov_09_s2srockit;
106 | mov_09_s2srockit -> mov_12_outpend;
107 | mov_03_outcircle -> mov_12_outpend;
108 | mov_08_sideswingl2h -> mov_10_sideswingl2hcont;
109 | mov_03_outcircle -> mov_11_altcircle;
110 | mov_12_outpend -> mov_13_inpend -> mov_16_altpend;
111 | mov_04_pullover -> mov_07_sc;
112 | mov_04_pullover -> mov_05_backs2s -> mov_07_sc;
113 | mov_04_pullover -> mov_06_perry -> mov_07_sc;
114 | mov_29_kneelbackswing -> mov_07_sc;
115 | mov_05_backs2s -> mov_14_outpull;
116 | mov_06_perry -> mov_14_outpull;
117 | mov_04_pullover -> mov_14_outpull;
118 | mov_14_outpull -> mov_15_inpull;
119 | mov_02_incircle -> mov_17_millprep;
120 | mov_07_sc -> mov_17_millprep;
121 | mov_17_millprep -> mov_18_alt180pull;
122 | mov_15_inpull -> mov_18_alt180pull;
123 | mov_18_alt180pull -> mov_19_mill;
124 | mov_11_altcircle -> mov_19_mill;
125 | {mov_11_altcircle, mov_18_alt180pull, mov_26_inpull3count} -> mov_20_revmill;
126 |
127 | mov_03_outcircle -> mov_21_outcirclesc;
128 | mov_17_millprep -> mov_21_outcirclesc;
129 | {mov_12_outpend, mov_14_outpull, mov_24_outpendoutpull3c} -> mov_22_outpendoutpull;
130 | mov_14_outpull -> mov_23_outpull3count -> mov_19_mill
131 | {mov_23_outpull3count} -> mov_24_outpendoutpull3c
132 | {mov_15_inpull} -> mov_26_inpull3count
133 | mov_26_inpull3count -> mov_27_inpendinpull3c
134 | {mov_13_inpend, mov_15_inpull, mov_22_outpendoutpull, mov_27_inpendinpull3c} -> mov_25_inpendinpull
135 | {mov_18_alt180pull, mov_22_outpendoutpull} -> mov_28_outpend180pull
136 | mov_05_backs2s -> mov_29_kneelbackswing
137 |
138 | // Layout Hacks
139 | { rank=same; mov_22_outpendoutpull; mov_16_altpend}
140 |
141 | // LEGEND
142 | { rank = sink;
143 | Legend [shape=none, margin=0, label=<
144 |
145 |
146 | | Legend |
147 |
148 |
149 | | Two-Handed Prerequisites |
150 | |
151 |
152 |
153 | | Regular Drills |
154 | |
155 |
156 |
157 | | Learning drills |
158 | |
159 |
160 |
161 | >];
162 | }
163 | }
164 | @enddot
165 |
--------------------------------------------------------------------------------
/src/hc/hc_2h_progression_1.puml:
--------------------------------------------------------------------------------
1 | @startdot
2 | digraph HC2H {
3 |
4 | label=<
5 | Two-Handed Heavy Club Skill Progression - Part 1/2
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [fontname="Helvetica,Arial,sans-serif"]
19 | node [shape=record,style="rounded,filled"]
20 | edge [fontname="Helvetica,Arial,sans-serif"]
21 | node [color=2, fillcolor=1];
22 |
23 | subgraph "primary" {
24 | node [color=12, fillcolor=11]
25 | ' node [fontname="Helvetica Bold,Arial Bold,sans-serif",fontsize=16]
26 | node [margin=0.2]
27 | mov_09_sc; mov_mill; mov_07_pullover; mov_05_insidecircle; mov_06_outsidecircle; mov_10_squat; mov_19_inpend; mov_16_outpend; mov_17_stepbacklunge; mov_21_gama;
28 | }
29 | subgraph "secondary" {
30 | node [color=8, fillcolor=7]
31 | mov_01_sidetoside; mov_02_sideswinglowtohigh; mov_04_deadclean; mov_15_rockit; mov_03_hangsidelowtohigh; mov_millprep; mov_08_backpossidetoside; mov_13_frontpress; mov_11_swingclean; mov_180pullover; mov_alt180pullover; mov_22_scsquat;
32 | }
33 |
34 | subgraph "prereq" {
35 | node [color=2, fillcolor=1]
36 | node [shape=box,style="rounded,filled"]
37 | pre_deadlift [label="Deadlift Position"]
38 | pre_order [label="Order Position"]
39 | pre_shouldercatch [label="Shoulder Catch\nHand Change"]
40 | }
41 |
42 | subgraph "post" {
43 | node [color=4, fillcolor=3]
44 | }
45 |
46 | subgraph "extra" {
47 | node [color=6, fillcolor=5]
48 | mov_pulloversquat; mov_clockwork; mov_clockworksquat; mov_clockworkstepbacklunge; mov_18_altcircle; mov_altpendulum; mov_altmill
49 | }
50 |
51 | subgraph "aux" {
52 | node [color=10, fillcolor=9];
53 | mov_12_robotsc; mov_14_revrobotsc; mov_20_3csc
54 | }
55 |
56 | // Heavy Club Sequence
57 | mov_01_sidetoside [label="{{01|Side to Side\nSwing}|ELBOWS LOCKED}" URL="https://www.youtube.com/watch?v=LMau5vr7qx4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds"]
58 | mov_02_sideswinglowtohigh [label="{{02|Side Swing\nLow to High}}" URL="https://www.youtube.com/watch?v=NoZCHTlmrCg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=2"]
59 | mov_03_hangsidelowtohigh [label="{{03|Hang Side Swing\nLow to High}|LEG DRIVE & HIP SNAP}" URL="https://www.youtube.com/watch?v=RD1zOWaTjhQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=3"]
60 | mov_04_deadclean [label="{{04|Dead Clean}}" URL="https://www.youtube.com/watch?v=69RGME9RTcY&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=4"]
61 | mov_05_insidecircle [label="{{05|Inside Circle}}" URL="https://www.youtube.com/watch?v=Mh6iWcLbE3k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=5"];
62 | mov_06_outsidecircle [label="{{06|Outside Circle}}" URL="https://www.youtube.com/watch?v=QzMzCal-MYM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=6"];
63 | mov_07_pullover [label="{{07|Pullover}|CLUB BEHIND HEAD}" URL="https://www.youtube.com/watch?v=jpIn1Sumg78&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=7"]
64 | mov_08_backpossidetoside [label="{{08|Back Position\nSide to Side Swing}|SWING BEHIND HEAD}" URL="https://www.youtube.com/watch?v=GKwGiB2UwyM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=8"]
65 | mov_09_sc [label="{{09|Shield Cast}}" URL="https://www.youtube.com/watch?v=W-iHvrjn72k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=9"];
66 | mov_10_squat [label="{{10|Balance Squat}}" URL="https://www.youtube.com/watch?v=LSXticZ67Pw&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=11"]
67 | mov_11_swingclean [label="{{11|Swing Clean}|DECELERATE WEIGHT}" URL="https://www.youtube.com/watch?v=0oRuCQOkPRo&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=12"]
68 | mov_12_robotsc [label="{{12|Robot Shield Cast}}" URL="https://www.youtube.com/watch?v=LDGi_lmzGR8&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=13"];
69 | mov_13_frontpress [label="{{13|Front Press}}" URL="https://www.youtube.com/watch?v=HBRWtm3tTp4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=15"]
70 | mov_14_revrobotsc [label="{{14|Reverse Robot\nShield Cast}}" URL="https://www.youtube.com/watch?v=Fun_Lscq5go&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=23"];
71 | mov_15_rockit [label="{{15|Side to Side\nRockit}}" URL="https://www.youtube.com/watch?v=4gvF-gARAIs&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=24"]
72 | mov_16_outpend [label="{{16|Outside Pendulum\n(aka Outside Hang\nPower Clean)}}" URL="https://www.youtube.com/watch?v=SRNTrFvHgz0&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=25"]
73 | mov_17_stepbacklunge [label="{{17|Balance Step\nBack Lunge}}" URL="https://www.youtube.com/watch?v=dNrYT5iU7BQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=26"]
74 | mov_18_altcircle [label="{{18|Alternating Circle}|DECELERATE &\nCHANGE DIRECTION}" URL="https://www.youtube.com/watch?v=ukkrHxGTGtI&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=31"]
75 | mov_19_inpend [label="{{19|Inside Pendulum}}" URL="https://www.youtube.com/watch?v=pV0Hh335Csg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=34"]
76 | mov_20_3csc [label="{{20|Three-Count\nShield Cast}}" URL="https://www.youtube.com/watch?v=ABQij0Zpt0U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=35"];
77 | mov_21_gama [label="{{21|Gamma Cast\naka Gama Cast}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=39"];
78 | mov_22_scsquat [label="{{22|Shield Cast Squat}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=41"];
79 |
80 | // Unsequenced
81 | mov_mill [label="{{|Mill}}" URL="https://www.youtube.com/watch?v=iFtaPBDwG7w"]
82 | mov_millprep [label="{{|Mill Prep}}" URL="https://www.youtube.com/watch?v=iFtaPBDwG7w"]
83 | mov_180pullover [label="{{|180 Degree\nPullover}}"]
84 | mov_alt180pullover [label="{{|Alternating 180 Degree\nPullover}}" URL="https://www.youtube.com/watch?v=uz2tKevdtzE"]
85 | mov_pulloversquat [label="{{|Pullover Squat}}" URL="https://www.youtube.com/watch?v=2Cejb6rcqis"]
86 | mov_clockwork [label="{{|Clockwork Catch}}" URL="https://www.youtube.com/watch?v=opvYcUfzymI"]
87 | mov_clockworksquat [label="{{|Clockwork Squat}}" URL="https://www.youtube.com/watch?v=VVFQ5SkrMvM"]
88 | mov_clockworkstepbacklunge [label="{{|Clockwork Step Back Lunge}}" URL="https://www.youtube.com/watch?v=-LQFwOehs74"]
89 | mov_altpendulum [label="{{|Alternating Pendulum}}" URL="https://www.youtube.com/watch?v=GULjXPS_ba4"]
90 | mov_altmill [label="{{|Alternating Mill}}"]
91 |
92 | // Prerequisite skills
93 | pre_deadlift -> mov_04_deadclean;
94 | pre_order -> mov_04_deadclean;
95 | pre_shouldercatch -> mov_05_insidecircle;
96 | pre_deadlift -> mov_01_sidetoside;
97 | pre_shouldercatch -> mov_07_pullover;
98 |
99 | mov_04_deadclean -> mov_05_insidecircle;
100 | mov_05_insidecircle -> mov_06_outsidecircle;
101 | mov_01_sidetoside -> mov_02_sideswinglowtohigh;
102 | mov_02_sideswinglowtohigh -> mov_03_hangsidelowtohigh;
103 | mov_01_sidetoside -> mov_05_insidecircle;
104 | mov_03_hangsidelowtohigh -> mov_05_insidecircle;
105 | mov_04_deadclean -> mov_07_pullover;
106 | mov_07_pullover -> mov_180pullover;
107 | mov_180pullover -> mov_alt180pullover;
108 | mov_180pullover -> mov_mill;
109 | mov_07_pullover -> mov_08_backpossidetoside;
110 | mov_07_pullover -> mov_09_sc;
111 | mov_08_backpossidetoside -> mov_09_sc;
112 | mov_04_deadclean -> mov_10_squat;
113 | mov_04_deadclean -> mov_11_swingclean;
114 | mov_07_pullover -> mov_12_robotsc;
115 | mov_12_robotsc -> mov_14_revrobotsc;
116 | mov_14_revrobotsc -> mov_09_sc;
117 | mov_04_deadclean -> mov_13_frontpress;
118 | mov_03_hangsidelowtohigh -> mov_15_rockit
119 | mov_01_sidetoside -> mov_15_rockit;
120 | mov_15_rockit -> mov_16_outpend;
121 | mov_11_swingclean -> mov_16_outpend;
122 | mov_06_outsidecircle -> mov_16_outpend;
123 | mov_10_squat -> mov_17_stepbacklunge;
124 | mov_05_insidecircle -> mov_18_altcircle;
125 | mov_06_outsidecircle -> mov_18_altcircle;
126 | mov_16_outpend -> mov_19_inpend;
127 | mov_19_inpend -> mov_altpendulum;
128 | mov_16_outpend -> mov_altpendulum;
129 | mov_09_sc -> mov_20_3csc;
130 | mov_08_backpossidetoside -> mov_20_3csc;
131 | mov_10_squat -> mov_pulloversquat;
132 | mov_07_pullover -> mov_pulloversquat;
133 | mov_05_insidecircle -> mov_millprep;
134 | mov_09_sc:s -> mov_millprep;
135 | mov_millprep -> mov_mill;
136 | mov_18_altcircle -> mov_clockwork;
137 | mov_clockwork -> mov_clockworksquat;
138 | mov_10_squat -> mov_clockworksquat;
139 | mov_clockworksquat -> mov_clockworkstepbacklunge;
140 | mov_17_stepbacklunge -> mov_clockworkstepbacklunge;
141 | mov_alt180pullover -> mov_altmill;
142 | mov_mill -> mov_altmill;
143 | mov_09_sc:s -> mov_21_gama;
144 | mov_09_sc:s -> mov_22_scsquat;
145 | mov_10_squat -> mov_22_scsquat;
146 |
147 | { rank = sink;
148 | Legend [shape=none, margin=0, label=<
149 |
150 |
151 | | Legend |
152 |
153 |
154 | | Prerequisite Skills |
155 | |
156 |
157 |
158 | | Primary Drills |
159 | |
160 |
161 |
162 | | Secondary Drills |
163 | |
164 |
165 |
166 | | Auxiliary Drills |
167 | |
168 |
169 |
170 | | Unsequenced Extra Drills |
171 | |
172 |
173 |
174 | >];
175 | }
176 | }
177 | @enddot
178 |
--------------------------------------------------------------------------------
/src/kb/kb_progression.csv:
--------------------------------------------------------------------------------
1 | "ID","Graph_Name","Label","Skill_Developed","Playlist_URL","Standalone_URL"
2 | KB-01,mov_01_deadlift,"Two Hand Deadlift","HIP HINGE","https://www.youtube.com/watch?v=x0XkmM34BPI&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=1",
3 | KB-02,mov_02_swing,"Two Hand Swing","LEG DRIVE &\nHIP SNAP","https://www.youtube.com/watch?v=m-S9H2XVvYg&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=2",
4 | KB-03,mov_03_atw,"Around the World","HAND TRANSITION","https://www.youtube.com/watch?v=XaegZzSbtr0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=3",
5 | KB-04,mov_04_halo,"Halo","GLOBE UP\nORDER POSITION","https://www.youtube.com/watch?v=25xdtjbFPtw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=4",
6 | KB-05,mov_05_atwf2b,"Around the World\nFront to Back",,"https://www.youtube.com/watch?v=TwlQQXAQpaQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=5",
7 | KB-06,mov_06_atwb2f,"Around the World\nBack to Front",,"https://www.youtube.com/watch?v=GrRO00YOIWM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=6",
8 | KB-07,mov_07_althalo,"Alternating Halo",,"https://www.youtube.com/watch?v=SMpquy5zSL4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=7",
9 | KB-08,mov_08_2hu1hd,"Two Hand Pickup\nOne Hand Putdown","RACK POSITION","https://www.youtube.com/watch?v=eMkDP9VmMc0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=8",
10 | KB-09,mov_09_saswing,"Single Arm Swing","THUMB POINTS BACK","https://www.youtube.com/watch?v=ejPpyLKZ1L4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=9",
11 | KB-10,mov_10_h2h,"Hand to Hand\nTransition",,"https://www.youtube.com/watch?v=0Uk0Rdm3QFs&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=10",
12 | KB-11,mov_11_2hucleandown,"Two Hand Pickup\nClean Putdown",,"https://www.youtube.com/watch?v=cQC2y-ByaAw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=11",
13 | KB-12,mov_12_clean,"Swing Clean",,"https://www.youtube.com/watch?v=_nIsSXWs5iU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=12",
14 | KB-13,mov_13_cleanh2h,"Clean with\nHand Transition",,"https://www.youtube.com/watch?v=6TVqHl2gtuM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=13",
15 | KB-14,mov_14_press,"Single Arm\nOverhead Press",,"https://www.youtube.com/watch?v=XHkI03S6Pls&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=14",
16 | KB-15,mov_15_news,"Newspaper drill",,"https://www.youtube.com/watch?v=htByOXjHLXE&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=15",
17 | KB-16,mov_16_startstopclean,"Start Stop Clean","START & END CLEAN","https://www.youtube.com/watch?v=XbK3jxI0WNQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=16",
18 | KB-17,mov_17_cap,"Clean & Press",,"https://www.youtube.com/watch?v=SSxB3m5qRas&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=17",
19 | KB-18,mov_18_caph2h,"Clean & Press with\nHand Transition",,"https://www.youtube.com/watch?v=5Q4vMOYvAGg&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=18",
20 | KB-19,mov_19_startstopcap,"Start Stop\nClean & Press","START & END C&P","https://www.youtube.com/watch?v=dSj3kqbuois&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=19",
21 | KB-20,mov_20_gobboxsquat,"Bottoms-Up Goblet\nBox Squat","SQUAT BACK","https://www.youtube.com/watch?v=k5Bc7pkEmrU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=20",
22 | KB-21,mov_21_boxsquathalo,"Goblet Box Squat\nwith Halo","STAND AT TOP","https://www.youtube.com/watch?v=Aik5-BStbnc&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=21",
23 | KB-22,mov_22_gobsquathalo,"Goblet Squat\nwith Halo","FULL DEPTH","https://www.youtube.com/watch?v=cnZ8Mx8NQPE&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=22",
24 | KB-23,mov_23_racksquat,"Single-Bell Front Squat",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=23",
25 | KB-24,mov_24_racklunge,"Rack Opposite Leg\nStep-Back Lunge","VERTICAL SPINE","https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=24",
26 | KB-25,mov_25_clean2sblunge,"Clean Step-Back Clean",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=25",
27 | KB-26,mov_26_halfkneelclean,"Half-Kneeling Clean",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=26",
28 | KB-27,mov_27_cleansblungeclean,"Clean Step-Back\nLunge Clean",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=27",
29 | KB-28,mov_28_floorpress,"Single-Bell Floor Press",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=28",
30 | KB-29,mov_29_halfkneelcap,"Half-Kneeling\nClean & Press",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=29",
31 | KB-30,mov_30_floorpressroll,"Floor Press with Roll",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=30",
32 | KB-31,mov_31_kneelwindmill,"Half-Kneeling Windmill",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=31",
33 | KB-32,mov_32_quartgu,"Quarter Turkish Get-Up",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=32",
34 | KB-33,mov_33_kneelcapwindmill,"Half-Kneeling\nClean & Press Windmill",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=34",
35 | KB-34,mov_34_halfgu,"Half Get-Up",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=35",
36 | KB-35,mov_35_cap2ohsblunge,"Clean & Press to Overhead\nStep-Back Lunge",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=37",
37 | KB-36,mov_36_kneelhipdrop,"Half-Kneeling Hip Drop",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=38",
38 | KB-37,mov_37_halfgu2hip,"Half Get-Up\nto Hip Pass",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=39",
39 | KB-38,mov_38_kneelcap2hip,"Half-Kneeling Clean & Press\nto Hip Drop",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=40",
40 | KB-39,mov_39_boxsquat2boat,"Box Squat to Boat Pose",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=41",
41 | KB-40,mov_40_bwspinalrock,"Spinal Rock\n(Bodyweight)",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=42",
42 | KB-41,mov_41_flatbackpullover,"Flat Back Pullover",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=43",
43 | KB-42,mov_42_halfgu2kneel,"Half Get-Up to Hip Pass\n(to Half-Kneeling)",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=45",
44 | KB-43,mov_43_spinalrock,"Spinal Rock",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=48",
45 | KB-44,mov_44_pushpress,"Push Press",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=49",
46 | KB-45,mov_45_gobsquatcurl,"Rock-Bottom\nCurl with Goblet Squat",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=50",
47 | KB-47,mov_47_racksquatpickup,"Rock-Bottom\nFront Squat Pickup","PAUSE AT BOTTOM","https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=52",
48 | KB-48,mov_48_thruster,"Thruster",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=48",
49 | KB-49,mov_49_seatedpress,"Seated Two-Handed\nOverhead Press",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=54",
50 | KB-50,mov_50_2hdeadclean2rack,"Two-Handed Dead Clean\nto Double Front Rack",,"https://www.youtube.com/watch?v=acqKxfMGAbk&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=55",
51 | KB-51,mov_51_fourcountsquat,"Four-Count Squat\n(Bodyweight)",,,"https://www.youtube.com/watch?v=1rkGfL1EdWI"
52 | KB-52,mov_52_rackaltshinbox,"Rack Alt Shinbox",,,"https://www.youtube.com/watch?v=AoEYX36Q2Zg"
53 | KB-53,mov_53_hornygobsquat,"Handle Up\nGoblet Squat",,,"https://www.youtube.com/watch?v=i2AtDi4yZSA"
54 | KB-54,mov_54_shinboxpress,"Contra Shinbox Press",,,"https://www.youtube.com/watch?v=FEbi2lKVEHU"
55 | KB-55,mov_55_backpullsituppress,"Flat Back Pullover Situp Press",,"https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=57",
56 | KB-56,mov_56_suitcasedl,"Suitcase Deadlift",,"https://www.youtube.com/watch?v=d6i6MwVOmk0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=58",
57 | KB-57,mov_57_dblsuitcase,"Double Suitcase",,"https://www.youtube.com/watch?v=4PSOSrDcGfc&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=59",
58 | KB-58,mov_58_dblsumodl,"Double Sumo Deadlift",,,"https://www.youtube.com/watch?v=gdutIla6nMw"
59 | KB-59,mov_59_halfsnatchdown,"Half Snatch Down",,"https://www.youtube.com/watch?v=u2NbMtX_Rb0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=60",
60 | KB-60,mov_60_dblswing,"Double Swing",,"https://www.youtube.com/watch?v=P5IFTJySA_s&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=61","https://www.youtube.com/watch?v=P5IFTJySA_s"
61 | KB-61,mov_61_halfsnatchup,"Half Snatch Up",,,"https://www.youtube.com/watch?v=3HEmUyLYjjc"
62 | KB-62,mov_62_dblclean,"Double Clean",,"https://www.youtube.com/watch?v=Qe9ejhAtdGY&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=62","https://www.youtube.com/watch?v=Qe9ejhAtdGY"
63 | KB-64,mov_63_dblrockit,"Double Rockit",,"https://www.youtube.com/watch?v=zXB6hFrrBkA&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=63","https://www.youtube.com/watch?v=zXB6hFrrBkA"
64 | KB-64,mov_64_dbloutswing,"Double\nOutside Swing",,,"https://www.youtube.com/watch?v=yr_fRgGevsE"
65 | KB-65,mov_65_dblcap,"Double\nClean & Press",,,"https://www.youtube.com/watch?v=RizGV8ef--s"
66 | KB-66,mov_66_snatch,"Full Snatch",,"https://www.youtube.com/watch?v=f-zkPiAlpQw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=65","https://www.youtube.com/watch?v=f-zkPiAlpQw"
67 | KB-67,mov_67_dblsquat,"Double\nFront Squat",,"https://www.youtube.com/watch?v=dX5yXJa5Dm0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=66","https://www.youtube.com/watch?v=dX5yXJa5Dm0"
68 | KB-68,mov_68_dblclean2squat,"Double Clean\nto Front Squat",,,"https://www.youtube.com/watch?v=R3s6Wb_ApHM"
69 | KB-69,mov_69_snatchpress,"Snatch Press",,"https://www.youtube.com/watch?v=IzFPa_Q1yHM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=67","https://www.youtube.com/watch?v=IzFPa_Q1yHM"
70 | KB-70,mov_70_kneelsnatchup,"Half-Kneeling Snatch Up",,,"https://www.youtube.com/watch?v=1_UrK5SopL4"
71 | KB-71,mov_71_deaddblclean,"Dead Stop\nDouble Clean",,,"https://www.youtube.com/watch?v=22bKQqMqAQY"
72 | KB-72,mov_72_deck,"Deck Squat",,,"https://www.youtube.com/watch?v=vUJ3sZVwZ4Y"
73 | KB-73,mov_73_2hsbldl,"Two Hand Single\nBent Leg Deadlift",,,"https://www.youtube.com/watch?v=-RD1qqe7P8M"
74 | KB-74,mov_74_dblhangclean2squat,"Double Hang Clean\nTo Squat",,,"https://www.youtube.com/watch?v=SdPEkv56Lt8"
75 | KB-75,mov_75_2hssldl,"Two Hand Single\nStraight Leg Deadlift",,"https://www.youtube.com/watch?v=tMt2hzfFGzo&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=70","https://www.youtube.com/watch?v=tMt2hzfFGzo"
76 | KB-76,mov_76_dblhangcap,"Double Dead Hang\nClean & Press",SLOW DOWN TO ENDURE,,"https://www.youtube.com/watch?v=ieDA4V9WGNQ"
77 | KB-77,mov_77_shsldl,"Single Hand\nSingle Leg Deadlift",ONE-SIDE BALANCE,,"https://www.youtube.com/watch?v=1K4hgXfUinU"
78 | KB-78,mov_78_dblcleansqpress,"Double Clean Squat Press",,,"https://www.youtube.com/watch?v=fWPDPBliCEk"
79 | KB-79,mov_79_kneelsnatchdown,"Half-Kneeling Snatch Down",KB CLOSE TO BODY,,"https://www.youtube.com/watch?v=okO-7womT5Q"
80 | KB-80,mov_80_dblhangcsp,"Double Dead\nHang Clean\nSquat Press",,,"https://www.youtube.com/watch?v=DpGOSw7kGO0"
81 | KB-81,mov_81_kneelsnatch,"Half Kneeling\nFull Snatch",,,"https://www.youtube.com/watch?v=axx4kfUzkl4"
82 | KB-82,mov_82_dblcleanpresssq,"Double Clean\nPress Squat",,,"https://www.youtube.com/watch?v=t5fDkX3vjiU"
83 | KB-83,mov_83_dblcleansblunge,"Double Clean\nRack Step Back Lunge",,,"https://www.youtube.com/watch?v=mNt7guHRP4U"
84 | KB-84,mov_84_s2sswing,"Side to Side Swing",LATERAL ROTATION,,"https://www.youtube.com/watch?v=W_04Zv3p2HM"
85 |
--------------------------------------------------------------------------------
/src/hc/hc_2h_progression_ALT.puml:
--------------------------------------------------------------------------------
1 | @startdot
2 | digraph HC2H {
3 |
4 | label=<
5 | Two-Handed Heavy Club Skills - ALT View
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="ylgn9"]
18 | node [fontname="Helvetica,Arial,sans-serif"]
19 | node [shape=record,style="rounded,filled"]
20 | edge [fontname="Helvetica,Arial,sans-serif"]
21 | node [color=2, fillcolor=1];
22 |
23 | subgraph "preAndPost" {
24 | node [color=4, fillcolor=LightSteelBlue]
25 | pre_shinbox [label="Bodyweight Shinbox"]
26 | }
27 |
28 | // Heavy Club Sequence
29 |
30 | subgraph "1-7" {
31 | node [color=11, fillcolor=1]
32 | mov_01_sidetoside [label="{{01|Side to Side\nSwing}|ELBOWS LOCKED}" URL="https://www.youtube.com/watch?v=LMau5vr7qx4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds"]
33 | mov_02_sideswinglowtohigh [label="{{02|Side Swing\nLow to High}}" URL="https://www.youtube.com/watch?v=NoZCHTlmrCg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=2"]
34 | mov_03_hangsidelowtohigh [label="{{03|Hang Side Swing\nLow to High}|LEG DRIVE & HIP SNAP}" URL="https://www.youtube.com/watch?v=RD1zOWaTjhQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=3"]
35 | mov_04_deadclean [label="{{04|Dead Clean}|ORDER POSITION}" URL="https://www.youtube.com/watch?v=69RGME9RTcY&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=4"]
36 | mov_05_insidecircle [label="{{05|Inside Circle}}" URL="https://www.youtube.com/watch?v=Mh6iWcLbE3k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=5"];
37 | mov_06_outsidecircle [label="{{06|Outside Circle}}" URL="https://www.youtube.com/watch?v=QzMzCal-MYM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=6"];
38 | mov_07_pullover [label="{{07|Pullover}|CLUB BEHIND HEAD}" URL="https://www.youtube.com/watch?v=jpIn1Sumg78&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=7"]
39 | }
40 | subgraph "8-14" {
41 | node [color=11, fillcolor=2]
42 | mov_08_backpossidetoside [label="{{08|Back Position\nSide to Side Swing}|SWING BEHIND HEAD}" URL="https://www.youtube.com/watch?v=GKwGiB2UwyM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=8"]
43 | mov_09_sc [label="{{09|Shield Cast}}" URL="https://www.youtube.com/watch?v=W-iHvrjn72k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=9"];
44 | mov_10_squat [label="{{10|Balance Squat}}" URL="https://www.youtube.com/watch?v=LSXticZ67Pw&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=11"]
45 | mov_11_swingclean [label="{{11|Swing Clean}|DECELERATE WEIGHT}" URL="https://www.youtube.com/watch?v=0oRuCQOkPRo&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=12"]
46 | mov_12_robotsc [label="{{12|Robot Shield Cast}}" URL="https://www.youtube.com/watch?v=LDGi_lmzGR8&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=13"];
47 | mov_13_frontpress [label="{{13|Front Press}}" URL="https://www.youtube.com/watch?v=HBRWtm3tTp4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=15"]
48 | mov_14_revrobotsc [label="{{14|Reverse Robot\nShield Cast}}" URL="https://www.youtube.com/watch?v=Fun_Lscq5go&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=23"];
49 | }
50 | subgraph "15-21" {
51 | node [color=11, fillcolor=3]
52 | mov_15_rockit [label="{{15|Side to Side\nRockit}}" URL="https://www.youtube.com/watch?v=4gvF-gARAIs&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=24"]
53 | mov_16_outpend [label="{{16|Outside Pendulum\n(aka Outside Hang\nPower Clean)}}" URL="https://www.youtube.com/watch?v=SRNTrFvHgz0&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=25"]
54 | mov_17_stepbacklunge [label="{{17|Balance Step\nBack Lunge}}" URL="https://www.youtube.com/watch?v=dNrYT5iU7BQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=26"]
55 | mov_18_altcircle [label="{{18|Alternating Circle}|DECELERATE &\nCHANGE DIRECTION}" URL="https://www.youtube.com/watch?v=ukkrHxGTGtI&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=31"]
56 | mov_19_inpend [label="{{19|Inside Pendulum}}" URL="https://www.youtube.com/watch?v=pV0Hh335Csg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=34"]
57 | mov_20_3csc [label="{{20|Three-Count\nShield Cast}}" URL="https://www.youtube.com/watch?v=ABQij0Zpt0U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=35"];
58 | mov_21_gama [label="{{21|Gamma Cast\naka Gama Cast}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=39"];
59 | }
60 | subgraph "22-28" {
61 | node [color=11, fillcolor=4]
62 | mov_22_scsquat [label="{{22|Shield Cast Squat}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=41"];
63 | mov_23_kneelsc [label="{{23|Half-Kneeling Shield Cast}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=42"];
64 | mov_24_sblungepull [label="{{24|Step-Back Lunge\nPullover at Top}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=44"];
65 | mov_25_kneelbackswing [label="{{25|Half-Kneeling\nBack Position Swing}}" URL="https://www.youtube.com/watch?v=XH_HFWZQt4c"]
66 | mov_26_fbpull [label="{{26|Flat Back Pullover}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=45"];
67 | mov_27_fbpullsit [label="{{27|Flat Back Pullover Situp}}" URL="https://www.youtube.com/watch?v=Ii2WZgl5mHA"]
68 | mov_28_sblungepullbot [label="{{28|Step-Back Lunge\nPullover at Bottom}}" URL="https://www.youtube.com/watch?v=UpY9zHuTZds"]
69 | }
70 | subgraph "29-35" {
71 | node [color=11, fillcolor=5]
72 | node [fontcolor=1]
73 | mov_29_fbpullsitpress [label="{{29|Flat Back Pullover\nSitup Press}}" URL="https://www.youtube.com/watch?v=8VL8tvinc28"]
74 | // Missing 30, could be step-back front press
75 | mov_30_sbfrontpress [label="{{30?|Step-Back Lunge\nFront Press}}"]
76 | mov_31_altshinbox [label="{{31|Balance\nAlternating Shin Box}}" URL="https://www.youtube.com/watch?v=jogIwgDj0KM"]
77 | mov_32_incirclesquat [label="{{32|Inside Circle Squat}}" URL="https://www.youtube.com/watch?v=icFHo5ufhUc"]
78 | mov_33_altshinboxfrpress [label="{{33|Alt Shinbox Front Press}}" URL="https://www.youtube.com/watch?v=D2AJzIVufeY&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=47"];
79 | mov_34_outcirclesquat [label="{{34|Outside Circle Squat}}" URL="https://www.youtube.com/watch?v=z916C16iK54&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=49"]
80 | mov_35_sblungepullsbpress [label="{{35|Step-Back Lunge Pullover\nStep-Back Press}}" URL="https://www.youtube.com/watch?v=1cXPBXfKNhU"]
81 | }
82 | subgraph "36-42" {
83 | node [color=11, fillcolor=6]
84 | node [fontcolor=1]
85 | mov_36_squatpress [label="{{36|Squat Press}}" URL="https://www.youtube.com/watch?v=6p1niExqXSA"]
86 | mov_37_cap [label="{{37|Clean & Press}}" URL="https://www.youtube.com/watch?v=6kpEYglMJ1c"]
87 | mov_38_millprep [label="{{38|Mill Prep}}" URL="https://www.youtube.com/watch?v=G_OXuFs2bRs"]
88 | mov_39_pullsquat [label="{{39|Pullover Squat}}" URL="https://www.youtube.com/watch?v=3yf3VO2sd-4"];
89 | mov_40_swipe [label="{{40|Technical Swipe}}" URL="https://www.youtube.com/watch?v=nQ7npb0krRg"];
90 | mov_41_sblungepress [label="{{41|Step Back Lunge\nFront Press at Bottom}}" URL="https://www.youtube.com/watch?v=mf2dOl-QzEs"];
91 | mov_42_kneelpull [label="{{42|Half Kneeling\nPullover}}" URL="https://www.youtube.com/watch?v=FhIn5to6NmM"];
92 | }
93 |
94 | subgraph "43-51" {
95 | node [color=11, fillcolor=7]
96 | node [fontcolor=1]
97 | mov_43_pullsquatpress [label="{{43|Pullover Squat Press}}" URL="https://www.youtube.com/watch?v=pHjBhj7SHWo"];
98 | mov_44_clockshoulder [label="{{44|Clockwork Shoulder}|PROTECT COLLARBONE}" URL="https://www.youtube.com/watch?v=XjaBfgQW1qw"];
99 | mov_45_deadcleansquat [label="{{45|Dead Clean Squat}}" URL="https://www.youtube.com/watch?v=V1V6PTM5TQ0"];
100 | }
101 |
102 | // Prerequisite skills
103 | pre_shinbox -> mov_31_altshinbox;
104 |
105 | // Between clusters
106 |
107 | mov_05_insidecircle -> mov_32_incirclesquat;
108 | mov_13_frontpress -> mov_36_squatpress;
109 | mov_13_frontpress -> mov_30_sbfrontpress;
110 | mov_03_hangsidelowtohigh -> mov_05_insidecircle;
111 | mov_04_deadclean -> mov_07_pullover;
112 | mov_04_deadclean -> mov_10_squat;
113 | mov_11_swingclean -> mov_16_outpend;
114 | mov_06_outsidecircle -> mov_16_outpend;
115 | mov_10_squat -> mov_17_stepbacklunge;
116 | mov_05_insidecircle -> mov_38_millprep;
117 | mov_09_sc -> mov_38_millprep;
118 | mov_09_sc -> mov_22_scsquat;
119 | mov_04_deadclean -> mov_05_insidecircle;
120 | mov_08_backpossidetoside -> mov_25_kneelbackswing;
121 | mov_20_3csc -> mov_23_kneelsc
122 | mov_07_pullover -> mov_39_pullsquat;
123 | {mov_11_swingclean, mov_07_pullover} -> mov_40_swipe
124 |
125 | subgraph custer_sideswing {
126 | label="Sideswing"
127 | mov_01_sidetoside -> mov_02_sideswinglowtohigh;
128 | mov_02_sideswinglowtohigh -> mov_03_hangsidelowtohigh;
129 | }
130 |
131 | subgraph custer_circles {
132 | label="Circles"
133 | mov_05_insidecircle -> mov_06_outsidecircle;
134 | mov_06_outsidecircle -> mov_18_altcircle;
135 | mov_18_altcircle -> mov_44_clockshoulder
136 | }
137 |
138 | subgraph custer_cap {
139 | label="Clean & Press"
140 | mov_04_deadclean -> mov_11_swingclean;
141 | mov_11_swingclean -> mov_13_frontpress;
142 | mov_13_frontpress -> mov_37_cap;
143 | }
144 |
145 |
146 | subgraph custer_sideswing2 {
147 | label="Sideswing 2"
148 | mov_03_hangsidelowtohigh -> mov_15_rockit
149 | mov_15_rockit -> mov_16_outpend;
150 | mov_16_outpend -> mov_19_inpend;
151 | }
152 |
153 | subgraph custer_sc {
154 | label="Shield Cast"
155 | mov_07_pullover -> mov_12_robotsc;
156 | mov_07_pullover -> mov_09_sc;
157 | mov_08_backpossidetoside -> mov_09_sc;
158 | mov_07_pullover -> mov_08_backpossidetoside;
159 | mov_12_robotsc -> mov_14_revrobotsc;
160 | mov_14_revrobotsc -> mov_09_sc;
161 | mov_09_sc -> mov_20_3csc;
162 | mov_09_sc -> mov_21_gama;
163 | }
164 |
165 | subgraph custer_squat {
166 | label="Squats"
167 | mov_32_incirclesquat -> mov_34_outcirclesquat;
168 | mov_10_squat -> mov_22_scsquat;
169 | mov_10_squat -> mov_32_incirclesquat;
170 | mov_10_squat -> mov_36_squatpress;
171 | mov_10_squat -> mov_39_pullsquat;
172 | {mov_39_pullsquat, mov_36_squatpress} -> mov_43_pullsquatpress
173 | mov_10_squat -> mov_45_deadcleansquat
174 | }
175 |
176 | subgraph custer_lunge {
177 | label="Lunge"
178 | mov_23_kneelsc -> mov_25_kneelbackswing
179 | mov_23_kneelsc -> mov_24_sblungepull;
180 | mov_30_sbfrontpress -> mov_35_sblungepullsbpress;
181 | mov_17_stepbacklunge -> mov_24_sblungepull;
182 | mov_24_sblungepull -> mov_28_sblungepullbot;
183 | mov_28_sblungepullbot -> mov_35_sblungepullsbpress;
184 | mov_30_sbfrontpress -> mov_41_sblungepress
185 | {mov_25_kneelbackswing, mov_28_sblungepullbot} -> mov_42_kneelpull
186 | }
187 |
188 | subgraph custer_getup {
189 | label="Getup"
190 | mov_26_fbpull -> mov_27_fbpullsit;
191 | mov_27_fbpullsit -> mov_29_fbpullsitpress;
192 | mov_31_altshinbox -> mov_33_altshinboxfrpress;
193 | }
194 |
195 | subgraph custer_swipe {
196 | label="Swipe"
197 | mov_40_swipe
198 | }
199 |
200 | // LAYOUT HACKS
201 |
202 | {
203 | node [style=invis]
204 | edge [style=invis]
205 |
206 | mov_34_outcirclesquat -> lay_endsquat
207 | lay_startlunge -> mov_17_stepbacklunge;
208 | mov_clockwork -> lay_endcore;
209 | lay_startss2 -> mov_15_rockit;
210 | }
211 |
212 | { rank=same; mov_06_outsidecircle; mov_07_pullover}
213 | { rank=same; mov_10_squat; mov_09_sc}
214 | { rank=same; mov_15_rockit; mov_13_frontpress}
215 | { rank=same; mov_17_stepbacklunge; mov_18_altcircle; mov_16_outpend}
216 | { rank=same; mov_19_inpend; mov_20_3csc; mov_21_gama; }
217 | { rank=same; mov_22_scsquat; mov_23_kneelsc}
218 | { rank=same; mov_26_fbpull; mov_31_altshinbox}
219 | { rank=same; mov_28_sblungepullbot; mov_30_sbfrontpress; mov_32_incirclesquat;}
220 | { rank=same; mov_34_outcirclesquat; mov_35_sblungepullsbpress; }
221 | { rank=same; mov_36_squatpress; mov_37_cap; mov_38_millprep}
222 | { rank=same; mov_29_fbpullsitpress; mov_41_sblungepress}
223 | { rank=same; mov_43_pullsquatpress; mov_45_deadcleansquat}
224 |
225 | // END LAYOUT HACKS
226 |
227 |
228 | // LEGEND
229 |
230 | { rank = sink;
231 | Legend [shape=none, margin=0, label=<
232 |
233 |
234 | | Legend |
235 |
236 |
237 | | Prerequisites |
238 | |
239 |
240 |
241 | | First Drills |
242 | |
243 |
244 |
245 | |
246 | |
247 |
248 |
249 | |
250 | |
251 |
252 |
253 | |
254 | |
255 |
256 |
257 | |
258 | |
259 |
260 |
261 | | Most Advanced |
262 | |
263 |
264 |
265 | >];
266 | }
267 | }
268 | @enddot
269 |
--------------------------------------------------------------------------------
/src/mace/mace_progression_sa.puml:
--------------------------------------------------------------------------------
1 | @startdot mace_progression_sa
2 | digraph mace_progression_sa {
3 |
4 | label=<
5 | Mace Skill Progression - Single-Arm
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [shape=record]
19 | node [style="rounded,filled"]
20 | node [color=12, fillcolor=11]
21 |
22 | subgraph aux {
23 | node [color=10, fillcolor=9]
24 | mov_242_outflip; mov_243_inflip
25 | mov_50_f2bxbodhipull
26 | }
27 |
28 | subgraph ext {
29 | node [color=2, fillcolor=1]
30 | ext_saorder [label="Single-arm\nOrder Position"]
31 | ext_180pull [label="180 Degree Pullover"]
32 | ext_altmill [label="Alternating sword grip mill"]
33 | ext_frswingclean [label="Front swing clean"]
34 | ext_m01_360 [label="{{M-01 |360}}"]
35 | ext_saorder -> ext_180pull
36 | }
37 |
38 | subgraph custer_war {
39 | label="Warrior stance"
40 | node [color=6, fillcolor=5]
41 | mov_33_warfrcircle -> mov_36_warbkcircle -> mov_37_waraltcircle;
42 | mov_33_warfrcircle -> mov_37_waraltcircle;
43 | mov_37_waraltcircle -> mov_39_warfrcircleflip -> mov_40_warbkcircleflip
44 | {mov_38_war180pull,mov_39_warfrcircleflip} -> mov_41_warfwdmill
45 | {mov_41_warfwdmill,mov_40_warbkcircleflip} -> mov_42_warbwdmill
46 | }
47 |
48 | subgraph custer_sifpivot {
49 | label="Step in front pivot"
50 | node [color=8, fillcolor=7]
51 | mov_43_sifpivotwincircle -> mov_44_sifpivotwoutcircle
52 | mov_43_sifpivotwincircle -> mov_45_sifpivotwflip
53 | mov_44_sifpivotwoutcircle -> mov_46_sifpivotwoutcircleflip
54 | mov_45_sifpivotwflip -> mov_46_sifpivotwoutcircleflip
55 | mov_46_sifpivotwoutcircleflip -> mov_47_sifpivotwincircleout180
56 | }
57 |
58 | subgraph custer_flair {
59 | label="Sword flair"
60 | node [color=4, fillcolor=3]
61 | {ext_180pull, mov_53_outswordflair} -> mov_55_out180pullwflair
62 | {mov_55_out180pullwflair, mov_54_inswordflair} -> mov_56_in180pullwflair
63 | {mov_55_out180pullwflair, mov_56_in180pullwflair} -> mov_57_alt180pullwflair
64 | {mov_55_out180pullwflair} -> mov_28_outflipmill
65 | {mov_56_in180pullwflair, mov_58_outswordmillwflair} -> mov_59_inswordmillwflair
66 | {ext_altmill, mov_57_alt180pullwflair, mov_59_inswordmillwflair} -> mov_60_altswordmillwflair
67 | }
68 |
69 | mov_16_saincircle [label="{{16 |Single arm\ninside circle}}" URL="https://www.youtube.com/watch?v=MSt1cYAiLzI" ]
70 | mov_17_saoutcircle [label="{{17 |Single arm\noutside circle}}" URL="https://www.youtube.com/watch?v=ZuaKcM41dP4" ]
71 | mov_18_saaltcircle [label="{{18 |Single arm\nalternating circles}}" URL="https://www.youtube.com/watch?v=XWIFyifqSr8" ]
72 | mov_19_incircle2altcoin [label="{{19 |Inside circle to\nalternate hand coin flip}}" URL="https://www.youtube.com/watch?v=opgqoNcD1Ds" ]
73 | mov_20_outcircle2altcoin [label="{{20 |Outside circle to\nalternate hand coin flip}}" URL="https://www.youtube.com/watch?v=qX0nE-3VMN0" ]
74 | mov_21_altcirclewinandoutcoin [label="{{21 |Alt circle with\ninside and outside coin flip}}" URL="https://www.youtube.com/watch?v=as46Zm9oibE" ]
75 | mov_22_incircle2sameflip [label="{{22 |Inside circle to\nsame hand flip catch}}" URL="https://www.youtube.com/watch?v=xlClTZRbmc0" ]
76 | mov_23_outcircle2sameflip [label="{{23 |Outside circle to\nsame side flip catch}}" URL="https://www.youtube.com/watch?v=UwR4uFqvUyY" ]
77 | mov_241_altcircle2sameflip [label="{{24-1|Alt circle with\nsame side flip catch}}" URL="https://www.youtube.com/watch?v=T5x3xsfHqs8" ]
78 | mov_242_outflip [label="{{24-2|Outside flip catch balance}}" URL="https://www.youtube.com/watch?v=T5x3xsfHqs8" ]
79 |
80 | mov_243_inflip [label="{{24-3|Inside flip catch balance}}" URL="https://www.youtube.com/watch?v=T5x3xsfHqs8" ]
81 | mov_25_cincirclewaltnunchuck [label="{{25 |Continuous inside circle with\nalt hand nunchuck flip}}" URL="https://www.youtube.com/watch?v=rCgrNJLsrBM" ]
82 | mov_26_coutcirclewaltflip [label="{{26 |Continous outside circle with\nalternate hand flip catch}}" URL="https://www.youtube.com/watch?v=T5lfsHi1rDY" ]
83 | mov_27_inflip180pull [label="{{27 |Inside flip catch mill with\nsword grip across the top}}" URL="https://www.youtube.com/watch?v=uFsPwnClx-M" ]
84 | mov_28_outflipmill [label="{{28 |Outside flip catch mill\naka flip catch reverse mill}}" URL="https://www.youtube.com/watch?v=jKbelC2dZVo" ];
85 | mov_29_inmillwflip [label="{{29 |Inside mill with\nflip catch hand change}}" URL="https://www.youtube.com/watch?v=Hmk80iWQHjM" ];
86 | mov_30_outmillwflip [label="{{30 |Outside mill with\nflip catch hand change}}" URL="https://www.youtube.com/watch?v=aIxKwvzj9Hk" ];
87 | mov_31_frcircle [label="{{31 |Symmetrical stance\nFront Circles}}" URL="https://www.youtube.com/watch?v=ULozVN0nz_U" ];
88 | mov_32_bkcircle [label="{{32 |Backward Circle}}" URL="https://www.youtube.com/watch?v=KSja97kaEHY" ];
89 | mov_33_warfrcircle [label="{{33 |Warrior Stance\nFront circle}}" URL="https://www.youtube.com/watch?v=-4GMydVrlSk" ];
90 |
91 | mov_34_altfrbkcircle [label="{{34 |Alternating front to\nback circles}}" URL="https://www.youtube.com/watch?v=MsrcRGT0YzA" ];
92 |
93 | mov_36_warbkcircle [label="{{36 |Warrior stance\nbackward circle}}" URL="https://www.youtube.com/watch?v=ZfGdlIsWKXQ" ];
94 | mov_37_waraltcircle [label="{{37 |Warrior stance\nalternating circles}}" URL="https://www.youtube.com/watch?v=h_wcGKGlCus" ];
95 | mov_38_war180pull [label="{{38 |Warrior stance\n180 degree rotating pullover\nfrom sword grip}}" URL="https://www.youtube.com/watch?v=P5lbQmeVZn8" ];
96 | mov_39_warfrcircleflip [label="{{39 |Warrior stance\nfront circle flip catch}}" URL="https://www.youtube.com/watch?v=8hvIwt9EshQ" ];
97 | mov_40_warbkcircleflip [label="{{40 |Warrior stance\nbackward circle to\nflip catch}}" URL="https://www.youtube.com/watch?v=Eb5Ci22BqmI" ];
98 | mov_41_warfwdmill [label="{{41 |Warrior stance\nforward mill}}" URL="https://www.youtube.com/watch?v=ydXgS363htk" ];
99 | mov_42_warbwdmill [label="{{42 |Warrior stance\nbackward mill}}" URL="https://www.youtube.com/watch?v=HaQqkf-cSHE" ];
100 | mov_43_sifpivotwincircle [label="{{43 |Step in front pivot with\ninside circle}}" URL="https://www.youtube.com/watch?v=i2Zj4t-uIB8" ];
101 |
102 | mov_44_sifpivotwoutcircle [label="{{44 |Forward pivot step with\noutside circle}}" URL="https://www.youtube.com/watch?v=VqW8JavN1g4" ];
103 | mov_45_sifpivotwflip [label="{{45 |Inside stepping pivot with\ncoin flip and nunchuck return}}" URL="https://www.youtube.com/watch?v=vU-BHGVejhs" ];
104 | mov_46_sifpivotwoutcircleflip [label="{{46 |Inside stepping pivot with\noutside circle coin flip}}" URL="https://www.youtube.com/watch?v=YSHMJu7VWkg" ];
105 | mov_47_sifpivotwincircleout180 [label="{{47 |Inside front step pivot with\ninside circle and\noutside 180 degree mill top}}" URL="https://www.youtube.com/watch?v=zuen0CLdwMU" ];
106 | mov_48_frspear [label="{{48 |Front spear catch}}" URL="https://www.youtube.com/watch?v=hwQlmjHQsrg" ];
107 | mov_49_frspearwchange [label="{{49 |Front spear catch with\ndescending side change}}" URL="https://www.youtube.com/watch?v=xzPiZZV2K4E" ];
108 | mov_50_f2bxbodhipull [label="{{50 |Front to back\ncross-body high pull}}" URL="https://www.youtube.com/watch?v=AoUxg7QE-xU" ];
109 | mov_51_xbodspear [label="{{51 |Cross-body\nspear catch isolations}}" URL="https://www.youtube.com/watch?v=VkwN58PBBSs" ];
110 | mov_52_altxbodspear [label="{{52 |Cross-body\nspear catch\nalternating sides}}" URL="https://www.youtube.com/watch?v=-Z8YfWYfepQ" ];
111 | mov_53_outswordflair [label="{{53 |Outside sword flair}}" URL="https://www.youtube.com/watch?v=HxItsGvz-e4" ];
112 |
113 | mov_54_inswordflair [label="{{54 |Inside tip away\nsword flair}}" URL="https://www.youtube.com/watch?v=8I7KaLuNaEs" ];
114 | mov_55_out180pullwflair [label="{{55 |Outside\n180 degree pullover with\nsword flair}}" URL="https://www.youtube.com/watch?v=hh3393-eXrs" ];
115 | mov_56_in180pullwflair [label="{{56 |Inside\n180 degree pullover with\nsword flair}}" URL="https://www.youtube.com/watch?v=Sqw6YyBTgOQ" ];
116 | mov_57_alt180pullwflair [label="{{57 |Inside & outside\n180 degree pullover with\nsword flairs}}" URL="https://www.youtube.com/watch?v=XriSUPQ4Ql4" ];
117 | mov_58_outswordmillwflair [label="{{58 |Outside sword grip mill with\ntip-away sword flair}}" URL="https://www.youtube.com/watch?v=bKldH_In6SI" ];
118 | mov_59_inswordmillwflair [label="{{59 |Inside sword grip mill with\ninside sword flair}}" URL="https://www.youtube.com/watch?v=uMLwGxhbt2Y" ];
119 | mov_60_altswordmillwflair [label="{{60 |Alternating\nsword grip mill with\nsword flairs}}" URL="https://www.youtube.com/watch?v=_GBln0VGekg" ];
120 | mov_61_clockupper2180outpull [label="{{61 |Front clockwork\nupper cut to\n180 degree outside pullover}}" URL="https://www.youtube.com/watch?v=XP7abuBs_V0" ];
121 | mov_62_clockupper2180outwflair [label="{{62 |Clockwork uppercut to\noutside rotating 180 +\ntip away sword flair}}" URL="https://www.youtube.com/watch?v=VjnRZIYV2H8" ];
122 | mov_63_clockupperwsasc [label="{{63 |Clockwork uppercut +\nsingle arm shield cast}}" URL="https://www.youtube.com/watch?v=FQFBXlIjcDo" ];
123 | mov_64_altclockupperw360 [label="{{64 |Alternating\nclockwork uppercut with\ntwo-hand 360 shield cast}}" URL="https://www.youtube.com/watch?v=uE1DaKTf6SI" ];
124 |
125 | // Precursor
126 | ext_180pull -> mov_27_inflip180pull
127 | ext_saorder -> mov_53_outswordflair -> mov_54_inswordflair
128 |
129 | // Core standing movements
130 | subgraph custer_symmetric {
131 | label="Isolated symmetric stance"
132 | mov_16_saincircle -> mov_17_saoutcircle;
133 | mov_16_saincircle -> mov_19_incircle2altcoin
134 | mov_17_saoutcircle -> mov_20_outcircle2altcoin
135 | mov_16_saincircle -> mov_22_incircle2sameflip
136 | mov_17_saoutcircle -> mov_23_outcircle2sameflip
137 | }
138 | // Connections from isolated symmetric to integrated
139 | mov_17_saoutcircle -> mov_18_saaltcircle;
140 | mov_19_incircle2altcoin -> mov_25_cincirclewaltnunchuck
141 | mov_23_outcircle2sameflip -> mov_26_coutcirclewaltflip
142 | mov_20_outcircle2altcoin -> mov_21_altcirclewinandoutcoin
143 | mov_23_outcircle2sameflip -> mov_241_altcircle2sameflip
144 | mov_22_incircle2sameflip -> mov_27_inflip180pull
145 | mov_23_outcircle2sameflip -> mov_28_outflipmill
146 | subgraph custer_symmetric2 {
147 | label="Integrated symmetric stance"
148 | mov_26_coutcirclewaltflip
149 | mov_25_cincirclewaltnunchuck
150 | mov_18_saaltcircle -> mov_21_altcirclewinandoutcoin
151 | {mov_242_outflip; mov_243_inflip} -> mov_241_altcircle2sameflip;
152 | mov_18_saaltcircle -> mov_241_altcircle2sameflip
153 | mov_27_inflip180pull -> mov_29_inmillwflip
154 | mov_27_inflip180pull -> mov_28_outflipmill
155 | {mov_27_inflip180pull, mov_28_outflipmill} -> ext_altmill
156 | {mov_28_outflipmill, mov_29_inmillwflip} -> mov_30_outmillwflip
157 | }
158 |
159 | // Precursor to warrior stance
160 | subgraph custer_frbk {
161 | label="Front & Back Circles"
162 | mov_16_saincircle -> mov_31_frcircle -> mov_32_bkcircle -> mov_34_altfrbkcircle;
163 | mov_17_saoutcircle -> mov_32_bkcircle;
164 | mov_31_frcircle -> mov_34_altfrbkcircle;
165 | }
166 |
167 | // Warrior stance connections
168 | mov_32_bkcircle -> mov_33_warfrcircle
169 | ext_180pull -> mov_38_war180pull
170 | mov_22_incircle2sameflip -> mov_39_warfrcircleflip
171 | mov_23_outcircle2sameflip -> mov_40_warbkcircleflip
172 | mov_27_inflip180pull -> mov_41_warfwdmill
173 | mov_28_outflipmill -> mov_42_warbwdmill
174 |
175 | // Step in front pivot connections
176 | mov_16_saincircle -> mov_43_sifpivotwincircle
177 | mov_17_saoutcircle -> mov_44_sifpivotwoutcircle
178 | mov_27_inflip180pull -> mov_47_sifpivotwincircleout180
179 |
180 | mov_27_inflip180pull ->mov_59_inswordmillwflair
181 |
182 | subgraph custer_spear {
183 | label="Spear catch"
184 | ext_frswingclean -> mov_48_frspear -> mov_49_frspearwchange -> mov_50_f2bxbodhipull -> mov_51_xbodspear -> mov_52_altxbodspear
185 | }
186 |
187 | // Clockwork uppercut
188 | {ext_180pull} -> mov_61_clockupper2180outpull
189 | {mov_55_out180pullwflair, mov_61_clockupper2180outpull} -> mov_62_clockupper2180outwflair
190 | {mov_62_clockupper2180outwflair} -> mov_63_clockupperwsasc
191 | {ext_m01_360, mov_63_clockupperwsasc} -> mov_64_altclockupperw360
192 |
193 | // Rank hacks
194 | {rank=same;mov_23_outcircle2sameflip;mov_36_warbkcircle}
195 | {rank=same;mov_56_in180pullwflair,mov_61_clockupper2180outpull}
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 | // LAYOUT HACKS
204 |
205 | {
206 | node [style=invis]
207 | edge [style=invis]
208 |
209 | mov_15_3602bar2sq -> lay_end2h -> mov_16_saincircle
210 | }
211 |
212 |
213 |
214 | // END LAYOUT HACKS
215 |
216 | { rank = sink;
217 | Legend [shape=none, margin=0, label=<
218 |
219 |
220 | | Legend |
221 |
222 |
223 | | Prerequisites and next steps |
224 | |
225 |
226 |
227 | | Symmetric Stance |
228 | |
229 |
230 |
231 | | Sword Flair |
232 | |
233 |
234 |
235 | | Warrior Stance |
236 | |
237 |
238 |
239 | | Step in front pivot |
240 | |
241 |
242 |
243 | | Learning drills |
244 | |
245 |
246 |
247 | >];
248 | }
249 | }
250 | @enddot
251 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # wildman-skill-trees
2 |
3 | How to learn Kettlebells, Clubs, and Maces the Wildman way, visualised.
4 |
5 | [Mark Wildman][4] is the best online coach I know, and has shared vast amounts of his knowledge and experience with Kettlebells, Clubs and Maces via [YouTube][MWYT] and [Instagram][MWIG]. In particular, he has shared his personal approach to teaching these tools, and building towards complex movements and skills.
6 |
7 | This is my humble attempt to coalesce this semi-implicit knowledge into structures that fit my brain. This can be considered a fan work, in that these diagrams contain as little innovation or deviation from Wildman's guidance as possible. They are shared in the hopes that they might also be useful to you.
8 |
9 | [4]: https://www.wildmanathletica.com/
10 | [MWYT]: https://www.youtube.com/@MarkWildman
11 | [MWIG]: https://www.instagram.com/wildmanathletica/
12 |
13 | ### Features
14 |
15 | - Skill progressions arranged into progressive tree structure.
16 | - Use of GraphViz allows easy extension and remixing.
17 | - Includes links back to Wildman videos and playlists with full instructions.
18 | - Bootstrap programs for incrementally learning and practicing new skills **[Experimental!]**
19 | - Full CSV lists of sequences, useful for your own experiments
20 |
21 | ### Limitations
22 |
23 | - Movement is infinitely complex, these models are not. Legibility has been preferred over strict accuracy.
24 | - Mark is constantly publishing new material, and these diagrams are likely to fall out of date.
25 | - The URL links to each video will only be present on SVG renderings.
26 | You can open a downloaded SVG diagram directly in most browsers.
27 |
28 | ### Possible Uses
29 |
30 | - Coaches planning a curriculum for student athletes.
31 | - Self-teaching guide.
32 | - Near-endless drill variations to freshen a program.
33 |
34 | ## Table of Contents
35 |
36 | - [The Diagrams](#the-diagrams)
37 | - [Kettlebell Basic Skill Progression](#kettlebell-basic-skill-progression)
38 | - [Two-Handed Heavy Club Skill Progression](#two-handed-heavy-club-skill-progression)
39 | - [Single-Arm Heavy Club Skill Progression](#single-arm-heavy-club-skill-progression)
40 | - [Mace Progression](#mace-progression)
41 | - [Bootstrap Programs](#bootstrap-programs) - *Experimental*
42 | - [Kettlebell Bootstrap Program](#kettlebell-bootstrap-program)
43 | - [Two-Handed Heavy Club Bootstrap Program](#two-handed-heavy-club-bootstrap-program)
44 | - [Sequence Lists](#sequence-lists)
45 | - [Contributing](#contributing)
46 | - [License](#License)
47 |
48 | ## The Diagrams ##
49 |
50 | The format includes the Wildman index order of recommended progression, the Wildman name for the drill (and alternative common names), and an optional field that notes the key idea or skill that should be established by the drill before moving onto more complex drills.
51 |
52 | For the SVG version of the diagrams, links to the video and the playlist it belongs to have been included where possible. Save the SVG locally and open it in a web browser to take advantage of its scalability and links.
53 |
54 | For size considerations, we do not store the PNG versions in the repo directly, but do offer [recent releases](/releases) that include PNG renders.
55 |
56 | ### Kettlebell Basic Skill Progression ###
57 |
58 | The Kettlebell skill tree can be viewed in a single diagram or broken down into four parts (scroll below the full progression to view the parts).
59 |
60 | Here is the full progression, to the best of my abilities. It's quite a lot to take in all at once.
61 |
62 | | Source | SVG |
63 | |------- | --- |
64 | | [`/src/kb/kb_progression_ALL.puml`](/src/kb/kb_progression_ALL.puml) | [`/dist/kb_progression_ALL.svg`](/dist/kb_progression_ALL.svg) |
65 |
66 | 
67 |
68 | Because any single diagram will eventually become too complicated to use, I am breaking the KB Basic Skill progression into roughly the order presented, organised by theme (and whim).
69 |
70 | **Part 1, Covers #1 to #23**
71 |
72 | Covers Wildman's Kettlebell Basic Instruction from #1 to #23.
73 |
74 | I have chosen to colour the drills that are specifically highlighted as useful warmup movements (orange), and what I call 'auxiliary' drills that are unlikely to be included in workouts long-term after the core idea has been digested.
75 |
76 | | Source | SVG |
77 | |------- | --- |
78 | | [`/src/kb/kb_progression_1.puml`](/src/kb/kb_progression_1.puml) | [`/dist/kb_progression_1.svg`](/dist/kb_progression_1.svg) |
79 |
80 | 
81 |
82 |
83 | **Part 2, Covers #24 to #38, and #42 (TGU)**
84 |
85 | Once the basics have been established, Wildman moves into developing the precursor skills for the Turkish Get-Up and Turkish Get-Down. Wildman prefers to alternate between the getup and getdown lessons to keep it fresh.
86 |
87 | | Source | SVG |
88 | |------- | --- |
89 | | [`/src/kb/kb_progression_2_tgu.puml`](/src/kb/kb_progression_2_tgu.puml) | [`/dist/kb_progression_2_tgu.svg`](/dist/kb_progression_2_tgu.svg) |
90 |
91 | 
92 |
93 | **Part 3**
94 |
95 | Covers #39 to #55, as well as a cheeky #72, the Deck Squat. This is mostly related to improving squat and getup technique, with a sidebar for performance with the Push Press and Thruster.
96 |
97 | | Source | SVG |
98 | |------- | --- |
99 | | [`/src/kb/kb_progression_3.puml`](/src/kb/kb_progression_3.puml) | [`/dist/kb_progression_3.svg`](/dist/kb_progression_3.svg) |
100 |
101 | 
102 |
103 | **Part 4**
104 |
105 | Covers #56 to #73, minus the Deck Squat. Here, the snatch is developed, as well as a range of double KB drills.
106 |
107 | | Source | SVG |
108 | |------- | --- |
109 | | [`/src/kb/kb_progression_4.puml`](/src/kb/kb_progression_4.puml) | [`/dist/kb_progression_4.svg`](/dist/kb_progression_4.svg) |
110 |
111 | 
112 |
113 | ### Two-Handed Heavy Club Skill Progression ###
114 |
115 | Here, we've grouped the sequenced drills into logical clusters, not quite the Seven movements that Wildman speaks of. I've excluded the unsequenced drills for simplicity.
116 |
117 | | Source | SVG |
118 | |------- | --- |
119 | | [`/src/hc/hc_2h_progression_ALL.puml`](/src/hc/hc_2h_progression_ALL.puml) | [`/dist/hc_2h_progression_ALL.svg`](/dist/hc_2h_progression_ALL.svg) |
120 |
121 | 
122 |
123 | **First Steps**
124 |
125 | In this diagram we focus on the drills of the first part of the progression, to make it simpler to get started from scratch.
126 |
127 | | Source | SVG |
128 | |------- | --- |
129 | | [`/src/hc/hc_2h_progression_1.puml`](/src/hc/hc_2h_progression_1.puml) | [`/dist/hc_2h_progression_1.svg`](/dist/hc_2h_progression_1.svg) |
130 |
131 | 
132 |
133 | **ALT View**
134 |
135 | I'm experimenting with an alternative view of the full 2HHC graph with the following decisions:
136 |
137 | - Colour gradient from light yellow to dark green to indicate where in the sequence the drill falls
138 | - Remove unsequenced drills, simplified dependencies
139 | - Simplified vertical layout focused on grouping layers together
140 |
141 | | Source | SVG |
142 | |------- | --- |
143 | | [`/src/hc/hc_2h_progression_ALT.puml`](/src/hc/hc_2h_progression_ALT.puml) | [`/dist/hc_2h_progression_ALT.svg`](/dist/hc_2h_progression_ALT.svg) |
144 |
145 | 
146 |
147 | ### Single-Arm Heavy Club Skill Progression ###
148 |
149 | Single-arm Heavy Club is generally developed *after* two-handed heavy club so that the athlete learns to rotate their body correctly. As such, the precursor two-handed skills are included in green to indicate how single-arm heavy club proceeds from them.
150 |
151 | | Source | SVG |
152 | |------- | --- |
153 | | [`/src/hc/hc_sa_progression.puml`](/src/hc/hc_sa_progression.puml) | [`/dist/hc_sa_progression.svg`](/dist/hc_sa_progression.svg) |
154 |
155 | 
156 |
157 | ### Mace Progression ###
158 |
159 | This steel mace/macebell progression is a WIP, currently covering ~30 movements of a listed 107. Because this was the first attempt at sequencing that MW put out, it's a bit different from the rest:
160 |
161 | - Many videos cover multiple variations on a movement; in these cases we use XX-X to indicate index + variation.
162 | - The focus rapidly moves to building complex, integrated movements
163 | - Both single hand and two-handed movements are covered in the same sequence
164 |
165 | | Source | SVG |
166 | |------- | --- |
167 | | [`/src/mace/mace_progression_ALL.puml`](/src/mace/mace_progression_ALL.puml) | [`/dist/mace_progression_ALL.svg`](/dist/mace_progression_ALL.svg) |
168 |
169 | 
170 |
171 | **Single Arm**
172 |
173 | Once stance changes are added, the single-arm movements start to warrant their own diagram. Here we are experimenting with grouping by non-standing stance - it makes the diagram less pretty but maybe helps with clarity.
174 |
175 | | Source | SVG |
176 | |------- | --- |
177 | | [`/src/mace/mace_progression_sa.puml`](/src/mace/mace_progression_sa.puml) | [`/dist/mace_progression_sa.svg`](/dist/mace_progression_sa.svg) |
178 |
179 | 
180 |
181 | **Warrior Stance Sub-Sequence**
182 |
183 | As an experiment, I've broken out the warrior stance mace movements into their own sub-sequence in order make this particular set more legible.
184 |
185 | | Source | SVG |
186 | |------- | --- |
187 | | [`/src/mace/mace_warrior_subsequence.puml`](/src/mace/mace_warrior_subsequence.puml) | [`/dist/mace_warrior_subsequence.svg`](/dist/mace_warrior_subsequence.svg) |
188 |
189 | 
190 |
191 | ## Bootstrap Programs ##
192 |
193 | Using the skill progression sequences, I've built a couple of experimental programs that one could use to start from scratch with kettlebells or heavy clubs and develop confidence as one learns increasingly complex skills.
194 |
195 | The focus is not on increasing work capacity. While they are (light) real workouts, the idea is to complete the program ready to begin something like MW's Mill Squat program or the Wildfan Free 2H club program.
196 |
197 | The programs are arranged in "levels" based on consecutive blocks of the sequenced drills for each tool, and I am using the [level interlacing idea][interlace] MW presents for his Slam Ball program to approximate a progressive wave of difficulty.
198 |
199 | [interlace]: https://www.youtube.com/watch?v=YarJh0UW7-0
200 |
201 | **Caveats and Disclaimers:**
202 |
203 | - This is currently a WIP and being actively tested. The programs may have major flaws and need drastic changes.
204 | - No warranty, express or implied, is offered by yours truly.
205 | - Because this is still an experiment, only the bare minimum of formatting has been applied to the Excel spreadsheets. No manual is provided, so it might take a minute to orient yourself.
206 |
207 | That said, guinea pigs are more than welcome to assist in proving out the concept with me. If you *do* try out these ideas, please find me on the [Wildfan Discord][wildfan] and let me know how it goes!
208 |
209 | [wildfan]: https://discord.com/invite/Fv7QF6DQ4g
210 |
211 | ### Kettlebell Bootstrap Program ###
212 |
213 | Because of the incremental nature of this idea, the early workouts cannot be described as "full-body", focusing instead on the core movements that might add the most to anyone's existing practice.
214 |
215 | The KB program starts its **Level 1** with warmups and the two-handed swing and then begins to alternate with **Level 2**'s introduction to the Clean and Overhead Press (as separate drills). **Level 3** introduces the combined Clean & Press and four Squat variations, allowing us to model the AB program of MW's first [Tetris of Training][ToT] video. A proposed **Level 4** would then move onto Turkish Getup preparatory movements.
216 |
217 | Rep count is used as a rough guide to track increased work volume over the program. Multiply this by weight to track work capacity.
218 |
219 | [ToT]: https://www.youtube.com/watch?v=sAcBo4H__hE
220 |
221 | Download the program as a spreadsheet here: [`/src/kb/kb_bootstrap_program.xlsx`](/src/kb/kb_bootstrap_program.xlsx)
222 |
223 | ### Two-Handed Heavy Club Bootstrap Program ##
224 |
225 | The key organising idea for the heavy club program is for every workout to cover as much of seven movement families as possible: squat, side swing, clean & press, lunge, mill, swipe, and getup.
226 |
227 | Drills are performed for Time Under Tension, 30 seconds of activity followed by 30 seconds of rest, repeated for two rounds, leading to a workout of between 8 to 12 minutes.
228 |
229 | Download the program as a spreadsheet here: [`/src/hc/2hhc_bootstrap_program.xlsx`](/src/hc/2hhc_bootstrap_program.xlsx)
230 |
231 | ## Sequence Lists ##
232 |
233 | In order to keep track of the totality of the movements, I have created structured lists that one could import as a spreadsheet or use in a script or... whatever. I offer this - as-is - as a kind of bonus feature for other nerds who might want to build upon my work.
234 |
235 | Each row contains, at a minimum:
236 | - `ID` - index ID of the movement e.g. `2HHC-25`
237 | - `Graph_Name` - Programmatic handle e.g. `mov_25_mill`
238 | - `Label` - Text label (with line breaks)
239 | - `URL` - This may contain standalone or playlist links but by default should be standalone.
240 |
241 | Some contain additional fields that may or may not be useful to you. These are easy to strip using Excel or Libre Calc.
242 |
243 | | Sequence | File |
244 | |------- | --- |
245 | | Kettlebell | [`/src/kb/kb_progression.csv`](/src/kb/kb_progression.csv) |
246 | | Two-handed Heavy Club | [`/src/hc/hc_2h_progression.csv`](/src/hc/hc_2h_progression.csv) |
247 | | Single-arm Heavy Club | [`/src/hc/hc_sa_drills.csv`](/src/hc/hc_sa_drills.csv)|
248 | | Mace | [`/src/mace/mace_progression.csv`](/src/mace/mace_progression.csv) |
249 |
250 | If you use these for your own project, do let me know!
251 |
252 | ## Contributing ##
253 |
254 | The diagrams are created using GraphViz's Dot language as supported by the [PlantUML toolset][2]. Dot supports [many image formats][1] and this is also true of the [PlantUML wrapper][7], so if the existing built formats do not suit, it should be easy to render the diagrams into your format of choice.
255 |
256 | The reason for PlantUML rather than straight GraphViz is the prevalence of good PlantUML tool integration with tools like VS Code.
257 |
258 | [1]: https://graphviz.org/docs/outputs/
259 | [2]: https://plantuml.com/dot
260 | [7]: https://plantuml.com/command-line
261 |
262 | ### Building ###
263 |
264 | I use the Powershell build automation tool, [psake], to run PlantUML render steps.
265 |
266 | [psake]: https://github.com/psake/psake/tree/master
267 |
268 | ```ps1
269 | > Invoke-Psake .\psakefile.ps1
270 | ```
271 |
272 | The following top-level targets are currently available:
273 |
274 | - `Quick` - Only build SVG diagrams (default)
275 | - `Full` - Build everything for release
276 | - `Clean` - Delete all files from Dist directory
277 |
278 | To see the full list of tasks, run the docs command:
279 |
280 | ```ps1
281 | > Invoke-Psake -docs .\psakefile.ps1
282 | ```
283 |
284 | Additional/alternative formats can be rendered by overriding the `$OutputFormats` property:
285 |
286 | ```ps1
287 | > Invoke-Psake .\psakefile.ps1 -properties @{"OutputFormats"=@("svg","png")}
288 | ```
289 |
290 | ## License
291 |
292 | `wildman-skill-trees` © 2023- is licensed under [CC BY-NC-SA 4.0].
293 |
294 | [CC BY-NC-SA 4.0]: http://creativecommons.org/licenses/by-nc-sa/4.0/
295 |
296 | For full terms, see the [LICENSE](LICENSE.txt) file.
297 |
--------------------------------------------------------------------------------
/src/hc/hc_2h_progression_ALL.puml:
--------------------------------------------------------------------------------
1 | @startdot
2 | digraph HC2H {
3 |
4 | label=<
5 | Two-Handed Heavy Club Skill Progression - ALL
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [fontname="Helvetica,Arial,sans-serif"]
19 | node [shape=record,style="rounded,filled"]
20 | edge [fontname="Helvetica,Arial,sans-serif"]
21 | node [color=2, fillcolor=3];
22 |
23 | subgraph "primary" {
24 | node [color=12, fillcolor=11]
25 |
26 | mov_09_sc; mov_07_pullover; mov_05_insidecircle;
27 | mov_06_outsidecircle; mov_10_squat; mov_19_inpend;
28 | mov_16_outpend; mov_17_stepbacklunge; mov_21_gama;
29 | mov_37_cap; mov_18_altcircle;
30 | mov_40_swipe;
31 | }
32 | subgraph "secondary" {
33 | node [color=8, fillcolor=7]
34 | // Clean & Press
35 | mov_04_deadclean; mov_11_swingclean; mov_13_frontpress;
36 | // Side Swing
37 | mov_01_sidetoside; mov_02_sideswinglowtohigh; mov_03_hangsidelowtohigh; mov_15_rockit;
38 | // Shield Cast
39 | mov_08_backpossidetoside; mov_22_scsquat
40 | // Mill
41 | mov_38_millprep; mov_44_clockshoulder;
42 | // Getups
43 | mov_31_altshinbox; mov_33_altshinboxfrpress; mov_26_fbpull; mov_27_fbpullsit; mov_29_fbpullsitpress
44 | // Squat
45 | mov_32_incirclesquat; mov_34_outcirclesquat; mov_36_squatpress; mov_39_pullsquat; mov_43_pullsquatpress; mov_45_deadcleansquat
46 | // Lunge
47 | mov_23_kneelsc; mov_25_kneelbackswing; mov_24_sblungepull; mov_28_sblungepullbot; mov_30_sbfrontpress; mov_35_sblungepullsbpress; mov_41_sblungepress; mov_42_kneelpull
48 | }
49 |
50 | subgraph "prereq" {
51 | node [color=2, fillcolor=1]
52 | node [shape=record,style="rounded,filled"]
53 | pre_deadlift [label="Deadlift Position"]
54 | pre_shouldercatch [label="Shoulder Catch\nHand Change"]
55 | pre_shinbox [label="{{BW|Shinbox}}"]
56 | }
57 |
58 | subgraph "extra" {
59 | node [color=6, fillcolor=5]
60 | ' mov_pulloversquat; mov_clockwork; mov_clockworksquat;
61 | ' mov_clockworkstepbacklunge; mov_altpendulum; mov_altmill
62 | }
63 |
64 | subgraph "aux" {
65 | node [color=10, fillcolor=9];
66 | mov_12_robotsc; mov_14_revrobotsc; mov_20_3csc
67 | }
68 |
69 | // Heavy Club Sequence
70 | mov_01_sidetoside [label="{{01|Side to Side\nSwing}|ELBOWS LOCKED}" URL="https://www.youtube.com/watch?v=LMau5vr7qx4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds"]
71 | mov_02_sideswinglowtohigh [label="{{02|Side Swing\nLow to High}}" URL="https://www.youtube.com/watch?v=NoZCHTlmrCg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=2"]
72 | mov_03_hangsidelowtohigh [label="{{03|Hang Side Swing\nLow to High}|LEG DRIVE & HIP SNAP}" URL="https://www.youtube.com/watch?v=RD1zOWaTjhQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=3"]
73 | mov_04_deadclean [label="{{04|Dead Clean}|ORDER POSITION}" URL="https://www.youtube.com/watch?v=69RGME9RTcY&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=4"]
74 | mov_05_insidecircle [label="{{05|Inside Circle}}" URL="https://www.youtube.com/watch?v=Mh6iWcLbE3k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=5"];
75 | mov_06_outsidecircle [label="{{06|Outside Circle}}" URL="https://www.youtube.com/watch?v=QzMzCal-MYM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=6"];
76 | mov_07_pullover [label="{{07|Pullover}|CLUB BEHIND HEAD}" URL="https://www.youtube.com/watch?v=jpIn1Sumg78&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=7"]
77 | mov_08_backpossidetoside [label="{{08|Back Position\nSide to Side Swing}|SWING BEHIND HEAD}" URL="https://www.youtube.com/watch?v=GKwGiB2UwyM&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=8"]
78 | mov_09_sc [label="{{09|Shield Cast}}" URL="https://www.youtube.com/watch?v=W-iHvrjn72k&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=9"];
79 | mov_10_squat [label="{{10|Balance Squat}}" URL="https://www.youtube.com/watch?v=LSXticZ67Pw&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=11"]
80 | mov_11_swingclean [label="{{11|Swing Clean}|DECELERATE WEIGHT}" URL="https://www.youtube.com/watch?v=0oRuCQOkPRo&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=12"]
81 | mov_12_robotsc [label="{{12|Robot Shield Cast}}" URL="https://www.youtube.com/watch?v=LDGi_lmzGR8&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=13"];
82 | mov_13_frontpress [label="{{13|Front Press}}" URL="https://www.youtube.com/watch?v=HBRWtm3tTp4&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=15"]
83 | mov_14_revrobotsc [label="{{14|Reverse Robot\nShield Cast}}" URL="https://www.youtube.com/watch?v=Fun_Lscq5go&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=23"];
84 | mov_15_rockit [label="{{15|Side to Side\nRockit}}" URL="https://www.youtube.com/watch?v=4gvF-gARAIs&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=24"]
85 | mov_16_outpend [label="{{16|Outside Pendulum\n(aka Outside Hang\nPower Clean)}}" URL="https://www.youtube.com/watch?v=SRNTrFvHgz0&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=25"]
86 | mov_17_stepbacklunge [label="{{17|Balance Step\nBack Lunge}}" URL="https://www.youtube.com/watch?v=dNrYT5iU7BQ&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=26"]
87 | mov_18_altcircle [label="{{18|Alternating Circle}|DECELERATE &\nCHANGE DIRECTION}" URL="https://www.youtube.com/watch?v=ukkrHxGTGtI&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=31"]
88 | mov_19_inpend [label="{{19|Inside Pendulum}}" URL="https://www.youtube.com/watch?v=pV0Hh335Csg&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=34"]
89 | mov_20_3csc [label="{{20|Three-Count\nShield Cast}}" URL="https://www.youtube.com/watch?v=ABQij0Zpt0U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=35"];
90 | mov_21_gama [label="{{21|Gamma Cast\naka Gama Cast}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=39"];
91 | mov_22_scsquat [label="{{22|Shield Cast Squat}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=41"];
92 | mov_23_kneelsc [label="{{23|Half-Kneeling Shield Cast}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=42"];
93 | mov_24_sblungepull [label="{{24|Step-Back Lunge\nPullover at Top}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=44"];
94 | mov_25_kneelbackswing [label="{{25|Half-Kneeling\nBack Position Swing}}" URL="https://www.youtube.com/watch?v=XH_HFWZQt4c"]
95 | mov_26_fbpull [label="{{26|Flat Back Pullover}}" URL="https://www.youtube.com/watch?v=yHIEZN0Nl_U&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=45"];
96 | mov_27_fbpullsit [label="{{27|Flat Back Pullover Situp}}" URL="https://www.youtube.com/watch?v=Ii2WZgl5mHA"]
97 | mov_28_sblungepullbot [label="{{28|Step-Back Lunge\nPullover at Bottom}}" URL="https://www.youtube.com/watch?v=UpY9zHuTZds"]
98 | mov_29_fbpullsitpress [label="{{29|Flat Back Pullover\nSitup Press}}" URL="https://www.youtube.com/watch?v=8VL8tvinc28"]
99 | // Missing 30, could be step-back front press
100 | mov_30_sbfrontpress [label="{{30?|Step-Back Lunge\nFront Press}}"]
101 | mov_31_altshinbox [label="{{31|Balance\nAlternating Shin Box}}" URL="https://www.youtube.com/watch?v=jogIwgDj0KM"]
102 | mov_32_incirclesquat [label="{{32|Inside Circle Squat}}" URL="https://www.youtube.com/watch?v=icFHo5ufhUc"]
103 | mov_33_altshinboxfrpress [label="{{33|Alt Shinbox Front Press}}" URL="https://www.youtube.com/watch?v=D2AJzIVufeY&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=47"];
104 | mov_34_outcirclesquat [label="{{34|Outside Circle Squat}}" URL="https://www.youtube.com/watch?v=z916C16iK54&list=PLk4oYPJ7TXKiueHS7UMPv-DxNMK6UELds&index=49"]
105 | mov_35_sblungepullsbpress [label="{{35|Step-Back Lunge Pullover\nStep-Back Press}}" URL="https://www.youtube.com/watch?v=1cXPBXfKNhU"]
106 | mov_36_squatpress [label="{{36|Squat Press}}" URL="https://www.youtube.com/watch?v=6p1niExqXSA"]
107 | mov_37_cap [label="{{37|Clean & Press}}" URL="https://www.youtube.com/watch?v=6kpEYglMJ1c"]
108 | mov_38_millprep [label="{{38|Mill Prep}}" URL="https://www.youtube.com/watch?v=G_OXuFs2bRs"]
109 | mov_39_pullsquat [label="{{39|Pullover Squat}}" URL="https://www.youtube.com/watch?v=3yf3VO2sd-4"];
110 | mov_40_swipe [label="{{40|Technical Swipe}}" URL="https://www.youtube.com/watch?v=nQ7npb0krRg"];
111 | mov_41_sblungepress [label="{{41|Step Back Lunge\nFront Press at Bottom}}" URL="https://www.youtube.com/watch?v=mf2dOl-QzEs"];
112 | mov_42_kneelpull [label="{{42|Half Kneeling\nPullover}}" URL="https://www.youtube.com/watch?v=FhIn5to6NmM"];
113 | mov_43_pullsquatpress [label="{{43|Pullover Squat Press}}" URL="https://www.youtube.com/watch?v=pHjBhj7SHWo"];
114 | mov_44_clockshoulder [label="{{44|Clockwork Shoulder}|PROTECT COLLARBONE}" URL="https://www.youtube.com/watch?v=XjaBfgQW1qw"];
115 | mov_45_deadcleansquat [label="{{45|Dead Clean Squat}}" URL="https://www.youtube.com/watch?v=V1V6PTM5TQ0"];
116 |
117 | // Unsequenced
118 | ' mov_mill [label="{{|Mill}}" URL="https://www.youtube.com/watch?v=iFtaPBDwG7w"]
119 | ' mov_180pullover [label="{{|180 Degree\nPullover}}"]
120 | ' mov_alt180pullover [label="{{|Alternating 180 Degree\nPullover}}" URL="https://www.youtube.com/watch?v=uz2tKevdtzE"]
121 | ' mov_pulloversquat [label="{{|Pullover Squat}}" URL="https://www.youtube.com/watch?v=2Cejb6rcqis"]
122 | ' mov_clockwork [label="{{|Clockwork Catch}}" URL="https://www.youtube.com/watch?v=opvYcUfzymI"]
123 | ' mov_clockworksquat [label="{{|Clockwork Squat}}" URL="https://www.youtube.com/watch?v=VVFQ5SkrMvM"]
124 | ' mov_clockworkstepbacklunge [label="{{|Clockwork Step Back Lunge}}" URL="https://www.youtube.com/watch?v=-LQFwOehs74"]
125 | ' mov_altpendulum [label="{{|Alternating Pendulum}}" URL="https://www.youtube.com/watch?v=GULjXPS_ba4"]
126 | ' mov_altmill [label="{{|Alternating Mill}}"]
127 |
128 | // Prerequisite skills
129 |
130 | pre_deadlift -> mov_01_sidetoside;
131 | pre_shouldercatch -> mov_07_pullover;
132 | pre_deadlift -> mov_04_deadclean;
133 | pre_shouldercatch -> mov_05_insidecircle;
134 | pre_shinbox -> mov_31_altshinbox;
135 |
136 | // Between clusters
137 |
138 | mov_03_hangsidelowtohigh -> mov_05_insidecircle;
139 | mov_03_hangsidelowtohigh -> mov_15_rockit
140 | mov_04_deadclean -> mov_07_pullover;
141 | mov_04_deadclean -> mov_10_squat;
142 | mov_04_deadclean -> mov_05_insidecircle;
143 | mov_05_insidecircle -> mov_32_incirclesquat;
144 | mov_05_insidecircle -> mov_38_millprep;
145 | mov_06_outsidecircle -> mov_34_outcirclesquat;
146 | mov_06_outsidecircle -> mov_16_outpend;
147 | mov_08_backpossidetoside -> mov_25_kneelbackswing;
148 | mov_09_sc -> mov_22_scsquat;
149 | mov_09_sc -> mov_38_millprep;
150 | mov_10_squat -> mov_17_stepbacklunge;
151 | mov_11_swingclean -> mov_16_outpend;
152 | mov_13_frontpress -> mov_36_squatpress;
153 | mov_13_frontpress -> mov_30_sbfrontpress;
154 | mov_20_3csc -> mov_23_kneelsc
155 | {mov_11_swingclean, mov_07_pullover} -> mov_40_swipe
156 |
157 | ' mov_07_pullover -> mov_180pullover;
158 | ' mov_07_pullover -> mov_pulloversquat;
159 | ' mov_clockwork -> mov_clockworksquat;
160 | ' mov_clockworksquat -> mov_clockworkstepbacklunge;
161 |
162 | subgraph cluster_sideswing {
163 | label="Sideswing"
164 | mov_01_sidetoside -> mov_02_sideswinglowtohigh;
165 | mov_02_sideswinglowtohigh -> mov_03_hangsidelowtohigh;
166 | }
167 |
168 | subgraph cluster_circles {
169 | label="Circles"
170 | mov_05_insidecircle -> mov_06_outsidecircle;
171 | mov_06_outsidecircle -> mov_18_altcircle;
172 | ' mov_18_altcircle -> mov_clockwork;
173 | mov_18_altcircle -> mov_44_clockshoulder
174 | }
175 |
176 | subgraph cluster_cap {
177 | label="Clean & Press"
178 | mov_04_deadclean -> mov_11_swingclean;
179 | mov_11_swingclean -> mov_13_frontpress;
180 | mov_13_frontpress -> mov_37_cap;
181 | }
182 |
183 | subgraph cluster_sideswing2 {
184 | label="Sideswing 2"
185 | mov_15_rockit -> mov_16_outpend;
186 | mov_16_outpend -> mov_19_inpend;
187 | ' mov_19_inpend -> mov_altpendulum;
188 |
189 | }
190 |
191 | subgraph cluster_sc {
192 | label="Shield Cast"
193 | mov_07_pullover -> mov_12_robotsc;
194 | mov_07_pullover -> mov_09_sc;
195 | mov_08_backpossidetoside -> mov_09_sc;
196 | mov_07_pullover -> mov_08_backpossidetoside;
197 | mov_12_robotsc -> mov_14_revrobotsc;
198 | mov_14_revrobotsc -> mov_09_sc;
199 | mov_09_sc -> mov_20_3csc;
200 | mov_09_sc -> mov_21_gama;
201 | }
202 |
203 | subgraph cluster_squat {
204 | label="Squats"
205 | mov_32_incirclesquat -> mov_34_outcirclesquat;
206 | ' mov_10_squat -> mov_pulloversquat;
207 | ' mov_10_squat -> mov_clockworksquat;
208 | mov_10_squat -> mov_22_scsquat;
209 | mov_10_squat -> mov_32_incirclesquat;
210 | mov_10_squat -> mov_36_squatpress;
211 | mov_22_scsquat -> mov_39_pullsquat;
212 | {mov_39_pullsquat, mov_36_squatpress} -> mov_43_pullsquatpress
213 | mov_10_squat -> mov_45_deadcleansquat
214 | }
215 |
216 | subgraph cluster_lunge {
217 | label="Lunge"
218 | mov_23_kneelsc -> mov_25_kneelbackswing
219 | mov_23_kneelsc -> mov_24_sblungepull;
220 | mov_30_sbfrontpress -> mov_35_sblungepullsbpress;
221 | ' mov_17_stepbacklunge -> mov_clockworkstepbacklunge;
222 | mov_17_stepbacklunge -> mov_24_sblungepull;
223 | mov_24_sblungepull -> mov_28_sblungepullbot;
224 | mov_28_sblungepullbot -> mov_35_sblungepullsbpress;
225 | mov_30_sbfrontpress -> mov_41_sblungepress
226 | {mov_25_kneelbackswing, mov_28_sblungepullbot} -> mov_42_kneelpull
227 | }
228 |
229 | subgraph cluster_mill {
230 | label="Mill"
231 | mov_38_millprep
232 | ' mov_alt180pullover -> mov_altmill;
233 | ' mov_180pullover -> mov_alt180pullover;
234 | ' mov_180pullover -> mov_mill;
235 | ' mov_mill -> mov_altmill;
236 | }
237 |
238 | subgraph cluster_getup {
239 | label="Getup"
240 | mov_26_fbpull -> mov_27_fbpullsit;
241 | mov_27_fbpullsit -> mov_29_fbpullsitpress;
242 | mov_31_altshinbox -> mov_33_altshinboxfrpress;
243 | }
244 |
245 | subgraph cluster_swipe {
246 | label="Swipe"
247 | mov_40_swipe
248 | }
249 |
250 | // LAYOUT HACKS
251 |
252 | {
253 | node [style=invis]
254 | edge [style=invis]
255 |
256 | mov_03_hangsidelowtohigh -> lay_ss2ss -> mov_15_rockit;
257 | mov_34_outcirclesquat -> lay_squat2lunge
258 | lay_squat2lunge -> mov_17_stepbacklunge;
259 | ' lay_squat2lunge -> mov_180pullover;
260 | ' mov_clockwork -> lay_startsquat;
261 | mov_21_gama -> lay_startsquat;
262 | mov_37_cap -> lay_startsquat;
263 | lay_startsquat -> mov_10_squat;
264 | }
265 |
266 | // END LAYOUT HACKS
267 |
268 | // LEGEND
269 |
270 | { rank = sink;
271 | Legend [shape=none, margin=0, label=<
272 |
273 |
274 | | Legend |
275 |
276 |
277 | | Prerequisite Skills |
278 | |
279 |
280 |
281 | | Target Drills |
282 | |
283 |
284 |
285 | | Secondary Drills |
286 | |
287 |
288 |
289 | | Auxiliary Drills |
290 | |
291 |
292 |
293 | | Unsequenced Extra Drills |
294 | |
295 |
296 |
297 | >];
298 | }
299 | }
300 | @enddot
301 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Creative Commons Legal Code
2 |
3 | CC BY-NC-SA 4.0 - Attribution-NonCommercial-ShareAlike 4.0 International
4 |
5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12 | HEREUNDER.
13 |
14 | =======================================================================
15 |
16 | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
17 |
18 | By exercising the Licensed Rights (defined below), You accept and agree
19 | to be bound by the terms and conditions of this Creative Commons
20 | Attribution-NonCommercial-ShareAlike 4.0 International Public License
21 | ("Public License"). To the extent this Public License may be
22 | interpreted as a contract, You are granted the Licensed Rights in
23 | consideration of Your acceptance of these terms and conditions, and the
24 | Licensor grants You such rights in consideration of benefits the
25 | Licensor receives from making the Licensed Material available under
26 | these terms and conditions.
27 |
28 |
29 | Section 1 -- Definitions.
30 |
31 | a. Adapted Material means material subject to Copyright and Similar
32 | Rights that is derived from or based upon the Licensed Material
33 | and in which the Licensed Material is translated, altered,
34 | arranged, transformed, or otherwise modified in a manner requiring
35 | permission under the Copyright and Similar Rights held by the
36 | Licensor. For purposes of this Public License, where the Licensed
37 | Material is a musical work, performance, or sound recording,
38 | Adapted Material is always produced where the Licensed Material is
39 | synched in timed relation with a moving image.
40 |
41 | b. Adapter's License means the license You apply to Your Copyright
42 | and Similar Rights in Your contributions to Adapted Material in
43 | accordance with the terms and conditions of this Public License.
44 |
45 | c. BY-NC-SA Compatible License means a license listed at
46 | creativecommons.org/compatiblelicenses, approved by Creative
47 | Commons as essentially the equivalent of this Public License.
48 |
49 | d. Copyright and Similar Rights means copyright and/or similar rights
50 | closely related to copyright including, without limitation,
51 | performance, broadcast, sound recording, and Sui Generis Database
52 | Rights, without regard to how the rights are labeled or
53 | categorized. For purposes of this Public License, the rights
54 | specified in Section 2(b)(1)-(2) are not Copyright and Similar
55 | Rights.
56 |
57 | e. Effective Technological Measures means those measures that, in the
58 | absence of proper authority, may not be circumvented under laws
59 | fulfilling obligations under Article 11 of the WIPO Copyright
60 | Treaty adopted on December 20, 1996, and/or similar international
61 | agreements.
62 |
63 | f. Exceptions and Limitations means fair use, fair dealing, and/or
64 | any other exception or limitation to Copyright and Similar Rights
65 | that applies to Your use of the Licensed Material.
66 |
67 | g. License Elements means the license attributes listed in the name
68 | of a Creative Commons Public License. The License Elements of this
69 | Public License are Attribution, NonCommercial, and ShareAlike.
70 |
71 | h. Licensed Material means the artistic or literary work, database,
72 | or other material to which the Licensor applied this Public
73 | License.
74 |
75 | i. Licensed Rights means the rights granted to You subject to the
76 | terms and conditions of this Public License, which are limited to
77 | all Copyright and Similar Rights that apply to Your use of the
78 | Licensed Material and that the Licensor has authority to license.
79 |
80 | j. Licensor means the individual(s) or entity(ies) granting rights
81 | under this Public License.
82 |
83 | k. NonCommercial means not primarily intended for or directed towards
84 | commercial advantage or monetary compensation. For purposes of
85 | this Public License, the exchange of the Licensed Material for
86 | other material subject to Copyright and Similar Rights by digital
87 | file-sharing or similar means is NonCommercial provided there is
88 | no payment of monetary compensation in connection with the
89 | exchange.
90 |
91 | l. Share means to provide material to the public by any means or
92 | process that requires permission under the Licensed Rights, such
93 | as reproduction, public display, public performance, distribution,
94 | dissemination, communication, or importation, and to make material
95 | available to the public including in ways that members of the
96 | public may access the material from a place and at a time
97 | individually chosen by them.
98 |
99 | m. Sui Generis Database Rights means rights other than copyright
100 | resulting from Directive 96/9/EC of the European Parliament and of
101 | the Council of 11 March 1996 on the legal protection of databases,
102 | as amended and/or succeeded, as well as other essentially
103 | equivalent rights anywhere in the world.
104 |
105 | n. You means the individual or entity exercising the Licensed Rights
106 | under this Public License. Your has a corresponding meaning.
107 |
108 |
109 | Section 2 -- Scope.
110 |
111 | a. License grant.
112 |
113 | 1. Subject to the terms and conditions of this Public License,
114 | the Licensor hereby grants You a worldwide, royalty-free,
115 | non-sublicensable, non-exclusive, irrevocable license to
116 | exercise the Licensed Rights in the Licensed Material to:
117 |
118 | a. reproduce and Share the Licensed Material, in whole or
119 | in part, for NonCommercial purposes only; and
120 |
121 | b. produce, reproduce, and Share Adapted Material for
122 | NonCommercial purposes only.
123 |
124 | 2. Exceptions and Limitations. For the avoidance of doubt, where
125 | Exceptions and Limitations apply to Your use, this Public
126 | License does not apply, and You do not need to comply with
127 | its terms and conditions.
128 |
129 | 3. Term. The term of this Public License is specified in Section
130 | 6(a).
131 |
132 | 4. Media and formats; technical modifications allowed. The
133 | Licensor authorizes You to exercise the Licensed Rights in
134 | all media and formats whether now known or hereafter created,
135 | and to make technical modifications necessary to do so. The
136 | Licensor waives and/or agrees not to assert any right or
137 | authority to forbid You from making technical modifications
138 | necessary to exercise the Licensed Rights, including
139 | technical modifications necessary to circumvent Effective
140 | Technological Measures. For purposes of this Public License,
141 | simply making modifications authorized by this Section 2(a)
142 | (4) never produces Adapted Material.
143 |
144 | 5. Downstream recipients.
145 |
146 | a. Offer from the Licensor -- Licensed Material. Every
147 | recipient of the Licensed Material automatically
148 | receives an offer from the Licensor to exercise the
149 | Licensed Rights under the terms and conditions of this
150 | Public License.
151 |
152 | b. Additional offer from the Licensor -- Adapted Material.
153 | Every recipient of Adapted Material from You
154 | automatically receives an offer from the Licensor to
155 | exercise the Licensed Rights in the Adapted Material
156 | under the conditions of the Adapter's License You apply.
157 |
158 | c. No downstream restrictions. You may not offer or impose
159 | any additional or different terms or conditions on, or
160 | apply any Effective Technological Measures to, the
161 | Licensed Material if doing so restricts exercise of the
162 | Licensed Rights by any recipient of the Licensed
163 | Material.
164 |
165 | 6. No endorsement. Nothing in this Public License constitutes or
166 | may be construed as permission to assert or imply that You
167 | are, or that Your use of the Licensed Material is, connected
168 | with, or sponsored, endorsed, or granted official status by,
169 | the Licensor or others designated to receive attribution as
170 | provided in Section 3(a)(1)(A)(i).
171 |
172 | b. Other rights.
173 |
174 | 1. Moral rights, such as the right of integrity, are not
175 | licensed under this Public License, nor are publicity,
176 | privacy, and/or other similar personality rights; however, to
177 | the extent possible, the Licensor waives and/or agrees not to
178 | assert any such rights held by the Licensor to the limited
179 | extent necessary to allow You to exercise the Licensed
180 | Rights, but not otherwise.
181 |
182 | 2. Patent and trademark rights are not licensed under this
183 | Public License.
184 |
185 | 3. To the extent possible, the Licensor waives any right to
186 | collect royalties from You for the exercise of the Licensed
187 | Rights, whether directly or through a collecting society
188 | under any voluntary or waivable statutory or compulsory
189 | licensing scheme. In all other cases the Licensor expressly
190 | reserves any right to collect such royalties, including when
191 | the Licensed Material is used other than for NonCommercial
192 | purposes.
193 |
194 |
195 | Section 3 -- License Conditions.
196 |
197 | Your exercise of the Licensed Rights is expressly made subject to the
198 | following conditions.
199 |
200 | a. Attribution.
201 |
202 | 1. If You Share the Licensed Material (including in modified
203 | form), You must:
204 |
205 | a. retain the following if it is supplied by the Licensor
206 | with the Licensed Material:
207 |
208 | i. identification of the creator(s) of the Licensed
209 | Material and any others designated to receive
210 | attribution, in any reasonable manner requested by
211 | the Licensor (including by pseudonym if
212 | designated);
213 |
214 | ii. a copyright notice;
215 |
216 | iii. a notice that refers to this Public License;
217 |
218 | iv. a notice that refers to the disclaimer of
219 | warranties;
220 |
221 | v. a URI or hyperlink to the Licensed Material to the
222 | extent reasonably practicable;
223 |
224 | b. indicate if You modified the Licensed Material and
225 | retain an indication of any previous modifications; and
226 |
227 | c. indicate the Licensed Material is licensed under this
228 | Public License, and include the text of, or the URI or
229 | hyperlink to, this Public License.
230 |
231 | 2. You may satisfy the conditions in Section 3(a)(1) in any
232 | reasonable manner based on the medium, means, and context in
233 | which You Share the Licensed Material. For example, it may be
234 | reasonable to satisfy the conditions by providing a URI or
235 | hyperlink to a resource that includes the required
236 | information.
237 | 3. If requested by the Licensor, You must remove any of the
238 | information required by Section 3(a)(1)(A) to the extent
239 | reasonably practicable.
240 |
241 | b. ShareAlike.
242 |
243 | In addition to the conditions in Section 3(a), if You Share
244 | Adapted Material You produce, the following conditions also apply.
245 |
246 | 1. The Adapter's License You apply must be a Creative Commons
247 | license with the same License Elements, this version or
248 | later, or a BY-NC-SA Compatible License.
249 |
250 | 2. You must include the text of, or the URI or hyperlink to, the
251 | Adapter's License You apply. You may satisfy this condition
252 | in any reasonable manner based on the medium, means, and
253 | context in which You Share Adapted Material.
254 |
255 | 3. You may not offer or impose any additional or different terms
256 | or conditions on, or apply any Effective Technological
257 | Measures to, Adapted Material that restrict exercise of the
258 | rights granted under the Adapter's License You apply.
259 |
260 |
261 | Section 4 -- Sui Generis Database Rights.
262 |
263 | Where the Licensed Rights include Sui Generis Database Rights that
264 | apply to Your use of the Licensed Material:
265 |
266 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right
267 | to extract, reuse, reproduce, and Share all or a substantial
268 | portion of the contents of the database for NonCommercial purposes
269 | only;
270 |
271 | b. if You include all or a substantial portion of the database
272 | contents in a database in which You have Sui Generis Database
273 | Rights, then the database in which You have Sui Generis Database
274 | Rights (but not its individual contents) is Adapted Material,
275 | including for purposes of Section 3(b); and
276 |
277 | c. You must comply with the conditions in Section 3(a) if You Share
278 | all or a substantial portion of the contents of the database.
279 |
280 | For the avoidance of doubt, this Section 4 supplements and does not
281 | replace Your obligations under this Public License where the Licensed
282 | Rights include other Copyright and Similar Rights.
283 |
284 |
285 | Section 5 -- Disclaimer of Warranties and Limitation of Liability.
286 |
287 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
288 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
289 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
290 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
291 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
292 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
293 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
294 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
295 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
296 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
297 |
298 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
299 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
300 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
301 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
302 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
303 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
304 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
305 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
306 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
307 |
308 | c. The disclaimer of warranties and limitation of liability provided
309 | above shall be interpreted in a manner that, to the extent
310 | possible, most closely approximates an absolute disclaimer and
311 | waiver of all liability.
312 |
313 |
314 | Section 6 -- Term and Termination.
315 |
316 | a. This Public License applies for the term of the Copyright and
317 | Similar Rights licensed here. However, if You fail to comply with
318 | this Public License, then Your rights under this Public License
319 | terminate automatically.
320 |
321 | b. Where Your right to use the Licensed Material has terminated under
322 | Section 6(a), it reinstates:
323 |
324 | 1. automatically as of the date the violation is cured, provided
325 | it is cured within 30 days of Your discovery of the
326 | violation; or
327 |
328 | 2. upon express reinstatement by the Licensor.
329 |
330 | For the avoidance of doubt, this Section 6(b) does not affect any
331 | right the Licensor may have to seek remedies for Your violations
332 | of this Public License.
333 |
334 | c. For the avoidance of doubt, the Licensor may also offer the
335 | Licensed Material under separate terms or conditions or stop
336 | distributing the Licensed Material at any time; however, doing so
337 | will not terminate this Public License.
338 |
339 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
340 | License.
341 |
342 |
343 | Section 7 -- Other Terms and Conditions.
344 |
345 | a. The Licensor shall not be bound by any additional or different
346 | terms or conditions communicated by You unless expressly agreed.
347 |
348 | b. Any arrangements, understandings, or agreements regarding the
349 | Licensed Material not stated herein are separate from and
350 | independent of the terms and conditions of this Public License.
351 |
352 |
353 | Section 8 -- Interpretation.
354 |
355 | a. For the avoidance of doubt, this Public License does not, and
356 | shall not be interpreted to, reduce, limit, restrict, or impose
357 | conditions on any use of the Licensed Material that could lawfully
358 | be made without permission under this Public License.
359 |
360 | b. To the extent possible, if any provision of this Public License is
361 | deemed unenforceable, it shall be automatically reformed to the
362 | minimum extent necessary to make it enforceable. If the provision
363 | cannot be reformed, it shall be severed from this Public License
364 | without affecting the enforceability of the remaining terms and
365 | conditions.
366 |
367 | c. No term or condition of this Public License will be waived and no
368 | failure to comply consented to unless expressly agreed to by the
369 | Licensor.
370 |
371 | d. Nothing in this Public License constitutes or may be interpreted
372 | as a limitation upon, or waiver of, any privileges and immunities
373 | that apply to the Licensor or You, including from the legal
374 | processes of any jurisdiction or authority.
375 |
376 | =======================================================================
377 |
378 | Creative Commons is not a party to its public
379 | licenses. Notwithstanding, Creative Commons may elect to apply one of
380 | its public licenses to material it publishes and in those instances
381 | will be considered the “Licensor.” The text of the Creative Commons
382 | public licenses is dedicated to the public domain under the CC0 Public
383 | Domain Dedication. Except for the limited purpose of indicating that
384 | material is shared under a Creative Commons public license or as
385 | otherwise permitted by the Creative Commons policies published at
386 | creativecommons.org/policies, Creative Commons does not authorize the
387 | use of the trademark "Creative Commons" or any other trademark or logo
388 | of Creative Commons without its prior written consent including,
389 | without limitation, in connection with any unauthorized modifications
390 | to any of its public licenses or any other arrangements,
391 | understandings, or agreements concerning use of licensed material. For
392 | the avoidance of doubt, this paragraph does not form part of the
393 | public licenses.
394 |
395 | Creative Commons may be contacted at creativecommons.org.
396 |
--------------------------------------------------------------------------------
/src/mace/mace_progression_ALL.puml:
--------------------------------------------------------------------------------
1 | @startdot mace_progression_ALL
2 | digraph mace_progression_ALL {
3 |
4 | label=<
5 | Mace Skill Progression - ALL
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [shape=record]
19 | node [style="rounded,filled"]
20 | node [color=12, fillcolor=11]
21 |
22 | subgraph aux {
23 | node [color=10, fillcolor=9]
24 | mov_051_sabackswing; mov_052_backswing
25 | mov_242_outflip; mov_243_inflip
26 | mov_50_f2bxbodhipull
27 | }
28 |
29 | subgraph ext {
30 | node [color=2, fillcolor=1]
31 | ext_sq [label="Balance Squat"]
32 | ext_2horder [label="Two-hand\nOrder Position"]
33 | ext_saorder [label="Single-arm\nOrder Position"]
34 | ext_180pull [label="180 Degree Pullover"]
35 | ext_altmill [label="Alternating sword grip mill"]
36 | ext_frswingclean [label="Front swing clean"]
37 | ext_2horder -> ext_sq
38 | ext_2horder -> ext_saorder -> ext_180pull
39 | }
40 |
41 | subgraph isolated {
42 | node [color=4, fillcolor=3]
43 | mov_01_360, mov_031_prayer, mov_041_barbell, mov_061_uppercut, mov_07_invs2sswing, mov_081_lowblockspin, mov_101_martialspin, mov_102_samartialspin, mov_14_barpress2sq,mov_35_waralt360
44 | mov_051_sabackswing, mov_052_backswing, mov_11_paddlerow2upblock, mov_16_saincircle, mov_17_saoutcircle, mov_19_incircle2altcoin, mov_20_outcircle2altcoin, mov_22_incircle2sameflip, mov_23_outcircle2sameflip, mov_242_outflip, mov_243_inflip, mov_31_frcircle, mov_32_bkcircle, mov_33_warfrcircle, mov_36_warbkcircle, mov_48_frspear, mov_51_xbodspear, mov_53_outswordflair, mov_54_inswordflair, mov_65_kneel360
45 | }
46 |
47 | mov_01_360 [label="{{01 |360}}" URL="https://www.youtube.com/watch?v=TyZ8iYv6Ip0" ]
48 | mov_02_alt360 [label="{{02 |Alternating 360\n(Gama Cast/10 to 2)}}" URL="https://www.youtube.com/watch?v=ccifkBh2JSI" ]
49 | mov_031_prayer [label="{{03-1|Prayer transition}}" URL="https://www.youtube.com/watch?v=0fjn0vidH2M" ]
50 | mov_032_pray2360 [label="{{03-2|Prayer transition\nto 360}}" URL="https://www.youtube.com/watch?v=0fjn0vidH2M" ]
51 | mov_041_barbell [label="{{04-1|Barbell transition}}" URL="https://www.youtube.com/watch?v=WQjHBHoC-MQ" ]
52 | mov_042_barbell2360 [label="{{04-2|Barbell transition to 360}}" URL="https://www.youtube.com/watch?v=WQjHBHoC-MQ" ]
53 | mov_051_sabackswing [label="{{05-1|Single arm\nback position swing}}" URL="https://www.youtube.com/watch?v=XN-5l6SiSZU" ]
54 | mov_052_backswing [label="{{05-2|Back position swing}}" URL="https://www.youtube.com/watch?v=XN-5l6SiSZU" ]
55 | mov_061_uppercut [label="{{06-1|90 degree pivot uppercut}}" URL="https://www.youtube.com/watch?v=ULFal2-zDt0" ]
56 | mov_062_uppercut2360 [label="{{06-2|90 degree pivot uppercut to 360}}" URL="https://www.youtube.com/watch?v=ULFal2-zDt0" ]
57 |
58 | mov_07_invs2sswing [label="{{07 |Inverted side to side swings}}" URL="https://www.youtube.com/watch?v=bLA2KSghSdc" ]
59 | mov_081_lowblockspin [label="{{08-1|Low block spin}}" URL="https://www.youtube.com/watch?v=fk8AG0s1-UI" ]
60 | mov_082_lowblockspinwpray [label="{{08-2|Low block spin with\nprayer transition}}" URL="https://www.youtube.com/watch?v=fk8AG0s1-UI" ]
61 | mov_09_lowblockspinw360 [label="{{09 |Low block spin with\n360 transition}}" URL="https://www.youtube.com/watch?v=GXMSVSDtJVc" ]
62 | mov_101_martialspin [label="{{10-1|Simple martial spin}}" URL="https://www.youtube.com/watch?v=p_VgqCIGb-E" ]
63 | mov_102_samartialspin [label="{{10-2|Single arm martial spin}}" URL="https://www.youtube.com/watch?v=p_VgqCIGb-E" ]
64 | mov_11_paddlerow2upblock [label="{{11 |Paddle row to upper block}}" URL="https://www.youtube.com/watch?v=4or7Sb8HyaU" ]
65 | mov_13_pray23602sq [label="{{13 |Horizontal prayer transition to 360 to squat}}" URL="https://www.youtube.com/watch?v=2yUz84zdBlk" ]
66 | mov_14_barpress2sq [label="{{14 |Barbell transition press\nto squat}}" URL="https://www.youtube.com/watch?v=kZK8Eq6ka0U" ]
67 | mov_15_3602bar2sq [label="{{15 |360 to barbell transition\nto squat}}" URL="https://www.youtube.com/watch?v=S6LDBK1o48U" ]
68 |
69 | mov_16_saincircle [label="{{16 |Single arm\ninside circle}}" URL="https://www.youtube.com/watch?v=MSt1cYAiLzI" ]
70 | mov_17_saoutcircle [label="{{17 |Single arm\noutside circle}}" URL="https://www.youtube.com/watch?v=ZuaKcM41dP4" ]
71 | mov_18_saaltcircle [label="{{18 |Single arm\nalternating circles}}" URL="https://www.youtube.com/watch?v=XWIFyifqSr8" ]
72 | mov_19_incircle2altcoin [label="{{19 |Inside circle to\nalternate hand coin flip}}" URL="https://www.youtube.com/watch?v=opgqoNcD1Ds" ]
73 | mov_20_outcircle2altcoin [label="{{20 |Outside circle to\nalternate hand coin flip}}" URL="https://www.youtube.com/watch?v=qX0nE-3VMN0" ]
74 | mov_21_altcirclewinandoutcoin [label="{{21 |Alt circle with\ninside and outside coin flip}}" URL="https://www.youtube.com/watch?v=as46Zm9oibE" ]
75 | mov_22_incircle2sameflip [label="{{22 |Inside circle to\nsame hand flip catch}}" URL="https://www.youtube.com/watch?v=xlClTZRbmc0" ]
76 | mov_23_outcircle2sameflip [label="{{23 |Outside circle to\nsame side flip catch}}" URL="https://www.youtube.com/watch?v=UwR4uFqvUyY" ]
77 | mov_241_altcircle2sameflip [label="{{24-1|Alt circle with\nsame side flip catch}}" URL="https://www.youtube.com/watch?v=T5x3xsfHqs8" ]
78 | mov_242_outflip [label="{{24-2|Outside flip catch balance}}" URL="https://www.youtube.com/watch?v=T5x3xsfHqs8" ]
79 |
80 | mov_243_inflip [label="{{24-3|Inside flip catch balance}}" URL="https://www.youtube.com/watch?v=T5x3xsfHqs8" ]
81 | mov_25_cincirclewaltnunchuck [label="{{25 |Continuous inside circle with\nalt hand nunchuck flip}}" URL="https://www.youtube.com/watch?v=rCgrNJLsrBM" ]
82 | mov_26_coutcirclewaltflip [label="{{26 |Continous outside circle with\nalternate hand flip catch}}" URL="https://www.youtube.com/watch?v=T5lfsHi1rDY" ]
83 | mov_27_inflip180pull [label="{{27 |Inside flip catch mill with\nsword grip across the top}}" URL="https://www.youtube.com/watch?v=uFsPwnClx-M" ]
84 | mov_28_outflipmill [label="{{28 |Outside flip catch mill\naka flip catch reverse mill}}" URL="https://www.youtube.com/watch?v=jKbelC2dZVo" ];
85 | mov_29_inmillwflip [label="{{29 |Inside mill with\nflip catch hand change}}" URL="https://www.youtube.com/watch?v=Hmk80iWQHjM" ];
86 | mov_30_outmillwflip [label="{{30 |Outside mill with\nflip catch hand change}}" URL="https://www.youtube.com/watch?v=aIxKwvzj9Hk" ];
87 | mov_31_frcircle [label="{{31 |Symmetrical stance\nFront Circles}}" URL="https://www.youtube.com/watch?v=ULozVN0nz_U" ];
88 | mov_32_bkcircle [label="{{32 |Backward Circle}}" URL="https://www.youtube.com/watch?v=KSja97kaEHY" ];
89 | mov_33_warfrcircle [label="{{33 |Warrior Stance\nFront circle}}" URL="https://www.youtube.com/watch?v=-4GMydVrlSk" ];
90 |
91 | mov_34_altfrbkcircle [label="{{34 |Alternating front to\nback circles}}" URL="https://www.youtube.com/watch?v=MsrcRGT0YzA" ];
92 | mov_35_waralt360 [label="{{35 |Warrior stance\nalternating 360 / Gama cast}}" URL="https://www.youtube.com/watch?v=IgJXJy3zPGk" ];
93 | mov_36_warbkcircle [label="{{36 |Warrior stance\nbackward circle}}" URL="https://www.youtube.com/watch?v=ZfGdlIsWKXQ" ];
94 | mov_37_waraltcircle [label="{{37 |Warrior stance\nalternating circles}}" URL="https://www.youtube.com/watch?v=h_wcGKGlCus" ];
95 | mov_38_war180pull [label="{{38 |Warrior stance\n180 degree rotating pullover\nfrom sword grip}}" URL="https://www.youtube.com/watch?v=P5lbQmeVZn8" ];
96 | mov_39_warfrcircleflip [label="{{39 |Warrior stance\nfront circle flip catch}}" URL="https://www.youtube.com/watch?v=8hvIwt9EshQ" ];
97 | mov_40_warbkcircleflip [label="{{40 |Warrior stance\nbackward circle to\nflip catch}}" URL="https://www.youtube.com/watch?v=Eb5Ci22BqmI" ];
98 | mov_41_warfwdmill [label="{{41 |Warrior stance\nforward mill}}" URL="https://www.youtube.com/watch?v=ydXgS363htk" ];
99 | mov_42_warbwdmill [label="{{42 |Warrior stance\nbackward mill}}" URL="https://www.youtube.com/watch?v=HaQqkf-cSHE" ];
100 | mov_43_sifpivotwincircle [label="{{43 |Step in front pivot with\ninside circle}}" URL="https://www.youtube.com/watch?v=i2Zj4t-uIB8" ];
101 |
102 | mov_44_sifpivotwoutcircle [label="{{44 |Forward pivot step with\noutside circle}}" URL="https://www.youtube.com/watch?v=VqW8JavN1g4" ];
103 | mov_45_sifpivotwflip [label="{{45 |Inside stepping pivot with\ncoin flip and nunchuck return}}" URL="https://www.youtube.com/watch?v=vU-BHGVejhs" ];
104 | mov_46_sifpivotwoutcircleflip [label="{{46 |Inside stepping pivot with\noutside circle coin flip}}" URL="https://www.youtube.com/watch?v=YSHMJu7VWkg" ];
105 | mov_47_sifpivotwincircleout180 [label="{{47 |Inside front step pivot with\ninside circle and\noutside 180 degree mill top}}" URL="https://www.youtube.com/watch?v=zuen0CLdwMU" ];
106 | mov_48_frspear [label="{{48 |Front spear catch}}" URL="https://www.youtube.com/watch?v=hwQlmjHQsrg" ];
107 | mov_49_frspearwchange [label="{{49 |Front spear catch with\ndescending side change}}" URL="https://www.youtube.com/watch?v=xzPiZZV2K4E" ];
108 | mov_50_f2bxbodhipull [label="{{50 |Front to back\ncross-body high pull}}" URL="https://www.youtube.com/watch?v=AoUxg7QE-xU" ];
109 | mov_51_xbodspear [label="{{51 |Cross-body\nspear catch isolations}}" URL="https://www.youtube.com/watch?v=VkwN58PBBSs" ];
110 | mov_52_altxbodspear [label="{{52 |Cross-body\nspear catch\nalternating sides}}" URL="https://www.youtube.com/watch?v=-Z8YfWYfepQ" ];
111 | mov_53_outswordflair [label="{{53 |Outside sword flair}}" URL="https://www.youtube.com/watch?v=HxItsGvz-e4" ];
112 |
113 | mov_54_inswordflair [label="{{54 |Inside tip away\nsword flair}}" URL="https://www.youtube.com/watch?v=8I7KaLuNaEs" ];
114 | mov_55_out180pullwflair [label="{{55 |Outside\n180 degree pullover with\nsword flair}}" URL="https://www.youtube.com/watch?v=hh3393-eXrs" ];
115 | mov_56_in180pullwflair [label="{{56 |Inside\n180 degree pullover with\nsword flair}}" URL="https://www.youtube.com/watch?v=Sqw6YyBTgOQ" ];
116 | mov_57_alt180pullwflair [label="{{57 |Inside & outside\n180 degree pullover with\nsword flairs}}" URL="https://www.youtube.com/watch?v=XriSUPQ4Ql4" ];
117 | mov_58_outswordmillwflair [label="{{58 |Outside sword grip mill with\ntip-away sword flair}}" URL="https://www.youtube.com/watch?v=bKldH_In6SI" ];
118 | mov_59_inswordmillwflair [label="{{59 |Inside sword grip mill with\ninside sword flair}}" URL="https://www.youtube.com/watch?v=uMLwGxhbt2Y" ];
119 | mov_60_altswordmillwflair [label="{{60 |Alternating\nsword grip mill with\nsword flairs}}" URL="https://www.youtube.com/watch?v=_GBln0VGekg" ];
120 | mov_61_clockupper2180outpull [label="{{61 |Front clockwork\nupper cut to\n180 degree outside pullover}}" URL="https://www.youtube.com/watch?v=XP7abuBs_V0" ];
121 | mov_62_clockupper2180outwflair [label="{{62 |Clockwork uppercut to\noutside rotating 180 +\ntip away sword flair}}" URL="https://www.youtube.com/watch?v=VjnRZIYV2H8" ];
122 | mov_63_clockupperwsasc [label="{{63 |Clockwork uppercut +\nsingle arm shield cast}}" URL="https://www.youtube.com/watch?v=FQFBXlIjcDo" ];
123 |
124 | mov_64_altclockupperw360 [label="{{64 |Alternating\nclockwork uppercut with\ntwo-hand 360 shield cast}}" URL="https://www.youtube.com/watch?v=uE1DaKTf6SI" ];
125 | mov_65_kneel360 [label="{{65 |Half-kneeling\n2 hand mace 360}|ISOLATE HIPS}" URL="https://www.youtube.com/watch?v=HCCyUmShxYw" ];
126 | mov_66_kneelalt360 [label="{{66 |Half-kneeling\n10 to 2}}" URL="https://www.youtube.com/watch?v=1sYBqQ1Ll_E" ];
127 |
128 | // Ungrouped arrows
129 |
130 | subgraph cluster_sa {
131 | label="Single-Arm"
132 |
133 | // Precursor
134 | ext_saorder -> mov_53_outswordflair -> mov_54_inswordflair
135 | ext_180pull -> mov_27_inflip180pull
136 |
137 | // Core standing movements
138 | subgraph custer_symmetric {
139 | label="Isolated symmetric stance"
140 | mov_16_saincircle -> mov_17_saoutcircle;
141 | mov_16_saincircle -> mov_19_incircle2altcoin
142 | mov_17_saoutcircle -> mov_20_outcircle2altcoin
143 | mov_16_saincircle -> mov_22_incircle2sameflip
144 | mov_17_saoutcircle -> mov_23_outcircle2sameflip
145 | }
146 | // Connections from isolated symmetric to integrated
147 | mov_17_saoutcircle -> mov_18_saaltcircle;
148 | mov_19_incircle2altcoin -> mov_25_cincirclewaltnunchuck
149 | mov_23_outcircle2sameflip -> mov_26_coutcirclewaltflip
150 | mov_20_outcircle2altcoin -> mov_21_altcirclewinandoutcoin
151 | mov_23_outcircle2sameflip -> mov_241_altcircle2sameflip
152 | mov_22_incircle2sameflip -> mov_27_inflip180pull
153 | mov_23_outcircle2sameflip -> mov_28_outflipmill
154 | subgraph custer_symmetric2 {
155 | label="Integrated symmetric stance"
156 | mov_26_coutcirclewaltflip
157 | mov_25_cincirclewaltnunchuck
158 | mov_18_saaltcircle -> mov_21_altcirclewinandoutcoin
159 | {mov_242_outflip; mov_243_inflip} -> mov_241_altcircle2sameflip;
160 | mov_18_saaltcircle -> mov_241_altcircle2sameflip
161 | mov_27_inflip180pull -> mov_29_inmillwflip
162 | mov_27_inflip180pull -> mov_28_outflipmill
163 | {mov_27_inflip180pull, mov_28_outflipmill} -> ext_altmill
164 | {mov_28_outflipmill, mov_29_inmillwflip} -> mov_30_outmillwflip
165 | }
166 |
167 | // Precursor to warrior stance
168 | subgraph custer_frbk {
169 | label="Front & Back Circles"
170 | mov_16_saincircle -> mov_31_frcircle -> mov_32_bkcircle -> mov_34_altfrbkcircle;
171 | mov_17_saoutcircle -> mov_32_bkcircle;
172 | mov_31_frcircle -> mov_34_altfrbkcircle;
173 | }
174 | mov_32_bkcircle -> mov_33_warfrcircle
175 |
176 | subgraph custer_war {
177 | label="Warrior stance"
178 | mov_33_warfrcircle -> mov_36_warbkcircle -> mov_37_waraltcircle;
179 | mov_33_warfrcircle -> mov_37_waraltcircle;
180 | mov_37_waraltcircle -> mov_39_warfrcircleflip -> mov_40_warbkcircleflip
181 | {mov_38_war180pull,mov_39_warfrcircleflip} -> mov_41_warfwdmill
182 | {mov_41_warfwdmill,mov_40_warbkcircleflip} -> mov_42_warbwdmill
183 | }
184 | ext_180pull -> mov_38_war180pull
185 | mov_22_incircle2sameflip -> mov_39_warfrcircleflip
186 | mov_23_outcircle2sameflip -> mov_40_warbkcircleflip
187 | mov_27_inflip180pull -> mov_41_warfwdmill
188 | mov_28_outflipmill -> mov_42_warbwdmill
189 |
190 | mov_16_saincircle -> mov_43_sifpivotwincircle
191 | mov_17_saoutcircle -> mov_44_sifpivotwoutcircle
192 | mov_27_inflip180pull -> mov_47_sifpivotwincircleout180
193 | subgraph custer_sifpivot {
194 | label="Step in front pivot"
195 | mov_43_sifpivotwincircle -> mov_44_sifpivotwoutcircle
196 | mov_43_sifpivotwincircle -> mov_45_sifpivotwflip
197 | mov_44_sifpivotwoutcircle -> mov_46_sifpivotwoutcircleflip
198 | mov_45_sifpivotwflip -> mov_46_sifpivotwoutcircleflip
199 | mov_46_sifpivotwoutcircleflip -> mov_47_sifpivotwincircleout180
200 | }
201 | subgraph custer_spear {
202 | label="Spear catch"
203 | ext_frswingclean -> mov_48_frspear -> mov_49_frspearwchange -> mov_50_f2bxbodhipull -> mov_51_xbodspear -> mov_52_altxbodspear;
204 | }
205 |
206 | {ext_180pull, mov_53_outswordflair} -> mov_55_out180pullwflair
207 | {mov_55_out180pullwflair, mov_54_inswordflair} -> mov_56_in180pullwflair
208 | {mov_55_out180pullwflair, mov_56_in180pullwflair} -> mov_57_alt180pullwflair
209 | {mov_28_outflipmill, mov_55_out180pullwflair} -> mov_58_outswordmillwflair
210 | {mov_27_inflip180pull, mov_56_in180pullwflair, mov_58_outswordmillwflair} -> mov_59_inswordmillwflair
211 | {ext_altmill, mov_57_alt180pullwflair, mov_59_inswordmillwflair} -> mov_60_altswordmillwflair
212 |
213 | {ext_180pull} -> mov_61_clockupper2180outpull
214 | {mov_55_out180pullwflair, mov_61_clockupper2180outpull} -> mov_62_clockupper2180outwflair
215 | {mov_62_clockupper2180outwflair} -> mov_63_clockupperwsasc
216 | {mov_63_clockupperwsasc} -> mov_64_altclockupperw360
217 |
218 | {rank=same;mov_23_outcircle2sameflip;mov_36_warbkcircle}
219 | {rank=same;mov_59_inswordmillwflair,mov_61_clockupper2180outpull}
220 | }
221 |
222 |
223 | // 2h -> sa
224 | mov_01_360 -> mov_64_altclockupperw360
225 | mov_061_uppercut -> mov_61_clockupper2180outpull
226 |
227 |
228 | subgraph cluster_2h {
229 |
230 | label="2H"
231 | // Precursor
232 | ext_sq -> {mov_13_pray23602sq;mov_14_barpress2sq;mov_15_3602bar2sq}
233 | ext_2horder -> {mov_01_360; mov_031_prayer; mov_041_barbell}
234 |
235 | mov_01_360 -> {mov_02_alt360;mov_032_pray2360;mov_042_barbell2360;mov_062_uppercut2360}
236 | mov_031_prayer -> mov_032_pray2360;
237 | mov_041_barbell -> mov_042_barbell2360;
238 | mov_061_uppercut -> mov_062_uppercut2360;
239 | mov_101_martialspin -> mov_102_samartialspin;
240 |
241 | mov_041_barbell -> mov_061_uppercut;
242 |
243 | mov_081_lowblockspin -> {mov_082_lowblockspinwpray; mov_09_lowblockspinw360}
244 | mov_031_prayer -> mov_082_lowblockspinwpray
245 | mov_01_360 -> mov_09_lowblockspinw360
246 |
247 | mov_01_360 -> mov_052_backswing -> mov_051_sabackswing
248 |
249 | // Squats
250 | mov_032_pray2360 -> mov_13_pray23602sq
251 | mov_041_barbell -> mov_14_barpress2sq
252 | mov_042_barbell2360 -> mov_15_3602bar2sq
253 |
254 | // 360 into stances
255 | mov_02_alt360 -> mov_35_waralt360
256 | mov_01_360 -> mov_65_kneel360
257 | {mov_65_kneel360, mov_02_alt360} -> mov_66_kneelalt360
258 |
259 | {rank=same; mov_01_360; mov_031_prayer; mov_041_barbell}
260 | {rank=same; mov_051_sabackswing; mov_061_uppercut; mov_07_invs2sswing; mov_081_lowblockspin}
261 | {rank=same; ext_sq; mov_102_samartialspin}
262 | {rank=same; mov_09_lowblockspinw360; mov_101_martialspin;mov_11_paddlerow2upblock}
263 | {rank=same; mov_13_pray23602sq; mov_14_barpress2sq}
264 | }
265 |
266 | // LAYOUT HACKS
267 |
268 | {
269 | node [style=invis]
270 | edge [style=invis]
271 |
272 | mov_15_3602bar2sq -> lay_end2h -> mov_16_saincircle
273 | }
274 |
275 |
276 |
277 | // END LAYOUT HACKS
278 |
279 | { rank = sink;
280 | Legend [shape=none, margin=0, label=<
281 |
282 |
283 | | Legend |
284 |
285 |
286 | | Prerequisites and next steps |
287 | |
288 |
289 |
290 | | Isolated Drills |
291 | |
292 |
293 |
294 | | Integrated Drills |
295 | |
296 |
297 |
298 | | Learning drills |
299 | |
300 |
301 |
302 | >];
303 | }
304 | }
305 | @enddot
306 |
--------------------------------------------------------------------------------
/src/kb/kb_progression_ALL.puml:
--------------------------------------------------------------------------------
1 | @startdot kb_progression_ALL
2 | digraph kb_progression {
3 | // Playlist: https://www.youtube.com/watch?list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA
4 | label=<
5 | Kettlebell Basic Skill Progression - ALL
6 | Diagram by dznz based on Mark Wildman's teachings.
7 | Source: https://github.com/dznz/wildman-skill-trees
8 | More by Mark Wildman - https://www.wildmanathletica.com
9 |
10 | © 2023. This work is openly licensed with CC BY-NC-SA 4.0
11 | http://creativecommons.org/licenses/by-nc-sa/4.0/
12 |
13 | >
14 | graph [labeljust=r]
15 | graph [fontname="Helvetica,Arial,sans-serif"]
16 |
17 | node [colorscheme="paired12"]
18 | node [shape=record]
19 | node [style="rounded,filled"]
20 | node [color=12, fillcolor=11]
21 |
22 | subgraph warmup {
23 | node [color=8, fillcolor=7]
24 | mov_03_atw; mov_04_halo, mov_05_atwf2b, mov_06_atwb2f
25 | }
26 |
27 | subgraph aux {
28 | node [color=10, fillcolor=9]
29 | mov_08_2hu1hd; mov_11_2hucleandown; mov_15_news;
30 | }
31 |
32 | subgraph post {
33 | node [color=2, fillcolor=1]
34 |
35 | ext_bw_squat [label="{{BW|Squat}}"]
36 | ext_bw_altshinbox [label="{{BW|Alt Shin Box}}"]
37 | ext_hc_dblswing [label="{{HC|Double Swing}}"]
38 | ext_hc_dblrockit [label="{{HC|Double Rockit}}"]
39 | ext_hc_s2sswing [label="{{2HHC-01|Side to Side\nSwing}}"]
40 |
41 | // Implied
42 | mov_tgd [label="{{|Turkish Get Down}}"]
43 | mov_tgu [label="{{|Turkish Get Up}}"]
44 | }
45 |
46 | mov_01_deadlift [label="{{1|Two Hand Deadlift}|HIP HINGE}" URL="https://www.youtube.com/watch?v=x0XkmM34BPI&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=1"];
47 | mov_02_swing [label="{{2|Two Hand Swing}|LEG DRIVE &\nHIP SNAP}" URL="https://www.youtube.com/watch?v=m-S9H2XVvYg&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=2"]
48 | mov_03_atw [label="{{3|Around the World}|HAND TRANSITION}" URL="https://www.youtube.com/watch?v=XaegZzSbtr0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=3"]
49 | mov_04_halo [label="{{4|Halo}|GLOBE UP\nORDER POSITION}" URL="https://www.youtube.com/watch?v=25xdtjbFPtw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=4"]
50 | mov_05_atwf2b [label="{{5|Around the World\nFront to Back}}" URL="https://www.youtube.com/watch?v=TwlQQXAQpaQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=5"]
51 | mov_06_atwb2f [label="{{6|Around the World\nBack to Front}}" URL="https://www.youtube.com/watch?v=GrRO00YOIWM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=6"]
52 | mov_07_althalo [label="{{7|Alternating Halo}}" URL="https://www.youtube.com/watch?v=SMpquy5zSL4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=7"]
53 | mov_08_2hu1hd [label="{{8|Two Hand Pickup\nOne Hand Putdown}|RACK POSITION}" URL="https://www.youtube.com/watch?v=eMkDP9VmMc0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=8"]
54 | mov_09_saswing [label="{{9|Single Arm Swing}|THUMB POINTS BACK}" URL="https://www.youtube.com/watch?v=ejPpyLKZ1L4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=9"]
55 | mov_10_h2h [label="{{10|Hand to Hand\nTransition}}" URL="https://www.youtube.com/watch?v=0Uk0Rdm3QFs&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=10"]
56 |
57 | mov_11_2hucleandown [label="{{11|Two Hand Pickup\nClean Putdown}}" URL="https://www.youtube.com/watch?v=cQC2y-ByaAw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=11"]
58 | mov_12_clean [label="{{12|Swing Clean}}" URL="https://www.youtube.com/watch?v=_nIsSXWs5iU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=12"]
59 | mov_13_cleanh2h [label="{{13|Clean with\nHand Transition}}" URL="https://www.youtube.com/watch?v=6TVqHl2gtuM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=13"]
60 | mov_14_press [label="{{14|Single Arm\nOverhead Press}}" URL="https://www.youtube.com/watch?v=XHkI03S6Pls&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=14"]
61 | mov_15_news [label="{{15|Newspaper drill}}" URL="https://www.youtube.com/watch?v=htByOXjHLXE&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=15"]
62 | mov_16_startstopclean [label="{{16|Start Stop Clean}|START & END CLEAN}" URL="https://www.youtube.com/watch?v=XbK3jxI0WNQ&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=16"]
63 | mov_17_cap [label="{{17|Clean & Press}}" URL="https://www.youtube.com/watch?v=SSxB3m5qRas&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=17"]
64 | mov_18_caph2h [label="{{8|Clean & Press with\nHand Transition}}" URL="https://www.youtube.com/watch?v=5Q4vMOYvAGg&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=18"]
65 | mov_19_startstopcap [label="{{19|Start Stop\nClean & Press}|START & END C&P}" URL="https://www.youtube.com/watch?v=dSj3kqbuois&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=19"]
66 | mov_20_gobboxsquat [label="{{20|Bottoms-Up Goblet\nBox Squat}|SQUAT BACK}" URL="https://www.youtube.com/watch?v=k5Bc7pkEmrU&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=20"]
67 |
68 | mov_21_boxsquathalo [label="{{21|Goblet Box Squat\nwith Halo}|STAND AT TOP}" URL="https://www.youtube.com/watch?v=Aik5-BStbnc&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=21"]
69 | mov_22_gobsquathalo [label="{{22|Goblet Squat\nwith Halo}|FULL DEPTH}" URL="https://www.youtube.com/watch?v=cnZ8Mx8NQPE&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=22"]
70 | mov_23_racksquat [label="{{23|Single-Bell Front Squat}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=23"]
71 | mov_24_racklunge [label="{{24|Rack Opposite Leg\nStep-Back Lunge}|VERTICAL SPINE}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=24"]
72 | mov_25_clean2sblunge [label="{{25|Clean Step-Back Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=25"]
73 | mov_26_halfkneelclean [label="{{26|Half-Kneeling Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=26"]
74 | mov_27_cleansblungeclean [label="{{27|Clean Step-Back\nLunge Clean}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=27"]
75 | mov_28_floorpress [label="{{28|Single-Bell Floor Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=28"]
76 | mov_29_halfkneelcap [label="{{29|Half-Kneeling\nClean & Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=29"]
77 | mov_30_floorpressroll [label="{{30|Floor Press with Roll}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=30"]
78 |
79 | mov_31_kneelwindmill [label="{{31|Half-Kneeling Windmill}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=31"]
80 | mov_32_quartgu [label="{{32|Quarter Turkish Get-Up}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=32"]
81 | mov_33_kneelcapwindmill [label="{{33|Half-Kneeling\nClean & Press Windmill}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=34"]
82 | mov_34_halfgu [label="{{34|Half Get-Up}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=35"]
83 | mov_35_cap2ohsblunge [label="{{35|Clean & Press to Overhead\nStep-Back Lunge}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=37"]
84 | mov_36_kneelhipdrop [label="{{36|Half-Kneeling Hip Drop}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=38"]
85 | mov_37_halfgu2hip [label="{{37|Half Get-Up\nto Hip Pass}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=39"]
86 | mov_38_kneelcap2hip [label="{{38|Half-Kneeling Clean & Press\nto Hip Drop}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=40"]
87 | mov_39_boxsquat2boat [label="{{39|Box Squat to Boat Pose}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=41"]
88 | mov_40_bwspinalrock [label="{{40|Spinal Rock\n(Bodyweight)}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=42"]
89 |
90 | mov_41_flatbackpullover [label="{{41|Flat Back Pullover}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=43"]
91 | mov_42_halfgu2kneel [label="{{42|Half Get-Up to Hip Pass\n(to Half-Kneeling)}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=45"]
92 | mov_43_spinalrock [label="{{43|Spinal Rock}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=48"]
93 | mov_44_pushpress [label="{{44|Push Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=49"]
94 | mov_45_gobsquatcurl [label="{{45|Rock-Bottom\nCurl with Goblet Squat}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=50"]
95 | // Missing 46
96 | mov_47_racksquatpickup [label="{{47|Rock-Bottom\nFront Squat Pickup}|PAUSE AT BOTTOM}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=52"]
97 | mov_48_thruster [label="{{48|Thruster}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=48"]
98 | mov_49_seatedpress [label="{{49|Seated Two-Handed\nOverhead Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=54"]
99 | mov_50_2hdeadclean2rack [label="{{50|Two-Handed Dead Clean\nto Double Front Rack}}" URL="https://www.youtube.com/watch?v=acqKxfMGAbk&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=55"]
100 |
101 | mov_51_fourcountsquat [label="{{51|Four-Count Squat\n(Bodyweight)}}" URL="https://www.youtube.com/watch?v=1rkGfL1EdWI"]
102 | mov_52_rackaltshinbox [label="{{52|Rack Alt Shinbox}}" URL="https://www.youtube.com/watch?v=AoEYX36Q2Zg"]
103 | mov_53_hornygobsquat [label="{{53|Handle Up\nGoblet Squat}}" URL="https://www.youtube.com/watch?v=i2AtDi4yZSA"]
104 | mov_54_shinboxpress [label="{{54|Contra Shinbox Press}}" URL="https://www.youtube.com/watch?v=FEbi2lKVEHU"]
105 | mov_55_backpullsituppress [label="{{55|Flat Back Pullover Situp Press}}" URL="https://www.youtube.com/watch?v=KTDVl0Lkdc4&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=57"]
106 | mov_56_suitcasedl [label="{{56|Suitcase Deadlift}}" URL="https://www.youtube.com/watch?v=d6i6MwVOmk0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=58"];
107 | mov_57_dblsuitcase [label="{{57|Double Suitcase}}" URL="https://www.youtube.com/watch?v=4PSOSrDcGfc&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=59"];
108 | mov_58_dblsumodl [label="{{58|Double Sumo Deadlift}}" URL="https://www.youtube.com/watch?v=gdutIla6nMw"];
109 | mov_59_halfsnatchdown [label="{{59|Half Snatch Down}}" URL="https://www.youtube.com/watch?v=u2NbMtX_Rb0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=60"];
110 | mov_60_dblswing [label="{{60|Double Swing}}" URL="https://www.youtube.com/watch?v=P5IFTJySA_s&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=61"];
111 |
112 | mov_61_halfsnatchup [label="{{61|Half Snatch Up}}" URL="https://www.youtube.com/watch?v=3HEmUyLYjjc"];
113 | mov_62_dblclean [label="{{62|Double Clean}}" URL="https://www.youtube.com/watch?v=Qe9ejhAtdGY&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=62"];
114 | // Double Rockit is labeled #64 but #63 was missed, so putting here.
115 | mov_63_dblrockit [label="{{64?|Double Rockit}}" URL="https://www.youtube.com/watch?v=zXB6hFrrBkA&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=63"];
116 | mov_64_dbloutswing [label="{{64|Double\nOutside Swing}}" URL="https://www.youtube.com/watch?v=yr_fRgGevsE"];
117 | mov_65_dblcap [label="{{65|Double\nClean & Press}}" URL="https://www.youtube.com/watch?v=RizGV8ef--s"];
118 | mov_66_snatch [label="{{66|Full Snatch}}" URL="https://www.youtube.com/watch?v=f-zkPiAlpQw&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=65"];
119 | mov_67_dblsquat [label="{{67|Double\nFront Squat}}" URL="https://www.youtube.com/watch?v=dX5yXJa5Dm0&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=66"];
120 | mov_68_dblclean2squat [label="{{68|Double Clean\nto Front Squat}}" URL="https://www.youtube.com/watch?v=R3s6Wb_ApHM"];
121 | mov_69_snatchpress [label="{{69|Snatch Press}}" URL="https://www.youtube.com/watch?v=IzFPa_Q1yHM&list=PLk4oYPJ7TXKhX8YqA2AVrfgs_pEF6p7KA&index=67"];
122 | mov_70_kneelsnatchup [label="{{70|Half-Kneeling Snatch Up}}" URL="https://www.youtube.com/watch?v=1_UrK5SopL4"];
123 |
124 | mov_71_deaddblclean [label="{{71|Dead Stop\nDouble Clean}}" URL="https://www.youtube.com/watch?v=22bKQqMqAQY"];
125 | mov_72_deck [label="{{72|Deck Squat}}" URL="https://www.youtube.com/watch?v=vUJ3sZVwZ4Y"];
126 | mov_73_2hsbldl [label="{{73|Two Hand Single\nBent Leg Deadlift}}" URL="https://www.youtube.com/watch?v=-RD1qqe7P8M"];
127 | mov_74_dblhangclean2squat [label="{{74|Double Hang Clean\nTo Squat}}" URL="https://www.youtube.com/watch?v=SdPEkv56Lt8"];
128 | mov_75_2hssldl [label="{{75|Two Hand Single\nStraight Leg Deadlift}}" URL="https://www.youtube.com/watch?v=tMt2hzfFGzo"];
129 | mov_76_dblhangcap [label="{{76|Double Dead Hang\nClean & Press}|SLOW DOWN TO ENDURE}" URL="https://www.youtube.com/watch?v=ieDA4V9WGNQ"];
130 | mov_77_shsldl [label="{{77|Single Hand\nSingle Leg Deadlift}|ONE-SIDE BALANCE}" URL="https://www.youtube.com/watch?v=1K4hgXfUinU"];
131 | mov_78_dblcleansqpress [label="{{78|Double Clean Squat Press}}" URL="https://www.youtube.com/watch?v=fWPDPBliCEk"];
132 | mov_79_kneelsnatchdown [label="{{79|Half-Kneeling Snatch Down}|KB CLOSE TO BODY}" URL="https://www.youtube.com/watch?v=okO-7womT5Q"];
133 | mov_80_dblhangcsp [label="{{80|Double Dead\nHang Clean\nSquat Press}}" URL="https://www.youtube.com/watch?v=DpGOSw7kGO0"];
134 |
135 | mov_81_kneelsnatch [label="{{81|Half Kneeling\nFull Snatch}}" URL="https://www.youtube.com/watch?v=axx4kfUzkl4"];
136 | mov_82_dblcleanpresssq [label="{{82|Double Clean\nPress Squat}}" URL="https://www.youtube.com/watch?v=t5fDkX3vjiU"];
137 | mov_83_dblcleansblunge [label="{{83|Double Clean\nRack Step Back Lunge}}" URL="https://www.youtube.com/watch?v=mNt7guHRP4U"];
138 | mov_84_s2sswing [label="{{84|Side to Side Swing}|LATERAL ROTATION}" URL="https://www.youtube.com/watch?v=W_04Zv3p2HM"];
139 |
140 | mov_01_deadlift -> mov_02_swing;
141 | mov_01_deadlift -> mov_03_atw;
142 | mov_01_deadlift -> mov_04_halo;
143 | mov_01_deadlift -> mov_08_2hu1hd;
144 | mov_02_swing -> mov_09_saswing;
145 | mov_09_saswing -> mov_10_h2h;
146 | mov_08_2hu1hd -> mov_11_2hucleandown;
147 | mov_09_saswing -> mov_11_2hucleandown;
148 | mov_12_clean -> mov_13_cleanh2h;
149 | mov_08_2hu1hd -> mov_14_press;
150 | mov_04_halo -> mov_20_gobboxsquat;
151 | mov_10_h2h -> mov_13_cleanh2h;
152 |
153 | mov_08_2hu1hd -> mov_23_racksquat;
154 | mov_23_racksquat -> mov_24_racklunge;
155 | mov_16_startstopclean -> mov_25_clean2sblunge;
156 |
157 | mov_19_startstopcap -> mov_29_halfkneelcap;
158 |
159 |
160 | subgraph cluster_warmup {
161 | label="Warmups"
162 | mov_04_halo -> mov_07_althalo;
163 | mov_03_atw -> mov_05_atwf2b;
164 | mov_05_atwf2b -> mov_06_atwb2f;
165 |
166 | }
167 |
168 | // LAYOUT HACKS
169 |
170 | {
171 | node [style=invis]
172 | edge [style=invis]
173 |
174 | mov_06_atwb2f -> lay_endwarmup;
175 | mov_19_startstopcap -> lay_endcap
176 | lay_startsnatch -> mov_59_halfsnatchdown;
177 | lay_starttgu -> mov_24_racklunge;
178 | mov_72_deck -> lay_endsquat
179 | }
180 |
181 | // Have warmup precede squat
182 | { rank=same; lay_endwarmup; ext_bw_altshinbox}
183 |
184 | // have C&P precede snatch & tgu
185 | { rank=same; lay_endcap; lay_startsnatch; }
186 |
187 | { rank=same; lay_endsquat; lay_starttgu}
188 |
189 | { rank=same; mov_08_2hu1hd; ext_bw_altshinbox; }
190 | { rank=same; mov_56_suitcasedl; mov_10_h2h}
191 |
192 | // END LAYOUT HACKS
193 |
194 | subgraph cluster_cap {
195 | label="Clean & Press"
196 | mov_11_2hucleandown -> mov_12_clean;
197 | mov_12_clean -> mov_16_startstopclean;
198 | mov_12_clean -> mov_17_cap;
199 | mov_12_clean -> mov_15_news;
200 | mov_14_press -> mov_17_cap;
201 | mov_17_cap -> mov_18_caph2h;
202 | mov_13_cleanh2h -> mov_18_caph2h;
203 | mov_17_cap -> mov_19_startstopcap;
204 | }
205 |
206 | subgraph cluster_tgd {
207 | label="Turkish Get Down/\nTurkish Get Up"
208 | mov_24_racklunge -> mov_25_clean2sblunge;
209 | mov_25_clean2sblunge -> mov_26_halfkneelclean;
210 | mov_26_halfkneelclean -> mov_27_cleansblungeclean;
211 | mov_26_halfkneelclean -> mov_29_halfkneelcap;
212 | mov_29_halfkneelcap -> mov_31_kneelwindmill;
213 | mov_31_kneelwindmill -> mov_33_kneelcapwindmill;
214 | mov_33_kneelcapwindmill -> mov_35_cap2ohsblunge;
215 | mov_27_cleansblungeclean -> mov_35_cap2ohsblunge;
216 | mov_33_kneelcapwindmill -> mov_36_kneelhipdrop;
217 | mov_36_kneelhipdrop -> mov_38_kneelcap2hip;
218 | mov_28_floorpress -> mov_30_floorpressroll;
219 | mov_30_floorpressroll -> mov_32_quartgu;
220 | mov_32_quartgu -> mov_34_halfgu;
221 | mov_34_halfgu -> mov_37_halfgu2hip;
222 | mov_37_halfgu2hip -> mov_42_halfgu2kneel;
223 | }
224 |
225 | mov_35_cap2ohsblunge -> mov_tgd;
226 | mov_35_cap2ohsblunge -> mov_tgu;
227 | mov_38_kneelcap2hip -> mov_tgd;
228 | mov_38_kneelcap2hip -> mov_tgu;
229 | mov_42_halfgu2kneel -> mov_tgd;
230 | mov_42_halfgu2kneel -> mov_tgu;
231 |
232 | ext_bw_squat -> mov_51_fourcountsquat
233 | ext_bw_altshinbox -> mov_52_rackaltshinbox;
234 | mov_12_clean -> mov_50_2hdeadclean2rack;
235 |
236 |
237 |
238 | mov_19_startstopcap -> mov_44_pushpress;
239 | mov_45_gobsquatcurl -> mov_39_boxsquat2boat;
240 | mov_53_hornygobsquat -> mov_39_boxsquat2boat;
241 | mov_22_gobsquathalo -> mov_45_gobsquatcurl;
242 | mov_22_gobsquathalo -> mov_53_hornygobsquat;
243 | mov_23_racksquat -> mov_47_racksquatpickup;
244 | mov_23_racksquat -> mov_48_thruster;
245 |
246 | // Ungrouped drills
247 | mov_44_pushpress -> mov_48_thruster;
248 | mov_55_backpullsituppress -> mov_72_deck;
249 |
250 | subgraph cluster_squat {
251 | label="Squats & Getup"
252 |
253 | // Getups
254 | mov_52_rackaltshinbox -> mov_54_shinboxpress
255 | mov_41_flatbackpullover -> mov_55_backpullsituppress;
256 | mov_49_seatedpress -> mov_55_backpullsituppress;
257 |
258 | // Squats
259 | mov_20_gobboxsquat -> mov_21_boxsquathalo;
260 | mov_21_boxsquathalo -> mov_22_gobsquathalo;
261 | mov_22_gobsquathalo -> mov_23_racksquat;
262 | mov_39_boxsquat2boat -> mov_72_deck;
263 | mov_40_bwspinalrock -> mov_43_spinalrock;
264 | mov_43_spinalrock -> mov_72_deck;
265 | mov_45_gobsquatcurl
266 | mov_47_racksquatpickup
267 | mov_51_fourcountsquat
268 | mov_53_hornygobsquat
269 | }
270 |
271 | ext_hc_dblswing -> ext_hc_dblrockit;
272 | ext_hc_dblrockit -> mov_63_dblrockit;
273 | mov_10_h2h -> mov_60_dblswing;
274 |
275 |
276 | mov_16_startstopclean -> mov_62_dblclean;
277 | mov_16_startstopclean -> mov_59_halfsnatchdown;
278 | mov_19_startstopcap -> mov_65_dblcap;
279 | mov_01_deadlift -> mov_56_suitcasedl;
280 |
281 |
282 | // Ungrouped drills
283 | mov_56_suitcasedl -> mov_57_dblsuitcase;
284 |
285 | ext_hc_s2sswing -> mov_84_s2sswing;
286 |
287 | subgraph cluster_deadlift {
288 | label="Deadlifts"
289 | mov_56_suitcasedl -> mov_73_2hsbldl;
290 | mov_73_2hsbldl -> mov_75_2hssldl -> mov_77_shsldl;
291 | mov_75_2hssldl -> mov_84_s2sswing;
292 | }
293 |
294 | subgraph cluster_double {
295 | label="Doubles"
296 | mov_64_dbloutswing -> mov_63_dblrockit
297 | mov_57_dblsuitcase -> mov_58_dblsumodl;
298 | mov_60_dblswing -> mov_62_dblclean;
299 | mov_62_dblclean -> mov_65_dblcap;
300 | mov_62_dblclean -> mov_67_dblsquat;
301 | mov_67_dblsquat -> mov_68_dblclean2squat;
302 | mov_62_dblclean -> mov_71_deaddblclean;
303 | mov_58_dblsumodl -> mov_60_dblswing;
304 | mov_60_dblswing -> mov_64_dbloutswing;
305 | mov_68_dblclean2squat -> mov_74_dblhangclean2squat;
306 | mov_65_dblcap -> mov_76_dblhangcap;
307 | {mov_76_dblhangcap, mov_68_dblclean2squat} -> mov_78_dblcleansqpress;
308 | {mov_74_dblhangclean2squat, mov_78_dblcleansqpress} -> mov_80_dblhangcsp;
309 | {mov_78_dblcleansqpress} -> mov_82_dblcleanpresssq
310 | {mov_68_dblclean2squat} -> mov_83_dblcleansblunge
311 | }
312 |
313 | subgraph cluster_snatch {
314 | label="Snatch"
315 | mov_59_halfsnatchdown -> mov_61_halfsnatchup -> mov_66_snatch;
316 | mov_70_kneelsnatchup -> mov_79_kneelsnatchdown -> mov_81_kneelsnatch -> mov_66_snatch
317 | mov_66_snatch -> mov_69_snatchpress;
318 | }
319 |
320 | { rank = sink;
321 | Legend [shape=none, margin=0, label=<
322 |
323 |
324 | | Legend |
325 |
326 |
327 | | Prerequisites and next steps |
328 | |
329 |
330 |
331 | | Drills |
332 | |
333 |
334 |
335 | | Warmup drills |
336 | |
337 |
338 |
339 | | Learning drills |
340 | |
341 |
342 |
343 | >];
344 | }
345 | }
346 | @enddot
347 |
--------------------------------------------------------------------------------