Skip to content

Commit a3fb144

Browse files
committed
Merge branch 'main' into krish
2 parents 58d3d47 + bc60e09 commit a3fb144

19 files changed

+1248
-2
lines changed
299 KB
Loading
143 KB
Loading

src/constants/MarkdownFiles/authors/nikhil-bhatt.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ avatar: "https://avatars.githubusercontent.com/u/154296996?s=400&u=985121a969ea9
1111

1212
# About Nikhil Bhatt
1313
Nikhil Bhatt is a Google Summer of Code 2025 contributor and full stack product developer with a strong focus on building impactful, scalable tools.
14+
1415
## Experience
1516

1617
- **GSoC 2025**: Music Blocks v3 Backend Development
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: "Shubham Singh"
3+
slug: "shubham-singh"
4+
title: "Maintainer and GSoC'25 Contributor"
5+
organization: "SugarLabs"
6+
description: "Maintainer and GSoC'25 Contributor at SugarLabs"
7+
avatar: "https://avatars.githubusercontent.com/u/174003514?s=400&u=e43600ba24f563f3799388137119ae119c74ffac&v=4"
8+
---
9+
10+
<!--markdownlint-disable-->
11+
12+
# About Shubham
13+
14+
Shubham Singh is a passionate developer, open-source contributor, and Google Summer of Code 2025 contributor at SugarLabs. As a core contributor, he brings together creativity and functionality, optimizing both the user experience and technical performance of projects. Shubham is currently working on enhancing educational tools, with a focus on accessibility, interactivity, and meaningful design—empowering learners globally through open-source innovation.
15+
16+
17+
## Experience
18+
19+
- **GSoC 2025**: Music Blocks v3 color sensor development
20+
- **SugarLabs Maintainer**: Active contributor to various projects
21+
22+
## Current Projects
23+
24+
- Music Blocks v3 Development of Color Sensor.
25+
- SugarLabs website development
26+
27+
28+
## Connect with Me
29+
30+
- **GitHub**: [@FirePheonix](https://github.com/FirePheonix)
31+
- **Email**: [[email protected]](mailto:[email protected])
32+
- **LinkedIn**: [Shubham Singh](https://www.linkedin.com/in/shubham-singh-8a5643198/)
33+
- **Twitter**: [@shubhamm069](https://x.com/shubhamm069)
34+
- **Website**:
35+
- **Discord**: [ctrlaltresett](https://discord.com/users/Shubham#0418)

src/constants/MarkdownFiles/posts/2025-06-08-ssoc-2025-MuhammadHaroon-week01.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ category: "DEVELOPER NEWS"
55
date: "2025-06-08"
66
slug: "2025-06-08-ssoc-25-MuhammadHaroon-week01"
77
author: "@/constants/MarkdownFiles/authors/muhammad-haroon.md"
8-
description: "SSoC'25 Contributor working on Generative AI Instrument Sample Generation for Music Blocks"
98
tags: "ssoc25,sugarlabs,week01,GenAI,MusicBlocks,Music"
109
image: "assets/Images/GSOC.png"
1110
---
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
---
2+
title: "GSoC '25 Week 2 Update by Shubham Singh"
3+
excerpt: "Adding the entire prototyped interface ON TO the music blocks"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-06-14"
6+
slug: "2025-06-14-gsoc-25-firepheonix-week02"
7+
author: "@/constants/MarkdownFiles/authors/shubham-singh.md"
8+
tags:
9+
- gsoc25
10+
- sugarlabs
11+
- week02
12+
- firepheonix
13+
image: "assets/Images/GSOC.png"
14+
---
15+
16+
<!-- markdownlint-disable -->
17+
18+
# Week 2 Progress Report by Shubham Singh
19+
20+
**Project:** [Color Sensor for Music Blocks](https://github.com/sugarlabs/musicblocks/issues/4537)
21+
**Mentors:** [Devin Ulibarri](https://github.com/pikurasa), [Walter Bender](https://github.com/walterbender)
22+
**Reporting Period:** 2025-06-08 – 2025-06-15
23+
24+
---
25+
26+
## Goals for This Week
27+
28+
- Basic UI for Image Upload/Real-time Video upload and adjustment.
29+
- Integrating the developed UIs onto the widget blocks within Music Blocks.
30+
- Researching existing audio integration patterns in the phrase maker and note blocks.
31+
32+
---
33+
34+
## This Week's Achievements
35+
36+
1. **Interface Implementation for Lego Notations**
37+
- Successfully integrated the LegoBricks block directly onto the Music Blocks canvas.
38+
- Modified 6 different files to implement an entirely new block type.
39+
- Music Blocks already has sophisticated color detection for internal pixels, but couldn't detect colors from external sources like uploaded images or webcam feeds — this limitation was addressed.
40+
- The codebase proved beautifully encapsulated and thoroughly documented, making the learning curve smoother.
41+
![Interface Implementation](https://i.ibb.co/d0X9zXjF/1st.png)
42+
43+
2. **Real-time Video Integration**
44+
- Implemented real-time video functionality through webcam integration.
45+
- Added full editing capabilities and canvas manipulation for live video feeds.
46+
- Interface provides seamless interaction between video feed and detection algorithms.
47+
![Real-time Video Feature](https://i.ibb.co/cXL4Hpxq/2nd.png)
48+
49+
3. **Export Mechanism Research**
50+
- Conducted extensive research into existing export mechanisms within Music Blocks.
51+
- Deep-dived into Phrase Maker widget documentation and codebase.
52+
- Studied how different blocks export output as both MIDI files and action blocks.
53+
![Export Research](https://i.ibb.co/bVD8Z54/image.png)
54+
55+
---
56+
57+
## Challenges & How I Overcame Them
58+
59+
- **Challenge:** UI integration complexity — getting the UI integrated into Music Blocks proved more challenging than expected due to intricate dependencies and specific implementation patterns required by the block system.
60+
**Solution:** Leveraged multiple resources including mentor consultations, existing documentation on "how to add new blocks," and analyzed previous implementations for reference patterns.
61+
62+
- **Challenge:** User workflow design — determining optimal user workflow for the Lego Bricks block required careful consideration of user interaction patterns and integration with existing functionality.
63+
**Solution:** Scheduled focused discussion with mentor during regular meeting to analyze phrase maker export functionality, gaining crucial insights into user experience patterns and technical approaches.
64+
65+
---
66+
67+
## Key Learnings
68+
69+
- Gained comprehensive understanding of **output mechanisms** and how different blocks handle their output generation and processing.
70+
- Deepened appreciation for **code architecture** including inheritance patterns, code modularity, and custom return types within the Music Blocks ecosystem.
71+
- Improved skills in **development workflow** including exports, imports, code reusability, documentation practices, and collaborative development workflows.
72+
73+
---
74+
75+
## Next Week's Roadmap
76+
77+
- Implement comprehensive mapping of musical notes to Lego brick colors.
78+
- Complete the core implementation during weeks 2 and 3, ensuring robust functionality and thorough testing.
79+
- Focus on algorithmic challenges for note-to-color mapping system.
80+
81+
---
82+
83+
## Resources & References
84+
85+
- **Project Issue:** [Color Sensor for Music Blocks](https://github.com/sugarlabs/musicblocks/issues/4537)
86+
- **Music Blocks Repository:** [sugarlabs/musicblocks](https://github.com/sugarlabs/musicblocks)
87+
- **Documentation:** Music Blocks Developer Guide
88+
89+
---
90+
91+
## Acknowledgments
92+
93+
Thank you to my mentors [Walter Bender](https://github.com/walterbender) and [Devin Ulibarri](https://github.com/pikurasa) for invaluable guidance throughout this development phase. Special thanks to Walter for his advice during our biweekly meeting on how the phrase maker exports output as ACTION blocks.
94+
95+
---
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: "DMP ’25 Week 2 Update by Aman Naik"
3+
excerpt: "This week's focus was on creating a story builder feature in such a way that it engages creativity of the children."
4+
category: "DEVELOPER NEWS"
5+
date: "2025-06-15"
6+
slug: "2025-06-15-dmp-25-AmanNaik-week02"
7+
author: "@/constants/MarkdownFiles/authors/amannaik247.md"
8+
tags: "dmp25,writeactivity,write,sugarlabs,week01,amannaik247"
9+
image: "assets/Images/c4gt_DMP.png"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 2 Progress Report by Aman Naik
15+
16+
**Project:** [Add an AI-assistant to the Write Activity](https://github.com/sugarlabs/write-activity/issues/52)
17+
**Mentors:** [Walter Bender](https://github.com/walterbender), [Ibiam Chihurumnaya](https://github.com/chimosky)
18+
**Reporting Period:** 2025-06-09 – 2025-06-15
19+
20+
---
21+
22+
## Goals for This Week
23+
24+
- **Goal 1:** Design a story builder feature to help children write stories
25+
- **Goal 2:** Explore ways to integrate AI into the feature
26+
- **Goal 3:** Document the architecture and workflow
27+
- **Goal 4:** Focus on developing creative features that support learning
28+
29+
---
30+
31+
## This Week’s Achievements
32+
33+
1. **Explored Engaging Approaches to Story Writing**
34+
- Through guidance from mentors in biweekly and one-on-one meetings, I explored effective ways to encourage children to write creatively. This included analyzing architecture ideas that support active participation in storytelling.
35+
36+
2. **Finalized the Architecture for the Story Builder Feature**
37+
- After research and discussions, I finalized an architecture that aids students in story writing while ensuring that the AI guides rather than writes the story for them.
38+
39+
![Question-Answer workflow](assets/Images/aman_naik_week2_img1.png)
40+
41+
![Create a framework using the context gained from the Q&A](assets/Images/aman_naik_week2_img2.png)
42+
43+
3. **Created Documentation for Future Reference**
44+
- I’ve documented the feature's flow and design so it can be referred to later. [Link](https://docs.google.com/document/d/14V_FreatUU-gGgiHRdlvNDUXUgmBTWIeFyDaap38RnA/edit?usp=sharing)
45+
46+
---
47+
48+
## Challenges & How I Overcame Them
49+
50+
- **Challenge:** The grammar correction feature was too strict for learning environments.
51+
**Solution:** Since the goal is to foster creativity, I decided to shift focus from strict grammar correction to more engaging, story-focused features. Grammar support can be introduced later as an enhancement.
52+
53+
- **Challenge:** Stories don’t always follow a fixed pattern (e.g., not every story has a villain).
54+
**Solution:** I designed the AI to categorize responses into typical story elements automatically. This adaptive framework allows story parts like “villain” or “sidekick” to remain optional and dynamically appear based on user input.
55+
56+
- **Challenge:** Prevent the AI from writing the story directly.
57+
**Solution:** Due to the resource constraints of Sugar’s environment, I couldn’t run large models locally. I used Hugging Face Spaces to host the models externally and used their APIs inside Sugar for lightweight testing. This also helped keep the feature lightweight and modular.
58+
59+
---
60+
61+
## Key Learnings
62+
63+
**Developed Engaging Pedagogical Strategies for Story Writing**
64+
- Mentors helped me explore interactive ways to encourage children’s creativity, shifting from passive AI responses to more guided interactions.
65+
66+
**Designed and Finalized a Guided AI Architecture**
67+
- I developed a modular design that prompts students to build stories step by step, ensuring they stay involved and learn narrative structure.
68+
69+
**Learned Effective Student-AI Interaction Techniques**
70+
- I realized that giving the AI a playful personality that gently prompts students can make the writing process more enjoyable and educational.
71+
72+
---
73+
74+
## Next Week’s Roadmap
75+
76+
- Begin coding the designed architecture
77+
- Develop a basic Streamlit application to test the feature outside Sugar
78+
- Work on feedback provided by mentors
79+
80+
---
81+
82+
## References
83+
84+
Here’s an insightful video shared by Walter Bender:
85+
[CBS: The Thinking Machine (MIT Film, 1961)](https://www.youtube.com/watch?v=HCl19WKrfeg)
86+
87+
---
88+
89+
## Acknowledgments
90+
91+
Thank you to my mentors, the Sugar Labs community, and fellow contributors for their continued support and encouragement!
92+
93+
---

src/constants/MarkdownFiles/posts/2025-06-15-ssoc-2025-MuhammadHaroon-week02.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ category: "DEVELOPER NEWS"
55
date: "2025-06-15"
66
slug: "2025-06-15-ssoc-25-MuhammadHaroon-week02"
77
author: "@/constants/MarkdownFiles/authors/muhammad-haroon.md"
8-
description: "SSoC'25 Contributor working on Generative AI Instrument Sample Generation for Music Blocks"
98
tags: "ssoc25,sugarlabs,week02,GenAI,MusicBlocks,Music"
109
image: "assets/Images/GSOC.png"
1110
---
@@ -54,6 +53,7 @@ image: "assets/Images/GSOC.png"
5453
## Next Week's Roadmap
5554

5655
- Generate more samples using AudioGen and save them in Google Drive.
56+
- Experiment with temperature and top_p parameters in AudioGen.
5757

5858
---
5959

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
---
2+
title: "GSoC ’25 Week 06 Update by Aditya Kumar Singh"
3+
excerpt: "Model optimizations, onboarding tutorial, adding json for body parts, and Shared mode enhancements in Paint Mode for the 3D Human Activity in Sugarizer."
4+
category: "DEVELOPER NEWS"
5+
date: "2025-06-20"
6+
slug: "2025-06-20-gsoc-25-AdityaKrSingh26-week06"
7+
author: "@/constants/MarkdownFiles/authors/aditya-singh.md"
8+
tags: "gsoc25,sugarlabs,week06,AdityaKrSingh26"
9+
image: "assets/Images/GSOC.png"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 06 Progress Report by Aditya Kumar Singh
15+
16+
**Project:** [Sugarizer](https://github.com/llaske/sugarizer)
17+
**Mentors:** [Lionel Laské](https://github.com/llaske)
18+
**Assisting Mentors:** [Samarth Bagga](https://github.com/SamarthBagga)
19+
**Reporting Period:** 2025-05-12 - 2025-06-18
20+
21+
---
22+
23+
## Goals for This Week
24+
25+
- **Goal 1:** Optimize organ model to reduce file size and improve performance.
26+
- **Goal 2:** Add a onboarding tutorial for users.
27+
- **Goal 3:** Improve organ model proportions (eye-mouth distance).
28+
- **Goal 4:** Create and integrate `.json` file for body parts and organs.
29+
- **Goal 5:** Enhancing shared mode logic for **Paint Mode**.
30+
31+
---
32+
33+
## This Week’s Achievements
34+
35+
1. ***Organ Model Optimization**
36+
- Reduced the organ model size from **19MB to 5.92MB** by applying **Merge Vertices by Distance** and **Mesh Decimation** in Blender.
37+
- These steps simplified mesh geometry while retaining anatomical accuracy.
38+
- Resulted in faster loading on low-end devices and web platforms without compromising visual quality.
39+
40+
2. **Onboarding Tutorial Integration**
41+
- Implemented an interactive onboarding experience using the **Intro.js** library, following Sugarizer's developer tutorial guidelines.
42+
- Integrated a custom help button in the toolbar (`help.svg`) to trigger the tutorial on demand.
43+
- Defined tutorial steps in a dedicated `tutorial.js` module using `introJs().setOptions()` to guide users through the UI.
44+
- Customized the UI using Sugarizer-themed CSS classes for a consistent visual style.
45+
- Enabled full localization support using `l10n.get()` to adapt tutorial text based on the user’s language settings.
46+
![Tutorial screen](https://i.ibb.co/TBbQPbLv/image.png)
47+
![Tutorial screen](https://i.ibb.co/q3tNbkRV/image.png)
48+
49+
50+
3. **Body Parts Metadata via JSON**
51+
- Introduced a new `.json` file structure to define:
52+
- **Name**
53+
- **Mesh name**
54+
- **Position (x, y, z)**
55+
- Enables simpler mapping between UI and 3D model meshes.
56+
- Supports future work on localization, click handling, and performance enhancements.
57+
```json
58+
{
59+
{ "name": "Hair", "mesh": "Hair_mesh", "position": [-0.01, 7.03, -0.32] },
60+
{ "name": "LeftEyebrow", "mesh": "Mesh0207_1", "position": [0.06, 6.69, 0.63] },
61+
{ "name": "RightEyebrow", "mesh": "Mesh0207_3", "position": [0.06, 6.69, 0.63] },
62+
{ "name": "Left Ear", "mesh": "leftear_mesh", "position": [0.62, 6.42, -0.13] },
63+
{ "name": "Right Ear", "mesh": "righear_mesh", "position": [-0.53, 6.4, -0.13] },
64+
{ "name": "Face", "mesh": "Face_mesh", "position": [0.05, 6.35, 0.36] },
65+
{ "name": "Neck", "mesh": "Neck_mesh", "position": [0.04, 5.54, -0.23] },
66+
{ "name": "Chest", "mesh": "Chest_mesh", "position": [0.04, 4.55, 0.11] },
67+
{ "name": "Back", "mesh": "back_mesh", "position": [0.04, 3.78, -0.83] },
68+
{ "name": "Stomach", "mesh": "stomach_mesh", "position": [0.04, 2.41, 0.2] },
69+
...
70+
}
71+
72+
73+
4. **Shared Mode enhancements for Paint Mode**
74+
- **Model sync:** when any participant switches to a different anatomical model, the client now emits a `switchModel` event; all connected users load the same model instantly.
75+
- **Shared painting:** a `paintPart` broadcast (object name, color, body-part name, painter ID) lets everyone see the newly painted part in real time. A modal on each peer shows **“<user> painted: <part>”** for clear attribution.
76+
![Shared mode](https://i.ibb.co/fV4KLx1d/image.png)
77+
78+
79+
---
80+
81+
## Challenges & How I Overcame Them
82+
83+
- **Challenge:** Displaying context-aware feedback for painting actions without breaking UX flow.
84+
**Solution:** Built a shared modal system that shows **“User X painted: Part Y”** without interrupting interactions. Ensured consistent color application using hex values and mesh IDs.
85+
86+
- **Challenge:** Keeping the tutorial visually aligned with Sugarizer UI guidelines while supporting localization.
87+
**Solution:** Customized Intro.js with Sugarizer-style buttons, icons, and tooltips. Integrated `l10n.get()` to provide multilingual support across tooltips, button labels, and descriptions.
88+
89+
90+
---
91+
92+
## Key Learnings
93+
94+
- Gained practical experience in implementing **real-time collaboration** using socket-based event broadcasting for 3D interactions.
95+
- Learned how to **synchronize complex state changes** (like model switching, paint actions, and UI mode transitions) across multiple clients in a shared environment.
96+
- Deepened understanding of **modular and scalable architecture** by separating shared logic into dedicated handlers and avoiding code duplication.
97+
98+
---
99+
100+
## Next Week’s Roadmap
101+
102+
- Write Weekly Blog Post summarizing progress, screenshots, and key learnings.
103+
- Reduce file size of the organ model to improve load time and performance across devices (optimize meshes, reduce texture resolution).
104+
- Add an onboarding tutorial for users
105+
- Create and integrate .json files containing metadata (name, position, mesh reference) for body parts and organs to simplify mesh mapping and future i18n support.
106+
- Begin developing shared logic for **Paint Mode** and **Tour Mode**.
107+
108+
---
109+
110+
## Acknowledgments
111+
112+
Thank you to my mentors, the Sugar Labs community, and fellow GSoC contributors for ongoing support.
113+
114+
---

0 commit comments

Comments
 (0)