Touhou Project Browser

0 views
Skip to first unread message

Millard Winnin

unread,
Aug 3, 2024, 11:25:16 AM8/3/24
to ticanpendnal

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.

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.

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.

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.

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.

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.

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.

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.

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 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.

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.

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.

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.

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.

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.

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.

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.

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.

This page is for good quality software on Windows, based on the contributions of /g/ users. This page is not for solidifying preferences or ideology; it is considered to be "value-free" and thus permitting of both reference to open source software and closed source software, for-profit and not-for-profit. This is not your soapbox, your ballot box, or pulpit. Stay constructive and avoid politics and arguments.

You can (and should) install a package manager. It gives you the benefit of being able to download and install a lot of popular software via a single command on the command line, instead of having to navigate to a website, download it and run it. Take a look at Chocolatey NuGet and NPackd for more info. This is an advantage that OSX and Linux users have been enjoying for years, and now you should too.

Firefox is free software developed by Mozilla. It is highly extensible via addons and included as the default browser in many Linux distributions. It is often criticized on /g/ and /tech/ as "SJWfox" because of some Mozilla developers outspoken campaigns on social and political issues.

Chromium builds are based off the underlying code of Chrome. While nearly identical to Google's browser, they lack proprietary components like automatic updating and flash player. However, Chromium still phones home to Google.

Iridium is a FLOSS fork of Chromium stripped of as many botnet and proprietary "features" as possible. It used to phone home to Iridium's servers for development purposes, but it no longer does that. Nonetheless, it is still as fast as a Chromium fork is expected. Use at your own risk.

Pale Moon is a snowflake fork of Firefox under a snowflake open source license. It has a familiar pre-"Australis" UI, and maintains support for the older XUL addon/theming standard. Uses its own "Goanna" rendering engine, forked from Gecko, which performs poorly with some CSS/JS-heavy sites. Does not support current Firefox addons, and has its own addons (see also: JustOff addons).

Opera is a proprietary web browser that has pioneered open web standards for over two decades. It is notable for being the first web browser to sport a tabbed interface. It is developed and maintained by Opera Software. It used to feature its own rendering engine called Presto, but it has been since superceded by Chromium's Blink engine.

Falkon is a KDE web browser using QtWebEngine rendering engine, previously known as QupZilla. It aims to be a lightweight web browser available through all major platforms. This project has been originally started only for educational purposes. But from its start, Falkon has grown into a feature-rich browser.

Falkon has all standard functions you expect from a web browser. It includes bookmarks, history (both also in sidebar) and tabs. Above that, it has by default enabled blocking ads with a built-in AdBlock plugin.

Tor Browser (formerly known as Tor Browser Bundle) is a package of a modified Firefox extended support release, NoScript, HTTPS-Everywhere, Tor, TorButton and TorLauncher. It automatically routes traffic through the Tor network and deletes history and cookies when closed.

SeaMonkey is a continuation of the Mozilla suite. Unlike most modern web browsers, it is an Internet suite, complete with bundled programs for email, IRC, and web design. It is compatible with most Firefox add-ons.

K-Meleon is a FOSS web browser for Windows. It uses the Gecko rendering engine just like Firefox, but sports a native Windows UI. It is absurdly configurable. Also very suitable for Pentium M and older systems because of it's speed.

Claws-Mail is a lightweight FOSS (GPL) email client based on GTK+. Supports PGP, vCalendar (Outlook compatible), RSS/Atom feeds, spam filtering and more via a well-maintained collection of first party plugins. Sending HTML emails is not supported. Reading HTML emails is usable but much improved by enabling WebKit or LiteHTML rendering engines.

Pidgin, formerly known as GAIM, is a free and open source instant messaging client developed in C. It is based upon Libpurple and offers support for XMPP, Bonjour, Gadu-Gadu, IRC, GroupWise, Sametime, SILC, SIMPLE and Zephyr out of the box. Support for additional protocols like Matrix and Signal is offered through third-party plugins. Plugins are available for OTR, OMEMO and many other features. Beware it stores passwords in plain text by default.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages