@directivegames/genesys.sdk 3.2.2 → 3.2.5
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 +60 -60
- package/dist/src/asset-pack/eslint.config.js +4 -4
- package/dist/src/core/cli.js +22 -22
- package/dist/src/core/common.js +2 -2
- package/dist/src/core/tools/build-project.js +1 -1
- package/dist/src/core/tools/new-asset-pack.js +1 -1
- package/dist/src/core/tools/new-project.js +1 -1
- package/dist/src/dependencies.js +1 -1
- package/dist/src/electron/backend/tools/const.js +1 -1
- package/dist/src/electron/backend/tools/open-project.js +1 -1
- package/dist/src/templates/eslint.config.js +4 -4
- package/dist/src/templates/scripts/genesys/calc-bounding-box.js +2 -2
- package/dist/src/templates/scripts/genesys/dev/dump-default-scene.js +1 -1
- package/dist/src/templates/scripts/genesys/dev/generate-manifest.js +1 -1
- package/dist/src/templates/scripts/genesys/dev/launcher.js +1 -1
- package/dist/src/templates/scripts/genesys/dev/storage-provider.js +4 -4
- package/dist/src/templates/scripts/genesys/genesys-mcp.js +26 -26
- package/dist/src/templates/scripts/genesys/mcp/doc-tools.js +2 -2
- package/dist/src/templates/scripts/genesys/mcp/editor-functions.js +5 -5
- package/dist/src/templates/scripts/genesys/mcp/search-actors.js +1 -1
- package/dist/src/templates/scripts/genesys/mcp/search-assets.js +1 -1
- package/dist/src/templates/scripts/genesys/mcp/utils.js +1 -1
- package/dist/src/templates/scripts/genesys/misc.js +1 -1
- package/dist/src/templates/scripts/genesys/mock.js +1 -1
- package/dist/src/templates/scripts/genesys/place-actors.js +1 -1
- package/dist/src/templates/scripts/genesys/post-install.js +1 -1
- package/dist/src/templates/scripts/genesys/storageProvider.js +2 -2
- package/dist/src/templates/src/index.js +1 -1
- package/dist/src/templates/src/templates/firstPerson/src/game.js +1 -1
- package/dist/src/templates/src/templates/firstPerson/src/player.js +1 -1
- package/dist/src/templates/src/templates/fps/src/game.js +1 -1
- package/dist/src/templates/src/templates/fps/src/player.js +1 -1
- package/dist/src/templates/src/templates/fps/src/weapon.js +1 -1
- package/dist/src/templates/src/templates/freeCamera/src/game.js +1 -1
- package/dist/src/templates/src/templates/freeCamera/src/player.js +1 -1
- package/dist/src/templates/src/templates/sideScroller/src/game.js +1 -1
- package/dist/src/templates/src/templates/sideScroller/src/level-generator.js +1 -1
- package/dist/src/templates/src/templates/sideScroller/src/player.js +1 -1
- package/dist/src/templates/src/templates/thirdPerson/src/game.js +1 -1
- package/dist/src/templates/src/templates/thirdPerson/src/player.js +1 -1
- package/dist/src/templates/src/templates/vehicle/src/base-vehicle.js +1 -1
- package/dist/src/templates/src/templates/vehicle/src/game.js +1 -1
- package/dist/src/templates/src/templates/vehicle/src/mesh-vehicle.js +1 -1
- package/dist/src/templates/src/templates/vehicle/src/player.js +1 -1
- package/dist/src/templates/src/templates/vehicle/src/primitive-vehicle.js +1 -1
- package/dist/src/templates/src/templates/vehicle/src/ui-hints.js +31 -31
- package/dist/src/templates/src/templates/vr-game/src/game.js +1 -1
- package/dist/src/templates/src/templates/vr-game/src/sample-vr-actor.js +1 -1
- package/package.json +176 -176
- package/scripts/post-install.ts +143 -143
- package/src/asset-pack/.gitattributes +88 -88
- package/src/asset-pack/eslint.config.js +45 -45
- package/src/asset-pack/gitignore +11 -11
- package/src/asset-pack/scripts/postinstall.ts +81 -81
- package/src/asset-pack/tsconfig.json +33 -33
- package/src/templates/.cursor/mcp.json +20 -20
- package/src/templates/.cursorignore +2 -2
- package/src/templates/.gitattributes +88 -88
- package/src/templates/.vscode/settings.json +6 -6
- package/src/templates/AGENTS.md +86 -86
- package/src/templates/README.md +24 -24
- package/src/templates/eslint.config.js +45 -45
- package/src/templates/gitignore +11 -11
- package/src/templates/index.html +34 -34
- package/src/templates/pnpm-lock.yaml +3676 -3676
- package/src/templates/scripts/genesys/build-project.ts +51 -51
- package/src/templates/scripts/genesys/calc-bounding-box.ts +272 -272
- package/src/templates/scripts/genesys/common.ts +46 -46
- package/src/templates/scripts/genesys/const.ts +9 -9
- package/src/templates/scripts/genesys/dev/dump-default-scene.ts +11 -11
- package/src/templates/scripts/genesys/dev/generate-manifest.ts +146 -146
- package/src/templates/scripts/genesys/dev/launcher.ts +46 -46
- package/src/templates/scripts/genesys/dev/storage-provider.ts +229 -229
- package/src/templates/scripts/genesys/dev/update-template-scenes.ts +84 -84
- package/src/templates/scripts/genesys/doc-server.ts +16 -16
- package/src/templates/scripts/genesys/genesys-mcp.ts +526 -526
- package/src/templates/scripts/genesys/mcp/doc-tools.ts +86 -86
- package/src/templates/scripts/genesys/mcp/editor-functions.ts +151 -151
- package/src/templates/scripts/genesys/mcp/editor-tools.ts +73 -73
- package/src/templates/scripts/genesys/mcp/get-scene-state.ts +35 -35
- package/src/templates/scripts/genesys/mcp/run-subprocess.ts +30 -30
- package/src/templates/scripts/genesys/mcp/search-actors.ts +858 -858
- package/src/templates/scripts/genesys/mcp/search-assets.ts +380 -380
- package/src/templates/scripts/genesys/mcp/utils.ts +281 -281
- package/src/templates/scripts/genesys/misc.ts +42 -42
- package/src/templates/scripts/genesys/mock.ts +6 -6
- package/src/templates/scripts/genesys/place-actors.ts +179 -179
- package/src/templates/scripts/genesys/post-install.ts +30 -30
- package/src/templates/scripts/genesys/prefab.schema.json +84 -84
- package/src/templates/scripts/genesys/remove-engine-comments.ts +134 -134
- package/src/templates/scripts/genesys/run-mcp-inspector.bat +4 -4
- package/src/templates/scripts/genesys/storageProvider.ts +182 -182
- package/src/templates/scripts/genesys/validate-prefabs.ts +138 -138
- package/src/templates/src/index.ts +22 -22
- package/src/templates/src/templates/firstPerson/assets/default.genesys-scene +165 -165
- package/src/templates/src/templates/firstPerson/src/game.ts +39 -39
- package/src/templates/src/templates/firstPerson/src/player.ts +63 -63
- package/src/templates/src/templates/fps/assets/default.genesys-scene +9459 -9459
- package/src/templates/src/templates/fps/src/game.ts +39 -39
- package/src/templates/src/templates/fps/src/player.ts +69 -69
- package/src/templates/src/templates/fps/src/weapon.ts +54 -54
- package/src/templates/src/templates/freeCamera/assets/default.genesys-scene +165 -165
- package/src/templates/src/templates/freeCamera/src/game.ts +39 -39
- package/src/templates/src/templates/freeCamera/src/player.ts +45 -45
- package/src/templates/src/templates/sideScroller/assets/default.genesys-scene +121 -121
- package/src/templates/src/templates/sideScroller/src/const.ts +45 -45
- package/src/templates/src/templates/sideScroller/src/game.ts +122 -122
- package/src/templates/src/templates/sideScroller/src/level-generator.ts +361 -361
- package/src/templates/src/templates/sideScroller/src/player.ts +125 -125
- package/src/templates/src/templates/thirdPerson/assets/default.genesys-scene +165 -165
- package/src/templates/src/templates/thirdPerson/src/game.ts +39 -39
- package/src/templates/src/templates/thirdPerson/src/player.ts +61 -61
- package/src/templates/src/templates/vehicle/assets/default.genesys-scene +225 -225
- package/src/templates/src/templates/vehicle/src/base-vehicle.ts +145 -145
- package/src/templates/src/templates/vehicle/src/game.ts +43 -43
- package/src/templates/src/templates/vehicle/src/mesh-vehicle.ts +191 -191
- package/src/templates/src/templates/vehicle/src/player.ts +109 -109
- package/src/templates/src/templates/vehicle/src/primitive-vehicle.ts +266 -266
- package/src/templates/src/templates/vehicle/src/ui-hints.ts +101 -101
- package/src/templates/src/templates/vr-game/assets/default.genesys-scene +246 -246
- package/src/templates/src/templates/vr-game/src/auto-imports.ts +1 -1
- package/src/templates/src/templates/vr-game/src/game.ts +66 -66
- package/src/templates/src/templates/vr-game/src/sample-vr-actor.ts +26 -26
- package/src/templates/tsconfig.json +34 -34
- package/src/templates/vite.config.ts +52 -52
package/scripts/post-install.ts
CHANGED
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
|
|
4
|
-
import YAML from 'yaml';
|
|
5
|
-
|
|
6
|
-
interface PackageJson {
|
|
7
|
-
dependencies?: Record<string, string>;
|
|
8
|
-
devDependencies?: Record<string, string>;
|
|
9
|
-
name?: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface PnpmLockFile {
|
|
13
|
-
importers?: Record<string, {
|
|
14
|
-
dependencies?: Record<string, {
|
|
15
|
-
specifier: string;
|
|
16
|
-
version: string;
|
|
17
|
-
}>;
|
|
18
|
-
devDependencies?: Record<string, {
|
|
19
|
-
specifier: string;
|
|
20
|
-
version: string;
|
|
21
|
-
}>;
|
|
22
|
-
}>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function generateDependenciesFile(): void {
|
|
26
|
-
try {
|
|
27
|
-
// Read main package.json to get dependency lists
|
|
28
|
-
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
29
|
-
const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf-8');
|
|
30
|
-
const packageJson: PackageJson = JSON.parse(packageJsonContent);
|
|
31
|
-
|
|
32
|
-
// Read pnpm-lock.yaml to get exact versions
|
|
33
|
-
const pnpmLockPath = path.join(process.cwd(), 'pnpm-lock.yaml');
|
|
34
|
-
if (!fs.existsSync(pnpmLockPath)) {
|
|
35
|
-
// this is a valid case when this package is installed as a dependency of another package
|
|
36
|
-
console.log('⚠️ Could not read pnpm-lock.yaml, skipping dependency versions');
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const pnpmLockContent = fs.readFileSync(pnpmLockPath, 'utf-8');
|
|
40
|
-
const pnpmLock: PnpmLockFile = YAML.parse(pnpmLockContent);
|
|
41
|
-
|
|
42
|
-
// Extract dependency lists from both package.json files
|
|
43
|
-
const mainDependencyNames = Object.keys(packageJson.dependencies ?? {});
|
|
44
|
-
const mainDevDependencyNames = Object.keys(packageJson.devDependencies ?? {});
|
|
45
|
-
|
|
46
|
-
// Merge all dependency names, removing duplicates
|
|
47
|
-
const allDependencyNames = [...new Set([...mainDependencyNames])];
|
|
48
|
-
const allDevDependencyNames = [...new Set([...mainDevDependencyNames])];
|
|
49
|
-
|
|
50
|
-
// Helper function to extract version from pnpm lock entry
|
|
51
|
-
const extractVersion = (versionString: string): string => {
|
|
52
|
-
// pnpm versions can include peer dependency info in parentheses, e.g., "11.14.0(@types/react@19.2.7)(react@19.2.0)"
|
|
53
|
-
// We only want the base version number
|
|
54
|
-
return versionString.split('(')[0];
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
// Get exact versions from pnpm-lock.yaml
|
|
58
|
-
const dependencies: Record<string, string> = {};
|
|
59
|
-
const devDependencies: Record<string, string> = {};
|
|
60
|
-
|
|
61
|
-
// Get importers (root workspace)
|
|
62
|
-
const rootImporter = pnpmLock.importers?.['.'];
|
|
63
|
-
|
|
64
|
-
// Process production dependencies
|
|
65
|
-
for (const depName of allDependencyNames) {
|
|
66
|
-
// Check root workspace first
|
|
67
|
-
let version = rootImporter?.dependencies?.[depName]?.version;
|
|
68
|
-
if (version) {
|
|
69
|
-
dependencies[depName] = extractVersion(version);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Process dev dependencies
|
|
74
|
-
for (const depName of allDevDependencyNames) {
|
|
75
|
-
// Check root workspace first
|
|
76
|
-
let version = rootImporter?.devDependencies?.[depName]?.version;
|
|
77
|
-
if (version) {
|
|
78
|
-
devDependencies[depName] = extractVersion(version);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Generate TypeScript content
|
|
83
|
-
const tsContent = `/**
|
|
84
|
-
* Auto-generated file containing all package dependencies and their exact installed versions.
|
|
85
|
-
* This file is generated by the post-install script.
|
|
86
|
-
* Do not edit manually - it will be overwritten on next install.
|
|
87
|
-
*
|
|
88
|
-
* Versions are extracted from pnpm-lock.yaml to show exact installed versions,
|
|
89
|
-
* not the version ranges from package.json.
|
|
90
|
-
*
|
|
91
|
-
* Includes dependencies from the main package.
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
export const DEPENDENCIES = {
|
|
95
|
-
${Object.entries(dependencies)
|
|
96
|
-
.map(([name, version]) => ` '${name}': '${version}',`)
|
|
97
|
-
.join('\n')}
|
|
98
|
-
} as const;
|
|
99
|
-
|
|
100
|
-
export const DEV_DEPENDENCIES = {
|
|
101
|
-
${Object.entries(devDependencies)
|
|
102
|
-
.map(([name, version]) => ` '${name}': '${version}',`)
|
|
103
|
-
.join('\n')}
|
|
104
|
-
} as const;
|
|
105
|
-
|
|
106
|
-
export const ALL_DEPENDENCIES = {
|
|
107
|
-
...DEPENDENCIES,
|
|
108
|
-
...DEV_DEPENDENCIES,
|
|
109
|
-
} as const;
|
|
110
|
-
|
|
111
|
-
export type DependencyName = keyof typeof ALL_DEPENDENCIES;
|
|
112
|
-
`;
|
|
113
|
-
|
|
114
|
-
// Write the TypeScript file
|
|
115
|
-
if (!fs.existsSync(path.join(process.cwd(), 'src'))) {
|
|
116
|
-
console.log('⚠️ src directory not found, skipping dependencies.ts file generation');
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
const outputPath = path.join(process.cwd(), 'src', 'dependencies.ts');
|
|
120
|
-
fs.writeFileSync(outputPath, tsContent, 'utf-8');
|
|
121
|
-
|
|
122
|
-
console.log('✅ Dependencies file generated successfully at src/dependencies.ts');
|
|
123
|
-
console.log(`📦 Found ${Object.keys(dependencies).length} production dependencies with exact versions`);
|
|
124
|
-
console.log(`🔧 Found ${Object.keys(devDependencies).length} development dependencies with exact versions`);
|
|
125
|
-
} catch (error) {
|
|
126
|
-
console.error('❌ Error generating dependencies file:', error);
|
|
127
|
-
process.exit(1);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
function deleteEngineAssets(): void {
|
|
132
|
-
const engineAssetsPath = path.join(process.cwd(), 'node_modules', 'genesys.js', 'assets');
|
|
133
|
-
if (fs.existsSync(engineAssetsPath)) {
|
|
134
|
-
fs.rmSync(engineAssetsPath, { recursive: true });
|
|
135
|
-
console.log('✅ Engine assets deleted successfully');
|
|
136
|
-
} else {
|
|
137
|
-
console.log('⚠️ Engine assets not found, skipping deletion');
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// Run the script
|
|
142
|
-
generateDependenciesFile();
|
|
143
|
-
deleteEngineAssets();
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
import YAML from 'yaml';
|
|
5
|
+
|
|
6
|
+
interface PackageJson {
|
|
7
|
+
dependencies?: Record<string, string>;
|
|
8
|
+
devDependencies?: Record<string, string>;
|
|
9
|
+
name?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface PnpmLockFile {
|
|
13
|
+
importers?: Record<string, {
|
|
14
|
+
dependencies?: Record<string, {
|
|
15
|
+
specifier: string;
|
|
16
|
+
version: string;
|
|
17
|
+
}>;
|
|
18
|
+
devDependencies?: Record<string, {
|
|
19
|
+
specifier: string;
|
|
20
|
+
version: string;
|
|
21
|
+
}>;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function generateDependenciesFile(): void {
|
|
26
|
+
try {
|
|
27
|
+
// Read main package.json to get dependency lists
|
|
28
|
+
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
29
|
+
const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf-8');
|
|
30
|
+
const packageJson: PackageJson = JSON.parse(packageJsonContent);
|
|
31
|
+
|
|
32
|
+
// Read pnpm-lock.yaml to get exact versions
|
|
33
|
+
const pnpmLockPath = path.join(process.cwd(), 'pnpm-lock.yaml');
|
|
34
|
+
if (!fs.existsSync(pnpmLockPath)) {
|
|
35
|
+
// this is a valid case when this package is installed as a dependency of another package
|
|
36
|
+
console.log('⚠️ Could not read pnpm-lock.yaml, skipping dependency versions');
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const pnpmLockContent = fs.readFileSync(pnpmLockPath, 'utf-8');
|
|
40
|
+
const pnpmLock: PnpmLockFile = YAML.parse(pnpmLockContent);
|
|
41
|
+
|
|
42
|
+
// Extract dependency lists from both package.json files
|
|
43
|
+
const mainDependencyNames = Object.keys(packageJson.dependencies ?? {});
|
|
44
|
+
const mainDevDependencyNames = Object.keys(packageJson.devDependencies ?? {});
|
|
45
|
+
|
|
46
|
+
// Merge all dependency names, removing duplicates
|
|
47
|
+
const allDependencyNames = [...new Set([...mainDependencyNames])];
|
|
48
|
+
const allDevDependencyNames = [...new Set([...mainDevDependencyNames])];
|
|
49
|
+
|
|
50
|
+
// Helper function to extract version from pnpm lock entry
|
|
51
|
+
const extractVersion = (versionString: string): string => {
|
|
52
|
+
// pnpm versions can include peer dependency info in parentheses, e.g., "11.14.0(@types/react@19.2.7)(react@19.2.0)"
|
|
53
|
+
// We only want the base version number
|
|
54
|
+
return versionString.split('(')[0];
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// Get exact versions from pnpm-lock.yaml
|
|
58
|
+
const dependencies: Record<string, string> = {};
|
|
59
|
+
const devDependencies: Record<string, string> = {};
|
|
60
|
+
|
|
61
|
+
// Get importers (root workspace)
|
|
62
|
+
const rootImporter = pnpmLock.importers?.['.'];
|
|
63
|
+
|
|
64
|
+
// Process production dependencies
|
|
65
|
+
for (const depName of allDependencyNames) {
|
|
66
|
+
// Check root workspace first
|
|
67
|
+
let version = rootImporter?.dependencies?.[depName]?.version;
|
|
68
|
+
if (version) {
|
|
69
|
+
dependencies[depName] = extractVersion(version);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Process dev dependencies
|
|
74
|
+
for (const depName of allDevDependencyNames) {
|
|
75
|
+
// Check root workspace first
|
|
76
|
+
let version = rootImporter?.devDependencies?.[depName]?.version;
|
|
77
|
+
if (version) {
|
|
78
|
+
devDependencies[depName] = extractVersion(version);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Generate TypeScript content
|
|
83
|
+
const tsContent = `/**
|
|
84
|
+
* Auto-generated file containing all package dependencies and their exact installed versions.
|
|
85
|
+
* This file is generated by the post-install script.
|
|
86
|
+
* Do not edit manually - it will be overwritten on next install.
|
|
87
|
+
*
|
|
88
|
+
* Versions are extracted from pnpm-lock.yaml to show exact installed versions,
|
|
89
|
+
* not the version ranges from package.json.
|
|
90
|
+
*
|
|
91
|
+
* Includes dependencies from the main package.
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
export const DEPENDENCIES = {
|
|
95
|
+
${Object.entries(dependencies)
|
|
96
|
+
.map(([name, version]) => ` '${name}': '${version}',`)
|
|
97
|
+
.join('\n')}
|
|
98
|
+
} as const;
|
|
99
|
+
|
|
100
|
+
export const DEV_DEPENDENCIES = {
|
|
101
|
+
${Object.entries(devDependencies)
|
|
102
|
+
.map(([name, version]) => ` '${name}': '${version}',`)
|
|
103
|
+
.join('\n')}
|
|
104
|
+
} as const;
|
|
105
|
+
|
|
106
|
+
export const ALL_DEPENDENCIES = {
|
|
107
|
+
...DEPENDENCIES,
|
|
108
|
+
...DEV_DEPENDENCIES,
|
|
109
|
+
} as const;
|
|
110
|
+
|
|
111
|
+
export type DependencyName = keyof typeof ALL_DEPENDENCIES;
|
|
112
|
+
`;
|
|
113
|
+
|
|
114
|
+
// Write the TypeScript file
|
|
115
|
+
if (!fs.existsSync(path.join(process.cwd(), 'src'))) {
|
|
116
|
+
console.log('⚠️ src directory not found, skipping dependencies.ts file generation');
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const outputPath = path.join(process.cwd(), 'src', 'dependencies.ts');
|
|
120
|
+
fs.writeFileSync(outputPath, tsContent, 'utf-8');
|
|
121
|
+
|
|
122
|
+
console.log('✅ Dependencies file generated successfully at src/dependencies.ts');
|
|
123
|
+
console.log(`📦 Found ${Object.keys(dependencies).length} production dependencies with exact versions`);
|
|
124
|
+
console.log(`🔧 Found ${Object.keys(devDependencies).length} development dependencies with exact versions`);
|
|
125
|
+
} catch (error) {
|
|
126
|
+
console.error('❌ Error generating dependencies file:', error);
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function deleteEngineAssets(): void {
|
|
132
|
+
const engineAssetsPath = path.join(process.cwd(), 'node_modules', 'genesys.js', 'assets');
|
|
133
|
+
if (fs.existsSync(engineAssetsPath)) {
|
|
134
|
+
fs.rmSync(engineAssetsPath, { recursive: true });
|
|
135
|
+
console.log('✅ Engine assets deleted successfully');
|
|
136
|
+
} else {
|
|
137
|
+
console.log('⚠️ Engine assets not found, skipping deletion');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Run the script
|
|
142
|
+
generateDependenciesFile();
|
|
143
|
+
deleteEngineAssets();
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
# Git LFS tracking for common large file types
|
|
2
|
-
|
|
3
|
-
# 3D Models
|
|
4
|
-
*.fbx filter=lfs diff=lfs merge=lfs -text
|
|
5
|
-
*.obj filter=lfs diff=lfs merge=lfs -text
|
|
6
|
-
*.dae filter=lfs diff=lfs merge=lfs -text
|
|
7
|
-
*.3ds filter=lfs diff=lfs merge=lfs -text
|
|
8
|
-
*.blend filter=lfs diff=lfs merge=lfs -text
|
|
9
|
-
*.max filter=lfs diff=lfs merge=lfs -text
|
|
10
|
-
*.maya filter=lfs diff=lfs merge=lfs -text
|
|
11
|
-
*.mb filter=lfs diff=lfs merge=lfs -text
|
|
12
|
-
*.ma filter=lfs diff=lfs merge=lfs -text
|
|
13
|
-
*.glb filter=lfs diff=lfs merge=lfs -text
|
|
14
|
-
*.gltf filter=lfs diff=lfs merge=lfs -text
|
|
15
|
-
|
|
16
|
-
# Textures and Images
|
|
17
|
-
*.png filter=lfs diff=lfs merge=lfs -text
|
|
18
|
-
*.jpg filter=lfs diff=lfs merge=lfs -text
|
|
19
|
-
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
|
20
|
-
*.tga filter=lfs diff=lfs merge=lfs -text
|
|
21
|
-
*.tiff filter=lfs diff=lfs merge=lfs -text
|
|
22
|
-
*.tif filter=lfs diff=lfs merge=lfs -text
|
|
23
|
-
*.bmp filter=lfs diff=lfs merge=lfs -text
|
|
24
|
-
*.psd filter=lfs diff=lfs merge=lfs -text
|
|
25
|
-
*.exr filter=lfs diff=lfs merge=lfs -text
|
|
26
|
-
*.hdr filter=lfs diff=lfs merge=lfs -text
|
|
27
|
-
*.dds filter=lfs diff=lfs merge=lfs -text
|
|
28
|
-
*.ktx filter=lfs diff=lfs merge=lfs -text
|
|
29
|
-
*.ktx2 filter=lfs diff=lfs merge=lfs -text
|
|
30
|
-
|
|
31
|
-
# Audio Files
|
|
32
|
-
*.wav filter=lfs diff=lfs merge=lfs -text
|
|
33
|
-
*.mp3 filter=lfs diff=lfs merge=lfs -text
|
|
34
|
-
*.ogg filter=lfs diff=lfs merge=lfs -text
|
|
35
|
-
*.flac filter=lfs diff=lfs merge=lfs -text
|
|
36
|
-
*.aac filter=lfs diff=lfs merge=lfs -text
|
|
37
|
-
*.m4a filter=lfs diff=lfs merge=lfs -text
|
|
38
|
-
*.wma filter=lfs diff=lfs merge=lfs -text
|
|
39
|
-
*.aiff filter=lfs diff=lfs merge=lfs -text
|
|
40
|
-
|
|
41
|
-
# Video Files
|
|
42
|
-
*.mp4 filter=lfs diff=lfs merge=lfs -text
|
|
43
|
-
*.mov filter=lfs diff=lfs merge=lfs -text
|
|
44
|
-
*.avi filter=lfs diff=lfs merge=lfs -text
|
|
45
|
-
*.mkv filter=lfs diff=lfs merge=lfs -text
|
|
46
|
-
*.webm filter=lfs diff=lfs merge=lfs -text
|
|
47
|
-
*.wmv filter=lfs diff=lfs merge=lfs -text
|
|
48
|
-
*.flv filter=lfs diff=lfs merge=lfs -text
|
|
49
|
-
|
|
50
|
-
# Fonts
|
|
51
|
-
*.ttf filter=lfs diff=lfs merge=lfs -text
|
|
52
|
-
*.otf filter=lfs diff=lfs merge=lfs -text
|
|
53
|
-
*.woff filter=lfs diff=lfs merge=lfs -text
|
|
54
|
-
*.woff2 filter=lfs diff=lfs merge=lfs -text
|
|
55
|
-
|
|
56
|
-
# Archives and Packages
|
|
57
|
-
*.zip filter=lfs diff=lfs merge=lfs -text
|
|
58
|
-
*.rar filter=lfs diff=lfs merge=lfs -text
|
|
59
|
-
*.7z filter=lfs diff=lfs merge=lfs -text
|
|
60
|
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
|
61
|
-
*.gz filter=lfs diff=lfs merge=lfs -text
|
|
62
|
-
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
|
63
|
-
|
|
64
|
-
# Game Engine Specific Files
|
|
65
|
-
*.unity filter=lfs diff=lfs merge=lfs -text
|
|
66
|
-
*.unitypackage filter=lfs diff=lfs merge=lfs -text
|
|
67
|
-
*.asset filter=lfs diff=lfs merge=lfs -text
|
|
68
|
-
*.prefab filter=lfs diff=lfs merge=lfs -text
|
|
69
|
-
|
|
70
|
-
# Document Files (large ones)
|
|
71
|
-
*.pdf filter=lfs diff=lfs merge=lfs -text
|
|
72
|
-
*.doc filter=lfs diff=lfs merge=lfs -text
|
|
73
|
-
*.docx filter=lfs diff=lfs merge=lfs -text
|
|
74
|
-
*.ppt filter=lfs diff=lfs merge=lfs -text
|
|
75
|
-
*.pptx filter=lfs diff=lfs merge=lfs -text
|
|
76
|
-
|
|
77
|
-
# Binary executables and libraries
|
|
78
|
-
*.exe filter=lfs diff=lfs merge=lfs -text
|
|
79
|
-
*.dll filter=lfs diff=lfs merge=lfs -text
|
|
80
|
-
*.so filter=lfs diff=lfs merge=lfs -text
|
|
81
|
-
*.dylib filter=lfs diff=lfs merge=lfs -text
|
|
82
|
-
*.a filter=lfs diff=lfs merge=lfs -text
|
|
83
|
-
*.lib filter=lfs diff=lfs merge=lfs -text
|
|
84
|
-
|
|
85
|
-
# Data files
|
|
86
|
-
*.dat filter=lfs diff=lfs merge=lfs -text
|
|
87
|
-
*.data filter=lfs diff=lfs merge=lfs -text
|
|
88
|
-
*.cache filter=lfs diff=lfs merge=lfs -text
|
|
1
|
+
# Git LFS tracking for common large file types
|
|
2
|
+
|
|
3
|
+
# 3D Models
|
|
4
|
+
*.fbx filter=lfs diff=lfs merge=lfs -text
|
|
5
|
+
*.obj filter=lfs diff=lfs merge=lfs -text
|
|
6
|
+
*.dae filter=lfs diff=lfs merge=lfs -text
|
|
7
|
+
*.3ds filter=lfs diff=lfs merge=lfs -text
|
|
8
|
+
*.blend filter=lfs diff=lfs merge=lfs -text
|
|
9
|
+
*.max filter=lfs diff=lfs merge=lfs -text
|
|
10
|
+
*.maya filter=lfs diff=lfs merge=lfs -text
|
|
11
|
+
*.mb filter=lfs diff=lfs merge=lfs -text
|
|
12
|
+
*.ma filter=lfs diff=lfs merge=lfs -text
|
|
13
|
+
*.glb filter=lfs diff=lfs merge=lfs -text
|
|
14
|
+
*.gltf filter=lfs diff=lfs merge=lfs -text
|
|
15
|
+
|
|
16
|
+
# Textures and Images
|
|
17
|
+
*.png filter=lfs diff=lfs merge=lfs -text
|
|
18
|
+
*.jpg filter=lfs diff=lfs merge=lfs -text
|
|
19
|
+
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
|
20
|
+
*.tga filter=lfs diff=lfs merge=lfs -text
|
|
21
|
+
*.tiff filter=lfs diff=lfs merge=lfs -text
|
|
22
|
+
*.tif filter=lfs diff=lfs merge=lfs -text
|
|
23
|
+
*.bmp filter=lfs diff=lfs merge=lfs -text
|
|
24
|
+
*.psd filter=lfs diff=lfs merge=lfs -text
|
|
25
|
+
*.exr filter=lfs diff=lfs merge=lfs -text
|
|
26
|
+
*.hdr filter=lfs diff=lfs merge=lfs -text
|
|
27
|
+
*.dds filter=lfs diff=lfs merge=lfs -text
|
|
28
|
+
*.ktx filter=lfs diff=lfs merge=lfs -text
|
|
29
|
+
*.ktx2 filter=lfs diff=lfs merge=lfs -text
|
|
30
|
+
|
|
31
|
+
# Audio Files
|
|
32
|
+
*.wav filter=lfs diff=lfs merge=lfs -text
|
|
33
|
+
*.mp3 filter=lfs diff=lfs merge=lfs -text
|
|
34
|
+
*.ogg filter=lfs diff=lfs merge=lfs -text
|
|
35
|
+
*.flac filter=lfs diff=lfs merge=lfs -text
|
|
36
|
+
*.aac filter=lfs diff=lfs merge=lfs -text
|
|
37
|
+
*.m4a filter=lfs diff=lfs merge=lfs -text
|
|
38
|
+
*.wma filter=lfs diff=lfs merge=lfs -text
|
|
39
|
+
*.aiff filter=lfs diff=lfs merge=lfs -text
|
|
40
|
+
|
|
41
|
+
# Video Files
|
|
42
|
+
*.mp4 filter=lfs diff=lfs merge=lfs -text
|
|
43
|
+
*.mov filter=lfs diff=lfs merge=lfs -text
|
|
44
|
+
*.avi filter=lfs diff=lfs merge=lfs -text
|
|
45
|
+
*.mkv filter=lfs diff=lfs merge=lfs -text
|
|
46
|
+
*.webm filter=lfs diff=lfs merge=lfs -text
|
|
47
|
+
*.wmv filter=lfs diff=lfs merge=lfs -text
|
|
48
|
+
*.flv filter=lfs diff=lfs merge=lfs -text
|
|
49
|
+
|
|
50
|
+
# Fonts
|
|
51
|
+
*.ttf filter=lfs diff=lfs merge=lfs -text
|
|
52
|
+
*.otf filter=lfs diff=lfs merge=lfs -text
|
|
53
|
+
*.woff filter=lfs diff=lfs merge=lfs -text
|
|
54
|
+
*.woff2 filter=lfs diff=lfs merge=lfs -text
|
|
55
|
+
|
|
56
|
+
# Archives and Packages
|
|
57
|
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
|
58
|
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
|
59
|
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
|
60
|
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
|
61
|
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
|
62
|
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
|
63
|
+
|
|
64
|
+
# Game Engine Specific Files
|
|
65
|
+
*.unity filter=lfs diff=lfs merge=lfs -text
|
|
66
|
+
*.unitypackage filter=lfs diff=lfs merge=lfs -text
|
|
67
|
+
*.asset filter=lfs diff=lfs merge=lfs -text
|
|
68
|
+
*.prefab filter=lfs diff=lfs merge=lfs -text
|
|
69
|
+
|
|
70
|
+
# Document Files (large ones)
|
|
71
|
+
*.pdf filter=lfs diff=lfs merge=lfs -text
|
|
72
|
+
*.doc filter=lfs diff=lfs merge=lfs -text
|
|
73
|
+
*.docx filter=lfs diff=lfs merge=lfs -text
|
|
74
|
+
*.ppt filter=lfs diff=lfs merge=lfs -text
|
|
75
|
+
*.pptx filter=lfs diff=lfs merge=lfs -text
|
|
76
|
+
|
|
77
|
+
# Binary executables and libraries
|
|
78
|
+
*.exe filter=lfs diff=lfs merge=lfs -text
|
|
79
|
+
*.dll filter=lfs diff=lfs merge=lfs -text
|
|
80
|
+
*.so filter=lfs diff=lfs merge=lfs -text
|
|
81
|
+
*.dylib filter=lfs diff=lfs merge=lfs -text
|
|
82
|
+
*.a filter=lfs diff=lfs merge=lfs -text
|
|
83
|
+
*.lib filter=lfs diff=lfs merge=lfs -text
|
|
84
|
+
|
|
85
|
+
# Data files
|
|
86
|
+
*.dat filter=lfs diff=lfs merge=lfs -text
|
|
87
|
+
*.data filter=lfs diff=lfs merge=lfs -text
|
|
88
|
+
*.cache filter=lfs diff=lfs merge=lfs -text
|
|
89
89
|
*.tmp filter=lfs diff=lfs merge=lfs -text
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import tsParser from '@typescript-eslint/parser';
|
|
2
|
-
import noDefaultClassFields from './node_modules/genesys.js/eslint-rules/no-default-class-fields.js';
|
|
3
|
-
import defaultGetterReturnType from './node_modules/genesys.js/eslint-rules/default-getter-return-type.js';
|
|
4
|
-
import constructorTypeConsistency from './node_modules/genesys.js/eslint-rules/constructor-type-consistency.js';
|
|
5
|
-
import noOverrideMethods from './node_modules/genesys.js/eslint-rules/no-override-methods.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export default [
|
|
9
|
-
{
|
|
10
|
-
ignores: ['dist/**', '.engine/**', 'node_modules/**']
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
files: ['**/*.ts', '**/*.tsx'],
|
|
14
|
-
languageOptions: {
|
|
15
|
-
parser: tsParser,
|
|
16
|
-
parserOptions: {
|
|
17
|
-
project: ['./tsconfig.json']
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
plugins: {
|
|
21
|
-
'custom': {
|
|
22
|
-
rules: {
|
|
23
|
-
'no-override-methods': noOverrideMethods,
|
|
24
|
-
'no-default-class-fields': noDefaultClassFields,
|
|
25
|
-
'default-getter-return-type': defaultGetterReturnType,
|
|
26
|
-
'constructor-type-consistency': constructorTypeConsistency,
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
rules: {
|
|
31
|
-
'custom/no-override-methods': 'error',
|
|
32
|
-
'custom/no-default-class-fields': 'error',
|
|
33
|
-
'custom/default-getter-return-type': 'error',
|
|
34
|
-
'custom/constructor-type-consistency': 'error',
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
files: ['games/**/*.ts', 'games/**/*.tsx'],
|
|
39
|
-
rules: {
|
|
40
|
-
'no-restricted-imports': ['error', {
|
|
41
|
-
patterns: ['../src/**', '!../src/index.js']
|
|
42
|
-
}]
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
];
|
|
1
|
+
import tsParser from '@typescript-eslint/parser';
|
|
2
|
+
import noDefaultClassFields from './node_modules/@directivegames/genesys.js/eslint-rules/no-default-class-fields.js';
|
|
3
|
+
import defaultGetterReturnType from './node_modules/@directivegames/genesys.js/eslint-rules/default-getter-return-type.js';
|
|
4
|
+
import constructorTypeConsistency from './node_modules/@directivegames/genesys.js/eslint-rules/constructor-type-consistency.js';
|
|
5
|
+
import noOverrideMethods from './node_modules/@directivegames/genesys.js/eslint-rules/no-override-methods.js';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
export default [
|
|
9
|
+
{
|
|
10
|
+
ignores: ['dist/**', '.engine/**', 'node_modules/**']
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
files: ['**/*.ts', '**/*.tsx'],
|
|
14
|
+
languageOptions: {
|
|
15
|
+
parser: tsParser,
|
|
16
|
+
parserOptions: {
|
|
17
|
+
project: ['./tsconfig.json']
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
plugins: {
|
|
21
|
+
'custom': {
|
|
22
|
+
rules: {
|
|
23
|
+
'no-override-methods': noOverrideMethods,
|
|
24
|
+
'no-default-class-fields': noDefaultClassFields,
|
|
25
|
+
'default-getter-return-type': defaultGetterReturnType,
|
|
26
|
+
'constructor-type-consistency': constructorTypeConsistency,
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
rules: {
|
|
31
|
+
'custom/no-override-methods': 'error',
|
|
32
|
+
'custom/no-default-class-fields': 'error',
|
|
33
|
+
'custom/default-getter-return-type': 'error',
|
|
34
|
+
'custom/constructor-type-consistency': 'error',
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
files: ['games/**/*.ts', 'games/**/*.tsx'],
|
|
39
|
+
rules: {
|
|
40
|
+
'no-restricted-imports': ['error', {
|
|
41
|
+
patterns: ['../src/**', '!../src/index.js']
|
|
42
|
+
}]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
];
|
package/src/asset-pack/gitignore
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
**/.dist/**
|
|
2
|
-
**/node_modules/**
|
|
3
|
-
**/.engine/**
|
|
4
|
-
**/**dist/**
|
|
5
|
-
**/**editor/**
|
|
6
|
-
**/.DS_Store
|
|
7
|
-
**/*.tgz
|
|
8
|
-
**/*.mcp-port
|
|
9
|
-
**/.placeholder
|
|
10
|
-
**/.genesys/**
|
|
11
|
-
**/logs/**
|
|
1
|
+
**/.dist/**
|
|
2
|
+
**/node_modules/**
|
|
3
|
+
**/.engine/**
|
|
4
|
+
**/**dist/**
|
|
5
|
+
**/**editor/**
|
|
6
|
+
**/.DS_Store
|
|
7
|
+
**/*.tgz
|
|
8
|
+
**/*.mcp-port
|
|
9
|
+
**/.placeholder
|
|
10
|
+
**/.genesys/**
|
|
11
|
+
**/logs/**
|