In the “PRs” section you will find all the pull requests (PRs) related to my Google Summer of Code 2025 project.
In the “Logs” section instead you will find what I worked on each day. Most of the features/bugs I worked on each day are underlined and have a superscript number #n. This number is equivalent to the number of the PR in which these features/bugs that I have worked on were merged into the code. This was done to show in which PR my work went each day.
PR#60 = Reverted the hacks done to create a personalized title bar and restored the “standard Qt” look for the title bar
PR#61 = Removed some superfluous MainWindow’s methods and icon memory waste
PR#62 = Standardized the QStyleSheet “arbalest_simple.qss” to appear the same way on Windows (Windows 11) and Linux (Ubuntu 24.04.1 LTS)
PR#63 = Added a dedicated method that sets UI elements icons and added more theme variables for icon colors
PR#64 = Added support for changing themes at runtime (without having to reopen arbalest)
Logs
Community Bonding Period:
05/08 Thu: Discovered that my project got accepted! 😊🎉
05/09 Fri: Dealt with all the GSoC-related bureaucratic stuff
05/10 Sat: Created this repo to share with my mentors what I am working / have worked on
05/12 Mon: Made a quick fix to revert the hacks done to create a personalized title bar and restore the “standard Qt” look#60. I tested this code only on Ubuntu 24.04.1 LTS
05/13 Tue: Started working on prototyping a basic CLI? in order to try to identify possible issues that could arise (so that I can discuss them with the mentors before the Coding Period starts)
05/14 Wed: Participated in the “Welcome 2025 Contributor talk and Q&A” by the GSoC team
05/15 Thu: Kept working on the CLI prototype?
05/19 Mon: Tried all day to build and compile brlcad, MOOSE and arbalest on Windows 11, but without any luck (for some reason arbalest cannot execute properly because it does not find Qt6OpenGLWidgets). Although, I think that I did spot a bug that can be easily solved: when compiling arbalest, I got the error rpcndr.h: 'byte': ambiguous symbol (this is a known issue with Windows headers). To fix it, I simply removed the using namespace std; in Utils.h, and I then changed all the few instances where this statement was meaningful by manually adding std::#59
05/20 Tue: A storm caused a problem with my Internet Service Provider in my local area, so I basically didn’t have Internet all day… I kept trying to build arbalest though, but with no success unfortunately
05/22 Thu: Internet got fixed finally. Also I kept working on the CLI prototype?, particularly exploring how to use the already created QgConsole (in qtcad)
05/23 Fri: Worked on the CLI prototype?
05/25 Sun: Started working on the new theme creator featurex, focusing on how to make it so that themes can be changed at runtime (without closing and reopening the application)
05/26 Mon: Kept working on the new theme creator featurex
05/27 Tue: Found a way to make it so that themes can change at runtime without restarting the application#64. I need to make it sure that it works correctly in all possible cases
05/29 Thu: Worked on the CLI prototype?, focusing on the best way to bridge or reuse qtcad’s Qt Widgets without breaching arbalest’s clean and easy-to-scale implementation
06/01 Sun: Video chat with BRL-CAD’s old and new GSoC contributors and mentors before the Coding Period officially begins
Coding Period (1st half):
Week 1:
06/02 Mon: Prepared PR#59 and PR#60 that I will do after I can test them on Windows 11. Kept trying to build arbalest on Windows 11
06/03 Tue: Worked on fixing how arbalest themes appear on Linux#62. Kept trying to build arbalest on Windows 11
06/04 Wed: Finally built arbalest on Windows 11! Opened PR#59. Tested PR#60 on Windows 11
06/05 Thu: Participated in the “Special Q&A session regarding the Coding Period” by the GSoC team. Opened PR#60
06/06 Fri: Worked on standardizing how themes look on Linux and Windows 11#62
06/09 Mon: Worked on standardizing how themes look on Linux and Windows 11#61,#62
06/11 Wed: Finished standardizing how themes look on Linux and Windows 11#62,#63
06/12 Thu: Worked on a few bugs related to how themes look on Linux and Windows 11#61,#62#,#63,#64 (e.g: icons colors, refreshing icons at runtime, refreshing properties at runtime, refreshing viewports background colors at runtime, …)
06/13 Fri: Fully implemented support for changing themes at runtime#64!
06/14 Sat: Ironed out the new style and themes#62 and the new feature for changing themes at runtime#64