GSoC 2024 with Sugar Labs | Week 7,8 & 9 | Music Blocks (v4) project updates

Hi everyone, welcome to the GSoC’24 Blogs.

I am documenting my complete journey as a contributor for Google Summer of Code 2024 under Sugar Labs for the Music Blocks (v4) project – Masonry Framework.
To get more information about the project, you can read all my blogs here.

My last blog mentioned the Dummy stack and the workspace here.

In this blog, I would like to share what I have done in the last 2 weeks and project updates.

Progress on Bricks

Over the past few weeks, I focused on developing different types of bricks: BrickData, BrickExpression, BrickStatement, and BrickBlock. Each type serves a specific purpose in the Music Blocks environment. The code can be found on the branch gsoc-2024/week-9-10.

Brick Types

  1. BrickData: These serve as inputs for other bricks and come in two types: hardcoded and editable
  2. BrickExpression: Takes values as input, returns a value as output
  3. BrickStatement: These define actions to be taken
  4. BrickBlock: Contain nesting, also execute something like the statement bricks. Takes 0 or more arguments

Code Structure Explanation

The current code structure for the bricks is organized as shown in the following image:

The design0 folder contains the initial design of the bricks created previously. Within this folder, components are the React components, stories allow for independent viewing of these components, and files like BrickBlock.ts are the base files that use the path.ts file to generate paths. The stories folder contains both the components and the base stories that are exported to design0 through index.ts. The utils folder includes the path-generating file and its corresponding tests.

Screenshots

Conclusion

These two weeks have been productive, and I am excited about the progress made on the stack tree structure. Stay tuned for more updates as I continue working on enhancing Music Blocks v4.

Also, don’t forget to drop a star on the project GitHub repo! ⭐
Link: https://github.com/sugarlabs/musicblocks-v4

You can connect with me on LinkedIn. Additionally, you can follow me on GitHub and Twitter, it will be appreciated.

Thank you for reading!