@daneren2005/shared-memory-ecs 1.9.0 → 1.10.0

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/dist/world.d.ts CHANGED
@@ -11,6 +11,7 @@ import type { WorkerCreatedEntity } from './systems/entity-worker-system';
11
11
  import type { ComponentDefinitionMap, ComponentMap, ComponentsOf, EntityConfigOf, RegisteredComponentDefinition, RegisteredComponentRegistry } from './component-definition';
12
12
  import { type EntityComponent } from './entity-component';
13
13
  import EntityFactory from './entity-factory';
14
+ import { type CompressedEntities } from './entity-compression';
14
15
  import type { Scheduler, SchedulerUpdateResult } from './scheduling/scheduler';
15
16
  export interface WorldOptions<C extends ComponentMap = ComponentMap, Cfg = any, E extends BaseEntity<C, Cfg> = BaseEntity<C, Cfg>> {
16
17
  heapSize?: number;
@@ -23,6 +24,7 @@ export interface WorldConfig<Cfg = any> {
23
24
  playerTime?: number;
24
25
  timeScale?: number;
25
26
  }
27
+ export type CompressedWorldConfig<Cfg = any> = Omit<WorldConfig<Cfg>, 'entities'> & CompressedEntities<Cfg>;
26
28
  export interface WorldSharedMemory {
27
29
  components: {
28
30
  [name: string]: SharedPoolMemory;
@@ -60,7 +62,7 @@ export default class BaseWorld<R extends ComponentDefinitionMap = ComponentDefin
60
62
  addEntity(entity: E, created?: boolean): E;
61
63
  loadEntity(config: Cfg, created?: boolean): E;
62
64
  adoptEntity(descriptor: WorkerCreatedEntity): E;
63
- load(config: WorldConfig<Cfg>): Promise<void>;
65
+ load(config: WorldConfig<Cfg> | CompressedWorldConfig<Cfg>): Promise<void>;
64
66
  clear(): Promise<void>;
65
67
  removeEntity(entity: E): void;
66
68
  onEntityDied(entity: E): void;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@daneren2005/shared-memory-ecs",
3
3
  "description": "A small, reusable Entity/Component/System core backed by shared memory.",
4
4
  "author": "Scott Jackson",
5
- "version": "1.9.0",
5
+ "version": "1.10.0",
6
6
  "type": "module",
7
7
  "sideEffects": false,
8
8
  "license": "MIT",
@@ -48,6 +48,8 @@
48
48
  "scripts": {
49
49
  "build": "vite build && tsc -p tsconfig.build.json --emitDeclarationOnly",
50
50
  "build:game": "npm run build && node scripts/build-game.mjs",
51
+ "pack-save": "node scripts/pack-save.mjs",
52
+ "unpack-save": "node scripts/unpack-save.mjs",
51
53
  "type-check": "tsc --noEmit",
52
54
  "lint": "cross-env NODE_ENV=production oxlint .",
53
55
  "lint:fix": "cross-env NODE_ENV=production oxlint --fix .",