goudengine 0.0.827 → 0.0.830
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 +116 -0
- package/dist/generated/diagnostic.g.d.ts +15 -0
- package/dist/generated/diagnostic.g.d.ts.map +1 -0
- package/dist/generated/diagnostic.g.js +50 -0
- package/dist/generated/diagnostic.g.js.map +1 -0
- package/dist/generated/errors.g.d.ts +37 -0
- package/dist/generated/errors.g.d.ts.map +1 -0
- package/dist/generated/errors.g.js +148 -0
- package/dist/generated/errors.g.js.map +1 -0
- package/dist/generated/index.g.d.ts +5 -2
- package/dist/generated/index.g.d.ts.map +1 -1
- package/dist/generated/index.g.js +20 -1
- package/dist/generated/index.g.js.map +1 -1
- package/dist/generated/node/index.g.d.ts +477 -3
- package/dist/generated/node/index.g.d.ts.map +1 -1
- package/dist/generated/node/index.g.js +1056 -15
- package/dist/generated/node/index.g.js.map +1 -1
- package/dist/generated/types/engine.g.d.ts +580 -0
- package/dist/generated/types/engine.g.d.ts.map +1 -1
- package/dist/generated/types/input.g.d.ts +77 -0
- package/dist/generated/types/input.g.d.ts.map +1 -1
- package/dist/generated/types/input.g.js +91 -1
- package/dist/generated/types/input.g.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/node/index.d.ts +6 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +28 -0
- package/dist/node/index.js.map +1 -0
- package/dist/shared/debugger.d.ts +9 -0
- package/dist/shared/debugger.d.ts.map +1 -0
- package/dist/shared/debugger.js +11 -0
- package/dist/shared/debugger.js.map +1 -0
- package/dist/shared/network.d.ts +39 -0
- package/dist/shared/network.d.ts.map +1 -0
- package/dist/shared/network.js +66 -0
- package/dist/shared/network.js.map +1 -0
- package/dist/web/generated/types/engine.g.d.ts +580 -0
- package/dist/web/generated/types/engine.g.d.ts.map +1 -1
- package/dist/web/generated/types/input.g.d.ts +77 -0
- package/dist/web/generated/types/input.g.d.ts.map +1 -1
- package/dist/web/generated/types/input.g.js +90 -0
- package/dist/web/generated/types/input.g.js.map +1 -1
- package/dist/web/generated/web/errors.g.d.ts +37 -0
- package/dist/web/generated/web/errors.g.d.ts.map +1 -0
- package/dist/web/generated/web/errors.g.js +136 -0
- package/dist/web/generated/web/errors.g.js.map +1 -0
- package/dist/web/generated/web/index.g.d.ts +198 -3
- package/dist/web/generated/web/index.g.d.ts.map +1 -1
- package/dist/web/generated/web/index.g.js +533 -5
- package/dist/web/generated/web/index.g.js.map +1 -1
- package/dist/web/shared/debugger.d.ts +9 -0
- package/dist/web/shared/debugger.d.ts.map +1 -0
- package/dist/web/shared/debugger.js +7 -0
- package/dist/web/shared/debugger.js.map +1 -0
- package/dist/web/shared/network.d.ts +39 -0
- package/dist/web/shared/network.d.ts.map +1 -0
- package/dist/web/shared/network.js +61 -0
- package/dist/web/shared/network.js.map +1 -0
- package/dist/web/web/index.d.ts +6 -0
- package/dist/web/web/index.d.ts.map +1 -0
- package/dist/web/web/index.js +6 -0
- package/dist/web/web/index.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 +405 -0
- package/index.js +57 -52
- package/package.json +25 -19
- package/wasm/goud_engine.d.ts +719 -73
- package/wasm/goud_engine.js +1401 -20
- package/wasm/goud_engine_bg.wasm +0 -0
- package/wasm/goud_engine_bg.wasm.d.ts +183 -73
package/index.d.ts
CHANGED
|
@@ -11,7 +11,101 @@ export declare class Entity {
|
|
|
11
11
|
display(): string
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
export declare class GoudContext {
|
|
15
|
+
constructor(config?: NapiContextConfig | undefined | null)
|
|
16
|
+
destroy(): boolean
|
|
17
|
+
isValid(): boolean
|
|
18
|
+
getNetworkCapabilities(): NapiNetworkCapabilities
|
|
19
|
+
networkHost(protocol: number, port: number): number
|
|
20
|
+
networkConnect(protocol: number, address: string, port: number): number
|
|
21
|
+
networkConnectWithPeer(protocol: number, address: string, port: number): NapiNetworkConnectResult
|
|
22
|
+
networkDisconnect(handle: number): number
|
|
23
|
+
networkSend(handle: number, peerId: number, data: Buffer, channel: number): number
|
|
24
|
+
networkReceive(handle: number): Buffer
|
|
25
|
+
networkReceivePacket(handle: number): NapiNetworkPacket | null
|
|
26
|
+
networkPoll(handle: number): number
|
|
27
|
+
getNetworkStats(handle: number): NapiNetworkStats
|
|
28
|
+
networkPeerCount(handle: number): number
|
|
29
|
+
setNetworkSimulation(handle: number, config: NapiNetworkSimulationConfig): number
|
|
30
|
+
clearNetworkSimulation(handle: number): number
|
|
31
|
+
setNetworkOverlayHandle(handle: number): number
|
|
32
|
+
clearNetworkOverlayHandle(): number
|
|
33
|
+
getDebuggerSnapshotJson(): string
|
|
34
|
+
getDebuggerManifestJson(): string
|
|
35
|
+
setDebuggerPaused(paused: boolean): void
|
|
36
|
+
stepDebugger(kind: number, count: number): void
|
|
37
|
+
setDebuggerTimeScale(scale: number): void
|
|
38
|
+
setDebuggerDebugDrawEnabled(enabled: boolean): void
|
|
39
|
+
injectDebuggerKeyEvent(key: number, pressed: boolean): void
|
|
40
|
+
injectDebuggerMouseButton(button: number, pressed: boolean): void
|
|
41
|
+
injectDebuggerMousePosition(position: Vec2): void
|
|
42
|
+
injectDebuggerScroll(delta: Vec2): void
|
|
43
|
+
setDebuggerProfilingEnabled(enabled: boolean): void
|
|
44
|
+
setDebuggerSelectedEntity(entityId: number): void
|
|
45
|
+
clearDebuggerSelectedEntity(): void
|
|
46
|
+
getMemorySummary(): NapiMemorySummary
|
|
47
|
+
captureDebuggerFrame(): string
|
|
48
|
+
startDebuggerRecording(): void
|
|
49
|
+
stopDebuggerRecording(): string
|
|
50
|
+
startDebuggerReplay(recording: Buffer): void
|
|
51
|
+
stopDebuggerReplay(): void
|
|
52
|
+
getDebuggerReplayStatusJson(): string
|
|
53
|
+
getDebuggerMetricsTraceJson(): string
|
|
54
|
+
}
|
|
55
|
+
|
|
14
56
|
export declare class GoudGame {
|
|
57
|
+
/** Plays audio from raw bytes on the default channel */
|
|
58
|
+
audioPlay(data: Buffer): number
|
|
59
|
+
/** Plays audio from raw bytes on the given channel */
|
|
60
|
+
audioPlayOnChannel(data: Buffer, channel: number): number
|
|
61
|
+
/** Plays audio with explicit volume, speed, looping, and channel settings */
|
|
62
|
+
audioPlayWithSettings(data: Buffer, volume: number, speed: number, looping: boolean, channel: number): number
|
|
63
|
+
/** Stops a playing audio player */
|
|
64
|
+
audioStop(playerId: number): number
|
|
65
|
+
/** Pauses a playing audio player */
|
|
66
|
+
audioPause(playerId: number): number
|
|
67
|
+
/** Resumes a paused audio player */
|
|
68
|
+
audioResume(playerId: number): number
|
|
69
|
+
/** Stops all active audio players */
|
|
70
|
+
audioStopAll(): number
|
|
71
|
+
/** Sets the global audio volume */
|
|
72
|
+
audioSetGlobalVolume(volume: number): number
|
|
73
|
+
/** Gets the global audio volume */
|
|
74
|
+
audioGetGlobalVolume(): number
|
|
75
|
+
/** Sets the volume for a specific channel */
|
|
76
|
+
audioSetChannelVolume(channel: number, volume: number): number
|
|
77
|
+
/** Gets the volume for a specific channel */
|
|
78
|
+
audioGetChannelVolume(channel: number): number
|
|
79
|
+
/** Returns non-zero when the player is still playing */
|
|
80
|
+
audioIsPlaying(playerId: number): number
|
|
81
|
+
/** Returns the number of active audio players */
|
|
82
|
+
audioActiveCount(): number
|
|
83
|
+
/** Cleans up finished audio players */
|
|
84
|
+
audioCleanupFinished(): number
|
|
85
|
+
/** Plays audio with 3D spatial attenuation */
|
|
86
|
+
audioPlaySpatial3d(data: Buffer, sourceX: number, sourceY: number, sourceZ: number, listenerX: number, listenerY: number, listenerZ: number, maxDistance: number, rolloff: number): number
|
|
87
|
+
/** Updates 3D spatial attenuation for an active player */
|
|
88
|
+
audioUpdateSpatial3d(playerId: number, sourceX: number, sourceY: number, sourceZ: number, listenerX: number, listenerY: number, listenerZ: number, maxDistance: number, rolloff: number): number
|
|
89
|
+
/** Sets the 3D listener position */
|
|
90
|
+
audioSetListenerPosition3d(x: number, y: number, z: number): number
|
|
91
|
+
/** Sets the 3D source position for an active player */
|
|
92
|
+
audioSetSourcePosition3d(playerId: number, x: number, y: number, z: number, maxDistance: number, rolloff: number): number
|
|
93
|
+
/** Sets the volume for an active player */
|
|
94
|
+
audioSetPlayerVolume(playerId: number, volume: number): number
|
|
95
|
+
/** Sets the playback speed for an active player */
|
|
96
|
+
audioSetPlayerSpeed(playerId: number, speed: number): number
|
|
97
|
+
/** Applies an immediate crossfade mix between two active players */
|
|
98
|
+
audioCrossfade(fromPlayerId: number, toPlayerId: number, mix: number): number
|
|
99
|
+
/** Starts a timed crossfade from one player to a new audio asset */
|
|
100
|
+
audioCrossfadeTo(fromPlayerId: number, data: Buffer, durationSec: number, channel: number): number
|
|
101
|
+
/** Mixes a secondary audio asset with a primary player */
|
|
102
|
+
audioMixWith(primaryPlayerId: number, data: Buffer, secondaryVolume: number, secondaryChannel: number): number
|
|
103
|
+
/** Advances all active timed crossfades */
|
|
104
|
+
audioUpdateCrossfades(deltaSec: number): number
|
|
105
|
+
/** Returns the number of active timed crossfades */
|
|
106
|
+
audioActiveCrossfadeCount(): number
|
|
107
|
+
/** Activates audio playback on platforms that require user gesture initialization */
|
|
108
|
+
audioActivate(): number
|
|
15
109
|
constructor(config?: GameConfig | undefined | null)
|
|
16
110
|
shouldClose(): boolean
|
|
17
111
|
close(): void
|
|
@@ -20,6 +114,9 @@ export declare class GoudGame {
|
|
|
20
114
|
endFrame(): void
|
|
21
115
|
loadTexture(path: string): number
|
|
22
116
|
destroyTexture(handle: number): boolean
|
|
117
|
+
loadFont(path: string): number
|
|
118
|
+
destroyFont(handle: number): boolean
|
|
119
|
+
drawText(fontHandle: number, text: string, x: number, y: number, fontSize?: number | undefined | null, alignment?: number | undefined | null, maxWidth?: number | undefined | null, lineSpacing?: number | undefined | null, direction?: number | undefined | null, r?: number | undefined | null, g?: number | undefined | null, b?: number | undefined | null, a?: number | undefined | null): boolean
|
|
23
120
|
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
|
|
24
121
|
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
|
|
25
122
|
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
|
|
@@ -29,6 +126,52 @@ export declare class GoudGame {
|
|
|
29
126
|
clearDepth(): void
|
|
30
127
|
disableBlending(): void
|
|
31
128
|
getRenderStats(): NapiRenderStats
|
|
129
|
+
getFpsStats(): NapiFpsStats
|
|
130
|
+
setFpsOverlayEnabled(enabled: boolean): void
|
|
131
|
+
setFpsUpdateInterval(interval: number): void
|
|
132
|
+
setFpsOverlayCorner(corner: number): void
|
|
133
|
+
getDebuggerSnapshotJson(): string
|
|
134
|
+
getDebuggerManifestJson(): string
|
|
135
|
+
setDebuggerPaused(paused: boolean): void
|
|
136
|
+
stepDebugger(kind: number, count: number): void
|
|
137
|
+
setDebuggerTimeScale(scale: number): void
|
|
138
|
+
setDebuggerDebugDrawEnabled(enabled: boolean): void
|
|
139
|
+
injectDebuggerKeyEvent(key: number, pressed: boolean): void
|
|
140
|
+
injectDebuggerMouseButton(button: number, pressed: boolean): void
|
|
141
|
+
injectDebuggerMousePosition(position: Vec2): void
|
|
142
|
+
injectDebuggerScroll(delta: Vec2): void
|
|
143
|
+
setDebuggerProfilingEnabled(enabled: boolean): void
|
|
144
|
+
setDebuggerSelectedEntity(entityId: number): void
|
|
145
|
+
clearDebuggerSelectedEntity(): void
|
|
146
|
+
getMemorySummary(): NapiMemorySummary
|
|
147
|
+
captureDebuggerFrame(): string
|
|
148
|
+
startDebuggerRecording(): void
|
|
149
|
+
stopDebuggerRecording(): string
|
|
150
|
+
startDebuggerReplay(recording: Buffer): void
|
|
151
|
+
stopDebuggerReplay(): void
|
|
152
|
+
getDebuggerReplayStatusJson(): string
|
|
153
|
+
getDebuggerMetricsTraceJson(): string
|
|
154
|
+
getRenderCapabilities(): NapiRenderCapabilities
|
|
155
|
+
getPhysicsCapabilities(): NapiPhysicsCapabilities
|
|
156
|
+
getAudioCapabilities(): NapiAudioCapabilities
|
|
157
|
+
getInputCapabilities(): NapiInputCapabilities
|
|
158
|
+
getNetworkCapabilities(): NapiNetworkCapabilities
|
|
159
|
+
/** Checks if the hot-swap shortcut (F5) was pressed and cycles render provider. Debug builds only. */
|
|
160
|
+
checkHotSwapShortcut(): boolean
|
|
161
|
+
networkHost(protocol: number, port: number): number
|
|
162
|
+
networkConnect(protocol: number, address: string, port: number): number
|
|
163
|
+
networkConnectWithPeer(protocol: number, address: string, port: number): NapiNetworkConnectResult
|
|
164
|
+
networkDisconnect(handle: number): number
|
|
165
|
+
networkSend(handle: number, peerId: number, data: Buffer, channel: number): number
|
|
166
|
+
networkReceive(handle: number): Buffer
|
|
167
|
+
networkReceivePacket(handle: number): NapiNetworkPacket | null
|
|
168
|
+
networkPoll(handle: number): number
|
|
169
|
+
getNetworkStats(handle: number): NapiNetworkStats
|
|
170
|
+
networkPeerCount(handle: number): number
|
|
171
|
+
setNetworkSimulation(handle: number, config: NapiNetworkSimulationConfig): number
|
|
172
|
+
clearNetworkSimulation(handle: number): number
|
|
173
|
+
setNetworkOverlayHandle(handle: number): number
|
|
174
|
+
clearNetworkOverlayHandle(): number
|
|
32
175
|
isKeyPressed(key: number): boolean
|
|
33
176
|
isKeyJustPressed(key: number): boolean
|
|
34
177
|
isKeyJustReleased(key: number): boolean
|
|
@@ -47,6 +190,9 @@ export declare class GoudGame {
|
|
|
47
190
|
despawn(entity: Entity): boolean
|
|
48
191
|
entityCount(): number
|
|
49
192
|
isAlive(entity: Entity): boolean
|
|
193
|
+
loadScene(name: string, json: string): number
|
|
194
|
+
unloadScene(name: string): boolean
|
|
195
|
+
setActiveScene(sceneId: number, active: boolean): boolean
|
|
50
196
|
addTransform2D(entity: Entity, data: Transform2DData): void
|
|
51
197
|
getTransform2D(entity: Entity): Transform2DData | null
|
|
52
198
|
setTransform2D(entity: Entity, data: Transform2DData): void
|
|
@@ -61,6 +207,10 @@ export declare class GoudGame {
|
|
|
61
207
|
getName(entity: Entity): string | null
|
|
62
208
|
hasName(entity: Entity): boolean
|
|
63
209
|
removeName(entity: Entity): boolean
|
|
210
|
+
physicsRaycastEx(originX: number, originY: number, dirX: number, dirY: number, maxDist: number, layerMask: number): NapiPhysicsRaycastHit2D | null
|
|
211
|
+
physicsCollisionEventsCount(): number
|
|
212
|
+
physicsCollisionEventsRead(index: number): NapiPhysicsCollisionEvent2D | null
|
|
213
|
+
physicsSetCollisionCallback(callbackPtr: number, userData: number): number
|
|
64
214
|
collisionAabbAabb(caX: number, caY: number, hwA: number, hhA: number, cbX: number, cbY: number, hwB: number, hhB: number): NapiContact | null
|
|
65
215
|
collisionCircleCircle(caX: number, caY: number, ra: number, cbX: number, cbY: number, rb: number): NapiContact | null
|
|
66
216
|
collisionCircleAabb(cx: number, cy: number, cr: number, bx: number, by: number, bhw: number, bhh: number): NapiContact | null
|
|
@@ -100,6 +250,113 @@ export declare class GoudGame {
|
|
|
100
250
|
get contextValid(): boolean
|
|
101
251
|
/** Returns the raw FFI delta time from the last poll_events call. */
|
|
102
252
|
get ffiDeltaTime(): number
|
|
253
|
+
animationLayerStackCreate(entity: Entity): number
|
|
254
|
+
animationLayerAdd(entity: Entity, name: string, blendMode: number): number
|
|
255
|
+
animationLayerSetWeight(entity: Entity, layerIndex: number, weight: number): number
|
|
256
|
+
animationLayerPlay(entity: Entity, layerIndex: number): number
|
|
257
|
+
animationLayerSetClip(entity: Entity, layerIndex: number, frameCount: number, frameDuration: number, mode: number): number
|
|
258
|
+
animationLayerAddFrame(entity: Entity, layerIndex: number, x: number, y: number, w: number, h: number): number
|
|
259
|
+
animationLayerReset(entity: Entity, layerIndex: number): number
|
|
260
|
+
animationClipAddEvent(entity: Entity, frameIndex: number, name: string, payloadType: number, payloadInt: number, payloadFloat: number, payloadString?: string | undefined | null): number
|
|
261
|
+
animationEventsCount(): number
|
|
262
|
+
animationEventsRead(index: number): NapiAnimationEventData
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export declare class NativeEngineConfig {
|
|
266
|
+
constructor()
|
|
267
|
+
setTitle(title: string): boolean
|
|
268
|
+
setSize(width: number, height: number): boolean
|
|
269
|
+
setVsync(enabled: boolean): boolean
|
|
270
|
+
setFullscreen(enabled: boolean): boolean
|
|
271
|
+
setTargetFps(fps: number): boolean
|
|
272
|
+
setFpsOverlay(enabled: boolean): boolean
|
|
273
|
+
setPhysicsBackend2D(backend: number): boolean
|
|
274
|
+
setDebugger(debugger: NapiDebuggerConfig): boolean
|
|
275
|
+
build(): GoudGame
|
|
276
|
+
destroy(): void
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
export declare class NativePhysicsWorld2D {
|
|
280
|
+
constructor(gravityX: number, gravityY: number, backend?: number | undefined | null)
|
|
281
|
+
create(gravityX: number, gravityY: number): number
|
|
282
|
+
createWithBackend(gravityX: number, gravityY: number, backend: number): number
|
|
283
|
+
destroy(): number
|
|
284
|
+
setGravity(x: number, y: number): number
|
|
285
|
+
addRigidBody(bodyType: number, x: number, y: number, gravityScale: number): number
|
|
286
|
+
addRigidBodyEx(bodyType: number, x: number, y: number, gravityScale: number, ccdEnabled: boolean): number
|
|
287
|
+
addCollider(bodyHandle: number, shapeType: number, width: number, height: number, radius: number, friction: number, restitution: number): number
|
|
288
|
+
addColliderEx(bodyHandle: number, shapeType: number, width: number, height: number, radius: number, friction: number, restitution: number, isSensor: boolean, layer: number, mask: number): number
|
|
289
|
+
removeBody(handle: number): number
|
|
290
|
+
createJoint(bodyA: number, bodyB: number, kind: number, anchorAx: number, anchorAy: number, anchorBx: number, anchorBy: number, axisX: number, axisY: number, hasLimits: boolean, limitMin: number, limitMax: number, hasMotor: boolean, motorTargetVelocity: number, motorMaxForce: number): number
|
|
291
|
+
removeJoint(handle: number): number
|
|
292
|
+
step(dt: number): number
|
|
293
|
+
getPosition(handle: number): Vec2
|
|
294
|
+
getVelocity(handle: number): Vec2
|
|
295
|
+
setVelocity(handle: number, vx: number, vy: number): number
|
|
296
|
+
applyForce(handle: number, fx: number, fy: number): number
|
|
297
|
+
applyImpulse(handle: number, ix: number, iy: number): number
|
|
298
|
+
raycast(originX: number, originY: number, dirX: number, dirY: number, maxDist: number): Vec2
|
|
299
|
+
raycastEx(originX: number, originY: number, dirX: number, dirY: number, maxDist: number, layerMask: number): NapiPhysicsRaycastHit2D
|
|
300
|
+
collisionEventsCount(): number
|
|
301
|
+
collisionEventsRead(index: number): NapiPhysicsCollisionEvent2D
|
|
302
|
+
collisionEventCount(): number
|
|
303
|
+
collisionEventRead(index: number): NapiPhysicsCollisionEvent2D
|
|
304
|
+
setCollisionCallback(callbackPtr: number, userData: number): number
|
|
305
|
+
getGravity(): Vec2
|
|
306
|
+
setBodyGravityScale(handle: number, scale: number): number
|
|
307
|
+
getBodyGravityScale(handle: number): number
|
|
308
|
+
setColliderFriction(handle: number, friction: number): number
|
|
309
|
+
getColliderFriction(handle: number): number
|
|
310
|
+
setColliderRestitution(handle: number, restitution: number): number
|
|
311
|
+
getColliderRestitution(handle: number): number
|
|
312
|
+
setTimestep(dt: number): number
|
|
313
|
+
getTimestep(): number
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export declare class NativePhysicsWorld3D {
|
|
317
|
+
constructor(gravityX: number, gravityY: number, gravityZ: number)
|
|
318
|
+
create(gravityX: number, gravityY: number, gravityZ: number): number
|
|
319
|
+
destroy(): number
|
|
320
|
+
setGravity(x: number, y: number, z: number): number
|
|
321
|
+
addRigidBody(bodyType: number, x: number, y: number, z: number, gravityScale: number): number
|
|
322
|
+
addCollider(bodyHandle: number, shapeType: number, width: number, height: number, depth: number, radius: number, friction: number, restitution: number): number
|
|
323
|
+
removeBody(handle: number): number
|
|
324
|
+
step(dt: number): number
|
|
325
|
+
getPosition(handle: number): Vec3
|
|
326
|
+
setVelocity(handle: number, vx: number, vy: number, vz: number): number
|
|
327
|
+
applyForce(handle: number, fx: number, fy: number, fz: number): number
|
|
328
|
+
applyImpulse(handle: number, ix: number, iy: number, iz: number): number
|
|
329
|
+
getGravity(): Vec3
|
|
330
|
+
setBodyGravityScale(handle: number, scale: number): number
|
|
331
|
+
getBodyGravityScale(handle: number): number
|
|
332
|
+
setColliderFriction(handle: number, friction: number): number
|
|
333
|
+
getColliderFriction(handle: number): number
|
|
334
|
+
setColliderRestitution(handle: number, restitution: number): number
|
|
335
|
+
getColliderRestitution(handle: number): number
|
|
336
|
+
setTimestep(dt: number): number
|
|
337
|
+
getTimestep(): number
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export declare class UiManager {
|
|
341
|
+
constructor()
|
|
342
|
+
destroy(): void
|
|
343
|
+
update(): void
|
|
344
|
+
render(): void
|
|
345
|
+
nodeCount(): number
|
|
346
|
+
createNode(componentType: number): number
|
|
347
|
+
removeNode(nodeId: number): number
|
|
348
|
+
setParent(childId: number, parentId: number): number
|
|
349
|
+
getParent(nodeId: number): number
|
|
350
|
+
getChildCount(nodeId: number): number
|
|
351
|
+
getChildAt(nodeId: number, index: number): number
|
|
352
|
+
setWidget(nodeId: number, widgetKind: number): number
|
|
353
|
+
setStyle(nodeId: number, style: NapiUiStyle): number
|
|
354
|
+
setLabelText(nodeId: number, text: string): number
|
|
355
|
+
setButtonEnabled(nodeId: number, enabled: boolean): number
|
|
356
|
+
setImageTexturePath(nodeId: number, path: string): number
|
|
357
|
+
setSlider(nodeId: number, min: number, max: number, value: number, enabled: boolean): number
|
|
358
|
+
eventCount(): number
|
|
359
|
+
eventRead(index: number): NapiUiEvent | null
|
|
103
360
|
}
|
|
104
361
|
|
|
105
362
|
export interface Color {
|
|
@@ -141,6 +398,21 @@ export interface GameConfig {
|
|
|
141
398
|
height?: number
|
|
142
399
|
}
|
|
143
400
|
|
|
401
|
+
export interface NapiAnimationEventData {
|
|
402
|
+
entity: number
|
|
403
|
+
name: string
|
|
404
|
+
frameIndex: number
|
|
405
|
+
payloadType: number
|
|
406
|
+
payloadInt: number
|
|
407
|
+
payloadFloat: number
|
|
408
|
+
payloadString: string
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export interface NapiAudioCapabilities {
|
|
412
|
+
supportsSpatial: boolean
|
|
413
|
+
maxChannels: number
|
|
414
|
+
}
|
|
415
|
+
|
|
144
416
|
export interface NapiContact {
|
|
145
417
|
pointX: number
|
|
146
418
|
pointY: number
|
|
@@ -149,6 +421,114 @@ export interface NapiContact {
|
|
|
149
421
|
penetration: number
|
|
150
422
|
}
|
|
151
423
|
|
|
424
|
+
export interface NapiContextConfig {
|
|
425
|
+
debugger: NapiDebuggerConfig
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
export interface NapiDebuggerConfig {
|
|
429
|
+
enabled: boolean
|
|
430
|
+
publishLocalAttach: boolean
|
|
431
|
+
routeLabel: string
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
export interface NapiFpsStats {
|
|
435
|
+
currentFps: number
|
|
436
|
+
minFps: number
|
|
437
|
+
maxFps: number
|
|
438
|
+
avgFps: number
|
|
439
|
+
frameTimeMs: number
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
export interface NapiInputCapabilities {
|
|
443
|
+
supportsGamepad: boolean
|
|
444
|
+
supportsTouch: boolean
|
|
445
|
+
maxGamepads: number
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
export interface NapiMemoryCategoryStats {
|
|
449
|
+
currentBytes: number
|
|
450
|
+
peakBytes: number
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export interface NapiMemorySummary {
|
|
454
|
+
rendering: NapiMemoryCategoryStats
|
|
455
|
+
assets: NapiMemoryCategoryStats
|
|
456
|
+
ecs: NapiMemoryCategoryStats
|
|
457
|
+
ui: NapiMemoryCategoryStats
|
|
458
|
+
audio: NapiMemoryCategoryStats
|
|
459
|
+
network: NapiMemoryCategoryStats
|
|
460
|
+
debugger: NapiMemoryCategoryStats
|
|
461
|
+
other: NapiMemoryCategoryStats
|
|
462
|
+
totalCurrentBytes: number
|
|
463
|
+
totalPeakBytes: number
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
export interface NapiNetworkCapabilities {
|
|
467
|
+
supportsHosting: boolean
|
|
468
|
+
maxConnections: number
|
|
469
|
+
maxChannels: number
|
|
470
|
+
maxMessageSize: number
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
export interface NapiNetworkConnectResult {
|
|
474
|
+
handle: number
|
|
475
|
+
peerId: number
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
export interface NapiNetworkPacket {
|
|
479
|
+
peerId: number
|
|
480
|
+
data: Buffer
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
export interface NapiNetworkSimulationConfig {
|
|
484
|
+
oneWayLatencyMs: number
|
|
485
|
+
jitterMs: number
|
|
486
|
+
packetLossPercent: number
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export interface NapiNetworkStats {
|
|
490
|
+
bytesSent: number
|
|
491
|
+
bytesReceived: number
|
|
492
|
+
packetsSent: number
|
|
493
|
+
packetsReceived: number
|
|
494
|
+
packetsLost: number
|
|
495
|
+
rttMs: number
|
|
496
|
+
sendBandwidthBytesPerSec: number
|
|
497
|
+
receiveBandwidthBytesPerSec: number
|
|
498
|
+
packetLossPercent: number
|
|
499
|
+
jitterMs: number
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
export interface NapiPhysicsCapabilities {
|
|
503
|
+
supportsContinuousCollision: boolean
|
|
504
|
+
supportsJoints: boolean
|
|
505
|
+
maxBodies: number
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
export interface NapiPhysicsCollisionEvent2D {
|
|
509
|
+
bodyA: number
|
|
510
|
+
bodyB: number
|
|
511
|
+
kind: number
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
export interface NapiPhysicsRaycastHit2D {
|
|
515
|
+
bodyHandle: number
|
|
516
|
+
colliderHandle: number
|
|
517
|
+
pointX: number
|
|
518
|
+
pointY: number
|
|
519
|
+
normalX: number
|
|
520
|
+
normalY: number
|
|
521
|
+
distance: number
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
export interface NapiRenderCapabilities {
|
|
525
|
+
maxTextureUnits: number
|
|
526
|
+
maxTextureSize: number
|
|
527
|
+
supportsInstancing: boolean
|
|
528
|
+
supportsCompute: boolean
|
|
529
|
+
supportsMsaa: boolean
|
|
530
|
+
}
|
|
531
|
+
|
|
152
532
|
export interface NapiRenderStats {
|
|
153
533
|
drawCalls: number
|
|
154
534
|
triangles: number
|
|
@@ -156,6 +536,31 @@ export interface NapiRenderStats {
|
|
|
156
536
|
shaderBinds: number
|
|
157
537
|
}
|
|
158
538
|
|
|
539
|
+
export interface NapiUiColor {
|
|
540
|
+
r: number
|
|
541
|
+
g: number
|
|
542
|
+
b: number
|
|
543
|
+
a: number
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export interface NapiUiEvent {
|
|
547
|
+
eventKind: number
|
|
548
|
+
nodeId: number
|
|
549
|
+
previousNodeId: number
|
|
550
|
+
currentNodeId: number
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
export interface NapiUiStyle {
|
|
554
|
+
backgroundColor?: NapiUiColor
|
|
555
|
+
foregroundColor?: NapiUiColor
|
|
556
|
+
borderColor?: NapiUiColor
|
|
557
|
+
borderWidth?: number
|
|
558
|
+
fontFamily?: string
|
|
559
|
+
fontSize?: number
|
|
560
|
+
texturePath?: string
|
|
561
|
+
widgetSpacing?: number
|
|
562
|
+
}
|
|
563
|
+
|
|
159
564
|
export interface Rect {
|
|
160
565
|
x: number
|
|
161
566
|
y: number
|