GSoC '26 Community Bonding Blog by Shreya Saxena#846
Conversation
🎉 All Checks Passed!
✅ Completed Workflows
🚀 This PR is ready for review and can be safely merged to Great work! Your code meets all quality standards. 👏 |
|
@pikurasa can you please review and let me know any changes? |
b187019 to
d134d8e
Compare
🎉 All Checks Passed!
✅ Completed Workflows
🚀 This PR is ready for review and can be safely merged to Great work! Your code meets all quality standards. 👏 |
|
|
||
| ## About Me | ||
|
|
||
| Hello everyone, I'm Shreya Saxena, a second-year B.Tech student in Smart Manufacturing at IIIT Jabalpur. I'll be working on **Music Blocks Performance** at Sugar Labs this summer as a Google Summer of Code 2026 contributor. |
There was a problem hiding this comment.
I recommend making "Music Blocks Performance" a link to something relevant, such as the GSoC ideas page.
|
|
||
| Music Blocks v3 is a browser-based visual programming environment used by students and educators worldwide. As projects grow in complexity, with more voices, larger block graphs, and MIDI imports, users hit a wall: the interface freezes with no indication of whether it's working, stuck, or crashed. Students in time-limited classroom sessions often end up force-refreshing the browser and losing their work. | ||
|
|
||
| The core problem is that long-running operations like LilyPond export, MIDI import, and complex block graph execution all run synchronously on the main thread with no yielding, no progress feedback, and no way to cancel. On top of that, there's no systematic measurement of where things degrade, so optimization efforts have historically been reactive rather than evidence-based. |
There was a problem hiding this comment.
A lot of people reading this won't know what Lilypond is. I recommend linking to it. Maybe link to a good description of MIDI as well.
| ## Community Bonding Activities | ||
| The community bonding period has focused on connecting with the Music Blocks community, discussing project direction and expectations with mentors, collaborating with contributors, and helping newcomers get familiar with the codebase and contribution workflow. Alongside this, I’ve been building the instrumentation and profiling foundation required for the project. | ||
|
|
||
| A major focus has been `crabcanon-plot.html`, which Walter suggested as an initial benchmark due to noticeable performance regressions over time. The project plays a melody forwards and backwards simultaneously across parallel voices, with rendering and execution tightly coupled on the main thread. |
There was a problem hiding this comment.
I think it would be good to also link to crabcanon, either the MB link from the planet, or to its place in the repo via GH in examples folder.
| To analyze this, I built a Phase 1 instrumentation layer (`performanceTracker.js`) with operation-scoped timing hooks, along with a Playwright headless benchmark setup that exports JSON baseline results. | ||
|
|
||
| <a href="https://postimg.cc/w3VhyhQd"> | ||
| <img src="https://i.postimg.cc/65szPc7T/Crabcanon-plot-research.jpg" alt="Crabcanon Performance Profiling Baseline Results" border="0"> |
There was a problem hiding this comment.
Instead of offloading the image to another site, I recommend downloading it to the assets folder and calling it from there.
🎉 All Checks Passed!
✅ Completed Workflows
🚀 This PR is ready for review and can be safely merged to Great work! Your code meets all quality standards. 👏 |
|
@pikurasa I addressed all review comments. Please take a look! |
4cda643 to
9f7c89c
Compare
🎉 All Checks Passed!
✅ Completed Workflows
🚀 This PR is ready for review and can be safely merged to Great work! Your code meets all quality standards. 👏 |
📝 Description
Adds my GSoC '26 Community Bonding Report blog post as a new page on the Sugar Labs website, along with my one-time author profile.
This is my introductory post for GSoC '26, where I'll be working on Music Blocks Performance under mentors Walter Bender and Om Santosh Suneri. The post introduces me to the community, gives an overview of the project, and outlines my plan for the first two weeks of the coding period.
Files added:
src/constants/MarkdownFiles/authors/shreya-saxena.md— author profile (one-time setup)src/constants/MarkdownFiles/posts/2026-05-23-gsoc-26-shreya-saxena-community-bonding.md— community bonding blog postcc mentors: @walterbender @omsuneri
🔗 Related Issue
N/A — GSoC '26 community bonding blog post submission, not tied to an issue.
🔄 Type of Change
📷 Visual Changes
No visual changes. This PR only adds two markdown content files; no components, styles, or layouts are modified.
🧪 Testing Performed
📱 Browser Compatibility
N/A as content-only change, no rendering logic touched.
🖥️ Responsive Design
N/A as content-only change, no layout modified.
✅ Test Cases
title,excerpt,category,date,slug,author,tags,image).author: "@/constants/MarkdownFiles/authors/shreya-saxena.md".YYYY-MM-DD-gsoc-26-username-*.md.<!-- markdownlint-disable -->) is present.npm run lint— passed with no errors.npm run build— built successfully in 11.23s.♿ Accessibility
N/A as no UI changes. Markdown headings follow a proper hierarchy (H2 → H3).
📋 PR Checklist
💭 Additional Notes
This is my community bonding blog post for GSoC '26. I plan to follow up with weekly updates throughout the coding period using the same blog post template.
📚 Reviewer Resources
Thank you for contributing to the Sugar Labs website! 🎉