Hello all 
When a question is asked on this forum, it’s very common that a member of the team forwards to the expert of the considered topic, commenting something like cc @sebavan , cc @RaananW or cc @Deltakosh etc… And that had me curious about who has worked on which part of the repo 
Yesterday night, playing with parsing the whole git repository with a Python script, I ended up with some funny stats based on the git blame
of each file of the source !
So, here it is, have fun !
BabylonJS Repository Viewer 
It’s 100% using BabylonJS of course, GUI included 
A few comments about the structure :
- It’s based on the
HEAD
of master
on the official repo
- It’s using only the files inside
/src/
folder of each subfodler. Any other file is not considered (for now…)
- It’s computed using the
git blame
of each file :
- Considering that
git blame
gives commit hash and user of each line of a file, it means that if commit B
replaces a line of commit A
, then commit A
doesn’t exist anymore for this line.
- To make it simple, any code from the past which as been deleted is not considered, which is why the total ammount of commits is arround
16k
while the official repos claims about 43k
commits
- It’s the same on a user stat : commit count is only referring to existing lines in the current state of the
master
HEAD
- To sum it up, it’s not perfect, the last commit to edit a line (ex : linting) takes the line for the stat regardless of the past
- The profile pictures are directly loaded from Github at run time (my python script retrieved the Github user and avatar direct URL using the commit hash and some Github API requests)
I Already like the tool 
For example : issue with XR, and wonder who are the bosses of XR ? Just click the XR folder, and BOOM :
You have the list of the 29 contributors 
Also, a click on a user opens its commit history on the Github official repo
I hope you will like this little tribute to this awesome team and it’s impressive work ! 
++
Tricotou
17 Likes
Ahah that is a nice view !!! but please refrain on ever tagging us as we prefer to do it within the team. It can help us to be mindful of vacations and such 
Ah yes, no worries, the goal of this project was to have a look on contributions per project, but it was not meant to ping the right person each time we have a question
I let you guys do this within the team !
(Ahah and sorry for this ping which is indeed a ping, I should have let a space between the @ and the name to give my example without actually pinging
)
++
Tricotou
1 Like
ahahah, no worries I was glad to be pinged on it 
1 Like
Dude, this absolutely amazing!! I love it! 
One thing which needs to be fixed is when I scroll any of the lists the camera zooms as well.
1 Like
You can use isPointerBlocker = true
to get around this.
I don’t know what your code looks like, but I can inject this code into the console to fix the problem.
scene.layers[0].texture.rootContainer.children[0].isPointerBlocker = true
3 Likes
one extra point for creativity! 
2 Likes
Thanks 
Yeah I had figured out this issue without the time to fix the double trigger UI scroll + Camera Zoom
Perfect ! Thanks a lot for the time save
solved and pushed 
3 Likes
Dude! I love it! this is excellent!!!
All using GUI! nice work man!
@PirateJC / @PatrickRyan : can we mention it on our doc? Maybe forum template?
3 Likes
I can add it as an example in the GUI sections.
4 Likes
Wow ! It would be an honor
Thanks
Maybe I’ll rework and clean a bit the code then, because here all is in a single index.js
file since it was (again ^^) just a test for fun, which ended up in a bigger project 
2 Likes
@Tricotou, I can certainly link to your project in the docs for GUI, but it would be good if there were a playground or code sample on GitHub that users can follow. Do you have anything like that? If not, we can still highlight the project on our community demos page of our web site. And if you want to rework it before we post it, I can certainly wait until you are ready. Thanks!
1 Like
@PatrickRyan what I would propose is :
- I rework a bit the code on my side so that it’s neat & clean if someone has a look
- I provide a playground which just creates the Top N contributors (bottom right of my site) based on a lighter version of the JSON data, which would be included as a single line in the PG.
What do you think ?
2 Likes
@Tricotou, this sounds great. We really want to show usable examples of code in the docs and this is a great use of Babylon GUI so would be a great learning tool for the docs. Thanks for your work in prepping it for us!
1 Like
wow @Tricotou this is an impressive visualization! It’s interesting to see the commits by regions of code. Looks like some renamed files didn’t carry history over to new folders, but it’s not something really likely worthwhile focusing on - it’s the graphical breakdown and that alone is really interesting!! cheers.
good use of GUI. I like your registerBeforeRender for text rotation with ArcRotate. I’m going to borrow that on some of my sample code!! 
1 Like