@nice2dev/game-engine 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/LICENSE +21 -0
- package/README.md +105 -0
- package/dist/cjs/accessibility/Accessibility.js +162 -0
- package/dist/cjs/accessibility/Accessibility.js.map +1 -0
- package/dist/cjs/ai/AI.js +321 -0
- package/dist/cjs/ai/AI.js.map +1 -0
- package/dist/cjs/animation/Animation.js +233 -0
- package/dist/cjs/animation/Animation.js.map +1 -0
- package/dist/cjs/audio/AudioAdvanced.js +262 -0
- package/dist/cjs/audio/AudioAdvanced.js.map +1 -0
- package/dist/cjs/audio/AudioManager.js +248 -0
- package/dist/cjs/audio/AudioManager.js.map +1 -0
- package/dist/cjs/core/EventBus.js +63 -0
- package/dist/cjs/core/EventBus.js.map +1 -0
- package/dist/cjs/core/GameClock.js +70 -0
- package/dist/cjs/core/GameClock.js.map +1 -0
- package/dist/cjs/core/GameConfig.js +86 -0
- package/dist/cjs/core/GameConfig.js.map +1 -0
- package/dist/cjs/core/GameLoop.js +93 -0
- package/dist/cjs/core/GameLoop.js.map +1 -0
- package/dist/cjs/core/ServiceLocator.js +73 -0
- package/dist/cjs/core/ServiceLocator.js.map +1 -0
- package/dist/cjs/core/Validation.js +119 -0
- package/dist/cjs/core/Validation.js.map +1 -0
- package/dist/cjs/core/math.js +116 -0
- package/dist/cjs/core/math.js.map +1 -0
- package/dist/cjs/devtools/DevTools.js +560 -0
- package/dist/cjs/devtools/DevTools.js.map +1 -0
- package/dist/cjs/devtools/DeveloperExperience.js +562 -0
- package/dist/cjs/devtools/DeveloperExperience.js.map +1 -0
- package/dist/cjs/docs/DocGenerator.js +357 -0
- package/dist/cjs/docs/DocGenerator.js.map +1 -0
- package/dist/cjs/ecs/World.js +280 -0
- package/dist/cjs/ecs/World.js.map +1 -0
- package/dist/cjs/editor/AdvancedEditor.js +149 -0
- package/dist/cjs/editor/AdvancedEditor.js.map +1 -0
- package/dist/cjs/editor/AssetManager.js +190 -0
- package/dist/cjs/editor/AssetManager.js.map +1 -0
- package/dist/cjs/editor/DebugTools.js +187 -0
- package/dist/cjs/editor/DebugTools.js.map +1 -0
- package/dist/cjs/editor/NiceGameEditor.js +361 -0
- package/dist/cjs/editor/NiceGameEditor.js.map +1 -0
- package/dist/cjs/editor/SceneEditor.js +223 -0
- package/dist/cjs/editor/SceneEditor.js.map +1 -0
- package/dist/cjs/engine/NiceGameEngine.js +172 -0
- package/dist/cjs/engine/NiceGameEngine.js.map +1 -0
- package/dist/cjs/enterprise/Enterprise.js +258 -0
- package/dist/cjs/enterprise/Enterprise.js.map +1 -0
- package/dist/cjs/i18n/I18n.js +634 -0
- package/dist/cjs/i18n/I18n.js.map +1 -0
- package/dist/cjs/i18n/useTranslation.js +100 -0
- package/dist/cjs/i18n/useTranslation.js.map +1 -0
- package/dist/cjs/index.js +526 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/input/GamepadNavigation.js +181 -0
- package/dist/cjs/input/GamepadNavigation.js.map +1 -0
- package/dist/cjs/input/InputManager.js +404 -0
- package/dist/cjs/input/InputManager.js.map +1 -0
- package/dist/cjs/input/useGamepads.js +86 -0
- package/dist/cjs/input/useGamepads.js.map +1 -0
- package/dist/cjs/kids/KidMode.js +670 -0
- package/dist/cjs/kids/KidMode.js.map +1 -0
- package/dist/cjs/kids/KidTools.js +533 -0
- package/dist/cjs/kids/KidTools.js.map +1 -0
- package/dist/cjs/monetization/Monetization.js +197 -0
- package/dist/cjs/monetization/Monetization.js.map +1 -0
- package/dist/cjs/multiplayer/LocalMultiplayer.js +288 -0
- package/dist/cjs/multiplayer/LocalMultiplayer.js.map +1 -0
- package/dist/cjs/multiplayer/MiniGameTypes.js +70 -0
- package/dist/cjs/multiplayer/MiniGameTypes.js.map +1 -0
- package/dist/cjs/network/MultiplayerTransport.js +109 -0
- package/dist/cjs/network/MultiplayerTransport.js.map +1 -0
- package/dist/cjs/network/Networking.js +569 -0
- package/dist/cjs/network/Networking.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js +32 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js +51 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js +46 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js +18 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js +145 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js +161 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js +56 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js +11 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js +52 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js +576 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js +956 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js +149 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js +25 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js +27 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js +26 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js +124 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js +17 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js +188 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js +199 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js +108 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js +38 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js +24 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js +264 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js +160 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js +88 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js +50 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/index.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js +6 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -0
- package/dist/cjs/pathfinding/Pathfinding.js +255 -0
- package/dist/cjs/pathfinding/Pathfinding.js.map +1 -0
- package/dist/cjs/performance/BenchmarkSuite.js +318 -0
- package/dist/cjs/performance/BenchmarkSuite.js.map +1 -0
- package/dist/cjs/performance/Performance.js +180 -0
- package/dist/cjs/performance/Performance.js.map +1 -0
- package/dist/cjs/performance/PerformanceAdvanced.js +628 -0
- package/dist/cjs/performance/PerformanceAdvanced.js.map +1 -0
- package/dist/cjs/physics/PhysicsAdvanced.js +432 -0
- package/dist/cjs/physics/PhysicsAdvanced.js.map +1 -0
- package/dist/cjs/physics/PhysicsEngine2D.js +445 -0
- package/dist/cjs/physics/PhysicsEngine2D.js.map +1 -0
- package/dist/cjs/plugins/PluginSDK.js +488 -0
- package/dist/cjs/plugins/PluginSDK.js.map +1 -0
- package/dist/cjs/plugins/PluginTestKit.js +368 -0
- package/dist/cjs/plugins/PluginTestKit.js.map +1 -0
- package/dist/cjs/procedural/Procedural.js +288 -0
- package/dist/cjs/procedural/Procedural.js.map +1 -0
- package/dist/cjs/procedural/WorldBuilding.js +246 -0
- package/dist/cjs/procedural/WorldBuilding.js.map +1 -0
- package/dist/cjs/release/MobileExport.js +149 -0
- package/dist/cjs/release/MobileExport.js.map +1 -0
- package/dist/cjs/release/Release.js +151 -0
- package/dist/cjs/release/Release.js.map +1 -0
- package/dist/cjs/rendering/Camera2D.js +129 -0
- package/dist/cjs/rendering/Camera2D.js.map +1 -0
- package/dist/cjs/rendering/Renderer2D.js +337 -0
- package/dist/cjs/rendering/Renderer2D.js.map +1 -0
- package/dist/cjs/runtime3d/Runtime3D.js +381 -0
- package/dist/cjs/runtime3d/Runtime3D.js.map +1 -0
- package/dist/cjs/runtime3d/SceneEditor3D.js +316 -0
- package/dist/cjs/runtime3d/SceneEditor3D.js.map +1 -0
- package/dist/cjs/scene/SceneManager.js +186 -0
- package/dist/cjs/scene/SceneManager.js.map +1 -0
- package/dist/cjs/scripting/NodeGraph.js +573 -0
- package/dist/cjs/scripting/NodeGraph.js.map +1 -0
- package/dist/cjs/social/Social.js +91 -0
- package/dist/cjs/social/Social.js.map +1 -0
- package/dist/cjs/templates/ActionTemplates.js +229 -0
- package/dist/cjs/templates/ActionTemplates.js.map +1 -0
- package/dist/cjs/templates/PartyTemplates.js +221 -0
- package/dist/cjs/templates/PartyTemplates.js.map +1 -0
- package/dist/cjs/templates/PuzzleTemplates.js +283 -0
- package/dist/cjs/templates/PuzzleTemplates.js.map +1 -0
- package/dist/cjs/templates/RPGTemplates.js +209 -0
- package/dist/cjs/templates/RPGTemplates.js.map +1 -0
- package/dist/cjs/templates/SportsTemplates.js +272 -0
- package/dist/cjs/templates/SportsTemplates.js.map +1 -0
- package/dist/cjs/templates/StrategyTemplates.js +173 -0
- package/dist/cjs/templates/StrategyTemplates.js.map +1 -0
- package/dist/cjs/templates/WaveDefense.js +470 -0
- package/dist/cjs/templates/WaveDefense.js.map +1 -0
- package/dist/cjs/tilemap/Tilemap.js +208 -0
- package/dist/cjs/tilemap/Tilemap.js.map +1 -0
- package/dist/cjs/tutorials/TutorialBranching.js +392 -0
- package/dist/cjs/tutorials/TutorialBranching.js.map +1 -0
- package/dist/cjs/tutorials/TutorialEngine.js +903 -0
- package/dist/cjs/tutorials/TutorialEngine.js.map +1 -0
- package/dist/cjs/tutorials/TutorialOverlay.js +602 -0
- package/dist/cjs/tutorials/TutorialOverlay.js.map +1 -0
- package/dist/cjs/tutorials/content/Tutorials_T05_T08.js +816 -0
- package/dist/cjs/tutorials/content/Tutorials_T05_T08.js.map +1 -0
- package/dist/cjs/tutorials/content/Tutorials_T09_T11.js +741 -0
- package/dist/cjs/tutorials/content/Tutorials_T09_T11.js.map +1 -0
- package/dist/cjs/tutorials/content/Tutorials_T12_T15.js +786 -0
- package/dist/cjs/tutorials/content/Tutorials_T12_T15.js.map +1 -0
- package/dist/cjs/ui/GameUI.js +312 -0
- package/dist/cjs/ui/GameUI.js.map +1 -0
- package/dist/cjs/xr/ARVR.js +197 -0
- package/dist/cjs/xr/ARVR.js.map +1 -0
- package/dist/esm/accessibility/Accessibility.js +153 -0
- package/dist/esm/accessibility/Accessibility.js.map +1 -0
- package/dist/esm/ai/AI.js +302 -0
- package/dist/esm/ai/AI.js.map +1 -0
- package/dist/esm/animation/Animation.js +227 -0
- package/dist/esm/animation/Animation.js.map +1 -0
- package/dist/esm/audio/AudioAdvanced.js +243 -0
- package/dist/esm/audio/AudioAdvanced.js.map +1 -0
- package/dist/esm/audio/AudioManager.js +246 -0
- package/dist/esm/audio/AudioManager.js.map +1 -0
- package/dist/esm/core/EventBus.js +61 -0
- package/dist/esm/core/EventBus.js.map +1 -0
- package/dist/esm/core/GameClock.js +68 -0
- package/dist/esm/core/GameClock.js.map +1 -0
- package/dist/esm/core/GameConfig.js +80 -0
- package/dist/esm/core/GameConfig.js.map +1 -0
- package/dist/esm/core/GameLoop.js +91 -0
- package/dist/esm/core/GameLoop.js.map +1 -0
- package/dist/esm/core/ServiceLocator.js +70 -0
- package/dist/esm/core/ServiceLocator.js.map +1 -0
- package/dist/esm/core/Validation.js +108 -0
- package/dist/esm/core/Validation.js.map +1 -0
- package/dist/esm/core/math.js +114 -0
- package/dist/esm/core/math.js.map +1 -0
- package/dist/esm/devtools/DevTools.js +555 -0
- package/dist/esm/devtools/DevTools.js.map +1 -0
- package/dist/esm/devtools/DeveloperExperience.js +547 -0
- package/dist/esm/devtools/DeveloperExperience.js.map +1 -0
- package/dist/esm/docs/DocGenerator.js +353 -0
- package/dist/esm/docs/DocGenerator.js.map +1 -0
- package/dist/esm/ecs/World.js +276 -0
- package/dist/esm/ecs/World.js.map +1 -0
- package/dist/esm/editor/AdvancedEditor.js +141 -0
- package/dist/esm/editor/AdvancedEditor.js.map +1 -0
- package/dist/esm/editor/AssetManager.js +188 -0
- package/dist/esm/editor/AssetManager.js.map +1 -0
- package/dist/esm/editor/DebugTools.js +179 -0
- package/dist/esm/editor/DebugTools.js.map +1 -0
- package/dist/esm/editor/NiceGameEditor.js +355 -0
- package/dist/esm/editor/NiceGameEditor.js.map +1 -0
- package/dist/esm/editor/SceneEditor.js +209 -0
- package/dist/esm/editor/SceneEditor.js.map +1 -0
- package/dist/esm/engine/NiceGameEngine.js +170 -0
- package/dist/esm/engine/NiceGameEngine.js.map +1 -0
- package/dist/esm/enterprise/Enterprise.js +246 -0
- package/dist/esm/enterprise/Enterprise.js.map +1 -0
- package/dist/esm/i18n/I18n.js +622 -0
- package/dist/esm/i18n/I18n.js.map +1 -0
- package/dist/esm/i18n/useTranslation.js +95 -0
- package/dist/esm/i18n/useTranslation.js.map +1 -0
- package/dist/esm/index.js +71 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/input/GamepadNavigation.js +178 -0
- package/dist/esm/input/GamepadNavigation.js.map +1 -0
- package/dist/esm/input/InputManager.js +399 -0
- package/dist/esm/input/InputManager.js.map +1 -0
- package/dist/esm/input/useGamepads.js +83 -0
- package/dist/esm/input/useGamepads.js.map +1 -0
- package/dist/esm/kids/KidMode.js +663 -0
- package/dist/esm/kids/KidMode.js.map +1 -0
- package/dist/esm/kids/KidTools.js +529 -0
- package/dist/esm/kids/KidTools.js.map +1 -0
- package/dist/esm/monetization/Monetization.js +186 -0
- package/dist/esm/monetization/Monetization.js.map +1 -0
- package/dist/esm/multiplayer/LocalMultiplayer.js +284 -0
- package/dist/esm/multiplayer/LocalMultiplayer.js.map +1 -0
- package/dist/esm/multiplayer/MiniGameTypes.js +60 -0
- package/dist/esm/multiplayer/MiniGameTypes.js.map +1 -0
- package/dist/esm/network/MultiplayerTransport.js +106 -0
- package/dist/esm/network/MultiplayerTransport.js.map +1 -0
- package/dist/esm/network/Networking.js +561 -0
- package/dist/esm/network/Networking.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js +30 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js +49 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js +44 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js +16 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js +136 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js +159 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js +54 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js +9 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js +49 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js +573 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js +954 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js +147 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js +25 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js +27 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js +26 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js +122 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js +15 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js +186 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js +197 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js +106 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js +36 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js +22 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js +249 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js +158 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js +86 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js +13 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js +4 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -0
- package/dist/esm/pathfinding/Pathfinding.js +250 -0
- package/dist/esm/pathfinding/Pathfinding.js.map +1 -0
- package/dist/esm/performance/BenchmarkSuite.js +315 -0
- package/dist/esm/performance/BenchmarkSuite.js.map +1 -0
- package/dist/esm/performance/Performance.js +171 -0
- package/dist/esm/performance/Performance.js.map +1 -0
- package/dist/esm/performance/PerformanceAdvanced.js +620 -0
- package/dist/esm/performance/PerformanceAdvanced.js.map +1 -0
- package/dist/esm/physics/PhysicsAdvanced.js +417 -0
- package/dist/esm/physics/PhysicsAdvanced.js.map +1 -0
- package/dist/esm/physics/PhysicsEngine2D.js +442 -0
- package/dist/esm/physics/PhysicsEngine2D.js.map +1 -0
- package/dist/esm/plugins/PluginSDK.js +484 -0
- package/dist/esm/plugins/PluginSDK.js.map +1 -0
- package/dist/esm/plugins/PluginTestKit.js +359 -0
- package/dist/esm/plugins/PluginTestKit.js.map +1 -0
- package/dist/esm/procedural/Procedural.js +282 -0
- package/dist/esm/procedural/Procedural.js.map +1 -0
- package/dist/esm/procedural/WorldBuilding.js +225 -0
- package/dist/esm/procedural/WorldBuilding.js.map +1 -0
- package/dist/esm/release/MobileExport.js +142 -0
- package/dist/esm/release/MobileExport.js.map +1 -0
- package/dist/esm/release/Release.js +141 -0
- package/dist/esm/release/Release.js.map +1 -0
- package/dist/esm/rendering/Camera2D.js +127 -0
- package/dist/esm/rendering/Camera2D.js.map +1 -0
- package/dist/esm/rendering/Renderer2D.js +334 -0
- package/dist/esm/rendering/Renderer2D.js.map +1 -0
- package/dist/esm/runtime3d/Runtime3D.js +371 -0
- package/dist/esm/runtime3d/Runtime3D.js.map +1 -0
- package/dist/esm/runtime3d/SceneEditor3D.js +299 -0
- package/dist/esm/runtime3d/SceneEditor3D.js.map +1 -0
- package/dist/esm/scene/SceneManager.js +184 -0
- package/dist/esm/scene/SceneManager.js.map +1 -0
- package/dist/esm/scripting/NodeGraph.js +568 -0
- package/dist/esm/scripting/NodeGraph.js.map +1 -0
- package/dist/esm/social/Social.js +85 -0
- package/dist/esm/social/Social.js.map +1 -0
- package/dist/esm/templates/ActionTemplates.js +217 -0
- package/dist/esm/templates/ActionTemplates.js.map +1 -0
- package/dist/esm/templates/PartyTemplates.js +204 -0
- package/dist/esm/templates/PartyTemplates.js.map +1 -0
- package/dist/esm/templates/PuzzleTemplates.js +267 -0
- package/dist/esm/templates/PuzzleTemplates.js.map +1 -0
- package/dist/esm/templates/RPGTemplates.js +196 -0
- package/dist/esm/templates/RPGTemplates.js.map +1 -0
- package/dist/esm/templates/SportsTemplates.js +257 -0
- package/dist/esm/templates/SportsTemplates.js.map +1 -0
- package/dist/esm/templates/StrategyTemplates.js +157 -0
- package/dist/esm/templates/StrategyTemplates.js.map +1 -0
- package/dist/esm/templates/WaveDefense.js +467 -0
- package/dist/esm/templates/WaveDefense.js.map +1 -0
- package/dist/esm/tilemap/Tilemap.js +205 -0
- package/dist/esm/tilemap/Tilemap.js.map +1 -0
- package/dist/esm/tutorials/TutorialBranching.js +388 -0
- package/dist/esm/tutorials/TutorialBranching.js.map +1 -0
- package/dist/esm/tutorials/TutorialEngine.js +897 -0
- package/dist/esm/tutorials/TutorialEngine.js.map +1 -0
- package/dist/esm/tutorials/TutorialOverlay.js +600 -0
- package/dist/esm/tutorials/TutorialOverlay.js.map +1 -0
- package/dist/esm/tutorials/content/Tutorials_T05_T08.js +810 -0
- package/dist/esm/tutorials/content/Tutorials_T05_T08.js.map +1 -0
- package/dist/esm/tutorials/content/Tutorials_T09_T11.js +736 -0
- package/dist/esm/tutorials/content/Tutorials_T09_T11.js.map +1 -0
- package/dist/esm/tutorials/content/Tutorials_T12_T15.js +780 -0
- package/dist/esm/tutorials/content/Tutorials_T12_T15.js.map +1 -0
- package/dist/esm/ui/GameUI.js +310 -0
- package/dist/esm/ui/GameUI.js.map +1 -0
- package/dist/esm/xr/ARVR.js +182 -0
- package/dist/esm/xr/ARVR.js.map +1 -0
- package/dist/types/__tests__/setup.d.ts +1 -0
- package/dist/types/accessibility/Accessibility.d.ts +82 -0
- package/dist/types/accessibility/index.d.ts +1 -0
- package/dist/types/ai/AI.d.ts +140 -0
- package/dist/types/ai/index.d.ts +1 -0
- package/dist/types/animation/Animation.d.ts +90 -0
- package/dist/types/animation/index.d.ts +1 -0
- package/dist/types/audio/AudioAdvanced.d.ts +190 -0
- package/dist/types/audio/AudioManager.d.ts +55 -0
- package/dist/types/audio/index.d.ts +1 -0
- package/dist/types/community/Community.d.ts +112 -0
- package/dist/types/community/index.d.ts +1 -0
- package/dist/types/core/EventBus.d.ts +16 -0
- package/dist/types/core/GameClock.d.ts +29 -0
- package/dist/types/core/GameConfig.d.ts +20 -0
- package/dist/types/core/GameLoop.d.ts +32 -0
- package/dist/types/core/ServiceLocator.d.ts +36 -0
- package/dist/types/core/TypeSafety.d.ts +190 -0
- package/dist/types/core/Validation.d.ts +24 -0
- package/dist/types/core/index.d.ts +7 -0
- package/dist/types/core/math.d.ts +32 -0
- package/dist/types/core/types.d.ts +130 -0
- package/dist/types/devtools/AssetStore.d.ts +133 -0
- package/dist/types/devtools/DevTools.d.ts +217 -0
- package/dist/types/devtools/DeveloperExperience.d.ts +123 -0
- package/dist/types/devtools/index.d.ts +3 -0
- package/dist/types/docs/APIPlayground.d.ts +26 -0
- package/dist/types/docs/Cookbook.d.ts +18 -0
- package/dist/types/docs/DocGenerator.d.ts +83 -0
- package/dist/types/docs/Guides.d.ts +18 -0
- package/dist/types/docs/index.d.ts +4 -0
- package/dist/types/ecs/World.d.ts +219 -0
- package/dist/types/ecs/index.d.ts +1 -0
- package/dist/types/editor/AdvancedEditor.d.ts +267 -0
- package/dist/types/editor/AssetManager.d.ts +45 -0
- package/dist/types/editor/DebugTools.d.ts +74 -0
- package/dist/types/editor/NiceGameEditor.d.ts +115 -0
- package/dist/types/editor/SceneEditor.d.ts +37 -0
- package/dist/types/editor/index.d.ts +8 -0
- package/dist/types/engine/NiceGameEngine.d.ts +53 -0
- package/dist/types/engine/index.d.ts +2 -0
- package/dist/types/enterprise/Enterprise.d.ts +217 -0
- package/dist/types/enterprise/index.d.ts +1 -0
- package/dist/types/epic/index.d.ts +10 -0
- package/dist/types/i18n/I18n.d.ts +107 -0
- package/dist/types/i18n/index.d.ts +2 -0
- package/dist/types/i18n/useTranslation.d.ts +74 -0
- package/dist/types/index.d.ts +127 -0
- package/dist/types/input/GamepadNavigation.d.ts +34 -0
- package/dist/types/input/InputManager.d.ts +77 -0
- package/dist/types/input/index.d.ts +3 -0
- package/dist/types/input/useGamepads.d.ts +39 -0
- package/dist/types/kids/KidMode.d.ts +207 -0
- package/dist/types/kids/KidTools.d.ts +135 -0
- package/dist/types/kids/index.d.ts +2 -0
- package/dist/types/legendary/index.d.ts +57 -0
- package/dist/types/monetization/Monetization.d.ts +224 -0
- package/dist/types/monetization/index.d.ts +1 -0
- package/dist/types/multiplayer/LocalMultiplayer.d.ts +61 -0
- package/dist/types/multiplayer/MiniGameTypes.d.ts +70 -0
- package/dist/types/multiplayer/index.d.ts +3 -0
- package/dist/types/network/MultiplayerTransport.d.ts +71 -0
- package/dist/types/network/Networking.d.ts +199 -0
- package/dist/types/network/index.d.ts +2 -0
- package/dist/types/pathfinding/Pathfinding.d.ts +42 -0
- package/dist/types/pathfinding/index.d.ts +1 -0
- package/dist/types/performance/AssetCompression.d.ts +137 -0
- package/dist/types/performance/BenchmarkSuite.d.ts +99 -0
- package/dist/types/performance/Performance.d.ts +87 -0
- package/dist/types/performance/PerformanceAdvanced.d.ts +220 -0
- package/dist/types/performance/WASMModules.d.ts +65 -0
- package/dist/types/performance/WebGPUCompute.d.ts +164 -0
- package/dist/types/performance/index.d.ts +1 -0
- package/dist/types/physics/PhysicsAdvanced.d.ts +148 -0
- package/dist/types/physics/PhysicsEngine2D.d.ts +66 -0
- package/dist/types/physics/index.d.ts +1 -0
- package/dist/types/plugins/PluginSDK.d.ts +134 -0
- package/dist/types/plugins/PluginTestKit.d.ts +107 -0
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/procedural/Procedural.d.ts +90 -0
- package/dist/types/procedural/WorldBuilding.d.ts +200 -0
- package/dist/types/procedural/index.d.ts +2 -0
- package/dist/types/release/MobileExport.d.ts +218 -0
- package/dist/types/release/Release.d.ts +81 -0
- package/dist/types/release/index.d.ts +1 -0
- package/dist/types/rendering/Camera2D.d.ts +39 -0
- package/dist/types/rendering/Renderer2D.d.ts +41 -0
- package/dist/types/rendering/index.d.ts +2 -0
- package/dist/types/runtime3d/Runtime3D.d.ts +259 -0
- package/dist/types/runtime3d/SceneEditor3D.d.ts +186 -0
- package/dist/types/runtime3d/index.d.ts +2 -0
- package/dist/types/scene/SceneManager.d.ts +59 -0
- package/dist/types/scene/index.d.ts +2 -0
- package/dist/types/scripting/NodeGraph.d.ts +84 -0
- package/dist/types/scripting/index.d.ts +2 -0
- package/dist/types/social/Social.d.ts +245 -0
- package/dist/types/social/index.d.ts +1 -0
- package/dist/types/templates/ActionTemplates.d.ts +173 -0
- package/dist/types/templates/PartyTemplates.d.ts +195 -0
- package/dist/types/templates/PuzzleTemplates.d.ts +127 -0
- package/dist/types/templates/RPGTemplates.d.ts +210 -0
- package/dist/types/templates/SportsTemplates.d.ts +162 -0
- package/dist/types/templates/StrategyTemplates.d.ts +264 -0
- package/dist/types/templates/WaveDefense.d.ts +92 -0
- package/dist/types/templates/index.d.ts +2 -0
- package/dist/types/tilemap/Tilemap.d.ts +66 -0
- package/dist/types/tilemap/index.d.ts +1 -0
- package/dist/types/tutorials/TutorialBranching.d.ts +132 -0
- package/dist/types/tutorials/TutorialEditor.d.ts +43 -0
- package/dist/types/tutorials/TutorialEngine.d.ts +237 -0
- package/dist/types/tutorials/TutorialOverlay.d.ts +79 -0
- package/dist/types/tutorials/VoiceNarration.d.ts +75 -0
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +3 -0
- package/dist/types/tutorials/content/Tutorials_T05_T08.d.ts +6 -0
- package/dist/types/tutorials/content/Tutorials_T09_T11.d.ts +5 -0
- package/dist/types/tutorials/content/Tutorials_T12_T15.d.ts +6 -0
- package/dist/types/tutorials/content/UITutorials.d.ts +14 -0
- package/dist/types/tutorials/content/index.d.ts +5 -0
- package/dist/types/tutorials/index.d.ts +6 -0
- package/dist/types/ui/GameUI.d.ts +97 -0
- package/dist/types/ui/index.d.ts +2 -0
- package/dist/types/xr/ARVR.d.ts +252 -0
- package/dist/types/xr/index.d.ts +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Procedural.js","sources":["../../../src/procedural/Procedural.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* ────────────────────────────────────────────────────────────────
|
|
4
|
+
EPIC E8 — World Building
|
|
5
|
+
|
|
6
|
+
Open world streaming, procedural terrain, weather system,
|
|
7
|
+
day/night cycle, NPC schedules, quest system
|
|
8
|
+
──────────────────────────────────────────────────────────────── */
|
|
9
|
+
const DEFAULT_STREAMING = {
|
|
10
|
+
chunkSize: 256,
|
|
11
|
+
loadRadius: 3,
|
|
12
|
+
unloadRadius: 5,
|
|
13
|
+
preloadRadius: 4,
|
|
14
|
+
maxLoadedChunks: 100,
|
|
15
|
+
loadPriority: 'combined',
|
|
16
|
+
transitionBlend: 32,
|
|
17
|
+
};
|
|
18
|
+
function getChunkCoord(worldPos, chunkSize) {
|
|
19
|
+
return {
|
|
20
|
+
cx: Math.floor(worldPos.x / chunkSize),
|
|
21
|
+
cy: Math.floor(worldPos.y / chunkSize),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function getChunksInRadius(centerChunk, radius) {
|
|
25
|
+
const chunks = [];
|
|
26
|
+
for (let dy = -radius; dy <= radius; dy++) {
|
|
27
|
+
for (let dx = -radius; dx <= radius; dx++) {
|
|
28
|
+
if (dx * dx + dy * dy <= radius * radius) {
|
|
29
|
+
chunks.push({ cx: centerChunk.cx + dx, cy: centerChunk.cy + dy });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return chunks;
|
|
34
|
+
}
|
|
35
|
+
function chunkKey(cx, cy) {
|
|
36
|
+
return `${cx},${cy}`;
|
|
37
|
+
}
|
|
38
|
+
/** Simple seeded PRNG (xorshift32). */
|
|
39
|
+
function xorshift32(seed) {
|
|
40
|
+
let state = seed | 0 || 1;
|
|
41
|
+
return () => {
|
|
42
|
+
state ^= state << 13;
|
|
43
|
+
state ^= state >> 17;
|
|
44
|
+
state ^= state << 5;
|
|
45
|
+
return (state >>> 0) / 0xFFFFFFFF;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** Simple value noise. */
|
|
49
|
+
function valueNoise2D(x, y, seed) {
|
|
50
|
+
const rng = xorshift32;
|
|
51
|
+
const ix = Math.floor(x);
|
|
52
|
+
const iy = Math.floor(y);
|
|
53
|
+
const fx = x - ix;
|
|
54
|
+
const fy = y - iy;
|
|
55
|
+
const smooth = (t) => t * t * (3 - 2 * t);
|
|
56
|
+
const sfx = smooth(fx);
|
|
57
|
+
const sfy = smooth(fy);
|
|
58
|
+
const n00 = rng(ix * 374761393 + iy * 668265263 + seed)();
|
|
59
|
+
const n10 = rng((ix + 1) * 374761393 + iy * 668265263 + seed)();
|
|
60
|
+
const n01 = rng(ix * 374761393 + (iy + 1) * 668265263 + seed)();
|
|
61
|
+
const n11 = rng((ix + 1) * 374761393 + (iy + 1) * 668265263 + seed)();
|
|
62
|
+
const nx0 = n00 + (n10 - n00) * sfx;
|
|
63
|
+
const nx1 = n01 + (n11 - n01) * sfx;
|
|
64
|
+
return nx0 + (nx1 - nx0) * sfy;
|
|
65
|
+
}
|
|
66
|
+
/** Fractal Brownian Motion. */
|
|
67
|
+
function fbm(x, y, config) {
|
|
68
|
+
let value = 0;
|
|
69
|
+
let freq = config.frequency;
|
|
70
|
+
let amp = config.amplitude;
|
|
71
|
+
let maxAmp = 0;
|
|
72
|
+
for (let i = 0; i < config.octaves; i++) {
|
|
73
|
+
value += valueNoise2D(x * freq, y * freq, config.seed + i * 31337) * amp;
|
|
74
|
+
maxAmp += amp;
|
|
75
|
+
freq *= config.lacunarity;
|
|
76
|
+
amp *= config.persistence;
|
|
77
|
+
}
|
|
78
|
+
return (value / maxAmp) * config.heightScale;
|
|
79
|
+
}
|
|
80
|
+
function selectBiome(height, moisture, biomes) {
|
|
81
|
+
var _a;
|
|
82
|
+
for (const biome of biomes) {
|
|
83
|
+
if (height >= biome.minHeight && height <= biome.maxHeight &&
|
|
84
|
+
moisture >= biome.minMoisture && moisture <= biome.maxMoisture) {
|
|
85
|
+
return biome;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return (_a = biomes[0]) !== null && _a !== void 0 ? _a : null;
|
|
89
|
+
}
|
|
90
|
+
const DEFAULT_BIOMES = [
|
|
91
|
+
{ name: 'deep-water', minHeight: -1, maxHeight: -0.3, minMoisture: 0, maxMoisture: 1, color: '#1a3a5c', vegetation: [], tileType: 'water-deep' },
|
|
92
|
+
{ name: 'water', minHeight: -0.3, maxHeight: 0, minMoisture: 0, maxMoisture: 1, color: '#2e6ca4', vegetation: [], tileType: 'water' },
|
|
93
|
+
{ name: 'beach', minHeight: 0, maxHeight: 0.05, minMoisture: 0, maxMoisture: 1, color: '#e8d68c', vegetation: [], tileType: 'sand' },
|
|
94
|
+
{ name: 'grassland', minHeight: 0.05, maxHeight: 0.4, minMoisture: 0.3, maxMoisture: 0.7, color: '#4a8c2e', vegetation: [{ type: 'grass', density: 0.3, minScale: 0.8, maxScale: 1.2, clusterSize: 1, avoidRadius: 0 }], tileType: 'grass' },
|
|
95
|
+
{ name: 'forest', minHeight: 0.05, maxHeight: 0.5, minMoisture: 0.5, maxMoisture: 1, color: '#2d6b1e', vegetation: [{ type: 'tree', density: 0.15, minScale: 0.7, maxScale: 1.3, clusterSize: 3, avoidRadius: 2 }], tileType: 'grass' },
|
|
96
|
+
{ name: 'desert', minHeight: 0.05, maxHeight: 0.3, minMoisture: 0, maxMoisture: 0.3, color: '#c4a35a', vegetation: [{ type: 'cactus', density: 0.02, minScale: 0.8, maxScale: 1.5, clusterSize: 1, avoidRadius: 5 }], tileType: 'sand' },
|
|
97
|
+
{ name: 'mountain', minHeight: 0.5, maxHeight: 0.8, minMoisture: 0, maxMoisture: 1, color: '#8c7a5e', vegetation: [], tileType: 'rock' },
|
|
98
|
+
{ name: 'snow', minHeight: 0.8, maxHeight: 1, minMoisture: 0, maxMoisture: 1, color: '#f0f0f0', vegetation: [], tileType: 'snow' },
|
|
99
|
+
];
|
|
100
|
+
const WEATHER_PRESETS = {
|
|
101
|
+
clear: { intensity: 0, windSpeed: 2, visibility: 1, lightingMultiplier: 1, particleDensity: 0 },
|
|
102
|
+
cloudy: { intensity: 0.3, windSpeed: 5, visibility: 0.8, lightingMultiplier: 0.7, particleDensity: 0 },
|
|
103
|
+
rain: { intensity: 0.5, windSpeed: 8, visibility: 0.6, lightingMultiplier: 0.5, particleDensity: 0.5 },
|
|
104
|
+
'heavy-rain': { intensity: 0.8, windSpeed: 15, visibility: 0.3, lightingMultiplier: 0.3, particleDensity: 0.8 },
|
|
105
|
+
storm: { intensity: 1, windSpeed: 25, visibility: 0.2, lightingMultiplier: 0.2, particleDensity: 1 },
|
|
106
|
+
snow: { intensity: 0.4, windSpeed: 5, visibility: 0.5, lightingMultiplier: 0.6, particleDensity: 0.4 },
|
|
107
|
+
blizzard: { intensity: 0.9, windSpeed: 20, visibility: 0.15, lightingMultiplier: 0.3, particleDensity: 0.9 },
|
|
108
|
+
fog: { intensity: 0.6, windSpeed: 2, visibility: 0.15, lightingMultiplier: 0.5, particleDensity: 0.1 },
|
|
109
|
+
sandstorm: { intensity: 0.7, windSpeed: 18, visibility: 0.2, lightingMultiplier: 0.4, particleDensity: 0.7 },
|
|
110
|
+
};
|
|
111
|
+
function lerpWeather(a, b, t) {
|
|
112
|
+
const lerp = (v1, v2) => v1 + (v2 - v1) * t;
|
|
113
|
+
return {
|
|
114
|
+
type: t < 0.5 ? a.type : b.type,
|
|
115
|
+
intensity: lerp(a.intensity, b.intensity),
|
|
116
|
+
windDirection: lerp(a.windDirection, b.windDirection),
|
|
117
|
+
windSpeed: lerp(a.windSpeed, b.windSpeed),
|
|
118
|
+
temperature: lerp(a.temperature, b.temperature),
|
|
119
|
+
humidity: lerp(a.humidity, b.humidity),
|
|
120
|
+
visibility: lerp(a.visibility, b.visibility),
|
|
121
|
+
lightingMultiplier: lerp(a.lightingMultiplier, b.lightingMultiplier),
|
|
122
|
+
particleDensity: lerp(a.particleDensity, b.particleDensity),
|
|
123
|
+
soundId: t < 0.5 ? a.soundId : b.soundId,
|
|
124
|
+
transitionDuration: b.transitionDuration,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
const DEFAULT_DAY_NIGHT = {
|
|
128
|
+
dayLengthSeconds: 600, // 10 minutes = 1 game day
|
|
129
|
+
startHour: 8,
|
|
130
|
+
sunriseHour: 6,
|
|
131
|
+
sunsetHour: 18,
|
|
132
|
+
ambientDay: '#ffffff',
|
|
133
|
+
ambientNight: '#1a1a3e',
|
|
134
|
+
ambientSunrise: '#ff8844',
|
|
135
|
+
ambientSunset: '#ff6633',
|
|
136
|
+
sunIntensityDay: 1,
|
|
137
|
+
sunIntensityNight: 0.05,
|
|
138
|
+
moonPhase: true,
|
|
139
|
+
starsAtNight: true,
|
|
140
|
+
};
|
|
141
|
+
function getTimeOfDay(hour) {
|
|
142
|
+
if (hour < 5)
|
|
143
|
+
return 'night';
|
|
144
|
+
if (hour < 7)
|
|
145
|
+
return 'dawn';
|
|
146
|
+
if (hour < 11)
|
|
147
|
+
return 'morning';
|
|
148
|
+
if (hour < 14)
|
|
149
|
+
return 'noon';
|
|
150
|
+
if (hour < 17)
|
|
151
|
+
return 'afternoon';
|
|
152
|
+
if (hour < 20)
|
|
153
|
+
return 'dusk';
|
|
154
|
+
return 'night';
|
|
155
|
+
}
|
|
156
|
+
function getGameHour(realElapsedSeconds, config) {
|
|
157
|
+
const totalGameHours = (realElapsedSeconds / config.dayLengthSeconds) * 24;
|
|
158
|
+
return (config.startHour + totalGameHours) % 24;
|
|
159
|
+
}
|
|
160
|
+
function getSunAngle(hour, config) {
|
|
161
|
+
const dayLength = config.sunsetHour - config.sunriseHour;
|
|
162
|
+
if (hour < config.sunriseHour || hour > config.sunsetHour)
|
|
163
|
+
return -Math.PI / 6;
|
|
164
|
+
const t = (hour - config.sunriseHour) / dayLength;
|
|
165
|
+
return t * Math.PI; // 0 at sunrise, PI at sunset, PI/2 at noon
|
|
166
|
+
}
|
|
167
|
+
function getCurrentScheduleEntry(schedule, hour, dayOfWeek) {
|
|
168
|
+
let best = null;
|
|
169
|
+
let bestPriority = -1;
|
|
170
|
+
for (const entry of schedule.entries) {
|
|
171
|
+
if (entry.daysOfWeek && entry.daysOfWeek.indexOf(dayOfWeek) === -1)
|
|
172
|
+
continue;
|
|
173
|
+
const inTimeRange = entry.startHour <= entry.endHour
|
|
174
|
+
? (hour >= entry.startHour && hour < entry.endHour)
|
|
175
|
+
: (hour >= entry.startHour || hour < entry.endHour);
|
|
176
|
+
if (inTimeRange && entry.priority > bestPriority) {
|
|
177
|
+
best = entry;
|
|
178
|
+
bestPriority = entry.priority;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return best;
|
|
182
|
+
}
|
|
183
|
+
function canStartQuest(questDef, journal) {
|
|
184
|
+
// Check prerequisites
|
|
185
|
+
for (const prereq of questDef.prerequisites) {
|
|
186
|
+
if (journal.completedQuests.indexOf(prereq) === -1)
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
// Check not already active or completed (unless repeatable)
|
|
190
|
+
const alreadyActive = journal.activeQuests.some(q => q.questId === questDef.id);
|
|
191
|
+
if (alreadyActive)
|
|
192
|
+
return false;
|
|
193
|
+
if (!questDef.repeatable && journal.completedQuests.indexOf(questDef.id) !== -1)
|
|
194
|
+
return false;
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
function startQuest(questDef, journal) {
|
|
198
|
+
const instance = {
|
|
199
|
+
questId: questDef.id,
|
|
200
|
+
state: 'active',
|
|
201
|
+
objectives: questDef.objectives.map(o => ({ ...o, currentCount: 0 })),
|
|
202
|
+
startTime: Date.now(),
|
|
203
|
+
};
|
|
204
|
+
journal.activeQuests.push(instance);
|
|
205
|
+
return instance;
|
|
206
|
+
}
|
|
207
|
+
function updateObjective(instance, objectiveId, incrementBy = 1) {
|
|
208
|
+
const obj = instance.objectives.find(o => o.id === objectiveId);
|
|
209
|
+
if (!obj)
|
|
210
|
+
return false;
|
|
211
|
+
obj.currentCount = Math.min(obj.currentCount + incrementBy, obj.targetCount);
|
|
212
|
+
return obj.currentCount >= obj.targetCount;
|
|
213
|
+
}
|
|
214
|
+
function isQuestComplete(instance) {
|
|
215
|
+
return instance.objectives.every(o => o.optional || o.currentCount >= o.targetCount);
|
|
216
|
+
}
|
|
217
|
+
function completeQuest(instance, journal) {
|
|
218
|
+
instance.state = 'completed';
|
|
219
|
+
instance.completedTime = Date.now();
|
|
220
|
+
journal.completedQuests.push(instance.questId);
|
|
221
|
+
const idx = journal.activeQuests.indexOf(instance);
|
|
222
|
+
if (idx !== -1)
|
|
223
|
+
journal.activeQuests.splice(idx, 1);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
exports.DEFAULT_BIOMES = DEFAULT_BIOMES;
|
|
227
|
+
exports.DEFAULT_DAY_NIGHT = DEFAULT_DAY_NIGHT;
|
|
228
|
+
exports.DEFAULT_STREAMING = DEFAULT_STREAMING;
|
|
229
|
+
exports.WEATHER_PRESETS = WEATHER_PRESETS;
|
|
230
|
+
exports.canStartQuest = canStartQuest;
|
|
231
|
+
exports.chunkKey = chunkKey;
|
|
232
|
+
exports.completeQuest = completeQuest;
|
|
233
|
+
exports.fbm = fbm;
|
|
234
|
+
exports.getChunkCoord = getChunkCoord;
|
|
235
|
+
exports.getChunksInRadius = getChunksInRadius;
|
|
236
|
+
exports.getCurrentScheduleEntry = getCurrentScheduleEntry;
|
|
237
|
+
exports.getGameHour = getGameHour;
|
|
238
|
+
exports.getSunAngle = getSunAngle;
|
|
239
|
+
exports.getTimeOfDay = getTimeOfDay;
|
|
240
|
+
exports.isQuestComplete = isQuestComplete;
|
|
241
|
+
exports.lerpWeather = lerpWeather;
|
|
242
|
+
exports.selectBiome = selectBiome;
|
|
243
|
+
exports.startQuest = startQuest;
|
|
244
|
+
exports.updateObjective = updateObjective;
|
|
245
|
+
exports.valueNoise2D = valueNoise2D;
|
|
246
|
+
//# sourceMappingURL=WorldBuilding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorldBuilding.js","sources":["../../../src/procedural/WorldBuilding.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* ────────────────────────────────────────────────────────────────
|
|
4
|
+
EPIC E4 — Mobile & Export
|
|
5
|
+
|
|
6
|
+
PWA export, Capacitor (iOS/Android), Electron (desktop),
|
|
7
|
+
Steam integration, console export, ad SDK
|
|
8
|
+
──────────────────────────────────────────────────────────────── */
|
|
9
|
+
const DEFAULT_ASSET_OPTIMIZATION = {
|
|
10
|
+
compressTextures: true,
|
|
11
|
+
textureFormat: 'webp',
|
|
12
|
+
maxTextureSize: 2048,
|
|
13
|
+
compressAudio: true,
|
|
14
|
+
audioFormat: 'ogg',
|
|
15
|
+
audioBitrate: 128,
|
|
16
|
+
inlineSmallAssets: true,
|
|
17
|
+
inlineThresholdBytes: 4096,
|
|
18
|
+
generateSpriteAtlas: true,
|
|
19
|
+
atlasMaxSize: 4096,
|
|
20
|
+
};
|
|
21
|
+
function generateServiceWorkerConfig(config) {
|
|
22
|
+
return {
|
|
23
|
+
cacheName: `${config.shortName}-v1`,
|
|
24
|
+
strategy: config.cacheStrategy,
|
|
25
|
+
precache: [config.startUrl, '/index.html', '/manifest.json'],
|
|
26
|
+
runtimeCaching: [
|
|
27
|
+
{ urlPattern: /\.(?:png|jpg|jpeg|webp|svg|gif)$/i, handler: 'CacheFirst', options: { cacheName: 'images', expiration: { maxEntries: 100, maxAgeSeconds: 30 * 24 * 60 * 60 } } },
|
|
28
|
+
{ urlPattern: /\.(?:js|css)$/i, handler: 'StaleWhileRevalidate', options: { cacheName: 'static' } },
|
|
29
|
+
{ urlPattern: /\.(?:mp3|ogg|wav)$/i, handler: 'CacheFirst', options: { cacheName: 'audio', expiration: { maxEntries: 50 } } },
|
|
30
|
+
],
|
|
31
|
+
offlineFallback: config.offlineSupport ? '/offline.html' : undefined,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function createCapacitorConfig(appId, appName) {
|
|
35
|
+
return {
|
|
36
|
+
appId,
|
|
37
|
+
appName,
|
|
38
|
+
webDir: 'dist',
|
|
39
|
+
plugins: {
|
|
40
|
+
statusBar: { style: 'dark', backgroundColor: '#000000' },
|
|
41
|
+
splashScreen: { launchShowDuration: 2000, launchAutoHide: true, backgroundColor: '#000000' },
|
|
42
|
+
haptics: true,
|
|
43
|
+
},
|
|
44
|
+
ios: {
|
|
45
|
+
scheme: appName,
|
|
46
|
+
contentInset: 'automatic',
|
|
47
|
+
allowsLinkPreview: false,
|
|
48
|
+
deploymentTarget: '14.0',
|
|
49
|
+
preferredContentMode: 'mobile',
|
|
50
|
+
},
|
|
51
|
+
android: {
|
|
52
|
+
minSdkVersion: 23,
|
|
53
|
+
targetSdkVersion: 34,
|
|
54
|
+
allowMixedContent: false,
|
|
55
|
+
backgroundColor: '#000000',
|
|
56
|
+
buildToolsVersion: '34.0.0',
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function createElectronConfig(partial) {
|
|
61
|
+
return {
|
|
62
|
+
width: 1280,
|
|
63
|
+
height: 720,
|
|
64
|
+
minWidth: 800,
|
|
65
|
+
minHeight: 600,
|
|
66
|
+
resizable: true,
|
|
67
|
+
fullscreen: false,
|
|
68
|
+
fullscreenable: true,
|
|
69
|
+
frame: true,
|
|
70
|
+
titleBarStyle: 'default',
|
|
71
|
+
autoHideMenuBar: true,
|
|
72
|
+
webPreferences: {
|
|
73
|
+
nodeIntegration: false,
|
|
74
|
+
contextIsolation: true,
|
|
75
|
+
sandbox: true,
|
|
76
|
+
webSecurity: true,
|
|
77
|
+
devTools: false, // Disabled in production
|
|
78
|
+
},
|
|
79
|
+
singleInstance: true,
|
|
80
|
+
tray: false,
|
|
81
|
+
autoUpdater: true,
|
|
82
|
+
...partial,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function createDefaultMobileLayout() {
|
|
86
|
+
return {
|
|
87
|
+
id: 'default-mobile',
|
|
88
|
+
name: 'Default',
|
|
89
|
+
controls: [
|
|
90
|
+
{
|
|
91
|
+
id: 'move-stick',
|
|
92
|
+
type: 'joystick',
|
|
93
|
+
position: { x: 0.15, y: 0.75 },
|
|
94
|
+
size: 0.18,
|
|
95
|
+
anchor: 'bottom-left',
|
|
96
|
+
opacity: 0.6,
|
|
97
|
+
hapticFeedback: true,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: 'btn-a',
|
|
101
|
+
type: 'button',
|
|
102
|
+
position: { x: 0.85, y: 0.75 },
|
|
103
|
+
size: 0.08,
|
|
104
|
+
anchor: 'bottom-right',
|
|
105
|
+
opacity: 0.6,
|
|
106
|
+
hapticFeedback: true,
|
|
107
|
+
label: 'A',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: 'btn-b',
|
|
111
|
+
type: 'button',
|
|
112
|
+
position: { x: 0.78, y: 0.85 },
|
|
113
|
+
size: 0.07,
|
|
114
|
+
anchor: 'bottom-right',
|
|
115
|
+
opacity: 0.6,
|
|
116
|
+
hapticFeedback: true,
|
|
117
|
+
label: 'B',
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
autoHide: true,
|
|
121
|
+
autoHideDelay: 3000,
|
|
122
|
+
customizable: true,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
const MOBILE_PERF_PROFILES = {
|
|
126
|
+
low: {
|
|
127
|
+
tier: 'low', maxFPS: 30, renderScale: 0.5, maxParticles: 100,
|
|
128
|
+
maxAudioSources: 8, shadowQuality: 'off', postProcessing: false,
|
|
129
|
+
textureQuality: 'low', physicsBroadPhaseSize: 64,
|
|
130
|
+
},
|
|
131
|
+
medium: {
|
|
132
|
+
tier: 'medium', maxFPS: 60, renderScale: 0.75, maxParticles: 500,
|
|
133
|
+
maxAudioSources: 16, shadowQuality: 'low', postProcessing: true,
|
|
134
|
+
textureQuality: 'medium', physicsBroadPhaseSize: 128,
|
|
135
|
+
},
|
|
136
|
+
high: {
|
|
137
|
+
tier: 'high', maxFPS: 60, renderScale: 1, maxParticles: 2000,
|
|
138
|
+
maxAudioSources: 32, shadowQuality: 'high', postProcessing: true,
|
|
139
|
+
textureQuality: 'high', physicsBroadPhaseSize: 256,
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
exports.DEFAULT_ASSET_OPTIMIZATION = DEFAULT_ASSET_OPTIMIZATION;
|
|
144
|
+
exports.MOBILE_PERF_PROFILES = MOBILE_PERF_PROFILES;
|
|
145
|
+
exports.createCapacitorConfig = createCapacitorConfig;
|
|
146
|
+
exports.createDefaultMobileLayout = createDefaultMobileLayout;
|
|
147
|
+
exports.createElectronConfig = createElectronConfig;
|
|
148
|
+
exports.generateServiceWorkerConfig = generateServiceWorkerConfig;
|
|
149
|
+
//# sourceMappingURL=MobileExport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileExport.js","sources":["../../../src/release/MobileExport.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* ────────────────────────────────────────────────────────────────
|
|
4
|
+
Phase 7 Sprint 7.3-7.4 — Documentation & Release utilities
|
|
5
|
+
|
|
6
|
+
API Doc generation, Migration helpers, Changelog, Benchmarks
|
|
7
|
+
──────────────────────────────────────────────────────────────── */
|
|
8
|
+
/** Engine module manifest — used for documentation generation. */
|
|
9
|
+
const ENGINE_MODULES = [
|
|
10
|
+
{ name: 'Core', path: 'core/', description: 'Fundamental types, math, events, service locator', entries: [] },
|
|
11
|
+
{ name: 'ECS', path: 'ecs/', description: 'Entity-Component-System world, components, queries', entries: [] },
|
|
12
|
+
{ name: 'Input', path: 'input/', description: 'Keyboard, mouse, gamepad, touch input management', entries: [] },
|
|
13
|
+
{ name: 'Audio', path: 'audio/', description: 'Sound playback, music, spatial audio', entries: [] },
|
|
14
|
+
{ name: 'Rendering', path: 'rendering/', description: '2D camera, sprite rendering, debug drawing', entries: [] },
|
|
15
|
+
{ name: 'Physics', path: 'physics/', description: '2D physics engine, collisions, spatial hash', entries: [] },
|
|
16
|
+
{ name: 'Scene', path: 'scene/', description: 'Scene management, transitions, prefabs, serialization', entries: [] },
|
|
17
|
+
{ name: 'UI', path: 'ui/', description: 'Game UI elements, HUD, focus navigation', entries: [] },
|
|
18
|
+
{ name: 'Multiplayer', path: 'multiplayer/', description: 'Local multiplayer, split-screen (up to 12 players)', entries: [] },
|
|
19
|
+
{ name: 'Procedural', path: 'procedural/', description: 'Random generation, noise, waves, loot tables, procedural sprites', entries: [] },
|
|
20
|
+
{ name: 'Engine', path: 'engine/', description: 'Main NiceGameEngine wrapper class', entries: [] },
|
|
21
|
+
{ name: 'Editor', path: 'editor/', description: 'React-based game editor, scene editor, asset manager, debug tools', entries: [] },
|
|
22
|
+
{ name: 'Scripting', path: 'scripting/', description: 'Visual node-based scripting system', entries: [] },
|
|
23
|
+
{ name: 'Tilemap', path: 'tilemap/', description: 'Tilemap rendering, auto-tiling, collision layers', entries: [] },
|
|
24
|
+
{ name: 'Animation', path: 'animation/', description: 'Sprite animation, tweens, state machines, easing', entries: [] },
|
|
25
|
+
{ name: 'Pathfinding', path: 'pathfinding/', description: 'A*, flow fields, navigation meshes', entries: [] },
|
|
26
|
+
{ name: 'Network', path: 'network/', description: 'WebRTC networking, lobbies, state sync, RPCs', entries: [] },
|
|
27
|
+
{ name: '3D Runtime', path: 'runtime3d/', description: '3D world, camera, renderer, physics, materials', entries: [] },
|
|
28
|
+
{ name: 'Templates', path: 'templates/', description: 'Game genre templates (30+ templates)', entries: [] },
|
|
29
|
+
{ name: 'Performance', path: 'performance/', description: 'Object pooling, LOD, culling, asset streaming', entries: [] },
|
|
30
|
+
{ name: 'Accessibility', path: 'accessibility/', description: 'Screen reader, colorblind, subtitles, difficulty', entries: [] },
|
|
31
|
+
];
|
|
32
|
+
/* ══════════════════════════════════════════════════════════════
|
|
33
|
+
Version & Migration
|
|
34
|
+
══════════════════════════════════════════════════════════════ */
|
|
35
|
+
const ENGINE_VERSION = '1.0.0';
|
|
36
|
+
const ENGINE_NAME = '@nice2dev/game-engine';
|
|
37
|
+
const CHANGELOG = [
|
|
38
|
+
{
|
|
39
|
+
from: '0.1.0',
|
|
40
|
+
to: '1.0.0',
|
|
41
|
+
changes: [
|
|
42
|
+
{ type: 'new', module: 'core', description: 'Initial stable release with full 2D + 3D engine' },
|
|
43
|
+
{ type: 'new', module: 'ecs', description: 'ECS world with 11 built-in component types' },
|
|
44
|
+
{ type: 'new', module: 'multiplayer', description: 'Split-screen up to 12 players' },
|
|
45
|
+
{ type: 'new', module: 'network', description: 'WebRTC P2P networking with lobby system' },
|
|
46
|
+
{ type: 'new', module: 'runtime3d', description: '3D rendering, physics, materials' },
|
|
47
|
+
{ type: 'new', module: 'templates', description: '30+ game genre templates' },
|
|
48
|
+
{ type: 'new', module: 'performance', description: 'Object pooling, LOD, frustum culling' },
|
|
49
|
+
{ type: 'new', module: 'accessibility', description: 'Full accessibility support' },
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
function runBenchmark(name, fn, iterations = 1000) {
|
|
54
|
+
// Warmup
|
|
55
|
+
for (let i = 0; i < 10; i++)
|
|
56
|
+
fn();
|
|
57
|
+
let total = 0;
|
|
58
|
+
let min = Infinity;
|
|
59
|
+
let max = 0;
|
|
60
|
+
for (let i = 0; i < iterations; i++) {
|
|
61
|
+
const start = performance.now();
|
|
62
|
+
fn();
|
|
63
|
+
const elapsed = performance.now() - start;
|
|
64
|
+
total += elapsed;
|
|
65
|
+
if (elapsed < min)
|
|
66
|
+
min = elapsed;
|
|
67
|
+
if (elapsed > max)
|
|
68
|
+
max = elapsed;
|
|
69
|
+
}
|
|
70
|
+
const avg = total / iterations;
|
|
71
|
+
return {
|
|
72
|
+
name, iterations, totalMs: total, avgMs: avg,
|
|
73
|
+
minMs: min, maxMs: max,
|
|
74
|
+
opsPerSecond: 1000 / avg,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function formatBenchmark(result) {
|
|
78
|
+
return `${result.name}: ${result.avgMs.toFixed(4)}ms avg (${result.opsPerSecond.toFixed(0)} ops/s) [${result.iterations} iterations, min=${result.minMs.toFixed(4)}ms, max=${result.maxMs.toFixed(4)}ms]`;
|
|
79
|
+
}
|
|
80
|
+
function detectCapabilities() {
|
|
81
|
+
var _a, _b;
|
|
82
|
+
const isBrowser = typeof window !== 'undefined';
|
|
83
|
+
const hasDocument = typeof document !== 'undefined';
|
|
84
|
+
const hasNavigator = typeof navigator !== 'undefined';
|
|
85
|
+
const testCanvas = () => {
|
|
86
|
+
if (!hasDocument)
|
|
87
|
+
return null;
|
|
88
|
+
try {
|
|
89
|
+
return document.createElement('canvas');
|
|
90
|
+
}
|
|
91
|
+
catch (_a) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const canvas = testCanvas();
|
|
96
|
+
return {
|
|
97
|
+
webgl: !!((_a = canvas === null || canvas === void 0 ? void 0 : canvas.getContext) === null || _a === void 0 ? void 0 : _a.call(canvas, 'webgl')),
|
|
98
|
+
webgl2: !!((_b = canvas === null || canvas === void 0 ? void 0 : canvas.getContext) === null || _b === void 0 ? void 0 : _b.call(canvas, 'webgl2')),
|
|
99
|
+
webgpu: isBrowser && 'gpu' in navigator,
|
|
100
|
+
webAudio: isBrowser && ('AudioContext' in window || 'webkitAudioContext' in window),
|
|
101
|
+
gamepad: hasNavigator && 'getGamepads' in navigator,
|
|
102
|
+
touch: isBrowser && ('ontouchstart' in window || (hasNavigator && navigator.maxTouchPoints > 0)),
|
|
103
|
+
webrtc: isBrowser && 'RTCPeerConnection' in window,
|
|
104
|
+
webSocket: isBrowser && 'WebSocket' in window,
|
|
105
|
+
sharedArrayBuffer: typeof SharedArrayBuffer !== 'undefined',
|
|
106
|
+
offscreenCanvas: isBrowser && 'OffscreenCanvas' in window,
|
|
107
|
+
pointerLock: hasDocument && 'exitPointerLock' in document,
|
|
108
|
+
fullscreen: hasDocument && ('exitFullscreen' in document || 'webkitExitFullscreen' in document),
|
|
109
|
+
vibration: hasNavigator && 'vibrate' in navigator,
|
|
110
|
+
performance: typeof performance !== 'undefined' && 'now' in performance,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
const DEFAULT_EXPORT_CONFIG = {
|
|
114
|
+
target: 'web',
|
|
115
|
+
minify: true,
|
|
116
|
+
sourceMaps: false,
|
|
117
|
+
treeshake: true,
|
|
118
|
+
splitChunks: true,
|
|
119
|
+
publicPath: '/',
|
|
120
|
+
outputDir: 'dist',
|
|
121
|
+
serviceWorker: false,
|
|
122
|
+
manifest: false,
|
|
123
|
+
};
|
|
124
|
+
/** Generate a minimal PWA manifest. */
|
|
125
|
+
function generatePWAManifest(name, shortName, description, themeColor = '#000000') {
|
|
126
|
+
return {
|
|
127
|
+
name,
|
|
128
|
+
short_name: shortName,
|
|
129
|
+
description,
|
|
130
|
+
start_url: '/',
|
|
131
|
+
display: 'fullscreen',
|
|
132
|
+
orientation: 'landscape',
|
|
133
|
+
theme_color: themeColor,
|
|
134
|
+
background_color: '#000000',
|
|
135
|
+
icons: [
|
|
136
|
+
{ src: '/icon-192.png', sizes: '192x192', type: 'image/png' },
|
|
137
|
+
{ src: '/icon-512.png', sizes: '512x512', type: 'image/png' },
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
exports.CHANGELOG = CHANGELOG;
|
|
143
|
+
exports.DEFAULT_EXPORT_CONFIG = DEFAULT_EXPORT_CONFIG;
|
|
144
|
+
exports.ENGINE_MODULES = ENGINE_MODULES;
|
|
145
|
+
exports.ENGINE_NAME = ENGINE_NAME;
|
|
146
|
+
exports.ENGINE_VERSION = ENGINE_VERSION;
|
|
147
|
+
exports.detectCapabilities = detectCapabilities;
|
|
148
|
+
exports.formatBenchmark = formatBenchmark;
|
|
149
|
+
exports.generatePWAManifest = generatePWAManifest;
|
|
150
|
+
exports.runBenchmark = runBenchmark;
|
|
151
|
+
//# sourceMappingURL=Release.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Release.js","sources":["../../../src/release/Release.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|