Skip to content

Commit 5863d39

Browse files
committed
fix(ecs): change type handling on lib ecs
1 parent dc1a7b5 commit 5863d39

File tree

10 files changed

+3949
-35
lines changed

10 files changed

+3949
-35
lines changed

packages/asset-manager/tsconfig.build.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
"outDir": ".",
55
"rootDir": ".",
66
"paths": {
7-
"@nanoforge/common": ["../common"],
8-
"@nanoforge/common/*": ["../common/*"]
7+
"@nanoforge/common": ["../common"]
98
}
109
},
1110
"exclude": ["node_modules", "dist", "test/**/*", "*.spec.ts"],

packages/core/tsconfig.build.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
"outDir": ".",
55
"rootDir": ".",
66
"paths": {
7-
"@nanoforge/common": ["../common"],
8-
"@nanoforge/common/*": ["../common/*"]
7+
"@nanoforge/common": ["../common"]
98
}
109
},
1110
"exclude": ["node_modules", "dist", "test/**/*", "*.spec.ts"],

packages/ecs/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,6 @@ src/**/*.js
267267
src/**/*.d.ts
268268

269269
# pubilc directory
270-
public/
270+
lib/libecs.wasm
271271
compile_commands.json
272272
emsdk/

packages/ecs/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ SRC = wasm/SparseArray.cpp\
55

66
NAME := libecs
77

8-
OUT_DIR = public
8+
OUT_DIR = lib
99
JS_NAME = $(OUT_DIR)/$(NAME).js
1010
HTML_NAME = $(OUT_DIR)/$(NAME).html
1111
WASM_NAME = $(OUT_DIR)/$(NAME).wasm
@@ -21,7 +21,7 @@ OBJ = $(SRC:.cpp=.o)
2121
%.o: %.cpp
2222
$(CC) -c $< -o $@ $(CFLAGS)
2323

24-
all: $(WASM_NAME)
24+
all: $(TS_NAME)
2525

2626
js: $(JS_NAME)
2727

packages/ecs/lib/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import "libecs.wasm";
2+
3+
export * from "./libecs";
4+
export { default as Module } from "./libecs";

packages/ecs/lib/libecs.d.ts

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
// TypeScript bindings for emscripten-generated code. Automatically generated at compile time.
2+
declare namespace RuntimeExports {
3+
let HEAPF32: any;
4+
let HEAPF64: any;
5+
let HEAP_DATA_VIEW: any;
6+
let HEAP8: any;
7+
let HEAPU8: any;
8+
let HEAP16: any;
9+
let HEAPU16: any;
10+
let HEAP32: any;
11+
let HEAPU32: any;
12+
let HEAP64: any;
13+
let HEAPU64: any;
14+
}
15+
interface WasmModule {
16+
}
17+
18+
export interface ClassHandle {
19+
isAliasOf(other: ClassHandle): boolean;
20+
delete(): void;
21+
deleteLater(): this;
22+
isDeleted(): boolean;
23+
clone(): this;
24+
}
25+
export interface container extends ClassHandle {
26+
size(): number;
27+
get(_0: number): any | undefined | undefined;
28+
push_back(_0?: any): void;
29+
resize(_0: number, _1?: any): void;
30+
set(_0: number, _1?: any): boolean;
31+
}
32+
33+
export interface SparseArray extends ClassHandle {
34+
setByCopy(_0: SparseArray): SparseArray;
35+
setByMove(_0: SparseArray): SparseArray;
36+
clear(): void;
37+
empty(): boolean;
38+
erase(_0: number): void;
39+
size(): number;
40+
resize(_0: number): void;
41+
get_index(_0?: any): number;
42+
get_const(_0: number): any | undefined;
43+
get(_0: number): any | undefined;
44+
insert_at(_0: number, _1?: any): any | undefined;
45+
insert_at(_0: number, _1?: any): any | undefined;
46+
set(_0: number, _1?: any): void;
47+
}
48+
49+
export interface Entity extends ClassHandle {
50+
get_id(): number;
51+
}
52+
53+
export interface Registry extends ClassHandle {
54+
spawn_entity(): Entity;
55+
kill_entity(_0: Entity): void;
56+
clear_entities(): void;
57+
run_systems(): void;
58+
clear_systems(): void;
59+
entity_from_index(_0: number): Entity;
60+
remove_system(_0: number): void;
61+
max_entities(): number;
62+
register_component(_0: any): SparseArray;
63+
get_components_const(_0: any): SparseArray;
64+
get_components(_0: any): SparseArray;
65+
get_entity_component_const(_0: Entity, _1: any): any | undefined;
66+
get_entity_component(_0: Entity, _1: any): any | undefined;
67+
add_component(_0: Entity, _1: any): any | undefined;
68+
remove_component(_0: Entity, _1: any): void;
69+
add_system(_0: any): void;
70+
}
71+
72+
interface EmbindModule {
73+
container: {
74+
new(): container;
75+
};
76+
SparseArray: {
77+
new(): SparseArray;
78+
};
79+
Entity: {
80+
new(_0: number): Entity;
81+
};
82+
Registry: {
83+
new(): Registry;
84+
};
85+
}
86+
87+
export type MainModule = WasmModule & typeof RuntimeExports & EmbindModule;
88+
export default function MainModuleFactory (options?: unknown): Promise<MainModule>;

0 commit comments

Comments
 (0)