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.
Files changed (52) hide show
  1. package/README.md +202 -0
  2. package/dist/generated/index.g.d.ts +4 -0
  3. package/dist/generated/index.g.d.ts.map +1 -0
  4. package/dist/generated/index.g.js +12 -0
  5. package/dist/generated/index.g.js.map +1 -0
  6. package/dist/generated/node/index.g.d.ts +103 -0
  7. package/dist/generated/node/index.g.d.ts.map +1 -0
  8. package/dist/generated/node/index.g.js +278 -0
  9. package/dist/generated/node/index.g.js.map +1 -0
  10. package/dist/generated/types/engine.g.d.ts +154 -0
  11. package/dist/generated/types/engine.g.d.ts.map +1 -0
  12. package/dist/generated/types/engine.g.js +4 -0
  13. package/dist/generated/types/engine.g.js.map +1 -0
  14. package/dist/generated/types/input.g.d.ts +121 -0
  15. package/dist/generated/types/input.g.d.ts.map +1 -0
  16. package/dist/generated/types/input.g.js +128 -0
  17. package/dist/generated/types/input.g.js.map +1 -0
  18. package/dist/generated/types/math.g.d.ts +61 -0
  19. package/dist/generated/types/math.g.d.ts.map +1 -0
  20. package/dist/generated/types/math.g.js +74 -0
  21. package/dist/generated/types/math.g.js.map +1 -0
  22. package/dist/web/generated/types/engine.g.d.ts +154 -0
  23. package/dist/web/generated/types/engine.g.d.ts.map +1 -0
  24. package/dist/web/generated/types/engine.g.js +3 -0
  25. package/dist/web/generated/types/engine.g.js.map +1 -0
  26. package/dist/web/generated/types/input.g.d.ts +121 -0
  27. package/dist/web/generated/types/input.g.d.ts.map +1 -0
  28. package/dist/web/generated/types/input.g.js +125 -0
  29. package/dist/web/generated/types/input.g.js.map +1 -0
  30. package/dist/web/generated/types/math.g.d.ts +61 -0
  31. package/dist/web/generated/types/math.g.d.ts.map +1 -0
  32. package/dist/web/generated/types/math.g.js +67 -0
  33. package/dist/web/generated/types/math.g.js.map +1 -0
  34. package/dist/web/generated/web/index.g.d.ts +113 -0
  35. package/dist/web/generated/web/index.g.d.ts.map +1 -0
  36. package/dist/web/generated/web/index.g.js +242 -0
  37. package/dist/web/generated/web/index.g.js.map +1 -0
  38. package/dist/web/generated/web/input.g.d.ts +12 -0
  39. package/dist/web/generated/web/input.g.d.ts.map +1 -0
  40. package/dist/web/generated/web/input.g.js +151 -0
  41. package/dist/web/generated/web/input.g.js.map +1 -0
  42. package/goud-engine-node.darwin-arm64.node +0 -0
  43. package/goud-engine-node.darwin-x64.node +0 -0
  44. package/goud-engine-node.linux-x64-gnu.node +0 -0
  45. package/goud-engine-node.win32-x64-msvc.node +0 -0
  46. package/index.d.ts +185 -0
  47. package/index.js +337 -0
  48. package/package.json +101 -0
  49. package/wasm/goud_engine.d.ts +182 -0
  50. package/wasm/goud_engine.js +1789 -0
  51. package/wasm/goud_engine_bg.wasm +0 -0
  52. package/wasm/goud_engine_bg.wasm.d.ts +72 -0
package/README.md ADDED
@@ -0,0 +1,202 @@
1
+ # GoudEngine TypeScript SDK
2
+
3
+ [![npm](https://img.shields.io/npm/v/goudengine.svg)](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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"}