Skip to main content

build-systems

Build a feature's ecs system-database — the real-time tick loop (systems the scheduler runs each frame). For real-time features only.

Source facts

Repository
adobe/data
Last source activity
July 24, 2026 at 01:18
Detected SKILL.md language
English
Stars
12
Forks
8

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
build-systems
description
Build a feature's ecs system-database — the real-time tick loop (systems the scheduler runs each frame). For real-time features only.
input
feature
output
feature
Create `ecs/system-database/system-database.ts`: `Database.Plugin.create({ extends: Database.Plugin.combine(ComputedDatabase.plugin, scheduler), systems })` where the `systems` map is declared **inline** (see `features/ecs/systems.md` — inline is required for `db` to be typed and for system-name inference; a `systems/` folder is optional, only for extracted per-frame body helpers). - A system is a `SystemDeclaration`: `{ create, schedule?: { before?, after?, during? } }`. `create(db)` runs once (capture queries / index handles / closures); the returned function advances the world one tick. Return `void` for an init-only system (seeding entities). - The step math lives in `data/`; each system reads store rows, calls the pure `data/` step, writes back — via `db.store` (writable) for hot per-row work, or `db.transactions.*` for discrete events. Iterate archetypes per `archetypes.md` (tail→head when destroying rows). - Order under `schedule` (mirror the `data/` step's internal sequence); drive the loop by combining `scheduler` (rAF), gated by the `schedulerState` resource. **Only for real-time features** (games, sims) — turn-based features skip this phase entirely. Comes after `build-computed`. The how is in the auto-loading `features/ecs/systems.md` rule.
View on GitHub