Varun Nayyar's Progress in Medhavy in June 2026

Varun Nayyar walks through his second month on Medhavy: standing up a WSL rendering toolchain, rebuilding two physics scenes for accuracy, and fixing a structural animation bug.

3:52 video4 min readWatch on YouTube

Some months of technical work produce a visible deliverable early and steadily. This one didn't, and Varun Nayyar's update is refreshingly upfront about that: the first week of his second month on the Medhavy project produced nothing visible at all, because the actual work was standing up an environment from zero.

Standing up a rendering toolchain from nothing

Medhavy's second month began as a standing start on a new toolchain, moving from an empty environment to working animated physics scenes over five weeks and roughly 100 documented hours. The environment in question was Windows Subsystem for Linux, and getting a rendering toolchain running there meant getting system libraries, a package manager that resolves paths correctly, and a file system that wouldn't fight back, all working together before a single frame could render. Two distinct failures had to be diagnosed first. The package manager was resolving against the wrong environment, which was fixed with the active flag. Separately, the Windows file system rejected the hard links the installer wanted to create, which was fixed by telling the installer to copy files instead. Only once both of those were resolved did the first scene render cleanly.

Rebuilding two scenes for scientific accuracy

With the environment working, the actual animation work began on two scenes: the observable universe and the Milky Way. Both started as naive approximations, and both had to be rebuilt, because their first versions were geometrically wrong in ways an audience would feel even without being able to name exactly why. The star field is the clearest example of this. Scattering points uniformly across a radius causes them to cluster near the center, because area grows with the square of the radius, not linearly with it. The fix is to sample using the square root of a uniform draw instead. That single substitution in the sampling method is the difference between a star field that merely looks plausible and one that is actually correct.

Tracing a structural animation bug

A separate, genuine animation bug also had to be solved. In a scene cycling through different physical quantities, static headings were vanishing after the very first iteration of the loop. It wasn't a rendering problem and it wasn't a timing problem; it was structural. Something in the code was clearing elements that were never supposed to be cleared. The root cause turned out to be a fade-out call placed inside the loop that cycled through the units, which meant every pass through the loop wiped the headings along with the values they were meant to label. Moving that fade-out call outside the loop fixed it. A related, subtler fix followed: swapping the transform so that fixed phrases stayed stationary on screen while only the variable unit symbols morphed between iterations.

Approval and a scoped path forward

The completed videos went to Prof. Sridhar, who approved them and asked Varun to continue, both in writing and again verbally in the standing meeting. Later in the month, Prof. Nick directed a move to a new rendering tool, with explicit instructions to build visualizations only for topics that genuinely warranted one, rather than animating everything by default. Rather than making that call unilaterally, Varun submitted a scoped topic list for review before producing videos against it on the new tool. One piece did not land: the narration layer. The API key provided for voice generation was disabled, not due to a configuration error or a usage limit, but an inactive credential that only the account administrator could resolve.

Key takeaways

  • Standing up a rendering toolchain on WSL required fixing a package manager path resolution issue and a hard-link conflict with the Windows file system before any frame could render.
  • Both the observable universe and Milky Way scenes were rebuilt because their initial versions were geometrically inaccurate, not just visually rough.
  • Uniform radius sampling clusters points near the center; the correct approach samples the square root of a uniform draw to get proper density.
  • A structural animation bug caused headings to vanish because a fade-out call sat inside the wrong loop; moving it outside the loop fixed the issue.
  • Prof. Sridhar approved the completed videos and requested continued work, and Prof. Nick directed a scoped, reviewed topic list for the next phase rather than unlimited production.
  • The narration layer stalled on a disabled API key, an account-level issue rather than a technical one on Varun's end.

Who this is for

This is for Medhavy Fellows and contributors tracking the project's technical progress, and for anyone setting up a Manim or similar rendering pipeline on Windows Subsystem for Linux who wants to see real, diagnosed failure modes rather than a clean success story.

Chapters

  1. 0:00Month 2: Starting from Zero
  2. 0:18Setting up the Rendering Toolchain on WSL
  3. 0:40Creating Geometrically Accurate Physics Scenes
  4. 1:05Debugging Structural Animation Faults
  5. 1:25Faculty Approval & Collaborative Scoping
Full transcript(auto-generated, with timestamps)

Month 2: Starting from Zero

[0:00]Month two was a standing start on a new tool chain. In 5 weeks, I went from an empty environment to animated physics scenes. A professor approved and asked me to continue with one genuine animation bug solved along the way. Hi, I'm Varun Nayar. I volunteer on the Med

Setting up the Rendering Toolchain on WSL

[0:19]Heavy project at Humanitarian's AI. This video covers my second month, June 2026, standing up a rendering tool chain from nothing, building two physics animation scenes, and being approved to continue. 100 hours documented. The first week produced no visible deliverable, and that is worth stating accurately.

Creating Geometrically Accurate Physics Scenes

[0:42]Standing up a rendering tool chain on Windows Subsystem for Linux means system libraries, a package manager that resolves paths correctly, and a file system that will not fight you. All of it has to work before a single frame exists. Two failures had to be diagnosed before anything rendered. The package manager was resolving against the wrong environment, fixed with the

Debugging Structural Animation Faults

[1:06]Active flag, and the Windows file system rejected the hard links the installer wanted, fixed by telling it to copy instead. Then the first scene rendered clean. With the environment working, the actual animation began. Two scenes, the observable universe and the Milky Way.

Faculty Approval & Collaborative Scoping

[1:26]Both started as naive approximations, and both were rebuilt because the first versions were geometrically wrong in ways an audience would feel even if they could not name it. The star field is the clearest example. Scattering points uniformly in radius clusters them at the center because area grows with the square of the radius. The correct sampling takes the square root of a uniform draw. That one substitution is the difference between a diagram that looks plausible and one that is right. Then a real animation bug. In a scene cycling through C base quantities, the static headings were vanishing after the first iteration. Not a rendering fault, and not a timing problem, a structural one. Something was clearing elements that were never meant to be cleared. The fade out call was inside the loop that cycled the units. So, every pass cleared the headings along with the values. Moving it outside fixed it. The second change was subtler. Swapping the transform so fixed phrases stay stationary, while only the variable unit symbols morph between iterations. On June 15th,

The completed videos went to Prof. Sridhar. He approved them and asked me to continue in writing, and again verbally in the standing meeting. Later that month, Prof. Nick directed a move to a new tool with an instruction to build visualizations only for topics that genuinely warrant one. I submitted a scoped topic list for review rather than deciding alone. Videos were produced on the new tool against that approved list. The narration layer was the one piece that did not land. The API key provided for voice was disabled. Not a configuration error, and not a usage limit. An inactive credential resolvable only by whoever administers the account. 5 weeks, 20 hours documented in each. 100 hours for the month. Status: in compliance. Month two, then. A rendering tool chain stood up from nothing on an awkward platform. Two physics scenes rebuilt until the geometry was correct. A real animation bug traced to its structural cause and fixed. Professor approval to continue in writing. And production scoped collaboratively rather than unilaterally. Learning to render met heavy month two.

More from Medhavy

Humanitarians AI Lyrical Literacy Project