Renderoni
🍝 Renderoni
3D-Webspiele, al dente serviert.
Eine voll ausgestattete, agenten-native 3D-Engine für Three.js und Rapier.
Deterministische WebAssembly-Physik, deklarative Voreinstellungen und integriertes Model Context Protocol (MCP) für KI-Paarprogrammierung.
⚡ Das Problem & Die Lösung
Das Erstellen von 3D-Spielen mit Three.js und Rapier WebAssembly bedeutet normalerweise, tausende Zeilen Boilerplate-Code zu schreiben: feste Zeitschritt-Schleifen, Transformationsinterpolation, Charakter-Controller, räumliches Audio, Partikelsysteme und UI-Projektionen.
Gleichzeitig haben KI-Code-Agenten (Claude, Gemini, Cursor) Schwierigkeiten mit 3D-Engines, da Spielschleifen nicht-deterministische Blackboxen sind, die teure Bildschirmfotos erfordern.
Renderoni bietet Ihnen beides:
Für Menschen: Eine deklarative, voll ausgestattete 3D-Engine. Ein einziger
createRenderoni()-Aufruf startet Physik, Rendering, Kamerasteuerung, räumliches Audio, Animationszustandsmaschinen und Partikelsysteme mit typisierten Voreinstellungen.Für KI-Agenten & Headless-CI: Ein deterministischer Simulationskern mit einem integrierten Model Context Protocol (MCP)-Server. Agenten inspizieren Szenen mittels leichtem semantischen Markdown (<500 Bytes / ~120 Tokens), senden typisierte Aktionen und überprüfen den Spielzustand headless in Node.js in unter 10ms.
Related MCP server: maige-3d-mcp
🎮 Live-Demos
Probieren Sie den interaktiven Spielplatz live in Ihrem Browser aus: elemarin.github.io/renderoni (oder führen Sie lokal npm run dev aus).
Demo | Funktion | Steuerung |
🪙 Quickstart Demo | Live interaktive Browser-Implementierung des README-Schnellstarts: Heldenfigur, rotierender Goldmünzen-Sensor, Audio-Klingel und Partikelburst-VFX. |
|
✈️ Flight Simulator | Aerodynamische Flugphysik mit Auftrieb, Widerstand, Start- und Landebahn, einziehbarem Fahrwerk und Ringkurs. |
|
🧱 Vast Voxel Sandbox | Multi-Biom-prozedurale Welt (~2.000+ Blöcke) mit Ozeanwasser, Sandstränden, sanften Hügeln, schneebedeckten Gipfeln und Bäumen. |
|
🔦 PSX 3rd-Person Horror | Retro-PSX-Survival-Horror mit Third-Person-Verfolgungskamera, gotischem Herrenhaus-Flur, Taschenlampe, Schlüsselrätsel und animiertem Eisentor. |
|
📦 Installation
npm install renderoni three @dimforge/rapier3d-compatTree-shakable subpath exports:
import { createRenderoni } from 'renderoni';
import { body, kccPlayer, sensor, light } from 'renderoni/presets';
import { audio } from 'renderoni/audio';
import { animation } from 'renderoni/animation';
import { vfx } from 'renderoni/vfx';
import { ui } from 'renderoni/ui';
import { createMCPServer } from 'renderoni/mcp';
import 'renderoni/testing/matchers';🚀 Quickstart
import { createRenderoni } from 'renderoni';
import { body, kccPlayer, sensor, light } from 'renderoni/presets';
import { audio } from 'renderoni/audio';
import { vfx } from 'renderoni/vfx';
// 1. Initialize engine (runs headlessly in CI or interactively in browser)
const game = await createRenderoni({
mode: 'interactive', // or 'headless'
seed: 42,
subsystems: [
audio({ volume: 0.8 }),
vfx({ particles: true }),
],
});
// 2. Add Environment & Lighting
game.add(light({ type: 'directional', position: [20, 40, 20] }));
game.add(body({ shape: 'box', type: 'fixed', size: [100, 1, 100], position: [0, 0, 0] }));
// 3. Add Collectible Item
const coin = game.add(sensor({
id: 'golden_coin',
shape: 'sphere',
radius: 0.6,
position: [4, 1.2, 0],
}));
// 4. Add Player Character
const player = game.add(kccPlayer({
id: 'hero',
position: [0, 1.5, 0],
moveSpeed: 6.5,
}));
// 5. Handle Gameplay Events
game.events.on('sensor.enter', ({ sensor, target }) => {
if (sensor.id === 'golden_coin' && target.id === 'hero') {
game.audio.play('coin_pickup');
game.vfx.spawnParticles({ count: 16, position: [4, 1.2, 0] });
coin.destroy();
}
});
// 6. Run headlessly (CI/Tests) or start interactive render loop (Browser)
game.step(60); // Step 60 fixed ticks in ~1ms (Headless CI)
// game.start(); // Start 60fps presentation loop (Browser)🤖 KI-Agenten-Integration (MCP-Server)
Verbinden Sie Claude Desktop, Antigravity, Cursor oder einen anderen MCP-Client direkt mit Ihrer Simulation:
{
"mcpServers": {
"renderoni": {
"command": "npx",
"args": ["renderoni", "mcp"]
}
}
}Integrierte MCP-Tools:
describe: Gibt aktive Entitäten, Kollider, Tags und Engine-Schemata zurück.observe: Gibt extrem dichte Tier-0-Markdown-Zusammenfassungen (<500B / ~120 Tokens) mit Positionen, Geschwindigkeiten und Spielzustand zurück.act: Injiziert deterministische semantische Spielaktionen (game.act({ name, payload })).step: Erhöht die Simulation um $N$ feste Ticks und gibt Zustands-Hashes zurück.check: Wertet maschinelle AST-Assertionen aus.
🧪 Headless-Testing mit Vitest
Führen Sie vollständige Spielintegrationstests headless in Node.js in unter 10ms mit benutzerdefinierten Vitest-Matchern aus:
import { expect, test } from 'vitest';
import { createRenderoni } from 'renderoni';
import { kccPlayer, sensor } from 'renderoni/presets';
import 'renderoni/testing/matchers';
test('player collects coin and verifies state hash', async () => {
const game = await createRenderoni({ mode: 'headless', seed: 42 });
const hero = game.add(kccPlayer({ id: 'hero', position: [0, 1, 0] }));
const coin = game.add(sensor({ id: 'coin', position: [3, 1, 0] }));
hero.actions.move({ x: 1, z: 0 });
game.step(60);
expect(game).toHaveTick(60);
expect(hero.position[0]).toBeGreaterThan(1.5);
expect(game).toHavePassedDiagnostics();
});🏛️ Architektur
┌────────────────────────────────────────────────────────────────────────┐
│ L3 APPLICATION │
│ Game Rules, Custom Assets, Levels, Shaders, UI Layouts │
├────────────────────────────────────────────────────────────────────────┤
│ L2 TOOLING & AGENTS │
│ Built-in MCP Server (stdio/SSE), Vitest Matchers, Live Inspector │
├────────────────────────────────────────────────────────────────────────┤
│ L1 BATTERIES & SUBSYSTEMS │
│ Spatial Audio • Skeletal Animation • UI Projections • VFX Emitters │
│ Declarative Presets: body, sensor, light, kccPlayer, dynamicPlayer │
├────────────────────────────────────────────────────────────────────────┤
│ L0 DETERMINISTIC KERNEL │
│ Integer Tick Clock • Seeded PRNG • Dual-Buffer Transform Pipeline │
│ Quantized State Hashing (XXH3) • Resource Ownership Tracking │
├────────────────────────────────────────────────────────────────────────┤
│ NATIVE ENGINES │
│ Three.js (WebGL / WebGPU) │ @dimforge/rapier3d-compat (WASM) │
└────────────────────────────────────────────────────────────────────────┘📜 Lizenz
MIT © Esteban Leandro Marín
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityAmaintenanceAn MCP Server that enables LLMs to build real-time 3D web applications in the PlayCanvas Editor.21179131MIT
- AlicenseAqualityDmaintenanceEnables AI agents to control and manipulate live 3D scenes across frameworks like Three.js, A-Frame, and Babylon.js using a comprehensive set of object and environment tools. It features an integrated in-world chat system that allows for real-time scene modifications directly from within the 3D canvas.33153MIT
- Alicense-qualityDmaintenanceAn MCP server for inspecting and manipulating Three.js/Threlte scenes in real-time.108MIT
- Alicense-qualityCmaintenanceLocal MCP server that gives AI agents 44 engine tools to build, run, and debug real 2D and 3D games through conversation.MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elemarin/renderoni'
If you have feedback or need assistance with the MCP directory API, please join our Discord server