@nice2dev/game-engine 1.3.12 → 1.3.14

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 (253) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +2 -2
  3. package/dist/types/accessibility/index.d.ts +0 -1
  4. package/dist/types/ai/index.d.ts +0 -1
  5. package/dist/types/animation/index.d.ts +0 -1
  6. package/dist/types/audio/HRTFAudio.d.ts +0 -180
  7. package/dist/types/audio/index.d.ts +0 -2
  8. package/dist/types/community/Community.d.ts +0 -112
  9. package/dist/types/community/index.d.ts +0 -1
  10. package/dist/types/core/TypeSafety.d.ts +0 -190
  11. package/dist/types/core/index.d.ts +0 -7
  12. package/dist/types/devtools/AssetStore.d.ts +0 -133
  13. package/dist/types/devtools/index.d.ts +0 -3
  14. package/dist/types/dialogue/index.d.ts +0 -2
  15. package/dist/types/docs/APIPlayground.d.ts +0 -26
  16. package/dist/types/docs/Cookbook.d.ts +0 -18
  17. package/dist/types/docs/Guides.d.ts +0 -18
  18. package/dist/types/docs/index.d.ts +0 -4
  19. package/dist/types/ecs/ECSOptimized.d.ts +0 -131
  20. package/dist/types/ecs/index.d.ts +0 -2
  21. package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
  22. package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
  23. package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
  24. package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
  25. package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
  26. package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
  27. package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
  28. package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
  29. package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
  30. package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
  31. package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
  32. package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
  33. package/dist/types/editor/behavior-tree/index.d.ts +0 -14
  34. package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
  35. package/dist/types/editor/behavior-tree/types.d.ts +0 -299
  36. package/dist/types/editor/index.d.ts +0 -20
  37. package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
  38. package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
  39. package/dist/types/editor/state-machine/index.d.ts +0 -11
  40. package/dist/types/editor/state-machine/serialization.d.ts +0 -23
  41. package/dist/types/editor/state-machine/types.d.ts +0 -241
  42. package/dist/types/engine/index.d.ts +0 -2
  43. package/dist/types/enterprise/index.d.ts +0 -1
  44. package/dist/types/epic/index.d.ts +0 -10
  45. package/dist/types/i18n/index.d.ts +0 -2
  46. package/dist/types/input/index.d.ts +0 -3
  47. package/dist/types/kids/index.d.ts +0 -2
  48. package/dist/types/legendary/index.d.ts +0 -57
  49. package/dist/types/monetization/index.d.ts +0 -1
  50. package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
  51. package/dist/types/multiplayer/index.d.ts +0 -5
  52. package/dist/types/network/index.d.ts +0 -2
  53. package/dist/types/pathfinding/index.d.ts +0 -1
  54. package/dist/types/performance/AssetCompression.d.ts +0 -137
  55. package/dist/types/performance/WASMModules.d.ts +0 -65
  56. package/dist/types/performance/WebGPUCompute.d.ts +0 -71
  57. package/dist/types/performance/index.d.ts +0 -1
  58. package/dist/types/physics/RapierIntegration.d.ts +0 -404
  59. package/dist/types/physics/index.d.ts +0 -2
  60. package/dist/types/plugins/index.d.ts +0 -2
  61. package/dist/types/procedural/index.d.ts +0 -2
  62. package/dist/types/release/index.d.ts +0 -1
  63. package/dist/types/rendering/WebGPUv2.d.ts +0 -173
  64. package/dist/types/rendering/index.d.ts +0 -3
  65. package/dist/types/runtime3d/index.d.ts +0 -2
  66. package/dist/types/scene/index.d.ts +0 -2
  67. package/dist/types/scripting/WasmCompiler.d.ts +0 -182
  68. package/dist/types/scripting/index.d.ts +0 -19
  69. package/dist/types/social/index.d.ts +0 -1
  70. package/dist/types/systems/NiceAI.d.ts +0 -637
  71. package/dist/types/systems/NiceAbility.d.ts +0 -225
  72. package/dist/types/systems/NiceAccessibility.d.ts +0 -230
  73. package/dist/types/systems/NiceAchievement.d.ts +0 -153
  74. package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
  75. package/dist/types/systems/NiceAchievements.d.ts +0 -230
  76. package/dist/types/systems/NiceAction.d.ts +0 -81
  77. package/dist/types/systems/NiceAlchemy.d.ts +0 -195
  78. package/dist/types/systems/NiceAnalytics.d.ts +0 -493
  79. package/dist/types/systems/NiceAnimation.d.ts +0 -350
  80. package/dist/types/systems/NiceArena.d.ts +0 -215
  81. package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
  82. package/dist/types/systems/NiceAuction.d.ts +0 -157
  83. package/dist/types/systems/NiceAudio.d.ts +0 -224
  84. package/dist/types/systems/NiceAugment.d.ts +0 -187
  85. package/dist/types/systems/NiceAura.d.ts +0 -193
  86. package/dist/types/systems/NiceBank.d.ts +0 -158
  87. package/dist/types/systems/NiceBattlePass.d.ts +0 -150
  88. package/dist/types/systems/NiceBehavior.d.ts +0 -160
  89. package/dist/types/systems/NiceBinding.d.ts +0 -96
  90. package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
  91. package/dist/types/systems/NiceBuff.d.ts +0 -177
  92. package/dist/types/systems/NiceBuilding.d.ts +0 -207
  93. package/dist/types/systems/NiceBullet.d.ts +0 -167
  94. package/dist/types/systems/NiceCamera.d.ts +0 -252
  95. package/dist/types/systems/NiceCard.d.ts +0 -171
  96. package/dist/types/systems/NiceChat.d.ts +0 -148
  97. package/dist/types/systems/NiceCheat.d.ts +0 -375
  98. package/dist/types/systems/NiceClimbing.d.ts +0 -186
  99. package/dist/types/systems/NiceCloud.d.ts +0 -422
  100. package/dist/types/systems/NiceCollision.d.ts +0 -238
  101. package/dist/types/systems/NiceCombo.d.ts +0 -131
  102. package/dist/types/systems/NiceCommand.d.ts +0 -112
  103. package/dist/types/systems/NiceCompanion.d.ts +0 -182
  104. package/dist/types/systems/NiceController.d.ts +0 -144
  105. package/dist/types/systems/NiceCooking.d.ts +0 -193
  106. package/dist/types/systems/NiceCoroutine.d.ts +0 -101
  107. package/dist/types/systems/NiceCrafting.d.ts +0 -228
  108. package/dist/types/systems/NiceCutscene.d.ts +0 -437
  109. package/dist/types/systems/NiceDaily.d.ts +0 -133
  110. package/dist/types/systems/NiceDamage.d.ts +0 -271
  111. package/dist/types/systems/NiceDayNight.d.ts +0 -126
  112. package/dist/types/systems/NiceDebug.d.ts +0 -255
  113. package/dist/types/systems/NiceDestructible.d.ts +0 -150
  114. package/dist/types/systems/NiceDialogue.d.ts +0 -629
  115. package/dist/types/systems/NiceDungeon.d.ts +0 -202
  116. package/dist/types/systems/NiceECS.d.ts +0 -151
  117. package/dist/types/systems/NiceEnchant.d.ts +0 -148
  118. package/dist/types/systems/NiceEntityPool.d.ts +0 -127
  119. package/dist/types/systems/NiceEquipment.d.ts +0 -137
  120. package/dist/types/systems/NiceEvent.d.ts +0 -202
  121. package/dist/types/systems/NiceEventBus.d.ts +0 -164
  122. package/dist/types/systems/NiceFaction.d.ts +0 -173
  123. package/dist/types/systems/NiceFarming.d.ts +0 -163
  124. package/dist/types/systems/NiceFishing.d.ts +0 -196
  125. package/dist/types/systems/NiceFlocking.d.ts +0 -156
  126. package/dist/types/systems/NiceFog.d.ts +0 -137
  127. package/dist/types/systems/NiceFormation.d.ts +0 -140
  128. package/dist/types/systems/NiceGacha.d.ts +0 -134
  129. package/dist/types/systems/NiceGambling.d.ts +0 -175
  130. package/dist/types/systems/NiceGem.d.ts +0 -165
  131. package/dist/types/systems/NiceGesture.d.ts +0 -502
  132. package/dist/types/systems/NiceGrappling.d.ts +0 -154
  133. package/dist/types/systems/NiceGrid.d.ts +0 -142
  134. package/dist/types/systems/NiceGuild.d.ts +0 -162
  135. package/dist/types/systems/NiceHaptics.d.ts +0 -112
  136. package/dist/types/systems/NiceHousing.d.ts +0 -197
  137. package/dist/types/systems/NiceInput.d.ts +0 -280
  138. package/dist/types/systems/NiceInventory.d.ts +0 -534
  139. package/dist/types/systems/NiceLOD.d.ts +0 -144
  140. package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
  141. package/dist/types/systems/NiceLevel.d.ts +0 -304
  142. package/dist/types/systems/NiceLighting.d.ts +0 -214
  143. package/dist/types/systems/NiceLocalization.d.ts +0 -148
  144. package/dist/types/systems/NiceLocomotion.d.ts +0 -398
  145. package/dist/types/systems/NiceLogger.d.ts +0 -117
  146. package/dist/types/systems/NiceLoot.d.ts +0 -176
  147. package/dist/types/systems/NiceMail.d.ts +0 -164
  148. package/dist/types/systems/NiceMap.d.ts +0 -234
  149. package/dist/types/systems/NiceMarriage.d.ts +0 -150
  150. package/dist/types/systems/NiceMastery.d.ts +0 -171
  151. package/dist/types/systems/NiceMatch.d.ts +0 -196
  152. package/dist/types/systems/NiceMatch3.d.ts +0 -118
  153. package/dist/types/systems/NiceMessageBus.d.ts +0 -115
  154. package/dist/types/systems/NiceMinimap.d.ts +0 -258
  155. package/dist/types/systems/NiceMining.d.ts +0 -175
  156. package/dist/types/systems/NiceModding.d.ts +0 -452
  157. package/dist/types/systems/NiceMount.d.ts +0 -152
  158. package/dist/types/systems/NiceNavigation.d.ts +0 -307
  159. package/dist/types/systems/NiceNetwork.d.ts +0 -568
  160. package/dist/types/systems/NiceNotification.d.ts +0 -438
  161. package/dist/types/systems/NiceObjective.d.ts +0 -395
  162. package/dist/types/systems/NiceParticle.d.ts +0 -639
  163. package/dist/types/systems/NiceParty.d.ts +0 -168
  164. package/dist/types/systems/NicePerformance.d.ts +0 -144
  165. package/dist/types/systems/NicePet.d.ts +0 -167
  166. package/dist/types/systems/NicePhotoMode.d.ts +0 -270
  167. package/dist/types/systems/NicePhysics.d.ts +0 -326
  168. package/dist/types/systems/NicePlatformer.d.ts +0 -158
  169. package/dist/types/systems/NicePool.d.ts +0 -128
  170. package/dist/types/systems/NicePortal.d.ts +0 -178
  171. package/dist/types/systems/NicePostProcess.d.ts +0 -254
  172. package/dist/types/systems/NiceProcedural.d.ts +0 -202
  173. package/dist/types/systems/NiceProfile.d.ts +0 -223
  174. package/dist/types/systems/NiceProjectile.d.ts +0 -157
  175. package/dist/types/systems/NicePvP.d.ts +0 -199
  176. package/dist/types/systems/NiceQTE.d.ts +0 -160
  177. package/dist/types/systems/NiceQuest.d.ts +0 -620
  178. package/dist/types/systems/NiceRaid.d.ts +0 -215
  179. package/dist/types/systems/NiceRanking.d.ts +0 -399
  180. package/dist/types/systems/NiceReplay.d.ts +0 -180
  181. package/dist/types/systems/NiceReputation.d.ts +0 -151
  182. package/dist/types/systems/NiceResource.d.ts +0 -200
  183. package/dist/types/systems/NiceRhythm.d.ts +0 -148
  184. package/dist/types/systems/NiceRoguelike.d.ts +0 -276
  185. package/dist/types/systems/NiceRune.d.ts +0 -202
  186. package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
  187. package/dist/types/systems/NiceSceneManager.d.ts +0 -112
  188. package/dist/types/systems/NiceScore.d.ts +0 -186
  189. package/dist/types/systems/NiceScreenFX.d.ts +0 -235
  190. package/dist/types/systems/NiceScreenshot.d.ts +0 -443
  191. package/dist/types/systems/NiceScribe.d.ts +0 -239
  192. package/dist/types/systems/NiceSeason.d.ts +0 -176
  193. package/dist/types/systems/NiceSerialization.d.ts +0 -89
  194. package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
  195. package/dist/types/systems/NiceShop.d.ts +0 -528
  196. package/dist/types/systems/NiceSignal.d.ts +0 -112
  197. package/dist/types/systems/NiceSkillTree.d.ts +0 -237
  198. package/dist/types/systems/NiceSocial.d.ts +0 -580
  199. package/dist/types/systems/NiceSpawner.d.ts +0 -237
  200. package/dist/types/systems/NiceSpell.d.ts +0 -216
  201. package/dist/types/systems/NiceState.d.ts +0 -224
  202. package/dist/types/systems/NiceStateMachine.d.ts +0 -108
  203. package/dist/types/systems/NiceStatus.d.ts +0 -116
  204. package/dist/types/systems/NiceStealth.d.ts +0 -204
  205. package/dist/types/systems/NiceSteam.d.ts +0 -255
  206. package/dist/types/systems/NiceStreaming.d.ts +0 -173
  207. package/dist/types/systems/NiceSwimming.d.ts +0 -166
  208. package/dist/types/systems/NiceTalent.d.ts +0 -154
  209. package/dist/types/systems/NiceTarget.d.ts +0 -121
  210. package/dist/types/systems/NiceTerrain.d.ts +0 -143
  211. package/dist/types/systems/NiceTilemap.d.ts +0 -218
  212. package/dist/types/systems/NiceTimer.d.ts +0 -153
  213. package/dist/types/systems/NiceTournament.d.ts +0 -190
  214. package/dist/types/systems/NiceTrading.d.ts +0 -238
  215. package/dist/types/systems/NiceTransmog.d.ts +0 -142
  216. package/dist/types/systems/NiceTutorial.d.ts +0 -248
  217. package/dist/types/systems/NiceTween.d.ts +0 -164
  218. package/dist/types/systems/NiceUI.d.ts +0 -364
  219. package/dist/types/systems/NiceVFX.d.ts +0 -333
  220. package/dist/types/systems/NiceVehicle.d.ts +0 -176
  221. package/dist/types/systems/NiceVoice.d.ts +0 -502
  222. package/dist/types/systems/NiceWater.d.ts +0 -162
  223. package/dist/types/systems/NiceWave.d.ts +0 -174
  224. package/dist/types/systems/NiceWaypoint.d.ts +0 -165
  225. package/dist/types/systems/NiceWeather.d.ts +0 -225
  226. package/dist/types/systems/NiceXR.d.ts +0 -187
  227. package/dist/types/systems/index.d.ts +0 -182
  228. package/dist/types/templates/index.d.ts +0 -2
  229. package/dist/types/tilemap/index.d.ts +0 -1
  230. package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
  231. package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
  232. package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
  233. package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
  234. package/dist/types/tutorials/content/index.d.ts +0 -5
  235. package/dist/types/tutorials/index.d.ts +0 -6
  236. package/dist/types/ui/index.d.ts +0 -2
  237. package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
  238. package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
  239. package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
  240. package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
  241. package/dist/types/visual-scripting/index.d.ts +0 -6
  242. package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
  243. package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
  244. package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
  245. package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
  246. package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
  247. package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
  248. package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
  249. package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
  250. package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
  251. package/dist/types/visual-scripting/types.d.ts +0 -402
  252. package/dist/types/xr/WebXRLayers.d.ts +0 -319
  253. package/dist/types/xr/index.d.ts +0 -2
@@ -1,422 +0,0 @@
1
- /**
2
- * NiceCloud - Cloud Save & Sync System
3
- *
4
- * Comprehensive cloud storage system for save games, settings,
5
- * and player data synchronization across devices.
6
- *
7
- * Features:
8
- * - Cloud save management
9
- * - Auto-sync
10
- * - Conflict resolution
11
- * - Offline support
12
- * - Data compression
13
- * - Encryption
14
- * - Version control
15
- * - Selective sync
16
- * - Bandwidth management
17
- * - Progress tracking
18
- * - Multi-device support
19
- * - Backup & restore
20
- *
21
- * @packageDocumentation
22
- */
23
- import { EventEmitter } from 'events';
24
- /** Unique save ID */
25
- export type SaveId = string;
26
- /** Unique device ID */
27
- export type DeviceId = string;
28
- /** Sync state */
29
- export type SyncState = 'idle' | 'syncing' | 'uploading' | 'downloading' | 'error' | 'offline' | 'conflict';
30
- /** Conflict resolution strategy */
31
- export type ConflictResolution = 'local_wins' | 'remote_wins' | 'newest_wins' | 'merge' | 'manual';
32
- /** Save type */
33
- export type SaveType = 'auto' | 'manual' | 'checkpoint' | 'quicksave' | 'settings' | 'profile' | 'custom';
34
- /** Save metadata */
35
- export interface SaveMetadata {
36
- id: SaveId;
37
- name: string;
38
- type: SaveType;
39
- version: number;
40
- size: number;
41
- compressed: boolean;
42
- encrypted: boolean;
43
- checksum: string;
44
- createdAt: number;
45
- modifiedAt: number;
46
- uploadedAt?: number;
47
- deviceId: DeviceId;
48
- deviceName: string;
49
- gameVersion: string;
50
- playtime?: number;
51
- level?: number;
52
- location?: string;
53
- screenshot?: string;
54
- tags?: string[];
55
- customData?: Record<string, unknown>;
56
- }
57
- /** Cloud save data */
58
- export interface CloudSave {
59
- metadata: SaveMetadata;
60
- data: unknown;
61
- localPath?: string;
62
- cloudPath?: string;
63
- syncStatus: 'synced' | 'pending_upload' | 'pending_download' | 'conflict' | 'local_only';
64
- lastSyncTime?: number;
65
- }
66
- /** Sync conflict */
67
- export interface SyncConflict {
68
- saveId: SaveId;
69
- localSave: CloudSave;
70
- remoteSave: CloudSave;
71
- detectedAt: number;
72
- resolved: boolean;
73
- resolution?: ConflictResolution;
74
- }
75
- /** Sync progress */
76
- export interface SyncProgress {
77
- operation: 'upload' | 'download';
78
- saveId: SaveId;
79
- bytesTransferred: number;
80
- totalBytes: number;
81
- percentage: number;
82
- startedAt: number;
83
- estimatedTime?: number;
84
- }
85
- /** Device info */
86
- export interface DeviceInfo {
87
- id: DeviceId;
88
- name: string;
89
- platform: string;
90
- lastSeen: number;
91
- lastSyncTime?: number;
92
- isCurrentDevice: boolean;
93
- }
94
- /** Quota info */
95
- export interface QuotaInfo {
96
- used: number;
97
- total: number;
98
- remaining: number;
99
- percentage: number;
100
- saveCount: number;
101
- maxSaves?: number;
102
- }
103
- /** Sync options */
104
- export interface SyncOptions {
105
- force?: boolean;
106
- selective?: SaveId[];
107
- conflictResolution?: ConflictResolution;
108
- compress?: boolean;
109
- encrypt?: boolean;
110
- priority?: 'low' | 'normal' | 'high';
111
- timeout?: number;
112
- }
113
- /** Upload options */
114
- export interface UploadOptions extends SyncOptions {
115
- overwrite?: boolean;
116
- screenshot?: string;
117
- tags?: string[];
118
- }
119
- /** Download options */
120
- export interface DownloadOptions extends SyncOptions {
121
- createBackup?: boolean;
122
- }
123
- /** Cloud provider interface */
124
- export interface CloudProvider {
125
- name: string;
126
- isAuthenticated: () => Promise<boolean>;
127
- authenticate: () => Promise<boolean>;
128
- logout: () => Promise<void>;
129
- listSaves: () => Promise<SaveMetadata[]>;
130
- uploadSave: (save: CloudSave, options?: UploadOptions) => Promise<boolean>;
131
- downloadSave: (saveId: SaveId, options?: DownloadOptions) => Promise<CloudSave | undefined>;
132
- deleteSave: (saveId: SaveId) => Promise<boolean>;
133
- getQuota: () => Promise<QuotaInfo>;
134
- onProgress?: (progress: SyncProgress) => void;
135
- }
136
- /** Backup info */
137
- export interface BackupInfo {
138
- id: string;
139
- saveId: SaveId;
140
- timestamp: number;
141
- size: number;
142
- compressed: boolean;
143
- data?: unknown;
144
- }
145
- /** Cloud statistics */
146
- export interface CloudStatistics {
147
- totalUploads: number;
148
- totalDownloads: number;
149
- bytesUploaded: number;
150
- bytesDownloaded: number;
151
- conflictsResolved: number;
152
- lastSyncTime?: number;
153
- syncErrors: number;
154
- offlineSaves: number;
155
- }
156
- /** Encryption key info */
157
- export interface EncryptionKeyInfo {
158
- id: string;
159
- algorithm: string;
160
- createdAt: number;
161
- }
162
- /** Cloud event types */
163
- export type CloudEventType = 'sync_started' | 'sync_completed' | 'sync_failed' | 'upload_started' | 'upload_progress' | 'upload_completed' | 'upload_failed' | 'download_started' | 'download_progress' | 'download_completed' | 'download_failed' | 'conflict_detected' | 'conflict_resolved' | 'save_created' | 'save_deleted' | 'quota_warning' | 'offline_mode' | 'online_mode' | 'auth_required';
164
- /** Cloud event data */
165
- export interface CloudEvent {
166
- type: CloudEventType;
167
- timestamp: number;
168
- saveId?: SaveId;
169
- data?: unknown;
170
- error?: string;
171
- }
172
- /** Cloud event callback */
173
- export type CloudEventCallback = (event: CloudEvent) => void;
174
- /** Cloud system configuration */
175
- export interface CloudConfig {
176
- autoSync: boolean;
177
- autoSyncInterval: number;
178
- syncOnSave: boolean;
179
- syncOnLoad: boolean;
180
- offlineSupport: boolean;
181
- compressionEnabled: boolean;
182
- compressionThreshold: number;
183
- encryptionEnabled: boolean;
184
- conflictResolution: ConflictResolution;
185
- maxBackups: number;
186
- retryAttempts: number;
187
- retryDelay: number;
188
- quotaWarningThreshold: number;
189
- timeoutMs: number;
190
- }
191
- /** Default configuration */
192
- export declare const DEFAULT_CLOUD_CONFIG: CloudConfig;
193
- /**
194
- * Cloud save and sync system
195
- */
196
- export declare class NiceCloud extends EventEmitter {
197
- private config;
198
- private provider?;
199
- private saves;
200
- private conflicts;
201
- private backups;
202
- private devices;
203
- private currentDeviceId;
204
- private currentDeviceName;
205
- private syncState;
206
- private isOnline;
207
- private syncQueue;
208
- private syncInterval?;
209
- private statistics;
210
- private encryptionKey?;
211
- private pendingOperations;
212
- constructor(config?: Partial<CloudConfig>);
213
- /**
214
- * Emit cloud event
215
- */
216
- private emitEvent;
217
- /**
218
- * Generate device ID
219
- */
220
- private generateDeviceId;
221
- /**
222
- * Get device name
223
- */
224
- private getDeviceName;
225
- /**
226
- * Setup network listener
227
- */
228
- private setupNetworkListener;
229
- /**
230
- * Load local state
231
- */
232
- private loadLocalState;
233
- /**
234
- * Save local state
235
- */
236
- private saveLocalState;
237
- /**
238
- * Set cloud provider
239
- */
240
- setProvider(provider: CloudProvider): void;
241
- /**
242
- * Get provider
243
- */
244
- getProvider(): CloudProvider | undefined;
245
- /**
246
- * Check authentication
247
- */
248
- isAuthenticated(): Promise<boolean>;
249
- /**
250
- * Authenticate
251
- */
252
- authenticate(): Promise<boolean>;
253
- /**
254
- * Logout
255
- */
256
- logout(): Promise<void>;
257
- /**
258
- * Start auto sync
259
- */
260
- startAutoSync(): void;
261
- /**
262
- * Stop auto sync
263
- */
264
- stopAutoSync(): void;
265
- /**
266
- * Full sync
267
- */
268
- sync(options?: SyncOptions): Promise<boolean>;
269
- /**
270
- * Sync pending saves (after coming online)
271
- */
272
- private syncPendingSaves;
273
- /**
274
- * Create cloud save
275
- */
276
- createSave(name: string, data: unknown, type?: SaveType, options?: UploadOptions): Promise<CloudSave | undefined>;
277
- /**
278
- * Update save
279
- */
280
- updateSave(saveId: SaveId, data: unknown, options?: UploadOptions): Promise<boolean>;
281
- /**
282
- * Upload save to cloud
283
- */
284
- uploadSave(saveId: SaveId, options?: UploadOptions): Promise<boolean>;
285
- /**
286
- * Perform upload with retries
287
- */
288
- private performUpload;
289
- /**
290
- * Download save from cloud
291
- */
292
- downloadSave(saveId: SaveId, options?: DownloadOptions): Promise<CloudSave | undefined>;
293
- /**
294
- * Delete save
295
- */
296
- deleteSave(saveId: SaveId, deleteFromCloud?: boolean): Promise<boolean>;
297
- /**
298
- * Get save
299
- */
300
- getSave(saveId: SaveId): CloudSave | undefined;
301
- /**
302
- * Get all saves
303
- */
304
- getAllSaves(type?: SaveType): CloudSave[];
305
- /**
306
- * List cloud saves
307
- */
308
- listCloudSaves(): Promise<SaveMetadata[]>;
309
- /**
310
- * Handle conflict
311
- */
312
- handleConflict(saveId: SaveId, resolution?: ConflictResolution): Promise<boolean>;
313
- /**
314
- * Resolve conflict
315
- */
316
- resolveConflict(saveId: SaveId, resolution: ConflictResolution): Promise<boolean>;
317
- /**
318
- * Merge saves (simple merge strategy)
319
- */
320
- private mergeSaves;
321
- /**
322
- * Get conflicts
323
- */
324
- getConflicts(): SyncConflict[];
325
- /**
326
- * Create backup
327
- */
328
- createBackup(saveId: SaveId): Promise<BackupInfo | undefined>;
329
- /**
330
- * Restore from backup
331
- */
332
- restoreBackup(saveId: SaveId, backupId: string): Promise<boolean>;
333
- /**
334
- * Get backups for save
335
- */
336
- getBackups(saveId: SaveId): BackupInfo[];
337
- /**
338
- * Get quota info
339
- */
340
- getQuota(): Promise<QuotaInfo | undefined>;
341
- /**
342
- * Check quota and warn if necessary
343
- */
344
- private checkQuota;
345
- /**
346
- * Set encryption key
347
- */
348
- setEncryptionKey(password: string): Promise<void>;
349
- /**
350
- * Encrypt data
351
- */
352
- private encrypt;
353
- /**
354
- * Decrypt data
355
- */
356
- private decrypt;
357
- /**
358
- * Compress data
359
- */
360
- private compress;
361
- /**
362
- * Decompress data
363
- */
364
- private decompress;
365
- /**
366
- * Calculate size
367
- */
368
- private calculateSize;
369
- /**
370
- * Calculate checksum
371
- */
372
- private calculateChecksum;
373
- /**
374
- * Create timeout promise
375
- */
376
- private createTimeout;
377
- /**
378
- * Delay helper
379
- */
380
- private delay;
381
- /**
382
- * Schedule retry
383
- */
384
- private scheduleRetry;
385
- /**
386
- * Load from storage
387
- */
388
- private loadFromStorage;
389
- /**
390
- * Save to storage
391
- */
392
- private saveToStorage;
393
- /**
394
- * Get sync state
395
- */
396
- getSyncState(): SyncState;
397
- /**
398
- * Is online
399
- */
400
- isOnlineStatus(): boolean;
401
- /**
402
- * Get statistics
403
- */
404
- getStatistics(): CloudStatistics;
405
- /**
406
- * Get devices
407
- */
408
- getDevices(): DeviceInfo[];
409
- /**
410
- * Get current device ID
411
- */
412
- getCurrentDeviceId(): DeviceId;
413
- /**
414
- * Destroy cloud system
415
- */
416
- destroy(): void;
417
- }
418
- /**
419
- * Create cloud system instance
420
- */
421
- export declare function createCloudSystem(config?: Partial<CloudConfig>): NiceCloud;
422
- export default NiceCloud;
@@ -1,238 +0,0 @@
1
- /**
2
- * NiceCollision - Game Engine Collision Detection System
3
- *
4
- * Comprehensive collision detection supporting:
5
- * - AABB, Circle, OBB, Polygon colliders
6
- * - Spatial partitioning (Grid, QuadTree)
7
- * - Broad phase + Narrow phase detection
8
- * - Collision layers and masks
9
- * - Trigger vs solid collisions
10
- * - Raycasting and shape casting
11
- * - Collision manifolds with contact points
12
- * - Continuous collision detection (CCD)
13
- *
14
- * @packageDocumentation
15
- */
16
- import { EventEmitter } from 'events';
17
- export type ColliderId = string;
18
- export type LayerId = number;
19
- export type BodyId = string;
20
- export type ColliderType = 'aabb' | 'circle' | 'obb' | 'polygon' | 'capsule';
21
- export interface Vec2 {
22
- x: number;
23
- y: number;
24
- }
25
- export interface AABB {
26
- type: 'aabb';
27
- min: Vec2;
28
- max: Vec2;
29
- }
30
- export interface Circle {
31
- type: 'circle';
32
- center: Vec2;
33
- radius: number;
34
- }
35
- export interface OBB {
36
- type: 'obb';
37
- center: Vec2;
38
- halfExtents: Vec2;
39
- rotation: number;
40
- }
41
- export interface Polygon {
42
- type: 'polygon';
43
- vertices: Vec2[];
44
- center?: Vec2;
45
- }
46
- export interface Capsule {
47
- type: 'capsule';
48
- start: Vec2;
49
- end: Vec2;
50
- radius: number;
51
- }
52
- export type Shape = AABB | Circle | OBB | Polygon | Capsule;
53
- export interface Collider {
54
- id: ColliderId;
55
- bodyId: BodyId;
56
- shape: Shape;
57
- offset: Vec2;
58
- isTrigger: boolean;
59
- layer: LayerId;
60
- mask: number;
61
- userData?: unknown;
62
- enabled: boolean;
63
- }
64
- export interface CollisionBody {
65
- id: BodyId;
66
- position: Vec2;
67
- rotation: number;
68
- velocity: Vec2;
69
- colliders: ColliderId[];
70
- isStatic: boolean;
71
- userData?: unknown;
72
- enabled: boolean;
73
- }
74
- export interface ContactPoint {
75
- position: Vec2;
76
- normal: Vec2;
77
- penetration: number;
78
- }
79
- export interface CollisionManifold {
80
- colliderA: ColliderId;
81
- colliderB: ColliderId;
82
- bodyA: BodyId;
83
- bodyB: BodyId;
84
- contacts: ContactPoint[];
85
- normal: Vec2;
86
- penetration: number;
87
- isTrigger: boolean;
88
- }
89
- export interface RaycastHit {
90
- colliderId: ColliderId;
91
- bodyId: BodyId;
92
- point: Vec2;
93
- normal: Vec2;
94
- distance: number;
95
- fraction: number;
96
- }
97
- export interface ShapeCastHit extends RaycastHit {
98
- shape: Shape;
99
- }
100
- export type SpatialStructure = 'none' | 'grid' | 'quadtree';
101
- export interface GridCell {
102
- x: number;
103
- y: number;
104
- colliders: Set<ColliderId>;
105
- }
106
- export interface QuadTreeNode {
107
- bounds: AABB;
108
- colliders: Set<ColliderId>;
109
- children?: QuadTreeNode[];
110
- depth: number;
111
- }
112
- export type CollisionEventType = 'collision-enter' | 'collision-stay' | 'collision-exit' | 'trigger-enter' | 'trigger-stay' | 'trigger-exit';
113
- export interface CollisionEvent {
114
- type: CollisionEventType;
115
- manifold?: CollisionManifold;
116
- colliderA: ColliderId;
117
- colliderB: ColliderId;
118
- bodyA: BodyId;
119
- bodyB: BodyId;
120
- }
121
- export type CollisionEventCallback = (event: CollisionEvent) => void;
122
- export interface CollisionConfig {
123
- spatialStructure: SpatialStructure;
124
- gridCellSize: number;
125
- quadTreeMaxDepth: number;
126
- quadTreeMaxObjects: number;
127
- worldBounds: AABB;
128
- enableCCD: boolean;
129
- ccdIterations: number;
130
- maxCollisionPairs: number;
131
- }
132
- export declare const DEFAULT_COLLISION_CONFIG: CollisionConfig;
133
- export declare class NiceCollision extends EventEmitter {
134
- private config;
135
- private colliders;
136
- private bodies;
137
- private activeCollisions;
138
- private previousCollisions;
139
- private grid;
140
- private quadTree;
141
- private nextColliderId;
142
- private nextBodyId;
143
- private destroyed;
144
- constructor(config?: Partial<CollisionConfig>);
145
- private initializeSpatialStructure;
146
- private createQuadTreeNode;
147
- createBody(options?: {
148
- position?: Vec2;
149
- rotation?: number;
150
- velocity?: Vec2;
151
- isStatic?: boolean;
152
- userData?: unknown;
153
- }): BodyId;
154
- getBody(bodyId: BodyId): CollisionBody | undefined;
155
- removeBody(bodyId: BodyId): void;
156
- setBodyPosition(bodyId: BodyId, position: Vec2): void;
157
- setBodyRotation(bodyId: BodyId, rotation: number): void;
158
- setBodyVelocity(bodyId: BodyId, velocity: Vec2): void;
159
- setBodyEnabled(bodyId: BodyId, enabled: boolean): void;
160
- private updateBodyColliders;
161
- createCollider(bodyId: BodyId, shape: Shape, options?: {
162
- offset?: Vec2;
163
- isTrigger?: boolean;
164
- layer?: LayerId;
165
- mask?: number;
166
- userData?: unknown;
167
- }): ColliderId;
168
- getCollider(colliderId: ColliderId): Collider | undefined;
169
- removeCollider(colliderId: ColliderId): void;
170
- setColliderEnabled(colliderId: ColliderId, enabled: boolean): void;
171
- createAABB(width: number, height: number, centerOffset?: Vec2): AABB;
172
- createCircle(radius: number, centerOffset?: Vec2): Circle;
173
- createOBB(width: number, height: number, rotation?: number): OBB;
174
- createPolygon(vertices: Vec2[]): Polygon;
175
- createCapsule(length: number, radius: number): Capsule;
176
- private getColliderWorldBounds;
177
- private getWorldShape;
178
- private getShapeBounds;
179
- private getOBBCorners;
180
- private insertIntoSpatialStructure;
181
- private removeFromSpatialStructure;
182
- private updateSpatialStructure;
183
- private getCellKey;
184
- private insertIntoGrid;
185
- private removeFromGrid;
186
- private insertIntoQuadTree;
187
- private insertIntoQuadTreeNode;
188
- private subdivideQuadTree;
189
- private removeFromQuadTree;
190
- private removeFromQuadTreeNode;
191
- update(): CollisionManifold[];
192
- private getPairKey;
193
- private broadPhase;
194
- private queryQuadTreePairs;
195
- private shouldCheckPair;
196
- private narrowPhase;
197
- private testShapes;
198
- private testAABBvsAABB;
199
- private aabbIntersects;
200
- private testCircleVsCircle;
201
- private testAABBvsCircle;
202
- private testOBBvsShape;
203
- private testPolygonVsShape;
204
- private testCapsuleVsShape;
205
- private testCapsuleVsCapsule;
206
- private testCapsuleVsCircle;
207
- private closestPointOnSegment;
208
- private closestPointsOnSegments;
209
- private getShapeAxes;
210
- private projectShape;
211
- private getOverlap;
212
- private getShapeCenter;
213
- private emitCollisionEvents;
214
- raycast(origin: Vec2, direction: Vec2, maxDistance?: number, layerMask?: number): RaycastHit[];
215
- private raycastShape;
216
- private raycastAABB;
217
- private raycastCircle;
218
- private raycastOBB;
219
- private raycastPolygon;
220
- private raycastSegment;
221
- private raycastCapsule;
222
- queryPoint(point: Vec2, layerMask?: number): ColliderId[];
223
- private pointInShape;
224
- private pointInPolygon;
225
- queryAABB(aabb: AABB, layerMask?: number): ColliderId[];
226
- queryCircle(center: Vec2, radius: number, layerMask?: number): ColliderId[];
227
- getStats(): {
228
- bodies: number;
229
- colliders: number;
230
- activeCollisions: number;
231
- gridCells: number;
232
- };
233
- clear(): void;
234
- on(event: 'collision', callback: CollisionEventCallback): this;
235
- off(event: 'collision', callback: CollisionEventCallback): this;
236
- destroy(): void;
237
- }
238
- export declare function createCollisionSystem(config?: Partial<CollisionConfig>): NiceCollision;