Check a page for accessibility
Review supplied markup or descriptions for practical accessibility issues and fixes.
4,954,923 AI resources indexedWorking toward the world’s largest AI resource index.
Use Koota for data-oriented Entity Component System architecture with React bindings.
---
name: koota
description: Use Koota for data-oriented Entity Component System architecture with React bindings.
---
# Koota ECS
Use Koota for data-oriented Entity Component System architecture with React bindings.
When setting up or undertaking important changes with Koota, fetch the documentations:
https://raw.githubusercontent.com/pmndrs/koota/refs/heads/main/README.md
## Technique
Define traits (components) with `trait()`, create a world, spawn entities with traits, and query entities in systems. Use `useQuery` to reactively render entities and `useTraitEffect` to respond to trait changes.
## Key Concepts
- `trait()` defines component schemas with default values
- `world.spawn()` creates entities with traits
- `world.query()` finds entities matching traits
- `useQuery()` hook for reactive entity lists in React
- `useTraitEffect()` for responding to trait changes without re-rendering
- Systems are React components that use `useFrame` to update entities (they return `null`, not views)
## Usage
```tsx
const Position = trait({ x: 0, y: 0 })
const IsCharacter = trait()
const world = createWorld()
// Spawn
world.spawn(Position({ x: 1, y: 2 }), IsCharacter)
// Query in system
world.query(Position).updateEach(([position]) => {
position.x += 0.01
})
// React component
const characters = useQuery(Position, IsCharacter)
```
---
This skill is part of [verekia](https://x.com/verekia)'s [**r3f-gamedev**](https://github.com/verekia/r3f-gamedev).
---
name: koota
description: Use Koota for data-oriented Entity Component System architecture with React bindings.
---
# Koota ECS
Use Koota for data-oriented Entity Component System architecture with React bindings.
When setting up or undertaking important changes with Koota, fetch the documentations:
https://raw.githubusercontent.com/pmndrs/koota/refs/heads/main/README.md
## Technique
Define traits (components) with `trait()`, create a world, spawn entities with traits, and query entities in systems. Use `useQuery` to reactively render entities and `useTraitEffect` to respond to trait changes.
## Key Concepts
- `trait()` defines component schemas with default values
- `world.spawn()` creates entities with traits
- `world.query()` finds entities matching traits
- `useQuery()` hook for reactive entity lists in React
- `useTraitEffect()` for responding to trait changes without re-rendering
- Systems are React components that use `useFrame` to update entities (they return `null`, not views)
## Usage
```tsx
const Position = trait({ x: 0, y: 0 })
const IsCharacter = trait()
const world = createWorld()
// Spawn
world.spawn(Position({ x: 1, y: 2 }), IsCharacter)
// Query in system
world.query(Position).updateEach(([position]) => {
position.x += 0.01
})
// React component
const characters = useQuery(Position, IsCharacter)
```
---
This skill is part of [verekia](https://x.com/verekia)'s [**r3f-gamedev**](https://github.com/verekia/r3f-gamedev).
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.