goudengine 0.0.821
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 +202 -0
- package/dist/generated/index.g.d.ts +4 -0
- package/dist/generated/index.g.d.ts.map +1 -0
- package/dist/generated/index.g.js +12 -0
- package/dist/generated/index.g.js.map +1 -0
- package/dist/generated/node/index.g.d.ts +103 -0
- package/dist/generated/node/index.g.d.ts.map +1 -0
- package/dist/generated/node/index.g.js +278 -0
- package/dist/generated/node/index.g.js.map +1 -0
- package/dist/generated/types/engine.g.d.ts +154 -0
- package/dist/generated/types/engine.g.d.ts.map +1 -0
- package/dist/generated/types/engine.g.js +4 -0
- package/dist/generated/types/engine.g.js.map +1 -0
- package/dist/generated/types/input.g.d.ts +121 -0
- package/dist/generated/types/input.g.d.ts.map +1 -0
- package/dist/generated/types/input.g.js +128 -0
- package/dist/generated/types/input.g.js.map +1 -0
- package/dist/generated/types/math.g.d.ts +61 -0
- package/dist/generated/types/math.g.d.ts.map +1 -0
- package/dist/generated/types/math.g.js +74 -0
- package/dist/generated/types/math.g.js.map +1 -0
- package/dist/web/generated/types/engine.g.d.ts +154 -0
- package/dist/web/generated/types/engine.g.d.ts.map +1 -0
- package/dist/web/generated/types/engine.g.js +3 -0
- package/dist/web/generated/types/engine.g.js.map +1 -0
- package/dist/web/generated/types/input.g.d.ts +121 -0
- package/dist/web/generated/types/input.g.d.ts.map +1 -0
- package/dist/web/generated/types/input.g.js +125 -0
- package/dist/web/generated/types/input.g.js.map +1 -0
- package/dist/web/generated/types/math.g.d.ts +61 -0
- package/dist/web/generated/types/math.g.d.ts.map +1 -0
- package/dist/web/generated/types/math.g.js +67 -0
- package/dist/web/generated/types/math.g.js.map +1 -0
- package/dist/web/generated/web/index.g.d.ts +113 -0
- package/dist/web/generated/web/index.g.d.ts.map +1 -0
- package/dist/web/generated/web/index.g.js +242 -0
- package/dist/web/generated/web/index.g.js.map +1 -0
- package/dist/web/generated/web/input.g.d.ts +12 -0
- package/dist/web/generated/web/input.g.d.ts.map +1 -0
- package/dist/web/generated/web/input.g.js +151 -0
- package/dist/web/generated/web/input.g.js.map +1 -0
- package/goud-engine-node.darwin-arm64.node +0 -0
- package/goud-engine-node.darwin-x64.node +0 -0
- package/goud-engine-node.linux-x64-gnu.node +0 -0
- package/goud-engine-node.win32-x64-msvc.node +0 -0
- package/index.d.ts +185 -0
- package/index.js +337 -0
- package/package.json +101 -0
- package/wasm/goud_engine.d.ts +182 -0
- package/wasm/goud_engine.js +1789 -0
- package/wasm/goud_engine_bg.wasm +0 -0
- package/wasm/goud_engine_bg.wasm.d.ts +72 -0
package/README.md
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# GoudEngine TypeScript SDK
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/goudengine)
|
|
4
|
+
|
|
5
|
+
> **Alpha** — This SDK is under active development. APIs change frequently. [Report issues](https://github.com/aram-devdocs/GoudEngine/issues) · [Contact](mailto:aram.devdocs@gmail.com)
|
|
6
|
+
|
|
7
|
+
TypeScript bindings for GoudEngine with two targets: Node.js desktop (via napi-rs)
|
|
8
|
+
and web browser (via wasm-bindgen). Published as `goudengine` on npm.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install goudengine
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
### Node.js (Desktop)
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { GoudGame, Color, Transform2D } from "goudengine";
|
|
22
|
+
|
|
23
|
+
const game = new GoudGame(800, 600, "My Game");
|
|
24
|
+
|
|
25
|
+
while (game.isRunning()) {
|
|
26
|
+
const dt = game.beginFrame();
|
|
27
|
+
// game logic here
|
|
28
|
+
game.endFrame();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
game.destroy();
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Web (Browser)
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { GoudGame, Color, Transform2D } from "goudengine/web";
|
|
38
|
+
|
|
39
|
+
const game = await GoudGame.create(800, 600, "My Game");
|
|
40
|
+
// same API as Node
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Flappy Bird Example
|
|
44
|
+
|
|
45
|
+
A condensed Node.js version showing the core patterns — game loop, physics, sprite rendering,
|
|
46
|
+
and AABB collision. The web variant uses the same `game.ts` logic with a WASM-backed `GoudGame`.
|
|
47
|
+
See the [full source](https://github.com/aram-devdocs/GoudEngine/tree/main/examples/typescript/flappy_bird)
|
|
48
|
+
for the complete implementation including the web entry point.
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { GoudGame } from "goudengine";
|
|
52
|
+
|
|
53
|
+
const SCREEN_W = 288, SCREEN_H = 512;
|
|
54
|
+
const GRAVITY = 9.8, JUMP_STRENGTH = -3.5;
|
|
55
|
+
const PIPE_SPEED = 1.0, PIPE_SPAWN_INTERVAL = 1.5, PIPE_GAP = 100;
|
|
56
|
+
const TARGET_FPS = 120;
|
|
57
|
+
|
|
58
|
+
const game = new GoudGame({ width: SCREEN_W, height: SCREEN_H + 112, title: "Flappy Goud" });
|
|
59
|
+
|
|
60
|
+
// Load textures — engine returns numeric handles
|
|
61
|
+
const bgTex = await game.loadTexture("assets/sprites/background-day.png");
|
|
62
|
+
const pipeTex = await game.loadTexture("assets/sprites/pipe-green.png");
|
|
63
|
+
const baseTex = await game.loadTexture("assets/sprites/base.png");
|
|
64
|
+
const birdTex = [
|
|
65
|
+
await game.loadTexture("assets/sprites/bluebird-downflap.png"),
|
|
66
|
+
await game.loadTexture("assets/sprites/bluebird-midflap.png"),
|
|
67
|
+
await game.loadTexture("assets/sprites/bluebird-upflap.png"),
|
|
68
|
+
];
|
|
69
|
+
|
|
70
|
+
// Bird state
|
|
71
|
+
let birdY = SCREEN_H / 2, velocity = 0;
|
|
72
|
+
const birdX = SCREEN_W / 4;
|
|
73
|
+
|
|
74
|
+
// Pipe state
|
|
75
|
+
type Pipe = { x: number; gapY: number };
|
|
76
|
+
let pipes: Pipe[] = [];
|
|
77
|
+
let spawnTimer = 0;
|
|
78
|
+
|
|
79
|
+
function reset() {
|
|
80
|
+
birdY = SCREEN_H / 2; velocity = 0; pipes = []; spawnTimer = 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function aabb(x1: number, y1: number, w1: number, h1: number,
|
|
84
|
+
x2: number, y2: number, w2: number, h2: number): boolean {
|
|
85
|
+
return x1 < x2 + w2 && x1 + w1 > x2 && y1 < y2 + h2 && y1 + h1 > y2;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
while (!game.shouldClose()) {
|
|
89
|
+
game.beginFrame(0.4, 0.7, 0.9, 1.0);
|
|
90
|
+
const dt = game.deltaTime;
|
|
91
|
+
|
|
92
|
+
if (game.isKeyPressed(256)) { game.close(); break; } // Escape
|
|
93
|
+
if (game.isKeyPressed(82)) { reset(); } // R
|
|
94
|
+
|
|
95
|
+
// Bird physics
|
|
96
|
+
if (game.isKeyPressed(32) || game.isMouseButtonPressed(0))
|
|
97
|
+
velocity = JUMP_STRENGTH * TARGET_FPS;
|
|
98
|
+
velocity += GRAVITY * dt * TARGET_FPS;
|
|
99
|
+
birdY += velocity * dt;
|
|
100
|
+
|
|
101
|
+
if (birdY + 24 > SCREEN_H || birdY < 0) { reset(); game.endFrame(); continue; }
|
|
102
|
+
|
|
103
|
+
// Pipe movement and collision
|
|
104
|
+
for (const p of pipes) {
|
|
105
|
+
p.x -= PIPE_SPEED * dt * TARGET_FPS;
|
|
106
|
+
const topY = p.gapY - PIPE_GAP - 320;
|
|
107
|
+
if (aabb(birdX, birdY, 34, 24, p.x, topY, 52, 320) ||
|
|
108
|
+
aabb(birdX, birdY, 34, 24, p.x, p.gapY + PIPE_GAP, 52, 320)) {
|
|
109
|
+
reset(); game.endFrame(); continue;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
pipes = pipes.filter(p => p.x + 60 > 0);
|
|
113
|
+
|
|
114
|
+
spawnTimer += dt;
|
|
115
|
+
if (spawnTimer > PIPE_SPAWN_INTERVAL) {
|
|
116
|
+
spawnTimer = 0;
|
|
117
|
+
pipes.push({ x: SCREEN_W, gapY: PIPE_GAP + Math.random() * (SCREEN_H - 2 * PIPE_GAP) });
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Render — draw order sets depth
|
|
121
|
+
game.drawSprite(bgTex, 144, 256, 288, 512);
|
|
122
|
+
for (const p of pipes) {
|
|
123
|
+
const topY = p.gapY - PIPE_GAP - 320;
|
|
124
|
+
game.drawSprite(pipeTex, p.x + 26, topY + 160, 52, 320, Math.PI);
|
|
125
|
+
game.drawSprite(pipeTex, p.x + 26, p.gapY + PIPE_GAP + 160, 52, 320, 0);
|
|
126
|
+
}
|
|
127
|
+
game.drawSprite(birdTex[Math.floor(game.totalTime / 0.1) % 3], birdX + 17, birdY + 12, 34, 24);
|
|
128
|
+
game.drawSprite(baseTex, 168, SCREEN_H + 56, 336, 112);
|
|
129
|
+
|
|
130
|
+
game.endFrame();
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
game.destroy();
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Controls:** `Space` or left-click to flap, `R` to restart, `Escape` to quit.
|
|
137
|
+
The web variant works the same way — import from `goudengine/web` and call `await GoudGame.create(...)`.
|
|
138
|
+
|
|
139
|
+
## Node vs Web Targets
|
|
140
|
+
|
|
141
|
+
The package uses conditional exports to select the right backend automatically:
|
|
142
|
+
|
|
143
|
+
- **Node.js** -- Uses a native addon built with napi-rs. Calls the Rust engine
|
|
144
|
+
directly through N-API for near-native performance. Requires a `.node` binary
|
|
145
|
+
matching your platform.
|
|
146
|
+
- **Web** -- Uses a WASM module built with wasm-bindgen. Runs in any modern
|
|
147
|
+
browser with WebAssembly support. Smaller binary, slightly lower performance.
|
|
148
|
+
|
|
149
|
+
Both targets expose the same TypeScript API. Game code written against one target
|
|
150
|
+
works on the other without changes.
|
|
151
|
+
|
|
152
|
+
You can also import a specific target explicitly:
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
import { GoudGame } from "goudengine/node"; // Force Node backend
|
|
156
|
+
import { GoudGame } from "goudengine/web"; // Force Web backend
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Build from Source
|
|
160
|
+
|
|
161
|
+
### Node.js native addon
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
cd sdks/typescript/native && npm run build
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Or from the SDK root:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
cd sdks/typescript
|
|
171
|
+
npm run build:native # Build napi-rs .node addon
|
|
172
|
+
npm run build:ts # Compile TypeScript sources
|
|
173
|
+
npm run build # Both of the above
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### WASM module
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
cd sdks/typescript
|
|
180
|
+
npm run build:web # Build WASM + compile TS for web target
|
|
181
|
+
npm run build:all # Node + Web
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Tests
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
cd sdks/typescript
|
|
188
|
+
npm test # node --test test/*.test.mjs
|
|
189
|
+
npm run typecheck # tsc --noEmit for both targets
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Codegen
|
|
193
|
+
|
|
194
|
+
Most source files under `native/src/` and `src/generated/` are auto-generated
|
|
195
|
+
by the codegen pipeline. Files with a `.g.rs` or `.g.ts` suffix should not be
|
|
196
|
+
edited by hand. Run `./codegen.sh` from the repository root to regenerate.
|
|
197
|
+
|
|
198
|
+
## f64 vs f32
|
|
199
|
+
|
|
200
|
+
JavaScript `number` is always 64-bit. The Node SDK converts between `f64` (JS)
|
|
201
|
+
and `f32` (Rust engine) at the napi boundary. The WASM target uses `f32` directly
|
|
202
|
+
since wasm-bindgen supports it natively.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { GoudGame, Color, Vec2, Vec3, Key, MouseButton } from './node/index.g.js';
|
|
2
|
+
export type { IGoudGame, IEntity, IColor, IVec2, ITransform2DData, ISpriteData, IRenderStats, IContact } from './types/engine.g.js';
|
|
3
|
+
export type { Rect } from './types/math.g.js';
|
|
4
|
+
//# sourceMappingURL=index.g.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.g.d.ts","sourceRoot":"","sources":["../../src/generated/index.g.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClF,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpI,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This file is AUTO-GENERATED by GoudEngine codegen. DO NOT EDIT.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MouseButton = exports.Key = exports.Vec3 = exports.Vec2 = exports.Color = exports.GoudGame = void 0;
|
|
5
|
+
var index_g_js_1 = require("./node/index.g.js");
|
|
6
|
+
Object.defineProperty(exports, "GoudGame", { enumerable: true, get: function () { return index_g_js_1.GoudGame; } });
|
|
7
|
+
Object.defineProperty(exports, "Color", { enumerable: true, get: function () { return index_g_js_1.Color; } });
|
|
8
|
+
Object.defineProperty(exports, "Vec2", { enumerable: true, get: function () { return index_g_js_1.Vec2; } });
|
|
9
|
+
Object.defineProperty(exports, "Vec3", { enumerable: true, get: function () { return index_g_js_1.Vec3; } });
|
|
10
|
+
Object.defineProperty(exports, "Key", { enumerable: true, get: function () { return index_g_js_1.Key; } });
|
|
11
|
+
Object.defineProperty(exports, "MouseButton", { enumerable: true, get: function () { return index_g_js_1.MouseButton; } });
|
|
12
|
+
//# sourceMappingURL=index.g.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.g.js","sourceRoot":"","sources":["../../src/generated/index.g.ts"],"names":[],"mappings":";AAAA,kEAAkE;;;AAElE,gDAAkF;AAAzE,sGAAA,QAAQ,OAAA;AAAE,mGAAA,KAAK,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,iGAAA,GAAG,OAAA;AAAE,yGAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { IGoudGame, IEntity, IColor, IVec2, ITransform2DData, ISpriteData, IRenderStats, IContact } from '../types/engine.g.js';
|
|
2
|
+
export { Color, Vec2, Vec3 } from '../types/math.g.js';
|
|
3
|
+
export { Key, MouseButton } from '../types/input.g.js';
|
|
4
|
+
export type { IGoudGame, IEntity, IColor, IVec2, ITransform2DData, ISpriteData, IRenderStats, IContact } from '../types/engine.g.js';
|
|
5
|
+
export declare class GoudGame implements IGoudGame {
|
|
6
|
+
private native;
|
|
7
|
+
constructor(config?: {
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
|
+
title?: string;
|
|
11
|
+
});
|
|
12
|
+
static create(config?: {
|
|
13
|
+
width?: number;
|
|
14
|
+
height?: number;
|
|
15
|
+
title?: string;
|
|
16
|
+
}): Promise<GoudGame>;
|
|
17
|
+
get deltaTime(): number;
|
|
18
|
+
get fps(): number;
|
|
19
|
+
get windowWidth(): number;
|
|
20
|
+
get windowHeight(): number;
|
|
21
|
+
get title(): string;
|
|
22
|
+
get totalTime(): number;
|
|
23
|
+
get frameCount(): number;
|
|
24
|
+
shouldClose(): boolean;
|
|
25
|
+
close(): void;
|
|
26
|
+
destroy(): void;
|
|
27
|
+
beginFrame(r?: number, g?: number, b?: number, a?: number): void;
|
|
28
|
+
endFrame(): void;
|
|
29
|
+
run(update: (dt: number) => void): void;
|
|
30
|
+
loadTexture(path: string): Promise<number>;
|
|
31
|
+
destroyTexture(handle: number): void;
|
|
32
|
+
drawSprite(texture: number, x: number, y: number, width: number, height: number, rotation?: number, color?: IColor): void;
|
|
33
|
+
drawQuad(x: number, y: number, width: number, height: number, color?: IColor): void;
|
|
34
|
+
isKeyPressed(key: number): boolean;
|
|
35
|
+
isKeyJustPressed(key: number): boolean;
|
|
36
|
+
isKeyJustReleased(key: number): boolean;
|
|
37
|
+
isMouseButtonPressed(button: number): boolean;
|
|
38
|
+
isMouseButtonJustPressed(button: number): boolean;
|
|
39
|
+
isMouseButtonJustReleased(button: number): boolean;
|
|
40
|
+
getMousePosition(): IVec2;
|
|
41
|
+
getMouseDelta(): IVec2;
|
|
42
|
+
getScrollDelta(): IVec2;
|
|
43
|
+
spawnEmpty(): IEntity;
|
|
44
|
+
despawn(entity: IEntity): boolean;
|
|
45
|
+
entityCount(): number;
|
|
46
|
+
isAlive(entity: IEntity): boolean;
|
|
47
|
+
addTransform2d(entity: IEntity, transform: ITransform2DData): void;
|
|
48
|
+
getTransform2d(entity: IEntity): ITransform2DData | null;
|
|
49
|
+
setTransform2d(entity: IEntity, transform: ITransform2DData): void;
|
|
50
|
+
hasTransform2d(entity: IEntity): boolean;
|
|
51
|
+
removeTransform2d(entity: IEntity): boolean;
|
|
52
|
+
addName(entity: IEntity, name: string): void;
|
|
53
|
+
getName(entity: IEntity): string | null;
|
|
54
|
+
hasName(entity: IEntity): boolean;
|
|
55
|
+
removeName(entity: IEntity): boolean;
|
|
56
|
+
addSprite(entity: IEntity, sprite: ISpriteData): void;
|
|
57
|
+
getSprite(entity: IEntity): ISpriteData | null;
|
|
58
|
+
setSprite(entity: IEntity, sprite: ISpriteData): void;
|
|
59
|
+
hasSprite(entity: IEntity): boolean;
|
|
60
|
+
removeSprite(entity: IEntity): boolean;
|
|
61
|
+
spawnBatch(count: number): IEntity[];
|
|
62
|
+
despawnBatch(entities: IEntity[]): number;
|
|
63
|
+
createCube(textureId: number, width: number, height: number, depth: number): number;
|
|
64
|
+
createPlane(textureId: number, width: number, depth: number): number;
|
|
65
|
+
createSphere(textureId: number, diameter: number, segments?: number): number;
|
|
66
|
+
createCylinder(textureId: number, radius: number, height: number, segments?: number): number;
|
|
67
|
+
setObjectPosition(objectId: number, x: number, y: number, z: number): boolean;
|
|
68
|
+
setObjectRotation(objectId: number, x: number, y: number, z: number): boolean;
|
|
69
|
+
setObjectScale(objectId: number, x: number, y: number, z: number): boolean;
|
|
70
|
+
destroyObject(objectId: number): boolean;
|
|
71
|
+
addLight(lightType: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, r: number, g: number, b: number, intensity: number, range: number, spotAngle: number): number;
|
|
72
|
+
updateLight(lightId: number, lightType: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, r: number, g: number, b: number, intensity: number, range: number, spotAngle: number): boolean;
|
|
73
|
+
removeLight(lightId: number): boolean;
|
|
74
|
+
setCameraPosition3D(x: number, y: number, z: number): boolean;
|
|
75
|
+
setCameraRotation3D(pitch: number, yaw: number, roll: number): boolean;
|
|
76
|
+
configureGrid(enabled: boolean, size: number, divisions: number): boolean;
|
|
77
|
+
setGridEnabled(enabled: boolean): boolean;
|
|
78
|
+
configureSkybox(enabled: boolean, r: number, g: number, b: number, a: number): boolean;
|
|
79
|
+
configureFog(enabled: boolean, r: number, g: number, b: number, density: number): boolean;
|
|
80
|
+
setFogEnabled(enabled: boolean): boolean;
|
|
81
|
+
render3D(): boolean;
|
|
82
|
+
drawSpriteRect(texture: number, x: number, y: number, width: number, height: number, rotation: number, srcX: number, srcY: number, srcW: number, srcH: number, color?: IColor): boolean;
|
|
83
|
+
setViewport(x: number, y: number, width: number, height: number): void;
|
|
84
|
+
enableDepthTest(): void;
|
|
85
|
+
disableDepthTest(): void;
|
|
86
|
+
clearDepth(): void;
|
|
87
|
+
disableBlending(): void;
|
|
88
|
+
getRenderStats(): IRenderStats;
|
|
89
|
+
mapActionKey(action: string, key: number): boolean;
|
|
90
|
+
isActionPressed(action: string): boolean;
|
|
91
|
+
isActionJustPressed(action: string): boolean;
|
|
92
|
+
isActionJustReleased(action: string): boolean;
|
|
93
|
+
collisionAabbAabb(centerAx: number, centerAy: number, halfWa: number, halfHa: number, centerBx: number, centerBy: number, halfWb: number, halfHb: number): IContact | null;
|
|
94
|
+
collisionCircleCircle(centerAx: number, centerAy: number, radiusA: number, centerBx: number, centerBy: number, radiusB: number): IContact | null;
|
|
95
|
+
collisionCircleAabb(circleX: number, circleY: number, circleRadius: number, boxX: number, boxY: number, boxHw: number, boxHh: number): IContact | null;
|
|
96
|
+
pointInRect(px: number, py: number, rx: number, ry: number, rw: number, rh: number): boolean;
|
|
97
|
+
pointInCircle(px: number, py: number, cx: number, cy: number, radius: number): boolean;
|
|
98
|
+
aabbOverlap(minAx: number, minAy: number, maxAx: number, maxAy: number, minBx: number, minBy: number, maxBx: number, maxBy: number): boolean;
|
|
99
|
+
circleOverlap(x1: number, y1: number, r1: number, x2: number, y2: number, r2: number): boolean;
|
|
100
|
+
distance(x1: number, y1: number, x2: number, y2: number): number;
|
|
101
|
+
distanceSquared(x1: number, y1: number, x2: number, y2: number): number;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=index.g.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.g.d.ts","sourceRoot":"","sources":["../../../src/generated/node/index.g.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This file is AUTO-GENERATED by GoudEngine codegen. DO NOT EDIT.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GoudGame = exports.MouseButton = exports.Key = exports.Vec3 = exports.Vec2 = exports.Color = void 0;
|
|
5
|
+
const index_1 = require("../../../index");
|
|
6
|
+
const math_g_js_1 = require("../types/math.g.js");
|
|
7
|
+
var math_g_js_2 = require("../types/math.g.js");
|
|
8
|
+
Object.defineProperty(exports, "Color", { enumerable: true, get: function () { return math_g_js_2.Color; } });
|
|
9
|
+
Object.defineProperty(exports, "Vec2", { enumerable: true, get: function () { return math_g_js_2.Vec2; } });
|
|
10
|
+
Object.defineProperty(exports, "Vec3", { enumerable: true, get: function () { return math_g_js_2.Vec3; } });
|
|
11
|
+
var input_g_js_1 = require("../types/input.g.js");
|
|
12
|
+
Object.defineProperty(exports, "Key", { enumerable: true, get: function () { return input_g_js_1.Key; } });
|
|
13
|
+
Object.defineProperty(exports, "MouseButton", { enumerable: true, get: function () { return input_g_js_1.MouseButton; } });
|
|
14
|
+
class GoudGame {
|
|
15
|
+
constructor(config) {
|
|
16
|
+
this.native = new index_1.GoudGame(config);
|
|
17
|
+
}
|
|
18
|
+
static async create(config) {
|
|
19
|
+
return new GoudGame(config);
|
|
20
|
+
}
|
|
21
|
+
get deltaTime() { return this.native.deltaTime; }
|
|
22
|
+
get fps() { return this.native.fps; }
|
|
23
|
+
get windowWidth() { return this.native.windowWidth; }
|
|
24
|
+
get windowHeight() { return this.native.windowHeight; }
|
|
25
|
+
get title() { return this.native.title; }
|
|
26
|
+
get totalTime() { return this.native.totalTime; }
|
|
27
|
+
get frameCount() { return this.native.frameCount; }
|
|
28
|
+
shouldClose() {
|
|
29
|
+
return this.native.shouldClose();
|
|
30
|
+
}
|
|
31
|
+
close() {
|
|
32
|
+
this.native.close();
|
|
33
|
+
}
|
|
34
|
+
destroy() {
|
|
35
|
+
this.native.destroy();
|
|
36
|
+
}
|
|
37
|
+
beginFrame(r, g, b, a) {
|
|
38
|
+
this.native.beginFrame(r ?? 0, g ?? 0, b ?? 0, a ?? 1);
|
|
39
|
+
}
|
|
40
|
+
endFrame() {
|
|
41
|
+
this.native.endFrame();
|
|
42
|
+
}
|
|
43
|
+
run(update) {
|
|
44
|
+
while (!this.native.shouldClose()) {
|
|
45
|
+
this.native.beginFrame();
|
|
46
|
+
update(this.native.deltaTime);
|
|
47
|
+
this.native.endFrame();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async loadTexture(path) {
|
|
51
|
+
return this.native.loadTexture(path);
|
|
52
|
+
}
|
|
53
|
+
destroyTexture(handle) {
|
|
54
|
+
this.native.destroyTexture(handle);
|
|
55
|
+
}
|
|
56
|
+
drawSprite(texture, x, y, width, height, rotation, color) {
|
|
57
|
+
const c = color ?? math_g_js_1.Color.white();
|
|
58
|
+
this.native.drawSprite(texture, x, y, width, height, rotation, c.r, c.g, c.b, c.a);
|
|
59
|
+
}
|
|
60
|
+
drawQuad(x, y, width, height, color) {
|
|
61
|
+
const c = color ?? math_g_js_1.Color.white();
|
|
62
|
+
this.native.drawQuad(x, y, width, height, c.r, c.g, c.b, c.a);
|
|
63
|
+
}
|
|
64
|
+
isKeyPressed(key) {
|
|
65
|
+
return this.native.isKeyPressed(key);
|
|
66
|
+
}
|
|
67
|
+
isKeyJustPressed(key) {
|
|
68
|
+
return this.native.isKeyJustPressed(key);
|
|
69
|
+
}
|
|
70
|
+
isKeyJustReleased(key) {
|
|
71
|
+
return this.native.isKeyJustReleased(key);
|
|
72
|
+
}
|
|
73
|
+
isMouseButtonPressed(button) {
|
|
74
|
+
return this.native.isMouseButtonPressed(button);
|
|
75
|
+
}
|
|
76
|
+
isMouseButtonJustPressed(button) {
|
|
77
|
+
return this.native.isMouseButtonJustPressed(button);
|
|
78
|
+
}
|
|
79
|
+
isMouseButtonJustReleased(button) {
|
|
80
|
+
return this.native.isMouseButtonJustReleased(button);
|
|
81
|
+
}
|
|
82
|
+
getMousePosition() {
|
|
83
|
+
const arr = this.native.getMousePosition();
|
|
84
|
+
return { x: arr[0], y: arr[1] };
|
|
85
|
+
}
|
|
86
|
+
getMouseDelta() {
|
|
87
|
+
const arr = this.native.getMouseDelta();
|
|
88
|
+
return { x: arr[0], y: arr[1] };
|
|
89
|
+
}
|
|
90
|
+
getScrollDelta() {
|
|
91
|
+
const arr = this.native.getScrollDelta();
|
|
92
|
+
return { x: arr[0], y: arr[1] };
|
|
93
|
+
}
|
|
94
|
+
spawnEmpty() {
|
|
95
|
+
return this.native.spawnEmpty();
|
|
96
|
+
}
|
|
97
|
+
despawn(entity) {
|
|
98
|
+
return this.native.despawn(entity);
|
|
99
|
+
}
|
|
100
|
+
entityCount() {
|
|
101
|
+
return this.native.entityCount();
|
|
102
|
+
}
|
|
103
|
+
isAlive(entity) {
|
|
104
|
+
return this.native.isAlive(entity);
|
|
105
|
+
}
|
|
106
|
+
addTransform2d(entity, transform) {
|
|
107
|
+
this.native.addTransform2D(entity, transform);
|
|
108
|
+
}
|
|
109
|
+
getTransform2d(entity) {
|
|
110
|
+
return this.native.getTransform2D(entity) ?? null;
|
|
111
|
+
}
|
|
112
|
+
setTransform2d(entity, transform) {
|
|
113
|
+
this.native.setTransform2D(entity, transform);
|
|
114
|
+
}
|
|
115
|
+
hasTransform2d(entity) {
|
|
116
|
+
return this.native.hasTransform2D(entity);
|
|
117
|
+
}
|
|
118
|
+
removeTransform2d(entity) {
|
|
119
|
+
return this.native.removeTransform2D(entity);
|
|
120
|
+
}
|
|
121
|
+
addName(entity, name) {
|
|
122
|
+
this.native.addName(entity, name);
|
|
123
|
+
}
|
|
124
|
+
getName(entity) {
|
|
125
|
+
return this.native.getName(entity) ?? null;
|
|
126
|
+
}
|
|
127
|
+
hasName(entity) {
|
|
128
|
+
return this.native.hasName(entity);
|
|
129
|
+
}
|
|
130
|
+
removeName(entity) {
|
|
131
|
+
return this.native.removeName(entity);
|
|
132
|
+
}
|
|
133
|
+
addSprite(entity, sprite) {
|
|
134
|
+
this.native.addSprite(entity, sprite);
|
|
135
|
+
}
|
|
136
|
+
getSprite(entity) {
|
|
137
|
+
const raw = this.native.getSprite(entity);
|
|
138
|
+
if (!raw)
|
|
139
|
+
return null;
|
|
140
|
+
return raw;
|
|
141
|
+
}
|
|
142
|
+
setSprite(entity, sprite) {
|
|
143
|
+
this.native.setSprite(entity, sprite);
|
|
144
|
+
}
|
|
145
|
+
hasSprite(entity) {
|
|
146
|
+
return this.native.hasSprite(entity);
|
|
147
|
+
}
|
|
148
|
+
removeSprite(entity) {
|
|
149
|
+
return this.native.removeSprite(entity);
|
|
150
|
+
}
|
|
151
|
+
spawnBatch(count) {
|
|
152
|
+
const arr = this.native.spawnBatch(count);
|
|
153
|
+
return Array.from(arr);
|
|
154
|
+
}
|
|
155
|
+
despawnBatch(entities) {
|
|
156
|
+
return this.native.despawnBatch(entities);
|
|
157
|
+
}
|
|
158
|
+
createCube(textureId, width, height, depth) {
|
|
159
|
+
return this.native.createCube(textureId, width, height, depth);
|
|
160
|
+
}
|
|
161
|
+
createPlane(textureId, width, depth) {
|
|
162
|
+
return this.native.createPlane(textureId, width, depth);
|
|
163
|
+
}
|
|
164
|
+
createSphere(textureId, diameter, segments) {
|
|
165
|
+
return this.native.createSphere(textureId, diameter, segments ?? 16);
|
|
166
|
+
}
|
|
167
|
+
createCylinder(textureId, radius, height, segments) {
|
|
168
|
+
return this.native.createCylinder(textureId, radius, height, segments ?? 16);
|
|
169
|
+
}
|
|
170
|
+
setObjectPosition(objectId, x, y, z) {
|
|
171
|
+
return this.native.setObjectPosition(objectId, x, y, z);
|
|
172
|
+
}
|
|
173
|
+
setObjectRotation(objectId, x, y, z) {
|
|
174
|
+
return this.native.setObjectRotation(objectId, x, y, z);
|
|
175
|
+
}
|
|
176
|
+
setObjectScale(objectId, x, y, z) {
|
|
177
|
+
return this.native.setObjectScale(objectId, x, y, z);
|
|
178
|
+
}
|
|
179
|
+
destroyObject(objectId) {
|
|
180
|
+
return this.native.destroyObject(objectId);
|
|
181
|
+
}
|
|
182
|
+
addLight(lightType, posX, posY, posZ, dirX, dirY, dirZ, r, g, b, intensity, range, spotAngle) {
|
|
183
|
+
return this.native.addLight(lightType, posX, posY, posZ, dirX, dirY, dirZ, r, g, b, intensity, range, spotAngle);
|
|
184
|
+
}
|
|
185
|
+
updateLight(lightId, lightType, posX, posY, posZ, dirX, dirY, dirZ, r, g, b, intensity, range, spotAngle) {
|
|
186
|
+
return this.native.updateLight(lightId, lightType, posX, posY, posZ, dirX, dirY, dirZ, r, g, b, intensity, range, spotAngle);
|
|
187
|
+
}
|
|
188
|
+
removeLight(lightId) {
|
|
189
|
+
return this.native.removeLight(lightId);
|
|
190
|
+
}
|
|
191
|
+
setCameraPosition3D(x, y, z) {
|
|
192
|
+
return this.native.setCameraPosition3D(x, y, z);
|
|
193
|
+
}
|
|
194
|
+
setCameraRotation3D(pitch, yaw, roll) {
|
|
195
|
+
return this.native.setCameraRotation3D(pitch, yaw, roll);
|
|
196
|
+
}
|
|
197
|
+
configureGrid(enabled, size, divisions) {
|
|
198
|
+
return this.native.configureGrid(enabled, size, divisions);
|
|
199
|
+
}
|
|
200
|
+
setGridEnabled(enabled) {
|
|
201
|
+
return this.native.setGridEnabled(enabled);
|
|
202
|
+
}
|
|
203
|
+
configureSkybox(enabled, r, g, b, a) {
|
|
204
|
+
return this.native.configureSkybox(enabled, r, g, b, a);
|
|
205
|
+
}
|
|
206
|
+
configureFog(enabled, r, g, b, density) {
|
|
207
|
+
return this.native.configureFog(enabled, r, g, b, density);
|
|
208
|
+
}
|
|
209
|
+
setFogEnabled(enabled) {
|
|
210
|
+
return this.native.setFogEnabled(enabled);
|
|
211
|
+
}
|
|
212
|
+
render3D() {
|
|
213
|
+
return this.native.render3D();
|
|
214
|
+
}
|
|
215
|
+
drawSpriteRect(texture, x, y, width, height, rotation, srcX, srcY, srcW, srcH, color) {
|
|
216
|
+
const c = color ?? math_g_js_1.Color.white();
|
|
217
|
+
return this.native.drawSpriteRect(texture, x, y, width, height, rotation, srcX, srcY, srcW, srcH, c.r, c.g, c.b, c.a);
|
|
218
|
+
}
|
|
219
|
+
setViewport(x, y, width, height) {
|
|
220
|
+
this.native.setViewport(x, y, width, height);
|
|
221
|
+
}
|
|
222
|
+
enableDepthTest() {
|
|
223
|
+
this.native.enableDepthTest();
|
|
224
|
+
}
|
|
225
|
+
disableDepthTest() {
|
|
226
|
+
this.native.disableDepthTest();
|
|
227
|
+
}
|
|
228
|
+
clearDepth() {
|
|
229
|
+
this.native.clearDepth();
|
|
230
|
+
}
|
|
231
|
+
disableBlending() {
|
|
232
|
+
this.native.disableBlending();
|
|
233
|
+
}
|
|
234
|
+
getRenderStats() {
|
|
235
|
+
return this.native.getRenderStats();
|
|
236
|
+
}
|
|
237
|
+
mapActionKey(action, key) {
|
|
238
|
+
return this.native.mapActionKey(action, key);
|
|
239
|
+
}
|
|
240
|
+
isActionPressed(action) {
|
|
241
|
+
return this.native.isActionPressed(action);
|
|
242
|
+
}
|
|
243
|
+
isActionJustPressed(action) {
|
|
244
|
+
return this.native.isActionJustPressed(action);
|
|
245
|
+
}
|
|
246
|
+
isActionJustReleased(action) {
|
|
247
|
+
return this.native.isActionJustReleased(action);
|
|
248
|
+
}
|
|
249
|
+
collisionAabbAabb(centerAx, centerAy, halfWa, halfHa, centerBx, centerBy, halfWb, halfHb) {
|
|
250
|
+
return this.native.collisionAabbAabb(centerAx, centerAy, halfWa, halfHa, centerBx, centerBy, halfWb, halfHb);
|
|
251
|
+
}
|
|
252
|
+
collisionCircleCircle(centerAx, centerAy, radiusA, centerBx, centerBy, radiusB) {
|
|
253
|
+
return this.native.collisionCircleCircle(centerAx, centerAy, radiusA, centerBx, centerBy, radiusB);
|
|
254
|
+
}
|
|
255
|
+
collisionCircleAabb(circleX, circleY, circleRadius, boxX, boxY, boxHw, boxHh) {
|
|
256
|
+
return this.native.collisionCircleAabb(circleX, circleY, circleRadius, boxX, boxY, boxHw, boxHh);
|
|
257
|
+
}
|
|
258
|
+
pointInRect(px, py, rx, ry, rw, rh) {
|
|
259
|
+
return this.native.pointInRect(px, py, rx, ry, rw, rh);
|
|
260
|
+
}
|
|
261
|
+
pointInCircle(px, py, cx, cy, radius) {
|
|
262
|
+
return this.native.pointInCircle(px, py, cx, cy, radius);
|
|
263
|
+
}
|
|
264
|
+
aabbOverlap(minAx, minAy, maxAx, maxAy, minBx, minBy, maxBx, maxBy) {
|
|
265
|
+
return this.native.aabbOverlap(minAx, minAy, maxAx, maxAy, minBx, minBy, maxBx, maxBy);
|
|
266
|
+
}
|
|
267
|
+
circleOverlap(x1, y1, r1, x2, y2, r2) {
|
|
268
|
+
return this.native.circleOverlap(x1, y1, r1, x2, y2, r2);
|
|
269
|
+
}
|
|
270
|
+
distance(x1, y1, x2, y2) {
|
|
271
|
+
return this.native.distance(x1, y1, x2, y2);
|
|
272
|
+
}
|
|
273
|
+
distanceSquared(x1, y1, x2, y2) {
|
|
274
|
+
return this.native.distanceSquared(x1, y1, x2, y2);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
exports.GoudGame = GoudGame;
|
|
278
|
+
//# sourceMappingURL=index.g.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.g.js","sourceRoot":"","sources":["../../../src/generated/node/index.g.ts"],"names":[],"mappings":"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"}
|