Name
Vivian Leung
Contact
Blender chat: @vivz753
Synopsis
Flamenco has essential functions for managing and viewing render jobs, however, it could benefit from additional features that could speed up the workflow and improve the user experience. Taken from two of Blender’s project ideas for GSoC 2025: Web Configuration and Polish & Shine which both have the proposed mentor Sybren Stüvel, I plan to implement the following features: 1) a YAML configuration editor 2) mass job deletion and 3) UI-related bug fixes that are flagged in the Issues page.
Benefits
Studios that use Blender and are seeking to maximize their render efficiency with Flamenco will find these features handy, especially as the amount of renders scale and ease of management becomes essential. Artists who are unfamiliar with the scripting languages that come with custom tooling may find it daunting to configure or troubleshoot Flamenco. Additionally, these features aim to reduce the likelihood of unexpected errors, stall times, and redundant renders, allowing teams to move quickly and confidently especially in cases where design changes are introduced or the discovery of an unwanted detail occurs after multiple jobs have already been submitted.
- By adding a configuration editor, users can easily edit and visualise the YAML file through an easy-to-use form. It will provide validation for the config options using inputs, dropdowns, and switches, and confirm with the user before being applied. This will prevent erroneous inputs and improve users’ understanding of settings options, and is an improvement to the original method of editing YAML files which requires users to make changes in a text editor.
- By adding a mass job deletion feature, users can easily clean up multiple render jobs on the Flamenco web app, making large job sets more manageable.
- By adding UI-related bug fixes, the app will provide an overall improved user experience.
Deliverables
1. | Add YAML Configuration Editor Issue #99426 |
---|---|
1. Add a tab for where a user can retrieve, edit, visualise, and save the configuration | |
2. Add validators for the config options, so changes can be checked before taking hold | |
3. Optionally (if time allows): a way for Flamenco Manager to load & apply the config w/o restarting the process | |
4. Optionally (if time allows): a custom job type for validating config paths, so that, for example, a macOS path can be actually checked on a Worker running macOS | |
2. | Add a function for the mass deletion of jobs |
3. | Fix several issues from the tracker regarding cosmetic tweaks to the web interface UI/UX |
4. | End user documentation |
Project Details
Deliverable 1: Mockup for the YAML Configuration page using settings based on Flamenco v3
This forum limits the amount of images allowed for new users to post.
For the latest mockups, view the Figma.
Currently, someone already has a PR #104372 for a backend API call to update the YAML file. I will reach out to see if I can lead the frontend and combine our efforts, otherwise pursue any and all unfinished parts.
Deliverable 2: Mockup for the mass job deletion feature
Description: Users should be able to delete a selected job and all the ones preceding it. First, they can select the job, click “Delete Preceding Jobs”, and confirm with the pop up modal. Clicking “Delete” will trigger an API call which marks all jobs older than a certain timestamp for deletion.
Hovering over the button will display a tooltip that describes its functionality.
Project Schedule
This will be adjusted as needed, and is based on the latest meeting agenda.
Finish up open PR’s (within next 2 weeks)
- multi-select for Tasks
- freeze the UI when holding shift
- multi-select for Jobs
- multi-select for Workers
First iteration (4 weeks):
- Start working on YAML config editor (primary)
- Work on multi-select for jobs and workers (secondary)
Second iteration (2 weeks):
- Keep working on YAML config editor (primary)
- Work on mass job deletion (secondary)
Third iteration: (2 weeks)
- Keep working on YAML config editor (primary)
- Work on any UI related issues i.e. resize handlers (secondary)
Final iteration: (2 weeks)
- Write end user documentation
- Test cases
Bio
My name is Vivian and I received a B.S. in Software Engineering at San Jose State University in 2019. I have 3 years of experience doing web development, and am looking for interesting projects to build my skills in the meantime as I take a break from working in the industry. In my free time, I paint and draw in traditional and digital mediums. Last summer, I took an Introduction to Blender course where I learned to model, light, and render an Italian Food Truck.
Javascript, HTML, and CSS are my strongest languages, and I am comfortable in C++ and Python when needed. I am new to Go, and am currently studying the language as I familiarize myself with the Flamenco API. In my work experience, I have built libraries for a wide range of custom web components. For a samples of my frontend work, see https://carrotsandhummus.art
, an e-commerce store with UI/UX inspired by Neopets, BEA Technologies, a product landing page, and Materials Designer, a prototype I built in five days, with UI/UX inspired by classic terminal themes, which features a 3d visualizer and text editor for manipulating crystal lattices.
I am constantly looking for opportunities to unite my artistic intuition with my engineering background and was happy to see Blender on the GSoC approved organizations. It is my first time participating in GSoC and seeing that Blender has projects involving web technologies, I see it as a great chance for me to make a meaningful contribution, learn Go, and receive quality mentorship.