TheCodeTherapy/3d-web-experience
TheCodeTherapy/3d-web-experience has 44 GitHub stars and 4 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-09 13:24 UTC. Last push 2025-11-06.
The 3D-web-experience powered by MML
What you can do
- Multiple users can connect to the experience using just a web browser.
- Users can interact simultaneously with the stateful MML documents.
- Easy to deploy and extend with interactive MML content.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalmml.mgz.me (3d-web-experience)
This repository contains packages used to run a web-based, multi-user 3D web experience that supports MML.
It can be easily deployed to environments that support Node.js and can expose ports to the internet.

Packages
This repository includes the following published packages:
@mml-io/3d-web-experience-client- Client for a 3D web experience that includes user position networking, MML content composition, MML-based avatars, and text chat.
@mml-io/3d-web-experience-server- Server for a 3D web experience that includes user position networking, MML hosting, and text chat.
@mml-io/3d-web-client-core- The main components of a 3D web experience (controls, rendering, MML composition etc.) that can be extended with other packages to create a full 3D web experience.
@mml-io/3d-web-user-networking- WebSocket server and client implementations that synchronize user positions.
@mml-io/3d-web-avatar- Creates and parses MML documents for avatars (using
m-character).
- Creates and parses MML documents for avatars (using
@mml-io/3d-web-avatar-editor-ui- UI components (e.g. parts pickers) for creating avatars.
@mml-io/3d-web-standalone-avatar-editor- An MML avatar editor (using
m-character).
- An MML avatar editor (using
@mml-io/3d-web-text-chat- Contains WebSocket server and client implementations for text chat.
Main features
- Multiple users can connect to the experience using just a web browser.
- Users can interact simultaneously with the stateful MML documents.
- Easy to deploy and extend with interactive MML content.
Auth Flow
- When the client page is rendered by the server, the server uses a UserAuthenticator implementation to determine if a session should be generated for the incoming http request and if so includes that session token on the client page.
- The client then sends the session token in the first message to the server when it connects via websocket.
- The server can use the session token to authenticate the user and determine what identity (username, avatar etc) the user should have.
- An example implementation of this is provided in the example server, but the interface is extensible enough that a more complex user authenticator can limit which avatar components should be permitted based on external systems.
Running Examples & Iterating Locally
Making sure you have Node.js installed, run the following from the root of the repository:
npm install
npm run iterate
Apps
apps/multi-user-3d-web-experience- Once the server is running (see above), open
http://localhost:8080. - A client and server pair of packages that uses the
@mml-io/3d-web-experience-clientand@mml-io/3d-web-experience-serverpackages to create a multi-user 3d web experience that includes MML hosting and text chat.
- Once the server is running (see above), open
apps/local-only-multi-user-3d-web-experience- Once the server is running (see above), open
http://localhost:8081. - A client that uses the various packages to create a 3d web experience that only works locally. No server is needed, but there is a server to serve the client.
- Once the server is running (see above), open
Explore related projects
ytdl-org/youtube-dl
Command-line program to download videos from YouTube.com and other video sites
141,500 starsexcalidraw/excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
135,396 starsgodotengine/godot
Godot Engine – Multi-platform 2D and 3D game engine
119,840 starsmrdoob/three.js
JavaScript 3D Library.
117,905 stars