@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
|
@@ -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
|
+
}
|