@@ -43,6 +43,97 @@ flowchart LR
4343 B --> C@{ shape: stadium, label: "Wednesday's improvements"}
4444```
4545
46+ ``` mermaid
47+ %% Direction is top->down
48+ flowchart TD
49+
50+ %% Give a white background, instead of a transparent one
51+ classDef node fill:#fff,color:#000,stroke:#000
52+ classDef focus_node fill:#fff,color:#000,stroke:#000,stroke-width:4px
53+ classDef basic_node fill:#fdd,color:#000,stroke:#f00
54+ classDef basic_extra_node fill:#ffd,color:#000,stroke:#ff0
55+ classDef intermediate_node fill:#dfd,color:#000,stroke:#0f0
56+
57+ %% subgraph sub_basic_use[Basic use of Bianca]
58+ understand_login(Understand login, has 2FA):::basic_node
59+ can_login_to_remove_desktop(Can login to remote deskop):::basic_node
60+ can_login_to_console(Can login to console):::basic_extra_node
61+ can_navigate_filesystem_using_gui(Can navigate filesystem using GUI):::basic_node
62+ can_navigate_filesystem_using_cli(Can navigate filesystem using CLI):::basic_extra_node
63+ can_find_wharf(Can find the wharf):::basic_node
64+ can_use_command_line_1(Can use the command line 1):::basic_node
65+ can_use_modules(Can use modules):::basic_node
66+ can_use_interactive_node(Can use an interactive node):::basic_node
67+ can_manage_files_using_cli(Can manage files using CLI):::basic_extra_node
68+ can_schedule_jobs(Can schedule jobs):::basic_node
69+ can_create_bash_script_using_cli(Can create a bash script using CLI):::basic_node
70+ can_tranfer_files_using_gui(Can transfer files using GUI):::basic_node
71+ %% end
72+ %% style sub_basic_use fill:#fcc,color:#000,stroke:#fcc
73+
74+ %% subgraph sub_intermediate_use[Intermediate use of Bianca]
75+ can_tranfer_files_using_rsync(Can transfer files using rsync):::intermediate_node
76+ can_use_command_line_2(Can use the command line 2):::intermediate_node
77+ can_use_custom_software(Can use custom software):::intermediate_node
78+ can_use_custom_python_pip(Can use custom Python packages using pip):::intermediate_node
79+ can_use_custom_python_conda(Can use custom Python packages using conda):::intermediate_node
80+ can_use_custom_r(Can use custom R packages):::intermediate_node
81+ can_use_container(Can use a container):::intermediate_node
82+ can_build_from_source(Can build software from source):::intermediate_node
83+
84+ can_monitor_jobs(Can monitor jobs):::intermediate_node
85+ can_use_gpus(Can use GPUs):::intermediate_node
86+ can_use_partitions(Can use partitions):::intermediate_node
87+ can_use_ide(Can use an IDE):::intermediate_node
88+ %% end
89+ %% style sub_intermediate_use fill:#ffc,color:#000,stroke:#ffc
90+
91+
92+ %% Basic
93+ understand_login --> can_login_to_remove_desktop
94+ can_login_to_remove_desktop --> can_login_to_console
95+ can_login_to_remove_desktop --> can_use_command_line_1
96+ can_login_to_remove_desktop --> can_navigate_filesystem_using_gui
97+ can_navigate_filesystem_using_gui --> can_find_wharf
98+ can_login_to_console --> can_navigate_filesystem_using_cli
99+ can_navigate_filesystem_using_cli --> can_find_wharf
100+ can_find_wharf --> can_tranfer_files_using_gui
101+ understand_login --> can_login_to_console
102+ can_login_to_console --> can_use_command_line_1
103+ can_use_command_line_1 --> can_use_modules
104+ can_use_command_line_1 --> can_use_interactive_node
105+ can_use_command_line_1 --> can_use_command_line_2
106+ can_use_command_line_1 --> can_create_bash_script_using_cli
107+ can_use_command_line_1 --> can_schedule_jobs
108+ can_navigate_filesystem_using_cli --> can_manage_files_using_cli
109+ can_use_modules --> can_schedule_jobs
110+ can_create_bash_script_using_cli --> can_schedule_jobs
111+
112+ %% Basic -> Intermediate
113+ can_manage_files_using_cli --> can_tranfer_files_using_rsync
114+ can_find_wharf --> can_tranfer_files_using_rsync
115+ can_schedule_jobs --> can_monitor_jobs
116+ can_schedule_jobs --> can_use_gpus
117+ can_schedule_jobs --> can_use_partitions
118+ can_use_interactive_node --> can_use_ide
119+ can_use_modules --> can_use_ide
120+
121+ %% Make sure Intermediate is below Basic,
122+ %% using invisible nodes
123+ can_schedule_jobs ~~~ can_use_command_line_2
124+
125+ %% Intermediate
126+ can_use_command_line_1 --> can_tranfer_files_using_rsync
127+ can_use_command_line_2 --> can_use_custom_software
128+
129+ can_use_custom_software --> can_use_custom_python_pip
130+ can_use_custom_software --> can_use_custom_python_conda
131+ can_use_custom_software --> can_use_custom_r
132+ can_use_custom_software --> can_build_from_source
133+ can_use_custom_software --> can_use_container
134+ ```
135+
136+
46137---
47138
48139In the real world, things develop non-linearly:
0 commit comments