@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/src/templates/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
## Game Project Structure
|
|
2
|
-
```
|
|
3
|
-
Root/ (Root Directory)
|
|
4
|
-
├── 📁 .cursor/ # Copied from genesys.sdk/src/templates
|
|
5
|
-
├── 📁 .vscode/ # Copied from genesys.sdk/src/templates
|
|
6
|
-
├── 📁 .engine/ # Various engine files copied from node_modules/genesys.js, by scripts/post-install.ts
|
|
7
|
-
├── 📁 assets/ # Game Assets Directory
|
|
8
|
-
│ ├── 📄 default.genesys-scene # Copied from the selected template in genesys.sdk/src/templates/src/templates
|
|
9
|
-
│ ├── 📁 models/ # Empty folder created by genesys.sdk
|
|
10
|
-
│ ├── 📁 sounds/ # Empty folder created by genesys.sdk
|
|
11
|
-
│ └── 📁 textures/ # Empty folder created by genesys.sdk
|
|
12
|
-
├── 📁 src/ # Copied from the selected template in genesys.sdk/src/templates/src/templates
|
|
13
|
-
├── 📁 scripts/ # Copied from genesys.sdk/src/templates
|
|
14
|
-
├── 📄 AGENTS.md # Copied from genesys.sdk/src/templates
|
|
15
|
-
├── 📄 CLAUDE.md # Copied from genesys.sdk/src/templates
|
|
16
|
-
├── 📄 .gitignore # Copied from genesys.sdk/src/templates
|
|
17
|
-
├── 📄 .npmignore # Duplicated from .gitignore by the SDK
|
|
18
|
-
├── 📄 eslint.config.js # Copied from genesys.sdk/src/templates
|
|
19
|
-
├── 📄 package.json # Generated by genesys.sdk
|
|
20
|
-
├── 📄 {project}.code-workspace # Generated by genesys.sdk
|
|
21
|
-
├── 📄 {project}.genesys-project # Generated by genesys.sdk
|
|
22
|
-
└── 📄 tsconfig.json # Copied from genesys.sdk/src/templates
|
|
23
|
-
```
|
|
24
|
-
To understand the magic, see [index.js](https://github.com/directivegames/genesys.sdk/blob/develop/src/templates/src/index.js) and [new-project.ts](https://github.com/directivegames/genesys.sdk/blob/develop/src/core/tools/new-project.ts)
|
|
1
|
+
## Game Project Structure
|
|
2
|
+
```
|
|
3
|
+
Root/ (Root Directory)
|
|
4
|
+
├── 📁 .cursor/ # Copied from genesys.sdk/src/templates
|
|
5
|
+
├── 📁 .vscode/ # Copied from genesys.sdk/src/templates
|
|
6
|
+
├── 📁 .engine/ # Various engine files copied from node_modules/@directivegames/genesys.js, by scripts/post-install.ts
|
|
7
|
+
├── 📁 assets/ # Game Assets Directory
|
|
8
|
+
│ ├── 📄 default.genesys-scene # Copied from the selected template in genesys.sdk/src/templates/src/templates
|
|
9
|
+
│ ├── 📁 models/ # Empty folder created by genesys.sdk
|
|
10
|
+
│ ├── 📁 sounds/ # Empty folder created by genesys.sdk
|
|
11
|
+
│ └── 📁 textures/ # Empty folder created by genesys.sdk
|
|
12
|
+
├── 📁 src/ # Copied from the selected template in genesys.sdk/src/templates/src/templates
|
|
13
|
+
├── 📁 scripts/ # Copied from genesys.sdk/src/templates
|
|
14
|
+
├── 📄 AGENTS.md # Copied from genesys.sdk/src/templates
|
|
15
|
+
├── 📄 CLAUDE.md # Copied from genesys.sdk/src/templates
|
|
16
|
+
├── 📄 .gitignore # Copied from genesys.sdk/src/templates
|
|
17
|
+
├── 📄 .npmignore # Duplicated from .gitignore by the SDK
|
|
18
|
+
├── 📄 eslint.config.js # Copied from genesys.sdk/src/templates
|
|
19
|
+
├── 📄 package.json # Generated by genesys.sdk
|
|
20
|
+
├── 📄 {project}.code-workspace # Generated by genesys.sdk
|
|
21
|
+
├── 📄 {project}.genesys-project # Generated by genesys.sdk
|
|
22
|
+
└── 📄 tsconfig.json # Copied from genesys.sdk/src/templates
|
|
23
|
+
```
|
|
24
|
+
To understand the magic, see [index.js](https://github.com/directivegames/genesys.sdk/blob/develop/src/templates/src/index.js) and [new-project.ts](https://github.com/directivegames/genesys.sdk/blob/develop/src/core/tools/new-project.ts)
|
|
@@ -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/templates/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/**
|
package/src/templates/index.html
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Genesys Game</title>
|
|
7
|
-
<style>
|
|
8
|
-
* {
|
|
9
|
-
margin: 0;
|
|
10
|
-
padding: 0;
|
|
11
|
-
box-sizing: border-box;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
html, body {
|
|
15
|
-
height: 100%;
|
|
16
|
-
overflow: hidden;
|
|
17
|
-
background: #000;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
#game-container {
|
|
21
|
-
width: 100vw;
|
|
22
|
-
height: 100vh;
|
|
23
|
-
position: relative;
|
|
24
|
-
}
|
|
25
|
-
</style>
|
|
26
|
-
</head>
|
|
27
|
-
<body>
|
|
28
|
-
<div id="game-container"></div>
|
|
29
|
-
<script type="module">
|
|
30
|
-
import { launchGame } from './scripts/genesys/dev/launcher.js';
|
|
31
|
-
launchGame();
|
|
32
|
-
</script>
|
|
33
|
-
</body>
|
|
34
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Genesys Game</title>
|
|
7
|
+
<style>
|
|
8
|
+
* {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
html, body {
|
|
15
|
+
height: 100%;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
background: #000;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#game-container {
|
|
21
|
+
width: 100vw;
|
|
22
|
+
height: 100vh;
|
|
23
|
+
position: relative;
|
|
24
|
+
}
|
|
25
|
+
</style>
|
|
26
|
+
</head>
|
|
27
|
+
<body>
|
|
28
|
+
<div id="game-container"></div>
|
|
29
|
+
<script type="module">
|
|
30
|
+
import { launchGame } from './scripts/genesys/dev/launcher.js';
|
|
31
|
+
launchGame();
|
|
32
|
+
</script>
|
|
33
|
+
</body>
|
|
34
|
+
</html>
|