ワンクリックで
miniplex
Use Miniplex for minimalistic Entity Component System with TypeScript support.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use Miniplex for minimalistic Entity Component System with TypeScript support.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | miniplex |
| description | Use Miniplex for minimalistic Entity Component System with TypeScript support. |
Use Miniplex for minimalistic Entity Component System with TypeScript support.
When setting up or undertaking important changes with Miniplex, fetch the documentations:
Core: https://raw.githubusercontent.com/hmans/miniplex/refs/heads/main/packages/core/README.md React bindings: https://raw.githubusercontent.com/hmans/miniplex/refs/heads/main/packages/react/README.md
Define an entity type with optional properties, create a world, and query entities based on their properties. Use miniplex-react for React bindings with the Entities component.
world.with('prop1', 'prop2') creates typed queriesworld.add() and world.remove() for entity lifecycleworld.addComponent() and world.removeComponent() for component lifecycle<Entities in={query}>{Component}</Entities> renders entities reactivelyonEntityAdded / onEntityRemoved - Prefer using data and systems to trigger things (e.g., timers, flags).where() - Don't use predicate-based filteringOnly use these world methods:
world.add(entity) - Add a new entityworld.remove(entity) - Remove an entityworld.addComponent(entity, 'component', value) - Add component to existing entityworld.removeComponent(entity, 'component') - Remove component from entityworld.with('prop1', 'prop2') - Create queriesDeclare queries at module level and import them where needed:
// ecs/queries.ts
export const characterQuery = world.with('position', 'isCharacter')
export const enemyQuery = world.with('position', 'isEnemy')
export const movingEntities = world.with('position', 'velocity')
// In a system file
import { movingEntities } from './ecs/queries'
type Entity = {
position?: { x: number; y: number }
isCharacter?: true
}
const world = new World<Entity>()
const characters = world.with('position', 'isCharacter')
// Add entity
world.add({ position: { x: 0, y: 0 }, isCharacter: true })
// Render
<Entities in={characters}>{Character}</Entities>
Note: Miniplex is feature-complete but no longer maintained.
This skill is part of verekia's r3f-gamedev.
Poll for changes to any value and trigger React re-renders when it changes.
Day-to-day coding style and patterns for R3F game development with Miniplex ECS.
Verekia's preferred project setup with Next.js Pages Router, Tailwind 4, oxfmt, oxlint, and TypeScript.
Use Zustand as a simple state store for entity management (not a true ECS).
Attach meshes to bones of a skinned mesh, such as attaching a sword to a character's hand.
Shake the camera when the player takes damage or on impacts for visual feedback.