<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>virtual reality | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/category/virtual-reality/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/category/virtual-reality/index.xml" rel="self" type="application/rss+xml"/><description>virtual reality</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Tue, 05 Aug 2025 00:00:00 +0000</lastBuildDate><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/media/logo_hub6795c39d7c5d58c9535d13299c9651f_74810_300x300_fit_lanczos_3.png</url><title>virtual reality</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/category/virtual-reality/</link></image><item><title>Midterm Report: Learning, Building, and Documenting Brahma</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/brahma/08052025-kajaljotwani/</link><pubDate>Tue, 05 Aug 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/brahma/08052025-kajaljotwani/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>&lt;strong>Brahma-XR&lt;/strong> is an open-source WebXR framework designed for building collaborative virtual environments especially those involving spatial data and scientific visualization.&lt;/p>
&lt;p>What makes Brahma powerful is that the same codebase runs seamlessly across both the browser and XR devices like the Apple Vision Pro, Meta Quest 3, and VARJO. This makes it ideal for rapid prototyping and creating cross-platform immersive experiences.&lt;/p>
&lt;p>Some of Brahma’s built-in features include:&lt;/p>
&lt;ul>
&lt;li>Grab-and-pull locomotion&lt;/li>
&lt;li>Raycasting and interaction&lt;/li>
&lt;li>Avatar embodiment&lt;/li>
&lt;li>Spatial rendering&lt;/li>
&lt;li>Support for geospatial and data-driven visualizations&lt;/li>
&lt;/ul>
&lt;p>Brahma is intentionally lightweight, optimized to run even on low-compute devices—making immersive collaboration more accessible to everyone.&lt;/p>
&lt;h2 id="what-worked-and-what-didnt">What Worked (and What Didn’t)&lt;/h2>
&lt;p>As Brahma transitioned from a private research repo to a public open-source project, a lot of important foundational work had to be done around documentation, packaging, and example previews.&lt;/p>
&lt;p>There are two aspects that make Brahma especially unique:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Bipartite npm package structure&lt;/strong> – which requires detailed and thoughtful documentation.&lt;/li>
&lt;li>&lt;strong>Immersive, real-time examples&lt;/strong> – unlike typical libraries, Brahma’s examples aren’t just static demos. They are live, multi-user XR apps designed to be interacted with.&lt;/li>
&lt;/ol>
&lt;p>The first half of the project focused on setting the stage—structuring and preparing the framework for broader use.&lt;/p>
&lt;h3 id="-key-accomplishments">🔧 Key Accomplishments&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Learning Three.js&lt;/strong>&lt;br>
I spent time learning the fundamentals of Three.js—how it handles 3D rendering, scene setup, materials, cameras, and animations. I also explored how large-scale Three.js projects are organized, which helped me understand how Brahma’s example apps are built.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Setting up the project structure&lt;/strong>&lt;br>
I looked at the architecture of various open-source projects and used that knowledge to shape Brahma’s structure. The goal was to align with community best practices while keeping things clean and modular for future contributors.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Understanding npm packaging (especially bipartite)&lt;/strong>&lt;br>
Since Brahma includes both client- and server-side logic, I spent time understanding how multi-part npm packages are published and maintained. I explored best practices around versioning, distribution, and separating internal vs public modules.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Creating a documentation system&lt;/strong>&lt;br>
After exploring different approaches (and with my mentor’s help), I set up a static documentation site using &lt;a href="https://jsdoc.app/" target="_blank" rel="noopener">JSDoc&lt;/a> with the Docdash theme. The current version includes guides, API references, and contribution instructions. This is just the beginning—the docs will evolve as the community grows.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="whats-next">What’s Next&lt;/h2>
&lt;p>In the second half of the project, I’ll be focusing on:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Building a routing system&lt;/strong>&lt;br>
For both documentation and example apps, so that users can easily browse through different components and use cases.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Setting up UI and 3D infrastructure&lt;/strong>&lt;br>
To make it easier for others to start building apps with Brahma by providing clean base layers for interface and spatial development.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Prepping for the first public release&lt;/strong>&lt;br>
Publishing the Brahma NPM package along with a curated set of featured examples and contributor-friendly documentation—making it easier for developers to get started and contribute.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="reflection">Reflection&lt;/h2>
&lt;p>This project has truly been the highlight of my summer. Learning about WebXR, Three.js, and open-source workflows has been both exciting and rewarding. Every challenge taught me something new.&lt;/p>
&lt;p>I am specially greatfull to my mentor &lt;strong>Samir Ghosh&lt;/strong> for his constant support, patience, and guidance. It’s been a privilege learning from you!&lt;/p>
&lt;p>I&amp;rsquo;m looking forward to what’s coming next as we get closer to the first public release of Brahma!&lt;/p></description></item><item><title>Into the VR-Verse: My GSoC Adventure Begins!</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/brahma/06152025-kajaljotwani/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/ucsc/brahma/06152025-kajaljotwani/</guid><description>&lt;p>Hello! I’m Kajal Jotwani, an undergraduate Computer Science student from India who is passionate about building creative, interactive technologies and contributing to open source. This summer, as part of Google Summer of Code 2025, I will be working on the Brahma / Allocentric WebXR Interfaces project under the mentorship of &lt;strong>Samir Ghosh&lt;/strong>. You can read my complete &lt;a href="https://docs.google.com/document/d/1Ne7ADVM72jRuxU7wzRYK8Hvp1zqCUviU0Fh1sTtRWe4/edit?usp=sharing" target="_blank" rel="noopener">proposal here.&lt;/a>&lt;/p>
&lt;p>This project focuses on creating a formalized framework for building collaborative and cross-platform WebXR-based experiences. As part of its first public release of Brahma- a lightweight open-source toolkit, our goal is to formalize the framework, create documentation, and implement example applications like multi-user games and scientific visualizations. This will help make Brahma extensible and accessible for a wider developer community.&lt;/p>
&lt;p>I&amp;rsquo;m excited to be working on this project and will be documenting my journey, learnings, and progress here throughout the summer.&lt;/p></description></item></channel></rss>