Takahiro

Software engineer, previously at Mozilla. Working for and with WebGL / WebGPU / WebXR / glTF. Aggressive open-source contributor and interested in Web technologies, AI, Realtime 3D CG, Optimization, and Low-level.

Listed only the open source projects. Refer to Resume for others.

Three.js

Three.js is the most widely-used JavaScript + WebGL graphics library made by Ricardo Cabello, aka Mr.doob. You can easily develop realtime Web 3D, and even XR (VR/AR), contents with it. I have been contributing to this project as a core team member for WebGL, WebGL 2.0, WebGPU, WebXR, glTF, MMD, Optimization, Animation, Shaders, and bug-fix stuffs.

Core team, 2015 to present.

Chromium

Chromium is an open-source web browser project and is based for Google Chrome. I have been contributing to it as an individual mainly for WebGPU implementation.

These are my contribution list.

Contributor, 2022 to present.

WebGPU specification

WebGPU is a new web standard API to provide modern 3D graphics and compute capabilities to web developers. The API is designed to efficient mapping to lower-level native GPU APIs like Vulkan and Metal. I have been contributing to WebGPU specification mainly for bugfix and clarification as an individual. Also, contributing to WebGPU Conformance Test Suite.

Contributor, 2022 to present.

WebGPU devtools

WebGPU devtools is a Web browser extension that helps debug WebGPU applications by monitoring WebGPU usage. You can check for example

Author, 2023 to present.

Online WGSL editor

WGSL (WebGPU Shading language) is a new shading language introduced for WebGPU. Online WGSL editor is a live coding WGSL editor running on web browser for people who want to learn. They can easily start to try WGSL by just opening the editor page The editor supports rendering, automatic compilation, and error highlighting.

Author, 2023 to present.

Tiny Web Metaverse

Tiny Web Metaverse is a Web-based multi-user 3D virtual space lightweight framework with high flexibility, good extensibility, and easy self-hosting. It is built on web standards, making it familiar and easy to use for developers with Web development experience. Its high scalability makes it a good match even for AI, for example it supports runtime 3D model generation using Text to 3D Generative AI.

Author, 2023 to present.

In-browser local AI inference

I am interested in in-browser local AI inference from the perspectives of usability and privacy. I have created several experimental apps. Web AI Chat is a web app that incorporates an inference engine, allowing users to chat with AI without installing any special software. Whisper as Web Extension is a browser extension that incorporates an inference engine and OpenAI's Whisper model, enabling serverless speech to text recognition.

Author, 2023 to present.

Hubs (Mozilla)

Hubs is a Mozilla's open and global virtual platform. You can remotelly communicate with others in your web browsers just by sharing a room URL. You can control your avatar in 3D scene and talk/chat/gesture with the people/3D objects/medias in the room. I worked in the Hubs team mainly for Client like ECS architecture migration, performance optimization, better Mac/Android/iOS support, contribution to Three.js on which Hubs is built, glTF extensions support, documenting, and also backend with Elixir.

Team member, 2020 to 2023.

WebXR Emulator Extension (Mozilla)

I have been leading WebXR Emulator Extension project. It is a browser extension which emulates WebXR devices. It improves the WebXR content creators productivity because they can test WebXR application in their desktop web browsers without the need of physical WebXR devices. It supports both Firefox and Chrome.

Author, 2019 to present.

Immersive custom elements (Mozilla)

I lead Immersive Custom Elements project which is a set of Custom Elements for WebXR. Users can easily embed WebXR contents into their web pages just by placing the custom elements tag like <img-360 src="..."></img-360> without the knowledge of 3D graphics, WebXR API, or even JavaScript. It helps web developers and designers who are interested in WebXR but not familiar with the WebXR technology.

Author, 2019.

iOS WebXR Viewer (Mozilla)

iOS WebXR Viewer project is the first browser to implement WebXR on iOS. It allows users to early WebXR experiment by connecting WebXR API with the underlying iOS VR/AR capabilities. I worked on JavaScript WebXR API to support the latest API specification and allowed users to access the API.

Team member, 2019 to 2020

three-gltf-extensions

I started three-gltf-extensions project. Three.js glTF loader/exporter doesn't support some glTF extensions due to some reasons. This project provides the plugins handling such extensions at top of Three.js glTF loader/exporter extensibility mechanism I and other Three.js contributors built.

Author, 2021 to present.

glTF extension Blender addons

I made several Blender addons for some glTF extensions that are not supported by the Official Blender glTF I/O at that time or for a certain special Blender use. These are the glTF extensions for what I wrote addons.

Author, 2021 to present.

A-Frame

A-Frame is a web framework for creating WebXR content on top of HTML. It is originally made by Mozilla and is now maintained by Supermedium. I released many components for A-Frame and had demo presentations at A-Frame meetup.

Core team, 2016 to 2021.

RISC-V emulator in Rust + WebAssembly

I wrote a "RISC-V processor and peripheral devices" emulator in Rust and compiled it to WebAssembly. You can run Linux or xv6 (UNIX based tiny OS for education) on it in your web browsers with good performance even without installing anythng. It supports debugger so is good for RISC-V learners by setting breakpoints, doing step execution, examining memory content, and so on.

Author, 2020 to present.

NES(Famicom) emulator in Rust + WebAssembly

I wrote a "NES(Famicom) processors and peripheral devices" emulator in Rust and compiled it to WebAssembly. You can play NES on it in your web browsers with good performance even without installing anythng. It supports remote play with WebSocket and WebRTC so you can play the games with remote friends together.

Author, 2019 to present.

PDP-11 emulator in JavaScript

I wrote a "PDP-11 and peripheral devices" emulator in JavaScript. PDP-11 processor is a very old processor. You can run UNIX V6, written for PDP-11 and released in 1975, on it in your web browsers even without installing anything.

Author, 2014 to 2015.

Touhou style 2D shooter

A fan game of Touhou Project(Shooter game project of Team Shanghai Alice). I wrote it in JavaScript with WebGL. I optimized it very well so it can draw over 1k elements in a scene with at 60fps in your browsers. It supports remote play with WebSocket and WebRTC. You can play with remote friends together.

Author, 2014 to 2017.

Three.js MMD Loader applications

This is a set of Three.js MMDLoader applications. MMD, Miku Miku Dance, is a freeware for creating 3D animated movies. I wrote MMDLoader which imports the 3D model formats used in MMD to Three.js. The applications showcase the advanced use cases of MMD + Three.js with Audio, Custom shaders, Web Speech API, Facial recognition, Physics, VR, and so on.

Author, 2015 to 2017.

Three.js Network library

This Three.js network library is built on WebSocket and WebRTC. You can remotely sync Three.js objects.

Author, 2017

MMD parser

MMD parser parses the binary model, gesture, and animation formats (PMD, PMX, VPD, VMD) used in MMD and creates JSON data.

Author, 2016 to present.