Self-Hosted 3D WorldFeatured

Virtualucid

A self-hosted 3D community-world platform entered through a browser link. Go services and a Rust authoritative simulation own sessions, recovery, and world state.

Personal
Key Metric: Real two-browser room · simulation-kill recovery · FIFO waitlist
User Scale: Local self-hosted real-room milestone passed · not a production beta
Engineering Role
SystemsBackendFrontendGraphicsInfraEnd-to-End
Virtualucid project interface preview
Self-Hosted 3D World
Virtualucid
SYS
#System#Network#Web#Backend

Overview

A self-hosted 3D community platform designed so a person or organization can run a world on its own node while participants join from a browser with no separate install. It connects a React/Babylon.js client, a Go control plane, WebRTC edge and Host Agent, and a Rust authoritative simulation, world compiler, and Wasm behavior sandbox in one executable path. The local real-room milestone proves two participants joining and moving, recovery after killing the simulation, hard reloads, and a real FIFO waitlist at capacity. Production media, object storage, deployment, and final art are not activated yet.

My Work

  • Designed and implemented the distributed-system boundaries across the browser, Go services, and Rust authority
  • Implemented admission, seats, waitlists, authority promotion, and checkpoint recovery contracts
  • Connected the World SDK, CLI, authoring MCP, and digest-bound release/download path
  • Kept verified local capability separate from production paths that are not activated yet

Features

  • React/Babylon.js Lobby · Room · Builder · Studio browser surfaces
  • Go control plane · Pion WebRTC edge · Host Agent process supervision
  • Rust/Rapier authoritative simulation · checkpoint and journal recovery
  • Deterministic World Package compiler · Wasmtime behavior sandbox
  • An opt-in PostgreSQL 17 composition with 17 migrations and 37 tables
  • Semantic Yjs collaboration across an isolated Rust/Yrs boundary

Highlights

  • Two browser participants join one real self-hosted authoritative room and see each other move
  • Both sessions recover after the simulation is killed and return to ready after hard reloads
  • A third participant holds a real FIFO waitlist position when a capacity-two room is full
  • PostgreSQL 17 · Yjs/Yrs collaboration · SDK/CLI/MCP share the same world contracts

Timeline

Role: Product, architecture, distributed-system boundaries, and full-stack implementation
Collaboration: Personal

Tech Stack

</>Rust authority · Go control/realtime · React/Babylon.js · PostgreSQL · Yjs/Yrs

RustGoTypeScriptReactViteBabylon.jsConnectRPCPion WebRTCRapierWasmtimePostgreSQL 17Yjs/YrsLiveKit