Observed since 20 Oct, 19:39 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Deterministic 3D world systems in the browser.
A deterministic, 3D world runtime for modern browsers.
3dfusion is a packaged runtime that moves core 3D simulation, procedural generation, and rendering orchestration into WebAssembly, exposing a clean, predictable API for JavaScript and TypeScript consumers. Designed for browser delivery, it provides deterministic terrain and chunk generation, memory-managed mesh pipelines, rigid-body physics, adaptive streaming, and runtime telemetry without requiring consumers to manage internal engine architecture.
The project emphasizes:
free() and [Symbol.dispose]() for deterministic cleanup of native WASM resources.npm install 3dfusion
import { init, TerrainGenHandle, MeshGeneratorHandle, StreamerHandle } from "3dfusion";
async function main() {
await init();
const terrainGen = new TerrainGenHandle(0, 50.0, 0.01, 64, 64.0);
const streamer = new StreamerHandle(12345n, "", 0, 50.0, 0.01, 64, 64.0);
streamer.set_active_region(3, 2, 2);
streamer.set_budget(8, 12);
streamer.update(0, 0, 0);
const heightfield = terrainGen.generate_heightfield(12345n, 0, 0, 0, 0);
const mesh = heightfield.toMesh(terrainGen, 12345n, 0, 0, 0, 0);
console.log(`Generated mesh: ${mesh.vertex_count()} vertices`);
}
main();
3dfusion follows a strict separation between the core simulation layer and the browser integration surface:
wasm32-unknown-unknown for near-native browser execution.wasm-pack produces JavaScript and TypeScript bindings, handles memory marshaling, and exposes the public API surface.wasm-packrustup target add wasm32-unknown-unknown
npm install
npm run build:wasm
npm run dev
wasm-pack is unavailable but cargo is present, the build script installs it automatically.wasm-opt is applied when available to reduce release artifact size; builds gracefully fall back if absent.vite dependencies before launching the local server.The complete API reference, including handle constructors, method signatures, and expected behavior, is documented in FUNCTIONALITY.md.
The reference covers:
handle.free() or use [Symbol.dispose]() when handles are no longer needed.world_seed values for reproducible terrain, chunk, and streaming outputs.For integration support, bug reports, or contribution guidelines, refer to the project repository.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0Registry latest | 26 Apr 2026 | 1 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 19:39 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:038844e2aa25bc809344a4e6792e3672ad160d2c251429a75b658f2566c6e209