@benjos/create-boilerplate 1.0.0 → 1.0.3
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 +16 -21
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/template-vanilla/.prettierignore +6 -0
- package/template-vanilla/.prettierrc +10 -0
- package/template-vanilla/assets_source/.gitkeep +0 -0
- package/template-vanilla/docs/PUBLISHING.md +30 -0
- package/template-vanilla/eslint.config.js +126 -0
- package/template-vanilla/index.html +17 -0
- package/template-vanilla/package-lock.json +3743 -0
- package/template-vanilla/package.json +38 -0
- package/template-vanilla/public/assets/fonts/LICENSE +13 -0
- package/template-vanilla/public/assets/fonts/template.typeface.json +1 -0
- package/template-vanilla/public/assets/hdrs/template.hdr +0 -0
- package/template-vanilla/public/assets/icons/benjosLogoBlack.svg +5 -0
- package/template-vanilla/public/assets/loaders/draco/README.md +32 -0
- package/template-vanilla/public/assets/loaders/draco/draco_decoder.js +34 -0
- package/template-vanilla/public/assets/loaders/draco/draco_decoder.wasm +0 -0
- package/template-vanilla/public/assets/loaders/draco/draco_encoder.js +33 -0
- package/template-vanilla/public/assets/loaders/draco/draco_wasm_wrapper.js +117 -0
- package/template-vanilla/public/assets/loaders/draco/gltf/draco_decoder.js +33 -0
- package/template-vanilla/public/assets/loaders/draco/gltf/draco_decoder.wasm +0 -0
- package/template-vanilla/public/assets/loaders/draco/gltf/draco_encoder.js +33 -0
- package/template-vanilla/public/assets/loaders/draco/gltf/draco_wasm_wrapper.js +116 -0
- package/template-vanilla/public/assets/models/template.glb +0 -0
- package/template-vanilla/public/assets/textures/template.jpg +0 -0
- package/template-vanilla/readme.md +49 -0
- package/template-vanilla/src/experiences/Experience.ts +15 -0
- package/template-vanilla/src/experiences/cameras/threes/DebugThreeCameraController.ts +60 -0
- package/template-vanilla/src/experiences/cameras/threes/LoaderThreeCameraController.ts +28 -0
- package/template-vanilla/src/experiences/cameras/threes/MainThreeCameraController.ts +28 -0
- package/template-vanilla/src/experiences/cameras/threes/bases/ThreeCameraControllerBase.ts +109 -0
- package/template-vanilla/src/experiences/commands/InitCommand.ts +48 -0
- package/template-vanilla/src/experiences/constants/doms/DomEvent.ts +100 -0
- package/template-vanilla/src/experiences/constants/doms/KeyboardConstant.ts +250 -0
- package/template-vanilla/src/experiences/constants/experiences/AnimationId.ts +3 -0
- package/template-vanilla/src/experiences/constants/experiences/AssetId.ts +8 -0
- package/template-vanilla/src/experiences/constants/experiences/AssetType.ts +8 -0
- package/template-vanilla/src/experiences/constants/experiences/CameraId.ts +7 -0
- package/template-vanilla/src/experiences/constants/experiences/CameraType.ts +6 -0
- package/template-vanilla/src/experiences/constants/experiences/Object3dId.ts +3 -0
- package/template-vanilla/src/experiences/constants/experiences/ViewId.ts +15 -0
- package/template-vanilla/src/experiences/engines/htmls/MainHTML.ts +13 -0
- package/template-vanilla/src/experiences/engines/threes/MainThree.ts +171 -0
- package/template-vanilla/src/experiences/managers/DebugManager.ts +78 -0
- package/template-vanilla/src/experiences/managers/KeyboardManager.ts +65 -0
- package/template-vanilla/src/experiences/managers/LoaderManager.ts +79 -0
- package/template-vanilla/src/experiences/managers/MouseManager.ts +100 -0
- package/template-vanilla/src/experiences/managers/ResizeManager.ts +53 -0
- package/template-vanilla/src/experiences/managers/TickerManager.ts +86 -0
- package/template-vanilla/src/experiences/managers/threes/ThreeAssetsManager.ts +279 -0
- package/template-vanilla/src/experiences/managers/threes/ThreeCameraControllerManager.ts +43 -0
- package/template-vanilla/src/experiences/managers/threes/ThreeRaycasterManager.ts +23 -0
- package/template-vanilla/src/experiences/materials/threes/loaders/LoaderMaterial.ts +48 -0
- package/template-vanilla/src/experiences/proxies/ViewProxy.ts +30 -0
- package/template-vanilla/src/experiences/proxies/bases/PoolProxyBase.ts +61 -0
- package/template-vanilla/src/experiences/renderers/threes/LoaderRenderer.ts +22 -0
- package/template-vanilla/src/experiences/renderers/threes/Renderer.ts +74 -0
- package/template-vanilla/src/experiences/renderers/threes/bases/WebGLRendererBase.ts +29 -0
- package/template-vanilla/src/experiences/shaders/threes/loaders/LoaderFragmentShader.glsl +6 -0
- package/template-vanilla/src/experiences/shaders/threes/loaders/LoaderVertexShader.glsl +3 -0
- package/template-vanilla/src/experiences/styles/abstracts/_import.scss +5 -0
- package/template-vanilla/src/experiences/styles/abstracts/functions.scss +3 -0
- package/template-vanilla/src/experiences/styles/abstracts/mixins.scss +0 -0
- package/template-vanilla/src/experiences/styles/abstracts/variables.scss +7 -0
- package/template-vanilla/src/experiences/styles/commons/fonts.scss +10 -0
- package/template-vanilla/src/experiences/styles/commons/main.scss +84 -0
- package/template-vanilla/src/experiences/styles/commons/texts.scss +1 -0
- package/template-vanilla/src/experiences/styles/style.scss +7 -0
- package/template-vanilla/src/experiences/styles/views/loader.scss +72 -0
- package/template-vanilla/src/experiences/tools/Action.ts +23 -0
- package/template-vanilla/src/experiences/tools/Point.ts +56 -0
- package/template-vanilla/src/experiences/types/global.d.ts +9 -0
- package/template-vanilla/src/experiences/utils/AssetUtils.ts +6 -0
- package/template-vanilla/src/experiences/utils/DomUtils.ts +28 -0
- package/template-vanilla/src/experiences/views/bases/ViewBase.ts +25 -0
- package/template-vanilla/src/experiences/views/htmls/bases/HTMLViewBase.ts +41 -0
- package/template-vanilla/src/experiences/views/htmls/loaders/LoaderHTMLView.ts +34 -0
- package/template-vanilla/src/experiences/views/htmls/loaders/components/HTMLTemplateLoader.ts +57 -0
- package/template-vanilla/src/experiences/views/threes/bases/ThreeViewBase.ts +26 -0
- package/template-vanilla/src/experiences/views/threes/loaders/LoaderThreeView.ts +41 -0
- package/template-vanilla/src/experiences/views/threes/loaders/components/ThreeTemplateLoader.ts +52 -0
- package/template-vanilla/src/experiences/views/threes/worlds/WorldThreeView.ts +51 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/Environment.ts +77 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/TemplateFont.ts +62 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/TemplateMesh.ts +65 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/TemplateModel.ts +31 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/ActorBase.ts +9 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/AnimatedModelBase.ts +67 -0
- package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/ModelBase.ts +48 -0
- package/template-vanilla/src/main.ts +3 -0
- package/template-vanilla/tsconfig.json +24 -0
- package/template-vanilla/vite.config.ts +15 -0
package/template-vanilla/src/experiences/views/threes/worlds/components/actors/bases/ModelBase.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Mesh, Object3D, type Group } from 'three';
|
|
2
|
+
import { SkeletonUtils } from 'three/examples/jsm/Addons.js';
|
|
3
|
+
import type { AssetId } from '../../../../../../constants/experiences/AssetId';
|
|
4
|
+
import type { Object3DId } from '../../../../../../constants/experiences/Object3dId';
|
|
5
|
+
import ThreeAssetsManager from '../../../../../../managers/threes/ThreeAssetsManager';
|
|
6
|
+
import ActorBase from './ActorBase';
|
|
7
|
+
|
|
8
|
+
export interface IModelBaseParams {
|
|
9
|
+
object3DId?: Object3DId;
|
|
10
|
+
castShadow?: boolean;
|
|
11
|
+
receiveShadow?: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default abstract class ModelBase extends ActorBase {
|
|
15
|
+
protected _assetId: AssetId;
|
|
16
|
+
protected _parameters: IModelBaseParams;
|
|
17
|
+
declare protected _model: Group | Object3D | Mesh;
|
|
18
|
+
|
|
19
|
+
constructor(assetId: AssetId, params: IModelBaseParams = {}) {
|
|
20
|
+
super();
|
|
21
|
+
this._assetId = assetId;
|
|
22
|
+
this._parameters = params || {};
|
|
23
|
+
|
|
24
|
+
this._generateModel();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
protected _generateModel(): void {
|
|
28
|
+
const originalModel = ThreeAssetsManager.GetModel(this._assetId).scene;
|
|
29
|
+
const model = SkeletonUtils.clone(originalModel);
|
|
30
|
+
|
|
31
|
+
this._model = this._parameters.object3DId
|
|
32
|
+
? (model.getObjectByName(this._parameters.object3DId) ?? model)
|
|
33
|
+
: model;
|
|
34
|
+
|
|
35
|
+
this._model.traverse((child) => {
|
|
36
|
+
if (child instanceof Mesh) {
|
|
37
|
+
if (this._parameters.castShadow) child.castShadow = true;
|
|
38
|
+
if (this._parameters.receiveShadow) child.receiveShadow = true;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
this.add(this._model);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public update(dt: number): void {
|
|
46
|
+
super.update(dt);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"useDefineForClassFields": true,
|
|
5
|
+
"module": "ESNext",
|
|
6
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
+
"types": ["vite/client", "vite-plugin-glsl/ext"],
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
/* Bundler mode */
|
|
10
|
+
"moduleResolution": "bundler",
|
|
11
|
+
"allowImportingTsExtensions": true,
|
|
12
|
+
"verbatimModuleSyntax": true,
|
|
13
|
+
"moduleDetection": "force",
|
|
14
|
+
"noEmit": true,
|
|
15
|
+
/* Linting */
|
|
16
|
+
"strict": true,
|
|
17
|
+
// "noUnusedLocals": true,
|
|
18
|
+
// "noUnusedParameters": true,
|
|
19
|
+
"erasableSyntaxOnly": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
"noUncheckedSideEffectImports": true
|
|
22
|
+
},
|
|
23
|
+
"include": ["src", "src/**/*.ts", "src/**/*.d.ts"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import glsl from 'vite-plugin-glsl';
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
base: './',
|
|
6
|
+
server: {
|
|
7
|
+
host: true,
|
|
8
|
+
},
|
|
9
|
+
build: {
|
|
10
|
+
outDir: './dist',
|
|
11
|
+
emptyOutDir: true,
|
|
12
|
+
sourcemap: true,
|
|
13
|
+
},
|
|
14
|
+
plugins: [glsl()],
|
|
15
|
+
});
|