@directivegames/genesys.sdk 3.2.2 → 3.2.4
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/core/cli.js +22 -22
- package/dist/src/templates/scripts/genesys/genesys-mcp.js +25 -25
- package/dist/src/templates/scripts/genesys/mcp/editor-functions.js +4 -4
- package/dist/src/templates/src/templates/vehicle/src/ui-hints.js +30 -30
- 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
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { mockBrowserEnvironment } from '../mock.js';
|
|
2
|
-
|
|
3
|
-
import { loadWorld } from './utils.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
mockBrowserEnvironment();
|
|
7
|
-
|
|
8
|
-
export async function getSceneState(sceneName: string, specifiedActors?: string[], getDetailedComponentsInfo?: boolean) {
|
|
9
|
-
using worldResource = await loadWorld(sceneName, { readonly: true, skipLoadingGLTF: false });
|
|
10
|
-
|
|
11
|
-
const world = worldResource.world;
|
|
12
|
-
return world.describe({specifiedActors, includeComponentsDetails: getDetailedComponentsInfo});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// This foramts the json into a yaml style output, so as to get rid of quotes and braces to hopefully save some tokens
|
|
16
|
-
// it's not much compared to a condensed json output. Not using it for now
|
|
17
|
-
function format(obj: any, indent = 0): string {
|
|
18
|
-
const spaces = ' '.repeat(indent);
|
|
19
|
-
if (Array.isArray(obj)) {
|
|
20
|
-
return obj
|
|
21
|
-
.map(item => `${spaces}- ${format(item, indent + 1).trimStart()}`)
|
|
22
|
-
.join('\n');
|
|
23
|
-
} else if (obj && typeof obj === 'object') {
|
|
24
|
-
return Object.entries(obj)
|
|
25
|
-
.map(
|
|
26
|
-
([key, value]) =>
|
|
27
|
-
`${spaces}${key}: ${
|
|
28
|
-
typeof value === 'object' ? `\n${format(value, indent + 1)}` : value
|
|
29
|
-
}`
|
|
30
|
-
)
|
|
31
|
-
.join('\n');
|
|
32
|
-
} else {
|
|
33
|
-
return String(obj);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
import { mockBrowserEnvironment } from '../mock.js';
|
|
2
|
+
|
|
3
|
+
import { loadWorld } from './utils.js';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
mockBrowserEnvironment();
|
|
7
|
+
|
|
8
|
+
export async function getSceneState(sceneName: string, specifiedActors?: string[], getDetailedComponentsInfo?: boolean) {
|
|
9
|
+
using worldResource = await loadWorld(sceneName, { readonly: true, skipLoadingGLTF: false });
|
|
10
|
+
|
|
11
|
+
const world = worldResource.world;
|
|
12
|
+
return world.describe({specifiedActors, includeComponentsDetails: getDetailedComponentsInfo});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// This foramts the json into a yaml style output, so as to get rid of quotes and braces to hopefully save some tokens
|
|
16
|
+
// it's not much compared to a condensed json output. Not using it for now
|
|
17
|
+
function format(obj: any, indent = 0): string {
|
|
18
|
+
const spaces = ' '.repeat(indent);
|
|
19
|
+
if (Array.isArray(obj)) {
|
|
20
|
+
return obj
|
|
21
|
+
.map(item => `${spaces}- ${format(item, indent + 1).trimStart()}`)
|
|
22
|
+
.join('\n');
|
|
23
|
+
} else if (obj && typeof obj === 'object') {
|
|
24
|
+
return Object.entries(obj)
|
|
25
|
+
.map(
|
|
26
|
+
([key, value]) =>
|
|
27
|
+
`${spaces}${key}: ${
|
|
28
|
+
typeof value === 'object' ? `\n${format(value, indent + 1)}` : value
|
|
29
|
+
}`
|
|
30
|
+
)
|
|
31
|
+
.join('\n');
|
|
32
|
+
} else {
|
|
33
|
+
return String(obj);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { fork } from 'child_process';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
|
|
4
|
-
import { getProjectRoot } from '../common.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export async function runSubProcess(script: string, params: any): Promise<any> {
|
|
8
|
-
return new Promise((resolve, reject) => {
|
|
9
|
-
const worker = fork(path.join(getProjectRoot(), 'scripts', 'mcp', script), { silent: true });
|
|
10
|
-
|
|
11
|
-
worker.on('message', (msg: string) => {
|
|
12
|
-
worker.kill();
|
|
13
|
-
resolve(msg);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
worker.on('error', (error) => {
|
|
17
|
-
console.error('Worker error:', error);
|
|
18
|
-
worker.kill();
|
|
19
|
-
reject(error);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
worker.on('exit', (code) => {
|
|
23
|
-
if (code !== 0) {
|
|
24
|
-
reject(new Error(`Worker stopped with exit code ${code}`));
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
worker.send(params);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
1
|
+
import { fork } from 'child_process';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
import { getProjectRoot } from '../common.js';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export async function runSubProcess(script: string, params: any): Promise<any> {
|
|
8
|
+
return new Promise((resolve, reject) => {
|
|
9
|
+
const worker = fork(path.join(getProjectRoot(), 'scripts', 'mcp', script), { silent: true });
|
|
10
|
+
|
|
11
|
+
worker.on('message', (msg: string) => {
|
|
12
|
+
worker.kill();
|
|
13
|
+
resolve(msg);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
worker.on('error', (error) => {
|
|
17
|
+
console.error('Worker error:', error);
|
|
18
|
+
worker.kill();
|
|
19
|
+
reject(error);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
worker.on('exit', (code) => {
|
|
23
|
+
if (code !== 0) {
|
|
24
|
+
reject(new Error(`Worker stopped with exit code ${code}`));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
worker.send(params);
|
|
29
|
+
});
|
|
30
|
+
}
|