@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.
Files changed (82) hide show
  1. package/README.md +60 -60
  2. package/dist/src/core/cli.js +22 -22
  3. package/dist/src/templates/scripts/genesys/genesys-mcp.js +25 -25
  4. package/dist/src/templates/scripts/genesys/mcp/editor-functions.js +4 -4
  5. package/dist/src/templates/src/templates/vehicle/src/ui-hints.js +30 -30
  6. package/package.json +176 -176
  7. package/scripts/post-install.ts +143 -143
  8. package/src/asset-pack/.gitattributes +88 -88
  9. package/src/asset-pack/eslint.config.js +45 -45
  10. package/src/asset-pack/gitignore +11 -11
  11. package/src/asset-pack/scripts/postinstall.ts +81 -81
  12. package/src/asset-pack/tsconfig.json +33 -33
  13. package/src/templates/.cursor/mcp.json +20 -20
  14. package/src/templates/.cursorignore +2 -2
  15. package/src/templates/.gitattributes +88 -88
  16. package/src/templates/.vscode/settings.json +6 -6
  17. package/src/templates/AGENTS.md +86 -86
  18. package/src/templates/README.md +24 -24
  19. package/src/templates/eslint.config.js +45 -45
  20. package/src/templates/gitignore +11 -11
  21. package/src/templates/index.html +34 -34
  22. package/src/templates/pnpm-lock.yaml +3676 -3676
  23. package/src/templates/scripts/genesys/build-project.ts +51 -51
  24. package/src/templates/scripts/genesys/calc-bounding-box.ts +272 -272
  25. package/src/templates/scripts/genesys/common.ts +46 -46
  26. package/src/templates/scripts/genesys/const.ts +9 -9
  27. package/src/templates/scripts/genesys/dev/dump-default-scene.ts +11 -11
  28. package/src/templates/scripts/genesys/dev/generate-manifest.ts +146 -146
  29. package/src/templates/scripts/genesys/dev/launcher.ts +46 -46
  30. package/src/templates/scripts/genesys/dev/storage-provider.ts +229 -229
  31. package/src/templates/scripts/genesys/dev/update-template-scenes.ts +84 -84
  32. package/src/templates/scripts/genesys/doc-server.ts +16 -16
  33. package/src/templates/scripts/genesys/genesys-mcp.ts +526 -526
  34. package/src/templates/scripts/genesys/mcp/doc-tools.ts +86 -86
  35. package/src/templates/scripts/genesys/mcp/editor-functions.ts +151 -151
  36. package/src/templates/scripts/genesys/mcp/editor-tools.ts +73 -73
  37. package/src/templates/scripts/genesys/mcp/get-scene-state.ts +35 -35
  38. package/src/templates/scripts/genesys/mcp/run-subprocess.ts +30 -30
  39. package/src/templates/scripts/genesys/mcp/search-actors.ts +858 -858
  40. package/src/templates/scripts/genesys/mcp/search-assets.ts +380 -380
  41. package/src/templates/scripts/genesys/mcp/utils.ts +281 -281
  42. package/src/templates/scripts/genesys/misc.ts +42 -42
  43. package/src/templates/scripts/genesys/mock.ts +6 -6
  44. package/src/templates/scripts/genesys/place-actors.ts +179 -179
  45. package/src/templates/scripts/genesys/post-install.ts +30 -30
  46. package/src/templates/scripts/genesys/prefab.schema.json +84 -84
  47. package/src/templates/scripts/genesys/remove-engine-comments.ts +134 -134
  48. package/src/templates/scripts/genesys/run-mcp-inspector.bat +4 -4
  49. package/src/templates/scripts/genesys/storageProvider.ts +182 -182
  50. package/src/templates/scripts/genesys/validate-prefabs.ts +138 -138
  51. package/src/templates/src/index.ts +22 -22
  52. package/src/templates/src/templates/firstPerson/assets/default.genesys-scene +165 -165
  53. package/src/templates/src/templates/firstPerson/src/game.ts +39 -39
  54. package/src/templates/src/templates/firstPerson/src/player.ts +63 -63
  55. package/src/templates/src/templates/fps/assets/default.genesys-scene +9459 -9459
  56. package/src/templates/src/templates/fps/src/game.ts +39 -39
  57. package/src/templates/src/templates/fps/src/player.ts +69 -69
  58. package/src/templates/src/templates/fps/src/weapon.ts +54 -54
  59. package/src/templates/src/templates/freeCamera/assets/default.genesys-scene +165 -165
  60. package/src/templates/src/templates/freeCamera/src/game.ts +39 -39
  61. package/src/templates/src/templates/freeCamera/src/player.ts +45 -45
  62. package/src/templates/src/templates/sideScroller/assets/default.genesys-scene +121 -121
  63. package/src/templates/src/templates/sideScroller/src/const.ts +45 -45
  64. package/src/templates/src/templates/sideScroller/src/game.ts +122 -122
  65. package/src/templates/src/templates/sideScroller/src/level-generator.ts +361 -361
  66. package/src/templates/src/templates/sideScroller/src/player.ts +125 -125
  67. package/src/templates/src/templates/thirdPerson/assets/default.genesys-scene +165 -165
  68. package/src/templates/src/templates/thirdPerson/src/game.ts +39 -39
  69. package/src/templates/src/templates/thirdPerson/src/player.ts +61 -61
  70. package/src/templates/src/templates/vehicle/assets/default.genesys-scene +225 -225
  71. package/src/templates/src/templates/vehicle/src/base-vehicle.ts +145 -145
  72. package/src/templates/src/templates/vehicle/src/game.ts +43 -43
  73. package/src/templates/src/templates/vehicle/src/mesh-vehicle.ts +191 -191
  74. package/src/templates/src/templates/vehicle/src/player.ts +109 -109
  75. package/src/templates/src/templates/vehicle/src/primitive-vehicle.ts +266 -266
  76. package/src/templates/src/templates/vehicle/src/ui-hints.ts +101 -101
  77. package/src/templates/src/templates/vr-game/assets/default.genesys-scene +246 -246
  78. package/src/templates/src/templates/vr-game/src/auto-imports.ts +1 -1
  79. package/src/templates/src/templates/vr-game/src/game.ts +66 -66
  80. package/src/templates/src/templates/vr-game/src/sample-vr-actor.ts +26 -26
  81. package/src/templates/tsconfig.json +34 -34
  82. 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
+ }