@nice2dev/ui-tools 1.0.10
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/README.md +36 -0
- package/dist/access-control.d.ts +726 -0
- package/dist/access-control.d.ts.map +1 -0
- package/dist/accessibility-i18n.d.ts +1017 -0
- package/dist/accessibility-i18n.d.ts.map +1 -0
- package/dist/ai-assistant.d.ts +263 -0
- package/dist/ai-assistant.d.ts.map +1 -0
- package/dist/ai-playgrounds.d.ts +842 -0
- package/dist/ai-playgrounds.d.ts.map +1 -0
- package/dist/alerting-incidents.d.ts +558 -0
- package/dist/alerting-incidents.d.ts.map +1 -0
- package/dist/api-designer.d.ts +1568 -0
- package/dist/api-designer.d.ts.map +1 -0
- package/dist/api-testing.d.ts +1146 -0
- package/dist/api-testing.d.ts.map +1 -0
- package/dist/apm-profiling.d.ts +656 -0
- package/dist/apm-profiling.d.ts.map +1 -0
- package/dist/artifacts.d.ts +421 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/audit-compliance.d.ts +752 -0
- package/dist/audit-compliance.d.ts.map +1 -0
- package/dist/certificates.d.ts +256 -0
- package/dist/certificates.d.ts.map +1 -0
- package/dist/chart-builder.d.ts +1404 -0
- package/dist/chart-builder.d.ts.map +1 -0
- package/dist/cloud-instances.d.ts +169 -0
- package/dist/cloud-instances.d.ts.map +1 -0
- package/dist/config-management.d.ts +350 -0
- package/dist/config-management.d.ts.map +1 -0
- package/dist/containers.d.ts +256 -0
- package/dist/containers.d.ts.map +1 -0
- package/dist/dashboard-designer.d.ts +1238 -0
- package/dist/dashboard-designer.d.ts.map +1 -0
- package/dist/data-management.d.ts +496 -0
- package/dist/data-management.d.ts.map +1 -0
- package/dist/data-pipeline.d.ts +1105 -0
- package/dist/data-pipeline.d.ts.map +1 -0
- package/dist/data-warehouse.d.ts +1097 -0
- package/dist/data-warehouse.d.ts.map +1 -0
- package/dist/dataset-management.d.ts +782 -0
- package/dist/dataset-management.d.ts.map +1 -0
- package/dist/db-adapters.d.ts +704 -0
- package/dist/db-adapters.d.ts.map +1 -0
- package/dist/db-admin.d.ts +699 -0
- package/dist/db-admin.d.ts.map +1 -0
- package/dist/db-designer.d.ts +366 -0
- package/dist/db-designer.d.ts.map +1 -0
- package/dist/debugger.d.ts +356 -0
- package/dist/debugger.d.ts.map +1 -0
- package/dist/device-management.d.ts +871 -0
- package/dist/device-management.d.ts.map +1 -0
- package/dist/distributed-tracing.d.ts +427 -0
- package/dist/distributed-tracing.d.ts.map +1 -0
- package/dist/dns-management.d.ts +215 -0
- package/dist/dns-management.d.ts.map +1 -0
- package/dist/download-manager.d.ts +271 -0
- package/dist/download-manager.d.ts.map +1 -0
- package/dist/download-torrent.d.ts +1062 -0
- package/dist/download-torrent.d.ts.map +1 -0
- package/dist/edge-computing.d.ts +720 -0
- package/dist/edge-computing.d.ts.map +1 -0
- package/dist/education.d.ts +1135 -0
- package/dist/education.d.ts.map +1 -0
- package/dist/email-template.d.ts +1141 -0
- package/dist/email-template.d.ts.map +1 -0
- package/dist/erp-enterprise.d.ts +1270 -0
- package/dist/erp-enterprise.d.ts.map +1 -0
- package/dist/form-builder.d.ts +1117 -0
- package/dist/form-builder.d.ts.map +1 -0
- package/dist/game-engine-advanced.d.ts +1049 -0
- package/dist/game-engine-advanced.d.ts.map +1 -0
- package/dist/git.d.ts +415 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/hardware-integration.d.ts +966 -0
- package/dist/hardware-integration.d.ts.map +1 -0
- package/dist/iac.d.ts +318 -0
- package/dist/iac.d.ts.map +1 -0
- package/dist/icon-tools.d.ts +1023 -0
- package/dist/icon-tools.d.ts.map +1 -0
- package/dist/ide.d.ts +322 -0
- package/dist/ide.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +1887 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integration-platform.d.ts +857 -0
- package/dist/integration-platform.d.ts.map +1 -0
- package/dist/kubernetes.d.ts +278 -0
- package/dist/kubernetes.d.ts.map +1 -0
- package/dist/life-management.d.ts +1132 -0
- package/dist/life-management.d.ts.map +1 -0
- package/dist/log-management.d.ts +473 -0
- package/dist/log-management.d.ts.map +1 -0
- package/dist/mathematics.d.ts +870 -0
- package/dist/mathematics.d.ts.map +1 -0
- package/dist/message-queue.d.ts +1006 -0
- package/dist/message-queue.d.ts.map +1 -0
- package/dist/metrics-dashboard.d.ts +596 -0
- package/dist/metrics-dashboard.d.ts.map +1 -0
- package/dist/mobile-components.d.ts +766 -0
- package/dist/mobile-components.d.ts.map +1 -0
- package/dist/model-deployment.d.ts +787 -0
- package/dist/model-deployment.d.ts.map +1 -0
- package/dist/model-registry.d.ts +740 -0
- package/dist/model-registry.d.ts.map +1 -0
- package/dist/model-training.d.ts +706 -0
- package/dist/model-training.d.ts.map +1 -0
- package/dist/network-config.d.ts +334 -0
- package/dist/network-config.d.ts.map +1 -0
- package/dist/network-monitoring.d.ts +291 -0
- package/dist/network-monitoring.d.ts.map +1 -0
- package/dist/pdf-tools.d.ts +1003 -0
- package/dist/pdf-tools.d.ts.map +1 -0
- package/dist/pipelines.d.ts +250 -0
- package/dist/pipelines.d.ts.map +1 -0
- package/dist/remote-desktop.d.ts +207 -0
- package/dist/remote-desktop.d.ts.map +1 -0
- package/dist/report-designer.d.ts +1153 -0
- package/dist/report-designer.d.ts.map +1 -0
- package/dist/scada-industrial.d.ts +848 -0
- package/dist/scada-industrial.d.ts.map +1 -0
- package/dist/scientific-research.d.ts +1149 -0
- package/dist/scientific-research.d.ts.map +1 -0
- package/dist/secret-management.d.ts +617 -0
- package/dist/secret-management.d.ts.map +1 -0
- package/dist/security-scanning.d.ts +714 -0
- package/dist/security-scanning.d.ts.map +1 -0
- package/dist/self-service-analytics.d.ts +1208 -0
- package/dist/self-service-analytics.d.ts.map +1 -0
- package/dist/sensor-dashboard.d.ts +845 -0
- package/dist/sensor-dashboard.d.ts.map +1 -0
- package/dist/server-management.d.ts +331 -0
- package/dist/server-management.d.ts.map +1 -0
- package/dist/smart-home.d.ts +861 -0
- package/dist/smart-home.d.ts.map +1 -0
- package/dist/spreadsheet.d.ts +1043 -0
- package/dist/spreadsheet.d.ts.map +1 -0
- package/dist/sql-editor.d.ts +402 -0
- package/dist/sql-editor.d.ts.map +1 -0
- package/dist/terminal.d.ts +245 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/testing-qa.d.ts +1013 -0
- package/dist/testing-qa.d.ts.map +1 -0
- package/dist/torrent-client.d.ts +298 -0
- package/dist/torrent-client.d.ts.map +1 -0
- package/dist/traceless.d.ts +759 -0
- package/dist/traceless.d.ts.map +1 -0
- package/dist/virtual-machines.d.ts +199 -0
- package/dist/virtual-machines.d.ts.map +1 -0
- package/dist/visual-scripting.d.ts +381 -0
- package/dist/visual-scripting.d.ts.map +1 -0
- package/dist/word-processor.d.ts +1124 -0
- package/dist/word-processor.d.ts.map +1 -0
- package/dist/workspace.d.ts +333 -0
- package/dist/workspace.d.ts.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,1049 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PRO-1: Game Engine Advanced Types
|
|
3
|
+
*
|
|
4
|
+
* This module provides TypeScript types and interfaces for advanced game engine
|
|
5
|
+
* features including build cloud integration, engine interoperability (Unity,
|
|
6
|
+
* Godot, Unreal), export systems, and advanced runtime features.
|
|
7
|
+
*
|
|
8
|
+
* @module @nice2dev/ui-tools/game-engine-advanced
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Target export languages.
|
|
12
|
+
*/
|
|
13
|
+
export type ExportLanguage = 'csharp' | 'gdscript' | 'lua' | 'python' | 'rust' | 'typescript' | 'haxe' | 'swift' | 'kotlin' | 'cpp';
|
|
14
|
+
/**
|
|
15
|
+
* Export configuration for a specific language.
|
|
16
|
+
*/
|
|
17
|
+
export interface LanguageExportConfig {
|
|
18
|
+
/** Target language */
|
|
19
|
+
language: ExportLanguage;
|
|
20
|
+
/** Output directory */
|
|
21
|
+
outputDir: string;
|
|
22
|
+
/** Namespace/package name */
|
|
23
|
+
namespace?: string;
|
|
24
|
+
/** Code style options */
|
|
25
|
+
codeStyle: CodeStyleOptions;
|
|
26
|
+
/** Type mapping overrides */
|
|
27
|
+
typeMapping?: Record<string, string>;
|
|
28
|
+
/** Include comments */
|
|
29
|
+
includeComments: boolean;
|
|
30
|
+
/** Generate separate files per class */
|
|
31
|
+
separateFiles: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Code style options for generated code.
|
|
35
|
+
*/
|
|
36
|
+
export interface CodeStyleOptions {
|
|
37
|
+
/** Indentation style */
|
|
38
|
+
indent: 'tabs' | 'spaces';
|
|
39
|
+
/** Indent size (for spaces) */
|
|
40
|
+
indentSize: number;
|
|
41
|
+
/** Line ending */
|
|
42
|
+
lineEnding: 'lf' | 'crlf';
|
|
43
|
+
/** Brace style */
|
|
44
|
+
braceStyle: 'same-line' | 'new-line';
|
|
45
|
+
/** Max line length */
|
|
46
|
+
maxLineLength?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Language abstraction layer node (AST).
|
|
50
|
+
*/
|
|
51
|
+
export interface AbstractSyntaxNode {
|
|
52
|
+
/** Node type */
|
|
53
|
+
type: ASTNodeType;
|
|
54
|
+
/** Node name */
|
|
55
|
+
name?: string;
|
|
56
|
+
/** Child nodes */
|
|
57
|
+
children?: AbstractSyntaxNode[];
|
|
58
|
+
/** Node attributes */
|
|
59
|
+
attributes?: Record<string, unknown>;
|
|
60
|
+
/** Source location */
|
|
61
|
+
location?: SourceLocation;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* AST node types.
|
|
65
|
+
*/
|
|
66
|
+
export type ASTNodeType = 'program' | 'class' | 'interface' | 'function' | 'method' | 'property' | 'field' | 'parameter' | 'statement' | 'expression' | 'literal' | 'identifier' | 'operator' | 'block' | 'conditional' | 'loop' | 'return' | 'import' | 'export' | 'comment';
|
|
67
|
+
/**
|
|
68
|
+
* Source location for mapping.
|
|
69
|
+
*/
|
|
70
|
+
export interface SourceLocation {
|
|
71
|
+
/** File path */
|
|
72
|
+
file: string;
|
|
73
|
+
/** Start line */
|
|
74
|
+
startLine: number;
|
|
75
|
+
/** Start column */
|
|
76
|
+
startColumn: number;
|
|
77
|
+
/** End line */
|
|
78
|
+
endLine: number;
|
|
79
|
+
/** End column */
|
|
80
|
+
endColumn: number;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Type mapping for cross-language export.
|
|
84
|
+
*/
|
|
85
|
+
export interface TypeMappingSystem {
|
|
86
|
+
/** Source type */
|
|
87
|
+
sourceType: string;
|
|
88
|
+
/** Mappings per target language */
|
|
89
|
+
mappings: Record<ExportLanguage, string>;
|
|
90
|
+
/** Conversion function name */
|
|
91
|
+
conversionFunction?: string;
|
|
92
|
+
/** Requires import */
|
|
93
|
+
requiresImport?: Record<ExportLanguage, string>;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* WASM compilation configuration.
|
|
97
|
+
*/
|
|
98
|
+
export interface WASMCompilationConfig {
|
|
99
|
+
/** Target architecture */
|
|
100
|
+
target: 'wasm32' | 'wasm64';
|
|
101
|
+
/** Optimization level */
|
|
102
|
+
optimizationLevel: 0 | 1 | 2 | 3 | 's' | 'z';
|
|
103
|
+
/** Enable debug info */
|
|
104
|
+
debug: boolean;
|
|
105
|
+
/** Enable SIMD */
|
|
106
|
+
simd: boolean;
|
|
107
|
+
/** Enable threads */
|
|
108
|
+
threads: boolean;
|
|
109
|
+
/** Memory configuration */
|
|
110
|
+
memory: WASMMemoryConfig;
|
|
111
|
+
/** Exported functions */
|
|
112
|
+
exports: string[];
|
|
113
|
+
/** Import configuration */
|
|
114
|
+
imports: WASMImportConfig;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* WASM memory configuration.
|
|
118
|
+
*/
|
|
119
|
+
export interface WASMMemoryConfig {
|
|
120
|
+
/** Initial memory pages (64KB each) */
|
|
121
|
+
initial: number;
|
|
122
|
+
/** Maximum memory pages */
|
|
123
|
+
maximum?: number;
|
|
124
|
+
/** Shared memory */
|
|
125
|
+
shared: boolean;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* WASM import configuration.
|
|
129
|
+
*/
|
|
130
|
+
export interface WASMImportConfig {
|
|
131
|
+
/** Environment imports */
|
|
132
|
+
env: Record<string, string>;
|
|
133
|
+
/** Custom imports */
|
|
134
|
+
custom: Record<string, Record<string, string>>;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Target game engines/platforms.
|
|
138
|
+
*/
|
|
139
|
+
export type ExportPlatform = 'unity' | 'godot' | 'unreal' | 'pixijs' | 'phaser' | 'threejs' | 'cocos-creator' | 'gamemaker' | 'roblox' | 'minecraft-bedrock' | 'rpgmaker' | 'construct3' | 'gdevelop' | 'defold' | 'solar2d' | 'pico8' | 'tic80';
|
|
140
|
+
/**
|
|
141
|
+
* Platform export configuration.
|
|
142
|
+
*/
|
|
143
|
+
export interface PlatformExportConfig {
|
|
144
|
+
/** Target platform */
|
|
145
|
+
platform: ExportPlatform;
|
|
146
|
+
/** Platform version */
|
|
147
|
+
version: string;
|
|
148
|
+
/** Output directory */
|
|
149
|
+
outputDir: string;
|
|
150
|
+
/** Project name */
|
|
151
|
+
projectName: string;
|
|
152
|
+
/** Include assets */
|
|
153
|
+
includeAssets: boolean;
|
|
154
|
+
/** Asset compression */
|
|
155
|
+
compressAssets: boolean;
|
|
156
|
+
/** Platform-specific settings */
|
|
157
|
+
platformSettings: Record<string, unknown>;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Unity package export configuration.
|
|
161
|
+
*/
|
|
162
|
+
export interface UnityPackageExport extends PlatformExportConfig {
|
|
163
|
+
platform: 'unity';
|
|
164
|
+
platformSettings: {
|
|
165
|
+
/** Unity version */
|
|
166
|
+
unityVersion: string;
|
|
167
|
+
/** Include prefabs */
|
|
168
|
+
includePrefabs: boolean;
|
|
169
|
+
/** Include materials */
|
|
170
|
+
includeMaterials: boolean;
|
|
171
|
+
/** Include scripts */
|
|
172
|
+
includeScripts: boolean;
|
|
173
|
+
/** Render pipeline */
|
|
174
|
+
renderPipeline: 'builtin' | 'urp' | 'hdrp';
|
|
175
|
+
/** Assembly definition */
|
|
176
|
+
asmdef: boolean;
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Godot project export configuration.
|
|
181
|
+
*/
|
|
182
|
+
export interface GodotProjectExport extends PlatformExportConfig {
|
|
183
|
+
platform: 'godot';
|
|
184
|
+
platformSettings: {
|
|
185
|
+
/** Godot version */
|
|
186
|
+
godotVersion: '3.x' | '4.x';
|
|
187
|
+
/** Include scenes */
|
|
188
|
+
includeScenes: boolean;
|
|
189
|
+
/** Include resources */
|
|
190
|
+
includeResources: boolean;
|
|
191
|
+
/** Include GDScript */
|
|
192
|
+
includeGDScript: boolean;
|
|
193
|
+
/** Use C# */
|
|
194
|
+
useCSharp: boolean;
|
|
195
|
+
/** Renderer */
|
|
196
|
+
renderer: 'forward_plus' | 'mobile' | 'gl_compatibility';
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Unreal Blueprint export configuration.
|
|
201
|
+
*/
|
|
202
|
+
export interface UnrealBlueprintExport extends PlatformExportConfig {
|
|
203
|
+
platform: 'unreal';
|
|
204
|
+
platformSettings: {
|
|
205
|
+
/** Unreal version */
|
|
206
|
+
unrealVersion: string;
|
|
207
|
+
/** Generate C++ headers */
|
|
208
|
+
generateCppHeaders: boolean;
|
|
209
|
+
/** Generate Blueprint nodes */
|
|
210
|
+
generateBlueprintNodes: boolean;
|
|
211
|
+
/** Plugin format */
|
|
212
|
+
asPlugin: boolean;
|
|
213
|
+
/** Plugin name */
|
|
214
|
+
pluginName?: string;
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Roblox export configuration.
|
|
219
|
+
*/
|
|
220
|
+
export interface RobloxExport extends PlatformExportConfig {
|
|
221
|
+
platform: 'roblox';
|
|
222
|
+
platformSettings: {
|
|
223
|
+
/** Use Luau types */
|
|
224
|
+
useLuauTypes: boolean;
|
|
225
|
+
/** Generate module scripts */
|
|
226
|
+
moduleScripts: boolean;
|
|
227
|
+
/** Include models */
|
|
228
|
+
includeModels: boolean;
|
|
229
|
+
/** Rojo project */
|
|
230
|
+
useRojo: boolean;
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Minecraft Bedrock export configuration.
|
|
235
|
+
*/
|
|
236
|
+
export interface MinecraftBedrockExport extends PlatformExportConfig {
|
|
237
|
+
platform: 'minecraft-bedrock';
|
|
238
|
+
platformSettings: {
|
|
239
|
+
/** Behavior pack */
|
|
240
|
+
behaviorPack: boolean;
|
|
241
|
+
/** Resource pack */
|
|
242
|
+
resourcePack: boolean;
|
|
243
|
+
/** Skin pack */
|
|
244
|
+
skinPack: boolean;
|
|
245
|
+
/** World template */
|
|
246
|
+
worldTemplate: boolean;
|
|
247
|
+
/** Pack version */
|
|
248
|
+
packVersion: [number, number, number];
|
|
249
|
+
/** Min engine version */
|
|
250
|
+
minEngineVersion: [number, number, number];
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Fantasy console export (PICO-8, TIC-80).
|
|
255
|
+
*/
|
|
256
|
+
export interface FantasyConsoleExport extends PlatformExportConfig {
|
|
257
|
+
platform: 'pico8' | 'tic80';
|
|
258
|
+
platformSettings: {
|
|
259
|
+
/** Code section */
|
|
260
|
+
codeSection: string;
|
|
261
|
+
/** GFX section */
|
|
262
|
+
gfxSection: string;
|
|
263
|
+
/** SFX section */
|
|
264
|
+
sfxSection: string;
|
|
265
|
+
/** Music section */
|
|
266
|
+
musicSection: string;
|
|
267
|
+
/** Map section */
|
|
268
|
+
mapSection: string;
|
|
269
|
+
/** Minify code */
|
|
270
|
+
minify: boolean;
|
|
271
|
+
/** Token count target */
|
|
272
|
+
tokenLimit?: number;
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Build cloud configuration.
|
|
277
|
+
*/
|
|
278
|
+
export interface BuildCloudConfig {
|
|
279
|
+
/** Cloud provider */
|
|
280
|
+
provider: 'aws' | 'azure' | 'gcp' | 'self-hosted';
|
|
281
|
+
/** Region */
|
|
282
|
+
region: string;
|
|
283
|
+
/** Kubernetes namespace */
|
|
284
|
+
namespace: string;
|
|
285
|
+
/** Resource limits */
|
|
286
|
+
resourceLimits: BuildResourceLimits;
|
|
287
|
+
/** Storage configuration */
|
|
288
|
+
storage: BuildStorageConfig;
|
|
289
|
+
/** Edge nodes */
|
|
290
|
+
edgeNodes?: EdgeNodeConfig[];
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Build resource limits.
|
|
294
|
+
*/
|
|
295
|
+
export interface BuildResourceLimits {
|
|
296
|
+
/** Max concurrent builds */
|
|
297
|
+
maxConcurrentBuilds: number;
|
|
298
|
+
/** CPU per build */
|
|
299
|
+
cpuPerBuild: string;
|
|
300
|
+
/** Memory per build */
|
|
301
|
+
memoryPerBuild: string;
|
|
302
|
+
/** Build timeout in minutes */
|
|
303
|
+
buildTimeout: number;
|
|
304
|
+
/** Disk space per build */
|
|
305
|
+
diskSpace: string;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Build storage configuration.
|
|
309
|
+
*/
|
|
310
|
+
export interface BuildStorageConfig {
|
|
311
|
+
/** Artifact storage type */
|
|
312
|
+
artifactStorage: 's3' | 'azure-blob' | 'gcs' | 'minio';
|
|
313
|
+
/** Bucket/container name */
|
|
314
|
+
bucket: string;
|
|
315
|
+
/** Cache storage */
|
|
316
|
+
cacheStorage: string;
|
|
317
|
+
/** Artifact retention days */
|
|
318
|
+
retentionDays: number;
|
|
319
|
+
/** Enable CDN */
|
|
320
|
+
cdnEnabled: boolean;
|
|
321
|
+
/** CDN endpoint */
|
|
322
|
+
cdnEndpoint?: string;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Edge node configuration for distributed builds.
|
|
326
|
+
*/
|
|
327
|
+
export interface EdgeNodeConfig {
|
|
328
|
+
/** Node ID */
|
|
329
|
+
nodeId: string;
|
|
330
|
+
/** Node name */
|
|
331
|
+
name: string;
|
|
332
|
+
/** Location */
|
|
333
|
+
location: string;
|
|
334
|
+
/** Capabilities */
|
|
335
|
+
capabilities: BuildCapability[];
|
|
336
|
+
/** Status */
|
|
337
|
+
status: 'online' | 'offline' | 'busy';
|
|
338
|
+
/** Current load (0-100) */
|
|
339
|
+
load: number;
|
|
340
|
+
/** Priority */
|
|
341
|
+
priority: number;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Build capabilities.
|
|
345
|
+
*/
|
|
346
|
+
export type BuildCapability = 'unity' | 'godot' | 'unreal' | 'web' | 'windows' | 'linux' | 'macos' | 'android' | 'ios';
|
|
347
|
+
/**
|
|
348
|
+
* Build queue manager configuration.
|
|
349
|
+
*/
|
|
350
|
+
export interface BuildQueueConfig {
|
|
351
|
+
/** Queue type */
|
|
352
|
+
queueType: 'redis' | 'rabbitmq' | 'sqs' | 'in-memory';
|
|
353
|
+
/** Connection string */
|
|
354
|
+
connectionString: string;
|
|
355
|
+
/** Priority levels */
|
|
356
|
+
priorityLevels: number;
|
|
357
|
+
/** Max queue size */
|
|
358
|
+
maxQueueSize: number;
|
|
359
|
+
/** Dead letter queue */
|
|
360
|
+
deadLetterQueue: boolean;
|
|
361
|
+
/** Retry configuration */
|
|
362
|
+
retry: BuildRetryConfig;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Build retry configuration.
|
|
366
|
+
*/
|
|
367
|
+
export interface BuildRetryConfig {
|
|
368
|
+
/** Max retries */
|
|
369
|
+
maxRetries: number;
|
|
370
|
+
/** Initial delay (ms) */
|
|
371
|
+
initialDelay: number;
|
|
372
|
+
/** Max delay (ms) */
|
|
373
|
+
maxDelay: number;
|
|
374
|
+
/** Backoff multiplier */
|
|
375
|
+
backoffMultiplier: number;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Build agent configuration.
|
|
379
|
+
*/
|
|
380
|
+
export interface BuildAgentConfig {
|
|
381
|
+
/** Agent ID */
|
|
382
|
+
agentId: string;
|
|
383
|
+
/** Agent capabilities */
|
|
384
|
+
capabilities: BuildCapability[];
|
|
385
|
+
/** Tags for routing */
|
|
386
|
+
tags: string[];
|
|
387
|
+
/** Max concurrent jobs */
|
|
388
|
+
maxConcurrent: number;
|
|
389
|
+
/** Workspace directory */
|
|
390
|
+
workspaceDir: string;
|
|
391
|
+
/** Cleanup after build */
|
|
392
|
+
cleanupAfterBuild: boolean;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Build agent pool configuration.
|
|
396
|
+
*/
|
|
397
|
+
export interface BuildAgentPool {
|
|
398
|
+
/** Pool name */
|
|
399
|
+
name: string;
|
|
400
|
+
/** Min agents */
|
|
401
|
+
minAgents: number;
|
|
402
|
+
/** Max agents */
|
|
403
|
+
maxAgents: number;
|
|
404
|
+
/** Scale up threshold (%) */
|
|
405
|
+
scaleUpThreshold: number;
|
|
406
|
+
/** Scale down threshold (%) */
|
|
407
|
+
scaleDownThreshold: number;
|
|
408
|
+
/** Cool down period (seconds) */
|
|
409
|
+
coolDownPeriod: number;
|
|
410
|
+
/** Agents */
|
|
411
|
+
agents: BuildAgentConfig[];
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Unity Docker image configuration.
|
|
415
|
+
*/
|
|
416
|
+
export interface UnityDockerConfig {
|
|
417
|
+
/** Base image */
|
|
418
|
+
baseImage: string;
|
|
419
|
+
/** Unity version */
|
|
420
|
+
unityVersion: string;
|
|
421
|
+
/** Components */
|
|
422
|
+
components: UnityComponent[];
|
|
423
|
+
/** License type */
|
|
424
|
+
licenseType: 'personal' | 'plus' | 'pro';
|
|
425
|
+
/** Platform modules */
|
|
426
|
+
platformModules: UnityPlatformModule[];
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Unity components.
|
|
430
|
+
*/
|
|
431
|
+
export type UnityComponent = 'unity-editor' | 'android-sdk' | 'ios-support' | 'webgl-support' | 'windows-mono' | 'windows-il2cpp' | 'linux-mono' | 'linux-il2cpp' | 'macos-mono' | 'macos-il2cpp';
|
|
432
|
+
/**
|
|
433
|
+
* Unity platform modules.
|
|
434
|
+
*/
|
|
435
|
+
export type UnityPlatformModule = 'android' | 'ios' | 'webgl' | 'windows' | 'linux' | 'macos' | 'tvos' | 'ps4' | 'ps5' | 'xbox' | 'switch';
|
|
436
|
+
/**
|
|
437
|
+
* Unity license activation configuration.
|
|
438
|
+
*/
|
|
439
|
+
export interface UnityLicenseConfig {
|
|
440
|
+
/** License type */
|
|
441
|
+
type: 'personal' | 'plus' | 'pro' | 'enterprise';
|
|
442
|
+
/** Serial number (from env) */
|
|
443
|
+
serialNumber?: string;
|
|
444
|
+
/** License file path */
|
|
445
|
+
licenseFile?: string;
|
|
446
|
+
/** Offline activation */
|
|
447
|
+
offlineActivation: boolean;
|
|
448
|
+
/** ALF request path */
|
|
449
|
+
alfRequestPath?: string;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Unity build API request.
|
|
453
|
+
*/
|
|
454
|
+
export interface UnityBuildRequest {
|
|
455
|
+
/** Project path or URL */
|
|
456
|
+
projectSource: string;
|
|
457
|
+
/** Build target */
|
|
458
|
+
buildTarget: UnityBuildTarget;
|
|
459
|
+
/** Build options */
|
|
460
|
+
buildOptions: UnityBuildOptions;
|
|
461
|
+
/** Callback URL for completion */
|
|
462
|
+
callbackUrl?: string;
|
|
463
|
+
/** Priority */
|
|
464
|
+
priority?: number;
|
|
465
|
+
/** Custom defines */
|
|
466
|
+
scriptingDefines?: string[];
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Unity build targets.
|
|
470
|
+
*/
|
|
471
|
+
export type UnityBuildTarget = 'StandaloneWindows' | 'StandaloneWindows64' | 'StandaloneOSX' | 'StandaloneLinux64' | 'Android' | 'iOS' | 'WebGL' | 'tvOS' | 'PS4' | 'PS5' | 'XboxOne' | 'Switch';
|
|
472
|
+
/**
|
|
473
|
+
* Unity build options.
|
|
474
|
+
*/
|
|
475
|
+
export interface UnityBuildOptions {
|
|
476
|
+
/** Development build */
|
|
477
|
+
development: boolean;
|
|
478
|
+
/** Allow debugging */
|
|
479
|
+
allowDebugging: boolean;
|
|
480
|
+
/** Auto-run player */
|
|
481
|
+
autoRunPlayer: boolean;
|
|
482
|
+
/** Compress with LZ4 */
|
|
483
|
+
compressWithLz4: boolean;
|
|
484
|
+
/** Build scripts only */
|
|
485
|
+
buildScriptsOnly: boolean;
|
|
486
|
+
/** Strict mode */
|
|
487
|
+
strictMode: boolean;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Unity project converter configuration.
|
|
491
|
+
*/
|
|
492
|
+
export interface UnityProjectConverter {
|
|
493
|
+
/** Source project format */
|
|
494
|
+
sourceFormat: 'nice2dev' | 'godot' | 'custom';
|
|
495
|
+
/** Target Unity version */
|
|
496
|
+
targetVersion: string;
|
|
497
|
+
/** Conversion options */
|
|
498
|
+
options: UnityConversionOptions;
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Unity conversion options.
|
|
502
|
+
*/
|
|
503
|
+
export interface UnityConversionOptions {
|
|
504
|
+
/** Convert scripts */
|
|
505
|
+
convertScripts: boolean;
|
|
506
|
+
/** Convert assets */
|
|
507
|
+
convertAssets: boolean;
|
|
508
|
+
/** Convert scenes */
|
|
509
|
+
convertScenes: boolean;
|
|
510
|
+
/** Convert animations */
|
|
511
|
+
convertAnimations: boolean;
|
|
512
|
+
/** Generate prefabs */
|
|
513
|
+
generatePrefabs: boolean;
|
|
514
|
+
/** Generate materials */
|
|
515
|
+
generateMaterials: boolean;
|
|
516
|
+
/** Asset import settings */
|
|
517
|
+
assetImportSettings: Record<string, unknown>;
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Unity editor plugin for bidirectional sync.
|
|
521
|
+
*/
|
|
522
|
+
export interface UnityEditorPlugin {
|
|
523
|
+
/** Plugin ID */
|
|
524
|
+
pluginId: string;
|
|
525
|
+
/** Plugin version */
|
|
526
|
+
version: string;
|
|
527
|
+
/** Sync protocol */
|
|
528
|
+
syncProtocol: SyncProtocol;
|
|
529
|
+
/** Features */
|
|
530
|
+
features: UnityPluginFeature[];
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Unity plugin features.
|
|
534
|
+
*/
|
|
535
|
+
export type UnityPluginFeature = 'scene-sync' | 'asset-sync' | 'script-sync' | 'live-preview' | 'remote-control' | 'debug-bridge';
|
|
536
|
+
/**
|
|
537
|
+
* Godot Docker image configuration.
|
|
538
|
+
*/
|
|
539
|
+
export interface GodotDockerConfig {
|
|
540
|
+
/** Base image */
|
|
541
|
+
baseImage: string;
|
|
542
|
+
/** Godot version */
|
|
543
|
+
godotVersion: string;
|
|
544
|
+
/** Use .NET version */
|
|
545
|
+
dotnet: boolean;
|
|
546
|
+
/** Export templates */
|
|
547
|
+
exportTemplates: GodotExportTemplate[];
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Godot export templates.
|
|
551
|
+
*/
|
|
552
|
+
export type GodotExportTemplate = 'linux_x86_64' | 'linux_arm64' | 'windows_x86_64' | 'windows_x86_32' | 'macos' | 'android' | 'ios' | 'web';
|
|
553
|
+
/**
|
|
554
|
+
* Godot build API request.
|
|
555
|
+
*/
|
|
556
|
+
export interface GodotBuildRequest {
|
|
557
|
+
/** Project path or URL */
|
|
558
|
+
projectSource: string;
|
|
559
|
+
/** Export preset name */
|
|
560
|
+
exportPreset: string;
|
|
561
|
+
/** Output path */
|
|
562
|
+
outputPath: string;
|
|
563
|
+
/** Debug build */
|
|
564
|
+
debug: boolean;
|
|
565
|
+
/** Callback URL */
|
|
566
|
+
callbackUrl?: string;
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* Godot project converter configuration.
|
|
570
|
+
*/
|
|
571
|
+
export interface GodotProjectConverter {
|
|
572
|
+
/** Source format */
|
|
573
|
+
sourceFormat: 'nice2dev' | 'unity' | 'custom';
|
|
574
|
+
/** Target Godot version */
|
|
575
|
+
targetVersion: '3.x' | '4.x';
|
|
576
|
+
/** Conversion options */
|
|
577
|
+
options: GodotConversionOptions;
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* Godot conversion options.
|
|
581
|
+
*/
|
|
582
|
+
export interface GodotConversionOptions {
|
|
583
|
+
/** Convert to GDScript */
|
|
584
|
+
convertToGDScript: boolean;
|
|
585
|
+
/** Convert to C# */
|
|
586
|
+
convertToCSharp: boolean;
|
|
587
|
+
/** Convert scenes */
|
|
588
|
+
convertScenes: boolean;
|
|
589
|
+
/** Convert resources */
|
|
590
|
+
convertResources: boolean;
|
|
591
|
+
/** Generate .import files */
|
|
592
|
+
generateImportFiles: boolean;
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* Godot editor plugin configuration.
|
|
596
|
+
*/
|
|
597
|
+
export interface GodotEditorPlugin {
|
|
598
|
+
/** Plugin path */
|
|
599
|
+
pluginPath: string;
|
|
600
|
+
/** Plugin version */
|
|
601
|
+
version: string;
|
|
602
|
+
/** GDScript or C# */
|
|
603
|
+
language: 'gdscript' | 'csharp';
|
|
604
|
+
/** Features */
|
|
605
|
+
features: GodotPluginFeature[];
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Godot plugin features.
|
|
609
|
+
*/
|
|
610
|
+
export type GodotPluginFeature = 'scene-import' | 'resource-import' | 'live-sync' | 'debug-protocol' | 'remote-scene';
|
|
611
|
+
/**
|
|
612
|
+
* GDExtension support configuration.
|
|
613
|
+
*/
|
|
614
|
+
export interface GDExtensionConfig {
|
|
615
|
+
/** Extension name */
|
|
616
|
+
name: string;
|
|
617
|
+
/** Compatibility minimum */
|
|
618
|
+
compatibilityMinimum: string;
|
|
619
|
+
/** Entry symbol */
|
|
620
|
+
entrySymbol: string;
|
|
621
|
+
/** Libraries per platform */
|
|
622
|
+
libraries: Record<string, string>;
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Unreal Docker image configuration.
|
|
626
|
+
*/
|
|
627
|
+
export interface UnrealDockerConfig {
|
|
628
|
+
/** Base image */
|
|
629
|
+
baseImage: string;
|
|
630
|
+
/** Unreal version */
|
|
631
|
+
unrealVersion: string;
|
|
632
|
+
/** Build farm integration */
|
|
633
|
+
buildFarm: boolean;
|
|
634
|
+
/** Installed build */
|
|
635
|
+
installedBuild: boolean;
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Unreal build farm configuration.
|
|
639
|
+
*/
|
|
640
|
+
export interface UnrealBuildFarm {
|
|
641
|
+
/** Coordinator URL */
|
|
642
|
+
coordinatorUrl: string;
|
|
643
|
+
/** Agent configuration */
|
|
644
|
+
agents: UnrealBuildAgent[];
|
|
645
|
+
/** Shared storage path */
|
|
646
|
+
sharedStoragePath: string;
|
|
647
|
+
/** DDC path */
|
|
648
|
+
derivedDataCachePath: string;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Unreal build agent.
|
|
652
|
+
*/
|
|
653
|
+
export interface UnrealBuildAgent {
|
|
654
|
+
/** Agent name */
|
|
655
|
+
name: string;
|
|
656
|
+
/** Agent capabilities */
|
|
657
|
+
capabilities: string[];
|
|
658
|
+
/** Platform */
|
|
659
|
+
platform: 'windows' | 'linux' | 'macos';
|
|
660
|
+
/** GPU available */
|
|
661
|
+
hasGpu: boolean;
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Unreal build API request.
|
|
665
|
+
*/
|
|
666
|
+
export interface UnrealBuildRequest {
|
|
667
|
+
/** Project source */
|
|
668
|
+
projectSource: string;
|
|
669
|
+
/** Build configuration */
|
|
670
|
+
configuration: 'Development' | 'Shipping' | 'Test' | 'Debug';
|
|
671
|
+
/** Target platform */
|
|
672
|
+
platform: UnrealTargetPlatform;
|
|
673
|
+
/** Cook content */
|
|
674
|
+
cook: boolean;
|
|
675
|
+
/** Package project */
|
|
676
|
+
package: boolean;
|
|
677
|
+
/** Callback URL */
|
|
678
|
+
callbackUrl?: string;
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Unreal target platforms.
|
|
682
|
+
*/
|
|
683
|
+
export type UnrealTargetPlatform = 'Win64' | 'Linux' | 'Mac' | 'Android' | 'IOS' | 'HoloLens' | 'PS4' | 'PS5' | 'Switch' | 'XboxOne' | 'XSX';
|
|
684
|
+
/**
|
|
685
|
+
* Unreal project converter configuration.
|
|
686
|
+
*/
|
|
687
|
+
export interface UnrealProjectConverter {
|
|
688
|
+
/** Source format */
|
|
689
|
+
sourceFormat: 'nice2dev' | 'unity' | 'custom';
|
|
690
|
+
/** Target Unreal version */
|
|
691
|
+
targetVersion: string;
|
|
692
|
+
/** Conversion options */
|
|
693
|
+
options: UnrealConversionOptions;
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Unreal conversion options.
|
|
697
|
+
*/
|
|
698
|
+
export interface UnrealConversionOptions {
|
|
699
|
+
/** Generate Blueprints */
|
|
700
|
+
generateBlueprints: boolean;
|
|
701
|
+
/** Generate C++ */
|
|
702
|
+
generateCpp: boolean;
|
|
703
|
+
/** Convert materials */
|
|
704
|
+
convertMaterials: boolean;
|
|
705
|
+
/** Convert meshes */
|
|
706
|
+
convertMeshes: boolean;
|
|
707
|
+
/** Convert animations */
|
|
708
|
+
convertAnimations: boolean;
|
|
709
|
+
/** Use Nanite */
|
|
710
|
+
useNanite: boolean;
|
|
711
|
+
/** Use Lumen */
|
|
712
|
+
useLumen: boolean;
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Unreal editor plugin configuration.
|
|
716
|
+
*/
|
|
717
|
+
export interface UnrealEditorPlugin {
|
|
718
|
+
/** Plugin name */
|
|
719
|
+
name: string;
|
|
720
|
+
/** Plugin version */
|
|
721
|
+
version: string;
|
|
722
|
+
/** Module definitions */
|
|
723
|
+
modules: UnrealPluginModule[];
|
|
724
|
+
/** Features */
|
|
725
|
+
features: UnrealPluginFeature[];
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Unreal plugin module.
|
|
729
|
+
*/
|
|
730
|
+
export interface UnrealPluginModule {
|
|
731
|
+
/** Module name */
|
|
732
|
+
name: string;
|
|
733
|
+
/** Module type */
|
|
734
|
+
type: 'Runtime' | 'Editor' | 'ThirdParty' | 'Program';
|
|
735
|
+
/** Loading phase */
|
|
736
|
+
loadingPhase: 'Default' | 'PreDefault' | 'PostDefault' | 'PreLoadingScreen';
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Unreal plugin features.
|
|
740
|
+
*/
|
|
741
|
+
export type UnrealPluginFeature = 'umap-import' | 'blueprint-parse' | 'asset-import' | 'live-coding' | 'pie-bridge' | 'marketplace';
|
|
742
|
+
/**
|
|
743
|
+
* Bidirectional sync protocol.
|
|
744
|
+
*/
|
|
745
|
+
export interface SyncProtocol {
|
|
746
|
+
/** Protocol version */
|
|
747
|
+
version: string;
|
|
748
|
+
/** Transport type */
|
|
749
|
+
transport: 'websocket' | 'grpc' | 'http';
|
|
750
|
+
/** Endpoint URL */
|
|
751
|
+
endpoint: string;
|
|
752
|
+
/** Authentication */
|
|
753
|
+
auth: SyncAuth;
|
|
754
|
+
/** Sync events */
|
|
755
|
+
events: SyncEvent[];
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* Sync authentication.
|
|
759
|
+
*/
|
|
760
|
+
export interface SyncAuth {
|
|
761
|
+
/** Auth type */
|
|
762
|
+
type: 'token' | 'oauth' | 'certificate';
|
|
763
|
+
/** Token/key */
|
|
764
|
+
token?: string;
|
|
765
|
+
/** Certificate path */
|
|
766
|
+
certificate?: string;
|
|
767
|
+
}
|
|
768
|
+
/**
|
|
769
|
+
* Sync event types.
|
|
770
|
+
*/
|
|
771
|
+
export interface SyncEvent {
|
|
772
|
+
/** Event name */
|
|
773
|
+
name: string;
|
|
774
|
+
/** Direction */
|
|
775
|
+
direction: 'push' | 'pull' | 'both';
|
|
776
|
+
/** Data schema */
|
|
777
|
+
schema: string;
|
|
778
|
+
/** Debounce ms */
|
|
779
|
+
debounce?: number;
|
|
780
|
+
}
|
|
781
|
+
/**
|
|
782
|
+
* WebGPU renderer configuration.
|
|
783
|
+
*/
|
|
784
|
+
export interface WebGPURenderConfig {
|
|
785
|
+
/** Adapter preferences */
|
|
786
|
+
adapterPreferences: GPUAdapterPreferences;
|
|
787
|
+
/** Device limits */
|
|
788
|
+
deviceLimits: GPUDeviceLimits;
|
|
789
|
+
/** Pipeline features */
|
|
790
|
+
pipelineFeatures: GPUPipelineFeatures;
|
|
791
|
+
/** Profiling enabled */
|
|
792
|
+
profiling: boolean;
|
|
793
|
+
}
|
|
794
|
+
/**
|
|
795
|
+
* GPU adapter preferences.
|
|
796
|
+
*/
|
|
797
|
+
export interface GPUAdapterPreferences {
|
|
798
|
+
/** Power preference */
|
|
799
|
+
powerPreference: 'low-power' | 'high-performance';
|
|
800
|
+
/** Force fallback adapter */
|
|
801
|
+
forceFallbackAdapter: boolean;
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
804
|
+
* GPU device limits.
|
|
805
|
+
*/
|
|
806
|
+
export interface GPUDeviceLimits {
|
|
807
|
+
/** Max texture dimension 2D */
|
|
808
|
+
maxTextureDimension2D: number;
|
|
809
|
+
/** Max buffer size */
|
|
810
|
+
maxBufferSize: number;
|
|
811
|
+
/** Max bind groups */
|
|
812
|
+
maxBindGroups: number;
|
|
813
|
+
/** Max compute workgroup size X */
|
|
814
|
+
maxComputeWorkgroupSizeX: number;
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* GPU pipeline features.
|
|
818
|
+
*/
|
|
819
|
+
export interface GPUPipelineFeatures {
|
|
820
|
+
/** Depth clip control */
|
|
821
|
+
depthClipControl: boolean;
|
|
822
|
+
/** Depth32Float stencil8 */
|
|
823
|
+
depth32FloatStencil8: boolean;
|
|
824
|
+
/** Timestamp query */
|
|
825
|
+
timestampQuery: boolean;
|
|
826
|
+
/** Texture compression BC */
|
|
827
|
+
textureCompressionBC: boolean;
|
|
828
|
+
/** Indirect first instance */
|
|
829
|
+
indirectFirstInstance: boolean;
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* ECS optimization configuration.
|
|
833
|
+
*/
|
|
834
|
+
export interface ECSOptimizationConfig {
|
|
835
|
+
/** Enable SIMD */
|
|
836
|
+
simd: boolean;
|
|
837
|
+
/** Job scheduling */
|
|
838
|
+
jobScheduling: boolean;
|
|
839
|
+
/** Max parallel jobs */
|
|
840
|
+
maxParallelJobs: number;
|
|
841
|
+
/** Archetype chunking */
|
|
842
|
+
archetypeChunking: boolean;
|
|
843
|
+
/** Chunk size */
|
|
844
|
+
chunkSize: number;
|
|
845
|
+
}
|
|
846
|
+
/**
|
|
847
|
+
* Network prediction configuration.
|
|
848
|
+
*/
|
|
849
|
+
export interface NetworkPredictionConfig {
|
|
850
|
+
/** Enable client-side prediction */
|
|
851
|
+
clientPrediction: boolean;
|
|
852
|
+
/** Rollback netcode */
|
|
853
|
+
rollbackNetcode: boolean;
|
|
854
|
+
/** Rollback frames */
|
|
855
|
+
rollbackFrames: number;
|
|
856
|
+
/** Interpolation */
|
|
857
|
+
interpolation: boolean;
|
|
858
|
+
/** Interpolation delay frames */
|
|
859
|
+
interpolationDelay: number;
|
|
860
|
+
/** Delta compression */
|
|
861
|
+
deltaCompression: boolean;
|
|
862
|
+
}
|
|
863
|
+
/**
|
|
864
|
+
* Save system configuration.
|
|
865
|
+
*/
|
|
866
|
+
export interface SaveSystemConfig {
|
|
867
|
+
/** Save format */
|
|
868
|
+
format: 'json' | 'binary' | 'messagepack';
|
|
869
|
+
/** Compression */
|
|
870
|
+
compression: 'none' | 'gzip' | 'lz4' | 'zstd';
|
|
871
|
+
/** Encryption */
|
|
872
|
+
encryption: boolean;
|
|
873
|
+
/** Schema versioning */
|
|
874
|
+
schemaVersioning: boolean;
|
|
875
|
+
/** Migration support */
|
|
876
|
+
migrationSupport: boolean;
|
|
877
|
+
/** Auto-save interval (seconds) */
|
|
878
|
+
autoSaveInterval?: number;
|
|
879
|
+
/** Max save slots */
|
|
880
|
+
maxSaveSlots: number;
|
|
881
|
+
}
|
|
882
|
+
/**
|
|
883
|
+
* Mod support configuration.
|
|
884
|
+
*/
|
|
885
|
+
export interface ModSupportConfig {
|
|
886
|
+
/** Enabled */
|
|
887
|
+
enabled: boolean;
|
|
888
|
+
/** Mod directory */
|
|
889
|
+
modDirectory: string;
|
|
890
|
+
/** Allowed file types */
|
|
891
|
+
allowedFileTypes: string[];
|
|
892
|
+
/** Sandboxing */
|
|
893
|
+
sandboxed: boolean;
|
|
894
|
+
/** API access level */
|
|
895
|
+
apiAccessLevel: 'full' | 'limited' | 'readonly';
|
|
896
|
+
/** Mod load order */
|
|
897
|
+
loadOrder: string[];
|
|
898
|
+
/** Steam Workshop integration */
|
|
899
|
+
steamWorkshop?: boolean;
|
|
900
|
+
}
|
|
901
|
+
/**
|
|
902
|
+
* Game template definition.
|
|
903
|
+
*/
|
|
904
|
+
export interface GameTemplate {
|
|
905
|
+
/** Template ID */
|
|
906
|
+
id: string;
|
|
907
|
+
/** Template name */
|
|
908
|
+
name: string;
|
|
909
|
+
/** Description */
|
|
910
|
+
description: string;
|
|
911
|
+
/** Genre */
|
|
912
|
+
genre: GameGenre;
|
|
913
|
+
/** Features included */
|
|
914
|
+
features: string[];
|
|
915
|
+
/** Required components */
|
|
916
|
+
components: string[];
|
|
917
|
+
/** Preview image */
|
|
918
|
+
previewImage: string;
|
|
919
|
+
/** Complexity level */
|
|
920
|
+
complexity: 'beginner' | 'intermediate' | 'advanced';
|
|
921
|
+
/** Estimated setup time (minutes) */
|
|
922
|
+
estimatedSetupTime: number;
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* Game genres for templates.
|
|
926
|
+
*/
|
|
927
|
+
export type GameGenre = 'platformer' | 'top-down-shooter' | 'rpg' | 'visual-novel' | 'puzzle' | 'tower-defense' | 'idle-clicker' | 'racing' | 'fighting' | 'rts' | 'city-builder' | 'survival' | 'roguelike' | 'metroidvania' | 'rhythm' | 'sports' | 'card-game' | 'board-game' | 'educational' | 'simulation';
|
|
928
|
+
/**
|
|
929
|
+
* Template instantiation options.
|
|
930
|
+
*/
|
|
931
|
+
export interface TemplateInstantiationOptions {
|
|
932
|
+
/** Template ID */
|
|
933
|
+
templateId: string;
|
|
934
|
+
/** Project name */
|
|
935
|
+
projectName: string;
|
|
936
|
+
/** Output directory */
|
|
937
|
+
outputDir: string;
|
|
938
|
+
/** Customization options */
|
|
939
|
+
customization: TemplateCustomization;
|
|
940
|
+
/** Target platforms */
|
|
941
|
+
targetPlatforms: ExportPlatform[];
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* Template customization options.
|
|
945
|
+
*/
|
|
946
|
+
export interface TemplateCustomization {
|
|
947
|
+
/** Art style */
|
|
948
|
+
artStyle?: 'pixel' | '2d-vector' | '3d-lowpoly' | '3d-realistic';
|
|
949
|
+
/** Color palette */
|
|
950
|
+
colorPalette?: string[];
|
|
951
|
+
/** Audio style */
|
|
952
|
+
audioStyle?: 'retro' | 'modern' | 'orchestral' | 'electronic';
|
|
953
|
+
/** Include multiplayer */
|
|
954
|
+
multiplayer?: boolean;
|
|
955
|
+
/** Include achievements */
|
|
956
|
+
achievements?: boolean;
|
|
957
|
+
/** Include leaderboards */
|
|
958
|
+
leaderboards?: boolean;
|
|
959
|
+
/** Localization languages */
|
|
960
|
+
languages?: string[];
|
|
961
|
+
}
|
|
962
|
+
/**
|
|
963
|
+
* Build analytics dashboard.
|
|
964
|
+
*/
|
|
965
|
+
export interface BuildAnalyticsDashboard {
|
|
966
|
+
/** Time period */
|
|
967
|
+
period: {
|
|
968
|
+
start: string;
|
|
969
|
+
end: string;
|
|
970
|
+
};
|
|
971
|
+
/** Total builds */
|
|
972
|
+
totalBuilds: number;
|
|
973
|
+
/** Successful builds */
|
|
974
|
+
successfulBuilds: number;
|
|
975
|
+
/** Failed builds */
|
|
976
|
+
failedBuilds: number;
|
|
977
|
+
/** Success rate */
|
|
978
|
+
successRate: number;
|
|
979
|
+
/** Average build time (seconds) */
|
|
980
|
+
avgBuildTime: number;
|
|
981
|
+
/** Build time trend */
|
|
982
|
+
buildTimeTrend: TrendData[];
|
|
983
|
+
/** Builds by platform */
|
|
984
|
+
buildsByPlatform: Record<ExportPlatform, number>;
|
|
985
|
+
/** Builds by engine */
|
|
986
|
+
buildsByEngine: Record<string, number>;
|
|
987
|
+
/** Top failure reasons */
|
|
988
|
+
topFailureReasons: {
|
|
989
|
+
reason: string;
|
|
990
|
+
count: number;
|
|
991
|
+
}[];
|
|
992
|
+
/** Resource utilization */
|
|
993
|
+
resourceUtilization: ResourceUtilization;
|
|
994
|
+
}
|
|
995
|
+
/**
|
|
996
|
+
* Trend data point.
|
|
997
|
+
*/
|
|
998
|
+
export interface TrendData {
|
|
999
|
+
/** Date */
|
|
1000
|
+
date: string;
|
|
1001
|
+
/** Value */
|
|
1002
|
+
value: number;
|
|
1003
|
+
}
|
|
1004
|
+
/**
|
|
1005
|
+
* Resource utilization metrics.
|
|
1006
|
+
*/
|
|
1007
|
+
export interface ResourceUtilization {
|
|
1008
|
+
/** CPU utilization (%) */
|
|
1009
|
+
cpuUtilization: number;
|
|
1010
|
+
/** Memory utilization (%) */
|
|
1011
|
+
memoryUtilization: number;
|
|
1012
|
+
/** Disk utilization (%) */
|
|
1013
|
+
diskUtilization: number;
|
|
1014
|
+
/** Network throughput (MB/s) */
|
|
1015
|
+
networkThroughput: number;
|
|
1016
|
+
/** Queue depth */
|
|
1017
|
+
queueDepth: number;
|
|
1018
|
+
/** Active agents */
|
|
1019
|
+
activeAgents: number;
|
|
1020
|
+
}
|
|
1021
|
+
/**
|
|
1022
|
+
* Build notification configuration.
|
|
1023
|
+
*/
|
|
1024
|
+
export interface BuildNotificationConfig {
|
|
1025
|
+
/** Enabled channels */
|
|
1026
|
+
channels: NotificationChannel[];
|
|
1027
|
+
/** Notify on success */
|
|
1028
|
+
notifyOnSuccess: boolean;
|
|
1029
|
+
/** Notify on failure */
|
|
1030
|
+
notifyOnFailure: boolean;
|
|
1031
|
+
/** Notify on start */
|
|
1032
|
+
notifyOnStart: boolean;
|
|
1033
|
+
/** Include build log on failure */
|
|
1034
|
+
includeLogOnFailure: boolean;
|
|
1035
|
+
/** Cooldown between notifications (minutes) */
|
|
1036
|
+
cooldownMinutes: number;
|
|
1037
|
+
}
|
|
1038
|
+
/**
|
|
1039
|
+
* Notification channels.
|
|
1040
|
+
*/
|
|
1041
|
+
export interface NotificationChannel {
|
|
1042
|
+
/** Channel type */
|
|
1043
|
+
type: 'email' | 'slack' | 'discord' | 'teams' | 'webhook';
|
|
1044
|
+
/** Channel configuration */
|
|
1045
|
+
config: Record<string, string>;
|
|
1046
|
+
/** Events to notify */
|
|
1047
|
+
events: ('start' | 'success' | 'failure' | 'warning')[];
|
|
1048
|
+
}
|
|
1049
|
+
//# sourceMappingURL=game-engine-advanced.d.ts.map
|