@nice2dev/game-engine 1.1.7 → 1.1.9

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 (487) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/cjs/devtools/DeveloperExperience.js +5 -5
  3. package/dist/cjs/dialogue/DialogueSystem.js +1 -1
  4. package/dist/cjs/editor/AssetBrowser.js +26 -25
  5. package/dist/cjs/editor/NiceGameEditor.js +66 -49
  6. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js +33 -32
  7. package/dist/cjs/i18n/I18n.js +305 -0
  8. package/dist/cjs/kids/KidMode.js +36 -36
  9. package/dist/cjs/kids/KidTools.js +31 -31
  10. package/dist/cjs/native-engine/InputSystem.js +9 -2
  11. package/dist/cjs/plugins/PluginSDK.js +1 -1
  12. package/dist/cjs/plugins/PluginTestKit.js +1 -1
  13. package/dist/cjs/quest/QuestSystem.js +5 -1
  14. package/dist/cjs/tutorials/TutorialBranching.js +12 -12
  15. package/dist/cjs/tutorials/TutorialEngine.js +35 -35
  16. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +75 -75
  17. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +24 -24
  18. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +33 -33
  19. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  20. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js +28 -27
  21. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  22. package/dist/esm/devtools/DeveloperExperience.js +5 -5
  23. package/dist/esm/dialogue/DialogueSystem.js +1 -1
  24. package/dist/esm/editor/AssetBrowser.js +26 -25
  25. package/dist/esm/editor/NiceGameEditor.js +67 -50
  26. package/dist/esm/godot-integration/components/GodotProjectBrowser.js +33 -32
  27. package/dist/esm/i18n/I18n.js +305 -0
  28. package/dist/esm/kids/KidMode.js +36 -36
  29. package/dist/esm/kids/KidTools.js +31 -31
  30. package/dist/esm/native-engine/InputSystem.js +9 -2
  31. package/dist/esm/plugins/PluginSDK.js +1 -1
  32. package/dist/esm/plugins/PluginTestKit.js +1 -1
  33. package/dist/esm/quest/QuestSystem.js +5 -1
  34. package/dist/esm/tutorials/TutorialBranching.js +12 -12
  35. package/dist/esm/tutorials/TutorialEngine.js +35 -35
  36. package/dist/esm/tutorials/content/Tutorials_T05_T08.js +75 -75
  37. package/dist/esm/tutorials/content/Tutorials_T09_T11.js +24 -24
  38. package/dist/esm/tutorials/content/Tutorials_T12_T15.js +33 -33
  39. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js +25 -24
  40. package/dist/esm/unity-integration/components/UnityProjectBrowser.js +28 -27
  41. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js +31 -30
  42. package/dist/types/editor/AssetBrowser.d.ts +1 -0
  43. package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +2 -1
  44. package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +1 -0
  45. package/dist/types/kids/KidMode.d.ts +4 -2
  46. package/dist/types/kids/KidTools.d.ts +1 -1
  47. package/dist/types/tutorials/TutorialBranching.d.ts +1 -1
  48. package/package.json +3 -2
  49. package/dist/cjs/accessibility/Accessibility.js.map +0 -1
  50. package/dist/cjs/ai/AI.js.map +0 -1
  51. package/dist/cjs/ai/BehaviorTree.js.map +0 -1
  52. package/dist/cjs/ai/StateMachine.js.map +0 -1
  53. package/dist/cjs/animation/Animation.js.map +0 -1
  54. package/dist/cjs/audio/AudioAdvanced.js.map +0 -1
  55. package/dist/cjs/audio/AudioBridge.js.map +0 -1
  56. package/dist/cjs/audio/AudioManager.js.map +0 -1
  57. package/dist/cjs/build-cloud/BuildOrchestration.js.map +0 -1
  58. package/dist/cjs/build-cloud/GodotBuildCloud.js.map +0 -1
  59. package/dist/cjs/build-cloud/UnityBuildCloud.js.map +0 -1
  60. package/dist/cjs/build-cloud/UnrealBuildCloud.js.map +0 -1
  61. package/dist/cjs/core/EventBus.js.map +0 -1
  62. package/dist/cjs/core/GameClock.js.map +0 -1
  63. package/dist/cjs/core/GameConfig.js.map +0 -1
  64. package/dist/cjs/core/GameLoop.js.map +0 -1
  65. package/dist/cjs/core/ServiceLocator.js.map +0 -1
  66. package/dist/cjs/core/Validation.js.map +0 -1
  67. package/dist/cjs/core/math.js.map +0 -1
  68. package/dist/cjs/devtools/DevTools.js.map +0 -1
  69. package/dist/cjs/devtools/DeveloperExperience.js.map +0 -1
  70. package/dist/cjs/devtools/GameplayAnalytics.js.map +0 -1
  71. package/dist/cjs/dialogue/DialogueSystem.js.map +0 -1
  72. package/dist/cjs/docs/DocGenerator.js.map +0 -1
  73. package/dist/cjs/ecs/World.js.map +0 -1
  74. package/dist/cjs/editor/AchievementEditor.js.map +0 -1
  75. package/dist/cjs/editor/AdvancedEditor.js.map +0 -1
  76. package/dist/cjs/editor/AnimationRetargeting.js.map +0 -1
  77. package/dist/cjs/editor/AssetBrowser.js.map +0 -1
  78. package/dist/cjs/editor/AssetManager.js.map +0 -1
  79. package/dist/cjs/editor/ConsolePro.js.map +0 -1
  80. package/dist/cjs/editor/CraftingEditor.js.map +0 -1
  81. package/dist/cjs/editor/DebugTools.js.map +0 -1
  82. package/dist/cjs/editor/DialogueSystem.js.map +0 -1
  83. package/dist/cjs/editor/LeaderboardSystem.js.map +0 -1
  84. package/dist/cjs/editor/NiceGameEditor.js.map +0 -1
  85. package/dist/cjs/editor/PrefabSystem.js.map +0 -1
  86. package/dist/cjs/editor/ProfilerPanel.js.map +0 -1
  87. package/dist/cjs/editor/QuestEditor.js.map +0 -1
  88. package/dist/cjs/editor/ReplaySystem.js.map +0 -1
  89. package/dist/cjs/editor/SceneEditor.js.map +0 -1
  90. package/dist/cjs/editor/ScreenshotMode.js.map +0 -1
  91. package/dist/cjs/editor/ShaderGraph.js.map +0 -1
  92. package/dist/cjs/editor/TimelineEditor.js.map +0 -1
  93. package/dist/cjs/editor/UndoRedoPro.js.map +0 -1
  94. package/dist/cjs/editor/VRARMode.js.map +0 -1
  95. package/dist/cjs/engine/NiceGameEngine.js.map +0 -1
  96. package/dist/cjs/engine/SaveSystem.js.map +0 -1
  97. package/dist/cjs/engine/SaveSystemV2.js +0 -530
  98. package/dist/cjs/engine/SaveSystemV2.js.map +0 -1
  99. package/dist/cjs/enterprise/Enterprise.js.map +0 -1
  100. package/dist/cjs/export/BevyExporter.js.map +0 -1
  101. package/dist/cjs/export/CocosExporter.js.map +0 -1
  102. package/dist/cjs/export/Construct3Exporter.js.map +0 -1
  103. package/dist/cjs/export/DefoldExporter.js.map +0 -1
  104. package/dist/cjs/export/GDevelopExporter.js.map +0 -1
  105. package/dist/cjs/export/GameMakerExporter.js.map +0 -1
  106. package/dist/cjs/export/GodotExporter.js.map +0 -1
  107. package/dist/cjs/export/MinecraftBedrockExporter.js.map +0 -1
  108. package/dist/cjs/export/MonoGameExporter.js.map +0 -1
  109. package/dist/cjs/export/Pico8Exporter.js.map +0 -1
  110. package/dist/cjs/export/PlatformExporter.js.map +0 -1
  111. package/dist/cjs/export/RPGMakerExporter.js.map +0 -1
  112. package/dist/cjs/export/RobloxExporter.js.map +0 -1
  113. package/dist/cjs/export/Solar2DExporter.js.map +0 -1
  114. package/dist/cjs/export/ThreeJSExporter.js.map +0 -1
  115. package/dist/cjs/export/Tic80Exporter.js.map +0 -1
  116. package/dist/cjs/export/UnityExporter.js.map +0 -1
  117. package/dist/cjs/export/UnrealExporter.js.map +0 -1
  118. package/dist/cjs/export/WebExporter.js.map +0 -1
  119. package/dist/cjs/export/index.js.map +0 -1
  120. package/dist/cjs/godot-integration/GodotAssetLibrary.js.map +0 -1
  121. package/dist/cjs/godot-integration/GodotImport.js.map +0 -1
  122. package/dist/cjs/godot-integration/GodotLiveLink.js.map +0 -1
  123. package/dist/cjs/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  124. package/dist/cjs/i18n/I18n.js.map +0 -1
  125. package/dist/cjs/i18n/useTranslation.js.map +0 -1
  126. package/dist/cjs/import/AsepriteImporter.js.map +0 -1
  127. package/dist/cjs/import/DragonBonesImporter.js.map +0 -1
  128. package/dist/cjs/import/GameMakerImporter.js.map +0 -1
  129. package/dist/cjs/import/GodotSceneImporter.js.map +0 -1
  130. package/dist/cjs/import/LDtkImporter.js.map +0 -1
  131. package/dist/cjs/import/Live2DImporter.js.map +0 -1
  132. package/dist/cjs/import/NdgFormat.js.map +0 -1
  133. package/dist/cjs/import/OgmoImporter.js.map +0 -1
  134. package/dist/cjs/import/RPGMakerImporter.js.map +0 -1
  135. package/dist/cjs/import/SceneImporter.js.map +0 -1
  136. package/dist/cjs/import/SpineImporter.js.map +0 -1
  137. package/dist/cjs/import/SpriterImporter.js.map +0 -1
  138. package/dist/cjs/import/TiledMapImporter.js.map +0 -1
  139. package/dist/cjs/import/UnitySceneImporter.js.map +0 -1
  140. package/dist/cjs/import/index.js.map +0 -1
  141. package/dist/cjs/index.js.map +0 -1
  142. package/dist/cjs/input/GamepadNavigation.js.map +0 -1
  143. package/dist/cjs/input/InputManager.js.map +0 -1
  144. package/dist/cjs/input/useGamepads.js.map +0 -1
  145. package/dist/cjs/integration/IconSprite.js.map +0 -1
  146. package/dist/cjs/inventory/InventorySystem.js.map +0 -1
  147. package/dist/cjs/kids/KidMode.js.map +0 -1
  148. package/dist/cjs/kids/KidTools.js.map +0 -1
  149. package/dist/cjs/monetization/Monetization.js.map +0 -1
  150. package/dist/cjs/multiplayer/LocalMultiplayer.js.map +0 -1
  151. package/dist/cjs/multiplayer/MiniGameTypes.js.map +0 -1
  152. package/dist/cjs/native-engine/AssetPipeline.js.map +0 -1
  153. package/dist/cjs/native-engine/AudioEngine.js.map +0 -1
  154. package/dist/cjs/native-engine/InputSystem.js.map +0 -1
  155. package/dist/cjs/native-engine/NetworkingSystem.js.map +0 -1
  156. package/dist/cjs/native-engine/PhysicsEngine.js.map +0 -1
  157. package/dist/cjs/native-engine/RenderingEngine.js.map +0 -1
  158. package/dist/cjs/native-engine/SceneGraph.js.map +0 -1
  159. package/dist/cjs/network/MultiplayerTransport.js.map +0 -1
  160. package/dist/cjs/network/Networking.js.map +0 -1
  161. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  162. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  163. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  164. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  165. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  166. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  167. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  168. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  169. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  170. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  171. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  172. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  173. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  174. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  175. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  176. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  177. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  178. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  179. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  180. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  181. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  182. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  183. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  184. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  185. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  186. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  187. package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  188. package/dist/cjs/pathfinding/Pathfinding.js.map +0 -1
  189. package/dist/cjs/performance/AssetStreaming.js.map +0 -1
  190. package/dist/cjs/performance/BenchmarkSuite.js.map +0 -1
  191. package/dist/cjs/performance/DeltaCompression.js.map +0 -1
  192. package/dist/cjs/performance/DeterministicPhysics.js.map +0 -1
  193. package/dist/cjs/performance/ECSOptimization.js.map +0 -1
  194. package/dist/cjs/performance/GameSaveSystem.js.map +0 -1
  195. package/dist/cjs/performance/HotReload.js.map +0 -1
  196. package/dist/cjs/performance/InputRecording.js.map +0 -1
  197. package/dist/cjs/performance/InterestManagement.js.map +0 -1
  198. package/dist/cjs/performance/LocalizationRuntime.js.map +0 -1
  199. package/dist/cjs/performance/MemoryManagement.js.map +0 -1
  200. package/dist/cjs/performance/ModSupport.js.map +0 -1
  201. package/dist/cjs/performance/MultiThreadedPhysics.js.map +0 -1
  202. package/dist/cjs/performance/NetworkPrediction.js.map +0 -1
  203. package/dist/cjs/performance/ObjectPooling.js.map +0 -1
  204. package/dist/cjs/performance/Performance.js.map +0 -1
  205. package/dist/cjs/performance/PerformanceAdvanced.js.map +0 -1
  206. package/dist/cjs/performance/SaveSystem.js +0 -574
  207. package/dist/cjs/performance/SaveSystem.js.map +0 -1
  208. package/dist/cjs/performance/WebGPURenderer.js.map +0 -1
  209. package/dist/cjs/physics/PhysicsAdvanced.js.map +0 -1
  210. package/dist/cjs/physics/PhysicsEngine2D.js.map +0 -1
  211. package/dist/cjs/plugins/PluginSDK.js.map +0 -1
  212. package/dist/cjs/plugins/PluginTestKit.js.map +0 -1
  213. package/dist/cjs/procedural/Procedural.js.map +0 -1
  214. package/dist/cjs/procedural/WorldBuilding.js.map +0 -1
  215. package/dist/cjs/quest/QuestSystem.js.map +0 -1
  216. package/dist/cjs/release/MobileExport.js.map +0 -1
  217. package/dist/cjs/release/Release.js.map +0 -1
  218. package/dist/cjs/rendering/Camera2D.js.map +0 -1
  219. package/dist/cjs/rendering/Renderer2D.js.map +0 -1
  220. package/dist/cjs/rendering/WebGPURenderPipeline.js.map +0 -1
  221. package/dist/cjs/runtime3d/Runtime3D.js.map +0 -1
  222. package/dist/cjs/runtime3d/SceneEditor3D.js.map +0 -1
  223. package/dist/cjs/scene/SceneManager.js.map +0 -1
  224. package/dist/cjs/scripting/GraphToAST.js.map +0 -1
  225. package/dist/cjs/scripting/LanguageExporter.js.map +0 -1
  226. package/dist/cjs/scripting/NodeGraph.js.map +0 -1
  227. package/dist/cjs/scripting/ScriptAST.js.map +0 -1
  228. package/dist/cjs/scripting/VisualScripting2.js.map +0 -1
  229. package/dist/cjs/scripting/exporters/CSharpExporter.js.map +0 -1
  230. package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +0 -1
  231. package/dist/cjs/scripting/exporters/LuaExporter.js.map +0 -1
  232. package/dist/cjs/scripting/exporters/PythonExporter.js.map +0 -1
  233. package/dist/cjs/scripting/exporters/RustExporter.js.map +0 -1
  234. package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +0 -1
  235. package/dist/cjs/social/Social.js.map +0 -1
  236. package/dist/cjs/systems/LightingSystem.js.map +0 -1
  237. package/dist/cjs/systems/ParticleSystem2.js.map +0 -1
  238. package/dist/cjs/systems/PhysicsDebugSystem.js.map +0 -1
  239. package/dist/cjs/systems/TerrainSystem.js.map +0 -1
  240. package/dist/cjs/templates/ActionTemplates.js.map +0 -1
  241. package/dist/cjs/templates/FightingTemplate.js.map +0 -1
  242. package/dist/cjs/templates/MetroidvaniaTemplate.js.map +0 -1
  243. package/dist/cjs/templates/PartyTemplates.js.map +0 -1
  244. package/dist/cjs/templates/PuzzleTemplates.js.map +0 -1
  245. package/dist/cjs/templates/RPGTemplates.js.map +0 -1
  246. package/dist/cjs/templates/SportsTemplates.js.map +0 -1
  247. package/dist/cjs/templates/StrategyTemplates.js.map +0 -1
  248. package/dist/cjs/templates/SurvivalTemplate.js.map +0 -1
  249. package/dist/cjs/templates/WaveDefense.js.map +0 -1
  250. package/dist/cjs/tilemap/Tilemap.js.map +0 -1
  251. package/dist/cjs/tutorials/TutorialBranching.js.map +0 -1
  252. package/dist/cjs/tutorials/TutorialEngine.js.map +0 -1
  253. package/dist/cjs/tutorials/TutorialOverlay.js.map +0 -1
  254. package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  255. package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  256. package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  257. package/dist/cjs/ui/GameUI.js.map +0 -1
  258. package/dist/cjs/unity-integration/UnityAssetStore.js.map +0 -1
  259. package/dist/cjs/unity-integration/UnityImport.js.map +0 -1
  260. package/dist/cjs/unity-integration/UnityLiveLink.js.map +0 -1
  261. package/dist/cjs/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  262. package/dist/cjs/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  263. package/dist/cjs/unreal-integration/UnrealImport.js.map +0 -1
  264. package/dist/cjs/unreal-integration/UnrealLiveLink.js.map +0 -1
  265. package/dist/cjs/unreal-integration/UnrealMarketplace.js.map +0 -1
  266. package/dist/cjs/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  267. package/dist/cjs/xr/ARVR.js.map +0 -1
  268. package/dist/esm/accessibility/Accessibility.js.map +0 -1
  269. package/dist/esm/ai/AI.js.map +0 -1
  270. package/dist/esm/ai/BehaviorTree.js.map +0 -1
  271. package/dist/esm/ai/StateMachine.js.map +0 -1
  272. package/dist/esm/animation/Animation.js.map +0 -1
  273. package/dist/esm/audio/AudioAdvanced.js.map +0 -1
  274. package/dist/esm/audio/AudioBridge.js.map +0 -1
  275. package/dist/esm/audio/AudioManager.js.map +0 -1
  276. package/dist/esm/build-cloud/BuildOrchestration.js.map +0 -1
  277. package/dist/esm/build-cloud/GodotBuildCloud.js.map +0 -1
  278. package/dist/esm/build-cloud/UnityBuildCloud.js.map +0 -1
  279. package/dist/esm/build-cloud/UnrealBuildCloud.js.map +0 -1
  280. package/dist/esm/core/EventBus.js.map +0 -1
  281. package/dist/esm/core/GameClock.js.map +0 -1
  282. package/dist/esm/core/GameConfig.js.map +0 -1
  283. package/dist/esm/core/GameLoop.js.map +0 -1
  284. package/dist/esm/core/ServiceLocator.js.map +0 -1
  285. package/dist/esm/core/Validation.js.map +0 -1
  286. package/dist/esm/core/math.js.map +0 -1
  287. package/dist/esm/devtools/DevTools.js.map +0 -1
  288. package/dist/esm/devtools/DeveloperExperience.js.map +0 -1
  289. package/dist/esm/devtools/GameplayAnalytics.js.map +0 -1
  290. package/dist/esm/dialogue/DialogueSystem.js.map +0 -1
  291. package/dist/esm/docs/DocGenerator.js.map +0 -1
  292. package/dist/esm/ecs/World.js.map +0 -1
  293. package/dist/esm/editor/AchievementEditor.js.map +0 -1
  294. package/dist/esm/editor/AdvancedEditor.js.map +0 -1
  295. package/dist/esm/editor/AnimationRetargeting.js.map +0 -1
  296. package/dist/esm/editor/AssetBrowser.js.map +0 -1
  297. package/dist/esm/editor/AssetManager.js.map +0 -1
  298. package/dist/esm/editor/ConsolePro.js.map +0 -1
  299. package/dist/esm/editor/CraftingEditor.js.map +0 -1
  300. package/dist/esm/editor/DebugTools.js.map +0 -1
  301. package/dist/esm/editor/DialogueSystem.js.map +0 -1
  302. package/dist/esm/editor/LeaderboardSystem.js.map +0 -1
  303. package/dist/esm/editor/NiceGameEditor.js.map +0 -1
  304. package/dist/esm/editor/PrefabSystem.js.map +0 -1
  305. package/dist/esm/editor/ProfilerPanel.js.map +0 -1
  306. package/dist/esm/editor/QuestEditor.js.map +0 -1
  307. package/dist/esm/editor/ReplaySystem.js.map +0 -1
  308. package/dist/esm/editor/SceneEditor.js.map +0 -1
  309. package/dist/esm/editor/ScreenshotMode.js.map +0 -1
  310. package/dist/esm/editor/ShaderGraph.js.map +0 -1
  311. package/dist/esm/editor/TimelineEditor.js.map +0 -1
  312. package/dist/esm/editor/UndoRedoPro.js.map +0 -1
  313. package/dist/esm/editor/VRARMode.js.map +0 -1
  314. package/dist/esm/engine/NiceGameEngine.js.map +0 -1
  315. package/dist/esm/engine/SaveSystem.js.map +0 -1
  316. package/dist/esm/engine/SaveSystemV2.js +0 -523
  317. package/dist/esm/engine/SaveSystemV2.js.map +0 -1
  318. package/dist/esm/enterprise/Enterprise.js.map +0 -1
  319. package/dist/esm/export/BevyExporter.js.map +0 -1
  320. package/dist/esm/export/CocosExporter.js.map +0 -1
  321. package/dist/esm/export/Construct3Exporter.js.map +0 -1
  322. package/dist/esm/export/DefoldExporter.js.map +0 -1
  323. package/dist/esm/export/GDevelopExporter.js.map +0 -1
  324. package/dist/esm/export/GameMakerExporter.js.map +0 -1
  325. package/dist/esm/export/GodotExporter.js.map +0 -1
  326. package/dist/esm/export/MinecraftBedrockExporter.js.map +0 -1
  327. package/dist/esm/export/MonoGameExporter.js.map +0 -1
  328. package/dist/esm/export/Pico8Exporter.js.map +0 -1
  329. package/dist/esm/export/PlatformExporter.js.map +0 -1
  330. package/dist/esm/export/RPGMakerExporter.js.map +0 -1
  331. package/dist/esm/export/RobloxExporter.js.map +0 -1
  332. package/dist/esm/export/Solar2DExporter.js.map +0 -1
  333. package/dist/esm/export/ThreeJSExporter.js.map +0 -1
  334. package/dist/esm/export/Tic80Exporter.js.map +0 -1
  335. package/dist/esm/export/UnityExporter.js.map +0 -1
  336. package/dist/esm/export/UnrealExporter.js.map +0 -1
  337. package/dist/esm/export/WebExporter.js.map +0 -1
  338. package/dist/esm/export/index.js.map +0 -1
  339. package/dist/esm/godot-integration/GodotAssetLibrary.js.map +0 -1
  340. package/dist/esm/godot-integration/GodotImport.js.map +0 -1
  341. package/dist/esm/godot-integration/GodotLiveLink.js.map +0 -1
  342. package/dist/esm/godot-integration/components/GodotProjectBrowser.js.map +0 -1
  343. package/dist/esm/i18n/I18n.js.map +0 -1
  344. package/dist/esm/i18n/useTranslation.js.map +0 -1
  345. package/dist/esm/import/AsepriteImporter.js.map +0 -1
  346. package/dist/esm/import/DragonBonesImporter.js.map +0 -1
  347. package/dist/esm/import/GameMakerImporter.js.map +0 -1
  348. package/dist/esm/import/GodotSceneImporter.js.map +0 -1
  349. package/dist/esm/import/LDtkImporter.js.map +0 -1
  350. package/dist/esm/import/Live2DImporter.js.map +0 -1
  351. package/dist/esm/import/NdgFormat.js.map +0 -1
  352. package/dist/esm/import/OgmoImporter.js.map +0 -1
  353. package/dist/esm/import/RPGMakerImporter.js.map +0 -1
  354. package/dist/esm/import/SceneImporter.js.map +0 -1
  355. package/dist/esm/import/SpineImporter.js.map +0 -1
  356. package/dist/esm/import/SpriterImporter.js.map +0 -1
  357. package/dist/esm/import/TiledMapImporter.js.map +0 -1
  358. package/dist/esm/import/UnitySceneImporter.js.map +0 -1
  359. package/dist/esm/import/index.js.map +0 -1
  360. package/dist/esm/index.js.map +0 -1
  361. package/dist/esm/input/GamepadNavigation.js.map +0 -1
  362. package/dist/esm/input/InputManager.js.map +0 -1
  363. package/dist/esm/input/useGamepads.js.map +0 -1
  364. package/dist/esm/integration/IconSprite.js.map +0 -1
  365. package/dist/esm/inventory/InventorySystem.js.map +0 -1
  366. package/dist/esm/kids/KidMode.js.map +0 -1
  367. package/dist/esm/kids/KidTools.js.map +0 -1
  368. package/dist/esm/monetization/Monetization.js.map +0 -1
  369. package/dist/esm/multiplayer/LocalMultiplayer.js.map +0 -1
  370. package/dist/esm/multiplayer/MiniGameTypes.js.map +0 -1
  371. package/dist/esm/native-engine/AssetPipeline.js.map +0 -1
  372. package/dist/esm/native-engine/AudioEngine.js.map +0 -1
  373. package/dist/esm/native-engine/InputSystem.js.map +0 -1
  374. package/dist/esm/native-engine/NetworkingSystem.js.map +0 -1
  375. package/dist/esm/native-engine/PhysicsEngine.js.map +0 -1
  376. package/dist/esm/native-engine/RenderingEngine.js.map +0 -1
  377. package/dist/esm/native-engine/SceneGraph.js.map +0 -1
  378. package/dist/esm/network/MultiplayerTransport.js.map +0 -1
  379. package/dist/esm/network/Networking.js.map +0 -1
  380. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +0 -1
  381. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +0 -1
  382. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +0 -1
  383. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +0 -1
  384. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +0 -1
  385. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +0 -1
  386. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +0 -1
  387. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +0 -1
  388. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +0 -1
  389. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +0 -1
  390. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +0 -1
  391. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +0 -1
  392. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +0 -1
  393. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +0 -1
  394. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +0 -1
  395. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +0 -1
  396. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +0 -1
  397. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +0 -1
  398. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +0 -1
  399. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +0 -1
  400. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +0 -1
  401. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +0 -1
  402. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +0 -1
  403. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +0 -1
  404. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +0 -1
  405. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +0 -1
  406. package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +0 -1
  407. package/dist/esm/pathfinding/Pathfinding.js.map +0 -1
  408. package/dist/esm/performance/AssetStreaming.js.map +0 -1
  409. package/dist/esm/performance/BenchmarkSuite.js.map +0 -1
  410. package/dist/esm/performance/DeltaCompression.js.map +0 -1
  411. package/dist/esm/performance/DeterministicPhysics.js.map +0 -1
  412. package/dist/esm/performance/ECSOptimization.js.map +0 -1
  413. package/dist/esm/performance/GameSaveSystem.js.map +0 -1
  414. package/dist/esm/performance/HotReload.js.map +0 -1
  415. package/dist/esm/performance/InputRecording.js.map +0 -1
  416. package/dist/esm/performance/InterestManagement.js.map +0 -1
  417. package/dist/esm/performance/LocalizationRuntime.js.map +0 -1
  418. package/dist/esm/performance/MemoryManagement.js.map +0 -1
  419. package/dist/esm/performance/ModSupport.js.map +0 -1
  420. package/dist/esm/performance/MultiThreadedPhysics.js.map +0 -1
  421. package/dist/esm/performance/NetworkPrediction.js.map +0 -1
  422. package/dist/esm/performance/ObjectPooling.js.map +0 -1
  423. package/dist/esm/performance/Performance.js.map +0 -1
  424. package/dist/esm/performance/PerformanceAdvanced.js.map +0 -1
  425. package/dist/esm/performance/SaveSystem.js +0 -567
  426. package/dist/esm/performance/SaveSystem.js.map +0 -1
  427. package/dist/esm/performance/WebGPURenderer.js.map +0 -1
  428. package/dist/esm/physics/PhysicsAdvanced.js.map +0 -1
  429. package/dist/esm/physics/PhysicsEngine2D.js.map +0 -1
  430. package/dist/esm/plugins/PluginSDK.js.map +0 -1
  431. package/dist/esm/plugins/PluginTestKit.js.map +0 -1
  432. package/dist/esm/procedural/Procedural.js.map +0 -1
  433. package/dist/esm/procedural/WorldBuilding.js.map +0 -1
  434. package/dist/esm/quest/QuestSystem.js.map +0 -1
  435. package/dist/esm/release/MobileExport.js.map +0 -1
  436. package/dist/esm/release/Release.js.map +0 -1
  437. package/dist/esm/rendering/Camera2D.js.map +0 -1
  438. package/dist/esm/rendering/Renderer2D.js.map +0 -1
  439. package/dist/esm/rendering/WebGPURenderPipeline.js.map +0 -1
  440. package/dist/esm/runtime3d/Runtime3D.js.map +0 -1
  441. package/dist/esm/runtime3d/SceneEditor3D.js.map +0 -1
  442. package/dist/esm/scene/SceneManager.js.map +0 -1
  443. package/dist/esm/scripting/GraphToAST.js.map +0 -1
  444. package/dist/esm/scripting/LanguageExporter.js.map +0 -1
  445. package/dist/esm/scripting/NodeGraph.js.map +0 -1
  446. package/dist/esm/scripting/ScriptAST.js.map +0 -1
  447. package/dist/esm/scripting/VisualScripting2.js.map +0 -1
  448. package/dist/esm/scripting/exporters/CSharpExporter.js.map +0 -1
  449. package/dist/esm/scripting/exporters/GDScriptExporter.js.map +0 -1
  450. package/dist/esm/scripting/exporters/LuaExporter.js.map +0 -1
  451. package/dist/esm/scripting/exporters/PythonExporter.js.map +0 -1
  452. package/dist/esm/scripting/exporters/RustExporter.js.map +0 -1
  453. package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +0 -1
  454. package/dist/esm/social/Social.js.map +0 -1
  455. package/dist/esm/systems/LightingSystem.js.map +0 -1
  456. package/dist/esm/systems/ParticleSystem2.js.map +0 -1
  457. package/dist/esm/systems/PhysicsDebugSystem.js.map +0 -1
  458. package/dist/esm/systems/TerrainSystem.js.map +0 -1
  459. package/dist/esm/templates/ActionTemplates.js.map +0 -1
  460. package/dist/esm/templates/FightingTemplate.js.map +0 -1
  461. package/dist/esm/templates/MetroidvaniaTemplate.js.map +0 -1
  462. package/dist/esm/templates/PartyTemplates.js.map +0 -1
  463. package/dist/esm/templates/PuzzleTemplates.js.map +0 -1
  464. package/dist/esm/templates/RPGTemplates.js.map +0 -1
  465. package/dist/esm/templates/SportsTemplates.js.map +0 -1
  466. package/dist/esm/templates/StrategyTemplates.js.map +0 -1
  467. package/dist/esm/templates/SurvivalTemplate.js.map +0 -1
  468. package/dist/esm/templates/WaveDefense.js.map +0 -1
  469. package/dist/esm/tilemap/Tilemap.js.map +0 -1
  470. package/dist/esm/tutorials/TutorialBranching.js.map +0 -1
  471. package/dist/esm/tutorials/TutorialEngine.js.map +0 -1
  472. package/dist/esm/tutorials/TutorialOverlay.js.map +0 -1
  473. package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +0 -1
  474. package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +0 -1
  475. package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +0 -1
  476. package/dist/esm/ui/GameUI.js.map +0 -1
  477. package/dist/esm/unity-integration/UnityAssetStore.js.map +0 -1
  478. package/dist/esm/unity-integration/UnityImport.js.map +0 -1
  479. package/dist/esm/unity-integration/UnityLiveLink.js.map +0 -1
  480. package/dist/esm/unity-integration/components/UnityAssetStoreBrowser.js.map +0 -1
  481. package/dist/esm/unity-integration/components/UnityProjectBrowser.js.map +0 -1
  482. package/dist/esm/unreal-integration/UnrealImport.js.map +0 -1
  483. package/dist/esm/unreal-integration/UnrealLiveLink.js.map +0 -1
  484. package/dist/esm/unreal-integration/UnrealMarketplace.js.map +0 -1
  485. package/dist/esm/unreal-integration/components/UnrealProjectBrowser.js.map +0 -1
  486. package/dist/esm/xr/ARVR.js.map +0 -1
  487. package/dist/types/engine/SaveSystemV2.d.ts +0 -155
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObjectPooling.js","sources":["../../../src/performance/ObjectPooling.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Performance.js","sources":["../../../src/performance/Performance.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PerformanceAdvanced.js","sources":["../../../src/performance/PerformanceAdvanced.ts"],"sourcesContent":[null],"names":["EventBus"],"mappings":";;;;AAAA;;;;;AAKmE;AAkCnE,MAAM,qBAAqB,GAAsB;AAC/C,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,WAAW,EAAE;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACD,IAAA,gBAAgB,EAAE,GAAG;AACrB,IAAA,YAAY,EAAE,EAAE;CACjB;MAEY,kBAAkB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAmC,EAAA;AAXtC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAIA,iBAAQ,EAAE;AAExB,QAAA,IAAA,CAAA,YAAY,GAAwB,IAAI,GAAG,EAAE;QAC7C,IAAA,CAAA,OAAO,GAA0B,EAAE;QACnC,IAAA,CAAA,UAAU,GAAG,CAAC;AACd,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,GAAG,EAAE;;QAG3C,IAAA,CAAA,aAAa,GAAa,EAAE;AAC5B,QAAA,IAAA,CAAA,iBAAiB,GAA0B,IAAI,GAAG,EAAE;QAG1D,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,EAAE;AACrD,QAAA,IAAI,MAAM,EAAE,WAAW,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,GAAG,qBAAqB,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE;QAC3F;IACF;;AAGA,IAAA,cAAc,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;IAC9C;;AAGA,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACvC,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB;QACF;QACA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;AACzE,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B;;IAGA,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,EAAE;QACjB,MAAM,UAAU,GAAmB,EAAE;QACrC,IAAI,OAAO,GAAG,CAAC;QAEf,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;AAC9C,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,UAAU;AACvD,YAAA,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ;AACpC,YAAA,MAAM,WAAW,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,IAAI,GAAG,GAAG,CAAC;YAEhE,UAAU,CAAC,IAAI,CAAC;AACd,gBAAA,SAAS,EAAE,IAAI;gBACf,QAAQ;AACR,gBAAA,QAAQ,EAAE,MAAM;gBAChB,UAAU;AACV,gBAAA,kBAAkB,EAAE,WAAW;AAChC,aAAA,CAAC;YAEF,OAAO,IAAI,MAAM;;YAGjB,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,GAAG,EAAE;gBACR,GAAG,GAAG,EAAE;gBACR,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;YACvC;AACA,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAChB,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACzC,GAAG,CAAC,KAAK,EAAE;YACb;QACF;AAEA,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AAChC,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;AACxD,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;QAC5B;AAEA,QAAA,MAAM,QAAQ,GAAwB;YACpC,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,OAAO;AACP,YAAA,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa;YAC/C,UAAU;SACX;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;AAClD,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QACtB;AAEA,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAC9C;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACzB,QAAA,OAAO,QAAQ;IACjB;;IAGA,iBAAiB,GAAA;QACf,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,YAAA,OAAO,CAAC;QACV;QACA,IAAI,GAAG,GAAG,CAAC;AACX,QAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;YAClC,GAAG,IAAI,CAAC;QACV;AACA,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM;IACxC;;AAGA,IAAA,qBAAqB,CAAC,IAAY,EAAA;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,OAAO,CAAC;QACV;QACA,IAAI,GAAG,GAAG,CAAC;AACX,QAAA,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;YACnB,GAAG,IAAI,CAAC;QACV;AACA,QAAA,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM;IACzB;;IAGA,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI;IAC/E;;IAGA,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,YAAA,OAAO,IAAI;QACb;QACA,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,QAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE;gBAC7B,KAAK,GAAG,CAAC;YACX;QACF;AACA,QAAA,OAAO,KAAK;IACd;;IAGA,YAAY,GAAA;AACV,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;QAC/B,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,cAAc;QACvB;AAEA,QAAA,MAAM,KAAK,GAAa;YACtB,CAAA,OAAA,EAAU,MAAM,CAAC,WAAW,CAAA,UAAA,EAAa,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,SAAA,CAAW;YACzH,EAAE;SACH;AAED,QAAA,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE;AAClC,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG;AACrC,YAAA,KAAK,CAAC,IAAI,CACR,KAAK,GAAG,CAAA,CAAA,EAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAA,EAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,KAAA,EAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,IAAA,EAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,CACvI;QACH;AAEA,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE;AACpC,QAAA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,CAAA,OAAA,EAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,IAAA,EAAO,CAAC,IAAI,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,KAAA,CAAO,CAAC;AACzE,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IACzB;;IAGA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC9B,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;IACrB;AACD;MA+BY,kBAAkB,CAAA;AAQ7B,IAAA,WAAA,CAAY,YAAY,GAAG,GAAG,EAAE,eAAe,GAAG,IAAI,EAAA;AAP7C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAIA,iBAAQ,EAAE;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAyB;QAC3C,IAAA,CAAA,SAAS,GAAqB,EAAE;QAGhC,IAAA,CAAA,aAAa,GAAG,CAAC;AAGvB,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;AAChC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;IACxC;;AAGA,IAAA,UAAU,CAAC,QAAgB,EAAE,KAAK,GAAG,CAAC,EAAA;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;YAChF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;QACtC;AACA,QAAA,OAAO,CAAC,KAAK,IAAI,KAAK;AACtB,QAAA,OAAO,CAAC,cAAc,IAAI,KAAK;QAC/B,IAAI,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE;AACrC,YAAA,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK;QACnC;IACF;;AAGA,IAAA,SAAS,CAAC,QAAgB,EAAE,KAAK,GAAG,CAAC,EAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE;YACZ;QACF;AACA,QAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAClD,QAAA,OAAO,CAAC,UAAU,IAAI,KAAK;IAC7B;;IAGA,YAAY,GAAA;QACV,IAAI,QAAQ,GAAkB,IAAI;QAClC,IAAI,SAAS,GAAkB,IAAI;;QAGnC,MAAM,IAAI,GAAG,WAEZ;AACD,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;AACrC,YAAA,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe;QACzC;QAEA,IAAI,WAAW,GAAG,CAAC;AACnB,QAAA,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB;QACtD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9B,YAAA,WAAW,IAAI,CAAC,CAAC,KAAK;QACxB;AAEA,QAAA,MAAM,IAAI,GAAmB;AAC3B,YAAA,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;AAC5B,YAAA,QAAQ,EAAE,aAAa;YACvB,WAAW;YACX,QAAQ;YACR,SAAS;SACV;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AAC7C,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QACxB;AAEA,QAAA,OAAO,IAAI;IACb;;IAGA,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE;YACnD;QACF;AACA,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG;QAExB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACnC,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC;QACnD;IACF;;IAGA,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE;AAC9B,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACvC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,QAAA,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,IAAI;AAEpE,QAAA,IAAI,UAAU,GAAG,CAAC,EAAE;AAClB,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,QAAQ,GAAkB,EAAE;QAElC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAC9C,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAChD,IAAI,CAAC,YAAY,EAAE;gBACjB;YACF;YAEA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK;AACjD,YAAA,IAAI,MAAM,IAAI,CAAC,EAAE;gBACf;YACF;AAEA,YAAA,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU;;YAGtC,IAAI,QAAQ,GAA8B,KAAK;AAC/C,YAAA,IAAI,UAAU,GAAG,EAAE,EAAE;gBACnB,QAAQ,GAAG,MAAM;YACnB;AAAO,iBAAA,IAAI,UAAU,GAAG,CAAC,EAAE;gBACzB,QAAQ,GAAG,QAAQ;YACrB;;YAGA,IAAI,YAAY,GAAG,IAAI;AACvB,YAAA,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK;AAClC,YAAA,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtD,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBACvD,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,GAAG,SAAS,EAAE;oBAChD,YAAY,GAAG,KAAK;oBACpB;gBACF;gBACA,IAAI,WAAW,EAAE;AACf,oBAAA,SAAS,GAAG,WAAW,CAAC,KAAK;gBAC/B;YACF;AAEA,YAAA,IAAI,YAAY,IAAI,MAAM,IAAI,CAAC,EAAE;gBAC/B,QAAQ,CAAC,IAAI,CAAC;AACZ,oBAAA,QAAQ,EAAE,GAAG;oBACb,UAAU;oBACV,YAAY,EAAE,OAAO,CAAC,KAAK;oBAC3B,WAAW,EAAE,YAAY,CAAC,KAAK;oBAC/B,QAAQ;AACT,iBAAA,CAAC;YACJ;QACF;AAEA,QAAA,OAAO,QAAQ;IACjB;;AAGA,IAAA,UAAU,CAAC,QAAgB,EAAA;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;IACpC;;AAGA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3C;;IAGA,YAAY,GAAA;AACV,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACnC,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,OAAO,2BAA2B;QACpC;AAEA,QAAA,MAAM,KAAK,GAAa,CAAC,uBAAuB,EAAE,EAAE,CAAC;AAErD,QAAA,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;YACxB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,KAAK,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,GAAG,GAAG;AACjF,YAAA,KAAK,CAAC,IAAI,CACR,CAAA,EAAA,EAAK,IAAI,CAAA,CAAA,EAAI,CAAC,CAAC,QAAQ,CAAA,EAAA,EAAK,CAAC,CAAC,YAAY,CAAA,UAAA,EAAa,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,KAAA,EAAQ,CAAC,CAAC,QAAQ,CAAA,CAAA,CAAG,CACpG;QACH;AAEA,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IACzB;;IAGA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC;IACxB;AACD;AAqCM,MAAM,eAAe,GAA0C;AACpE,IAAA,KAAK,EAAE;AACL,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,GAAG;AAChB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,kBAAkB,EAAE,GAAG;AACvB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,eAAe,EAAE,GAAG;AACrB,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,WAAW,EAAE,GAAG;AAChB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,kBAAkB,EAAE,GAAG;AACvB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,eAAe,EAAE,GAAG;AACrB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,kBAAkB,EAAE,GAAG;AACvB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,GAAG;AACrB,KAAA;AACD,IAAA,GAAG,EAAE;AACH,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,WAAW,EAAE,GAAG;AAChB,QAAA,YAAY,EAAE,GAAG;AACjB,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,GAAG;AACrB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,GAAG;AAChB,QAAA,YAAY,EAAE,GAAG;AACjB,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,kBAAkB,EAAE,GAAG;AACvB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,GAAG;AACrB,KAAA;;AAGH,MAAM,aAAa,GAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;MAErE,cAAc,CAAA;IASzB,WAAA,CAAY,YAAA,GAA6B,MAAM,EAAE,MAA+B,EAAA;AARvE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAIA,iBAAQ,EAAE;QAIxB,IAAA,CAAA,UAAU,GAAa,EAAE;QACzB,IAAA,CAAA,cAAc,GAAG,CAAC;QAClB,IAAA,CAAA,gBAAgB,GAAG,CAAC;QAG1B,IAAI,CAAC,MAAM,GAAG;AACZ,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,kBAAkB,EAAE,EAAE;AACtB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,GAAG,MAAM;SACV;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;QAChC,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,EAAE;IAC7D;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,YAAY;IAC1B;AACA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,eAAe;IAC7B;;AAGA,IAAA,MAAM,CAAC,UAAkB,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QACzB;QAEA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI;AACpC,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACvD;QACF;QAEA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;;QAGtC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;AAC3C,YAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;AACzB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACnB;QACF;;QAGA,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AAC1C,YAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;AAC/B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;YAC7B;AACA,YAAA,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAC9D,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACjB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;YAC3B;QACF;aAAO;AACL,YAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;QAC3B;IACF;AAEQ,IAAA,SAAS,CAAC,GAAW,EAAA;QAC3B,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,QAAA,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ;AACF,QAAA,CAAC;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;IAC5C;AAEQ,IAAA,OAAO,CAAC,GAAW,EAAA;QACzB,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QACpD,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC;AACF,QAAA,CAAC;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;IAC5C;;IAGA,QAAQ,CAAC,KAAmB,EAAE,GAAY,EAAA;AACxC,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE;YAC/B;QACF;AACA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY;AAC9B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE;QACpD,IAAI,CAAC,cAAc,GAAG,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5F;;AAGA,IAAA,SAAS,CAAC,KAAmB,EAAA;AAC3B,QAAA,OAAO,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE;IACtC;AAEQ,IAAA,aAAa,CAAC,OAAe,EAAA;AACnC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC;QAC3D,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,KAAK,GAAG,CAAC;AACb,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,YAAA,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACzB,YAAA,KAAK,EAAE;QACT;AACA,QAAA,OAAO,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC;IACpC;AACD;AA0BD;;;AAGG;MACU,UAAU,CAAA;IAarB,WAAA,CAAY,eAAuB,EAAE,MAAkC,EAAA;AAZ9D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAIA,iBAAQ,EAAE;QACxB,IAAA,CAAA,OAAO,GAAa,EAAE;AACtB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,GAAG,EAAU;QAC/B,IAAA,CAAA,SAAS,GAAiB,EAAE;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,GAAG,EAG1B;QACK,IAAA,CAAA,UAAU,GAAG,CAAC;AAKpB,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;AACtC,QAAA,MAAM,eAAe,GACnB,OAAO,SAAS,KAAK,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAC9F,IAAI,CAAC,MAAM,GAAG;AACZ,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,GAAG,MAAM;SACV;IACH;;IAGA,IAAI,GAAA;AACF,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;AAC/C,YAAA,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACxD,YAAA,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;AACxD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B;IACF;;IAGA,MAAM,CAAI,IAAY,EAAE,IAAa,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACrD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7D;AAEA,QAAA,MAAM,IAAI,GAAkB;AAC1B,YAAA,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACrB,IAAI;YACJ,IAAI;AACJ,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE;AAC9B,YAAA,WAAW,EAAE,IAAI;SAClB;QAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,KAAI;AACxC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC5B,IAAI;AACJ,gBAAA,OAAO,EAAE,OAA+B;gBACxC,MAAM;AACP,aAAA,CAAC;YACF,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;IACJ;IAEQ,YAAY,GAAA;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B;QACF;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC3B;YACF;YACA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,IAAI,EAAE;gBACT;YACF;AAEA,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvB,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAClF;QACF;IACF;IAEQ,YAAY,CAAC,WAAmB,EAAE,IAAyC,EAAA;AACjF,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;AAEpC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/C,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;YAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9D;QAEA,IAAI,CAAC,YAAY,EAAE;IACrB;IAEQ,WAAW,CAAC,WAAmB,EAAE,OAAe,EAAA;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;;QAGpC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;YAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AACnC,gBAAA,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO;AAC3B,gBAAA,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO;gBAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;AAC1C,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;AAC3B,gBAAA,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,kBAAA,EAAqB,EAAE,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE,CAAC,CAAC;gBACpE;YACF;QACF;QAEA,IAAI,CAAC,YAAY,EAAE;IACrB;;AAGA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI;IACpD;;AAGA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM;IAC9B;;IAGA,OAAO,GAAA;AACL,QAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,CAAC,CAAC,SAAS,EAAE;QACf;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QACzB,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;YACxC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACvD;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;IAC1B;AACD;AAED;;AAEoE;AAEpE;MACa,SAAS,CAAA;AAAtB,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,GAAG,EAAkB;IAkB3C;AAhBE,IAAA,IAAI,CAAC,IAAY,EAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;IACzC;IAEA,OAAO,CAAC,SAAiB,EAAE,OAAgB,EAAA;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,YAAA,OAAO,CAAC;QACV;AACA,QAAA,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE;QACxF,OAAO,GAAG,GAAG,KAAK;IACpB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;IACpB;AACD;AAED;MACa,UAAU,CAAA;AAMrB,IAAA,WAAA,CAAY,OAAgB,EAAE,OAAyB,EAAE,OAAO,GAAG,IAAI,EAAA;QAL/D,IAAA,CAAA,IAAI,GAAQ,EAAE;AAMpB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;;IAGA,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAG;QACzB;AACA,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACvB;;AAGA,IAAA,OAAO,CAAC,GAAM,EAAA;QACZ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACpC;QACF;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACrB;;AAGA,IAAA,OAAO,CAAC,KAAa,EAAA;AACnB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACpC;YACF;YACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC;IACF;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;IACzB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;IACtB;AACD;;;;;;;;"}
@@ -1,574 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * @file SaveSystem.ts
5
- * @description Serialization with schema migration for game saves
6
- * PRO-1.5: Runtime & Performance
7
- *
8
- * Features:
9
- * - Save/load game state
10
- * - Schema versioning
11
- * - Migration system
12
- * - Multiple save slots
13
- * - Cloud save support
14
- * - Compression
15
- * - Encryption
16
- * - Auto-save
17
- */
18
- // ============================================================
19
- // Default Configuration
20
- // ============================================================
21
- const DEFAULT_SAVE_CONFIG = {
22
- format: 'json',
23
- backend: 'local',
24
- compress: true,
25
- encrypt: false,
26
- maxSlots: 10,
27
- autoSaveInterval: 60000, // 1 minute
28
- autoSaveSlot: 0,
29
- cloudSync: false,
30
- schemaVersion: 1,
31
- };
32
- class LocalStorageAdapter {
33
- constructor(prefix = 'game_save_') {
34
- this.prefix = prefix;
35
- }
36
- async save(key, data) {
37
- try {
38
- localStorage.setItem(this.prefix + key, data);
39
- return true;
40
- }
41
- catch {
42
- return false;
43
- }
44
- }
45
- async load(key) {
46
- return localStorage.getItem(this.prefix + key);
47
- }
48
- async delete(key) {
49
- localStorage.removeItem(this.prefix + key);
50
- return true;
51
- }
52
- async exists(key) {
53
- return localStorage.getItem(this.prefix + key) !== null;
54
- }
55
- async list(prefix) {
56
- const keys = [];
57
- for (let i = 0; i < localStorage.length; i++) {
58
- const key = localStorage.key(i);
59
- if (key?.startsWith(this.prefix + prefix)) {
60
- keys.push(key.substring(this.prefix.length));
61
- }
62
- }
63
- return keys;
64
- }
65
- async clear() {
66
- const keysToRemove = [];
67
- for (let i = 0; i < localStorage.length; i++) {
68
- const key = localStorage.key(i);
69
- if (key?.startsWith(this.prefix)) {
70
- keysToRemove.push(key);
71
- }
72
- }
73
- keysToRemove.forEach((key) => localStorage.removeItem(key));
74
- }
75
- }
76
- class IndexedDBAdapter {
77
- constructor(dbName = 'game_saves', storeName = 'saves') {
78
- this.db = null;
79
- this.dbName = dbName;
80
- this.storeName = storeName;
81
- }
82
- async getDB() {
83
- if (this.db) {
84
- return this.db;
85
- }
86
- return new Promise((resolve, reject) => {
87
- const request = indexedDB.open(this.dbName, 1);
88
- request.onerror = () => reject(request.error);
89
- request.onsuccess = () => {
90
- this.db = request.result;
91
- resolve(this.db);
92
- };
93
- request.onupgradeneeded = () => {
94
- const db = request.result;
95
- if (!db.objectStoreNames.contains(this.storeName)) {
96
- db.createObjectStore(this.storeName, { keyPath: 'key' });
97
- }
98
- };
99
- });
100
- }
101
- async save(key, data) {
102
- try {
103
- const db = await this.getDB();
104
- return new Promise((resolve) => {
105
- const transaction = db.transaction(this.storeName, 'readwrite');
106
- const store = transaction.objectStore(this.storeName);
107
- const request = store.put({ key, data });
108
- request.onsuccess = () => resolve(true);
109
- request.onerror = () => resolve(false);
110
- });
111
- }
112
- catch {
113
- return false;
114
- }
115
- }
116
- async load(key) {
117
- try {
118
- const db = await this.getDB();
119
- return new Promise((resolve) => {
120
- const transaction = db.transaction(this.storeName, 'readonly');
121
- const store = transaction.objectStore(this.storeName);
122
- const request = store.get(key);
123
- request.onsuccess = () => resolve(request.result?.data ?? null);
124
- request.onerror = () => resolve(null);
125
- });
126
- }
127
- catch {
128
- return null;
129
- }
130
- }
131
- async delete(key) {
132
- try {
133
- const db = await this.getDB();
134
- return new Promise((resolve) => {
135
- const transaction = db.transaction(this.storeName, 'readwrite');
136
- const store = transaction.objectStore(this.storeName);
137
- const request = store.delete(key);
138
- request.onsuccess = () => resolve(true);
139
- request.onerror = () => resolve(false);
140
- });
141
- }
142
- catch {
143
- return false;
144
- }
145
- }
146
- async exists(key) {
147
- return (await this.load(key)) !== null;
148
- }
149
- async list(_prefix) {
150
- try {
151
- const db = await this.getDB();
152
- return new Promise((resolve) => {
153
- const transaction = db.transaction(this.storeName, 'readonly');
154
- const store = transaction.objectStore(this.storeName);
155
- const request = store.getAllKeys();
156
- request.onsuccess = () => resolve(request.result);
157
- request.onerror = () => resolve([]);
158
- });
159
- }
160
- catch {
161
- return [];
162
- }
163
- }
164
- async clear() {
165
- try {
166
- const db = await this.getDB();
167
- await new Promise((resolve) => {
168
- const transaction = db.transaction(this.storeName, 'readwrite');
169
- const store = transaction.objectStore(this.storeName);
170
- const request = store.clear();
171
- request.onsuccess = () => resolve();
172
- request.onerror = () => resolve();
173
- });
174
- }
175
- catch {
176
- // Ignore
177
- }
178
- }
179
- }
180
- // ============================================================
181
- // Save System
182
- // ============================================================
183
- class SaveSystem {
184
- constructor(config) {
185
- this.config = { ...DEFAULT_SAVE_CONFIG };
186
- this.migrations = [];
187
- this.autoSaveTimer = null;
188
- if (config) {
189
- this.config = { ...this.config, ...config };
190
- }
191
- this.adapter = this.createAdapter(this.config.backend);
192
- }
193
- createAdapter(backend) {
194
- switch (backend) {
195
- case 'indexeddb':
196
- return new IndexedDBAdapter();
197
- case 'local':
198
- default:
199
- return new LocalStorageAdapter();
200
- }
201
- }
202
- // ─── Migration System ──────────────────────────────────
203
- registerMigration(migration) {
204
- this.migrations.push(migration);
205
- this.migrations.sort((a, b) => a.fromVersion - b.fromVersion);
206
- }
207
- async migrate(data, fromVersion) {
208
- let currentVersion = fromVersion;
209
- let migrationsApplied = 0;
210
- try {
211
- while (currentVersion < this.config.schemaVersion) {
212
- const migration = this.migrations.find((m) => m.fromVersion === currentVersion);
213
- if (!migration) {
214
- return {
215
- success: false,
216
- fromVersion,
217
- toVersion: currentVersion,
218
- migrationsApplied,
219
- error: `No migration found from version ${currentVersion}`,
220
- };
221
- }
222
- data = migration.migrate(data);
223
- currentVersion = migration.toVersion;
224
- migrationsApplied++;
225
- }
226
- return {
227
- success: true,
228
- fromVersion,
229
- toVersion: currentVersion,
230
- migrationsApplied,
231
- };
232
- }
233
- catch (error) {
234
- return {
235
- success: false,
236
- fromVersion,
237
- toVersion: currentVersion,
238
- migrationsApplied,
239
- error: error.message,
240
- };
241
- }
242
- }
243
- // ─── Save Operations ───────────────────────────────────
244
- async save(slot, name) {
245
- if (slot < 0 || slot >= this.config.maxSlots) {
246
- return { success: false, slot, error: 'Invalid slot number' };
247
- }
248
- this.onSaveStarted?.(slot);
249
- try {
250
- const state = this.getGameState?.() ?? this.createEmptyState();
251
- const existingMeta = await this.getSlotMetadata(slot);
252
- const metadata = {
253
- id: existingMeta?.id ?? this.generateId(),
254
- name: name ?? existingMeta?.name ?? `Save ${slot + 1}`,
255
- slot,
256
- version: (existingMeta?.version ?? 0) + 1,
257
- schemaVersion: this.config.schemaVersion,
258
- createdAt: existingMeta?.createdAt ?? Date.now(),
259
- modifiedAt: Date.now(),
260
- playTime: existingMeta?.playTime ?? 0,
261
- tags: existingMeta?.tags ?? [],
262
- checksum: '',
263
- size: 0,
264
- compressed: this.config.compress,
265
- encrypted: this.config.encrypt,
266
- cloudSynced: false,
267
- };
268
- const saveData = { metadata, state };
269
- let serialized = this.serialize(saveData);
270
- if (this.config.compress) {
271
- serialized = await this.compress(serialized);
272
- }
273
- if (this.config.encrypt && this.config.encryptionKey) {
274
- serialized = await this.encrypt(serialized, this.config.encryptionKey);
275
- }
276
- metadata.checksum = await this.calculateChecksum(serialized);
277
- metadata.size = serialized.length;
278
- // Save data
279
- const dataKey = `slot_${slot}_data`;
280
- const metaKey = `slot_${slot}_meta`;
281
- const dataSuccess = await this.adapter.save(dataKey, serialized);
282
- const metaSuccess = await this.adapter.save(metaKey, JSON.stringify(metadata));
283
- if (!dataSuccess || !metaSuccess) {
284
- return { success: false, slot, error: 'Failed to write save data' };
285
- }
286
- const result = { success: true, slot, metadata };
287
- this.onSaveCompleted?.(result);
288
- return result;
289
- }
290
- catch (error) {
291
- const result = {
292
- success: false,
293
- slot,
294
- error: error.message,
295
- };
296
- this.onSaveCompleted?.(result);
297
- return result;
298
- }
299
- }
300
- async load(slot) {
301
- if (slot < 0 || slot >= this.config.maxSlots) {
302
- return { success: false, error: 'Invalid slot number', migrated: false };
303
- }
304
- this.onLoadStarted?.(slot);
305
- try {
306
- const dataKey = `slot_${slot}_data`;
307
- const metaKey = `slot_${slot}_meta`;
308
- const metaStr = await this.adapter.load(metaKey);
309
- if (!metaStr) {
310
- return { success: false, error: 'Save slot is empty', migrated: false };
311
- }
312
- const metadata = JSON.parse(metaStr);
313
- let serialized = await this.adapter.load(dataKey);
314
- if (!serialized) {
315
- return { success: false, error: 'Save data not found', migrated: false };
316
- }
317
- // Verify checksum
318
- const checksum = await this.calculateChecksum(serialized);
319
- if (checksum !== metadata.checksum) {
320
- return { success: false, error: 'Save data corrupted', migrated: false };
321
- }
322
- if (metadata.encrypted && this.config.encryptionKey) {
323
- serialized = await this.decrypt(serialized, this.config.encryptionKey);
324
- }
325
- if (metadata.compressed) {
326
- serialized = await this.decompress(serialized);
327
- }
328
- const saveData = this.deserialize(serialized);
329
- const state = saveData.state;
330
- let migrated = false;
331
- let migratedFrom;
332
- // Check for migration
333
- if (metadata.schemaVersion < this.config.schemaVersion) {
334
- this.onMigrationNeeded?.(metadata.schemaVersion, this.config.schemaVersion);
335
- const migrationResult = await this.migrate(state, metadata.schemaVersion);
336
- if (!migrationResult.success) {
337
- return {
338
- success: false,
339
- error: `Migration failed: ${migrationResult.error}`,
340
- migrated: false,
341
- };
342
- }
343
- migrated = true;
344
- migratedFrom = metadata.schemaVersion;
345
- }
346
- // Apply state
347
- this.setGameState?.(state);
348
- const result = {
349
- success: true,
350
- data: state,
351
- metadata,
352
- migrated,
353
- migratedFrom,
354
- };
355
- this.onLoadCompleted?.(result);
356
- return result;
357
- }
358
- catch (error) {
359
- const result = {
360
- success: false,
361
- error: error.message,
362
- migrated: false,
363
- };
364
- this.onLoadCompleted?.(result);
365
- return result;
366
- }
367
- }
368
- async delete(slot) {
369
- if (slot < 0 || slot >= this.config.maxSlots) {
370
- return false;
371
- }
372
- const dataKey = `slot_${slot}_data`;
373
- const metaKey = `slot_${slot}_meta`;
374
- await this.adapter.delete(dataKey);
375
- await this.adapter.delete(metaKey);
376
- return true;
377
- }
378
- // ─── Slot Management ───────────────────────────────────
379
- async getSlots() {
380
- const slots = [];
381
- for (let i = 0; i < this.config.maxSlots; i++) {
382
- const metadata = await this.getSlotMetadata(i);
383
- slots.push({
384
- index: i,
385
- isEmpty: !metadata,
386
- metadata: metadata ?? undefined,
387
- });
388
- }
389
- return slots;
390
- }
391
- async getSlotMetadata(slot) {
392
- const metaKey = `slot_${slot}_meta`;
393
- const metaStr = await this.adapter.load(metaKey);
394
- if (!metaStr) {
395
- return null;
396
- }
397
- try {
398
- return JSON.parse(metaStr);
399
- }
400
- catch {
401
- return null;
402
- }
403
- }
404
- async hasSlot(slot) {
405
- return (await this.getSlotMetadata(slot)) !== null;
406
- }
407
- async getNextEmptySlot() {
408
- for (let i = 0; i < this.config.maxSlots; i++) {
409
- if (!(await this.hasSlot(i))) {
410
- return i;
411
- }
412
- }
413
- return -1;
414
- }
415
- // ─── Auto-save ─────────────────────────────────────────
416
- startAutoSave() {
417
- if (this.autoSaveTimer) {
418
- return;
419
- }
420
- this.autoSaveTimer = setInterval(async () => {
421
- const result = await this.save(this.config.autoSaveSlot, 'Auto Save');
422
- this.onAutoSave?.(result);
423
- }, this.config.autoSaveInterval);
424
- }
425
- stopAutoSave() {
426
- if (this.autoSaveTimer) {
427
- clearInterval(this.autoSaveTimer);
428
- this.autoSaveTimer = null;
429
- }
430
- }
431
- async triggerAutoSave() {
432
- const result = await this.save(this.config.autoSaveSlot, 'Auto Save');
433
- this.onAutoSave?.(result);
434
- return result;
435
- }
436
- // ─── Quick Save/Load ───────────────────────────────────
437
- async quickSave() {
438
- return this.save(0, 'Quick Save');
439
- }
440
- async quickLoad() {
441
- return this.load(0);
442
- }
443
- // ─── Export/Import ─────────────────────────────────────
444
- async exportSave(slot) {
445
- const dataKey = `slot_${slot}_data`;
446
- const metaKey = `slot_${slot}_meta`;
447
- const data = await this.adapter.load(dataKey);
448
- const meta = await this.adapter.load(metaKey);
449
- if (!data || !meta) {
450
- return null;
451
- }
452
- return btoa(JSON.stringify({ data, meta }));
453
- }
454
- async importSave(slot, exportedData) {
455
- try {
456
- const { data, meta } = JSON.parse(atob(exportedData));
457
- const dataKey = `slot_${slot}_data`;
458
- const metaKey = `slot_${slot}_meta`;
459
- // Update metadata with new slot
460
- const metadata = JSON.parse(meta);
461
- metadata.slot = slot;
462
- await this.adapter.save(dataKey, data);
463
- await this.adapter.save(metaKey, JSON.stringify(metadata));
464
- return true;
465
- }
466
- catch {
467
- return false;
468
- }
469
- }
470
- // ─── Utilities ─────────────────────────────────────────
471
- serialize(data) {
472
- return JSON.stringify(data);
473
- }
474
- deserialize(str) {
475
- return JSON.parse(str);
476
- }
477
- async compress(data) {
478
- // Simple compression using TextEncoder and base64
479
- // In production, use a proper compression library like pako
480
- const encoder = new TextEncoder();
481
- const bytes = encoder.encode(data);
482
- return btoa(String.fromCharCode(...bytes));
483
- }
484
- async decompress(data) {
485
- const bytes = atob(data)
486
- .split('')
487
- .map((c) => c.charCodeAt(0));
488
- const decoder = new TextDecoder();
489
- return decoder.decode(new Uint8Array(bytes));
490
- }
491
- async encrypt(data, _key) {
492
- // Placeholder - in production use Web Crypto API
493
- return btoa(data);
494
- }
495
- async decrypt(data, _key) {
496
- // Placeholder - in production use Web Crypto API
497
- return atob(data);
498
- }
499
- async calculateChecksum(data) {
500
- const encoder = new TextEncoder();
501
- const bytes = encoder.encode(data);
502
- const hashBuffer = await crypto.subtle.digest('SHA-256', bytes);
503
- const hashArray = Array.from(new Uint8Array(hashBuffer));
504
- return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
505
- }
506
- generateId() {
507
- return `save_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
508
- }
509
- createEmptyState() {
510
- return {
511
- player: {},
512
- world: {},
513
- inventory: {},
514
- quests: {},
515
- settings: {},
516
- custom: {},
517
- };
518
- }
519
- // ─── Configuration ─────────────────────────────────────
520
- getConfig() {
521
- return { ...this.config };
522
- }
523
- setConfig(config) {
524
- this.config = { ...this.config, ...config };
525
- if (config.backend) {
526
- this.adapter = this.createAdapter(config.backend);
527
- }
528
- }
529
- setAdapter(adapter) {
530
- this.adapter = adapter;
531
- }
532
- // ─── Callbacks ─────────────────────────────────────────
533
- setOnSaveStarted(callback) {
534
- this.onSaveStarted = callback;
535
- }
536
- setOnSaveCompleted(callback) {
537
- this.onSaveCompleted = callback;
538
- }
539
- setOnLoadStarted(callback) {
540
- this.onLoadStarted = callback;
541
- }
542
- setOnLoadCompleted(callback) {
543
- this.onLoadCompleted = callback;
544
- }
545
- setOnAutoSave(callback) {
546
- this.onAutoSave = callback;
547
- }
548
- setOnMigrationNeeded(callback) {
549
- this.onMigrationNeeded = callback;
550
- }
551
- setGetGameState(callback) {
552
- this.getGameState = callback;
553
- }
554
- setSetGameState(callback) {
555
- this.setGameState = callback;
556
- }
557
- }
558
- // ============================================================
559
- // Factory Functions
560
- // ============================================================
561
- function createSaveSystem(config) {
562
- return new SaveSystem(config);
563
- }
564
- function createMigration(fromVersion, toVersion, migrate, description = '') {
565
- return { fromVersion, toVersion, migrate, description };
566
- }
567
-
568
- exports.DEFAULT_SAVE_CONFIG = DEFAULT_SAVE_CONFIG;
569
- exports.IndexedDBAdapter = IndexedDBAdapter;
570
- exports.LocalStorageAdapter = LocalStorageAdapter;
571
- exports.SaveSystem = SaveSystem;
572
- exports.createMigration = createMigration;
573
- exports.createSaveSystem = createSaveSystem;
574
- //# sourceMappingURL=SaveSystem.js.map