@jolly-pixel/engine 1.0.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/README.md +209 -0
- package/dist/actor/Actor.d.ts +39 -0
- package/dist/actor/Actor.d.ts.map +1 -0
- package/dist/actor/Actor.js +171 -0
- package/dist/actor/Actor.js.map +1 -0
- package/dist/actor/ActorComponent.d.ts +19 -0
- package/dist/actor/ActorComponent.d.ts.map +1 -0
- package/dist/actor/ActorComponent.js +30 -0
- package/dist/actor/ActorComponent.js.map +1 -0
- package/dist/actor/ActorTree.d.ts +31 -0
- package/dist/actor/ActorTree.d.ts.map +1 -0
- package/dist/actor/ActorTree.js +167 -0
- package/dist/actor/ActorTree.js.map +1 -0
- package/dist/actor/Signal.d.ts +14 -0
- package/dist/actor/Signal.d.ts.map +1 -0
- package/dist/actor/Signal.js +38 -0
- package/dist/actor/Signal.js.map +1 -0
- package/dist/actor/Transform.d.ts +37 -0
- package/dist/actor/Transform.d.ts.map +1 -0
- package/dist/actor/Transform.js +148 -0
- package/dist/actor/Transform.js.map +1 -0
- package/dist/actor/index.d.ts +5 -0
- package/dist/actor/index.d.ts.map +1 -0
- package/dist/actor/index.js +5 -0
- package/dist/actor/index.js.map +1 -0
- package/dist/adapters/canvas.d.ts +7 -0
- package/dist/adapters/canvas.d.ts.map +1 -0
- package/dist/adapters/canvas.js +2 -0
- package/dist/adapters/canvas.js.map +1 -0
- package/dist/adapters/console.d.ts +6 -0
- package/dist/adapters/console.d.ts.map +1 -0
- package/dist/adapters/console.js +2 -0
- package/dist/adapters/console.js.map +1 -0
- package/dist/adapters/document.d.ts +14 -0
- package/dist/adapters/document.d.ts.map +1 -0
- package/dist/adapters/document.js +19 -0
- package/dist/adapters/document.js.map +1 -0
- package/dist/adapters/eventTarget.d.ts +6 -0
- package/dist/adapters/eventTarget.d.ts.map +1 -0
- package/dist/adapters/eventTarget.js +2 -0
- package/dist/adapters/eventTarget.js.map +1 -0
- package/dist/adapters/global.d.ts +8 -0
- package/dist/adapters/global.d.ts.map +1 -0
- package/dist/adapters/global.js +8 -0
- package/dist/adapters/global.js.map +1 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +6 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/navigator.d.ts +9 -0
- package/dist/adapters/navigator.d.ts.map +1 -0
- package/dist/adapters/navigator.js +9 -0
- package/dist/adapters/navigator.js.map +1 -0
- package/dist/adapters/window.d.ts +12 -0
- package/dist/adapters/window.d.ts.map +1 -0
- package/dist/adapters/window.js +11 -0
- package/dist/adapters/window.js.map +1 -0
- package/dist/audio/AudioBackground.d.ts +48 -0
- package/dist/audio/AudioBackground.d.ts.map +1 -0
- package/dist/audio/AudioBackground.js +151 -0
- package/dist/audio/AudioBackground.js.map +1 -0
- package/dist/audio/AudioLibrary.d.ts +6 -0
- package/dist/audio/AudioLibrary.d.ts.map +1 -0
- package/dist/audio/AudioLibrary.js +6 -0
- package/dist/audio/AudioLibrary.js.map +1 -0
- package/dist/audio/AudioManager.d.ts +33 -0
- package/dist/audio/AudioManager.d.ts.map +1 -0
- package/dist/audio/AudioManager.js +47 -0
- package/dist/audio/AudioManager.js.map +1 -0
- package/dist/audio/GlobalAudio.d.ts +20 -0
- package/dist/audio/GlobalAudio.d.ts.map +1 -0
- package/dist/audio/GlobalAudio.js +41 -0
- package/dist/audio/GlobalAudio.js.map +1 -0
- package/dist/audio/internals/AudioBuffer.d.ts +23 -0
- package/dist/audio/internals/AudioBuffer.d.ts.map +1 -0
- package/dist/audio/internals/AudioBuffer.js +28 -0
- package/dist/audio/internals/AudioBuffer.js.map +1 -0
- package/dist/audio/internals/AudioListener.d.ts +5 -0
- package/dist/audio/internals/AudioListener.d.ts.map +1 -0
- package/dist/audio/internals/AudioListener.js +2 -0
- package/dist/audio/internals/AudioListener.js.map +1 -0
- package/dist/audio/internals/AudioService.d.ts +19 -0
- package/dist/audio/internals/AudioService.d.ts.map +1 -0
- package/dist/audio/internals/AudioService.js +36 -0
- package/dist/audio/internals/AudioService.js.map +1 -0
- package/dist/components/camera/Camera3DControls.d.ts +31 -0
- package/dist/components/camera/Camera3DControls.d.ts.map +1 -0
- package/dist/components/camera/Camera3DControls.js +79 -0
- package/dist/components/camera/Camera3DControls.js.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +5 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/renderers/index.d.ts +14 -0
- package/dist/components/renderers/index.d.ts.map +1 -0
- package/dist/components/renderers/index.js +14 -0
- package/dist/components/renderers/index.js.map +1 -0
- package/dist/components/renderers/model/ModelAnimation.d.ts +21 -0
- package/dist/components/renderers/model/ModelAnimation.d.ts.map +1 -0
- package/dist/components/renderers/model/ModelAnimation.js +84 -0
- package/dist/components/renderers/model/ModelAnimation.js.map +1 -0
- package/dist/components/renderers/model/ModelRenderer.d.ts +24 -0
- package/dist/components/renderers/model/ModelRenderer.d.ts.map +1 -0
- package/dist/components/renderers/model/ModelRenderer.js +49 -0
- package/dist/components/renderers/model/ModelRenderer.js.map +1 -0
- package/dist/components/renderers/model/loader.d.ts +8 -0
- package/dist/components/renderers/model/loader.d.ts.map +1 -0
- package/dist/components/renderers/model/loader.js +112 -0
- package/dist/components/renderers/model/loader.js.map +1 -0
- package/dist/components/renderers/sprite/SpriteAnimation.class.d.ts +33 -0
- package/dist/components/renderers/sprite/SpriteAnimation.class.d.ts.map +1 -0
- package/dist/components/renderers/sprite/SpriteAnimation.class.js +78 -0
- package/dist/components/renderers/sprite/SpriteAnimation.class.js.map +1 -0
- package/dist/components/renderers/sprite/SpriteRenderer.class.d.ts +35 -0
- package/dist/components/renderers/sprite/SpriteRenderer.class.d.ts.map +1 -0
- package/dist/components/renderers/sprite/SpriteRenderer.class.js +76 -0
- package/dist/components/renderers/sprite/SpriteRenderer.class.js.map +1 -0
- package/dist/components/renderers/text/Text3D.class.d.ts +26 -0
- package/dist/components/renderers/text/Text3D.class.d.ts.map +1 -0
- package/dist/components/renderers/text/Text3D.class.js +104 -0
- package/dist/components/renderers/text/Text3D.class.js.map +1 -0
- package/dist/components/renderers/text/TextRenderer.class.d.ts +15 -0
- package/dist/components/renderers/text/TextRenderer.class.d.ts.map +1 -0
- package/dist/components/renderers/text/TextRenderer.class.js +47 -0
- package/dist/components/renderers/text/TextRenderer.class.js.map +1 -0
- package/dist/components/renderers/text/loader.d.ts +4 -0
- package/dist/components/renderers/text/loader.d.ts.map +1 -0
- package/dist/components/renderers/text/loader.js +14 -0
- package/dist/components/renderers/text/loader.js.map +1 -0
- package/dist/components/renderers/tiled/TileLayer.d.ts +13 -0
- package/dist/components/renderers/tiled/TileLayer.d.ts.map +1 -0
- package/dist/components/renderers/tiled/TileLayer.js +34 -0
- package/dist/components/renderers/tiled/TileLayer.js.map +1 -0
- package/dist/components/renderers/tiled/TileMapRenderer.d.ts +15 -0
- package/dist/components/renderers/tiled/TileMapRenderer.d.ts.map +1 -0
- package/dist/components/renderers/tiled/TileMapRenderer.js +59 -0
- package/dist/components/renderers/tiled/TileMapRenderer.js.map +1 -0
- package/dist/components/renderers/tiled/TileObject.d.ts +18 -0
- package/dist/components/renderers/tiled/TileObject.d.ts.map +1 -0
- package/dist/components/renderers/tiled/TileObject.js +59 -0
- package/dist/components/renderers/tiled/TileObject.js.map +1 -0
- package/dist/components/renderers/tiled/TileSet.d.ts +27 -0
- package/dist/components/renderers/tiled/TileSet.d.ts.map +1 -0
- package/dist/components/renderers/tiled/TileSet.js +116 -0
- package/dist/components/renderers/tiled/TileSet.js.map +1 -0
- package/dist/components/renderers/tiled/loader.d.ts +13 -0
- package/dist/components/renderers/tiled/loader.d.ts.map +1 -0
- package/dist/components/renderers/tiled/loader.js +39 -0
- package/dist/components/renderers/tiled/loader.js.map +1 -0
- package/dist/components/renderers/tiled/types.d.ts +325 -0
- package/dist/components/renderers/tiled/types.d.ts.map +1 -0
- package/dist/components/renderers/tiled/types.js +18 -0
- package/dist/components/renderers/tiled/types.js.map +1 -0
- package/dist/components/script/Behavior.d.ts +16 -0
- package/dist/components/script/Behavior.d.ts.map +1 -0
- package/dist/components/script/Behavior.js +52 -0
- package/dist/components/script/Behavior.js.map +1 -0
- package/dist/components/script/BehaviorDecorators.d.ts +29 -0
- package/dist/components/script/BehaviorDecorators.d.ts.map +1 -0
- package/dist/components/script/BehaviorDecorators.js +47 -0
- package/dist/components/script/BehaviorDecorators.js.map +1 -0
- package/dist/components/script/BehaviorInitializer.d.ts +15 -0
- package/dist/components/script/BehaviorInitializer.d.ts.map +1 -0
- package/dist/components/script/BehaviorInitializer.js +103 -0
- package/dist/components/script/BehaviorInitializer.js.map +1 -0
- package/dist/components/types.d.ts +12 -0
- package/dist/components/types.d.ts.map +1 -0
- package/dist/components/types.js +3 -0
- package/dist/components/types.js.map +1 -0
- package/dist/controls/AtomicInput.d.ts +17 -0
- package/dist/controls/AtomicInput.d.ts.map +1 -0
- package/dist/controls/AtomicInput.js +69 -0
- package/dist/controls/AtomicInput.js.map +1 -0
- package/dist/controls/CombinedInput.d.ts +54 -0
- package/dist/controls/CombinedInput.d.ts.map +1 -0
- package/dist/controls/CombinedInput.js +119 -0
- package/dist/controls/CombinedInput.js.map +1 -0
- package/dist/controls/Input.class.d.ts +93 -0
- package/dist/controls/Input.class.d.ts.map +1 -0
- package/dist/controls/Input.class.js +334 -0
- package/dist/controls/Input.class.js.map +1 -0
- package/dist/controls/devices/Gamepad.class.d.ts +98 -0
- package/dist/controls/devices/Gamepad.class.d.ts.map +1 -0
- package/dist/controls/devices/Gamepad.class.js +275 -0
- package/dist/controls/devices/Gamepad.class.js.map +1 -0
- package/dist/controls/devices/Mouse.class.d.ts +80 -0
- package/dist/controls/devices/Mouse.class.d.ts.map +1 -0
- package/dist/controls/devices/Mouse.class.js +260 -0
- package/dist/controls/devices/Mouse.class.js.map +1 -0
- package/dist/controls/devices/Screen.d.ts +27 -0
- package/dist/controls/devices/Screen.d.ts.map +1 -0
- package/dist/controls/devices/Screen.js +61 -0
- package/dist/controls/devices/Screen.js.map +1 -0
- package/dist/controls/devices/Touchpad.class.d.ts +61 -0
- package/dist/controls/devices/Touchpad.class.d.ts.map +1 -0
- package/dist/controls/devices/Touchpad.class.js +149 -0
- package/dist/controls/devices/Touchpad.class.js.map +1 -0
- package/dist/controls/devices/index.d.ts +6 -0
- package/dist/controls/devices/index.d.ts.map +1 -0
- package/dist/controls/devices/index.js +6 -0
- package/dist/controls/devices/index.js.map +1 -0
- package/dist/controls/devices/keyboard/Keyboard.class.d.ts +37 -0
- package/dist/controls/devices/keyboard/Keyboard.class.d.ts.map +1 -0
- package/dist/controls/devices/keyboard/Keyboard.class.js +135 -0
- package/dist/controls/devices/keyboard/Keyboard.class.js.map +1 -0
- package/dist/controls/devices/keyboard/code.d.ts +9 -0
- package/dist/controls/devices/keyboard/code.d.ts.map +1 -0
- package/dist/controls/devices/keyboard/code.js +13 -0
- package/dist/controls/devices/keyboard/code.js.map +1 -0
- package/dist/controls/devices/keyboard/transformers/alphabet.d.ts +31 -0
- package/dist/controls/devices/keyboard/transformers/alphabet.d.ts.map +1 -0
- package/dist/controls/devices/keyboard/transformers/alphabet.js +34 -0
- package/dist/controls/devices/keyboard/transformers/alphabet.js.map +1 -0
- package/dist/controls/devices/keyboard/transformers/numeric.d.ts +15 -0
- package/dist/controls/devices/keyboard/transformers/numeric.d.ts.map +1 -0
- package/dist/controls/devices/keyboard/transformers/numeric.js +18 -0
- package/dist/controls/devices/keyboard/transformers/numeric.js.map +1 -0
- package/dist/controls/types.d.ts +23 -0
- package/dist/controls/types.d.ts.map +1 -0
- package/dist/controls/types.js +2 -0
- package/dist/controls/types.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/systems/FixedTimeStep.d.ts +16 -0
- package/dist/systems/FixedTimeStep.d.ts.map +1 -0
- package/dist/systems/FixedTimeStep.js +41 -0
- package/dist/systems/FixedTimeStep.js.map +1 -0
- package/dist/systems/GameInstance.d.ts +30 -0
- package/dist/systems/GameInstance.d.ts.map +1 -0
- package/dist/systems/GameInstance.js +54 -0
- package/dist/systems/GameInstance.js.map +1 -0
- package/dist/systems/Scene.d.ts +30 -0
- package/dist/systems/Scene.d.ts.map +1 -0
- package/dist/systems/Scene.js +91 -0
- package/dist/systems/Scene.js.map +1 -0
- package/dist/systems/asset/Base.d.ts +18 -0
- package/dist/systems/asset/Base.d.ts.map +1 -0
- package/dist/systems/asset/Base.js +36 -0
- package/dist/systems/asset/Base.js.map +1 -0
- package/dist/systems/asset/Manager.d.ts +21 -0
- package/dist/systems/asset/Manager.d.ts.map +1 -0
- package/dist/systems/asset/Manager.js +68 -0
- package/dist/systems/asset/Manager.js.map +1 -0
- package/dist/systems/asset/Queue.d.ts +8 -0
- package/dist/systems/asset/Queue.d.ts.map +1 -0
- package/dist/systems/asset/Queue.js +17 -0
- package/dist/systems/asset/Queue.js.map +1 -0
- package/dist/systems/asset/Registry.d.ts +17 -0
- package/dist/systems/asset/Registry.d.ts.map +1 -0
- package/dist/systems/asset/Registry.js +23 -0
- package/dist/systems/asset/Registry.js.map +1 -0
- package/dist/systems/index.d.ts +9 -0
- package/dist/systems/index.d.ts.map +1 -0
- package/dist/systems/index.js +8 -0
- package/dist/systems/index.js.map +1 -0
- package/dist/systems/rendering/GameRenderer.d.ts +18 -0
- package/dist/systems/rendering/GameRenderer.d.ts.map +1 -0
- package/dist/systems/rendering/GameRenderer.js +3 -0
- package/dist/systems/rendering/GameRenderer.js.map +1 -0
- package/dist/systems/rendering/RenderStrategy.d.ts +24 -0
- package/dist/systems/rendering/RenderStrategy.d.ts.map +1 -0
- package/dist/systems/rendering/RenderStrategy.js +38 -0
- package/dist/systems/rendering/RenderStrategy.js.map +1 -0
- package/dist/systems/rendering/ThreeRenderer.d.ts +48 -0
- package/dist/systems/rendering/ThreeRenderer.d.ts.map +1 -0
- package/dist/systems/rendering/ThreeRenderer.js +149 -0
- package/dist/systems/rendering/ThreeRenderer.js.map +1 -0
- package/dist/systems/rendering/index.d.ts +4 -0
- package/dist/systems/rendering/index.d.ts.map +1 -0
- package/dist/systems/rendering/index.js +3 -0
- package/dist/systems/rendering/index.js.map +1 -0
- package/dist/utils/createViewHelper.d.ts +5 -0
- package/dist/utils/createViewHelper.d.ts.map +1 -0
- package/dist/utils/createViewHelper.js +11 -0
- package/dist/utils/createViewHelper.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/loadJSON.d.ts +2 -0
- package/dist/utils/loadJSON.d.ts.map +1 -0
- package/dist/utils/loadJSON.js +15 -0
- package/dist/utils/loadJSON.js.map +1 -0
- package/dist/utils/path.d.ts +9 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +18 -0
- package/dist/utils/path.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
// Import Internal Dependencies
|
|
4
|
+
import { Asset } from "./Base.js";
|
|
5
|
+
// CONSTANTS
|
|
6
|
+
const kDefaultAssetType = "unknown";
|
|
7
|
+
export class AssetRegistry {
|
|
8
|
+
#extToType = new Map();
|
|
9
|
+
#typeToLoader = new Map();
|
|
10
|
+
loader(options, loader) {
|
|
11
|
+
this.#typeToLoader.set(options.type, loader);
|
|
12
|
+
for (const ext of options.extensions) {
|
|
13
|
+
this.#extToType.set(ext, options.type);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
getTypeForExt(ext) {
|
|
17
|
+
return this.#extToType.get(ext) ?? kDefaultAssetType;
|
|
18
|
+
}
|
|
19
|
+
getLoaderForType(type) {
|
|
20
|
+
return this.#typeToLoader.get(type);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=Registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../src/systems/asset/Registry.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,EACL,KAAK,EAEN,MAAM,WAAW,CAAC;AAEnB,YAAY;AACZ,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAapC,MAAM,OAAO,aAAa;IACxB,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,MAAM,CACJ,OAA2B,EAC3B,MAA2B;QAE3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC;IACvD,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AssetManager, type AssetOnProgressCallback } from "./asset/Manager.ts";
|
|
2
|
+
export * from "./asset/Base.ts";
|
|
3
|
+
export type { AssetLoaderCallback, AssetLoaderContext, AssetLoaderOptions } from "./asset/Registry.ts";
|
|
4
|
+
export * from "./GameInstance.ts";
|
|
5
|
+
export * from "./rendering/index.ts";
|
|
6
|
+
export * from "./Scene.ts";
|
|
7
|
+
export type { AssetOnProgressCallback };
|
|
8
|
+
export declare const Assets: AssetManager;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/systems/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAE5B,cAAc,iBAAiB,CAAC;AAChC,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAE3B,YAAY,EACV,uBAAuB,EACxB,CAAC;AAEF,eAAO,MAAM,MAAM,cAAqB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import { AssetManager } from "./asset/Manager.js";
|
|
3
|
+
export * from "./asset/Base.js";
|
|
4
|
+
export * from "./GameInstance.js";
|
|
5
|
+
export * from "./rendering/index.js";
|
|
6
|
+
export * from "./Scene.js";
|
|
7
|
+
export const Assets = new AssetManager();
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/systems/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EACL,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAE5B,cAAc,iBAAiB,CAAC;AAOhC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAM3B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import type { Pass } from "three/addons/postprocessing/EffectComposer.js";
|
|
3
|
+
import type { RenderMode } from "./RenderStrategy.ts";
|
|
4
|
+
export type RenderComponent = THREE.PerspectiveCamera | THREE.OrthographicCamera;
|
|
5
|
+
export interface GameRenderer<T = any> {
|
|
6
|
+
readonly canvas: HTMLCanvasElement;
|
|
7
|
+
getSource(): T;
|
|
8
|
+
setRenderMode(mode: RenderMode): this;
|
|
9
|
+
setRatio(ratio: number | null): this;
|
|
10
|
+
setEffects(...effects: Pass[]): this;
|
|
11
|
+
addRenderComponent(component: RenderComponent): void;
|
|
12
|
+
removeRenderComponent(component: RenderComponent): void;
|
|
13
|
+
resize(): void;
|
|
14
|
+
draw(): void;
|
|
15
|
+
onDraw(callback: (source: T) => void): void;
|
|
16
|
+
clear(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=GameRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameRenderer.d.ts","sourceRoot":"","sources":["../../../src/systems/rendering/GameRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+CAA+C,CAAC;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAC;AAEjF,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC,SAAS,IAAI,CAAC,CAAC;IACf,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAErC,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IACrD,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAExD,MAAM,IAAI,IAAI,CAAC;IACf,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5C,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameRenderer.js","sourceRoot":"","sources":["../../../src/systems/rendering/GameRenderer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import type { EffectComposer, Pass } from "three/addons/postprocessing/EffectComposer.js";
|
|
3
|
+
import type { RenderComponent } from "./GameRenderer.ts";
|
|
4
|
+
export type RenderMode = "direct" | "composer";
|
|
5
|
+
export interface RenderStrategy {
|
|
6
|
+
render(scene: THREE.Scene, renderComponents: RenderComponent[]): void;
|
|
7
|
+
resize(width: number, height: number): void;
|
|
8
|
+
}
|
|
9
|
+
export declare class DirectRenderStrategy implements RenderStrategy {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(renderer: THREE.WebGLRenderer);
|
|
12
|
+
render(scene: THREE.Scene, renderComponents: RenderComponent[]): void;
|
|
13
|
+
resize(width: number, height: number): void;
|
|
14
|
+
}
|
|
15
|
+
export declare class ComposerRenderStrategy implements RenderStrategy {
|
|
16
|
+
#private;
|
|
17
|
+
constructor(composer: EffectComposer);
|
|
18
|
+
render(_scene: THREE.Scene, _renderComponents: RenderComponent[]): void;
|
|
19
|
+
resize(width: number, height: number): void;
|
|
20
|
+
addEffect(pass: Pass): void;
|
|
21
|
+
removeEffect(pass: Pass): void;
|
|
22
|
+
getComposer(): EffectComposer;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=RenderStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderStrategy.d.ts","sourceRoot":"","sources":["../../../src/systems/rendering/RenderStrategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EACL,MAAM,+CAA+C,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACtE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,qBAAa,oBAAqB,YAAW,cAAc;;gBAIvD,QAAQ,EAAE,KAAK,CAAC,aAAa;IAK/B,MAAM,CACJ,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,gBAAgB,EAAE,eAAe,EAAE,GAClC,IAAI;IAMP,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAG5C;AAED,qBAAa,sBAAuB,YAAW,cAAc;;gBAIzD,QAAQ,EAAE,cAAc;IAK1B,MAAM,CACJ,MAAM,EAAE,KAAK,CAAC,KAAK,EACnB,iBAAiB,EAAE,eAAe,EAAE,GACnC,IAAI;IAIP,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI3B,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI9B,WAAW,IAAI,cAAc;CAG9B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
export class DirectRenderStrategy {
|
|
4
|
+
#renderer;
|
|
5
|
+
constructor(renderer) {
|
|
6
|
+
this.#renderer = renderer;
|
|
7
|
+
}
|
|
8
|
+
render(scene, renderComponents) {
|
|
9
|
+
for (const renderComponent of renderComponents) {
|
|
10
|
+
this.#renderer.render(scene, renderComponent);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
resize(width, height) {
|
|
14
|
+
this.#renderer.setSize(width, height, false);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class ComposerRenderStrategy {
|
|
18
|
+
#composer;
|
|
19
|
+
constructor(composer) {
|
|
20
|
+
this.#composer = composer;
|
|
21
|
+
}
|
|
22
|
+
render(_scene, _renderComponents) {
|
|
23
|
+
this.#composer.render();
|
|
24
|
+
}
|
|
25
|
+
resize(width, height) {
|
|
26
|
+
this.#composer.setSize(width, height);
|
|
27
|
+
}
|
|
28
|
+
addEffect(pass) {
|
|
29
|
+
this.#composer.addPass(pass);
|
|
30
|
+
}
|
|
31
|
+
removeEffect(pass) {
|
|
32
|
+
this.#composer.removePass(pass);
|
|
33
|
+
}
|
|
34
|
+
getComposer() {
|
|
35
|
+
return this.#composer;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=RenderStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderStrategy.js","sourceRoot":"","sources":["../../../src/systems/rendering/RenderStrategy.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,OAAO,oBAAoB;IAC/B,SAAS,CAAsB;IAE/B,YACE,QAA6B;QAE7B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,MAAM,CACJ,KAAkB,EAClB,gBAAmC;QAEnC,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAc;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IACjC,SAAS,CAAiB;IAE1B,YACE,QAAwB;QAExB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,MAAM,CACJ,MAAmB,EACnB,iBAAoC;QAEpC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAc;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,CAAC,IAAU;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,IAAU;QACrB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { type Pass } from "three/addons/postprocessing/EffectComposer.js";
|
|
3
|
+
import { EventEmitter } from "@posva/event-emitter";
|
|
4
|
+
import type { GameRenderer, RenderComponent } from "./GameRenderer.ts";
|
|
5
|
+
import type { Scene } from "../Scene.ts";
|
|
6
|
+
import { type RenderMode, type RenderStrategy } from "./RenderStrategy.ts";
|
|
7
|
+
export type ThreeRendererEvents = {
|
|
8
|
+
resize: [
|
|
9
|
+
{
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
}
|
|
13
|
+
];
|
|
14
|
+
draw: [
|
|
15
|
+
{
|
|
16
|
+
source: THREE.WebGLRenderer;
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
};
|
|
20
|
+
export interface ThreeRendererOptions {
|
|
21
|
+
/**
|
|
22
|
+
* @default "direct"
|
|
23
|
+
*/
|
|
24
|
+
renderMode: RenderMode;
|
|
25
|
+
scene: Scene;
|
|
26
|
+
}
|
|
27
|
+
export declare class ThreeRenderer extends EventEmitter<ThreeRendererEvents> implements GameRenderer {
|
|
28
|
+
webGLRenderer: THREE.WebGLRenderer;
|
|
29
|
+
renderComponents: RenderComponent[];
|
|
30
|
+
renderStrategy: RenderStrategy;
|
|
31
|
+
ratio: number | null;
|
|
32
|
+
scene: Scene;
|
|
33
|
+
constructor(canvas: HTMLCanvasElement, options: ThreeRendererOptions);
|
|
34
|
+
get canvas(): HTMLCanvasElement;
|
|
35
|
+
getSource(): THREE.WebGLRenderer;
|
|
36
|
+
addRenderComponent(component: RenderComponent): void;
|
|
37
|
+
removeRenderComponent(component: RenderComponent): void;
|
|
38
|
+
setRenderMode(mode: RenderMode): this;
|
|
39
|
+
setEffects(...effects: Pass[]): this;
|
|
40
|
+
setRatio(ratio?: number | null): this;
|
|
41
|
+
resize: () => void;
|
|
42
|
+
draw(): void;
|
|
43
|
+
onDraw(callback: (event: {
|
|
44
|
+
source: THREE.WebGLRenderer;
|
|
45
|
+
}) => void): void;
|
|
46
|
+
clear(): void;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=ThreeRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreeRenderer.d.ts","sourceRoot":"","sources":["../../../src/systems/rendering/ThreeRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,+CAA+C,CAAC;AAE1F,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EAGpB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE;QACN;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;SAAE;KACnC,CAAC;IACF,IAAI,EAAE;QACJ;YAAE,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;SAAE;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,qBAAa,aAAc,SAAQ,YAAY,CAC7C,mBAAmB,CACnB,YAAW,YAAY;IACvB,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,gBAAgB,EAAE,eAAe,EAAE,CAAM;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5B,KAAK,EAAE,KAAK,CAAC;gBAGX,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,oBAAoB;IAU/B,IAAI,MAAM,sBAET;IAED,SAAS;IAIT,kBAAkB,CAChB,SAAS,EAAE,eAAe,GACzB,IAAI;IAQP,qBAAqB,CACnB,SAAS,EAAE,eAAe,GACzB,IAAI;IAeP,aAAa,CACX,IAAI,EAAE,UAAU,GACf,IAAI;IAuBP,UAAU,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI;IAUpC,QAAQ,CACN,KAAK,GAAE,MAAM,GAAG,IAAW;IAa7B,MAAM,aA4CJ;IAEF,IAAI;IAWJ,MAAM,CACJ,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;KAAE,KAAK,IAAI;IAK7D,KAAK;CAGN"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
import { EffectComposer } from "three/addons/postprocessing/EffectComposer.js";
|
|
4
|
+
import { RenderPass } from "three/addons/postprocessing/RenderPass.js";
|
|
5
|
+
import { EventEmitter } from "@posva/event-emitter";
|
|
6
|
+
import { DirectRenderStrategy, ComposerRenderStrategy } from "./RenderStrategy.js";
|
|
7
|
+
export class ThreeRenderer extends EventEmitter {
|
|
8
|
+
webGLRenderer;
|
|
9
|
+
renderComponents = [];
|
|
10
|
+
renderStrategy;
|
|
11
|
+
ratio = null;
|
|
12
|
+
scene;
|
|
13
|
+
constructor(canvas, options) {
|
|
14
|
+
super();
|
|
15
|
+
const { scene, renderMode = "direct" } = options;
|
|
16
|
+
this.scene = scene;
|
|
17
|
+
this.webGLRenderer = createWebGLRenderer(canvas);
|
|
18
|
+
this.setRenderMode(renderMode);
|
|
19
|
+
}
|
|
20
|
+
get canvas() {
|
|
21
|
+
return this.webGLRenderer.domElement;
|
|
22
|
+
}
|
|
23
|
+
getSource() {
|
|
24
|
+
return this.webGLRenderer;
|
|
25
|
+
}
|
|
26
|
+
addRenderComponent(component) {
|
|
27
|
+
this.renderComponents.push(component);
|
|
28
|
+
if (this.renderStrategy instanceof ComposerRenderStrategy) {
|
|
29
|
+
const renderPass = new RenderPass(this.scene.getSource(), component);
|
|
30
|
+
this.renderStrategy.addEffect(renderPass);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
removeRenderComponent(component) {
|
|
34
|
+
const index = this.renderComponents.indexOf(component);
|
|
35
|
+
if (index !== -1) {
|
|
36
|
+
this.renderComponents.splice(index, 1);
|
|
37
|
+
}
|
|
38
|
+
if (this.renderStrategy instanceof ComposerRenderStrategy) {
|
|
39
|
+
const composer = this.renderStrategy.getComposer();
|
|
40
|
+
const renderPass = composer.passes.find((pass) => pass.camera === component);
|
|
41
|
+
this.renderStrategy.removeEffect(renderPass);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
setRenderMode(mode) {
|
|
45
|
+
if (mode === "direct") {
|
|
46
|
+
this.renderStrategy = new DirectRenderStrategy(this.webGLRenderer);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const composer = new EffectComposer(this.webGLRenderer);
|
|
50
|
+
const scene = this.scene.getSource();
|
|
51
|
+
for (const renderComponent of this.renderComponents) {
|
|
52
|
+
const renderPass = new RenderPass(scene, renderComponent);
|
|
53
|
+
composer.addPass(renderPass);
|
|
54
|
+
}
|
|
55
|
+
this.renderStrategy = new ComposerRenderStrategy(composer);
|
|
56
|
+
}
|
|
57
|
+
this.resize();
|
|
58
|
+
this.clear();
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
setEffects(...effects) {
|
|
62
|
+
if (this.renderStrategy instanceof ComposerRenderStrategy) {
|
|
63
|
+
for (const pass of effects) {
|
|
64
|
+
this.renderStrategy.addEffect(pass);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
setRatio(ratio = null) {
|
|
70
|
+
this.ratio = ratio;
|
|
71
|
+
const styles = this.ratio ?
|
|
72
|
+
{ margin: "0", flex: "1" } :
|
|
73
|
+
{ margin: "auto", flex: "none" };
|
|
74
|
+
Object.assign(this.webGLRenderer.domElement.style, styles);
|
|
75
|
+
this.resize();
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
resize = () => {
|
|
79
|
+
let width;
|
|
80
|
+
let height;
|
|
81
|
+
if (this.ratio) {
|
|
82
|
+
if (document.body.clientWidth / document.body.clientHeight > this.ratio) {
|
|
83
|
+
height = document.body.clientHeight;
|
|
84
|
+
width = Math.min(document.body.clientWidth, height * this.ratio);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
width = document.body.clientWidth;
|
|
88
|
+
height = Math.min(document.body.clientHeight, width / this.ratio);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const parent = this.webGLRenderer.domElement.parentElement;
|
|
93
|
+
if (parent) {
|
|
94
|
+
width = parent.clientWidth;
|
|
95
|
+
height = parent.clientHeight;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
width = this.webGLRenderer.domElement.clientWidth;
|
|
99
|
+
height = this.webGLRenderer.domElement.clientHeight;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (this.webGLRenderer.domElement.width !== width ||
|
|
103
|
+
this.webGLRenderer.domElement.height !== height) {
|
|
104
|
+
this.renderStrategy.resize(width, height);
|
|
105
|
+
for (const renderComponent of this.renderComponents) {
|
|
106
|
+
if (renderComponent instanceof THREE.PerspectiveCamera) {
|
|
107
|
+
renderComponent.aspect = width / height;
|
|
108
|
+
}
|
|
109
|
+
if (renderComponent instanceof THREE.OrthographicCamera) {
|
|
110
|
+
renderComponent.left = width / -2;
|
|
111
|
+
renderComponent.right = width / 2;
|
|
112
|
+
renderComponent.top = height / 2;
|
|
113
|
+
renderComponent.bottom = height / -2;
|
|
114
|
+
}
|
|
115
|
+
renderComponent.updateProjectionMatrix();
|
|
116
|
+
}
|
|
117
|
+
this.emit("resize", { width, height });
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
draw() {
|
|
121
|
+
this.resize();
|
|
122
|
+
this.clear();
|
|
123
|
+
this.renderStrategy.render(this.scene.getSource(), this.renderComponents);
|
|
124
|
+
this.emit("draw", { source: this.webGLRenderer });
|
|
125
|
+
}
|
|
126
|
+
onDraw(callback) {
|
|
127
|
+
this.on("draw", callback);
|
|
128
|
+
}
|
|
129
|
+
clear() {
|
|
130
|
+
this.webGLRenderer.clear();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function createWebGLRenderer(canvas) {
|
|
134
|
+
const renderer = new THREE.WebGLRenderer({
|
|
135
|
+
canvas,
|
|
136
|
+
antialias: true,
|
|
137
|
+
alpha: true
|
|
138
|
+
});
|
|
139
|
+
renderer.setPixelRatio(window.devicePixelRatio);
|
|
140
|
+
renderer.shadowMap.enabled = true;
|
|
141
|
+
renderer.shadowMap.type = THREE.BasicShadowMap;
|
|
142
|
+
renderer.setSize(0, 0, false);
|
|
143
|
+
renderer.autoClear = false;
|
|
144
|
+
renderer.outputColorSpace = THREE.SRGBColorSpace;
|
|
145
|
+
renderer.toneMapping = THREE.NeutralToneMapping;
|
|
146
|
+
renderer.toneMappingExposure = 1.25;
|
|
147
|
+
return renderer;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=ThreeRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreeRenderer.js","sourceRoot":"","sources":["../../../src/systems/rendering/ThreeRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/systems/rendering/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/systems/rendering/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { ViewHelper } from "three/addons/helpers/ViewHelper.js";
|
|
3
|
+
import type { Systems } from "../index.ts";
|
|
4
|
+
export declare function createViewHelper(camera: THREE.Camera, gameInstance: Systems.GameInstance): ViewHelper;
|
|
5
|
+
//# sourceMappingURL=createViewHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createViewHelper.d.ts","sourceRoot":"","sources":["../../src/utils/createViewHelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,OAAO,CAAC,YAAY,GACjC,UAAU,CAUZ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Import Third-party Dependencies
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
import { ViewHelper } from "three/addons/helpers/ViewHelper.js";
|
|
4
|
+
export function createViewHelper(camera, gameInstance) {
|
|
5
|
+
const helper = new ViewHelper(camera, gameInstance.renderer.canvas);
|
|
6
|
+
gameInstance.renderer.onDraw(() => {
|
|
7
|
+
helper.render(gameInstance.renderer.getSource());
|
|
8
|
+
});
|
|
9
|
+
return helper;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=createViewHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createViewHelper.js","sourceRoot":"","sources":["../../src/utils/createViewHelper.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAKhE,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,YAAkC;IAElC,MAAM,MAAM,GAAG,IAAI,UAAU,CAC3B,MAAM,EACN,YAAY,CAAC,QAAQ,CAAC,MAAM,CAC7B,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;QAChC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadJSON.d.ts","sourceRoot":"","sources":["../../src/utils/loadJSON.ts"],"names":[],"mappings":"AAAA,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,CAAC,CAcZ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export async function loadJSON(url) {
|
|
2
|
+
const response = await fetch(url);
|
|
3
|
+
if (response.status !== 200) {
|
|
4
|
+
throw new Error(`Failed to load JSON from '${url}': ${response.statusText}`);
|
|
5
|
+
}
|
|
6
|
+
try {
|
|
7
|
+
return await response.json();
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
throw new Error(`Failed to parse JSON from '${url}'`, {
|
|
11
|
+
cause: error
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=loadJSON.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadJSON.js","sourceRoot":"","sources":["../../src/utils/loadJSON.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAW;IAEX,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,GAAG,EAAE;YACpD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ParsedPath {
|
|
2
|
+
dir: string;
|
|
3
|
+
base: string;
|
|
4
|
+
name: string;
|
|
5
|
+
ext: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function parse(nonNormalizedPath: string): ParsedPath;
|
|
8
|
+
export declare function extname(filename: string): string;
|
|
9
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,KAAK,CACnB,iBAAiB,EAAE,MAAM,GACxB,UAAU,CAaZ;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function parse(nonNormalizedPath) {
|
|
2
|
+
const normalized = nonNormalizedPath.replace(/\\/g, "/");
|
|
3
|
+
const lastSlash = normalized.lastIndexOf("/");
|
|
4
|
+
const dir = lastSlash === -1 ? "" : normalized.slice(0, lastSlash + 1);
|
|
5
|
+
const base = lastSlash === -1 ? normalized : normalized.slice(lastSlash + 1);
|
|
6
|
+
const parsedExt = extname(base);
|
|
7
|
+
const name = parsedExt ?
|
|
8
|
+
base.slice(0, base.length - parsedExt.length) :
|
|
9
|
+
base;
|
|
10
|
+
return { dir, base, name, ext: parsedExt };
|
|
11
|
+
}
|
|
12
|
+
export function extname(filename) {
|
|
13
|
+
const lastDot = filename.lastIndexOf(".");
|
|
14
|
+
// Ignore les fichiers cachés comme « .gitignore »
|
|
15
|
+
const hasDot = lastDot > 0;
|
|
16
|
+
return hasDot ? filename.slice(lastDot) : "";
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,KAAK,CACnB,iBAAyB;IAEzB,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAE7E,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC;IAEP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,QAAgB;IAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,kDAAkD;IAClD,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IAE3B,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jolly-pixel/engine",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"prepublish": "rimraf ./dist && tsc -b",
|
|
9
|
+
"build": "tsc",
|
|
10
|
+
"test-only": "node --test test/**/*.spec.ts",
|
|
11
|
+
"test": "c8 -r html npm run test-only"
|
|
12
|
+
},
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"registry": "https://registry.npmjs.org",
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/JollyPixel/editor.git",
|
|
20
|
+
"directory": "packages/engine"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [],
|
|
23
|
+
"files": [
|
|
24
|
+
"dist"
|
|
25
|
+
],
|
|
26
|
+
"directories": {
|
|
27
|
+
"doc": "docs",
|
|
28
|
+
"test": "test"
|
|
29
|
+
},
|
|
30
|
+
"author": "GENTILHOMME Thomas <gentilhomme.thomas@gmail.com>",
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@posva/event-emitter": "^1.0.3",
|
|
34
|
+
"picomatch": "^4.0.3",
|
|
35
|
+
"reflect-metadata": "^0.2.2",
|
|
36
|
+
"three": "^0.182.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/picomatch": "^4.0.2"
|
|
40
|
+
}
|
|
41
|
+
}
|