@benjos/create-boilerplate 1.4.0 → 1.5.0
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/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/template-react/package-lock.json +3 -18
- package/template-react/package.json +1 -1
- package/template-vanilla/eslint.config.js +5 -11
- package/template-vanilla/index.html +18 -20
- package/template-vanilla/package-lock.json +3 -13
- package/template-vanilla/package.json +1 -1
- package/template-vanilla/src/experiences/Experience.ts +10 -5
- package/template-vanilla/src/experiences/cameras/threes/DebugThreeCameraController.ts +3 -3
- package/template-vanilla/src/experiences/cameras/threes/LoaderThreeCameraController.ts +2 -2
- package/template-vanilla/src/experiences/cameras/threes/bases/ThreeCameraControllerBase.ts +2 -2
- package/template-vanilla/src/experiences/commands/InitCommand.ts +4 -4
- package/template-vanilla/src/experiences/constants/experiences/DebugGuiTitle.ts +6 -0
- package/template-vanilla/src/experiences/constants/experiences/ViewId.ts +2 -1
- package/template-vanilla/src/experiences/engines/threes/MainThree.ts +6 -91
- package/template-vanilla/src/experiences/engines/threes/app/LoaderThreeApp.ts +49 -0
- package/template-vanilla/src/experiences/engines/threes/app/MainThreeApp.ts +109 -0
- package/template-vanilla/src/experiences/engines/threes/{bases/ThreeBase.ts → app/bases/ThreeAppBase.ts} +49 -11
- package/template-vanilla/src/experiences/managers/DebugManager.ts +13 -2
- package/template-vanilla/src/experiences/managers/LoaderManager.ts +97 -7
- package/template-vanilla/src/experiences/managers/threes/ThreeRaycasterManager.ts +2 -2
- package/template-vanilla/src/experiences/materials/threes/loaders/LoaderMaterial.ts +4 -4
- package/template-vanilla/src/experiences/renderers/threes/LoaderRenderer.ts +2 -2
- package/template-vanilla/src/experiences/renderers/threes/Renderer.ts +2 -1
- package/template-vanilla/src/experiences/shaders/threes/loaders/LoaderFragmentShader.glsl +2 -0
- package/template-vanilla/src/experiences/styles/commons/main.scss +5 -30
- package/template-vanilla/src/experiences/styles/style.scss +1 -1
- package/template-vanilla/src/experiences/styles/views/loader.scss +1 -4
- package/template-vanilla/src/experiences/types/global.d.ts +2 -2
- package/template-vanilla/src/experiences/views/htmls/bases/HTMLViewBase.ts +0 -3
- package/template-vanilla/src/experiences/views/htmls/loaders/LoaderHTMLView.ts +7 -8
- package/template-vanilla/src/experiences/views/threes/bases/ThreeViewBase.ts +29 -6
- package/template-vanilla/src/experiences/views/threes/loaders/LoaderThreeView.ts +9 -19
- package/template-vanilla/src/experiences/views/threes/loaders/components/{ThreeTemplateLoader.ts → TemplateLoaderThreeActor.ts} +6 -12
- package/template-vanilla/src/experiences/views/threes/worlds/World2ThreeView.ts +35 -0
- package/template-vanilla/src/experiences/views/threes/worlds/WorldThreeView.ts +12 -20
- package/template-vanilla/src/experiences/views/threes/worlds/components/Environment.ts +25 -9
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/TemplateFont.ts +2 -8
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/TemplateMesh.ts +4 -6
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/TemplateMesh2.ts +71 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/TemplateModel.ts +9 -3
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/ThreeActorBase.ts +44 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/{AnimatedModelBase.ts → ThreeAnimatedModelBase.ts} +3 -3
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/{ModelBase.ts → ThreeModelBase.ts} +2 -16
- package/template-vanilla/tsconfig.json +3 -8
- package/template-vanilla/src/experiences/engines/threes/LoaderThree.ts +0 -39
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/ActorBase.ts +0 -13
package/dist/index.js
CHANGED
|
@@ -33,8 +33,8 @@ async function createProject(projectNameArg) {
|
|
|
33
33
|
message: 'Choose a framework:',
|
|
34
34
|
choices: [
|
|
35
35
|
{ name: 'Vanilla (Three.js + TypeScript)', value: 'vanilla' },
|
|
36
|
-
{ name: 'React (
|
|
37
|
-
{ name: 'Vue (
|
|
36
|
+
{ name: 'React (Coming soon)', value: 'react', disabled: true },
|
|
37
|
+
{ name: 'Vue (Three.js + TypeScript)', value: 'vue' },
|
|
38
38
|
],
|
|
39
39
|
},
|
|
40
40
|
]);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,gEAAgE;AAChE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,gEAAgE;AAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAO3C,KAAK,UAAU,aAAa,CAAC,cAAuB;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAiB;QAClD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,cAAc,IAAI,gBAAgB;YAC3C,IAAI,EAAE,CAAC,cAAc;YACrB,QAAQ,EAAE,CAAC,KAAa,EAAoB,EAAE;gBAC1C,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,IAAI,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,uGAAuG,CAAC;gBACnH,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;SACJ;QACD;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE;gBACL,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC7D,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "template-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "template-react",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.5.0",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@dimforge/rapier3d": "^0.19.3",
|
|
12
12
|
"gsap": "^3.14.2",
|
|
@@ -70,7 +70,6 @@
|
|
|
70
70
|
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
|
|
71
71
|
"dev": true,
|
|
72
72
|
"license": "MIT",
|
|
73
|
-
"peer": true,
|
|
74
73
|
"dependencies": {
|
|
75
74
|
"@babel/code-frame": "^7.27.1",
|
|
76
75
|
"@babel/generator": "^7.28.5",
|
|
@@ -1760,7 +1759,6 @@
|
|
|
1760
1759
|
"integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==",
|
|
1761
1760
|
"dev": true,
|
|
1762
1761
|
"license": "MIT",
|
|
1763
|
-
"peer": true,
|
|
1764
1762
|
"dependencies": {
|
|
1765
1763
|
"undici-types": "~7.16.0"
|
|
1766
1764
|
}
|
|
@@ -1771,7 +1769,6 @@
|
|
|
1771
1769
|
"integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
|
|
1772
1770
|
"dev": true,
|
|
1773
1771
|
"license": "MIT",
|
|
1774
|
-
"peer": true,
|
|
1775
1772
|
"dependencies": {
|
|
1776
1773
|
"csstype": "^3.2.2"
|
|
1777
1774
|
}
|
|
@@ -1861,7 +1858,6 @@
|
|
|
1861
1858
|
"integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==",
|
|
1862
1859
|
"dev": true,
|
|
1863
1860
|
"license": "MIT",
|
|
1864
|
-
"peer": true,
|
|
1865
1861
|
"dependencies": {
|
|
1866
1862
|
"@typescript-eslint/scope-manager": "8.50.1",
|
|
1867
1863
|
"@typescript-eslint/types": "8.50.1",
|
|
@@ -2120,7 +2116,6 @@
|
|
|
2120
2116
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
|
2121
2117
|
"dev": true,
|
|
2122
2118
|
"license": "MIT",
|
|
2123
|
-
"peer": true,
|
|
2124
2119
|
"bin": {
|
|
2125
2120
|
"acorn": "bin/acorn"
|
|
2126
2121
|
},
|
|
@@ -2250,7 +2245,6 @@
|
|
|
2250
2245
|
}
|
|
2251
2246
|
],
|
|
2252
2247
|
"license": "MIT",
|
|
2253
|
-
"peer": true,
|
|
2254
2248
|
"dependencies": {
|
|
2255
2249
|
"baseline-browser-mapping": "^2.9.0",
|
|
2256
2250
|
"caniuse-lite": "^1.0.30001759",
|
|
@@ -2517,7 +2511,6 @@
|
|
|
2517
2511
|
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
|
2518
2512
|
"dev": true,
|
|
2519
2513
|
"license": "MIT",
|
|
2520
|
-
"peer": true,
|
|
2521
2514
|
"dependencies": {
|
|
2522
2515
|
"@eslint-community/eslint-utils": "^4.8.0",
|
|
2523
2516
|
"@eslint-community/regexpp": "^4.12.1",
|
|
@@ -2578,7 +2571,6 @@
|
|
|
2578
2571
|
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
|
|
2579
2572
|
"dev": true,
|
|
2580
2573
|
"license": "MIT",
|
|
2581
|
-
"peer": true,
|
|
2582
2574
|
"bin": {
|
|
2583
2575
|
"eslint-config-prettier": "bin/cli.js"
|
|
2584
2576
|
},
|
|
@@ -3360,7 +3352,6 @@
|
|
|
3360
3352
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
|
3361
3353
|
"dev": true,
|
|
3362
3354
|
"license": "MIT",
|
|
3363
|
-
"peer": true,
|
|
3364
3355
|
"engines": {
|
|
3365
3356
|
"node": ">=12"
|
|
3366
3357
|
},
|
|
@@ -3413,7 +3404,6 @@
|
|
|
3413
3404
|
"integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
|
|
3414
3405
|
"dev": true,
|
|
3415
3406
|
"license": "MIT",
|
|
3416
|
-
"peer": true,
|
|
3417
3407
|
"bin": {
|
|
3418
3408
|
"prettier": "bin/prettier.cjs"
|
|
3419
3409
|
},
|
|
@@ -3452,7 +3442,6 @@
|
|
|
3452
3442
|
"resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
|
|
3453
3443
|
"integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
|
|
3454
3444
|
"license": "MIT",
|
|
3455
|
-
"peer": true,
|
|
3456
3445
|
"engines": {
|
|
3457
3446
|
"node": ">=0.10.0"
|
|
3458
3447
|
}
|
|
@@ -4071,8 +4060,7 @@
|
|
|
4071
4060
|
"version": "0.182.0",
|
|
4072
4061
|
"resolved": "https://registry.npmjs.org/three/-/three-0.182.0.tgz",
|
|
4073
4062
|
"integrity": "sha512-GbHabT+Irv+ihI1/f5kIIsZ+Ef9Sl5A1Y7imvS5RQjWgtTPfPnZ43JmlYI7NtCRDK9zir20lQpfg8/9Yd02OvQ==",
|
|
4074
|
-
"license": "MIT"
|
|
4075
|
-
"peer": true
|
|
4063
|
+
"license": "MIT"
|
|
4076
4064
|
},
|
|
4077
4065
|
"node_modules/three-perf": {
|
|
4078
4066
|
"version": "1.0.11",
|
|
@@ -4201,7 +4189,6 @@
|
|
|
4201
4189
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
4202
4190
|
"dev": true,
|
|
4203
4191
|
"license": "Apache-2.0",
|
|
4204
|
-
"peer": true,
|
|
4205
4192
|
"bin": {
|
|
4206
4193
|
"tsc": "bin/tsc",
|
|
4207
4194
|
"tsserver": "bin/tsserver"
|
|
@@ -4295,7 +4282,6 @@
|
|
|
4295
4282
|
"integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==",
|
|
4296
4283
|
"dev": true,
|
|
4297
4284
|
"license": "MIT",
|
|
4298
|
-
"peer": true,
|
|
4299
4285
|
"dependencies": {
|
|
4300
4286
|
"esbuild": "^0.27.0",
|
|
4301
4287
|
"fdir": "^6.5.0",
|
|
@@ -4448,7 +4434,6 @@
|
|
|
4448
4434
|
"integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==",
|
|
4449
4435
|
"dev": true,
|
|
4450
4436
|
"license": "MIT",
|
|
4451
|
-
"peer": true,
|
|
4452
4437
|
"funding": {
|
|
4453
4438
|
"url": "https://github.com/sponsors/colinhacks"
|
|
4454
4439
|
}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import eslint from '@eslint/js';
|
|
2
2
|
import eslintPluginPrettier from 'eslint-plugin-prettier/recommended';
|
|
3
|
+
import { defineConfig } from "eslint/config";
|
|
3
4
|
import tseslint from 'typescript-eslint';
|
|
4
5
|
|
|
5
|
-
export default
|
|
6
|
+
export default defineConfig(
|
|
6
7
|
{
|
|
7
|
-
ignores: [
|
|
8
|
-
'**/dist/**',
|
|
9
|
-
'**/build/**',
|
|
10
|
-
'**/node_modules/**',
|
|
11
|
-
'**/*.min.js',
|
|
12
|
-
'**/*.js.map',
|
|
13
|
-
'**/*.d.ts',
|
|
14
|
-
],
|
|
8
|
+
ignores: ['**/dist/**', '**/build/**', '**/node_modules/**', '**/*.min.js', '**/*.js.map', '**/*.d.ts'],
|
|
15
9
|
},
|
|
16
10
|
eslint.configs.recommended,
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
tseslint.configs.recommendedTypeChecked,
|
|
12
|
+
tseslint.configs.stylisticTypeChecked,
|
|
19
13
|
eslintPluginPrettier,
|
|
20
14
|
{
|
|
21
15
|
languageOptions: {
|
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="./assets/icons/benjosLogoBlack.svg" />
|
|
6
|
+
<meta
|
|
7
|
+
name="viewport"
|
|
8
|
+
content="width=device-width, initial-scale=1.0, maximum-scale=1, minimum-scale=1, height=device-height, user-scalable=no, viewport-fit=cover, shrink-to-fit=no, minimal-ui"
|
|
9
|
+
/>
|
|
10
|
+
<title>Boilerplate</title>
|
|
11
|
+
</head>
|
|
3
12
|
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
</head>
|
|
11
|
-
|
|
12
|
-
<body>
|
|
13
|
-
<div id="app">
|
|
14
|
-
<div id="loader">
|
|
15
|
-
<div id="loading-screen" class="html-view loading-screen">
|
|
16
|
-
<div class="loading-progress">
|
|
17
|
-
<span class="loading-number">0</span><span>%</span>
|
|
13
|
+
<body>
|
|
14
|
+
<div id="app">
|
|
15
|
+
<div id="loader">
|
|
16
|
+
<div id="loading-screen" class="html-view loading-screen">
|
|
17
|
+
<div class="loading-progress"><span class="loading-number">0</span><span>%</span></div>
|
|
18
|
+
<div class="loading-bar"></div>
|
|
18
19
|
</div>
|
|
19
|
-
<div class="loading-bar"></div>
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
</
|
|
25
|
-
|
|
26
|
-
</html>
|
|
22
|
+
<script type="module" src="/src/main.ts"></script>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "template-vanilla",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "template-vanilla",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.5.0",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@benjos/cookware": "^1.0.4",
|
|
12
12
|
"@benjos/spices": "^1.0.1",
|
|
@@ -47,7 +47,6 @@
|
|
|
47
47
|
"resolved": "https://registry.npmjs.org/@benjos/spices/-/spices-1.0.1.tgz",
|
|
48
48
|
"integrity": "sha512-vAdmCm5xmoG9iaS4S4hHe7eyQTeKOkWIUa6RaXzk3SUW12G5hecgnPnSeBT1CWdR5hk2E0cgNAvvwG45ctpyrQ==",
|
|
49
49
|
"license": "ISC",
|
|
50
|
-
"peer": true,
|
|
51
50
|
"peerDependencies": {
|
|
52
51
|
"typescript": ">=5.0.0"
|
|
53
52
|
}
|
|
@@ -1444,7 +1443,6 @@
|
|
|
1444
1443
|
"integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==",
|
|
1445
1444
|
"dev": true,
|
|
1446
1445
|
"license": "MIT",
|
|
1447
|
-
"peer": true,
|
|
1448
1446
|
"dependencies": {
|
|
1449
1447
|
"@typescript-eslint/scope-manager": "8.50.1",
|
|
1450
1448
|
"@typescript-eslint/types": "8.50.1",
|
|
@@ -1669,7 +1667,6 @@
|
|
|
1669
1667
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
|
1670
1668
|
"dev": true,
|
|
1671
1669
|
"license": "MIT",
|
|
1672
|
-
"peer": true,
|
|
1673
1670
|
"bin": {
|
|
1674
1671
|
"acorn": "bin/acorn"
|
|
1675
1672
|
},
|
|
@@ -1969,7 +1966,6 @@
|
|
|
1969
1966
|
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
|
1970
1967
|
"dev": true,
|
|
1971
1968
|
"license": "MIT",
|
|
1972
|
-
"peer": true,
|
|
1973
1969
|
"dependencies": {
|
|
1974
1970
|
"@eslint-community/eslint-utils": "^4.8.0",
|
|
1975
1971
|
"@eslint-community/regexpp": "^4.12.1",
|
|
@@ -2030,7 +2026,6 @@
|
|
|
2030
2026
|
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
|
|
2031
2027
|
"dev": true,
|
|
2032
2028
|
"license": "MIT",
|
|
2033
|
-
"peer": true,
|
|
2034
2029
|
"bin": {
|
|
2035
2030
|
"eslint-config-prettier": "bin/cli.js"
|
|
2036
2031
|
},
|
|
@@ -2726,7 +2721,6 @@
|
|
|
2726
2721
|
"integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
|
|
2727
2722
|
"dev": true,
|
|
2728
2723
|
"license": "MIT",
|
|
2729
|
-
"peer": true,
|
|
2730
2724
|
"bin": {
|
|
2731
2725
|
"prettier": "bin/prettier.cjs"
|
|
2732
2726
|
},
|
|
@@ -3349,8 +3343,7 @@
|
|
|
3349
3343
|
"version": "0.182.0",
|
|
3350
3344
|
"resolved": "https://registry.npmjs.org/three/-/three-0.182.0.tgz",
|
|
3351
3345
|
"integrity": "sha512-GbHabT+Irv+ihI1/f5kIIsZ+Ef9Sl5A1Y7imvS5RQjWgtTPfPnZ43JmlYI7NtCRDK9zir20lQpfg8/9Yd02OvQ==",
|
|
3352
|
-
"license": "MIT"
|
|
3353
|
-
"peer": true
|
|
3346
|
+
"license": "MIT"
|
|
3354
3347
|
},
|
|
3355
3348
|
"node_modules/three-perf": {
|
|
3356
3349
|
"version": "1.0.11",
|
|
@@ -3407,7 +3400,6 @@
|
|
|
3407
3400
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
|
3408
3401
|
"dev": true,
|
|
3409
3402
|
"license": "MIT",
|
|
3410
|
-
"peer": true,
|
|
3411
3403
|
"engines": {
|
|
3412
3404
|
"node": ">=12"
|
|
3413
3405
|
},
|
|
@@ -3510,7 +3502,6 @@
|
|
|
3510
3502
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
|
3511
3503
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
3512
3504
|
"license": "Apache-2.0",
|
|
3513
|
-
"peer": true,
|
|
3514
3505
|
"bin": {
|
|
3515
3506
|
"tsc": "bin/tsc",
|
|
3516
3507
|
"tsserver": "bin/tsserver"
|
|
@@ -3683,7 +3674,6 @@
|
|
|
3683
3674
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
|
3684
3675
|
"dev": true,
|
|
3685
3676
|
"license": "MIT",
|
|
3686
|
-
"peer": true,
|
|
3687
3677
|
"engines": {
|
|
3688
3678
|
"node": ">=12"
|
|
3689
3679
|
},
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import './styles/style.scss';
|
|
2
2
|
|
|
3
3
|
import InitCommand from './commands/InitCommand';
|
|
4
|
+
import { ViewId } from './constants/experiences/ViewId';
|
|
4
5
|
import MainHTML from './engines/htmls/MainHTML';
|
|
5
6
|
import MainThree from './engines/threes/MainThree';
|
|
7
|
+
import MainThreeApp from './engines/threes/app/MainThreeApp';
|
|
6
8
|
import LoaderManager from './managers/LoaderManager';
|
|
7
|
-
import LoaderThree from './engines/threes/LoaderThree';
|
|
8
9
|
|
|
9
10
|
class Experience {
|
|
10
|
-
private _isInitialized
|
|
11
|
+
private _isInitialized = false;
|
|
11
12
|
|
|
12
|
-
public init(): void {
|
|
13
|
+
public async init(): Promise<void> {
|
|
13
14
|
if (this._isInitialized) return;
|
|
14
15
|
this._isInitialized = true;
|
|
15
16
|
|
|
16
17
|
InitCommand.init();
|
|
17
18
|
MainHTML.init();
|
|
18
|
-
LoaderThree.init();
|
|
19
19
|
MainThree.init();
|
|
20
|
-
|
|
20
|
+
|
|
21
|
+
await LoaderManager.loadAssetsWithTransition(this._onReady);
|
|
21
22
|
}
|
|
23
|
+
|
|
24
|
+
private readonly _onReady = async (): Promise<void> => {
|
|
25
|
+
await MainThreeApp.setCurrentView(ViewId.THREE_VIEW_WORLD_1);
|
|
26
|
+
};
|
|
22
27
|
}
|
|
23
28
|
|
|
24
29
|
export default new Experience();
|
|
@@ -3,7 +3,7 @@ import { KeyboardConstant } from '@benjos/spices';
|
|
|
3
3
|
import { Vector3 } from 'three';
|
|
4
4
|
import { OrbitControls } from 'three/examples/jsm/Addons.js';
|
|
5
5
|
import { CameraId } from '../../constants/experiences/CameraId';
|
|
6
|
-
import
|
|
6
|
+
import MainThreeApp from '../../engines/threes/app/MainThreeApp';
|
|
7
7
|
import ThreeRaycasterManager from '../../managers/threes/ThreeRaycasterManager';
|
|
8
8
|
import { ThreeCameraOptions, ThreeCameraType } from '../../types/cameraTypes';
|
|
9
9
|
import ThreeCameraControllerBase from './bases/ThreeCameraControllerBase';
|
|
@@ -38,14 +38,14 @@ export default class DebugThreeCameraController extends ThreeCameraControllerBas
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
private _setControls(): void {
|
|
41
|
-
this._controls = new OrbitControls(this._camera,
|
|
41
|
+
this._controls = new OrbitControls(this._camera, MainThreeApp.domElementContainer);
|
|
42
42
|
this._controls.enableDamping = true;
|
|
43
43
|
this._controls.dampingFactor = DebugThreeCameraController._CONTROLS_DAMPING_FACTOR;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
private readonly _onMouseDown = (): void => {
|
|
47
47
|
if (DomKeyboardManager.isKeyDown(DebugThreeCameraController._CONTROLS_CENTER_KEY)) {
|
|
48
|
-
const intersect = ThreeRaycasterManager.castFromCameraToPointer(
|
|
48
|
+
const intersect = ThreeRaycasterManager.castFromCameraToPointer(MainThreeApp.scene.children);
|
|
49
49
|
if (intersect.length > 0) {
|
|
50
50
|
this._controls.target.copy(intersect[0].point);
|
|
51
51
|
this._controls.update();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Vector3 } from 'three';
|
|
2
2
|
import { CameraId } from '../../constants/experiences/CameraId';
|
|
3
|
-
import
|
|
3
|
+
import LoaderThreeApp from '../../engines/threes/app/LoaderThreeApp';
|
|
4
4
|
import { ThreeCameraOptions, ThreeCameraType } from '../../types/cameraTypes';
|
|
5
5
|
import ThreeCameraControllerBase from './bases/ThreeCameraControllerBase';
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@ export default class LoaderThreeCameraController extends ThreeCameraControllerBa
|
|
|
15
15
|
private static readonly _DEFAULT_CONTAINER_POSITION: Vector3 = new Vector3(0, 0, 0);
|
|
16
16
|
|
|
17
17
|
constructor() {
|
|
18
|
-
super(CameraId.THREE_LOADER, LoaderThreeCameraController._LOADER_CAMERA_OPTIONS,
|
|
18
|
+
super(CameraId.THREE_LOADER, LoaderThreeCameraController._LOADER_CAMERA_OPTIONS, LoaderThreeApp.scene);
|
|
19
19
|
this._container.position.copy(LoaderThreeCameraController._DEFAULT_CONTAINER_POSITION);
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DomResizeManager } from '@benjos/cookware';
|
|
2
2
|
import { Object3D, OrthographicCamera, PerspectiveCamera, Scene } from 'three';
|
|
3
3
|
import type { CameraId } from '../../../constants/experiences/CameraId';
|
|
4
|
-
import
|
|
4
|
+
import MainThreeApp from '../../../engines/threes/app/MainThreeApp';
|
|
5
5
|
import { ThreeCameraOptions, ThreeCameraType, ThreeControls } from '../../../types/cameraTypes';
|
|
6
6
|
|
|
7
7
|
export default abstract class ThreeCameraControllerBase<T extends ThreeControls = ThreeControls> extends Object3D {
|
|
@@ -21,7 +21,7 @@ export default abstract class ThreeCameraControllerBase<T extends ThreeControls
|
|
|
21
21
|
constructor(
|
|
22
22
|
cameraId: CameraId,
|
|
23
23
|
cameraOptions: ThreeCameraOptions = ThreeCameraControllerBase._DEFAULT_CAMERA_OPTIONS,
|
|
24
|
-
scene: Scene =
|
|
24
|
+
scene: Scene = MainThreeApp.scene
|
|
25
25
|
) {
|
|
26
26
|
super();
|
|
27
27
|
this._cameraId = cameraId;
|
|
@@ -11,8 +11,8 @@ class InitCommand {
|
|
|
11
11
|
this._initUtils();
|
|
12
12
|
this._initProxies();
|
|
13
13
|
this._initManagers();
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
14
|
+
this._initCommonAssets();
|
|
15
|
+
this._initThreeSharedAssets();
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
private _initUtils(): void {
|
|
@@ -35,11 +35,11 @@ class InitCommand {
|
|
|
35
35
|
LoaderManager.init();
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
private
|
|
38
|
+
private _initCommonAssets(): void {
|
|
39
39
|
//
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
private
|
|
42
|
+
private _initThreeSharedAssets(): void {
|
|
43
43
|
ThreeAssetsManager.addHDR(AssetId.THREE_HDR_TEMPLATE, AssetUtils.GetPath('hdrs/template.hdr'));
|
|
44
44
|
ThreeAssetsManager.addModel(AssetId.THREE_GLTF_TEMPLATE, AssetUtils.GetPath('models/template.glb'));
|
|
45
45
|
ThreeAssetsManager.addTexture(AssetId.THREE_TEXTURE_TEMPLATE, AssetUtils.GetPath('textures/template.jpg'));
|
|
@@ -1,96 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { MeshStandardMaterial, Scene } from 'three';
|
|
4
|
-
import DebugThreeCameraController from '../../cameras/threes/DebugThreeCameraController';
|
|
5
|
-
import MainThreeCameraController from '../../cameras/threes/MainThreeCameraController';
|
|
6
|
-
import { CameraId } from '../../constants/experiences/CameraId';
|
|
7
|
-
import DebugManager from '../../managers/DebugManager';
|
|
8
|
-
import ThreeCameraControllerManager from '../../managers/threes/ThreeCameraControllerManager';
|
|
9
|
-
import Renderer from '../../renderers/threes/Renderer';
|
|
10
|
-
import WorldThreeView from '../../views/threes/worlds/WorldThreeView';
|
|
11
|
-
import ThreeBase from './bases/ThreeBase';
|
|
1
|
+
import LoaderThreeApp from './app/LoaderThreeApp';
|
|
2
|
+
import MainThreeApp from './app/MainThreeApp';
|
|
12
3
|
|
|
13
|
-
class MainThree
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
KeyboardConstant.CODES.KEY_C,
|
|
18
|
-
];
|
|
19
|
-
private static readonly _TOGGLE_WIREFRAME_KEYS: string[] = [
|
|
20
|
-
KeyboardConstant.CODES.SHIFT_LEFT,
|
|
21
|
-
KeyboardConstant.CODES.KEY_W,
|
|
22
|
-
];
|
|
23
|
-
|
|
24
|
-
declare private _debugWireframeMaterial: MeshStandardMaterial;
|
|
25
|
-
|
|
26
|
-
constructor() {
|
|
27
|
-
super(DomUtils.GetApp());
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
public override init(): void {
|
|
31
|
-
super.init();
|
|
32
|
-
|
|
33
|
-
if (DebugManager.isActive) {
|
|
34
|
-
window.mainThree = this;
|
|
35
|
-
DomKeyboardManager.onKeyDown.add(this._onKeyDown);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
protected override _generateScenes(): void {
|
|
40
|
-
this._scene = new Scene();
|
|
41
|
-
|
|
42
|
-
if (DebugManager.isActive) {
|
|
43
|
-
this._debugWireframeMaterial = new MeshStandardMaterial({
|
|
44
|
-
wireframe: true,
|
|
45
|
-
color: MainThree._DEBUG_WIREFRAME_MATERIAL_COLOR,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
protected override _generateCameras(): void {
|
|
51
|
-
ThreeCameraControllerManager.add(new MainThreeCameraController(), true);
|
|
52
|
-
this._cameraController = ThreeCameraControllerManager.get(CameraId.THREE_MAIN);
|
|
53
|
-
|
|
54
|
-
if (DebugManager.isActive) {
|
|
55
|
-
ThreeCameraControllerManager.add(new DebugThreeCameraController());
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
ThreeCameraControllerManager.onActiveThreeCameraControllerChange.add(this._onActiveCameraControllerChange);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
protected override _generateRenderers(): void {
|
|
62
|
-
this._renderer = new Renderer(this._scene, this._cameraController.camera, { antialias: true });
|
|
63
|
-
this._domElementContainer.appendChild(this._renderer.domElement);
|
|
4
|
+
class MainThree {
|
|
5
|
+
public init(): void {
|
|
6
|
+
LoaderThreeApp.init();
|
|
7
|
+
MainThreeApp.init();
|
|
64
8
|
}
|
|
65
|
-
|
|
66
|
-
protected override _generateViews(): void {
|
|
67
|
-
const worldThreeView = new WorldThreeView();
|
|
68
|
-
this._views.push(worldThreeView);
|
|
69
|
-
this._setCurrentView(worldThreeView);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
private _onActiveCameraControllerChange = (): void => {
|
|
73
|
-
this._cameraController = ThreeCameraControllerManager.activeThreeCameraController;
|
|
74
|
-
this._renderer.setCamera(this._cameraController.camera);
|
|
75
|
-
this._onResize();
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
private readonly _onKeyDown = (_e: KeyboardEvent): void => {
|
|
79
|
-
if (DebugManager.isActive) {
|
|
80
|
-
if (DomKeyboardManager.areAllKeysDown(MainThree._TOGGLE_SWITCH_TO_DEBUG_CAMERA_KEYS)) {
|
|
81
|
-
ThreeCameraControllerManager.setActiveCamera(
|
|
82
|
-
this._cameraController.cameraId === CameraId.THREE_MAIN ? CameraId.THREE_DEBUG : CameraId.THREE_MAIN
|
|
83
|
-
);
|
|
84
|
-
} else if (DomKeyboardManager.areAllKeysDown(MainThree._TOGGLE_WIREFRAME_KEYS)) {
|
|
85
|
-
if (this._scene.overrideMaterial === null) {
|
|
86
|
-
this._scene.overrideMaterial = this._debugWireframeMaterial;
|
|
87
|
-
} else {
|
|
88
|
-
this._scene.overrideMaterial = null;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
9
|
}
|
|
94
10
|
|
|
95
|
-
export type { MainThree };
|
|
96
11
|
export default new MainThree();
|