@nice2dev/game-engine 0.1.0 → 1.0.3
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 +193 -1
- package/dist/cjs/ai/BehaviorTree.js +1215 -0
- package/dist/cjs/ai/BehaviorTree.js.map +1 -0
- package/dist/cjs/ai/StateMachine.js +783 -0
- package/dist/cjs/ai/StateMachine.js.map +1 -0
- package/dist/cjs/audio/AudioBridge.js +454 -0
- package/dist/cjs/audio/AudioBridge.js.map +1 -0
- package/dist/cjs/devtools/GameplayAnalytics.js +651 -0
- package/dist/cjs/devtools/GameplayAnalytics.js.map +1 -0
- package/dist/cjs/dialogue/DialogueSystem.js +1023 -0
- package/dist/cjs/dialogue/DialogueSystem.js.map +1 -0
- package/dist/cjs/editor/NiceGameEditor.js +569 -71
- package/dist/cjs/editor/NiceGameEditor.js.map +1 -1
- package/dist/cjs/editor/ShaderGraph.js +1616 -0
- package/dist/cjs/editor/ShaderGraph.js.map +1 -0
- package/dist/cjs/editor/TimelineEditor.js +819 -0
- package/dist/cjs/editor/TimelineEditor.js.map +1 -0
- package/dist/cjs/engine/SaveSystemV2.js +494 -0
- package/dist/cjs/engine/SaveSystemV2.js.map +1 -0
- package/dist/cjs/export/GodotExporter.js +1102 -0
- package/dist/cjs/export/GodotExporter.js.map +1 -0
- package/dist/cjs/export/PlatformExporter.js +236 -0
- package/dist/cjs/export/PlatformExporter.js.map +1 -0
- package/dist/cjs/export/ThreeJSExporter.js +1116 -0
- package/dist/cjs/export/ThreeJSExporter.js.map +1 -0
- package/dist/cjs/export/UnityExporter.js +1193 -0
- package/dist/cjs/export/UnityExporter.js.map +1 -0
- package/dist/cjs/export/WebExporter.js +1036 -0
- package/dist/cjs/export/WebExporter.js.map +1 -0
- package/dist/cjs/export/index.js +58 -0
- package/dist/cjs/export/index.js.map +1 -0
- package/dist/cjs/i18n/useTranslation.js +11 -11
- package/dist/cjs/import/AsepriteImporter.js +761 -0
- package/dist/cjs/import/AsepriteImporter.js.map +1 -0
- package/dist/cjs/import/DragonBonesImporter.js +499 -0
- package/dist/cjs/import/DragonBonesImporter.js.map +1 -0
- package/dist/cjs/import/GameMakerImporter.js +559 -0
- package/dist/cjs/import/GameMakerImporter.js.map +1 -0
- package/dist/cjs/import/GodotSceneImporter.js +824 -0
- package/dist/cjs/import/GodotSceneImporter.js.map +1 -0
- package/dist/cjs/import/LDtkImporter.js +481 -0
- package/dist/cjs/import/LDtkImporter.js.map +1 -0
- package/dist/cjs/import/Live2DImporter.js +553 -0
- package/dist/cjs/import/Live2DImporter.js.map +1 -0
- package/dist/cjs/import/NdgFormat.js +499 -0
- package/dist/cjs/import/NdgFormat.js.map +1 -0
- package/dist/cjs/import/OgmoImporter.js +529 -0
- package/dist/cjs/import/OgmoImporter.js.map +1 -0
- package/dist/cjs/import/RPGMakerImporter.js +520 -0
- package/dist/cjs/import/RPGMakerImporter.js.map +1 -0
- package/dist/cjs/import/SceneImporter.js +449 -0
- package/dist/cjs/import/SceneImporter.js.map +1 -0
- package/dist/cjs/import/SpineImporter.js +583 -0
- package/dist/cjs/import/SpineImporter.js.map +1 -0
- package/dist/cjs/import/SpriterImporter.js +652 -0
- package/dist/cjs/import/SpriterImporter.js.map +1 -0
- package/dist/cjs/import/TiledMapImporter.js +859 -0
- package/dist/cjs/import/TiledMapImporter.js.map +1 -0
- package/dist/cjs/import/UnitySceneImporter.js +732 -0
- package/dist/cjs/import/UnitySceneImporter.js.map +1 -0
- package/dist/cjs/import/index.js +305 -0
- package/dist/cjs/import/index.js.map +1 -0
- package/dist/cjs/index.js +291 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/input/GamepadNavigation.js +21 -21
- package/dist/cjs/input/useGamepads.js +6 -6
- package/dist/cjs/integration/IconSprite.js +281 -0
- package/dist/cjs/integration/IconSprite.js.map +1 -0
- package/dist/cjs/inventory/InventorySystem.js +930 -0
- package/dist/cjs/inventory/InventorySystem.js.map +1 -0
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -1
- package/dist/cjs/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -1
- package/dist/cjs/quest/QuestSystem.js +924 -0
- package/dist/cjs/quest/QuestSystem.js.map +1 -0
- package/dist/cjs/rendering/WebGPURenderPipeline.js +658 -0
- package/dist/cjs/rendering/WebGPURenderPipeline.js.map +1 -0
- package/dist/cjs/scripting/GraphToAST.js +567 -0
- package/dist/cjs/scripting/GraphToAST.js.map +1 -0
- package/dist/cjs/scripting/LanguageExporter.js +321 -0
- package/dist/cjs/scripting/LanguageExporter.js.map +1 -0
- package/dist/cjs/scripting/ScriptAST.js +67 -0
- package/dist/cjs/scripting/ScriptAST.js.map +1 -0
- package/dist/cjs/scripting/VisualScripting2.js +1140 -0
- package/dist/cjs/scripting/VisualScripting2.js.map +1 -0
- package/dist/cjs/scripting/exporters/CSharpExporter.js +503 -0
- package/dist/cjs/scripting/exporters/CSharpExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/GDScriptExporter.js +452 -0
- package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/LuaExporter.js +457 -0
- package/dist/cjs/scripting/exporters/LuaExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/PythonExporter.js +565 -0
- package/dist/cjs/scripting/exporters/PythonExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/RustExporter.js +525 -0
- package/dist/cjs/scripting/exporters/RustExporter.js.map +1 -0
- package/dist/cjs/scripting/exporters/TypeScriptExporter.js +570 -0
- package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +1 -0
- package/dist/cjs/systems/ParticleSystem2.js +1478 -0
- package/dist/cjs/systems/ParticleSystem2.js.map +1 -0
- package/dist/cjs/xr/ARVR.js.map +1 -1
- package/dist/esm/ai/BehaviorTree.js +1186 -0
- package/dist/esm/ai/BehaviorTree.js.map +1 -0
- package/dist/esm/ai/StateMachine.js +767 -0
- package/dist/esm/ai/StateMachine.js.map +1 -0
- package/dist/esm/audio/AudioBridge.js +446 -0
- package/dist/esm/audio/AudioBridge.js.map +1 -0
- package/dist/esm/devtools/GameplayAnalytics.js +639 -0
- package/dist/esm/devtools/GameplayAnalytics.js.map +1 -0
- package/dist/esm/dialogue/DialogueSystem.js +1008 -0
- package/dist/esm/dialogue/DialogueSystem.js.map +1 -0
- package/dist/esm/editor/NiceGameEditor.js +556 -58
- package/dist/esm/editor/NiceGameEditor.js.map +1 -1
- package/dist/esm/editor/ShaderGraph.js +1606 -0
- package/dist/esm/editor/ShaderGraph.js.map +1 -0
- package/dist/esm/editor/TimelineEditor.js +800 -0
- package/dist/esm/editor/TimelineEditor.js.map +1 -0
- package/dist/esm/engine/SaveSystemV2.js +487 -0
- package/dist/esm/engine/SaveSystemV2.js.map +1 -0
- package/dist/esm/export/GodotExporter.js +1100 -0
- package/dist/esm/export/GodotExporter.js.map +1 -0
- package/dist/esm/export/PlatformExporter.js +230 -0
- package/dist/esm/export/PlatformExporter.js.map +1 -0
- package/dist/esm/export/ThreeJSExporter.js +1114 -0
- package/dist/esm/export/ThreeJSExporter.js.map +1 -0
- package/dist/esm/export/UnityExporter.js +1191 -0
- package/dist/esm/export/UnityExporter.js.map +1 -0
- package/dist/esm/export/WebExporter.js +1033 -0
- package/dist/esm/export/WebExporter.js.map +1 -0
- package/dist/esm/export/index.js +44 -0
- package/dist/esm/export/index.js.map +1 -0
- package/dist/esm/import/AsepriteImporter.js +759 -0
- package/dist/esm/import/AsepriteImporter.js.map +1 -0
- package/dist/esm/import/DragonBonesImporter.js +496 -0
- package/dist/esm/import/DragonBonesImporter.js.map +1 -0
- package/dist/esm/import/GameMakerImporter.js +556 -0
- package/dist/esm/import/GameMakerImporter.js.map +1 -0
- package/dist/esm/import/GodotSceneImporter.js +822 -0
- package/dist/esm/import/GodotSceneImporter.js.map +1 -0
- package/dist/esm/import/LDtkImporter.js +479 -0
- package/dist/esm/import/LDtkImporter.js.map +1 -0
- package/dist/esm/import/Live2DImporter.js +550 -0
- package/dist/esm/import/Live2DImporter.js.map +1 -0
- package/dist/esm/import/NdgFormat.js +490 -0
- package/dist/esm/import/NdgFormat.js.map +1 -0
- package/dist/esm/import/OgmoImporter.js +526 -0
- package/dist/esm/import/OgmoImporter.js.map +1 -0
- package/dist/esm/import/RPGMakerImporter.js +517 -0
- package/dist/esm/import/RPGMakerImporter.js.map +1 -0
- package/dist/esm/import/SceneImporter.js +441 -0
- package/dist/esm/import/SceneImporter.js.map +1 -0
- package/dist/esm/import/SpineImporter.js +580 -0
- package/dist/esm/import/SpineImporter.js.map +1 -0
- package/dist/esm/import/SpriterImporter.js +649 -0
- package/dist/esm/import/SpriterImporter.js.map +1 -0
- package/dist/esm/import/TiledMapImporter.js +857 -0
- package/dist/esm/import/TiledMapImporter.js.map +1 -0
- package/dist/esm/import/UnitySceneImporter.js +730 -0
- package/dist/esm/import/UnitySceneImporter.js.map +1 -0
- package/dist/esm/import/index.js +279 -0
- package/dist/esm/import/index.js.map +1 -0
- package/dist/esm/index.js +47 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/integration/IconSprite.js +266 -0
- package/dist/esm/integration/IconSprite.js.map +1 -0
- package/dist/esm/inventory/InventorySystem.js +924 -0
- package/dist/esm/inventory/InventorySystem.js.map +1 -0
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AbortController.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Errors.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpClient.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnection.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ILogger.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ITransport.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Loggers.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Subject.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/Utils.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js.map +1 -1
- package/dist/esm/node_modules/@microsoft/signalr/dist/esm/pkg-version.js.map +1 -1
- package/dist/esm/quest/QuestSystem.js +916 -0
- package/dist/esm/quest/QuestSystem.js.map +1 -0
- package/dist/esm/rendering/WebGPURenderPipeline.js +642 -0
- package/dist/esm/rendering/WebGPURenderPipeline.js.map +1 -0
- package/dist/esm/scripting/GraphToAST.js +564 -0
- package/dist/esm/scripting/GraphToAST.js.map +1 -0
- package/dist/esm/scripting/LanguageExporter.js +311 -0
- package/dist/esm/scripting/LanguageExporter.js.map +1 -0
- package/dist/esm/scripting/ScriptAST.js +52 -0
- package/dist/esm/scripting/ScriptAST.js.map +1 -0
- package/dist/esm/scripting/VisualScripting2.js +1130 -0
- package/dist/esm/scripting/VisualScripting2.js.map +1 -0
- package/dist/esm/scripting/exporters/CSharpExporter.js +501 -0
- package/dist/esm/scripting/exporters/CSharpExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/GDScriptExporter.js +450 -0
- package/dist/esm/scripting/exporters/GDScriptExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/LuaExporter.js +455 -0
- package/dist/esm/scripting/exporters/LuaExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/PythonExporter.js +563 -0
- package/dist/esm/scripting/exporters/PythonExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/RustExporter.js +523 -0
- package/dist/esm/scripting/exporters/RustExporter.js.map +1 -0
- package/dist/esm/scripting/exporters/TypeScriptExporter.js +568 -0
- package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +1 -0
- package/dist/esm/systems/ParticleSystem2.js +1471 -0
- package/dist/esm/systems/ParticleSystem2.js.map +1 -0
- package/dist/esm/xr/ARVR.js.map +1 -1
- package/dist/types/__tests__/setup.d.ts +1 -1
- package/dist/types/ai/BehaviorTree.d.ts +375 -0
- package/dist/types/ai/StateMachine.d.ts +296 -0
- package/dist/types/audio/AudioBridge.d.ts +199 -0
- package/dist/types/devtools/GameplayAnalytics.d.ts +279 -0
- package/dist/types/dialogue/DialogueSystem.d.ts +326 -0
- package/dist/types/dialogue/index.d.ts +2 -0
- package/dist/types/editor/NiceGameEditor.d.ts +12 -1
- package/dist/types/editor/ShaderGraph.d.ts +207 -0
- package/dist/types/editor/TimelineEditor.d.ts +393 -0
- package/dist/types/engine/SaveSystemV2.d.ts +155 -0
- package/dist/types/export/GodotExporter.d.ts +56 -0
- package/dist/types/export/PlatformExporter.d.ts +201 -0
- package/dist/types/export/ThreeJSExporter.d.ts +40 -0
- package/dist/types/export/UnityExporter.d.ts +69 -0
- package/dist/types/export/WebExporter.d.ts +58 -0
- package/dist/types/export/index.d.ts +19 -0
- package/dist/types/import/AsepriteImporter.d.ts +46 -0
- package/dist/types/import/DragonBonesImporter.d.ts +331 -0
- package/dist/types/import/GameMakerImporter.d.ts +375 -0
- package/dist/types/import/GodotSceneImporter.d.ts +34 -0
- package/dist/types/import/LDtkImporter.d.ts +177 -0
- package/dist/types/import/Live2DImporter.d.ts +237 -0
- package/dist/types/import/NdgFormat.d.ts +387 -0
- package/dist/types/import/OgmoImporter.d.ts +237 -0
- package/dist/types/import/RPGMakerImporter.d.ts +186 -0
- package/dist/types/import/SceneImporter.d.ts +276 -0
- package/dist/types/import/SpineImporter.d.ts +372 -0
- package/dist/types/import/SpriterImporter.d.ts +230 -0
- package/dist/types/import/TiledMapImporter.d.ts +57 -0
- package/dist/types/import/UnitySceneImporter.d.ts +87 -0
- package/dist/types/import/index.d.ts +59 -0
- package/dist/types/index.d.ts +46 -18
- package/dist/types/integration/IconSprite.d.ts +196 -0
- package/dist/types/inventory/InventorySystem.d.ts +336 -0
- package/dist/types/performance/WebGPUCompute.d.ts +0 -10
- package/dist/types/quest/QuestSystem.d.ts +287 -0
- package/dist/types/rendering/WebGPURenderPipeline.d.ts +255 -0
- package/dist/types/scripting/GraphToAST.d.ts +55 -0
- package/dist/types/scripting/LanguageExporter.d.ts +136 -0
- package/dist/types/scripting/ScriptAST.d.ts +312 -0
- package/dist/types/scripting/VisualScripting2.d.ts +353 -0
- package/dist/types/scripting/exporters/CSharpExporter.d.ts +44 -0
- package/dist/types/scripting/exporters/GDScriptExporter.d.ts +46 -0
- package/dist/types/scripting/exporters/LuaExporter.d.ts +46 -0
- package/dist/types/scripting/exporters/PythonExporter.d.ts +49 -0
- package/dist/types/scripting/exporters/RustExporter.d.ts +46 -0
- package/dist/types/scripting/exporters/TypeScriptExporter.d.ts +48 -0
- package/dist/types/scripting/exporters/index.d.ts +8 -0
- package/dist/types/scripting/index.d.ts +11 -0
- package/dist/types/systems/ParticleSystem2.d.ts +646 -0
- package/package.json +7 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file UnitySceneImporter.ts
|
|
3
|
+
* @description Import Unity scenes (.unity) and prefabs (.prefab)
|
|
4
|
+
* PRO-1.3: Scene Format Interoperability
|
|
5
|
+
*
|
|
6
|
+
* Parses Unity's YAML serialization format and converts to Nice2Dev entities.
|
|
7
|
+
* Supports:
|
|
8
|
+
* - Scene files (.unity)
|
|
9
|
+
* - Prefab files (.prefab)
|
|
10
|
+
* - Asset files (.asset)
|
|
11
|
+
* - Animation clips (.anim)
|
|
12
|
+
* - Materials (.mat)
|
|
13
|
+
*/
|
|
14
|
+
import { SceneImporter, ImportOptions, ImportResult, ParsedScene, ParsedComponent, ParsedAsset, ImportError } from './SceneImporter';
|
|
15
|
+
interface UnityTransform {
|
|
16
|
+
m_LocalRotation: {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
z: number;
|
|
20
|
+
w: number;
|
|
21
|
+
};
|
|
22
|
+
m_LocalPosition: {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
z: number;
|
|
26
|
+
};
|
|
27
|
+
m_LocalScale: {
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
z: number;
|
|
31
|
+
};
|
|
32
|
+
m_Children?: {
|
|
33
|
+
fileID: number;
|
|
34
|
+
}[];
|
|
35
|
+
m_Father?: {
|
|
36
|
+
fileID: number;
|
|
37
|
+
};
|
|
38
|
+
m_RootOrder?: number;
|
|
39
|
+
}
|
|
40
|
+
export declare class UnitySceneImporter extends SceneImporter {
|
|
41
|
+
private documents;
|
|
42
|
+
private gameObjects;
|
|
43
|
+
private transforms;
|
|
44
|
+
private components;
|
|
45
|
+
private prefabs;
|
|
46
|
+
constructor();
|
|
47
|
+
import(options: ImportOptions): Promise<ImportResult>;
|
|
48
|
+
parseFile(content: string | ArrayBuffer, filePath: string): Promise<ParsedScene | ParsedAsset | null>;
|
|
49
|
+
validate(sourcePath: string): Promise<ImportError[]>;
|
|
50
|
+
private parseUnityFile;
|
|
51
|
+
private parseUnityYAML;
|
|
52
|
+
private buildSceneFromDocuments;
|
|
53
|
+
private buildEntityFromTransform;
|
|
54
|
+
private getComponentsForGameObject;
|
|
55
|
+
private convertUnityComponent;
|
|
56
|
+
private extractSceneSettings;
|
|
57
|
+
private extractAssets;
|
|
58
|
+
private extractSpriteReferences;
|
|
59
|
+
private extractAudioReferences;
|
|
60
|
+
private extractAnimationReferences;
|
|
61
|
+
private quaternionToEulerY;
|
|
62
|
+
private readFile;
|
|
63
|
+
/** Convert Unity RectTransform to Nice2Dev format */
|
|
64
|
+
protected convertRectTransform(transform: UnityTransform & {
|
|
65
|
+
m_AnchorMin?: {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
};
|
|
69
|
+
m_AnchorMax?: {
|
|
70
|
+
x: number;
|
|
71
|
+
y: number;
|
|
72
|
+
};
|
|
73
|
+
m_AnchoredPosition?: {
|
|
74
|
+
x: number;
|
|
75
|
+
y: number;
|
|
76
|
+
};
|
|
77
|
+
m_SizeDelta?: {
|
|
78
|
+
x: number;
|
|
79
|
+
y: number;
|
|
80
|
+
};
|
|
81
|
+
m_Pivot?: {
|
|
82
|
+
x: number;
|
|
83
|
+
y: number;
|
|
84
|
+
};
|
|
85
|
+
}): ParsedComponent;
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file index.ts
|
|
3
|
+
* @description Scene Format Import Module Exports
|
|
4
|
+
* PRO-1.3: Scene Format Interoperability
|
|
5
|
+
*/
|
|
6
|
+
export { SceneImporter, IMPORT_SOURCES, parseYAML, parseXML, detectSourceType, getAvailableImporters, hasImporter, } from './SceneImporter';
|
|
7
|
+
export type { ImportSourceType, ImportSourceInfo, ImportOptions, ImportResult, ImportError, ImportWarning, ImportStatistics, ParsedScene, ParsedLayer, ParsedEntity, ParsedComponent, ParsedTileData, ParsedTileset, ParsedTileInfo, ParsedAnimation, ParsedAnimationFrame, ParsedAsset, ParsedSpriteSheet, XMLNode, } from './SceneImporter';
|
|
8
|
+
export { UnitySceneImporter } from './UnitySceneImporter';
|
|
9
|
+
export { GodotSceneImporter } from './GodotSceneImporter';
|
|
10
|
+
export { TiledMapImporter } from './TiledMapImporter';
|
|
11
|
+
export { LDtkImporter } from './LDtkImporter';
|
|
12
|
+
export { AsepriteImporter } from './AsepriteImporter';
|
|
13
|
+
export { OgmoImporter, createOgmoImporter } from './OgmoImporter';
|
|
14
|
+
export type { OgmoProject, OgmoLevel, OgmoLayerDef, OgmoEntityDef, OgmoTilesetDef, OgmoLayerInstance, OgmoEntityInstance, OgmoDecalInstance, } from './OgmoImporter';
|
|
15
|
+
export { RPGMakerImporter, createRPGMakerImporter } from './RPGMakerImporter';
|
|
16
|
+
export type { RPGMakerMap, RPGMakerEvent, RPGMakerEventPage, RPGMakerCommand, RPGMakerMoveRoute, RPGMakerMoveCommand, RPGMakerTileset, } from './RPGMakerImporter';
|
|
17
|
+
export { GameMakerImporter, createGameMakerImporter } from './GameMakerImporter';
|
|
18
|
+
export type { GMRoom, GMLayerInstance, GMRoomInstance, GMTileLayer, GMBackgroundLayer, GMAssetLayer, } from './GameMakerImporter';
|
|
19
|
+
export { SpineImporter, createSpineImporter } from './SpineImporter';
|
|
20
|
+
export type { SpineSkeletonData, SpineBone, SpineSlot, SpineSkin, SpineAttachment, SpineRegionAttachment, SpineMeshAttachment, SpinePointAttachment, SpinePathAttachment, SpineClippingAttachment, SpineEvent, SpineAnimation, } from './SpineImporter';
|
|
21
|
+
export { DragonBonesImporter, createDragonBonesImporter } from './DragonBonesImporter';
|
|
22
|
+
export type { DBSkeletonData, DBArmature, DBBone, DBSlot, DBSkin, DBDisplay, DBImageDisplay, DBMeshDisplay, DBArmatureDisplay, DBBoundingBoxDisplay, DBPathDisplay, DBAnimation, DBTextureAtlas, } from './DragonBonesImporter';
|
|
23
|
+
export { Live2DImporter, createLive2DImporter } from './Live2DImporter';
|
|
24
|
+
export type { L2DModelSettings, L2DFileReferences, L2DExpressionRef, L2DMotionRef, L2DGroup, L2DHitArea, L2DPhysics, L2DPhysicsSetting, L2DPose, L2DExpression, L2DMotion, L2DMotionCurve, L2DDisplayInfo, } from './Live2DImporter';
|
|
25
|
+
export { SpriterImporter, createSpriterImporter } from './SpriterImporter';
|
|
26
|
+
export type { SpriterProject, SpriterData, SpriterFolder, SpriterFile, SpriterEntity, SpriterAnimation, SpriterMainline, SpriterTimeline, SpriterTimelineKey, SpriterBone, SpriterObject, SpriterCharacterMap, } from './SpriterImporter';
|
|
27
|
+
export { NdgImporter, NdgExporter, NdgBidirectionalSync, createNdgImporter, createNdgExporter, createBidirectionalSync, sceneToNdg, ndgToScene, } from './NdgFormat';
|
|
28
|
+
export type { NdgFile, NdgGenerator, NdgSource, NdgProject, NdgProjectSettings, NdgPhysicsSettings, NdgAudioSettings, NdgRenderingSettings, NdgInputSettings, NdgInputAction, NdgScene, NdgSceneSettings, NdgCameraSettings, NdgLightingSettings, NdgLayerDef, NdgEntity, NdgTransform, NdgComponent, NdgPrefabRef, NdgPrefabOverride, NdgScript, NdgScriptRef, NdgTilemap, NdgTilemapLayer, NdgAsset, NdgAssetImportSettings, NdgAssetBundle, } from './NdgFormat';
|
|
29
|
+
import { SceneImporter, ImportSourceType } from './SceneImporter';
|
|
30
|
+
import { NdgImporter } from './NdgFormat';
|
|
31
|
+
/**
|
|
32
|
+
* Create an importer for the specified source type
|
|
33
|
+
*/
|
|
34
|
+
export declare function createImporter(sourceType: ImportSourceType | string): SceneImporter;
|
|
35
|
+
/**
|
|
36
|
+
* Create importer for NDG native format
|
|
37
|
+
*/
|
|
38
|
+
export declare function createNativeImporter(): NdgImporter;
|
|
39
|
+
/**
|
|
40
|
+
* Get importer for file based on extension
|
|
41
|
+
*/
|
|
42
|
+
export declare function getImporterForFile(filePath: string): SceneImporter | null;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a file can be imported
|
|
45
|
+
*/
|
|
46
|
+
export declare function canImport(filePath: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Get all supported file extensions
|
|
49
|
+
*/
|
|
50
|
+
export declare function getSupportedExtensions(): string[];
|
|
51
|
+
/**
|
|
52
|
+
* Get supported formats info
|
|
53
|
+
*/
|
|
54
|
+
export declare function getSupportedFormats(): Array<{
|
|
55
|
+
name: string;
|
|
56
|
+
type: ImportSourceType | string;
|
|
57
|
+
extensions: string[];
|
|
58
|
+
description: string;
|
|
59
|
+
}>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ export { GameConfig } from './core/GameConfig';
|
|
|
5
5
|
export { EventBus } from './core/EventBus';
|
|
6
6
|
export { ServiceLocator, SERVICE_KEYS } from './core/ServiceLocator';
|
|
7
7
|
export { v2 } from './core/math';
|
|
8
|
-
export { World, System, createDefaultComponent
|
|
8
|
+
export { World, System, createDefaultComponent } from './ecs/World';
|
|
9
9
|
export type { Entity, ComponentMap, BuiltInComponent, TransformComponent, SpriteComponent, ShapeComponent, Collider2DComponent, RigidBody2DComponent, TextComponent, AnimatorComponent, ScriptComponent, AudioSourceComponent, ParticleEmitterComponent, CameraTargetComponent, SpriteAnimation, AnimationFrame, } from './ecs/World';
|
|
10
|
-
export { InputManager, PRESET_PLATFORMER, PRESET_TOPDOWN, PRESET_TWIN_STICK } from './input/InputManager';
|
|
11
|
-
export { GamepadNavigationProvider, useGamepadNavigation } from './input/GamepadNavigation';
|
|
10
|
+
export { InputManager, PRESET_PLATFORMER, PRESET_TOPDOWN, PRESET_TWIN_STICK, } from './input/InputManager';
|
|
11
|
+
export { GamepadNavigationProvider as NiceGamepadNavigationProvider, GamepadNavigationProvider, useGamepadNavigation, } from './input/GamepadNavigation';
|
|
12
12
|
export type { FocusableMeta, GamepadNavigationContextType } from './input/GamepadNavigation';
|
|
13
13
|
export { useGamepads, useGamepadEdges } from './input/useGamepads';
|
|
14
14
|
export type { GamepadSnapshot } from './input/useGamepads';
|
|
@@ -18,26 +18,26 @@ export { Renderer2D, RenderSystem } from './rendering/Renderer2D';
|
|
|
18
18
|
export { PhysicsEngine2D, PhysicsSystem } from './physics/PhysicsEngine2D';
|
|
19
19
|
export { SceneManager } from './scene/SceneManager';
|
|
20
20
|
export type { SceneConfig, SceneTransition, TransitionType, PrefabDef } from './scene/SceneManager';
|
|
21
|
-
export { GameUI } from './ui/GameUI';
|
|
21
|
+
export { GameUI as NiceGameUI, GameUI } from './ui/GameUI';
|
|
22
22
|
export type { UIElement, UIStyle, UITheme, UIAnchor, UIElementType } from './ui/GameUI';
|
|
23
23
|
export { PlayerManager, SplitScreenManager, PLAYER_COLORS } from './multiplayer/LocalMultiplayer';
|
|
24
24
|
export type { Player, Viewport } from './multiplayer/LocalMultiplayer';
|
|
25
25
|
export { GameRegistry, gameRegistry, MINI_PLAYER_COLORS, MINI_PLAYER_NAMES, KEYBOARD_GROUPS, DIR_UP, DIR_DOWN, DIR_LEFT, DIR_RIGHT, } from './multiplayer/MiniGameTypes';
|
|
26
26
|
export type { PlayerSlot, InputSource, Dir, KeyboardGroup, MiniGameMeta, MiniGameConfig, } from './multiplayer/MiniGameTypes';
|
|
27
|
-
export { SeededRandom, PerlinNoise, WaveGenerator, LootTable, ProceduralSprite } from './procedural/Procedural';
|
|
27
|
+
export { SeededRandom, PerlinNoise, WaveGenerator, LootTable as ProceduralLootTable, ProceduralSprite, } from './procedural/Procedural';
|
|
28
28
|
export type { WaveEntry, WaveConfig, LootDrop } from './procedural/Procedural';
|
|
29
29
|
export { NiceGameEngine } from './engine/NiceGameEngine';
|
|
30
30
|
export type { EngineOptions } from './engine/NiceGameEngine';
|
|
31
31
|
export { WaveDefenseTemplate, DEFAULT_WAVE_DEFENSE_CONFIG } from './templates/WaveDefense';
|
|
32
|
-
export type { WaveDefenseConfig, WaveDefenseState, UpgradeDef, UpgradeEffect } from './templates/WaveDefense';
|
|
33
|
-
export { NiceGameEditor, UndoStack, useEditor, serializeProject, deserializeProject } from './editor/NiceGameEditor';
|
|
34
|
-
export type { NiceGameEditorProps, EditorContextValue, EditorState, EditorTool, EditorMode, EditorPanel, UndoEntry } from './editor/NiceGameEditor';
|
|
32
|
+
export type { WaveDefenseConfig, WaveDefenseState, UpgradeDef, UpgradeEffect, } from './templates/WaveDefense';
|
|
33
|
+
export { NiceGameEditor, UndoStack, useEditor, serializeProject, deserializeProject, } from './editor/NiceGameEditor';
|
|
34
|
+
export type { NiceGameEditorProps, EditorContextValue, EditorState, EditorTool, EditorMode, EditorPanel, UndoEntry, } from './editor/NiceGameEditor';
|
|
35
35
|
export { createGizmoState, getSelectionRect, entitiesInRect, snapToGrid, snapVec2ToGrid, renderGrid, renderTranslateGizmo, renderRotateGizmo, renderScaleGizmo, hitTestGizmoAxis, pickEntityAt, copyEntities, pasteEntities, } from './editor/SceneEditor';
|
|
36
|
-
export type { GizmoMode, GizmoAxis, GizmoState, SelectionBox, ClipboardEntry } from './editor/SceneEditor';
|
|
36
|
+
export type { GizmoMode, GizmoAxis, GizmoState, SelectionBox, ClipboardEntry, } from './editor/SceneEditor';
|
|
37
37
|
export { AssetManager } from './editor/AssetManager';
|
|
38
38
|
export type { AssetMetadata, AssetFolder } from './editor/AssetManager';
|
|
39
|
-
export { Profiler, FPSCounter, ConsoleLogger, snapshotEntity, snapshotWorld, renderCollisionDebug, getMemoryStats } from './editor/DebugTools';
|
|
40
|
-
export type { ProfilerSample, ProfilerFrame, LogLevel, LogEntry, EntitySnapshot, MemoryStats } from './editor/DebugTools';
|
|
39
|
+
export { Profiler, FPSCounter, ConsoleLogger, snapshotEntity, snapshotWorld, renderCollisionDebug, getMemoryStats, } from './editor/DebugTools';
|
|
40
|
+
export type { ProfilerSample, ProfilerFrame, LogLevel, LogEntry, EntitySnapshot, MemoryStats, } from './editor/DebugTools';
|
|
41
41
|
export { NodeLibrary, GraphExecutor, registerBuiltInNodes, createDefaultNodeLibrary, } from './scripting/NodeGraph';
|
|
42
42
|
export type { PortDataType, PortDef, NodeDef, NodeInstance, Connection, ScriptGraph, GraphVariable, } from './scripting/NodeGraph';
|
|
43
43
|
export { Tilemap, computeAutoTileMask } from './tilemap/Tilemap';
|
|
@@ -49,7 +49,7 @@ export type { PathGrid, PathfinderOptions, NavPolygon, NavMesh } from './pathfin
|
|
|
49
49
|
export { PeerManager, createWebSocketSignaling, NetworkManager, SnapshotBuffer, ClientPrediction, interpolateState, LobbyManager, } from './network/Networking';
|
|
50
50
|
export type { ConnectionState, PeerInfo, SignalingMessage, SignalingTransport, RTCConfig, NetworkMode, NetworkIdentity, RPCDef, SyncVarDef, NetworkMessage, Snapshot, EntityState, PredictionInput, LobbyRoom, LobbyPlayer, } from './network/Networking';
|
|
51
51
|
export { LocalTransport, SignalRTransport } from './network/MultiplayerTransport';
|
|
52
|
-
export type { IMultiplayerTransport, TransportState, TransportMessage } from './network/MultiplayerTransport';
|
|
52
|
+
export type { IMultiplayerTransport, TransportState, TransportMessage, } from './network/MultiplayerTransport';
|
|
53
53
|
export { v3, quat, World3D, PhysicsWorld3D, Renderer3D, createDefaultCamera3DSettings, updateOrbitCamera, updateCharacterController, DEFAULT_CHARACTER_CONFIG, } from './runtime3d/Runtime3D';
|
|
54
54
|
export type { Vec3 as Vec3_3D, Quaternion, Transform3D, MeshPrimitive, MeshComponent, LightType, LightComponent, CameraMode3D, Camera3DComponent, Material3D, CameraController, Camera3DSettings, ColliderShape3D, RigidBodyType3D, Collider3DDef, RigidBody3DDef, PhysicsWorld3DConfig, PhysicsBackend3D, RaycastHit3D, RendererBackend3D, CharacterControllerConfig, CharacterState, } from './runtime3d/Runtime3D';
|
|
55
55
|
export { createGizmo3DState, snapToGrid3D, placeObject, Terrain3D, MaterialLibrary, createBlendTree, addBlendTreeChild, evaluateBlendTree, DEFAULT_PLACEMENT_CONFIG, DEFAULT_TERRAIN_CONFIG, DEFAULT_SKYBOX, DEFAULT_FPS_CONFIG, DEFAULT_THIRD_PERSON_CONFIG, DEFAULT_RACING_3D_CONFIG, DEFAULT_FLIGHT_SIM_CONFIG, DEFAULT_HORROR_CONFIG, } from './runtime3d/SceneEditor3D';
|
|
@@ -60,6 +60,8 @@ export { DEFAULT_MATCH3_CONFIG, createMatch3Board, findMatches, removeMatches, a
|
|
|
60
60
|
export type { Match3Config, GemType, Match3Board, BlockPuzzleConfig, BlockPuzzleState, PhysicsPuzzleConfig, PuzzleLevelDef, HiddenObjectConfig, HiddenObjectDef, HiddenObjectLevel, CardDef, DeckConfig, } from './templates/PuzzleTemplates';
|
|
61
61
|
export { DEFAULT_RPG_CONFIG, xpForLevel, createInventory, addItem, DEFAULT_VISUAL_NOVEL_CONFIG, parseVNLabels, createVNState, DEFAULT_POINT_AND_CLICK_CONFIG, DEFAULT_ROGUELIKE_CONFIG, generateDungeon, computeFOV, DEFAULT_DUNGEON_CRAWLER_CONFIG, } from './templates/RPGTemplates';
|
|
62
62
|
export type { RPGConfig, RPGStats, RPGCharacter, StatusEffect, ItemDef, Inventory, VisualNovelConfig, VNCommandType, VNCommand, VNChoice, VNScript, VNState, PointAndClickConfig, Hotspot, RoomDef, RoguelikeConfig, TileType, DungeonRoom, DungeonCrawlerConfig, DungeonFloorDef, } from './templates/RPGTemplates';
|
|
63
|
+
export { InventoryManager, InventoryProvider, useInventoryManager, useContainer, useEquipment, } from './inventory/InventorySystem';
|
|
64
|
+
export type { ItemRarity, ItemCategory, EquipmentSlot, StatType, ContainerType, StatModifier, ItemDefinition, ItemInstance, InventorySlot, Container, EquipmentState, CraftingIngredient, CraftingRecipe, LootEntry, LootTable, ShopListing, Shop, InventoryEventType, InventoryEvent, InventoryManagerConfig, InventorySnapshot, } from './inventory/InventorySystem';
|
|
63
65
|
export { DEFAULT_TOP_DOWN_RACING_CONFIG, createRacerState, updateRacer, DEFAULT_SIDE_SCROLLER_RACING_CONFIG, DEFAULT_SOCCER_CONFIG, DEFAULT_BASKETBALL_CONFIG, createSportsState, DEFAULT_GOLF_CONFIG, DEFAULT_BILLIARDS_CONFIG, updateBilliardsBalls, DEFAULT_RHYTHM_CONFIG, createRhythmState, judgeHit, applyHitResult, } from './templates/SportsTemplates';
|
|
64
66
|
export type { TopDownRacingConfig, RacerState, TrackCheckpoint, SideScrollerRacingConfig, SportType, SportsConfig, SportsState, GolfConfig, BilliardsConfig, BilliardsBall, RhythmConfig, NoteType, RhythmNote, RhythmChart, RhythmState, } from './templates/SportsTemplates';
|
|
65
67
|
export { DEFAULT_TOWER_DEFENSE_CONFIG, createTDState, DEFAULT_RTS_CONFIG, createRTSState, DEFAULT_TACTICS_CONFIG, createTurnOrder, nextUnit, DEFAULT_CITY_BUILDER_CONFIG, createCityState, updateCity, DEFAULT_IDLE_CONFIG, createIdleState, getGeneratorCost, getIdleIncome, formatNumber, } from './templates/StrategyTemplates';
|
|
@@ -94,7 +96,7 @@ export { DEFAULT_BRANDING, generateCSSVariables, DEFAULT_PASSWORD_POLICY, valida
|
|
|
94
96
|
export type { BrandingConfig, AuthProvider, AuthConfig, AuthProviderConfig, MFAConfig, PasswordPolicy, Permission, RoleDef, AuditAction, AuditEntry, AuditQuery, Organization, OrgMember, OrgPlan, OrgSettings, APIKey, RateLimitConfig, DeploymentConfig, DatabaseConfig, StorageConfig, CacheConfig, ScalingConfig, } from './enterprise/Enterprise';
|
|
95
97
|
export { I18nManager, getI18n, initI18n, t, registerEngineTranslations, ENGINE_TRANSLATIONS_EN, ENGINE_TRANSLATIONS_PL, ENGINE_TRANSLATIONS_DE, SUPPORTED_LOCALES, LOCALE_NAMES, RTL_LOCALES, } from './i18n/I18n';
|
|
96
98
|
export type { Locale, TranslationDict, TranslationNamespace, InterpolationValues, PluralCategory, PluralRule, I18nConfig, } from './i18n/I18n';
|
|
97
|
-
export { useTranslation, I18nProvider, TranslatedText, LocaleSelect
|
|
99
|
+
export { useTranslation, I18nProvider, TranslatedText, LocaleSelect } from './i18n/useTranslation';
|
|
98
100
|
export type { UseTranslationResult } from './i18n/useTranslation';
|
|
99
101
|
export { TutorialEngine, getBuiltInTutorials, TUTORIAL_FIRST_GAME, TUTORIAL_SPACE_SHOOTER, TUTORIAL_DATAGRID_BASICS, } from './tutorials/TutorialEngine';
|
|
100
102
|
export type { TutorialStepType, TutorialDifficulty, TutorialCategory, QuizOption, CodeValidation, TutorialStep, TutorialDefinition, TutorialProgress, TutorialEvents, CodeValidatorFn, } from './tutorials/TutorialEngine';
|
|
@@ -105,7 +107,7 @@ export type { EngineError, APIHint, PerfSnapshot, PerfDashboard, HealthCheckResu
|
|
|
105
107
|
export { TUTORIAL_ANIMATIONS, TUTORIAL_TILEMAPS, TUTORIAL_VISUAL_SCRIPTING, TUTORIAL_LOCAL_MULTIPLAYER, getTutorials_T05_T08, } from './tutorials/content/Tutorials_T05_T08';
|
|
106
108
|
export { clamp, clampPositive, assertFinite, assertPositive, assertNonNegative, assertInRange, assertNonEmpty, assertCanvasElement, validateGameSettings, validatePhysicsSettings, } from './core/Validation';
|
|
107
109
|
export type { ValidationResult } from './core/Validation';
|
|
108
|
-
export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES
|
|
110
|
+
export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES } from './plugins/PluginSDK';
|
|
109
111
|
export type { PluginState as SDKPluginState, PluginType, PluginManifest as SDKPluginManifest, PluginContext, PluginDefinition, ExtensionPoint, PluginStorage, PluginInstance as SDKPluginInstance, PluginTemplate, MarketplaceEntry, MarketplaceSearchResult, } from './plugins/PluginSDK';
|
|
110
112
|
export { TestPluginStorage, TestPluginContext, PluginAssertionError, pluginAssert, PluginTestRunner, createTestManifest, testPluginLifecycle, formatTestResults, } from './plugins/PluginTestKit';
|
|
111
113
|
export type { TestStatus, TestResult, TestSuiteResult, PluginTestCase, } from './plugins/PluginTestKit';
|
|
@@ -114,14 +116,40 @@ export { TUTORIAL_RPG, TUTORIAL_TOWER_DEFENSE, TUTORIAL_3D_GAME, TUTORIAL_PUBLIS
|
|
|
114
116
|
export { FrameBudgetManager, MemoryLeakDetector, AutoLODManager, WorkerPool, PerfTimer, ObjectPool as LegendaryObjectPool, QUALITY_PRESETS, } from './performance/PerformanceAdvanced';
|
|
115
117
|
export type { FrameBudgetConfig, BudgetReport, FrameBudgetSnapshot, MemoryTracker, MemorySnapshot, LeakSuspect, QualityLevel, AutoLODConfig, QualitySettings, WorkerTaskStatus, WorkerTask, WorkerPoolConfig, } from './performance/PerformanceAdvanced';
|
|
116
118
|
export { TutorialOverlay } from './tutorials/TutorialOverlay';
|
|
117
|
-
export type { OverlayConfig, TooltipPosition, OverlayAction
|
|
118
|
-
export { DocRegistry, DOCS_ECS, DOCS_RENDERING
|
|
119
|
+
export type { OverlayConfig, TooltipPosition, OverlayAction } from './tutorials/TutorialOverlay';
|
|
120
|
+
export { DocRegistry, DOCS_ECS, DOCS_RENDERING } from './docs/DocGenerator';
|
|
119
121
|
export type { DocCategory, DocMemberKind, DocParam, DocMember, DocModule, DocSearchResult, } from './docs/DocGenerator';
|
|
120
122
|
export { BranchingEngine, AchievementEngine, BUILT_IN_ACHIEVEMENTS, } from './tutorials/TutorialBranching';
|
|
121
123
|
export type { BranchConditionType, BranchCondition, BranchRule, BranchingStep, BranchingConfig, BranchContext, AchievementTier, AchievementCondition, AchievementDefinition, AchievementProgress as LegendaryAchievementProgress, } from './tutorials/TutorialBranching';
|
|
122
124
|
export { HotModuleReplacer, AssetPipeline, DeployManager, CollaborationManager, } from './devtools/DevTools';
|
|
123
125
|
export type { HMRModule, HMRUpdate, AssetType as PipelineAssetType, AssetMeta, AssetProcessorOptions, DeployTarget, DeployConfig, DeployResult, CollaboratorCursor, } from './devtools/DevTools';
|
|
124
|
-
export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES
|
|
126
|
+
export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES } from './kids/KidTools';
|
|
125
127
|
export type { WizardChoice, WizardStep, WizardResult, BlockShape, DragBlock, BlockPalette, DragDropState, } from './kids/KidTools';
|
|
126
|
-
export { BenchmarkRunner, BUILTIN_BENCHMARKS
|
|
128
|
+
export { BenchmarkRunner, BUILTIN_BENCHMARKS } from './performance/BenchmarkSuite';
|
|
127
129
|
export type { BenchmarkScenario, BenchmarkTimings, BenchmarkMemory, BenchmarkResult as BenchmarkScenarioResult, BenchmarkReport, RegressionResult, } from './performance/BenchmarkSuite';
|
|
130
|
+
export { iconToSvgString, svgToDataUrl, loadSvgImage, rasterizeSvg, getIconTextureId, registerIconTexture, registerIconCanvasTexture, createIconEntity, createIconAnimationClip, CHARACTER_ANIMATION_STATES, OBJECT_ANIMATION_STATES, registerIconAnimationSet, createIconAnimator, registerIconCatalog, } from './integration/IconSprite';
|
|
131
|
+
export type { IconComponent, IconComponentProps, IconSpriteOptions, IconEntityOptions, IconAnimationFrame, IconAnimationSheetOptions, IconCatalogEntry, } from './integration/IconSprite';
|
|
132
|
+
export { STANDARD_VERTEX_LAYOUT, INSTANCE_LAYOUT, DEFAULT_PBR, DEFAULT_RENDER_CONFIG, GPUResourceTracker, RenderPipelineManager, WebGPURenderer, PostProcessStack, BLOOM_DEFAULTS, FXAA_DEFAULTS, SSAO_DEFAULTS, DOF_DEFAULTS, COLOR_GRADING_DEFAULTS, QUALITY_PRESET_CONFIGS, applyQualityPreset, } from './rendering/WebGPURenderPipeline';
|
|
133
|
+
export type { GPUTextureFormatType, GPUBlendModeType, ToneMappingMode, MaterialType, RenderPassType, LightCategory, PostEffectType, VertexAttribute, VertexBufferLayout, GPUTextureRef, PBRMaterial, UnlitMaterial, SpriteMaterial, CustomMaterial, RenderMaterial, GPULight, RenderBatch, ClusteredLightConfig, ShadowConfig, PostProcessConfig, PostEffectSettings, WebGPURenderConfig, GPUResourceHandle, GPUStats, RenderPassDescriptor, WebGPURendererState, PostProcessPass, QualityPreset, } from './rendering/WebGPURenderPipeline';
|
|
134
|
+
export { AudioBusMixer, SFXPool, MusicManager, GameAudioBridge, useGameAudio, GameAudioSettings, DEFAULT_SPATIAL, } from './audio/AudioBridge';
|
|
135
|
+
export type { AudioBusType, SpatialModel, AudioPoolStrategy, AudioBusConfig, AudioEffectNode, SpatialAudioConfig, AudioPoolConfig, GameAudioEvent, MusicTrack, MusicCrossfadeConfig, AdaptiveAudioRule, AudioSnapshot, GameAudioSettingsProps, } from './audio/AudioBridge';
|
|
136
|
+
export { DialogueEngine, DialogueTreeBuilder, useTypewriter, DialogueBox, ChoiceList, serializeDialogueTree, deserializeDialogueTree, validateDialogueTree, findUnreachableNodes, extractTranslatableStrings, applyLocalization, DEFAULT_TEXT_SPEED, EMOTION_COLORS, createEmptyDialogueTree, } from './dialogue/DialogueSystem';
|
|
137
|
+
export type { DialogueNodeType, DialogueVarType, ComparisonOp, EmotionType, TextEffectType, DialogueVariable, VariableCondition, DialogueCharacter, DialogueNodeBase, StartNode, TextNode, ChoiceOption, ChoiceNode, BranchNode, SetVariableNode, CheckVariableNode, EventNode, RandomNode, EndNode, DialogueNode, DialogueTree, } from './dialogue/DialogueSystem';
|
|
138
|
+
export { QuestManager, QuestBuilder, QuestList, QuestTracker, createEmptyQuest, DIFFICULTY_COLORS, DIFFICULTY_XP_MULTIPLIERS, } from './quest/QuestSystem';
|
|
139
|
+
export type { QuestType, QuestStatus, QuestDifficulty, QuestPrerequisite, Quest, QuestState as QuestSystemState, QuestJournal as QuestSystemJournal, QuestEventType, QuestEvent, QuestListProps, QuestTrackerProps, RewardType as QuestRewardType, } from './quest/QuestSystem';
|
|
140
|
+
export { compressSaveData, decompressSaveData, crc32, MigrationEngine, SaveSystemV2, DEFAULT_SAVE_CONFIG, } from './engine/SaveSystemV2';
|
|
141
|
+
export type { SaveSlotType, SaveConflictStrategy, SaveStorageBackend, MigrationDirection, SaveSlotMeta, SaveData, SaveMigration, CloudSyncConfig, AutoSaveConfig, SaveSystemConfig, SaveConflict, SaveResult, } from './engine/SaveSystemV2';
|
|
142
|
+
export { TelemetryPipeline, HeatmapGenerator, SessionRecorder, SessionPlayer, FunnelTracker, GameplayAnalytics, useGameplayAnalytics, AnalyticsDashboard, DEFAULT_TELEMETRY_CONFIG, DEFAULT_HEATMAP_CONFIG, DEFAULT_RECORDING_CONFIG, } from './devtools/GameplayAnalytics';
|
|
143
|
+
export type { TelemetryEventCategory, HeatmapType, SessionEventType, TelemetryEvent, TelemetryConfig, HeatmapConfig, HeatmapCell, SessionFrame, SessionRecordedEvent, SessionRecording, SessionRecordingConfig, FunnelStep, FunnelDefinition, AnalyticsDashboardProps, } from './devtools/GameplayAnalytics';
|
|
144
|
+
export * from './scripting/ScriptAST';
|
|
145
|
+
export { type ExportConfig as ScriptExportConfig, defaultConfig, type ExportedFile as ScriptExportedFile, type ExportResult as ScriptExportResult, type ExportError as ScriptExportError, type ExportWarning as ScriptExportWarning, type TypeMapping, CodeBuilder, LanguageExporter, ImperativeLanguageExporter, escapeString, toUpperCamelCase, toLowerCamelCase, toSnakeCase, toScreamingSnakeCase, } from './scripting/LanguageExporter';
|
|
146
|
+
export * from './scripting/GraphToAST';
|
|
147
|
+
export { CSharpExporter, GDScriptExporter, LuaExporter, PythonExporter, RustExporter, TypeScriptExporter, } from './scripting/exporters';
|
|
148
|
+
export * from './export';
|
|
149
|
+
export * from './import';
|
|
150
|
+
export * from './editor/TimelineEditor';
|
|
151
|
+
export * from './editor/ShaderGraph';
|
|
152
|
+
export * from './systems/ParticleSystem2';
|
|
153
|
+
export * from './ai/BehaviorTree';
|
|
154
|
+
export * from './ai/StateMachine';
|
|
155
|
+
export * from './scripting/VisualScripting2';
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import type { EntityId, Color } from '../core/types';
|
|
2
|
+
import type { World, AnimatorComponent, SpriteAnimation } from '../ecs/World';
|
|
3
|
+
import type { Renderer2D } from '../rendering/Renderer2D';
|
|
4
|
+
/** Minimal icon component contract (matches @nice2dev/icons-gaming) */
|
|
5
|
+
export interface IconComponent {
|
|
6
|
+
(props: IconComponentProps): unknown;
|
|
7
|
+
displayName?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IconComponentProps {
|
|
10
|
+
size?: number;
|
|
11
|
+
animation?: string;
|
|
12
|
+
color?: string;
|
|
13
|
+
secondaryColor?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Options for registering an icon as a sprite texture */
|
|
16
|
+
export interface IconSpriteOptions {
|
|
17
|
+
/** Render size in px (icons will be rasterized at this resolution) */
|
|
18
|
+
size?: number;
|
|
19
|
+
/** Primary SVG fill color */
|
|
20
|
+
color?: string;
|
|
21
|
+
/** Secondary SVG fill color */
|
|
22
|
+
secondaryColor?: string;
|
|
23
|
+
/** Animation state to bake into the texture (default: 'none') */
|
|
24
|
+
animation?: string;
|
|
25
|
+
}
|
|
26
|
+
/** Configuration for creating an icon-based entity */
|
|
27
|
+
export interface IconEntityOptions extends IconSpriteOptions {
|
|
28
|
+
/** Entity name override (defaults to icon displayName) */
|
|
29
|
+
name?: string;
|
|
30
|
+
/** World position X */
|
|
31
|
+
x?: number;
|
|
32
|
+
/** World position Y */
|
|
33
|
+
y?: number;
|
|
34
|
+
/** Display width in the game world (default: same as size) */
|
|
35
|
+
displayWidth?: number;
|
|
36
|
+
/** Display height in the game world (default: same as size) */
|
|
37
|
+
displayHeight?: number;
|
|
38
|
+
/** Sprite layer for depth sorting */
|
|
39
|
+
layer?: number;
|
|
40
|
+
/** Tint color multiply */
|
|
41
|
+
tint?: Color;
|
|
42
|
+
/** Opacity 0-1 */
|
|
43
|
+
opacity?: number;
|
|
44
|
+
}
|
|
45
|
+
/** Frame definition for icon animation sheets */
|
|
46
|
+
export interface IconAnimationFrame {
|
|
47
|
+
animation: string;
|
|
48
|
+
color?: string;
|
|
49
|
+
secondaryColor?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Options for creating a multi-frame animation from icon states */
|
|
52
|
+
export interface IconAnimationSheetOptions {
|
|
53
|
+
/** Icon size per frame */
|
|
54
|
+
size?: number;
|
|
55
|
+
/** Base color (can be overridden per frame) */
|
|
56
|
+
color?: string;
|
|
57
|
+
/** Frames per second for playback */
|
|
58
|
+
fps?: number;
|
|
59
|
+
/** Whether the animation loops */
|
|
60
|
+
loop?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Render an icon component to an SVG string using React's static markup API.
|
|
64
|
+
* This function must be called with the result of ReactDOMServer.renderToStaticMarkup().
|
|
65
|
+
*/
|
|
66
|
+
export declare function iconToSvgString(svgMarkup: string, size: number): string;
|
|
67
|
+
/**
|
|
68
|
+
* Convert an SVG string to a data URL suitable for Image loading.
|
|
69
|
+
*/
|
|
70
|
+
export declare function svgToDataUrl(svgString: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Load an SVG data URL into an HTMLImageElement (async).
|
|
73
|
+
*/
|
|
74
|
+
export declare function loadSvgImage(dataUrl: string): Promise<HTMLImageElement>;
|
|
75
|
+
/**
|
|
76
|
+
* Rasterize an SVG string to an OffscreenCanvas / HTMLCanvasElement.
|
|
77
|
+
*/
|
|
78
|
+
export declare function rasterizeSvg(svgString: string, size: number): Promise<HTMLCanvasElement>;
|
|
79
|
+
/**
|
|
80
|
+
* Generate a deterministic texture ID for an icon + options combination.
|
|
81
|
+
*/
|
|
82
|
+
export declare function getIconTextureId(displayName: string, options?: IconSpriteOptions): string;
|
|
83
|
+
/**
|
|
84
|
+
* Register an SVG icon as a texture in the game-engine renderer.
|
|
85
|
+
*
|
|
86
|
+
* @param renderer The Renderer2D instance
|
|
87
|
+
* @param textureId Unique texture identifier
|
|
88
|
+
* @param svgMarkup Static SVG markup from ReactDOMServer.renderToStaticMarkup(<Icon ... />)
|
|
89
|
+
* @param size Rasterization size in px
|
|
90
|
+
* @returns Promise that resolves when the texture is ready
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* import { renderToStaticMarkup } from 'react-dom/server';
|
|
95
|
+
* import { GiWarrior } from '@nice2dev/icons-gaming';
|
|
96
|
+
* import { registerIconTexture, getIconTextureId } from '@nice2dev/game-engine';
|
|
97
|
+
*
|
|
98
|
+
* const id = getIconTextureId('GiWarrior', { size: 64 });
|
|
99
|
+
* const svg = renderToStaticMarkup(<GiWarrior size={64} color="#e74c3c" />);
|
|
100
|
+
* await registerIconTexture(renderer, id, svg, 64);
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function registerIconTexture(renderer: Renderer2D, textureId: string, svgMarkup: string, size: number): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Register an SVG icon as a rasterized canvas texture (sync-safe after await).
|
|
106
|
+
* Useful when you need pixel-perfect rendering without scaling artifacts.
|
|
107
|
+
*/
|
|
108
|
+
export declare function registerIconCanvasTexture(renderer: Renderer2D, textureId: string, svgMarkup: string, size: number): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Create a game entity with Sprite component sourced from an icon texture.
|
|
111
|
+
*
|
|
112
|
+
* The texture must already be registered via `registerIconTexture()`.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* const entityId = createIconEntity(world, 'GiWarrior', textureId, {
|
|
117
|
+
* x: 200, y: 150, displayWidth: 64, displayHeight: 64, layer: 1,
|
|
118
|
+
* });
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export declare function createIconEntity(world: World, name: string, textureId: string, options?: Omit<IconEntityOptions, 'size' | 'color' | 'secondaryColor' | 'animation'>): EntityId;
|
|
122
|
+
/**
|
|
123
|
+
* Create a SpriteAnimation clip from multiple icon animation frames.
|
|
124
|
+
*
|
|
125
|
+
* Each frame is a separate registered texture. The AnimatorComponent
|
|
126
|
+
* switches `assetId` each frame to show different icon states.
|
|
127
|
+
*
|
|
128
|
+
* @param frames Array of { assetId, duration } for each frame
|
|
129
|
+
* @param loop Whether animation loops
|
|
130
|
+
*/
|
|
131
|
+
export declare function createIconAnimationClip(frames: Array<{
|
|
132
|
+
assetId: string;
|
|
133
|
+
duration?: number;
|
|
134
|
+
}>, fps?: number, loop?: boolean): SpriteAnimation;
|
|
135
|
+
/**
|
|
136
|
+
* Predefined character animation state sequences.
|
|
137
|
+
* Maps game animation concepts to sets of icon animation states
|
|
138
|
+
* that can be baked into textures.
|
|
139
|
+
*/
|
|
140
|
+
export declare const CHARACTER_ANIMATION_STATES: readonly ["idle", "move", "jump", "attack-melee", "attack-ranged", "attack-magic", "damage", "death"];
|
|
141
|
+
export declare const OBJECT_ANIMATION_STATES: readonly ["idle", "spin", "float", "shake", "glow", "bounce", "flicker"];
|
|
142
|
+
/**
|
|
143
|
+
* Batch-register all animation states of an icon as separate textures.
|
|
144
|
+
*
|
|
145
|
+
* @returns Map of animation state → texture ID
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* const textures = await registerIconAnimationSet(
|
|
150
|
+
* renderer,
|
|
151
|
+
* 'GiWarrior',
|
|
152
|
+
* (anim) => renderToStaticMarkup(<GiWarrior size={64} animation={anim} color="#e74c3c" />),
|
|
153
|
+
* CHARACTER_ANIMATION_STATES,
|
|
154
|
+
* 64,
|
|
155
|
+
* );
|
|
156
|
+
* // textures = { idle: 'icon:GiWarrior:s64:aidle', move: 'icon:GiWarrior:s64:amove', ... }
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
export declare function registerIconAnimationSet(renderer: Renderer2D, displayName: string, renderFn: (animation: string) => string, states: readonly string[], size: number): Promise<Record<string, string>>;
|
|
160
|
+
/**
|
|
161
|
+
* Create an Animator component configuration from a registered animation set.
|
|
162
|
+
*
|
|
163
|
+
* @param textureMap Result from `registerIconAnimationSet()`
|
|
164
|
+
* @param defaultState Initial animation state (default: 'idle')
|
|
165
|
+
* @param fps Frames per second for each clip
|
|
166
|
+
*/
|
|
167
|
+
export declare function createIconAnimator(textureMap: Record<string, string>, defaultState?: string, fps?: number): Partial<AnimatorComponent>;
|
|
168
|
+
/** Entry in a resolved icon catalog */
|
|
169
|
+
export interface IconCatalogEntry {
|
|
170
|
+
name: string;
|
|
171
|
+
textureId: string;
|
|
172
|
+
category: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Register an entire icon map (e.g. `characterIcons`, `weaponIcons`)
|
|
176
|
+
* and return a catalog array for the asset manager / picker.
|
|
177
|
+
*
|
|
178
|
+
* @param renderer Renderer2D
|
|
179
|
+
* @param iconMap Map of name→icon render functions (SVG markup generators)
|
|
180
|
+
* @param category Category label for the asset catalog
|
|
181
|
+
* @param size Texture size
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```ts
|
|
185
|
+
* const catalog = await registerIconCatalog(
|
|
186
|
+
* renderer,
|
|
187
|
+
* {
|
|
188
|
+
* GiWarrior: () => renderToStaticMarkup(<GiWarrior size={64} color="#e74c3c" />),
|
|
189
|
+
* GiMage: () => renderToStaticMarkup(<GiMage size={64} color="#3498db" />),
|
|
190
|
+
* },
|
|
191
|
+
* 'characters',
|
|
192
|
+
* 64,
|
|
193
|
+
* );
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export declare function registerIconCatalog(renderer: Renderer2D, iconMap: Record<string, () => string>, category: string, size: number): Promise<IconCatalogEntry[]>;
|