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/index.d.ts ADDED
@@ -0,0 +1,185 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /* auto-generated by NAPI-RS */
5
+
6
+ export interface Transform2DData {
7
+ positionX: number
8
+ positionY: number
9
+ rotation: number
10
+ scaleX: number
11
+ scaleY: number
12
+ }
13
+ export interface SpriteData {
14
+ color: Color
15
+ flipX: boolean
16
+ flipY: boolean
17
+ anchorX: number
18
+ anchorY: number
19
+ customWidth?: number
20
+ customHeight?: number
21
+ sourceRectX?: number
22
+ sourceRectY?: number
23
+ sourceRectWidth?: number
24
+ sourceRectHeight?: number
25
+ }
26
+ export declare function transform2DDefault(): Transform2DData
27
+ export declare function transform2DFromPosition(x: number, y: number): Transform2DData
28
+ export declare function transform2DFromScale(x: number, y: number): Transform2DData
29
+ export declare function transform2DFromRotation(radians: number): Transform2DData
30
+ export declare function spriteDefault(): SpriteData
31
+ export declare function vec2(x: number, y: number): Vec2
32
+ export declare function vec2Zero(): Vec2
33
+ export declare function vec2One(): Vec2
34
+ export interface GameConfig {
35
+ title?: string
36
+ width?: number
37
+ height?: number
38
+ }
39
+ export interface NapiRenderStats {
40
+ drawCalls: number
41
+ triangles: number
42
+ textureBinds: number
43
+ shaderBinds: number
44
+ }
45
+ export interface NapiContact {
46
+ pointX: number
47
+ pointY: number
48
+ normalX: number
49
+ normalY: number
50
+ penetration: number
51
+ }
52
+ export interface Vec2 {
53
+ x: number
54
+ y: number
55
+ }
56
+ export interface Vec3 {
57
+ x: number
58
+ y: number
59
+ z: number
60
+ }
61
+ export interface Color {
62
+ r: number
63
+ g: number
64
+ b: number
65
+ a: number
66
+ }
67
+ export interface Rect {
68
+ x: number
69
+ y: number
70
+ width: number
71
+ height: number
72
+ }
73
+ export declare function colorWhite(): Color
74
+ export declare function colorBlack(): Color
75
+ export declare function colorRed(): Color
76
+ export declare function colorGreen(): Color
77
+ export declare function colorBlue(): Color
78
+ export declare function colorYellow(): Color
79
+ export declare function colorCyan(): Color
80
+ export declare function colorMagenta(): Color
81
+ export declare function colorTransparent(): Color
82
+ export declare function colorRgba(r: number, g: number, b: number, a: number): Color
83
+ export declare function colorRgb(r: number, g: number, b: number): Color
84
+ export declare function colorFromHex(hex: number): Color
85
+ export declare function colorFromU8(r: number, g: number, b: number, a: number): Color
86
+ export declare class Entity {
87
+ constructor(index: number, generation: number)
88
+ static placeholder(): Entity
89
+ static fromBits(bits: bigint): Entity
90
+ get index(): number
91
+ get generation(): number
92
+ get isPlaceholder(): boolean
93
+ toBits(): bigint
94
+ display(): string
95
+ }
96
+ export declare class GoudGame {
97
+ constructor(config?: GameConfig | undefined | null)
98
+ shouldClose(): boolean
99
+ close(): void
100
+ destroy(): boolean
101
+ beginFrame(r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): void
102
+ endFrame(): void
103
+ loadTexture(path: string): number
104
+ destroyTexture(handle: number): boolean
105
+ drawSprite(texture: number, x: number, y: number, w: number, h: number, rotation?: number | undefined | null, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
106
+ drawSpriteRect(texture: number, x: number, y: number, w: number, h: number, rotation: number | undefined | null, srcX: number, srcY: number, srcW: number, srcH: number, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
107
+ drawQuad(x: number, y: number, w: number, h: number, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
108
+ setViewport(x: number, y: number, width: number, height: number): void
109
+ enableDepthTest(): void
110
+ disableDepthTest(): void
111
+ clearDepth(): void
112
+ disableBlending(): void
113
+ getRenderStats(): NapiRenderStats
114
+ isKeyPressed(key: number): boolean
115
+ isKeyJustPressed(key: number): boolean
116
+ isKeyJustReleased(key: number): boolean
117
+ isMouseButtonPressed(button: number): boolean
118
+ isMouseButtonJustPressed(button: number): boolean
119
+ isMouseButtonJustReleased(button: number): boolean
120
+ getMousePosition(): Array<number>
121
+ getMouseDelta(): Array<number>
122
+ getScrollDelta(): Array<number>
123
+ mapActionKey(action: string, key: number): boolean
124
+ isActionPressed(action: string): boolean
125
+ isActionJustPressed(action: string): boolean
126
+ isActionJustReleased(action: string): boolean
127
+ spawnEmpty(): Entity
128
+ spawnBatch(count: number): Array<Entity>
129
+ despawn(entity: Entity): boolean
130
+ entityCount(): number
131
+ isAlive(entity: Entity): boolean
132
+ addTransform2D(entity: Entity, data: Transform2DData): void
133
+ getTransform2D(entity: Entity): Transform2DData | null
134
+ setTransform2D(entity: Entity, data: Transform2DData): void
135
+ hasTransform2D(entity: Entity): boolean
136
+ removeTransform2D(entity: Entity): boolean
137
+ addSprite(entity: Entity, data: SpriteData): void
138
+ getSprite(entity: Entity): SpriteData | null
139
+ setSprite(entity: Entity, data: SpriteData): void
140
+ hasSprite(entity: Entity): boolean
141
+ removeSprite(entity: Entity): boolean
142
+ addName(entity: Entity, name: string): void
143
+ getName(entity: Entity): string | null
144
+ hasName(entity: Entity): boolean
145
+ removeName(entity: Entity): boolean
146
+ collisionAabbAabb(caX: number, caY: number, hwA: number, hhA: number, cbX: number, cbY: number, hwB: number, hhB: number): NapiContact | null
147
+ collisionCircleCircle(caX: number, caY: number, ra: number, cbX: number, cbY: number, rb: number): NapiContact | null
148
+ collisionCircleAabb(cx: number, cy: number, cr: number, bx: number, by: number, bhw: number, bhh: number): NapiContact | null
149
+ pointInRect(px: number, py: number, rx: number, ry: number, rw: number, rh: number): boolean
150
+ pointInCircle(px: number, py: number, cx: number, cy: number, cr: number): boolean
151
+ aabbOverlap(ax1: number, ay1: number, ax2: number, ay2: number, bx1: number, by1: number, bx2: number, by2: number): boolean
152
+ circleOverlap(x1: number, y1: number, r1: number, x2: number, y2: number, r2: number): boolean
153
+ distance(x1: number, y1: number, x2: number, y2: number): number
154
+ distanceSquared(x1: number, y1: number, x2: number, y2: number): number
155
+ createCube(textureId: number, width: number, height: number, depth: number): number
156
+ createPlane(textureId: number, width: number, depth: number): number
157
+ createSphere(textureId: number, diameter: number, segments: number): number
158
+ createCylinder(textureId: number, radius: number, height: number, segments: number): number
159
+ setObjectPosition(id: number, x: number, y: number, z: number): boolean
160
+ setObjectRotation(id: number, x: number, y: number, z: number): boolean
161
+ setObjectScale(id: number, x: number, y: number, z: number): boolean
162
+ destroyObject(id: number): boolean
163
+ addLight(lt: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, r: number, g: number, b: number, intensity: number, range: number, spotAngle: number): number
164
+ updateLight(lid: number, lt: number, px: number, py: number, pz: number, dx: number, dy: number, dz: number, r: number, g: number, b: number, intensity: number, range: number, spotAngle: number): boolean
165
+ removeLight(lid: number): boolean
166
+ setCameraPosition3D(x: number, y: number, z: number): boolean
167
+ setCameraRotation3D(pitch: number, yaw: number, roll: number): boolean
168
+ configureGrid(enabled: boolean, size: number, divisions: number): boolean
169
+ setGridEnabled(enabled: boolean): boolean
170
+ configureSkybox(enabled: boolean, r: number, g: number, b: number, a: number): boolean
171
+ configureFog(enabled: boolean, r: number, g: number, b: number, density: number): boolean
172
+ setFogEnabled(enabled: boolean): boolean
173
+ render3D(): boolean
174
+ updateFrame(dt: number): void
175
+ get deltaTime(): number
176
+ get fps(): number
177
+ get title(): string
178
+ get frameCount(): number
179
+ get totalTime(): number
180
+ get windowWidth(): number
181
+ get windowHeight(): number
182
+ get contextValid(): boolean
183
+ /** Returns the raw FFI delta time from the last poll_events call. */
184
+ get ffiDeltaTime(): number
185
+ }
package/index.js ADDED
@@ -0,0 +1,337 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+
5
+ /* auto-generated by NAPI-RS */
6
+
7
+ const { existsSync, readFileSync } = require('fs')
8
+ const { join } = require('path')
9
+
10
+ const { platform, arch } = process
11
+
12
+ let nativeBinding = null
13
+ let localFileExisted = false
14
+ let loadError = null
15
+
16
+ function isMusl() {
17
+ // For Node 10
18
+ if (!process.report || typeof process.report.getReport !== 'function') {
19
+ try {
20
+ const lddPath = require('child_process').execSync('which ldd').toString().trim()
21
+ return readFileSync(lddPath, 'utf8').includes('musl')
22
+ } catch (e) {
23
+ return true
24
+ }
25
+ } else {
26
+ const { glibcVersionRuntime } = process.report.getReport().header
27
+ return !glibcVersionRuntime
28
+ }
29
+ }
30
+
31
+ switch (platform) {
32
+ case 'android':
33
+ switch (arch) {
34
+ case 'arm64':
35
+ localFileExisted = existsSync(join(__dirname, 'goud-engine-node.android-arm64.node'))
36
+ try {
37
+ if (localFileExisted) {
38
+ nativeBinding = require('./goud-engine-node.android-arm64.node')
39
+ } else {
40
+ nativeBinding = require('@goudengine/sdk-android-arm64')
41
+ }
42
+ } catch (e) {
43
+ loadError = e
44
+ }
45
+ break
46
+ case 'arm':
47
+ localFileExisted = existsSync(join(__dirname, 'goud-engine-node.android-arm-eabi.node'))
48
+ try {
49
+ if (localFileExisted) {
50
+ nativeBinding = require('./goud-engine-node.android-arm-eabi.node')
51
+ } else {
52
+ nativeBinding = require('@goudengine/sdk-android-arm-eabi')
53
+ }
54
+ } catch (e) {
55
+ loadError = e
56
+ }
57
+ break
58
+ default:
59
+ throw new Error(`Unsupported architecture on Android ${arch}`)
60
+ }
61
+ break
62
+ case 'win32':
63
+ switch (arch) {
64
+ case 'x64':
65
+ localFileExisted = existsSync(
66
+ join(__dirname, 'goud-engine-node.win32-x64-msvc.node')
67
+ )
68
+ try {
69
+ if (localFileExisted) {
70
+ nativeBinding = require('./goud-engine-node.win32-x64-msvc.node')
71
+ } else {
72
+ nativeBinding = require('@goudengine/sdk-win32-x64-msvc')
73
+ }
74
+ } catch (e) {
75
+ loadError = e
76
+ }
77
+ break
78
+ case 'ia32':
79
+ localFileExisted = existsSync(
80
+ join(__dirname, 'goud-engine-node.win32-ia32-msvc.node')
81
+ )
82
+ try {
83
+ if (localFileExisted) {
84
+ nativeBinding = require('./goud-engine-node.win32-ia32-msvc.node')
85
+ } else {
86
+ nativeBinding = require('@goudengine/sdk-win32-ia32-msvc')
87
+ }
88
+ } catch (e) {
89
+ loadError = e
90
+ }
91
+ break
92
+ case 'arm64':
93
+ localFileExisted = existsSync(
94
+ join(__dirname, 'goud-engine-node.win32-arm64-msvc.node')
95
+ )
96
+ try {
97
+ if (localFileExisted) {
98
+ nativeBinding = require('./goud-engine-node.win32-arm64-msvc.node')
99
+ } else {
100
+ nativeBinding = require('@goudengine/sdk-win32-arm64-msvc')
101
+ }
102
+ } catch (e) {
103
+ loadError = e
104
+ }
105
+ break
106
+ default:
107
+ throw new Error(`Unsupported architecture on Windows: ${arch}`)
108
+ }
109
+ break
110
+ case 'darwin':
111
+ localFileExisted = existsSync(join(__dirname, 'goud-engine-node.darwin-universal.node'))
112
+ try {
113
+ if (localFileExisted) {
114
+ nativeBinding = require('./goud-engine-node.darwin-universal.node')
115
+ } else {
116
+ nativeBinding = require('@goudengine/sdk-darwin-universal')
117
+ }
118
+ break
119
+ } catch {}
120
+ switch (arch) {
121
+ case 'x64':
122
+ localFileExisted = existsSync(join(__dirname, 'goud-engine-node.darwin-x64.node'))
123
+ try {
124
+ if (localFileExisted) {
125
+ nativeBinding = require('./goud-engine-node.darwin-x64.node')
126
+ } else {
127
+ nativeBinding = require('@goudengine/sdk-darwin-x64')
128
+ }
129
+ } catch (e) {
130
+ loadError = e
131
+ }
132
+ break
133
+ case 'arm64':
134
+ localFileExisted = existsSync(
135
+ join(__dirname, 'goud-engine-node.darwin-arm64.node')
136
+ )
137
+ try {
138
+ if (localFileExisted) {
139
+ nativeBinding = require('./goud-engine-node.darwin-arm64.node')
140
+ } else {
141
+ nativeBinding = require('@goudengine/sdk-darwin-arm64')
142
+ }
143
+ } catch (e) {
144
+ loadError = e
145
+ }
146
+ break
147
+ default:
148
+ throw new Error(`Unsupported architecture on macOS: ${arch}`)
149
+ }
150
+ break
151
+ case 'freebsd':
152
+ if (arch !== 'x64') {
153
+ throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
154
+ }
155
+ localFileExisted = existsSync(join(__dirname, 'goud-engine-node.freebsd-x64.node'))
156
+ try {
157
+ if (localFileExisted) {
158
+ nativeBinding = require('./goud-engine-node.freebsd-x64.node')
159
+ } else {
160
+ nativeBinding = require('@goudengine/sdk-freebsd-x64')
161
+ }
162
+ } catch (e) {
163
+ loadError = e
164
+ }
165
+ break
166
+ case 'linux':
167
+ switch (arch) {
168
+ case 'x64':
169
+ if (isMusl()) {
170
+ localFileExisted = existsSync(
171
+ join(__dirname, 'goud-engine-node.linux-x64-musl.node')
172
+ )
173
+ try {
174
+ if (localFileExisted) {
175
+ nativeBinding = require('./goud-engine-node.linux-x64-musl.node')
176
+ } else {
177
+ nativeBinding = require('@goudengine/sdk-linux-x64-musl')
178
+ }
179
+ } catch (e) {
180
+ loadError = e
181
+ }
182
+ } else {
183
+ localFileExisted = existsSync(
184
+ join(__dirname, 'goud-engine-node.linux-x64-gnu.node')
185
+ )
186
+ try {
187
+ if (localFileExisted) {
188
+ nativeBinding = require('./goud-engine-node.linux-x64-gnu.node')
189
+ } else {
190
+ nativeBinding = require('@goudengine/sdk-linux-x64-gnu')
191
+ }
192
+ } catch (e) {
193
+ loadError = e
194
+ }
195
+ }
196
+ break
197
+ case 'arm64':
198
+ if (isMusl()) {
199
+ localFileExisted = existsSync(
200
+ join(__dirname, 'goud-engine-node.linux-arm64-musl.node')
201
+ )
202
+ try {
203
+ if (localFileExisted) {
204
+ nativeBinding = require('./goud-engine-node.linux-arm64-musl.node')
205
+ } else {
206
+ nativeBinding = require('@goudengine/sdk-linux-arm64-musl')
207
+ }
208
+ } catch (e) {
209
+ loadError = e
210
+ }
211
+ } else {
212
+ localFileExisted = existsSync(
213
+ join(__dirname, 'goud-engine-node.linux-arm64-gnu.node')
214
+ )
215
+ try {
216
+ if (localFileExisted) {
217
+ nativeBinding = require('./goud-engine-node.linux-arm64-gnu.node')
218
+ } else {
219
+ nativeBinding = require('@goudengine/sdk-linux-arm64-gnu')
220
+ }
221
+ } catch (e) {
222
+ loadError = e
223
+ }
224
+ }
225
+ break
226
+ case 'arm':
227
+ if (isMusl()) {
228
+ localFileExisted = existsSync(
229
+ join(__dirname, 'goud-engine-node.linux-arm-musleabihf.node')
230
+ )
231
+ try {
232
+ if (localFileExisted) {
233
+ nativeBinding = require('./goud-engine-node.linux-arm-musleabihf.node')
234
+ } else {
235
+ nativeBinding = require('@goudengine/sdk-linux-arm-musleabihf')
236
+ }
237
+ } catch (e) {
238
+ loadError = e
239
+ }
240
+ } else {
241
+ localFileExisted = existsSync(
242
+ join(__dirname, 'goud-engine-node.linux-arm-gnueabihf.node')
243
+ )
244
+ try {
245
+ if (localFileExisted) {
246
+ nativeBinding = require('./goud-engine-node.linux-arm-gnueabihf.node')
247
+ } else {
248
+ nativeBinding = require('@goudengine/sdk-linux-arm-gnueabihf')
249
+ }
250
+ } catch (e) {
251
+ loadError = e
252
+ }
253
+ }
254
+ break
255
+ case 'riscv64':
256
+ if (isMusl()) {
257
+ localFileExisted = existsSync(
258
+ join(__dirname, 'goud-engine-node.linux-riscv64-musl.node')
259
+ )
260
+ try {
261
+ if (localFileExisted) {
262
+ nativeBinding = require('./goud-engine-node.linux-riscv64-musl.node')
263
+ } else {
264
+ nativeBinding = require('@goudengine/sdk-linux-riscv64-musl')
265
+ }
266
+ } catch (e) {
267
+ loadError = e
268
+ }
269
+ } else {
270
+ localFileExisted = existsSync(
271
+ join(__dirname, 'goud-engine-node.linux-riscv64-gnu.node')
272
+ )
273
+ try {
274
+ if (localFileExisted) {
275
+ nativeBinding = require('./goud-engine-node.linux-riscv64-gnu.node')
276
+ } else {
277
+ nativeBinding = require('@goudengine/sdk-linux-riscv64-gnu')
278
+ }
279
+ } catch (e) {
280
+ loadError = e
281
+ }
282
+ }
283
+ break
284
+ case 's390x':
285
+ localFileExisted = existsSync(
286
+ join(__dirname, 'goud-engine-node.linux-s390x-gnu.node')
287
+ )
288
+ try {
289
+ if (localFileExisted) {
290
+ nativeBinding = require('./goud-engine-node.linux-s390x-gnu.node')
291
+ } else {
292
+ nativeBinding = require('@goudengine/sdk-linux-s390x-gnu')
293
+ }
294
+ } catch (e) {
295
+ loadError = e
296
+ }
297
+ break
298
+ default:
299
+ throw new Error(`Unsupported architecture on Linux: ${arch}`)
300
+ }
301
+ break
302
+ default:
303
+ throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
304
+ }
305
+
306
+ if (!nativeBinding) {
307
+ if (loadError) {
308
+ throw loadError
309
+ }
310
+ throw new Error(`Failed to load native binding`)
311
+ }
312
+
313
+ const { transform2DDefault, transform2DFromPosition, transform2DFromScale, transform2DFromRotation, spriteDefault, vec2, vec2Zero, vec2One, Entity, GoudGame, colorWhite, colorBlack, colorRed, colorGreen, colorBlue, colorYellow, colorCyan, colorMagenta, colorTransparent, colorRgba, colorRgb, colorFromHex, colorFromU8 } = nativeBinding
314
+
315
+ module.exports.transform2DDefault = transform2DDefault
316
+ module.exports.transform2DFromPosition = transform2DFromPosition
317
+ module.exports.transform2DFromScale = transform2DFromScale
318
+ module.exports.transform2DFromRotation = transform2DFromRotation
319
+ module.exports.spriteDefault = spriteDefault
320
+ module.exports.vec2 = vec2
321
+ module.exports.vec2Zero = vec2Zero
322
+ module.exports.vec2One = vec2One
323
+ module.exports.Entity = Entity
324
+ module.exports.GoudGame = GoudGame
325
+ module.exports.colorWhite = colorWhite
326
+ module.exports.colorBlack = colorBlack
327
+ module.exports.colorRed = colorRed
328
+ module.exports.colorGreen = colorGreen
329
+ module.exports.colorBlue = colorBlue
330
+ module.exports.colorYellow = colorYellow
331
+ module.exports.colorCyan = colorCyan
332
+ module.exports.colorMagenta = colorMagenta
333
+ module.exports.colorTransparent = colorTransparent
334
+ module.exports.colorRgba = colorRgba
335
+ module.exports.colorRgb = colorRgb
336
+ module.exports.colorFromHex = colorFromHex
337
+ module.exports.colorFromU8 = colorFromU8
package/package.json ADDED
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "goudengine",
3
+ "version": "0.0.821",
4
+ "description": "GoudEngine — build 2D and 3D games with TypeScript for Node.js and web",
5
+ "main": "dist/generated/index.g.js",
6
+ "types": "dist/generated/index.g.d.ts",
7
+ "sideEffects": false,
8
+ "exports": {
9
+ ".": {
10
+ "node": {
11
+ "types": "./dist/generated/index.g.d.ts",
12
+ "import": "./dist/generated/index.g.js",
13
+ "require": "./dist/generated/index.g.js"
14
+ },
15
+ "browser": {
16
+ "types": "./dist/generated/web/index.g.d.ts",
17
+ "import": "./dist/generated/web/index.g.js"
18
+ },
19
+ "default": {
20
+ "types": "./dist/generated/index.g.d.ts",
21
+ "default": "./dist/generated/index.g.js"
22
+ }
23
+ },
24
+ "./web": {
25
+ "types": "./dist/generated/web/index.g.d.ts",
26
+ "import": "./dist/generated/web/index.g.js"
27
+ },
28
+ "./node": {
29
+ "types": "./dist/generated/node/index.g.d.ts",
30
+ "import": "./dist/generated/node/index.g.js"
31
+ }
32
+ },
33
+ "scripts": {
34
+ "build:native": "napi build --cargo-cwd native --platform --release",
35
+ "build:native:debug": "napi build --cargo-cwd native --platform",
36
+ "build:ts": "tsc",
37
+ "build:ts:web": "tsc -p tsconfig.web.json",
38
+ "build:wasm": "wasm-pack build ../../goud_engine --target web --out-dir ../sdks/typescript/wasm --features web --no-default-features",
39
+ "build:wasm:opt": "wasm-opt -Oz --enable-bulk-memory -o wasm/goud_engine_bg.wasm wasm/goud_engine_bg.wasm 2>/dev/null || echo 'wasm-opt not found — skipping optimization'",
40
+ "build:web": "npm run build:wasm && npm run build:wasm:opt && npm run build:ts:web",
41
+ "build": "npm run build:native && npm run build:ts",
42
+ "build:all": "npm run build && npm run build:web",
43
+ "clean": "rm -rf dist wasm *.node",
44
+ "typecheck": "tsc --noEmit && tsc -p tsconfig.web.json --noEmit",
45
+ "test": "node --test test/*.test.mjs",
46
+ "prepublishOnly": "npm run clean && npm run build:all",
47
+ "size": "node -e \"const fs=require('fs');try{const s=fs.statSync('wasm/goud_engine_bg.wasm');console.log((s.size/1024).toFixed(1)+'KB')}catch{console.log('No wasm build found')}\""
48
+ },
49
+ "napi": {
50
+ "name": "goud-engine-node",
51
+ "triples": {
52
+ "defaults": true,
53
+ "additional": [
54
+ "aarch64-apple-darwin",
55
+ "aarch64-unknown-linux-gnu",
56
+ "aarch64-unknown-linux-musl"
57
+ ]
58
+ }
59
+ },
60
+ "keywords": [
61
+ "game-engine",
62
+ "goudengine",
63
+ "ecs",
64
+ "napi-rs",
65
+ "wasm",
66
+ "webgpu",
67
+ "webassembly",
68
+ "2d",
69
+ "3d"
70
+ ],
71
+ "license": "MIT",
72
+ "repository": {
73
+ "type": "git",
74
+ "url": "https://github.com/aram-devdocs/GoudEngine.git",
75
+ "directory": "sdks/typescript"
76
+ },
77
+ "homepage": "https://github.com/aram-devdocs/GoudEngine#readme",
78
+ "bugs": {
79
+ "url": "https://github.com/aram-devdocs/GoudEngine/issues"
80
+ },
81
+ "devDependencies": {
82
+ "@napi-rs/cli": "^2.18.0",
83
+ "typescript": "^5.0.0",
84
+ "@types/node": "^20.0.0"
85
+ },
86
+ "engines": {
87
+ "node": ">=16.0.0"
88
+ },
89
+ "files": [
90
+ "dist",
91
+ "wasm/*.js",
92
+ "wasm/*.wasm",
93
+ "wasm/*.d.ts",
94
+ "index.js",
95
+ "index.d.ts",
96
+ "*.node"
97
+ ],
98
+ "publishConfig": {
99
+ "access": "public"
100
+ }
101
+ }