@nice2dev/game-engine 1.3.13 → 1.3.15
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/CHANGELOG.md +8 -0
- package/package.json +2 -2
- package/dist/types/accessibility/index.d.ts +0 -1
- package/dist/types/ai/index.d.ts +0 -1
- package/dist/types/animation/index.d.ts +0 -1
- package/dist/types/audio/HRTFAudio.d.ts +0 -180
- package/dist/types/audio/index.d.ts +0 -2
- package/dist/types/community/Community.d.ts +0 -112
- package/dist/types/community/index.d.ts +0 -1
- package/dist/types/core/TypeSafety.d.ts +0 -190
- package/dist/types/core/index.d.ts +0 -7
- package/dist/types/devtools/AssetStore.d.ts +0 -133
- package/dist/types/devtools/index.d.ts +0 -3
- package/dist/types/dialogue/index.d.ts +0 -2
- package/dist/types/docs/APIPlayground.d.ts +0 -26
- package/dist/types/docs/Cookbook.d.ts +0 -18
- package/dist/types/docs/Guides.d.ts +0 -18
- package/dist/types/docs/index.d.ts +0 -4
- package/dist/types/ecs/ECSOptimized.d.ts +0 -131
- package/dist/types/ecs/index.d.ts +0 -2
- package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
- package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
- package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
- package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
- package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
- package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
- package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
- package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
- package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
- package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
- package/dist/types/editor/behavior-tree/index.d.ts +0 -14
- package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
- package/dist/types/editor/behavior-tree/types.d.ts +0 -299
- package/dist/types/editor/index.d.ts +0 -20
- package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
- package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
- package/dist/types/editor/state-machine/index.d.ts +0 -11
- package/dist/types/editor/state-machine/serialization.d.ts +0 -23
- package/dist/types/editor/state-machine/types.d.ts +0 -241
- package/dist/types/engine/index.d.ts +0 -2
- package/dist/types/enterprise/index.d.ts +0 -1
- package/dist/types/epic/index.d.ts +0 -10
- package/dist/types/i18n/index.d.ts +0 -2
- package/dist/types/input/index.d.ts +0 -3
- package/dist/types/kids/index.d.ts +0 -2
- package/dist/types/legendary/index.d.ts +0 -57
- package/dist/types/monetization/index.d.ts +0 -1
- package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
- package/dist/types/multiplayer/index.d.ts +0 -5
- package/dist/types/network/index.d.ts +0 -2
- package/dist/types/pathfinding/index.d.ts +0 -1
- package/dist/types/performance/AssetCompression.d.ts +0 -137
- package/dist/types/performance/WASMModules.d.ts +0 -65
- package/dist/types/performance/WebGPUCompute.d.ts +0 -71
- package/dist/types/performance/index.d.ts +0 -1
- package/dist/types/physics/RapierIntegration.d.ts +0 -404
- package/dist/types/physics/index.d.ts +0 -2
- package/dist/types/plugins/index.d.ts +0 -2
- package/dist/types/procedural/index.d.ts +0 -2
- package/dist/types/release/index.d.ts +0 -1
- package/dist/types/rendering/WebGPUv2.d.ts +0 -173
- package/dist/types/rendering/index.d.ts +0 -3
- package/dist/types/runtime3d/index.d.ts +0 -2
- package/dist/types/scene/index.d.ts +0 -2
- package/dist/types/scripting/WasmCompiler.d.ts +0 -182
- package/dist/types/scripting/index.d.ts +0 -19
- package/dist/types/social/index.d.ts +0 -1
- package/dist/types/systems/NiceAI.d.ts +0 -637
- package/dist/types/systems/NiceAbility.d.ts +0 -225
- package/dist/types/systems/NiceAccessibility.d.ts +0 -230
- package/dist/types/systems/NiceAchievement.d.ts +0 -153
- package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
- package/dist/types/systems/NiceAchievements.d.ts +0 -230
- package/dist/types/systems/NiceAction.d.ts +0 -81
- package/dist/types/systems/NiceAlchemy.d.ts +0 -195
- package/dist/types/systems/NiceAnalytics.d.ts +0 -493
- package/dist/types/systems/NiceAnimation.d.ts +0 -350
- package/dist/types/systems/NiceArena.d.ts +0 -215
- package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
- package/dist/types/systems/NiceAuction.d.ts +0 -157
- package/dist/types/systems/NiceAudio.d.ts +0 -224
- package/dist/types/systems/NiceAugment.d.ts +0 -187
- package/dist/types/systems/NiceAura.d.ts +0 -193
- package/dist/types/systems/NiceBank.d.ts +0 -158
- package/dist/types/systems/NiceBattlePass.d.ts +0 -150
- package/dist/types/systems/NiceBehavior.d.ts +0 -160
- package/dist/types/systems/NiceBinding.d.ts +0 -96
- package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
- package/dist/types/systems/NiceBuff.d.ts +0 -177
- package/dist/types/systems/NiceBuilding.d.ts +0 -207
- package/dist/types/systems/NiceBullet.d.ts +0 -167
- package/dist/types/systems/NiceCamera.d.ts +0 -252
- package/dist/types/systems/NiceCard.d.ts +0 -171
- package/dist/types/systems/NiceChat.d.ts +0 -148
- package/dist/types/systems/NiceCheat.d.ts +0 -375
- package/dist/types/systems/NiceClimbing.d.ts +0 -186
- package/dist/types/systems/NiceCloud.d.ts +0 -422
- package/dist/types/systems/NiceCollision.d.ts +0 -238
- package/dist/types/systems/NiceCombo.d.ts +0 -131
- package/dist/types/systems/NiceCommand.d.ts +0 -112
- package/dist/types/systems/NiceCompanion.d.ts +0 -182
- package/dist/types/systems/NiceController.d.ts +0 -144
- package/dist/types/systems/NiceCooking.d.ts +0 -193
- package/dist/types/systems/NiceCoroutine.d.ts +0 -101
- package/dist/types/systems/NiceCrafting.d.ts +0 -228
- package/dist/types/systems/NiceCutscene.d.ts +0 -437
- package/dist/types/systems/NiceDaily.d.ts +0 -133
- package/dist/types/systems/NiceDamage.d.ts +0 -271
- package/dist/types/systems/NiceDayNight.d.ts +0 -126
- package/dist/types/systems/NiceDebug.d.ts +0 -255
- package/dist/types/systems/NiceDestructible.d.ts +0 -150
- package/dist/types/systems/NiceDialogue.d.ts +0 -629
- package/dist/types/systems/NiceDungeon.d.ts +0 -202
- package/dist/types/systems/NiceECS.d.ts +0 -151
- package/dist/types/systems/NiceEnchant.d.ts +0 -148
- package/dist/types/systems/NiceEntityPool.d.ts +0 -127
- package/dist/types/systems/NiceEquipment.d.ts +0 -137
- package/dist/types/systems/NiceEvent.d.ts +0 -202
- package/dist/types/systems/NiceEventBus.d.ts +0 -164
- package/dist/types/systems/NiceFaction.d.ts +0 -173
- package/dist/types/systems/NiceFarming.d.ts +0 -163
- package/dist/types/systems/NiceFishing.d.ts +0 -196
- package/dist/types/systems/NiceFlocking.d.ts +0 -156
- package/dist/types/systems/NiceFog.d.ts +0 -137
- package/dist/types/systems/NiceFormation.d.ts +0 -140
- package/dist/types/systems/NiceGacha.d.ts +0 -134
- package/dist/types/systems/NiceGambling.d.ts +0 -175
- package/dist/types/systems/NiceGem.d.ts +0 -165
- package/dist/types/systems/NiceGesture.d.ts +0 -502
- package/dist/types/systems/NiceGrappling.d.ts +0 -154
- package/dist/types/systems/NiceGrid.d.ts +0 -142
- package/dist/types/systems/NiceGuild.d.ts +0 -162
- package/dist/types/systems/NiceHaptics.d.ts +0 -112
- package/dist/types/systems/NiceHousing.d.ts +0 -197
- package/dist/types/systems/NiceInput.d.ts +0 -280
- package/dist/types/systems/NiceInventory.d.ts +0 -534
- package/dist/types/systems/NiceLOD.d.ts +0 -144
- package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
- package/dist/types/systems/NiceLevel.d.ts +0 -304
- package/dist/types/systems/NiceLighting.d.ts +0 -214
- package/dist/types/systems/NiceLocalization.d.ts +0 -148
- package/dist/types/systems/NiceLocomotion.d.ts +0 -398
- package/dist/types/systems/NiceLogger.d.ts +0 -117
- package/dist/types/systems/NiceLoot.d.ts +0 -176
- package/dist/types/systems/NiceMail.d.ts +0 -164
- package/dist/types/systems/NiceMap.d.ts +0 -234
- package/dist/types/systems/NiceMarriage.d.ts +0 -150
- package/dist/types/systems/NiceMastery.d.ts +0 -171
- package/dist/types/systems/NiceMatch.d.ts +0 -196
- package/dist/types/systems/NiceMatch3.d.ts +0 -118
- package/dist/types/systems/NiceMessageBus.d.ts +0 -115
- package/dist/types/systems/NiceMinimap.d.ts +0 -258
- package/dist/types/systems/NiceMining.d.ts +0 -175
- package/dist/types/systems/NiceModding.d.ts +0 -452
- package/dist/types/systems/NiceMount.d.ts +0 -152
- package/dist/types/systems/NiceNavigation.d.ts +0 -307
- package/dist/types/systems/NiceNetwork.d.ts +0 -568
- package/dist/types/systems/NiceNotification.d.ts +0 -438
- package/dist/types/systems/NiceObjective.d.ts +0 -395
- package/dist/types/systems/NiceParticle.d.ts +0 -639
- package/dist/types/systems/NiceParty.d.ts +0 -168
- package/dist/types/systems/NicePerformance.d.ts +0 -144
- package/dist/types/systems/NicePet.d.ts +0 -167
- package/dist/types/systems/NicePhotoMode.d.ts +0 -270
- package/dist/types/systems/NicePhysics.d.ts +0 -326
- package/dist/types/systems/NicePlatformer.d.ts +0 -158
- package/dist/types/systems/NicePool.d.ts +0 -128
- package/dist/types/systems/NicePortal.d.ts +0 -178
- package/dist/types/systems/NicePostProcess.d.ts +0 -254
- package/dist/types/systems/NiceProcedural.d.ts +0 -202
- package/dist/types/systems/NiceProfile.d.ts +0 -223
- package/dist/types/systems/NiceProjectile.d.ts +0 -157
- package/dist/types/systems/NicePvP.d.ts +0 -199
- package/dist/types/systems/NiceQTE.d.ts +0 -160
- package/dist/types/systems/NiceQuest.d.ts +0 -620
- package/dist/types/systems/NiceRaid.d.ts +0 -215
- package/dist/types/systems/NiceRanking.d.ts +0 -399
- package/dist/types/systems/NiceReplay.d.ts +0 -180
- package/dist/types/systems/NiceReputation.d.ts +0 -151
- package/dist/types/systems/NiceResource.d.ts +0 -200
- package/dist/types/systems/NiceRhythm.d.ts +0 -148
- package/dist/types/systems/NiceRoguelike.d.ts +0 -276
- package/dist/types/systems/NiceRune.d.ts +0 -202
- package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
- package/dist/types/systems/NiceSceneManager.d.ts +0 -112
- package/dist/types/systems/NiceScore.d.ts +0 -186
- package/dist/types/systems/NiceScreenFX.d.ts +0 -235
- package/dist/types/systems/NiceScreenshot.d.ts +0 -443
- package/dist/types/systems/NiceScribe.d.ts +0 -239
- package/dist/types/systems/NiceSeason.d.ts +0 -176
- package/dist/types/systems/NiceSerialization.d.ts +0 -89
- package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
- package/dist/types/systems/NiceShop.d.ts +0 -528
- package/dist/types/systems/NiceSignal.d.ts +0 -112
- package/dist/types/systems/NiceSkillTree.d.ts +0 -237
- package/dist/types/systems/NiceSocial.d.ts +0 -580
- package/dist/types/systems/NiceSpawner.d.ts +0 -237
- package/dist/types/systems/NiceSpell.d.ts +0 -216
- package/dist/types/systems/NiceState.d.ts +0 -224
- package/dist/types/systems/NiceStateMachine.d.ts +0 -108
- package/dist/types/systems/NiceStatus.d.ts +0 -116
- package/dist/types/systems/NiceStealth.d.ts +0 -204
- package/dist/types/systems/NiceSteam.d.ts +0 -255
- package/dist/types/systems/NiceStreaming.d.ts +0 -173
- package/dist/types/systems/NiceSwimming.d.ts +0 -166
- package/dist/types/systems/NiceTalent.d.ts +0 -154
- package/dist/types/systems/NiceTarget.d.ts +0 -121
- package/dist/types/systems/NiceTerrain.d.ts +0 -143
- package/dist/types/systems/NiceTilemap.d.ts +0 -218
- package/dist/types/systems/NiceTimer.d.ts +0 -153
- package/dist/types/systems/NiceTournament.d.ts +0 -190
- package/dist/types/systems/NiceTrading.d.ts +0 -238
- package/dist/types/systems/NiceTransmog.d.ts +0 -142
- package/dist/types/systems/NiceTutorial.d.ts +0 -248
- package/dist/types/systems/NiceTween.d.ts +0 -164
- package/dist/types/systems/NiceUI.d.ts +0 -364
- package/dist/types/systems/NiceVFX.d.ts +0 -333
- package/dist/types/systems/NiceVehicle.d.ts +0 -176
- package/dist/types/systems/NiceVoice.d.ts +0 -502
- package/dist/types/systems/NiceWater.d.ts +0 -162
- package/dist/types/systems/NiceWave.d.ts +0 -174
- package/dist/types/systems/NiceWaypoint.d.ts +0 -165
- package/dist/types/systems/NiceWeather.d.ts +0 -225
- package/dist/types/systems/NiceXR.d.ts +0 -187
- package/dist/types/systems/index.d.ts +0 -182
- package/dist/types/templates/index.d.ts +0 -2
- package/dist/types/tilemap/index.d.ts +0 -1
- package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
- package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
- package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
- package/dist/types/tutorials/content/index.d.ts +0 -5
- package/dist/types/tutorials/index.d.ts +0 -6
- package/dist/types/ui/index.d.ts +0 -2
- package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
- package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
- package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
- package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
- package/dist/types/visual-scripting/index.d.ts +0 -6
- package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
- package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
- package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
- package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
- package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
- package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
- package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
- package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
- package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
- package/dist/types/visual-scripting/types.d.ts +0 -402
- package/dist/types/xr/WebXRLayers.d.ts +0 -319
- package/dist/types/xr/index.d.ts +0 -2
|
@@ -1,434 +0,0 @@
|
|
|
1
|
-
/** Network tick number */
|
|
2
|
-
export type NetTick = number;
|
|
3
|
-
/** Unique network entity ID */
|
|
4
|
-
export type NetEntityId = string;
|
|
5
|
-
/** Unique player ID */
|
|
6
|
-
export type NetPlayerId = string;
|
|
7
|
-
/** Network message priority */
|
|
8
|
-
export type NetPriority = 'critical' | 'high' | 'normal' | 'low';
|
|
9
|
-
/** Network reliability mode */
|
|
10
|
-
export type NetReliability = 'reliable' | 'unreliable' | 'reliable-ordered' | 'unreliable-sequenced';
|
|
11
|
-
/** Connection state */
|
|
12
|
-
export type ConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'disconnecting' | 'failed';
|
|
13
|
-
/** Role in network game */
|
|
14
|
-
export type NetRole = 'server' | 'client' | 'host' | 'dedicated-server';
|
|
15
|
-
export interface Vec2 {
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
}
|
|
19
|
-
export interface Vec3 {
|
|
20
|
-
x: number;
|
|
21
|
-
y: number;
|
|
22
|
-
z: number;
|
|
23
|
-
}
|
|
24
|
-
export interface Quat {
|
|
25
|
-
x: number;
|
|
26
|
-
y: number;
|
|
27
|
-
z: number;
|
|
28
|
-
w: number;
|
|
29
|
-
}
|
|
30
|
-
export interface NetConfig {
|
|
31
|
-
/** Target tick rate (server authority) */
|
|
32
|
-
tickRate: number;
|
|
33
|
-
/** Client send rate */
|
|
34
|
-
sendRate: number;
|
|
35
|
-
/** Server->client update rate */
|
|
36
|
-
updateRate: number;
|
|
37
|
-
/** Max packet size in bytes */
|
|
38
|
-
maxPacketSize: number;
|
|
39
|
-
/** Connection timeout in ms */
|
|
40
|
-
connectionTimeout: number;
|
|
41
|
-
/** Reconnect attempts */
|
|
42
|
-
maxReconnectAttempts: number;
|
|
43
|
-
/** Input buffer size for rollback */
|
|
44
|
-
inputBufferSize: number;
|
|
45
|
-
/** State history size for rollback */
|
|
46
|
-
stateHistorySize: number;
|
|
47
|
-
/** Max prediction frames */
|
|
48
|
-
maxPredictionFrames: number;
|
|
49
|
-
/** Interpolation delay in ticks */
|
|
50
|
-
interpolationDelay: number;
|
|
51
|
-
/** Enable delta compression */
|
|
52
|
-
deltaCompression: boolean;
|
|
53
|
-
/** Enable lag compensation */
|
|
54
|
-
lagCompensation: boolean;
|
|
55
|
-
/** Server-side rewind limit in ms */
|
|
56
|
-
maxLagCompensationMs: number;
|
|
57
|
-
/** Jitter buffer size */
|
|
58
|
-
jitterBufferSize: number;
|
|
59
|
-
}
|
|
60
|
-
export declare const DEFAULT_NET_CONFIG: NetConfig;
|
|
61
|
-
export interface NetInput {
|
|
62
|
-
/** Input occurred at this tick */
|
|
63
|
-
tick: NetTick;
|
|
64
|
-
/** Player who sent input */
|
|
65
|
-
playerId: NetPlayerId;
|
|
66
|
-
/** Input data (game-specific) */
|
|
67
|
-
data: Record<string, unknown>;
|
|
68
|
-
/** Input sequence number */
|
|
69
|
-
sequence: number;
|
|
70
|
-
/** Timestamp when input was generated */
|
|
71
|
-
timestamp: number;
|
|
72
|
-
}
|
|
73
|
-
export interface InputBuffer {
|
|
74
|
-
inputs: NetInput[];
|
|
75
|
-
lastConfirmedTick: NetTick;
|
|
76
|
-
lastReceivedTick: NetTick;
|
|
77
|
-
}
|
|
78
|
-
export interface NetTransform {
|
|
79
|
-
position: Vec3;
|
|
80
|
-
rotation: Quat;
|
|
81
|
-
scale: Vec3;
|
|
82
|
-
}
|
|
83
|
-
export interface NetEntityState {
|
|
84
|
-
entityId: NetEntityId;
|
|
85
|
-
ownerId: NetPlayerId | null;
|
|
86
|
-
tick: NetTick;
|
|
87
|
-
transform: NetTransform;
|
|
88
|
-
velocity: Vec3;
|
|
89
|
-
angularVelocity: Vec3;
|
|
90
|
-
customState: Record<string, unknown>;
|
|
91
|
-
priority: NetPriority;
|
|
92
|
-
relevancy: number;
|
|
93
|
-
lastUpdated: number;
|
|
94
|
-
}
|
|
95
|
-
export interface NetWorldState {
|
|
96
|
-
tick: NetTick;
|
|
97
|
-
timestamp: number;
|
|
98
|
-
entities: Map<NetEntityId, NetEntityState>;
|
|
99
|
-
playerStates: Map<NetPlayerId, NetPlayerState>;
|
|
100
|
-
globalState: Record<string, unknown>;
|
|
101
|
-
}
|
|
102
|
-
export interface NetPlayerState {
|
|
103
|
-
playerId: NetPlayerId;
|
|
104
|
-
name: string;
|
|
105
|
-
ping: number;
|
|
106
|
-
packetLoss: number;
|
|
107
|
-
connected: boolean;
|
|
108
|
-
ready: boolean;
|
|
109
|
-
team: number;
|
|
110
|
-
score: number;
|
|
111
|
-
lastInputTick: NetTick;
|
|
112
|
-
}
|
|
113
|
-
export interface StateSnapshot {
|
|
114
|
-
tick: NetTick;
|
|
115
|
-
timestamp: number;
|
|
116
|
-
state: NetWorldState;
|
|
117
|
-
checksum: number;
|
|
118
|
-
}
|
|
119
|
-
export interface StateDelta {
|
|
120
|
-
fromTick: NetTick;
|
|
121
|
-
toTick: NetTick;
|
|
122
|
-
changes: EntityDelta[];
|
|
123
|
-
removedEntities: NetEntityId[];
|
|
124
|
-
globalChanges: Record<string, unknown>;
|
|
125
|
-
}
|
|
126
|
-
export interface EntityDelta {
|
|
127
|
-
entityId: NetEntityId;
|
|
128
|
-
changedFields: string[];
|
|
129
|
-
values: Record<string, unknown>;
|
|
130
|
-
}
|
|
131
|
-
export interface PredictionState {
|
|
132
|
-
predictedTick: NetTick;
|
|
133
|
-
confirmedTick: NetTick;
|
|
134
|
-
pendingInputs: NetInput[];
|
|
135
|
-
mispredicted: boolean;
|
|
136
|
-
rollbackCount: number;
|
|
137
|
-
}
|
|
138
|
-
export interface RollbackFrame {
|
|
139
|
-
tick: NetTick;
|
|
140
|
-
state: NetWorldState;
|
|
141
|
-
inputs: Map<NetPlayerId, NetInput>;
|
|
142
|
-
checksum: number;
|
|
143
|
-
}
|
|
144
|
-
export interface RollbackConfig {
|
|
145
|
-
maxFrames: number;
|
|
146
|
-
checksumValidation: boolean;
|
|
147
|
-
syncTestEnabled: boolean;
|
|
148
|
-
desyncDetection: boolean;
|
|
149
|
-
}
|
|
150
|
-
export interface InterpolationState {
|
|
151
|
-
entityId: NetEntityId;
|
|
152
|
-
fromState: NetEntityState;
|
|
153
|
-
toState: NetEntityState;
|
|
154
|
-
alpha: number;
|
|
155
|
-
method: InterpolationMethod;
|
|
156
|
-
}
|
|
157
|
-
export type InterpolationMethod = 'linear' | 'hermite' | 'catmull-rom' | 'none';
|
|
158
|
-
export interface InterpolationConfig {
|
|
159
|
-
delay: number;
|
|
160
|
-
bufferSize: number;
|
|
161
|
-
extrapolationLimit: number;
|
|
162
|
-
method: InterpolationMethod;
|
|
163
|
-
}
|
|
164
|
-
export interface LagCompensationRequest {
|
|
165
|
-
playerId: NetPlayerId;
|
|
166
|
-
tick: NetTick;
|
|
167
|
-
timestamp: number;
|
|
168
|
-
position: Vec3;
|
|
169
|
-
radius: number;
|
|
170
|
-
}
|
|
171
|
-
export interface LagCompensationResult {
|
|
172
|
-
hitEntities: NetEntityId[];
|
|
173
|
-
rewindTick: NetTick;
|
|
174
|
-
confidence: number;
|
|
175
|
-
}
|
|
176
|
-
export interface HitboxSnapshot {
|
|
177
|
-
entityId: NetEntityId;
|
|
178
|
-
tick: NetTick;
|
|
179
|
-
position: Vec3;
|
|
180
|
-
bounds: {
|
|
181
|
-
min: Vec3;
|
|
182
|
-
max: Vec3;
|
|
183
|
-
};
|
|
184
|
-
active: boolean;
|
|
185
|
-
}
|
|
186
|
-
export type NetMessageType = 'handshake' | 'handshake-ack' | 'input' | 'input-ack' | 'state-snapshot' | 'state-delta' | 'sync-request' | 'sync-response' | 'entity-spawn' | 'entity-destroy' | 'rpc' | 'ping' | 'pong' | 'disconnect' | 'kick' | 'lobby-update' | 'match-start' | 'match-end';
|
|
187
|
-
export interface NetMessage<T = unknown> {
|
|
188
|
-
type: NetMessageType;
|
|
189
|
-
sequence: number;
|
|
190
|
-
tick: NetTick;
|
|
191
|
-
timestamp: number;
|
|
192
|
-
senderId: string;
|
|
193
|
-
payload: T;
|
|
194
|
-
reliable: boolean;
|
|
195
|
-
channel: number;
|
|
196
|
-
}
|
|
197
|
-
export interface HandshakePayload {
|
|
198
|
-
version: string;
|
|
199
|
-
playerName: string;
|
|
200
|
-
authToken?: string;
|
|
201
|
-
clientTick: NetTick;
|
|
202
|
-
}
|
|
203
|
-
export interface HandshakeAckPayload {
|
|
204
|
-
accepted: boolean;
|
|
205
|
-
playerId: NetPlayerId;
|
|
206
|
-
serverTick: NetTick;
|
|
207
|
-
config: NetConfig;
|
|
208
|
-
rejectReason?: string;
|
|
209
|
-
}
|
|
210
|
-
export interface RPCPayload {
|
|
211
|
-
method: string;
|
|
212
|
-
args: unknown[];
|
|
213
|
-
target: 'server' | 'client' | 'broadcast' | 'multicast';
|
|
214
|
-
targetIds?: string[];
|
|
215
|
-
reliability: NetReliability;
|
|
216
|
-
}
|
|
217
|
-
export interface ConnectionQuality {
|
|
218
|
-
ping: number;
|
|
219
|
-
jitter: number;
|
|
220
|
-
packetLoss: number;
|
|
221
|
-
bandwidth: number;
|
|
222
|
-
quality: 'excellent' | 'good' | 'fair' | 'poor' | 'critical';
|
|
223
|
-
}
|
|
224
|
-
export declare function assessConnectionQuality(ping: number, jitter: number, packetLoss: number): ConnectionQuality['quality'];
|
|
225
|
-
export interface RelevancyConfig {
|
|
226
|
-
/** Distance-based relevancy falloff */
|
|
227
|
-
maxDistance: number;
|
|
228
|
-
/** Update frequency falloff curve */
|
|
229
|
-
falloffCurve: 'linear' | 'quadratic' | 'exponential';
|
|
230
|
-
/** Always relevant entity types */
|
|
231
|
-
alwaysRelevant: string[];
|
|
232
|
-
/** Owner-only visibility */
|
|
233
|
-
ownerOnly: string[];
|
|
234
|
-
/** Team-only visibility */
|
|
235
|
-
teamOnly: string[];
|
|
236
|
-
}
|
|
237
|
-
export declare function calculateRelevancy(viewerPosition: Vec3, entityPosition: Vec3, config: RelevancyConfig): number;
|
|
238
|
-
export type RPCTarget = 'server' | 'owner' | 'all-clients' | 'other-clients';
|
|
239
|
-
export interface RPCDefinition<TArgs extends unknown[] = unknown[], TResult = void> {
|
|
240
|
-
name: string;
|
|
241
|
-
target: RPCTarget;
|
|
242
|
-
reliability: NetReliability;
|
|
243
|
-
validate?: (...args: TArgs) => boolean;
|
|
244
|
-
execute: (...args: TArgs) => TResult | Promise<TResult>;
|
|
245
|
-
}
|
|
246
|
-
export declare class RPCRegistry {
|
|
247
|
-
private rpcs;
|
|
248
|
-
register<TArgs extends unknown[], TResult>(def: RPCDefinition<TArgs, TResult>): void;
|
|
249
|
-
get(name: string): RPCDefinition | undefined;
|
|
250
|
-
has(name: string): boolean;
|
|
251
|
-
invoke(name: string, args: unknown[], context: {
|
|
252
|
-
senderId: string;
|
|
253
|
-
isServer: boolean;
|
|
254
|
-
}): Promise<unknown>;
|
|
255
|
-
}
|
|
256
|
-
export declare class InputPredictor {
|
|
257
|
-
private inputHistory;
|
|
258
|
-
private maxHistory;
|
|
259
|
-
constructor(maxHistory?: number);
|
|
260
|
-
addInput(input: NetInput): void;
|
|
261
|
-
getUnconfirmedInputs(confirmedTick: NetTick): NetInput[];
|
|
262
|
-
getInputAtTick(tick: NetTick): NetInput | undefined;
|
|
263
|
-
clearBefore(tick: NetTick): void;
|
|
264
|
-
predict(currentInput: NetInput, lookAhead?: number): NetInput[];
|
|
265
|
-
}
|
|
266
|
-
export declare class StateInterpolator {
|
|
267
|
-
private stateBuffer;
|
|
268
|
-
private config;
|
|
269
|
-
constructor(config?: Partial<InterpolationConfig>);
|
|
270
|
-
pushState(state: NetEntityState): void;
|
|
271
|
-
getInterpolatedState(entityId: NetEntityId, renderTick: number): NetEntityState | null;
|
|
272
|
-
private interpolate;
|
|
273
|
-
private linearInterpolate;
|
|
274
|
-
private hermiteInterpolate;
|
|
275
|
-
private slerpQuat;
|
|
276
|
-
clear(entityId?: NetEntityId): void;
|
|
277
|
-
}
|
|
278
|
-
export declare class RollbackManager {
|
|
279
|
-
private frameHistory;
|
|
280
|
-
private config;
|
|
281
|
-
private rollbackCount;
|
|
282
|
-
private lastDesync;
|
|
283
|
-
constructor(config?: Partial<RollbackConfig>);
|
|
284
|
-
saveFrame(frame: RollbackFrame): void;
|
|
285
|
-
getFrame(tick: NetTick): RollbackFrame | undefined;
|
|
286
|
-
rollbackTo(tick: NetTick): RollbackFrame | null;
|
|
287
|
-
detectDesync(localState: NetWorldState, serverState: NetWorldState): boolean;
|
|
288
|
-
private computeChecksum;
|
|
289
|
-
getStats(): {
|
|
290
|
-
rollbackCount: number;
|
|
291
|
-
lastDesync: NetTick | null;
|
|
292
|
-
};
|
|
293
|
-
clear(): void;
|
|
294
|
-
}
|
|
295
|
-
export declare class LagCompensator {
|
|
296
|
-
private hitboxHistory;
|
|
297
|
-
private maxHistoryMs;
|
|
298
|
-
constructor(maxHistoryMs?: number);
|
|
299
|
-
recordHitbox(snapshot: HitboxSnapshot): void;
|
|
300
|
-
rewind(request: LagCompensationRequest, currentTick: NetTick): LagCompensationResult;
|
|
301
|
-
private getClosestSnapshot;
|
|
302
|
-
private pointInBounds;
|
|
303
|
-
clear(): void;
|
|
304
|
-
}
|
|
305
|
-
export declare class DeltaCompressor {
|
|
306
|
-
private baselineStates;
|
|
307
|
-
setBaseline(state: NetEntityState): void;
|
|
308
|
-
computeDelta(current: NetEntityState): EntityDelta | null;
|
|
309
|
-
applyDelta(entityId: NetEntityId, delta: EntityDelta): NetEntityState | null;
|
|
310
|
-
private vec3Equal;
|
|
311
|
-
private quatEqual;
|
|
312
|
-
clearBaseline(entityId?: NetEntityId): void;
|
|
313
|
-
}
|
|
314
|
-
export interface LobbyConfig {
|
|
315
|
-
maxPlayers: number;
|
|
316
|
-
minPlayers: number;
|
|
317
|
-
isPublic: boolean;
|
|
318
|
-
password?: string;
|
|
319
|
-
region: string;
|
|
320
|
-
mode: string;
|
|
321
|
-
customData: Record<string, unknown>;
|
|
322
|
-
}
|
|
323
|
-
export interface Lobby {
|
|
324
|
-
id: string;
|
|
325
|
-
name: string;
|
|
326
|
-
hostId: NetPlayerId;
|
|
327
|
-
config: LobbyConfig;
|
|
328
|
-
players: LobbyPlayer[];
|
|
329
|
-
state: LobbyState;
|
|
330
|
-
createdAt: number;
|
|
331
|
-
startedAt?: number;
|
|
332
|
-
}
|
|
333
|
-
export interface LobbyPlayer {
|
|
334
|
-
playerId: NetPlayerId;
|
|
335
|
-
name: string;
|
|
336
|
-
ready: boolean;
|
|
337
|
-
team: number;
|
|
338
|
-
slot: number;
|
|
339
|
-
isHost: boolean;
|
|
340
|
-
customData: Record<string, unknown>;
|
|
341
|
-
}
|
|
342
|
-
export type LobbyState = 'waiting' | 'ready' | 'countdown' | 'starting' | 'in-game' | 'finished';
|
|
343
|
-
export interface MatchmakingConfig {
|
|
344
|
-
mode: string;
|
|
345
|
-
region: string;
|
|
346
|
-
skillRange: number;
|
|
347
|
-
maxWaitTime: number;
|
|
348
|
-
teamSize: number;
|
|
349
|
-
customFilters: Record<string, unknown>;
|
|
350
|
-
}
|
|
351
|
-
export interface MatchmakingTicket {
|
|
352
|
-
id: string;
|
|
353
|
-
playerId: NetPlayerId;
|
|
354
|
-
config: MatchmakingConfig;
|
|
355
|
-
status: 'searching' | 'found' | 'cancelled' | 'expired';
|
|
356
|
-
createdAt: number;
|
|
357
|
-
matchedLobby?: string;
|
|
358
|
-
}
|
|
359
|
-
export interface NetClientCallbacks {
|
|
360
|
-
onConnect?: () => void;
|
|
361
|
-
onDisconnect?: (reason: string) => void;
|
|
362
|
-
onStateUpdate?: (state: NetWorldState) => void;
|
|
363
|
-
onEntitySpawn?: (entity: NetEntityState) => void;
|
|
364
|
-
onEntityDestroy?: (entityId: NetEntityId) => void;
|
|
365
|
-
onRPC?: (method: string, args: unknown[]) => void;
|
|
366
|
-
onLobbyUpdate?: (lobby: Lobby) => void;
|
|
367
|
-
onMatchStart?: () => void;
|
|
368
|
-
onMatchEnd?: (result: Record<string, unknown>) => void;
|
|
369
|
-
onDesync?: (serverTick: NetTick) => void;
|
|
370
|
-
}
|
|
371
|
-
export declare class NiceNetcodeClient {
|
|
372
|
-
private config;
|
|
373
|
-
private state;
|
|
374
|
-
private playerId;
|
|
375
|
-
private currentTick;
|
|
376
|
-
private serverTick;
|
|
377
|
-
private inputPredictor;
|
|
378
|
-
private interpolator;
|
|
379
|
-
private rollbackManager;
|
|
380
|
-
private deltaCompressor;
|
|
381
|
-
private rpcRegistry;
|
|
382
|
-
private callbacks;
|
|
383
|
-
private worldState;
|
|
384
|
-
private lobby;
|
|
385
|
-
constructor(config?: Partial<NetConfig>, callbacks?: NetClientCallbacks);
|
|
386
|
-
connect(_serverUrl: string, _playerName: string): Promise<boolean>;
|
|
387
|
-
disconnect(): void;
|
|
388
|
-
sendInput(input: Omit<NetInput, 'tick' | 'playerId' | 'sequence' | 'timestamp'>): void;
|
|
389
|
-
tick(deltaTime: number): void;
|
|
390
|
-
getInterpolatedEntity(entityId: NetEntityId): NetEntityState | null;
|
|
391
|
-
registerRPC<TArgs extends unknown[], TResult>(def: RPCDefinition<TArgs, TResult>): void;
|
|
392
|
-
callRPC(method: string, args: unknown[], _target?: RPCTarget): void;
|
|
393
|
-
getConnectionQuality(): ConnectionQuality;
|
|
394
|
-
getState(): ConnectionState;
|
|
395
|
-
getPlayerId(): NetPlayerId | null;
|
|
396
|
-
getCurrentTick(): NetTick;
|
|
397
|
-
getServerTick(): NetTick;
|
|
398
|
-
getLobby(): Lobby | null;
|
|
399
|
-
getWorldState(): NetWorldState | null;
|
|
400
|
-
}
|
|
401
|
-
export interface NetServerCallbacks {
|
|
402
|
-
onPlayerConnect?: (playerId: NetPlayerId) => void;
|
|
403
|
-
onPlayerDisconnect?: (playerId: NetPlayerId, reason: string) => void;
|
|
404
|
-
onPlayerInput?: (playerId: NetPlayerId, input: NetInput) => void;
|
|
405
|
-
onRPC?: (senderId: NetPlayerId, method: string, args: unknown[]) => void;
|
|
406
|
-
}
|
|
407
|
-
export declare class NiceNetcodeServer {
|
|
408
|
-
private config;
|
|
409
|
-
private currentTick;
|
|
410
|
-
private players;
|
|
411
|
-
private entities;
|
|
412
|
-
private inputBuffers;
|
|
413
|
-
private lagCompensator;
|
|
414
|
-
private deltaCompressor;
|
|
415
|
-
private rpcRegistry;
|
|
416
|
-
private callbacks;
|
|
417
|
-
private lobbies;
|
|
418
|
-
constructor(config?: Partial<NetConfig>, callbacks?: NetServerCallbacks);
|
|
419
|
-
tick(_deltaTime: number): void;
|
|
420
|
-
spawnEntity(entity: NetEntityState): NetEntityId;
|
|
421
|
-
destroyEntity(entityId: NetEntityId): boolean;
|
|
422
|
-
updateEntity(entityId: NetEntityId, updates: Partial<NetEntityState>): void;
|
|
423
|
-
performLagCompensatedHit(request: LagCompensationRequest): LagCompensationResult;
|
|
424
|
-
getWorldState(): NetWorldState;
|
|
425
|
-
createLobby(hostId: NetPlayerId, name: string, config: LobbyConfig): Lobby;
|
|
426
|
-
getLobby(id: string): Lobby | undefined;
|
|
427
|
-
getAllLobbies(): Lobby[];
|
|
428
|
-
registerRPC<TArgs extends unknown[], TResult>(def: RPCDefinition<TArgs, TResult>): void;
|
|
429
|
-
getCurrentTick(): NetTick;
|
|
430
|
-
getPlayer(playerId: NetPlayerId): NetPlayerState | undefined;
|
|
431
|
-
getAllPlayers(): NetPlayerState[];
|
|
432
|
-
}
|
|
433
|
-
export declare function createNetcodeClient(config?: Partial<NetConfig>, callbacks?: NetClientCallbacks): NiceNetcodeClient;
|
|
434
|
-
export declare function createNetcodeServer(config?: Partial<NetConfig>, callbacks?: NetServerCallbacks): NiceNetcodeServer;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { PlayerManager, SplitScreenManager, PLAYER_COLORS } from './LocalMultiplayer';
|
|
2
|
-
export type { Player, Viewport } from './LocalMultiplayer';
|
|
3
|
-
export { GameRegistry, gameRegistry, MINI_PLAYER_COLORS, MINI_PLAYER_NAMES, KEYBOARD_GROUPS, DIR_UP, DIR_DOWN, DIR_LEFT, DIR_RIGHT, type PlayerSlot, type InputSource, type Dir, type KeyboardGroup, type MiniGameMeta, type MiniGameConfig, } from './MiniGameTypes';
|
|
4
|
-
export { NiceNetcodeClient, NiceNetcodeServer, InputPredictor, StateInterpolator, RollbackManager, LagCompensator, DeltaCompressor, RPCRegistry, createNetcodeClient, createNetcodeServer, assessConnectionQuality, calculateRelevancy, DEFAULT_NET_CONFIG, } from './NiceNetcode';
|
|
5
|
-
export type { NetTick, NetEntityId, NetPlayerId, NetPriority, NetReliability, ConnectionState, NetRole, Vec2, Vec3, Quat, NetConfig, NetInput, InputBuffer, NetTransform, NetEntityState, NetWorldState, NetPlayerState, StateSnapshot, StateDelta, EntityDelta, PredictionState, RollbackFrame, RollbackConfig, InterpolationState, InterpolationMethod, InterpolationConfig, LagCompensationRequest, LagCompensationResult, HitboxSnapshot, NetMessageType, NetMessage, HandshakePayload, HandshakeAckPayload, RPCPayload, RPCTarget, RPCDefinition, ConnectionQuality, RelevancyConfig, LobbyConfig, Lobby, LobbyPlayer, LobbyState, MatchmakingConfig, MatchmakingTicket, NetClientCallbacks, NetServerCallbacks, } from './NiceNetcode';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Pathfinding';
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
export type AssetType = 'texture' | 'audio' | 'mesh' | 'animation' | 'font' | 'data';
|
|
2
|
-
export interface CompressionStats {
|
|
3
|
-
originalSize: number;
|
|
4
|
-
compressedSize: number;
|
|
5
|
-
ratio: number;
|
|
6
|
-
duration: number;
|
|
7
|
-
format: string;
|
|
8
|
-
}
|
|
9
|
-
export interface TextureCompressionConfig {
|
|
10
|
-
format: 'webp' | 'avif' | 'basis' | 'ktx2' | 'png';
|
|
11
|
-
quality: number;
|
|
12
|
-
maxWidth: number;
|
|
13
|
-
maxHeight: number;
|
|
14
|
-
generateMipmaps: boolean;
|
|
15
|
-
premultiplyAlpha: boolean;
|
|
16
|
-
powerOfTwo: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface AudioCompressionConfig {
|
|
19
|
-
format: 'opus' | 'aac' | 'mp3' | 'ogg';
|
|
20
|
-
bitrate: number;
|
|
21
|
-
sampleRate: number;
|
|
22
|
-
channels: 1 | 2;
|
|
23
|
-
normalize: boolean;
|
|
24
|
-
}
|
|
25
|
-
export interface MeshCompressionConfig {
|
|
26
|
-
quantizationBits: number;
|
|
27
|
-
mergeVertices: boolean;
|
|
28
|
-
stripNormals: boolean;
|
|
29
|
-
stripUVs: boolean;
|
|
30
|
-
draco: boolean;
|
|
31
|
-
}
|
|
32
|
-
export interface AssetManifest {
|
|
33
|
-
version: number;
|
|
34
|
-
assets: AssetEntry[];
|
|
35
|
-
totalOriginalSize: number;
|
|
36
|
-
totalCompressedSize: number;
|
|
37
|
-
compressionRatio: number;
|
|
38
|
-
}
|
|
39
|
-
export interface AssetEntry {
|
|
40
|
-
id: string;
|
|
41
|
-
type: AssetType;
|
|
42
|
-
originalPath: string;
|
|
43
|
-
compressedPath: string;
|
|
44
|
-
originalSize: number;
|
|
45
|
-
compressedSize: number;
|
|
46
|
-
format: string;
|
|
47
|
-
hash: string;
|
|
48
|
-
metadata?: Record<string, unknown>;
|
|
49
|
-
}
|
|
50
|
-
export interface StreamingConfig {
|
|
51
|
-
chunkSize: number;
|
|
52
|
-
concurrency: number;
|
|
53
|
-
priorityLevels: number;
|
|
54
|
-
preloadDistance: number;
|
|
55
|
-
}
|
|
56
|
-
export declare class TextureCompressor {
|
|
57
|
-
private config;
|
|
58
|
-
constructor(config?: Partial<TextureCompressionConfig>);
|
|
59
|
-
compress(imageData: ImageData | HTMLCanvasElement): Promise<{
|
|
60
|
-
blob: Blob;
|
|
61
|
-
stats: CompressionStats;
|
|
62
|
-
}>;
|
|
63
|
-
generateMipmaps(canvas: HTMLCanvasElement): Promise<HTMLCanvasElement[]>;
|
|
64
|
-
private resizeCanvas;
|
|
65
|
-
private ensurePowerOfTwo;
|
|
66
|
-
private getMimeType;
|
|
67
|
-
}
|
|
68
|
-
export declare class AudioCompressor {
|
|
69
|
-
private config;
|
|
70
|
-
constructor(config?: Partial<AudioCompressionConfig>);
|
|
71
|
-
compress(audioBuffer: AudioBuffer): Promise<{
|
|
72
|
-
blob: Blob;
|
|
73
|
-
stats: CompressionStats;
|
|
74
|
-
}>;
|
|
75
|
-
private resample;
|
|
76
|
-
private normalizeAudio;
|
|
77
|
-
private encodeWAV;
|
|
78
|
-
private writeString;
|
|
79
|
-
}
|
|
80
|
-
export declare class MeshCompressor {
|
|
81
|
-
private config;
|
|
82
|
-
constructor(config?: Partial<MeshCompressionConfig>);
|
|
83
|
-
compress(vertices: Float32Array, indices: Uint32Array, normals?: Float32Array, uvs?: Float32Array): {
|
|
84
|
-
vertices: Float32Array | Int16Array;
|
|
85
|
-
indices: Uint32Array | Uint16Array;
|
|
86
|
-
normals?: Float32Array | Int8Array;
|
|
87
|
-
uvs?: Float32Array | Uint16Array;
|
|
88
|
-
stats: CompressionStats;
|
|
89
|
-
};
|
|
90
|
-
private quantizeVertices;
|
|
91
|
-
private quantizeNormals;
|
|
92
|
-
private quantizeUVs;
|
|
93
|
-
private mergeVertices;
|
|
94
|
-
}
|
|
95
|
-
export declare class AssetStreamer {
|
|
96
|
-
private config;
|
|
97
|
-
private activeDownloads;
|
|
98
|
-
private queue;
|
|
99
|
-
private cache;
|
|
100
|
-
constructor(config?: Partial<StreamingConfig>);
|
|
101
|
-
load(url: string, priority?: number): Promise<ArrayBuffer>;
|
|
102
|
-
private processQueue;
|
|
103
|
-
preload(urls: string[], priority?: number): Promise<void[]>;
|
|
104
|
-
evict(url: string): boolean;
|
|
105
|
-
clearCache(): void;
|
|
106
|
-
get cacheSize(): number;
|
|
107
|
-
get pendingDownloads(): number;
|
|
108
|
-
}
|
|
109
|
-
export declare class AssetPipeline {
|
|
110
|
-
private textureCompressor;
|
|
111
|
-
private audioCompressor;
|
|
112
|
-
private meshCompressor;
|
|
113
|
-
private streamer;
|
|
114
|
-
private manifest;
|
|
115
|
-
constructor(config?: {
|
|
116
|
-
texture?: Partial<TextureCompressionConfig>;
|
|
117
|
-
audio?: Partial<AudioCompressionConfig>;
|
|
118
|
-
mesh?: Partial<MeshCompressionConfig>;
|
|
119
|
-
streaming?: Partial<StreamingConfig>;
|
|
120
|
-
});
|
|
121
|
-
getTextureCompressor(): TextureCompressor;
|
|
122
|
-
getAudioCompressor(): AudioCompressor;
|
|
123
|
-
getMeshCompressor(): MeshCompressor;
|
|
124
|
-
getStreamer(): AssetStreamer;
|
|
125
|
-
getManifest(): Readonly<AssetManifest>;
|
|
126
|
-
addToManifest(entry: AssetEntry): void;
|
|
127
|
-
exportManifest(): string;
|
|
128
|
-
getCompressionSummary(): {
|
|
129
|
-
totalAssets: number;
|
|
130
|
-
byType: Record<string, {
|
|
131
|
-
count: number;
|
|
132
|
-
savedBytes: number;
|
|
133
|
-
}>;
|
|
134
|
-
totalSavedBytes: number;
|
|
135
|
-
overallRatio: number;
|
|
136
|
-
};
|
|
137
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export interface WASMModuleConfig {
|
|
2
|
-
wasmUrl?: string;
|
|
3
|
-
fallbackToJS: boolean;
|
|
4
|
-
enableSIMD: boolean;
|
|
5
|
-
}
|
|
6
|
-
export interface Vec2 {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
}
|
|
10
|
-
export interface AABB {
|
|
11
|
-
minX: number;
|
|
12
|
-
minY: number;
|
|
13
|
-
maxX: number;
|
|
14
|
-
maxY: number;
|
|
15
|
-
}
|
|
16
|
-
export interface CollisionResult {
|
|
17
|
-
collides: boolean;
|
|
18
|
-
overlapX: number;
|
|
19
|
-
overlapY: number;
|
|
20
|
-
depth: number;
|
|
21
|
-
}
|
|
22
|
-
export interface PathResult {
|
|
23
|
-
path: Vec2[];
|
|
24
|
-
cost: number;
|
|
25
|
-
nodesExplored: number;
|
|
26
|
-
}
|
|
27
|
-
export interface WASMExports {
|
|
28
|
-
memory: WebAssembly.Memory;
|
|
29
|
-
aabb_test: (ax: number, ay: number, aw: number, ah: number, bx: number, by: number, bw: number, bh: number) => number;
|
|
30
|
-
aabb_overlap: (ax: number, ay: number, aw: number, ah: number, bx: number, by: number, bw: number, bh: number, outPtr: number) => void;
|
|
31
|
-
circle_test: (ax: number, ay: number, ar: number, bx: number, by: number, br: number) => number;
|
|
32
|
-
vec2_dot: (ax: number, ay: number, bx: number, by: number) => number;
|
|
33
|
-
vec2_cross: (ax: number, ay: number, bx: number, by: number) => number;
|
|
34
|
-
vec2_length: (x: number, y: number) => number;
|
|
35
|
-
vec2_normalize: (x: number, y: number, outPtr: number) => void;
|
|
36
|
-
astar_init: (width: number, height: number, gridPtr: number) => void;
|
|
37
|
-
astar_find: (sx: number, sy: number, tx: number, ty: number, outPtr: number) => number;
|
|
38
|
-
batch_aabb_test: (aabbsPtr: number, count: number, outPtr: number) => number;
|
|
39
|
-
malloc: (size: number) => number;
|
|
40
|
-
free: (ptr: number) => void;
|
|
41
|
-
}
|
|
42
|
-
export declare class WASMAccelerator {
|
|
43
|
-
private config;
|
|
44
|
-
private wasmExports;
|
|
45
|
-
private initialized;
|
|
46
|
-
constructor(config?: Partial<WASMModuleConfig>);
|
|
47
|
-
init(wasmBytes?: ArrayBuffer): Promise<boolean>;
|
|
48
|
-
get isWASM(): boolean;
|
|
49
|
-
get ready(): boolean;
|
|
50
|
-
aabbTest(ax: number, ay: number, aw: number, ah: number, bx: number, by: number, bw: number, bh: number): boolean;
|
|
51
|
-
aabbOverlap(a: AABB, b: AABB): CollisionResult;
|
|
52
|
-
circleTest(ax: number, ay: number, ar: number, bx: number, by: number, br: number): boolean;
|
|
53
|
-
batchAABBTest(aabbs: AABB[]): [number, number][];
|
|
54
|
-
vec2Dot(ax: number, ay: number, bx: number, by: number): number;
|
|
55
|
-
vec2Cross(ax: number, ay: number, bx: number, by: number): number;
|
|
56
|
-
vec2Length(x: number, y: number): number;
|
|
57
|
-
vec2Normalize(x: number, y: number): Vec2;
|
|
58
|
-
findPath(grid: number[][], startX: number, startY: number, targetX: number, targetY: number): PathResult;
|
|
59
|
-
destroy(): void;
|
|
60
|
-
}
|
|
61
|
-
export declare function benchmarkWASMvsJS(accelerator: WASMAccelerator, iterations?: number): Record<string, {
|
|
62
|
-
wasm: number;
|
|
63
|
-
js: number;
|
|
64
|
-
speedup: number;
|
|
65
|
-
}>;
|