con un clic
miniplex
Use Miniplex for minimalistic Entity Component System with TypeScript support.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Use Miniplex for minimalistic Entity Component System with TypeScript support.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
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.
| 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.