Renderoni
🍝 Renderoni
アルデンテに仕上げた3D Webゲーム。
Three.js と Rapier 向けの、必要な機能をすべて内蔵したエージェントネイティブな3Dエンジン。
決定論的なWebAssembly物理演算、宣言型プリセット、AIペアプログラミングのためのビルトイン Model Context Protocol (MCP)。
⚡ 課題と解決策
Three.js と Rapier WebAssembly で3Dゲームを構築するには、通常、数千行もの定型コードが必要です。固定タイムステップループ、トランスフォーム補間、キャラクターコントローラー、空間オーディオ、パーティクルシステム、UI投影などです。
同時に、AIコーディングエージェント(Claude、Gemini、Cursor)は、ゲームループが非決定的なブラックボックスであり、高価なビジョンスクリーンショットが必要なため、3Dエンジンで苦労します。
Renderoniは、その両方を提供します:
人間向け: 宣言型で必要な機能をすべて内蔵した3Dエンジン。単一の
createRenderoni()呼び出しで、型指定されたプリセットを使用して、物理演算、レンダリング、カメラコントロール、空間オーディオ、アニメーションステートマシン、パーティクルシステムが起動します。AIエージェント&ヘッドレスCI向け: ビルトインの Model Context Protocol (MCP) サーバーを備えた決定論的なシミュレーションカーネル。エージェントは軽量なセマンティックMarkdown(<500バイト / 〜120トークン)を介してシーンを検査し、型指定されたアクションをディスパッチし、Node.js上で10ms未満でヘッドレスにゲーム状態を検証します。
Related MCP server: maige-3d-mcp
🎮 ライブデモ
インタラクティブなプレイグラウンドをブラウザでお試しください: elemarin.github.io/renderoni (またはローカルで npm run dev を実行)。
デモ | 概要 | 操作方法 |
🪙 クイックスタートデモ | READMEのクイックスタートをブラウザでライブ実装: ヒーローキャラクター、回転する金貨センサー、オーディオチャイム、パーティクルバーストVFX。 |
|
✈️ フライトシミュレーター | 揚力、抗力、滑走路離着陸、格納式着陸装置、リングコースを備えた空力飛行物理演算。 |
|
🧱 広大なボクセルサンドボックス | 海洋、砂浜、起伏のある丘、雪を頂いた山頂、木々があるマルチバイオームの手続き型ワールド(約2,000+ブロック)。 |
|
🔦 PSX風三人称ホラー | 三人称チェイスカメラ、ゴシック様式の大邸宅の廊下、懐中電灯、鍵パズル、アニメーション鉄格子を備えたレトロPSX風サバイバルホラー。 |
|
📦 インストール
npm install renderoni three @dimforge/rapier3d-compatツリーシェイク可能なサブパスエクスポート:
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';🚀 クイックスタート
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)🤖 AIエージェント連携(MCPサーバー)
Claude Desktop、Antigravity、Cursor、または任意のMCPクライアントをシミュレーションに直接接続:
{
"mcpServers": {
"renderoni": {
"command": "npx",
"args": ["renderoni", "mcp"]
}
}
}ビルトインMCPツール:
describe: アクティブなエンティティ、コライダー、タグ、エンジンスキーマを返します。observe: 位置、速度、ゲーム状態を含む超コンパクトな Tier 0 Markdown要約(<500B / 〜120トークン) を返します。act: 決定論的なセマンティックゲームプレイアクション(game.act({ name, payload }))を注入します。step: シミュレーションを$N$固定ティック進め、状態ハッシュを返します。check: マシンASTアサーションを評価します。
🧪 Vitestによるヘッドレステスト
カスタムVitestマッチャーを使用して、Node.js上で10ms未満で完全なゲーム統合テストをヘッドレスで実行:
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();
});🏛️ アーキテクチャ
┌────────────────────────────────────────────────────────────────────────┐
│ 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) │
└────────────────────────────────────────────────────────────────────────┘📜 ライセンス
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