@oasys/oecs 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -22
- package/dist/ecs.d.ts.map +1 -1
- package/dist/query.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -12,10 +12,18 @@ A fast, minimal archetype-based Entity Component System written in TypeScript.
|
|
|
12
12
|
- **Topological system ordering** — systems within a phase are sorted by before/after constraints using Kahn's algorithm.
|
|
13
13
|
- **Fixed timestep** — configurable fixed update loop with accumulator and interpolation alpha.
|
|
14
14
|
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
Using npm (or equivalent):
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
npm install @oasys/oecs
|
|
21
|
+
```
|
|
22
|
+
|
|
15
23
|
## Quick start
|
|
16
24
|
|
|
17
25
|
```ts
|
|
18
|
-
import { ECS, SCHEDULE } from "@oasys/oecs
|
|
26
|
+
import { ECS, SCHEDULE } from "@oasys/oecs";
|
|
19
27
|
|
|
20
28
|
const world = new ECS();
|
|
21
29
|
|
|
@@ -74,6 +82,24 @@ function frame(dt: number) {
|
|
|
74
82
|
}
|
|
75
83
|
```
|
|
76
84
|
|
|
85
|
+
## World Options
|
|
86
|
+
|
|
87
|
+
`ECS` accepts an optional configuration object:
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
const world = new ECS({
|
|
91
|
+
initial_capacity: 4096, // pre-allocate archetype storage (default: 1024, grows automatically)
|
|
92
|
+
fixed_timestep: 1 / 50, // fixed update interval in seconds (default: 1/60)
|
|
93
|
+
max_fixed_steps: 4, // cap fixed updates per frame to prevent spiral of death (default: 5)
|
|
94
|
+
});
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
| Option | Type | Default | Description |
|
|
98
|
+
|---|---|---|---|
|
|
99
|
+
| `initial_capacity` | `number` | `1024` | Starting size for every archetype's backing typed arrays (entity IDs and all SoA component columns). Arrays double when exceeded — set this close to your expected entity count per archetype to avoid early re-allocations. |
|
|
100
|
+
| `fixed_timestep` | `number` | `1/60` | Interval (seconds) for `FIXED_UPDATE` systems. |
|
|
101
|
+
| `max_fixed_steps` | `number` | `5` | Maximum `FIXED_UPDATE` iterations per frame. |
|
|
102
|
+
|
|
77
103
|
## Components
|
|
78
104
|
|
|
79
105
|
Components map field names to typed array tags. All field values are `number`, but storage uses the specified typed array (`Float64Array`, `Int32Array`, etc.) for cache-friendly iteration.
|
|
@@ -81,18 +107,18 @@ Components map field names to typed array tags. All field values are `number`, b
|
|
|
81
107
|
```ts
|
|
82
108
|
// Record syntax — per-field type control
|
|
83
109
|
const Position = world.register_component({ x: "f64", y: "f64" });
|
|
84
|
-
const Health
|
|
110
|
+
const Health = world.register_component({ current: "i32", max: "i32" });
|
|
85
111
|
|
|
86
112
|
// Array shorthand — all fields default to "f64"
|
|
87
|
-
const Vel
|
|
113
|
+
const Vel = world.register_component(["vx", "vy"] as const);
|
|
88
114
|
|
|
89
115
|
// Tags — no fields
|
|
90
|
-
const IsEnemy
|
|
116
|
+
const IsEnemy = world.register_tag();
|
|
91
117
|
```
|
|
92
118
|
|
|
93
119
|
Supported typed array tags: `"f32"`, `"f64"`, `"i8"`, `"i16"`, `"i32"`, `"u8"`, `"u16"`, `"u32"`.
|
|
94
120
|
|
|
95
|
-
Add components individually or
|
|
121
|
+
Add components individually or via `add_components` (single archetype transition):
|
|
96
122
|
|
|
97
123
|
```ts
|
|
98
124
|
world.add_component(e, Position, { x: 10, y: 20 });
|
|
@@ -125,7 +151,11 @@ for (const arch of q) {
|
|
|
125
151
|
}
|
|
126
152
|
|
|
127
153
|
// Chaining
|
|
128
|
-
const targets = world
|
|
154
|
+
const targets = world
|
|
155
|
+
.query(Position)
|
|
156
|
+
.and(Health)
|
|
157
|
+
.not(Shield)
|
|
158
|
+
.any_of(IsEnemy, IsBoss);
|
|
129
159
|
```
|
|
130
160
|
|
|
131
161
|
See [docs/api/queries.md](docs/api/queries.md) for full API.
|
|
@@ -137,13 +167,19 @@ Systems are plain functions registered with a query and scheduled into lifecycle
|
|
|
137
167
|
```ts
|
|
138
168
|
// With a typed query
|
|
139
169
|
const moveSys = world.register_system(
|
|
140
|
-
(q, ctx, dt) => {
|
|
170
|
+
(q, ctx, dt) => {
|
|
171
|
+
for (const arch of q) {
|
|
172
|
+
/* ... */
|
|
173
|
+
}
|
|
174
|
+
},
|
|
141
175
|
(qb) => qb.every(Pos, Vel),
|
|
142
176
|
);
|
|
143
177
|
|
|
144
178
|
// Without a query
|
|
145
179
|
const logSys = world.register_system({
|
|
146
|
-
fn(ctx, dt) {
|
|
180
|
+
fn(ctx, dt) {
|
|
181
|
+
console.log("frame", dt);
|
|
182
|
+
},
|
|
147
183
|
});
|
|
148
184
|
```
|
|
149
185
|
|
|
@@ -164,7 +200,8 @@ Resources are typed global singletons — time, input state, camera config.
|
|
|
164
200
|
|
|
165
201
|
```ts
|
|
166
202
|
const Time = world.register_resource(["delta", "elapsed"] as const, {
|
|
167
|
-
delta: 0,
|
|
203
|
+
delta: 0,
|
|
204
|
+
elapsed: 0,
|
|
168
205
|
});
|
|
169
206
|
|
|
170
207
|
// Write
|
|
@@ -172,7 +209,7 @@ world.set_resource(Time, { delta: dt, elapsed: total });
|
|
|
172
209
|
|
|
173
210
|
// Read — scalar values, not arrays
|
|
174
211
|
const time = world.resource(Time);
|
|
175
|
-
time.delta;
|
|
212
|
+
time.delta; // number
|
|
176
213
|
time.elapsed; // number
|
|
177
214
|
```
|
|
178
215
|
|
|
@@ -196,7 +233,9 @@ for (let i = 0; i < dmg.length; i++) {
|
|
|
196
233
|
// Signals carry no data — just a count
|
|
197
234
|
const OnReset = world.register_signal();
|
|
198
235
|
ctx.emit(OnReset);
|
|
199
|
-
if (ctx.read(OnReset).length > 0) {
|
|
236
|
+
if (ctx.read(OnReset).length > 0) {
|
|
237
|
+
/* fired */
|
|
238
|
+
}
|
|
200
239
|
```
|
|
201
240
|
|
|
202
241
|
See [docs/api/events.md](docs/api/events.md) for full API.
|
|
@@ -218,15 +257,15 @@ See [docs/api/refs.md](docs/api/refs.md) for full API.
|
|
|
218
257
|
|
|
219
258
|
Seven lifecycle phases, executed in order:
|
|
220
259
|
|
|
221
|
-
| Phase
|
|
222
|
-
|
|
223
|
-
| `PRE_STARTUP`
|
|
224
|
-
| `STARTUP`
|
|
225
|
-
| `POST_STARTUP` | Once, after startup
|
|
226
|
-
| `FIXED_UPDATE` | Every tick (fixed dt) | Physics, simulation
|
|
227
|
-
| `PRE_UPDATE`
|
|
228
|
-
| `UPDATE`
|
|
229
|
-
| `POST_UPDATE`
|
|
260
|
+
| Phase | When | Use case |
|
|
261
|
+
| -------------- | --------------------- | ----------------------- |
|
|
262
|
+
| `PRE_STARTUP` | Once, before startup | Resource loading |
|
|
263
|
+
| `STARTUP` | Once | Initial entity spawning |
|
|
264
|
+
| `POST_STARTUP` | Once, after startup | Validation |
|
|
265
|
+
| `FIXED_UPDATE` | Every tick (fixed dt) | Physics, simulation |
|
|
266
|
+
| `PRE_UPDATE` | Every frame, first | Input handling |
|
|
267
|
+
| `UPDATE` | Every frame | Game logic |
|
|
268
|
+
| `POST_UPDATE` | Every frame, last | Rendering, cleanup |
|
|
230
269
|
|
|
231
270
|
```ts
|
|
232
271
|
world.add_systems(SCHEDULE.UPDATE, moveSys, physicsSys);
|
|
@@ -267,6 +306,8 @@ pnpm build # vite library build
|
|
|
267
306
|
pnpm tsc --noEmit # type check
|
|
268
307
|
```
|
|
269
308
|
|
|
270
|
-
##
|
|
309
|
+
## Guides
|
|
271
310
|
|
|
272
|
-
|
|
311
|
+
- [Getting Started](docs/GETTING_STARTED.md) — step-by-step tutorial
|
|
312
|
+
- [Best Practices](docs/BEST_PRACTICES.md) — performance tips and patterns
|
|
313
|
+
- [Architecture](docs/ARCHITECTURE.md) — internal design details
|
package/dist/ecs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecs.d.ts","sourceRoot":"","sources":["../src/ecs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsDK;AAGL,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,KAAK,EACL,YAAY,EACZ,KAAK,aAAa,EAEnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,eAAe,EACf,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ecs.d.ts","sourceRoot":"","sources":["../src/ecs.ts"],"names":[],"mappings":"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"}
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmCK;AAEL,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,eAAe,EACf,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oasys/oecs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Archetype-based Entity Component System",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"repository": {
|
|
33
33
|
"type": "git",
|
|
34
|
-
"url": "https://github.com/oasys-works/oecs.git"
|
|
34
|
+
"url": "git+https://github.com/oasys-works/oecs.git"
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://github.com/oasys-works/oecs#readme",
|
|
37
37
|
"bugs": {
|