https://summerofcode.withgoogle.com/programs/2023/projects/4EVJm10k
Video: https://www.linkedin.com/posts/mahmoudaahmedd_webxr-chromium-developertools-activity-7117623435916120064--nZi?utm_source=share&utm_medium=member_ios
The "webxr-internals" project is a Google Summer of Code (GSoC) 2023 initiative that aims to enhance the Augmented Reality (AR) and Virtual Reality (VR) experience on the web by providing a dedicated debugging page in the Chromium browser. This debugging page, similar to existing debugging pages like chrome://media-internals
and chrome://webrtc-internals
, will serve as a valuable tool for developers to diagnose and optimize WebXR pages.
The primary goal of this project is to create the chrome://webxr-internals
debugging page within the Chromium browser. This page will offer essential information and data for debugging and performance analysis purposes, allowing developers to identify and resolve issues in their AR/VR web applications effectively.
- Name: Alex Cooper
- Email: alcooper@chromium.org
- Name: Piotr Bialecki
- Email: bialpio@chromium.org
- Name: Mahmoud Tawfik
- Email: mahmoudaahmedd@gmail.com
- GitHub Profile: https://github.com/mahmoudahmedd
- Chromium Code Profile: https://chromium-review.googlesource.com/q/owner:mahmoudaahmedd@gmail.com
WebXR is an emerging technology that empowers developers to build immersive AR and VR experiences directly within web browsers. As AR and VR technologies continue to evolve and gain popularity, it becomes crucial to equip developers with robust debugging and performance analysis tools. These tools play a pivotal role in the software development process, enabling developers to create high-quality XR applications by identifying and addressing issues efficiently.
Chromium offers various debugging pages to assist developers in diagnosing and optimizing different aspects of the browser. Notable examples include chrome://media-internals
for media debugging, chrome://webrtc-internals
for WebRTC-related debugging, and chrome://gpu
for GPU-related information. but as of the project's initiation, there is no dedicated debugging page for WebXR in Chromium.
https://docs.google.com/document/d/1BuxA4lzD9RIytXHC9ms88Hwm9o6oR1UEVbWryncCpOs/
Developers can access it by typing chrome://webxr-internals
into the browser's address bar. The page will provide a user-friendly interface for viewing and analyzing WebXR-related data and diagnostics.
-
Initial Version of WebXR Internals Debugging Page
- Introduced the initial version of the WebXR Internals debugging page.
- Implemented features:
- Device Info Table: Displays information about the user's system, including GPU driver, GPU vendor ID, operating system name, and OS version.
- Chromium Gerrit Change
-
XRRuntime Information in WebXR Internals Page
- Added XRRuntime information to the WebXR Internals page.
- Provides details on:
- Active Runtimes Table, including Device ID, Supported Features, and AR Support.
- Removed/Added Runtimes Table, including Device ID, Runtime State, Time, Supported Features, and AR Support.
- Chromium Gerrit Change
-
XR Session Section in chrome://webxr-internals
- Implemented the XR Session section within the WebXR Internals debugging page.
- XRSession Info: Provides information regarding the XR session, including time, trace ID, mode, usage preferences, data format preferences, and a list of required/optional features.
- Extended the logging mechanism to include XR session requests, XR session rejections, XR session starts, and XR session stops, offering insight into the complete lifecycle of XR sessions.
- Captured relevant events and associated them with the respective trace IDs.
- Chromium Gerrit Change - Implement XR Session Section in chrome://webxr-internals
- Chromium Gerrit Change - XR Session Lifecycle in chrome://webxr-internals
- XR Frame Information and Interactive Charts
- Implement XR frame information section within the WebXR Internals debugging page.
- This section will provide details about individual frames in XR sessions, including frame rate, latency, and rendering statistics.
- Create interactive charts to visualize real-time XR frame data.
Hey, this is some great work. Went through your proposal doc as well, very well curated.
I would like to work and contribute to the features mentioned under "Planned Future Work".
Do you have any suggestions on how I should go about it?
I have skills to perform similar data viz. while working with JavaScript.