@nice2dev/game-engine 1.0.2 → 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/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/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/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/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 +201 -0
- package/dist/cjs/index.js.map +1 -1
- 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/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/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/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 +36 -0
- package/dist/esm/index.js.map +1 -1
- 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/types/ai/BehaviorTree.d.ts +375 -0
- package/dist/types/ai/StateMachine.d.ts +296 -0
- package/dist/types/editor/ShaderGraph.d.ts +207 -0
- package/dist/types/editor/TimelineEditor.d.ts +393 -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 +29 -17
- 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 +2 -2
|
@@ -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 as NiceGamepadNavigationProvider, 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';
|
|
@@ -24,20 +24,20 @@ export { PlayerManager, SplitScreenManager, PLAYER_COLORS } from './multiplayer/
|
|
|
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 as ProceduralLootTable, 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';
|
|
@@ -96,7 +96,7 @@ export { DEFAULT_BRANDING, generateCSSVariables, DEFAULT_PASSWORD_POLICY, valida
|
|
|
96
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';
|
|
97
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';
|
|
98
98
|
export type { Locale, TranslationDict, TranslationNamespace, InterpolationValues, PluralCategory, PluralRule, I18nConfig, } from './i18n/I18n';
|
|
99
|
-
export { useTranslation, I18nProvider, TranslatedText, LocaleSelect
|
|
99
|
+
export { useTranslation, I18nProvider, TranslatedText, LocaleSelect } from './i18n/useTranslation';
|
|
100
100
|
export type { UseTranslationResult } from './i18n/useTranslation';
|
|
101
101
|
export { TutorialEngine, getBuiltInTutorials, TUTORIAL_FIRST_GAME, TUTORIAL_SPACE_SHOOTER, TUTORIAL_DATAGRID_BASICS, } from './tutorials/TutorialEngine';
|
|
102
102
|
export type { TutorialStepType, TutorialDifficulty, TutorialCategory, QuizOption, CodeValidation, TutorialStep, TutorialDefinition, TutorialProgress, TutorialEvents, CodeValidatorFn, } from './tutorials/TutorialEngine';
|
|
@@ -107,7 +107,7 @@ export type { EngineError, APIHint, PerfSnapshot, PerfDashboard, HealthCheckResu
|
|
|
107
107
|
export { TUTORIAL_ANIMATIONS, TUTORIAL_TILEMAPS, TUTORIAL_VISUAL_SCRIPTING, TUTORIAL_LOCAL_MULTIPLAYER, getTutorials_T05_T08, } from './tutorials/content/Tutorials_T05_T08';
|
|
108
108
|
export { clamp, clampPositive, assertFinite, assertPositive, assertNonNegative, assertInRange, assertNonEmpty, assertCanvasElement, validateGameSettings, validatePhysicsSettings, } from './core/Validation';
|
|
109
109
|
export type { ValidationResult } from './core/Validation';
|
|
110
|
-
export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES
|
|
110
|
+
export { PluginManager, PluginMarketplace, PLUGIN_TEMPLATES } from './plugins/PluginSDK';
|
|
111
111
|
export type { PluginState as SDKPluginState, PluginType, PluginManifest as SDKPluginManifest, PluginContext, PluginDefinition, ExtensionPoint, PluginStorage, PluginInstance as SDKPluginInstance, PluginTemplate, MarketplaceEntry, MarketplaceSearchResult, } from './plugins/PluginSDK';
|
|
112
112
|
export { TestPluginStorage, TestPluginContext, PluginAssertionError, pluginAssert, PluginTestRunner, createTestManifest, testPluginLifecycle, formatTestResults, } from './plugins/PluginTestKit';
|
|
113
113
|
export type { TestStatus, TestResult, TestSuiteResult, PluginTestCase, } from './plugins/PluginTestKit';
|
|
@@ -116,16 +116,16 @@ export { TUTORIAL_RPG, TUTORIAL_TOWER_DEFENSE, TUTORIAL_3D_GAME, TUTORIAL_PUBLIS
|
|
|
116
116
|
export { FrameBudgetManager, MemoryLeakDetector, AutoLODManager, WorkerPool, PerfTimer, ObjectPool as LegendaryObjectPool, QUALITY_PRESETS, } from './performance/PerformanceAdvanced';
|
|
117
117
|
export type { FrameBudgetConfig, BudgetReport, FrameBudgetSnapshot, MemoryTracker, MemorySnapshot, LeakSuspect, QualityLevel, AutoLODConfig, QualitySettings, WorkerTaskStatus, WorkerTask, WorkerPoolConfig, } from './performance/PerformanceAdvanced';
|
|
118
118
|
export { TutorialOverlay } from './tutorials/TutorialOverlay';
|
|
119
|
-
export type { OverlayConfig, TooltipPosition, OverlayAction
|
|
120
|
-
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';
|
|
121
121
|
export type { DocCategory, DocMemberKind, DocParam, DocMember, DocModule, DocSearchResult, } from './docs/DocGenerator';
|
|
122
122
|
export { BranchingEngine, AchievementEngine, BUILT_IN_ACHIEVEMENTS, } from './tutorials/TutorialBranching';
|
|
123
123
|
export type { BranchConditionType, BranchCondition, BranchRule, BranchingStep, BranchingConfig, BranchContext, AchievementTier, AchievementCondition, AchievementDefinition, AchievementProgress as LegendaryAchievementProgress, } from './tutorials/TutorialBranching';
|
|
124
124
|
export { HotModuleReplacer, AssetPipeline, DeployManager, CollaborationManager, } from './devtools/DevTools';
|
|
125
125
|
export type { HMRModule, HMRUpdate, AssetType as PipelineAssetType, AssetMeta, AssetProcessorOptions, DeployTarget, DeployConfig, DeployResult, CollaboratorCursor, } from './devtools/DevTools';
|
|
126
|
-
export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES
|
|
126
|
+
export { GuidedWizard, BlockEditor, KID_BLOCK_PALETTES } from './kids/KidTools';
|
|
127
127
|
export type { WizardChoice, WizardStep, WizardResult, BlockShape, DragBlock, BlockPalette, DragDropState, } from './kids/KidTools';
|
|
128
|
-
export { BenchmarkRunner, BUILTIN_BENCHMARKS
|
|
128
|
+
export { BenchmarkRunner, BUILTIN_BENCHMARKS } from './performance/BenchmarkSuite';
|
|
129
129
|
export type { BenchmarkScenario, BenchmarkTimings, BenchmarkMemory, BenchmarkResult as BenchmarkScenarioResult, BenchmarkReport, RegressionResult, } from './performance/BenchmarkSuite';
|
|
130
130
|
export { iconToSvgString, svgToDataUrl, loadSvgImage, rasterizeSvg, getIconTextureId, registerIconTexture, registerIconCanvasTexture, createIconEntity, createIconAnimationClip, CHARACTER_ANIMATION_STATES, OBJECT_ANIMATION_STATES, registerIconAnimationSet, createIconAnimator, registerIconCatalog, } from './integration/IconSprite';
|
|
131
131
|
export type { IconComponent, IconComponentProps, IconSpriteOptions, IconEntityOptions, IconAnimationFrame, IconAnimationSheetOptions, IconCatalogEntry, } from './integration/IconSprite';
|
|
@@ -141,3 +141,15 @@ export { compressSaveData, decompressSaveData, crc32, MigrationEngine, SaveSyste
|
|
|
141
141
|
export type { SaveSlotType, SaveConflictStrategy, SaveStorageBackend, MigrationDirection, SaveSlotMeta, SaveData, SaveMigration, CloudSyncConfig, AutoSaveConfig, SaveSystemConfig, SaveConflict, SaveResult, } from './engine/SaveSystemV2';
|
|
142
142
|
export { TelemetryPipeline, HeatmapGenerator, SessionRecorder, SessionPlayer, FunnelTracker, GameplayAnalytics, useGameplayAnalytics, AnalyticsDashboard, DEFAULT_TELEMETRY_CONFIG, DEFAULT_HEATMAP_CONFIG, DEFAULT_RECORDING_CONFIG, } from './devtools/GameplayAnalytics';
|
|
143
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,55 @@
|
|
|
1
|
+
import type { ScriptGraph } from './NodeGraph';
|
|
2
|
+
import { NodeLibrary } from './NodeGraph';
|
|
3
|
+
import type { ASTScript } from './ScriptAST';
|
|
4
|
+
export interface ConvertOptions {
|
|
5
|
+
/** Name for the generated class */
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Base class to extend */
|
|
8
|
+
baseClass?: string;
|
|
9
|
+
/** Whether to generate async methods for delay/wait nodes */
|
|
10
|
+
useAsync?: boolean;
|
|
11
|
+
/** Whether to generate comments showing node IDs */
|
|
12
|
+
includeNodeIds?: boolean;
|
|
13
|
+
/** Prefix for generated variable names */
|
|
14
|
+
varPrefix?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class GraphToAST {
|
|
17
|
+
private library;
|
|
18
|
+
constructor(library?: NodeLibrary);
|
|
19
|
+
/**
|
|
20
|
+
* Convert a visual script graph to AST representation.
|
|
21
|
+
*/
|
|
22
|
+
convert(graph: ScriptGraph, options?: ConvertOptions): ASTScript;
|
|
23
|
+
/**
|
|
24
|
+
* Convert multiple graphs into a single script module.
|
|
25
|
+
*/
|
|
26
|
+
convertMultiple(graphs: ScriptGraph[], moduleName: string, options?: ConvertOptions): ASTScript;
|
|
27
|
+
private findEntryNodes;
|
|
28
|
+
private entryTypeToMethodName;
|
|
29
|
+
private convertVariables;
|
|
30
|
+
private valueToASTType;
|
|
31
|
+
private convertEntryPointsToMethod;
|
|
32
|
+
private getEntryParams;
|
|
33
|
+
private createEmptyMethod;
|
|
34
|
+
private processNode;
|
|
35
|
+
private generateNodeCode;
|
|
36
|
+
private generateFlowNode;
|
|
37
|
+
private generateIfElse;
|
|
38
|
+
private generateDelay;
|
|
39
|
+
private generateForLoop;
|
|
40
|
+
private generateWhileLoop;
|
|
41
|
+
private generateMathNode;
|
|
42
|
+
private generateLogicNode;
|
|
43
|
+
private generateVariableNode;
|
|
44
|
+
private generateEntityNode;
|
|
45
|
+
private generateInputNode;
|
|
46
|
+
private generateAudioNode;
|
|
47
|
+
private generateGenericNode;
|
|
48
|
+
private resolveInputExpression;
|
|
49
|
+
private valueToExpression;
|
|
50
|
+
private getOrCreateNodeVar;
|
|
51
|
+
private getFlowTargetNodes;
|
|
52
|
+
private followFlowConnections;
|
|
53
|
+
}
|
|
54
|
+
export declare function convertGraphToAST(graph: ScriptGraph, library: NodeLibrary, options?: ConvertOptions): ASTScript;
|
|
55
|
+
export default GraphToAST;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { ASTScript, ASTClass, ASTFunction, ASTField, ASTProperty, ASTStatement, ASTExpression, ASTTypeInfo, ASTVarDecl, ASTAssignment, ASTIf, ASTWhile, ASTFor, ASTForEach, ASTReturn, ASTSwitch, ASTTry, ASTLiteral, ASTBinaryOp, ASTUnaryOp, ASTCall, ASTMethodCall, ASTPropertyAccess, ASTIndexAccess, ASTConditional, ASTArrayLiteral, ASTDictionaryLiteral, ASTCast, ASTLambda, ASTNew, ASTImport, ASTEnum, ASTSignalDef } from './ScriptAST';
|
|
2
|
+
export interface ExportConfig {
|
|
3
|
+
/** Target game engine/platform */
|
|
4
|
+
targetEngine?: 'unity' | 'godot' | 'bevy' | 'pygame' | 'love2d' | 'defold' | 'generic';
|
|
5
|
+
/** Engine version (e.g., '4.2' for Godot) */
|
|
6
|
+
engineVersion?: string;
|
|
7
|
+
/** Indentation string */
|
|
8
|
+
indent: string;
|
|
9
|
+
/** Line ending */
|
|
10
|
+
lineEnding: '\n' | '\r\n';
|
|
11
|
+
/** Whether to include debug comments */
|
|
12
|
+
includeDebugComments: boolean;
|
|
13
|
+
/** Include source node IDs in comments */
|
|
14
|
+
includeSourceMappings: boolean;
|
|
15
|
+
/** Base class name for generated scripts */
|
|
16
|
+
baseClassName?: string;
|
|
17
|
+
/** Namespace/package for generated code */
|
|
18
|
+
namespace?: string;
|
|
19
|
+
/** Additional custom options */
|
|
20
|
+
custom?: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
export declare const defaultConfig: ExportConfig;
|
|
23
|
+
export interface ExportedFile {
|
|
24
|
+
filename: string;
|
|
25
|
+
content: string;
|
|
26
|
+
/** Language/file type */
|
|
27
|
+
language: string;
|
|
28
|
+
/** Optional file path for export consumption */
|
|
29
|
+
path?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ExportResult {
|
|
32
|
+
files: ExportedFile[];
|
|
33
|
+
errors: ExportError[];
|
|
34
|
+
warnings: ExportWarning[];
|
|
35
|
+
stats: {
|
|
36
|
+
classCount: number;
|
|
37
|
+
methodCount: number;
|
|
38
|
+
lineCount: number;
|
|
39
|
+
exportDuration: number;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface ExportError {
|
|
43
|
+
message: string;
|
|
44
|
+
nodeId?: string;
|
|
45
|
+
line?: number;
|
|
46
|
+
column?: number;
|
|
47
|
+
}
|
|
48
|
+
export interface ExportWarning {
|
|
49
|
+
message: string;
|
|
50
|
+
nodeId?: string;
|
|
51
|
+
suggestion?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface TypeMapping {
|
|
54
|
+
[key: string]: string;
|
|
55
|
+
}
|
|
56
|
+
export declare class CodeBuilder {
|
|
57
|
+
private lines;
|
|
58
|
+
private currentIndent;
|
|
59
|
+
private indentStr;
|
|
60
|
+
private lineEnding;
|
|
61
|
+
constructor(config: ExportConfig);
|
|
62
|
+
indent(): this;
|
|
63
|
+
dedent(): this;
|
|
64
|
+
line(text?: string): this;
|
|
65
|
+
rawLine(text: string): this;
|
|
66
|
+
emptyLine(): this;
|
|
67
|
+
comment(text: string, style?: 'line' | 'block'): this;
|
|
68
|
+
docComment(text: string, style?: 'csharp' | 'jsdoc' | 'python' | 'lua'): this;
|
|
69
|
+
block(open: string, close: string, body: () => void): this;
|
|
70
|
+
toString(): string;
|
|
71
|
+
get lineCount(): number;
|
|
72
|
+
}
|
|
73
|
+
export declare abstract class LanguageExporter {
|
|
74
|
+
protected config: ExportConfig;
|
|
75
|
+
protected errors: ExportError[];
|
|
76
|
+
protected warnings: ExportWarning[];
|
|
77
|
+
/** Language name for identification */
|
|
78
|
+
abstract readonly languageName: string;
|
|
79
|
+
/** File extension without dot */
|
|
80
|
+
abstract readonly fileExtension: string;
|
|
81
|
+
/** Type mapping from AST types to target language */
|
|
82
|
+
abstract readonly typeMapping: TypeMapping;
|
|
83
|
+
constructor(config?: Partial<ExportConfig>);
|
|
84
|
+
export(script: ASTScript, config?: Partial<ExportConfig>): ExportResult;
|
|
85
|
+
protected addError(message: string, nodeId?: string): void;
|
|
86
|
+
protected addWarning(message: string, nodeId?: string, suggestion?: string): void;
|
|
87
|
+
protected mapType(typeInfo: ASTTypeInfo): string;
|
|
88
|
+
protected createBuilder(): CodeBuilder;
|
|
89
|
+
protected abstract generateScript(script: ASTScript): string;
|
|
90
|
+
protected abstract generateClass(cls: ASTClass, builder: CodeBuilder): void;
|
|
91
|
+
protected abstract generateMethod(method: ASTFunction, builder: CodeBuilder): void;
|
|
92
|
+
protected abstract generateField(field: ASTField, builder: CodeBuilder): void;
|
|
93
|
+
protected abstract generateStatement(stmt: ASTStatement, builder: CodeBuilder): void;
|
|
94
|
+
protected abstract generateExpression(expr: ASTExpression): string;
|
|
95
|
+
protected formatArrayType(elementType: string): string;
|
|
96
|
+
protected formatDictType(keyType: string, valueType: string): string;
|
|
97
|
+
protected formatNullableType(baseType: string): string;
|
|
98
|
+
protected generateImport(_imp: ASTImport, _builder: CodeBuilder): void;
|
|
99
|
+
protected generateEnum(_en: ASTEnum, _builder: CodeBuilder): void;
|
|
100
|
+
protected generateProperty(_prop: ASTProperty, _builder: CodeBuilder): void;
|
|
101
|
+
protected generateSignal(_signal: ASTSignalDef, _builder: CodeBuilder): void;
|
|
102
|
+
}
|
|
103
|
+
export declare abstract class ImperativeLanguageExporter extends LanguageExporter {
|
|
104
|
+
protected generateStatement(stmt: ASTStatement, builder: CodeBuilder): void;
|
|
105
|
+
protected generateExpression(expr: ASTExpression): string;
|
|
106
|
+
protected abstract readonly statementTerminator: string;
|
|
107
|
+
protected abstract readonly breakKeyword: string;
|
|
108
|
+
protected abstract readonly continueKeyword: string;
|
|
109
|
+
protected abstract generateVarDecl(decl: ASTVarDecl, builder: CodeBuilder): void;
|
|
110
|
+
protected abstract generateAssignment(assign: ASTAssignment, builder: CodeBuilder): void;
|
|
111
|
+
protected abstract generateIf(stmt: ASTIf, builder: CodeBuilder): void;
|
|
112
|
+
protected abstract generateWhile(stmt: ASTWhile, builder: CodeBuilder): void;
|
|
113
|
+
protected abstract generateFor(stmt: ASTFor, builder: CodeBuilder): void;
|
|
114
|
+
protected abstract generateForEach(stmt: ASTForEach, builder: CodeBuilder): void;
|
|
115
|
+
protected abstract generateReturn(stmt: ASTReturn, builder: CodeBuilder): void;
|
|
116
|
+
protected abstract generateSwitch(stmt: ASTSwitch, builder: CodeBuilder): void;
|
|
117
|
+
protected abstract generateTry(stmt: ASTTry, builder: CodeBuilder): void;
|
|
118
|
+
protected abstract generateLiteral(lit: ASTLiteral): string;
|
|
119
|
+
protected abstract generateBinaryOp(op: ASTBinaryOp): string;
|
|
120
|
+
protected abstract generateUnaryOp(op: ASTUnaryOp): string;
|
|
121
|
+
protected abstract generateCall(call: ASTCall): string;
|
|
122
|
+
protected abstract generateMethodCall(call: ASTMethodCall): string;
|
|
123
|
+
protected abstract generatePropertyAccess(access: ASTPropertyAccess): string;
|
|
124
|
+
protected abstract generateIndexAccess(access: ASTIndexAccess): string;
|
|
125
|
+
protected abstract generateConditional(cond: ASTConditional): string;
|
|
126
|
+
protected abstract generateArrayLiteral(arr: ASTArrayLiteral): string;
|
|
127
|
+
protected abstract generateDictionaryLiteral(dict: ASTDictionaryLiteral): string;
|
|
128
|
+
protected abstract generateCast(cast: ASTCast): string;
|
|
129
|
+
protected abstract generateLambda(lambda: ASTLambda): string;
|
|
130
|
+
protected abstract generateNew(n: ASTNew): string;
|
|
131
|
+
}
|
|
132
|
+
export declare function escapeString(str: string, quote?: '"' | "'"): string;
|
|
133
|
+
export declare function toUpperCamelCase(str: string): string;
|
|
134
|
+
export declare function toLowerCamelCase(str: string): string;
|
|
135
|
+
export declare function toSnakeCase(str: string): string;
|
|
136
|
+
export declare function toScreamingSnakeCase(str: string): string;
|