@needle-tools/engine 5.1.0-alpha → 5.1.0-canary.30cc545
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/CHANGELOG.md +9 -1
- package/SKILL.md +39 -21
- package/components.needle.json +1 -1
- package/dist/{gltf-progressive-DJBMx-zB.umd.cjs → gltf-progressive-BmblPzFj.umd.cjs} +4 -4
- package/dist/{gltf-progressive-BryRjllq.min.js → gltf-progressive-CN_mbb66.min.js} +2 -2
- package/dist/{gltf-progressive-Cl167Vjx.js → gltf-progressive-DUlhxdv4.js} +5 -2
- package/dist/{needle-engine.bundle-wM-BWPX9.umd.cjs → needle-engine.bundle-BMlLSACE.umd.cjs} +250 -174
- package/dist/{needle-engine.bundle-qDahLTqW.min.js → needle-engine.bundle-BXPPQRer.min.js} +242 -166
- package/dist/{needle-engine.bundle-CwhCzjep.js → needle-engine.bundle-d_9mSxN4.js} +12930 -12465
- package/dist/needle-engine.d.ts +267 -16
- package/dist/needle-engine.js +569 -563
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-B_9sKVU7.min.js → postprocessing-B571qGWR.min.js} +34 -34
- package/dist/{postprocessing-WDc9WwI3.js → postprocessing-CfrLAbLX.js} +0 -1
- package/dist/{postprocessing-B2wb6pzI.umd.cjs → postprocessing-CiGkAeM9.umd.cjs} +17 -17
- package/dist/{vendor-CAcsI0eU.js → vendor-BFrMaK9q.js} +8983 -9136
- package/dist/vendor-CJmyOrCq.min.js +1116 -0
- package/dist/vendor-DkMW3WY4.umd.cjs +1116 -0
- package/lib/engine/api.d.ts +12 -0
- package/lib/engine/api.js +2 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug_environment.js +1 -1
- package/lib/engine/debug/debug_environment.js.map +1 -1
- package/lib/engine/engine_application.js +8 -6
- package/lib/engine/engine_application.js.map +1 -1
- package/lib/engine/engine_components.js +5 -1
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine/engine_constants.js +6 -0
- package/lib/engine/engine_constants.js.map +1 -1
- package/lib/engine/engine_context.d.ts +25 -0
- package/lib/engine/engine_context.js +27 -0
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_context_registry.js +1 -1
- package/lib/engine/engine_context_registry.js.map +1 -1
- package/lib/engine/engine_init.js +2 -0
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_input.d.ts +3 -2
- package/lib/engine/engine_input.js +3 -2
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_license.js +11 -9
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_networking_blob.d.ts +1 -1
- package/lib/engine/engine_networking_blob.js +5 -11
- package/lib/engine/engine_networking_blob.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +3 -0
- package/lib/engine/engine_physics_rapier.js +13 -10
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_pmrem.js +2 -2
- package/lib/engine/engine_pmrem.js.map +1 -1
- package/lib/engine/engine_scenedata.d.ts +36 -0
- package/lib/engine/engine_scenedata.js +111 -0
- package/lib/engine/engine_scenedata.js.map +1 -0
- package/lib/engine/engine_ssr.d.ts +16 -0
- package/lib/engine/engine_ssr.js +38 -0
- package/lib/engine/engine_ssr.js.map +1 -0
- package/lib/engine/engine_three_utils.d.ts +14 -7
- package/lib/engine/engine_three_utils.js +14 -7
- package/lib/engine/engine_three_utils.js.map +1 -1
- package/lib/engine/engine_utils.js +4 -2
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/engine_utils_hash.d.ts +9 -0
- package/lib/engine/engine_utils_hash.js +112 -0
- package/lib/engine/engine_utils_hash.js.map +1 -0
- package/lib/engine/webcomponents/logo-element.d.ts +2 -1
- package/lib/engine/webcomponents/logo-element.js +2 -1
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +2 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +2 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.d.ts +2 -1
- package/lib/engine/webcomponents/needle-button.js +2 -1
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +2 -1
- package/lib/engine/webcomponents/needle-engine.js +2 -1
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +1 -0
- package/lib/engine/xr/NeedleXRSession.js +5 -5
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine/xr/events.d.ts +30 -3
- package/lib/engine/xr/events.js +38 -0
- package/lib/engine/xr/events.js.map +1 -1
- package/lib/engine/xr/init.js +1 -7
- package/lib/engine/xr/init.js.map +1 -1
- package/lib/engine-components/AnimatorController.d.ts +135 -2
- package/lib/engine-components/AnimatorController.js +218 -2
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/GroundProjection.d.ts +1 -0
- package/lib/engine-components/GroundProjection.js +184 -48
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/RigidBody.js +3 -3
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.js +2 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/api.d.ts +1 -0
- package/lib/engine-components/api.js +1 -0
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +1 -0
- package/lib/engine-components/codegen/components.js +1 -0
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -2
- package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +5 -6
- package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
- package/lib/engine-components/web/ScrollFollow.d.ts +0 -1
- package/lib/engine-components/web/ScrollFollow.js +3 -2
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/package.json +6 -5
- package/plugins/common/logger.js +42 -19
- package/plugins/dts-generator/dts.codegen.js +129 -0
- package/plugins/dts-generator/dts.scan.js +71 -0
- package/plugins/dts-generator/dts.writer.js +59 -0
- package/plugins/dts-generator/glb.discovery.js +162 -0
- package/plugins/dts-generator/glb.extractor.js +175 -0
- package/plugins/dts-generator/glb.reader.js +114 -0
- package/plugins/dts-generator/index.js +36 -0
- package/plugins/dts-generator/manifest.types.js +174 -0
- package/plugins/types/index.d.ts +2 -1
- package/plugins/types/needle-bindings.d.ts +19 -0
- package/plugins/types/userconfig.d.ts +9 -2
- package/plugins/vite/dts-generator.d.ts +7 -0
- package/plugins/vite/dts-generator.js +157 -0
- package/plugins/vite/index.d.ts +1 -0
- package/plugins/vite/index.js +4 -0
- package/plugins/vite/logger.client.js +4 -3
- package/plugins/vite/logging.js +2 -2
- package/plugins/vite/reload.js +2 -1
- package/src/engine/api.ts +15 -1
- package/src/engine/debug/debug_environment.ts +1 -1
- package/src/engine/engine_application.ts +8 -6
- package/src/engine/engine_components.ts +7 -4
- package/src/engine/engine_constants.ts +11 -6
- package/src/engine/engine_context.ts +29 -0
- package/src/engine/engine_context_registry.ts +1 -1
- package/src/engine/engine_init.ts +2 -0
- package/src/engine/engine_input.ts +3 -2
- package/src/engine/engine_license.ts +11 -9
- package/src/engine/engine_networking_blob.ts +5 -11
- package/src/engine/engine_physics_rapier.ts +14 -12
- package/src/engine/engine_pmrem.ts +3 -3
- package/src/engine/engine_scenedata.ts +110 -0
- package/src/engine/engine_ssr.ts +45 -0
- package/src/engine/engine_three_utils.ts +15 -7
- package/src/engine/engine_utils.ts +3 -2
- package/src/engine/engine_utils_hash.ts +65 -0
- package/src/engine/webcomponents/logo-element.ts +2 -1
- package/src/engine/webcomponents/needle menu/needle-menu.ts +2 -1
- package/src/engine/webcomponents/needle-button.ts +2 -1
- package/src/engine/webcomponents/needle-engine.ts +2 -1
- package/src/engine/xr/NeedleXRSession.ts +6 -6
- package/src/engine/xr/events.ts +44 -1
- package/src/engine/xr/init.ts +0 -7
- package/src/engine-components/AnimatorController.ts +286 -4
- package/src/engine-components/GroundProjection.ts +226 -52
- package/src/engine-components/RigidBody.ts +3 -3
- package/src/engine-components/SceneSwitcher.ts +1 -0
- package/src/engine-components/api.ts +1 -0
- package/src/engine-components/codegen/components.ts +1 -0
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -2
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +4 -8
- package/src/engine-components/web/ScrollFollow.ts +2 -2
- package/src/vite-env.d.ts +16 -0
- package/dist/vendor-CEM38hLE.umd.cjs +0 -1116
- package/dist/vendor-HRlxIBga.min.js +0 -1116
|
@@ -723,6 +723,7 @@ export class SceneSwitcher extends Behaviour {
|
|
|
723
723
|
// unless the user defines that he wants to use the scene name
|
|
724
724
|
if (this.useSceneName) {
|
|
725
725
|
if (scene instanceof Object3D) queryParameterValue = scene.name;
|
|
726
|
+
else if (scene instanceof AssetReference && scene.asset?.name) queryParameterValue = scene.asset.name;
|
|
726
727
|
else if (scene.url) queryParameterValue = sceneUriToName(scene.url);
|
|
727
728
|
}
|
|
728
729
|
// save the loaded scene as an url parameter
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
export * from "./codegen/components.js";
|
|
38
|
+
export { AnimatorControllerBuilder, type ConditionMode, type StateOptions, type TransitionOptions } from "./AnimatorController.js";
|
|
38
39
|
export { Collider } from "./Collider.js"; // export abstract type
|
|
39
40
|
export { Behaviour, Component, GameObject } from "./Component.js";
|
|
40
41
|
|
|
@@ -6,6 +6,7 @@ export { Animation } from "../Animation.js";
|
|
|
6
6
|
export { Keyframe } from "../AnimationCurve.js";
|
|
7
7
|
export { AnimationCurve } from "../AnimationCurve.js";
|
|
8
8
|
export { Animator } from "../Animator.js";
|
|
9
|
+
export { AnimatorControllerBuilder } from "../AnimatorController.js";
|
|
9
10
|
export { AnimatorController } from "../AnimatorController.js";
|
|
10
11
|
export { AudioListener } from "../AudioListener.js";
|
|
11
12
|
export { AudioSource } from "../AudioSource.js";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EffectAttribute } from "postprocessing";
|
|
2
1
|
import { Uniform } from "three";
|
|
3
2
|
|
|
4
3
|
import { MODULES } from "../../../engine/engine_modules.js";
|
|
@@ -138,7 +137,7 @@ function createSharpeningEffectType() {
|
|
|
138
137
|
["radius", new Uniform(1)],
|
|
139
138
|
// ["threshold", new Uniform(0)],
|
|
140
139
|
]),
|
|
141
|
-
attributes: EffectAttribute.CONVOLUTION
|
|
140
|
+
attributes: MODULES.POSTPROCESSING.MODULE.EffectAttribute.CONVOLUTION
|
|
142
141
|
});
|
|
143
142
|
}
|
|
144
143
|
}
|
|
@@ -14,10 +14,6 @@ import { threeToneMappingToEffectMode } from "./Effects/Tonemapping.utils.js";
|
|
|
14
14
|
import { PostProcessingEffect, PostProcessingEffectContext } from "./PostProcessingEffect.js";
|
|
15
15
|
import { orderEffects, PostprocessingEffectData, PostProcessingEffectOrder } from "./utils.js";
|
|
16
16
|
|
|
17
|
-
declare const NEEDLE_USE_POSTPROCESSING: boolean;
|
|
18
|
-
globalThis["NEEDLE_USE_POSTPROCESSING"] = globalThis["NEEDLE_USE_POSTPROCESSING"] !== undefined ? globalThis["NEEDLE_USE_POSTPROCESSING"] : true;
|
|
19
|
-
|
|
20
|
-
|
|
21
17
|
const debug = getParam("debugpost");
|
|
22
18
|
|
|
23
19
|
const activeKey = Symbol("needle:postprocessing-handler");
|
|
@@ -58,13 +54,13 @@ export class PostProcessingHandler implements IPostProcessingHandler {
|
|
|
58
54
|
|
|
59
55
|
apply(components: PostProcessingEffect[]): Promise<void> {
|
|
60
56
|
if ("env" in import.meta && (import.meta as any /* webpack support */ ).env.VITE_NEEDLE_USE_POSTPROCESSING === "false") {
|
|
61
|
-
if (debug) console.warn("
|
|
62
|
-
else console.debug("
|
|
57
|
+
if (debug) console.warn("POSTPROCESSING is disabled via vite env setting");
|
|
58
|
+
else console.debug("POSTPROCESSING is disabled via vite env setting");
|
|
63
59
|
return Promise.resolve();
|
|
64
60
|
}
|
|
65
61
|
if (!NEEDLE_USE_POSTPROCESSING) {
|
|
66
|
-
if (debug) console.warn("
|
|
67
|
-
else console.debug("
|
|
62
|
+
if (debug || isDevEnvironment()) console.warn("POSTPROCESSING is disabled via global vite define setting");
|
|
63
|
+
else console.debug("POSTPROCESSING is disabled via vite define");
|
|
68
64
|
return Promise.resolve();
|
|
69
65
|
}
|
|
70
66
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// For firefox ViewTimeline support
|
|
2
|
-
|
|
1
|
+
// For firefox ViewTimeline support — dynamic import to avoid SSR crashes (polyfill accesses window at module level)
|
|
2
|
+
if (typeof window !== "undefined") import("scroll-timeline-polyfill/dist/scroll-timeline.js");
|
|
3
3
|
|
|
4
4
|
import { Box3, Object3D } from "three";
|
|
5
5
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Vite global defines — see plugins/vite/defines.js
|
|
2
|
+
// declare const entries here are picked up globally (ambient, no import/export).
|
|
3
|
+
// Vite sets these as globals in dev and statically replaces them at build time.
|
|
4
|
+
// Webpack DefinePlugin replaces them at build time too.
|
|
5
|
+
// The globalThis fallbacks for vanilla JS are in engine_constants.ts.
|
|
6
|
+
|
|
7
|
+
declare const NEEDLE_ENGINE_VERSION: string;
|
|
8
|
+
declare const NEEDLE_ENGINE_GENERATOR: string;
|
|
9
|
+
declare const NEEDLE_PROJECT_BUILD_TIME: string;
|
|
10
|
+
declare const NEEDLE_PUBLIC_KEY: string;
|
|
11
|
+
|
|
12
|
+
// #region treeshake flags
|
|
13
|
+
// declare var (not const) so globalThis["NEEDLE_USE_*"] access is also type-safe
|
|
14
|
+
declare var NEEDLE_USE_RAPIER: boolean;
|
|
15
|
+
declare var NEEDLE_USE_POSTPROCESSING: boolean;
|
|
16
|
+
// #endregion treeshake flags
|