|
| 1 | +--- |
| 2 | +title: "GSoC '26 Week 4 Update by Parth Dagia" |
| 3 | +excerpt: "Collaborating on BrickViewFixed, setting up Tailwind in the masonry module, and writing tests for the path2 outline generator." |
| 4 | +category: "DEVELOPER NEWS" |
| 5 | +date: "2026-06-21" |
| 6 | +slug: "2026-06-21-gsoc-26-parth-dagia-week04" |
| 7 | +author: "@/constants/MarkdownFiles/authors/parth-dagia.md" |
| 8 | +tags: "gsoc26,sugarlabs,musicblocks,week04,parth-dagia" |
| 9 | +image: "assets/Images/GSOC.webp" |
| 10 | +--- |
| 11 | + |
| 12 | +<!-- markdownlint-disable --> |
| 13 | + |
| 14 | +# Week 4 Progress Report by Parth Dagia |
| 15 | + |
| 16 | +**Project:** [Music Blocks 4 Program Builder](https://github.com/sugarlabs/musicblocks-v4) |
| 17 | +**Mentors:** [Anindya Kundu](https://github.com/meganindya), [Justin Charles](https://github.com/justin212407), [Safwan Sayeed](https://github.com/sa-fw-an) |
| 18 | +**Organization:** [Sugar Labs](https://sugarlabs.org) |
| 19 | +**Reporting Period:** 2026-06-15 – 2026-06-21 |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +## Goals for This Week |
| 24 | + |
| 25 | +- Work with Syed on the `BrickViewFixed` display-only view component. |
| 26 | +- Set up Tailwind CSS in the masonry module so components can use utility classes. |
| 27 | +- Write unit tests for the `path2` outline generator from the last few weeks. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## This Week's Achievements |
| 32 | + |
| 33 | +### BrickViewFixed - collaboration with Syed |
| 34 | + |
| 35 | +Paired with [Syed](https://github.com/kh-ub-ayb) on `BrickViewFixed`, a sub-component of the generic `BrickView` that presents bricks containing display widgets (not input widgets). It supports all three brick kinds: value, expression, and statement. Props are derived from the `BrickView` prop type definitions, and a Storybook story covers the variations. |
| 36 | + |
| 37 | +The component itself, the prop derivation, and the four Storybook variations are covered in detail in Syed's [Week 4 post](https://github.com/sugarlabs/www-v2/pull/908). |
| 38 | + |
| 39 | +### Tailwind CSS in the masonry module - [PR #607](https://github.com/sugarlabs/musicblocks-v4/pull/607) |
| 40 | + |
| 41 | +Added Tailwind CSS v4 to the masonry module and wired it into the two dev surfaces, the playground and Storybook. A single shared `tailwind.css` imports `tailwindcss`, the playground's `vite.config.ts` registers the `@tailwindcss/vite` plugin, and `.storybook/main.ts` adds the same plugin to `viteFinal`. Tailwind v4 doesn't need a `tailwind.config.js` or a PostCSS config, so the setup stays small. |
| 42 | + |
| 43 | +After this, any masonry component can use utility classes (`bg-sky-500`, `rounded-xl`, `flex`, etc.) directly. |
| 44 | + |
| 45 | +### Unit tests for path2 - [PR #609](https://github.com/sugarlabs/musicblocks-v4/pull/609) |
| 46 | + |
| 47 | +Wrote unit tests for the `path2` outline generator built across weeks 2 and 3 (stroke-width handling, left and right notches, and corner radius). |
| 48 | + |
| 49 | +The tests cover the width and height formulas, the path strings at different stroke widths and corner radii, arc count and convex vs concave sweep flags on the rounded corners, the closed-loop property, and groove and tab alignment under variable argument heights. |
| 50 | + |
| 51 | +--- |
| 52 | + |
| 53 | +## Next Week's Roadmap |
| 54 | + |
| 55 | +I have university exams this week, so I will be away until **30th June**. No new work planned during that window. |
| 56 | + |
| 57 | +Once exams are done, I'll pick up the decorator parameters (label text, colour, background colour, state properties) and finish off the brick definition. |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +## Resources & References |
| 62 | + |
| 63 | +- **PRs:** [#607 Tailwind CSS setup](https://github.com/sugarlabs/musicblocks-v4/pull/607), [#609 path2 unit tests](https://github.com/sugarlabs/musicblocks-v4/pull/609) |
| 64 | +- **BrickViewFixed (collaboration):** [Syed's PR #606](https://github.com/sugarlabs/musicblocks-v4/pull/606) |
| 65 | +- **Repository:** [musicblocks-v4](https://github.com/sugarlabs/musicblocks-v4) |
| 66 | + |
| 67 | +--- |
| 68 | + |
| 69 | +## Acknowledgments |
| 70 | + |
| 71 | +Thanks to Syed for the collaboration on BrickViewFixed, and to Anindya Kundu, Justin Charles, and Safwan Sayeed for their continued feedback. Thanks also to Devin Ulibarri, Walter Bender, and the Sugar Labs community. |
| 72 | + |
| 73 | +--- |
0 commit comments